{"version":3,"sources":["webpack:///bundle.js","webpack:///webpack/bootstrap bfae974b7ca926b6b464","webpack:///./src/index.js","webpack:///./~/moment/moment.js","webpack:///./~/react/react.js","webpack:///./~/fbjs/lib/invariant.js","webpack:///./~/react/lib/reactProdInvariant.js","webpack:///./~/fbjs/lib/warning.js","webpack:///./~/object-assign/index.js","webpack:///./~/underscore/underscore.js","webpack:///./src/constants/lang/index.js","webpack:///./~/react/lib/ReactDOMComponentTree.js","webpack:///./~/invariant/browser.js","webpack:///./~/js-yaml/lib/js-yaml/type.js","webpack:///./~/react-widgets/lib/util/_.js","webpack:///./~/redux/lib/index.js","webpack:///./src/constants/actionTypes.js","webpack:///./~/react-redux/lib/index.js","webpack:///./~/react-router/lib/index.js","webpack:///./src/constants/index.js","webpack:///./~/fbjs/lib/ExecutionEnvironment.js","webpack:///./src/actions/utils.js","webpack:///./src/utils/helpers.js","webpack:///./~/react-widgets/lib/util/localizers.js","webpack:///./src/components/Button.js","webpack:///./~/codemirror/lib/codemirror.js","webpack:///./~/fbjs/lib/emptyFunction.js","webpack:///./~/react/lib/ReactInstrumentation.js","webpack:///./~/classnames/index.js","webpack:///./~/lodash/_root.js","webpack:///./~/react-widgets/lib/util/propTypes.js","webpack:///./~/react/lib/ReactElement.js","webpack:///./~/react/lib/ReactUpdates.js","webpack:///./~/react-widgets/lib/util/compat.js","webpack:///./~/react/lib/EventConstants.js","webpack:///./~/react/lib/SyntheticEvent.js","webpack:///./~/fbjs/lib/keyOf.js","webpack:///./~/history/lib/PathUtils.js","webpack:///./~/react-router/lib/RouteUtils.js","webpack:///./~/react-widgets/lib/util/dates.js","webpack:///./~/react-widgets/lib/util/widgetHelpers.js","webpack:///./~/react/lib/PooledClass.js","webpack:///./~/react/lib/ReactCurrentOwner.js","webpack:///./~/history/~/warning/browser.js","webpack:///./~/lodash/_getNative.js","webpack:///./~/react-dom/index.js","webpack:///./~/react-widgets/lib/mixins/AriaDescendantMixin.js","webpack:///./src/components/Breadcrumbs.js","webpack:///./src/components/Errors.js","webpack:///./src/components/Splitter.js","webpack:///./~/history/lib/LocationUtils.js","webpack:///./~/js-yaml/lib/js-yaml/common.js","webpack:///./~/js-yaml/lib/js-yaml/schema.js","webpack:///./~/react-router/lib/PatternUtils.js","webpack:///./~/react-router/lib/routerWarning.js","webpack:///./~/react/lib/DOMLazyTree.js","webpack:///./~/react/lib/DOMProperty.js","webpack:///./~/react/lib/ReactReconciler.js","webpack:///./src/actions/metadata.js","webpack:///./src/constants/api.js","webpack:///./src/utils/fetch.js","webpack:///./~/dom-helpers/query/isWindow.js","webpack:///./~/dom-helpers/style/index.js","webpack:///./~/dom-helpers/util/inDOM.js","webpack:///./~/fbjs/lib/emptyObject.js","webpack:///./~/js-yaml/lib/js-yaml/exception.js","webpack:///./~/js-yaml/lib/js-yaml/schema/default_safe.js","webpack:///./~/lodash/_baseGetTag.js","webpack:///./~/lodash/isObject.js","webpack:///./~/react-router/lib/InternalPropTypes.js","webpack:///./~/react-widgets/lib/mixins/PureRenderMixin.js","webpack:///./~/react-widgets/lib/mixins/RtlChildContextMixin.js","webpack:///./~/react-widgets/lib/util/interaction.js","webpack:///./~/react/lib/EventPluginHub.js","webpack:///./~/react/lib/EventPropagators.js","webpack:///./~/react/lib/ReactInstanceMap.js","webpack:///./~/react/lib/SyntheticUIEvent.js","webpack:///./~/react/lib/Transaction.js","webpack:///(webpack)/buildin/module.js","webpack:///./src/actions/collections.js","webpack:///./src/components/MarkdownEditor.js","webpack:///./src/components/form/InputSearch.js","webpack:///./src/components/form/InputTitle.js","webpack:///./src/containers/MetaFields.js","webpack:///./~/dom-helpers/query/height.js","webpack:///./~/fbjs/lib/keyMirror.js","webpack:///./~/history/lib/Actions.js","webpack:///./~/history/lib/DOMUtils.js","webpack:///./~/js-yaml/lib/js-yaml/schema/default_full.js","webpack:///./~/lodash/_ListCache.js","webpack:///./~/lodash/_assocIndexOf.js","webpack:///./~/lodash/_copyObject.js","webpack:///./~/lodash/_getMapData.js","webpack:///./~/lodash/_nativeCreate.js","webpack:///./~/lodash/isObjectLike.js","webpack:///./~/react-widgets/lib/CalendarView.js","webpack:///./~/react/lib/DisabledInputUtils.js","webpack:///./~/react/lib/ReactBrowserEventEmitter.js","webpack:///./~/react/lib/SyntheticMouseEvent.js","webpack:///./~/react/lib/escapeTextContentForBrowser.js","webpack:///./~/react/lib/setInnerHTML.js","webpack:///./src/actions/datafiles.js","webpack:///./src/actions/notifications.js","webpack:///./src/actions/pages.js","webpack:///./src/components/Editor.js","webpack:///./src/components/metadata/MetaArray.js","webpack:///./src/components/metadata/MetaButtons.js","webpack:///./src/components/metadata/MetaObject.js","webpack:///./src/components/metadata/MetaSimple.js","webpack:///./src/utils/validation.js","webpack:///./~/buffer/index.js","webpack:///./~/dom-helpers/query/offset.js","webpack:///./~/dom-helpers/util/camelizeStyle.js","webpack:///./~/fbjs/lib/shallowEqual.js","webpack:///./~/history/lib/BrowserProtocol.js","webpack:///./~/history/lib/ExecutionEnvironment.js","webpack:///./~/history/lib/createHistory.js","webpack:///./~/history/lib/runTransitionHook.js","webpack:///./~/js-yaml/lib/js-yaml/schema/failsafe.js","webpack:///./~/lodash/_Map.js","webpack:///./~/lodash/_Symbol.js","webpack:///./~/lodash/_cloneArrayBuffer.js","webpack:///./~/lodash/_getPrototype.js","webpack:///./~/lodash/_getSymbols.js","webpack:///./~/lodash/_isPrototype.js","webpack:///./~/lodash/isArray.js","webpack:///./~/lodash/isPlainObject.js","webpack:///./~/lodash/keys.js","webpack:///./~/process/browser.js","webpack:///./~/react-notification-system/dist/constants.js","webpack:///./~/react-router/lib/AsyncUtils.js","webpack:///./~/react-router/lib/ContextUtils.js","webpack:///./~/react-router/lib/PropTypes.js","webpack:///./~/react-router/lib/RouterContext.js","webpack:///./~/react-widgets/lib/Button.js","webpack:///./~/react-widgets/lib/mixins/TimeoutMixin.js","webpack:///./~/react-widgets/lib/util/configuration.js","webpack:///./~/react-widgets/lib/util/constants.js","webpack:///./~/react-widgets/lib/util/dataHelpers.js","webpack:///./~/react/lib/DOMChildrenOperations.js","webpack:///./~/react/lib/DOMNamespaces.js","webpack:///./~/react/lib/EventPluginRegistry.js","webpack:///./~/react/lib/EventPluginUtils.js","webpack:///./~/react/lib/KeyEscapeUtils.js","webpack:///./~/react/lib/LinkedValueUtils.js","webpack:///./~/react/lib/ReactComponent.js","webpack:///./~/react/lib/ReactComponentEnvironment.js","webpack:///./~/react/lib/ReactComponentTreeHook.js","webpack:///./~/react/lib/ReactErrorUtils.js","webpack:///./~/react/lib/ReactNoopUpdateQueue.js","webpack:///./~/react/lib/ReactPropTypeLocationNames.js","webpack:///./~/react/lib/ReactPropTypeLocations.js","webpack:///./~/react/lib/ReactPropTypesSecret.js","webpack:///./~/react/lib/ReactUpdateQueue.js","webpack:///./~/react/lib/createMicrosoftUnsafeLocalFunction.js","webpack:///./~/react/lib/getEventCharCode.js","webpack:///./~/react/lib/getEventModifierState.js","webpack:///./~/react/lib/getEventTarget.js","webpack:///./~/react/lib/isEventSupported.js","webpack:///./~/react/lib/shouldUpdateReactComponent.js","webpack:///./~/react/lib/traverseAllChildren.js","webpack:///./~/react/lib/validateDOMNesting.js","webpack:///./src/actions/config.js","webpack:///./src/reducers/collections.js","webpack:///./src/reducers/datafiles.js","webpack:///./src/reducers/pages.js","webpack:///./src/reducers/staticfiles.js","webpack:///./~/codemirror/addon/mode/overlay.js","webpack:///./~/codemirror/mode/markdown/markdown.js","webpack:///./~/codemirror/mode/xml/xml.js","webpack:///./~/dom-helpers/ownerDocument.js","webpack:///./~/dom-helpers/query/width.js","webpack:///./~/dom-helpers/util/babelHelpers.js","webpack:///./~/dom-helpers/util/hyphenate.js","webpack:///./~/fbjs/lib/EventListener.js","webpack:///./~/fbjs/lib/focusNode.js","webpack:///./~/fbjs/lib/getActiveElement.js","webpack:///./~/history/lib/DOMStateStorage.js","webpack:///./~/history/lib/useBasename.js","webpack:///./~/history/lib/useQueries.js","webpack:///./~/hoist-non-react-statics/index.js","webpack:///./~/js-yaml/lib/js-yaml/schema/core.js","webpack:///./~/js-yaml/lib/js-yaml/schema/json.js","webpack:///./~/lodash/_arrayLikeKeys.js","webpack:///./~/lodash/_arrayPush.js","webpack:///./~/lodash/_arrayReduce.js","webpack:///./~/lodash/_assignValue.js","webpack:///./~/lodash/_baseAssignValue.js","webpack:///./~/lodash/_baseGetAllKeys.js","webpack:///./~/lodash/_freeGlobal.js","webpack:///./~/lodash/_getSymbolsIn.js","webpack:///./~/lodash/_overArg.js","webpack:///./~/lodash/_toSource.js","webpack:///./~/lodash/eq.js","webpack:///./~/lodash/isArrayLike.js","webpack:///./~/lodash/isBuffer.js","webpack:///./~/lodash/isFunction.js","webpack:///./~/lodash/isLength.js","webpack:///./~/lodash/keysIn.js","webpack:///./~/lodash/stubArray.js","webpack:///./~/moment/locale/af.js","webpack:///./~/moment/locale/ar-dz.js","webpack:///./~/moment/locale/ar-ly.js","webpack:///./~/moment/locale/ar-ma.js","webpack:///./~/moment/locale/ar-sa.js","webpack:///./~/moment/locale/ar-tn.js","webpack:///./~/moment/locale/ar.js","webpack:///./~/moment/locale/az.js","webpack:///./~/moment/locale/be.js","webpack:///./~/moment/locale/bg.js","webpack:///./~/moment/locale/bn.js","webpack:///./~/moment/locale/bo.js","webpack:///./~/moment/locale/br.js","webpack:///./~/moment/locale/bs.js","webpack:///./~/moment/locale/ca.js","webpack:///./~/moment/locale/cs.js","webpack:///./~/moment/locale/cv.js","webpack:///./~/moment/locale/cy.js","webpack:///./~/moment/locale/da.js","webpack:///./~/moment/locale/de-at.js","webpack:///./~/moment/locale/de.js","webpack:///./~/moment/locale/dv.js","webpack:///./~/moment/locale/el.js","webpack:///./~/moment/locale/en-au.js","webpack:///./~/moment/locale/en-ca.js","webpack:///./~/moment/locale/en-gb.js","webpack:///./~/moment/locale/en-ie.js","webpack:///./~/moment/locale/en-nz.js","webpack:///./~/moment/locale/eo.js","webpack:///./~/moment/locale/es-do.js","webpack:///./~/moment/locale/es.js","webpack:///./~/moment/locale/et.js","webpack:///./~/moment/locale/eu.js","webpack:///./~/moment/locale/fa.js","webpack:///./~/moment/locale/fi.js","webpack:///./~/moment/locale/fo.js","webpack:///./~/moment/locale/fr-ca.js","webpack:///./~/moment/locale/fr-ch.js","webpack:///./~/moment/locale/fr.js","webpack:///./~/moment/locale/fy.js","webpack:///./~/moment/locale/gd.js","webpack:///./~/moment/locale/gl.js","webpack:///./~/moment/locale/he.js","webpack:///./~/moment/locale/hi.js","webpack:///./~/moment/locale/hr.js","webpack:///./~/moment/locale/hu.js","webpack:///./~/moment/locale/hy-am.js","webpack:///./~/moment/locale/id.js","webpack:///./~/moment/locale/is.js","webpack:///./~/moment/locale/it.js","webpack:///./~/moment/locale/ja.js","webpack:///./~/moment/locale/jv.js","webpack:///./~/moment/locale/ka.js","webpack:///./~/moment/locale/kk.js","webpack:///./~/moment/locale/km.js","webpack:///./~/moment/locale/ko.js","webpack:///./~/moment/locale/ky.js","webpack:///./~/moment/locale/lb.js","webpack:///./~/moment/locale/lo.js","webpack:///./~/moment/locale/lt.js","webpack:///./~/moment/locale/lv.js","webpack:///./~/moment/locale/me.js","webpack:///./~/moment/locale/mi.js","webpack:///./~/moment/locale/mk.js","webpack:///./~/moment/locale/ml.js","webpack:///./~/moment/locale/mr.js","webpack:///./~/moment/locale/ms-my.js","webpack:///./~/moment/locale/ms.js","webpack:///./~/moment/locale/my.js","webpack:///./~/moment/locale/nb.js","webpack:///./~/moment/locale/ne.js","webpack:///./~/moment/locale/nl-be.js","webpack:///./~/moment/locale/nl.js","webpack:///./~/moment/locale/nn.js","webpack:///./~/moment/locale/pa-in.js","webpack:///./~/moment/locale/pl.js","webpack:///./~/moment/locale/pt-br.js","webpack:///./~/moment/locale/pt.js","webpack:///./~/moment/locale/ro.js","webpack:///./~/moment/locale/ru.js","webpack:///./~/moment/locale/se.js","webpack:///./~/moment/locale/si.js","webpack:///./~/moment/locale/sk.js","webpack:///./~/moment/locale/sl.js","webpack:///./~/moment/locale/sq.js","webpack:///./~/moment/locale/sr-cyrl.js","webpack:///./~/moment/locale/sr.js","webpack:///./~/moment/locale/ss.js","webpack:///./~/moment/locale/sv.js","webpack:///./~/moment/locale/sw.js","webpack:///./~/moment/locale/ta.js","webpack:///./~/moment/locale/te.js","webpack:///./~/moment/locale/tet.js","webpack:///./~/moment/locale/th.js","webpack:///./~/moment/locale/tl-ph.js","webpack:///./~/moment/locale/tlh.js","webpack:///./~/moment/locale/tr.js","webpack:///./~/moment/locale/tzl.js","webpack:///./~/moment/locale/tzm-latn.js","webpack:///./~/moment/locale/tzm.js","webpack:///./~/moment/locale/uk.js","webpack:///./~/moment/locale/uz.js","webpack:///./~/moment/locale/vi.js","webpack:///./~/moment/locale/x-pseudo.js","webpack:///./~/moment/locale/yo.js","webpack:///./~/moment/locale/zh-cn.js","webpack:///./~/moment/locale/zh-hk.js","webpack:///./~/moment/locale/zh-tw.js","webpack:///./~/react-redux/lib/utils/storeShape.js","webpack:///./~/react-redux/lib/utils/warning.js","webpack:///./~/react-router-redux/lib/actions.js","webpack:///./~/react-router-redux/lib/index.js","webpack:///./~/react-router-redux/lib/reducer.js","webpack:///./~/react-router/lib/Link.js","webpack:///./~/react-router/lib/PromiseUtils.js","webpack:///./~/react-router/lib/Redirect.js","webpack:///./~/react-router/lib/RouterUtils.js","webpack:///./~/react-router/lib/createMemoryHistory.js","webpack:///./~/react-router/lib/createRouterHistory.js","webpack:///./~/react-router/lib/createTransitionManager.js","webpack:///./~/react-router/lib/useRouterHistory.js","webpack:///./~/react-textarea-autosize/lib/TextareaAutosize.js","webpack:///./~/react-widgets/lib/Widget.js","webpack:///./~/react-widgets/lib/mixins/FocusMixin.js","webpack:///./~/react-widgets/lib/mixins/RtlParentContextMixin.js","webpack:///./~/react-widgets/lib/util/filter.js","webpack:///./~/react/lib/CSSProperty.js","webpack:///./~/react/lib/CallbackQueue.js","webpack:///./~/react/lib/DOMPropertyOperations.js","webpack:///./~/react/lib/ReactChildren.js","webpack:///./~/react/lib/ReactClass.js","webpack:///./~/react/lib/ReactDOMComponentFlags.js","webpack:///./~/react/lib/ReactDOMSelect.js","webpack:///./~/react/lib/ReactEmptyComponent.js","webpack:///./~/react/lib/ReactFeatureFlags.js","webpack:///./~/react/lib/ReactHostComponent.js","webpack:///./~/react/lib/ReactInputSelection.js","webpack:///./~/react/lib/ReactMount.js","webpack:///./~/react/lib/ReactMultiChildUpdateTypes.js","webpack:///./~/react/lib/ReactNodeTypes.js","webpack:///./~/react/lib/ReactPropTypes.js","webpack:///./~/react/lib/ReactVersion.js","webpack:///./~/react/lib/ViewportMetrics.js","webpack:///./~/react/lib/accumulateInto.js","webpack:///./~/react/lib/canDefineProperty.js","webpack:///./~/react/lib/forEachAccumulated.js","webpack:///./~/react/lib/getHostComponentFromComposite.js","webpack:///./~/react/lib/getIteratorFn.js","webpack:///./~/react/lib/getTextContentAccessor.js","webpack:///./~/react/lib/instantiateReactComponent.js","webpack:///./~/react/lib/isTextInputElement.js","webpack:///./~/react/lib/setTextContent.js","webpack:///./~/redux/lib/compose.js","webpack:///./~/redux/lib/createStore.js","webpack:///./~/redux/lib/utils/warning.js","webpack:///./~/uncontrollable/index.js","webpack:///./src/actions/staticfiles.js","webpack:///./src/components/FilePreview.js","webpack:///./src/components/form/Checkbox.js","webpack:///./src/components/metadata/MetaArrayItem.js","webpack:///./src/components/metadata/MetaField.js","webpack:///./src/components/metadata/MetaObjectItem.js","webpack:///./src/constants/lang/en.js","webpack:///./src/containers/App.js","webpack:///./src/containers/Header.js","webpack:///./src/containers/Notifications.js","webpack:///./src/containers/Sidebar.js","webpack:///./src/containers/views/Configuration.js","webpack:///./src/containers/views/DataFileEdit.js","webpack:///./src/containers/views/DataFileNew.js","webpack:///./src/containers/views/DataFiles.js","webpack:///./src/containers/views/DocumentEdit.js","webpack:///./src/containers/views/DocumentNew.js","webpack:///./src/containers/views/Documents.js","webpack:///./src/containers/views/NotFound.js","webpack:///./src/containers/views/PageEdit.js","webpack:///./src/containers/views/PageNew.js","webpack:///./src/containers/views/Pages.js","webpack:///./src/containers/views/StaticFiles.js","webpack:///./src/reducers/config.js","webpack:///./src/reducers/index.js","webpack:///./src/reducers/metadata.js","webpack:///./src/reducers/notifications.js","webpack:///./src/reducers/utils.js","webpack:///./src/routes.js","webpack:///./src/store/configureStore.js","webpack:///./src/store/configureStore.prod.js","webpack:///./src/utils/metadata.js","webpack:///./~/base64-js/index.js","webpack:///./~/brace/mode/yaml.js","webpack:///./~/brace/theme/monokai.js","webpack:///./~/codemirror-spell-checker/src/js/spell-checker.js","webpack:///./~/codemirror/addon/display/fullscreen.js","webpack:///./~/codemirror/addon/display/placeholder.js","webpack:///./~/codemirror/addon/edit/continuelist.js","webpack:///./~/codemirror/addon/selection/mark-selection.js","webpack:///./~/codemirror/mode/gfm/gfm.js","webpack:///./~/codemirror/mode/meta.js","webpack:///./~/date-arithmetic/index.js","webpack:///./~/dom-helpers/activeElement.js","webpack:///./~/dom-helpers/events/off.js","webpack:///./~/dom-helpers/events/on.js","webpack:///./~/dom-helpers/query/contains.js","webpack:///./~/dom-helpers/query/scrollParent.js","webpack:///./~/dom-helpers/query/scrollTop.js","webpack:///./~/dom-helpers/style/getComputedStyle.js","webpack:///./~/dom-helpers/style/removeStyle.js","webpack:///./~/dom-helpers/transition/properties.js","webpack:///./~/dom-helpers/util/camelize.js","webpack:///./~/dom-helpers/util/hyphenateStyle.js","webpack:///./~/dom-helpers/util/requestAnimationFrame.js","webpack:///./~/dom-helpers/util/scrollTo.js","webpack:///./~/esprima/esprima.js","webpack:///./~/fbjs/lib/camelize.js","webpack:///./~/fbjs/lib/camelizeStyleName.js","webpack:///./~/fbjs/lib/containsNode.js","webpack:///./~/fbjs/lib/createArrayFromMixed.js","webpack:///./~/fbjs/lib/createNodesFromMarkup.js","webpack:///./~/fbjs/lib/getMarkupWrap.js","webpack:///./~/fbjs/lib/getUnboundedScrollPosition.js","webpack:///./~/fbjs/lib/hyphenate.js","webpack:///./~/fbjs/lib/hyphenateStyleName.js","webpack:///./~/fbjs/lib/isNode.js","webpack:///./~/fbjs/lib/isTextNode.js","webpack:///./~/fbjs/lib/memoizeStringOnly.js","webpack:///./src/assets/images/logo-black-red.png","webpack:///./src/assets/favicon.ico","webpack:///./~/history/lib/AsyncUtils.js","webpack:///./~/history/lib/HashProtocol.js","webpack:///./~/history/lib/RefreshProtocol.js","webpack:///./~/history/lib/createBrowserHistory.js","webpack:///./~/history/lib/createHashHistory.js","webpack:///./~/history/lib/createMemoryHistory.js","webpack:///./~/ieee754/index.js","webpack:///./~/isarray/index.js","webpack:///./~/isomorphic-fetch/fetch-npm-browserify.js","webpack:///./~/js-yaml/index.js","webpack:///./~/js-yaml/lib/js-yaml.js","webpack:///./~/js-yaml/lib/js-yaml/dumper.js","webpack:///./~/js-yaml/lib/js-yaml/loader.js","webpack:///./~/js-yaml/lib/js-yaml/mark.js","webpack:///./~/js-yaml/lib/js-yaml/type/binary.js","webpack:///./~/js-yaml/lib/js-yaml/type/bool.js","webpack:///./~/js-yaml/lib/js-yaml/type/float.js","webpack:///./~/js-yaml/lib/js-yaml/type/int.js","webpack:///./~/js-yaml/lib/js-yaml/type/js/function.js","webpack:///./~/js-yaml/lib/js-yaml/type/js/regexp.js","webpack:///./~/js-yaml/lib/js-yaml/type/js/undefined.js","webpack:///./~/js-yaml/lib/js-yaml/type/map.js","webpack:///./~/js-yaml/lib/js-yaml/type/merge.js","webpack:///./~/js-yaml/lib/js-yaml/type/null.js","webpack:///./~/js-yaml/lib/js-yaml/type/omap.js","webpack:///./~/js-yaml/lib/js-yaml/type/pairs.js","webpack:///./~/js-yaml/lib/js-yaml/type/seq.js","webpack:///./~/js-yaml/lib/js-yaml/type/set.js","webpack:///./~/js-yaml/lib/js-yaml/type/str.js","webpack:///./~/js-yaml/lib/js-yaml/type/timestamp.js","webpack:///./~/lodash.isequal/index.js","webpack:///./~/lodash/_DataView.js","webpack:///./~/lodash/_Hash.js","webpack:///./~/lodash/_MapCache.js","webpack:///./~/lodash/_Promise.js","webpack:///./~/lodash/_Set.js","webpack:///./~/lodash/_Stack.js","webpack:///./~/lodash/_Uint8Array.js","webpack:///./~/lodash/_WeakMap.js","webpack:///./~/lodash/_addMapEntry.js","webpack:///./~/lodash/_addSetEntry.js","webpack:///./~/lodash/_arrayEach.js","webpack:///./~/lodash/_arrayFilter.js","webpack:///./~/lodash/_baseAssign.js","webpack:///./~/lodash/_baseAssignIn.js","webpack:///./~/lodash/_baseClone.js","webpack:///./~/lodash/_baseCreate.js","webpack:///./~/lodash/_baseIsArguments.js","webpack:///./~/lodash/_baseIsNative.js","webpack:///./~/lodash/_baseIsTypedArray.js","webpack:///./~/lodash/_baseKeys.js","webpack:///./~/lodash/_baseKeysIn.js","webpack:///./~/lodash/_baseTimes.js","webpack:///./~/lodash/_baseUnary.js","webpack:///./~/lodash/_cloneBuffer.js","webpack:///./~/lodash/_cloneDataView.js","webpack:///./~/lodash/_cloneMap.js","webpack:///./~/lodash/_cloneRegExp.js","webpack:///./~/lodash/_cloneSet.js","webpack:///./~/lodash/_cloneSymbol.js","webpack:///./~/lodash/_cloneTypedArray.js","webpack:///./~/lodash/_copyArray.js","webpack:///./~/lodash/_copySymbols.js","webpack:///./~/lodash/_copySymbolsIn.js","webpack:///./~/lodash/_coreJsData.js","webpack:///./~/lodash/_defineProperty.js","webpack:///./~/lodash/_getAllKeys.js","webpack:///./~/lodash/_getAllKeysIn.js","webpack:///./~/lodash/_getRawTag.js","webpack:///./~/lodash/_getTag.js","webpack:///./~/lodash/_getValue.js","webpack:///./~/lodash/_hashClear.js","webpack:///./~/lodash/_hashDelete.js","webpack:///./~/lodash/_hashGet.js","webpack:///./~/lodash/_hashHas.js","webpack:///./~/lodash/_hashSet.js","webpack:///./~/lodash/_initCloneArray.js","webpack:///./~/lodash/_initCloneByTag.js","webpack:///./~/lodash/_initCloneObject.js","webpack:///./~/lodash/_isIndex.js","webpack:///./~/lodash/_isKeyable.js","webpack:///./~/lodash/_isMasked.js","webpack:///./~/lodash/_listCacheClear.js","webpack:///./~/lodash/_listCacheDelete.js","webpack:///./~/lodash/_listCacheGet.js","webpack:///./~/lodash/_listCacheHas.js","webpack:///./~/lodash/_listCacheSet.js","webpack:///./~/lodash/_mapCacheClear.js","webpack:///./~/lodash/_mapCacheDelete.js","webpack:///./~/lodash/_mapCacheGet.js","webpack:///./~/lodash/_mapCacheHas.js","webpack:///./~/lodash/_mapCacheSet.js","webpack:///./~/lodash/_mapToArray.js","webpack:///./~/lodash/_nativeKeys.js","webpack:///./~/lodash/_nativeKeysIn.js","webpack:///./~/lodash/_nodeUtil.js","webpack:///./~/lodash/_objectToString.js","webpack:///./~/lodash/_setToArray.js","webpack:///./~/lodash/_stackClear.js","webpack:///./~/lodash/_stackDelete.js","webpack:///./~/lodash/_stackGet.js","webpack:///./~/lodash/_stackHas.js","webpack:///./~/lodash/_stackSet.js","webpack:///./~/lodash/cloneDeep.js","webpack:///./~/lodash/isArguments.js","webpack:///./~/lodash/isTypedArray.js","webpack:///./~/lodash/stubFalse.js","webpack:///./~/marked/lib/marked.js","webpack:///./~/moment/locale ^\\.\\/.*$","webpack:///./~/query-string/index.js","webpack:///./~/react-ace/lib/ace.js","webpack:///./~/react-ace/~/brace/index.js","webpack:///./~/react-dropzone/dist/index.js","webpack:///./~/react-notification-system/dist/NotificationContainer.js","webpack:///./~/react-notification-system/dist/NotificationItem.js","webpack:///./~/react-notification-system/dist/NotificationSystem.js","webpack:///./~/react-notification-system/dist/helpers.js","webpack:///./~/react-notification-system/dist/styles.js","webpack:///./~/react-redux/lib/components/Provider.js","webpack:///./~/react-redux/lib/components/connect.js","webpack:///./~/react-redux/lib/utils/shallowEqual.js","webpack:///./~/react-redux/lib/utils/wrapActionCreators.js","webpack:///./~/react-router-redux/lib/middleware.js","webpack:///./~/react-router-redux/lib/sync.js","webpack:///./~/react-router/lib/IndexLink.js","webpack:///./~/react-router/lib/IndexRedirect.js","webpack:///./~/react-router/lib/IndexRoute.js","webpack:///./~/react-router/lib/Route.js","webpack:///./~/react-router/lib/Router.js","webpack:///./~/react-router/lib/TransitionUtils.js","webpack:///./~/react-router/lib/applyRouterMiddleware.js","webpack:///./~/react-router/lib/browserHistory.js","webpack:///./~/react-router/lib/computeChangedRoutes.js","webpack:///./~/react-router/lib/getComponents.js","webpack:///./~/react-router/lib/getRouteParams.js","webpack:///./~/react-router/lib/hashHistory.js","webpack:///./~/react-router/lib/isActive.js","webpack:///./~/react-router/lib/match.js","webpack:///./~/react-router/lib/matchRoutes.js","webpack:///./~/react-router/lib/withRouter.js","webpack:///./~/react-textarea-autosize/lib/calculateNodeHeight.js","webpack:///./~/react-widgets/lib/Calendar.js","webpack:///./~/react-widgets/lib/Century.js","webpack:///./~/react-widgets/lib/DateTimePicker.js","webpack:///./~/react-widgets/lib/DateTimePickerInput.js","webpack:///./~/react-widgets/lib/Decade.js","webpack:///./~/react-widgets/lib/Footer.js","webpack:///./~/react-widgets/lib/Header.js","webpack:///./~/react-widgets/lib/Input.js","webpack:///./~/react-widgets/lib/List.js","webpack:///./~/react-widgets/lib/ListOption.js","webpack:///./~/react-widgets/lib/Month.js","webpack:///./~/react-widgets/lib/Popup.js","webpack:///./~/react-widgets/lib/ReplaceTransitionGroup.js","webpack:///./~/react-widgets/lib/SlideTransition.js","webpack:///./~/react-widgets/lib/TimeList.js","webpack:///./~/react-widgets/lib/Year.js","webpack:///./~/react-widgets/lib/configure.js","webpack:///./~/react-widgets/lib/localizers/moment.js","webpack:///./~/react-widgets/lib/mixins/AutoFocusMixin.js","webpack:///./~/react-widgets/lib/mixins/ListMovementMixin.js","webpack:///./~/react-widgets/lib/mixins/PopupScrollToMixin.js","webpack:///./~/react-widgets/lib/util/dom/animate.js","webpack:///./~/react/lib/AutoFocusUtils.js","webpack:///./~/react/lib/BeforeInputEventPlugin.js","webpack:///./~/react/lib/CSSPropertyOperations.js","webpack:///./~/react/lib/ChangeEventPlugin.js","webpack:///./~/react/lib/Danger.js","webpack:///./~/react/lib/DefaultEventPluginOrder.js","webpack:///./~/react/lib/EnterLeaveEventPlugin.js","webpack:///./~/react/lib/FallbackCompositionState.js","webpack:///./~/react/lib/HTMLDOMPropertyConfig.js","webpack:///./~/react/lib/React.js","webpack:///./~/react/lib/ReactChildReconciler.js","webpack:///./~/react/lib/ReactComponentBrowserEnvironment.js","webpack:///./~/react/lib/ReactCompositeComponent.js","webpack:///./~/react/lib/ReactDOM.js","webpack:///./~/react/lib/ReactDOMButton.js","webpack:///./~/react/lib/ReactDOMComponent.js","webpack:///./~/react/lib/ReactDOMContainerInfo.js","webpack:///./~/react/lib/ReactDOMEmptyComponent.js","webpack:///./~/react/lib/ReactDOMFactories.js","webpack:///./~/react/lib/ReactDOMFeatureFlags.js","webpack:///./~/react/lib/ReactDOMIDOperations.js","webpack:///./~/react/lib/ReactDOMInput.js","webpack:///./~/react/lib/ReactDOMOption.js","webpack:///./~/react/lib/ReactDOMSelection.js","webpack:///./~/react/lib/ReactDOMTextComponent.js","webpack:///./~/react/lib/ReactDOMTextarea.js","webpack:///./~/react/lib/ReactDOMTreeTraversal.js","webpack:///./~/react/lib/ReactDefaultBatchingStrategy.js","webpack:///./~/react/lib/ReactDefaultInjection.js","webpack:///./~/react/lib/ReactEventEmitterMixin.js","webpack:///./~/react/lib/ReactEventListener.js","webpack:///./~/react/lib/ReactInjection.js","webpack:///./~/react/lib/ReactMarkupChecksum.js","webpack:///./~/react/lib/ReactMultiChild.js","webpack:///./~/react/lib/ReactOwner.js","webpack:///./~/react/lib/ReactPureComponent.js","webpack:///./~/react/lib/ReactReconcileTransaction.js","webpack:///./~/react/lib/ReactRef.js","webpack:///./~/react/lib/ReactServerRenderingTransaction.js","webpack:///./~/react/lib/ReactServerUpdateQueue.js","webpack:///./~/react/lib/SVGDOMPropertyConfig.js","webpack:///./~/react/lib/SelectEventPlugin.js","webpack:///./~/react/lib/SimpleEventPlugin.js","webpack:///./~/react/lib/SyntheticAnimationEvent.js","webpack:///./~/react/lib/SyntheticClipboardEvent.js","webpack:///./~/react/lib/SyntheticCompositionEvent.js","webpack:///./~/react/lib/SyntheticDragEvent.js","webpack:///./~/react/lib/SyntheticFocusEvent.js","webpack:///./~/react/lib/SyntheticInputEvent.js","webpack:///./~/react/lib/SyntheticKeyboardEvent.js","webpack:///./~/react/lib/SyntheticTouchEvent.js","webpack:///./~/react/lib/SyntheticTransitionEvent.js","webpack:///./~/react/lib/SyntheticWheelEvent.js","webpack:///./~/react/lib/adler32.js","webpack:///./~/react/lib/checkReactTypeSpec.js","webpack:///./~/react/lib/dangerousStyleValue.js","webpack:///./~/react/lib/findDOMNode.js","webpack:///./~/react/lib/flattenChildren.js","webpack:///./~/react/lib/getEventKey.js","webpack:///./~/react/lib/getNodeForCharacterOffset.js","webpack:///./~/react/lib/getVendorPrefixedEventName.js","webpack:///./~/react/lib/onlyChild.js","webpack:///./~/react/lib/quoteAttributeValueForBrowser.js","webpack:///./~/react/lib/renderSubtreeIntoContainer.js","webpack:///./~/redux-thunk/lib/index.js","webpack:///./~/redux/lib/applyMiddleware.js","webpack:///./~/redux/lib/bindActionCreators.js","webpack:///./~/redux/lib/combineReducers.js","webpack:///./~/simplemde/src/js/codemirror/tablist.js","webpack:///./~/simplemde/src/js/simplemde.js","webpack:///./~/slug/slug.js","webpack:///./~/sortablejs/Sortable.js","webpack:///./~/strict-uri-encode/index.js","webpack:///./~/symbol-observable/index.js","webpack:///./~/symbol-observable/ponyfill.js","webpack:///./~/typo-js/typo.js","webpack:///./~/uncontrollable/createUncontrollable.js","webpack:///./~/uncontrollable/utils.js","webpack:///./~/unicode/category/So.js","webpack:///./~/w3c-blob/browser.js","webpack:///(webpack)/buildin/amd-define.js","webpack:///./~/whatwg-fetch/fetch.js"],"names":["modules","__webpack_require__","moduleId","installedModules","exports","module","id","loaded","call","m","c","p","i","Object","prototype","hasOwnProperty","_m","args","slice","fn","a","b","apply","this","concat","_interopRequireDefault","obj","__esModule","default","_react","_react2","_reactRouterRedux","_reactDom","_reactRedux","_reactRouter","_routes","_routes2","_configureStore","_configureStore2","_constants","store","history","syncHistoryWithStore","browserHistory","render","createElement","Provider","Router","routes","Redirect","from","ADMIN_PREFIX","to","document","getElementById","global","factory","hooks","hookCallback","arguments","setHookCallback","callback","isArray","input","Array","toString","isObject","isObjectEmpty","k","isNumber","isDate","Date","map","arr","res","length","push","hasOwnProp","extend","valueOf","createUTC","format","locale","strict","createLocalOrUTC","utc","defaultParsingFlags","empty","unusedTokens","unusedInput","overflow","charsLeftOver","nullInput","invalidMonth","invalidFormat","userInvalidated","iso","parsedDateParts","meridiem","getParsingFlags","_pf","isValid","_isValid","flags","parsedParts","some$1","isNowValid","isNaN","_d","getTime","invalidWeekday","_strict","undefined","bigHour","isFrozen","createInvalid","NaN","isUndefined","copyConfig","prop","val","_isAMomentObject","_i","_f","_l","_tzm","_isUTC","_offset","_locale","momentProperties","Moment","config","updateInProgress","updateOffset","isMoment","absFloor","number","Math","ceil","floor","toInt","argumentForCoercion","coercedNumber","value","isFinite","compareArrays","array1","array2","dontConvert","len","min","lengthDiff","abs","diffs","warn","msg","suppressDeprecationWarnings","console","deprecate","firstTime","deprecationHandler","arg","key","join","Error","stack","deprecateSimple","name","deprecations","isFunction","Function","set","_config","_ordinalParseLenient","RegExp","_ordinalParse","source","mergeConfigs","parentConfig","childConfig","Locale","calendar","mom","now","output","_calendar","longDateFormat","_longDateFormat","formatUpper","toUpperCase","replace","invalidDate","_invalidDate","ordinal","_ordinal","relativeTime","withoutSuffix","string","isFuture","_relativeTime","pastFuture","diff","addUnitAlias","unit","shorthand","lowerCase","toLowerCase","aliases","normalizeUnits","units","normalizeObjectUnits","inputObject","normalizedProp","normalizedInput","addUnitPriority","priority","priorities","getPrioritizedUnits","unitsObj","u","sort","makeGetSet","keepTime","set$1","get","stringGet","stringSet","prioritized","zeroFill","targetLength","forceSign","absNumber","zerosToFill","sign","pow","max","substr","addFormatToken","token","padded","func","formatTokenFunctions","localeData","removeFormattingTokens","match","makeFormatFunction","array","formattingTokens","formatMoment","expandFormat","formatFunctions","replaceLongDateFormatTokens","localFormattingTokens","lastIndex","test","addRegexToken","regex","strictRegex","regexes","isStrict","getParseRegexForToken","unescapeFormat","s","regexEscape","matched","p1","p2","p3","p4","addParseToken","tokens","addWeekParseToken","_w","addTimeToArrayFromToken","_a","daysInMonth","year","month","UTC","getUTCDate","localeMonths","_months","isFormat","MONTHS_IN_FORMAT","localeMonthsShort","_monthsShort","handleStrictParse","monthName","ii","llc","toLocaleLowerCase","_monthsParse","_longMonthsParse","_shortMonthsParse","monthsShort","months","indexOf$1","localeMonthsParse","_monthsParseExact","setMonth","dayOfMonth","monthsParse","date","getSetMonth","getDaysInMonth","monthsShortRegex","computeMonthsParse","_monthsShortStrictRegex","_monthsShortRegex","defaultMonthsShortRegex","monthsRegex","_monthsStrictRegex","_monthsRegex","defaultMonthsRegex","cmpLenRev","shortPieces","longPieces","mixedPieces","daysInYear","isLeapYear","getIsLeapYear","createDate","y","d","h","M","ms","getFullYear","setFullYear","createUTCDate","getUTCFullYear","setUTCFullYear","firstWeekOffset","dow","doy","fwd","fwdlw","getUTCDay","dayOfYearFromWeeks","week","weekday","resYear","resDayOfYear","localWeekday","weekOffset","dayOfYear","weekOfYear","resWeek","weeksInYear","weekOffsetNext","localeWeek","_week","localeFirstDayOfWeek","localeFirstDayOfYear","getSetWeek","add","getSetISOWeek","parseWeekday","weekdaysParse","parseInt","parseIsoWeekday","localeWeekdays","_weekdays","day","localeWeekdaysShort","_weekdaysShort","localeWeekdaysMin","_weekdaysMin","handleStrictParse$1","weekdayName","_weekdaysParse","_shortWeekdaysParse","_minWeekdaysParse","weekdaysMin","weekdaysShort","weekdays","localeWeekdaysParse","_weekdaysParseExact","_fullWeekdaysParse","getSetDayOfWeek","getDay","getSetLocaleDayOfWeek","getSetISODayOfWeek","weekdaysRegex","computeWeekdaysParse","_weekdaysStrictRegex","_weekdaysRegex","defaultWeekdaysRegex","weekdaysShortRegex","_weekdaysShortStrictRegex","_weekdaysShortRegex","defaultWeekdaysShortRegex","weekdaysMinRegex","_weekdaysMinStrictRegex","_weekdaysMinRegex","defaultWeekdaysMinRegex","minp","shortp","longp","minPieces","hFormat","hours","kFormat","lowercase","minutes","matchMeridiem","_meridiemParse","localeIsPM","charAt","localeMeridiem","isLower","normalizeLocale","chooseLocale","names","j","next","split","loadLocale","oldLocale","locales","globalLocale","_abbr","getSetGlobalLocale","e","values","data","getLocale","defineLocale","baseConfig","abbr","parentLocale","localeFamilies","forEach","x","updateLocale","listLocales","keys$1","checkOverflow","MONTH","DATE","YEAR","HOUR","MINUTE","SECOND","MILLISECOND","_overflowDayOfYear","_overflowWeeks","WEEK","_overflowWeekday","WEEKDAY","configFromISO","l","allowTime","dateFormat","timeFormat","tzFormat","extendedIsoRegex","exec","basicIsoRegex","isoDates","isoTimes","tzRegex","configFromStringAndFormat","configFromString","aspNetJsonRegex","createFromInputFallback","defaults","currentDateArray","nowValue","_useUTC","getUTCMonth","getMonth","getDate","configFromArray","currentDate","yearToUse","dayOfYearFromWeekInfo","_dayOfYear","_nextDay","setUTCMinutes","getUTCMinutes","w","weekYear","temp","weekdayOverflow","GG","W","E","createLocal","curWeek","gg","ISO_8601","parsedInput","skipped","stringLength","totalParsedInputLength","indexOf","_meridiem","meridiemFixWrap","hour","isPm","meridiemHour","isPM","configFromStringAndArray","tempConfig","bestMoment","scoreToBeat","currentScore","score","configFromObject","minute","second","millisecond","createFromConfig","prepareConfig","preparse","configFromInput","isUTC","pickBy","moments","Duration","duration","years","quarters","quarter","weeks","days","seconds","milliseconds","_milliseconds","_days","_data","_bubble","isDuration","absRound","round","offset","separator","utcOffset","offsetFromString","matcher","matches","chunk","parts","chunkOffset","cloneWithOffset","model","clone","setTime","local","getDateOffset","getTimezoneOffset","getSetOffset","keepLocalTime","localAdjust","matchShortOffset","_changeInProgress","addSubtract","createDuration","getSetZone","setOffsetToUTC","setOffsetToLocal","subtract","setOffsetToParsedOffset","tZone","matchOffset","hasAlignedHourOffset","isDaylightSavingTime","isDaylightSavingTimeShifted","_isDSTShifted","other","toArray","isLocal","isUtcOffset","isUtc","ret","diffRes","aspNetRegex","isoRegex","parseIso","momentsDifference","inp","parseFloat","positiveMomentsDifference","base","isAfter","isBefore","createAdder","direction","period","dur","tmp","isAdding","getCalendarFormat","myMoment","calendar$1","time","formats","sod","startOf","calendarFormat","localInput","endOf","isBetween","inclusivity","isSame","inputMs","isSameOrAfter","isSameOrBefore","asFloat","that","zoneDelta","delta","monthDiff","anchor2","adjust","wholeMonthDiff","anchor","toISOString","toDate","inspect","zone","prefix","datetime","suffix","inputString","defaultFormatUtc","defaultFormat","postformat","humanize","fromNow","toNow","newLocaleData","isoWeekday","unix","toObject","toJSON","isValid$1","parsingFlags","invalidAt","creationData","addWeekYearFormatToken","getter","getSetWeekYear","getSetWeekYearHelper","getSetISOWeekYear","isoWeek","getISOWeeksInYear","getWeeksInYear","weekInfo","weeksTarget","setWeekAll","dayOfYearData","getSetQuarter","getSetDayOfYear","parseMs","getZoneAbbr","getZoneName","createUnix","createInZone","parseZone","preParsePostFormat","get$1","index","field","setter","listMonthsImpl","out","listWeekdaysImpl","localeSorted","shift","listMonths","listMonthsShort","listWeekdays","listWeekdaysShort","listWeekdaysMin","mathAbs","addSubtract$1","add$1","subtract$1","absCeil","bubble","monthsFromDays","monthsToDays","daysToMonths","as","valueOf$1","makeAs","alias","get$2","makeGetter","substituteTimeAgo","relativeTime$1","posNegDuration","thresholds","getSetRelativeTimeRounding","roundingFunction","getSetRelativeTimeThreshold","threshold","limit","withSuffix","toISOString$1","abs$1","Y","D","total","asSeconds","some","fun","t","keys","defaultCalendar","sameDay","nextDay","nextWeek","lastDay","lastWeek","sameElse","defaultLongDateFormat","LTS","LT","L","LL","LLL","LLLL","defaultInvalidDate","defaultOrdinal","defaultOrdinalParse","defaultRelativeTime","future","past","mm","hh","dd","MM","yy","match1","match2","match3","match4","match6","match1to2","match3to4","match5to6","match1to3","match1to4","match1to6","matchUnsigned","matchSigned","matchTimestamp","matchWord","o","defaultLocaleMonths","defaultLocaleMonthsShort","parseTwoDigitYear","getSetYear","defaultLocaleWeek","defaultLocaleWeekdays","defaultLocaleWeekdaysShort","defaultLocaleWeekdaysMin","_isPm","pos","pos1","pos2","defaultLocaleMeridiemParse","getSetHour","ordinalParse","meridiemParse","prototypeMin","prototypeMax","lang","isoWeekYear","getSetDayOfMonth","getSetMinute","getSetSecond","getSetMillisecond","proto","isoWeeks","isoWeeksInYear","isDST","zoneAbbr","zoneName","dates","isDSTShifted","proto$1","firstDayOfYear","firstDayOfWeek","langData","asMilliseconds","asMinutes","asHours","asDays","asWeeks","asMonths","asYears","proto$2","toIsoString","version","invalid","relativeTimeRounding","relativeTimeThreshold","invariant","condition","f","validateFormat","error","argIndex","framesToPop","reactProdInvariant","code","argCount","message","argIdx","encodeURIComponent","emptyFunction","warning","TypeError","shouldUseNative","assign","test1","String","getOwnPropertyNames","test2","fromCharCode","order2","n","test3","letter","propIsEnumerable","propertyIsEnumerable","target","symbols","getOwnPropertySymbols","__WEBPACK_AMD_DEFINE_ARRAY__","__WEBPACK_AMD_DEFINE_RESULT__","createReduce","dir","iterator","iteratee","memo","currentKey","context","optimizeCb","isArrayLike","_","createPredicateIndexFinder","predicate","cb","getLength","createIndexFinder","predicateFind","sortedIndex","item","idx","collectNonEnumProps","nonEnumIdx","nonEnumerableProps","constructor","ObjProto","has","contains","root","previousUnderscore","ArrayProto","FuncProto","nativeIsArray","nativeKeys","nativeBind","bind","nativeCreate","create","Ctor","_wrapped","VERSION","collection","accumulator","identity","property","Infinity","createAssigner","keysFunc","undefinedOnly","baseCreate","result","MAX_ARRAY_INDEX","each","collect","results","reduce","foldl","inject","reduceRight","foldr","find","detect","findIndex","findKey","filter","select","list","reject","negate","every","all","any","includes","include","fromIndex","guard","invoke","method","isFunc","pluck","where","attrs","findWhere","computed","lastComputed","shuffle","rand","shuffled","random","sample","sortBy","criteria","left","right","group","behavior","groupBy","indexBy","countBy","size","partition","pass","fail","first","head","take","initial","last","rest","tail","drop","compact","flatten","shallow","startIndex","isArguments","without","difference","uniq","unique","isSorted","isBoolean","seen","union","intersection","argsLength","zip","unzip","object","findLastIndex","low","high","mid","lastIndexOf","range","start","stop","step","executeBound","sourceFunc","boundFunc","callingContext","self","bound","partial","boundArgs","position","bindAll","memoize","hasher","cache","address","delay","wait","setTimeout","defer","throttle","options","timeout","previous","later","leading","remaining","clearTimeout","trailing","debounce","immediate","timestamp","callNow","wrap","wrapper","compose","after","times","before","once","hasEnumBug","allKeys","mapObject","pairs","invert","functions","methods","extendOwn","pick","oiteratee","omit","props","tap","interceptor","isMatch","eq","aStack","bStack","className","areArrays","aCtor","bCtor","pop","isEqual","isEmpty","isString","isElement","nodeType","type","Int8Array","isNull","noConflict","constant","noop","propertyOf","accum","escapeMap","&","<",">","\"","'","`","unescapeMap","createEscaper","escaper","testRegexp","replaceRegexp","escape","unescape","fallback","idCounter","uniqueId","templateSettings","evaluate","interpolate","noMatch","escapes","\\","\r","\n","
","
","escapeChar","template","text","settings","oldSettings","variable","argument","chain","instance","_chain","mixin","defineProperty","_en","enumerable","getRenderedHostOrTextFromComponent","component","rendered","_renderedComponent","precacheNode","inst","node","hostInst","_hostNode","internalInstanceKey","uncacheNode","precacheChildNodes","_flags","Flags","hasCachedChildNodes","children","_renderedChildren","childNode","firstChild","outer","childInst","childID","_domID","nextSibling","getAttribute","ATTR_NAME","nodeValue","_prodInvariant","getClosestInstanceFromNode","parents","parentNode","closest","getInstanceFromNode","getNodeFromInstance","_hostParent","DOMProperty","ReactDOMComponentFlags","ID_ATTRIBUTE_NAME","ReactDOMComponentTree","compileStyleAliases","style","Type","tag","TYPE_CONSTRUCTOR_OPTIONS","YAMLException","kind","resolve","construct","instanceOf","represent","defaultStyle","styleAliases","YAML_NODE_KINDS","eql","shallowEqual","objA","objB","keysA","keysB","_typeof","Symbol","idCount","_len","_key","isShallowEqual","transform","seed","thisArg","mapped","pickProps","componentClass","propTypes","omitOwnProps","_len2","others","_key2","compClass","chunkSize","splat","applyMiddleware","bindActionCreators","combineReducers","createStore","_createStore","_createStore2","_combineReducers","_combineReducers2","_bindActionCreators","_bindActionCreators2","_applyMiddleware","_applyMiddleware2","_compose","_compose2","_warning","FETCH_CONFIG_REQUEST","FETCH_CONFIG_SUCCESS","FETCH_CONFIG_FAILURE","PUT_CONFIG_REQUEST","PUT_CONFIG_SUCCESS","PUT_CONFIG_FAILURE","CONFIG_EDITOR_CHANGED","FETCH_PAGES_REQUEST","FETCH_PAGES_SUCCESS","FETCH_PAGES_FAILURE","FETCH_PAGE_REQUEST","FETCH_PAGE_SUCCESS","FETCH_PAGE_FAILURE","PUT_PAGE_REQUEST","PUT_PAGE_SUCCESS","PUT_PAGE_FAILURE","DELETE_PAGE_REQUEST","DELETE_PAGE_SUCCESS","DELETE_PAGE_FAILURE","FETCH_COLLECTIONS_REQUEST","FETCH_COLLECTIONS_SUCCESS","FETCH_COLLECTIONS_FAILURE","FETCH_COLLECTION_REQUEST","FETCH_COLLECTION_SUCCESS","FETCH_COLLECTION_FAILURE","FETCH_DOCUMENT_REQUEST","FETCH_DOCUMENT_SUCCESS","FETCH_DOCUMENT_FAILURE","PUT_DOCUMENT_REQUEST","PUT_DOCUMENT_SUCCESS","PUT_DOCUMENT_FAILURE","DELETE_DOCUMENT_REQUEST","DELETE_DOCUMENT_SUCCESS","DELETE_DOCUMENT_FAILURE","UPDATE_TITLE","UPDATE_BODY","UPDATE_PATH","UPDATE_DRAFT","STORE_CONTENT_FIELDS","ADD_METAFIELD","REMOVE_METAFIELD","UPDATE_FIELD_KEY","UPDATE_FIELD_VALUE","MOVE_ARRAY_ITEM","CONVERT_FIELD","FETCH_DATAFILES_REQUEST","FETCH_DATAFILES_SUCCESS","FETCH_DATAFILES_FAILURE","FETCH_DATAFILE_REQUEST","FETCH_DATAFILE_SUCCESS","FETCH_DATAFILE_FAILURE","PUT_DATAFILE_REQUEST","PUT_DATAFILE_SUCCESS","PUT_DATAFILE_FAILURE","DELETE_DATAFILE_REQUEST","DELETE_DATAFILE_SUCCESS","DELETE_DATAFILE_FAILURE","DATAFILE_CHANGED","FETCH_STATICFILES_REQUEST","FETCH_STATICFILES_SUCCESS","FETCH_STATICFILES_FAILURE","FETCH_STATICFILE_REQUEST","FETCH_STATICFILE_SUCCESS","FETCH_STATICFILE_FAILURE","PUT_STATICFILE_REQUEST","PUT_STATICFILE_SUCCESS","PUT_STATICFILE_FAILURE","DELETE_STATICFILE_REQUEST","DELETE_STATICFILE_SUCCESS","DELETE_STATICFILE_FAILURE","SEARCH_CONTENT","CLEAR_ERRORS","VALIDATION_ERROR","ADD_NOTIFICATION","connect","_Provider","_Provider2","_connect","_connect2","createMemoryHistory","hashHistory","applyRouterMiddleware","formatPattern","useRouterHistory","routerShape","locationShape","RouterContext","createRoutes","Route","IndexRoute","IndexRedirect","withRouter","IndexLink","Link","_RouteUtils","_PropTypes","_PatternUtils","_Router2","_Router3","_Link2","_Link3","_IndexLink2","_IndexLink3","_withRouter2","_withRouter3","_IndexRedirect2","_IndexRedirect3","_IndexRoute2","_IndexRoute3","_Redirect2","_Redirect3","_Route2","_Route3","_RouterContext2","_RouterContext3","_match2","_match3","_useRouterHistory2","_useRouterHistory3","_applyRouterMiddleware2","_applyRouterMiddleware3","_browserHistory2","_browserHistory3","_hashHistory2","_hashHistory3","_createMemoryHistory2","_createMemoryHistory3","canUseDOM","window","ExecutionEnvironment","canUseWorkers","Worker","canUseEventListeners","addEventListener","attachEvent","canUseViewport","screen","isInWorker","_interopRequireWildcard","newObj","search","ActionTypes","clearErrors","validationError","errors","_actionTypes","existingUploadedFilenames","getFilenameFromPath","slugify","toTitleCase","capitalize","toYAML","_jsYaml","_jsYaml2","_underscore","_underscore2","_slug","_slug2","safeDump","indent","yamlString","load","substring","txt","lower","path","uploadedFiles","currentFiles","currentFilenames","cf","file","_format","localizer","formatter","culture","_invariant2","checkFormats","requiredFormats","setNumber","_ref","_format2","_parse","parse","_ref$decimalChar","decimalChar","_ref$precision","precision","propType","REQUIRED_NUMBER_FORMATS","editFormat","str","_numberLocalizer","localePropType","setDate","spec","firstOfWeek","REQUIRED_DATE_FORMATS","_dateLocalizer","startOfWeek","createWrapper","dummy","_invariant","PropTypes","oneOfType","_numberLocalizer2","getFormat","_numberLocalizer3","_numberLocalizer4","_numberLocalizer5","_numberLocalizer6","_dateLocalizer2","_dateLocalizer3","_dateLocalizer4","_dateLocalizer5","_classCallCheck","Constructor","_possibleConstructorReturn","ReferenceError","_inherits","subClass","superClass","writable","configurable","setPrototypeOf","__proto__","_createClass","defineProperties","descriptor","protoProps","staticProps","_classnames","_classnames2","_lang","Button","_Component","getPrototypeOf","_props","active","triggered","onClick","block","thin","icon","btnClass","btn","btn-active","btn-success","btn-delete","btn-view","btn-inactive","btn-fat","btn-thin","label","triggeredLabel","labels","save","view","upload","iconNode","aria-hidden","clickEvent","href","Component","isRequired","bool","classTest","cls","removeChildren","count","childNodes","removeChild","removeChildrenAndAdd","parent","appendChild","elt","content","cssText","createTextNode","child","host","activeElt","activeElement","body","addClass","current","joinClasses","copyObj","overwrite","countColumn","end","tabSize","startValue","nextTab","Delayed","findColumn","goal","col","spaceStr","spaceStrs","lst","insertSorted","splice","nothing","createObj","isWordCharBasic","ch","nonASCIISingleCaseWordChar","isWordChar","helper","isExtendingChar","charCodeAt","extendingChars","Display","place","doc","scrollbarFiller","setAttribute","gutterFiller","lineDiv","selectionDiv","cursorDiv","measure","lineMeasure","lineSpace","mover","sizer","sizerWidth","heightForcer","scrollerGap","gutters","lineGutter","scroller","ie","ie_version","zIndex","paddingRight","webkit","gecko","mobile","draggable","viewFrom","viewTo","reportedViewFrom","reportedViewTo","renderedView","externalMeasured","viewOffset","lastWrapHeight","lastWrapWidth","updateLineNumbers","nativeBarWidth","barHeight","barWidth","scrollbarsClipped","lineNumWidth","lineNumInnerWidth","lineNumChars","alignWidgets","cachedCharWidth","cachedTextHeight","cachedPaddingH","maxLine","maxLineLength","maxLineChanged","wheelDX","wheelDY","wheelStartX","wheelStartY","selForContextMenu","activeTouch","init","getLine","lines","sz","getBetween","line","iter","getLines","updateLineHeight","height","lineNo","cur","no","lineAtHeight","i$1","lh","isLine","lineNumberFor","lineNumberFormatter","firstLineNumber","Pos","cmp","copyPos","maxPos","minPos","clipLine","clipPos","clipToLen","linelen","clipPosArray","seeReadOnlySpans","sawReadOnlySpans","seeCollapsedSpans","sawCollapsedSpans","MarkedSpan","marker","getMarkedSpanFor","spans","span","removeMarkedSpan","r","addMarkedSpan","markedSpans","attachLine","markedSpansBefore","old","startCh","isInsert","nw","startsBefore","inclusiveLeft","insertLeft","endsAfter","inclusiveRight","markedSpansAfter","endCh","stretchSpansOverChange","change","full","oldFirst","oldLast","sameLine","found","span$1","found$1","clearEmptySpans","newMarkers","gapMarkers","gap","i$2","i$3","clearWhenEmpty","removeReadOnlyRanges","markers","mark","readOnly","mk","newParts","dfrom","dto","detachMarkedSpans","detachLine","attachMarkedSpans","extraLeft","extraRight","compareCollapsedMarkers","lenDiff","aPos","bPos","fromCmp","toCmp","collapsedSpanAtSide","sps","sp","collapsed","collapsedSpanAtStart","collapsedSpanAtEnd","conflictingCollapsedRange","visualLine","merged","visualLineContinued","visualLineNo","lineN","vis","visualLineEndNo","lastLine","lineIsHidden","widgetNode","lineIsHiddenInner","heightAtLine","lineObj","lineLength","findMaxLine","cm","display","iterateBidiSections","order","part","level","bidiLeft","bidiRight","lineLeft","getOrder","lineRight","compareBidiLevel","linedir","getBidiPartAt","bidiOther","moveInLine","byUnit","moveVisually","bidi","moveLogically","bidiOrdering","getHandlers","emitter","_handlers","noHandlers","off","removeEventListener","detachEvent","signal","handlers","signalDOMEvent","override","preventDefault","defaultPrevented","e_defaultPrevented","codemirrorIgnore","signalCursorActivity","cursorActivity","curOp","cursorActivityHandlers","hasHandler","eventMixin","ctor","on","e_preventDefault","returnValue","e_stopPropagation","stopPropagation","cancelBubble","e_stop","e_target","srcElement","e_button","which","button","mac","ctrlKey","zeroWidthElement","zwspSupported","offsetHeight","offsetWidth","hasBadBidiRects","badBidiRects","r0","getBoundingClientRect","r1","hasBadZoomedRects","badZoomedRects","normal","fromRange","defineMode","mode","dependencies","modes","defineMIME","mime","mimeModes","resolveMode","getMode","mfactory","modeObj","modeExtensions","exts","helperType","modeProps","prop$1","extendMode","properties","copyState","state","nstate","innerMode","info","startState","a1","a2","highlightLine","forceToEnd","st","modeGen","lineClasses","runMode","loop","overlay","overlays","at","i_end","opaque","styles","classes","bgClass","textClass","getLineStyles","updateFrontier","getStateBefore","maxHighlightLength","stateAfter","styleClasses","frontier","precise","findStartLine","processLine","startAt","stream","StringStream","callBlankLine","eol","readToken","blankLine","inner","takeToken","asArray","getObj","copy","extractLineClasses","lineClass","flattenSpans","curStart","curStyle","addModeClass","mName","minindent","minline","lim","indented","Line","estimateHeight","updateLine","estHeight","cleanUpLine","interpretTokenStyle","styleToClassCacheWithMode","styleToClassCache","buildLineContent","lineView","builder","pre","trailingSpace","splitSpaces","getOption","addToken","buildToken","buildTokenBadBidi","allowFrontierUpdate","insertLineContent","maps","caches","lastChild","querySelector","defaultSpecialCharPlaceholder","title","startStyle","endStyle","css","displayText","special","specialChars","mustWrap","createDocumentFragment","txt$1","tabWidth","specialCharPlaceholder","fullStyle","trailingBefore","spaceBefore","buildCollapsedSpan","ignoreWidget","widget","needsContentAttribute","setUneditable","allText","spanStyle","spanEndStyle","spanStartStyle","nextChange","foundBookmarks","endStyles","j$1","j$2","upto","tokenText","LineView","hidden","buildViewArray","nextPos","pushOperation","op","operationGroup","ops","ownsGroup","delayedCallbacks","fireCallbacksForOps","callbacks","cursorActivityCalled","finishOperation","endCb","signalLater","orphanDelayedCallbacks","fireOrphanDelayed","delayed","updateLineForChanges","dims","changes","updateLineText","updateLineGutter","updateLineClasses","updateLineWidgets","ensureLineWrapped","replaceChild","updateLineBackground","background","insertBefore","getLineContent","ext","built","wrapClass","gutter","gutterBackground","gutterClass","fixedGutter","fixedPos","gutterTotalWidth","gutterMarkers","lineNumbers","wrap$1","gutterWrap","lineNumber","gutterLeft","gutterWidth","alignable","insertLineWidgets","buildLineElement","insertLineWidgetsFor","allowAbove","widgets","ws","handleMouseEvents","positionLineWidget","above","noHScroll","width","wrapperWidth","coverGutter","paddingLeft","marginLeft","widgetHeight","parentStyle","clientWidth","eventInWidget","paddingTop","offsetTop","paddingVert","paddingH","getComputedStyle","currentStyle","scrollGap","displayWidth","displayHeight","clientHeight","ensureLineHeights","rect","wrapping","lineWrapping","curWidth","heights","rects","getClientRects","bottom","top","mapFromLineView","updateExternalMeasurement","measureChar","bias","measureCharPrepared","prepareMeasureForLine","findViewForLine","findViewIndex","getDimensions","forceUpdate","hasHeights","prepared","varHeight","measureCharInner","bogus","rtop","rbottom","nodeAndOffsetInLineMap","collapse","mStart","mEnd","coverStart","coverEnd","getUsefulRect","nullRect","maybeUpdateRectForZooming","rSpan","charWidth","rbot","bot","singleCursorHeightPerLine","logicalXDPI","deviceXDPI","scaleX","scaleY","logicalYDPI","deviceYDPI","clearLineMeasurementCacheFor","clearLineMeasurementCache","externalMeasure","clearCaches","pageScrollX","pageXOffset","documentElement","scrollLeft","pageScrollY","pageYOffset","scrollTop","intoCoordSystem","includeWidgets","yOff","lOff","xOff","fromCoordSystem","coords","localBox","lineSpaceBox","charCoords","cursorCoords","preparedMeasure","getBidi","partPos","estimateCoords","PosWithInfo","outside","xRel","coordsChar","coordsCharInner","mergedPos","getX","wrongLine","innerOff","dist","fromX","fromOutside","toX","toOutside","xDiff","charSize","middle","middleX","textHeight","measureText","clientLeft","offsetLeft","compensateForHScroll","th","perLine","widgetsHeight","estimateLineHeights","est","posFromMouse","liberal","forRect","space","clientX","clientY","colDiff","updateSelection","showSelection","prepareSelection","primary","curFragment","cursors","selFragment","selection","sel","ranges","primIndex","showCursorWhenSelecting","drawSelectionCursor","drawSelectionRange","cursor","cursorHeight","otherCursor","fragment","rightSide","drawForLine","fromArg","toArg","lineLen","rightPos","leftPos","leftSide","padding","sFrom","sTo","fromLine","toLine","singleVLine","leftEnd","rightStart","restartBlink","focused","clearInterval","blinker","visibility","cursorBlinkRate","setInterval","ensureFocus","focus","onFocus","delayBlurEvent","delayingBlurEvent","onBlur","reset","receivedFocus","rmClass","alignHorizontally","comp","gutterW","align","maybeUpdateLineNumberWidth","innerW","updateGutterSpace","updateHeightsInViewport","prevBottom","box","updateWidgetHeight","visibleLines","viewport","ensure","ensureFrom","ensureTo","setScrollTop","updateDisplaySimple","scrollbars","startWorker","setScrollLeft","isScroller","scrollWidth","wheelEventDelta","dx","wheelDeltaX","dy","wheelDeltaY","detail","axis","HORIZONTAL_AXIS","VERTICAL_AXIS","wheelDelta","wheelEventPixels","wheelPixelsPerUnit","onScrollWheel","scroll","canScrollX","canScrollY","scrollHeight","currentWheelTarget","presto","pixels","wheelSamples","movedX","movedY","measureForScrollbars","docH","viewHeight","viewWidth","barLeft","docHeight","updateScrollbars","startWidth","startHeight","updateScrollbarsInner","sizes","update","paddingBottom","borderBottom","coverGutterNextToScrollbar","initScrollbars","clear","scrollbarModel","scrollbarStyle","maybeScrollWindow","doScroll","innerHeight","phantom","scrollNode","scrollIntoView","scrollPosIntoView","margin","changed","endCoords","scrollPos","calculateScrollPos","startTop","startLeft","x1","y1","x2","y2","snapMargin","screentop","docBottom","atTop","atBottom","newTop","screenleft","screenw","tooWide","addToScrollPos","resolveScrollToPos","ensureCursorVisible","getCursor","scrollToPos","cursorScrollMargin","isCursor","sPos","scrollTo","startOperation","viewChanged","updateInput","typing","changeObjs","selectionChanged","updateMaxLine","nextOpId","endOperation","endOperations","endOperation_R1","endOperation_W1","endOperation_R2","endOperation_W2","i$4","endOperation_finish","maybeClipScrollbars","mustUpdate","DisplayUpdate","updatedDisplay","updateDisplayIfNeeded","barMeasure","adjustWidthTo","maxScrollLeft","preparedSelection","minWidth","takeFocus","hasFocus","setDocumentHeight","postUpdateDisplay","forceScroll","maybeHiddenMarkers","unhidden","maybeUnhiddenMarkers","finish","runInOp","operation","methodOp","docMethodOp","regChange","lendiff","resetView","cut","viewCuttingPoint","cut$1","cutTop","cutBot","regLineChange","oldN","newN","adjustView","countDirtyView","dirty","highlight","highlightWorker","workTime","changedLines","oldStyles","tooLong","highlighted","oldCls","newCls","ischange","workDelay","marginBottom","borderRightWidth","editorIsHidden","force","visible","viewportMargin","different","wrapperHeight","toUpdate","patchDisplay","minHeight","oldDisplayWidth","updateNumbersFrom","rm","container","updateNumber","updateGutters","specs","gElt","setGuttersForLineNumbers","Selection","Range","normalizeSelection","prim","prev","inv","simpleSelection","changeEnd","adjustForChange","computeSelAfterChange","offsetPos","computeReplacedSel","hint","oldPrev","newPrev","loadMode","modeOption","resetModeState","isWholeLineUpdate","wholeLineUpdateBefore","updateDoc","spansFor","linesFor","firstLine","lastText","lastSpans","nlines","insert","remove","added","added$1","added$2","linkedDocs","sharedHistOnly","propagate","skip","sharedHist","linked","rel","shared","attachDoc","History","startGen","done","undone","undoDepth","lastModTime","lastSelTime","lastOp","lastSelOp","lastOrigin","lastSelOrigin","generation","maxGeneration","historyChangeFromChange","histChange","attachLocalSpans","clearSelectionEvents","lastChangeEvent","hist","addChangeToHistory","selAfter","opId","origin","historyEventDelay","pushSelectionToHistory","selectionEventCanBeMerged","somethingSelected","addSelectionToHistory","clearRedo","dest","equals","existing","removeClearedSpans","explicitlyCleared","getOldSpans","mergeOldSpans","stretched","oldCur","stretchCur","copyHistoryArray","events","newGroup","instantiateSel","event","deepCopy","newChanges","Number","extendRange","posBefore","extendSelection","setSelection","extendSelections","heads","newSel","replaceOneSelection","setSimpleSelection","filterSelectionChange","this$1","setSelectionReplaceHistory","setSelectionNoUndo","setSelectionInner","skipAtomicInSelection","reCheckSelection","sel_dontScroll","mayClear","newAnchor","skipAtomic","newHead","skipAtomicInner","oldPos","atomic","near","movePos","far","cantEdit","selectAll","filterChange","canceled","cancel","makeChange","ignoreReadOnly","suppressEdits","makeChangeInner","makeChangeSingleDoc","rebased","rebaseHist","makeChangeFromHistory","allowSelectionOnly","antiChanges","returned","v","shiftDoc","distance","removed","makeChangeSingleDocInEditor","recomputeMaxLength","checkWidthStart","changesHandler","changeHandler","replaceRange","splitLines","rebaseHistSelSingle","rebaseHistArray","sub","ok","copied","changeLine","handle","changeType","LeafChunk","BranchChunk","LineWidget","opt","adjustScrollWhenAboveVisible","addLineWidget","insertAt","aboveVisible","TextMarker","nextMarkerId","markText","markTextShared","replacedWith","addToHistory","curLine","clearOnEnter","clearHistory","SharedTextMarker","cloneNode","isParent","findSharedMarkers","findMarks","copySharedMarkers","mFrom","mTo","subMark","detachSharedMarkers","subMarker","onDrop","clearDragCursor","lastDrop","files","dataTransfer","isReadOnly","FileReader","File","read","loadFile","allowDropFileTypes","reader","onload","lineSeparator","readAsText","draggingText","text$1","getData","selected","listSelections","replaceSelection","onDragStart","setData","getSelection","effectAllowed","setDragImage","safari","img","src","_top","onDragOver","frag","dragCursor","forEachCodeMirror","getElementsByClassName","byClass","CodeMirror","ensureGlobalHandlers","globalsRegistered","registerGlobalHandlers","resizeTimer","onResize","setSize","normalizeKeyName","alt","ctrl","cmd","mod","normalizeKeyMap","keymap","keyname","lookupKey","getKeyMap","fallthrough","isModifierKey","keyNames","keyCode","keyName","noShift","altGraphKey","altKey","flipCtrlCmd","metaKey","shiftKey","keyMap","deleteNearSelection","compute","kill","toKill","replaced","lineStart","visual","lineEnd","lineStartSmart","firstNonWS","inWS","doHandleBinding","dropShift","commands","ensurePolled","prevShift","Pass","lookupKeyForEditor","keyMaps","extraKeys","dispatchKey","seq","keySeq","stopSeq","handleKeyBinding","motion","handleCharBinding","onKeyDown","handled","lastStoppedKey","hasCopyEvent","showCrossHair","up","onKeyUp","onKeyPress","charCode","onMouseDown","supportsTouch","clickInGutter","selectingText","leftButtonDown","lastMiddleDown","captureRightClick","onContextMenu","lastDoubleClick","lastClick","contained","modifier","dragDrop","dragAndDrop","leftButtonStartDrag","leftButtonSelect","startTime","dragEnd","e2","addNew","extendTo","lastPos","startCol","posCol","startSel","ourIndex","oldRange","ourRange","findWordAt","ranges$1","sel_mouse","curCount","counter","editorSize","move","chromeOS","word","gutterEvent","prevent","mX","mY","lineBox","g","contextMenuInGutter","themeChanged","theme","defineOptions","option","deflt","notOnInit","optionHandlers","Init","defineOption","setValue","lineSep","newBreaks","refresh","getInputField","spellcheck","windows","guttersChanged","detach","attach","wrappingChanged","integer","blur","disabled","readOnlyChanged","dragDropChanged","resetPosition","getField","tabIndex","wasOn","funcs","dragFunctions","toggle","enter","over","leave","Doc","inputStyles","inputStyle","pasteIncoming","cutIncoming","autofocus","registerEventHandlers","finishInit","initHooks","textRendering","finishTouch","touchFinished","prevTouch","isMouseLikeTouchEvent","touches","touch","radiusX","radiusY","farAway","moved","pageX","pageY","indentLine","how","aggressive","curSpace","indentation","curSpaceString","indentUnit","indentString","indentWithTabs","pos$1","setLastCopied","newLastCopied","lastCopied","applyTextInput","inserted","deleted","paste","textLines","splitLinesAuto","multiPaste","lineWise","changeEvent","triggerElectric","handlePaste","pasted","clipboardData","disableInput","electricChars","smartIndent","getModeAt","electricInput","copyableRanges","lineRange","getRange","disableBrowserMagic","hiddenTextarea","te","div","ios","border","addEditorMethods","helpers","setOption","getDoc","addKeyMap","removeKeyMap","addOverlay","modeSpec","removeOverlay","indentSelection","newRanges","getTokenAt","getLineTokens","getTokenTypeAt","getHelper","getHelpers","help","_global","pred","getStateAfter","defaultTextHeight","defaultCharWidth","getViewport","addWidget","vert","horiz","vspace","hspace","triggerOnKeyDown","triggerOnKeyPress","triggerOnKeyUp","execCommand","findPosH","amount","visually","hitSide","moveH","extendSelectionsBy","rtlMoveVisually","sel_move","deleteH","findPosV","goalColumn","moveV","goals","headPos","startChar","check","toggleOverwrite","getScrollInfo","interpret","oldHeight","swapDoc","getWrapperElement","getScrollerElement","getGutterElement","registerHelper","registerGlobalHelper","findNextLine","moveOnce","boundToLine","origDir","sawType","pageSize","moveAmount","posToDOM","side","badPos","bad","domTextBetween","recognizeMarker","walk","cmText","textContent","markerID","nodeName","closing","domToPos","lineNode","locateNodeInLineView","textNode","topNode","curNode","previousSibling","dist$1","fromTextArea","textarea","getValue","tabindex","placeholder","realSubmit","form","leaveSubmitMethodAlone","submit","wrappedSubmit","getTextArea","toTextArea","addLegacyProps","cmpPos","userAgent","navigator","platform","ie_upto10","ie_11up","documentMode","qtwebkit","chrome","vendor","mac_geMountainLion","presto_version","createRange","endNode","setEnd","setStart","createTextRange","moveToElementText","moveEnd","moveStart","selectInput","selectionStart","selectionEnd","_e","charType","lowTypes","arabicTypes","BidiSpan","bidiRE","isNeutral","isStrong","countsAsLeft","countsAsNum","outerType","types","type$1","prev$1","type$2","type$3","i$5","cur$1","type$4","i$6","end$1","replace$1","i$7","nstart","unshift","nl","rt","hasSelection","ownerDocument","parentElement","compareEndPoints","oncopy","lastColumnPos","lastColumnValue","sol","peek","eat","eatWhile","eatSpace","skipToEnd","skipTo","backUp","column","pattern","consume","caseInsensitive","cased","hideFirstChars","NativeScrollbars","checkedZeroWidth","needsH","needsV","sWidth","totalHeight","totalWidth","zeroWidthHack","disableHoriz","enableZeroWidthBar","disableVert","pointerEvents","bar","maybeDisable","elementFromPoint","NullScrollbars","native","null","here","there","removeInner","insertInner","iterN","leaf","maybeSpill","me","spilled","sibling","myIndex","used","oldH","withOp","dHeight","nextDocId","cleanGeneration","getLineHandle","getLineNumber","getLineHandleVisualStart","lineCount","setCursor","setSelections","addSelection","getSelections","dup","replaceSelections","undo","redo","undoSelection","redoSelection","setExtending","getExtending","historySize","markClean","changeGeneration","forceSplit","isClean","gen","getHistory","setHistory","histData","setGutterMarker","gutterID","clearGutter","lineInfo","addLineClass","removeLineClass","removeLineWidget","setBookmark","realOpts","findMarksAt","getAllMarks","posFromIndex","sepSize","indexFromPos","copyHistory","linkedDoc","unlinkDoc","link","splitIds","iterLinkedDocs","getEditor","eachLine","3","8","9","13","16","17","18","19","20","27","32","33","34","35","36","37","38","39","40","44","45","46","59","61","91","92","93","106","107","109","110","111","127","173","186","187","188","189","190","191","192","219","220","221","222","63232","63233","63234","63235","63272","63273","63275","63276","63277","63302","basic","Left","Right","Up","Down","End","Home","PageUp","PageDown","Delete","Backspace","Shift-Backspace","Tab","Shift-Tab","Enter","Insert","Esc","pcDefault","Ctrl-A","Ctrl-D","Ctrl-Z","Shift-Ctrl-Z","Ctrl-Y","Ctrl-Home","Ctrl-End","Ctrl-Up","Ctrl-Down","Ctrl-Left","Ctrl-Right","Alt-Left","Alt-Right","Ctrl-Backspace","Ctrl-Delete","Ctrl-S","Ctrl-F","Ctrl-G","Shift-Ctrl-G","Shift-Ctrl-F","Shift-Ctrl-R","Ctrl-[","Ctrl-]","Ctrl-U","Shift-Ctrl-U","Alt-U","emacsy","Ctrl-B","Ctrl-P","Ctrl-N","Alt-F","Alt-B","Ctrl-E","Ctrl-V","Shift-Ctrl-V","Ctrl-H","Alt-D","Alt-Backspace","Ctrl-K","Ctrl-T","Ctrl-O","macDefault","Cmd-A","Cmd-D","Cmd-Z","Shift-Cmd-Z","Cmd-Y","Cmd-Home","Cmd-Up","Cmd-End","Cmd-Down","Cmd-Left","Cmd-Right","Ctrl-Alt-Backspace","Alt-Delete","Cmd-S","Cmd-F","Cmd-G","Shift-Cmd-G","Cmd-Alt-F","Shift-Cmd-Alt-F","Cmd-[","Cmd-]","Cmd-Backspace","Cmd-Delete","Cmd-U","Shift-Cmd-U","singleSelection","killLine","deleteLine","delLineLeft","delWrappedLineLeft","delWrappedLineRight","goDocStart","goDocEnd","goLineStart","goLineStartSmart","goLineEnd","goLineRight","goLineLeft","goLineLeftSmart","goLineUp","goLineDown","goPageUp","goPageDown","goCharLeft","goCharRight","goColumnLeft","goColumnRight","goWordLeft","goGroupRight","goGroupLeft","goWordRight","delCharBefore","delCharAfter","delWordBefore","delWordAfter","delGroupBefore","delGroupAfter","indentAuto","indentMore","indentLess","insertTab","insertSoftTab","spaces","defaultTab","transposeChars","newlineAndIndent","sels","openLine","defineInitHook","ContentEditableInput","lastAnchorNode","lastAnchorOffset","lastFocusNode","lastFocusOffset","polling","composing","gracePeriod","readDOMTimeout","onCopyCut","lineWiseCopyCut","clearData","kludge","hadFocus","showPrimarySelection","pollContent","readFromDOMSoon","forceCompositionEnd","showMultipleSelections","curAnchor","anchorNode","anchorOffset","curFocus","focusNode","focusOffset","rangeCount","getRangeAt","rng","removeAllRanges","addRange","startGracePeriod","rememberSelection","selectionInEditor","commonAncestorContainer","poll","pollSelection","pollInterval","fromNode","toNode","toIndex","newText","oldText","cutFront","cutEnd","oldTop","maxCutFront","newBot","oldBot","maxCutEnd","chFrom","chTo","contentEditable","TextareaInput","prevInput","pollingFast","inaccurateSelection","prepareCopyCut","fastPoll","moveInputWithCursor","wrapOff","lineOff","teTop","teLeft","drawn","contextMenuPending","minimal","slowPoll","missed","same","prepareSelectAllHack","extval","rehide","oldWrapperCSS","oldCSS","detectingSelectAll","resetSelectionOnContextMenu","wrapperBox","oldScrollY","scrollY","mouseup","dontDelegate","contenteditable","defineExtension","defineDocExtension","makeEmptyFunction","thatReturns","thatReturnsFalse","thatReturnsTrue","thatReturnsNull","thatReturnsThis","thatReturnsArgument","debugTool","classNames","argType","hasOwn","freeGlobal","freeSelf","getInteractionPropType","oneOf","acceptsArray","createChainableTypeChecker","validate","checkType","propName","componentName","chainedCheckType","_localizers","_localizers2","_filter","_filter2","filterTypes","elementType","isValidElement","numberFormat","_localizers$number","_localizers$date","accessor","hasValidRef","ref","hasValidKey","_assign","ReactCurrentOwner","REACT_ELEMENT_TYPE","RESERVED_PROPS","__self","__source","ReactElement","owner","element","$$typeof","_owner","childrenLength","childArray","defaultProps","createFactory","cloneAndReplaceKey","oldElement","newKey","newElement","_self","_source","cloneElement","ensureInjected","ReactUpdates","ReactReconcileTransaction","batchingStrategy","ReactUpdatesFlushTransaction","reinitializeTransaction","dirtyComponentsLength","callbackQueue","CallbackQueue","getPooled","reconcileTransaction","batchedUpdates","mountOrderComparator","c1","c2","_mountOrder","runBatchedUpdates","transaction","dirtyComponents","updateBatchNumber","_pendingCallbacks","markerName","ReactFeatureFlags","logTopLevelRenders","namedComponent","_currentElement","getName","ReactReconciler","performUpdateIfNecessary","timeEnd","enqueue","getPublicInstance","enqueueUpdate","isBatchingUpdates","_updateBatchNumber","asap","asapCallbackQueue","asapEnqueued","PooledClass","Transaction","NESTED_UPDATES","initialize","close","flushBatchedUpdates","UPDATE_QUEUEING","notifyAll","TRANSACTION_WRAPPERS","Mixin","getTransactionWrappers","destructor","release","perform","scope","addPoolingTo","queue","ReactUpdatesInjection","injectReconcileTransaction","ReconcileTransaction","injectBatchingStrategy","_batchingStrategy","injection","_reactDom2","_version","findDOMNode","unstable_batchedUpdates","keyMirror","PropagationPhases","bubbled","captured","topLevelTypes","topAbort","topAnimationEnd","topAnimationIteration","topAnimationStart","topBlur","topCanPlay","topCanPlayThrough","topChange","topClick","topCompositionEnd","topCompositionStart","topCompositionUpdate","topContextMenu","topCopy","topCut","topDoubleClick","topDrag","topDragEnd","topDragEnter","topDragExit","topDragLeave","topDragOver","topDragStart","topDrop","topDurationChange","topEmptied","topEncrypted","topEnded","topError","topFocus","topInput","topInvalid","topKeyDown","topKeyPress","topKeyUp","topLoad","topLoadedData","topLoadedMetadata","topLoadStart","topMouseDown","topMouseMove","topMouseOut","topMouseOver","topMouseUp","topPaste","topPause","topPlay","topPlaying","topProgress","topRateChange","topReset","topScroll","topSeeked","topSeeking","topSelectionChange","topStalled","topSubmit","topSuspend","topTextInput","topTimeUpdate","topTouchCancel","topTouchEnd","topTouchMove","topTouchStart","topTransitionEnd","topVolumeChange","topWaiting","topWheel","EventConstants","SyntheticEvent","dispatchConfig","targetInst","nativeEvent","nativeEventTarget","_targetInst","Interface","normalize","isDefaultPrevented","isPropagationStopped","shouldBeReleasedProperties","Proxy","EventInterface","currentTarget","eventPhase","bubbles","cancelable","timeStamp","isTrusted","persist","isPersistent","augmentClass","Class","Super","fourArgumentPooler","keyOf","oneKeyObj","createPath","parsePath","getQueryStringValueFromPath","stripQueryStringValueFromPath","addQueryStringValueToPath","extractPath","_parsePath","pathname","hash","_parsePath2","_parsePath3","hashIndex","searchIndex","location","basename","isValidChild","isReactChildren","createRoute","_extends","createRouteFromReactElement","route","childRoutes","createRoutesFromReactChildren","parentRoute","Children","_dateArithmetic","_dateArithmetic2","monthsInYear","firstVisibleDay","firstOfMonth","lastVisibleDay","endOfMonth","visibleDays","lte","newDate","isMonth","isUpOrDown","directions","UP","DOWN","rangeUnit","calendarViewUnits","addUnit","LEFT","inRange","merge","defaultDate","sameMonth","dateA","dateB","today","yesterday","tomorrow","notify","handler","instanceId","__id","isFirstFocusedRender","_firstFocus","oneArgumentPooler","copyFieldsFrom","Klass","instancePool","twoArgumentPooler","threeArgumentPooler","a3","a4","fiveArgumentPooler","a5","standardReleaser","poolSize","DEFAULT_POOL_SIZE","DEFAULT_POOLER","CopyConstructor","pooler","NewKlass","getNative","baseIsNative","defaultReconcile","flushAriaToNode","nodeOrComponent","ctx","refs","_compat2","removeAttribute","reconcileChildren","ariaActiveDescendantKey","contextTypes","activeDescendants","shape","childContextTypes","ariaActiveDescendant","__ariaActiveDescendantId","reconcile","getChildContext","_this","_context","_compat","_moment","_moment2","_helpers","Breadcrumbs","onChange","_this2","editable","handleChange","defaultValue","Errors","Splitter","locationsAreEqual","statesAreEqual","createLocation","createQuery","_PathUtils","_Actions","action","POP","typeofA","typeofB","keysofA","keysofB","isNothing","subject","sequence","sourceKeys","repeat","cycle","isNegativeZero","NEGATIVE_INFINITY","compileList","schema","exclude","includedSchema","currentType","previousType","previousIndex","compileMap","collectType","scalar","mapping","Schema","definition","implicit","explicit","loadKind","compiledImplicit","compiledExplicit","compiledTypeMap","common","DEFAULT","schemas","escapeRegExp","_compilePattern","regexpSource","paramNames","compilePattern","CompiledPatternsCache","matchPattern","_compilePattern2","matchedPath","remainingPathname","paramValues","decodeURIComponent","getParamNames","getParams","params","paramName","_compilePattern3","parenCount","splatIndex","parenHistory","paramValue","encodeURI","parenText","curTokenIdx","tokensSubset","nextParenIdx","routerWarning","falseToWarn","warned","_warning2","_resetWarned","insertTreeChildren","tree","enableLazy","insertTreeBefore","html","setInnerHTML","setTextContent","replaceChildWithTree","oldNode","newTree","queueChild","parentTree","childTree","queueHTML","queueText","DOMLazyTree","DOMNamespaces","createMicrosoftUnsafeLocalFunction","ELEMENT_NODE_TYPE","DOCUMENT_FRAGMENT_NODE_TYPE","referenceNode","namespaceURI","checkMask","bitmask","DOMPropertyInjection","MUST_USE_PROPERTY","HAS_BOOLEAN_VALUE","HAS_NUMERIC_VALUE","HAS_POSITIVE_NUMERIC_VALUE","HAS_OVERLOADED_BOOLEAN_VALUE","injectDOMPropertyConfig","domPropertyConfig","Injection","Properties","DOMAttributeNamespaces","DOMAttributeNames","DOMPropertyNames","DOMMutationMethods","isCustomAttribute","_isCustomAttributeFunctions","lowerCased","propConfig","propertyInfo","attributeName","attributeNamespace","propertyName","mutationMethod","mustUseProperty","hasBooleanValue","hasNumericValue","hasPositiveNumericValue","hasOverloadedBooleanValue","ATTRIBUTE_NAME_START_CHAR","ROOT_ATTRIBUTE_NAME","ATTRIBUTE_NAME_CHAR","getPossibleStandardName","isCustomAttributeFn","attachRefs","ReactRef","mountComponent","internalInstance","hostParent","hostContainerInfo","parentDebugID","markup","getReactMountReady","getHostNode","unmountComponent","safely","detachRefs","receiveComponent","nextElement","prevElement","refsChanged","shouldUpdateRefs","storeContentFields","addField","namePrefix","removeField","updateFieldKey","fieldKey","updateFieldValue","nameAttr","moveArrayItem","srcInd","targetInd","convertField","convertType","updateTitle","updateBody","updateDraft","draft","updatePath","API","getConfigurationUrl","putConfigurationUrl","getPagesUrl","getPageUrl","putPageUrl","deletePageUrl","getCollectionsUrl","getCollectionUrl","collection_name","getCollectionDocumentUrl","putCollectionDocumentUrl","deleteCollectionDocumentUrl","getDataFilesUrl","getDataFileUrl","filename","putDataFileUrl","deleteDataFileUrl","getStaticFilesUrl","getStaticFileUrl","putStaticFileUrl","deleteStaticFileUrl","_defineProperty","del","put","_isomorphicFetch","_isomorphicFetch2","_notifications","url","action_success","action_failure","dispatch","then","json","addNotification","getErrorMessage","getFetchErrorMessage","getUpdateErrorMessage","getDeleteMessage","defaultView","parentWindow","camelize","hyphenate","_getComputedStyle","removeStyle","getPropertyValue","emptyObject","reason","captureStackTrace","baseGetTag","undefinedTag","nullTag","symToStringTag","getRawTag","objectToString","toStringTag","falsy","components","arrayOf","listen","go","goBack","goForward","shouldComponentUpdate","nextProps","nextState","isRtl","isDisabled","isDisabledItem","valueField","isReadOnlyItem","_dataHelpers","valueMatcher","isDisabledOrReadonly","interactionDecorator","disabledOnly","desc","initializer","widgetEditable","widgetEnabled","EventPluginRegistry","EventPluginUtils","ReactErrorUtils","accumulateInto","forEachAccumulated","listenerBank","eventQueue","executeDispatchesAndRelease","simulated","executeDispatchesInOrder","executeDispatchesAndReleaseSimulated","executeDispatchesAndReleaseTopLevel","getDictionaryKey","_rootNodeID","EventPluginHub","injectEventPluginOrder","injectEventPluginsByName","putListener","registrationName","listener","bankForRegistrationName","PluginModule","registrationNameModules","didPutListener","getListener","deleteListener","willDeleteListener","deleteAllListeners","extractEvents","topLevelType","plugins","possiblePlugin","extractedEvents","enqueueEvents","processEventQueue","processingEventQueue","rethrowCaughtError","__purge","__getListenerBank","listenerAtPhase","propagationPhase","phasedRegistrationNames","accumulateDirectionalDispatches","upwards","phase","_dispatchListeners","_dispatchInstances","accumulateTwoPhaseDispatchesSingle","traverseTwoPhase","accumulateTwoPhaseDispatchesSingleSkipTarget","parentInst","getParentInstance","accumulateDispatches","ignoredDirection","accumulateDirectDispatchesSingle","accumulateTwoPhaseDispatches","accumulateTwoPhaseDispatchesSkipTarget","accumulateEnterLeaveDispatches","traverseEnterLeave","accumulateDirectDispatches","EventPropagators","ReactInstanceMap","_reactInternalInstance","SyntheticUIEvent","dispatchMarker","getEventTarget","UIEventInterface","transactionWrappers","wrapperInitData","_isInTransaction","isInTransaction","errorThrown","initializeAll","closeAll","err","OBSERVED_ERROR","initData","webpackPolyfill","paths","fetchCollections","_fetch","_api","fetchCollection","fetchDocument","putDocument","getState","metadata","raw_content","generateFilenameFromTitle","validateDocument","_utils","front_matter","payload","JSON","stringify","deleteDocument","fetch","_validation","validations","messages","title.required","getTitleRequiredMessage","path.required","getFilenameRequiredMessage","getFilenameNotValidMessage","validator","_simplemde","_simplemde2","MarkdownEditor","initialValue","destroy","onSave","opts","toolbarIcons","editor","codemirror","elementToRemove","InputSearch","searchBy","handleKeyPress","_reactTextareaAutosize","_reactTextareaAutosize2","InputTitle","_objectWithoutProperties","MetaFields","_redux","_MetaField","_MetaField2","_metadata","fields","_props2","key_prefix","metafields","parentType","fieldValue","mapStateToProps","mapDispatchToProps","getWindow","client","win","PUSH","REPLACE","supportsHistory","ua","supportsGoWithoutReloadUsingHash","supportsPopstateOnHashchange","ListCache","entries","entry","listCacheClear","listCacheDelete","listCacheGet","listCacheHas","listCacheSet","assocIndexOf","copyObject","customizer","isNew","newValue","baseAssignValue","assignValue","getMapData","__data__","isKeyable","isObjectLike","clamp","_dates2","_class","_temp2","_dates","VIEW_UNITS","CalendarView","_React$Component","role","CalendarViewCell","_React$Component2","_temp","_ret","_this2$props","isNow","isFocused","isSelected","isOffView","viewUnit","_props3","aria-label","aria-readonly","aria-selected","aria-labelledby","Row","Cell","disableableMouseListenerNames","onDoubleClick","onMouseMove","onMouseUp","onClickCapture","onDoubleClickCapture","onMouseDownCapture","onMouseMoveCapture","onMouseUpCapture","DisabledInputUtils","getHostProps","hostProps","getListeningForDocument","mountAt","topListenersIDKey","reactTopListenersCounter","alreadyListeningTo","hasEventPageXY","ReactEventEmitterMixin","ViewportMetrics","getVendorPrefixedEventName","isEventSupported","isMonitoringScrollValue","topEventMapping","ReactBrowserEventEmitter","ReactEventListener","injectReactEventListener","setHandleTopLevel","handleTopLevel","setEnabled","enabled","isEnabled","listenTo","contentDocumentHandle","isListening","registrationNameDependencies","dependency","trapBubbledEvent","trapCapturedEvent","WINDOW_HANDLE","handlerBaseName","supportsEventPageXY","createEvent","ev","ensureScrollValueMonitoring","refreshScrollValues","monitorScrollValue","SyntheticMouseEvent","getEventModifierState","MouseEventInterface","screenX","screenY","getModifierState","buttons","relatedTarget","fromElement","toElement","currentScrollLeft","currentScrollTop","escapeHtml","matchHtmlRegExp","escapeTextContentForBrowser","reusableSVGContainer","WHITESPACE_TEST","NONVISIBLE_TEST","svg","innerHTML","svgNode","testElement","deleteData","fetchDataFiles","fetchDataFile","putDataFile","validateDatafile","filename.required","data.required","getContentRequiredMessage","deleteDataFile","onDataFileChanged","notification","fetchPages","fetchPage","putPage","validatePage","path.filename","deletePage","_reactAce","_reactAce2","Editor","onEditorChange","editorChanged","ace","showGutter","showPrintMargin","highlightActiveLine","fontSize","MetaArray","_sortablejs","_sortablejs2","_MetaArrayItem","_MetaArrayItem2","pull","animation","onEnd","newIndex","items","sortableGroupDecorator","MetaButtons","onConvertClick","onRemoveClick","onDropdownFocus","onDropdownBlur","handleTypeChange","handleRemoveClick","MetaObject","_MetaObjectItem","_MetaObjectItem2","MetaSimple","_DateTimePicker","_DateTimePicker2","_moment3","_moment4","dateStr","formatted","handleEditableChange","_this3","dateValue","handleDatepickerChange","renderDatepicker","renderEditable","DATE_FILENAME_MATCHER","FILENAME_MATCHER","validated","errorMessages","validationStr","validationArr","single","Buffer","typedArraySupport","Uint8Array","foo","subarray","byteLength","kMaxLength","TYPED_ARRAY_SUPPORT","createBuffer","RangeError","encodingOrOffset","allocUnsafe","ArrayBuffer","fromArrayBuffer","fromString","fromObject","assertSize","alloc","fill","encoding","checked","isEncoding","actual","write","fromArrayLike","byteOffset","isBuffer","buffer","isnan","SlowBuffer","isView","loweredCase","utf8ToBytes","base64ToBytes","slowToString","hexSlice","utf8Slice","asciiSlice","latin1Slice","base64Slice","utf16leSlice","swap","bidirectionalIndexOf","arrayIndexOf","buf","indexSize","readUInt16BE","arrLength","valLength","foundIndex","hexWrite","strLen","parsed","utf8Write","blitBuffer","asciiWrite","asciiToBytes","latin1Write","base64Write","ucs2Write","utf16leToBytes","base64","fromByteArray","firstByte","codePoint","bytesPerSequence","secondByte","thirdByte","fourthByte","tempCodePoint","decodeCodePointsArray","codePoints","MAX_ARGUMENTS_LENGTH","toHex","bytes","checkOffset","checkInt","objectWriteUInt16","littleEndian","objectWriteUInt32","checkIEEE754","writeFloat","noAssert","ieee754","writeDouble","base64clean","stringtrim","INVALID_BASE64_RE","trim","leadSurrogate","byteArray","hi","lo","toByteArray","dst","INSPECT_MAX_BYTES","_augment","species","allocUnsafeSlow","_isBuffer","compare","swap16","swap32","swap64","thisStart","thisEnd","thisCopy","targetCopy","_arr","newBuf","sliceLen","readUIntLE","mul","readUIntBE","readUInt8","readUInt16LE","readUInt32LE","readUInt32BE","readIntLE","readIntBE","readInt8","readInt16LE","readInt16BE","readInt32LE","readInt32BE","readFloatLE","readFloatBE","readDoubleLE","readDoubleBE","writeUIntLE","maxBytes","writeUIntBE","writeUInt8","writeUInt16LE","writeUInt16BE","writeUInt32LE","writeUInt32BE","writeIntLE","writeIntBE","writeInt8","writeInt16LE","writeInt16BE","writeInt32LE","writeInt32BE","writeFloatLE","writeFloatBE","writeDoubleLE","writeDoubleBE","targetStart","docElem","clientTop","msPattern","is","replaceLocation","pushLocation","startListener","getUserConfirmation","getCurrentLocation","_LocationUtils","_DOMUtils","_DOMStateStorage","_ExecutionEnvironment","PopStateEvent","HashChangeEvent","needsHashchangeListener","_createLocation","historyState","readState","updateLocation","confirm","handlePopState","handleUnpoppedHashChange","updateState","saveState","pushState","replaceState","_AsyncUtils","_runTransitionHook","_runTransitionHook2","createHistory","keyLength","currentLocation","pendingLocation","beforeListeners","listeners","getCurrentIndex","nextLocation","currentIndex","listenBefore","confirmTransitionTo","loopAsync","transitionTo","prevPath","nextPath","prevIndex","nextIndex","createKey","createHref","runTransitionHook","hook","Map","cloneArrayBuffer","arrayBuffer","overArg","getPrototype","arrayFilter","stubArray","objectProto","nativeGetSymbols","getSymbols","symbol","isPrototype","isPlainObject","objectTag","funcToString","objectCtorString","funcProto","arrayLikeKeys","baseKeys","defaultSetTimout","defaultClearTimeout","runTimeout","cachedSetTimeout","runClearTimeout","cachedClearTimeout","cleanUpNextTick","draining","currentQueue","queueIndex","drainQueue","run","Item","process","nextTick","browser","env","argv","versions","addListener","removeListener","removeAllListeners","emit","binding","cwd","chdir","umask","CONSTANTS","positions","tl","tr","tc","bl","br","bc","levels","success","autoDismiss","dismissible","turns","work","isDone","sync","doneArgs","hasNext","currentTurn","mapAsync","doneCount","makeContextName","ContextProvider","_childContextTypes","_ref2","contextName","listenersKey","eventIndexKey","subscribeKey","contextProviderShape","eventIndex","subscribe","componentWillMount","componentWillReceiveProps","componentDidUpdate","ContextSubscriber","_contextTypes","_ref4","lastRenderedEventIndexKey","handleContextUpdateKey","unsubscribeKey","getInitialState","_ref3","componentDidMount","_setState","setState","componentWillUnmount","_setState2","setRouteLeaveHook","isActive","_getRouteParams","_getRouteParams2","_ContextUtils","_React$PropTypes","createClass","displayName","mixins","router","getDefaultProps","routeParams","elements","busy","_props$component","Tag","aria-disabled","_require","timers","_timers","_unmounted","_animate","_animate2","animate","_calendarViewHierarch","_calendarViewUnits","views","DECADE","CENTURY","RIGHT","datePopups","TIME","CALENDAR","calendarViews","calendarViewHierarchy","dataValue","dataText","textField","dataIndexOf","isValueEqual","datum","dataItem","getNodeAfter","insertLazyTreeChildAt","moveChild","moveDelimitedText","insertChildAt","closingComment","removeDelimitedText","openingComment","nextNode","startNode","replaceDelimitedText","stringText","nodeAfterComment","Danger","ReactMultiChildUpdateTypes","dangerouslyReplaceNodeWithMarkup","DOMChildrenOperations","processUpdates","updates","INSERT_MARKUP","afterNode","MOVE_EXISTING","SET_MARKUP","TEXT_CONTENT","REMOVE_NODE","mathml","recomputePluginOrdering","EventPluginOrder","pluginName","namesToPlugins","pluginIndex","publishedEvents","eventTypes","eventName","publishEventForPlugin","eventNameDispatchConfigs","phaseName","phasedRegistrationName","publishRegistrationName","possibleRegistrationNames","InjectedEventPluginOrder","injectedNamesToPlugins","isOrderingDirty","getPluginModuleForEvent","_resetEventPlugins","isEndish","isMoveish","isStartish","executeDispatch","invokeGuardedCallbackWithCatch","invokeGuardedCallback","dispatchListeners","dispatchInstances","executeDispatchesInOrderStopAtTrueImpl","executeDispatchesInOrderStopAtTrue","executeDirectDispatch","dispatchListener","dispatchInstance","hasDispatches","ComponentTree","TreeTraversal","injectComponentTree","Injected","injectTreeTraversal","isAncestor","getLowestCommonAncestor","argFrom","argTo","escapeRegex","escaperLookup","=",":","escapedString","unescapeRegex","unescaperLookup","=0","=2","keySubstring","KeyEscapeUtils","_assertSingleLink","inputProps","checkedLink","valueLink","_assertValueLink","_assertCheckedLink","getDeclarationErrorAddendum","ReactPropTypes","ReactPropTypeLocations","ReactPropTypesSecret","hasReadOnlyValue","checkbox","image","radio","loggedTypeFailures","LinkedValueUtils","checkPropTypes","tagName","getChecked","executeOnChange","requestChange","ReactComponent","updater","ReactNoopUpdateQueue","isReactComponent","partialState","enqueueSetState","enqueueCallback","enqueueForceUpdate","injected","ReactComponentEnvironment","replaceNodeWithMarkup","processChildrenUpdates","injectEnvironment","environment","isNative","reIsNative","getKeyFromID","getIDFromKey","canUseCollections","itemMap","itemByKey","parentID","childIDs","isMounted","updateCount","addRoot","rootIDSet","rootByKey","removeRoot","getRegisteredIDs","getRootIDs","purgeDeep","describeComponentFrame","ownerName","fileName","getDisplayName","describeID","ReactComponentTreeHook","getElement","ownerID","getOwnerID","Set","unmountedIDs","onSetChildren","nextChildIDs","nextChildID","nextChild","onBeforeMountComponent","onBeforeUpdateComponent","onMountComponent","isRoot","onUpdateComponent","onUnmountComponent","purgeUnmountedComponents","_preventPurging","getCurrentStackAddendum","topElement","currentOwner","_debugID","getStackAddendumByID","getParentID","getChildIDs","getSource","getText","getUpdateCount","caughtError","warnNoop","publicInstance","callerName","enqueueReplaceState","completeState","ReactPropTypeLocationNames","childContext","formatUnexpectedArgument","getInternalInstanceReadyForUpdate","ReactUpdateQueue","validateCallback","enqueueCallbackInternal","_pendingForceUpdate","_pendingStateQueue","_pendingReplaceState","enqueueElementInternal","nextContext","_pendingElement","MSApp","execUnsafeLocalFunction","arg0","arg1","arg2","arg3","getEventCharCode","modifierStateGetter","keyArg","syntheticEvent","keyProp","modifierKeyToProp","Alt","Control","Meta","Shift","correspondingUseElement","eventNameSuffix","capture","isSupported","useHasFeature","implementation","hasFeature","shouldUpdateReactComponent","prevEmpty","nextEmpty","prevType","nextType","getComponentKey","traverseAllChildrenImpl","nameSoFar","traverseContext","SEPARATOR","nextName","subtreeCount","nextNamePrefix","SUBSEPARATOR","iteratorFn","getIteratorFn","addendum","childrenString","traverseAllChildren","validateDOMNesting","fetchConfig","putConfig","getParserErrorMessage","collections","currentCollection","currentDocument","isFetching","updated","filterByTitle","datafiles","currentFile","datafileChanged","filterByFilename","pages","page","staticfiles","uploading","sf","overlayMode","combine","basePos","baseCur","overlayPos","overlayCur","streamSeen","combineTokens","textAfter","baseToken","overlayToken","cmCfg","modeCfg","findModeByName","mimes","switchInline","inline","switchBlock","lineIsEmpty","linkTitle","em","strong","strikethrough","quote","indentedCode","htmlModeMissing","htmlBlock","inlineNormal","blockNormal","trailingSpaceNewLine","prevLine","thisLine","prevLineIsList","prevLineIsIndentedCode","indentationDiff","tokenTypes","atxHeaderRE","header","highlightFormatting","formatting","getType","setextHeaderRE","footnoteLink","hrRE","hr","listRE","listType","listStack","taskLists","taskListRE","taskList","fencedCodeBlocks","fencedCodeRE","fencedChars","localMode","localState","htmlMode","htmlState","tagStart","tokenize","isInText","md_inside","leavingLocal","returnType","maxBlockquoteDepth","taskOpen","taskClosed","linkHref","linkText","imageAltText","imageMarker","listMod","list2","list3","list1","handleText","textRE","matchCh","previousFormatting","formattingEscape","linkInline","linkEmail","atts","ignoreUnderscore","underscoresBreakWords","prevPos","prevCh","getLinkHrefInside","endChar","returnState","linkRE","footnoteLinkInside","footnoteUrl","tokenTypeOverrides","tokenType","allowAtxHeaderWithoutSpace",")","]","forceBlankLine","closeBrackets","fold","htmlConfig","autoSelfClosers","area","command","embed","frame","keygen","meta","param","track","wbr","menuitem","implicitlyClosed","li","optgroup","rp","tbody","td","tfoot","contextGrabbers","dt","article","aside","blockquote","dl","fieldset","footer","h1","h2","h3","h4","h5","h6","hgroup","menu","nav","ol","section","table","ul","thead","doNotIndent","allowUnquoted","allowMissing","caseFold","xmlConfig","editorConf","config_","inText","parser","inBlock","doctype","inTag","baseState","inAttribute","stringStartCol","closure","isInAttribute","terminator","depth","Context","startOfLine","noIndent","popContext","maybePopContext","nextTagName","parentTagName","tagNameState","closeTagNameState","setStyle","attrState","matchClosing","closeState","closeStateErr","_stream","attrEqState","attrValueState","attrContinuedState","baseIndent","fullLine","multilineTagIndentPastTag","multilineTagIndentFactor","alignCDATA","tagAfter","grabbers","blockCommentStart","blockCommentEnd","configuration","skipAttribute","innerWidth","__WEBPACK_AMD_DEFINE_FACTORY__","babelHelpers","interopRequireDefault","rUpper","EventListener","eventType","registerDefault","getActiveElement","QuotaExceededErrors","QuotaExceededError","QUOTA_EXCEEDED_ERR","SecurityErrors","SecurityError","KeyPrefix","sessionStorage","removeItem","setItem","getItem","useBasename","addBasename","prependBasename","pname","normalizedBasename","normalizedPathname","_queryString","defaultStringifyQuery","query","defaultParseQueryString","useQueries","stringifyQuery","parseQueryString","decodeQuery","encodeQuery","queryString","newLocation","REACT_STATICS","KNOWN_STATICS","caller","arity","isGetOwnPropertySymbolsAvailable","targetComponent","sourceComponent","customStatics","inherited","isArr","isArg","isBuff","isType","isTypedArray","skipIndexes","baseTimes","isIndex","arrayPush","arrayReduce","initAccum","objValue","baseGetAllKeys","symbolsFunc","getSymbolsIn","toSource","isLength","stubFalse","freeExports","freeModule","moduleExports","nativeIsBuffer","funcTag","genTag","asyncTag","proxyTag","MAX_SAFE_INTEGER","keysIn","baseKeysIn","moment","af","arDz","weekdaysParseExact","symbolMap","1","2","4","5","6","7","0","pluralForm","plurals","pluralize","arLy","arMa","numberMap","١","٢","٣","٤","٥","٦","٧","٨","٩","٠","arSa","arTn","ar","suffixes","70","80","50","100","10","30","60","90","az","plural","num","forms","relativeTimeWithPlural","be","standalone","bg","lastDigit","last2Digits","১","২","৩","৪","৫","৬","৭","৮","৯","০","bn","༡","༢","༣","༤","༥","༦","༧","༨","༩","༠","bo","relativeTimeWithMutation","mutation","specialMutationForYears","lastNumber","softMutation","mutationTable","translate","bs","monthsParseExact","ca","cs","shortMonthsParse","longMonthsParse","cv","affix","cy","lookup","da","processRelativeTime","deAt","de","dv","el","monthsNominativeEl","monthsGenitiveEl","momentToFormat","_monthsGenitiveEl","_monthsNominativeEl","calendarEl","_calendarEl","enAu","enCa","enGb","enIe","enNz","eo","monthsShortDot","esDo","es","et","eu","ll","lll","llll","۱","۲","۳","۴","۵","۶","۷","۸","۹","۰","fa","verbalNumber","numbersFuture","numbersPast","fi","fo","frCa","frCh","fr","monthsShortWithDots","monthsShortWithoutDots","fy","gd","gl","he","१","२","३","४","५","६","७","८","९","०","weekEndings","hu","hyAm","it","ja","jv","ka","kk","km","ko","ss","isUpper","ky","processFutureTime","eifelerRegelAppliesToNumber","processPastTime","firstDigit","lb","translateSeconds","translateSingular","lt","relativeTimeWithSingular","relativeSeconds","lv","translator","words","correctGrammaticalCase","wordKey","lastWeekDays","mi","monthsStrictRegex","monthsShortStrictRegex","ml","relativeTimeMr","mr","msMy","၁","၂","၃","၄","၅","၆","၇","၈","၉","၀","my","nb","ne","nlBe","nn","੧","੨","੩","੪","੫","੬","੭","੮","੯","੦","paIn","monthsNominative","monthsSubjective","pl","ptBr","pt","ro","ru","se","si","sk","sl","sq","srCyrl","sr","sv","sw","௧","௨","௩","௪","௫","௬","௭","௮","௯","௦","ta","tet","tlPh","translateFuture","translatePast","numberNoun","numberAsNoun","hundred","ten","one","numbersNouns","tlh","tzl","tzmLatn","tzm","weekdaysCaseReplace","nominative","accusative","genitive","nounCase","processHoursFunction","uk","uz","vi","xPseudo","yo","zhCn","hm","zhHk","zhTw","CALL_HISTORY_METHOD","routerActions","routerMiddleware","routerReducer","LOCATION_CHANGE","_reducer","_actions","_sync","_sync2","_middleware","_middleware2","initialState","locationBeforeTransitions","isLeftClickEvent","isModifiedEvent","isEmptyObject","resolveToLocation","activeStyle","activeClassName","onlyActiveOnIndex","handleClick","toLocation","isPromise","_InternalPropTypes","statics","onEnter","routeIndex","parentPattern","getRoutePattern","createRouterObject","transitionManager","listenBeforeLeavingRoute","assignRouterState","memoryHistory","_useQueries2","_useBasename2","_useQueries","_useBasename","_createMemoryHistory","_useRouterHistory","hasAnyProperties","createTransitionManager","indexOnly","_isActive3","partialNextState","finishMatch","_matchRoutes2","finishEnterHooks","redirectInfo","handleErrorOrRedirect","_getComponents2","_computeChangedRoutes","_computeChangedRoutes3","leaveRoutes","changeRoutes","enterRoutes","_TransitionUtils","runLeaveHooks","removeListenBeforeHooksForRoute","runChangeHooks","runEnterHooks","getRouteID","__id__","RouteGuid","getRouteHooksForRoutes","RouteHooks","transitionHook","beforeUnloadHook","routeID","unlistenBefore","unlistenBeforeUnload","thereWereNoRouteHooks","listenBeforeUnload","historyListener","redirectLocation","unsubscribe","_routerWarning","_computeChangedRoutes2","_isActive2","_getComponents","_matchRoutes","onNextFrame","requestAnimationFrame","clearNextFrameAction","nextFrameId","cancelAnimationFrame","_calculateNodeHeight","_calculateNodeHeight2","TextareaAutosize","maxHeight","_onNextFrameActionId","_rootDOMNode","_onChange","_resizeComponent","_onRootDOMNode","minRows","maxRows","onHeightChange","useCacheForDOMMeasurements","_clearNextFrame","prevProps","prevState","rows","Widget","open","dropUp","openClass","_applyDecoratedDescriptor","decorators","reverse","decorator","FocusMixin","_handleFocus","willHandle","didHandle","_widgetHelpers","_obj","handleBlur","handleFocus","_interaction","getOwnPropertyDescriptor","React","neq","gt","gte","startsWith","endsWith","prefixKey","isUnitlessNumber","animationIterationCount","borderImageOutset","borderImageSlice","borderImageWidth","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","flex","flexGrow","flexPositive","flexShrink","flexNegative","flexOrder","gridRow","gridColumn","fontWeight","lineClamp","lineHeight","opacity","orphans","widows","zoom","fillOpacity","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeOpacity","strokeWidth","prefixes","shorthandPropertyExpansions","backgroundAttachment","backgroundColor","backgroundImage","backgroundPositionX","backgroundPositionY","backgroundRepeat","backgroundPosition","borderWidth","borderStyle","borderColor","borderBottomWidth","borderBottomStyle","borderBottomColor","borderLeft","borderLeftWidth","borderLeftStyle","borderLeftColor","borderRight","borderRightStyle","borderRightColor","borderTop","borderTopWidth","borderTopStyle","borderTopColor","font","fontStyle","fontVariant","fontFamily","outline","outlineWidth","outlineStyle","outlineColor","CSSProperty","_callbacks","_contexts","contexts","checkpoint","rollback","isAttributeNameSafe","validatedAttributeNameCache","illegalAttributeNameCache","VALID_ATTRIBUTE_NAME_REGEX","shouldIgnoreValue","quoteAttributeValueForBrowser","DOMPropertyOperations","createMarkupForID","setAttributeForID","createMarkupForRoot","setAttributeForRoot","createMarkupForProperty","createMarkupForCustomAttribute","setValueForProperty","deleteValueForProperty","namespace","setAttributeNS","setValueForAttribute","deleteValueForAttribute","escapeUserProvidedKey","userProvidedKeyEscapeRegex","ForEachBookKeeping","forEachFunction","forEachContext","forEachSingleChild","bookKeeping","forEachChildren","forEachFunc","MapBookKeeping","mapResult","keyPrefix","mapFunction","mapContext","mapSingleChildIntoContext","childKey","mappedChild","mapIntoWithKeyPrefixInternal","escapedPrefix","mapChildren","forEachSingleChildDummy","countChildren","ReactChildren","validateMethodOverride","isAlreadyDefined","specPolicy","ReactClassInterface","ReactClassMixin","SpecPolicy","OVERRIDE_BASE","DEFINE_MANY","DEFINE_MANY_MERGED","mixSpecIntoComponent","autoBindPairs","__reactAutoBindPairs","MIXINS_KEY","RESERVED_SPEC_KEYS","isReactClassMethod","shouldAutoBind","autobind","createMergedResultFunction","createChainedFunction","mixStaticSpecIntoComponent","isReserved","isInherited","mergeIntoWithNoDuplicateKeys","two","bindAutoBindMethod","boundMethod","bindAutoBindMethods","autoBindKey","DEFINE_ONCE","injectedMixins","componentWillUpdate","updateComponent","newState","ReactClassComponent","ReactClass","methodName","injectMixin","updateOptionsIfPendingUpdateAndMounted","_wrapperState","pendingUpdate","updateOptions","Boolean","multiple","propValue","selectedValue","_handleChange","didWarnValueDefaultValue","ReactDOMSelect","mountWrapper","wasMultiple","getSelectValueContext","postUpdateWrapper","emptyComponentFactory","ReactEmptyComponentInjection","injectEmptyComponentFactory","ReactEmptyComponent","instantiate","createInternalComponent","genericComponentClass","createInstanceForText","textComponentClass","isTextComponent","tagToComponentClass","ReactHostComponentInjection","injectGenericComponentClass","injectTextComponentClass","injectComponentClasses","componentClasses","ReactHostComponent","isInDocument","containsNode","ReactDOMSelection","ReactInputSelection","hasSelectionCapabilities","elem","getSelectionInformation","focusedElem","selectionRange","restoreSelection","priorSelectionInformation","curFocusedElem","priorFocusedElem","priorSelectionRange","getOffsets","offsets","setOffsets","firstDifferenceIndex","string1","string2","minLen","getReactRootElementInContainer","DOC_NODE_TYPE","internalGetID","mountComponentIntoNode","wrapperInstance","shouldReuseMarkup","wrappedElement","ReactDOMContainerInfo","_topLevelWrapper","ReactMount","_mountImageIntoNode","batchedMountComponentIntoNode","componentInstance","ReactDOMFeatureFlags","useCreateElement","unmountComponentFromNode","hasNonRootReactChild","rootEl","isValidContainer","getHostRootInstanceInContainer","prevHostInstance","getTopLevelWrapperInContainer","_hostContainerInfo","ReactMarkupChecksum","instantiateReactComponent","ROOT_ATTR_NAME","instancesByReactRootID","topLevelRootCounter","TopLevelWrapper","rootID","_instancesByReactRootID","scrollMonitor","renderCallback","_updateRootComponent","prevComponent","_renderNewRootComponent","wrapperID","_instance","renderSubtreeIntoContainer","parentComponent","_renderSubtreeIntoContainer","nextWrappedElement","_processChildContext","prevWrappedElement","publicInst","updatedCallback","unmountComponentAtNode","reactRootElement","containerHasReactMarkup","containerHasNonRootReactChild","hasAttribute","rootElement","canReuseMarkup","checksum","CHECKSUM_ATTR_NAME","rootMarkup","outerHTML","normalizedMarkup","diffIndex","ReactNodeTypes","HOST","COMPOSITE","EMPTY","PropTypeError","propFullName","secret","ANONYMOUS","locationName","createPrimitiveTypeChecker","expectedType","getPropType","preciseType","getPreciseType","createAnyTypeChecker","createArrayOfTypeChecker","typeChecker","createElementTypeChecker","createInstanceTypeChecker","expectedClass","expectedClassName","actualClassName","getClassName","createEnumTypeChecker","expectedValues","valuesString","createObjectOfTypeChecker","createUnionTypeChecker","arrayOfTypeCheckers","checker","createNodeChecker","isNode","createShapeTypeChecker","shapeTypes","isSymbol","objectOf","scrollPosition","canDefineProperty","getHostComponentFromComposite","_renderedNodeType","maybeIterable","ITERATOR_SYMBOL","FAUX_ITERATOR_SYMBOL","getTextContentAccessor","contentKey","isInternalComponentType","shouldHaveDebugID","getNativeNode","ReactCompositeComponentWrapper","_mountIndex","_mountImage","ReactCompositeComponent","_instantiateReactComponent","isTextInputElement","supportedInputTypes","color","datetime-local","email","password","tel","composed","reducer","enhancer","ensureCanMutateNextListeners","nextListeners","currentListeners","currentState","isSubscribed","_isPlainObject2","isDispatching","currentReducer","replaceReducer","nextReducer","INIT","observable","outerSubscribe","observer","observeState","_symbolObservable2","_isPlainObject","_symbolObservable","_notifying","_values","_createUncontrollable","_createUncontrollable2","fetchStaticFiles","uploadStaticFiles","readAsDataURL","onloadend","encoded_content","getSuccessMessage","getUploadSuccessMessage","getUploadErrorMessage","deleteStaticFile","FilePreview","onClickDelete","extension","extname","http_url","handleClickDelete","Checkbox","defaultChecked","MetaArrayItem","_MetaArray","_MetaArray2","_MetaObject","_MetaObject2","_MetaSimple","_MetaSimple2","_MetaButtons","_MetaButtons2","classList","FieldTypes","simple","CurrentComponent","data-id","handleConvertClick","handleDropdownFocus","handleDropdownBlur","MetaField","currentValue","field_key","_props4","handleKeyBlur","MetaObjectItem","getLeaveMessage","getNotFoundMessage","getOverrideMessage","getDeleteErrorMessage","sidebar","posts","delete","_Sidebar","_Sidebar2","_Header","_Header2","_Notifications","_Notifications2","App","Header","Notifications","_reactNotificationSystem","_reactNotificationSystem2","notificationSystem","notifications","Sidebar","_Splitter","_Splitter2","_collections","renderCollections","Configuration","_Editor","_Editor2","_Button","_Button2","routerWillLeave","handleClickSave","DataFileEdit","_Breadcrumbs","_Breadcrumbs2","_Errors","_Errors2","_datafiles","data_file","datafile","utils","DataFileNew","breadcrumbs","DataFiles","_InputSearch","_InputSearch2","_datafiles2","renderRows","slug","renderTable","DocumentEdit","_InputTitle","_InputTitle2","_MarkdownEditor","_MarkdownEditor2","_MetaFields","_MetaFields2","new_path","fieldChanged","DocumentNew","Documents","_collections2","documents","NotFound","PageEdit","_pages","new_name","PageNew","_Checkbox","Pages","_pages2","StaticFiles","_reactDropzone","_reactDropzone2","_FilePreview","_FilePreview2","_staticfiles","_staticfiles2","existingFiles","dropzone","disableClick","openDropzone","renderDropzone","_config2","_metadata2","_utils2","_notifications2","routing","new_field_count","_App","_App2","_Configuration","_Configuration2","_Pages","_Pages2","_PageEdit","_PageEdit2","_PageNew","_PageNew2","_Documents","_Documents2","_DocumentEdit","_DocumentEdit2","_DocumentNew","_DocumentNew2","_DataFiles","_DataFiles2","_DataFileEdit","_DataFileEdit2","_DataFileNew","_DataFileNew2","_StaticFiles","_StaticFiles2","_NotFound","_NotFound2","configureStore","_reducers2","_reduxThunk2","_reducers","_reduxThunk","_cloneDeep","_cloneDeep2","tmpState","eval","placeHoldersCount","b64","placeHolders","Arr","revLookup","tripletToBase64","encodeChunk","uint8","extraBytes","maxChunkLength","len2","define","acequire","oop","TextHighlightRules","YamlHighlightRules","$rules","qqstring","inherits","MatchingBraceOutdent","checkOutdent","autoOutdent","row","openBracePos","findMatchingBracket","$getIndent","BaseFoldMode","FoldMode","getFoldWidgetRange","session","foldStyle","indentationBlock","re","startLevel","startColumn","maxRow","startRow","endRow","endColumn","getFoldWidget","prevIndent","nextIndent","foldWidgets","TextMode","Mode","HighlightRules","$outdent","foldingRules","$behaviour","$defaultBehaviour","lineCommentStart","getNextLineIndent","tab","$id","isDark","cssClass","dom","importCssString","CodeMirrorSpellChecker","codeMirrorInstance","log","aff_loading","xhr_aff","XMLHttpRequest","readyState","status","aff_data","responseText","num_loaded","typo","Typo","dic_data","send","dic_loading","xhr_dic","rx_word","backdrop","setFullscreen","fullScreenRestore","setNormal","clearPlaceholder","setPlaceholder","placeHolder","emptyListRE","unorderedListRE","newlineAndIndentContinueMarkdownList","replacements","eolState","inList","inQuote","bullet","onCursorActivity","markedSelection","coverRange","addAt","markedSelectionStyle","endLine","CHUNK_SIZE","atEnd","urlRE","modeConfig","codeDepth","gfmOverlay","codeBlock","ateSpace","gitHubSpice","markdownConfig","attr","modeInfo","findModeByMIME","findModeByExtension","findModeByFileName","dot","absoluteFloor","monthMath","newMonth","createAccessor","createComparer","operator","MILI","SECONDS","MINUTES","HOURS","DAY","decade","century","firstDay","date1","date2","dividend","divisor","_ownerDocument","compareDocumentPosition","excludeStatic","ownerDoc","isStatic","_utilCamelizeStyle","_utilCamelizeStyle2","rposition","rnumnonpx","opener","runStyle","runtimeStyle","rsLeft","pixelLeft","removeProperty","getTransitionProperties","endEvent","transitions","O","Moz","Webkit","transitionProperty","transitionTiming","transitionDuration","transitionDelay","transition","timing","rHyphen","chr","curr","req","compatRaf","vendors","raf","getKey","rafKey","getOffset","getScrollParent","scrollParent","listScrollTop","selectedTop","isWin","selectedHeight","listHeight","poff","assert","isDecimalDigit","isHexDigit","isOctalDigit","octalToDecimal","octal","isWhiteSpace","isLineTerminator","fromCodePoint","cp","isIdentifierStart","Regex","NonAsciiIdentifierStart","isIdentifierPart","NonAsciiIdentifierPart","isFutureReservedWord","isStrictModeReservedWord","isRestrictedWord","isKeyword","addComment","loc","comment","lastCommentStart","extra","comments","attachComment","leadingComments","trailingComments","delegate","skipSingleLineComment","hasLineTerminator","skipMultiLineComment","tolerateUnexpectedToken","skipComment","scanHexEscape","scanUnicodeCodePointEscape","throwUnexpectedToken","codePointAt","getComplexIdentifier","getIdentifier","scanIdentifier","Token","Identifier","Keyword","NullLiteral","BooleanLiteral","scanPunctuator","Punctuator","openParenToken","tokenValues","openCurlyToken","curlyStack","scanHexLiteral","NumericLiteral","scanBinaryLiteral","scanOctalLiteral","isImplicitOctalLiteral","scanNumericLiteral","scanStringLiteral","unescaped","octToDec","StringLiteral","startLineNumber","startLineStart","scanTemplate","rawOffset","terminated","restore","cooked","throwError","Messages","TemplateOctalLiteral","Template","raw","testRegExp","astralSubstitute","$0","$1","$2","InvalidRegExp","exception","scanRegExpBody","classMarker","UnterminatedRegExp","literal","scanRegExpFlags","scanRegExp","scanning","lookahead","RegularExpression","collectRegex","isIdentifierName","advanceSlash","testKeyword","FnExprTokens","advance","EOF","collectToken","TokenName","lex","lastLineNumber","lastLineStart","Position","SourceLocation","WrappingSourceLocation","startToken","Node","WrappingNode","recordError","constructError","createError","description","messageFormat","whole","tolerateError","unexpectedTokenError","UnexpectedToken","UnexpectedEOS","UnexpectedIdentifier","UnexpectedNumber","UnexpectedString","UnexpectedTemplate","UnexpectedReserved","StrictReservedWord","expect","expectCommaSeparator","expectKeyword","keyword","matchKeyword","matchContextualKeyword","matchAssign","consumeSemicolon","isolateCoverGrammar","oldIsBindingElement","isBindingElement","oldIsAssignmentTarget","isAssignmentTarget","oldFirstCoverInitializedNameError","firstCoverInitializedNameError","inheritCoverGrammar","parseArrayPattern","restNode","parseVariableIdentifier","finishRestElement","parsePatternWithDefault","finishArrayPattern","parsePropertyPattern","keyToken","parseAssignmentExpression","finishProperty","finishAssignmentPattern","parseObjectPropertyKey","parseObjectPattern","finishObjectPattern","parsePattern","previousAllowYield","allowYield","parseArrayInitializer","restSpread","finishSpreadElement","finishArrayExpression","parsePropertyFunction","paramInfo","isGenerator","previousStrict","parseFunctionSourceElements","firstRestricted","stricted","finishFunctionExpression","parsePropertyMethodFunction","parseParams","expr","StrictOctalLiteral","finishLiteral","finishIdentifier","lookaheadPropertyName","tryParseMethodDefinition","methodNode","defaultCount","paramSet","parseParam","parseObjectProperty","hasProto","maybeMethod","Syntax","Literal","DuplicateProtoProperty","parseObjectInitializer","finishObjectExpression","reinterpretExpressionAsPattern","MemberExpression","RestElement","AssignmentPattern","SpreadElement","ArrayExpression","ArrayPattern","ObjectExpression","ObjectPattern","AssignmentExpression","parseTemplateElement","finishTemplateElement","parseTemplateLiteral","quasi","quasis","expressions","parseExpression","finishTemplateLiteral","parseGroupExpression","PlaceHolders","ArrowParameterPlaceHolder","rawParams","parseRestElement","finishSequenceExpression","SequenceExpression","parsePrimaryExpression","sourceType","parseNonComputedProperty","parseFunctionExpression","finishThisExpression","parseClassExpression","parseArguments","parseNonComputedMember","parseComputedMember","parseNewExpression","callee","inFunctionBody","finishMetaProperty","parseLeftHandSideExpression","finishNewExpression","parseLeftHandSideExpressionAllowCall","previousAllowIn","allowIn","finishSuper","finishMemberExpression","finishCallExpression","finishTaggedTemplateExpression","parsePostfixExpression","StrictLHSPostfix","InvalidLHSInAssignment","finishPostfixExpression","parseUnaryExpression","StrictLHSPrefix","finishUnaryExpression","StrictDelete","binaryPrecedence","prec","parseBinaryExpression","finishBinaryExpression","parseConditionalExpression","consequent","alternate","finishConditionalExpression","parseConciseBody","checkPatternParam","validateParam","YieldExpression","reinterpretAsCoverFormalsList","StrictParamDupe","parseArrowFunctionExpression","finishArrowFunctionExpression","BlockStatement","parseYieldExpression","finishYieldExpression","StrictLHSAssignment","finishAssignmentExpression","parseStatementListItem","IllegalExportDeclaration","parseExportDeclaration","IllegalImportDeclaration","parseImportDeclaration","parseLexicalDeclaration","inFor","parseFunctionDeclaration","parseClassDeclaration","isLexicalDeclaration","parseStatement","parseStatementList","parseBlock","finishBlockStatement","parseVariableDeclaration","StrictVarName","finishVariableDeclarator","parseVariableDeclarationList","parseVariableStatement","declarations","finishVariableDeclaration","parseLexicalBinding","parseBindingList","tokenizerState","tokenCount","resetTokenizerState","ts","lexical","finishLexicalDeclaration","ObjectPatternAsRestParameter","DefaultRestParameter","ParameterAfterRestParameter","parseEmptyStatement","finishEmptyStatement","parseExpressionStatement","finishExpressionStatement","parseIfStatement","finishIfStatement","parseDoWhileStatement","oldInIteration","inIteration","finishDoWhileStatement","parseWhileStatement","finishWhileStatement","parseForStatement","forIn","initSeq","initStartToken","InvalidLHSInForIn","InvalidLHSInForLoop","finishForStatement","finishForInStatement","finishForOfStatement","parseContinueStatement","IllegalContinue","finishContinueStatement","labelSet","UnknownLabel","parseBreakStatement","inSwitch","IllegalBreak","finishBreakStatement","parseReturnStatement","IllegalReturn","finishReturnStatement","parseWithStatement","StrictModeWith","finishWithStatement","parseSwitchCase","statement","finishSwitchCase","parseSwitchStatement","discriminant","cases","clause","oldInSwitch","defaultFound","finishSwitchStatement","MultipleDefaultsInSwitch","parseThrowStatement","NewlineAfterThrow","finishThrowStatement","parseCatchClause","paramMap","DuplicateBinding","StrictCatchVariable","finishCatchClause","parseTryStatement","finalizer","NoCatchOrFinally","finishTryStatement","parseDebuggerStatement","finishDebuggerStatement","labeledBody","Redeclaration","finishLabeledStatement","directive","oldLabelSet","oldInFunctionBody","expression","StrictParamName","def","identifierIsOptional","StrictFunctionName","finishFunctionDeclaration","parseClassBody","classBody","hasConstructor","StaticPrototype","generator","ConstructorSpecialMethod","DuplicateConstructor","MethodDefinition","finishClassBody","classNode","finishClassDeclaration","finishClassExpression","parseModuleSpecifier","InvalidModuleSpecifier","parseExportSpecifier","exported","finishExportSpecifier","parseExportNamedDeclaration","isExportFromIdentifier","declaration","specifiers","finishExportNamedDeclaration","MissingFromClause","parseExportDefaultDeclaration","finishExportDefaultDeclaration","parseExportAllDeclaration","finishExportAllDeclaration","parseImportSpecifier","imported","finishImportSpecifier","parseNamedImports","parseImportDefaultSpecifier","finishImportDefaultSpecifier","parseImportNamespaceSpecifier","NoAsAfterImportNamespace","finishImportNamespaceSpecifier","finishImportDeclaration","parseScriptBody","parseProgram","finishProgram","filterTokenLocation","tolerant","lexError","program","bottomRightStack","ArrowFunctionExpression","BinaryExpression","BreakStatement","CallExpression","CatchClause","ClassBody","ClassDeclaration","ClassExpression","ConditionalExpression","ContinueStatement","DoWhileStatement","DebuggerStatement","EmptyStatement","ExportAllDeclaration","ExportDefaultDeclaration","ExportNamedDeclaration","ExportSpecifier","ExpressionStatement","ForStatement","ForOfStatement","ForInStatement","FunctionDeclaration","FunctionExpression","IfStatement","ImportDeclaration","ImportDefaultSpecifier","ImportNamespaceSpecifier","ImportSpecifier","LabeledStatement","LogicalExpression","MetaProperty","NewExpression","Program","Property","ReturnStatement","SwitchCase","SwitchStatement","TaggedTemplateExpression","TemplateElement","TemplateLiteral","ThisExpression","ThrowStatement","TryStatement","UnaryExpression","UpdateExpression","VariableDeclaration","VariableDeclarator","WhileStatement","WithStatement","processComment","innerComments","bottomRight","guardedHandlers","freeze","_hyphenPattern","character","camelizeStyleName","outerNode","innerNode","isTextNode","hasArrayNature","createArrayFromMixed","getNodeName","nodeNameMatch","nodeNamePattern","createNodesFromMarkup","handleScript","dummyNode","getMarkupWrap","wrapDepth","scripts","getElementsByTagName","nodes","markupWrap","shouldWrap","selectWrap","tableWrap","trWrap","svgWrap","*","legend","caption","colgroup","svgElements","getUnboundedScrollPosition","scrollable","_uppercasePattern","hyphenateStyleName","memoizeStringOnly","isSync","_BrowserProtocol","getHashPath","pushHashPath","replaceHashPath","pathCoder","queryKey","decodePath","prevLocation","handleHashChange","encodedPath","encodePath","updateHash","BrowserProtocol","_RefreshProtocol","RefreshProtocol","_createHistory","_createHistory2","createBrowserHistory","useRefresh","forceRefresh","Protocol","listenerCount","stopListener","unlisten","_HashProtocol","HashProtocol","DefaultQueryKey","addLeadingSlash","HashPathCoders","hashbang","noslash","slash","createHashHistory","hashType","createStateStorage","canGo","_options","storage","isLE","mLen","nBytes","eLen","eMax","eBias","nBits","LN2","yaml","deprecated","loader","dumper","FAILSAFE_SCHEMA","JSON_SCHEMA","CORE_SCHEMA","DEFAULT_SAFE_SCHEMA","DEFAULT_FULL_SCHEMA","loadAll","safeLoad","safeLoadAll","dump","MINIMAL_SCHEMA","SAFE_SCHEMA","DEFAULT_SCHEMA","scan","addConstructor","compileStyleMap","_hasOwnProperty","encodeHex","State","skipInvalid","flowLevel","styleMap","sortKeys","lineWidth","noRefs","noCompatMode","implicitTypes","explicitTypes","duplicates","usedDuplicates","ind","generateNextLine","testImplicitResolving","isWhitespace","CHAR_SPACE","CHAR_TAB","isPrintable","isPlainSafe","CHAR_COMMA","CHAR_LEFT_SQUARE_BRACKET","CHAR_RIGHT_SQUARE_BRACKET","CHAR_LEFT_CURLY_BRACKET","CHAR_RIGHT_CURLY_BRACKET","CHAR_COLON","CHAR_SHARP","isPlainSafeFirst","CHAR_MINUS","CHAR_QUESTION","CHAR_AMPERSAND","CHAR_ASTERISK","CHAR_EXCLAMATION","CHAR_VERTICAL_LINE","CHAR_GREATER_THAN","CHAR_SINGLE_QUOTE","CHAR_DOUBLE_QUOTE","CHAR_PERCENT","CHAR_COMMERCIAL_AT","CHAR_GRAVE_ACCENT","chooseScalarStyle","singleLineOnly","indentPerLevel","testAmbiguousType","char","hasLineBreak","hasFoldableLine","shouldTrackWidth","previousLineBreak","plain","STYLE_DOUBLE","CHAR_LINE_FEED","STYLE_FOLDED","STYLE_LITERAL","STYLE_PLAIN","STYLE_SINGLE","writeScalar","iskey","testAmbiguity","DEPRECATED_BOOLEANS_SYNTAX","blockHeader","dropEndingNewline","foldString","escapeString","indentIndicator","clip","keep","chomp","moreIndented","lineRe","nextLF","foldLine","prevMoreIndented","breakRe","escapeSeq","ESCAPE_SEQUENCES","writeFlowSequence","_result","_tag","writeNode","writeBlockSequence","writeFlowMapping","objectKey","objectValue","pairBuffer","objectKeyList","writeBlockMapping","explicitPair","detectType","typeList","_toString","duplicateIndex","duplicate","objectOrArray","getDuplicateReferences","objects","duplicatesIndexes","inspectNode","is_EOL","is_WHITE_SPACE","is_WS_OR_EOL","is_FLOW_INDICATOR","fromHexCode","lc","escapedHexLen","fromDecimalCode","simpleEscapeSequence","charFromCodepoint","onWarning","legacy","typeMap","lineIndent","generateError","Mark","throwWarning","captureSegment","checkJson","_position","_length","_character","PATTERN_NON_PRINTABLE","mergeMappings","destination","overridableKeys","quantity","storeMappingPair","keyTag","keyNode","valueNode","readLineBreak","skipSeparationSpace","allowComments","checkIndent","lineBreaks","testDocumentSeparator","writeFoldedLines","readPlainScalar","nodeIndent","withinFlowCollection","preceding","following","captureStart","captureEnd","hasPendingContent","_line","_lineStart","_lineIndent","_kind","readSingleQuotedScalar","readDoubleQuotedScalar","hexLength","hexResult","simpleEscapeCheck","simpleEscapeMap","readFlowCollection","isPair","isExplicitPair","isMapping","readNext","_anchor","anchorMap","composeNode","CONTEXT_FLOW_IN","readBlockScalar","folding","chomping","CHOMPING_CLIP","didReadContent","detectedIndent","textIndent","emptyLines","atMoreIndented","CHOMPING_KEEP","CHOMPING_STRIP","readBlockSequence","detected","CONTEXT_BLOCK_IN","readBlockMapping","flowIndent","allowCompact","atExplicitKey","CONTEXT_FLOW_OUT","CONTEXT_BLOCK_OUT","readTagProperty","tagHandle","isVerbatim","isNamed","PATTERN_TAG_HANDLE","PATTERN_FLOW_INDICATORS","PATTERN_TAG_URI","tagMap","readAnchorProperty","readAlias","parentIndent","nodeContext","allowToSeek","allowBlockStyles","allowBlockScalars","allowBlockCollections","typeIndex","typeQuantity","blockIndent","indentStatus","atNewLine","hasContent","readDocument","directiveName","directiveArgs","documentStart","hasDirectives","checkLineBreaks","directiveHandlers","PATTERN_NON_ASCII_LINE_BREAKS","loadDocuments","YAML","major","minor","TAG","getSnippet","maxLength","snippet","resolveYamlBinary","bitlen","BASE64_MAP","constructYamlBinary","tailbits","bits","NodeBuffer","representYamlBinary","isBinary","__","resolveYamlBoolean","constructYamlBoolean","uppercase","camelcase","resolveYamlFloat","YAML_FLOAT_PATTERN","constructYamlFloat","digits","POSITIVE_INFINITY","representYamlFloat","SCIENTIFIC_WITHOUT_DOT","isFloat","isHexCode","isOctCode","isDecCode","resolveYamlInteger","hasDigits","constructYamlInteger","isInteger","binary","decimal","hexadecimal","resolveJavascriptFunction","ast","esprima","constructJavascriptFunction","representJavascriptFunction","resolveJavascriptRegExp","regexp","modifiers","constructJavascriptRegExp","representJavascriptRegExp","multiline","ignoreCase","isRegExp","resolveJavascriptUndefined","constructJavascriptUndefined","representJavascriptUndefined","resolveYamlMerge","resolveYamlNull","constructYamlNull","canonical","resolveYamlOmap","pair","pairKey","pairHasKey","objectKeys","constructYamlOmap","resolveYamlPairs","constructYamlPairs","resolveYamlSet","constructYamlSet","resolveYamlTimestamp","YAML_DATE_REGEXP","YAML_TIMESTAMP_REGEXP","constructYamlTimestamp","tz_hour","tz_minute","fraction","representYamlTimestamp","arraySome","baseUnary","isHostObject","mapToArray","setToArray","Hash","hashClear","hashDelete","hashGet","HASH_UNDEFINED","hashHas","hashSet","MapCache","mapCacheClear","mapCacheDelete","mapCacheGet","mapCacheHas","mapCacheSet","SetCache","setCacheAdd","setCacheHas","Stack","stackClear","stackDelete","stackGet","stackHas","stackSet","LARGE_ARRAY_SIZE","baseIsEqual","baseIsEqualDeep","equalFunc","objIsArr","othIsArr","objTag","arrayTag","othTag","getTag","argsTag","objIsObj","othIsObj","isSameTag","equalArrays","equalByTag","PARTIAL_COMPARE_FLAG","objIsWrapped","othIsWrapped","objUnwrapped","othUnwrapped","equalObjects","isMasked","reIsHostCtor","baseIsTypedArray","typedArrayTags","isPartial","othLength","stacked","UNORDERED_COMPARE_FLAG","arrValue","othValue","compared","othIndex","dataViewTag","arrayBufferTag","boolTag","dateTag","numberTag","errorTag","regexpTag","stringTag","mapTag","convert","setTag","symbolTag","symbolValueOf","objProps","objLength","othProps","skipCtor","objCtor","othCtor","reIsUint","maskSrcKey","isArrayLikeObject","promiseTag","weakMapTag","float32Tag","float64Tag","int8Tag","int16Tag","int32Tag","uint8Tag","uint8ClampedTag","uint16Tag","uint32Tag","reRegExpChar","freeProcess","nodeUtil","nodeIsTypedArray","arrayProto","coreJsData","uid","IE_PROTO","DataView","Promise","WeakMap","dataViewCtorString","mapCtorString","promiseCtorString","setCtorString","weakMapCtorString","symbolProto","ctorString","addMapEntry","addSetEntry","arrayEach","resIndex","baseAssign","baseAssignIn","baseClone","isDeep","CLONE_DEEP_FLAG","isFlat","CLONE_FLAT_FLAG","isFull","CLONE_SYMBOLS_FLAG","initCloneArray","copyArray","cloneBuffer","initCloneObject","copySymbolsIn","copySymbols","cloneableTags","initCloneByTag","getAllKeysIn","getAllKeys","subValue","objectCreate","baseIsArguments","nativeKeysIn","isProto","cloneDataView","dataView","cloneMap","cloneFunc","cloneRegExp","reFlags","cloneSet","cloneSymbol","cloneTypedArray","typedArray","isOwn","unmasked","nativeObjectToString","cloneDeep","Lexer","links","marked","rules","gfm","tables","InlineLexer","renderer","Renderer","breaks","pedantic","Parser","encode","pending","escaped","silent","newline","fences","heading","nptable","lheading","paragraph","lexer","bq","loose","cap","bull","cells","ordered","smartLists","sanitize","sanitizer","autolink","reflink","nolink","_inside","_href","mangle","inLink","outputLink","codespan","smartypants","langPrefix","headerPrefix","xhtml","listitem","tablerow","tablecell","prot","tok","parseText","cell","setOptions","inlineLexer","webpackContext","webpackContextResolve","./af","./af.js","./ar","./ar-dz","./ar-dz.js","./ar-ly","./ar-ly.js","./ar-ma","./ar-ma.js","./ar-sa","./ar-sa.js","./ar-tn","./ar-tn.js","./ar.js","./az","./az.js","./be","./be.js","./bg","./bg.js","./bn","./bn.js","./bo","./bo.js","./br","./br.js","./bs","./bs.js","./ca","./ca.js","./cs","./cs.js","./cv","./cv.js","./cy","./cy.js","./da","./da.js","./de","./de-at","./de-at.js","./de.js","./dv","./dv.js","./el","./el.js","./en-au","./en-au.js","./en-ca","./en-ca.js","./en-gb","./en-gb.js","./en-ie","./en-ie.js","./en-nz","./en-nz.js","./eo","./eo.js","./es","./es-do","./es-do.js","./es.js","./et","./et.js","./eu","./eu.js","./fa","./fa.js","./fi","./fi.js","./fo","./fo.js","./fr","./fr-ca","./fr-ca.js","./fr-ch","./fr-ch.js","./fr.js","./fy","./fy.js","./gd","./gd.js","./gl","./gl.js","./he","./he.js","./hi","./hi.js","./hr","./hr.js","./hu","./hu.js","./hy-am","./hy-am.js","./id","./id.js","./is","./is.js","./it","./it.js","./ja","./ja.js","./jv","./jv.js","./ka","./ka.js","./kk","./kk.js","./km","./km.js","./ko","./ko.js","./ky","./ky.js","./lb","./lb.js","./lo","./lo.js","./lt","./lt.js","./lv","./lv.js","./me","./me.js","./mi","./mi.js","./mk","./mk.js","./ml","./ml.js","./mr","./mr.js","./ms","./ms-my","./ms-my.js","./ms.js","./my","./my.js","./nb","./nb.js","./ne","./ne.js","./nl","./nl-be","./nl-be.js","./nl.js","./nn","./nn.js","./pa-in","./pa-in.js","./pl","./pl.js","./pt","./pt-br","./pt-br.js","./pt.js","./ro","./ro.js","./ru","./ru.js","./se","./se.js","./si","./si.js","./sk","./sk.js","./sl","./sl.js","./sq","./sq.js","./sr","./sr-cyrl","./sr-cyrl.js","./sr.js","./ss","./ss.js","./sv","./sv.js","./sw","./sw.js","./ta","./ta.js","./te","./te.js","./tet","./tet.js","./th","./th.js","./tl-ph","./tl-ph.js","./tlh","./tlh.js","./tr","./tr.js","./tzl","./tzl.js","./tzm","./tzm-latn","./tzm-latn.js","./tzm.js","./uk","./uk.js","./uz","./uz.js","./vi","./vi.js","./x-pseudo","./x-pseudo.js","./yo","./yo.js","./zh-cn","./zh-cn.js","./zh-hk","./zh-hk.js","./zh-tw","./zh-tw.js","strictUriEncode","objectAssign","extract","val2","_brace","_brace2","_lodash","_lodash2","_ace$acequire","editorOptions","ReactAce","_PureComponent","onBeforeLoad","cursorStart","wrapEnabled","keyboardHandler","onLoad","annotations","edit","editorProps","getSession","setMode","setTheme","setFontSize","setShowGutter","setUseWrapMode","setShowPrintMargin","onCopy","onPaste","onScroll","handleOptions","setAnnotations","handleMarkers","availableOptions","$options","addCommand","setKeyboardHandler","oldProps","appliedClasses","appliedClassesArray","oldClassesArray","oldClass","fromJSON","resize","_this4","currentMarkers","getMarkers","removeMarker","_i2","endCol","_ref$inFront","inFront","addMarker","divStyle","PureComponent","minLines","maxLines","enableBasicAutocompletion","enableLiveAutocompletion","exportAce","ns","packaged","original","ACE_NAMESPACE","acequirejs","deps","trace","payloads","_acequire","parentId","dep","packagedModule","normalizeModule","moduleName","chunks","uri","getNativeFlags","extended","sticky","real","compliantExecNpcg","compliantLastIndexIncrement","r2","_xregexp","captureNames","Empty","doesDefinePropertyWork","toInteger","defineGetter","defineSetter","lookupGetter","lookupSetter","supportsAccessors","prototypeOfArray","prototypeOfObject","owns","__defineGetter__","__defineSetter__","__lookupGetter__","__lookupSetter__","makeArray","lengthBefore","array_splice","deleteCount","removeCount","tailOldPos","tailNewPos","tailCount","lengthAfterRemove","boxedString","splitString","thisp","sought","ERR_NON_OBJECT","createEmpty","isPrototypeOf","toLocaleString","definePropertyWorksOnObject","definePropertyWorksOnDom","definePropertyFallback","ERR_NON_OBJECT_DESCRIPTOR","ERR_NON_OBJECT_TARGET","ERR_ACCESSORS_NOT_SUPPORTED","seal","freezeObject","preventExtensions","isSealed","isExtensible","hasDontEnumBug","dontEnums","dontEnumsLength","dontEnum","trimBeginRegexp","trimEndRegexp","XHTML_NS","getDocumentHead","createElementNS","hasCssClass","addCssClass","removeCssClass","toggleCssClass","setCssClass","hasCssString","sheets","createStyleSheet","styleSheets","owningElement","importCssStylsheet","getInnerWidth","computedStyle","getInnerHeight","scrollbarWidth","noScrollbar","withScrollbar","getPageScrollTop","getPageScrollLeft","setInnerHtml","innerHtml","setInnerText","innerText","getInnerText","getParentWindow","superCtor","super_","implement","Keys","MODIFIER_KEYS","224","KEY_MODS","super","FUNCTION_KEYS","96","97","98","99","101","102","103","104","105","-13","112","113","114","115","116","117","118","119","120","121","122","123","144","145","PRINTABLE_KEYS","48","49","51","52","53","54","55","56","57","65","66","67","68","69","71","72","73","74","75","76","77","78","79","81","82","83","84","85","86","87","88","89","esc","mods","keyCodeToString","keyString","OS","LINUX","MAC","WINDOWS","getOS","isMac","isLinux","os","isIE","appName","isOldIE","isGecko","isMozilla","Controllers","controllers","product","isOldGecko","isOpera","opera","isWebKit","isChrome","isAIR","isIPad","isTouchPad","isChromeOS","normalizeCommandKeys","hashId","getModifierHash","useragent","pressedKeys","OSKey","altGr","keyLocation","resetPressedKeys","lastT","_wrapper","stopEvent","getButton","eventHandler","releaseCaptureHandler","addTouchMoveListener","startx","starty","touchObj","changedTouches","factor","wheelX","wheelY","addMouseWheelListener","deltaMode","DOM_DELTA_PIXEL","deltaX","deltaY","DOM_DELTA_LINE","DOM_DELTA_PAGE","addMultiMouseDownListener","timeouts","callbackName","onMousedown","clicks","isNewClick","startX","startY","timer","_clicks","eventNames","onDblclick","getModifierString","addCommandKeyListener","lastKeyDownKeyCode","lastDefaultPrevented","postMessage","postMessageId","messageName","nextFrame","mozRequestAnimationFrame","webkitRequestAnimationFrame","msRequestAnimationFrame","oRequestAnimationFrame","stringReverse","stringRepeat","stringTrimLeft","stringTrimRight","cons","arrayToMap","createMap","arrayRemove","escapeHTML","getMatchOffsets","regExp","deferredCall","fcn","deferred","schedule","isPending","delayedCall","defaultTimeout","BROKEN_SETDATA","USE_IE_MIME_TYPE","TextInput","resetSelection","inComposition","inputHandler","setSelectionRange","resetValue","PLACEHOLDER","syncValue","onContextMenuClose","closeTimeout","tempStyle","$keepTextAreaAtCursor","$moveTextAreaToCursor","isSelectionEmpty","syncSelection","isAllSelected","inPropertyChange","onPropertyChange","syncProperty","sendText","keytable","onCompositionEnd","onCompositionUpdate","onCompositionStart","onSelect","setInputHandler","getInputHandler","afterContextMenu","onTextInput","onInput","handleClipboardData","doCopy","isCut","getCopyText","onCut","onCommandKey","$readOnly","markUndoGroup","clearSelection","lastValue","setRange","syncComposition","setReadOnly","_emit","domEvent","moveToMouse","bringToFront","maxTop","textInput","DefaultHandlers","mouseHandler","$clickSelection","setDefaultHandler","onTripleClick","onQuadClick","onMouseWheel","onTouchMove","selectByLines","extendSelectionBy","selectByWords","calcDistance","ax","ay","bx","by","sqrt","calcRangeOrientation","DRAG_OFFSET","inSelection","getDocumentPosition","mousedownEvent","getSelectionRange","selectionEmpty","$blockScrolling","moveToPosition","$focusTimout","inMultiSelectMode","captureMouse","startSelect","waitForClickSelection","screenToTextCoordinates","getShiftKey","selectToPosition","setCapture","comparePoint","orientedRange","setSelectionAnchor","scrollCursorIntoView","unitName","cmpStart","cmpEnd","selectEnd","selectAllEnd","selectByWordsEnd","selectByLinesEnd","unsetStyle","releaseCapture","focusWait","getBracketRange","getWordRange","isMultiLine","getLineRange","getAccelKey","$lastScrollTime","isScrolable","isScrollableBy","speed","scrollBy","Tooltip","isOpen","$element","$parentNode","$init","setText","setHtml","setPosition","setClassName","show","hide","getHeight","getWidth","GutterHandler","showTooltip","mouseEvent","annotation","$annotations","hideTooltip","screenRow","pixelToScreenCoordinates","$pos","documentToScreenRow","tooltipAnnotation","tooltip","$tooltipFollowsMouse","moveTooltip","gutterElement","tooltipTimeout","$gutterLayer","GutterTooltip","gutterRegion","getRegion","selectTo","isMousePressed","$gutter","windowWidth","windowHeight","MouseEvent","$inSelection","propagationStopped","DragdropHandler","prevCursor","vMovement","hMovement","cursorMovedTime","moveCursorToPosition","cursorPointOnCaretMoved","SCROLL_CURSOR_HYSTERESIS","SCROLL_CURSOR_DELAY","autoScroll","layerConfig","characterWidth","editorRect","nearestXOffset","nearestYOffset","scrollCursor","vScroll","hScroll","autoScrollStartTime","AUTOSCROLL_DELAY","onDragInterval","addDragMarker","toOrientedRange","dragSelectionMarker","getSelectionStyle","$cursorLayer","setBlinking","timerId","clearDragMarker","fromOrientedRange","isInternal","getReadOnly","onMouseMoveTimer","canAccept","getDropEffect","copyAllowed","moveAllowed","copyModifierState","dropEffect","blankImage","dragOperation","mouseTarget","cancelDrag","getTextRange","onDragEnd","setCursorStyle","onDragEnter","onDragLeave","moveText","dropData","dragWait","interval","getDragDelay","startDrag","dragWaitEnd","dragReadyEnd","cursorStyle","onMouseDrag","$dragEnabled","clickCount","eventTarget","unselectable","xhr","onreadystatechange","loadScript","isAbort","qualifyURL","EventEmitter","_dispatchEvent","_eventRegistry","_defaultHandlers","defaultHandler","_signal","newCallback","_disabled_","removeDefaultHandler","capturing","reportError","optionsProvider","optList","getOptions","optionNames","forwardTo","handlesSet","AppConfig","$defaultOptions","resetOptions","setDefaultValue","setDefaultValues","optionHash","scriptOptions","scriptUrl","currentScript","_currentScript","script","attributes","deHyphenate","basePath","workerPath","modePath","themePath","m1","net","$moduleUrls","moduleUrl","sep","setModuleUrl","subst","$loading","loadModule","moduleType","afterLoad","DefaultGutterHandler","MouseHandler","focusEditor","windowBlurred","getMouseEventTarget","onMouseEvent","scrollBarV","scrollBarH","gutterEl","$dragDelay","insideStart","mousemove","$scrollSpeed","mouseMoveHandler","releaseMouse","$mouseMoved","onCaptureEnd","onCaptureInterval","$onCaptureMouseMove","cancelContextMenu","scrollSpeed","dragDelay","dragEnabled","focusTimout","tooltipFollowsMouse","FoldHandler","getFoldAt","removeFold","expandFold","onFoldWidgetClick","getParentFoldRangeData","firstRange","addFold","keyUtil","KeyBinding","$editor","$data","$handlers","kb","removeKeyboardHandler","$defaultHandler","addKeyboardHandler","handleKeyboard","getKeyboardHandler","getStatusText","$callKeyboardHandlers","toExecute","passEvent","comparePoints","compareRange","containsRange","intersects","isEnd","isStart","inside","insideEnd","compareStart","compareEnd","compareInside","clipRows","firstRow","lastRow","fromPoints","collapseRows","toScreenRange","screenPosStart","documentToScreenPosition","screenPosEnd","moveBy","getDocument","lead","selectionLead","createAnchor","selectionAnchor","$isEmpty","$keepDesiredColumnOnChange","$desiredColumn","getPosition","getSelectionAnchor","getSelectionLead","shiftSelection","columns","moveCursorTo","isBackwards","$moveSelection","moveTo","selectUp","moveCursorUp","selectDown","moveCursorDown","selectRight","moveCursorRight","selectLeft","moveCursorLeft","selectLineStart","moveCursorLineStart","selectLineEnd","moveCursorLineEnd","selectFileEnd","moveCursorFileEnd","selectFileStart","moveCursorFileStart","selectWordRight","moveCursorWordRight","selectWordLeft","moveCursorWordLeft","selectWord","selectAWord","getAWordRange","excludeLastChar","rowEnd","rowStart","getFoldLine","selectLine","moveCursorBy","getTabSize","isTabStop","firstColumnPosition","screenToDocumentPosition","beforeCursor","getDisplayLine","leadingSpace","$useEmacsStyleLineStart","getDocumentLastRowColumnPosition","textEnd","moveCursorLongWordRight","rightOfCursor","nonTokenRe","tokenRe","moveCursorLongWordLeft","getFoldStringAt","leftOfCursor","$shortWordEndIndex","whitespaceRe","moveCursorShortWordRight","moveCursorShortWordLeft","$selectLongWords","chars","screenPos","docPos","lineWidgets","keepDesiredColumn","moveCursorToScreen","desiredColumn","getRangeOfMovements","rangeList","toSingleRange","MAX_TOKEN_COUNT","Tokenizer","states","regExps","matchMappings","ruleRegExps","matchTotal","defaultToken","flag","splitterRurles","rule","adjustedregex","matchcount","groupCount","tokenArray","onMatch","$arrayTokens","$applyToken","digit","removeCapturingGroups","splitRegex","createSplitterRegexp","$setMaxTokenCount","inChClass","lastCapture","parenOpen","parenClose","square","matchAttempts","addRules","getRules","embedRules","escapeRules","append","$embeds","getEmbeds","popState","normalizeRules","processState","processed","stateName","includeName","toInsert","noEscape","keywordMap","createKeywordMapper","splitChar","keywords","$keywordList","getKeywords","$keywords","Behaviour","$behaviours","addBehaviours","behaviours","inherit","getBehaviours","addUnicodePackage","pack","packages","Ll","Lu","Lt","Lm","Lo","Mn","Mc","Me","N","Nd","Nl","No","P","Pd","Ps","Pe","Pi","Pf","Pc","Po","S","Sm","Sc","Sk","So","Z","Zs","Zl","Zp","C","Cc","Cf","Co","Cs","Cn","TokenIterator","initialRow","initialColumn","$session","$row","$rowTokens","getTokens","$tokenIndex","stepBackward","stepForward","rowCount","getCurrentToken","getCurrentTokenRow","getCurrentTokenColumn","rowTokens","tokenIndex","getCurrentTokenPosition","unicode","getTokenizer","$tokenizer","$highlightRules","blockComment","toggleCommentLines","ignoreBlankLines","shouldRemove","minIndent","insertAtTabStop","regexpStart","getUseSoftTabs","uncomment","shouldInsertSpace","removeInLine","commentWithSpace","insertInLine","testRemove","lineCommentEnd","regexpEnd","minEmptyLength","toggleBlockComment","initialRange","startRange","endRange","createWorker","createModeDelegates","$modes","delegations","functionName","$delegator","transformAction","completionKeywords","ruleItr","aLength","$createKeywordList","getCompletions","applyDelta","docLines","doNotValidate","Anchor","$onChange","$pointsInOrder","point1","point2","equalPointsInOrder","bColIsAfter","$getTransformedPoint","point","moveIfEqual","deltaIsInsert","deltaRowShift","deltaColShift","deltaStart","deltaEnd","$clipPositionToDocument","$insertRight","noClip","Document","textOrLines","$lines","insertMergedLines","getAllLines","getNewLineCharacter","$split","$detectNewLine","$autoNewLine","$newLineMode","setNewLineMode","newLineMode","getNewLineMode","isNewLine","getLinesForRange","insertLines","insertFullLines","removeLines","removeFullLines","insertNewLine","clippedPos","clonePos","$clipPosition","deleteFirstNewLine","deleteLastNewLine","deletedLines","removeNewLine","applyDeltas","deltas","revertDeltas","revertDelta","$splitAndapplyLargeDelta","MAX","indexToPosition","newlineLength","positionToIndex","BackgroundTokenizer","tokenizer","running","currentLine","$worker","workerStart","startLine","processedLines","$tokenizeRow","fireUpdateEvent","setTokenizer","setDocument","scheduleStart","$updateOnChange","SearchHighlight","clazz","setRegexp","MAX_RANGES","markerLayer","drawSingleLineMarker","FoldLine","foldData","folds","setFoldLine","shiftRow","sameRow","containsRow","lastEnd","isNewRow","getNextFoldTo","addRemoveChars","foldBefore","newFoldLine","foldLineNext","idxToPosition","lastFoldEndColumn","RangeList","pointIndex","excludeEdges","endIndex","addList","substractPoint","containsPoint","rangeAtPoint","clipped","removeAll","lineDif","consumePoint","consumeRange","restorePoint","restoreRange","Fold","subFolds","subFold","collapseChildren","addSubFold","afterStart","Folding","getFoldsInRange","foldLines","$foldData","foundFolds","getFoldsInRangeList","getAllFolds","lastFold","docRow","startFoldLine","getNextFoldLine","getFoldedRowCount","$addFoldLine","$clipRangeToDocument","startFold","endFold","removeFolds","$useWrapMode","$updateWrapData","$updateRowLengthCache","$modified","addFolds","$updating","cloneFolds","foldAll","expandFolds","unfold","expandInner","isRowFolded","startFoldRow","getRowFoldEnd","getRowFoldStart","getFoldDisplayLine","textLine","lastColumn","$cloneFoldData","fd","toggleFold","tryToUnfold","bracketPos","getCommentFoldRange","$foldStyles","manual","markbegin","markbeginend","$foldStyle","setFoldStyle","$foldMode","$setFolding","foldMode","$updateFoldWidgets","$tokenizerUpdateFoldWidgets","updateFoldWidgets","tokenizerUpdateFoldWidgets","ignoreCurrent","fw","siblings","$toggleFoldWidget","toggleFoldWidget","toggleParent","BracketMatch","charBeforeCursor","$findClosingBracket","$findOpeningBracket","$brackets","(","[","{","}","bracket","typeRe","openBracket","valueIndex","closingBracket","valueLength","EditSession","$breakpoints","$decorations","$frontMarkers","$backMarkers","$markerId","$undoSelect","onChangeFold","isFullWidth","bgTokenizer","resetCaches","$resetRowCache","$docRowCache","$screenRowCache","$getRowCacheIndex","cacheArray","$wrapData","$rowLengthCache","removedFolds","$updateInternalDataOnChange","$fromUndo","$undoManager","ignore","$deltasDoc","$deltasFold","$informUndoManager","$deltas","setUndoManager","getUndoManager","undoManager","$syncInformUndoManager","execute","mergeUndoDeltas","$defaultUndoManager","getTabString","setUseSoftTabs","$useSoftTabs","$mode","$indentWithTabs","setTabSize","$tabSize","$overwrite","setOverwrite","getOverwrite","addGutterDecoration","removeGutterDecoration","getBreakpoints","setBreakpoints","clearBreakpoints","setBreakpoint","clearBreakpoint","addDynamicMarker","markerId","$searchHighlight","highlightLines","getAnnotations","clearAnnotations","inToken","wordRange","setUseWorker","useWorker","getUseWorker","$useWorker","onReloadTokenizer","$modeId","$onChangeMode","$isPlaceholder","$stopWorker","$startWorker","attachToSession","wrapMethod","$wrapMethod","terminate","$scrollTop","getScrollTop","$scrollLeft","getScrollLeft","getScreenWidth","$computeWidth","getLineWidgetMaxWidth","screenWidth","lineWidgetsWidth","lineWidgetWidth","$wrapLimit","longestScreenLine","foldIndex","foldStart","$getStringScreenWidth","undoChanges","dontSelect","lastUndoRange","$getUndoSelection","foldDelta","redoChanges","setUndoSelect","enable","isUndo","lastDeltaIsInsert","toPosition","toRange","rowDiff","collDiff","oldStart","newStart","indentRows","outdentRows","rowRange","deleteRange","$moveLines","$clipRowToDocument","MAX_VALUE","moveLinesUp","moveLinesDown","duplicateLines","$clipColumnToRow","$wrapLimitRange","useWrapMode","getUseWrapMode","setWrapLimitRange","adjustWrapLimit","desiredLimit","$printMargin","limits","wrapLimit","$constrainWrapLimit","getWrapLimit","setWrapLimit","getWrapLimitRange","foldLineBefore","wrapData","walkTokens","$getDisplayTokens","PLACEHOLDER_START","PLACEHOLDER_BODY","$computeWrapSplits","CHAR","CHAR_EXT","PUNCTUATION","SPACE","TAB","TAB_SPACE","getWrapIndent","maxIndent","indentedSoftWrap","isCode","addSplit","displayed","lastSplit","splits","lastDocSplit","displayLength","$wrapAsCode","$indentedSoftWrap","minSplit","getScreenTabSize","maxScreenColumn","screenColumn","getRowLength","getRowLineCount","getRowWrapIndent","getScreenLastRowColumn","documentToScreenColumn","getDocumentLastRowColumn","docColumn","getRowSplitData","screenToDocumentRow","screenToDocumentColumn","rowLength","rowCache","doCache","wrapIndent","splitIndex","foldStartRow","wrapRow","screenRowOffset","getScreenLength","screenRows","$getWidgetScreenLength","$setFontMetrics","fm","$enableVarChar","getCharacterWidth","$wrap","useSoftTabs","Search","$matchIterator","skipCurrent","findAll","needle","$assembleRegExp","$isMultiLine","prevRange","replacement","preserveCase","matchIterator","backwards","lineIterator","$lineIterator","_callback","$disableFakeMultiline","wholeWord","caseSensitive","$assembleMultilineRegExp","HashHandler","commandKeyBinding","addCommands","$singleCommand","MultiHashHandler","bindKey","removeCommand","_buildKeyHash","keepCommand","ckb","keyId","cmdGroup","keyPart","parseKeys","_addCommandToBinding","isDefault","otherPos","removeCommands","bindKeys","keyList","findKeyCommand","$keyChain","CommandManager","byName","toggleRecording","$inReplay","recording","macro","$addCommandToMacro","oldMacro","replay","trimMacro","showSettingsMenu","showErrorMarker","centerSelection","prompt","gotoLine","multiSelectAction","getAllRanges","findNext","findPrevious","aceCommandGroup","navigateFileStart","navigateUp","navigateFileEnd","navigateDown","navigateWordLeft","navigateLineStart","navigateLeft","navigateWordRight","navigateLineEnd","navigateRight","selectPageDown","scrollPageDown","gotoPageDown","selectPageUp","scrollPageUp","gotoPageUp","jumpToMatching","$handlePaste","duplicateSelection","sortLines","modifyNumber","copyLinesUp","copyLinesDown","removeToLineStart","removeToLineEnd","removeWordLeft","removeWordRight","blockOutdent","splitLine","transposeLetters","transposeSelections","firstLineEndCol","selectedText","selectedCount","insertLine","exitMultiSelectMode","defaultCommands","getContainerElement","getTextAreaContainer","keyBinding","$mouseHandler","$search","$historyTracker","$initOperationListeners","_$emitInputEvent","setSession","selections","$opResetTimer","docChanged","prevOp","commadEvent","previousCommand","scrollSelectionIntoView","animateScrolling","$mergeableCommands","$mergeUndoDeltas","mergeableCommands","shouldMerge","mergeNextCommand","sequenceStartTime","$keybindingId","oldSession","$onDocumentChange","$onTokenizerUpdate","$onChangeTabSize","$onChangeWrapLimit","$onChangeWrapMode","$onChangeFold","$onChangeFrontMarker","$onChangeBackMarker","$onChangeBreakpoint","$onChangeAnnotation","$onCursorChange","$onScrollTopChange","$onScrollLeftChange","$onSelectionChange","onDocumentChange","onChangeMode","onTokenizerUpdate","onChangeTabSize","onChangeWrapLimit","onChangeWrapMode","onChangeFrontMarker","onChangeBackMarker","onChangeBreakpoint","onChangeAnnotation","onCursorChange","onScrollTopChange","onScrollLeftChange","onSelectionChange","updateFull","oldEditor","cursorPos","getTheme","getFontSize","$highlightBrackets","$bracketHighlight","$highlightPending","getCursorPosition","getMatching","$highlightTags","$highlightTagPending","$tagHighlight","prevToken","$isFocused","showCursor","visualizeFocus","hideCursor","visualizeBlur","$cursorChange","updateCursor","updateLines","$updateHighlightActiveLine","scrollToY","scrollToX","$highlightActiveLine","$selectionStyle","$maxLines","$minLines","$highlightLineMarker","$selectionMarker","$highlightSelectedWord","$getSelectionHighLightRegexp","startOuter","endOuter","lineCols","updateFrontMarkers","updateBackMarkers","updateBreakpoints","updateText","getSelectedText","inVirtualSelectionMode","getBehavioursEnabled","$mergeNextCommand","lineState","shouldOutdent","setScrollSpeed","getScrollSpeed","setDragDelay","setSelectionStyle","setHighlightActiveLine","shouldHighlight","getHighlightActiveLine","setHighlightGutterLine","getHighlightGutterLine","setHighlightSelectedWord","getHighlightSelectedWord","setAnimatedScroll","shouldAnimate","getAnimatedScroll","setShowInvisibles","showInvisibles","getShowInvisibles","setDisplayIndentGuides","getDisplayIndentGuides","getShowPrintMargin","setPrintMarginColumn","getPrintMarginColumn","setBehavioursEnabled","setWrapBehavioursEnabled","getWrapBehavioursEnabled","setShowFoldWidgets","getShowFoldWidgets","setFadeFoldWidgets","fade","getFadeFoldWidgets","new_range","originalRange","$getSelectedRows","getNumberAt","_numberRx","charRange","nr","fp","decimals","nnr","toFixed","endPoint","totalDiff","rangeIndex","subRows","showComposition","setCompositionText","hideComposition","getFirstVisibleRow","getLastVisibleRow","isRowVisible","isRowFullyVisible","getFirstFullyVisibleRow","getLastFullyVisibleRow","$getVisibleRowCount","getScrollBottomRow","getScrollTopRow","$moveByPage","scrollToRow","scrollToLine","center","alignCursor","getCursorPositionScreen","expand","matchType","bracketType","brackets","navigateTo","$tryReplace","replaceAll","getLastSearchOptions","newRange","preventScroll","revealRange","setAutoScrollEditorIntoView","shouldScroll","$scrollAnchor","scrollAnchor","onChangeSelection","onBeforeRender","onAfterRender","searchBox","$pixelPos","$resetCursorStyle","$cursorStyle","cursorLayer","setSmoothBlinking","isBlinking","selectionStyle","highlightSelectedWord","behavioursEnabled","wrapBehavioursEnabled","autoScrollEditorIntoView","keybindingId","hScrollBarAlwaysVisible","vScrollBarAlwaysVisible","highlightGutterLine","animatedScroll","printMarginColumn","printMargin","fadeFoldWidgets","showFoldWidgets","showLineNumbers","displayIndentGuides","scrollPastEnd","fixedWidthGutter","UndoManager","$serializeDelta","$deserializeDelta","cloneDeltaSetsObj","deltaSets_old","fnGetModifiedDelta","deltaSets_new","deltaSet_old","deltaSet_new","delta_old","deltaSets","$doc","hasUndo","dirtyCounter","$undoStack","$redoStack","undoSelectionRange","redoSelectionRange","$deserializeDeltas","hasRedo","$serializeDeltas","Gutter","parentEl","$showFoldWidgets","$updateAnnotations","$cells","rowInfo","annoText","gutterOffset","breakpoints","decorations","$firstLineNumber","gutterRenderer","$renderer","foldWidget","$fixedWidth","$padding","$computePadding","$showLineNumbers","setShowLineNumbers","getShowLineNumbers","Marker","getBorderClass","setPadding","setMarkers","$getTop","drawFullLineMarker","drawScreenLineMarker","drawTextMarker","drawMultiLineMarker","firstRowScreen","stringBuilder","extraStyle","radiusClass","extraLength","Text","$updateEolChar","EOF_CHAR","EOL_CHAR_LF","EOL_CHAR_CRLF","EOL_CHAR","TAB_CHAR","SPACE_CHAR","getLineHeight","$fontMetrics","$characterSize","$pollSizeChanges","checkForSizeChanges","$pollSizeChangesTimer","$computeTabString","$tabStrings","tabStr","$indentGuideRe","spaceClass","tabClass","spaceContent","tabContent","scrollLines","lineElements","lineElementsIdx","lineElement","$renderLine","$useLineGroups","oldConfig","$renderLinesFragment","$textToken","rparen","lparen","$renderToken","replaceReg","replaceFunc","tabIdx","idx4","classToUse","renderIndentGuide","cols","$renderWrappedLine","onlyContents","splitChars","$renderSimpleLine","$getFoldLineTokens","addTokens","renderTokens","$measureNode","isIE8","Cursor","isVisible","blinkInterval","smoothBlinking","addCursor","$updateCursors","$updateVisibility","$updateOpacity","blinking","restartTimer","setBlinkInterval","removeCursor","intervalId","timeoutId","blink","getPixelPosition","onScreen","cursorLeft","cursorTop","$selectionMarkers","cursorIndex","pixelPos","drawCursor","$setOverwrite","ScrollBar","classSuffix","setVisible","skipEvent","VScrollBar","$scrollbarWidth","setHeight","setInnerHeight","setScrollHeight","HScrollBar","setWidth","setInnerWidth","setScrollWidth","ScrollBarV","ScrollBarH","RenderLoop","onRender","CHAR_COUNT","FontMetrics","$setMeasureNodeStyles","$main","$testFractionalRect","whiteSpace","$measureSizes","boldSize","charSizes","allowBoldFonts","setPolling","$measureCharWidth","GutterLayer","MarkerLayer","TextLayer","CursorLayer","editorCss","VirtualRenderer","onGutterResize","$markerBack","textLayer","$textLayer","canvas","$markerFront","$horizScroll","$vScroll","scrollBar","$scrollAnimation","scrollMargin","updateCharacterSize","$size","scrollerHeight","scrollerWidth","$dirty","$loop","$renderChanges","CHANGE_FULL","CHANGE_CURSOR","CHANGE_MARKER","CHANGE_GUTTER","CHANGE_SCROLL","CHANGE_LINES","CHANGE_TEXT","CHANGE_SIZE","CHANGE_MARKER_BACK","CHANGE_MARKER_FRONT","CHANGE_H_SCROLL","$allowBoldFonts","$updatePrintMargin","onChangeNewLineMode","$changedLines","updateFontSize","$changes","$updateSizeAsync","resizing","$updateCachedSize","$extraHeight","oldSize","$showGutter","$computeLayerConfig","availableWidth","$showPrintMargin","$printMarginColumn","$animatedScroll","getShowGutter","$updateGutterLineHighlight","$gutterLineHighlight","$printMarginEl","containerEl","posTop","posLeft","$composition","setScrollMargin","sm","getHScrollBarAlwaysVisible","$hScrollBarAlwaysVisible","setHScrollBarAlwaysVisible","alwaysVisible","getVScrollBarAlwaysVisible","$vScrollBarAlwaysVisible","setVScrollBarAlwaysVisible","$updateScrollBarV","$scrollPastEnd","$updateScrollBarH","$frozen","unfreeze","marginTop","$highlightGutterLine","$updateLines","$autosize","desiredHeight","$gutterWidth","hideScrollbars","screenLines","longestLine","$getLongestLine","horizScroll","hScrollChanged","vScrollBefore","vScrollChanged","firstRowHeight","charCount","$viewMargin","topMargin","bottomMargin","alignment","STEPS","$calcSteps","fromValue","toValue","steps","x_min","initialScroll","oldSteps","$timer","canvasPos","textToScreenCoordinates","keepTextAreaAtCursor","$themeId","$theme","setMouseCursor","WorkerClient","topLevelNamespaces","classname","workerUrl","$sendDeltaQueue","changeListener","onMessage","nameToUrl","toUrl","normalizePath","$normalizePath","tlns","workerSrc","Blob","blob","blobUrl","URL","webkitURL","createObjectURL","DOMException","$workerBlob","blobURL","revokeObjectURL","callbackId","onmessage","deltaQueue","ex","attachToDocument","q","BlobBuilder","WebKitBlobBuilder","MozBlobBuilder","blobBuilder","getBlob","UIWorkerClient","messageBuffer","main","emitSync","sender","processNext","setEmitSync","Main","PlaceHolder","mainClass","othersClass","$onUpdate","onUpdate","$others","undoStack","$undostack","$undoStackDepth","setup","selectionBefore","showOtherMarkers","othersActive","hideOtherMarkers","updateAnchors","inMainRange","distanceFromStart","newPos","updateMarkers","updateMarker","undosRequired","isSamePoint","accel","selectionMode","isMultiSelect","mouseX","mouseY","onMouseSelection","screenAnchor","screenCursor","$enableJumpToDef","$blockSelectEnabled","addSelectionMarker","removeSelectionMarker","tmpSel","rectSel","blockSelect","newCursor","removeSelectionMarkers","rectangularRangeBlock","updateSelectionMarkers","onMouseSelectionEnd","onSelectionInterval","selectMoreLines","selectMore","multiSelect","splitIntoLines","alignCursors","multiSelectCommands","isAvailable","MultiSelect","$multiselectOnSessionChange","$onAddRange","$onRemoveRange","$onMultiSelect","$onSingleSelect","onSessionChange","$checkMultiselectChange","addAltCursorListeners","altCursor","altDown","getSelectionMarkers","$blockChangeEvents","mergeOverlappingRanges","lastRange","$initRangeList","toggleBlockSelection","includeEmptyLines","xBackwards","yBackwards","docEnd","selectionMarkerCount","markerList","$onMultiSelectExec","inVirtualMode","forEachSelection","keepOrder","$byLines","reg","cmdResult","anim","additive","screenLead","toRemove","stopAtFirst","sameRowRanges","maxCol","minSpace","spaceOffsets","spaceOffset","lr","guessRange","$reAlignText","forceLeft","alignLeft","startW","textW","endW","alignRight","unAlign","isLeftAligned","isRightAligned","enableMultiselect","enableBlockSelect","foldingStartMarker","foldingStopMarker","openingBracketBlock","closingBracketBlock","LineWidgets","widgetManager","updateOnChange","renderWidgets","measureWidgets","_changedWidgets","$onChangeEditor","updateOnFold","_inDocument","$updateRows","noWidgets","$oldWidget","pixelHeight","$fold","onWidgetChanged","w1","getWidgetsAtRow","changedWidgets","fixedWidth","coverLine","fullWidth","binarySearch","comparator","findAnnotations","oldWidget","gutterAnno","sc","arrow","onmousedown","_id","createEditSession","__WEBPACK_EXTERNAL_MODULE_1__","_attrAccept","_attrAccept2","_getDataTransferItems","_getDataTransferItems2","supportMultiple","Dropzone","onFileDialogCancel","fileAccepted","isFileDialogActive","isDragActive","enterCounter","onfocus","allFilesAccepted","isDragReject","onDropAccepted","onDropRejected","disablePreview","fileList","acceptedFiles","rejectedFiles","preview","fileMatchSize","fileInputEl","FileList","accept","maxSize","minSize","click","rejectClassName","rejectStyle","_state","borderRadius","appliedStyle","inputAttributes","customProps","divProps","__e","__g","G","F","B","core","setDesc","getProto","isEnum","getDesc","setDescs","getKeys","getNames","inspectSource","getDataTransferFiles","isMultipleAllowed","dataTransferItemsList","NotificationItem","Constants","NotificationContainer","getStyles","_style","overrideWidth","onRemove","noAnimation","allowHTML","ReactDOM","Helpers","whichTransitionEvent","OTransition","MozTransition","WebkitTransition","transitionKey","_noAnimation","_styles","byElement","dismiss","messageWrapper","actionWrapper","_notificationTimer","_height","_isMounted","_removeCount","_getCssPropertyByPosition","_defaultAction","_hideNotification","_removeNotification","_dismiss","_showNotification","_onTransitionEnd","transitionEvent","Timer","_handleMouseEnter","pause","_handleMouseLeave","resume","_allowHTML","__html","notificationStyle","cssByPos","actionButton","overrideStyle","isHidden","dangerouslySetInnerHTML","onMouseEnter","onMouseLeave","Styles","NotificationSystem","_getStyles","setOverrideStyle","Wrapper","Containers","DefaultStyle","_element","_didNotificationRemoved","toCheck","_notification","onAdd","removeNotification","clearNotifications","containers","defaultWidth","defaultColors","rgb","hex","defaultShadowOpacity","STYLES","WebkitBoxSizing","MozBoxSizing","boxSizing","WebkitTransform","willChange","WebkitBoxShadow","MozBoxShadow","boxShadow","Title","MessageWrapper","Dismiss","textAlign","Action","ActionWrapper","_storeShape","_storeShape2","only","WrappedComponent","tryCatch","errorObject","mergeProps","shouldSubscribe","mapState","defaultMapStateToProps","mapDispatch","_wrapActionCreators2","defaultMapDispatchToProps","finalMergeProps","defaultMergeProps","_options$pure","pure","_options$withRef","withRef","checkMergedEquals","nextVersion","computeMergedProps","stateProps","dispatchProps","parentProps","mergedProps","connectDisplayName","Connect","storeState","clearCache","haveOwnPropsChanged","hasStoreStateChanged","computeStateProps","finalMapStateToProps","configureFinalMapState","doStatePropsDependOnOwnProps","mappedState","isFactory","computeDispatchProps","finalMapDispatchToProps","configureFinalMapDispatch","doDispatchPropsDependOnOwnProps","mappedDispatch","updateStatePropsIfNeeded","nextStateProps","_shallowEqual2","updateDispatchPropsIfNeeded","nextDispatchProps","updateMergedPropsIfNeeded","nextMergedProps","trySubscribe","tryUnsubscribe","haveStatePropsBeenPrecalculated","statePropsPrecalculationError","renderedElement","prevStoreState","haveStatePropsChanged","getWrappedInstance","wrappedInstance","shouldUpdateStateProps","shouldUpdateDispatchProps","haveDispatchPropsChanged","haveMergedPropsChanged","_hoistNonReactStatics2","_shallowEqual","_wrapActionCreators","_hoistNonReactStatics","wrapActionCreators","actionCreators","_toConsumableArray","arr2","_action$payload","_ref$selectLocationSt","selectLocationState","defaultSelectLocationState","_ref$adjustUrlOnRepla","adjustUrlOnReplay","initialLocation","isTimeTraveling","unsubscribeFromStore","unsubscribeFromHistory","getLocationInStore","useInitialIfEmpty","locationState","handleStoreChange","locationInStore","handleLocationChange","lastPublishedLocation","unsubscribed","_Link","_Redirect","indexRoute","getComponent","getComponents","_createTransitionManager2","_createTransitionManager3","_RouterContext","_RouterUtils","onError","matchContext","handleError","_unlisten","createTransitionHook","asyncArity","pendingHooks","getEnterHooks","enterHooks","getChangeHooks","changeHooks","runTransitionHooks","wrappedNext","onLeave","PendingHooks","middlewares","withContext","middleware","renderRouterContext","withComponent","renderRouteComponent","makeCreateElement","baseCreateElement","renderProps","_createBrowserHistory","_createBrowserHistory2","_createRouterHistory","_createRouterHistory2","routeParamsChanged","computeChangedRoutes","prevRoutes","nextRoutes","parentIsLeaving","isLeaving","paramsChanged","getComponentsForRoute","componentReturn","_PromiseUtils","getRouteParams","_createHashHistory","_createHashHistory2","deepEqual","pathIsActive","currentPathname","routeIsActive","queryIsActive","activeQuery","_createTransitionManager","getChildRoutes","createParams","childRoutesReturn","getIndexRoute","indexRoutesReturn","pathless","childRoute","assignParams","matchRouteDeep","_ret2","_match$routes","onChildRoutes","matchRoutes","WithRouter","calculateNodeHeight","uiTextNode","useCache","_calculateNodeStyling","calculateNodeStyling","paddingSize","borderSize","sizingStyle","HIDDEN_TEXTAREA_STYLE","singleRowHeight","nodeRef","computedStyleCache","SIZING_STYLE","nodeInfo","dateOrNull","msgs","moveBack","moveForward","_VIEW","_OPPOSITE_DIRECTION","_MULTIPLIER","_Widget","_Widget2","_Footer","_Footer2","_Month","_Month2","_Year","_Year2","_Decade","_Decade2","_Century","_Century2","_propTypes","_propTypes2","_uncontrollable","_uncontrollable2","_SlideTransition","_SlideTransition2","constants","_2","_3","VIEW_OPTIONS","ALT_VIEW","NEXT_VIEW","VIEW_UNIT","VIEW","ARROWS_TO_DIRECTION","ArrowDown","ArrowUp","ArrowRight","ArrowLeft","OPPOSITE_DIRECTION","MULTIPLIER","onCurrentDateChange","initialView","finalView","onViewChange","onNavigate","dayComponent","headerFormat","footerFormat","dayFormat","monthFormat","yearFormat","decadeFormat","centuryFormat","Calendar","selectedIndex","changeCurrentDate","inRangeValue","slideDirection","View","todaysDate","todayNotInRange","viewID","labelID","elementProps","viewProps","handleKeyDown","_label","labelId","upDisabled","prevDisabled","nextDate","nextDisabled","navigate","onMoveLeft","onMoveRight","onAnimate","slideDir","isValidView","inRangeDate","multi","_value","getCenturyDecades","_date","_CalendarView","_CalendarView2","optionId","activeId","renderRow","rowIdx","colIdx","cal","formatDate","formatsParser","_activeElement","_activeElement2","_Popup","_Popup2","_Calendar","_Calendar2","_TimeList","_TimeList2","_DateTimePickerInput","_DateTimePickerInput2","ControlledComponent","viewEnum","onToggle","timeComponent","autoFocus","calendarButton","timeButton","DateTimePicker","calIsActive","timeIsActive","renderInput","ariaLabelledby","ariaDescribedby","editing","aria-haspopup","aria-describedby","aria-expanded","aria-busy","aria-owns","renderButtons","_click","renderCalendar","inputID","calendarProps","handleDateSelect","aria-live","renderTimeList","timeListProps","onOpening","timePopup","onMove","_scrollTo","handleTimeSelect","preserveDate","itemComponent","_props5","timeListID","dateListID","shouldRenderList","constrain","_props6","_props7","calPopup","valueInput","dateTime","_Input","_Input2","textValue","_needsFlush","getDecadeYears","rtl","aria-atomic","Input","autoComplete","_ListOption","_ListOption2","optionComponent","emptyList","ItemComponent","Option","currentId","ListOption","rw-state-focus","rw-state-selected","rw-state-disabled","rw-state-readonly","MonthView","renderHeaders","Day","labelFormat","formattedDate","TRANSLATION_MAP","_configuration2","nextChildMapping","_OVERFLOW","_style2","_height2","_camelizeStyle","_camelizeStyle2","_configuration","CLOSING","CLOSED","OPENING","OPEN","OVERFLOW","onClosing","onClose","onOpen","initialRender","contentChanged","pvProps","opening","cancelNextCallback","isTransitioning","renderChildren","getOffsetForStatus","safeSetState","_CLOSED$CLOSING$OPENI","_in","easing","_transition","setNextCallback","nextCallback","getChild","_width","_width2","childFactory","onAnimating","isLastChild","isNextChild","leaving","entering","animatingKeys","performEnter","performLeave","componentWillEnter","_handleDoneEntering","_tryFinish","enterkey","componentDidEnter","componentWillLeave","_handleDoneLeaving","leavekey","componentDidLeave","_ReplaceTransitionGroup","_ReplaceTransitionGroup2","SlideChildGroup","ORGINAL_POSITION","_wrapChild","_dates3","_List","_List2","focusedItem","_closestDate","valChanged","minChanged","maxChanged","localeChanged","roundTo","_dateValues","startDay","useDate","_searchTerm","YearView","localizers","setAnimate","animatefn","setLocalizers","setDateLocalizer","setNumberLocalizer","getMoment","localField","endOfDecade","endOfCentury","hasLocaleData","_configure2","_configure","EMPTY_VALUE","nextIdx","_scrollTo2","_scrollTo3","shown","_scrollState","lastVisible","lastItem","scrollCancel","fired","_off2","_properties2","cssProperties","fakeEvent","cssValues","transforms","_hyphenate2","_on2","_hyphenate","_on","_off","_properties","AutoFocusUtils","focusDOMComponent","isPresto","isKeypressCommand","getCompositionEventType","compositionStart","compositionEnd","compositionUpdate","isFallbackCompositionStart","START_KEYCODE","isFallbackCompositionEnd","END_KEYCODES","getDataFromCustomEvent","extractCompositionEvent","fallbackData","canUseCompositionEvent","currentComposition","useFallbackCompositionData","FallbackCompositionState","SyntheticCompositionEvent","customData","getNativeBeforeInputChars","SPACEBAR_CODE","hasSpaceKeypress","SPACEBAR_CHAR","getFallbackBeforeInputChars","extractBeforeInputEvent","canUseTextInputEvent","SyntheticInputEvent","beforeInput","onBeforeInput","onBeforeInputCapture","onCompositionEndCapture","onCompositionStartCapture","onCompositionUpdateCapture","BeforeInputEventPlugin","dangerousStyleValue","processStyleName","styleName","hasShorthandPropertyBug","styleFloatAccessor","cssFloat","CSSPropertyOperations","createMarkupForStyles","serialized","styleValue","setValueForStyles","expansion","individualStyleName","shouldUseChangeEvent","manualDispatchChangeEvent","activeElementInst","runEventInBatch","startWatchingForChangeEventIE8","stopWatchingForChangeEventIE8","getTargetInstForChangeEvent","handleEventsForChangeEventIE8","startWatchingForValueChange","activeElementValue","activeElementValueProp","newValueProp","handlePropertyChange","stopWatchingForValueChange","getTargetInstForInputEvent","handleEventsForInputEventIE","getTargetInstForInputEventIE","shouldUseClickEvent","getTargetInstForClickEvent","onChangeCapture","doesChangeEventBubble","isInputEventSupported","ChangeEventPlugin","getTargetInstFunc","handleEventFunc","targetNode","oldChild","newChild","DefaultEventPluginOrder","ResponderEventPlugin","SimpleEventPlugin","TapEventPlugin","EnterLeaveEventPlugin","SelectEventPlugin","mouseEnter","mouseLeave","related","_root","_startText","_fallbackText","startLength","endValue","endLength","minEnd","sliceTail","HTMLDOMPropertyConfig","acceptCharset","accessKey","allowFullScreen","allowTransparency","async","autoPlay","cellPadding","cellSpacing","charSet","challenge","cite","classID","colSpan","contextMenu","controls","crossOrigin","download","encType","formAction","formEncType","formMethod","formNoValidate","formTarget","frameBorder","headers","hrefLang","htmlFor","httpEquiv","inputMode","integrity","keyParams","keyType","manifest","marginHeight","marginWidth","media","mediaGroup","minLength","muted","nonce","noValidate","optimum","playsInline","poster","preload","profile","radioGroup","referrerPolicy","required","reversed","rowSpan","sandbox","scoped","scrolling","seamless","spellCheck","srcDoc","srcLang","srcSet","summary","useMap","wmode","about","datatype","inlist","resource","typeof","vocab","autoCapitalize","autoCorrect","autoSave","itemProp","itemScope","itemType","itemID","itemRef","security","ReactPureComponent","ReactDOMFactories","ReactVersion","onlyChild","__spread","createMixin","DOM","instantiateChild","childInstances","selfDebugID","keyUnique","ReactChildReconciler","instantiateChildren","nestedChildNodes","updateChildren","prevChildren","nextChildren","mountImages","removedNodes","prevChild","nextChildInstance","nextChildMountImage","unmountChildren","renderedChildren","renderedChild","ReactDOMIDOperations","ReactComponentBrowserEnvironment","dangerouslyProcessChildrenUpdates","StatelessComponent","warnIfInvalidElement","shouldConstruct","isPureComponent","isPureReactComponent","checkReactTypeSpec","CompositeTypes","ImpureClass","PureClass","StatelessFunctional","nextMountID","ReactCompositeComponentMixin","_compositeType","_calledComponentWillUnmount","publicProps","publicContext","_processContext","updateQueue","getUpdateQueue","doConstruct","_constructComponent","unstable_handleError","performInitialMountWithErrorHandling","performInitialMount","_constructComponentWithoutOwner","_processPendingState","debugID","_renderValidatedComponent","_maskContext","maskedContext","currentContext","_checkContextTypes","typeSpecs","prevContext","prevParentElement","nextParentElement","prevUnmaskedContext","nextUnmaskedContext","willReceive","shouldUpdate","_performComponentUpdate","unmaskedContext","hasComponentDidUpdate","_updateRenderedComponent","prevComponentInstance","prevRenderedElement","nextRenderedElement","oldHostNode","nextMarkup","_replaceNodeWithMarkup","prevInstance","_renderValidatedComponentWithoutOwnerOrContext","renderedComponent","attachRef","publicComponentInstance","detachRef","ReactDefaultInjection","unstable_renderSubtreeIntoContainer","__REACT_DEVTOOLS_GLOBAL_HOOK__","Mount","Reconciler","ReactDOMButton","assertValidProps","voidElementTags","HTML","enqueuePutListener","ReactServerRenderingTransaction","containerInfo","isDocumentFragment","_node","DOC_FRAGMENT_TYPE","listenerToPut","inputPostMount","ReactDOMInput","postMountWrapper","textareaPostMount","ReactDOMTextarea","optionPostMount","ReactDOMOption","trapBubbledEventsLocal","getNode","mediaEvents","postUpdateSelectWrapper","validateDangerousTag","validatedTagCache","VALID_TAG_REGEX","isCustomComponent","ReactDOMComponent","_namespaceURI","_previousStyle","_previousStyleCopy","ReactMultiChild","CONTENT_TYPES","STYLE","suppressContentEditableWarning","omittedCloseTags","newlineEatingTags","listing","globalIdCounter","_idCounter","parentTag","mountImage","_updateDOMProperties","lazyTree","_createInitialChildren","tagOpen","_createOpenTagMarkupAndPutListeners","tagContent","_createContentMarkup","propKey","renderToStaticMarkup","contentToUse","childrenToUse","mountChildren","lastProps","_updateDOMChildren","updateWrapper","styleUpdates","lastStyle","nextProp","lastProp","lastContent","nextContent","lastHtml","nextHtml","lastChildren","lastHasContentOrHtml","nextHasContentOrHtml","updateTextContent","updateMarkup","topLevelWrapper","ReactDOMEmptyComponent","domID","createComment","createDOMFactory","audio","bdi","bdo","big","datalist","details","dfn","dialog","figcaption","figure","iframe","ins","kbd","meter","noscript","picture","progress","ruby","samp","small","sup","var","video","circle","clipPath","defs","ellipse","linearGradient","mask","polygon","polyline","radialGradient","tspan","forceUpdateIfMounted","rootNode","queryRoot","querySelectorAll","otherNode","otherInstance","initialChecked","flattenChildren","didWarnInvalidOptionChildren","selectValue","selectParent","isCollapsed","getIEOffsets","selectedRange","selectedLength","fromStart","setEndPoint","startOffset","endOffset","getModernOffsets","currentRange","startContainer","endContainer","isSelectionCollapsed","rangeLength","tempRange","cloneRange","selectNodeContents","isTempRangeCollapsed","detectionRange","isBackward","setIEOffsets","setModernOffsets","startMarker","getNodeForCharacterOffset","endMarker","useIEOffsets","ReactDOMTextComponent","_stringText","_closingComment","_commentNodes","openingValue","closingValue","escapedText","nextText","nextStringText","commentNodes","hostNode","instA","instB","depthA","tempA","depthB","tempB","pathFrom","pathTo","ReactDefaultBatchingStrategyTransaction","RESET_BATCHED_UPDATES","ReactDefaultBatchingStrategy","FLUSH_BATCHED_UPDATES","alreadyBatchingUpdates","alreadyInjected","ReactInjection","ReactDOMTreeTraversal","HostComponent","SVGDOMPropertyConfig","EmptyComponent","Updates","runEventQueueInBatch","findParent","TopLevelCallbackBookKeeping","ancestors","handleTopLevelImpl","ancestor","_handleTopLevel","scrollValueMonitor","_enabled","dispatchEvent","adler32","TAG_END","COMMENT_START","addChecksumToMarkup","existingChecksum","markupChecksum","makeInsertMarkup","makeMove","makeRemove","makeSetMarkup","makeTextContent","processQueue","_reconcilerInstantiateChildren","nestedChildren","_reconcilerUpdateChildren","nextNestedChildrenElements","_updateChildren","nextMountIndex","lastPlacedNode","_mountChildAtIndex","_unmountChild","createChild","ReactOwner","isValidOwner","addComponentAsRefTo","removeComponentAsRefFrom","ownerPublicInstance","ComponentDummy","reactMountReady","SELECTION_RESTORATION","EVENT_SUPPRESSION","currentlyEnabled","previouslyEnabled","ON_DOM_READY_QUEUEING","ReactServerUpdateQueue","noopCallbackQueue","NS","xlink","xml","ATTRS","accentHeight","accumulate","alignmentBaseline","allowReorder","alphabetic","amplitude","arabicForm","ascent","attributeType","autoReverse","azimuth","baseFrequency","baseProfile","baselineShift","bbox","begin","calcMode","capHeight","clipRule","clipPathUnits","colorInterpolation","colorInterpolationFilters","colorProfile","colorRendering","contentScriptType","contentStyleType","cx","decelerate","descent","diffuseConstant","dominantBaseline","edgeMode","elevation","enableBackground","exponent","externalResourcesRequired","fillRule","filterRes","filterUnits","floodColor","focusable","fontSizeAdjust","fontStretch","fx","g1","g2","glyphName","glyphOrientationHorizontal","glyphOrientationVertical","glyphRef","gradientTransform","gradientUnits","hanging","horizAdvX","horizOriginX","ideographic","imageRendering","in","in2","intercept","k1","k2","k3","k4","kernelMatrix","kernelUnitLength","kerning","keyPoints","keySplines","keyTimes","lengthAdjust","letterSpacing","lightingColor","limitingConeAngle","markerEnd","markerMid","markerStart","markerHeight","markerUnits","markerWidth","maskContentUnits","maskUnits","mathematical","numOctaves","orient","orientation","overlinePosition","overlineThickness","paintOrder","panose1","pathLength","patternContentUnits","patternTransform","patternUnits","points","pointsAtX","pointsAtY","pointsAtZ","preserveAlpha","preserveAspectRatio","primitiveUnits","radius","refX","refY","renderingIntent","repeatCount","repeatDur","requiredExtensions","requiredFeatures","restart","rotate","rx","ry","scale","shapeRendering","slope","spacing","specularConstant","specularExponent","spreadMethod","stdDeviation","stemh","stemv","stitchTiles","stopColor","strikethroughPosition","strikethroughThickness","stroke","strokeLinecap","strokeLinejoin","surfaceScale","systemLanguage","tableValues","targetX","targetY","textAnchor","textDecoration","textLength","u1","u2","underlinePosition","underlineThickness","unicodeBidi","unicodeRange","unitsPerEm","vAlphabetic","vHanging","vIdeographic","vMathematical","vectorEffect","vertAdvY","vertOriginX","vertOriginY","viewBox","viewTarget","widths","wordSpacing","writingMode","xHeight","xChannelSelector","xlinkActuate","xlinkArcrole","xlinkHref","xlinkRole","xlinkShow","xlinkTitle","xlinkType","xmlBase","xmlns","xmlnsXlink","xmlLang","xmlSpace","yChannelSelector","z","zoomAndPan","boundingTop","boundingLeft","constructSelectEvent","mouseDown","currentSelection","lastSelection","skipSelectionChangeEvent","onSelectCapture","hasListener","ON_SELECT_KEY","SyntheticAnimationEvent","SyntheticClipboardEvent","SyntheticFocusEvent","SyntheticKeyboardEvent","SyntheticDragEvent","SyntheticTouchEvent","SyntheticTransitionEvent","SyntheticWheelEvent","abort","onAbort","onAbortCapture","animationEnd","onAnimationEnd","onAnimationEndCapture","animationIteration","onAnimationIteration","onAnimationIterationCapture","animationStart","onAnimationStart","onAnimationStartCapture","onBlurCapture","canPlay","onCanPlay","onCanPlayCapture","canPlayThrough","onCanPlayThrough","onCanPlayThroughCapture","onContextMenuCapture","onCopyCapture","onCutCapture","doubleClick","drag","onDrag","onDragCapture","onDragEndCapture","dragEnter","onDragEnterCapture","dragExit","onDragExit","onDragExitCapture","dragLeave","onDragLeaveCapture","dragOver","onDragOverCapture","dragStart","onDragStartCapture","onDropCapture","durationChange","onDurationChange","onDurationChangeCapture","emptied","onEmptied","onEmptiedCapture","encrypted","onEncrypted","onEncryptedCapture","ended","onEnded","onEndedCapture","onErrorCapture","onFocusCapture","onInputCapture","onInvalid","onInvalidCapture","keyDown","onKeyDownCapture","keyPress","onKeyPressCapture","keyUp","onKeyUpCapture","onLoadCapture","loadedData","onLoadedData","onLoadedDataCapture","loadedMetadata","onLoadedMetadata","onLoadedMetadataCapture","loadStart","onLoadStart","onLoadStartCapture","mouseMove","mouseOut","onMouseOut","onMouseOutCapture","mouseOver","onMouseOver","onMouseOverCapture","mouseUp","onPasteCapture","onPause","onPauseCapture","play","onPlay","onPlayCapture","playing","onPlaying","onPlayingCapture","onProgress","onProgressCapture","rateChange","onRateChange","onRateChangeCapture","onReset","onResetCapture","onScrollCapture","seeked","onSeeked","onSeekedCapture","seeking","onSeeking","onSeekingCapture","stalled","onStalled","onStalledCapture","onSubmit","onSubmitCapture","suspend","onSuspend","onSuspendCapture","timeUpdate","onTimeUpdate","onTimeUpdateCapture","touchCancel","onTouchCancel","onTouchCancelCapture","touchEnd","onTouchEnd","onTouchEndCapture","touchMove","onTouchMoveCapture","touchStart","onTouchStart","onTouchStartCapture","transitionEnd","onTransitionEnd","onTransitionEndCapture","volumeChange","onVolumeChange","onVolumeChangeCapture","waiting","onWaiting","onWaitingCapture","wheel","onWheel","onWheelCapture","topLevelEventsToDispatchConfig","ON_CLICK_KEY","onClickListeners","EventConstructor","AnimationEventInterface","animationName","elapsedTime","pseudoElement","ClipboardEventInterface","CompositionEventInterface","DragEventInterface","FocusEventInterface","InputEventInterface","getEventKey","KeyboardEventInterface","TouchEventInterface","targetTouches","TransitionEventInterface","WheelEventInterface","deltaZ","MOD","typeSpecName","isNonNumeric","componentOrElement","flattenSingleChildIntoContext","normalizeKey","translateToKey","Spacebar","Del","Win","Menu","Apps","Scroll","MozPrintableKey","12","getLeafNode","getSiblingNode","nodeStart","nodeEnd","makePrefixMap","styleProp","prefixedEventNames","vendorPrefixes","prefixMap","animationend","animationiteration","animationstart","transitionend","createThunkMiddleware","extraArgument","thunk","withExtraArgument","_dispatch","middlewareAPI","bindActionCreator","actionCreator","boundActionCreators","getUndefinedStateErrorMessage","actionType","actionName","assertReducerSanity","reducers","reducerKeys","finalReducers","sanityError","finalReducerKeys","hasChanged","previousStateForKey","nextStateForKey","errorMessage","tabAndIndentMarkdownList","shiftTabAndUnindentMarkdownList","fixShortcut","createIcon","enableTooltips","shortcuts","createTootlip","createSep","getBindingName","stat","bold","italic","toggleFullScreen","saved_overflow","toolbarButton","toolbarElements","fullscreen","sidebyside","toggleSideBySide","toggleBold","_toggleBlock","blockStyles","toggleItalic","toggleStrikethrough","toggleCodeBlock","fencing_line","token_state","code_type","line_num","firstTok","lastTok","insertFencingAtSelection","cur_start","cur_end","fenceCharsToInsert","start_line_sel","end_line_sel","sel_multi","repl_start","repl_end","_replaceSelection","block_start","block_end","is_code","start_text","start_line","end_text","end_line","fencedTok","fence_chars","search_from","next_line","next_line_last_tok","next_line_indented","no_sel_and_starting_of_line","toggleBlockquote","_toggleLine","toggleHeadingSmaller","_toggleHeading","toggleHeadingBigger","toggleHeading1","toggleHeading2","toggleHeading3","toggleUnorderedList","toggleOrderedList","cleanBlock","_cleanBlock","drawLink","promptURLs","promptTexts","insertTexts","drawImage","drawTable","drawHorizontalRule","horizontalRule","useSideBySideListener","previewNormal","toolbar","toolbar_div","sideBySideRenderingFunction","previewRender","togglePreview","startEnd","startPoint","currHeadingLevel","repl","unordered-list","ordered-list","start_chars","end_chars","_mergeProperties","wordCount","SimpleMDE","autoDownloadFA","autoDownloadFontAwesome","toolbarBuiltInButtons","showIcons","plainText","markdown","parsingConfig","autosave","unique_id","foundSavedValue","isLocalStorageAvailable","localStorage","bindings","isMobile","heading-smaller","heading-bigger","heading-1","heading-2","heading-3","separator-1","clean-block","separator-2","horizontal-rule","separator-3","side-by-side","separator-4","guide","separator-5","markedOptions","renderingConfig","singleLineBreaks","codeSyntaxHighlighting","hljs","highlightAuto","_rendered","spellChecker","styleSelectedText","forceSync","gui","createToolbar","statusbar","createStatusbar","sideBySide","createSideBySide","temp_cm","simplemde","getHours","getMinutes","autosaveTimeoutId","clearAutosavedValue","cScroll","pScroll","ratio","onscroll","toolbarData","toolbarGuideIcon","hideIcons","nonSeparatorIconsFollow","toolbarTips","onclick","cmWrapper","isPreviewActive","isSideBySideActive","isFullscreenActive","_symbols","removelist","lengths","multicharmap","charmap","rl","<3","&&","||","w/","À","Á","Â","Ã","Ä","Å","Æ","Ç","È","É","Ê","Ë","Ì","Í","Î","Ï","Ð","Ñ","Ò","Ó","Ô","Õ","Ö","Ő","Ø","Ù","Ú","Û","Ü","Ű","Ý","Þ","ß","à","á","â","ã","ä","å","æ","ç","è","é","ê","ë","ì","í","î","ï","ð","ñ","ò","ó","ô","õ","ö","ő","ø","ù","ú","û","ü","ű","ý","þ","ÿ","ẞ","α","β","γ","δ","ε","ζ","η","θ","ι","κ","λ","μ","ν","ξ","ο","π","ρ","σ","τ","υ","φ","χ","ψ","ω","ά","έ","ί","ό","ύ","ή","ώ","ς","ϊ","ΰ","ϋ","ΐ","Α","Β","Γ","Δ","Ε","Ζ","Η","Θ","Ι","Κ","Λ","Μ","Ν","Ξ","Ο","Π","Ρ","Σ","Τ","Υ","Φ","Χ","Ψ","Ω","Ά","Έ","Ί","Ό","Ύ","Ή","Ώ","Ϊ","Ϋ","ş","Ş","ı","İ","ğ","Ğ","а","б","в","г","д","е","ё","ж","з","и","й","к","л","м","н","о","п","р","с","т","у","ф","х","ц","ч","ш","щ","ъ","ы","ь","э","ю","я","А","Б","В","Г","Д","Е","Ё","Ж","З","И","Й","К","Л","М","Н","О","П","Р","С","Т","У","Ф","Х","Ц","Ч","Ш","Щ","Ъ","Ы","Ь","Э","Ю","Я","Є","І","Ї","Ґ","є","і","ї","ґ","č","ď","ě","ň","ř","š","ť","ů","ž","Č","Ď","Ě","Ň","Ř","Š","Ť","Ů","Ž","ą","ć","ę","ł","ń","ś","ź","ż","Ą","Ć","Ę","Ł","Ń","Ś","Ź","Ż","ā","ē","ģ","ī","ķ","ļ","ņ","ū","Ā","Ē","Ģ","Ī","Ķ","Ļ","Ņ","Ū","ė","į","ų","Ė","Į","Ų","ț","Ț","ţ","Ţ","ș","Ș","ă","Ă","Ạ","Ả","Ầ","Ấ","Ậ","Ẩ","Ẫ","Ằ","Ắ","Ặ","Ẳ","Ẵ","Ẹ","Ẻ","Ẽ","Ề","Ế","Ệ","Ể","Ễ","Ị","Ỉ","Ĩ","Ọ","Ỏ","Ồ","Ố","Ộ","Ổ","Ỗ","Ơ","Ờ","Ớ","Ợ","Ở","Ỡ","Ụ","Ủ","Ũ","Ư","Ừ","Ứ","Ự","Ử","Ữ","Ỳ","Ỵ","Ỷ","Ỹ","Đ","ạ","ả","ầ","ấ","ậ","ẩ","ẫ","ằ","ắ","ặ","ẳ","ẵ","ẹ","ẻ","ẽ","ề","ế","ệ","ể","ễ","ị","ỉ","ĩ","ọ","ỏ","ồ","ố","ộ","ổ","ỗ","ơ","ờ","ớ","ợ","ở","ỡ","ụ","ủ","ũ","ư","ừ","ứ","ự","ử","ữ","ỳ","ỵ","ỷ","ỹ","đ","€","₢","₣","£","₤","₥","₦","₧","₨","₩","₪","₫","₭","₮","₯","₰","₱","₲","₳","₴","₵","¢","¥","元","円","﷼","₠","¤","฿","$","₹","©","œ","Œ","∑","®","†","“","”","‘","’","∂","ƒ","™","℠","…","˚","º","ª","•","∆","∞","♥","|","rfc3986","pretty","Sortable","_extend","expando","scrollSensitivity","ghostClass","chosenClass","dragEl","dropBubble","dragoverBubble","dataIdAttr","forceFallback","fallbackClass","fallbackOnBody","_prepareGroup","nativeDraggable","supportDraggable","_onTapStart","touchDragOverListeners","_onDragOver","_cloneHide","cloneEl","_css","_closest","selector","_globalDragOver","evt","_toggleClass","RSPACE","_find","sortable","targetEl","fromEl","onName","initEvent","oldIndex","_onMove","toEl","dragRect","targetRect","retVal","onMoveFn","dragged","draggedRect","relatedRect","_disableDraggable","_unsilent","_silent","_ghostIsLast","lastEl","lastElementChild","_generateId","sum","_index","previousElementSibling","_throttle","ghostEl","nextEl","scrollEl","scrollParentEl","lastCSS","lastParentCSS","activeGroup","tapEvt","touchEvt","supportCssPointerEvents","_autoScroll","vx","vy","sens","winWidth","winHeight","pid","groups","originalTarget","_prepareDragStart","dragStartFn","_disableDelayedDrag","_triggerDragStart","_onDrop","_dragStartTimer","_onDragStart","_dragStarted","_emulateDragOver","_lastX","_lastY","groupName","_onTouchMove","_appendGhost","translate3d","ghostRect","useFallback","_offUpEvents","_loopId","revert","groupPut","isOwner","canSort","animated","floating","isWide","isLong","halfway","nextElementSibling","moveVector","elTop","tgTop","prevRect","currentRect","handleEvent","toggleClass","__dirname","dictionary","affData","wordsData","readDataFile","setFunc","response","_readFile","asyncLoad","setAffData","setWordsData","_parseAFF","compoundRuleCodes","compoundRules","_jlen","ONLYINCOMPOUND","dictionaryTable","_parseDIC","ruleText","expressionText","loadedCallback","replacementTable","memoized","dictionaryPath","getURL","charset","promise","statusText","onerror","overrideMimeType","fs","existsSync","stats","statSync","fileDescriptor","openSync","readSync","subline","numEntries","lineParts","_removeAffixComments","definitionParts","ruleType","ruleCode","combineable","charactersToRemove","additionParts","charactersToAdd","continuationClasses","parseRuleCodes","regexToMatch","addWord","_removeDicComments","ruleCodesArray","NEEDAFFIX","newWords","_applyRule","_iilen","newWord","combineCode","combineRule","otherNewWords","iii","_iiilen","otherNewWord","textCodes","FLAG","continuationRule","aWord","trimmedWord","checkExact","capitalizedWord","hasFlag","lowercaseWord","ruleCodes","COMPOUNDMIN","wordFlags","alphabet","suggest","edits1","rv","known","correct","sorter","ed1","ed2","corrections","weighted_corrections","sorted_corrections","capitalization_scheme","memoizedLimit","replacementEntry","correctedWord","suggestions","createUncontrollable","uncontrollable","controlledValues","setAndNotify","linkName","getLinkName","isProp","omitProps","OMIT_PROPS","basePropTypes","isCompositeComponent","controlledProps","defaultKey","uncontrolledPropTypes","_refs$inner","getControlledInstance","newProps","linkPropName","deferControlTo","newComponent","additions","nextMethods","166","category","class","bidirectional_category","decimal_digit_value","digit_value","numeric_value","mirrored","unicode_name","uppercase_mapping","lowercase_mapping","titlecase_mapping","169","174","176","1154","1421","1422","1550","1551","1758","1769","1789","1790","2038","2554","2928","3059","3060","3061","3062","3063","3064","3066","3199","3407","3449","3841","3842","3843","3859","3861","3862","3863","3866","3867","3868","3869","3870","3871","3892","3894","3896","4030","4031","4032","4033","4034","4035","4036","4037","4039","4040","4041","4042","4043","4044","4046","4047","4053","4054","4055","4056","4254","4255","5008","5009","5010","5011","5012","5013","5014","5015","5016","5017","6464","6622","6623","6624","6625","6626","6627","6628","6629","6630","6631","6632","6633","6634","6635","6636","6637","6638","6639","6640","6641","6642","6643","6644","6645","6646","6647","6648","6649","6650","6651","6652","6653","6654","6655","7009","7010","7011","7012","7013","7014","7015","7016","7017","7018","7028","7029","7030","7031","7032","7033","7034","7035","7036","8448","8449","8451","8452","8453","8454","8456","8457","8468","8470","8471","8478","8479","8480","8481","8482","8483","8485","8487","8489","8494","8506","8507","8522","8524","8525","8527","8586","8587","8597","8598","8599","8600","8601","8604","8605","8606","8607","8609","8610","8612","8613","8615","8616","8617","8618","8619","8620","8621","8623","8624","8625","8626","8627","8628","8629","8630","8631","8632","8633","8634","8635","8636","8637","8638","8639","8640","8641","8642","8643","8644","8645","8646","8647","8648","8649","8650","8651","8652","8653","8656","8657","8659","8661","8662","8663","8664","8665","8666","8667","8668","8669","8670","8671","8672","8673","8674","8675","8676","8677","8678","8679","8680","8681","8682","8683","8684","8685","8686","8687","8688","8689","8690","8691","8960","8961","8962","8963","8964","8965","8966","8967","8972","8973","8974","8975","8976","8977","8978","8979","8980","8981","8982","8983","8984","8985","8986","8987","8988","8989","8990","8991","8994","8995","8996","8997","8998","8999","9000","9003","9004","9005","9006","9007","9008","9009","9010","9011","9012","9013","9014","9015","9016","9017","9018","9019","9020","9021","9022","9023","9024","9025","9026","9027","9028","9029","9030","9031","9032","9033","9034","9035","9036","9037","9038","9039","9040","9041","9042","9043","9044","9045","9046","9047","9048","9049","9050","9051","9052","9053","9054","9055","9056","9057","9058","9059","9060","9061","9062","9063","9064","9065","9066","9067","9068","9069","9070","9071","9072","9073","9074","9075","9076","9077","9078","9079","9080","9081","9082","9083","9085","9086","9087","9088","9089","9090","9091","9092","9093","9094","9095","9096","9097","9098","9099","9100","9101","9102","9103","9104","9105","9106","9107","9108","9109","9110","9111","9112","9113","9114","9140","9141","9142","9143","9144","9145","9146","9147","9148","9149","9150","9151","9152","9153","9154","9155","9156","9157","9158","9159","9160","9161","9162","9163","9164","9165","9166","9167","9168","9169","9170","9171","9172","9173","9174","9175","9176","9177","9178","9179","9186","9187","9188","9189","9190","9191","9192","9193","9194","9195","9196","9197","9198","9199","9200","9201","9202","9203","9204","9205","9206","9207","9208","9209","9210","9211","9212","9213","9214","9216","9217","9218","9219","9220","9221","9222","9223","9224","9225","9226","9227","9228","9229","9230","9231","9232","9233","9234","9235","9236","9237","9238","9239","9240","9241","9242","9243","9244","9245","9246","9247","9248","9249","9250","9251","9252","9253","9254","9280","9281","9282","9283","9284","9285","9286","9287","9288","9289","9290","9372","9373","9374","9375","9376","9377","9378","9379","9380","9381","9382","9383","9384","9385","9386","9387","9388","9389","9390","9391","9392","9393","9394","9395","9396","9397","9398","9399","9400","9401","9402","9403","9404","9405","9406","9407","9408","9409","9410","9411","9412","9413","9414","9415","9416","9417","9418","9419","9420","9421","9422","9423","9424","9425","9426","9427","9428","9429","9430","9431","9432","9433","9434","9435","9436","9437","9438","9439","9440","9441","9442","9443","9444","9445","9446","9447","9448","9449","9472","9473","9474","9475","9476","9477","9478","9479","9480","9481","9482","9483","9484","9485","9486","9487","9488","9489","9490","9491","9492","9493","9494","9495","9496","9497","9498","9499","9500","9501","9502","9503","9504","9505","9506","9507","9508","9509","9510","9511","9512","9513","9514","9515","9516","9517","9518","9519","9520","9521","9522","9523","9524","9525","9526","9527","9528","9529","9530","9531","9532","9533","9534","9535","9536","9537","9538","9539","9540","9541","9542","9543","9544","9545","9546","9547","9548","9549","9550","9551","9552","9553","9554","9555","9556","9557","9558","9559","9560","9561","9562","9563","9564","9565","9566","9567","9568","9569","9570","9571","9572","9573","9574","9575","9576","9577","9578","9579","9580","9581","9582","9583","9584","9585","9586","9587","9588","9589","9590","9591","9592","9593","9594","9595","9596","9597","9598","9599","9600","9601","9602","9603","9604","9605","9606","9607","9608","9609","9610","9611","9612","9613","9614","9615","9616","9617","9618","9619","9620","9621","9622","9623","9624","9625","9626","9627","9628","9629","9630","9631","9632","9633","9634","9635","9636","9637","9638","9639","9640","9641","9642","9643","9644","9645","9646","9647","9648","9649","9650","9651","9652","9653","9654","9656","9657","9658","9659","9660","9661","9662","9663","9664","9666","9667","9668","9669","9670","9671","9672","9673","9674","9675","9676","9677","9678","9679","9680","9681","9682","9683","9684","9685","9686","9687","9688","9689","9690","9691","9692","9693","9694","9695","9696","9697","9698","9699","9700","9701","9702","9703","9704","9705","9706","9707","9708","9709","9710","9711","9712","9713","9714","9715","9716","9717","9718","9719","9728","9729","9730","9731","9732","9733","9734","9735","9736","9737","9738","9739","9740","9741","9742","9743","9744","9745","9746","9747","9748","9749","9750","9751","9752","9753","9754","9755","9756","9757","9758","9759","9760","9761","9762","9763","9764","9765","9766","9767","9768","9769","9770","9771","9772","9773","9774","9775","9776","9777","9778","9779","9780","9781","9782","9783","9784","9785","9786","9787","9788","9789","9790","9791","9792","9793","9794","9795","9796","9797","9798","9799","9800","9801","9802","9803","9804","9805","9806","9807","9808","9809","9810","9811","9812","9813","9814","9815","9816","9817","9818","9819","9820","9821","9822","9823","9824","9825","9826","9827","9828","9829","9830","9831","9832","9833","9834","9835","9836","9837","9838","9840","9841","9842","9843","9844","9845","9846","9847","9848","9849","9850","9851","9852","9853","9854","9855","9856","9857","9858","9859","9860","9861","9862","9863","9864","9865","9866","9867","9868","9869","9870","9871","9872","9873","9874","9875","9876","9877","9878","9879","9880","9881","9882","9883","9884","9885","9886","9887","9888","9889","9890","9891","9892","9893","9894","9895","9896","9897","9898","9899","9900","9901","9902","9903","9904","9905","9906","9907","9908","9909","9910","9911","9912","9913","9914","9915","9916","9917","9918","9919","9920","9921","9922","9923","9924","9925","9926","9927","9928","9929","9930","9931","9932","9933","9934","9935","9936","9937","9938","9939","9940","9941","9942","9943","9944","9945","9946","9947","9948","9949","9950","9951","9952","9953","9954","9955","9956","9957","9958","9959","9960","9961","9962","9963","9964","9965","9966","9967","9968","9969","9970","9971","9972","9973","9974","9975","9976","9977","9978","9979","9980","9981","9982","9983","9984","9985","9986","9987","9988","9989","9990","9991","9992","9993","9994","9995","9996","9997","9998","9999","10000","10001","10002","10003","10004","10005","10006","10007","10008","10009","10010","10011","10012","10013","10014","10015","10016","10017","10018","10019","10020","10021","10022","10023","10024","10025","10026","10027","10028","10029","10030","10031","10032","10033","10034","10035","10036","10037","10038","10039","10040","10041","10042","10043","10044","10045","10046","10047","10048","10049","10050","10051","10052","10053","10054","10055","10056","10057","10058","10059","10060","10061","10062","10063","10064","10065","10066","10067","10068","10069","10070","10071","10072","10073","10074","10075","10076","10077","10078","10079","10080","10081","10082","10083","10084","10085","10086","10087","10132","10133","10134","10135","10136","10137","10138","10139","10140","10141","10142","10143","10144","10145","10146","10147","10148","10149","10150","10151","10152","10153","10154","10155","10156","10157","10158","10159","10160","10161","10162","10163","10164","10165","10166","10167","10168","10169","10170","10171","10172","10173","10174","10175","10240","10241","10242","10243","10244","10245","10246","10247","10248","10249","10250","10251","10252","10253","10254","10255","10256","10257","10258","10259","10260","10261","10262","10263","10264","10265","10266","10267","10268","10269","10270","10271","10272","10273","10274","10275","10276","10277","10278","10279","10280","10281","10282","10283","10284","10285","10286","10287","10288","10289","10290","10291","10292","10293","10294","10295","10296","10297","10298","10299","10300","10301","10302","10303","10304","10305","10306","10307","10308","10309","10310","10311","10312","10313","10314","10315","10316","10317","10318","10319","10320","10321","10322","10323","10324","10325","10326","10327","10328","10329","10330","10331","10332","10333","10334","10335","10336","10337","10338","10339","10340","10341","10342","10343","10344","10345","10346","10347","10348","10349","10350","10351","10352","10353","10354","10355","10356","10357","10358","10359","10360","10361","10362","10363","10364","10365","10366","10367","10368","10369","10370","10371","10372","10373","10374","10375","10376","10377","10378","10379","10380","10381","10382","10383","10384","10385","10386","10387","10388","10389","10390","10391","10392","10393","10394","10395","10396","10397","10398","10399","10400","10401","10402","10403","10404","10405","10406","10407","10408","10409","10410","10411","10412","10413","10414","10415","10416","10417","10418","10419","10420","10421","10422","10423","10424","10425","10426","10427","10428","10429","10430","10431","10432","10433","10434","10435","10436","10437","10438","10439","10440","10441","10442","10443","10444","10445","10446","10447","10448","10449","10450","10451","10452","10453","10454","10455","10456","10457","10458","10459","10460","10461","10462","10463","10464","10465","10466","10467","10468","10469","10470","10471","10472","10473","10474","10475","10476","10477","10478","10479","10480","10481","10482","10483","10484","10485","10486","10487","10488","10489","10490","10491","10492","10493","10494","10495","11008","11009","11010","11011","11012","11013","11014","11015","11016","11017","11018","11019","11020","11021","11022","11023","11024","11025","11026","11027","11028","11029","11030","11031","11032","11033","11034","11035","11036","11037","11038","11039","11040","11041","11042","11043","11044","11045","11046","11047","11048","11049","11050","11051","11052","11053","11054","11055","11077","11078","11085","11086","11087","11088","11089","11090","11091","11092","11093","11094","11095","11096","11097","11098","11099","11100","11101","11102","11103","11104","11105","11106","11107","11108","11109","11110","11111","11112","11113","11114","11115","11116","11117","11118","11119","11120","11121","11122","11123","11126","11127","11128","11129","11130","11131","11132","11133","11134","11135","11136","11137","11138","11139","11140","11141","11142","11143","11144","11145","11146","11147","11148","11149","11150","11151","11152","11153","11154","11155","11156","11157","11160","11161","11162","11163","11164","11165","11166","11167","11168","11169","11170","11171","11172","11173","11174","11175","11176","11177","11178","11179","11180","11181","11182","11183","11184","11185","11186","11187","11188","11189","11190","11191","11192","11193","11197","11198","11199","11200","11201","11202","11203","11204","11205","11206","11207","11208","11210","11211","11212","11213","11214","11215","11216","11217","11244","11245","11246","11247","11493","11494","11495","11496","11497","11498","11904","11905","11906","11907","11908","11909","11910","11911","11912","11913","11914","11915","11916","11917","11918","11919","11920","11921","11922","11923","11924","11925","11926","11927","11928","11929","11931","11932","11933","11934","11935","11936","11937","11938","11939","11940","11941","11942","11943","11944","11945","11946","11947","11948","11949","11950","11951","11952","11953","11954","11955","11956","11957","11958","11959","11960","11961","11962","11963","11964","11965","11966","11967","11968","11969","11970","11971","11972","11973","11974","11975","11976","11977","11978","11979","11980","11981","11982","11983","11984","11985","11986","11987","11988","11989","11990","11991","11992","11993","11994","11995","11996","11997","11998","11999","12000","12001","12002","12003","12004","12005","12006","12007","12008","12009","12010","12011","12012","12013","12014","12015","12016","12017","12018","12019","12032","12033","12034","12035","12036","12037","12038","12039","12040","12041","12042","12043","12044","12045","12046","12047","12048","12049","12050","12051","12052","12053","12054","12055","12056","12057","12058","12059","12060","12061","12062","12063","12064","12065","12066","12067","12068","12069","12070","12071","12072","12073","12074","12075","12076","12077","12078","12079","12080","12081","12082","12083","12084","12085","12086","12087","12088","12089","12090","12091","12092","12093","12094","12095","12096","12097","12098","12099","12100","12101","12102","12103","12104","12105","12106","12107","12108","12109","12110","12111","12112","12113","12114","12115","12116","12117","12118","12119","12120","12121","12122","12123","12124","12125","12126","12127","12128","12129","12130","12131","12132","12133","12134","12135","12136","12137","12138","12139","12140","12141","12142","12143","12144","12145","12146","12147","12148","12149","12150","12151","12152","12153","12154","12155","12156","12157","12158","12159","12160","12161","12162","12163","12164","12165","12166","12167","12168","12169","12170","12171","12172","12173","12174","12175","12176","12177","12178","12179","12180","12181","12182","12183","12184","12185","12186","12187","12188","12189","12190","12191","12192","12193","12194","12195","12196","12197","12198","12199","12200","12201","12202","12203","12204","12205","12206","12207","12208","12209","12210","12211","12212","12213","12214","12215","12216","12217","12218","12219","12220","12221","12222","12223","12224","12225","12226","12227","12228","12229","12230","12231","12232","12233","12234","12235","12236","12237","12238","12239","12240","12241","12242","12243","12244","12245","12272","12273","12274","12275","12276","12277","12278","12279","12280","12281","12282","12283","12292","12306","12307","12320","12342","12343","12350","12351","12688","12689","12694","12695","12696","12697","12698","12699","12700","12701","12702","12703","12736","12737","12738","12739","12740","12741","12742","12743","12744","12745","12746","12747","12748","12749","12750","12751","12752","12753","12754","12755","12756","12757","12758","12759","12760","12761","12762","12763","12764","12765","12766","12767","12768","12769","12770","12771","12800","12801","12802","12803","12804","12805","12806","12807","12808","12809","12810","12811","12812","12813","12814","12815","12816","12817","12818","12819","12820","12821","12822","12823","12824","12825","12826","12827","12828","12829","12830","12842","12843","12844","12845","12846","12847","12848","12849","12850","12851","12852","12853","12854","12855","12856","12857","12858","12859","12860","12861","12862","12863","12864","12865","12866","12867","12868","12869","12870","12871","12880","12896","12897","12898","12899","12900","12901","12902","12903","12904","12905","12906","12907","12908","12909","12910","12911","12912","12913","12914","12915","12916","12917","12918","12919","12920","12921","12922","12923","12924","12925","12926","12927","12938","12939","12940","12941","12942","12943","12944","12945","12946","12947","12948","12949","12950","12951","12952","12953","12954","12955","12956","12957","12958","12959","12960","12961","12962","12963","12964","12965","12966","12967","12968","12969","12970","12971","12972","12973","12974","12975","12976","12992","12993","12994","12995","12996","12997","12998","12999","13000","13001","13002","13003","13004","13005","13006","13007","13008","13009","13010","13011","13012","13013","13014","13015","13016","13017","13018","13019","13020","13021","13022","13023","13024","13025","13026","13027","13028","13029","13030","13031","13032","13033","13034","13035","13036","13037","13038","13039","13040","13041","13042","13043","13044","13045","13046","13047","13048","13049","13050","13051","13052","13053","13054","13056","13057","13058","13059","13060","13061","13062","13063","13064","13065","13066","13067","13068","13069","13070","13071","13072","13073","13074","13075","13076","13077","13078","13079","13080","13081","13082","13083","13084","13085","13086","13087","13088","13089","13090","13091","13092","13093","13094","13095","13096","13097","13098","13099","13100","13101","13102","13103","13104","13105","13106","13107","13108","13109","13110","13111","13112","13113","13114","13115","13116","13117","13118","13119","13120","13121","13122","13123","13124","13125","13126","13127","13128","13129","13130","13131","13132","13133","13134","13135","13136","13137","13138","13139","13140","13141","13142","13143","13144","13145","13146","13147","13148","13149","13150","13151","13152","13153","13154","13155","13156","13157","13158","13159","13160","13161","13162","13163","13164","13165","13166","13167","13168","13169","13170","13171","13172","13173","13174","13175","13176","13177","13178","13179","13180","13181","13182","13183","13184","13185","13186","13187","13188","13189","13190","13191","13192","13193","13194","13195","13196","13197","13198","13199","13200","13201","13202","13203","13204","13205","13206","13207","13208","13209","13210","13211","13212","13213","13214","13215","13216","13217","13218","13219","13220","13221","13222","13223","13224","13225","13226","13227","13228","13229","13230","13231","13232","13233","13234","13235","13236","13237","13238","13239","13240","13241","13242","13243","13244","13245","13246","13247","13248","13249","13250","13251","13252","13253","13254","13255","13256","13257","13258","13259","13260","13261","13262","13263","13264","13265","13266","13267","13268","13269","13270","13271","13272","13273","13274","13275","13276","13277","13278","13279","13280","13281","13282","13283","13284","13285","13286","13287","13288","13289","13290","13291","13292","13293","13294","13295","13296","13297","13298","13299","13300","13301","13302","13303","13304","13305","13306","13307","13308","13309","13310","13311","19904","19905","19906","19907","19908","19909","19910","19911","19912","19913","19914","19915","19916","19917","19918","19919","19920","19921","19922","19923","19924","19925","19926","19927","19928","19929","19930","19931","19932","19933","19934","19935","19936","19937","19938","19939","19940","19941","19942","19943","19944","19945","19946","19947","19948","19949","19950","19951","19952","19953","19954","19955","19956","19957","19958","19959","19960","19961","19962","19963","19964","19965","19966","19967","42128","42129","42130","42131","42132","42133","42134","42135","42136","42137","42138","42139","42140","42141","42142","42143","42144","42145","42146","42147","42148","42149","42150","42151","42152","42153","42154","42155","42156","42157","42158","42159","42160","42161","42162","42163","42164","42165","42166","42167","42168","42169","42170","42171","42172","42173","42174","42175","42176","42177","42178","42179","42180","42181","42182","43048","43049","43050","43051","43062","43063","43065","43639","43640","43641","65021","65508","65512","65517","65518","65532","65533","65847","65848","65849","65850","65851","65852","65853","65854","65855","65913","65914","65915","65916","65917","65918","65919","65920","65921","65922","65923","65924","65925","65926","65927","65928","65929","65932","65933","65934","65936","65937","65938","65939","65940","65941","65942","65943","65944","65945","65946","65947","65952","66000","66001","66002","66003","66004","66005","66006","66007","66008","66009","66010","66011","66012","66013","66014","66015","66016","66017","66018","66019","66020","66021","66022","66023","66024","66025","66026","66027","66028","66029","66030","66031","66032","66033","66034","66035","66036","66037","66038","66039","66040","66041","66042","66043","66044","67703","67704","68296","71487","92988","92989","92990","92991","92997","113820","118784","118785","118786","118787","118788","118789","118790","118791","118792","118793","118794","118795","118796","118797","118798","118799","118800","118801","118802","118803","118804","118805","118806","118807","118808","118809","118810","118811","118812","118813","118814","118815","118816","118817","118818","118819","118820","118821","118822","118823","118824","118825","118826","118827","118828","118829","118830","118831","118832","118833","118834","118835","118836","118837","118838","118839","118840","118841","118842","118843","118844","118845","118846","118847","118848","118849","118850","118851","118852","118853","118854","118855","118856","118857","118858","118859","118860","118861","118862","118863","118864","118865","118866","118867","118868","118869","118870","118871","118872","118873","118874","118875","118876","118877","118878","118879","118880","118881","118882","118883","118884","118885","118886","118887","118888","118889","118890","118891","118892","118893","118894","118895","118896","118897","118898","118899","118900","118901","118902","118903","118904","118905","118906","118907","118908","118909","118910","118911","118912","118913","118914","118915","118916","118917","118918","118919","118920","118921","118922","118923","118924","118925","118926","118927","118928","118929","118930","118931","118932","118933","118934","118935","118936","118937","118938","118939","118940","118941","118942","118943","118944","118945","118946","118947","118948","118949","118950","118951","118952","118953","118954","118955","118956","118957","118958","118959","118960","118961","118962","118963","118964","118965","118966","118967","118968","118969","118970","118971","118972","118973","118974","118975","118976","118977","118978","118979","118980","118981","118982","118983","118984","118985","118986","118987","118988","118989","118990","118991","118992","118993","118994","118995","118996","118997","118998","118999","119000","119001","119002","119003","119004","119005","119006","119007","119008","119009","119010","119011","119012","119013","119014","119015","119016","119017","119018","119019","119020","119021","119022","119023","119024","119025","119026","119027","119028","119029","119040","119041","119042","119043","119044","119045","119046","119047","119048","119049","119050","119051","119052","119053","119054","119055","119056","119057","119058","119059","119060","119061","119062","119063","119064","119065","119066","119067","119068","119069","119070","119071","119072","119073","119074","119075","119076","119077","119078","119081","119082","119083","119084","119085","119086","119087","119088","119089","119090","119091","119092","119093","119094","119095","119096","119097","119098","119099","119100","119101","119102","119103","119104","119105","119106","119107","119108","119109","119110","119111","119112","119113","119114","119115","119116","119117","119118","119119","119120","119121","119122","119123","119124","119125","119126","119127","119128","119129","119130","119131","119132","119133","119134","119135","119136","119137","119138","119139","119140","119146","119147","119148","119171","119172","119180","119181","119182","119183","119184","119185","119186","119187","119188","119189","119190","119191","119192","119193","119194","119195","119196","119197","119198","119199","119200","119201","119202","119203","119204","119205","119206","119207","119208","119209","119214","119215","119216","119217","119218","119219","119220","119221","119222","119223","119224","119225","119226","119227","119228","119229","119230","119231","119232","119233","119234","119235","119236","119237","119238","119239","119240","119241","119242","119243","119244","119245","119246","119247","119248","119249","119250","119251","119252","119253","119254","119255","119256","119257","119258","119259","119260","119261","119262","119263","119264","119265","119266","119267","119268","119269","119270","119271","119272","119296","119297","119298","119299","119300","119301","119302","119303","119304","119305","119306","119307","119308","119309","119310","119311","119312","119313","119314","119315","119316","119317","119318","119319","119320","119321","119322","119323","119324","119325","119326","119327","119328","119329","119330","119331","119332","119333","119334","119335","119336","119337","119338","119339","119340","119341","119342","119343","119344","119345","119346","119347","119348","119349","119350","119351","119352","119353","119354","119355","119356","119357","119358","119359","119360","119361","119365","119552","119553","119554","119555","119556","119557","119558","119559","119560","119561","119562","119563","119564","119565","119566","119567","119568","119569","119570","119571","119572","119573","119574","119575","119576","119577","119578","119579","119580","119581","119582","119583","119584","119585","119586","119587","119588","119589","119590","119591","119592","119593","119594","119595","119596","119597","119598","119599","119600","119601","119602","119603","119604","119605","119606","119607","119608","119609","119610","119611","119612","119613","119614","119615","119616","119617","119618","119619","119620","119621","119622","119623","119624","119625","119626","119627","119628","119629","119630","119631","119632","119633","119634","119635","119636","119637","119638","120832","120833","120834","120835","120836","120837","120838","120839","120840","120841","120842","120843","120844","120845","120846","120847","120848","120849","120850","120851","120852","120853","120854","120855","120856","120857","120858","120859","120860","120861","120862","120863","120864","120865","120866","120867","120868","120869","120870","120871","120872","120873","120874","120875","120876","120877","120878","120879","120880","120881","120882","120883","120884","120885","120886","120887","120888","120889","120890","120891","120892","120893","120894","120895","120896","120897","120898","120899","120900","120901","120902","120903","120904","120905","120906","120907","120908","120909","120910","120911","120912","120913","120914","120915","120916","120917","120918","120919","120920","120921","120922","120923","120924","120925","120926","120927","120928","120929","120930","120931","120932","120933","120934","120935","120936","120937","120938","120939","120940","120941","120942","120943","120944","120945","120946","120947","120948","120949","120950","120951","120952","120953","120954","120955","120956","120957","120958","120959","120960","120961","120962","120963","120964","120965","120966","120967","120968","120969","120970","120971","120972","120973","120974","120975","120976","120977","120978","120979","120980","120981","120982","120983","120984","120985","120986","120987","120988","120989","120990","120991","120992","120993","120994","120995","120996","120997","120998","120999","121000","121001","121002","121003","121004","121005","121006","121007","121008","121009","121010","121011","121012","121013","121014","121015","121016","121017","121018","121019","121020","121021","121022","121023","121024","121025","121026","121027","121028","121029","121030","121031","121032","121033","121034","121035","121036","121037","121038","121039","121040","121041","121042","121043","121044","121045","121046","121047","121048","121049","121050","121051","121052","121053","121054","121055","121056","121057","121058","121059","121060","121061","121062","121063","121064","121065","121066","121067","121068","121069","121070","121071","121072","121073","121074","121075","121076","121077","121078","121079","121080","121081","121082","121083","121084","121085","121086","121087","121088","121089","121090","121091","121092","121093","121094","121095","121096","121097","121098","121099","121100","121101","121102","121103","121104","121105","121106","121107","121108","121109","121110","121111","121112","121113","121114","121115","121116","121117","121118","121119","121120","121121","121122","121123","121124","121125","121126","121127","121128","121129","121130","121131","121132","121133","121134","121135","121136","121137","121138","121139","121140","121141","121142","121143","121144","121145","121146","121147","121148","121149","121150","121151","121152","121153","121154","121155","121156","121157","121158","121159","121160","121161","121162","121163","121164","121165","121166","121167","121168","121169","121170","121171","121172","121173","121174","121175","121176","121177","121178","121179","121180","121181","121182","121183","121184","121185","121186","121187","121188","121189","121190","121191","121192","121193","121194","121195","121196","121197","121198","121199","121200","121201","121202","121203","121204","121205","121206","121207","121208","121209","121210","121211","121212","121213","121214","121215","121216","121217","121218","121219","121220","121221","121222","121223","121224","121225","121226","121227","121228","121229","121230","121231","121232","121233","121234","121235","121236","121237","121238","121239","121240","121241","121242","121243","121244","121245","121246","121247","121248","121249","121250","121251","121252","121253","121254","121255","121256","121257","121258","121259","121260","121261","121262","121263","121264","121265","121266","121267","121268","121269","121270","121271","121272","121273","121274","121275","121276","121277","121278","121279","121280","121281","121282","121283","121284","121285","121286","121287","121288","121289","121290","121291","121292","121293","121294","121295","121296","121297","121298","121299","121300","121301","121302","121303","121304","121305","121306","121307","121308","121309","121310","121311","121312","121313","121314","121315","121316","121317","121318","121319","121320","121321","121322","121323","121324","121325","121326","121327","121328","121329","121330","121331","121332","121333","121334","121335","121336","121337","121338","121339","121340","121341","121342","121343","121399","121400","121401","121402","121453","121454","121455","121456","121457","121458","121459","121460","121462","121463","121464","121465","121466","121467","121468","121469","121470","121471","121472","121473","121474","121475","121477","121478","126976","126977","126978","126979","126980","126981","126982","126983","126984","126985","126986","126987","126988","126989","126990","126991","126992","126993","126994","126995","126996","126997","126998","126999","127000","127001","127002","127003","127004","127005","127006","127007","127008","127009","127010","127011","127012","127013","127014","127015","127016","127017","127018","127019","127024","127025","127026","127027","127028","127029","127030","127031","127032","127033","127034","127035","127036","127037","127038","127039","127040","127041","127042","127043","127044","127045","127046","127047","127048","127049","127050","127051","127052","127053","127054","127055","127056","127057","127058","127059","127060","127061","127062","127063","127064","127065","127066","127067","127068","127069","127070","127071","127072","127073","127074","127075","127076","127077","127078","127079","127080","127081","127082","127083","127084","127085","127086","127087","127088","127089","127090","127091","127092","127093","127094","127095","127096","127097","127098","127099","127100","127101","127102","127103","127104","127105","127106","127107","127108","127109","127110","127111","127112","127113","127114","127115","127116","127117","127118","127119","127120","127121","127122","127123","127136","127137","127138","127139","127140","127141","127142","127143","127144","127145","127146","127147","127148","127149","127150","127153","127154","127155","127156","127157","127158","127159","127160","127161","127162","127163","127164","127165","127166","127167","127169","127170","127171","127172","127173","127174","127175","127176","127177","127178","127179","127180","127181","127182","127183","127185","127186","127187","127188","127189","127190","127191","127192","127193","127194","127195","127196","127197","127198","127199","127200","127201","127202","127203","127204","127205","127206","127207","127208","127209","127210","127211","127212","127213","127214","127215","127216","127217","127218","127219","127220","127221","127248","127249","127250","127251","127252","127253","127254","127255","127256","127257","127258","127259","127260","127261","127262","127263","127264","127265","127266","127267","127268","127269","127270","127271","127272","127273","127274","127275","127276","127277","127278","127280","127281","127282","127283","127284","127285","127286","127287","127288","127289","127290","127291","127292","127293","127294","127295","127296","127297","127298","127299","127300","127301","127302","127303","127304","127305","127306","127307","127308","127309","127310","127311","127312","127313","127314","127315","127316","127317","127318","127319","127320","127321","127322","127323","127324","127325","127326","127327","127328","127329","127330","127331","127332","127333","127334","127335","127336","127337","127338","127339","127344","127345","127346","127347","127348","127349","127350","127351","127352","127353","127354","127355","127356","127357","127358","127359","127360","127361","127362","127363","127364","127365","127366","127367","127368","127369","127370","127371","127372","127373","127374","127375","127376","127377","127378","127379","127380","127381","127382","127383","127384","127385","127386","127387","127388","127389","127390","127391","127392","127393","127394","127395","127396","127397","127398","127399","127400","127401","127402","127403","127404","127462","127463","127464","127465","127466","127467","127468","127469","127470","127471","127472","127473","127474","127475","127476","127477","127478","127479","127480","127481","127482","127483","127484","127485","127486","127487","127488","127489","127490","127504","127505","127506","127507","127508","127509","127510","127511","127512","127513","127514","127515","127516","127517","127518","127519","127520","127521","127522","127523","127524","127525","127526","127527","127528","127529","127530","127531","127532","127533","127534","127535","127536","127537","127538","127539","127540","127541","127542","127543","127544","127545","127546","127547","127552","127553","127554","127555","127556","127557","127558","127559","127560","127568","127569","127744","127745","127746","127747","127748","127749","127750","127751","127752","127753","127754","127755","127756","127757","127758","127759","127760","127761","127762","127763","127764","127765","127766","127767","127768","127769","127770","127771","127772","127773","127774","127775","127776","127777","127778","127779","127780","127781","127782","127783","127784","127785","127786","127787","127788","127789","127790","127791","127792","127793","127794","127795","127796","127797","127798","127799","127800","127801","127802","127803","127804","127805","127806","127807","127808","127809","127810","127811","127812","127813","127814","127815","127816","127817","127818","127819","127820","127821","127822","127823","127824","127825","127826","127827","127828","127829","127830","127831","127832","127833","127834","127835","127836","127837","127838","127839","127840","127841","127842","127843","127844","127845","127846","127847","127848","127849","127850","127851","127852","127853","127854","127855","127856","127857","127858","127859","127860","127861","127862","127863","127864","127865","127866","127867","127868","127869","127870","127871","127872","127873","127874","127875","127876","127877","127878","127879","127880","127881","127882","127883","127884","127885","127886","127887","127888","127889","127890","127891","127892","127893","127894","127895","127896","127897","127898","127899","127900","127901","127902","127903","127904","127905","127906","127907","127908","127909","127910","127911","127912","127913","127914","127915","127916","127917","127918","127919","127920","127921","127922","127923","127924","127925","127926","127927","127928","127929","127930","127931","127932","127933","127934","127935","127936","127937","127938","127939","127940","127941","127942","127943","127944","127945","127946","127947","127948","127949","127950","127951","127952","127953","127954","127955","127956","127957","127958","127959","127960","127961","127962","127963","127964","127965","127966","127967","127968","127969","127970","127971","127972","127973","127974","127975","127976","127977","127978","127979","127980","127981","127982","127983","127984","127985","127986","127987","127988","127989","127990","127991","127992","127993","127994","128000","128001","128002","128003","128004","128005","128006","128007","128008","128009","128010","128011","128012","128013","128014","128015","128016","128017","128018","128019","128020","128021","128022","128023","128024","128025","128026","128027","128028","128029","128030","128031","128032","128033","128034","128035","128036","128037","128038","128039","128040","128041","128042","128043","128044","128045","128046","128047","128048","128049","128050","128051","128052","128053","128054","128055","128056","128057","128058","128059","128060","128061","128062","128063","128064","128065","128066","128067","128068","128069","128070","128071","128072","128073","128074","128075","128076","128077","128078","128079","128080","128081","128082","128083","128084","128085","128086","128087","128088","128089","128090","128091","128092","128093","128094","128095","128096","128097","128098","128099","128100","128101","128102","128103","128104","128105","128106","128107","128108","128109","128110","128111","128112","128113","128114","128115","128116","128117","128118","128119","128120","128121","128122","128123","128124","128125","128126","128127","128128","128129","128130","128131","128132","128133","128134","128135","128136","128137","128138","128139","128140","128141","128142","128143","128144","128145","128146","128147","128148","128149","128150","128151","128152","128153","128154","128155","128156","128157","128158","128159","128160","128161","128162","128163","128164","128165","128166","128167","128168","128169","128170","128171","128172","128173","128174","128175","128176","128177","128178","128179","128180","128181","128182","128183","128184","128185","128186","128187","128188","128189","128190","128191","128192","128193","128194","128195","128196","128197","128198","128199","128200","128201","128202","128203","128204","128205","128206","128207","128208","128209","128210","128211","128212","128213","128214","128215","128216","128217","128218","128219","128220","128221","128222","128223","128224","128225","128226","128227","128228","128229","128230","128231","128232","128233","128234","128235","128236","128237","128238","128239","128240","128241","128242","128243","128244","128245","128246","128247","128248","128249","128250","128251","128252","128253","128254","128255","128256","128257","128258","128259","128260","128261","128262","128263","128264","128265","128266","128267","128268","128269","128270","128271","128272","128273","128274","128275","128276","128277","128278","128279","128280","128281","128282","128283","128284","128285","128286","128287","128288","128289","128290","128291","128292","128293","128294","128295","128296","128297","128298","128299","128300","128301","128302","128303","128304","128305","128306","128307","128308","128309","128310","128311","128312","128313","128314","128315","128316","128317","128318","128319","128320","128321","128322","128323","128324","128325","128326","128327","128328","128329","128330","128331","128332","128333","128334","128335","128336","128337","128338","128339","128340","128341","128342","128343","128344","128345","128346","128347","128348","128349","128350","128351","128352","128353","128354","128355","128356","128357","128358","128359","128360","128361","128362","128363","128364","128365","128366","128367","128368","128369","128370","128371","128372","128373","128374","128375","128376","128377","128378","128379","128380","128381","128382","128383","128384","128385","128386","128387","128388","128389","128390","128391","128392","128393","128394","128395","128396","128397","128398","128399","128400","128401","128402","128403","128404","128405","128406","128407","128408","128409","128410","128411","128412","128413","128414","128415","128416","128417","128418","128419","128420","128421","128422","128423","128424","128425","128426","128427","128428","128429","128430","128431","128432","128433","128434","128435","128436","128437","128438","128439","128440","128441","128442","128443","128444","128445","128446","128447","128448","128449","128450","128451","128452","128453","128454","128455","128456","128457","128458","128459","128460","128461","128462","128463","128464","128465","128466","128467","128468","128469","128470","128471","128472","128473","128474","128475","128476","128477","128478","128479","128480","128481","128482","128483","128484","128485","128486","128487","128488","128489","128490","128491","128492","128493","128494","128495","128496","128497","128498","128499","128500","128501","128502","128503","128504","128505","128506","128507","128508","128509","128510","128511","128512","128513","128514","128515","128516","128517","128518","128519","128520","128521","128522","128523","128524","128525","128526","128527","128528","128529","128530","128531","128532","128533","128534","128535","128536","128537","128538","128539","128540","128541","128542","128543","128544","128545","128546","128547","128548","128549","128550","128551","128552","128553","128554","128555","128556","128557","128558","128559","128560","128561","128562","128563","128564","128565","128566","128567","128568","128569","128570","128571","128572","128573","128574","128575","128576","128577","128578","128579","128580","128581","128582","128583","128584","128585","128586","128587","128588","128589","128590","128591","128592","128593","128594","128595","128596","128597","128598","128599","128600","128601","128602","128603","128604","128605","128606","128607","128608","128609","128610","128611","128612","128613","128614","128615","128616","128617","128618","128619","128620","128621","128622","128623","128624","128625","128626","128627","128628","128629","128630","128631","128632","128633","128634","128635","128636","128637","128638","128639","128640","128641","128642","128643","128644","128645","128646","128647","128648","128649","128650","128651","128652","128653","128654","128655","128656","128657","128658","128659","128660","128661","128662","128663","128664","128665","128666","128667","128668","128669","128670","128671","128672","128673","128674","128675","128676","128677","128678","128679","128680","128681","128682","128683","128684","128685","128686","128687","128688","128689","128690","128691","128692","128693","128694","128695","128696","128697","128698","128699","128700","128701","128702","128703","128704","128705","128706","128707","128708","128709","128710","128711","128712","128713","128714","128715","128716","128717","128718","128719","128720","128721","128722","128736","128737","128738","128739","128740","128741","128742","128743","128744","128745","128746","128747","128748","128752","128753","128754","128755","128756","128757","128758","128768","128769","128770","128771","128772","128773","128774","128775","128776","128777","128778","128779","128780","128781","128782","128783","128784","128785","128786","128787","128788","128789","128790","128791","128792","128793","128794","128795","128796","128797","128798","128799","128800","128801","128802","128803","128804","128805","128806","128807","128808","128809","128810","128811","128812","128813","128814","128815","128816","128817","128818","128819","128820","128821","128822","128823","128824","128825","128826","128827","128828","128829","128830","128831","128832","128833","128834","128835","128836","128837","128838","128839","128840","128841","128842","128843","128844","128845","128846","128847","128848","128849","128850","128851","128852","128853","128854","128855","128856","128857","128858","128859","128860","128861","128862","128863","128864","128865","128866","128867","128868","128869","128870","128871","128872","128873","128874","128875","128876","128877","128878","128879","128880","128881","128882","128883","128896","128897","128898","128899","128900","128901","128902","128903","128904","128905","128906","128907","128908","128909","128910","128911","128912","128913","128914","128915","128916","128917","128918","128919","128920","128921","128922","128923","128924","128925","128926","128927","128928","128929","128930","128931","128932","128933","128934","128935","128936","128937","128938","128939","128940","128941","128942","128943","128944","128945","128946","128947","128948","128949","128950","128951","128952","128953","128954","128955","128956","128957","128958","128959","128960","128961","128962","128963","128964","128965","128966","128967","128968","128969","128970","128971","128972","128973","128974","128975","128976","128977","128978","128979","128980","129024","129025","129026","129027","129028","129029","129030","129031","129032","129033","129034","129035","129040","129041","129042","129043","129044","129045","129046","129047","129048","129049","129050","129051","129052","129053","129054","129055","129056","129057","129058","129059","129060","129061","129062","129063","129064","129065","129066","129067","129068","129069","129070","129071","129072","129073","129074","129075","129076","129077","129078","129079","129080","129081","129082","129083","129084","129085","129086","129087","129088","129089","129090","129091","129092","129093","129094","129095","129104","129105","129106","129107","129108","129109","129110","129111","129112","129113","129120","129121","129122","129123","129124","129125","129126","129127","129128","129129","129130","129131","129132","129133","129134","129135","129136","129137","129138","129139","129140","129141","129142","129143","129144","129145","129146","129147","129148","129149","129150","129151","129152","129153","129154","129155","129156","129157","129158","129159","129168","129169","129170","129171","129172","129173","129174","129175","129176","129177","129178","129179","129180","129181","129182","129183","129184","129185","129186","129187","129188","129189","129190","129191","129192","129193","129194","129195","129196","129197","129296","129297","129298","129299","129300","129301","129302","129303","129304","129305","129306","129307","129308","129309","129310","129312","129313","129314","129315","129316","129317","129318","129319","129328","129331","129332","129333","129334","129335","129336","129337","129338","129339","129340","129341","129342","129344","129345","129346","129347","129348","129349","129350","129351","129352","129353","129354","129355","129360","129361","129362","129363","129364","129365","129366","129367","129368","129369","129370","129371","129372","129373","129374","129408","129409","129410","129411","129412","129413","129414","129415","129416","129417","129418","129419","129420","129421","129422","129423","129424","129425","129472","get_blob","Builder","MSBlobBuilder","bag","endings","normalizeName","normalizeValue","iteratorFor","support","iterable","Headers","consumed","bodyUsed","fileReaderReady","readBlobAsArrayBuffer","readAsArrayBuffer","readBlobAsText","readArrayBufferAsText","bufferClone","Body","_initBody","_bodyInit","_bodyText","_bodyBlob","formData","FormData","_bodyFormData","searchParams","URLSearchParams","isDataView","_bodyArrayBuffer","isArrayBufferView","rejected","decode","normalizeMethod","upcased","Request","credentials","referrer","parseHeaders","rawHeaders","Response","bodyInit","viewClasses","oldValue","redirectStatuses","redirect","request","getAllResponseHeaders","responseURL","ontimeout","withCredentials","responseType","setRequestHeader","polyfill"],"mappings":"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AC,OAAA,IACAC,UAAA,IACAC,aAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,aAAA,IACAC,UAAA,IACAC,aAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,UAAA,IACAC,aAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,aAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,aAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,UAAA,IACAC,aAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,aAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACA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IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,KAAAC,IAAA,IACAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IACAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IACAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IACAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IACAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,KAAAC,IAAA,IACAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IACAC,IAAA,IAEAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IACAC,IAAA,IAAAC,IAAA,IAEAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,KAAAC,IAAA,KACAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IACAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IACAC,IAAA,KAAAC,IAAA,KAAAC,IAAA,KAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,GAAAC,IAAA,IAAAC,IAAA,KACAC,IAAA,KACAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,KAAAC,IAAA,KACAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IACAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IACAC,IAAA,KAAAC,IAAA,KAAAC,IAAA,KAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,GAAAC,IAAA,IAAAC,IAAA,KACAC,IAAA,KAEAC,IAAA,KAAAC,IAAA,IAAAC,IAAA,KAAAC,IAAA,IAAAC,IAAA,KAAAC,IAAA,IAAAC,IAAA,KAAAC,IAAA,IAEAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IACAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IACAC,IAAA,IAAAC,IAAA,IAEAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IACAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IACAC,IAAA,IAAAC,IAAA,IAEAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IACAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IACAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAEAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAEAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAEAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IACAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IACAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IACAC,IAAA,IAAAC,IAAA,IAAAC,IA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","file":"bundle.js","sourcesContent":["/******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId])\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\texports: {},\n/******/ \t\t\tid: moduleId,\n/******/ \t\t\tloaded: false\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.loaded = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"/admin/\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(0);\n/******/ })\n/************************************************************************/\n/******/ ((function(modules) {\n\t// Check all modules for deduplicated modules\n\tfor(var i in modules) {\n\t\tif(Object.prototype.hasOwnProperty.call(modules, i)) {\n\t\t\tswitch(typeof modules[i]) {\n\t\t\tcase \"function\": break;\n\t\t\tcase \"object\":\n\t\t\t\t// Module can be created from a template\n\t\t\t\tmodules[i] = (function(_m) {\n\t\t\t\t\tvar args = _m.slice(1), fn = modules[_m[0]];\n\t\t\t\t\treturn function (a,b,c) {\n\t\t\t\t\t\tfn.apply(this, [a,b,c].concat(args));\n\t\t\t\t\t};\n\t\t\t\t}(modules[i]));\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\t// Module is a copy of another module\n\t\t\t\tmodules[i] = modules[modules[i]];\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\treturn modules;\n}([\n/* 0 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar _react = __webpack_require__(2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _reactRouterRedux = __webpack_require__(309);\n\t\n\tvar _reactDom = __webpack_require__(43);\n\t\n\tvar _reactRedux = __webpack_require__(15);\n\t\n\tvar _reactRouter = __webpack_require__(16);\n\t\n\tvar _routes = __webpack_require__(382);\n\t\n\tvar _routes2 = _interopRequireDefault(_routes);\n\t\n\tvar _configureStore = __webpack_require__(383);\n\t\n\tvar _configureStore2 = _interopRequireDefault(_configureStore);\n\t\n\tvar _constants = __webpack_require__(17);\n\t\n\t__webpack_require__(412);\n\t\n\t__webpack_require__(426);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\t/* eslint-disable import/default */\n\tvar store = (0, _configureStore2.default)();\n\tvar history = (0, _reactRouterRedux.syncHistoryWithStore)(_reactRouter.browserHistory, store);\n\t\n\t(0, _reactDom.render)(_react2.default.createElement(\n\t _reactRedux.Provider,\n\t { store: store },\n\t _react2.default.createElement(\n\t _reactRouter.Router,\n\t { history: history, routes: _routes2.default },\n\t _react2.default.createElement(_reactRouter.Redirect, { from: _constants.ADMIN_PREFIX + '/', to: _constants.ADMIN_PREFIX + '/pages/' })\n\t )\n\t), document.getElementById('root'));\n\n/***/ },\n/* 1 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/* WEBPACK VAR INJECTION */(function(module) {//! moment.js\n\t//! version : 2.17.1\n\t//! authors : Tim Wood, Iskren Chernev, Moment.js contributors\n\t//! license : MIT\n\t//! momentjs.com\n\t\n\t;(function (global, factory) {\n\t true ? module.exports = factory() :\n\t typeof define === 'function' && define.amd ? define(factory) :\n\t global.moment = factory()\n\t}(this, (function () { 'use strict';\n\t\n\tvar hookCallback;\n\t\n\tfunction hooks () {\n\t return hookCallback.apply(null, arguments);\n\t}\n\t\n\t// This is done to register the method called with moment()\n\t// without creating circular dependencies.\n\tfunction setHookCallback (callback) {\n\t hookCallback = callback;\n\t}\n\t\n\tfunction isArray(input) {\n\t return input instanceof Array || Object.prototype.toString.call(input) === '[object Array]';\n\t}\n\t\n\tfunction isObject(input) {\n\t // IE8 will treat undefined and null as object if it wasn't for\n\t // input != null\n\t return input != null && Object.prototype.toString.call(input) === '[object Object]';\n\t}\n\t\n\tfunction isObjectEmpty(obj) {\n\t var k;\n\t for (k in obj) {\n\t // even if its not own property I'd still call it non-empty\n\t return false;\n\t }\n\t return true;\n\t}\n\t\n\tfunction isNumber(input) {\n\t return typeof input === 'number' || Object.prototype.toString.call(input) === '[object Number]';\n\t}\n\t\n\tfunction isDate(input) {\n\t return input instanceof Date || Object.prototype.toString.call(input) === '[object Date]';\n\t}\n\t\n\tfunction map(arr, fn) {\n\t var res = [], i;\n\t for (i = 0; i < arr.length; ++i) {\n\t res.push(fn(arr[i], i));\n\t }\n\t return res;\n\t}\n\t\n\tfunction hasOwnProp(a, b) {\n\t return Object.prototype.hasOwnProperty.call(a, b);\n\t}\n\t\n\tfunction extend(a, b) {\n\t for (var i in b) {\n\t if (hasOwnProp(b, i)) {\n\t a[i] = b[i];\n\t }\n\t }\n\t\n\t if (hasOwnProp(b, 'toString')) {\n\t a.toString = b.toString;\n\t }\n\t\n\t if (hasOwnProp(b, 'valueOf')) {\n\t a.valueOf = b.valueOf;\n\t }\n\t\n\t return a;\n\t}\n\t\n\tfunction createUTC (input, format, locale, strict) {\n\t return createLocalOrUTC(input, format, locale, strict, true).utc();\n\t}\n\t\n\tfunction defaultParsingFlags() {\n\t // We need to deep clone this object.\n\t return {\n\t empty : false,\n\t unusedTokens : [],\n\t unusedInput : [],\n\t overflow : -2,\n\t charsLeftOver : 0,\n\t nullInput : false,\n\t invalidMonth : null,\n\t invalidFormat : false,\n\t userInvalidated : false,\n\t iso : false,\n\t parsedDateParts : [],\n\t meridiem : null\n\t };\n\t}\n\t\n\tfunction getParsingFlags(m) {\n\t if (m._pf == null) {\n\t m._pf = defaultParsingFlags();\n\t }\n\t return m._pf;\n\t}\n\t\n\tvar some;\n\tif (Array.prototype.some) {\n\t some = Array.prototype.some;\n\t} else {\n\t some = function (fun) {\n\t var t = Object(this);\n\t var len = t.length >>> 0;\n\t\n\t for (var i = 0; i < len; i++) {\n\t if (i in t && fun.call(this, t[i], i, t)) {\n\t return true;\n\t }\n\t }\n\t\n\t return false;\n\t };\n\t}\n\t\n\tvar some$1 = some;\n\t\n\tfunction isValid(m) {\n\t if (m._isValid == null) {\n\t var flags = getParsingFlags(m);\n\t var parsedParts = some$1.call(flags.parsedDateParts, function (i) {\n\t return i != null;\n\t });\n\t var isNowValid = !isNaN(m._d.getTime()) &&\n\t flags.overflow < 0 &&\n\t !flags.empty &&\n\t !flags.invalidMonth &&\n\t !flags.invalidWeekday &&\n\t !flags.nullInput &&\n\t !flags.invalidFormat &&\n\t !flags.userInvalidated &&\n\t (!flags.meridiem || (flags.meridiem && parsedParts));\n\t\n\t if (m._strict) {\n\t isNowValid = isNowValid &&\n\t flags.charsLeftOver === 0 &&\n\t flags.unusedTokens.length === 0 &&\n\t flags.bigHour === undefined;\n\t }\n\t\n\t if (Object.isFrozen == null || !Object.isFrozen(m)) {\n\t m._isValid = isNowValid;\n\t }\n\t else {\n\t return isNowValid;\n\t }\n\t }\n\t return m._isValid;\n\t}\n\t\n\tfunction createInvalid (flags) {\n\t var m = createUTC(NaN);\n\t if (flags != null) {\n\t extend(getParsingFlags(m), flags);\n\t }\n\t else {\n\t getParsingFlags(m).userInvalidated = true;\n\t }\n\t\n\t return m;\n\t}\n\t\n\tfunction isUndefined(input) {\n\t return input === void 0;\n\t}\n\t\n\t// Plugins that add properties should also add the key here (null value),\n\t// so we can properly clone ourselves.\n\tvar momentProperties = hooks.momentProperties = [];\n\t\n\tfunction copyConfig(to, from) {\n\t var i, prop, val;\n\t\n\t if (!isUndefined(from._isAMomentObject)) {\n\t to._isAMomentObject = from._isAMomentObject;\n\t }\n\t if (!isUndefined(from._i)) {\n\t to._i = from._i;\n\t }\n\t if (!isUndefined(from._f)) {\n\t to._f = from._f;\n\t }\n\t if (!isUndefined(from._l)) {\n\t to._l = from._l;\n\t }\n\t if (!isUndefined(from._strict)) {\n\t to._strict = from._strict;\n\t }\n\t if (!isUndefined(from._tzm)) {\n\t to._tzm = from._tzm;\n\t }\n\t if (!isUndefined(from._isUTC)) {\n\t to._isUTC = from._isUTC;\n\t }\n\t if (!isUndefined(from._offset)) {\n\t to._offset = from._offset;\n\t }\n\t if (!isUndefined(from._pf)) {\n\t to._pf = getParsingFlags(from);\n\t }\n\t if (!isUndefined(from._locale)) {\n\t to._locale = from._locale;\n\t }\n\t\n\t if (momentProperties.length > 0) {\n\t for (i in momentProperties) {\n\t prop = momentProperties[i];\n\t val = from[prop];\n\t if (!isUndefined(val)) {\n\t to[prop] = val;\n\t }\n\t }\n\t }\n\t\n\t return to;\n\t}\n\t\n\tvar updateInProgress = false;\n\t\n\t// Moment prototype object\n\tfunction Moment(config) {\n\t copyConfig(this, config);\n\t this._d = new Date(config._d != null ? config._d.getTime() : NaN);\n\t if (!this.isValid()) {\n\t this._d = new Date(NaN);\n\t }\n\t // Prevent infinite loop in case updateOffset creates new moment\n\t // objects.\n\t if (updateInProgress === false) {\n\t updateInProgress = true;\n\t hooks.updateOffset(this);\n\t updateInProgress = false;\n\t }\n\t}\n\t\n\tfunction isMoment (obj) {\n\t return obj instanceof Moment || (obj != null && obj._isAMomentObject != null);\n\t}\n\t\n\tfunction absFloor (number) {\n\t if (number < 0) {\n\t // -0 -> 0\n\t return Math.ceil(number) || 0;\n\t } else {\n\t return Math.floor(number);\n\t }\n\t}\n\t\n\tfunction toInt(argumentForCoercion) {\n\t var coercedNumber = +argumentForCoercion,\n\t value = 0;\n\t\n\t if (coercedNumber !== 0 && isFinite(coercedNumber)) {\n\t value = absFloor(coercedNumber);\n\t }\n\t\n\t return value;\n\t}\n\t\n\t// compare two arrays, return the number of differences\n\tfunction compareArrays(array1, array2, dontConvert) {\n\t var len = Math.min(array1.length, array2.length),\n\t lengthDiff = Math.abs(array1.length - array2.length),\n\t diffs = 0,\n\t i;\n\t for (i = 0; i < len; i++) {\n\t if ((dontConvert && array1[i] !== array2[i]) ||\n\t (!dontConvert && toInt(array1[i]) !== toInt(array2[i]))) {\n\t diffs++;\n\t }\n\t }\n\t return diffs + lengthDiff;\n\t}\n\t\n\tfunction warn(msg) {\n\t if (hooks.suppressDeprecationWarnings === false &&\n\t (typeof console !== 'undefined') && console.warn) {\n\t console.warn('Deprecation warning: ' + msg);\n\t }\n\t}\n\t\n\tfunction deprecate(msg, fn) {\n\t var firstTime = true;\n\t\n\t return extend(function () {\n\t if (hooks.deprecationHandler != null) {\n\t hooks.deprecationHandler(null, msg);\n\t }\n\t if (firstTime) {\n\t var args = [];\n\t var arg;\n\t for (var i = 0; i < arguments.length; i++) {\n\t arg = '';\n\t if (typeof arguments[i] === 'object') {\n\t arg += '\\n[' + i + '] ';\n\t for (var key in arguments[0]) {\n\t arg += key + ': ' + arguments[0][key] + ', ';\n\t }\n\t arg = arg.slice(0, -2); // Remove trailing comma and space\n\t } else {\n\t arg = arguments[i];\n\t }\n\t args.push(arg);\n\t }\n\t warn(msg + '\\nArguments: ' + Array.prototype.slice.call(args).join('') + '\\n' + (new Error()).stack);\n\t firstTime = false;\n\t }\n\t return fn.apply(this, arguments);\n\t }, fn);\n\t}\n\t\n\tvar deprecations = {};\n\t\n\tfunction deprecateSimple(name, msg) {\n\t if (hooks.deprecationHandler != null) {\n\t hooks.deprecationHandler(name, msg);\n\t }\n\t if (!deprecations[name]) {\n\t warn(msg);\n\t deprecations[name] = true;\n\t }\n\t}\n\t\n\thooks.suppressDeprecationWarnings = false;\n\thooks.deprecationHandler = null;\n\t\n\tfunction isFunction(input) {\n\t return input instanceof Function || Object.prototype.toString.call(input) === '[object Function]';\n\t}\n\t\n\tfunction set (config) {\n\t var prop, i;\n\t for (i in config) {\n\t prop = config[i];\n\t if (isFunction(prop)) {\n\t this[i] = prop;\n\t } else {\n\t this['_' + i] = prop;\n\t }\n\t }\n\t this._config = config;\n\t // Lenient ordinal parsing accepts just a number in addition to\n\t // number + (possibly) stuff coming from _ordinalParseLenient.\n\t this._ordinalParseLenient = new RegExp(this._ordinalParse.source + '|' + (/\\d{1,2}/).source);\n\t}\n\t\n\tfunction mergeConfigs(parentConfig, childConfig) {\n\t var res = extend({}, parentConfig), prop;\n\t for (prop in childConfig) {\n\t if (hasOwnProp(childConfig, prop)) {\n\t if (isObject(parentConfig[prop]) && isObject(childConfig[prop])) {\n\t res[prop] = {};\n\t extend(res[prop], parentConfig[prop]);\n\t extend(res[prop], childConfig[prop]);\n\t } else if (childConfig[prop] != null) {\n\t res[prop] = childConfig[prop];\n\t } else {\n\t delete res[prop];\n\t }\n\t }\n\t }\n\t for (prop in parentConfig) {\n\t if (hasOwnProp(parentConfig, prop) &&\n\t !hasOwnProp(childConfig, prop) &&\n\t isObject(parentConfig[prop])) {\n\t // make sure changes to properties don't modify parent config\n\t res[prop] = extend({}, res[prop]);\n\t }\n\t }\n\t return res;\n\t}\n\t\n\tfunction Locale(config) {\n\t if (config != null) {\n\t this.set(config);\n\t }\n\t}\n\t\n\tvar keys;\n\t\n\tif (Object.keys) {\n\t keys = Object.keys;\n\t} else {\n\t keys = function (obj) {\n\t var i, res = [];\n\t for (i in obj) {\n\t if (hasOwnProp(obj, i)) {\n\t res.push(i);\n\t }\n\t }\n\t return res;\n\t };\n\t}\n\t\n\tvar keys$1 = keys;\n\t\n\tvar defaultCalendar = {\n\t sameDay : '[Today at] LT',\n\t nextDay : '[Tomorrow at] LT',\n\t nextWeek : 'dddd [at] LT',\n\t lastDay : '[Yesterday at] LT',\n\t lastWeek : '[Last] dddd [at] LT',\n\t sameElse : 'L'\n\t};\n\t\n\tfunction calendar (key, mom, now) {\n\t var output = this._calendar[key] || this._calendar['sameElse'];\n\t return isFunction(output) ? output.call(mom, now) : output;\n\t}\n\t\n\tvar defaultLongDateFormat = {\n\t LTS : 'h:mm:ss A',\n\t LT : 'h:mm A',\n\t L : 'MM/DD/YYYY',\n\t LL : 'MMMM D, YYYY',\n\t LLL : 'MMMM D, YYYY h:mm A',\n\t LLLL : 'dddd, MMMM D, YYYY h:mm A'\n\t};\n\t\n\tfunction longDateFormat (key) {\n\t var format = this._longDateFormat[key],\n\t formatUpper = this._longDateFormat[key.toUpperCase()];\n\t\n\t if (format || !formatUpper) {\n\t return format;\n\t }\n\t\n\t this._longDateFormat[key] = formatUpper.replace(/MMMM|MM|DD|dddd/g, function (val) {\n\t return val.slice(1);\n\t });\n\t\n\t return this._longDateFormat[key];\n\t}\n\t\n\tvar defaultInvalidDate = 'Invalid date';\n\t\n\tfunction invalidDate () {\n\t return this._invalidDate;\n\t}\n\t\n\tvar defaultOrdinal = '%d';\n\tvar defaultOrdinalParse = /\\d{1,2}/;\n\t\n\tfunction ordinal (number) {\n\t return this._ordinal.replace('%d', number);\n\t}\n\t\n\tvar defaultRelativeTime = {\n\t future : 'in %s',\n\t past : '%s ago',\n\t s : 'a few seconds',\n\t m : 'a minute',\n\t mm : '%d minutes',\n\t h : 'an hour',\n\t hh : '%d hours',\n\t d : 'a day',\n\t dd : '%d days',\n\t M : 'a month',\n\t MM : '%d months',\n\t y : 'a year',\n\t yy : '%d years'\n\t};\n\t\n\tfunction relativeTime (number, withoutSuffix, string, isFuture) {\n\t var output = this._relativeTime[string];\n\t return (isFunction(output)) ?\n\t output(number, withoutSuffix, string, isFuture) :\n\t output.replace(/%d/i, number);\n\t}\n\t\n\tfunction pastFuture (diff, output) {\n\t var format = this._relativeTime[diff > 0 ? 'future' : 'past'];\n\t return isFunction(format) ? format(output) : format.replace(/%s/i, output);\n\t}\n\t\n\tvar aliases = {};\n\t\n\tfunction addUnitAlias (unit, shorthand) {\n\t var lowerCase = unit.toLowerCase();\n\t aliases[lowerCase] = aliases[lowerCase + 's'] = aliases[shorthand] = unit;\n\t}\n\t\n\tfunction normalizeUnits(units) {\n\t return typeof units === 'string' ? aliases[units] || aliases[units.toLowerCase()] : undefined;\n\t}\n\t\n\tfunction normalizeObjectUnits(inputObject) {\n\t var normalizedInput = {},\n\t normalizedProp,\n\t prop;\n\t\n\t for (prop in inputObject) {\n\t if (hasOwnProp(inputObject, prop)) {\n\t normalizedProp = normalizeUnits(prop);\n\t if (normalizedProp) {\n\t normalizedInput[normalizedProp] = inputObject[prop];\n\t }\n\t }\n\t }\n\t\n\t return normalizedInput;\n\t}\n\t\n\tvar priorities = {};\n\t\n\tfunction addUnitPriority(unit, priority) {\n\t priorities[unit] = priority;\n\t}\n\t\n\tfunction getPrioritizedUnits(unitsObj) {\n\t var units = [];\n\t for (var u in unitsObj) {\n\t units.push({unit: u, priority: priorities[u]});\n\t }\n\t units.sort(function (a, b) {\n\t return a.priority - b.priority;\n\t });\n\t return units;\n\t}\n\t\n\tfunction makeGetSet (unit, keepTime) {\n\t return function (value) {\n\t if (value != null) {\n\t set$1(this, unit, value);\n\t hooks.updateOffset(this, keepTime);\n\t return this;\n\t } else {\n\t return get(this, unit);\n\t }\n\t };\n\t}\n\t\n\tfunction get (mom, unit) {\n\t return mom.isValid() ?\n\t mom._d['get' + (mom._isUTC ? 'UTC' : '') + unit]() : NaN;\n\t}\n\t\n\tfunction set$1 (mom, unit, value) {\n\t if (mom.isValid()) {\n\t mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value);\n\t }\n\t}\n\t\n\t// MOMENTS\n\t\n\tfunction stringGet (units) {\n\t units = normalizeUnits(units);\n\t if (isFunction(this[units])) {\n\t return this[units]();\n\t }\n\t return this;\n\t}\n\t\n\t\n\tfunction stringSet (units, value) {\n\t if (typeof units === 'object') {\n\t units = normalizeObjectUnits(units);\n\t var prioritized = getPrioritizedUnits(units);\n\t for (var i = 0; i < prioritized.length; i++) {\n\t this[prioritized[i].unit](units[prioritized[i].unit]);\n\t }\n\t } else {\n\t units = normalizeUnits(units);\n\t if (isFunction(this[units])) {\n\t return this[units](value);\n\t }\n\t }\n\t return this;\n\t}\n\t\n\tfunction zeroFill(number, targetLength, forceSign) {\n\t var absNumber = '' + Math.abs(number),\n\t zerosToFill = targetLength - absNumber.length,\n\t sign = number >= 0;\n\t return (sign ? (forceSign ? '+' : '') : '-') +\n\t Math.pow(10, Math.max(0, zerosToFill)).toString().substr(1) + absNumber;\n\t}\n\t\n\tvar formattingTokens = /(\\[[^\\[]*\\])|(\\\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g;\n\t\n\tvar localFormattingTokens = /(\\[[^\\[]*\\])|(\\\\)?(LTS|LT|LL?L?L?|l{1,4})/g;\n\t\n\tvar formatFunctions = {};\n\t\n\tvar formatTokenFunctions = {};\n\t\n\t// token: 'M'\n\t// padded: ['MM', 2]\n\t// ordinal: 'Mo'\n\t// callback: function () { this.month() + 1 }\n\tfunction addFormatToken (token, padded, ordinal, callback) {\n\t var func = callback;\n\t if (typeof callback === 'string') {\n\t func = function () {\n\t return this[callback]();\n\t };\n\t }\n\t if (token) {\n\t formatTokenFunctions[token] = func;\n\t }\n\t if (padded) {\n\t formatTokenFunctions[padded[0]] = function () {\n\t return zeroFill(func.apply(this, arguments), padded[1], padded[2]);\n\t };\n\t }\n\t if (ordinal) {\n\t formatTokenFunctions[ordinal] = function () {\n\t return this.localeData().ordinal(func.apply(this, arguments), token);\n\t };\n\t }\n\t}\n\t\n\tfunction removeFormattingTokens(input) {\n\t if (input.match(/\\[[\\s\\S]/)) {\n\t return input.replace(/^\\[|\\]$/g, '');\n\t }\n\t return input.replace(/\\\\/g, '');\n\t}\n\t\n\tfunction makeFormatFunction(format) {\n\t var array = format.match(formattingTokens), i, length;\n\t\n\t for (i = 0, length = array.length; i < length; i++) {\n\t if (formatTokenFunctions[array[i]]) {\n\t array[i] = formatTokenFunctions[array[i]];\n\t } else {\n\t array[i] = removeFormattingTokens(array[i]);\n\t }\n\t }\n\t\n\t return function (mom) {\n\t var output = '', i;\n\t for (i = 0; i < length; i++) {\n\t output += array[i] instanceof Function ? array[i].call(mom, format) : array[i];\n\t }\n\t return output;\n\t };\n\t}\n\t\n\t// format date using native date object\n\tfunction formatMoment(m, format) {\n\t if (!m.isValid()) {\n\t return m.localeData().invalidDate();\n\t }\n\t\n\t format = expandFormat(format, m.localeData());\n\t formatFunctions[format] = formatFunctions[format] || makeFormatFunction(format);\n\t\n\t return formatFunctions[format](m);\n\t}\n\t\n\tfunction expandFormat(format, locale) {\n\t var i = 5;\n\t\n\t function replaceLongDateFormatTokens(input) {\n\t return locale.longDateFormat(input) || input;\n\t }\n\t\n\t localFormattingTokens.lastIndex = 0;\n\t while (i >= 0 && localFormattingTokens.test(format)) {\n\t format = format.replace(localFormattingTokens, replaceLongDateFormatTokens);\n\t localFormattingTokens.lastIndex = 0;\n\t i -= 1;\n\t }\n\t\n\t return format;\n\t}\n\t\n\tvar match1 = /\\d/; // 0 - 9\n\tvar match2 = /\\d\\d/; // 00 - 99\n\tvar match3 = /\\d{3}/; // 000 - 999\n\tvar match4 = /\\d{4}/; // 0000 - 9999\n\tvar match6 = /[+-]?\\d{6}/; // -999999 - 999999\n\tvar match1to2 = /\\d\\d?/; // 0 - 99\n\tvar match3to4 = /\\d\\d\\d\\d?/; // 999 - 9999\n\tvar match5to6 = /\\d\\d\\d\\d\\d\\d?/; // 99999 - 999999\n\tvar match1to3 = /\\d{1,3}/; // 0 - 999\n\tvar match1to4 = /\\d{1,4}/; // 0 - 9999\n\tvar match1to6 = /[+-]?\\d{1,6}/; // -999999 - 999999\n\t\n\tvar matchUnsigned = /\\d+/; // 0 - inf\n\tvar matchSigned = /[+-]?\\d+/; // -inf - inf\n\t\n\tvar matchOffset = /Z|[+-]\\d\\d:?\\d\\d/gi; // +00:00 -00:00 +0000 -0000 or Z\n\tvar matchShortOffset = /Z|[+-]\\d\\d(?::?\\d\\d)?/gi; // +00 -00 +00:00 -00:00 +0000 -0000 or Z\n\t\n\tvar matchTimestamp = /[+-]?\\d+(\\.\\d{1,3})?/; // 123456789 123456789.123\n\t\n\t// any word (or two) characters or numbers including two/three word month in arabic.\n\t// includes scottish gaelic two word and hyphenated months\n\tvar matchWord = /[0-9]*['a-z\\u00A0-\\u05FF\\u0700-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]+|[\\u0600-\\u06FF\\/]+(\\s*?[\\u0600-\\u06FF]+){1,2}/i;\n\t\n\t\n\tvar regexes = {};\n\t\n\tfunction addRegexToken (token, regex, strictRegex) {\n\t regexes[token] = isFunction(regex) ? regex : function (isStrict, localeData) {\n\t return (isStrict && strictRegex) ? strictRegex : regex;\n\t };\n\t}\n\t\n\tfunction getParseRegexForToken (token, config) {\n\t if (!hasOwnProp(regexes, token)) {\n\t return new RegExp(unescapeFormat(token));\n\t }\n\t\n\t return regexes[token](config._strict, config._locale);\n\t}\n\t\n\t// Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript\n\tfunction unescapeFormat(s) {\n\t return regexEscape(s.replace('\\\\', '').replace(/\\\\(\\[)|\\\\(\\])|\\[([^\\]\\[]*)\\]|\\\\(.)/g, function (matched, p1, p2, p3, p4) {\n\t return p1 || p2 || p3 || p4;\n\t }));\n\t}\n\t\n\tfunction regexEscape(s) {\n\t return s.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n\t}\n\t\n\tvar tokens = {};\n\t\n\tfunction addParseToken (token, callback) {\n\t var i, func = callback;\n\t if (typeof token === 'string') {\n\t token = [token];\n\t }\n\t if (isNumber(callback)) {\n\t func = function (input, array) {\n\t array[callback] = toInt(input);\n\t };\n\t }\n\t for (i = 0; i < token.length; i++) {\n\t tokens[token[i]] = func;\n\t }\n\t}\n\t\n\tfunction addWeekParseToken (token, callback) {\n\t addParseToken(token, function (input, array, config, token) {\n\t config._w = config._w || {};\n\t callback(input, config._w, config, token);\n\t });\n\t}\n\t\n\tfunction addTimeToArrayFromToken(token, input, config) {\n\t if (input != null && hasOwnProp(tokens, token)) {\n\t tokens[token](input, config._a, config, token);\n\t }\n\t}\n\t\n\tvar YEAR = 0;\n\tvar MONTH = 1;\n\tvar DATE = 2;\n\tvar HOUR = 3;\n\tvar MINUTE = 4;\n\tvar SECOND = 5;\n\tvar MILLISECOND = 6;\n\tvar WEEK = 7;\n\tvar WEEKDAY = 8;\n\t\n\tvar indexOf;\n\t\n\tif (Array.prototype.indexOf) {\n\t indexOf = Array.prototype.indexOf;\n\t} else {\n\t indexOf = function (o) {\n\t // I know\n\t var i;\n\t for (i = 0; i < this.length; ++i) {\n\t if (this[i] === o) {\n\t return i;\n\t }\n\t }\n\t return -1;\n\t };\n\t}\n\t\n\tvar indexOf$1 = indexOf;\n\t\n\tfunction daysInMonth(year, month) {\n\t return new Date(Date.UTC(year, month + 1, 0)).getUTCDate();\n\t}\n\t\n\t// FORMATTING\n\t\n\taddFormatToken('M', ['MM', 2], 'Mo', function () {\n\t return this.month() + 1;\n\t});\n\t\n\taddFormatToken('MMM', 0, 0, function (format) {\n\t return this.localeData().monthsShort(this, format);\n\t});\n\t\n\taddFormatToken('MMMM', 0, 0, function (format) {\n\t return this.localeData().months(this, format);\n\t});\n\t\n\t// ALIASES\n\t\n\taddUnitAlias('month', 'M');\n\t\n\t// PRIORITY\n\t\n\taddUnitPriority('month', 8);\n\t\n\t// PARSING\n\t\n\taddRegexToken('M', match1to2);\n\taddRegexToken('MM', match1to2, match2);\n\taddRegexToken('MMM', function (isStrict, locale) {\n\t return locale.monthsShortRegex(isStrict);\n\t});\n\taddRegexToken('MMMM', function (isStrict, locale) {\n\t return locale.monthsRegex(isStrict);\n\t});\n\t\n\taddParseToken(['M', 'MM'], function (input, array) {\n\t array[MONTH] = toInt(input) - 1;\n\t});\n\t\n\taddParseToken(['MMM', 'MMMM'], function (input, array, config, token) {\n\t var month = config._locale.monthsParse(input, token, config._strict);\n\t // if we didn't find a month name, mark the date as invalid.\n\t if (month != null) {\n\t array[MONTH] = month;\n\t } else {\n\t getParsingFlags(config).invalidMonth = input;\n\t }\n\t});\n\t\n\t// LOCALES\n\t\n\tvar MONTHS_IN_FORMAT = /D[oD]?(\\[[^\\[\\]]*\\]|\\s)+MMMM?/;\n\tvar defaultLocaleMonths = 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_');\n\tfunction localeMonths (m, format) {\n\t if (!m) {\n\t return this._months;\n\t }\n\t return isArray(this._months) ? this._months[m.month()] :\n\t this._months[(this._months.isFormat || MONTHS_IN_FORMAT).test(format) ? 'format' : 'standalone'][m.month()];\n\t}\n\t\n\tvar defaultLocaleMonthsShort = 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_');\n\tfunction localeMonthsShort (m, format) {\n\t if (!m) {\n\t return this._monthsShort;\n\t }\n\t return isArray(this._monthsShort) ? this._monthsShort[m.month()] :\n\t this._monthsShort[MONTHS_IN_FORMAT.test(format) ? 'format' : 'standalone'][m.month()];\n\t}\n\t\n\tfunction handleStrictParse(monthName, format, strict) {\n\t var i, ii, mom, llc = monthName.toLocaleLowerCase();\n\t if (!this._monthsParse) {\n\t // this is not used\n\t this._monthsParse = [];\n\t this._longMonthsParse = [];\n\t this._shortMonthsParse = [];\n\t for (i = 0; i < 12; ++i) {\n\t mom = createUTC([2000, i]);\n\t this._shortMonthsParse[i] = this.monthsShort(mom, '').toLocaleLowerCase();\n\t this._longMonthsParse[i] = this.months(mom, '').toLocaleLowerCase();\n\t }\n\t }\n\t\n\t if (strict) {\n\t if (format === 'MMM') {\n\t ii = indexOf$1.call(this._shortMonthsParse, llc);\n\t return ii !== -1 ? ii : null;\n\t } else {\n\t ii = indexOf$1.call(this._longMonthsParse, llc);\n\t return ii !== -1 ? ii : null;\n\t }\n\t } else {\n\t if (format === 'MMM') {\n\t ii = indexOf$1.call(this._shortMonthsParse, llc);\n\t if (ii !== -1) {\n\t return ii;\n\t }\n\t ii = indexOf$1.call(this._longMonthsParse, llc);\n\t return ii !== -1 ? ii : null;\n\t } else {\n\t ii = indexOf$1.call(this._longMonthsParse, llc);\n\t if (ii !== -1) {\n\t return ii;\n\t }\n\t ii = indexOf$1.call(this._shortMonthsParse, llc);\n\t return ii !== -1 ? ii : null;\n\t }\n\t }\n\t}\n\t\n\tfunction localeMonthsParse (monthName, format, strict) {\n\t var i, mom, regex;\n\t\n\t if (this._monthsParseExact) {\n\t return handleStrictParse.call(this, monthName, format, strict);\n\t }\n\t\n\t if (!this._monthsParse) {\n\t this._monthsParse = [];\n\t this._longMonthsParse = [];\n\t this._shortMonthsParse = [];\n\t }\n\t\n\t // TODO: add sorting\n\t // Sorting makes sure if one month (or abbr) is a prefix of another\n\t // see sorting in computeMonthsParse\n\t for (i = 0; i < 12; i++) {\n\t // make the regex if we don't have it already\n\t mom = createUTC([2000, i]);\n\t if (strict && !this._longMonthsParse[i]) {\n\t this._longMonthsParse[i] = new RegExp('^' + this.months(mom, '').replace('.', '') + '$', 'i');\n\t this._shortMonthsParse[i] = new RegExp('^' + this.monthsShort(mom, '').replace('.', '') + '$', 'i');\n\t }\n\t if (!strict && !this._monthsParse[i]) {\n\t regex = '^' + this.months(mom, '') + '|^' + this.monthsShort(mom, '');\n\t this._monthsParse[i] = new RegExp(regex.replace('.', ''), 'i');\n\t }\n\t // test the regex\n\t if (strict && format === 'MMMM' && this._longMonthsParse[i].test(monthName)) {\n\t return i;\n\t } else if (strict && format === 'MMM' && this._shortMonthsParse[i].test(monthName)) {\n\t return i;\n\t } else if (!strict && this._monthsParse[i].test(monthName)) {\n\t return i;\n\t }\n\t }\n\t}\n\t\n\t// MOMENTS\n\t\n\tfunction setMonth (mom, value) {\n\t var dayOfMonth;\n\t\n\t if (!mom.isValid()) {\n\t // No op\n\t return mom;\n\t }\n\t\n\t if (typeof value === 'string') {\n\t if (/^\\d+$/.test(value)) {\n\t value = toInt(value);\n\t } else {\n\t value = mom.localeData().monthsParse(value);\n\t // TODO: Another silent failure?\n\t if (!isNumber(value)) {\n\t return mom;\n\t }\n\t }\n\t }\n\t\n\t dayOfMonth = Math.min(mom.date(), daysInMonth(mom.year(), value));\n\t mom._d['set' + (mom._isUTC ? 'UTC' : '') + 'Month'](value, dayOfMonth);\n\t return mom;\n\t}\n\t\n\tfunction getSetMonth (value) {\n\t if (value != null) {\n\t setMonth(this, value);\n\t hooks.updateOffset(this, true);\n\t return this;\n\t } else {\n\t return get(this, 'Month');\n\t }\n\t}\n\t\n\tfunction getDaysInMonth () {\n\t return daysInMonth(this.year(), this.month());\n\t}\n\t\n\tvar defaultMonthsShortRegex = matchWord;\n\tfunction monthsShortRegex (isStrict) {\n\t if (this._monthsParseExact) {\n\t if (!hasOwnProp(this, '_monthsRegex')) {\n\t computeMonthsParse.call(this);\n\t }\n\t if (isStrict) {\n\t return this._monthsShortStrictRegex;\n\t } else {\n\t return this._monthsShortRegex;\n\t }\n\t } else {\n\t if (!hasOwnProp(this, '_monthsShortRegex')) {\n\t this._monthsShortRegex = defaultMonthsShortRegex;\n\t }\n\t return this._monthsShortStrictRegex && isStrict ?\n\t this._monthsShortStrictRegex : this._monthsShortRegex;\n\t }\n\t}\n\t\n\tvar defaultMonthsRegex = matchWord;\n\tfunction monthsRegex (isStrict) {\n\t if (this._monthsParseExact) {\n\t if (!hasOwnProp(this, '_monthsRegex')) {\n\t computeMonthsParse.call(this);\n\t }\n\t if (isStrict) {\n\t return this._monthsStrictRegex;\n\t } else {\n\t return this._monthsRegex;\n\t }\n\t } else {\n\t if (!hasOwnProp(this, '_monthsRegex')) {\n\t this._monthsRegex = defaultMonthsRegex;\n\t }\n\t return this._monthsStrictRegex && isStrict ?\n\t this._monthsStrictRegex : this._monthsRegex;\n\t }\n\t}\n\t\n\tfunction computeMonthsParse () {\n\t function cmpLenRev(a, b) {\n\t return b.length - a.length;\n\t }\n\t\n\t var shortPieces = [], longPieces = [], mixedPieces = [],\n\t i, mom;\n\t for (i = 0; i < 12; i++) {\n\t // make the regex if we don't have it already\n\t mom = createUTC([2000, i]);\n\t shortPieces.push(this.monthsShort(mom, ''));\n\t longPieces.push(this.months(mom, ''));\n\t mixedPieces.push(this.months(mom, ''));\n\t mixedPieces.push(this.monthsShort(mom, ''));\n\t }\n\t // Sorting makes sure if one month (or abbr) is a prefix of another it\n\t // will match the longer piece.\n\t shortPieces.sort(cmpLenRev);\n\t longPieces.sort(cmpLenRev);\n\t mixedPieces.sort(cmpLenRev);\n\t for (i = 0; i < 12; i++) {\n\t shortPieces[i] = regexEscape(shortPieces[i]);\n\t longPieces[i] = regexEscape(longPieces[i]);\n\t }\n\t for (i = 0; i < 24; i++) {\n\t mixedPieces[i] = regexEscape(mixedPieces[i]);\n\t }\n\t\n\t this._monthsRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n\t this._monthsShortRegex = this._monthsRegex;\n\t this._monthsStrictRegex = new RegExp('^(' + longPieces.join('|') + ')', 'i');\n\t this._monthsShortStrictRegex = new RegExp('^(' + shortPieces.join('|') + ')', 'i');\n\t}\n\t\n\t// FORMATTING\n\t\n\taddFormatToken('Y', 0, 0, function () {\n\t var y = this.year();\n\t return y <= 9999 ? '' + y : '+' + y;\n\t});\n\t\n\taddFormatToken(0, ['YY', 2], 0, function () {\n\t return this.year() % 100;\n\t});\n\t\n\taddFormatToken(0, ['YYYY', 4], 0, 'year');\n\taddFormatToken(0, ['YYYYY', 5], 0, 'year');\n\taddFormatToken(0, ['YYYYYY', 6, true], 0, 'year');\n\t\n\t// ALIASES\n\t\n\taddUnitAlias('year', 'y');\n\t\n\t// PRIORITIES\n\t\n\taddUnitPriority('year', 1);\n\t\n\t// PARSING\n\t\n\taddRegexToken('Y', matchSigned);\n\taddRegexToken('YY', match1to2, match2);\n\taddRegexToken('YYYY', match1to4, match4);\n\taddRegexToken('YYYYY', match1to6, match6);\n\taddRegexToken('YYYYYY', match1to6, match6);\n\t\n\taddParseToken(['YYYYY', 'YYYYYY'], YEAR);\n\taddParseToken('YYYY', function (input, array) {\n\t array[YEAR] = input.length === 2 ? hooks.parseTwoDigitYear(input) : toInt(input);\n\t});\n\taddParseToken('YY', function (input, array) {\n\t array[YEAR] = hooks.parseTwoDigitYear(input);\n\t});\n\taddParseToken('Y', function (input, array) {\n\t array[YEAR] = parseInt(input, 10);\n\t});\n\t\n\t// HELPERS\n\t\n\tfunction daysInYear(year) {\n\t return isLeapYear(year) ? 366 : 365;\n\t}\n\t\n\tfunction isLeapYear(year) {\n\t return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;\n\t}\n\t\n\t// HOOKS\n\t\n\thooks.parseTwoDigitYear = function (input) {\n\t return toInt(input) + (toInt(input) > 68 ? 1900 : 2000);\n\t};\n\t\n\t// MOMENTS\n\t\n\tvar getSetYear = makeGetSet('FullYear', true);\n\t\n\tfunction getIsLeapYear () {\n\t return isLeapYear(this.year());\n\t}\n\t\n\tfunction createDate (y, m, d, h, M, s, ms) {\n\t //can't just apply() to create a date:\n\t //http://stackoverflow.com/questions/181348/instantiating-a-javascript-object-by-calling-prototype-constructor-apply\n\t var date = new Date(y, m, d, h, M, s, ms);\n\t\n\t //the date constructor remaps years 0-99 to 1900-1999\n\t if (y < 100 && y >= 0 && isFinite(date.getFullYear())) {\n\t date.setFullYear(y);\n\t }\n\t return date;\n\t}\n\t\n\tfunction createUTCDate (y) {\n\t var date = new Date(Date.UTC.apply(null, arguments));\n\t\n\t //the Date.UTC function remaps years 0-99 to 1900-1999\n\t if (y < 100 && y >= 0 && isFinite(date.getUTCFullYear())) {\n\t date.setUTCFullYear(y);\n\t }\n\t return date;\n\t}\n\t\n\t// start-of-first-week - start-of-year\n\tfunction firstWeekOffset(year, dow, doy) {\n\t var // first-week day -- which january is always in the first week (4 for iso, 1 for other)\n\t fwd = 7 + dow - doy,\n\t // first-week day local weekday -- which local weekday is fwd\n\t fwdlw = (7 + createUTCDate(year, 0, fwd).getUTCDay() - dow) % 7;\n\t\n\t return -fwdlw + fwd - 1;\n\t}\n\t\n\t//http://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday\n\tfunction dayOfYearFromWeeks(year, week, weekday, dow, doy) {\n\t var localWeekday = (7 + weekday - dow) % 7,\n\t weekOffset = firstWeekOffset(year, dow, doy),\n\t dayOfYear = 1 + 7 * (week - 1) + localWeekday + weekOffset,\n\t resYear, resDayOfYear;\n\t\n\t if (dayOfYear <= 0) {\n\t resYear = year - 1;\n\t resDayOfYear = daysInYear(resYear) + dayOfYear;\n\t } else if (dayOfYear > daysInYear(year)) {\n\t resYear = year + 1;\n\t resDayOfYear = dayOfYear - daysInYear(year);\n\t } else {\n\t resYear = year;\n\t resDayOfYear = dayOfYear;\n\t }\n\t\n\t return {\n\t year: resYear,\n\t dayOfYear: resDayOfYear\n\t };\n\t}\n\t\n\tfunction weekOfYear(mom, dow, doy) {\n\t var weekOffset = firstWeekOffset(mom.year(), dow, doy),\n\t week = Math.floor((mom.dayOfYear() - weekOffset - 1) / 7) + 1,\n\t resWeek, resYear;\n\t\n\t if (week < 1) {\n\t resYear = mom.year() - 1;\n\t resWeek = week + weeksInYear(resYear, dow, doy);\n\t } else if (week > weeksInYear(mom.year(), dow, doy)) {\n\t resWeek = week - weeksInYear(mom.year(), dow, doy);\n\t resYear = mom.year() + 1;\n\t } else {\n\t resYear = mom.year();\n\t resWeek = week;\n\t }\n\t\n\t return {\n\t week: resWeek,\n\t year: resYear\n\t };\n\t}\n\t\n\tfunction weeksInYear(year, dow, doy) {\n\t var weekOffset = firstWeekOffset(year, dow, doy),\n\t weekOffsetNext = firstWeekOffset(year + 1, dow, doy);\n\t return (daysInYear(year) - weekOffset + weekOffsetNext) / 7;\n\t}\n\t\n\t// FORMATTING\n\t\n\taddFormatToken('w', ['ww', 2], 'wo', 'week');\n\taddFormatToken('W', ['WW', 2], 'Wo', 'isoWeek');\n\t\n\t// ALIASES\n\t\n\taddUnitAlias('week', 'w');\n\taddUnitAlias('isoWeek', 'W');\n\t\n\t// PRIORITIES\n\t\n\taddUnitPriority('week', 5);\n\taddUnitPriority('isoWeek', 5);\n\t\n\t// PARSING\n\t\n\taddRegexToken('w', match1to2);\n\taddRegexToken('ww', match1to2, match2);\n\taddRegexToken('W', match1to2);\n\taddRegexToken('WW', match1to2, match2);\n\t\n\taddWeekParseToken(['w', 'ww', 'W', 'WW'], function (input, week, config, token) {\n\t week[token.substr(0, 1)] = toInt(input);\n\t});\n\t\n\t// HELPERS\n\t\n\t// LOCALES\n\t\n\tfunction localeWeek (mom) {\n\t return weekOfYear(mom, this._week.dow, this._week.doy).week;\n\t}\n\t\n\tvar defaultLocaleWeek = {\n\t dow : 0, // Sunday is the first day of the week.\n\t doy : 6 // The week that contains Jan 1st is the first week of the year.\n\t};\n\t\n\tfunction localeFirstDayOfWeek () {\n\t return this._week.dow;\n\t}\n\t\n\tfunction localeFirstDayOfYear () {\n\t return this._week.doy;\n\t}\n\t\n\t// MOMENTS\n\t\n\tfunction getSetWeek (input) {\n\t var week = this.localeData().week(this);\n\t return input == null ? week : this.add((input - week) * 7, 'd');\n\t}\n\t\n\tfunction getSetISOWeek (input) {\n\t var week = weekOfYear(this, 1, 4).week;\n\t return input == null ? week : this.add((input - week) * 7, 'd');\n\t}\n\t\n\t// FORMATTING\n\t\n\taddFormatToken('d', 0, 'do', 'day');\n\t\n\taddFormatToken('dd', 0, 0, function (format) {\n\t return this.localeData().weekdaysMin(this, format);\n\t});\n\t\n\taddFormatToken('ddd', 0, 0, function (format) {\n\t return this.localeData().weekdaysShort(this, format);\n\t});\n\t\n\taddFormatToken('dddd', 0, 0, function (format) {\n\t return this.localeData().weekdays(this, format);\n\t});\n\t\n\taddFormatToken('e', 0, 0, 'weekday');\n\taddFormatToken('E', 0, 0, 'isoWeekday');\n\t\n\t// ALIASES\n\t\n\taddUnitAlias('day', 'd');\n\taddUnitAlias('weekday', 'e');\n\taddUnitAlias('isoWeekday', 'E');\n\t\n\t// PRIORITY\n\taddUnitPriority('day', 11);\n\taddUnitPriority('weekday', 11);\n\taddUnitPriority('isoWeekday', 11);\n\t\n\t// PARSING\n\t\n\taddRegexToken('d', match1to2);\n\taddRegexToken('e', match1to2);\n\taddRegexToken('E', match1to2);\n\taddRegexToken('dd', function (isStrict, locale) {\n\t return locale.weekdaysMinRegex(isStrict);\n\t});\n\taddRegexToken('ddd', function (isStrict, locale) {\n\t return locale.weekdaysShortRegex(isStrict);\n\t});\n\taddRegexToken('dddd', function (isStrict, locale) {\n\t return locale.weekdaysRegex(isStrict);\n\t});\n\t\n\taddWeekParseToken(['dd', 'ddd', 'dddd'], function (input, week, config, token) {\n\t var weekday = config._locale.weekdaysParse(input, token, config._strict);\n\t // if we didn't get a weekday name, mark the date as invalid\n\t if (weekday != null) {\n\t week.d = weekday;\n\t } else {\n\t getParsingFlags(config).invalidWeekday = input;\n\t }\n\t});\n\t\n\taddWeekParseToken(['d', 'e', 'E'], function (input, week, config, token) {\n\t week[token] = toInt(input);\n\t});\n\t\n\t// HELPERS\n\t\n\tfunction parseWeekday(input, locale) {\n\t if (typeof input !== 'string') {\n\t return input;\n\t }\n\t\n\t if (!isNaN(input)) {\n\t return parseInt(input, 10);\n\t }\n\t\n\t input = locale.weekdaysParse(input);\n\t if (typeof input === 'number') {\n\t return input;\n\t }\n\t\n\t return null;\n\t}\n\t\n\tfunction parseIsoWeekday(input, locale) {\n\t if (typeof input === 'string') {\n\t return locale.weekdaysParse(input) % 7 || 7;\n\t }\n\t return isNaN(input) ? null : input;\n\t}\n\t\n\t// LOCALES\n\t\n\tvar defaultLocaleWeekdays = 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_');\n\tfunction localeWeekdays (m, format) {\n\t if (!m) {\n\t return this._weekdays;\n\t }\n\t return isArray(this._weekdays) ? this._weekdays[m.day()] :\n\t this._weekdays[this._weekdays.isFormat.test(format) ? 'format' : 'standalone'][m.day()];\n\t}\n\t\n\tvar defaultLocaleWeekdaysShort = 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_');\n\tfunction localeWeekdaysShort (m) {\n\t return (m) ? this._weekdaysShort[m.day()] : this._weekdaysShort;\n\t}\n\t\n\tvar defaultLocaleWeekdaysMin = 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_');\n\tfunction localeWeekdaysMin (m) {\n\t return (m) ? this._weekdaysMin[m.day()] : this._weekdaysMin;\n\t}\n\t\n\tfunction handleStrictParse$1(weekdayName, format, strict) {\n\t var i, ii, mom, llc = weekdayName.toLocaleLowerCase();\n\t if (!this._weekdaysParse) {\n\t this._weekdaysParse = [];\n\t this._shortWeekdaysParse = [];\n\t this._minWeekdaysParse = [];\n\t\n\t for (i = 0; i < 7; ++i) {\n\t mom = createUTC([2000, 1]).day(i);\n\t this._minWeekdaysParse[i] = this.weekdaysMin(mom, '').toLocaleLowerCase();\n\t this._shortWeekdaysParse[i] = this.weekdaysShort(mom, '').toLocaleLowerCase();\n\t this._weekdaysParse[i] = this.weekdays(mom, '').toLocaleLowerCase();\n\t }\n\t }\n\t\n\t if (strict) {\n\t if (format === 'dddd') {\n\t ii = indexOf$1.call(this._weekdaysParse, llc);\n\t return ii !== -1 ? ii : null;\n\t } else if (format === 'ddd') {\n\t ii = indexOf$1.call(this._shortWeekdaysParse, llc);\n\t return ii !== -1 ? ii : null;\n\t } else {\n\t ii = indexOf$1.call(this._minWeekdaysParse, llc);\n\t return ii !== -1 ? ii : null;\n\t }\n\t } else {\n\t if (format === 'dddd') {\n\t ii = indexOf$1.call(this._weekdaysParse, llc);\n\t if (ii !== -1) {\n\t return ii;\n\t }\n\t ii = indexOf$1.call(this._shortWeekdaysParse, llc);\n\t if (ii !== -1) {\n\t return ii;\n\t }\n\t ii = indexOf$1.call(this._minWeekdaysParse, llc);\n\t return ii !== -1 ? ii : null;\n\t } else if (format === 'ddd') {\n\t ii = indexOf$1.call(this._shortWeekdaysParse, llc);\n\t if (ii !== -1) {\n\t return ii;\n\t }\n\t ii = indexOf$1.call(this._weekdaysParse, llc);\n\t if (ii !== -1) {\n\t return ii;\n\t }\n\t ii = indexOf$1.call(this._minWeekdaysParse, llc);\n\t return ii !== -1 ? ii : null;\n\t } else {\n\t ii = indexOf$1.call(this._minWeekdaysParse, llc);\n\t if (ii !== -1) {\n\t return ii;\n\t }\n\t ii = indexOf$1.call(this._weekdaysParse, llc);\n\t if (ii !== -1) {\n\t return ii;\n\t }\n\t ii = indexOf$1.call(this._shortWeekdaysParse, llc);\n\t return ii !== -1 ? ii : null;\n\t }\n\t }\n\t}\n\t\n\tfunction localeWeekdaysParse (weekdayName, format, strict) {\n\t var i, mom, regex;\n\t\n\t if (this._weekdaysParseExact) {\n\t return handleStrictParse$1.call(this, weekdayName, format, strict);\n\t }\n\t\n\t if (!this._weekdaysParse) {\n\t this._weekdaysParse = [];\n\t this._minWeekdaysParse = [];\n\t this._shortWeekdaysParse = [];\n\t this._fullWeekdaysParse = [];\n\t }\n\t\n\t for (i = 0; i < 7; i++) {\n\t // make the regex if we don't have it already\n\t\n\t mom = createUTC([2000, 1]).day(i);\n\t if (strict && !this._fullWeekdaysParse[i]) {\n\t this._fullWeekdaysParse[i] = new RegExp('^' + this.weekdays(mom, '').replace('.', '\\.?') + '$', 'i');\n\t this._shortWeekdaysParse[i] = new RegExp('^' + this.weekdaysShort(mom, '').replace('.', '\\.?') + '$', 'i');\n\t this._minWeekdaysParse[i] = new RegExp('^' + this.weekdaysMin(mom, '').replace('.', '\\.?') + '$', 'i');\n\t }\n\t if (!this._weekdaysParse[i]) {\n\t regex = '^' + this.weekdays(mom, '') + '|^' + this.weekdaysShort(mom, '') + '|^' + this.weekdaysMin(mom, '');\n\t this._weekdaysParse[i] = new RegExp(regex.replace('.', ''), 'i');\n\t }\n\t // test the regex\n\t if (strict && format === 'dddd' && this._fullWeekdaysParse[i].test(weekdayName)) {\n\t return i;\n\t } else if (strict && format === 'ddd' && this._shortWeekdaysParse[i].test(weekdayName)) {\n\t return i;\n\t } else if (strict && format === 'dd' && this._minWeekdaysParse[i].test(weekdayName)) {\n\t return i;\n\t } else if (!strict && this._weekdaysParse[i].test(weekdayName)) {\n\t return i;\n\t }\n\t }\n\t}\n\t\n\t// MOMENTS\n\t\n\tfunction getSetDayOfWeek (input) {\n\t if (!this.isValid()) {\n\t return input != null ? this : NaN;\n\t }\n\t var day = this._isUTC ? this._d.getUTCDay() : this._d.getDay();\n\t if (input != null) {\n\t input = parseWeekday(input, this.localeData());\n\t return this.add(input - day, 'd');\n\t } else {\n\t return day;\n\t }\n\t}\n\t\n\tfunction getSetLocaleDayOfWeek (input) {\n\t if (!this.isValid()) {\n\t return input != null ? this : NaN;\n\t }\n\t var weekday = (this.day() + 7 - this.localeData()._week.dow) % 7;\n\t return input == null ? weekday : this.add(input - weekday, 'd');\n\t}\n\t\n\tfunction getSetISODayOfWeek (input) {\n\t if (!this.isValid()) {\n\t return input != null ? this : NaN;\n\t }\n\t\n\t // behaves the same as moment#day except\n\t // as a getter, returns 7 instead of 0 (1-7 range instead of 0-6)\n\t // as a setter, sunday should belong to the previous week.\n\t\n\t if (input != null) {\n\t var weekday = parseIsoWeekday(input, this.localeData());\n\t return this.day(this.day() % 7 ? weekday : weekday - 7);\n\t } else {\n\t return this.day() || 7;\n\t }\n\t}\n\t\n\tvar defaultWeekdaysRegex = matchWord;\n\tfunction weekdaysRegex (isStrict) {\n\t if (this._weekdaysParseExact) {\n\t if (!hasOwnProp(this, '_weekdaysRegex')) {\n\t computeWeekdaysParse.call(this);\n\t }\n\t if (isStrict) {\n\t return this._weekdaysStrictRegex;\n\t } else {\n\t return this._weekdaysRegex;\n\t }\n\t } else {\n\t if (!hasOwnProp(this, '_weekdaysRegex')) {\n\t this._weekdaysRegex = defaultWeekdaysRegex;\n\t }\n\t return this._weekdaysStrictRegex && isStrict ?\n\t this._weekdaysStrictRegex : this._weekdaysRegex;\n\t }\n\t}\n\t\n\tvar defaultWeekdaysShortRegex = matchWord;\n\tfunction weekdaysShortRegex (isStrict) {\n\t if (this._weekdaysParseExact) {\n\t if (!hasOwnProp(this, '_weekdaysRegex')) {\n\t computeWeekdaysParse.call(this);\n\t }\n\t if (isStrict) {\n\t return this._weekdaysShortStrictRegex;\n\t } else {\n\t return this._weekdaysShortRegex;\n\t }\n\t } else {\n\t if (!hasOwnProp(this, '_weekdaysShortRegex')) {\n\t this._weekdaysShortRegex = defaultWeekdaysShortRegex;\n\t }\n\t return this._weekdaysShortStrictRegex && isStrict ?\n\t this._weekdaysShortStrictRegex : this._weekdaysShortRegex;\n\t }\n\t}\n\t\n\tvar defaultWeekdaysMinRegex = matchWord;\n\tfunction weekdaysMinRegex (isStrict) {\n\t if (this._weekdaysParseExact) {\n\t if (!hasOwnProp(this, '_weekdaysRegex')) {\n\t computeWeekdaysParse.call(this);\n\t }\n\t if (isStrict) {\n\t return this._weekdaysMinStrictRegex;\n\t } else {\n\t return this._weekdaysMinRegex;\n\t }\n\t } else {\n\t if (!hasOwnProp(this, '_weekdaysMinRegex')) {\n\t this._weekdaysMinRegex = defaultWeekdaysMinRegex;\n\t }\n\t return this._weekdaysMinStrictRegex && isStrict ?\n\t this._weekdaysMinStrictRegex : this._weekdaysMinRegex;\n\t }\n\t}\n\t\n\t\n\tfunction computeWeekdaysParse () {\n\t function cmpLenRev(a, b) {\n\t return b.length - a.length;\n\t }\n\t\n\t var minPieces = [], shortPieces = [], longPieces = [], mixedPieces = [],\n\t i, mom, minp, shortp, longp;\n\t for (i = 0; i < 7; i++) {\n\t // make the regex if we don't have it already\n\t mom = createUTC([2000, 1]).day(i);\n\t minp = this.weekdaysMin(mom, '');\n\t shortp = this.weekdaysShort(mom, '');\n\t longp = this.weekdays(mom, '');\n\t minPieces.push(minp);\n\t shortPieces.push(shortp);\n\t longPieces.push(longp);\n\t mixedPieces.push(minp);\n\t mixedPieces.push(shortp);\n\t mixedPieces.push(longp);\n\t }\n\t // Sorting makes sure if one weekday (or abbr) is a prefix of another it\n\t // will match the longer piece.\n\t minPieces.sort(cmpLenRev);\n\t shortPieces.sort(cmpLenRev);\n\t longPieces.sort(cmpLenRev);\n\t mixedPieces.sort(cmpLenRev);\n\t for (i = 0; i < 7; i++) {\n\t shortPieces[i] = regexEscape(shortPieces[i]);\n\t longPieces[i] = regexEscape(longPieces[i]);\n\t mixedPieces[i] = regexEscape(mixedPieces[i]);\n\t }\n\t\n\t this._weekdaysRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n\t this._weekdaysShortRegex = this._weekdaysRegex;\n\t this._weekdaysMinRegex = this._weekdaysRegex;\n\t\n\t this._weekdaysStrictRegex = new RegExp('^(' + longPieces.join('|') + ')', 'i');\n\t this._weekdaysShortStrictRegex = new RegExp('^(' + shortPieces.join('|') + ')', 'i');\n\t this._weekdaysMinStrictRegex = new RegExp('^(' + minPieces.join('|') + ')', 'i');\n\t}\n\t\n\t// FORMATTING\n\t\n\tfunction hFormat() {\n\t return this.hours() % 12 || 12;\n\t}\n\t\n\tfunction kFormat() {\n\t return this.hours() || 24;\n\t}\n\t\n\taddFormatToken('H', ['HH', 2], 0, 'hour');\n\taddFormatToken('h', ['hh', 2], 0, hFormat);\n\taddFormatToken('k', ['kk', 2], 0, kFormat);\n\t\n\taddFormatToken('hmm', 0, 0, function () {\n\t return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2);\n\t});\n\t\n\taddFormatToken('hmmss', 0, 0, function () {\n\t return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2) +\n\t zeroFill(this.seconds(), 2);\n\t});\n\t\n\taddFormatToken('Hmm', 0, 0, function () {\n\t return '' + this.hours() + zeroFill(this.minutes(), 2);\n\t});\n\t\n\taddFormatToken('Hmmss', 0, 0, function () {\n\t return '' + this.hours() + zeroFill(this.minutes(), 2) +\n\t zeroFill(this.seconds(), 2);\n\t});\n\t\n\tfunction meridiem (token, lowercase) {\n\t addFormatToken(token, 0, 0, function () {\n\t return this.localeData().meridiem(this.hours(), this.minutes(), lowercase);\n\t });\n\t}\n\t\n\tmeridiem('a', true);\n\tmeridiem('A', false);\n\t\n\t// ALIASES\n\t\n\taddUnitAlias('hour', 'h');\n\t\n\t// PRIORITY\n\taddUnitPriority('hour', 13);\n\t\n\t// PARSING\n\t\n\tfunction matchMeridiem (isStrict, locale) {\n\t return locale._meridiemParse;\n\t}\n\t\n\taddRegexToken('a', matchMeridiem);\n\taddRegexToken('A', matchMeridiem);\n\taddRegexToken('H', match1to2);\n\taddRegexToken('h', match1to2);\n\taddRegexToken('HH', match1to2, match2);\n\taddRegexToken('hh', match1to2, match2);\n\t\n\taddRegexToken('hmm', match3to4);\n\taddRegexToken('hmmss', match5to6);\n\taddRegexToken('Hmm', match3to4);\n\taddRegexToken('Hmmss', match5to6);\n\t\n\taddParseToken(['H', 'HH'], HOUR);\n\taddParseToken(['a', 'A'], function (input, array, config) {\n\t config._isPm = config._locale.isPM(input);\n\t config._meridiem = input;\n\t});\n\taddParseToken(['h', 'hh'], function (input, array, config) {\n\t array[HOUR] = toInt(input);\n\t getParsingFlags(config).bigHour = true;\n\t});\n\taddParseToken('hmm', function (input, array, config) {\n\t var pos = input.length - 2;\n\t array[HOUR] = toInt(input.substr(0, pos));\n\t array[MINUTE] = toInt(input.substr(pos));\n\t getParsingFlags(config).bigHour = true;\n\t});\n\taddParseToken('hmmss', function (input, array, config) {\n\t var pos1 = input.length - 4;\n\t var pos2 = input.length - 2;\n\t array[HOUR] = toInt(input.substr(0, pos1));\n\t array[MINUTE] = toInt(input.substr(pos1, 2));\n\t array[SECOND] = toInt(input.substr(pos2));\n\t getParsingFlags(config).bigHour = true;\n\t});\n\taddParseToken('Hmm', function (input, array, config) {\n\t var pos = input.length - 2;\n\t array[HOUR] = toInt(input.substr(0, pos));\n\t array[MINUTE] = toInt(input.substr(pos));\n\t});\n\taddParseToken('Hmmss', function (input, array, config) {\n\t var pos1 = input.length - 4;\n\t var pos2 = input.length - 2;\n\t array[HOUR] = toInt(input.substr(0, pos1));\n\t array[MINUTE] = toInt(input.substr(pos1, 2));\n\t array[SECOND] = toInt(input.substr(pos2));\n\t});\n\t\n\t// LOCALES\n\t\n\tfunction localeIsPM (input) {\n\t // IE8 Quirks Mode & IE7 Standards Mode do not allow accessing strings like arrays\n\t // Using charAt should be more compatible.\n\t return ((input + '').toLowerCase().charAt(0) === 'p');\n\t}\n\t\n\tvar defaultLocaleMeridiemParse = /[ap]\\.?m?\\.?/i;\n\tfunction localeMeridiem (hours, minutes, isLower) {\n\t if (hours > 11) {\n\t return isLower ? 'pm' : 'PM';\n\t } else {\n\t return isLower ? 'am' : 'AM';\n\t }\n\t}\n\t\n\t\n\t// MOMENTS\n\t\n\t// Setting the hour should keep the time, because the user explicitly\n\t// specified which hour he wants. So trying to maintain the same hour (in\n\t// a new timezone) makes sense. Adding/subtracting hours does not follow\n\t// this rule.\n\tvar getSetHour = makeGetSet('Hours', true);\n\t\n\t// months\n\t// week\n\t// weekdays\n\t// meridiem\n\tvar baseConfig = {\n\t calendar: defaultCalendar,\n\t longDateFormat: defaultLongDateFormat,\n\t invalidDate: defaultInvalidDate,\n\t ordinal: defaultOrdinal,\n\t ordinalParse: defaultOrdinalParse,\n\t relativeTime: defaultRelativeTime,\n\t\n\t months: defaultLocaleMonths,\n\t monthsShort: defaultLocaleMonthsShort,\n\t\n\t week: defaultLocaleWeek,\n\t\n\t weekdays: defaultLocaleWeekdays,\n\t weekdaysMin: defaultLocaleWeekdaysMin,\n\t weekdaysShort: defaultLocaleWeekdaysShort,\n\t\n\t meridiemParse: defaultLocaleMeridiemParse\n\t};\n\t\n\t// internal storage for locale config files\n\tvar locales = {};\n\tvar localeFamilies = {};\n\tvar globalLocale;\n\t\n\tfunction normalizeLocale(key) {\n\t return key ? key.toLowerCase().replace('_', '-') : key;\n\t}\n\t\n\t// pick the locale from the array\n\t// try ['en-au', 'en-gb'] as 'en-au', 'en-gb', 'en', as in move through the list trying each\n\t// substring from most specific to least, but move to the next array item if it's a more specific variant than the current root\n\tfunction chooseLocale(names) {\n\t var i = 0, j, next, locale, split;\n\t\n\t while (i < names.length) {\n\t split = normalizeLocale(names[i]).split('-');\n\t j = split.length;\n\t next = normalizeLocale(names[i + 1]);\n\t next = next ? next.split('-') : null;\n\t while (j > 0) {\n\t locale = loadLocale(split.slice(0, j).join('-'));\n\t if (locale) {\n\t return locale;\n\t }\n\t if (next && next.length >= j && compareArrays(split, next, true) >= j - 1) {\n\t //the next array item is better than a shallower substring of this one\n\t break;\n\t }\n\t j--;\n\t }\n\t i++;\n\t }\n\t return null;\n\t}\n\t\n\tfunction loadLocale(name) {\n\t var oldLocale = null;\n\t // TODO: Find a better way to register and load all the locales in Node\n\t if (!locales[name] && (typeof module !== 'undefined') &&\n\t module && module.exports) {\n\t try {\n\t oldLocale = globalLocale._abbr;\n\t __webpack_require__(535)(\"./\" + name);\n\t // because defineLocale currently also sets the global locale, we\n\t // want to undo that for lazy loaded locales\n\t getSetGlobalLocale(oldLocale);\n\t } catch (e) { }\n\t }\n\t return locales[name];\n\t}\n\t\n\t// This function will load locale and then set the global locale. If\n\t// no arguments are passed in, it will simply return the current global\n\t// locale key.\n\tfunction getSetGlobalLocale (key, values) {\n\t var data;\n\t if (key) {\n\t if (isUndefined(values)) {\n\t data = getLocale(key);\n\t }\n\t else {\n\t data = defineLocale(key, values);\n\t }\n\t\n\t if (data) {\n\t // moment.duration._locale = moment._locale = data;\n\t globalLocale = data;\n\t }\n\t }\n\t\n\t return globalLocale._abbr;\n\t}\n\t\n\tfunction defineLocale (name, config) {\n\t if (config !== null) {\n\t var parentConfig = baseConfig;\n\t config.abbr = name;\n\t if (locales[name] != null) {\n\t deprecateSimple('defineLocaleOverride',\n\t 'use moment.updateLocale(localeName, config) to change ' +\n\t 'an existing locale. moment.defineLocale(localeName, ' +\n\t 'config) should only be used for creating a new locale ' +\n\t 'See http://momentjs.com/guides/#/warnings/define-locale/ for more info.');\n\t parentConfig = locales[name]._config;\n\t } else if (config.parentLocale != null) {\n\t if (locales[config.parentLocale] != null) {\n\t parentConfig = locales[config.parentLocale]._config;\n\t } else {\n\t if (!localeFamilies[config.parentLocale]) {\n\t localeFamilies[config.parentLocale] = [];\n\t }\n\t localeFamilies[config.parentLocale].push({\n\t name: name,\n\t config: config\n\t });\n\t return null;\n\t }\n\t }\n\t locales[name] = new Locale(mergeConfigs(parentConfig, config));\n\t\n\t if (localeFamilies[name]) {\n\t localeFamilies[name].forEach(function (x) {\n\t defineLocale(x.name, x.config);\n\t });\n\t }\n\t\n\t // backwards compat for now: also set the locale\n\t // make sure we set the locale AFTER all child locales have been\n\t // created, so we won't end up with the child locale set.\n\t getSetGlobalLocale(name);\n\t\n\t\n\t return locales[name];\n\t } else {\n\t // useful for testing\n\t delete locales[name];\n\t return null;\n\t }\n\t}\n\t\n\tfunction updateLocale(name, config) {\n\t if (config != null) {\n\t var locale, parentConfig = baseConfig;\n\t // MERGE\n\t if (locales[name] != null) {\n\t parentConfig = locales[name]._config;\n\t }\n\t config = mergeConfigs(parentConfig, config);\n\t locale = new Locale(config);\n\t locale.parentLocale = locales[name];\n\t locales[name] = locale;\n\t\n\t // backwards compat for now: also set the locale\n\t getSetGlobalLocale(name);\n\t } else {\n\t // pass null for config to unupdate, useful for tests\n\t if (locales[name] != null) {\n\t if (locales[name].parentLocale != null) {\n\t locales[name] = locales[name].parentLocale;\n\t } else if (locales[name] != null) {\n\t delete locales[name];\n\t }\n\t }\n\t }\n\t return locales[name];\n\t}\n\t\n\t// returns locale data\n\tfunction getLocale (key) {\n\t var locale;\n\t\n\t if (key && key._locale && key._locale._abbr) {\n\t key = key._locale._abbr;\n\t }\n\t\n\t if (!key) {\n\t return globalLocale;\n\t }\n\t\n\t if (!isArray(key)) {\n\t //short-circuit everything else\n\t locale = loadLocale(key);\n\t if (locale) {\n\t return locale;\n\t }\n\t key = [key];\n\t }\n\t\n\t return chooseLocale(key);\n\t}\n\t\n\tfunction listLocales() {\n\t return keys$1(locales);\n\t}\n\t\n\tfunction checkOverflow (m) {\n\t var overflow;\n\t var a = m._a;\n\t\n\t if (a && getParsingFlags(m).overflow === -2) {\n\t overflow =\n\t a[MONTH] < 0 || a[MONTH] > 11 ? MONTH :\n\t a[DATE] < 1 || a[DATE] > daysInMonth(a[YEAR], a[MONTH]) ? DATE :\n\t a[HOUR] < 0 || a[HOUR] > 24 || (a[HOUR] === 24 && (a[MINUTE] !== 0 || a[SECOND] !== 0 || a[MILLISECOND] !== 0)) ? HOUR :\n\t a[MINUTE] < 0 || a[MINUTE] > 59 ? MINUTE :\n\t a[SECOND] < 0 || a[SECOND] > 59 ? SECOND :\n\t a[MILLISECOND] < 0 || a[MILLISECOND] > 999 ? MILLISECOND :\n\t -1;\n\t\n\t if (getParsingFlags(m)._overflowDayOfYear && (overflow < YEAR || overflow > DATE)) {\n\t overflow = DATE;\n\t }\n\t if (getParsingFlags(m)._overflowWeeks && overflow === -1) {\n\t overflow = WEEK;\n\t }\n\t if (getParsingFlags(m)._overflowWeekday && overflow === -1) {\n\t overflow = WEEKDAY;\n\t }\n\t\n\t getParsingFlags(m).overflow = overflow;\n\t }\n\t\n\t return m;\n\t}\n\t\n\t// iso 8601 regex\n\t// 0000-00-00 0000-W00 or 0000-W00-0 + T + 00 or 00:00 or 00:00:00 or 00:00:00.000 + +00:00 or +0000 or +00)\n\tvar extendedIsoRegex = /^\\s*((?:[+-]\\d{6}|\\d{4})-(?:\\d\\d-\\d\\d|W\\d\\d-\\d|W\\d\\d|\\d\\d\\d|\\d\\d))(?:(T| )(\\d\\d(?::\\d\\d(?::\\d\\d(?:[.,]\\d+)?)?)?)([\\+\\-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/;\n\tvar basicIsoRegex = /^\\s*((?:[+-]\\d{6}|\\d{4})(?:\\d\\d\\d\\d|W\\d\\d\\d|W\\d\\d|\\d\\d\\d|\\d\\d))(?:(T| )(\\d\\d(?:\\d\\d(?:\\d\\d(?:[.,]\\d+)?)?)?)([\\+\\-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/;\n\t\n\tvar tzRegex = /Z|[+-]\\d\\d(?::?\\d\\d)?/;\n\t\n\tvar isoDates = [\n\t ['YYYYYY-MM-DD', /[+-]\\d{6}-\\d\\d-\\d\\d/],\n\t ['YYYY-MM-DD', /\\d{4}-\\d\\d-\\d\\d/],\n\t ['GGGG-[W]WW-E', /\\d{4}-W\\d\\d-\\d/],\n\t ['GGGG-[W]WW', /\\d{4}-W\\d\\d/, false],\n\t ['YYYY-DDD', /\\d{4}-\\d{3}/],\n\t ['YYYY-MM', /\\d{4}-\\d\\d/, false],\n\t ['YYYYYYMMDD', /[+-]\\d{10}/],\n\t ['YYYYMMDD', /\\d{8}/],\n\t // YYYYMM is NOT allowed by the standard\n\t ['GGGG[W]WWE', /\\d{4}W\\d{3}/],\n\t ['GGGG[W]WW', /\\d{4}W\\d{2}/, false],\n\t ['YYYYDDD', /\\d{7}/]\n\t];\n\t\n\t// iso time formats and regexes\n\tvar isoTimes = [\n\t ['HH:mm:ss.SSSS', /\\d\\d:\\d\\d:\\d\\d\\.\\d+/],\n\t ['HH:mm:ss,SSSS', /\\d\\d:\\d\\d:\\d\\d,\\d+/],\n\t ['HH:mm:ss', /\\d\\d:\\d\\d:\\d\\d/],\n\t ['HH:mm', /\\d\\d:\\d\\d/],\n\t ['HHmmss.SSSS', /\\d\\d\\d\\d\\d\\d\\.\\d+/],\n\t ['HHmmss,SSSS', /\\d\\d\\d\\d\\d\\d,\\d+/],\n\t ['HHmmss', /\\d\\d\\d\\d\\d\\d/],\n\t ['HHmm', /\\d\\d\\d\\d/],\n\t ['HH', /\\d\\d/]\n\t];\n\t\n\tvar aspNetJsonRegex = /^\\/?Date\\((\\-?\\d+)/i;\n\t\n\t// date from iso format\n\tfunction configFromISO(config) {\n\t var i, l,\n\t string = config._i,\n\t match = extendedIsoRegex.exec(string) || basicIsoRegex.exec(string),\n\t allowTime, dateFormat, timeFormat, tzFormat;\n\t\n\t if (match) {\n\t getParsingFlags(config).iso = true;\n\t\n\t for (i = 0, l = isoDates.length; i < l; i++) {\n\t if (isoDates[i][1].exec(match[1])) {\n\t dateFormat = isoDates[i][0];\n\t allowTime = isoDates[i][2] !== false;\n\t break;\n\t }\n\t }\n\t if (dateFormat == null) {\n\t config._isValid = false;\n\t return;\n\t }\n\t if (match[3]) {\n\t for (i = 0, l = isoTimes.length; i < l; i++) {\n\t if (isoTimes[i][1].exec(match[3])) {\n\t // match[2] should be 'T' or space\n\t timeFormat = (match[2] || ' ') + isoTimes[i][0];\n\t break;\n\t }\n\t }\n\t if (timeFormat == null) {\n\t config._isValid = false;\n\t return;\n\t }\n\t }\n\t if (!allowTime && timeFormat != null) {\n\t config._isValid = false;\n\t return;\n\t }\n\t if (match[4]) {\n\t if (tzRegex.exec(match[4])) {\n\t tzFormat = 'Z';\n\t } else {\n\t config._isValid = false;\n\t return;\n\t }\n\t }\n\t config._f = dateFormat + (timeFormat || '') + (tzFormat || '');\n\t configFromStringAndFormat(config);\n\t } else {\n\t config._isValid = false;\n\t }\n\t}\n\t\n\t// date from iso format or fallback\n\tfunction configFromString(config) {\n\t var matched = aspNetJsonRegex.exec(config._i);\n\t\n\t if (matched !== null) {\n\t config._d = new Date(+matched[1]);\n\t return;\n\t }\n\t\n\t configFromISO(config);\n\t if (config._isValid === false) {\n\t delete config._isValid;\n\t hooks.createFromInputFallback(config);\n\t }\n\t}\n\t\n\thooks.createFromInputFallback = deprecate(\n\t 'value provided is not in a recognized ISO format. moment construction falls back to js Date(), ' +\n\t 'which is not reliable across all browsers and versions. Non ISO date formats are ' +\n\t 'discouraged and will be removed in an upcoming major release. Please refer to ' +\n\t 'http://momentjs.com/guides/#/warnings/js-date/ for more info.',\n\t function (config) {\n\t config._d = new Date(config._i + (config._useUTC ? ' UTC' : ''));\n\t }\n\t);\n\t\n\t// Pick the first defined of two or three arguments.\n\tfunction defaults(a, b, c) {\n\t if (a != null) {\n\t return a;\n\t }\n\t if (b != null) {\n\t return b;\n\t }\n\t return c;\n\t}\n\t\n\tfunction currentDateArray(config) {\n\t // hooks is actually the exported moment object\n\t var nowValue = new Date(hooks.now());\n\t if (config._useUTC) {\n\t return [nowValue.getUTCFullYear(), nowValue.getUTCMonth(), nowValue.getUTCDate()];\n\t }\n\t return [nowValue.getFullYear(), nowValue.getMonth(), nowValue.getDate()];\n\t}\n\t\n\t// convert an array to a date.\n\t// the array should mirror the parameters below\n\t// note: all values past the year are optional and will default to the lowest possible value.\n\t// [year, month, day , hour, minute, second, millisecond]\n\tfunction configFromArray (config) {\n\t var i, date, input = [], currentDate, yearToUse;\n\t\n\t if (config._d) {\n\t return;\n\t }\n\t\n\t currentDate = currentDateArray(config);\n\t\n\t //compute day of the year from weeks and weekdays\n\t if (config._w && config._a[DATE] == null && config._a[MONTH] == null) {\n\t dayOfYearFromWeekInfo(config);\n\t }\n\t\n\t //if the day of the year is set, figure out what it is\n\t if (config._dayOfYear) {\n\t yearToUse = defaults(config._a[YEAR], currentDate[YEAR]);\n\t\n\t if (config._dayOfYear > daysInYear(yearToUse)) {\n\t getParsingFlags(config)._overflowDayOfYear = true;\n\t }\n\t\n\t date = createUTCDate(yearToUse, 0, config._dayOfYear);\n\t config._a[MONTH] = date.getUTCMonth();\n\t config._a[DATE] = date.getUTCDate();\n\t }\n\t\n\t // Default to current date.\n\t // * if no year, month, day of month are given, default to today\n\t // * if day of month is given, default month and year\n\t // * if month is given, default only year\n\t // * if year is given, don't default anything\n\t for (i = 0; i < 3 && config._a[i] == null; ++i) {\n\t config._a[i] = input[i] = currentDate[i];\n\t }\n\t\n\t // Zero out whatever was not defaulted, including time\n\t for (; i < 7; i++) {\n\t config._a[i] = input[i] = (config._a[i] == null) ? (i === 2 ? 1 : 0) : config._a[i];\n\t }\n\t\n\t // Check for 24:00:00.000\n\t if (config._a[HOUR] === 24 &&\n\t config._a[MINUTE] === 0 &&\n\t config._a[SECOND] === 0 &&\n\t config._a[MILLISECOND] === 0) {\n\t config._nextDay = true;\n\t config._a[HOUR] = 0;\n\t }\n\t\n\t config._d = (config._useUTC ? createUTCDate : createDate).apply(null, input);\n\t // Apply timezone offset from input. The actual utcOffset can be changed\n\t // with parseZone.\n\t if (config._tzm != null) {\n\t config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n\t }\n\t\n\t if (config._nextDay) {\n\t config._a[HOUR] = 24;\n\t }\n\t}\n\t\n\tfunction dayOfYearFromWeekInfo(config) {\n\t var w, weekYear, week, weekday, dow, doy, temp, weekdayOverflow;\n\t\n\t w = config._w;\n\t if (w.GG != null || w.W != null || w.E != null) {\n\t dow = 1;\n\t doy = 4;\n\t\n\t // TODO: We need to take the current isoWeekYear, but that depends on\n\t // how we interpret now (local, utc, fixed offset). So create\n\t // a now version of current config (take local/utc/offset flags, and\n\t // create now).\n\t weekYear = defaults(w.GG, config._a[YEAR], weekOfYear(createLocal(), 1, 4).year);\n\t week = defaults(w.W, 1);\n\t weekday = defaults(w.E, 1);\n\t if (weekday < 1 || weekday > 7) {\n\t weekdayOverflow = true;\n\t }\n\t } else {\n\t dow = config._locale._week.dow;\n\t doy = config._locale._week.doy;\n\t\n\t var curWeek = weekOfYear(createLocal(), dow, doy);\n\t\n\t weekYear = defaults(w.gg, config._a[YEAR], curWeek.year);\n\t\n\t // Default to current week.\n\t week = defaults(w.w, curWeek.week);\n\t\n\t if (w.d != null) {\n\t // weekday -- low day numbers are considered next week\n\t weekday = w.d;\n\t if (weekday < 0 || weekday > 6) {\n\t weekdayOverflow = true;\n\t }\n\t } else if (w.e != null) {\n\t // local weekday -- counting starts from begining of week\n\t weekday = w.e + dow;\n\t if (w.e < 0 || w.e > 6) {\n\t weekdayOverflow = true;\n\t }\n\t } else {\n\t // default to begining of week\n\t weekday = dow;\n\t }\n\t }\n\t if (week < 1 || week > weeksInYear(weekYear, dow, doy)) {\n\t getParsingFlags(config)._overflowWeeks = true;\n\t } else if (weekdayOverflow != null) {\n\t getParsingFlags(config)._overflowWeekday = true;\n\t } else {\n\t temp = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy);\n\t config._a[YEAR] = temp.year;\n\t config._dayOfYear = temp.dayOfYear;\n\t }\n\t}\n\t\n\t// constant that refers to the ISO standard\n\thooks.ISO_8601 = function () {};\n\t\n\t// date from string and format string\n\tfunction configFromStringAndFormat(config) {\n\t // TODO: Move this to another part of the creation flow to prevent circular deps\n\t if (config._f === hooks.ISO_8601) {\n\t configFromISO(config);\n\t return;\n\t }\n\t\n\t config._a = [];\n\t getParsingFlags(config).empty = true;\n\t\n\t // This array is used to make a Date, either with `new Date` or `Date.UTC`\n\t var string = '' + config._i,\n\t i, parsedInput, tokens, token, skipped,\n\t stringLength = string.length,\n\t totalParsedInputLength = 0;\n\t\n\t tokens = expandFormat(config._f, config._locale).match(formattingTokens) || [];\n\t\n\t for (i = 0; i < tokens.length; i++) {\n\t token = tokens[i];\n\t parsedInput = (string.match(getParseRegexForToken(token, config)) || [])[0];\n\t // console.log('token', token, 'parsedInput', parsedInput,\n\t // 'regex', getParseRegexForToken(token, config));\n\t if (parsedInput) {\n\t skipped = string.substr(0, string.indexOf(parsedInput));\n\t if (skipped.length > 0) {\n\t getParsingFlags(config).unusedInput.push(skipped);\n\t }\n\t string = string.slice(string.indexOf(parsedInput) + parsedInput.length);\n\t totalParsedInputLength += parsedInput.length;\n\t }\n\t // don't parse if it's not a known token\n\t if (formatTokenFunctions[token]) {\n\t if (parsedInput) {\n\t getParsingFlags(config).empty = false;\n\t }\n\t else {\n\t getParsingFlags(config).unusedTokens.push(token);\n\t }\n\t addTimeToArrayFromToken(token, parsedInput, config);\n\t }\n\t else if (config._strict && !parsedInput) {\n\t getParsingFlags(config).unusedTokens.push(token);\n\t }\n\t }\n\t\n\t // add remaining unparsed input length to the string\n\t getParsingFlags(config).charsLeftOver = stringLength - totalParsedInputLength;\n\t if (string.length > 0) {\n\t getParsingFlags(config).unusedInput.push(string);\n\t }\n\t\n\t // clear _12h flag if hour is <= 12\n\t if (config._a[HOUR] <= 12 &&\n\t getParsingFlags(config).bigHour === true &&\n\t config._a[HOUR] > 0) {\n\t getParsingFlags(config).bigHour = undefined;\n\t }\n\t\n\t getParsingFlags(config).parsedDateParts = config._a.slice(0);\n\t getParsingFlags(config).meridiem = config._meridiem;\n\t // handle meridiem\n\t config._a[HOUR] = meridiemFixWrap(config._locale, config._a[HOUR], config._meridiem);\n\t\n\t configFromArray(config);\n\t checkOverflow(config);\n\t}\n\t\n\t\n\tfunction meridiemFixWrap (locale, hour, meridiem) {\n\t var isPm;\n\t\n\t if (meridiem == null) {\n\t // nothing to do\n\t return hour;\n\t }\n\t if (locale.meridiemHour != null) {\n\t return locale.meridiemHour(hour, meridiem);\n\t } else if (locale.isPM != null) {\n\t // Fallback\n\t isPm = locale.isPM(meridiem);\n\t if (isPm && hour < 12) {\n\t hour += 12;\n\t }\n\t if (!isPm && hour === 12) {\n\t hour = 0;\n\t }\n\t return hour;\n\t } else {\n\t // this is not supposed to happen\n\t return hour;\n\t }\n\t}\n\t\n\t// date from string and array of format strings\n\tfunction configFromStringAndArray(config) {\n\t var tempConfig,\n\t bestMoment,\n\t\n\t scoreToBeat,\n\t i,\n\t currentScore;\n\t\n\t if (config._f.length === 0) {\n\t getParsingFlags(config).invalidFormat = true;\n\t config._d = new Date(NaN);\n\t return;\n\t }\n\t\n\t for (i = 0; i < config._f.length; i++) {\n\t currentScore = 0;\n\t tempConfig = copyConfig({}, config);\n\t if (config._useUTC != null) {\n\t tempConfig._useUTC = config._useUTC;\n\t }\n\t tempConfig._f = config._f[i];\n\t configFromStringAndFormat(tempConfig);\n\t\n\t if (!isValid(tempConfig)) {\n\t continue;\n\t }\n\t\n\t // if there is any input that was not parsed add a penalty for that format\n\t currentScore += getParsingFlags(tempConfig).charsLeftOver;\n\t\n\t //or tokens\n\t currentScore += getParsingFlags(tempConfig).unusedTokens.length * 10;\n\t\n\t getParsingFlags(tempConfig).score = currentScore;\n\t\n\t if (scoreToBeat == null || currentScore < scoreToBeat) {\n\t scoreToBeat = currentScore;\n\t bestMoment = tempConfig;\n\t }\n\t }\n\t\n\t extend(config, bestMoment || tempConfig);\n\t}\n\t\n\tfunction configFromObject(config) {\n\t if (config._d) {\n\t return;\n\t }\n\t\n\t var i = normalizeObjectUnits(config._i);\n\t config._a = map([i.year, i.month, i.day || i.date, i.hour, i.minute, i.second, i.millisecond], function (obj) {\n\t return obj && parseInt(obj, 10);\n\t });\n\t\n\t configFromArray(config);\n\t}\n\t\n\tfunction createFromConfig (config) {\n\t var res = new Moment(checkOverflow(prepareConfig(config)));\n\t if (res._nextDay) {\n\t // Adding is smart enough around DST\n\t res.add(1, 'd');\n\t res._nextDay = undefined;\n\t }\n\t\n\t return res;\n\t}\n\t\n\tfunction prepareConfig (config) {\n\t var input = config._i,\n\t format = config._f;\n\t\n\t config._locale = config._locale || getLocale(config._l);\n\t\n\t if (input === null || (format === undefined && input === '')) {\n\t return createInvalid({nullInput: true});\n\t }\n\t\n\t if (typeof input === 'string') {\n\t config._i = input = config._locale.preparse(input);\n\t }\n\t\n\t if (isMoment(input)) {\n\t return new Moment(checkOverflow(input));\n\t } else if (isDate(input)) {\n\t config._d = input;\n\t } else if (isArray(format)) {\n\t configFromStringAndArray(config);\n\t } else if (format) {\n\t configFromStringAndFormat(config);\n\t } else {\n\t configFromInput(config);\n\t }\n\t\n\t if (!isValid(config)) {\n\t config._d = null;\n\t }\n\t\n\t return config;\n\t}\n\t\n\tfunction configFromInput(config) {\n\t var input = config._i;\n\t if (input === undefined) {\n\t config._d = new Date(hooks.now());\n\t } else if (isDate(input)) {\n\t config._d = new Date(input.valueOf());\n\t } else if (typeof input === 'string') {\n\t configFromString(config);\n\t } else if (isArray(input)) {\n\t config._a = map(input.slice(0), function (obj) {\n\t return parseInt(obj, 10);\n\t });\n\t configFromArray(config);\n\t } else if (typeof(input) === 'object') {\n\t configFromObject(config);\n\t } else if (isNumber(input)) {\n\t // from milliseconds\n\t config._d = new Date(input);\n\t } else {\n\t hooks.createFromInputFallback(config);\n\t }\n\t}\n\t\n\tfunction createLocalOrUTC (input, format, locale, strict, isUTC) {\n\t var c = {};\n\t\n\t if (locale === true || locale === false) {\n\t strict = locale;\n\t locale = undefined;\n\t }\n\t\n\t if ((isObject(input) && isObjectEmpty(input)) ||\n\t (isArray(input) && input.length === 0)) {\n\t input = undefined;\n\t }\n\t // object construction must be done this way.\n\t // https://github.com/moment/moment/issues/1423\n\t c._isAMomentObject = true;\n\t c._useUTC = c._isUTC = isUTC;\n\t c._l = locale;\n\t c._i = input;\n\t c._f = format;\n\t c._strict = strict;\n\t\n\t return createFromConfig(c);\n\t}\n\t\n\tfunction createLocal (input, format, locale, strict) {\n\t return createLocalOrUTC(input, format, locale, strict, false);\n\t}\n\t\n\tvar prototypeMin = deprecate(\n\t 'moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/',\n\t function () {\n\t var other = createLocal.apply(null, arguments);\n\t if (this.isValid() && other.isValid()) {\n\t return other < this ? this : other;\n\t } else {\n\t return createInvalid();\n\t }\n\t }\n\t);\n\t\n\tvar prototypeMax = deprecate(\n\t 'moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/',\n\t function () {\n\t var other = createLocal.apply(null, arguments);\n\t if (this.isValid() && other.isValid()) {\n\t return other > this ? this : other;\n\t } else {\n\t return createInvalid();\n\t }\n\t }\n\t);\n\t\n\t// Pick a moment m from moments so that m[fn](other) is true for all\n\t// other. This relies on the function fn to be transitive.\n\t//\n\t// moments should either be an array of moment objects or an array, whose\n\t// first element is an array of moment objects.\n\tfunction pickBy(fn, moments) {\n\t var res, i;\n\t if (moments.length === 1 && isArray(moments[0])) {\n\t moments = moments[0];\n\t }\n\t if (!moments.length) {\n\t return createLocal();\n\t }\n\t res = moments[0];\n\t for (i = 1; i < moments.length; ++i) {\n\t if (!moments[i].isValid() || moments[i][fn](res)) {\n\t res = moments[i];\n\t }\n\t }\n\t return res;\n\t}\n\t\n\t// TODO: Use [].sort instead?\n\tfunction min () {\n\t var args = [].slice.call(arguments, 0);\n\t\n\t return pickBy('isBefore', args);\n\t}\n\t\n\tfunction max () {\n\t var args = [].slice.call(arguments, 0);\n\t\n\t return pickBy('isAfter', args);\n\t}\n\t\n\tvar now = function () {\n\t return Date.now ? Date.now() : +(new Date());\n\t};\n\t\n\tfunction Duration (duration) {\n\t var normalizedInput = normalizeObjectUnits(duration),\n\t years = normalizedInput.year || 0,\n\t quarters = normalizedInput.quarter || 0,\n\t months = normalizedInput.month || 0,\n\t weeks = normalizedInput.week || 0,\n\t days = normalizedInput.day || 0,\n\t hours = normalizedInput.hour || 0,\n\t minutes = normalizedInput.minute || 0,\n\t seconds = normalizedInput.second || 0,\n\t milliseconds = normalizedInput.millisecond || 0;\n\t\n\t // representation for dateAddRemove\n\t this._milliseconds = +milliseconds +\n\t seconds * 1e3 + // 1000\n\t minutes * 6e4 + // 1000 * 60\n\t hours * 1000 * 60 * 60; //using 1000 * 60 * 60 instead of 36e5 to avoid floating point rounding errors https://github.com/moment/moment/issues/2978\n\t // Because of dateAddRemove treats 24 hours as different from a\n\t // day when working around DST, we need to store them separately\n\t this._days = +days +\n\t weeks * 7;\n\t // It is impossible translate months into days without knowing\n\t // which months you are are talking about, so we have to store\n\t // it separately.\n\t this._months = +months +\n\t quarters * 3 +\n\t years * 12;\n\t\n\t this._data = {};\n\t\n\t this._locale = getLocale();\n\t\n\t this._bubble();\n\t}\n\t\n\tfunction isDuration (obj) {\n\t return obj instanceof Duration;\n\t}\n\t\n\tfunction absRound (number) {\n\t if (number < 0) {\n\t return Math.round(-1 * number) * -1;\n\t } else {\n\t return Math.round(number);\n\t }\n\t}\n\t\n\t// FORMATTING\n\t\n\tfunction offset (token, separator) {\n\t addFormatToken(token, 0, 0, function () {\n\t var offset = this.utcOffset();\n\t var sign = '+';\n\t if (offset < 0) {\n\t offset = -offset;\n\t sign = '-';\n\t }\n\t return sign + zeroFill(~~(offset / 60), 2) + separator + zeroFill(~~(offset) % 60, 2);\n\t });\n\t}\n\t\n\toffset('Z', ':');\n\toffset('ZZ', '');\n\t\n\t// PARSING\n\t\n\taddRegexToken('Z', matchShortOffset);\n\taddRegexToken('ZZ', matchShortOffset);\n\taddParseToken(['Z', 'ZZ'], function (input, array, config) {\n\t config._useUTC = true;\n\t config._tzm = offsetFromString(matchShortOffset, input);\n\t});\n\t\n\t// HELPERS\n\t\n\t// timezone chunker\n\t// '+10:00' > ['10', '00']\n\t// '-1530' > ['-15', '30']\n\tvar chunkOffset = /([\\+\\-]|\\d\\d)/gi;\n\t\n\tfunction offsetFromString(matcher, string) {\n\t var matches = (string || '').match(matcher);\n\t\n\t if (matches === null) {\n\t return null;\n\t }\n\t\n\t var chunk = matches[matches.length - 1] || [];\n\t var parts = (chunk + '').match(chunkOffset) || ['-', 0, 0];\n\t var minutes = +(parts[1] * 60) + toInt(parts[2]);\n\t\n\t return minutes === 0 ?\n\t 0 :\n\t parts[0] === '+' ? minutes : -minutes;\n\t}\n\t\n\t// Return a moment from input, that is local/utc/zone equivalent to model.\n\tfunction cloneWithOffset(input, model) {\n\t var res, diff;\n\t if (model._isUTC) {\n\t res = model.clone();\n\t diff = (isMoment(input) || isDate(input) ? input.valueOf() : createLocal(input).valueOf()) - res.valueOf();\n\t // Use low-level api, because this fn is low-level api.\n\t res._d.setTime(res._d.valueOf() + diff);\n\t hooks.updateOffset(res, false);\n\t return res;\n\t } else {\n\t return createLocal(input).local();\n\t }\n\t}\n\t\n\tfunction getDateOffset (m) {\n\t // On Firefox.24 Date#getTimezoneOffset returns a floating point.\n\t // https://github.com/moment/moment/pull/1871\n\t return -Math.round(m._d.getTimezoneOffset() / 15) * 15;\n\t}\n\t\n\t// HOOKS\n\t\n\t// This function will be called whenever a moment is mutated.\n\t// It is intended to keep the offset in sync with the timezone.\n\thooks.updateOffset = function () {};\n\t\n\t// MOMENTS\n\t\n\t// keepLocalTime = true means only change the timezone, without\n\t// affecting the local hour. So 5:31:26 +0300 --[utcOffset(2, true)]-->\n\t// 5:31:26 +0200 It is possible that 5:31:26 doesn't exist with offset\n\t// +0200, so we adjust the time as needed, to be valid.\n\t//\n\t// Keeping the time actually adds/subtracts (one hour)\n\t// from the actual represented time. That is why we call updateOffset\n\t// a second time. In case it wants us to change the offset again\n\t// _changeInProgress == true case, then we have to adjust, because\n\t// there is no such time in the given timezone.\n\tfunction getSetOffset (input, keepLocalTime) {\n\t var offset = this._offset || 0,\n\t localAdjust;\n\t if (!this.isValid()) {\n\t return input != null ? this : NaN;\n\t }\n\t if (input != null) {\n\t if (typeof input === 'string') {\n\t input = offsetFromString(matchShortOffset, input);\n\t if (input === null) {\n\t return this;\n\t }\n\t } else if (Math.abs(input) < 16) {\n\t input = input * 60;\n\t }\n\t if (!this._isUTC && keepLocalTime) {\n\t localAdjust = getDateOffset(this);\n\t }\n\t this._offset = input;\n\t this._isUTC = true;\n\t if (localAdjust != null) {\n\t this.add(localAdjust, 'm');\n\t }\n\t if (offset !== input) {\n\t if (!keepLocalTime || this._changeInProgress) {\n\t addSubtract(this, createDuration(input - offset, 'm'), 1, false);\n\t } else if (!this._changeInProgress) {\n\t this._changeInProgress = true;\n\t hooks.updateOffset(this, true);\n\t this._changeInProgress = null;\n\t }\n\t }\n\t return this;\n\t } else {\n\t return this._isUTC ? offset : getDateOffset(this);\n\t }\n\t}\n\t\n\tfunction getSetZone (input, keepLocalTime) {\n\t if (input != null) {\n\t if (typeof input !== 'string') {\n\t input = -input;\n\t }\n\t\n\t this.utcOffset(input, keepLocalTime);\n\t\n\t return this;\n\t } else {\n\t return -this.utcOffset();\n\t }\n\t}\n\t\n\tfunction setOffsetToUTC (keepLocalTime) {\n\t return this.utcOffset(0, keepLocalTime);\n\t}\n\t\n\tfunction setOffsetToLocal (keepLocalTime) {\n\t if (this._isUTC) {\n\t this.utcOffset(0, keepLocalTime);\n\t this._isUTC = false;\n\t\n\t if (keepLocalTime) {\n\t this.subtract(getDateOffset(this), 'm');\n\t }\n\t }\n\t return this;\n\t}\n\t\n\tfunction setOffsetToParsedOffset () {\n\t if (this._tzm != null) {\n\t this.utcOffset(this._tzm);\n\t } else if (typeof this._i === 'string') {\n\t var tZone = offsetFromString(matchOffset, this._i);\n\t if (tZone != null) {\n\t this.utcOffset(tZone);\n\t }\n\t else {\n\t this.utcOffset(0, true);\n\t }\n\t }\n\t return this;\n\t}\n\t\n\tfunction hasAlignedHourOffset (input) {\n\t if (!this.isValid()) {\n\t return false;\n\t }\n\t input = input ? createLocal(input).utcOffset() : 0;\n\t\n\t return (this.utcOffset() - input) % 60 === 0;\n\t}\n\t\n\tfunction isDaylightSavingTime () {\n\t return (\n\t this.utcOffset() > this.clone().month(0).utcOffset() ||\n\t this.utcOffset() > this.clone().month(5).utcOffset()\n\t );\n\t}\n\t\n\tfunction isDaylightSavingTimeShifted () {\n\t if (!isUndefined(this._isDSTShifted)) {\n\t return this._isDSTShifted;\n\t }\n\t\n\t var c = {};\n\t\n\t copyConfig(c, this);\n\t c = prepareConfig(c);\n\t\n\t if (c._a) {\n\t var other = c._isUTC ? createUTC(c._a) : createLocal(c._a);\n\t this._isDSTShifted = this.isValid() &&\n\t compareArrays(c._a, other.toArray()) > 0;\n\t } else {\n\t this._isDSTShifted = false;\n\t }\n\t\n\t return this._isDSTShifted;\n\t}\n\t\n\tfunction isLocal () {\n\t return this.isValid() ? !this._isUTC : false;\n\t}\n\t\n\tfunction isUtcOffset () {\n\t return this.isValid() ? this._isUTC : false;\n\t}\n\t\n\tfunction isUtc () {\n\t return this.isValid() ? this._isUTC && this._offset === 0 : false;\n\t}\n\t\n\t// ASP.NET json date format regex\n\tvar aspNetRegex = /^(\\-)?(?:(\\d*)[. ])?(\\d+)\\:(\\d+)(?:\\:(\\d+)(\\.\\d*)?)?$/;\n\t\n\t// from http://docs.closure-library.googlecode.com/git/closure_goog_date_date.js.source.html\n\t// somewhat more in line with 4.4.3.2 2004 spec, but allows decimal anywhere\n\t// and further modified to allow for strings containing both week and day\n\tvar isoRegex = /^(-)?P(?:(-?[0-9,.]*)Y)?(?:(-?[0-9,.]*)M)?(?:(-?[0-9,.]*)W)?(?:(-?[0-9,.]*)D)?(?:T(?:(-?[0-9,.]*)H)?(?:(-?[0-9,.]*)M)?(?:(-?[0-9,.]*)S)?)?$/;\n\t\n\tfunction createDuration (input, key) {\n\t var duration = input,\n\t // matching against regexp is expensive, do it on demand\n\t match = null,\n\t sign,\n\t ret,\n\t diffRes;\n\t\n\t if (isDuration(input)) {\n\t duration = {\n\t ms : input._milliseconds,\n\t d : input._days,\n\t M : input._months\n\t };\n\t } else if (isNumber(input)) {\n\t duration = {};\n\t if (key) {\n\t duration[key] = input;\n\t } else {\n\t duration.milliseconds = input;\n\t }\n\t } else if (!!(match = aspNetRegex.exec(input))) {\n\t sign = (match[1] === '-') ? -1 : 1;\n\t duration = {\n\t y : 0,\n\t d : toInt(match[DATE]) * sign,\n\t h : toInt(match[HOUR]) * sign,\n\t m : toInt(match[MINUTE]) * sign,\n\t s : toInt(match[SECOND]) * sign,\n\t ms : toInt(absRound(match[MILLISECOND] * 1000)) * sign // the millisecond decimal point is included in the match\n\t };\n\t } else if (!!(match = isoRegex.exec(input))) {\n\t sign = (match[1] === '-') ? -1 : 1;\n\t duration = {\n\t y : parseIso(match[2], sign),\n\t M : parseIso(match[3], sign),\n\t w : parseIso(match[4], sign),\n\t d : parseIso(match[5], sign),\n\t h : parseIso(match[6], sign),\n\t m : parseIso(match[7], sign),\n\t s : parseIso(match[8], sign)\n\t };\n\t } else if (duration == null) {// checks for null or undefined\n\t duration = {};\n\t } else if (typeof duration === 'object' && ('from' in duration || 'to' in duration)) {\n\t diffRes = momentsDifference(createLocal(duration.from), createLocal(duration.to));\n\t\n\t duration = {};\n\t duration.ms = diffRes.milliseconds;\n\t duration.M = diffRes.months;\n\t }\n\t\n\t ret = new Duration(duration);\n\t\n\t if (isDuration(input) && hasOwnProp(input, '_locale')) {\n\t ret._locale = input._locale;\n\t }\n\t\n\t return ret;\n\t}\n\t\n\tcreateDuration.fn = Duration.prototype;\n\t\n\tfunction parseIso (inp, sign) {\n\t // We'd normally use ~~inp for this, but unfortunately it also\n\t // converts floats to ints.\n\t // inp may be undefined, so careful calling replace on it.\n\t var res = inp && parseFloat(inp.replace(',', '.'));\n\t // apply sign while we're at it\n\t return (isNaN(res) ? 0 : res) * sign;\n\t}\n\t\n\tfunction positiveMomentsDifference(base, other) {\n\t var res = {milliseconds: 0, months: 0};\n\t\n\t res.months = other.month() - base.month() +\n\t (other.year() - base.year()) * 12;\n\t if (base.clone().add(res.months, 'M').isAfter(other)) {\n\t --res.months;\n\t }\n\t\n\t res.milliseconds = +other - +(base.clone().add(res.months, 'M'));\n\t\n\t return res;\n\t}\n\t\n\tfunction momentsDifference(base, other) {\n\t var res;\n\t if (!(base.isValid() && other.isValid())) {\n\t return {milliseconds: 0, months: 0};\n\t }\n\t\n\t other = cloneWithOffset(other, base);\n\t if (base.isBefore(other)) {\n\t res = positiveMomentsDifference(base, other);\n\t } else {\n\t res = positiveMomentsDifference(other, base);\n\t res.milliseconds = -res.milliseconds;\n\t res.months = -res.months;\n\t }\n\t\n\t return res;\n\t}\n\t\n\t// TODO: remove 'name' arg after deprecation is removed\n\tfunction createAdder(direction, name) {\n\t return function (val, period) {\n\t var dur, tmp;\n\t //invert the arguments, but complain about it\n\t if (period !== null && !isNaN(+period)) {\n\t deprecateSimple(name, 'moment().' + name + '(period, number) is deprecated. Please use moment().' + name + '(number, period). ' +\n\t 'See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info.');\n\t tmp = val; val = period; period = tmp;\n\t }\n\t\n\t val = typeof val === 'string' ? +val : val;\n\t dur = createDuration(val, period);\n\t addSubtract(this, dur, direction);\n\t return this;\n\t };\n\t}\n\t\n\tfunction addSubtract (mom, duration, isAdding, updateOffset) {\n\t var milliseconds = duration._milliseconds,\n\t days = absRound(duration._days),\n\t months = absRound(duration._months);\n\t\n\t if (!mom.isValid()) {\n\t // No op\n\t return;\n\t }\n\t\n\t updateOffset = updateOffset == null ? true : updateOffset;\n\t\n\t if (milliseconds) {\n\t mom._d.setTime(mom._d.valueOf() + milliseconds * isAdding);\n\t }\n\t if (days) {\n\t set$1(mom, 'Date', get(mom, 'Date') + days * isAdding);\n\t }\n\t if (months) {\n\t setMonth(mom, get(mom, 'Month') + months * isAdding);\n\t }\n\t if (updateOffset) {\n\t hooks.updateOffset(mom, days || months);\n\t }\n\t}\n\t\n\tvar add = createAdder(1, 'add');\n\tvar subtract = createAdder(-1, 'subtract');\n\t\n\tfunction getCalendarFormat(myMoment, now) {\n\t var diff = myMoment.diff(now, 'days', true);\n\t return diff < -6 ? 'sameElse' :\n\t diff < -1 ? 'lastWeek' :\n\t diff < 0 ? 'lastDay' :\n\t diff < 1 ? 'sameDay' :\n\t diff < 2 ? 'nextDay' :\n\t diff < 7 ? 'nextWeek' : 'sameElse';\n\t}\n\t\n\tfunction calendar$1 (time, formats) {\n\t // We want to compare the start of today, vs this.\n\t // Getting start-of-today depends on whether we're local/utc/offset or not.\n\t var now = time || createLocal(),\n\t sod = cloneWithOffset(now, this).startOf('day'),\n\t format = hooks.calendarFormat(this, sod) || 'sameElse';\n\t\n\t var output = formats && (isFunction(formats[format]) ? formats[format].call(this, now) : formats[format]);\n\t\n\t return this.format(output || this.localeData().calendar(format, this, createLocal(now)));\n\t}\n\t\n\tfunction clone () {\n\t return new Moment(this);\n\t}\n\t\n\tfunction isAfter (input, units) {\n\t var localInput = isMoment(input) ? input : createLocal(input);\n\t if (!(this.isValid() && localInput.isValid())) {\n\t return false;\n\t }\n\t units = normalizeUnits(!isUndefined(units) ? units : 'millisecond');\n\t if (units === 'millisecond') {\n\t return this.valueOf() > localInput.valueOf();\n\t } else {\n\t return localInput.valueOf() < this.clone().startOf(units).valueOf();\n\t }\n\t}\n\t\n\tfunction isBefore (input, units) {\n\t var localInput = isMoment(input) ? input : createLocal(input);\n\t if (!(this.isValid() && localInput.isValid())) {\n\t return false;\n\t }\n\t units = normalizeUnits(!isUndefined(units) ? units : 'millisecond');\n\t if (units === 'millisecond') {\n\t return this.valueOf() < localInput.valueOf();\n\t } else {\n\t return this.clone().endOf(units).valueOf() < localInput.valueOf();\n\t }\n\t}\n\t\n\tfunction isBetween (from, to, units, inclusivity) {\n\t inclusivity = inclusivity || '()';\n\t return (inclusivity[0] === '(' ? this.isAfter(from, units) : !this.isBefore(from, units)) &&\n\t (inclusivity[1] === ')' ? this.isBefore(to, units) : !this.isAfter(to, units));\n\t}\n\t\n\tfunction isSame (input, units) {\n\t var localInput = isMoment(input) ? input : createLocal(input),\n\t inputMs;\n\t if (!(this.isValid() && localInput.isValid())) {\n\t return false;\n\t }\n\t units = normalizeUnits(units || 'millisecond');\n\t if (units === 'millisecond') {\n\t return this.valueOf() === localInput.valueOf();\n\t } else {\n\t inputMs = localInput.valueOf();\n\t return this.clone().startOf(units).valueOf() <= inputMs && inputMs <= this.clone().endOf(units).valueOf();\n\t }\n\t}\n\t\n\tfunction isSameOrAfter (input, units) {\n\t return this.isSame(input, units) || this.isAfter(input,units);\n\t}\n\t\n\tfunction isSameOrBefore (input, units) {\n\t return this.isSame(input, units) || this.isBefore(input,units);\n\t}\n\t\n\tfunction diff (input, units, asFloat) {\n\t var that,\n\t zoneDelta,\n\t delta, output;\n\t\n\t if (!this.isValid()) {\n\t return NaN;\n\t }\n\t\n\t that = cloneWithOffset(input, this);\n\t\n\t if (!that.isValid()) {\n\t return NaN;\n\t }\n\t\n\t zoneDelta = (that.utcOffset() - this.utcOffset()) * 6e4;\n\t\n\t units = normalizeUnits(units);\n\t\n\t if (units === 'year' || units === 'month' || units === 'quarter') {\n\t output = monthDiff(this, that);\n\t if (units === 'quarter') {\n\t output = output / 3;\n\t } else if (units === 'year') {\n\t output = output / 12;\n\t }\n\t } else {\n\t delta = this - that;\n\t output = units === 'second' ? delta / 1e3 : // 1000\n\t units === 'minute' ? delta / 6e4 : // 1000 * 60\n\t units === 'hour' ? delta / 36e5 : // 1000 * 60 * 60\n\t units === 'day' ? (delta - zoneDelta) / 864e5 : // 1000 * 60 * 60 * 24, negate dst\n\t units === 'week' ? (delta - zoneDelta) / 6048e5 : // 1000 * 60 * 60 * 24 * 7, negate dst\n\t delta;\n\t }\n\t return asFloat ? output : absFloor(output);\n\t}\n\t\n\tfunction monthDiff (a, b) {\n\t // difference in months\n\t var wholeMonthDiff = ((b.year() - a.year()) * 12) + (b.month() - a.month()),\n\t // b is in (anchor - 1 month, anchor + 1 month)\n\t anchor = a.clone().add(wholeMonthDiff, 'months'),\n\t anchor2, adjust;\n\t\n\t if (b - anchor < 0) {\n\t anchor2 = a.clone().add(wholeMonthDiff - 1, 'months');\n\t // linear across the month\n\t adjust = (b - anchor) / (anchor - anchor2);\n\t } else {\n\t anchor2 = a.clone().add(wholeMonthDiff + 1, 'months');\n\t // linear across the month\n\t adjust = (b - anchor) / (anchor2 - anchor);\n\t }\n\t\n\t //check for negative zero, return zero if negative zero\n\t return -(wholeMonthDiff + adjust) || 0;\n\t}\n\t\n\thooks.defaultFormat = 'YYYY-MM-DDTHH:mm:ssZ';\n\thooks.defaultFormatUtc = 'YYYY-MM-DDTHH:mm:ss[Z]';\n\t\n\tfunction toString () {\n\t return this.clone().locale('en').format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ');\n\t}\n\t\n\tfunction toISOString () {\n\t var m = this.clone().utc();\n\t if (0 < m.year() && m.year() <= 9999) {\n\t if (isFunction(Date.prototype.toISOString)) {\n\t // native implementation is ~50x faster, use it when we can\n\t return this.toDate().toISOString();\n\t } else {\n\t return formatMoment(m, 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]');\n\t }\n\t } else {\n\t return formatMoment(m, 'YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]');\n\t }\n\t}\n\t\n\t/**\n\t * Return a human readable representation of a moment that can\n\t * also be evaluated to get a new moment which is the same\n\t *\n\t * @link https://nodejs.org/dist/latest/docs/api/util.html#util_custom_inspect_function_on_objects\n\t */\n\tfunction inspect () {\n\t if (!this.isValid()) {\n\t return 'moment.invalid(/* ' + this._i + ' */)';\n\t }\n\t var func = 'moment';\n\t var zone = '';\n\t if (!this.isLocal()) {\n\t func = this.utcOffset() === 0 ? 'moment.utc' : 'moment.parseZone';\n\t zone = 'Z';\n\t }\n\t var prefix = '[' + func + '(\"]';\n\t var year = (0 < this.year() && this.year() <= 9999) ? 'YYYY' : 'YYYYYY';\n\t var datetime = '-MM-DD[T]HH:mm:ss.SSS';\n\t var suffix = zone + '[\")]';\n\t\n\t return this.format(prefix + year + datetime + suffix);\n\t}\n\t\n\tfunction format (inputString) {\n\t if (!inputString) {\n\t inputString = this.isUtc() ? hooks.defaultFormatUtc : hooks.defaultFormat;\n\t }\n\t var output = formatMoment(this, inputString);\n\t return this.localeData().postformat(output);\n\t}\n\t\n\tfunction from (time, withoutSuffix) {\n\t if (this.isValid() &&\n\t ((isMoment(time) && time.isValid()) ||\n\t createLocal(time).isValid())) {\n\t return createDuration({to: this, from: time}).locale(this.locale()).humanize(!withoutSuffix);\n\t } else {\n\t return this.localeData().invalidDate();\n\t }\n\t}\n\t\n\tfunction fromNow (withoutSuffix) {\n\t return this.from(createLocal(), withoutSuffix);\n\t}\n\t\n\tfunction to (time, withoutSuffix) {\n\t if (this.isValid() &&\n\t ((isMoment(time) && time.isValid()) ||\n\t createLocal(time).isValid())) {\n\t return createDuration({from: this, to: time}).locale(this.locale()).humanize(!withoutSuffix);\n\t } else {\n\t return this.localeData().invalidDate();\n\t }\n\t}\n\t\n\tfunction toNow (withoutSuffix) {\n\t return this.to(createLocal(), withoutSuffix);\n\t}\n\t\n\t// If passed a locale key, it will set the locale for this\n\t// instance. Otherwise, it will return the locale configuration\n\t// variables for this instance.\n\tfunction locale (key) {\n\t var newLocaleData;\n\t\n\t if (key === undefined) {\n\t return this._locale._abbr;\n\t } else {\n\t newLocaleData = getLocale(key);\n\t if (newLocaleData != null) {\n\t this._locale = newLocaleData;\n\t }\n\t return this;\n\t }\n\t}\n\t\n\tvar lang = deprecate(\n\t 'moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.',\n\t function (key) {\n\t if (key === undefined) {\n\t return this.localeData();\n\t } else {\n\t return this.locale(key);\n\t }\n\t }\n\t);\n\t\n\tfunction localeData () {\n\t return this._locale;\n\t}\n\t\n\tfunction startOf (units) {\n\t units = normalizeUnits(units);\n\t // the following switch intentionally omits break keywords\n\t // to utilize falling through the cases.\n\t switch (units) {\n\t case 'year':\n\t this.month(0);\n\t /* falls through */\n\t case 'quarter':\n\t case 'month':\n\t this.date(1);\n\t /* falls through */\n\t case 'week':\n\t case 'isoWeek':\n\t case 'day':\n\t case 'date':\n\t this.hours(0);\n\t /* falls through */\n\t case 'hour':\n\t this.minutes(0);\n\t /* falls through */\n\t case 'minute':\n\t this.seconds(0);\n\t /* falls through */\n\t case 'second':\n\t this.milliseconds(0);\n\t }\n\t\n\t // weeks are a special case\n\t if (units === 'week') {\n\t this.weekday(0);\n\t }\n\t if (units === 'isoWeek') {\n\t this.isoWeekday(1);\n\t }\n\t\n\t // quarters are also special\n\t if (units === 'quarter') {\n\t this.month(Math.floor(this.month() / 3) * 3);\n\t }\n\t\n\t return this;\n\t}\n\t\n\tfunction endOf (units) {\n\t units = normalizeUnits(units);\n\t if (units === undefined || units === 'millisecond') {\n\t return this;\n\t }\n\t\n\t // 'date' is an alias for 'day', so it should be considered as such.\n\t if (units === 'date') {\n\t units = 'day';\n\t }\n\t\n\t return this.startOf(units).add(1, (units === 'isoWeek' ? 'week' : units)).subtract(1, 'ms');\n\t}\n\t\n\tfunction valueOf () {\n\t return this._d.valueOf() - ((this._offset || 0) * 60000);\n\t}\n\t\n\tfunction unix () {\n\t return Math.floor(this.valueOf() / 1000);\n\t}\n\t\n\tfunction toDate () {\n\t return new Date(this.valueOf());\n\t}\n\t\n\tfunction toArray () {\n\t var m = this;\n\t return [m.year(), m.month(), m.date(), m.hour(), m.minute(), m.second(), m.millisecond()];\n\t}\n\t\n\tfunction toObject () {\n\t var m = this;\n\t return {\n\t years: m.year(),\n\t months: m.month(),\n\t date: m.date(),\n\t hours: m.hours(),\n\t minutes: m.minutes(),\n\t seconds: m.seconds(),\n\t milliseconds: m.milliseconds()\n\t };\n\t}\n\t\n\tfunction toJSON () {\n\t // new Date(NaN).toJSON() === null\n\t return this.isValid() ? this.toISOString() : null;\n\t}\n\t\n\tfunction isValid$1 () {\n\t return isValid(this);\n\t}\n\t\n\tfunction parsingFlags () {\n\t return extend({}, getParsingFlags(this));\n\t}\n\t\n\tfunction invalidAt () {\n\t return getParsingFlags(this).overflow;\n\t}\n\t\n\tfunction creationData() {\n\t return {\n\t input: this._i,\n\t format: this._f,\n\t locale: this._locale,\n\t isUTC: this._isUTC,\n\t strict: this._strict\n\t };\n\t}\n\t\n\t// FORMATTING\n\t\n\taddFormatToken(0, ['gg', 2], 0, function () {\n\t return this.weekYear() % 100;\n\t});\n\t\n\taddFormatToken(0, ['GG', 2], 0, function () {\n\t return this.isoWeekYear() % 100;\n\t});\n\t\n\tfunction addWeekYearFormatToken (token, getter) {\n\t addFormatToken(0, [token, token.length], 0, getter);\n\t}\n\t\n\taddWeekYearFormatToken('gggg', 'weekYear');\n\taddWeekYearFormatToken('ggggg', 'weekYear');\n\taddWeekYearFormatToken('GGGG', 'isoWeekYear');\n\taddWeekYearFormatToken('GGGGG', 'isoWeekYear');\n\t\n\t// ALIASES\n\t\n\taddUnitAlias('weekYear', 'gg');\n\taddUnitAlias('isoWeekYear', 'GG');\n\t\n\t// PRIORITY\n\t\n\taddUnitPriority('weekYear', 1);\n\taddUnitPriority('isoWeekYear', 1);\n\t\n\t\n\t// PARSING\n\t\n\taddRegexToken('G', matchSigned);\n\taddRegexToken('g', matchSigned);\n\taddRegexToken('GG', match1to2, match2);\n\taddRegexToken('gg', match1to2, match2);\n\taddRegexToken('GGGG', match1to4, match4);\n\taddRegexToken('gggg', match1to4, match4);\n\taddRegexToken('GGGGG', match1to6, match6);\n\taddRegexToken('ggggg', match1to6, match6);\n\t\n\taddWeekParseToken(['gggg', 'ggggg', 'GGGG', 'GGGGG'], function (input, week, config, token) {\n\t week[token.substr(0, 2)] = toInt(input);\n\t});\n\t\n\taddWeekParseToken(['gg', 'GG'], function (input, week, config, token) {\n\t week[token] = hooks.parseTwoDigitYear(input);\n\t});\n\t\n\t// MOMENTS\n\t\n\tfunction getSetWeekYear (input) {\n\t return getSetWeekYearHelper.call(this,\n\t input,\n\t this.week(),\n\t this.weekday(),\n\t this.localeData()._week.dow,\n\t this.localeData()._week.doy);\n\t}\n\t\n\tfunction getSetISOWeekYear (input) {\n\t return getSetWeekYearHelper.call(this,\n\t input, this.isoWeek(), this.isoWeekday(), 1, 4);\n\t}\n\t\n\tfunction getISOWeeksInYear () {\n\t return weeksInYear(this.year(), 1, 4);\n\t}\n\t\n\tfunction getWeeksInYear () {\n\t var weekInfo = this.localeData()._week;\n\t return weeksInYear(this.year(), weekInfo.dow, weekInfo.doy);\n\t}\n\t\n\tfunction getSetWeekYearHelper(input, week, weekday, dow, doy) {\n\t var weeksTarget;\n\t if (input == null) {\n\t return weekOfYear(this, dow, doy).year;\n\t } else {\n\t weeksTarget = weeksInYear(input, dow, doy);\n\t if (week > weeksTarget) {\n\t week = weeksTarget;\n\t }\n\t return setWeekAll.call(this, input, week, weekday, dow, doy);\n\t }\n\t}\n\t\n\tfunction setWeekAll(weekYear, week, weekday, dow, doy) {\n\t var dayOfYearData = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy),\n\t date = createUTCDate(dayOfYearData.year, 0, dayOfYearData.dayOfYear);\n\t\n\t this.year(date.getUTCFullYear());\n\t this.month(date.getUTCMonth());\n\t this.date(date.getUTCDate());\n\t return this;\n\t}\n\t\n\t// FORMATTING\n\t\n\taddFormatToken('Q', 0, 'Qo', 'quarter');\n\t\n\t// ALIASES\n\t\n\taddUnitAlias('quarter', 'Q');\n\t\n\t// PRIORITY\n\t\n\taddUnitPriority('quarter', 7);\n\t\n\t// PARSING\n\t\n\taddRegexToken('Q', match1);\n\taddParseToken('Q', function (input, array) {\n\t array[MONTH] = (toInt(input) - 1) * 3;\n\t});\n\t\n\t// MOMENTS\n\t\n\tfunction getSetQuarter (input) {\n\t return input == null ? Math.ceil((this.month() + 1) / 3) : this.month((input - 1) * 3 + this.month() % 3);\n\t}\n\t\n\t// FORMATTING\n\t\n\taddFormatToken('D', ['DD', 2], 'Do', 'date');\n\t\n\t// ALIASES\n\t\n\taddUnitAlias('date', 'D');\n\t\n\t// PRIOROITY\n\taddUnitPriority('date', 9);\n\t\n\t// PARSING\n\t\n\taddRegexToken('D', match1to2);\n\taddRegexToken('DD', match1to2, match2);\n\taddRegexToken('Do', function (isStrict, locale) {\n\t return isStrict ? locale._ordinalParse : locale._ordinalParseLenient;\n\t});\n\t\n\taddParseToken(['D', 'DD'], DATE);\n\taddParseToken('Do', function (input, array) {\n\t array[DATE] = toInt(input.match(match1to2)[0], 10);\n\t});\n\t\n\t// MOMENTS\n\t\n\tvar getSetDayOfMonth = makeGetSet('Date', true);\n\t\n\t// FORMATTING\n\t\n\taddFormatToken('DDD', ['DDDD', 3], 'DDDo', 'dayOfYear');\n\t\n\t// ALIASES\n\t\n\taddUnitAlias('dayOfYear', 'DDD');\n\t\n\t// PRIORITY\n\taddUnitPriority('dayOfYear', 4);\n\t\n\t// PARSING\n\t\n\taddRegexToken('DDD', match1to3);\n\taddRegexToken('DDDD', match3);\n\taddParseToken(['DDD', 'DDDD'], function (input, array, config) {\n\t config._dayOfYear = toInt(input);\n\t});\n\t\n\t// HELPERS\n\t\n\t// MOMENTS\n\t\n\tfunction getSetDayOfYear (input) {\n\t var dayOfYear = Math.round((this.clone().startOf('day') - this.clone().startOf('year')) / 864e5) + 1;\n\t return input == null ? dayOfYear : this.add((input - dayOfYear), 'd');\n\t}\n\t\n\t// FORMATTING\n\t\n\taddFormatToken('m', ['mm', 2], 0, 'minute');\n\t\n\t// ALIASES\n\t\n\taddUnitAlias('minute', 'm');\n\t\n\t// PRIORITY\n\t\n\taddUnitPriority('minute', 14);\n\t\n\t// PARSING\n\t\n\taddRegexToken('m', match1to2);\n\taddRegexToken('mm', match1to2, match2);\n\taddParseToken(['m', 'mm'], MINUTE);\n\t\n\t// MOMENTS\n\t\n\tvar getSetMinute = makeGetSet('Minutes', false);\n\t\n\t// FORMATTING\n\t\n\taddFormatToken('s', ['ss', 2], 0, 'second');\n\t\n\t// ALIASES\n\t\n\taddUnitAlias('second', 's');\n\t\n\t// PRIORITY\n\t\n\taddUnitPriority('second', 15);\n\t\n\t// PARSING\n\t\n\taddRegexToken('s', match1to2);\n\taddRegexToken('ss', match1to2, match2);\n\taddParseToken(['s', 'ss'], SECOND);\n\t\n\t// MOMENTS\n\t\n\tvar getSetSecond = makeGetSet('Seconds', false);\n\t\n\t// FORMATTING\n\t\n\taddFormatToken('S', 0, 0, function () {\n\t return ~~(this.millisecond() / 100);\n\t});\n\t\n\taddFormatToken(0, ['SS', 2], 0, function () {\n\t return ~~(this.millisecond() / 10);\n\t});\n\t\n\taddFormatToken(0, ['SSS', 3], 0, 'millisecond');\n\taddFormatToken(0, ['SSSS', 4], 0, function () {\n\t return this.millisecond() * 10;\n\t});\n\taddFormatToken(0, ['SSSSS', 5], 0, function () {\n\t return this.millisecond() * 100;\n\t});\n\taddFormatToken(0, ['SSSSSS', 6], 0, function () {\n\t return this.millisecond() * 1000;\n\t});\n\taddFormatToken(0, ['SSSSSSS', 7], 0, function () {\n\t return this.millisecond() * 10000;\n\t});\n\taddFormatToken(0, ['SSSSSSSS', 8], 0, function () {\n\t return this.millisecond() * 100000;\n\t});\n\taddFormatToken(0, ['SSSSSSSSS', 9], 0, function () {\n\t return this.millisecond() * 1000000;\n\t});\n\t\n\t\n\t// ALIASES\n\t\n\taddUnitAlias('millisecond', 'ms');\n\t\n\t// PRIORITY\n\t\n\taddUnitPriority('millisecond', 16);\n\t\n\t// PARSING\n\t\n\taddRegexToken('S', match1to3, match1);\n\taddRegexToken('SS', match1to3, match2);\n\taddRegexToken('SSS', match1to3, match3);\n\t\n\tvar token;\n\tfor (token = 'SSSS'; token.length <= 9; token += 'S') {\n\t addRegexToken(token, matchUnsigned);\n\t}\n\t\n\tfunction parseMs(input, array) {\n\t array[MILLISECOND] = toInt(('0.' + input) * 1000);\n\t}\n\t\n\tfor (token = 'S'; token.length <= 9; token += 'S') {\n\t addParseToken(token, parseMs);\n\t}\n\t// MOMENTS\n\t\n\tvar getSetMillisecond = makeGetSet('Milliseconds', false);\n\t\n\t// FORMATTING\n\t\n\taddFormatToken('z', 0, 0, 'zoneAbbr');\n\taddFormatToken('zz', 0, 0, 'zoneName');\n\t\n\t// MOMENTS\n\t\n\tfunction getZoneAbbr () {\n\t return this._isUTC ? 'UTC' : '';\n\t}\n\t\n\tfunction getZoneName () {\n\t return this._isUTC ? 'Coordinated Universal Time' : '';\n\t}\n\t\n\tvar proto = Moment.prototype;\n\t\n\tproto.add = add;\n\tproto.calendar = calendar$1;\n\tproto.clone = clone;\n\tproto.diff = diff;\n\tproto.endOf = endOf;\n\tproto.format = format;\n\tproto.from = from;\n\tproto.fromNow = fromNow;\n\tproto.to = to;\n\tproto.toNow = toNow;\n\tproto.get = stringGet;\n\tproto.invalidAt = invalidAt;\n\tproto.isAfter = isAfter;\n\tproto.isBefore = isBefore;\n\tproto.isBetween = isBetween;\n\tproto.isSame = isSame;\n\tproto.isSameOrAfter = isSameOrAfter;\n\tproto.isSameOrBefore = isSameOrBefore;\n\tproto.isValid = isValid$1;\n\tproto.lang = lang;\n\tproto.locale = locale;\n\tproto.localeData = localeData;\n\tproto.max = prototypeMax;\n\tproto.min = prototypeMin;\n\tproto.parsingFlags = parsingFlags;\n\tproto.set = stringSet;\n\tproto.startOf = startOf;\n\tproto.subtract = subtract;\n\tproto.toArray = toArray;\n\tproto.toObject = toObject;\n\tproto.toDate = toDate;\n\tproto.toISOString = toISOString;\n\tproto.inspect = inspect;\n\tproto.toJSON = toJSON;\n\tproto.toString = toString;\n\tproto.unix = unix;\n\tproto.valueOf = valueOf;\n\tproto.creationData = creationData;\n\t\n\t// Year\n\tproto.year = getSetYear;\n\tproto.isLeapYear = getIsLeapYear;\n\t\n\t// Week Year\n\tproto.weekYear = getSetWeekYear;\n\tproto.isoWeekYear = getSetISOWeekYear;\n\t\n\t// Quarter\n\tproto.quarter = proto.quarters = getSetQuarter;\n\t\n\t// Month\n\tproto.month = getSetMonth;\n\tproto.daysInMonth = getDaysInMonth;\n\t\n\t// Week\n\tproto.week = proto.weeks = getSetWeek;\n\tproto.isoWeek = proto.isoWeeks = getSetISOWeek;\n\tproto.weeksInYear = getWeeksInYear;\n\tproto.isoWeeksInYear = getISOWeeksInYear;\n\t\n\t// Day\n\tproto.date = getSetDayOfMonth;\n\tproto.day = proto.days = getSetDayOfWeek;\n\tproto.weekday = getSetLocaleDayOfWeek;\n\tproto.isoWeekday = getSetISODayOfWeek;\n\tproto.dayOfYear = getSetDayOfYear;\n\t\n\t// Hour\n\tproto.hour = proto.hours = getSetHour;\n\t\n\t// Minute\n\tproto.minute = proto.minutes = getSetMinute;\n\t\n\t// Second\n\tproto.second = proto.seconds = getSetSecond;\n\t\n\t// Millisecond\n\tproto.millisecond = proto.milliseconds = getSetMillisecond;\n\t\n\t// Offset\n\tproto.utcOffset = getSetOffset;\n\tproto.utc = setOffsetToUTC;\n\tproto.local = setOffsetToLocal;\n\tproto.parseZone = setOffsetToParsedOffset;\n\tproto.hasAlignedHourOffset = hasAlignedHourOffset;\n\tproto.isDST = isDaylightSavingTime;\n\tproto.isLocal = isLocal;\n\tproto.isUtcOffset = isUtcOffset;\n\tproto.isUtc = isUtc;\n\tproto.isUTC = isUtc;\n\t\n\t// Timezone\n\tproto.zoneAbbr = getZoneAbbr;\n\tproto.zoneName = getZoneName;\n\t\n\t// Deprecations\n\tproto.dates = deprecate('dates accessor is deprecated. Use date instead.', getSetDayOfMonth);\n\tproto.months = deprecate('months accessor is deprecated. Use month instead', getSetMonth);\n\tproto.years = deprecate('years accessor is deprecated. Use year instead', getSetYear);\n\tproto.zone = deprecate('moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/', getSetZone);\n\tproto.isDSTShifted = deprecate('isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information', isDaylightSavingTimeShifted);\n\t\n\tfunction createUnix (input) {\n\t return createLocal(input * 1000);\n\t}\n\t\n\tfunction createInZone () {\n\t return createLocal.apply(null, arguments).parseZone();\n\t}\n\t\n\tfunction preParsePostFormat (string) {\n\t return string;\n\t}\n\t\n\tvar proto$1 = Locale.prototype;\n\t\n\tproto$1.calendar = calendar;\n\tproto$1.longDateFormat = longDateFormat;\n\tproto$1.invalidDate = invalidDate;\n\tproto$1.ordinal = ordinal;\n\tproto$1.preparse = preParsePostFormat;\n\tproto$1.postformat = preParsePostFormat;\n\tproto$1.relativeTime = relativeTime;\n\tproto$1.pastFuture = pastFuture;\n\tproto$1.set = set;\n\t\n\t// Month\n\tproto$1.months = localeMonths;\n\tproto$1.monthsShort = localeMonthsShort;\n\tproto$1.monthsParse = localeMonthsParse;\n\tproto$1.monthsRegex = monthsRegex;\n\tproto$1.monthsShortRegex = monthsShortRegex;\n\t\n\t// Week\n\tproto$1.week = localeWeek;\n\tproto$1.firstDayOfYear = localeFirstDayOfYear;\n\tproto$1.firstDayOfWeek = localeFirstDayOfWeek;\n\t\n\t// Day of Week\n\tproto$1.weekdays = localeWeekdays;\n\tproto$1.weekdaysMin = localeWeekdaysMin;\n\tproto$1.weekdaysShort = localeWeekdaysShort;\n\tproto$1.weekdaysParse = localeWeekdaysParse;\n\t\n\tproto$1.weekdaysRegex = weekdaysRegex;\n\tproto$1.weekdaysShortRegex = weekdaysShortRegex;\n\tproto$1.weekdaysMinRegex = weekdaysMinRegex;\n\t\n\t// Hours\n\tproto$1.isPM = localeIsPM;\n\tproto$1.meridiem = localeMeridiem;\n\t\n\tfunction get$1 (format, index, field, setter) {\n\t var locale = getLocale();\n\t var utc = createUTC().set(setter, index);\n\t return locale[field](utc, format);\n\t}\n\t\n\tfunction listMonthsImpl (format, index, field) {\n\t if (isNumber(format)) {\n\t index = format;\n\t format = undefined;\n\t }\n\t\n\t format = format || '';\n\t\n\t if (index != null) {\n\t return get$1(format, index, field, 'month');\n\t }\n\t\n\t var i;\n\t var out = [];\n\t for (i = 0; i < 12; i++) {\n\t out[i] = get$1(format, i, field, 'month');\n\t }\n\t return out;\n\t}\n\t\n\t// ()\n\t// (5)\n\t// (fmt, 5)\n\t// (fmt)\n\t// (true)\n\t// (true, 5)\n\t// (true, fmt, 5)\n\t// (true, fmt)\n\tfunction listWeekdaysImpl (localeSorted, format, index, field) {\n\t if (typeof localeSorted === 'boolean') {\n\t if (isNumber(format)) {\n\t index = format;\n\t format = undefined;\n\t }\n\t\n\t format = format || '';\n\t } else {\n\t format = localeSorted;\n\t index = format;\n\t localeSorted = false;\n\t\n\t if (isNumber(format)) {\n\t index = format;\n\t format = undefined;\n\t }\n\t\n\t format = format || '';\n\t }\n\t\n\t var locale = getLocale(),\n\t shift = localeSorted ? locale._week.dow : 0;\n\t\n\t if (index != null) {\n\t return get$1(format, (index + shift) % 7, field, 'day');\n\t }\n\t\n\t var i;\n\t var out = [];\n\t for (i = 0; i < 7; i++) {\n\t out[i] = get$1(format, (i + shift) % 7, field, 'day');\n\t }\n\t return out;\n\t}\n\t\n\tfunction listMonths (format, index) {\n\t return listMonthsImpl(format, index, 'months');\n\t}\n\t\n\tfunction listMonthsShort (format, index) {\n\t return listMonthsImpl(format, index, 'monthsShort');\n\t}\n\t\n\tfunction listWeekdays (localeSorted, format, index) {\n\t return listWeekdaysImpl(localeSorted, format, index, 'weekdays');\n\t}\n\t\n\tfunction listWeekdaysShort (localeSorted, format, index) {\n\t return listWeekdaysImpl(localeSorted, format, index, 'weekdaysShort');\n\t}\n\t\n\tfunction listWeekdaysMin (localeSorted, format, index) {\n\t return listWeekdaysImpl(localeSorted, format, index, 'weekdaysMin');\n\t}\n\t\n\tgetSetGlobalLocale('en', {\n\t ordinalParse: /\\d{1,2}(th|st|nd|rd)/,\n\t ordinal : function (number) {\n\t var b = number % 10,\n\t output = (toInt(number % 100 / 10) === 1) ? 'th' :\n\t (b === 1) ? 'st' :\n\t (b === 2) ? 'nd' :\n\t (b === 3) ? 'rd' : 'th';\n\t return number + output;\n\t }\n\t});\n\t\n\t// Side effect imports\n\thooks.lang = deprecate('moment.lang is deprecated. Use moment.locale instead.', getSetGlobalLocale);\n\thooks.langData = deprecate('moment.langData is deprecated. Use moment.localeData instead.', getLocale);\n\t\n\tvar mathAbs = Math.abs;\n\t\n\tfunction abs () {\n\t var data = this._data;\n\t\n\t this._milliseconds = mathAbs(this._milliseconds);\n\t this._days = mathAbs(this._days);\n\t this._months = mathAbs(this._months);\n\t\n\t data.milliseconds = mathAbs(data.milliseconds);\n\t data.seconds = mathAbs(data.seconds);\n\t data.minutes = mathAbs(data.minutes);\n\t data.hours = mathAbs(data.hours);\n\t data.months = mathAbs(data.months);\n\t data.years = mathAbs(data.years);\n\t\n\t return this;\n\t}\n\t\n\tfunction addSubtract$1 (duration, input, value, direction) {\n\t var other = createDuration(input, value);\n\t\n\t duration._milliseconds += direction * other._milliseconds;\n\t duration._days += direction * other._days;\n\t duration._months += direction * other._months;\n\t\n\t return duration._bubble();\n\t}\n\t\n\t// supports only 2.0-style add(1, 's') or add(duration)\n\tfunction add$1 (input, value) {\n\t return addSubtract$1(this, input, value, 1);\n\t}\n\t\n\t// supports only 2.0-style subtract(1, 's') or subtract(duration)\n\tfunction subtract$1 (input, value) {\n\t return addSubtract$1(this, input, value, -1);\n\t}\n\t\n\tfunction absCeil (number) {\n\t if (number < 0) {\n\t return Math.floor(number);\n\t } else {\n\t return Math.ceil(number);\n\t }\n\t}\n\t\n\tfunction bubble () {\n\t var milliseconds = this._milliseconds;\n\t var days = this._days;\n\t var months = this._months;\n\t var data = this._data;\n\t var seconds, minutes, hours, years, monthsFromDays;\n\t\n\t // if we have a mix of positive and negative values, bubble down first\n\t // check: https://github.com/moment/moment/issues/2166\n\t if (!((milliseconds >= 0 && days >= 0 && months >= 0) ||\n\t (milliseconds <= 0 && days <= 0 && months <= 0))) {\n\t milliseconds += absCeil(monthsToDays(months) + days) * 864e5;\n\t days = 0;\n\t months = 0;\n\t }\n\t\n\t // The following code bubbles up values, see the tests for\n\t // examples of what that means.\n\t data.milliseconds = milliseconds % 1000;\n\t\n\t seconds = absFloor(milliseconds / 1000);\n\t data.seconds = seconds % 60;\n\t\n\t minutes = absFloor(seconds / 60);\n\t data.minutes = minutes % 60;\n\t\n\t hours = absFloor(minutes / 60);\n\t data.hours = hours % 24;\n\t\n\t days += absFloor(hours / 24);\n\t\n\t // convert days to months\n\t monthsFromDays = absFloor(daysToMonths(days));\n\t months += monthsFromDays;\n\t days -= absCeil(monthsToDays(monthsFromDays));\n\t\n\t // 12 months -> 1 year\n\t years = absFloor(months / 12);\n\t months %= 12;\n\t\n\t data.days = days;\n\t data.months = months;\n\t data.years = years;\n\t\n\t return this;\n\t}\n\t\n\tfunction daysToMonths (days) {\n\t // 400 years have 146097 days (taking into account leap year rules)\n\t // 400 years have 12 months === 4800\n\t return days * 4800 / 146097;\n\t}\n\t\n\tfunction monthsToDays (months) {\n\t // the reverse of daysToMonths\n\t return months * 146097 / 4800;\n\t}\n\t\n\tfunction as (units) {\n\t var days;\n\t var months;\n\t var milliseconds = this._milliseconds;\n\t\n\t units = normalizeUnits(units);\n\t\n\t if (units === 'month' || units === 'year') {\n\t days = this._days + milliseconds / 864e5;\n\t months = this._months + daysToMonths(days);\n\t return units === 'month' ? months : months / 12;\n\t } else {\n\t // handle milliseconds separately because of floating point math errors (issue #1867)\n\t days = this._days + Math.round(monthsToDays(this._months));\n\t switch (units) {\n\t case 'week' : return days / 7 + milliseconds / 6048e5;\n\t case 'day' : return days + milliseconds / 864e5;\n\t case 'hour' : return days * 24 + milliseconds / 36e5;\n\t case 'minute' : return days * 1440 + milliseconds / 6e4;\n\t case 'second' : return days * 86400 + milliseconds / 1000;\n\t // Math.floor prevents floating point math errors here\n\t case 'millisecond': return Math.floor(days * 864e5) + milliseconds;\n\t default: throw new Error('Unknown unit ' + units);\n\t }\n\t }\n\t}\n\t\n\t// TODO: Use this.as('ms')?\n\tfunction valueOf$1 () {\n\t return (\n\t this._milliseconds +\n\t this._days * 864e5 +\n\t (this._months % 12) * 2592e6 +\n\t toInt(this._months / 12) * 31536e6\n\t );\n\t}\n\t\n\tfunction makeAs (alias) {\n\t return function () {\n\t return this.as(alias);\n\t };\n\t}\n\t\n\tvar asMilliseconds = makeAs('ms');\n\tvar asSeconds = makeAs('s');\n\tvar asMinutes = makeAs('m');\n\tvar asHours = makeAs('h');\n\tvar asDays = makeAs('d');\n\tvar asWeeks = makeAs('w');\n\tvar asMonths = makeAs('M');\n\tvar asYears = makeAs('y');\n\t\n\tfunction get$2 (units) {\n\t units = normalizeUnits(units);\n\t return this[units + 's']();\n\t}\n\t\n\tfunction makeGetter(name) {\n\t return function () {\n\t return this._data[name];\n\t };\n\t}\n\t\n\tvar milliseconds = makeGetter('milliseconds');\n\tvar seconds = makeGetter('seconds');\n\tvar minutes = makeGetter('minutes');\n\tvar hours = makeGetter('hours');\n\tvar days = makeGetter('days');\n\tvar months = makeGetter('months');\n\tvar years = makeGetter('years');\n\t\n\tfunction weeks () {\n\t return absFloor(this.days() / 7);\n\t}\n\t\n\tvar round = Math.round;\n\tvar thresholds = {\n\t s: 45, // seconds to minute\n\t m: 45, // minutes to hour\n\t h: 22, // hours to day\n\t d: 26, // days to month\n\t M: 11 // months to year\n\t};\n\t\n\t// helper function for moment.fn.from, moment.fn.fromNow, and moment.duration.fn.humanize\n\tfunction substituteTimeAgo(string, number, withoutSuffix, isFuture, locale) {\n\t return locale.relativeTime(number || 1, !!withoutSuffix, string, isFuture);\n\t}\n\t\n\tfunction relativeTime$1 (posNegDuration, withoutSuffix, locale) {\n\t var duration = createDuration(posNegDuration).abs();\n\t var seconds = round(duration.as('s'));\n\t var minutes = round(duration.as('m'));\n\t var hours = round(duration.as('h'));\n\t var days = round(duration.as('d'));\n\t var months = round(duration.as('M'));\n\t var years = round(duration.as('y'));\n\t\n\t var a = seconds < thresholds.s && ['s', seconds] ||\n\t minutes <= 1 && ['m'] ||\n\t minutes < thresholds.m && ['mm', minutes] ||\n\t hours <= 1 && ['h'] ||\n\t hours < thresholds.h && ['hh', hours] ||\n\t days <= 1 && ['d'] ||\n\t days < thresholds.d && ['dd', days] ||\n\t months <= 1 && ['M'] ||\n\t months < thresholds.M && ['MM', months] ||\n\t years <= 1 && ['y'] || ['yy', years];\n\t\n\t a[2] = withoutSuffix;\n\t a[3] = +posNegDuration > 0;\n\t a[4] = locale;\n\t return substituteTimeAgo.apply(null, a);\n\t}\n\t\n\t// This function allows you to set the rounding function for relative time strings\n\tfunction getSetRelativeTimeRounding (roundingFunction) {\n\t if (roundingFunction === undefined) {\n\t return round;\n\t }\n\t if (typeof(roundingFunction) === 'function') {\n\t round = roundingFunction;\n\t return true;\n\t }\n\t return false;\n\t}\n\t\n\t// This function allows you to set a threshold for relative time strings\n\tfunction getSetRelativeTimeThreshold (threshold, limit) {\n\t if (thresholds[threshold] === undefined) {\n\t return false;\n\t }\n\t if (limit === undefined) {\n\t return thresholds[threshold];\n\t }\n\t thresholds[threshold] = limit;\n\t return true;\n\t}\n\t\n\tfunction humanize (withSuffix) {\n\t var locale = this.localeData();\n\t var output = relativeTime$1(this, !withSuffix, locale);\n\t\n\t if (withSuffix) {\n\t output = locale.pastFuture(+this, output);\n\t }\n\t\n\t return locale.postformat(output);\n\t}\n\t\n\tvar abs$1 = Math.abs;\n\t\n\tfunction toISOString$1() {\n\t // for ISO strings we do not use the normal bubbling rules:\n\t // * milliseconds bubble up until they become hours\n\t // * days do not bubble at all\n\t // * months bubble up until they become years\n\t // This is because there is no context-free conversion between hours and days\n\t // (think of clock changes)\n\t // and also not between days and months (28-31 days per month)\n\t var seconds = abs$1(this._milliseconds) / 1000;\n\t var days = abs$1(this._days);\n\t var months = abs$1(this._months);\n\t var minutes, hours, years;\n\t\n\t // 3600 seconds -> 60 minutes -> 1 hour\n\t minutes = absFloor(seconds / 60);\n\t hours = absFloor(minutes / 60);\n\t seconds %= 60;\n\t minutes %= 60;\n\t\n\t // 12 months -> 1 year\n\t years = absFloor(months / 12);\n\t months %= 12;\n\t\n\t\n\t // inspired by https://github.com/dordille/moment-isoduration/blob/master/moment.isoduration.js\n\t var Y = years;\n\t var M = months;\n\t var D = days;\n\t var h = hours;\n\t var m = minutes;\n\t var s = seconds;\n\t var total = this.asSeconds();\n\t\n\t if (!total) {\n\t // this is the same as C#'s (Noda) and python (isodate)...\n\t // but not other JS (goog.date)\n\t return 'P0D';\n\t }\n\t\n\t return (total < 0 ? '-' : '') +\n\t 'P' +\n\t (Y ? Y + 'Y' : '') +\n\t (M ? M + 'M' : '') +\n\t (D ? D + 'D' : '') +\n\t ((h || m || s) ? 'T' : '') +\n\t (h ? h + 'H' : '') +\n\t (m ? m + 'M' : '') +\n\t (s ? s + 'S' : '');\n\t}\n\t\n\tvar proto$2 = Duration.prototype;\n\t\n\tproto$2.abs = abs;\n\tproto$2.add = add$1;\n\tproto$2.subtract = subtract$1;\n\tproto$2.as = as;\n\tproto$2.asMilliseconds = asMilliseconds;\n\tproto$2.asSeconds = asSeconds;\n\tproto$2.asMinutes = asMinutes;\n\tproto$2.asHours = asHours;\n\tproto$2.asDays = asDays;\n\tproto$2.asWeeks = asWeeks;\n\tproto$2.asMonths = asMonths;\n\tproto$2.asYears = asYears;\n\tproto$2.valueOf = valueOf$1;\n\tproto$2._bubble = bubble;\n\tproto$2.get = get$2;\n\tproto$2.milliseconds = milliseconds;\n\tproto$2.seconds = seconds;\n\tproto$2.minutes = minutes;\n\tproto$2.hours = hours;\n\tproto$2.days = days;\n\tproto$2.weeks = weeks;\n\tproto$2.months = months;\n\tproto$2.years = years;\n\tproto$2.humanize = humanize;\n\tproto$2.toISOString = toISOString$1;\n\tproto$2.toString = toISOString$1;\n\tproto$2.toJSON = toISOString$1;\n\tproto$2.locale = locale;\n\tproto$2.localeData = localeData;\n\t\n\t// Deprecations\n\tproto$2.toIsoString = deprecate('toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)', toISOString$1);\n\tproto$2.lang = lang;\n\t\n\t// Side effect imports\n\t\n\t// FORMATTING\n\t\n\taddFormatToken('X', 0, 0, 'unix');\n\taddFormatToken('x', 0, 0, 'valueOf');\n\t\n\t// PARSING\n\t\n\taddRegexToken('x', matchSigned);\n\taddRegexToken('X', matchTimestamp);\n\taddParseToken('X', function (input, array, config) {\n\t config._d = new Date(parseFloat(input, 10) * 1000);\n\t});\n\taddParseToken('x', function (input, array, config) {\n\t config._d = new Date(toInt(input));\n\t});\n\t\n\t// Side effect imports\n\t\n\t\n\thooks.version = '2.17.1';\n\t\n\tsetHookCallback(createLocal);\n\t\n\thooks.fn = proto;\n\thooks.min = min;\n\thooks.max = max;\n\thooks.now = now;\n\thooks.utc = createUTC;\n\thooks.unix = createUnix;\n\thooks.months = listMonths;\n\thooks.isDate = isDate;\n\thooks.locale = getSetGlobalLocale;\n\thooks.invalid = createInvalid;\n\thooks.duration = createDuration;\n\thooks.isMoment = isMoment;\n\thooks.weekdays = listWeekdays;\n\thooks.parseZone = createInZone;\n\thooks.localeData = getLocale;\n\thooks.isDuration = isDuration;\n\thooks.monthsShort = listMonthsShort;\n\thooks.weekdaysMin = listWeekdaysMin;\n\thooks.defineLocale = defineLocale;\n\thooks.updateLocale = updateLocale;\n\thooks.locales = listLocales;\n\thooks.weekdaysShort = listWeekdaysShort;\n\thooks.normalizeUnits = normalizeUnits;\n\thooks.relativeTimeRounding = getSetRelativeTimeRounding;\n\thooks.relativeTimeThreshold = getSetRelativeTimeThreshold;\n\thooks.calendarFormat = getCalendarFormat;\n\thooks.prototype = proto;\n\t\n\treturn hooks;\n\t\n\t})));\n\t\n\t/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(76)(module)))\n\n/***/ },\n/* 2 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tmodule.exports = __webpack_require__(600);\n\n\n/***/ },\n/* 3 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Copyright (c) 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t */\n\t\n\t'use strict';\n\t\n\t/**\n\t * Use invariant() to assert state which your program assumes to be true.\n\t *\n\t * Provide sprintf-style format (only %s is supported) and arguments\n\t * to provide information about what broke and what you were\n\t * expecting.\n\t *\n\t * The invariant message will be stripped in production, but the invariant\n\t * will remain to ensure logic does not differ in production.\n\t */\n\t\n\tvar validateFormat = function validateFormat(format) {};\n\t\n\tif (false) {\n\t validateFormat = function validateFormat(format) {\n\t if (format === undefined) {\n\t throw new Error('invariant requires an error message argument');\n\t }\n\t };\n\t}\n\t\n\tfunction invariant(condition, format, a, b, c, d, e, f) {\n\t validateFormat(format);\n\t\n\t if (!condition) {\n\t var error;\n\t if (format === undefined) {\n\t error = new Error('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.');\n\t } else {\n\t var args = [a, b, c, d, e, f];\n\t var argIndex = 0;\n\t error = new Error(format.replace(/%s/g, function () {\n\t return args[argIndex++];\n\t }));\n\t error.name = 'Invariant Violation';\n\t }\n\t\n\t error.framesToPop = 1; // we don't care about invariant's own frame\n\t throw error;\n\t }\n\t}\n\t\n\tmodule.exports = invariant;\n\n/***/ },\n/* 4 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Copyright (c) 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @providesModule reactProdInvariant\n\t * \n\t */\n\t'use strict';\n\t\n\t/**\n\t * WARNING: DO NOT manually require this module.\n\t * This is a replacement for `invariant(...)` used by the error code system\n\t * and will _only_ be required by the corresponding babel pass.\n\t * It always throws.\n\t */\n\t\n\tfunction reactProdInvariant(code) {\n\t var argCount = arguments.length - 1;\n\t\n\t var message = 'Minified React error #' + code + '; visit ' + 'http://facebook.github.io/react/docs/error-decoder.html?invariant=' + code;\n\t\n\t for (var argIdx = 0; argIdx < argCount; argIdx++) {\n\t message += '&args[]=' + encodeURIComponent(arguments[argIdx + 1]);\n\t }\n\t\n\t message += ' for the full message or use the non-minified dev environment' + ' for full errors and additional helpful warnings.';\n\t\n\t var error = new Error(message);\n\t error.name = 'Invariant Violation';\n\t error.framesToPop = 1; // we don't care about reactProdInvariant's own frame\n\t\n\t throw error;\n\t}\n\t\n\tmodule.exports = reactProdInvariant;\n\n/***/ },\n/* 5 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Copyright 2014-2015, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t */\n\t\n\t'use strict';\n\t\n\tvar emptyFunction = __webpack_require__(24);\n\t\n\t/**\n\t * Similar to invariant but only logs a warning if the condition is not met.\n\t * This can be used to log issues in development environments in critical\n\t * paths. Removing the logging code for production environments will keep the\n\t * same logic and follow the same code paths.\n\t */\n\t\n\tvar warning = emptyFunction;\n\t\n\tif (false) {\n\t (function () {\n\t var printWarning = function printWarning(format) {\n\t for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n\t args[_key - 1] = arguments[_key];\n\t }\n\t\n\t var argIndex = 0;\n\t var message = 'Warning: ' + format.replace(/%s/g, function () {\n\t return args[argIndex++];\n\t });\n\t if (typeof console !== 'undefined') {\n\t console.error(message);\n\t }\n\t try {\n\t // --- Welcome to debugging React ---\n\t // This error was thrown as a convenience so that you can use this stack\n\t // to find the callsite that caused this warning to fire.\n\t throw new Error(message);\n\t } catch (x) {}\n\t };\n\t\n\t warning = function warning(condition, format) {\n\t if (format === undefined) {\n\t throw new Error('`warning(condition, format, ...args)` requires a warning ' + 'message argument');\n\t }\n\t\n\t if (format.indexOf('Failed Composite propType: ') === 0) {\n\t return; // Ignore CompositeComponent proptype check.\n\t }\n\t\n\t if (!condition) {\n\t for (var _len2 = arguments.length, args = Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {\n\t args[_key2 - 2] = arguments[_key2];\n\t }\n\t\n\t printWarning.apply(undefined, [format].concat(args));\n\t }\n\t };\n\t })();\n\t}\n\t\n\tmodule.exports = warning;\n\n/***/ },\n/* 6 */\n/***/ function(module, exports) {\n\n\t'use strict';\n\t/* eslint-disable no-unused-vars */\n\tvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\tvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\t\n\tfunction toObject(val) {\n\t\tif (val === null || val === undefined) {\n\t\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t\t}\n\t\n\t\treturn Object(val);\n\t}\n\t\n\tfunction shouldUseNative() {\n\t\ttry {\n\t\t\tif (!Object.assign) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\n\t\t\t// Detect buggy property enumeration order in older V8 versions.\n\t\n\t\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\t\tvar test1 = new String('abc'); // eslint-disable-line\n\t\t\ttest1[5] = 'de';\n\t\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\t\treturn false;\n\t\t\t}\n\t\n\t\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\t\tvar test2 = {};\n\t\t\tfor (var i = 0; i < 10; i++) {\n\t\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t\t}\n\t\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\t\treturn test2[n];\n\t\t\t});\n\t\t\tif (order2.join('') !== '0123456789') {\n\t\t\t\treturn false;\n\t\t\t}\n\t\n\t\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\t\tvar test3 = {};\n\t\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\t\ttest3[letter] = letter;\n\t\t\t});\n\t\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\t\treturn false;\n\t\t\t}\n\t\n\t\t\treturn true;\n\t\t} catch (e) {\n\t\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\t\treturn false;\n\t\t}\n\t}\n\t\n\tmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\t\tvar from;\n\t\tvar to = toObject(target);\n\t\tvar symbols;\n\t\n\t\tfor (var s = 1; s < arguments.length; s++) {\n\t\t\tfrom = Object(arguments[s]);\n\t\n\t\t\tfor (var key in from) {\n\t\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\t\tto[key] = from[key];\n\t\t\t\t}\n\t\t\t}\n\t\n\t\t\tif (Object.getOwnPropertySymbols) {\n\t\t\t\tsymbols = Object.getOwnPropertySymbols(from);\n\t\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\n\t\treturn to;\n\t};\n\n\n/***/ },\n/* 7 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;// Underscore.js 1.8.3\n\t// http://underscorejs.org\n\t// (c) 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n\t// Underscore may be freely distributed under the MIT license.\n\t\n\t(function() {\n\t\n\t // Baseline setup\n\t // --------------\n\t\n\t // Establish the root object, `window` in the browser, or `exports` on the server.\n\t var root = this;\n\t\n\t // Save the previous value of the `_` variable.\n\t var previousUnderscore = root._;\n\t\n\t // Save bytes in the minified (but not gzipped) version:\n\t var ArrayProto = Array.prototype, ObjProto = Object.prototype, FuncProto = Function.prototype;\n\t\n\t // Create quick reference variables for speed access to core prototypes.\n\t var\n\t push = ArrayProto.push,\n\t slice = ArrayProto.slice,\n\t toString = ObjProto.toString,\n\t hasOwnProperty = ObjProto.hasOwnProperty;\n\t\n\t // All **ECMAScript 5** native function implementations that we hope to use\n\t // are declared here.\n\t var\n\t nativeIsArray = Array.isArray,\n\t nativeKeys = Object.keys,\n\t nativeBind = FuncProto.bind,\n\t nativeCreate = Object.create;\n\t\n\t // Naked function reference for surrogate-prototype-swapping.\n\t var Ctor = function(){};\n\t\n\t // Create a safe reference to the Underscore object for use below.\n\t var _ = function(obj) {\n\t if (obj instanceof _) return obj;\n\t if (!(this instanceof _)) return new _(obj);\n\t this._wrapped = obj;\n\t };\n\t\n\t // Export the Underscore object for **Node.js**, with\n\t // backwards-compatibility for the old `require()` API. If we're in\n\t // the browser, add `_` as a global object.\n\t if (true) {\n\t if (typeof module !== 'undefined' && module.exports) {\n\t exports = module.exports = _;\n\t }\n\t exports._ = _;\n\t } else {\n\t root._ = _;\n\t }\n\t\n\t // Current version.\n\t _.VERSION = '1.8.3';\n\t\n\t // Internal function that returns an efficient (for current engines) version\n\t // of the passed-in callback, to be repeatedly applied in other Underscore\n\t // functions.\n\t var optimizeCb = function(func, context, argCount) {\n\t if (context === void 0) return func;\n\t switch (argCount == null ? 3 : argCount) {\n\t case 1: return function(value) {\n\t return func.call(context, value);\n\t };\n\t case 2: return function(value, other) {\n\t return func.call(context, value, other);\n\t };\n\t case 3: return function(value, index, collection) {\n\t return func.call(context, value, index, collection);\n\t };\n\t case 4: return function(accumulator, value, index, collection) {\n\t return func.call(context, accumulator, value, index, collection);\n\t };\n\t }\n\t return function() {\n\t return func.apply(context, arguments);\n\t };\n\t };\n\t\n\t // A mostly-internal function to generate callbacks that can be applied\n\t // to each element in a collection, returning the desired result — either\n\t // identity, an arbitrary callback, a property matcher, or a property accessor.\n\t var cb = function(value, context, argCount) {\n\t if (value == null) return _.identity;\n\t if (_.isFunction(value)) return optimizeCb(value, context, argCount);\n\t if (_.isObject(value)) return _.matcher(value);\n\t return _.property(value);\n\t };\n\t _.iteratee = function(value, context) {\n\t return cb(value, context, Infinity);\n\t };\n\t\n\t // An internal function for creating assigner functions.\n\t var createAssigner = function(keysFunc, undefinedOnly) {\n\t return function(obj) {\n\t var length = arguments.length;\n\t if (length < 2 || obj == null) return obj;\n\t for (var index = 1; index < length; index++) {\n\t var source = arguments[index],\n\t keys = keysFunc(source),\n\t l = keys.length;\n\t for (var i = 0; i < l; i++) {\n\t var key = keys[i];\n\t if (!undefinedOnly || obj[key] === void 0) obj[key] = source[key];\n\t }\n\t }\n\t return obj;\n\t };\n\t };\n\t\n\t // An internal function for creating a new object that inherits from another.\n\t var baseCreate = function(prototype) {\n\t if (!_.isObject(prototype)) return {};\n\t if (nativeCreate) return nativeCreate(prototype);\n\t Ctor.prototype = prototype;\n\t var result = new Ctor;\n\t Ctor.prototype = null;\n\t return result;\n\t };\n\t\n\t var property = function(key) {\n\t return function(obj) {\n\t return obj == null ? void 0 : obj[key];\n\t };\n\t };\n\t\n\t // Helper for collection methods to determine whether a collection\n\t // should be iterated as an array or as an object\n\t // Related: http://people.mozilla.org/~jorendorff/es6-draft.html#sec-tolength\n\t // Avoids a very nasty iOS 8 JIT bug on ARM-64. #2094\n\t var MAX_ARRAY_INDEX = Math.pow(2, 53) - 1;\n\t var getLength = property('length');\n\t var isArrayLike = function(collection) {\n\t var length = getLength(collection);\n\t return typeof length == 'number' && length >= 0 && length <= MAX_ARRAY_INDEX;\n\t };\n\t\n\t // Collection Functions\n\t // --------------------\n\t\n\t // The cornerstone, an `each` implementation, aka `forEach`.\n\t // Handles raw objects in addition to array-likes. Treats all\n\t // sparse array-likes as if they were dense.\n\t _.each = _.forEach = function(obj, iteratee, context) {\n\t iteratee = optimizeCb(iteratee, context);\n\t var i, length;\n\t if (isArrayLike(obj)) {\n\t for (i = 0, length = obj.length; i < length; i++) {\n\t iteratee(obj[i], i, obj);\n\t }\n\t } else {\n\t var keys = _.keys(obj);\n\t for (i = 0, length = keys.length; i < length; i++) {\n\t iteratee(obj[keys[i]], keys[i], obj);\n\t }\n\t }\n\t return obj;\n\t };\n\t\n\t // Return the results of applying the iteratee to each element.\n\t _.map = _.collect = function(obj, iteratee, context) {\n\t iteratee = cb(iteratee, context);\n\t var keys = !isArrayLike(obj) && _.keys(obj),\n\t length = (keys || obj).length,\n\t results = Array(length);\n\t for (var index = 0; index < length; index++) {\n\t var currentKey = keys ? keys[index] : index;\n\t results[index] = iteratee(obj[currentKey], currentKey, obj);\n\t }\n\t return results;\n\t };\n\t\n\t // Create a reducing function iterating left or right.\n\t function createReduce(dir) {\n\t // Optimized iterator function as using arguments.length\n\t // in the main function will deoptimize the, see #1991.\n\t function iterator(obj, iteratee, memo, keys, index, length) {\n\t for (; index >= 0 && index < length; index += dir) {\n\t var currentKey = keys ? keys[index] : index;\n\t memo = iteratee(memo, obj[currentKey], currentKey, obj);\n\t }\n\t return memo;\n\t }\n\t\n\t return function(obj, iteratee, memo, context) {\n\t iteratee = optimizeCb(iteratee, context, 4);\n\t var keys = !isArrayLike(obj) && _.keys(obj),\n\t length = (keys || obj).length,\n\t index = dir > 0 ? 0 : length - 1;\n\t // Determine the initial value if none is provided.\n\t if (arguments.length < 3) {\n\t memo = obj[keys ? keys[index] : index];\n\t index += dir;\n\t }\n\t return iterator(obj, iteratee, memo, keys, index, length);\n\t };\n\t }\n\t\n\t // **Reduce** builds up a single result from a list of values, aka `inject`,\n\t // or `foldl`.\n\t _.reduce = _.foldl = _.inject = createReduce(1);\n\t\n\t // The right-associative version of reduce, also known as `foldr`.\n\t _.reduceRight = _.foldr = createReduce(-1);\n\t\n\t // Return the first value which passes a truth test. Aliased as `detect`.\n\t _.find = _.detect = function(obj, predicate, context) {\n\t var key;\n\t if (isArrayLike(obj)) {\n\t key = _.findIndex(obj, predicate, context);\n\t } else {\n\t key = _.findKey(obj, predicate, context);\n\t }\n\t if (key !== void 0 && key !== -1) return obj[key];\n\t };\n\t\n\t // Return all the elements that pass a truth test.\n\t // Aliased as `select`.\n\t _.filter = _.select = function(obj, predicate, context) {\n\t var results = [];\n\t predicate = cb(predicate, context);\n\t _.each(obj, function(value, index, list) {\n\t if (predicate(value, index, list)) results.push(value);\n\t });\n\t return results;\n\t };\n\t\n\t // Return all the elements for which a truth test fails.\n\t _.reject = function(obj, predicate, context) {\n\t return _.filter(obj, _.negate(cb(predicate)), context);\n\t };\n\t\n\t // Determine whether all of the elements match a truth test.\n\t // Aliased as `all`.\n\t _.every = _.all = function(obj, predicate, context) {\n\t predicate = cb(predicate, context);\n\t var keys = !isArrayLike(obj) && _.keys(obj),\n\t length = (keys || obj).length;\n\t for (var index = 0; index < length; index++) {\n\t var currentKey = keys ? keys[index] : index;\n\t if (!predicate(obj[currentKey], currentKey, obj)) return false;\n\t }\n\t return true;\n\t };\n\t\n\t // Determine if at least one element in the object matches a truth test.\n\t // Aliased as `any`.\n\t _.some = _.any = function(obj, predicate, context) {\n\t predicate = cb(predicate, context);\n\t var keys = !isArrayLike(obj) && _.keys(obj),\n\t length = (keys || obj).length;\n\t for (var index = 0; index < length; index++) {\n\t var currentKey = keys ? keys[index] : index;\n\t if (predicate(obj[currentKey], currentKey, obj)) return true;\n\t }\n\t return false;\n\t };\n\t\n\t // Determine if the array or object contains a given item (using `===`).\n\t // Aliased as `includes` and `include`.\n\t _.contains = _.includes = _.include = function(obj, item, fromIndex, guard) {\n\t if (!isArrayLike(obj)) obj = _.values(obj);\n\t if (typeof fromIndex != 'number' || guard) fromIndex = 0;\n\t return _.indexOf(obj, item, fromIndex) >= 0;\n\t };\n\t\n\t // Invoke a method (with arguments) on every item in a collection.\n\t _.invoke = function(obj, method) {\n\t var args = slice.call(arguments, 2);\n\t var isFunc = _.isFunction(method);\n\t return _.map(obj, function(value) {\n\t var func = isFunc ? method : value[method];\n\t return func == null ? func : func.apply(value, args);\n\t });\n\t };\n\t\n\t // Convenience version of a common use case of `map`: fetching a property.\n\t _.pluck = function(obj, key) {\n\t return _.map(obj, _.property(key));\n\t };\n\t\n\t // Convenience version of a common use case of `filter`: selecting only objects\n\t // containing specific `key:value` pairs.\n\t _.where = function(obj, attrs) {\n\t return _.filter(obj, _.matcher(attrs));\n\t };\n\t\n\t // Convenience version of a common use case of `find`: getting the first object\n\t // containing specific `key:value` pairs.\n\t _.findWhere = function(obj, attrs) {\n\t return _.find(obj, _.matcher(attrs));\n\t };\n\t\n\t // Return the maximum element (or element-based computation).\n\t _.max = function(obj, iteratee, context) {\n\t var result = -Infinity, lastComputed = -Infinity,\n\t value, computed;\n\t if (iteratee == null && obj != null) {\n\t obj = isArrayLike(obj) ? obj : _.values(obj);\n\t for (var i = 0, length = obj.length; i < length; i++) {\n\t value = obj[i];\n\t if (value > result) {\n\t result = value;\n\t }\n\t }\n\t } else {\n\t iteratee = cb(iteratee, context);\n\t _.each(obj, function(value, index, list) {\n\t computed = iteratee(value, index, list);\n\t if (computed > lastComputed || computed === -Infinity && result === -Infinity) {\n\t result = value;\n\t lastComputed = computed;\n\t }\n\t });\n\t }\n\t return result;\n\t };\n\t\n\t // Return the minimum element (or element-based computation).\n\t _.min = function(obj, iteratee, context) {\n\t var result = Infinity, lastComputed = Infinity,\n\t value, computed;\n\t if (iteratee == null && obj != null) {\n\t obj = isArrayLike(obj) ? obj : _.values(obj);\n\t for (var i = 0, length = obj.length; i < length; i++) {\n\t value = obj[i];\n\t if (value < result) {\n\t result = value;\n\t }\n\t }\n\t } else {\n\t iteratee = cb(iteratee, context);\n\t _.each(obj, function(value, index, list) {\n\t computed = iteratee(value, index, list);\n\t if (computed < lastComputed || computed === Infinity && result === Infinity) {\n\t result = value;\n\t lastComputed = computed;\n\t }\n\t });\n\t }\n\t return result;\n\t };\n\t\n\t // Shuffle a collection, using the modern version of the\n\t // [Fisher-Yates shuffle](http://en.wikipedia.org/wiki/Fisher–Yates_shuffle).\n\t _.shuffle = function(obj) {\n\t var set = isArrayLike(obj) ? obj : _.values(obj);\n\t var length = set.length;\n\t var shuffled = Array(length);\n\t for (var index = 0, rand; index < length; index++) {\n\t rand = _.random(0, index);\n\t if (rand !== index) shuffled[index] = shuffled[rand];\n\t shuffled[rand] = set[index];\n\t }\n\t return shuffled;\n\t };\n\t\n\t // Sample **n** random values from a collection.\n\t // If **n** is not specified, returns a single random element.\n\t // The internal `guard` argument allows it to work with `map`.\n\t _.sample = function(obj, n, guard) {\n\t if (n == null || guard) {\n\t if (!isArrayLike(obj)) obj = _.values(obj);\n\t return obj[_.random(obj.length - 1)];\n\t }\n\t return _.shuffle(obj).slice(0, Math.max(0, n));\n\t };\n\t\n\t // Sort the object's values by a criterion produced by an iteratee.\n\t _.sortBy = function(obj, iteratee, context) {\n\t iteratee = cb(iteratee, context);\n\t return _.pluck(_.map(obj, function(value, index, list) {\n\t return {\n\t value: value,\n\t index: index,\n\t criteria: iteratee(value, index, list)\n\t };\n\t }).sort(function(left, right) {\n\t var a = left.criteria;\n\t var b = right.criteria;\n\t if (a !== b) {\n\t if (a > b || a === void 0) return 1;\n\t if (a < b || b === void 0) return -1;\n\t }\n\t return left.index - right.index;\n\t }), 'value');\n\t };\n\t\n\t // An internal function used for aggregate \"group by\" operations.\n\t var group = function(behavior) {\n\t return function(obj, iteratee, context) {\n\t var result = {};\n\t iteratee = cb(iteratee, context);\n\t _.each(obj, function(value, index) {\n\t var key = iteratee(value, index, obj);\n\t behavior(result, value, key);\n\t });\n\t return result;\n\t };\n\t };\n\t\n\t // Groups the object's values by a criterion. Pass either a string attribute\n\t // to group by, or a function that returns the criterion.\n\t _.groupBy = group(function(result, value, key) {\n\t if (_.has(result, key)) result[key].push(value); else result[key] = [value];\n\t });\n\t\n\t // Indexes the object's values by a criterion, similar to `groupBy`, but for\n\t // when you know that your index values will be unique.\n\t _.indexBy = group(function(result, value, key) {\n\t result[key] = value;\n\t });\n\t\n\t // Counts instances of an object that group by a certain criterion. Pass\n\t // either a string attribute to count by, or a function that returns the\n\t // criterion.\n\t _.countBy = group(function(result, value, key) {\n\t if (_.has(result, key)) result[key]++; else result[key] = 1;\n\t });\n\t\n\t // Safely create a real, live array from anything iterable.\n\t _.toArray = function(obj) {\n\t if (!obj) return [];\n\t if (_.isArray(obj)) return slice.call(obj);\n\t if (isArrayLike(obj)) return _.map(obj, _.identity);\n\t return _.values(obj);\n\t };\n\t\n\t // Return the number of elements in an object.\n\t _.size = function(obj) {\n\t if (obj == null) return 0;\n\t return isArrayLike(obj) ? obj.length : _.keys(obj).length;\n\t };\n\t\n\t // Split a collection into two arrays: one whose elements all satisfy the given\n\t // predicate, and one whose elements all do not satisfy the predicate.\n\t _.partition = function(obj, predicate, context) {\n\t predicate = cb(predicate, context);\n\t var pass = [], fail = [];\n\t _.each(obj, function(value, key, obj) {\n\t (predicate(value, key, obj) ? pass : fail).push(value);\n\t });\n\t return [pass, fail];\n\t };\n\t\n\t // Array Functions\n\t // ---------------\n\t\n\t // Get the first element of an array. Passing **n** will return the first N\n\t // values in the array. Aliased as `head` and `take`. The **guard** check\n\t // allows it to work with `_.map`.\n\t _.first = _.head = _.take = function(array, n, guard) {\n\t if (array == null) return void 0;\n\t if (n == null || guard) return array[0];\n\t return _.initial(array, array.length - n);\n\t };\n\t\n\t // Returns everything but the last entry of the array. Especially useful on\n\t // the arguments object. Passing **n** will return all the values in\n\t // the array, excluding the last N.\n\t _.initial = function(array, n, guard) {\n\t return slice.call(array, 0, Math.max(0, array.length - (n == null || guard ? 1 : n)));\n\t };\n\t\n\t // Get the last element of an array. Passing **n** will return the last N\n\t // values in the array.\n\t _.last = function(array, n, guard) {\n\t if (array == null) return void 0;\n\t if (n == null || guard) return array[array.length - 1];\n\t return _.rest(array, Math.max(0, array.length - n));\n\t };\n\t\n\t // Returns everything but the first entry of the array. Aliased as `tail` and `drop`.\n\t // Especially useful on the arguments object. Passing an **n** will return\n\t // the rest N values in the array.\n\t _.rest = _.tail = _.drop = function(array, n, guard) {\n\t return slice.call(array, n == null || guard ? 1 : n);\n\t };\n\t\n\t // Trim out all falsy values from an array.\n\t _.compact = function(array) {\n\t return _.filter(array, _.identity);\n\t };\n\t\n\t // Internal implementation of a recursive `flatten` function.\n\t var flatten = function(input, shallow, strict, startIndex) {\n\t var output = [], idx = 0;\n\t for (var i = startIndex || 0, length = getLength(input); i < length; i++) {\n\t var value = input[i];\n\t if (isArrayLike(value) && (_.isArray(value) || _.isArguments(value))) {\n\t //flatten current level of array or arguments object\n\t if (!shallow) value = flatten(value, shallow, strict);\n\t var j = 0, len = value.length;\n\t output.length += len;\n\t while (j < len) {\n\t output[idx++] = value[j++];\n\t }\n\t } else if (!strict) {\n\t output[idx++] = value;\n\t }\n\t }\n\t return output;\n\t };\n\t\n\t // Flatten out an array, either recursively (by default), or just one level.\n\t _.flatten = function(array, shallow) {\n\t return flatten(array, shallow, false);\n\t };\n\t\n\t // Return a version of the array that does not contain the specified value(s).\n\t _.without = function(array) {\n\t return _.difference(array, slice.call(arguments, 1));\n\t };\n\t\n\t // Produce a duplicate-free version of the array. If the array has already\n\t // been sorted, you have the option of using a faster algorithm.\n\t // Aliased as `unique`.\n\t _.uniq = _.unique = function(array, isSorted, iteratee, context) {\n\t if (!_.isBoolean(isSorted)) {\n\t context = iteratee;\n\t iteratee = isSorted;\n\t isSorted = false;\n\t }\n\t if (iteratee != null) iteratee = cb(iteratee, context);\n\t var result = [];\n\t var seen = [];\n\t for (var i = 0, length = getLength(array); i < length; i++) {\n\t var value = array[i],\n\t computed = iteratee ? iteratee(value, i, array) : value;\n\t if (isSorted) {\n\t if (!i || seen !== computed) result.push(value);\n\t seen = computed;\n\t } else if (iteratee) {\n\t if (!_.contains(seen, computed)) {\n\t seen.push(computed);\n\t result.push(value);\n\t }\n\t } else if (!_.contains(result, value)) {\n\t result.push(value);\n\t }\n\t }\n\t return result;\n\t };\n\t\n\t // Produce an array that contains the union: each distinct element from all of\n\t // the passed-in arrays.\n\t _.union = function() {\n\t return _.uniq(flatten(arguments, true, true));\n\t };\n\t\n\t // Produce an array that contains every item shared between all the\n\t // passed-in arrays.\n\t _.intersection = function(array) {\n\t var result = [];\n\t var argsLength = arguments.length;\n\t for (var i = 0, length = getLength(array); i < length; i++) {\n\t var item = array[i];\n\t if (_.contains(result, item)) continue;\n\t for (var j = 1; j < argsLength; j++) {\n\t if (!_.contains(arguments[j], item)) break;\n\t }\n\t if (j === argsLength) result.push(item);\n\t }\n\t return result;\n\t };\n\t\n\t // Take the difference between one array and a number of other arrays.\n\t // Only the elements present in just the first array will remain.\n\t _.difference = function(array) {\n\t var rest = flatten(arguments, true, true, 1);\n\t return _.filter(array, function(value){\n\t return !_.contains(rest, value);\n\t });\n\t };\n\t\n\t // Zip together multiple lists into a single array -- elements that share\n\t // an index go together.\n\t _.zip = function() {\n\t return _.unzip(arguments);\n\t };\n\t\n\t // Complement of _.zip. Unzip accepts an array of arrays and groups\n\t // each array's elements on shared indices\n\t _.unzip = function(array) {\n\t var length = array && _.max(array, getLength).length || 0;\n\t var result = Array(length);\n\t\n\t for (var index = 0; index < length; index++) {\n\t result[index] = _.pluck(array, index);\n\t }\n\t return result;\n\t };\n\t\n\t // Converts lists into objects. Pass either a single array of `[key, value]`\n\t // pairs, or two parallel arrays of the same length -- one of keys, and one of\n\t // the corresponding values.\n\t _.object = function(list, values) {\n\t var result = {};\n\t for (var i = 0, length = getLength(list); i < length; i++) {\n\t if (values) {\n\t result[list[i]] = values[i];\n\t } else {\n\t result[list[i][0]] = list[i][1];\n\t }\n\t }\n\t return result;\n\t };\n\t\n\t // Generator function to create the findIndex and findLastIndex functions\n\t function createPredicateIndexFinder(dir) {\n\t return function(array, predicate, context) {\n\t predicate = cb(predicate, context);\n\t var length = getLength(array);\n\t var index = dir > 0 ? 0 : length - 1;\n\t for (; index >= 0 && index < length; index += dir) {\n\t if (predicate(array[index], index, array)) return index;\n\t }\n\t return -1;\n\t };\n\t }\n\t\n\t // Returns the first index on an array-like that passes a predicate test\n\t _.findIndex = createPredicateIndexFinder(1);\n\t _.findLastIndex = createPredicateIndexFinder(-1);\n\t\n\t // Use a comparator function to figure out the smallest index at which\n\t // an object should be inserted so as to maintain order. Uses binary search.\n\t _.sortedIndex = function(array, obj, iteratee, context) {\n\t iteratee = cb(iteratee, context, 1);\n\t var value = iteratee(obj);\n\t var low = 0, high = getLength(array);\n\t while (low < high) {\n\t var mid = Math.floor((low + high) / 2);\n\t if (iteratee(array[mid]) < value) low = mid + 1; else high = mid;\n\t }\n\t return low;\n\t };\n\t\n\t // Generator function to create the indexOf and lastIndexOf functions\n\t function createIndexFinder(dir, predicateFind, sortedIndex) {\n\t return function(array, item, idx) {\n\t var i = 0, length = getLength(array);\n\t if (typeof idx == 'number') {\n\t if (dir > 0) {\n\t i = idx >= 0 ? idx : Math.max(idx + length, i);\n\t } else {\n\t length = idx >= 0 ? Math.min(idx + 1, length) : idx + length + 1;\n\t }\n\t } else if (sortedIndex && idx && length) {\n\t idx = sortedIndex(array, item);\n\t return array[idx] === item ? idx : -1;\n\t }\n\t if (item !== item) {\n\t idx = predicateFind(slice.call(array, i, length), _.isNaN);\n\t return idx >= 0 ? idx + i : -1;\n\t }\n\t for (idx = dir > 0 ? i : length - 1; idx >= 0 && idx < length; idx += dir) {\n\t if (array[idx] === item) return idx;\n\t }\n\t return -1;\n\t };\n\t }\n\t\n\t // Return the position of the first occurrence of an item in an array,\n\t // or -1 if the item is not included in the array.\n\t // If the array is large and already in sort order, pass `true`\n\t // for **isSorted** to use binary search.\n\t _.indexOf = createIndexFinder(1, _.findIndex, _.sortedIndex);\n\t _.lastIndexOf = createIndexFinder(-1, _.findLastIndex);\n\t\n\t // Generate an integer Array containing an arithmetic progression. A port of\n\t // the native Python `range()` function. See\n\t // [the Python documentation](http://docs.python.org/library/functions.html#range).\n\t _.range = function(start, stop, step) {\n\t if (stop == null) {\n\t stop = start || 0;\n\t start = 0;\n\t }\n\t step = step || 1;\n\t\n\t var length = Math.max(Math.ceil((stop - start) / step), 0);\n\t var range = Array(length);\n\t\n\t for (var idx = 0; idx < length; idx++, start += step) {\n\t range[idx] = start;\n\t }\n\t\n\t return range;\n\t };\n\t\n\t // Function (ahem) Functions\n\t // ------------------\n\t\n\t // Determines whether to execute a function as a constructor\n\t // or a normal function with the provided arguments\n\t var executeBound = function(sourceFunc, boundFunc, context, callingContext, args) {\n\t if (!(callingContext instanceof boundFunc)) return sourceFunc.apply(context, args);\n\t var self = baseCreate(sourceFunc.prototype);\n\t var result = sourceFunc.apply(self, args);\n\t if (_.isObject(result)) return result;\n\t return self;\n\t };\n\t\n\t // Create a function bound to a given object (assigning `this`, and arguments,\n\t // optionally). Delegates to **ECMAScript 5**'s native `Function.bind` if\n\t // available.\n\t _.bind = function(func, context) {\n\t if (nativeBind && func.bind === nativeBind) return nativeBind.apply(func, slice.call(arguments, 1));\n\t if (!_.isFunction(func)) throw new TypeError('Bind must be called on a function');\n\t var args = slice.call(arguments, 2);\n\t var bound = function() {\n\t return executeBound(func, bound, context, this, args.concat(slice.call(arguments)));\n\t };\n\t return bound;\n\t };\n\t\n\t // Partially apply a function by creating a version that has had some of its\n\t // arguments pre-filled, without changing its dynamic `this` context. _ acts\n\t // as a placeholder, allowing any combination of arguments to be pre-filled.\n\t _.partial = function(func) {\n\t var boundArgs = slice.call(arguments, 1);\n\t var bound = function() {\n\t var position = 0, length = boundArgs.length;\n\t var args = Array(length);\n\t for (var i = 0; i < length; i++) {\n\t args[i] = boundArgs[i] === _ ? arguments[position++] : boundArgs[i];\n\t }\n\t while (position < arguments.length) args.push(arguments[position++]);\n\t return executeBound(func, bound, this, this, args);\n\t };\n\t return bound;\n\t };\n\t\n\t // Bind a number of an object's methods to that object. Remaining arguments\n\t // are the method names to be bound. Useful for ensuring that all callbacks\n\t // defined on an object belong to it.\n\t _.bindAll = function(obj) {\n\t var i, length = arguments.length, key;\n\t if (length <= 1) throw new Error('bindAll must be passed function names');\n\t for (i = 1; i < length; i++) {\n\t key = arguments[i];\n\t obj[key] = _.bind(obj[key], obj);\n\t }\n\t return obj;\n\t };\n\t\n\t // Memoize an expensive function by storing its results.\n\t _.memoize = function(func, hasher) {\n\t var memoize = function(key) {\n\t var cache = memoize.cache;\n\t var address = '' + (hasher ? hasher.apply(this, arguments) : key);\n\t if (!_.has(cache, address)) cache[address] = func.apply(this, arguments);\n\t return cache[address];\n\t };\n\t memoize.cache = {};\n\t return memoize;\n\t };\n\t\n\t // Delays a function for the given number of milliseconds, and then calls\n\t // it with the arguments supplied.\n\t _.delay = function(func, wait) {\n\t var args = slice.call(arguments, 2);\n\t return setTimeout(function(){\n\t return func.apply(null, args);\n\t }, wait);\n\t };\n\t\n\t // Defers a function, scheduling it to run after the current call stack has\n\t // cleared.\n\t _.defer = _.partial(_.delay, _, 1);\n\t\n\t // Returns a function, that, when invoked, will only be triggered at most once\n\t // during a given window of time. Normally, the throttled function will run\n\t // as much as it can, without ever going more than once per `wait` duration;\n\t // but if you'd like to disable the execution on the leading edge, pass\n\t // `{leading: false}`. To disable execution on the trailing edge, ditto.\n\t _.throttle = function(func, wait, options) {\n\t var context, args, result;\n\t var timeout = null;\n\t var previous = 0;\n\t if (!options) options = {};\n\t var later = function() {\n\t previous = options.leading === false ? 0 : _.now();\n\t timeout = null;\n\t result = func.apply(context, args);\n\t if (!timeout) context = args = null;\n\t };\n\t return function() {\n\t var now = _.now();\n\t if (!previous && options.leading === false) previous = now;\n\t var remaining = wait - (now - previous);\n\t context = this;\n\t args = arguments;\n\t if (remaining <= 0 || remaining > wait) {\n\t if (timeout) {\n\t clearTimeout(timeout);\n\t timeout = null;\n\t }\n\t previous = now;\n\t result = func.apply(context, args);\n\t if (!timeout) context = args = null;\n\t } else if (!timeout && options.trailing !== false) {\n\t timeout = setTimeout(later, remaining);\n\t }\n\t return result;\n\t };\n\t };\n\t\n\t // Returns a function, that, as long as it continues to be invoked, will not\n\t // be triggered. The function will be called after it stops being called for\n\t // N milliseconds. If `immediate` is passed, trigger the function on the\n\t // leading edge, instead of the trailing.\n\t _.debounce = function(func, wait, immediate) {\n\t var timeout, args, context, timestamp, result;\n\t\n\t var later = function() {\n\t var last = _.now() - timestamp;\n\t\n\t if (last < wait && last >= 0) {\n\t timeout = setTimeout(later, wait - last);\n\t } else {\n\t timeout = null;\n\t if (!immediate) {\n\t result = func.apply(context, args);\n\t if (!timeout) context = args = null;\n\t }\n\t }\n\t };\n\t\n\t return function() {\n\t context = this;\n\t args = arguments;\n\t timestamp = _.now();\n\t var callNow = immediate && !timeout;\n\t if (!timeout) timeout = setTimeout(later, wait);\n\t if (callNow) {\n\t result = func.apply(context, args);\n\t context = args = null;\n\t }\n\t\n\t return result;\n\t };\n\t };\n\t\n\t // Returns the first function passed as an argument to the second,\n\t // allowing you to adjust arguments, run code before and after, and\n\t // conditionally execute the original function.\n\t _.wrap = function(func, wrapper) {\n\t return _.partial(wrapper, func);\n\t };\n\t\n\t // Returns a negated version of the passed-in predicate.\n\t _.negate = function(predicate) {\n\t return function() {\n\t return !predicate.apply(this, arguments);\n\t };\n\t };\n\t\n\t // Returns a function that is the composition of a list of functions, each\n\t // consuming the return value of the function that follows.\n\t _.compose = function() {\n\t var args = arguments;\n\t var start = args.length - 1;\n\t return function() {\n\t var i = start;\n\t var result = args[start].apply(this, arguments);\n\t while (i--) result = args[i].call(this, result);\n\t return result;\n\t };\n\t };\n\t\n\t // Returns a function that will only be executed on and after the Nth call.\n\t _.after = function(times, func) {\n\t return function() {\n\t if (--times < 1) {\n\t return func.apply(this, arguments);\n\t }\n\t };\n\t };\n\t\n\t // Returns a function that will only be executed up to (but not including) the Nth call.\n\t _.before = function(times, func) {\n\t var memo;\n\t return function() {\n\t if (--times > 0) {\n\t memo = func.apply(this, arguments);\n\t }\n\t if (times <= 1) func = null;\n\t return memo;\n\t };\n\t };\n\t\n\t // Returns a function that will be executed at most one time, no matter how\n\t // often you call it. Useful for lazy initialization.\n\t _.once = _.partial(_.before, 2);\n\t\n\t // Object Functions\n\t // ----------------\n\t\n\t // Keys in IE < 9 that won't be iterated by `for key in ...` and thus missed.\n\t var hasEnumBug = !{toString: null}.propertyIsEnumerable('toString');\n\t var nonEnumerableProps = ['valueOf', 'isPrototypeOf', 'toString',\n\t 'propertyIsEnumerable', 'hasOwnProperty', 'toLocaleString'];\n\t\n\t function collectNonEnumProps(obj, keys) {\n\t var nonEnumIdx = nonEnumerableProps.length;\n\t var constructor = obj.constructor;\n\t var proto = (_.isFunction(constructor) && constructor.prototype) || ObjProto;\n\t\n\t // Constructor is a special case.\n\t var prop = 'constructor';\n\t if (_.has(obj, prop) && !_.contains(keys, prop)) keys.push(prop);\n\t\n\t while (nonEnumIdx--) {\n\t prop = nonEnumerableProps[nonEnumIdx];\n\t if (prop in obj && obj[prop] !== proto[prop] && !_.contains(keys, prop)) {\n\t keys.push(prop);\n\t }\n\t }\n\t }\n\t\n\t // Retrieve the names of an object's own properties.\n\t // Delegates to **ECMAScript 5**'s native `Object.keys`\n\t _.keys = function(obj) {\n\t if (!_.isObject(obj)) return [];\n\t if (nativeKeys) return nativeKeys(obj);\n\t var keys = [];\n\t for (var key in obj) if (_.has(obj, key)) keys.push(key);\n\t // Ahem, IE < 9.\n\t if (hasEnumBug) collectNonEnumProps(obj, keys);\n\t return keys;\n\t };\n\t\n\t // Retrieve all the property names of an object.\n\t _.allKeys = function(obj) {\n\t if (!_.isObject(obj)) return [];\n\t var keys = [];\n\t for (var key in obj) keys.push(key);\n\t // Ahem, IE < 9.\n\t if (hasEnumBug) collectNonEnumProps(obj, keys);\n\t return keys;\n\t };\n\t\n\t // Retrieve the values of an object's properties.\n\t _.values = function(obj) {\n\t var keys = _.keys(obj);\n\t var length = keys.length;\n\t var values = Array(length);\n\t for (var i = 0; i < length; i++) {\n\t values[i] = obj[keys[i]];\n\t }\n\t return values;\n\t };\n\t\n\t // Returns the results of applying the iteratee to each element of the object\n\t // In contrast to _.map it returns an object\n\t _.mapObject = function(obj, iteratee, context) {\n\t iteratee = cb(iteratee, context);\n\t var keys = _.keys(obj),\n\t length = keys.length,\n\t results = {},\n\t currentKey;\n\t for (var index = 0; index < length; index++) {\n\t currentKey = keys[index];\n\t results[currentKey] = iteratee(obj[currentKey], currentKey, obj);\n\t }\n\t return results;\n\t };\n\t\n\t // Convert an object into a list of `[key, value]` pairs.\n\t _.pairs = function(obj) {\n\t var keys = _.keys(obj);\n\t var length = keys.length;\n\t var pairs = Array(length);\n\t for (var i = 0; i < length; i++) {\n\t pairs[i] = [keys[i], obj[keys[i]]];\n\t }\n\t return pairs;\n\t };\n\t\n\t // Invert the keys and values of an object. The values must be serializable.\n\t _.invert = function(obj) {\n\t var result = {};\n\t var keys = _.keys(obj);\n\t for (var i = 0, length = keys.length; i < length; i++) {\n\t result[obj[keys[i]]] = keys[i];\n\t }\n\t return result;\n\t };\n\t\n\t // Return a sorted list of the function names available on the object.\n\t // Aliased as `methods`\n\t _.functions = _.methods = function(obj) {\n\t var names = [];\n\t for (var key in obj) {\n\t if (_.isFunction(obj[key])) names.push(key);\n\t }\n\t return names.sort();\n\t };\n\t\n\t // Extend a given object with all the properties in passed-in object(s).\n\t _.extend = createAssigner(_.allKeys);\n\t\n\t // Assigns a given object with all the own properties in the passed-in object(s)\n\t // (https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object/assign)\n\t _.extendOwn = _.assign = createAssigner(_.keys);\n\t\n\t // Returns the first key on an object that passes a predicate test\n\t _.findKey = function(obj, predicate, context) {\n\t predicate = cb(predicate, context);\n\t var keys = _.keys(obj), key;\n\t for (var i = 0, length = keys.length; i < length; i++) {\n\t key = keys[i];\n\t if (predicate(obj[key], key, obj)) return key;\n\t }\n\t };\n\t\n\t // Return a copy of the object only containing the whitelisted properties.\n\t _.pick = function(object, oiteratee, context) {\n\t var result = {}, obj = object, iteratee, keys;\n\t if (obj == null) return result;\n\t if (_.isFunction(oiteratee)) {\n\t keys = _.allKeys(obj);\n\t iteratee = optimizeCb(oiteratee, context);\n\t } else {\n\t keys = flatten(arguments, false, false, 1);\n\t iteratee = function(value, key, obj) { return key in obj; };\n\t obj = Object(obj);\n\t }\n\t for (var i = 0, length = keys.length; i < length; i++) {\n\t var key = keys[i];\n\t var value = obj[key];\n\t if (iteratee(value, key, obj)) result[key] = value;\n\t }\n\t return result;\n\t };\n\t\n\t // Return a copy of the object without the blacklisted properties.\n\t _.omit = function(obj, iteratee, context) {\n\t if (_.isFunction(iteratee)) {\n\t iteratee = _.negate(iteratee);\n\t } else {\n\t var keys = _.map(flatten(arguments, false, false, 1), String);\n\t iteratee = function(value, key) {\n\t return !_.contains(keys, key);\n\t };\n\t }\n\t return _.pick(obj, iteratee, context);\n\t };\n\t\n\t // Fill in a given object with default properties.\n\t _.defaults = createAssigner(_.allKeys, true);\n\t\n\t // Creates an object that inherits from the given prototype object.\n\t // If additional properties are provided then they will be added to the\n\t // created object.\n\t _.create = function(prototype, props) {\n\t var result = baseCreate(prototype);\n\t if (props) _.extendOwn(result, props);\n\t return result;\n\t };\n\t\n\t // Create a (shallow-cloned) duplicate of an object.\n\t _.clone = function(obj) {\n\t if (!_.isObject(obj)) return obj;\n\t return _.isArray(obj) ? obj.slice() : _.extend({}, obj);\n\t };\n\t\n\t // Invokes interceptor with the obj, and then returns obj.\n\t // The primary purpose of this method is to \"tap into\" a method chain, in\n\t // order to perform operations on intermediate results within the chain.\n\t _.tap = function(obj, interceptor) {\n\t interceptor(obj);\n\t return obj;\n\t };\n\t\n\t // Returns whether an object has a given set of `key:value` pairs.\n\t _.isMatch = function(object, attrs) {\n\t var keys = _.keys(attrs), length = keys.length;\n\t if (object == null) return !length;\n\t var obj = Object(object);\n\t for (var i = 0; i < length; i++) {\n\t var key = keys[i];\n\t if (attrs[key] !== obj[key] || !(key in obj)) return false;\n\t }\n\t return true;\n\t };\n\t\n\t\n\t // Internal recursive comparison function for `isEqual`.\n\t var eq = function(a, b, aStack, bStack) {\n\t // Identical objects are equal. `0 === -0`, but they aren't identical.\n\t // See the [Harmony `egal` proposal](http://wiki.ecmascript.org/doku.php?id=harmony:egal).\n\t if (a === b) return a !== 0 || 1 / a === 1 / b;\n\t // A strict comparison is necessary because `null == undefined`.\n\t if (a == null || b == null) return a === b;\n\t // Unwrap any wrapped objects.\n\t if (a instanceof _) a = a._wrapped;\n\t if (b instanceof _) b = b._wrapped;\n\t // Compare `[[Class]]` names.\n\t var className = toString.call(a);\n\t if (className !== toString.call(b)) return false;\n\t switch (className) {\n\t // Strings, numbers, regular expressions, dates, and booleans are compared by value.\n\t case '[object RegExp]':\n\t // RegExps are coerced to strings for comparison (Note: '' + /a/i === '/a/i')\n\t case '[object String]':\n\t // Primitives and their corresponding object wrappers are equivalent; thus, `\"5\"` is\n\t // equivalent to `new String(\"5\")`.\n\t return '' + a === '' + b;\n\t case '[object Number]':\n\t // `NaN`s are equivalent, but non-reflexive.\n\t // Object(NaN) is equivalent to NaN\n\t if (+a !== +a) return +b !== +b;\n\t // An `egal` comparison is performed for other numeric values.\n\t return +a === 0 ? 1 / +a === 1 / b : +a === +b;\n\t case '[object Date]':\n\t case '[object Boolean]':\n\t // Coerce dates and booleans to numeric primitive values. Dates are compared by their\n\t // millisecond representations. Note that invalid dates with millisecond representations\n\t // of `NaN` are not equivalent.\n\t return +a === +b;\n\t }\n\t\n\t var areArrays = className === '[object Array]';\n\t if (!areArrays) {\n\t if (typeof a != 'object' || typeof b != 'object') return false;\n\t\n\t // Objects with different constructors are not equivalent, but `Object`s or `Array`s\n\t // from different frames are.\n\t var aCtor = a.constructor, bCtor = b.constructor;\n\t if (aCtor !== bCtor && !(_.isFunction(aCtor) && aCtor instanceof aCtor &&\n\t _.isFunction(bCtor) && bCtor instanceof bCtor)\n\t && ('constructor' in a && 'constructor' in b)) {\n\t return false;\n\t }\n\t }\n\t // Assume equality for cyclic structures. The algorithm for detecting cyclic\n\t // structures is adapted from ES 5.1 section 15.12.3, abstract operation `JO`.\n\t\n\t // Initializing stack of traversed objects.\n\t // It's done here since we only need them for objects and arrays comparison.\n\t aStack = aStack || [];\n\t bStack = bStack || [];\n\t var length = aStack.length;\n\t while (length--) {\n\t // Linear search. Performance is inversely proportional to the number of\n\t // unique nested structures.\n\t if (aStack[length] === a) return bStack[length] === b;\n\t }\n\t\n\t // Add the first object to the stack of traversed objects.\n\t aStack.push(a);\n\t bStack.push(b);\n\t\n\t // Recursively compare objects and arrays.\n\t if (areArrays) {\n\t // Compare array lengths to determine if a deep comparison is necessary.\n\t length = a.length;\n\t if (length !== b.length) return false;\n\t // Deep compare the contents, ignoring non-numeric properties.\n\t while (length--) {\n\t if (!eq(a[length], b[length], aStack, bStack)) return false;\n\t }\n\t } else {\n\t // Deep compare objects.\n\t var keys = _.keys(a), key;\n\t length = keys.length;\n\t // Ensure that both objects contain the same number of properties before comparing deep equality.\n\t if (_.keys(b).length !== length) return false;\n\t while (length--) {\n\t // Deep compare each member\n\t key = keys[length];\n\t if (!(_.has(b, key) && eq(a[key], b[key], aStack, bStack))) return false;\n\t }\n\t }\n\t // Remove the first object from the stack of traversed objects.\n\t aStack.pop();\n\t bStack.pop();\n\t return true;\n\t };\n\t\n\t // Perform a deep comparison to check if two objects are equal.\n\t _.isEqual = function(a, b) {\n\t return eq(a, b);\n\t };\n\t\n\t // Is a given array, string, or object empty?\n\t // An \"empty\" object has no enumerable own-properties.\n\t _.isEmpty = function(obj) {\n\t if (obj == null) return true;\n\t if (isArrayLike(obj) && (_.isArray(obj) || _.isString(obj) || _.isArguments(obj))) return obj.length === 0;\n\t return _.keys(obj).length === 0;\n\t };\n\t\n\t // Is a given value a DOM element?\n\t _.isElement = function(obj) {\n\t return !!(obj && obj.nodeType === 1);\n\t };\n\t\n\t // Is a given value an array?\n\t // Delegates to ECMA5's native Array.isArray\n\t _.isArray = nativeIsArray || function(obj) {\n\t return toString.call(obj) === '[object Array]';\n\t };\n\t\n\t // Is a given variable an object?\n\t _.isObject = function(obj) {\n\t var type = typeof obj;\n\t return type === 'function' || type === 'object' && !!obj;\n\t };\n\t\n\t // Add some isType methods: isArguments, isFunction, isString, isNumber, isDate, isRegExp, isError.\n\t _.each(['Arguments', 'Function', 'String', 'Number', 'Date', 'RegExp', 'Error'], function(name) {\n\t _['is' + name] = function(obj) {\n\t return toString.call(obj) === '[object ' + name + ']';\n\t };\n\t });\n\t\n\t // Define a fallback version of the method in browsers (ahem, IE < 9), where\n\t // there isn't any inspectable \"Arguments\" type.\n\t if (!_.isArguments(arguments)) {\n\t _.isArguments = function(obj) {\n\t return _.has(obj, 'callee');\n\t };\n\t }\n\t\n\t // Optimize `isFunction` if appropriate. Work around some typeof bugs in old v8,\n\t // IE 11 (#1621), and in Safari 8 (#1929).\n\t if (typeof /./ != 'function' && typeof Int8Array != 'object') {\n\t _.isFunction = function(obj) {\n\t return typeof obj == 'function' || false;\n\t };\n\t }\n\t\n\t // Is a given object a finite number?\n\t _.isFinite = function(obj) {\n\t return isFinite(obj) && !isNaN(parseFloat(obj));\n\t };\n\t\n\t // Is the given value `NaN`? (NaN is the only number which does not equal itself).\n\t _.isNaN = function(obj) {\n\t return _.isNumber(obj) && obj !== +obj;\n\t };\n\t\n\t // Is a given value a boolean?\n\t _.isBoolean = function(obj) {\n\t return obj === true || obj === false || toString.call(obj) === '[object Boolean]';\n\t };\n\t\n\t // Is a given value equal to null?\n\t _.isNull = function(obj) {\n\t return obj === null;\n\t };\n\t\n\t // Is a given variable undefined?\n\t _.isUndefined = function(obj) {\n\t return obj === void 0;\n\t };\n\t\n\t // Shortcut function for checking if an object has a given property directly\n\t // on itself (in other words, not on a prototype).\n\t _.has = function(obj, key) {\n\t return obj != null && hasOwnProperty.call(obj, key);\n\t };\n\t\n\t // Utility Functions\n\t // -----------------\n\t\n\t // Run Underscore.js in *noConflict* mode, returning the `_` variable to its\n\t // previous owner. Returns a reference to the Underscore object.\n\t _.noConflict = function() {\n\t root._ = previousUnderscore;\n\t return this;\n\t };\n\t\n\t // Keep the identity function around for default iteratees.\n\t _.identity = function(value) {\n\t return value;\n\t };\n\t\n\t // Predicate-generating functions. Often useful outside of Underscore.\n\t _.constant = function(value) {\n\t return function() {\n\t return value;\n\t };\n\t };\n\t\n\t _.noop = function(){};\n\t\n\t _.property = property;\n\t\n\t // Generates a function for a given object that returns a given property.\n\t _.propertyOf = function(obj) {\n\t return obj == null ? function(){} : function(key) {\n\t return obj[key];\n\t };\n\t };\n\t\n\t // Returns a predicate for checking whether an object has a given set of\n\t // `key:value` pairs.\n\t _.matcher = _.matches = function(attrs) {\n\t attrs = _.extendOwn({}, attrs);\n\t return function(obj) {\n\t return _.isMatch(obj, attrs);\n\t };\n\t };\n\t\n\t // Run a function **n** times.\n\t _.times = function(n, iteratee, context) {\n\t var accum = Array(Math.max(0, n));\n\t iteratee = optimizeCb(iteratee, context, 1);\n\t for (var i = 0; i < n; i++) accum[i] = iteratee(i);\n\t return accum;\n\t };\n\t\n\t // Return a random integer between min and max (inclusive).\n\t _.random = function(min, max) {\n\t if (max == null) {\n\t max = min;\n\t min = 0;\n\t }\n\t return min + Math.floor(Math.random() * (max - min + 1));\n\t };\n\t\n\t // A (possibly faster) way to get the current timestamp as an integer.\n\t _.now = Date.now || function() {\n\t return new Date().getTime();\n\t };\n\t\n\t // List of HTML entities for escaping.\n\t var escapeMap = {\n\t '&': '&',\n\t '<': '<',\n\t '>': '>',\n\t '\"': '"',\n\t \"'\": ''',\n\t '`': '`'\n\t };\n\t var unescapeMap = _.invert(escapeMap);\n\t\n\t // Functions for escaping and unescaping strings to/from HTML interpolation.\n\t var createEscaper = function(map) {\n\t var escaper = function(match) {\n\t return map[match];\n\t };\n\t // Regexes for identifying a key that needs to be escaped\n\t var source = '(?:' + _.keys(map).join('|') + ')';\n\t var testRegexp = RegExp(source);\n\t var replaceRegexp = RegExp(source, 'g');\n\t return function(string) {\n\t string = string == null ? '' : '' + string;\n\t return testRegexp.test(string) ? string.replace(replaceRegexp, escaper) : string;\n\t };\n\t };\n\t _.escape = createEscaper(escapeMap);\n\t _.unescape = createEscaper(unescapeMap);\n\t\n\t // If the value of the named `property` is a function then invoke it with the\n\t // `object` as context; otherwise, return it.\n\t _.result = function(object, property, fallback) {\n\t var value = object == null ? void 0 : object[property];\n\t if (value === void 0) {\n\t value = fallback;\n\t }\n\t return _.isFunction(value) ? value.call(object) : value;\n\t };\n\t\n\t // Generate a unique integer id (unique within the entire client session).\n\t // Useful for temporary DOM ids.\n\t var idCounter = 0;\n\t _.uniqueId = function(prefix) {\n\t var id = ++idCounter + '';\n\t return prefix ? prefix + id : id;\n\t };\n\t\n\t // By default, Underscore uses ERB-style template delimiters, change the\n\t // following template settings to use alternative delimiters.\n\t _.templateSettings = {\n\t evaluate : /<%([\\s\\S]+?)%>/g,\n\t interpolate : /<%=([\\s\\S]+?)%>/g,\n\t escape : /<%-([\\s\\S]+?)%>/g\n\t };\n\t\n\t // When customizing `templateSettings`, if you don't want to define an\n\t // interpolation, evaluation or escaping regex, we need one that is\n\t // guaranteed not to match.\n\t var noMatch = /(.)^/;\n\t\n\t // Certain characters need to be escaped so that they can be put into a\n\t // string literal.\n\t var escapes = {\n\t \"'\": \"'\",\n\t '\\\\': '\\\\',\n\t '\\r': 'r',\n\t '\\n': 'n',\n\t '\\u2028': 'u2028',\n\t '\\u2029': 'u2029'\n\t };\n\t\n\t var escaper = /\\\\|'|\\r|\\n|\\u2028|\\u2029/g;\n\t\n\t var escapeChar = function(match) {\n\t return '\\\\' + escapes[match];\n\t };\n\t\n\t // JavaScript micro-templating, similar to John Resig's implementation.\n\t // Underscore templating handles arbitrary delimiters, preserves whitespace,\n\t // and correctly escapes quotes within interpolated code.\n\t // NB: `oldSettings` only exists for backwards compatibility.\n\t _.template = function(text, settings, oldSettings) {\n\t if (!settings && oldSettings) settings = oldSettings;\n\t settings = _.defaults({}, settings, _.templateSettings);\n\t\n\t // Combine delimiters into one regular expression via alternation.\n\t var matcher = RegExp([\n\t (settings.escape || noMatch).source,\n\t (settings.interpolate || noMatch).source,\n\t (settings.evaluate || noMatch).source\n\t ].join('|') + '|$', 'g');\n\t\n\t // Compile the template source, escaping string literals appropriately.\n\t var index = 0;\n\t var source = \"__p+='\";\n\t text.replace(matcher, function(match, escape, interpolate, evaluate, offset) {\n\t source += text.slice(index, offset).replace(escaper, escapeChar);\n\t index = offset + match.length;\n\t\n\t if (escape) {\n\t source += \"'+\\n((__t=(\" + escape + \"))==null?'':_.escape(__t))+\\n'\";\n\t } else if (interpolate) {\n\t source += \"'+\\n((__t=(\" + interpolate + \"))==null?'':__t)+\\n'\";\n\t } else if (evaluate) {\n\t source += \"';\\n\" + evaluate + \"\\n__p+='\";\n\t }\n\t\n\t // Adobe VMs need the match returned to produce the correct offest.\n\t return match;\n\t });\n\t source += \"';\\n\";\n\t\n\t // If a variable is not specified, place data values in local scope.\n\t if (!settings.variable) source = 'with(obj||{}){\\n' + source + '}\\n';\n\t\n\t source = \"var __t,__p='',__j=Array.prototype.join,\" +\n\t \"print=function(){__p+=__j.call(arguments,'');};\\n\" +\n\t source + 'return __p;\\n';\n\t\n\t try {\n\t var render = new Function(settings.variable || 'obj', '_', source);\n\t } catch (e) {\n\t e.source = source;\n\t throw e;\n\t }\n\t\n\t var template = function(data) {\n\t return render.call(this, data, _);\n\t };\n\t\n\t // Provide the compiled source as a convenience for precompilation.\n\t var argument = settings.variable || 'obj';\n\t template.source = 'function(' + argument + '){\\n' + source + '}';\n\t\n\t return template;\n\t };\n\t\n\t // Add a \"chain\" function. Start chaining a wrapped Underscore object.\n\t _.chain = function(obj) {\n\t var instance = _(obj);\n\t instance._chain = true;\n\t return instance;\n\t };\n\t\n\t // OOP\n\t // ---------------\n\t // If Underscore is called as a function, it returns a wrapped object that\n\t // can be used OO-style. This wrapper holds altered versions of all the\n\t // underscore functions. Wrapped objects may be chained.\n\t\n\t // Helper function to continue chaining intermediate results.\n\t var result = function(instance, obj) {\n\t return instance._chain ? _(obj).chain() : obj;\n\t };\n\t\n\t // Add your own custom functions to the Underscore object.\n\t _.mixin = function(obj) {\n\t _.each(_.functions(obj), function(name) {\n\t var func = _[name] = obj[name];\n\t _.prototype[name] = function() {\n\t var args = [this._wrapped];\n\t push.apply(args, arguments);\n\t return result(this, func.apply(_, args));\n\t };\n\t });\n\t };\n\t\n\t // Add all of the Underscore functions to the wrapper object.\n\t _.mixin(_);\n\t\n\t // Add all mutator Array functions to the wrapper.\n\t _.each(['pop', 'push', 'reverse', 'shift', 'sort', 'splice', 'unshift'], function(name) {\n\t var method = ArrayProto[name];\n\t _.prototype[name] = function() {\n\t var obj = this._wrapped;\n\t method.apply(obj, arguments);\n\t if ((name === 'shift' || name === 'splice') && obj.length === 0) delete obj[0];\n\t return result(this, obj);\n\t };\n\t });\n\t\n\t // Add all accessor Array functions to the wrapper.\n\t _.each(['concat', 'join', 'slice'], function(name) {\n\t var method = ArrayProto[name];\n\t _.prototype[name] = function() {\n\t return result(this, method.apply(this._wrapped, arguments));\n\t };\n\t });\n\t\n\t // Extracts the result from a wrapped and chained object.\n\t _.prototype.value = function() {\n\t return this._wrapped;\n\t };\n\t\n\t // Provide unwrapping proxy for some methods used in engine operations\n\t // such as arithmetic and JSON stringification.\n\t _.prototype.valueOf = _.prototype.toJSON = _.prototype.value;\n\t\n\t _.prototype.toString = function() {\n\t return '' + this._wrapped;\n\t };\n\t\n\t // AMD registration happens at the end for compatibility with AMD loaders\n\t // that may not enforce next-turn semantics on modules. Even though general\n\t // practice for AMD registration is to be anonymous, underscore registers\n\t // as a named module because, like jQuery, it is a base library that is\n\t // popular enough to be bundled in a third party lib, but not be part of\n\t // an AMD load request. Those cases could generate an error when an\n\t // anonymous define() is called outside of a loader request.\n\t if (true) {\n\t !(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_RESULT__ = function() {\n\t return _;\n\t }.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t }\n\t}.call(this));\n\n\n/***/ },\n/* 8 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _en = __webpack_require__(360);\n\t\n\tObject.keys(_en).forEach(function (key) {\n\t if (key === \"default\" || key === \"__esModule\") return;\n\t Object.defineProperty(exports, key, {\n\t enumerable: true,\n\t get: function get() {\n\t return _en[key];\n\t }\n\t });\n\t});\n\n/***/ },\n/* 9 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Copyright 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @providesModule ReactDOMComponentTree\n\t */\n\t\n\t'use strict';\n\t\n\tvar _prodInvariant = __webpack_require__(4);\n\t\n\tvar DOMProperty = __webpack_require__(54);\n\tvar ReactDOMComponentFlags = __webpack_require__(329);\n\t\n\tvar invariant = __webpack_require__(3);\n\t\n\tvar ATTR_NAME = DOMProperty.ID_ATTRIBUTE_NAME;\n\tvar Flags = ReactDOMComponentFlags;\n\t\n\tvar internalInstanceKey = '__reactInternalInstance$' + Math.random().toString(36).slice(2);\n\t\n\t/**\n\t * Drill down (through composites and empty components) until we get a host or\n\t * host text component.\n\t *\n\t * This is pretty polymorphic but unavoidable with the current structure we have\n\t * for `_renderedChildren`.\n\t */\n\tfunction getRenderedHostOrTextFromComponent(component) {\n\t var rendered;\n\t while (rendered = component._renderedComponent) {\n\t component = rendered;\n\t }\n\t return component;\n\t}\n\t\n\t/**\n\t * Populate `_hostNode` on the rendered host/text component with the given\n\t * DOM node. The passed `inst` can be a composite.\n\t */\n\tfunction precacheNode(inst, node) {\n\t var hostInst = getRenderedHostOrTextFromComponent(inst);\n\t hostInst._hostNode = node;\n\t node[internalInstanceKey] = hostInst;\n\t}\n\t\n\tfunction uncacheNode(inst) {\n\t var node = inst._hostNode;\n\t if (node) {\n\t delete node[internalInstanceKey];\n\t inst._hostNode = null;\n\t }\n\t}\n\t\n\t/**\n\t * Populate `_hostNode` on each child of `inst`, assuming that the children\n\t * match up with the DOM (element) children of `node`.\n\t *\n\t * We cache entire levels at once to avoid an n^2 problem where we access the\n\t * children of a node sequentially and have to walk from the start to our target\n\t * node every time.\n\t *\n\t * Since we update `_renderedChildren` and the actual DOM at (slightly)\n\t * different times, we could race here and see a newer `_renderedChildren` than\n\t * the DOM nodes we see. To avoid this, ReactMultiChild calls\n\t * `prepareToManageChildren` before we change `_renderedChildren`, at which\n\t * time the container's child nodes are always cached (until it unmounts).\n\t */\n\tfunction precacheChildNodes(inst, node) {\n\t if (inst._flags & Flags.hasCachedChildNodes) {\n\t return;\n\t }\n\t var children = inst._renderedChildren;\n\t var childNode = node.firstChild;\n\t outer: for (var name in children) {\n\t if (!children.hasOwnProperty(name)) {\n\t continue;\n\t }\n\t var childInst = children[name];\n\t var childID = getRenderedHostOrTextFromComponent(childInst)._domID;\n\t if (childID === 0) {\n\t // We're currently unmounting this child in ReactMultiChild; skip it.\n\t continue;\n\t }\n\t // We assume the child nodes are in the same order as the child instances.\n\t for (; childNode !== null; childNode = childNode.nextSibling) {\n\t if (childNode.nodeType === 1 && childNode.getAttribute(ATTR_NAME) === String(childID) || childNode.nodeType === 8 && childNode.nodeValue === ' react-text: ' + childID + ' ' || childNode.nodeType === 8 && childNode.nodeValue === ' react-empty: ' + childID + ' ') {\n\t precacheNode(childInst, childNode);\n\t continue outer;\n\t }\n\t }\n\t // We reached the end of the DOM children without finding an ID match.\n\t true ? false ? invariant(false, 'Unable to find element with ID %s.', childID) : _prodInvariant('32', childID) : void 0;\n\t }\n\t inst._flags |= Flags.hasCachedChildNodes;\n\t}\n\t\n\t/**\n\t * Given a DOM node, return the closest ReactDOMComponent or\n\t * ReactDOMTextComponent instance ancestor.\n\t */\n\tfunction getClosestInstanceFromNode(node) {\n\t if (node[internalInstanceKey]) {\n\t return node[internalInstanceKey];\n\t }\n\t\n\t // Walk up the tree until we find an ancestor whose instance we have cached.\n\t var parents = [];\n\t while (!node[internalInstanceKey]) {\n\t parents.push(node);\n\t if (node.parentNode) {\n\t node = node.parentNode;\n\t } else {\n\t // Top of the tree. This node must not be part of a React tree (or is\n\t // unmounted, potentially).\n\t return null;\n\t }\n\t }\n\t\n\t var closest;\n\t var inst;\n\t for (; node && (inst = node[internalInstanceKey]); node = parents.pop()) {\n\t closest = inst;\n\t if (parents.length) {\n\t precacheChildNodes(inst, node);\n\t }\n\t }\n\t\n\t return closest;\n\t}\n\t\n\t/**\n\t * Given a DOM node, return the ReactDOMComponent or ReactDOMTextComponent\n\t * instance, or null if the node was not rendered by this React.\n\t */\n\tfunction getInstanceFromNode(node) {\n\t var inst = getClosestInstanceFromNode(node);\n\t if (inst != null && inst._hostNode === node) {\n\t return inst;\n\t } else {\n\t return null;\n\t }\n\t}\n\t\n\t/**\n\t * Given a ReactDOMComponent or ReactDOMTextComponent, return the corresponding\n\t * DOM node.\n\t */\n\tfunction getNodeFromInstance(inst) {\n\t // Without this first invariant, passing a non-DOM-component triggers the next\n\t // invariant for a missing parent, which is super confusing.\n\t !(inst._hostNode !== undefined) ? false ? invariant(false, 'getNodeFromInstance: Invalid argument.') : _prodInvariant('33') : void 0;\n\t\n\t if (inst._hostNode) {\n\t return inst._hostNode;\n\t }\n\t\n\t // Walk up the tree until we find an ancestor whose DOM node we have cached.\n\t var parents = [];\n\t while (!inst._hostNode) {\n\t parents.push(inst);\n\t !inst._hostParent ? false ? invariant(false, 'React DOM tree root should always have a node reference.') : _prodInvariant('34') : void 0;\n\t inst = inst._hostParent;\n\t }\n\t\n\t // Now parents contains each ancestor that does *not* have a cached native\n\t // node, and `inst` is the deepest ancestor that does.\n\t for (; parents.length; inst = parents.pop()) {\n\t precacheChildNodes(inst, inst._hostNode);\n\t }\n\t\n\t return inst._hostNode;\n\t}\n\t\n\tvar ReactDOMComponentTree = {\n\t getClosestInstanceFromNode: getClosestInstanceFromNode,\n\t getInstanceFromNode: getInstanceFromNode,\n\t getNodeFromInstance: getNodeFromInstance,\n\t precacheChildNodes: precacheChildNodes,\n\t precacheNode: precacheNode,\n\t uncacheNode: uncacheNode\n\t};\n\t\n\tmodule.exports = ReactDOMComponentTree;\n\n/***/ },\n/* 10 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Copyright 2013-2015, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t */\n\t\n\t'use strict';\n\t\n\t/**\n\t * Use invariant() to assert state which your program assumes to be true.\n\t *\n\t * Provide sprintf-style format (only %s is supported) and arguments\n\t * to provide information about what broke and what you were\n\t * expecting.\n\t *\n\t * The invariant message will be stripped in production, but the invariant\n\t * will remain to ensure logic does not differ in production.\n\t */\n\t\n\tvar invariant = function(condition, format, a, b, c, d, e, f) {\n\t if (false) {\n\t if (format === undefined) {\n\t throw new Error('invariant requires an error message argument');\n\t }\n\t }\n\t\n\t if (!condition) {\n\t var error;\n\t if (format === undefined) {\n\t error = new Error(\n\t 'Minified exception occurred; use the non-minified dev environment ' +\n\t 'for the full error message and additional helpful warnings.'\n\t );\n\t } else {\n\t var args = [a, b, c, d, e, f];\n\t var argIndex = 0;\n\t error = new Error(\n\t format.replace(/%s/g, function() { return args[argIndex++]; })\n\t );\n\t error.name = 'Invariant Violation';\n\t }\n\t\n\t error.framesToPop = 1; // we don't care about invariant's own frame\n\t throw error;\n\t }\n\t};\n\t\n\tmodule.exports = invariant;\n\n\n/***/ },\n/* 11 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar YAMLException = __webpack_require__(63);\n\t\n\tvar TYPE_CONSTRUCTOR_OPTIONS = [\n\t 'kind',\n\t 'resolve',\n\t 'construct',\n\t 'instanceOf',\n\t 'predicate',\n\t 'represent',\n\t 'defaultStyle',\n\t 'styleAliases'\n\t];\n\t\n\tvar YAML_NODE_KINDS = [\n\t 'scalar',\n\t 'sequence',\n\t 'mapping'\n\t];\n\t\n\tfunction compileStyleAliases(map) {\n\t var result = {};\n\t\n\t if (map !== null) {\n\t Object.keys(map).forEach(function (style) {\n\t map[style].forEach(function (alias) {\n\t result[String(alias)] = style;\n\t });\n\t });\n\t }\n\t\n\t return result;\n\t}\n\t\n\tfunction Type(tag, options) {\n\t options = options || {};\n\t\n\t Object.keys(options).forEach(function (name) {\n\t if (TYPE_CONSTRUCTOR_OPTIONS.indexOf(name) === -1) {\n\t throw new YAMLException('Unknown option \"' + name + '\" is met in definition of \"' + tag + '\" YAML type.');\n\t }\n\t });\n\t\n\t // TODO: Add tag format check.\n\t this.tag = tag;\n\t this.kind = options['kind'] || null;\n\t this.resolve = options['resolve'] || function () { return true; };\n\t this.construct = options['construct'] || function (data) { return data; };\n\t this.instanceOf = options['instanceOf'] || null;\n\t this.predicate = options['predicate'] || null;\n\t this.represent = options['represent'] || null;\n\t this.defaultStyle = options['defaultStyle'] || null;\n\t this.styleAliases = compileStyleAliases(options['styleAliases'] || null);\n\t\n\t if (YAML_NODE_KINDS.indexOf(this.kind) === -1) {\n\t throw new YAMLException('Unknown kind \"' + this.kind + '\" is specified for \"' + tag + '\" YAML type.');\n\t }\n\t}\n\t\n\tmodule.exports = Type;\n\n\n/***/ },\n/* 12 */\n/***/ function(module, exports) {\n\n\t'use strict';\n\t\n\tvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\t\n\tvar idCount = 0;\n\t\n\tvar _ = module.exports = {\n\t\n\t has: has,\n\t\n\t result: function result(value) {\n\t for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n\t args[_key - 1] = arguments[_key];\n\t }\n\t\n\t return typeof value === 'function' ? value.apply(undefined, args) : value;\n\t },\n\t\n\t isShallowEqual: function isShallowEqual(a, b) {\n\t if (a === b) return true;\n\t if (a instanceof Date && b instanceof Date) return a.getTime() === b.getTime();\n\t\n\t if ((typeof a === 'undefined' ? 'undefined' : _typeof(a)) !== 'object' && (typeof b === 'undefined' ? 'undefined' : _typeof(b)) !== 'object') return a === b;\n\t\n\t if ((typeof a === 'undefined' ? 'undefined' : _typeof(a)) !== (typeof b === 'undefined' ? 'undefined' : _typeof(b))) return false;\n\t\n\t return shallowEqual(a, b);\n\t },\n\t transform: function transform(obj, cb, seed) {\n\t _.each(obj, cb.bind(null, seed = seed || (Array.isArray(obj) ? [] : {})));\n\t return seed;\n\t },\n\t each: function each(obj, cb, thisArg) {\n\t if (Array.isArray(obj)) return obj.forEach(cb, thisArg);\n\t\n\t for (var key in obj) {\n\t if (has(obj, key)) cb.call(thisArg, obj[key], key, obj);\n\t }\n\t },\n\t pick: function pick(obj, keys) {\n\t keys = [].concat(keys);\n\t return _.transform(obj, function (mapped, val, key) {\n\t if (keys.indexOf(key) !== -1) mapped[key] = val;\n\t }, {});\n\t },\n\t pickProps: function pickProps(props, componentClass) {\n\t return _.pick(props, Object.keys(componentClass.propTypes));\n\t },\n\t omit: function omit(obj, keys) {\n\t keys = [].concat(keys);\n\t return _.transform(obj, function (mapped, val, key) {\n\t if (keys.indexOf(key) === -1) mapped[key] = val;\n\t }, {});\n\t },\n\t omitOwnProps: function omitOwnProps(component) {\n\t for (var _len2 = arguments.length, others = Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n\t others[_key2 - 1] = arguments[_key2];\n\t }\n\t\n\t var keys = others.reduce(function (arr, compClass) {\n\t return arr.concat(Object.keys(compClass.propTypes));\n\t }, Object.keys(component.constructor.propTypes));\n\t\n\t return _.omit(component.props, keys);\n\t },\n\t find: function find(arr, cb, thisArg) {\n\t var result;\n\t if (Array.isArray(arr)) {\n\t arr.every(function (val, idx) {\n\t if (cb.call(thisArg, val, idx, arr)) return result = val, false;\n\t return true;\n\t });\n\t return result;\n\t } else for (var key in arr) {\n\t if (has(arr, key)) if (cb.call(thisArg, arr[key], key, arr)) return arr[key];\n\t }\n\t },\n\t chunk: function chunk(array, chunkSize) {\n\t var index = 0,\n\t length = array ? array.length : 0,\n\t result = [];\n\t\n\t chunkSize = Math.max(+chunkSize || 1, 1);\n\t\n\t while (index < length) {\n\t result.push(array.slice(index, index += chunkSize));\n\t }return result;\n\t },\n\t splat: function splat(obj) {\n\t return obj == null ? [] : [].concat(obj);\n\t },\n\t noop: function noop() {},\n\t uniqueId: function uniqueId(prefix) {\n\t return '' + ((prefix == null ? '' : prefix) + ++idCount);\n\t }\n\t};\n\t\n\tfunction has(o, k) {\n\t return o ? Object.prototype.hasOwnProperty.call(o, k) : false;\n\t}\n\t\n\tfunction eql(a, b) {\n\t return a === b;\n\t}\n\t\n\t/**\n\t * Copyright 2013-2015, Facebook, Inc.\n\t * All rights reserved.\n\t */\n\tfunction shallowEqual(objA, objB) {\n\t\n\t if (objA == null || objB == null) return false;\n\t\n\t var keysA = Object.keys(objA),\n\t keysB = Object.keys(objB);\n\t\n\t if (keysA.length !== keysB.length) return false;\n\t\n\t for (var i = 0; i < keysA.length; i++) {\n\t if (!has(objB, keysA[i]) || !eql(objA[keysA[i]], objB[keysA[i]])) return false;\n\t }return true;\n\t}\n\n/***/ },\n/* 13 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\texports.compose = exports.applyMiddleware = exports.bindActionCreators = exports.combineReducers = exports.createStore = undefined;\n\t\n\tvar _createStore = __webpack_require__(351);\n\t\n\tvar _createStore2 = _interopRequireDefault(_createStore);\n\t\n\tvar _combineReducers = __webpack_require__(658);\n\t\n\tvar _combineReducers2 = _interopRequireDefault(_combineReducers);\n\t\n\tvar _bindActionCreators = __webpack_require__(657);\n\t\n\tvar _bindActionCreators2 = _interopRequireDefault(_bindActionCreators);\n\t\n\tvar _applyMiddleware = __webpack_require__(656);\n\t\n\tvar _applyMiddleware2 = _interopRequireDefault(_applyMiddleware);\n\t\n\tvar _compose = __webpack_require__(350);\n\t\n\tvar _compose2 = _interopRequireDefault(_compose);\n\t\n\tvar _warning = __webpack_require__(352);\n\t\n\tvar _warning2 = _interopRequireDefault(_warning);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\t\n\t/*\n\t* This is a dummy function to check if the function name has been altered by minification.\n\t* If the function has been minified and NODE_ENV !== 'production', warn the user.\n\t*/\n\tfunction isCrushed() {}\n\t\n\tif (false) {\n\t (0, _warning2[\"default\"])('You are currently using minified code outside of NODE_ENV === \\'production\\'. ' + 'This means that you are running a slower development build of Redux. ' + 'You can use loose-envify (https://github.com/zertosh/loose-envify) for browserify ' + 'or DefinePlugin for webpack (http://stackoverflow.com/questions/30030031) ' + 'to ensure you have the correct code for your production build.');\n\t}\n\t\n\texports.createStore = _createStore2[\"default\"];\n\texports.combineReducers = _combineReducers2[\"default\"];\n\texports.bindActionCreators = _bindActionCreators2[\"default\"];\n\texports.applyMiddleware = _applyMiddleware2[\"default\"];\n\texports.compose = _compose2[\"default\"];\n\n/***/ },\n/* 14 */\n/***/ function(module, exports) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t// Config\n\tvar FETCH_CONFIG_REQUEST = exports.FETCH_CONFIG_REQUEST = 'FETCH_CONFIG_REQUEST';\n\tvar FETCH_CONFIG_SUCCESS = exports.FETCH_CONFIG_SUCCESS = 'FETCH_CONFIG_SUCCESS';\n\tvar FETCH_CONFIG_FAILURE = exports.FETCH_CONFIG_FAILURE = 'FETCH_CONFIG_FAILURE';\n\t\n\tvar PUT_CONFIG_REQUEST = exports.PUT_CONFIG_REQUEST = 'PUT_CONFIG_REQUEST';\n\tvar PUT_CONFIG_SUCCESS = exports.PUT_CONFIG_SUCCESS = 'PUT_CONFIG_SUCCESS';\n\tvar PUT_CONFIG_FAILURE = exports.PUT_CONFIG_FAILURE = 'PUT_CONFIG_FAILURE';\n\t\n\tvar CONFIG_EDITOR_CHANGED = exports.CONFIG_EDITOR_CHANGED = 'CONFIG_EDITOR_CHANGED';\n\t\n\t// Pages\n\tvar FETCH_PAGES_REQUEST = exports.FETCH_PAGES_REQUEST = 'FETCH_PAGES_REQUEST';\n\tvar FETCH_PAGES_SUCCESS = exports.FETCH_PAGES_SUCCESS = 'FETCH_PAGES_SUCCESS';\n\tvar FETCH_PAGES_FAILURE = exports.FETCH_PAGES_FAILURE = 'FETCH_PAGES_FAILURE';\n\t\n\tvar FETCH_PAGE_REQUEST = exports.FETCH_PAGE_REQUEST = 'FETCH_PAGE_REQUEST';\n\tvar FETCH_PAGE_SUCCESS = exports.FETCH_PAGE_SUCCESS = 'FETCH_PAGE_SUCCESS';\n\tvar FETCH_PAGE_FAILURE = exports.FETCH_PAGE_FAILURE = 'FETCH_PAGE_FAILURE';\n\t\n\tvar PUT_PAGE_REQUEST = exports.PUT_PAGE_REQUEST = 'PUT_PAGE_REQUEST';\n\tvar PUT_PAGE_SUCCESS = exports.PUT_PAGE_SUCCESS = 'PUT_PAGE_SUCCESS';\n\tvar PUT_PAGE_FAILURE = exports.PUT_PAGE_FAILURE = 'PUT_PAGE_FAILURE';\n\t\n\tvar DELETE_PAGE_REQUEST = exports.DELETE_PAGE_REQUEST = 'DELETE_PAGE_REQUEST';\n\tvar DELETE_PAGE_SUCCESS = exports.DELETE_PAGE_SUCCESS = 'DELETE_PAGE_SUCCESS';\n\tvar DELETE_PAGE_FAILURE = exports.DELETE_PAGE_FAILURE = 'DELETE_PAGE_FAILURE';\n\t\n\t// COLLECTIONS\n\tvar FETCH_COLLECTIONS_REQUEST = exports.FETCH_COLLECTIONS_REQUEST = 'FETCH_COLLECTIONS_REQUEST';\n\tvar FETCH_COLLECTIONS_SUCCESS = exports.FETCH_COLLECTIONS_SUCCESS = 'FETCH_COLLECTIONS_SUCCESS';\n\tvar FETCH_COLLECTIONS_FAILURE = exports.FETCH_COLLECTIONS_FAILURE = 'FETCH_COLLECTIONS_FAILURE';\n\t\n\tvar FETCH_COLLECTION_REQUEST = exports.FETCH_COLLECTION_REQUEST = 'FETCH_COLLECTION_REQUEST';\n\tvar FETCH_COLLECTION_SUCCESS = exports.FETCH_COLLECTION_SUCCESS = 'FETCH_COLLECTION_SUCCESS';\n\tvar FETCH_COLLECTION_FAILURE = exports.FETCH_COLLECTION_FAILURE = 'FETCH_COLLECTION_FAILURE';\n\t\n\tvar FETCH_DOCUMENT_REQUEST = exports.FETCH_DOCUMENT_REQUEST = 'FETCH_DOCUMENT_REQUEST';\n\tvar FETCH_DOCUMENT_SUCCESS = exports.FETCH_DOCUMENT_SUCCESS = 'FETCH_DOCUMENT_SUCCESS';\n\tvar FETCH_DOCUMENT_FAILURE = exports.FETCH_DOCUMENT_FAILURE = 'FETCH_DOCUMENT_FAILURE';\n\t\n\tvar PUT_DOCUMENT_REQUEST = exports.PUT_DOCUMENT_REQUEST = 'PUT_DOCUMENT_REQUEST';\n\tvar PUT_DOCUMENT_SUCCESS = exports.PUT_DOCUMENT_SUCCESS = 'PUT_DOCUMENT_SUCCESS';\n\tvar PUT_DOCUMENT_FAILURE = exports.PUT_DOCUMENT_FAILURE = 'PUT_DOCUMENT_FAILURE';\n\t\n\tvar DELETE_DOCUMENT_REQUEST = exports.DELETE_DOCUMENT_REQUEST = 'DELETE_DOCUMENT_REQUEST';\n\tvar DELETE_DOCUMENT_SUCCESS = exports.DELETE_DOCUMENT_SUCCESS = 'DELETE_DOCUMENT_SUCCESS';\n\tvar DELETE_DOCUMENT_FAILURE = exports.DELETE_DOCUMENT_FAILURE = 'DELETE_DOCUMENT_FAILURE';\n\t\n\t// Metadata\n\tvar UPDATE_TITLE = exports.UPDATE_TITLE = 'UPDATE_TITLE';\n\tvar UPDATE_BODY = exports.UPDATE_BODY = 'UPDATE_BODY';\n\tvar UPDATE_PATH = exports.UPDATE_PATH = 'UPDATE_PATH';\n\tvar UPDATE_DRAFT = exports.UPDATE_DRAFT = 'UPDATE_DRAFT';\n\tvar STORE_CONTENT_FIELDS = exports.STORE_CONTENT_FIELDS = 'STORE_CONTENT_FIELDS';\n\tvar ADD_METAFIELD = exports.ADD_METAFIELD = 'ADD_METAFIELD';\n\tvar REMOVE_METAFIELD = exports.REMOVE_METAFIELD = 'REMOVE_METAFIELD';\n\tvar UPDATE_FIELD_KEY = exports.UPDATE_FIELD_KEY = 'UPDATE_FIELD_KEY';\n\tvar UPDATE_FIELD_VALUE = exports.UPDATE_FIELD_VALUE = 'UPDATE_FIELD_VALUE';\n\tvar MOVE_ARRAY_ITEM = exports.MOVE_ARRAY_ITEM = 'MOVE_ARRAY_ITEM';\n\tvar CONVERT_FIELD = exports.CONVERT_FIELD = 'CONVERT_FIELD';\n\t\n\t// Datafiles\n\tvar FETCH_DATAFILES_REQUEST = exports.FETCH_DATAFILES_REQUEST = 'FETCH_DATAFILES_REQUEST';\n\tvar FETCH_DATAFILES_SUCCESS = exports.FETCH_DATAFILES_SUCCESS = 'FETCH_DATAFILES_SUCCESS';\n\tvar FETCH_DATAFILES_FAILURE = exports.FETCH_DATAFILES_FAILURE = 'FETCH_DATAFILES_FAILURE';\n\t\n\tvar FETCH_DATAFILE_REQUEST = exports.FETCH_DATAFILE_REQUEST = 'FETCH_DATAFILE_REQUEST';\n\tvar FETCH_DATAFILE_SUCCESS = exports.FETCH_DATAFILE_SUCCESS = 'FETCH_DATAFILE_SUCCESS';\n\tvar FETCH_DATAFILE_FAILURE = exports.FETCH_DATAFILE_FAILURE = 'FETCH_DATAFILE_FAILURE';\n\t\n\tvar PUT_DATAFILE_REQUEST = exports.PUT_DATAFILE_REQUEST = 'PUT_DATAFILE_REQUEST';\n\tvar PUT_DATAFILE_SUCCESS = exports.PUT_DATAFILE_SUCCESS = 'PUT_DATAFILE_SUCCESS';\n\tvar PUT_DATAFILE_FAILURE = exports.PUT_DATAFILE_FAILURE = 'PUT_DATAFILE_FAILURE';\n\t\n\tvar DELETE_DATAFILE_REQUEST = exports.DELETE_DATAFILE_REQUEST = 'DELETE_DATAFILE_REQUEST';\n\tvar DELETE_DATAFILE_SUCCESS = exports.DELETE_DATAFILE_SUCCESS = 'DELETE_DATAFILE_SUCCESS';\n\tvar DELETE_DATAFILE_FAILURE = exports.DELETE_DATAFILE_FAILURE = 'DELETE_DATAFILE_FAILURE';\n\t\n\tvar DATAFILE_CHANGED = exports.DATAFILE_CHANGED = 'DATAFILE_CHANGED';\n\t\n\t// Static Files\n\tvar FETCH_STATICFILES_REQUEST = exports.FETCH_STATICFILES_REQUEST = 'FETCH_STATICFILES_REQUEST';\n\tvar FETCH_STATICFILES_SUCCESS = exports.FETCH_STATICFILES_SUCCESS = 'FETCH_STATICFILES_SUCCESS';\n\tvar FETCH_STATICFILES_FAILURE = exports.FETCH_STATICFILES_FAILURE = 'FETCH_STATICFILES_FAILURE';\n\t\n\tvar FETCH_STATICFILE_REQUEST = exports.FETCH_STATICFILE_REQUEST = 'FETCH_STATICFILE_REQUEST';\n\tvar FETCH_STATICFILE_SUCCESS = exports.FETCH_STATICFILE_SUCCESS = 'FETCH_STATICFILE_SUCCESS';\n\tvar FETCH_STATICFILE_FAILURE = exports.FETCH_STATICFILE_FAILURE = 'FETCH_STATICFILE_FAILURE';\n\t\n\tvar PUT_STATICFILE_REQUEST = exports.PUT_STATICFILE_REQUEST = 'PUT_STATICFILE_REQUEST';\n\tvar PUT_STATICFILE_SUCCESS = exports.PUT_STATICFILE_SUCCESS = 'PUT_STATICFILE_SUCCESS';\n\tvar PUT_STATICFILE_FAILURE = exports.PUT_STATICFILE_FAILURE = 'PUT_STATICFILE_FAILURE';\n\t\n\tvar DELETE_STATICFILE_REQUEST = exports.DELETE_STATICFILE_REQUEST = 'DELETE_STATICFILE_REQUEST';\n\tvar DELETE_STATICFILE_SUCCESS = exports.DELETE_STATICFILE_SUCCESS = 'DELETE_STATICFILE_SUCCESS';\n\tvar DELETE_STATICFILE_FAILURE = exports.DELETE_STATICFILE_FAILURE = 'DELETE_STATICFILE_FAILURE';\n\t\n\t// Utility\n\tvar SEARCH_CONTENT = exports.SEARCH_CONTENT = 'SEARCH_CONTENT';\n\tvar CLEAR_ERRORS = exports.CLEAR_ERRORS = 'CLEAR_ERRORS';\n\tvar VALIDATION_ERROR = exports.VALIDATION_ERROR = 'VALIDATION_ERROR';\n\t\n\t// Notification\n\tvar ADD_NOTIFICATION = exports.ADD_NOTIFICATION = 'ADD_NOTIFICATION';\n\n/***/ },\n/* 15 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\texports.connect = exports.Provider = undefined;\n\t\n\tvar _Provider = __webpack_require__(545);\n\t\n\tvar _Provider2 = _interopRequireDefault(_Provider);\n\t\n\tvar _connect = __webpack_require__(546);\n\t\n\tvar _connect2 = _interopRequireDefault(_connect);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\t\n\texports.Provider = _Provider2[\"default\"];\n\texports.connect = _connect2[\"default\"];\n\n/***/ },\n/* 16 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\texports.createMemoryHistory = exports.hashHistory = exports.browserHistory = exports.applyRouterMiddleware = exports.formatPattern = exports.useRouterHistory = exports.match = exports.routerShape = exports.locationShape = exports.RouterContext = exports.createRoutes = exports.Route = exports.Redirect = exports.IndexRoute = exports.IndexRedirect = exports.withRouter = exports.IndexLink = exports.Link = exports.Router = undefined;\n\t\n\tvar _RouteUtils = __webpack_require__(36);\n\t\n\tObject.defineProperty(exports, 'createRoutes', {\n\t enumerable: true,\n\t get: function get() {\n\t return _RouteUtils.createRoutes;\n\t }\n\t});\n\t\n\tvar _PropTypes = __webpack_require__(130);\n\t\n\tObject.defineProperty(exports, 'locationShape', {\n\t enumerable: true,\n\t get: function get() {\n\t return _PropTypes.locationShape;\n\t }\n\t});\n\tObject.defineProperty(exports, 'routerShape', {\n\t enumerable: true,\n\t get: function get() {\n\t return _PropTypes.routerShape;\n\t }\n\t});\n\t\n\tvar _PatternUtils = __webpack_require__(51);\n\t\n\tObject.defineProperty(exports, 'formatPattern', {\n\t enumerable: true,\n\t get: function get() {\n\t return _PatternUtils.formatPattern;\n\t }\n\t});\n\t\n\tvar _Router2 = __webpack_require__(555);\n\t\n\tvar _Router3 = _interopRequireDefault(_Router2);\n\t\n\tvar _Link2 = __webpack_require__(311);\n\t\n\tvar _Link3 = _interopRequireDefault(_Link2);\n\t\n\tvar _IndexLink2 = __webpack_require__(551);\n\t\n\tvar _IndexLink3 = _interopRequireDefault(_IndexLink2);\n\t\n\tvar _withRouter2 = __webpack_require__(566);\n\t\n\tvar _withRouter3 = _interopRequireDefault(_withRouter2);\n\t\n\tvar _IndexRedirect2 = __webpack_require__(552);\n\t\n\tvar _IndexRedirect3 = _interopRequireDefault(_IndexRedirect2);\n\t\n\tvar _IndexRoute2 = __webpack_require__(553);\n\t\n\tvar _IndexRoute3 = _interopRequireDefault(_IndexRoute2);\n\t\n\tvar _Redirect2 = __webpack_require__(313);\n\t\n\tvar _Redirect3 = _interopRequireDefault(_Redirect2);\n\t\n\tvar _Route2 = __webpack_require__(554);\n\t\n\tvar _Route3 = _interopRequireDefault(_Route2);\n\t\n\tvar _RouterContext2 = __webpack_require__(131);\n\t\n\tvar _RouterContext3 = _interopRequireDefault(_RouterContext2);\n\t\n\tvar _match2 = __webpack_require__(564);\n\t\n\tvar _match3 = _interopRequireDefault(_match2);\n\t\n\tvar _useRouterHistory2 = __webpack_require__(318);\n\t\n\tvar _useRouterHistory3 = _interopRequireDefault(_useRouterHistory2);\n\t\n\tvar _applyRouterMiddleware2 = __webpack_require__(557);\n\t\n\tvar _applyRouterMiddleware3 = _interopRequireDefault(_applyRouterMiddleware2);\n\t\n\tvar _browserHistory2 = __webpack_require__(558);\n\t\n\tvar _browserHistory3 = _interopRequireDefault(_browserHistory2);\n\t\n\tvar _hashHistory2 = __webpack_require__(562);\n\t\n\tvar _hashHistory3 = _interopRequireDefault(_hashHistory2);\n\t\n\tvar _createMemoryHistory2 = __webpack_require__(315);\n\t\n\tvar _createMemoryHistory3 = _interopRequireDefault(_createMemoryHistory2);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\texports.Router = _Router3.default; /* components */\n\t\n\texports.Link = _Link3.default;\n\texports.IndexLink = _IndexLink3.default;\n\texports.withRouter = _withRouter3.default;\n\t\n\t/* components (configuration) */\n\t\n\texports.IndexRedirect = _IndexRedirect3.default;\n\texports.IndexRoute = _IndexRoute3.default;\n\texports.Redirect = _Redirect3.default;\n\texports.Route = _Route3.default;\n\t\n\t/* utils */\n\t\n\texports.RouterContext = _RouterContext3.default;\n\texports.match = _match3.default;\n\texports.useRouterHistory = _useRouterHistory3.default;\n\texports.applyRouterMiddleware = _applyRouterMiddleware3.default;\n\t\n\t/* histories */\n\t\n\texports.browserHistory = _browserHistory3.default;\n\texports.hashHistory = _hashHistory3.default;\n\texports.createMemoryHistory = _createMemoryHistory3.default;\n\n/***/ },\n/* 17 */\n/***/ function(module, exports) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\tvar VERSION = exports.VERSION = 'v0.3.0';\n\tvar ADMIN_PREFIX = exports.ADMIN_PREFIX = '/admin';\n\n/***/ },\n/* 18 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Copyright (c) 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t */\n\t\n\t'use strict';\n\t\n\tvar canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\n\t\n\t/**\n\t * Simple, lightweight module assisting with the detection and context of\n\t * Worker. Helps avoid circular dependencies and allows code to reason about\n\t * whether or not they are in a Worker, even if they never include the main\n\t * `ReactWorker` dependency.\n\t */\n\tvar ExecutionEnvironment = {\n\t\n\t canUseDOM: canUseDOM,\n\t\n\t canUseWorkers: typeof Worker !== 'undefined',\n\t\n\t canUseEventListeners: canUseDOM && !!(window.addEventListener || window.attachEvent),\n\t\n\t canUseViewport: canUseDOM && !!window.screen,\n\t\n\t isInWorker: !canUseDOM // For now, this is true - might change in the future.\n\t\n\t};\n\t\n\tmodule.exports = ExecutionEnvironment;\n\n/***/ },\n/* 19 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\texports.search = search;\n\texports.clearErrors = clearErrors;\n\texports.validationError = validationError;\n\t\n\tvar _actionTypes = __webpack_require__(14);\n\t\n\tvar ActionTypes = _interopRequireWildcard(_actionTypes);\n\t\n\tfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\t\n\tfunction search(input) {\n\t return {\n\t type: ActionTypes.SEARCH_CONTENT,\n\t input: input\n\t };\n\t}\n\t\n\tfunction clearErrors() {\n\t return {\n\t type: ActionTypes.CLEAR_ERRORS\n\t };\n\t}\n\t\n\tfunction validationError(errors) {\n\t return {\n\t type: ActionTypes.VALIDATION_ERROR,\n\t errors: errors\n\t };\n\t}\n\n/***/ },\n/* 20 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\texports.existingUploadedFilenames = exports.getFilenameFromPath = exports.slugify = exports.toTitleCase = exports.capitalize = exports.toJSON = exports.toYAML = undefined;\n\t\n\tvar _jsYaml = __webpack_require__(436);\n\t\n\tvar _jsYaml2 = _interopRequireDefault(_jsYaml);\n\t\n\tvar _underscore = __webpack_require__(7);\n\t\n\tvar _underscore2 = _interopRequireDefault(_underscore);\n\t\n\tvar _slug = __webpack_require__(661);\n\t\n\tvar _slug2 = _interopRequireDefault(_slug);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\t/**\n\t * Converts the object into YAML string.\n\t * @param {Object} object\n\t * @return {String} yaml\n\t */\n\tvar toYAML = exports.toYAML = function toYAML(obj) {\n\t return !_underscore2.default.isEmpty(obj) ? _jsYaml2.default.safeDump(obj, { indent: 2 }) : '';\n\t};\n\t\n\t/**\n\t * Converts the YAML string into JS object.\n\t * @param {String} string\n\t * @return {Object} obj\n\t */\n\tvar toJSON = exports.toJSON = function toJSON(yamlString) {\n\t return yamlString ? _jsYaml2.default.load(yamlString) : {};\n\t};\n\t\n\t/**\n\t * Capitalize the given string.\n\t * @param {String} string\n\t * @return {String} string\n\t */\n\tvar capitalize = exports.capitalize = function capitalize(string) {\n\t if (!string) return '';\n\t return string.charAt(0).toUpperCase() + string.substring(1).toLowerCase();\n\t};\n\t\n\t/**\n\t * Convert the given string into title case format.\n\t * @param {String} string\n\t * @return {String} string\n\t */\n\tvar toTitleCase = exports.toTitleCase = function toTitleCase(string) {\n\t if (!string) return '';\n\t return string.replace(/\\w\\S*/g, function (txt) {\n\t return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase();\n\t });\n\t};\n\t\n\t/**\n\t * Slugify the given string\n\t * @param {String} string\n\t * @return {String} string\n\t */\n\tvar slugify = exports.slugify = function slugify(string) {\n\t if (!string) return '';\n\t return (0, _slug2.default)(string, { lower: true }).replace(/^-+|-+$/g, '');\n\t};\n\t\n\t/**\n\t * Returns filename from the given path\n\t * @param {String} path\n\t * @return {String} filename\n\t */\n\tvar getFilenameFromPath = exports.getFilenameFromPath = function getFilenameFromPath(path) {\n\t if (!path) return '';\n\t return path.substring(path.lastIndexOf('/') + 1);\n\t};\n\t\n\t/**\n\t * returns the uploaded static files that are being overwritten\n\t * @param {Array} uploadedFiles\n\t * @param {Array} currentFiles\n\t * @return {Array} filenames\n\t */\n\tvar existingUploadedFilenames = exports.existingUploadedFilenames = function existingUploadedFilenames(uploadedFiles, currentFiles) {\n\t if (uploadedFiles && !uploadedFiles.length || currentFiles && !currentFiles.length) {\n\t return [];\n\t }\n\t var currentFilenames = _underscore2.default.map(currentFiles, function (cf) {\n\t return getFilenameFromPath(cf.path);\n\t });\n\t return _underscore2.default.chain(uploadedFiles).filter(function (file) {\n\t return currentFilenames.indexOf(file.name) > -1;\n\t }).map(function (file) {\n\t return file.name;\n\t }).value();\n\t};\n\n/***/ },\n/* 21 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\texports.date = exports.number = exports.setNumber = undefined;\n\texports.setDate = setDate;\n\t\n\tvar _invariant = __webpack_require__(10);\n\t\n\tvar _invariant2 = _interopRequireDefault(_invariant);\n\t\n\tvar _ = __webpack_require__(12);\n\t\n\tvar _react = __webpack_require__(2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tvar localePropType = _react2.default.PropTypes.oneOfType([_react2.default.PropTypes.string, _react2.default.PropTypes.func]);\n\t\n\tvar REQUIRED_NUMBER_FORMATS = ['default'];\n\t\n\tvar REQUIRED_DATE_FORMATS = ['default', 'date', 'time', 'header', 'footer', 'dayOfMonth', 'month', 'year', 'decade', 'century'];\n\t\n\tfunction _format(localizer, formatter, value, format, culture) {\n\t var result = typeof format === 'function' ? format(value, culture, localizer) : formatter.call(localizer, value, format, culture);\n\t\n\t (0, _invariant2.default)(result == null || typeof result === 'string', '`localizer format(..)` must return a string, null, or undefined');\n\t\n\t return result;\n\t}\n\t\n\tfunction checkFormats(requiredFormats, formats) {\n\t if (false) requiredFormats.forEach(function (f) {\n\t return (0, _invariant2.default)((0, _.has)(formats, f), 'localizer missing required format: `%s`', f);\n\t });\n\t}\n\t\n\tvar _numberLocalizer = createWrapper('NumberPicker');\n\t\n\tfunction setNumber(_ref) {\n\t var _format2 = _ref.format,\n\t _parse = _ref.parse,\n\t _ref$decimalChar = _ref.decimalChar,\n\t decimalChar = _ref$decimalChar === undefined ? function () {\n\t return '.';\n\t } : _ref$decimalChar,\n\t _ref$precision = _ref.precision,\n\t precision = _ref$precision === undefined ? function () {\n\t return null;\n\t } : _ref$precision,\n\t formats = _ref.formats,\n\t propType = _ref.propType;\n\t\n\t (0, _invariant2.default)(typeof _format2 === 'function', 'number localizer `format(..)` must be a function');\n\t (0, _invariant2.default)(typeof _parse === 'function', 'number localizer `parse(..)` must be a function');\n\t\n\t checkFormats(REQUIRED_NUMBER_FORMATS, formats);\n\t\n\t formats.editFormat = formats.editFormat || function (str) {\n\t return parseFloat(str);\n\t };\n\t\n\t _numberLocalizer = {\n\t formats: formats,\n\t precision: precision,\n\t decimalChar: decimalChar,\n\t propType: propType || localePropType,\n\t\n\t format: function format(value, str, culture) {\n\t return _format(this, _format2, value, str, culture);\n\t },\n\t parse: function parse(value, culture, format) {\n\t var result = _parse.call(this, value, culture, format);\n\t (0, _invariant2.default)(result == null || typeof result === 'number', 'number localizer `parse(..)` must return a number, null, or undefined');\n\t return result;\n\t }\n\t };\n\t}\n\t\n\texports.setNumber = setNumber;\n\tvar _dateLocalizer = createWrapper('DateTimePicker');\n\t\n\tfunction setDate(spec) {\n\t (0, _invariant2.default)(typeof spec.format === 'function', 'date localizer `format(..)` must be a function');\n\t (0, _invariant2.default)(typeof spec.parse === 'function', 'date localizer `parse(..)` must be a function');\n\t (0, _invariant2.default)(typeof spec.firstOfWeek === 'function', 'date localizer `firstOfWeek(..)` must be a function');\n\t checkFormats(REQUIRED_DATE_FORMATS, spec.formats);\n\t\n\t _dateLocalizer = {\n\t formats: spec.formats,\n\t propType: spec.propType || localePropType,\n\t startOfWeek: spec.firstOfWeek,\n\t format: function format(value, str, culture) {\n\t return _format(this, spec.format, value, str, culture);\n\t },\n\t parse: function parse(value, culture) {\n\t var result = spec.parse.call(this, value, culture);\n\t (0, _invariant2.default)(result == null || result instanceof Date && !isNaN(result.getTime()), 'date localizer `parse(..)` must return a valid Date, null, or undefined');\n\t return result;\n\t }\n\t };\n\t}\n\t\n\tvar number = exports.number = {\n\t propType: function propType() {\n\t var _numberLocalizer2;\n\t\n\t return (_numberLocalizer2 = _numberLocalizer).propType.apply(_numberLocalizer2, arguments);\n\t },\n\t getFormat: function getFormat(key, format) {\n\t return format || _numberLocalizer.formats[key];\n\t },\n\t parse: function parse() {\n\t var _numberLocalizer3;\n\t\n\t return (_numberLocalizer3 = _numberLocalizer).parse.apply(_numberLocalizer3, arguments);\n\t },\n\t format: function format() {\n\t var _numberLocalizer4;\n\t\n\t return (_numberLocalizer4 = _numberLocalizer).format.apply(_numberLocalizer4, arguments);\n\t },\n\t decimalChar: function decimalChar() {\n\t var _numberLocalizer5;\n\t\n\t return (_numberLocalizer5 = _numberLocalizer).decimalChar.apply(_numberLocalizer5, arguments);\n\t },\n\t precision: function precision() {\n\t var _numberLocalizer6;\n\t\n\t return (_numberLocalizer6 = _numberLocalizer).precision.apply(_numberLocalizer6, arguments);\n\t }\n\t};\n\t\n\tvar date = exports.date = {\n\t propType: function propType() {\n\t var _dateLocalizer2;\n\t\n\t return (_dateLocalizer2 = _dateLocalizer).propType.apply(_dateLocalizer2, arguments);\n\t },\n\t getFormat: function getFormat(key, format) {\n\t return format || _dateLocalizer.formats[key];\n\t },\n\t parse: function parse() {\n\t var _dateLocalizer3;\n\t\n\t return (_dateLocalizer3 = _dateLocalizer).parse.apply(_dateLocalizer3, arguments);\n\t },\n\t format: function format() {\n\t var _dateLocalizer4;\n\t\n\t return (_dateLocalizer4 = _dateLocalizer).format.apply(_dateLocalizer4, arguments);\n\t },\n\t startOfWeek: function startOfWeek() {\n\t var _dateLocalizer5;\n\t\n\t return (_dateLocalizer5 = _dateLocalizer).startOfWeek.apply(_dateLocalizer5, arguments);\n\t }\n\t};\n\t\n\texports.default = { number: number, date: date };\n\t\n\t\n\tfunction createWrapper() {\n\t var dummy = {};\n\t\n\t if (false) {\n\t ['formats', 'parse', 'format', 'firstOfWeek', 'precision', 'propType'].forEach(function (name) {\n\t return Object.defineProperty(dummy, name, {\n\t enumerable: true,\n\t get: function get() {\n\t throw new Error('[React Widgets] You are attempting to use a widget that requires localization ' + '(Calendar, DateTimePicker, NumberPicker). ' + 'However there is no localizer set. Please configure a localizer. \\n\\n' + 'see http://jquense.github.io/react-widgets/docs/#/i18n for more info.');\n\t }\n\t });\n\t });\n\t }\n\t return dummy;\n\t}\n\n/***/ },\n/* 22 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\tvar _react = __webpack_require__(2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _classnames = __webpack_require__(26);\n\t\n\tvar _classnames2 = _interopRequireDefault(_classnames);\n\t\n\tvar _lang = __webpack_require__(8);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\tvar Button = function (_Component) {\n\t _inherits(Button, _Component);\n\t\n\t function Button() {\n\t _classCallCheck(this, Button);\n\t\n\t return _possibleConstructorReturn(this, (Button.__proto__ || Object.getPrototypeOf(Button)).apply(this, arguments));\n\t }\n\t\n\t _createClass(Button, [{\n\t key: 'render',\n\t value: function render() {\n\t var _props = this.props,\n\t type = _props.type,\n\t active = _props.active,\n\t triggered = _props.triggered,\n\t onClick = _props.onClick,\n\t block = _props.block,\n\t thin = _props.thin,\n\t icon = _props.icon,\n\t to = _props.to;\n\t\n\t\n\t var btnClass = (0, _classnames2.default)({\n\t 'btn': true,\n\t 'btn-active': active,\n\t 'btn-success': active && (type == 'save' || type == 'create'),\n\t 'btn-delete': type == 'delete',\n\t 'btn-view': type == 'view',\n\t 'btn-inactive': !active,\n\t 'btn-fat': block,\n\t 'btn-thin': thin\n\t });\n\t\n\t var label = '';\n\t var triggeredLabel = '';\n\t switch (type) {\n\t case 'save':\n\t label = _lang.labels.save.label;\n\t triggeredLabel = _lang.labels.save.triggeredLabel;\n\t break;\n\t case 'create':\n\t label = _lang.labels.create.label;\n\t triggeredLabel = _lang.labels.create.triggeredLabel;\n\t break;\n\t case 'delete':\n\t label = _lang.labels.delete.label;\n\t break;\n\t case 'view':\n\t label = _lang.labels.view.label;\n\t break;\n\t case 'upload':\n\t label = _lang.labels.upload.label;\n\t break;\n\t default:\n\t }\n\t\n\t var iconNode = icon ? _react2.default.createElement('i', { className: 'fa fa-' + icon, 'aria-hidden': 'true' }) : null;\n\t var clickEvent = !to ? onClick : null;\n\t\n\t return _react2.default.createElement(\n\t 'a',\n\t { href: to,\n\t target: '_blank',\n\t onClick: clickEvent,\n\t className: btnClass },\n\t iconNode,\n\t triggered ? triggeredLabel : label\n\t );\n\t }\n\t }]);\n\t\n\t return Button;\n\t}(_react.Component);\n\t\n\texports.default = Button;\n\t\n\t\n\tButton.propTypes = {\n\t type: _react.PropTypes.string.isRequired,\n\t active: _react.PropTypes.bool.isRequired,\n\t onClick: _react.PropTypes.func,\n\t triggered: _react.PropTypes.bool,\n\t block: _react.PropTypes.bool,\n\t thin: _react.PropTypes.bool,\n\t icon: _react.PropTypes.string,\n\t to: _react.PropTypes.string\n\t};\n\n/***/ },\n/* 23 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// CodeMirror, copyright (c) by Marijn Haverbeke and others\n\t// Distributed under an MIT license: http://codemirror.net/LICENSE\n\t\n\t// This is CodeMirror (http://codemirror.net), a code editor\n\t// implemented in JavaScript on top of the browser's DOM.\n\t//\n\t// You can find some technical background for some of the code below\n\t// at http://marijnhaverbeke.nl/blog/#cm-internals .\n\t\n\t(function (global, factory) {\n\t true ? module.exports = factory() :\n\t typeof define === 'function' && define.amd ? define(factory) :\n\t (global.CodeMirror = factory());\n\t}(this, (function () { 'use strict';\n\t\n\t// Kludges for bugs and behavior differences that can't be feature\n\t// detected are enabled based on userAgent etc sniffing.\n\tvar userAgent = navigator.userAgent\n\tvar platform = navigator.platform\n\t\n\tvar gecko = /gecko\\/\\d/i.test(userAgent)\n\tvar ie_upto10 = /MSIE \\d/.test(userAgent)\n\tvar ie_11up = /Trident\\/(?:[7-9]|\\d{2,})\\..*rv:(\\d+)/.exec(userAgent)\n\tvar ie = ie_upto10 || ie_11up\n\tvar ie_version = ie && (ie_upto10 ? document.documentMode || 6 : ie_11up[1])\n\tvar webkit = /WebKit\\//.test(userAgent)\n\tvar qtwebkit = webkit && /Qt\\/\\d+\\.\\d+/.test(userAgent)\n\tvar chrome = /Chrome\\//.test(userAgent)\n\tvar presto = /Opera\\//.test(userAgent)\n\tvar safari = /Apple Computer/.test(navigator.vendor)\n\tvar mac_geMountainLion = /Mac OS X 1\\d\\D([8-9]|\\d\\d)\\D/.test(userAgent)\n\tvar phantom = /PhantomJS/.test(userAgent)\n\t\n\tvar ios = /AppleWebKit/.test(userAgent) && /Mobile\\/\\w+/.test(userAgent)\n\t// This is woefully incomplete. Suggestions for alternative methods welcome.\n\tvar mobile = ios || /Android|webOS|BlackBerry|Opera Mini|Opera Mobi|IEMobile/i.test(userAgent)\n\tvar mac = ios || /Mac/.test(platform)\n\tvar chromeOS = /\\bCrOS\\b/.test(userAgent)\n\tvar windows = /win/i.test(platform)\n\t\n\tvar presto_version = presto && userAgent.match(/Version\\/(\\d*\\.\\d*)/)\n\tif (presto_version) { presto_version = Number(presto_version[1]) }\n\tif (presto_version && presto_version >= 15) { presto = false; webkit = true }\n\t// Some browsers use the wrong event properties to signal cmd/ctrl on OS X\n\tvar flipCtrlCmd = mac && (qtwebkit || presto && (presto_version == null || presto_version < 12.11))\n\tvar captureRightClick = gecko || (ie && ie_version >= 9)\n\t\n\tfunction classTest(cls) { return new RegExp(\"(^|\\\\s)\" + cls + \"(?:$|\\\\s)\\\\s*\") }\n\t\n\tvar rmClass = function(node, cls) {\n\t var current = node.className\n\t var match = classTest(cls).exec(current)\n\t if (match) {\n\t var after = current.slice(match.index + match[0].length)\n\t node.className = current.slice(0, match.index) + (after ? match[1] + after : \"\")\n\t }\n\t}\n\t\n\tfunction removeChildren(e) {\n\t for (var count = e.childNodes.length; count > 0; --count)\n\t { e.removeChild(e.firstChild) }\n\t return e\n\t}\n\t\n\tfunction removeChildrenAndAdd(parent, e) {\n\t return removeChildren(parent).appendChild(e)\n\t}\n\t\n\tfunction elt(tag, content, className, style) {\n\t var e = document.createElement(tag)\n\t if (className) { e.className = className }\n\t if (style) { e.style.cssText = style }\n\t if (typeof content == \"string\") { e.appendChild(document.createTextNode(content)) }\n\t else if (content) { for (var i = 0; i < content.length; ++i) { e.appendChild(content[i]) } }\n\t return e\n\t}\n\t\n\tvar range\n\tif (document.createRange) { range = function(node, start, end, endNode) {\n\t var r = document.createRange()\n\t r.setEnd(endNode || node, end)\n\t r.setStart(node, start)\n\t return r\n\t} }\n\telse { range = function(node, start, end) {\n\t var r = document.body.createTextRange()\n\t try { r.moveToElementText(node.parentNode) }\n\t catch(e) { return r }\n\t r.collapse(true)\n\t r.moveEnd(\"character\", end)\n\t r.moveStart(\"character\", start)\n\t return r\n\t} }\n\t\n\tfunction contains(parent, child) {\n\t if (child.nodeType == 3) // Android browser always returns false when child is a textnode\n\t { child = child.parentNode }\n\t if (parent.contains)\n\t { return parent.contains(child) }\n\t do {\n\t if (child.nodeType == 11) { child = child.host }\n\t if (child == parent) { return true }\n\t } while (child = child.parentNode)\n\t}\n\t\n\tfunction activeElt() {\n\t // IE and Edge may throw an \"Unspecified Error\" when accessing document.activeElement.\n\t // IE < 10 will throw when accessed while the page is loading or in an iframe.\n\t // IE > 9 and Edge will throw when accessed in an iframe if document.body is unavailable.\n\t var activeElement\n\t try {\n\t activeElement = document.activeElement\n\t } catch(e) {\n\t activeElement = document.body || null\n\t }\n\t while (activeElement && activeElement.root && activeElement.root.activeElement)\n\t { activeElement = activeElement.root.activeElement }\n\t return activeElement\n\t}\n\t\n\tfunction addClass(node, cls) {\n\t var current = node.className\n\t if (!classTest(cls).test(current)) { node.className += (current ? \" \" : \"\") + cls }\n\t}\n\tfunction joinClasses(a, b) {\n\t var as = a.split(\" \")\n\t for (var i = 0; i < as.length; i++)\n\t { if (as[i] && !classTest(as[i]).test(b)) { b += \" \" + as[i] } }\n\t return b\n\t}\n\t\n\tvar selectInput = function(node) { node.select() }\n\tif (ios) // Mobile Safari apparently has a bug where select() is broken.\n\t { selectInput = function(node) { node.selectionStart = 0; node.selectionEnd = node.value.length } }\n\telse if (ie) // Suppress mysterious IE10 errors\n\t { selectInput = function(node) { try { node.select() } catch(_e) {} } }\n\t\n\tfunction bind(f) {\n\t var args = Array.prototype.slice.call(arguments, 1)\n\t return function(){return f.apply(null, args)}\n\t}\n\t\n\tfunction copyObj(obj, target, overwrite) {\n\t if (!target) { target = {} }\n\t for (var prop in obj)\n\t { if (obj.hasOwnProperty(prop) && (overwrite !== false || !target.hasOwnProperty(prop)))\n\t { target[prop] = obj[prop] } }\n\t return target\n\t}\n\t\n\t// Counts the column offset in a string, taking tabs into account.\n\t// Used mostly to find indentation.\n\tfunction countColumn(string, end, tabSize, startIndex, startValue) {\n\t if (end == null) {\n\t end = string.search(/[^\\s\\u00a0]/)\n\t if (end == -1) { end = string.length }\n\t }\n\t for (var i = startIndex || 0, n = startValue || 0;;) {\n\t var nextTab = string.indexOf(\"\\t\", i)\n\t if (nextTab < 0 || nextTab >= end)\n\t { return n + (end - i) }\n\t n += nextTab - i\n\t n += tabSize - (n % tabSize)\n\t i = nextTab + 1\n\t }\n\t}\n\t\n\tfunction Delayed() {this.id = null}\n\tDelayed.prototype.set = function(ms, f) {\n\t clearTimeout(this.id)\n\t this.id = setTimeout(f, ms)\n\t}\n\t\n\tfunction indexOf(array, elt) {\n\t for (var i = 0; i < array.length; ++i)\n\t { if (array[i] == elt) { return i } }\n\t return -1\n\t}\n\t\n\t// Number of pixels added to scroller and sizer to hide scrollbar\n\tvar scrollerGap = 30\n\t\n\t// Returned or thrown by various protocols to signal 'I'm not\n\t// handling this'.\n\tvar Pass = {toString: function(){return \"CodeMirror.Pass\"}}\n\t\n\t// Reused option objects for setSelection & friends\n\tvar sel_dontScroll = {scroll: false};\n\tvar sel_mouse = {origin: \"*mouse\"};\n\tvar sel_move = {origin: \"+move\"};\n\t// The inverse of countColumn -- find the offset that corresponds to\n\t// a particular column.\n\tfunction findColumn(string, goal, tabSize) {\n\t for (var pos = 0, col = 0;;) {\n\t var nextTab = string.indexOf(\"\\t\", pos)\n\t if (nextTab == -1) { nextTab = string.length }\n\t var skipped = nextTab - pos\n\t if (nextTab == string.length || col + skipped >= goal)\n\t { return pos + Math.min(skipped, goal - col) }\n\t col += nextTab - pos\n\t col += tabSize - (col % tabSize)\n\t pos = nextTab + 1\n\t if (col >= goal) { return pos }\n\t }\n\t}\n\t\n\tvar spaceStrs = [\"\"]\n\tfunction spaceStr(n) {\n\t while (spaceStrs.length <= n)\n\t { spaceStrs.push(lst(spaceStrs) + \" \") }\n\t return spaceStrs[n]\n\t}\n\t\n\tfunction lst(arr) { return arr[arr.length-1] }\n\t\n\tfunction map(array, f) {\n\t var out = []\n\t for (var i = 0; i < array.length; i++) { out[i] = f(array[i], i) }\n\t return out\n\t}\n\t\n\tfunction insertSorted(array, value, score) {\n\t var pos = 0, priority = score(value)\n\t while (pos < array.length && score(array[pos]) <= priority) { pos++ }\n\t array.splice(pos, 0, value)\n\t}\n\t\n\tfunction nothing() {}\n\t\n\tfunction createObj(base, props) {\n\t var inst\n\t if (Object.create) {\n\t inst = Object.create(base)\n\t } else {\n\t nothing.prototype = base\n\t inst = new nothing()\n\t }\n\t if (props) { copyObj(props, inst) }\n\t return inst\n\t}\n\t\n\tvar nonASCIISingleCaseWordChar = /[\\u00df\\u0587\\u0590-\\u05f4\\u0600-\\u06ff\\u3040-\\u309f\\u30a0-\\u30ff\\u3400-\\u4db5\\u4e00-\\u9fcc\\uac00-\\ud7af]/\n\tfunction isWordCharBasic(ch) {\n\t return /\\w/.test(ch) || ch > \"\\x80\" &&\n\t (ch.toUpperCase() != ch.toLowerCase() || nonASCIISingleCaseWordChar.test(ch))\n\t}\n\tfunction isWordChar(ch, helper) {\n\t if (!helper) { return isWordCharBasic(ch) }\n\t if (helper.source.indexOf(\"\\\\w\") > -1 && isWordCharBasic(ch)) { return true }\n\t return helper.test(ch)\n\t}\n\t\n\tfunction isEmpty(obj) {\n\t for (var n in obj) { if (obj.hasOwnProperty(n) && obj[n]) { return false } }\n\t return true\n\t}\n\t\n\t// Extending unicode characters. A series of a non-extending char +\n\t// any number of extending chars is treated as a single unit as far\n\t// as editing and measuring is concerned. This is not fully correct,\n\t// since some scripts/fonts/browsers also treat other configurations\n\t// of code points as a group.\n\tvar extendingChars = /[\\u0300-\\u036f\\u0483-\\u0489\\u0591-\\u05bd\\u05bf\\u05c1\\u05c2\\u05c4\\u05c5\\u05c7\\u0610-\\u061a\\u064b-\\u065e\\u0670\\u06d6-\\u06dc\\u06de-\\u06e4\\u06e7\\u06e8\\u06ea-\\u06ed\\u0711\\u0730-\\u074a\\u07a6-\\u07b0\\u07eb-\\u07f3\\u0816-\\u0819\\u081b-\\u0823\\u0825-\\u0827\\u0829-\\u082d\\u0900-\\u0902\\u093c\\u0941-\\u0948\\u094d\\u0951-\\u0955\\u0962\\u0963\\u0981\\u09bc\\u09be\\u09c1-\\u09c4\\u09cd\\u09d7\\u09e2\\u09e3\\u0a01\\u0a02\\u0a3c\\u0a41\\u0a42\\u0a47\\u0a48\\u0a4b-\\u0a4d\\u0a51\\u0a70\\u0a71\\u0a75\\u0a81\\u0a82\\u0abc\\u0ac1-\\u0ac5\\u0ac7\\u0ac8\\u0acd\\u0ae2\\u0ae3\\u0b01\\u0b3c\\u0b3e\\u0b3f\\u0b41-\\u0b44\\u0b4d\\u0b56\\u0b57\\u0b62\\u0b63\\u0b82\\u0bbe\\u0bc0\\u0bcd\\u0bd7\\u0c3e-\\u0c40\\u0c46-\\u0c48\\u0c4a-\\u0c4d\\u0c55\\u0c56\\u0c62\\u0c63\\u0cbc\\u0cbf\\u0cc2\\u0cc6\\u0ccc\\u0ccd\\u0cd5\\u0cd6\\u0ce2\\u0ce3\\u0d3e\\u0d41-\\u0d44\\u0d4d\\u0d57\\u0d62\\u0d63\\u0dca\\u0dcf\\u0dd2-\\u0dd4\\u0dd6\\u0ddf\\u0e31\\u0e34-\\u0e3a\\u0e47-\\u0e4e\\u0eb1\\u0eb4-\\u0eb9\\u0ebb\\u0ebc\\u0ec8-\\u0ecd\\u0f18\\u0f19\\u0f35\\u0f37\\u0f39\\u0f71-\\u0f7e\\u0f80-\\u0f84\\u0f86\\u0f87\\u0f90-\\u0f97\\u0f99-\\u0fbc\\u0fc6\\u102d-\\u1030\\u1032-\\u1037\\u1039\\u103a\\u103d\\u103e\\u1058\\u1059\\u105e-\\u1060\\u1071-\\u1074\\u1082\\u1085\\u1086\\u108d\\u109d\\u135f\\u1712-\\u1714\\u1732-\\u1734\\u1752\\u1753\\u1772\\u1773\\u17b7-\\u17bd\\u17c6\\u17c9-\\u17d3\\u17dd\\u180b-\\u180d\\u18a9\\u1920-\\u1922\\u1927\\u1928\\u1932\\u1939-\\u193b\\u1a17\\u1a18\\u1a56\\u1a58-\\u1a5e\\u1a60\\u1a62\\u1a65-\\u1a6c\\u1a73-\\u1a7c\\u1a7f\\u1b00-\\u1b03\\u1b34\\u1b36-\\u1b3a\\u1b3c\\u1b42\\u1b6b-\\u1b73\\u1b80\\u1b81\\u1ba2-\\u1ba5\\u1ba8\\u1ba9\\u1c2c-\\u1c33\\u1c36\\u1c37\\u1cd0-\\u1cd2\\u1cd4-\\u1ce0\\u1ce2-\\u1ce8\\u1ced\\u1dc0-\\u1de6\\u1dfd-\\u1dff\\u200c\\u200d\\u20d0-\\u20f0\\u2cef-\\u2cf1\\u2de0-\\u2dff\\u302a-\\u302f\\u3099\\u309a\\ua66f-\\ua672\\ua67c\\ua67d\\ua6f0\\ua6f1\\ua802\\ua806\\ua80b\\ua825\\ua826\\ua8c4\\ua8e0-\\ua8f1\\ua926-\\ua92d\\ua947-\\ua951\\ua980-\\ua982\\ua9b3\\ua9b6-\\ua9b9\\ua9bc\\uaa29-\\uaa2e\\uaa31\\uaa32\\uaa35\\uaa36\\uaa43\\uaa4c\\uaab0\\uaab2-\\uaab4\\uaab7\\uaab8\\uaabe\\uaabf\\uaac1\\uabe5\\uabe8\\uabed\\udc00-\\udfff\\ufb1e\\ufe00-\\ufe0f\\ufe20-\\ufe26\\uff9e\\uff9f]/\n\tfunction isExtendingChar(ch) { return ch.charCodeAt(0) >= 768 && extendingChars.test(ch) }\n\t\n\t// The display handles the DOM integration, both for input reading\n\t// and content drawing. It holds references to DOM nodes and\n\t// display-related state.\n\t\n\tfunction Display(place, doc, input) {\n\t var d = this\n\t this.input = input\n\t\n\t // Covers bottom-right square when both scrollbars are present.\n\t d.scrollbarFiller = elt(\"div\", null, \"CodeMirror-scrollbar-filler\")\n\t d.scrollbarFiller.setAttribute(\"cm-not-content\", \"true\")\n\t // Covers bottom of gutter when coverGutterNextToScrollbar is on\n\t // and h scrollbar is present.\n\t d.gutterFiller = elt(\"div\", null, \"CodeMirror-gutter-filler\")\n\t d.gutterFiller.setAttribute(\"cm-not-content\", \"true\")\n\t // Will contain the actual code, positioned to cover the viewport.\n\t d.lineDiv = elt(\"div\", null, \"CodeMirror-code\")\n\t // Elements are added to these to represent selection and cursors.\n\t d.selectionDiv = elt(\"div\", null, null, \"position: relative; z-index: 1\")\n\t d.cursorDiv = elt(\"div\", null, \"CodeMirror-cursors\")\n\t // A visibility: hidden element used to find the size of things.\n\t d.measure = elt(\"div\", null, \"CodeMirror-measure\")\n\t // When lines outside of the viewport are measured, they are drawn in this.\n\t d.lineMeasure = elt(\"div\", null, \"CodeMirror-measure\")\n\t // Wraps everything that needs to exist inside the vertically-padded coordinate system\n\t d.lineSpace = elt(\"div\", [d.measure, d.lineMeasure, d.selectionDiv, d.cursorDiv, d.lineDiv],\n\t null, \"position: relative; outline: none\")\n\t // Moved around its parent to cover visible view.\n\t d.mover = elt(\"div\", [elt(\"div\", [d.lineSpace], \"CodeMirror-lines\")], null, \"position: relative\")\n\t // Set to the height of the document, allowing scrolling.\n\t d.sizer = elt(\"div\", [d.mover], \"CodeMirror-sizer\")\n\t d.sizerWidth = null\n\t // Behavior of elts with overflow: auto and padding is\n\t // inconsistent across browsers. This is used to ensure the\n\t // scrollable area is big enough.\n\t d.heightForcer = elt(\"div\", null, null, \"position: absolute; height: \" + scrollerGap + \"px; width: 1px;\")\n\t // Will contain the gutters, if any.\n\t d.gutters = elt(\"div\", null, \"CodeMirror-gutters\")\n\t d.lineGutter = null\n\t // Actual scrollable element.\n\t d.scroller = elt(\"div\", [d.sizer, d.heightForcer, d.gutters], \"CodeMirror-scroll\")\n\t d.scroller.setAttribute(\"tabIndex\", \"-1\")\n\t // The element in which the editor lives.\n\t d.wrapper = elt(\"div\", [d.scrollbarFiller, d.gutterFiller, d.scroller], \"CodeMirror\")\n\t\n\t // Work around IE7 z-index bug (not perfect, hence IE7 not really being supported)\n\t if (ie && ie_version < 8) { d.gutters.style.zIndex = -1; d.scroller.style.paddingRight = 0 }\n\t if (!webkit && !(gecko && mobile)) { d.scroller.draggable = true }\n\t\n\t if (place) {\n\t if (place.appendChild) { place.appendChild(d.wrapper) }\n\t else { place(d.wrapper) }\n\t }\n\t\n\t // Current rendered range (may be bigger than the view window).\n\t d.viewFrom = d.viewTo = doc.first\n\t d.reportedViewFrom = d.reportedViewTo = doc.first\n\t // Information about the rendered lines.\n\t d.view = []\n\t d.renderedView = null\n\t // Holds info about a single rendered line when it was rendered\n\t // for measurement, while not in view.\n\t d.externalMeasured = null\n\t // Empty space (in pixels) above the view\n\t d.viewOffset = 0\n\t d.lastWrapHeight = d.lastWrapWidth = 0\n\t d.updateLineNumbers = null\n\t\n\t d.nativeBarWidth = d.barHeight = d.barWidth = 0\n\t d.scrollbarsClipped = false\n\t\n\t // Used to only resize the line number gutter when necessary (when\n\t // the amount of lines crosses a boundary that makes its width change)\n\t d.lineNumWidth = d.lineNumInnerWidth = d.lineNumChars = null\n\t // Set to true when a non-horizontal-scrolling line widget is\n\t // added. As an optimization, line widget aligning is skipped when\n\t // this is false.\n\t d.alignWidgets = false\n\t\n\t d.cachedCharWidth = d.cachedTextHeight = d.cachedPaddingH = null\n\t\n\t // Tracks the maximum line length so that the horizontal scrollbar\n\t // can be kept static when scrolling.\n\t d.maxLine = null\n\t d.maxLineLength = 0\n\t d.maxLineChanged = false\n\t\n\t // Used for measuring wheel scrolling granularity\n\t d.wheelDX = d.wheelDY = d.wheelStartX = d.wheelStartY = null\n\t\n\t // True when shift is held down.\n\t d.shift = false\n\t\n\t // Used to track whether anything happened since the context menu\n\t // was opened.\n\t d.selForContextMenu = null\n\t\n\t d.activeTouch = null\n\t\n\t input.init(d)\n\t}\n\t\n\t// Find the line object corresponding to the given line number.\n\tfunction getLine(doc, n) {\n\t n -= doc.first\n\t if (n < 0 || n >= doc.size) { throw new Error(\"There is no line \" + (n + doc.first) + \" in the document.\") }\n\t var chunk = doc\n\t while (!chunk.lines) {\n\t for (var i = 0;; ++i) {\n\t var child = chunk.children[i], sz = child.chunkSize()\n\t if (n < sz) { chunk = child; break }\n\t n -= sz\n\t }\n\t }\n\t return chunk.lines[n]\n\t}\n\t\n\t// Get the part of a document between two positions, as an array of\n\t// strings.\n\tfunction getBetween(doc, start, end) {\n\t var out = [], n = start.line\n\t doc.iter(start.line, end.line + 1, function (line) {\n\t var text = line.text\n\t if (n == end.line) { text = text.slice(0, end.ch) }\n\t if (n == start.line) { text = text.slice(start.ch) }\n\t out.push(text)\n\t ++n\n\t })\n\t return out\n\t}\n\t// Get the lines between from and to, as array of strings.\n\tfunction getLines(doc, from, to) {\n\t var out = []\n\t doc.iter(from, to, function (line) { out.push(line.text) }) // iter aborts when callback returns truthy value\n\t return out\n\t}\n\t\n\t// Update the height of a line, propagating the height change\n\t// upwards to parent nodes.\n\tfunction updateLineHeight(line, height) {\n\t var diff = height - line.height\n\t if (diff) { for (var n = line; n; n = n.parent) { n.height += diff } }\n\t}\n\t\n\t// Given a line object, find its line number by walking up through\n\t// its parent links.\n\tfunction lineNo(line) {\n\t if (line.parent == null) { return null }\n\t var cur = line.parent, no = indexOf(cur.lines, line)\n\t for (var chunk = cur.parent; chunk; cur = chunk, chunk = chunk.parent) {\n\t for (var i = 0;; ++i) {\n\t if (chunk.children[i] == cur) { break }\n\t no += chunk.children[i].chunkSize()\n\t }\n\t }\n\t return no + cur.first\n\t}\n\t\n\t// Find the line at the given vertical position, using the height\n\t// information in the document tree.\n\tfunction lineAtHeight(chunk, h) {\n\t var n = chunk.first\n\t outer: do {\n\t for (var i$1 = 0; i$1 < chunk.children.length; ++i$1) {\n\t var child = chunk.children[i$1], ch = child.height\n\t if (h < ch) { chunk = child; continue outer }\n\t h -= ch\n\t n += child.chunkSize()\n\t }\n\t return n\n\t } while (!chunk.lines)\n\t var i = 0\n\t for (; i < chunk.lines.length; ++i) {\n\t var line = chunk.lines[i], lh = line.height\n\t if (h < lh) { break }\n\t h -= lh\n\t }\n\t return n + i\n\t}\n\t\n\tfunction isLine(doc, l) {return l >= doc.first && l < doc.first + doc.size}\n\t\n\tfunction lineNumberFor(options, i) {\n\t return String(options.lineNumberFormatter(i + options.firstLineNumber))\n\t}\n\t\n\t// A Pos instance represents a position within the text.\n\tfunction Pos (line, ch) {\n\t if (!(this instanceof Pos)) { return new Pos(line, ch) }\n\t this.line = line; this.ch = ch\n\t}\n\t\n\t// Compare two positions, return 0 if they are the same, a negative\n\t// number when a is less, and a positive number otherwise.\n\tfunction cmp(a, b) { return a.line - b.line || a.ch - b.ch }\n\t\n\tfunction copyPos(x) {return Pos(x.line, x.ch)}\n\tfunction maxPos(a, b) { return cmp(a, b) < 0 ? b : a }\n\tfunction minPos(a, b) { return cmp(a, b) < 0 ? a : b }\n\t\n\t// Most of the external API clips given positions to make sure they\n\t// actually exist within the document.\n\tfunction clipLine(doc, n) {return Math.max(doc.first, Math.min(n, doc.first + doc.size - 1))}\n\tfunction clipPos(doc, pos) {\n\t if (pos.line < doc.first) { return Pos(doc.first, 0) }\n\t var last = doc.first + doc.size - 1\n\t if (pos.line > last) { return Pos(last, getLine(doc, last).text.length) }\n\t return clipToLen(pos, getLine(doc, pos.line).text.length)\n\t}\n\tfunction clipToLen(pos, linelen) {\n\t var ch = pos.ch\n\t if (ch == null || ch > linelen) { return Pos(pos.line, linelen) }\n\t else if (ch < 0) { return Pos(pos.line, 0) }\n\t else { return pos }\n\t}\n\tfunction clipPosArray(doc, array) {\n\t var out = []\n\t for (var i = 0; i < array.length; i++) { out[i] = clipPos(doc, array[i]) }\n\t return out\n\t}\n\t\n\t// Optimize some code when these features are not used.\n\tvar sawReadOnlySpans = false;\n\tvar sawCollapsedSpans = false;\n\tfunction seeReadOnlySpans() {\n\t sawReadOnlySpans = true\n\t}\n\t\n\tfunction seeCollapsedSpans() {\n\t sawCollapsedSpans = true\n\t}\n\t\n\t// TEXTMARKER SPANS\n\t\n\tfunction MarkedSpan(marker, from, to) {\n\t this.marker = marker\n\t this.from = from; this.to = to\n\t}\n\t\n\t// Search an array of spans for a span matching the given marker.\n\tfunction getMarkedSpanFor(spans, marker) {\n\t if (spans) { for (var i = 0; i < spans.length; ++i) {\n\t var span = spans[i]\n\t if (span.marker == marker) { return span }\n\t } }\n\t}\n\t// Remove a span from an array, returning undefined if no spans are\n\t// left (we don't store arrays for lines without spans).\n\tfunction removeMarkedSpan(spans, span) {\n\t var r\n\t for (var i = 0; i < spans.length; ++i)\n\t { if (spans[i] != span) { (r || (r = [])).push(spans[i]) } }\n\t return r\n\t}\n\t// Add a span to a line.\n\tfunction addMarkedSpan(line, span) {\n\t line.markedSpans = line.markedSpans ? line.markedSpans.concat([span]) : [span]\n\t span.marker.attachLine(line)\n\t}\n\t\n\t// Used for the algorithm that adjusts markers for a change in the\n\t// document. These functions cut an array of spans at a given\n\t// character position, returning an array of remaining chunks (or\n\t// undefined if nothing remains).\n\tfunction markedSpansBefore(old, startCh, isInsert) {\n\t var nw\n\t if (old) { for (var i = 0; i < old.length; ++i) {\n\t var span = old[i], marker = span.marker\n\t var startsBefore = span.from == null || (marker.inclusiveLeft ? span.from <= startCh : span.from < startCh)\n\t if (startsBefore || span.from == startCh && marker.type == \"bookmark\" && (!isInsert || !span.marker.insertLeft)) {\n\t var endsAfter = span.to == null || (marker.inclusiveRight ? span.to >= startCh : span.to > startCh)\n\t ;(nw || (nw = [])).push(new MarkedSpan(marker, span.from, endsAfter ? null : span.to))\n\t }\n\t } }\n\t return nw\n\t}\n\tfunction markedSpansAfter(old, endCh, isInsert) {\n\t var nw\n\t if (old) { for (var i = 0; i < old.length; ++i) {\n\t var span = old[i], marker = span.marker\n\t var endsAfter = span.to == null || (marker.inclusiveRight ? span.to >= endCh : span.to > endCh)\n\t if (endsAfter || span.from == endCh && marker.type == \"bookmark\" && (!isInsert || span.marker.insertLeft)) {\n\t var startsBefore = span.from == null || (marker.inclusiveLeft ? span.from <= endCh : span.from < endCh)\n\t ;(nw || (nw = [])).push(new MarkedSpan(marker, startsBefore ? null : span.from - endCh,\n\t span.to == null ? null : span.to - endCh))\n\t }\n\t } }\n\t return nw\n\t}\n\t\n\t// Given a change object, compute the new set of marker spans that\n\t// cover the line in which the change took place. Removes spans\n\t// entirely within the change, reconnects spans belonging to the\n\t// same marker that appear on both sides of the change, and cuts off\n\t// spans partially within the change. Returns an array of span\n\t// arrays with one element for each line in (after) the change.\n\tfunction stretchSpansOverChange(doc, change) {\n\t if (change.full) { return null }\n\t var oldFirst = isLine(doc, change.from.line) && getLine(doc, change.from.line).markedSpans\n\t var oldLast = isLine(doc, change.to.line) && getLine(doc, change.to.line).markedSpans\n\t if (!oldFirst && !oldLast) { return null }\n\t\n\t var startCh = change.from.ch, endCh = change.to.ch, isInsert = cmp(change.from, change.to) == 0\n\t // Get the spans that 'stick out' on both sides\n\t var first = markedSpansBefore(oldFirst, startCh, isInsert)\n\t var last = markedSpansAfter(oldLast, endCh, isInsert)\n\t\n\t // Next, merge those two ends\n\t var sameLine = change.text.length == 1, offset = lst(change.text).length + (sameLine ? startCh : 0)\n\t if (first) {\n\t // Fix up .to properties of first\n\t for (var i = 0; i < first.length; ++i) {\n\t var span = first[i]\n\t if (span.to == null) {\n\t var found = getMarkedSpanFor(last, span.marker)\n\t if (!found) { span.to = startCh }\n\t else if (sameLine) { span.to = found.to == null ? null : found.to + offset }\n\t }\n\t }\n\t }\n\t if (last) {\n\t // Fix up .from in last (or move them into first in case of sameLine)\n\t for (var i$1 = 0; i$1 < last.length; ++i$1) {\n\t var span$1 = last[i$1]\n\t if (span$1.to != null) { span$1.to += offset }\n\t if (span$1.from == null) {\n\t var found$1 = getMarkedSpanFor(first, span$1.marker)\n\t if (!found$1) {\n\t span$1.from = offset\n\t if (sameLine) { (first || (first = [])).push(span$1) }\n\t }\n\t } else {\n\t span$1.from += offset\n\t if (sameLine) { (first || (first = [])).push(span$1) }\n\t }\n\t }\n\t }\n\t // Make sure we didn't create any zero-length spans\n\t if (first) { first = clearEmptySpans(first) }\n\t if (last && last != first) { last = clearEmptySpans(last) }\n\t\n\t var newMarkers = [first]\n\t if (!sameLine) {\n\t // Fill gap with whole-line-spans\n\t var gap = change.text.length - 2, gapMarkers\n\t if (gap > 0 && first)\n\t { for (var i$2 = 0; i$2 < first.length; ++i$2)\n\t { if (first[i$2].to == null)\n\t { (gapMarkers || (gapMarkers = [])).push(new MarkedSpan(first[i$2].marker, null, null)) } } }\n\t for (var i$3 = 0; i$3 < gap; ++i$3)\n\t { newMarkers.push(gapMarkers) }\n\t newMarkers.push(last)\n\t }\n\t return newMarkers\n\t}\n\t\n\t// Remove spans that are empty and don't have a clearWhenEmpty\n\t// option of false.\n\tfunction clearEmptySpans(spans) {\n\t for (var i = 0; i < spans.length; ++i) {\n\t var span = spans[i]\n\t if (span.from != null && span.from == span.to && span.marker.clearWhenEmpty !== false)\n\t { spans.splice(i--, 1) }\n\t }\n\t if (!spans.length) { return null }\n\t return spans\n\t}\n\t\n\t// Used to 'clip' out readOnly ranges when making a change.\n\tfunction removeReadOnlyRanges(doc, from, to) {\n\t var markers = null\n\t doc.iter(from.line, to.line + 1, function (line) {\n\t if (line.markedSpans) { for (var i = 0; i < line.markedSpans.length; ++i) {\n\t var mark = line.markedSpans[i].marker\n\t if (mark.readOnly && (!markers || indexOf(markers, mark) == -1))\n\t { (markers || (markers = [])).push(mark) }\n\t } }\n\t })\n\t if (!markers) { return null }\n\t var parts = [{from: from, to: to}]\n\t for (var i = 0; i < markers.length; ++i) {\n\t var mk = markers[i], m = mk.find(0)\n\t for (var j = 0; j < parts.length; ++j) {\n\t var p = parts[j]\n\t if (cmp(p.to, m.from) < 0 || cmp(p.from, m.to) > 0) { continue }\n\t var newParts = [j, 1], dfrom = cmp(p.from, m.from), dto = cmp(p.to, m.to)\n\t if (dfrom < 0 || !mk.inclusiveLeft && !dfrom)\n\t { newParts.push({from: p.from, to: m.from}) }\n\t if (dto > 0 || !mk.inclusiveRight && !dto)\n\t { newParts.push({from: m.to, to: p.to}) }\n\t parts.splice.apply(parts, newParts)\n\t j += newParts.length - 1\n\t }\n\t }\n\t return parts\n\t}\n\t\n\t// Connect or disconnect spans from a line.\n\tfunction detachMarkedSpans(line) {\n\t var spans = line.markedSpans\n\t if (!spans) { return }\n\t for (var i = 0; i < spans.length; ++i)\n\t { spans[i].marker.detachLine(line) }\n\t line.markedSpans = null\n\t}\n\tfunction attachMarkedSpans(line, spans) {\n\t if (!spans) { return }\n\t for (var i = 0; i < spans.length; ++i)\n\t { spans[i].marker.attachLine(line) }\n\t line.markedSpans = spans\n\t}\n\t\n\t// Helpers used when computing which overlapping collapsed span\n\t// counts as the larger one.\n\tfunction extraLeft(marker) { return marker.inclusiveLeft ? -1 : 0 }\n\tfunction extraRight(marker) { return marker.inclusiveRight ? 1 : 0 }\n\t\n\t// Returns a number indicating which of two overlapping collapsed\n\t// spans is larger (and thus includes the other). Falls back to\n\t// comparing ids when the spans cover exactly the same range.\n\tfunction compareCollapsedMarkers(a, b) {\n\t var lenDiff = a.lines.length - b.lines.length\n\t if (lenDiff != 0) { return lenDiff }\n\t var aPos = a.find(), bPos = b.find()\n\t var fromCmp = cmp(aPos.from, bPos.from) || extraLeft(a) - extraLeft(b)\n\t if (fromCmp) { return -fromCmp }\n\t var toCmp = cmp(aPos.to, bPos.to) || extraRight(a) - extraRight(b)\n\t if (toCmp) { return toCmp }\n\t return b.id - a.id\n\t}\n\t\n\t// Find out whether a line ends or starts in a collapsed span. If\n\t// so, return the marker for that span.\n\tfunction collapsedSpanAtSide(line, start) {\n\t var sps = sawCollapsedSpans && line.markedSpans, found\n\t if (sps) { for (var sp = (void 0), i = 0; i < sps.length; ++i) {\n\t sp = sps[i]\n\t if (sp.marker.collapsed && (start ? sp.from : sp.to) == null &&\n\t (!found || compareCollapsedMarkers(found, sp.marker) < 0))\n\t { found = sp.marker }\n\t } }\n\t return found\n\t}\n\tfunction collapsedSpanAtStart(line) { return collapsedSpanAtSide(line, true) }\n\tfunction collapsedSpanAtEnd(line) { return collapsedSpanAtSide(line, false) }\n\t\n\t// Test whether there exists a collapsed span that partially\n\t// overlaps (covers the start or end, but not both) of a new span.\n\t// Such overlap is not allowed.\n\tfunction conflictingCollapsedRange(doc, lineNo, from, to, marker) {\n\t var line = getLine(doc, lineNo)\n\t var sps = sawCollapsedSpans && line.markedSpans\n\t if (sps) { for (var i = 0; i < sps.length; ++i) {\n\t var sp = sps[i]\n\t if (!sp.marker.collapsed) { continue }\n\t var found = sp.marker.find(0)\n\t var fromCmp = cmp(found.from, from) || extraLeft(sp.marker) - extraLeft(marker)\n\t var toCmp = cmp(found.to, to) || extraRight(sp.marker) - extraRight(marker)\n\t if (fromCmp >= 0 && toCmp <= 0 || fromCmp <= 0 && toCmp >= 0) { continue }\n\t if (fromCmp <= 0 && (sp.marker.inclusiveRight && marker.inclusiveLeft ? cmp(found.to, from) >= 0 : cmp(found.to, from) > 0) ||\n\t fromCmp >= 0 && (sp.marker.inclusiveRight && marker.inclusiveLeft ? cmp(found.from, to) <= 0 : cmp(found.from, to) < 0))\n\t { return true }\n\t } }\n\t}\n\t\n\t// A visual line is a line as drawn on the screen. Folding, for\n\t// example, can cause multiple logical lines to appear on the same\n\t// visual line. This finds the start of the visual line that the\n\t// given line is part of (usually that is the line itself).\n\tfunction visualLine(line) {\n\t var merged\n\t while (merged = collapsedSpanAtStart(line))\n\t { line = merged.find(-1, true).line }\n\t return line\n\t}\n\t\n\t// Returns an array of logical lines that continue the visual line\n\t// started by the argument, or undefined if there are no such lines.\n\tfunction visualLineContinued(line) {\n\t var merged, lines\n\t while (merged = collapsedSpanAtEnd(line)) {\n\t line = merged.find(1, true).line\n\t ;(lines || (lines = [])).push(line)\n\t }\n\t return lines\n\t}\n\t\n\t// Get the line number of the start of the visual line that the\n\t// given line number is part of.\n\tfunction visualLineNo(doc, lineN) {\n\t var line = getLine(doc, lineN), vis = visualLine(line)\n\t if (line == vis) { return lineN }\n\t return lineNo(vis)\n\t}\n\t\n\t// Get the line number of the start of the next visual line after\n\t// the given line.\n\tfunction visualLineEndNo(doc, lineN) {\n\t if (lineN > doc.lastLine()) { return lineN }\n\t var line = getLine(doc, lineN), merged\n\t if (!lineIsHidden(doc, line)) { return lineN }\n\t while (merged = collapsedSpanAtEnd(line))\n\t { line = merged.find(1, true).line }\n\t return lineNo(line) + 1\n\t}\n\t\n\t// Compute whether a line is hidden. Lines count as hidden when they\n\t// are part of a visual line that starts with another line, or when\n\t// they are entirely covered by collapsed, non-widget span.\n\tfunction lineIsHidden(doc, line) {\n\t var sps = sawCollapsedSpans && line.markedSpans\n\t if (sps) { for (var sp = (void 0), i = 0; i < sps.length; ++i) {\n\t sp = sps[i]\n\t if (!sp.marker.collapsed) { continue }\n\t if (sp.from == null) { return true }\n\t if (sp.marker.widgetNode) { continue }\n\t if (sp.from == 0 && sp.marker.inclusiveLeft && lineIsHiddenInner(doc, line, sp))\n\t { return true }\n\t } }\n\t}\n\tfunction lineIsHiddenInner(doc, line, span) {\n\t if (span.to == null) {\n\t var end = span.marker.find(1, true)\n\t return lineIsHiddenInner(doc, end.line, getMarkedSpanFor(end.line.markedSpans, span.marker))\n\t }\n\t if (span.marker.inclusiveRight && span.to == line.text.length)\n\t { return true }\n\t for (var sp = (void 0), i = 0; i < line.markedSpans.length; ++i) {\n\t sp = line.markedSpans[i]\n\t if (sp.marker.collapsed && !sp.marker.widgetNode && sp.from == span.to &&\n\t (sp.to == null || sp.to != span.from) &&\n\t (sp.marker.inclusiveLeft || span.marker.inclusiveRight) &&\n\t lineIsHiddenInner(doc, line, sp)) { return true }\n\t }\n\t}\n\t\n\t// Find the height above the given line.\n\tfunction heightAtLine(lineObj) {\n\t lineObj = visualLine(lineObj)\n\t\n\t var h = 0, chunk = lineObj.parent\n\t for (var i = 0; i < chunk.lines.length; ++i) {\n\t var line = chunk.lines[i]\n\t if (line == lineObj) { break }\n\t else { h += line.height }\n\t }\n\t for (var p = chunk.parent; p; chunk = p, p = chunk.parent) {\n\t for (var i$1 = 0; i$1 < p.children.length; ++i$1) {\n\t var cur = p.children[i$1]\n\t if (cur == chunk) { break }\n\t else { h += cur.height }\n\t }\n\t }\n\t return h\n\t}\n\t\n\t// Compute the character length of a line, taking into account\n\t// collapsed ranges (see markText) that might hide parts, and join\n\t// other lines onto it.\n\tfunction lineLength(line) {\n\t if (line.height == 0) { return 0 }\n\t var len = line.text.length, merged, cur = line\n\t while (merged = collapsedSpanAtStart(cur)) {\n\t var found = merged.find(0, true)\n\t cur = found.from.line\n\t len += found.from.ch - found.to.ch\n\t }\n\t cur = line\n\t while (merged = collapsedSpanAtEnd(cur)) {\n\t var found$1 = merged.find(0, true)\n\t len -= cur.text.length - found$1.from.ch\n\t cur = found$1.to.line\n\t len += cur.text.length - found$1.to.ch\n\t }\n\t return len\n\t}\n\t\n\t// Find the longest line in the document.\n\tfunction findMaxLine(cm) {\n\t var d = cm.display, doc = cm.doc\n\t d.maxLine = getLine(doc, doc.first)\n\t d.maxLineLength = lineLength(d.maxLine)\n\t d.maxLineChanged = true\n\t doc.iter(function (line) {\n\t var len = lineLength(line)\n\t if (len > d.maxLineLength) {\n\t d.maxLineLength = len\n\t d.maxLine = line\n\t }\n\t })\n\t}\n\t\n\t// BIDI HELPERS\n\t\n\tfunction iterateBidiSections(order, from, to, f) {\n\t if (!order) { return f(from, to, \"ltr\") }\n\t var found = false\n\t for (var i = 0; i < order.length; ++i) {\n\t var part = order[i]\n\t if (part.from < to && part.to > from || from == to && part.to == from) {\n\t f(Math.max(part.from, from), Math.min(part.to, to), part.level == 1 ? \"rtl\" : \"ltr\")\n\t found = true\n\t }\n\t }\n\t if (!found) { f(from, to, \"ltr\") }\n\t}\n\t\n\tfunction bidiLeft(part) { return part.level % 2 ? part.to : part.from }\n\tfunction bidiRight(part) { return part.level % 2 ? part.from : part.to }\n\t\n\tfunction lineLeft(line) { var order = getOrder(line); return order ? bidiLeft(order[0]) : 0 }\n\tfunction lineRight(line) {\n\t var order = getOrder(line)\n\t if (!order) { return line.text.length }\n\t return bidiRight(lst(order))\n\t}\n\t\n\tfunction compareBidiLevel(order, a, b) {\n\t var linedir = order[0].level\n\t if (a == linedir) { return true }\n\t if (b == linedir) { return false }\n\t return a < b\n\t}\n\t\n\tvar bidiOther = null\n\tfunction getBidiPartAt(order, pos) {\n\t var found\n\t bidiOther = null\n\t for (var i = 0; i < order.length; ++i) {\n\t var cur = order[i]\n\t if (cur.from < pos && cur.to > pos) { return i }\n\t if ((cur.from == pos || cur.to == pos)) {\n\t if (found == null) {\n\t found = i\n\t } else if (compareBidiLevel(order, cur.level, order[found].level)) {\n\t if (cur.from != cur.to) { bidiOther = found }\n\t return i\n\t } else {\n\t if (cur.from != cur.to) { bidiOther = i }\n\t return found\n\t }\n\t }\n\t }\n\t return found\n\t}\n\t\n\tfunction moveInLine(line, pos, dir, byUnit) {\n\t if (!byUnit) { return pos + dir }\n\t do { pos += dir }\n\t while (pos > 0 && isExtendingChar(line.text.charAt(pos)))\n\t return pos\n\t}\n\t\n\t// This is needed in order to move 'visually' through bi-directional\n\t// text -- i.e., pressing left should make the cursor go left, even\n\t// when in RTL text. The tricky part is the 'jumps', where RTL and\n\t// LTR text touch each other. This often requires the cursor offset\n\t// to move more than one unit, in order to visually move one unit.\n\tfunction moveVisually(line, start, dir, byUnit) {\n\t var bidi = getOrder(line)\n\t if (!bidi) { return moveLogically(line, start, dir, byUnit) }\n\t var pos = getBidiPartAt(bidi, start), part = bidi[pos]\n\t var target = moveInLine(line, start, part.level % 2 ? -dir : dir, byUnit)\n\t\n\t for (;;) {\n\t if (target > part.from && target < part.to) { return target }\n\t if (target == part.from || target == part.to) {\n\t if (getBidiPartAt(bidi, target) == pos) { return target }\n\t part = bidi[pos += dir]\n\t return (dir > 0) == part.level % 2 ? part.to : part.from\n\t } else {\n\t part = bidi[pos += dir]\n\t if (!part) { return null }\n\t if ((dir > 0) == part.level % 2)\n\t { target = moveInLine(line, part.to, -1, byUnit) }\n\t else\n\t { target = moveInLine(line, part.from, 1, byUnit) }\n\t }\n\t }\n\t}\n\t\n\tfunction moveLogically(line, start, dir, byUnit) {\n\t var target = start + dir\n\t if (byUnit) { while (target > 0 && isExtendingChar(line.text.charAt(target))) { target += dir } }\n\t return target < 0 || target > line.text.length ? null : target\n\t}\n\t\n\t// Bidirectional ordering algorithm\n\t// See http://unicode.org/reports/tr9/tr9-13.html for the algorithm\n\t// that this (partially) implements.\n\t\n\t// One-char codes used for character types:\n\t// L (L): Left-to-Right\n\t// R (R): Right-to-Left\n\t// r (AL): Right-to-Left Arabic\n\t// 1 (EN): European Number\n\t// + (ES): European Number Separator\n\t// % (ET): European Number Terminator\n\t// n (AN): Arabic Number\n\t// , (CS): Common Number Separator\n\t// m (NSM): Non-Spacing Mark\n\t// b (BN): Boundary Neutral\n\t// s (B): Paragraph Separator\n\t// t (S): Segment Separator\n\t// w (WS): Whitespace\n\t// N (ON): Other Neutrals\n\t\n\t// Returns null if characters are ordered as they appear\n\t// (left-to-right), or an array of sections ({from, to, level}\n\t// objects) in the order in which they occur visually.\n\tvar bidiOrdering = (function() {\n\t // Character types for codepoints 0 to 0xff\n\t var lowTypes = \"bbbbbbbbbtstwsbbbbbbbbbbbbbbssstwNN%%%NNNNNN,N,N1111111111NNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNbbbbbbsbbbbbbbbbbbbbbbbbbbbbbbbbb,N%%%%NNNNLNNNNN%%11NLNNN1LNNNNNLLLLLLLLLLLLLLLLLLLLLLLNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLN\"\n\t // Character types for codepoints 0x600 to 0x6f9\n\t var arabicTypes = \"nnnnnnNNr%%r,rNNmmmmmmmmmmmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnn%nnrrrmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmnNmmmmmmrrmmNmmmmrr1111111111\"\n\t function charType(code) {\n\t if (code <= 0xf7) { return lowTypes.charAt(code) }\n\t else if (0x590 <= code && code <= 0x5f4) { return \"R\" }\n\t else if (0x600 <= code && code <= 0x6f9) { return arabicTypes.charAt(code - 0x600) }\n\t else if (0x6ee <= code && code <= 0x8ac) { return \"r\" }\n\t else if (0x2000 <= code && code <= 0x200b) { return \"w\" }\n\t else if (code == 0x200c) { return \"b\" }\n\t else { return \"L\" }\n\t }\n\t\n\t var bidiRE = /[\\u0590-\\u05f4\\u0600-\\u06ff\\u0700-\\u08ac]/\n\t var isNeutral = /[stwN]/, isStrong = /[LRr]/, countsAsLeft = /[Lb1n]/, countsAsNum = /[1n]/\n\t // Browsers seem to always treat the boundaries of block elements as being L.\n\t var outerType = \"L\"\n\t\n\t function BidiSpan(level, from, to) {\n\t this.level = level\n\t this.from = from; this.to = to\n\t }\n\t\n\t return function(str) {\n\t if (!bidiRE.test(str)) { return false }\n\t var len = str.length, types = []\n\t for (var i = 0; i < len; ++i)\n\t { types.push(charType(str.charCodeAt(i))) }\n\t\n\t // W1. Examine each non-spacing mark (NSM) in the level run, and\n\t // change the type of the NSM to the type of the previous\n\t // character. If the NSM is at the start of the level run, it will\n\t // get the type of sor.\n\t for (var i$1 = 0, prev = outerType; i$1 < len; ++i$1) {\n\t var type = types[i$1]\n\t if (type == \"m\") { types[i$1] = prev }\n\t else { prev = type }\n\t }\n\t\n\t // W2. Search backwards from each instance of a European number\n\t // until the first strong type (R, L, AL, or sor) is found. If an\n\t // AL is found, change the type of the European number to Arabic\n\t // number.\n\t // W3. Change all ALs to R.\n\t for (var i$2 = 0, cur = outerType; i$2 < len; ++i$2) {\n\t var type$1 = types[i$2]\n\t if (type$1 == \"1\" && cur == \"r\") { types[i$2] = \"n\" }\n\t else if (isStrong.test(type$1)) { cur = type$1; if (type$1 == \"r\") { types[i$2] = \"R\" } }\n\t }\n\t\n\t // W4. A single European separator between two European numbers\n\t // changes to a European number. A single common separator between\n\t // two numbers of the same type changes to that type.\n\t for (var i$3 = 1, prev$1 = types[0]; i$3 < len - 1; ++i$3) {\n\t var type$2 = types[i$3]\n\t if (type$2 == \"+\" && prev$1 == \"1\" && types[i$3+1] == \"1\") { types[i$3] = \"1\" }\n\t else if (type$2 == \",\" && prev$1 == types[i$3+1] &&\n\t (prev$1 == \"1\" || prev$1 == \"n\")) { types[i$3] = prev$1 }\n\t prev$1 = type$2\n\t }\n\t\n\t // W5. A sequence of European terminators adjacent to European\n\t // numbers changes to all European numbers.\n\t // W6. Otherwise, separators and terminators change to Other\n\t // Neutral.\n\t for (var i$4 = 0; i$4 < len; ++i$4) {\n\t var type$3 = types[i$4]\n\t if (type$3 == \",\") { types[i$4] = \"N\" }\n\t else if (type$3 == \"%\") {\n\t var end = (void 0)\n\t for (end = i$4 + 1; end < len && types[end] == \"%\"; ++end) {}\n\t var replace = (i$4 && types[i$4-1] == \"!\") || (end < len && types[end] == \"1\") ? \"1\" : \"N\"\n\t for (var j = i$4; j < end; ++j) { types[j] = replace }\n\t i$4 = end - 1\n\t }\n\t }\n\t\n\t // W7. Search backwards from each instance of a European number\n\t // until the first strong type (R, L, or sor) is found. If an L is\n\t // found, then change the type of the European number to L.\n\t for (var i$5 = 0, cur$1 = outerType; i$5 < len; ++i$5) {\n\t var type$4 = types[i$5]\n\t if (cur$1 == \"L\" && type$4 == \"1\") { types[i$5] = \"L\" }\n\t else if (isStrong.test(type$4)) { cur$1 = type$4 }\n\t }\n\t\n\t // N1. A sequence of neutrals takes the direction of the\n\t // surrounding strong text if the text on both sides has the same\n\t // direction. European and Arabic numbers act as if they were R in\n\t // terms of their influence on neutrals. Start-of-level-run (sor)\n\t // and end-of-level-run (eor) are used at level run boundaries.\n\t // N2. Any remaining neutrals take the embedding direction.\n\t for (var i$6 = 0; i$6 < len; ++i$6) {\n\t if (isNeutral.test(types[i$6])) {\n\t var end$1 = (void 0)\n\t for (end$1 = i$6 + 1; end$1 < len && isNeutral.test(types[end$1]); ++end$1) {}\n\t var before = (i$6 ? types[i$6-1] : outerType) == \"L\"\n\t var after = (end$1 < len ? types[end$1] : outerType) == \"L\"\n\t var replace$1 = before || after ? \"L\" : \"R\"\n\t for (var j$1 = i$6; j$1 < end$1; ++j$1) { types[j$1] = replace$1 }\n\t i$6 = end$1 - 1\n\t }\n\t }\n\t\n\t // Here we depart from the documented algorithm, in order to avoid\n\t // building up an actual levels array. Since there are only three\n\t // levels (0, 1, 2) in an implementation that doesn't take\n\t // explicit embedding into account, we can build up the order on\n\t // the fly, without following the level-based algorithm.\n\t var order = [], m\n\t for (var i$7 = 0; i$7 < len;) {\n\t if (countsAsLeft.test(types[i$7])) {\n\t var start = i$7\n\t for (++i$7; i$7 < len && countsAsLeft.test(types[i$7]); ++i$7) {}\n\t order.push(new BidiSpan(0, start, i$7))\n\t } else {\n\t var pos = i$7, at = order.length\n\t for (++i$7; i$7 < len && types[i$7] != \"L\"; ++i$7) {}\n\t for (var j$2 = pos; j$2 < i$7;) {\n\t if (countsAsNum.test(types[j$2])) {\n\t if (pos < j$2) { order.splice(at, 0, new BidiSpan(1, pos, j$2)) }\n\t var nstart = j$2\n\t for (++j$2; j$2 < i$7 && countsAsNum.test(types[j$2]); ++j$2) {}\n\t order.splice(at, 0, new BidiSpan(2, nstart, j$2))\n\t pos = j$2\n\t } else { ++j$2 }\n\t }\n\t if (pos < i$7) { order.splice(at, 0, new BidiSpan(1, pos, i$7)) }\n\t }\n\t }\n\t if (order[0].level == 1 && (m = str.match(/^\\s+/))) {\n\t order[0].from = m[0].length\n\t order.unshift(new BidiSpan(0, 0, m[0].length))\n\t }\n\t if (lst(order).level == 1 && (m = str.match(/\\s+$/))) {\n\t lst(order).to -= m[0].length\n\t order.push(new BidiSpan(0, len - m[0].length, len))\n\t }\n\t if (order[0].level == 2)\n\t { order.unshift(new BidiSpan(1, order[0].to, order[0].to)) }\n\t if (order[0].level != lst(order).level)\n\t { order.push(new BidiSpan(order[0].level, len, len)) }\n\t\n\t return order\n\t }\n\t})()\n\t\n\t// Get the bidi ordering for the given line (and cache it). Returns\n\t// false for lines that are fully left-to-right, and an array of\n\t// BidiSpan objects otherwise.\n\tfunction getOrder(line) {\n\t var order = line.order\n\t if (order == null) { order = line.order = bidiOrdering(line.text) }\n\t return order\n\t}\n\t\n\t// EVENT HANDLING\n\t\n\t// Lightweight event framework. on/off also work on DOM nodes,\n\t// registering native DOM handlers.\n\t\n\tvar noHandlers = []\n\t\n\tvar on = function(emitter, type, f) {\n\t if (emitter.addEventListener) {\n\t emitter.addEventListener(type, f, false)\n\t } else if (emitter.attachEvent) {\n\t emitter.attachEvent(\"on\" + type, f)\n\t } else {\n\t var map = emitter._handlers || (emitter._handlers = {})\n\t map[type] = (map[type] || noHandlers).concat(f)\n\t }\n\t}\n\t\n\tfunction getHandlers(emitter, type) {\n\t return emitter._handlers && emitter._handlers[type] || noHandlers\n\t}\n\t\n\tfunction off(emitter, type, f) {\n\t if (emitter.removeEventListener) {\n\t emitter.removeEventListener(type, f, false)\n\t } else if (emitter.detachEvent) {\n\t emitter.detachEvent(\"on\" + type, f)\n\t } else {\n\t var map = emitter._handlers, arr = map && map[type]\n\t if (arr) {\n\t var index = indexOf(arr, f)\n\t if (index > -1)\n\t { map[type] = arr.slice(0, index).concat(arr.slice(index + 1)) }\n\t }\n\t }\n\t}\n\t\n\tfunction signal(emitter, type /*, values...*/) {\n\t var handlers = getHandlers(emitter, type)\n\t if (!handlers.length) { return }\n\t var args = Array.prototype.slice.call(arguments, 2)\n\t for (var i = 0; i < handlers.length; ++i) { handlers[i].apply(null, args) }\n\t}\n\t\n\t// The DOM events that CodeMirror handles can be overridden by\n\t// registering a (non-DOM) handler on the editor for the event name,\n\t// and preventDefault-ing the event in that handler.\n\tfunction signalDOMEvent(cm, e, override) {\n\t if (typeof e == \"string\")\n\t { e = {type: e, preventDefault: function() { this.defaultPrevented = true }} }\n\t signal(cm, override || e.type, cm, e)\n\t return e_defaultPrevented(e) || e.codemirrorIgnore\n\t}\n\t\n\tfunction signalCursorActivity(cm) {\n\t var arr = cm._handlers && cm._handlers.cursorActivity\n\t if (!arr) { return }\n\t var set = cm.curOp.cursorActivityHandlers || (cm.curOp.cursorActivityHandlers = [])\n\t for (var i = 0; i < arr.length; ++i) { if (indexOf(set, arr[i]) == -1)\n\t { set.push(arr[i]) } }\n\t}\n\t\n\tfunction hasHandler(emitter, type) {\n\t return getHandlers(emitter, type).length > 0\n\t}\n\t\n\t// Add on and off methods to a constructor's prototype, to make\n\t// registering events on such objects more convenient.\n\tfunction eventMixin(ctor) {\n\t ctor.prototype.on = function(type, f) {on(this, type, f)}\n\t ctor.prototype.off = function(type, f) {off(this, type, f)}\n\t}\n\t\n\t// Due to the fact that we still support jurassic IE versions, some\n\t// compatibility wrappers are needed.\n\t\n\tfunction e_preventDefault(e) {\n\t if (e.preventDefault) { e.preventDefault() }\n\t else { e.returnValue = false }\n\t}\n\tfunction e_stopPropagation(e) {\n\t if (e.stopPropagation) { e.stopPropagation() }\n\t else { e.cancelBubble = true }\n\t}\n\tfunction e_defaultPrevented(e) {\n\t return e.defaultPrevented != null ? e.defaultPrevented : e.returnValue == false\n\t}\n\tfunction e_stop(e) {e_preventDefault(e); e_stopPropagation(e)}\n\t\n\tfunction e_target(e) {return e.target || e.srcElement}\n\tfunction e_button(e) {\n\t var b = e.which\n\t if (b == null) {\n\t if (e.button & 1) { b = 1 }\n\t else if (e.button & 2) { b = 3 }\n\t else if (e.button & 4) { b = 2 }\n\t }\n\t if (mac && e.ctrlKey && b == 1) { b = 3 }\n\t return b\n\t}\n\t\n\t// Detect drag-and-drop\n\tvar dragAndDrop = function() {\n\t // There is *some* kind of drag-and-drop support in IE6-8, but I\n\t // couldn't get it to work yet.\n\t if (ie && ie_version < 9) { return false }\n\t var div = elt('div')\n\t return \"draggable\" in div || \"dragDrop\" in div\n\t}()\n\t\n\tvar zwspSupported\n\tfunction zeroWidthElement(measure) {\n\t if (zwspSupported == null) {\n\t var test = elt(\"span\", \"\\u200b\")\n\t removeChildrenAndAdd(measure, elt(\"span\", [test, document.createTextNode(\"x\")]))\n\t if (measure.firstChild.offsetHeight != 0)\n\t { zwspSupported = test.offsetWidth <= 1 && test.offsetHeight > 2 && !(ie && ie_version < 8) }\n\t }\n\t var node = zwspSupported ? elt(\"span\", \"\\u200b\") :\n\t elt(\"span\", \"\\u00a0\", null, \"display: inline-block; width: 1px; margin-right: -1px\")\n\t node.setAttribute(\"cm-text\", \"\")\n\t return node\n\t}\n\t\n\t// Feature-detect IE's crummy client rect reporting for bidi text\n\tvar badBidiRects\n\tfunction hasBadBidiRects(measure) {\n\t if (badBidiRects != null) { return badBidiRects }\n\t var txt = removeChildrenAndAdd(measure, document.createTextNode(\"A\\u062eA\"))\n\t var r0 = range(txt, 0, 1).getBoundingClientRect()\n\t var r1 = range(txt, 1, 2).getBoundingClientRect()\n\t removeChildren(measure)\n\t if (!r0 || r0.left == r0.right) { return false } // Safari returns null in some cases (#2780)\n\t return badBidiRects = (r1.right - r0.right < 3)\n\t}\n\t\n\t// See if \"\".split is the broken IE version, if so, provide an\n\t// alternative way to split lines.\n\tvar splitLinesAuto = \"\\n\\nb\".split(/\\n/).length != 3 ? function (string) {\n\t var pos = 0, result = [], l = string.length\n\t while (pos <= l) {\n\t var nl = string.indexOf(\"\\n\", pos)\n\t if (nl == -1) { nl = string.length }\n\t var line = string.slice(pos, string.charAt(nl - 1) == \"\\r\" ? nl - 1 : nl)\n\t var rt = line.indexOf(\"\\r\")\n\t if (rt != -1) {\n\t result.push(line.slice(0, rt))\n\t pos += rt + 1\n\t } else {\n\t result.push(line)\n\t pos = nl + 1\n\t }\n\t }\n\t return result\n\t} : function (string) { return string.split(/\\r\\n?|\\n/); }\n\t\n\tvar hasSelection = window.getSelection ? function (te) {\n\t try { return te.selectionStart != te.selectionEnd }\n\t catch(e) { return false }\n\t} : function (te) {\n\t var range\n\t try {range = te.ownerDocument.selection.createRange()}\n\t catch(e) {}\n\t if (!range || range.parentElement() != te) { return false }\n\t return range.compareEndPoints(\"StartToEnd\", range) != 0\n\t}\n\t\n\tvar hasCopyEvent = (function () {\n\t var e = elt(\"div\")\n\t if (\"oncopy\" in e) { return true }\n\t e.setAttribute(\"oncopy\", \"return;\")\n\t return typeof e.oncopy == \"function\"\n\t})()\n\t\n\tvar badZoomedRects = null\n\tfunction hasBadZoomedRects(measure) {\n\t if (badZoomedRects != null) { return badZoomedRects }\n\t var node = removeChildrenAndAdd(measure, elt(\"span\", \"x\"))\n\t var normal = node.getBoundingClientRect()\n\t var fromRange = range(node, 0, 1).getBoundingClientRect()\n\t return badZoomedRects = Math.abs(normal.left - fromRange.left) > 1\n\t}\n\t\n\tvar modes = {};\n\tvar mimeModes = {};\n\t// Extra arguments are stored as the mode's dependencies, which is\n\t// used by (legacy) mechanisms like loadmode.js to automatically\n\t// load a mode. (Preferred mechanism is the require/define calls.)\n\tfunction defineMode(name, mode) {\n\t if (arguments.length > 2)\n\t { mode.dependencies = Array.prototype.slice.call(arguments, 2) }\n\t modes[name] = mode\n\t}\n\t\n\tfunction defineMIME(mime, spec) {\n\t mimeModes[mime] = spec\n\t}\n\t\n\t// Given a MIME type, a {name, ...options} config object, or a name\n\t// string, return a mode config object.\n\tfunction resolveMode(spec) {\n\t if (typeof spec == \"string\" && mimeModes.hasOwnProperty(spec)) {\n\t spec = mimeModes[spec]\n\t } else if (spec && typeof spec.name == \"string\" && mimeModes.hasOwnProperty(spec.name)) {\n\t var found = mimeModes[spec.name]\n\t if (typeof found == \"string\") { found = {name: found} }\n\t spec = createObj(found, spec)\n\t spec.name = found.name\n\t } else if (typeof spec == \"string\" && /^[\\w\\-]+\\/[\\w\\-]+\\+xml$/.test(spec)) {\n\t return resolveMode(\"application/xml\")\n\t } else if (typeof spec == \"string\" && /^[\\w\\-]+\\/[\\w\\-]+\\+json$/.test(spec)) {\n\t return resolveMode(\"application/json\")\n\t }\n\t if (typeof spec == \"string\") { return {name: spec} }\n\t else { return spec || {name: \"null\"} }\n\t}\n\t\n\t// Given a mode spec (anything that resolveMode accepts), find and\n\t// initialize an actual mode object.\n\tfunction getMode(options, spec) {\n\t spec = resolveMode(spec)\n\t var mfactory = modes[spec.name]\n\t if (!mfactory) { return getMode(options, \"text/plain\") }\n\t var modeObj = mfactory(options, spec)\n\t if (modeExtensions.hasOwnProperty(spec.name)) {\n\t var exts = modeExtensions[spec.name]\n\t for (var prop in exts) {\n\t if (!exts.hasOwnProperty(prop)) { continue }\n\t if (modeObj.hasOwnProperty(prop)) { modeObj[\"_\" + prop] = modeObj[prop] }\n\t modeObj[prop] = exts[prop]\n\t }\n\t }\n\t modeObj.name = spec.name\n\t if (spec.helperType) { modeObj.helperType = spec.helperType }\n\t if (spec.modeProps) { for (var prop$1 in spec.modeProps)\n\t { modeObj[prop$1] = spec.modeProps[prop$1] } }\n\t\n\t return modeObj\n\t}\n\t\n\t// This can be used to attach properties to mode objects from\n\t// outside the actual mode definition.\n\tvar modeExtensions = {}\n\tfunction extendMode(mode, properties) {\n\t var exts = modeExtensions.hasOwnProperty(mode) ? modeExtensions[mode] : (modeExtensions[mode] = {})\n\t copyObj(properties, exts)\n\t}\n\t\n\tfunction copyState(mode, state) {\n\t if (state === true) { return state }\n\t if (mode.copyState) { return mode.copyState(state) }\n\t var nstate = {}\n\t for (var n in state) {\n\t var val = state[n]\n\t if (val instanceof Array) { val = val.concat([]) }\n\t nstate[n] = val\n\t }\n\t return nstate\n\t}\n\t\n\t// Given a mode and a state (for that mode), find the inner mode and\n\t// state at the position that the state refers to.\n\tfunction innerMode(mode, state) {\n\t var info\n\t while (mode.innerMode) {\n\t info = mode.innerMode(state)\n\t if (!info || info.mode == mode) { break }\n\t state = info.state\n\t mode = info.mode\n\t }\n\t return info || {mode: mode, state: state}\n\t}\n\t\n\tfunction startState(mode, a1, a2) {\n\t return mode.startState ? mode.startState(a1, a2) : true\n\t}\n\t\n\t// STRING STREAM\n\t\n\t// Fed to the mode parsers, provides helper functions to make\n\t// parsers more succinct.\n\t\n\tvar StringStream = function(string, tabSize) {\n\t this.pos = this.start = 0\n\t this.string = string\n\t this.tabSize = tabSize || 8\n\t this.lastColumnPos = this.lastColumnValue = 0\n\t this.lineStart = 0\n\t}\n\t\n\tStringStream.prototype = {\n\t eol: function() {return this.pos >= this.string.length},\n\t sol: function() {return this.pos == this.lineStart},\n\t peek: function() {return this.string.charAt(this.pos) || undefined},\n\t next: function() {\n\t if (this.pos < this.string.length)\n\t { return this.string.charAt(this.pos++) }\n\t },\n\t eat: function(match) {\n\t var ch = this.string.charAt(this.pos)\n\t var ok\n\t if (typeof match == \"string\") { ok = ch == match }\n\t else { ok = ch && (match.test ? match.test(ch) : match(ch)) }\n\t if (ok) {++this.pos; return ch}\n\t },\n\t eatWhile: function(match) {\n\t var start = this.pos\n\t while (this.eat(match)){}\n\t return this.pos > start\n\t },\n\t eatSpace: function() {\n\t var this$1 = this;\n\t\n\t var start = this.pos\n\t while (/[\\s\\u00a0]/.test(this.string.charAt(this.pos))) { ++this$1.pos }\n\t return this.pos > start\n\t },\n\t skipToEnd: function() {this.pos = this.string.length},\n\t skipTo: function(ch) {\n\t var found = this.string.indexOf(ch, this.pos)\n\t if (found > -1) {this.pos = found; return true}\n\t },\n\t backUp: function(n) {this.pos -= n},\n\t column: function() {\n\t if (this.lastColumnPos < this.start) {\n\t this.lastColumnValue = countColumn(this.string, this.start, this.tabSize, this.lastColumnPos, this.lastColumnValue)\n\t this.lastColumnPos = this.start\n\t }\n\t return this.lastColumnValue - (this.lineStart ? countColumn(this.string, this.lineStart, this.tabSize) : 0)\n\t },\n\t indentation: function() {\n\t return countColumn(this.string, null, this.tabSize) -\n\t (this.lineStart ? countColumn(this.string, this.lineStart, this.tabSize) : 0)\n\t },\n\t match: function(pattern, consume, caseInsensitive) {\n\t if (typeof pattern == \"string\") {\n\t var cased = function (str) { return caseInsensitive ? str.toLowerCase() : str; }\n\t var substr = this.string.substr(this.pos, pattern.length)\n\t if (cased(substr) == cased(pattern)) {\n\t if (consume !== false) { this.pos += pattern.length }\n\t return true\n\t }\n\t } else {\n\t var match = this.string.slice(this.pos).match(pattern)\n\t if (match && match.index > 0) { return null }\n\t if (match && consume !== false) { this.pos += match[0].length }\n\t return match\n\t }\n\t },\n\t current: function(){return this.string.slice(this.start, this.pos)},\n\t hideFirstChars: function(n, inner) {\n\t this.lineStart += n\n\t try { return inner() }\n\t finally { this.lineStart -= n }\n\t }\n\t}\n\t\n\t// Compute a style array (an array starting with a mode generation\n\t// -- for invalidation -- followed by pairs of end positions and\n\t// style strings), which is used to highlight the tokens on the\n\t// line.\n\tfunction highlightLine(cm, line, state, forceToEnd) {\n\t // A styles array always starts with a number identifying the\n\t // mode/overlays that it is based on (for easy invalidation).\n\t var st = [cm.state.modeGen], lineClasses = {}\n\t // Compute the base array of styles\n\t runMode(cm, line.text, cm.doc.mode, state, function (end, style) { return st.push(end, style); },\n\t lineClasses, forceToEnd)\n\t\n\t // Run overlays, adjust style array.\n\t var loop = function ( o ) {\n\t var overlay = cm.state.overlays[o], i = 1, at = 0\n\t runMode(cm, line.text, overlay.mode, true, function (end, style) {\n\t var start = i\n\t // Ensure there's a token end at the current position, and that i points at it\n\t while (at < end) {\n\t var i_end = st[i]\n\t if (i_end > end)\n\t { st.splice(i, 1, end, st[i+1], i_end) }\n\t i += 2\n\t at = Math.min(end, i_end)\n\t }\n\t if (!style) { return }\n\t if (overlay.opaque) {\n\t st.splice(start, i - start, end, \"overlay \" + style)\n\t i = start + 2\n\t } else {\n\t for (; start < i; start += 2) {\n\t var cur = st[start+1]\n\t st[start+1] = (cur ? cur + \" \" : \"\") + \"overlay \" + style\n\t }\n\t }\n\t }, lineClasses)\n\t };\n\t\n\t for (var o = 0; o < cm.state.overlays.length; ++o) loop( o );\n\t\n\t return {styles: st, classes: lineClasses.bgClass || lineClasses.textClass ? lineClasses : null}\n\t}\n\t\n\tfunction getLineStyles(cm, line, updateFrontier) {\n\t if (!line.styles || line.styles[0] != cm.state.modeGen) {\n\t var state = getStateBefore(cm, lineNo(line))\n\t var result = highlightLine(cm, line, line.text.length > cm.options.maxHighlightLength ? copyState(cm.doc.mode, state) : state)\n\t line.stateAfter = state\n\t line.styles = result.styles\n\t if (result.classes) { line.styleClasses = result.classes }\n\t else if (line.styleClasses) { line.styleClasses = null }\n\t if (updateFrontier === cm.doc.frontier) { cm.doc.frontier++ }\n\t }\n\t return line.styles\n\t}\n\t\n\tfunction getStateBefore(cm, n, precise) {\n\t var doc = cm.doc, display = cm.display\n\t if (!doc.mode.startState) { return true }\n\t var pos = findStartLine(cm, n, precise), state = pos > doc.first && getLine(doc, pos-1).stateAfter\n\t if (!state) { state = startState(doc.mode) }\n\t else { state = copyState(doc.mode, state) }\n\t doc.iter(pos, n, function (line) {\n\t processLine(cm, line.text, state)\n\t var save = pos == n - 1 || pos % 5 == 0 || pos >= display.viewFrom && pos < display.viewTo\n\t line.stateAfter = save ? copyState(doc.mode, state) : null\n\t ++pos\n\t })\n\t if (precise) { doc.frontier = pos }\n\t return state\n\t}\n\t\n\t// Lightweight form of highlight -- proceed over this line and\n\t// update state, but don't save a style array. Used for lines that\n\t// aren't currently visible.\n\tfunction processLine(cm, text, state, startAt) {\n\t var mode = cm.doc.mode\n\t var stream = new StringStream(text, cm.options.tabSize)\n\t stream.start = stream.pos = startAt || 0\n\t if (text == \"\") { callBlankLine(mode, state) }\n\t while (!stream.eol()) {\n\t readToken(mode, stream, state)\n\t stream.start = stream.pos\n\t }\n\t}\n\t\n\tfunction callBlankLine(mode, state) {\n\t if (mode.blankLine) { return mode.blankLine(state) }\n\t if (!mode.innerMode) { return }\n\t var inner = innerMode(mode, state)\n\t if (inner.mode.blankLine) { return inner.mode.blankLine(inner.state) }\n\t}\n\t\n\tfunction readToken(mode, stream, state, inner) {\n\t for (var i = 0; i < 10; i++) {\n\t if (inner) { inner[0] = innerMode(mode, state).mode }\n\t var style = mode.token(stream, state)\n\t if (stream.pos > stream.start) { return style }\n\t }\n\t throw new Error(\"Mode \" + mode.name + \" failed to advance stream.\")\n\t}\n\t\n\t// Utility for getTokenAt and getLineTokens\n\tfunction takeToken(cm, pos, precise, asArray) {\n\t var getObj = function (copy) { return ({\n\t start: stream.start, end: stream.pos,\n\t string: stream.current(),\n\t type: style || null,\n\t state: copy ? copyState(doc.mode, state) : state\n\t }); }\n\t\n\t var doc = cm.doc, mode = doc.mode, style\n\t pos = clipPos(doc, pos)\n\t var line = getLine(doc, pos.line), state = getStateBefore(cm, pos.line, precise)\n\t var stream = new StringStream(line.text, cm.options.tabSize), tokens\n\t if (asArray) { tokens = [] }\n\t while ((asArray || stream.pos < pos.ch) && !stream.eol()) {\n\t stream.start = stream.pos\n\t style = readToken(mode, stream, state)\n\t if (asArray) { tokens.push(getObj(true)) }\n\t }\n\t return asArray ? tokens : getObj()\n\t}\n\t\n\tfunction extractLineClasses(type, output) {\n\t if (type) { for (;;) {\n\t var lineClass = type.match(/(?:^|\\s+)line-(background-)?(\\S+)/)\n\t if (!lineClass) { break }\n\t type = type.slice(0, lineClass.index) + type.slice(lineClass.index + lineClass[0].length)\n\t var prop = lineClass[1] ? \"bgClass\" : \"textClass\"\n\t if (output[prop] == null)\n\t { output[prop] = lineClass[2] }\n\t else if (!(new RegExp(\"(?:^|\\s)\" + lineClass[2] + \"(?:$|\\s)\")).test(output[prop]))\n\t { output[prop] += \" \" + lineClass[2] }\n\t } }\n\t return type\n\t}\n\t\n\t// Run the given mode's parser over a line, calling f for each token.\n\tfunction runMode(cm, text, mode, state, f, lineClasses, forceToEnd) {\n\t var flattenSpans = mode.flattenSpans\n\t if (flattenSpans == null) { flattenSpans = cm.options.flattenSpans }\n\t var curStart = 0, curStyle = null\n\t var stream = new StringStream(text, cm.options.tabSize), style\n\t var inner = cm.options.addModeClass && [null]\n\t if (text == \"\") { extractLineClasses(callBlankLine(mode, state), lineClasses) }\n\t while (!stream.eol()) {\n\t if (stream.pos > cm.options.maxHighlightLength) {\n\t flattenSpans = false\n\t if (forceToEnd) { processLine(cm, text, state, stream.pos) }\n\t stream.pos = text.length\n\t style = null\n\t } else {\n\t style = extractLineClasses(readToken(mode, stream, state, inner), lineClasses)\n\t }\n\t if (inner) {\n\t var mName = inner[0].name\n\t if (mName) { style = \"m-\" + (style ? mName + \" \" + style : mName) }\n\t }\n\t if (!flattenSpans || curStyle != style) {\n\t while (curStart < stream.start) {\n\t curStart = Math.min(stream.start, curStart + 5000)\n\t f(curStart, curStyle)\n\t }\n\t curStyle = style\n\t }\n\t stream.start = stream.pos\n\t }\n\t while (curStart < stream.pos) {\n\t // Webkit seems to refuse to render text nodes longer than 57444\n\t // characters, and returns inaccurate measurements in nodes\n\t // starting around 5000 chars.\n\t var pos = Math.min(stream.pos, curStart + 5000)\n\t f(pos, curStyle)\n\t curStart = pos\n\t }\n\t}\n\t\n\t// Finds the line to start with when starting a parse. Tries to\n\t// find a line with a stateAfter, so that it can start with a\n\t// valid state. If that fails, it returns the line with the\n\t// smallest indentation, which tends to need the least context to\n\t// parse correctly.\n\tfunction findStartLine(cm, n, precise) {\n\t var minindent, minline, doc = cm.doc\n\t var lim = precise ? -1 : n - (cm.doc.mode.innerMode ? 1000 : 100)\n\t for (var search = n; search > lim; --search) {\n\t if (search <= doc.first) { return doc.first }\n\t var line = getLine(doc, search - 1)\n\t if (line.stateAfter && (!precise || search <= doc.frontier)) { return search }\n\t var indented = countColumn(line.text, null, cm.options.tabSize)\n\t if (minline == null || minindent > indented) {\n\t minline = search - 1\n\t minindent = indented\n\t }\n\t }\n\t return minline\n\t}\n\t\n\t// LINE DATA STRUCTURE\n\t\n\t// Line objects. These hold state related to a line, including\n\t// highlighting info (the styles array).\n\tfunction Line(text, markedSpans, estimateHeight) {\n\t this.text = text\n\t attachMarkedSpans(this, markedSpans)\n\t this.height = estimateHeight ? estimateHeight(this) : 1\n\t}\n\teventMixin(Line)\n\tLine.prototype.lineNo = function() { return lineNo(this) }\n\t\n\t// Change the content (text, markers) of a line. Automatically\n\t// invalidates cached information and tries to re-estimate the\n\t// line's height.\n\tfunction updateLine(line, text, markedSpans, estimateHeight) {\n\t line.text = text\n\t if (line.stateAfter) { line.stateAfter = null }\n\t if (line.styles) { line.styles = null }\n\t if (line.order != null) { line.order = null }\n\t detachMarkedSpans(line)\n\t attachMarkedSpans(line, markedSpans)\n\t var estHeight = estimateHeight ? estimateHeight(line) : 1\n\t if (estHeight != line.height) { updateLineHeight(line, estHeight) }\n\t}\n\t\n\t// Detach a line from the document tree and its markers.\n\tfunction cleanUpLine(line) {\n\t line.parent = null\n\t detachMarkedSpans(line)\n\t}\n\t\n\t// Convert a style as returned by a mode (either null, or a string\n\t// containing one or more styles) to a CSS style. This is cached,\n\t// and also looks for line-wide styles.\n\tvar styleToClassCache = {};\n\tvar styleToClassCacheWithMode = {};\n\tfunction interpretTokenStyle(style, options) {\n\t if (!style || /^\\s*$/.test(style)) { return null }\n\t var cache = options.addModeClass ? styleToClassCacheWithMode : styleToClassCache\n\t return cache[style] ||\n\t (cache[style] = style.replace(/\\S+/g, \"cm-$&\"))\n\t}\n\t\n\t// Render the DOM representation of the text of a line. Also builds\n\t// up a 'line map', which points at the DOM nodes that represent\n\t// specific stretches of text, and is used by the measuring code.\n\t// The returned object contains the DOM node, this map, and\n\t// information about line-wide styles that were set by the mode.\n\tfunction buildLineContent(cm, lineView) {\n\t // The padding-right forces the element to have a 'border', which\n\t // is needed on Webkit to be able to get line-level bounding\n\t // rectangles for it (in measureChar).\n\t var content = elt(\"span\", null, null, webkit ? \"padding-right: .1px\" : null)\n\t var builder = {pre: elt(\"pre\", [content], \"CodeMirror-line\"), content: content,\n\t col: 0, pos: 0, cm: cm,\n\t trailingSpace: false,\n\t splitSpaces: (ie || webkit) && cm.getOption(\"lineWrapping\")}\n\t lineView.measure = {}\n\t\n\t // Iterate over the logical lines that make up this visual line.\n\t for (var i = 0; i <= (lineView.rest ? lineView.rest.length : 0); i++) {\n\t var line = i ? lineView.rest[i - 1] : lineView.line, order = (void 0)\n\t builder.pos = 0\n\t builder.addToken = buildToken\n\t // Optionally wire in some hacks into the token-rendering\n\t // algorithm, to deal with browser quirks.\n\t if (hasBadBidiRects(cm.display.measure) && (order = getOrder(line)))\n\t { builder.addToken = buildTokenBadBidi(builder.addToken, order) }\n\t builder.map = []\n\t var allowFrontierUpdate = lineView != cm.display.externalMeasured && lineNo(line)\n\t insertLineContent(line, builder, getLineStyles(cm, line, allowFrontierUpdate))\n\t if (line.styleClasses) {\n\t if (line.styleClasses.bgClass)\n\t { builder.bgClass = joinClasses(line.styleClasses.bgClass, builder.bgClass || \"\") }\n\t if (line.styleClasses.textClass)\n\t { builder.textClass = joinClasses(line.styleClasses.textClass, builder.textClass || \"\") }\n\t }\n\t\n\t // Ensure at least a single node is present, for measuring.\n\t if (builder.map.length == 0)\n\t { builder.map.push(0, 0, builder.content.appendChild(zeroWidthElement(cm.display.measure))) }\n\t\n\t // Store the map and a cache object for the current logical line\n\t if (i == 0) {\n\t lineView.measure.map = builder.map\n\t lineView.measure.cache = {}\n\t } else {\n\t ;(lineView.measure.maps || (lineView.measure.maps = [])).push(builder.map)\n\t ;(lineView.measure.caches || (lineView.measure.caches = [])).push({})\n\t }\n\t }\n\t\n\t // See issue #2901\n\t if (webkit) {\n\t var last = builder.content.lastChild\n\t if (/\\bcm-tab\\b/.test(last.className) || (last.querySelector && last.querySelector(\".cm-tab\")))\n\t { builder.content.className = \"cm-tab-wrap-hack\" }\n\t }\n\t\n\t signal(cm, \"renderLine\", cm, lineView.line, builder.pre)\n\t if (builder.pre.className)\n\t { builder.textClass = joinClasses(builder.pre.className, builder.textClass || \"\") }\n\t\n\t return builder\n\t}\n\t\n\tfunction defaultSpecialCharPlaceholder(ch) {\n\t var token = elt(\"span\", \"\\u2022\", \"cm-invalidchar\")\n\t token.title = \"\\\\u\" + ch.charCodeAt(0).toString(16)\n\t token.setAttribute(\"aria-label\", token.title)\n\t return token\n\t}\n\t\n\t// Build up the DOM representation for a single token, and add it to\n\t// the line map. Takes care to render special characters separately.\n\tfunction buildToken(builder, text, style, startStyle, endStyle, title, css) {\n\t if (!text) { return }\n\t var displayText = builder.splitSpaces ? splitSpaces(text, builder.trailingSpace) : text\n\t var special = builder.cm.state.specialChars, mustWrap = false\n\t var content\n\t if (!special.test(text)) {\n\t builder.col += text.length\n\t content = document.createTextNode(displayText)\n\t builder.map.push(builder.pos, builder.pos + text.length, content)\n\t if (ie && ie_version < 9) { mustWrap = true }\n\t builder.pos += text.length\n\t } else {\n\t content = document.createDocumentFragment()\n\t var pos = 0\n\t while (true) {\n\t special.lastIndex = pos\n\t var m = special.exec(text)\n\t var skipped = m ? m.index - pos : text.length - pos\n\t if (skipped) {\n\t var txt = document.createTextNode(displayText.slice(pos, pos + skipped))\n\t if (ie && ie_version < 9) { content.appendChild(elt(\"span\", [txt])) }\n\t else { content.appendChild(txt) }\n\t builder.map.push(builder.pos, builder.pos + skipped, txt)\n\t builder.col += skipped\n\t builder.pos += skipped\n\t }\n\t if (!m) { break }\n\t pos += skipped + 1\n\t var txt$1 = (void 0)\n\t if (m[0] == \"\\t\") {\n\t var tabSize = builder.cm.options.tabSize, tabWidth = tabSize - builder.col % tabSize\n\t txt$1 = content.appendChild(elt(\"span\", spaceStr(tabWidth), \"cm-tab\"))\n\t txt$1.setAttribute(\"role\", \"presentation\")\n\t txt$1.setAttribute(\"cm-text\", \"\\t\")\n\t builder.col += tabWidth\n\t } else if (m[0] == \"\\r\" || m[0] == \"\\n\") {\n\t txt$1 = content.appendChild(elt(\"span\", m[0] == \"\\r\" ? \"\\u240d\" : \"\\u2424\", \"cm-invalidchar\"))\n\t txt$1.setAttribute(\"cm-text\", m[0])\n\t builder.col += 1\n\t } else {\n\t txt$1 = builder.cm.options.specialCharPlaceholder(m[0])\n\t txt$1.setAttribute(\"cm-text\", m[0])\n\t if (ie && ie_version < 9) { content.appendChild(elt(\"span\", [txt$1])) }\n\t else { content.appendChild(txt$1) }\n\t builder.col += 1\n\t }\n\t builder.map.push(builder.pos, builder.pos + 1, txt$1)\n\t builder.pos++\n\t }\n\t }\n\t builder.trailingSpace = displayText.charCodeAt(text.length - 1) == 32\n\t if (style || startStyle || endStyle || mustWrap || css) {\n\t var fullStyle = style || \"\"\n\t if (startStyle) { fullStyle += startStyle }\n\t if (endStyle) { fullStyle += endStyle }\n\t var token = elt(\"span\", [content], fullStyle, css)\n\t if (title) { token.title = title }\n\t return builder.content.appendChild(token)\n\t }\n\t builder.content.appendChild(content)\n\t}\n\t\n\tfunction splitSpaces(text, trailingBefore) {\n\t if (text.length > 1 && !/ /.test(text)) { return text }\n\t var spaceBefore = trailingBefore, result = \"\"\n\t for (var i = 0; i < text.length; i++) {\n\t var ch = text.charAt(i)\n\t if (ch == \" \" && spaceBefore && (i == text.length - 1 || text.charCodeAt(i + 1) == 32))\n\t { ch = \"\\u00a0\" }\n\t result += ch\n\t spaceBefore = ch == \" \"\n\t }\n\t return result\n\t}\n\t\n\t// Work around nonsense dimensions being reported for stretches of\n\t// right-to-left text.\n\tfunction buildTokenBadBidi(inner, order) {\n\t return function (builder, text, style, startStyle, endStyle, title, css) {\n\t style = style ? style + \" cm-force-border\" : \"cm-force-border\"\n\t var start = builder.pos, end = start + text.length\n\t for (;;) {\n\t // Find the part that overlaps with the start of this text\n\t var part = (void 0)\n\t for (var i = 0; i < order.length; i++) {\n\t part = order[i]\n\t if (part.to > start && part.from <= start) { break }\n\t }\n\t if (part.to >= end) { return inner(builder, text, style, startStyle, endStyle, title, css) }\n\t inner(builder, text.slice(0, part.to - start), style, startStyle, null, title, css)\n\t startStyle = null\n\t text = text.slice(part.to - start)\n\t start = part.to\n\t }\n\t }\n\t}\n\t\n\tfunction buildCollapsedSpan(builder, size, marker, ignoreWidget) {\n\t var widget = !ignoreWidget && marker.widgetNode\n\t if (widget) { builder.map.push(builder.pos, builder.pos + size, widget) }\n\t if (!ignoreWidget && builder.cm.display.input.needsContentAttribute) {\n\t if (!widget)\n\t { widget = builder.content.appendChild(document.createElement(\"span\")) }\n\t widget.setAttribute(\"cm-marker\", marker.id)\n\t }\n\t if (widget) {\n\t builder.cm.display.input.setUneditable(widget)\n\t builder.content.appendChild(widget)\n\t }\n\t builder.pos += size\n\t builder.trailingSpace = false\n\t}\n\t\n\t// Outputs a number of spans to make up a line, taking highlighting\n\t// and marked text into account.\n\tfunction insertLineContent(line, builder, styles) {\n\t var spans = line.markedSpans, allText = line.text, at = 0\n\t if (!spans) {\n\t for (var i$1 = 1; i$1 < styles.length; i$1+=2)\n\t { builder.addToken(builder, allText.slice(at, at = styles[i$1]), interpretTokenStyle(styles[i$1+1], builder.cm.options)) }\n\t return\n\t }\n\t\n\t var len = allText.length, pos = 0, i = 1, text = \"\", style, css\n\t var nextChange = 0, spanStyle, spanEndStyle, spanStartStyle, title, collapsed\n\t for (;;) {\n\t if (nextChange == pos) { // Update current marker set\n\t spanStyle = spanEndStyle = spanStartStyle = title = css = \"\"\n\t collapsed = null; nextChange = Infinity\n\t var foundBookmarks = [], endStyles = (void 0)\n\t for (var j = 0; j < spans.length; ++j) {\n\t var sp = spans[j], m = sp.marker\n\t if (m.type == \"bookmark\" && sp.from == pos && m.widgetNode) {\n\t foundBookmarks.push(m)\n\t } else if (sp.from <= pos && (sp.to == null || sp.to > pos || m.collapsed && sp.to == pos && sp.from == pos)) {\n\t if (sp.to != null && sp.to != pos && nextChange > sp.to) {\n\t nextChange = sp.to\n\t spanEndStyle = \"\"\n\t }\n\t if (m.className) { spanStyle += \" \" + m.className }\n\t if (m.css) { css = (css ? css + \";\" : \"\") + m.css }\n\t if (m.startStyle && sp.from == pos) { spanStartStyle += \" \" + m.startStyle }\n\t if (m.endStyle && sp.to == nextChange) { (endStyles || (endStyles = [])).push(m.endStyle, sp.to) }\n\t if (m.title && !title) { title = m.title }\n\t if (m.collapsed && (!collapsed || compareCollapsedMarkers(collapsed.marker, m) < 0))\n\t { collapsed = sp }\n\t } else if (sp.from > pos && nextChange > sp.from) {\n\t nextChange = sp.from\n\t }\n\t }\n\t if (endStyles) { for (var j$1 = 0; j$1 < endStyles.length; j$1 += 2)\n\t { if (endStyles[j$1 + 1] == nextChange) { spanEndStyle += \" \" + endStyles[j$1] } } }\n\t\n\t if (!collapsed || collapsed.from == pos) { for (var j$2 = 0; j$2 < foundBookmarks.length; ++j$2)\n\t { buildCollapsedSpan(builder, 0, foundBookmarks[j$2]) } }\n\t if (collapsed && (collapsed.from || 0) == pos) {\n\t buildCollapsedSpan(builder, (collapsed.to == null ? len + 1 : collapsed.to) - pos,\n\t collapsed.marker, collapsed.from == null)\n\t if (collapsed.to == null) { return }\n\t if (collapsed.to == pos) { collapsed = false }\n\t }\n\t }\n\t if (pos >= len) { break }\n\t\n\t var upto = Math.min(len, nextChange)\n\t while (true) {\n\t if (text) {\n\t var end = pos + text.length\n\t if (!collapsed) {\n\t var tokenText = end > upto ? text.slice(0, upto - pos) : text\n\t builder.addToken(builder, tokenText, style ? style + spanStyle : spanStyle,\n\t spanStartStyle, pos + tokenText.length == nextChange ? spanEndStyle : \"\", title, css)\n\t }\n\t if (end >= upto) {text = text.slice(upto - pos); pos = upto; break}\n\t pos = end\n\t spanStartStyle = \"\"\n\t }\n\t text = allText.slice(at, at = styles[i++])\n\t style = interpretTokenStyle(styles[i++], builder.cm.options)\n\t }\n\t }\n\t}\n\t\n\t\n\t// These objects are used to represent the visible (currently drawn)\n\t// part of the document. A LineView may correspond to multiple\n\t// logical lines, if those are connected by collapsed ranges.\n\tfunction LineView(doc, line, lineN) {\n\t // The starting line\n\t this.line = line\n\t // Continuing lines, if any\n\t this.rest = visualLineContinued(line)\n\t // Number of logical lines in this visual line\n\t this.size = this.rest ? lineNo(lst(this.rest)) - lineN + 1 : 1\n\t this.node = this.text = null\n\t this.hidden = lineIsHidden(doc, line)\n\t}\n\t\n\t// Create a range of LineView objects for the given lines.\n\tfunction buildViewArray(cm, from, to) {\n\t var array = [], nextPos\n\t for (var pos = from; pos < to; pos = nextPos) {\n\t var view = new LineView(cm.doc, getLine(cm.doc, pos), pos)\n\t nextPos = pos + view.size\n\t array.push(view)\n\t }\n\t return array\n\t}\n\t\n\tvar operationGroup = null\n\t\n\tfunction pushOperation(op) {\n\t if (operationGroup) {\n\t operationGroup.ops.push(op)\n\t } else {\n\t op.ownsGroup = operationGroup = {\n\t ops: [op],\n\t delayedCallbacks: []\n\t }\n\t }\n\t}\n\t\n\tfunction fireCallbacksForOps(group) {\n\t // Calls delayed callbacks and cursorActivity handlers until no\n\t // new ones appear\n\t var callbacks = group.delayedCallbacks, i = 0\n\t do {\n\t for (; i < callbacks.length; i++)\n\t { callbacks[i].call(null) }\n\t for (var j = 0; j < group.ops.length; j++) {\n\t var op = group.ops[j]\n\t if (op.cursorActivityHandlers)\n\t { while (op.cursorActivityCalled < op.cursorActivityHandlers.length)\n\t { op.cursorActivityHandlers[op.cursorActivityCalled++].call(null, op.cm) } }\n\t }\n\t } while (i < callbacks.length)\n\t}\n\t\n\tfunction finishOperation(op, endCb) {\n\t var group = op.ownsGroup\n\t if (!group) { return }\n\t\n\t try { fireCallbacksForOps(group) }\n\t finally {\n\t operationGroup = null\n\t endCb(group)\n\t }\n\t}\n\t\n\tvar orphanDelayedCallbacks = null\n\t\n\t// Often, we want to signal events at a point where we are in the\n\t// middle of some work, but don't want the handler to start calling\n\t// other methods on the editor, which might be in an inconsistent\n\t// state or simply not expect any other events to happen.\n\t// signalLater looks whether there are any handlers, and schedules\n\t// them to be executed when the last operation ends, or, if no\n\t// operation is active, when a timeout fires.\n\tfunction signalLater(emitter, type /*, values...*/) {\n\t var arr = getHandlers(emitter, type)\n\t if (!arr.length) { return }\n\t var args = Array.prototype.slice.call(arguments, 2), list\n\t if (operationGroup) {\n\t list = operationGroup.delayedCallbacks\n\t } else if (orphanDelayedCallbacks) {\n\t list = orphanDelayedCallbacks\n\t } else {\n\t list = orphanDelayedCallbacks = []\n\t setTimeout(fireOrphanDelayed, 0)\n\t }\n\t var loop = function ( i ) {\n\t list.push(function () { return arr[i].apply(null, args); })\n\t };\n\t\n\t for (var i = 0; i < arr.length; ++i)\n\t loop( i );\n\t}\n\t\n\tfunction fireOrphanDelayed() {\n\t var delayed = orphanDelayedCallbacks\n\t orphanDelayedCallbacks = null\n\t for (var i = 0; i < delayed.length; ++i) { delayed[i]() }\n\t}\n\t\n\t// When an aspect of a line changes, a string is added to\n\t// lineView.changes. This updates the relevant part of the line's\n\t// DOM structure.\n\tfunction updateLineForChanges(cm, lineView, lineN, dims) {\n\t for (var j = 0; j < lineView.changes.length; j++) {\n\t var type = lineView.changes[j]\n\t if (type == \"text\") { updateLineText(cm, lineView) }\n\t else if (type == \"gutter\") { updateLineGutter(cm, lineView, lineN, dims) }\n\t else if (type == \"class\") { updateLineClasses(lineView) }\n\t else if (type == \"widget\") { updateLineWidgets(cm, lineView, dims) }\n\t }\n\t lineView.changes = null\n\t}\n\t\n\t// Lines with gutter elements, widgets or a background class need to\n\t// be wrapped, and have the extra elements added to the wrapper div\n\tfunction ensureLineWrapped(lineView) {\n\t if (lineView.node == lineView.text) {\n\t lineView.node = elt(\"div\", null, null, \"position: relative\")\n\t if (lineView.text.parentNode)\n\t { lineView.text.parentNode.replaceChild(lineView.node, lineView.text) }\n\t lineView.node.appendChild(lineView.text)\n\t if (ie && ie_version < 8) { lineView.node.style.zIndex = 2 }\n\t }\n\t return lineView.node\n\t}\n\t\n\tfunction updateLineBackground(lineView) {\n\t var cls = lineView.bgClass ? lineView.bgClass + \" \" + (lineView.line.bgClass || \"\") : lineView.line.bgClass\n\t if (cls) { cls += \" CodeMirror-linebackground\" }\n\t if (lineView.background) {\n\t if (cls) { lineView.background.className = cls }\n\t else { lineView.background.parentNode.removeChild(lineView.background); lineView.background = null }\n\t } else if (cls) {\n\t var wrap = ensureLineWrapped(lineView)\n\t lineView.background = wrap.insertBefore(elt(\"div\", null, cls), wrap.firstChild)\n\t }\n\t}\n\t\n\t// Wrapper around buildLineContent which will reuse the structure\n\t// in display.externalMeasured when possible.\n\tfunction getLineContent(cm, lineView) {\n\t var ext = cm.display.externalMeasured\n\t if (ext && ext.line == lineView.line) {\n\t cm.display.externalMeasured = null\n\t lineView.measure = ext.measure\n\t return ext.built\n\t }\n\t return buildLineContent(cm, lineView)\n\t}\n\t\n\t// Redraw the line's text. Interacts with the background and text\n\t// classes because the mode may output tokens that influence these\n\t// classes.\n\tfunction updateLineText(cm, lineView) {\n\t var cls = lineView.text.className\n\t var built = getLineContent(cm, lineView)\n\t if (lineView.text == lineView.node) { lineView.node = built.pre }\n\t lineView.text.parentNode.replaceChild(built.pre, lineView.text)\n\t lineView.text = built.pre\n\t if (built.bgClass != lineView.bgClass || built.textClass != lineView.textClass) {\n\t lineView.bgClass = built.bgClass\n\t lineView.textClass = built.textClass\n\t updateLineClasses(lineView)\n\t } else if (cls) {\n\t lineView.text.className = cls\n\t }\n\t}\n\t\n\tfunction updateLineClasses(lineView) {\n\t updateLineBackground(lineView)\n\t if (lineView.line.wrapClass)\n\t { ensureLineWrapped(lineView).className = lineView.line.wrapClass }\n\t else if (lineView.node != lineView.text)\n\t { lineView.node.className = \"\" }\n\t var textClass = lineView.textClass ? lineView.textClass + \" \" + (lineView.line.textClass || \"\") : lineView.line.textClass\n\t lineView.text.className = textClass || \"\"\n\t}\n\t\n\tfunction updateLineGutter(cm, lineView, lineN, dims) {\n\t if (lineView.gutter) {\n\t lineView.node.removeChild(lineView.gutter)\n\t lineView.gutter = null\n\t }\n\t if (lineView.gutterBackground) {\n\t lineView.node.removeChild(lineView.gutterBackground)\n\t lineView.gutterBackground = null\n\t }\n\t if (lineView.line.gutterClass) {\n\t var wrap = ensureLineWrapped(lineView)\n\t lineView.gutterBackground = elt(\"div\", null, \"CodeMirror-gutter-background \" + lineView.line.gutterClass,\n\t (\"left: \" + (cm.options.fixedGutter ? dims.fixedPos : -dims.gutterTotalWidth) + \"px; width: \" + (dims.gutterTotalWidth) + \"px\"))\n\t wrap.insertBefore(lineView.gutterBackground, lineView.text)\n\t }\n\t var markers = lineView.line.gutterMarkers\n\t if (cm.options.lineNumbers || markers) {\n\t var wrap$1 = ensureLineWrapped(lineView)\n\t var gutterWrap = lineView.gutter = elt(\"div\", null, \"CodeMirror-gutter-wrapper\", (\"left: \" + (cm.options.fixedGutter ? dims.fixedPos : -dims.gutterTotalWidth) + \"px\"))\n\t cm.display.input.setUneditable(gutterWrap)\n\t wrap$1.insertBefore(gutterWrap, lineView.text)\n\t if (lineView.line.gutterClass)\n\t { gutterWrap.className += \" \" + lineView.line.gutterClass }\n\t if (cm.options.lineNumbers && (!markers || !markers[\"CodeMirror-linenumbers\"]))\n\t { lineView.lineNumber = gutterWrap.appendChild(\n\t elt(\"div\", lineNumberFor(cm.options, lineN),\n\t \"CodeMirror-linenumber CodeMirror-gutter-elt\",\n\t (\"left: \" + (dims.gutterLeft[\"CodeMirror-linenumbers\"]) + \"px; width: \" + (cm.display.lineNumInnerWidth) + \"px\"))) }\n\t if (markers) { for (var k = 0; k < cm.options.gutters.length; ++k) {\n\t var id = cm.options.gutters[k], found = markers.hasOwnProperty(id) && markers[id]\n\t if (found)\n\t { gutterWrap.appendChild(elt(\"div\", [found], \"CodeMirror-gutter-elt\",\n\t (\"left: \" + (dims.gutterLeft[id]) + \"px; width: \" + (dims.gutterWidth[id]) + \"px\"))) }\n\t } }\n\t }\n\t}\n\t\n\tfunction updateLineWidgets(cm, lineView, dims) {\n\t if (lineView.alignable) { lineView.alignable = null }\n\t for (var node = lineView.node.firstChild, next = (void 0); node; node = next) {\n\t next = node.nextSibling\n\t if (node.className == \"CodeMirror-linewidget\")\n\t { lineView.node.removeChild(node) }\n\t }\n\t insertLineWidgets(cm, lineView, dims)\n\t}\n\t\n\t// Build a line's DOM representation from scratch\n\tfunction buildLineElement(cm, lineView, lineN, dims) {\n\t var built = getLineContent(cm, lineView)\n\t lineView.text = lineView.node = built.pre\n\t if (built.bgClass) { lineView.bgClass = built.bgClass }\n\t if (built.textClass) { lineView.textClass = built.textClass }\n\t\n\t updateLineClasses(lineView)\n\t updateLineGutter(cm, lineView, lineN, dims)\n\t insertLineWidgets(cm, lineView, dims)\n\t return lineView.node\n\t}\n\t\n\t// A lineView may contain multiple logical lines (when merged by\n\t// collapsed spans). The widgets for all of them need to be drawn.\n\tfunction insertLineWidgets(cm, lineView, dims) {\n\t insertLineWidgetsFor(cm, lineView.line, lineView, dims, true)\n\t if (lineView.rest) { for (var i = 0; i < lineView.rest.length; i++)\n\t { insertLineWidgetsFor(cm, lineView.rest[i], lineView, dims, false) } }\n\t}\n\t\n\tfunction insertLineWidgetsFor(cm, line, lineView, dims, allowAbove) {\n\t if (!line.widgets) { return }\n\t var wrap = ensureLineWrapped(lineView)\n\t for (var i = 0, ws = line.widgets; i < ws.length; ++i) {\n\t var widget = ws[i], node = elt(\"div\", [widget.node], \"CodeMirror-linewidget\")\n\t if (!widget.handleMouseEvents) { node.setAttribute(\"cm-ignore-events\", \"true\") }\n\t positionLineWidget(widget, node, lineView, dims)\n\t cm.display.input.setUneditable(node)\n\t if (allowAbove && widget.above)\n\t { wrap.insertBefore(node, lineView.gutter || lineView.text) }\n\t else\n\t { wrap.appendChild(node) }\n\t signalLater(widget, \"redraw\")\n\t }\n\t}\n\t\n\tfunction positionLineWidget(widget, node, lineView, dims) {\n\t if (widget.noHScroll) {\n\t ;(lineView.alignable || (lineView.alignable = [])).push(node)\n\t var width = dims.wrapperWidth\n\t node.style.left = dims.fixedPos + \"px\"\n\t if (!widget.coverGutter) {\n\t width -= dims.gutterTotalWidth\n\t node.style.paddingLeft = dims.gutterTotalWidth + \"px\"\n\t }\n\t node.style.width = width + \"px\"\n\t }\n\t if (widget.coverGutter) {\n\t node.style.zIndex = 5\n\t node.style.position = \"relative\"\n\t if (!widget.noHScroll) { node.style.marginLeft = -dims.gutterTotalWidth + \"px\" }\n\t }\n\t}\n\t\n\tfunction widgetHeight(widget) {\n\t if (widget.height != null) { return widget.height }\n\t var cm = widget.doc.cm\n\t if (!cm) { return 0 }\n\t if (!contains(document.body, widget.node)) {\n\t var parentStyle = \"position: relative;\"\n\t if (widget.coverGutter)\n\t { parentStyle += \"margin-left: -\" + cm.display.gutters.offsetWidth + \"px;\" }\n\t if (widget.noHScroll)\n\t { parentStyle += \"width: \" + cm.display.wrapper.clientWidth + \"px;\" }\n\t removeChildrenAndAdd(cm.display.measure, elt(\"div\", [widget.node], null, parentStyle))\n\t }\n\t return widget.height = widget.node.parentNode.offsetHeight\n\t}\n\t\n\t// Return true when the given mouse event happened in a widget\n\tfunction eventInWidget(display, e) {\n\t for (var n = e_target(e); n != display.wrapper; n = n.parentNode) {\n\t if (!n || (n.nodeType == 1 && n.getAttribute(\"cm-ignore-events\") == \"true\") ||\n\t (n.parentNode == display.sizer && n != display.mover))\n\t { return true }\n\t }\n\t}\n\t\n\t// POSITION MEASUREMENT\n\t\n\tfunction paddingTop(display) {return display.lineSpace.offsetTop}\n\tfunction paddingVert(display) {return display.mover.offsetHeight - display.lineSpace.offsetHeight}\n\tfunction paddingH(display) {\n\t if (display.cachedPaddingH) { return display.cachedPaddingH }\n\t var e = removeChildrenAndAdd(display.measure, elt(\"pre\", \"x\"))\n\t var style = window.getComputedStyle ? window.getComputedStyle(e) : e.currentStyle\n\t var data = {left: parseInt(style.paddingLeft), right: parseInt(style.paddingRight)}\n\t if (!isNaN(data.left) && !isNaN(data.right)) { display.cachedPaddingH = data }\n\t return data\n\t}\n\t\n\tfunction scrollGap(cm) { return scrollerGap - cm.display.nativeBarWidth }\n\tfunction displayWidth(cm) {\n\t return cm.display.scroller.clientWidth - scrollGap(cm) - cm.display.barWidth\n\t}\n\tfunction displayHeight(cm) {\n\t return cm.display.scroller.clientHeight - scrollGap(cm) - cm.display.barHeight\n\t}\n\t\n\t// Ensure the lineView.wrapping.heights array is populated. This is\n\t// an array of bottom offsets for the lines that make up a drawn\n\t// line. When lineWrapping is on, there might be more than one\n\t// height.\n\tfunction ensureLineHeights(cm, lineView, rect) {\n\t var wrapping = cm.options.lineWrapping\n\t var curWidth = wrapping && displayWidth(cm)\n\t if (!lineView.measure.heights || wrapping && lineView.measure.width != curWidth) {\n\t var heights = lineView.measure.heights = []\n\t if (wrapping) {\n\t lineView.measure.width = curWidth\n\t var rects = lineView.text.firstChild.getClientRects()\n\t for (var i = 0; i < rects.length - 1; i++) {\n\t var cur = rects[i], next = rects[i + 1]\n\t if (Math.abs(cur.bottom - next.bottom) > 2)\n\t { heights.push((cur.bottom + next.top) / 2 - rect.top) }\n\t }\n\t }\n\t heights.push(rect.bottom - rect.top)\n\t }\n\t}\n\t\n\t// Find a line map (mapping character offsets to text nodes) and a\n\t// measurement cache for the given line number. (A line view might\n\t// contain multiple lines when collapsed ranges are present.)\n\tfunction mapFromLineView(lineView, line, lineN) {\n\t if (lineView.line == line)\n\t { return {map: lineView.measure.map, cache: lineView.measure.cache} }\n\t for (var i = 0; i < lineView.rest.length; i++)\n\t { if (lineView.rest[i] == line)\n\t { return {map: lineView.measure.maps[i], cache: lineView.measure.caches[i]} } }\n\t for (var i$1 = 0; i$1 < lineView.rest.length; i$1++)\n\t { if (lineNo(lineView.rest[i$1]) > lineN)\n\t { return {map: lineView.measure.maps[i$1], cache: lineView.measure.caches[i$1], before: true} } }\n\t}\n\t\n\t// Render a line into the hidden node display.externalMeasured. Used\n\t// when measurement is needed for a line that's not in the viewport.\n\tfunction updateExternalMeasurement(cm, line) {\n\t line = visualLine(line)\n\t var lineN = lineNo(line)\n\t var view = cm.display.externalMeasured = new LineView(cm.doc, line, lineN)\n\t view.lineN = lineN\n\t var built = view.built = buildLineContent(cm, view)\n\t view.text = built.pre\n\t removeChildrenAndAdd(cm.display.lineMeasure, built.pre)\n\t return view\n\t}\n\t\n\t// Get a {top, bottom, left, right} box (in line-local coordinates)\n\t// for a given character.\n\tfunction measureChar(cm, line, ch, bias) {\n\t return measureCharPrepared(cm, prepareMeasureForLine(cm, line), ch, bias)\n\t}\n\t\n\t// Find a line view that corresponds to the given line number.\n\tfunction findViewForLine(cm, lineN) {\n\t if (lineN >= cm.display.viewFrom && lineN < cm.display.viewTo)\n\t { return cm.display.view[findViewIndex(cm, lineN)] }\n\t var ext = cm.display.externalMeasured\n\t if (ext && lineN >= ext.lineN && lineN < ext.lineN + ext.size)\n\t { return ext }\n\t}\n\t\n\t// Measurement can be split in two steps, the set-up work that\n\t// applies to the whole line, and the measurement of the actual\n\t// character. Functions like coordsChar, that need to do a lot of\n\t// measurements in a row, can thus ensure that the set-up work is\n\t// only done once.\n\tfunction prepareMeasureForLine(cm, line) {\n\t var lineN = lineNo(line)\n\t var view = findViewForLine(cm, lineN)\n\t if (view && !view.text) {\n\t view = null\n\t } else if (view && view.changes) {\n\t updateLineForChanges(cm, view, lineN, getDimensions(cm))\n\t cm.curOp.forceUpdate = true\n\t }\n\t if (!view)\n\t { view = updateExternalMeasurement(cm, line) }\n\t\n\t var info = mapFromLineView(view, line, lineN)\n\t return {\n\t line: line, view: view, rect: null,\n\t map: info.map, cache: info.cache, before: info.before,\n\t hasHeights: false\n\t }\n\t}\n\t\n\t// Given a prepared measurement object, measures the position of an\n\t// actual character (or fetches it from the cache).\n\tfunction measureCharPrepared(cm, prepared, ch, bias, varHeight) {\n\t if (prepared.before) { ch = -1 }\n\t var key = ch + (bias || \"\"), found\n\t if (prepared.cache.hasOwnProperty(key)) {\n\t found = prepared.cache[key]\n\t } else {\n\t if (!prepared.rect)\n\t { prepared.rect = prepared.view.text.getBoundingClientRect() }\n\t if (!prepared.hasHeights) {\n\t ensureLineHeights(cm, prepared.view, prepared.rect)\n\t prepared.hasHeights = true\n\t }\n\t found = measureCharInner(cm, prepared, ch, bias)\n\t if (!found.bogus) { prepared.cache[key] = found }\n\t }\n\t return {left: found.left, right: found.right,\n\t top: varHeight ? found.rtop : found.top,\n\t bottom: varHeight ? found.rbottom : found.bottom}\n\t}\n\t\n\tvar nullRect = {left: 0, right: 0, top: 0, bottom: 0}\n\t\n\tfunction nodeAndOffsetInLineMap(map, ch, bias) {\n\t var node, start, end, collapse, mStart, mEnd\n\t // First, search the line map for the text node corresponding to,\n\t // or closest to, the target character.\n\t for (var i = 0; i < map.length; i += 3) {\n\t mStart = map[i]\n\t mEnd = map[i + 1]\n\t if (ch < mStart) {\n\t start = 0; end = 1\n\t collapse = \"left\"\n\t } else if (ch < mEnd) {\n\t start = ch - mStart\n\t end = start + 1\n\t } else if (i == map.length - 3 || ch == mEnd && map[i + 3] > ch) {\n\t end = mEnd - mStart\n\t start = end - 1\n\t if (ch >= mEnd) { collapse = \"right\" }\n\t }\n\t if (start != null) {\n\t node = map[i + 2]\n\t if (mStart == mEnd && bias == (node.insertLeft ? \"left\" : \"right\"))\n\t { collapse = bias }\n\t if (bias == \"left\" && start == 0)\n\t { while (i && map[i - 2] == map[i - 3] && map[i - 1].insertLeft) {\n\t node = map[(i -= 3) + 2]\n\t collapse = \"left\"\n\t } }\n\t if (bias == \"right\" && start == mEnd - mStart)\n\t { while (i < map.length - 3 && map[i + 3] == map[i + 4] && !map[i + 5].insertLeft) {\n\t node = map[(i += 3) + 2]\n\t collapse = \"right\"\n\t } }\n\t break\n\t }\n\t }\n\t return {node: node, start: start, end: end, collapse: collapse, coverStart: mStart, coverEnd: mEnd}\n\t}\n\t\n\tfunction getUsefulRect(rects, bias) {\n\t var rect = nullRect\n\t if (bias == \"left\") { for (var i = 0; i < rects.length; i++) {\n\t if ((rect = rects[i]).left != rect.right) { break }\n\t } } else { for (var i$1 = rects.length - 1; i$1 >= 0; i$1--) {\n\t if ((rect = rects[i$1]).left != rect.right) { break }\n\t } }\n\t return rect\n\t}\n\t\n\tfunction measureCharInner(cm, prepared, ch, bias) {\n\t var place = nodeAndOffsetInLineMap(prepared.map, ch, bias)\n\t var node = place.node, start = place.start, end = place.end, collapse = place.collapse\n\t\n\t var rect\n\t if (node.nodeType == 3) { // If it is a text node, use a range to retrieve the coordinates.\n\t for (var i$1 = 0; i$1 < 4; i$1++) { // Retry a maximum of 4 times when nonsense rectangles are returned\n\t while (start && isExtendingChar(prepared.line.text.charAt(place.coverStart + start))) { --start }\n\t while (place.coverStart + end < place.coverEnd && isExtendingChar(prepared.line.text.charAt(place.coverStart + end))) { ++end }\n\t if (ie && ie_version < 9 && start == 0 && end == place.coverEnd - place.coverStart)\n\t { rect = node.parentNode.getBoundingClientRect() }\n\t else\n\t { rect = getUsefulRect(range(node, start, end).getClientRects(), bias) }\n\t if (rect.left || rect.right || start == 0) { break }\n\t end = start\n\t start = start - 1\n\t collapse = \"right\"\n\t }\n\t if (ie && ie_version < 11) { rect = maybeUpdateRectForZooming(cm.display.measure, rect) }\n\t } else { // If it is a widget, simply get the box for the whole widget.\n\t if (start > 0) { collapse = bias = \"right\" }\n\t var rects\n\t if (cm.options.lineWrapping && (rects = node.getClientRects()).length > 1)\n\t { rect = rects[bias == \"right\" ? rects.length - 1 : 0] }\n\t else\n\t { rect = node.getBoundingClientRect() }\n\t }\n\t if (ie && ie_version < 9 && !start && (!rect || !rect.left && !rect.right)) {\n\t var rSpan = node.parentNode.getClientRects()[0]\n\t if (rSpan)\n\t { rect = {left: rSpan.left, right: rSpan.left + charWidth(cm.display), top: rSpan.top, bottom: rSpan.bottom} }\n\t else\n\t { rect = nullRect }\n\t }\n\t\n\t var rtop = rect.top - prepared.rect.top, rbot = rect.bottom - prepared.rect.top\n\t var mid = (rtop + rbot) / 2\n\t var heights = prepared.view.measure.heights\n\t var i = 0\n\t for (; i < heights.length - 1; i++)\n\t { if (mid < heights[i]) { break } }\n\t var top = i ? heights[i - 1] : 0, bot = heights[i]\n\t var result = {left: (collapse == \"right\" ? rect.right : rect.left) - prepared.rect.left,\n\t right: (collapse == \"left\" ? rect.left : rect.right) - prepared.rect.left,\n\t top: top, bottom: bot}\n\t if (!rect.left && !rect.right) { result.bogus = true }\n\t if (!cm.options.singleCursorHeightPerLine) { result.rtop = rtop; result.rbottom = rbot }\n\t\n\t return result\n\t}\n\t\n\t// Work around problem with bounding client rects on ranges being\n\t// returned incorrectly when zoomed on IE10 and below.\n\tfunction maybeUpdateRectForZooming(measure, rect) {\n\t if (!window.screen || screen.logicalXDPI == null ||\n\t screen.logicalXDPI == screen.deviceXDPI || !hasBadZoomedRects(measure))\n\t { return rect }\n\t var scaleX = screen.logicalXDPI / screen.deviceXDPI\n\t var scaleY = screen.logicalYDPI / screen.deviceYDPI\n\t return {left: rect.left * scaleX, right: rect.right * scaleX,\n\t top: rect.top * scaleY, bottom: rect.bottom * scaleY}\n\t}\n\t\n\tfunction clearLineMeasurementCacheFor(lineView) {\n\t if (lineView.measure) {\n\t lineView.measure.cache = {}\n\t lineView.measure.heights = null\n\t if (lineView.rest) { for (var i = 0; i < lineView.rest.length; i++)\n\t { lineView.measure.caches[i] = {} } }\n\t }\n\t}\n\t\n\tfunction clearLineMeasurementCache(cm) {\n\t cm.display.externalMeasure = null\n\t removeChildren(cm.display.lineMeasure)\n\t for (var i = 0; i < cm.display.view.length; i++)\n\t { clearLineMeasurementCacheFor(cm.display.view[i]) }\n\t}\n\t\n\tfunction clearCaches(cm) {\n\t clearLineMeasurementCache(cm)\n\t cm.display.cachedCharWidth = cm.display.cachedTextHeight = cm.display.cachedPaddingH = null\n\t if (!cm.options.lineWrapping) { cm.display.maxLineChanged = true }\n\t cm.display.lineNumChars = null\n\t}\n\t\n\tfunction pageScrollX() { return window.pageXOffset || (document.documentElement || document.body).scrollLeft }\n\tfunction pageScrollY() { return window.pageYOffset || (document.documentElement || document.body).scrollTop }\n\t\n\t// Converts a {top, bottom, left, right} box from line-local\n\t// coordinates into another coordinate system. Context may be one of\n\t// \"line\", \"div\" (display.lineDiv), \"local\"./null (editor), \"window\",\n\t// or \"page\".\n\tfunction intoCoordSystem(cm, lineObj, rect, context, includeWidgets) {\n\t if (!includeWidgets && lineObj.widgets) { for (var i = 0; i < lineObj.widgets.length; ++i) { if (lineObj.widgets[i].above) {\n\t var size = widgetHeight(lineObj.widgets[i])\n\t rect.top += size; rect.bottom += size\n\t } } }\n\t if (context == \"line\") { return rect }\n\t if (!context) { context = \"local\" }\n\t var yOff = heightAtLine(lineObj)\n\t if (context == \"local\") { yOff += paddingTop(cm.display) }\n\t else { yOff -= cm.display.viewOffset }\n\t if (context == \"page\" || context == \"window\") {\n\t var lOff = cm.display.lineSpace.getBoundingClientRect()\n\t yOff += lOff.top + (context == \"window\" ? 0 : pageScrollY())\n\t var xOff = lOff.left + (context == \"window\" ? 0 : pageScrollX())\n\t rect.left += xOff; rect.right += xOff\n\t }\n\t rect.top += yOff; rect.bottom += yOff\n\t return rect\n\t}\n\t\n\t// Coverts a box from \"div\" coords to another coordinate system.\n\t// Context may be \"window\", \"page\", \"div\", or \"local\"./null.\n\tfunction fromCoordSystem(cm, coords, context) {\n\t if (context == \"div\") { return coords }\n\t var left = coords.left, top = coords.top\n\t // First move into \"page\" coordinate system\n\t if (context == \"page\") {\n\t left -= pageScrollX()\n\t top -= pageScrollY()\n\t } else if (context == \"local\" || !context) {\n\t var localBox = cm.display.sizer.getBoundingClientRect()\n\t left += localBox.left\n\t top += localBox.top\n\t }\n\t\n\t var lineSpaceBox = cm.display.lineSpace.getBoundingClientRect()\n\t return {left: left - lineSpaceBox.left, top: top - lineSpaceBox.top}\n\t}\n\t\n\tfunction charCoords(cm, pos, context, lineObj, bias) {\n\t if (!lineObj) { lineObj = getLine(cm.doc, pos.line) }\n\t return intoCoordSystem(cm, lineObj, measureChar(cm, lineObj, pos.ch, bias), context)\n\t}\n\t\n\t// Returns a box for a given cursor position, which may have an\n\t// 'other' property containing the position of the secondary cursor\n\t// on a bidi boundary.\n\tfunction cursorCoords(cm, pos, context, lineObj, preparedMeasure, varHeight) {\n\t lineObj = lineObj || getLine(cm.doc, pos.line)\n\t if (!preparedMeasure) { preparedMeasure = prepareMeasureForLine(cm, lineObj) }\n\t function get(ch, right) {\n\t var m = measureCharPrepared(cm, preparedMeasure, ch, right ? \"right\" : \"left\", varHeight)\n\t if (right) { m.left = m.right; } else { m.right = m.left }\n\t return intoCoordSystem(cm, lineObj, m, context)\n\t }\n\t function getBidi(ch, partPos) {\n\t var part = order[partPos], right = part.level % 2\n\t if (ch == bidiLeft(part) && partPos && part.level < order[partPos - 1].level) {\n\t part = order[--partPos]\n\t ch = bidiRight(part) - (part.level % 2 ? 0 : 1)\n\t right = true\n\t } else if (ch == bidiRight(part) && partPos < order.length - 1 && part.level < order[partPos + 1].level) {\n\t part = order[++partPos]\n\t ch = bidiLeft(part) - part.level % 2\n\t right = false\n\t }\n\t if (right && ch == part.to && ch > part.from) { return get(ch - 1) }\n\t return get(ch, right)\n\t }\n\t var order = getOrder(lineObj), ch = pos.ch\n\t if (!order) { return get(ch) }\n\t var partPos = getBidiPartAt(order, ch)\n\t var val = getBidi(ch, partPos)\n\t if (bidiOther != null) { val.other = getBidi(ch, bidiOther) }\n\t return val\n\t}\n\t\n\t// Used to cheaply estimate the coordinates for a position. Used for\n\t// intermediate scroll updates.\n\tfunction estimateCoords(cm, pos) {\n\t var left = 0\n\t pos = clipPos(cm.doc, pos)\n\t if (!cm.options.lineWrapping) { left = charWidth(cm.display) * pos.ch }\n\t var lineObj = getLine(cm.doc, pos.line)\n\t var top = heightAtLine(lineObj) + paddingTop(cm.display)\n\t return {left: left, right: left, top: top, bottom: top + lineObj.height}\n\t}\n\t\n\t// Positions returned by coordsChar contain some extra information.\n\t// xRel is the relative x position of the input coordinates compared\n\t// to the found position (so xRel > 0 means the coordinates are to\n\t// the right of the character position, for example). When outside\n\t// is true, that means the coordinates lie outside the line's\n\t// vertical range.\n\tfunction PosWithInfo(line, ch, outside, xRel) {\n\t var pos = Pos(line, ch)\n\t pos.xRel = xRel\n\t if (outside) { pos.outside = true }\n\t return pos\n\t}\n\t\n\t// Compute the character position closest to the given coordinates.\n\t// Input must be lineSpace-local (\"div\" coordinate system).\n\tfunction coordsChar(cm, x, y) {\n\t var doc = cm.doc\n\t y += cm.display.viewOffset\n\t if (y < 0) { return PosWithInfo(doc.first, 0, true, -1) }\n\t var lineN = lineAtHeight(doc, y), last = doc.first + doc.size - 1\n\t if (lineN > last)\n\t { return PosWithInfo(doc.first + doc.size - 1, getLine(doc, last).text.length, true, 1) }\n\t if (x < 0) { x = 0 }\n\t\n\t var lineObj = getLine(doc, lineN)\n\t for (;;) {\n\t var found = coordsCharInner(cm, lineObj, lineN, x, y)\n\t var merged = collapsedSpanAtEnd(lineObj)\n\t var mergedPos = merged && merged.find(0, true)\n\t if (merged && (found.ch > mergedPos.from.ch || found.ch == mergedPos.from.ch && found.xRel > 0))\n\t { lineN = lineNo(lineObj = mergedPos.to.line) }\n\t else\n\t { return found }\n\t }\n\t}\n\t\n\tfunction coordsCharInner(cm, lineObj, lineNo, x, y) {\n\t var innerOff = y - heightAtLine(lineObj)\n\t var wrongLine = false, adjust = 2 * cm.display.wrapper.clientWidth\n\t var preparedMeasure = prepareMeasureForLine(cm, lineObj)\n\t\n\t function getX(ch) {\n\t var sp = cursorCoords(cm, Pos(lineNo, ch), \"line\", lineObj, preparedMeasure)\n\t wrongLine = true\n\t if (innerOff > sp.bottom) { return sp.left - adjust }\n\t else if (innerOff < sp.top) { return sp.left + adjust }\n\t else { wrongLine = false }\n\t return sp.left\n\t }\n\t\n\t var bidi = getOrder(lineObj), dist = lineObj.text.length\n\t var from = lineLeft(lineObj), to = lineRight(lineObj)\n\t var fromX = getX(from), fromOutside = wrongLine, toX = getX(to), toOutside = wrongLine\n\t\n\t if (x > toX) { return PosWithInfo(lineNo, to, toOutside, 1) }\n\t // Do a binary search between these bounds.\n\t for (;;) {\n\t if (bidi ? to == from || to == moveVisually(lineObj, from, 1) : to - from <= 1) {\n\t var ch = x < fromX || x - fromX <= toX - x ? from : to\n\t var outside = ch == from ? fromOutside : toOutside\n\t var xDiff = x - (ch == from ? fromX : toX)\n\t // This is a kludge to handle the case where the coordinates\n\t // are after a line-wrapped line. We should replace it with a\n\t // more general handling of cursor positions around line\n\t // breaks. (Issue #4078)\n\t if (toOutside && !bidi && !/\\s/.test(lineObj.text.charAt(ch)) && xDiff > 0 &&\n\t ch < lineObj.text.length && preparedMeasure.view.measure.heights.length > 1) {\n\t var charSize = measureCharPrepared(cm, preparedMeasure, ch, \"right\")\n\t if (innerOff <= charSize.bottom && innerOff >= charSize.top && Math.abs(x - charSize.right) < xDiff) {\n\t outside = false\n\t ch++\n\t xDiff = x - charSize.right\n\t }\n\t }\n\t while (isExtendingChar(lineObj.text.charAt(ch))) { ++ch }\n\t var pos = PosWithInfo(lineNo, ch, outside, xDiff < -1 ? -1 : xDiff > 1 ? 1 : 0)\n\t return pos\n\t }\n\t var step = Math.ceil(dist / 2), middle = from + step\n\t if (bidi) {\n\t middle = from\n\t for (var i = 0; i < step; ++i) { middle = moveVisually(lineObj, middle, 1) }\n\t }\n\t var middleX = getX(middle)\n\t if (middleX > x) {to = middle; toX = middleX; if (toOutside = wrongLine) { toX += 1000; } dist = step}\n\t else {from = middle; fromX = middleX; fromOutside = wrongLine; dist -= step}\n\t }\n\t}\n\t\n\tvar measureText\n\t// Compute the default text height.\n\tfunction textHeight(display) {\n\t if (display.cachedTextHeight != null) { return display.cachedTextHeight }\n\t if (measureText == null) {\n\t measureText = elt(\"pre\")\n\t // Measure a bunch of lines, for browsers that compute\n\t // fractional heights.\n\t for (var i = 0; i < 49; ++i) {\n\t measureText.appendChild(document.createTextNode(\"x\"))\n\t measureText.appendChild(elt(\"br\"))\n\t }\n\t measureText.appendChild(document.createTextNode(\"x\"))\n\t }\n\t removeChildrenAndAdd(display.measure, measureText)\n\t var height = measureText.offsetHeight / 50\n\t if (height > 3) { display.cachedTextHeight = height }\n\t removeChildren(display.measure)\n\t return height || 1\n\t}\n\t\n\t// Compute the default character width.\n\tfunction charWidth(display) {\n\t if (display.cachedCharWidth != null) { return display.cachedCharWidth }\n\t var anchor = elt(\"span\", \"xxxxxxxxxx\")\n\t var pre = elt(\"pre\", [anchor])\n\t removeChildrenAndAdd(display.measure, pre)\n\t var rect = anchor.getBoundingClientRect(), width = (rect.right - rect.left) / 10\n\t if (width > 2) { display.cachedCharWidth = width }\n\t return width || 10\n\t}\n\t\n\t// Do a bulk-read of the DOM positions and sizes needed to draw the\n\t// view, so that we don't interleave reading and writing to the DOM.\n\tfunction getDimensions(cm) {\n\t var d = cm.display, left = {}, width = {}\n\t var gutterLeft = d.gutters.clientLeft\n\t for (var n = d.gutters.firstChild, i = 0; n; n = n.nextSibling, ++i) {\n\t left[cm.options.gutters[i]] = n.offsetLeft + n.clientLeft + gutterLeft\n\t width[cm.options.gutters[i]] = n.clientWidth\n\t }\n\t return {fixedPos: compensateForHScroll(d),\n\t gutterTotalWidth: d.gutters.offsetWidth,\n\t gutterLeft: left,\n\t gutterWidth: width,\n\t wrapperWidth: d.wrapper.clientWidth}\n\t}\n\t\n\t// Computes display.scroller.scrollLeft + display.gutters.offsetWidth,\n\t// but using getBoundingClientRect to get a sub-pixel-accurate\n\t// result.\n\tfunction compensateForHScroll(display) {\n\t return display.scroller.getBoundingClientRect().left - display.sizer.getBoundingClientRect().left\n\t}\n\t\n\t// Returns a function that estimates the height of a line, to use as\n\t// first approximation until the line becomes visible (and is thus\n\t// properly measurable).\n\tfunction estimateHeight(cm) {\n\t var th = textHeight(cm.display), wrapping = cm.options.lineWrapping\n\t var perLine = wrapping && Math.max(5, cm.display.scroller.clientWidth / charWidth(cm.display) - 3)\n\t return function (line) {\n\t if (lineIsHidden(cm.doc, line)) { return 0 }\n\t\n\t var widgetsHeight = 0\n\t if (line.widgets) { for (var i = 0; i < line.widgets.length; i++) {\n\t if (line.widgets[i].height) { widgetsHeight += line.widgets[i].height }\n\t } }\n\t\n\t if (wrapping)\n\t { return widgetsHeight + (Math.ceil(line.text.length / perLine) || 1) * th }\n\t else\n\t { return widgetsHeight + th }\n\t }\n\t}\n\t\n\tfunction estimateLineHeights(cm) {\n\t var doc = cm.doc, est = estimateHeight(cm)\n\t doc.iter(function (line) {\n\t var estHeight = est(line)\n\t if (estHeight != line.height) { updateLineHeight(line, estHeight) }\n\t })\n\t}\n\t\n\t// Given a mouse event, find the corresponding position. If liberal\n\t// is false, it checks whether a gutter or scrollbar was clicked,\n\t// and returns null if it was. forRect is used by rectangular\n\t// selections, and tries to estimate a character position even for\n\t// coordinates beyond the right of the text.\n\tfunction posFromMouse(cm, e, liberal, forRect) {\n\t var display = cm.display\n\t if (!liberal && e_target(e).getAttribute(\"cm-not-content\") == \"true\") { return null }\n\t\n\t var x, y, space = display.lineSpace.getBoundingClientRect()\n\t // Fails unpredictably on IE[67] when mouse is dragged around quickly.\n\t try { x = e.clientX - space.left; y = e.clientY - space.top }\n\t catch (e) { return null }\n\t var coords = coordsChar(cm, x, y), line\n\t if (forRect && coords.xRel == 1 && (line = getLine(cm.doc, coords.line).text).length == coords.ch) {\n\t var colDiff = countColumn(line, line.length, cm.options.tabSize) - line.length\n\t coords = Pos(coords.line, Math.max(0, Math.round((x - paddingH(cm.display).left) / charWidth(cm.display)) - colDiff))\n\t }\n\t return coords\n\t}\n\t\n\t// Find the view element corresponding to a given line. Return null\n\t// when the line isn't visible.\n\tfunction findViewIndex(cm, n) {\n\t if (n >= cm.display.viewTo) { return null }\n\t n -= cm.display.viewFrom\n\t if (n < 0) { return null }\n\t var view = cm.display.view\n\t for (var i = 0; i < view.length; i++) {\n\t n -= view[i].size\n\t if (n < 0) { return i }\n\t }\n\t}\n\t\n\tfunction updateSelection(cm) {\n\t cm.display.input.showSelection(cm.display.input.prepareSelection())\n\t}\n\t\n\tfunction prepareSelection(cm, primary) {\n\t var doc = cm.doc, result = {}\n\t var curFragment = result.cursors = document.createDocumentFragment()\n\t var selFragment = result.selection = document.createDocumentFragment()\n\t\n\t for (var i = 0; i < doc.sel.ranges.length; i++) {\n\t if (primary === false && i == doc.sel.primIndex) { continue }\n\t var range = doc.sel.ranges[i]\n\t if (range.from().line >= cm.display.viewTo || range.to().line < cm.display.viewFrom) { continue }\n\t var collapsed = range.empty()\n\t if (collapsed || cm.options.showCursorWhenSelecting)\n\t { drawSelectionCursor(cm, range.head, curFragment) }\n\t if (!collapsed)\n\t { drawSelectionRange(cm, range, selFragment) }\n\t }\n\t return result\n\t}\n\t\n\t// Draws a cursor for the given range\n\tfunction drawSelectionCursor(cm, head, output) {\n\t var pos = cursorCoords(cm, head, \"div\", null, null, !cm.options.singleCursorHeightPerLine)\n\t\n\t var cursor = output.appendChild(elt(\"div\", \"\\u00a0\", \"CodeMirror-cursor\"))\n\t cursor.style.left = pos.left + \"px\"\n\t cursor.style.top = pos.top + \"px\"\n\t cursor.style.height = Math.max(0, pos.bottom - pos.top) * cm.options.cursorHeight + \"px\"\n\t\n\t if (pos.other) {\n\t // Secondary cursor, shown when on a 'jump' in bi-directional text\n\t var otherCursor = output.appendChild(elt(\"div\", \"\\u00a0\", \"CodeMirror-cursor CodeMirror-secondarycursor\"))\n\t otherCursor.style.display = \"\"\n\t otherCursor.style.left = pos.other.left + \"px\"\n\t otherCursor.style.top = pos.other.top + \"px\"\n\t otherCursor.style.height = (pos.other.bottom - pos.other.top) * .85 + \"px\"\n\t }\n\t}\n\t\n\t// Draws the given range as a highlighted selection\n\tfunction drawSelectionRange(cm, range, output) {\n\t var display = cm.display, doc = cm.doc\n\t var fragment = document.createDocumentFragment()\n\t var padding = paddingH(cm.display), leftSide = padding.left\n\t var rightSide = Math.max(display.sizerWidth, displayWidth(cm) - display.sizer.offsetLeft) - padding.right\n\t\n\t function add(left, top, width, bottom) {\n\t if (top < 0) { top = 0 }\n\t top = Math.round(top)\n\t bottom = Math.round(bottom)\n\t fragment.appendChild(elt(\"div\", null, \"CodeMirror-selected\", (\"position: absolute; left: \" + left + \"px;\\n top: \" + top + \"px; width: \" + (width == null ? rightSide - left : width) + \"px;\\n height: \" + (bottom - top) + \"px\")))\n\t }\n\t\n\t function drawForLine(line, fromArg, toArg) {\n\t var lineObj = getLine(doc, line)\n\t var lineLen = lineObj.text.length\n\t var start, end\n\t function coords(ch, bias) {\n\t return charCoords(cm, Pos(line, ch), \"div\", lineObj, bias)\n\t }\n\t\n\t iterateBidiSections(getOrder(lineObj), fromArg || 0, toArg == null ? lineLen : toArg, function (from, to, dir) {\n\t var leftPos = coords(from, \"left\"), rightPos, left, right\n\t if (from == to) {\n\t rightPos = leftPos\n\t left = right = leftPos.left\n\t } else {\n\t rightPos = coords(to - 1, \"right\")\n\t if (dir == \"rtl\") { var tmp = leftPos; leftPos = rightPos; rightPos = tmp }\n\t left = leftPos.left\n\t right = rightPos.right\n\t }\n\t if (fromArg == null && from == 0) { left = leftSide }\n\t if (rightPos.top - leftPos.top > 3) { // Different lines, draw top part\n\t add(left, leftPos.top, null, leftPos.bottom)\n\t left = leftSide\n\t if (leftPos.bottom < rightPos.top) { add(left, leftPos.bottom, null, rightPos.top) }\n\t }\n\t if (toArg == null && to == lineLen) { right = rightSide }\n\t if (!start || leftPos.top < start.top || leftPos.top == start.top && leftPos.left < start.left)\n\t { start = leftPos }\n\t if (!end || rightPos.bottom > end.bottom || rightPos.bottom == end.bottom && rightPos.right > end.right)\n\t { end = rightPos }\n\t if (left < leftSide + 1) { left = leftSide }\n\t add(left, rightPos.top, right - left, rightPos.bottom)\n\t })\n\t return {start: start, end: end}\n\t }\n\t\n\t var sFrom = range.from(), sTo = range.to()\n\t if (sFrom.line == sTo.line) {\n\t drawForLine(sFrom.line, sFrom.ch, sTo.ch)\n\t } else {\n\t var fromLine = getLine(doc, sFrom.line), toLine = getLine(doc, sTo.line)\n\t var singleVLine = visualLine(fromLine) == visualLine(toLine)\n\t var leftEnd = drawForLine(sFrom.line, sFrom.ch, singleVLine ? fromLine.text.length + 1 : null).end\n\t var rightStart = drawForLine(sTo.line, singleVLine ? 0 : null, sTo.ch).start\n\t if (singleVLine) {\n\t if (leftEnd.top < rightStart.top - 2) {\n\t add(leftEnd.right, leftEnd.top, null, leftEnd.bottom)\n\t add(leftSide, rightStart.top, rightStart.left, rightStart.bottom)\n\t } else {\n\t add(leftEnd.right, leftEnd.top, rightStart.left - leftEnd.right, leftEnd.bottom)\n\t }\n\t }\n\t if (leftEnd.bottom < rightStart.top)\n\t { add(leftSide, leftEnd.bottom, null, rightStart.top) }\n\t }\n\t\n\t output.appendChild(fragment)\n\t}\n\t\n\t// Cursor-blinking\n\tfunction restartBlink(cm) {\n\t if (!cm.state.focused) { return }\n\t var display = cm.display\n\t clearInterval(display.blinker)\n\t var on = true\n\t display.cursorDiv.style.visibility = \"\"\n\t if (cm.options.cursorBlinkRate > 0)\n\t { display.blinker = setInterval(function () { return display.cursorDiv.style.visibility = (on = !on) ? \"\" : \"hidden\"; },\n\t cm.options.cursorBlinkRate) }\n\t else if (cm.options.cursorBlinkRate < 0)\n\t { display.cursorDiv.style.visibility = \"hidden\" }\n\t}\n\t\n\tfunction ensureFocus(cm) {\n\t if (!cm.state.focused) { cm.display.input.focus(); onFocus(cm) }\n\t}\n\t\n\tfunction delayBlurEvent(cm) {\n\t cm.state.delayingBlurEvent = true\n\t setTimeout(function () { if (cm.state.delayingBlurEvent) {\n\t cm.state.delayingBlurEvent = false\n\t onBlur(cm)\n\t } }, 100)\n\t}\n\t\n\tfunction onFocus(cm, e) {\n\t if (cm.state.delayingBlurEvent) { cm.state.delayingBlurEvent = false }\n\t\n\t if (cm.options.readOnly == \"nocursor\") { return }\n\t if (!cm.state.focused) {\n\t signal(cm, \"focus\", cm, e)\n\t cm.state.focused = true\n\t addClass(cm.display.wrapper, \"CodeMirror-focused\")\n\t // This test prevents this from firing when a context\n\t // menu is closed (since the input reset would kill the\n\t // select-all detection hack)\n\t if (!cm.curOp && cm.display.selForContextMenu != cm.doc.sel) {\n\t cm.display.input.reset()\n\t if (webkit) { setTimeout(function () { return cm.display.input.reset(true); }, 20) } // Issue #1730\n\t }\n\t cm.display.input.receivedFocus()\n\t }\n\t restartBlink(cm)\n\t}\n\tfunction onBlur(cm, e) {\n\t if (cm.state.delayingBlurEvent) { return }\n\t\n\t if (cm.state.focused) {\n\t signal(cm, \"blur\", cm, e)\n\t cm.state.focused = false\n\t rmClass(cm.display.wrapper, \"CodeMirror-focused\")\n\t }\n\t clearInterval(cm.display.blinker)\n\t setTimeout(function () { if (!cm.state.focused) { cm.display.shift = false } }, 150)\n\t}\n\t\n\t// Re-align line numbers and gutter marks to compensate for\n\t// horizontal scrolling.\n\tfunction alignHorizontally(cm) {\n\t var display = cm.display, view = display.view\n\t if (!display.alignWidgets && (!display.gutters.firstChild || !cm.options.fixedGutter)) { return }\n\t var comp = compensateForHScroll(display) - display.scroller.scrollLeft + cm.doc.scrollLeft\n\t var gutterW = display.gutters.offsetWidth, left = comp + \"px\"\n\t for (var i = 0; i < view.length; i++) { if (!view[i].hidden) {\n\t if (cm.options.fixedGutter) {\n\t if (view[i].gutter)\n\t { view[i].gutter.style.left = left }\n\t if (view[i].gutterBackground)\n\t { view[i].gutterBackground.style.left = left }\n\t }\n\t var align = view[i].alignable\n\t if (align) { for (var j = 0; j < align.length; j++)\n\t { align[j].style.left = left } }\n\t } }\n\t if (cm.options.fixedGutter)\n\t { display.gutters.style.left = (comp + gutterW) + \"px\" }\n\t}\n\t\n\t// Used to ensure that the line number gutter is still the right\n\t// size for the current document size. Returns true when an update\n\t// is needed.\n\tfunction maybeUpdateLineNumberWidth(cm) {\n\t if (!cm.options.lineNumbers) { return false }\n\t var doc = cm.doc, last = lineNumberFor(cm.options, doc.first + doc.size - 1), display = cm.display\n\t if (last.length != display.lineNumChars) {\n\t var test = display.measure.appendChild(elt(\"div\", [elt(\"div\", last)],\n\t \"CodeMirror-linenumber CodeMirror-gutter-elt\"))\n\t var innerW = test.firstChild.offsetWidth, padding = test.offsetWidth - innerW\n\t display.lineGutter.style.width = \"\"\n\t display.lineNumInnerWidth = Math.max(innerW, display.lineGutter.offsetWidth - padding) + 1\n\t display.lineNumWidth = display.lineNumInnerWidth + padding\n\t display.lineNumChars = display.lineNumInnerWidth ? last.length : -1\n\t display.lineGutter.style.width = display.lineNumWidth + \"px\"\n\t updateGutterSpace(cm)\n\t return true\n\t }\n\t return false\n\t}\n\t\n\t// Read the actual heights of the rendered lines, and update their\n\t// stored heights to match.\n\tfunction updateHeightsInViewport(cm) {\n\t var display = cm.display\n\t var prevBottom = display.lineDiv.offsetTop\n\t for (var i = 0; i < display.view.length; i++) {\n\t var cur = display.view[i], height = (void 0)\n\t if (cur.hidden) { continue }\n\t if (ie && ie_version < 8) {\n\t var bot = cur.node.offsetTop + cur.node.offsetHeight\n\t height = bot - prevBottom\n\t prevBottom = bot\n\t } else {\n\t var box = cur.node.getBoundingClientRect()\n\t height = box.bottom - box.top\n\t }\n\t var diff = cur.line.height - height\n\t if (height < 2) { height = textHeight(display) }\n\t if (diff > .001 || diff < -.001) {\n\t updateLineHeight(cur.line, height)\n\t updateWidgetHeight(cur.line)\n\t if (cur.rest) { for (var j = 0; j < cur.rest.length; j++)\n\t { updateWidgetHeight(cur.rest[j]) } }\n\t }\n\t }\n\t}\n\t\n\t// Read and store the height of line widgets associated with the\n\t// given line.\n\tfunction updateWidgetHeight(line) {\n\t if (line.widgets) { for (var i = 0; i < line.widgets.length; ++i)\n\t { line.widgets[i].height = line.widgets[i].node.parentNode.offsetHeight } }\n\t}\n\t\n\t// Compute the lines that are visible in a given viewport (defaults\n\t// the the current scroll position). viewport may contain top,\n\t// height, and ensure (see op.scrollToPos) properties.\n\tfunction visibleLines(display, doc, viewport) {\n\t var top = viewport && viewport.top != null ? Math.max(0, viewport.top) : display.scroller.scrollTop\n\t top = Math.floor(top - paddingTop(display))\n\t var bottom = viewport && viewport.bottom != null ? viewport.bottom : top + display.wrapper.clientHeight\n\t\n\t var from = lineAtHeight(doc, top), to = lineAtHeight(doc, bottom)\n\t // Ensure is a {from: {line, ch}, to: {line, ch}} object, and\n\t // forces those lines into the viewport (if possible).\n\t if (viewport && viewport.ensure) {\n\t var ensureFrom = viewport.ensure.from.line, ensureTo = viewport.ensure.to.line\n\t if (ensureFrom < from) {\n\t from = ensureFrom\n\t to = lineAtHeight(doc, heightAtLine(getLine(doc, ensureFrom)) + display.wrapper.clientHeight)\n\t } else if (Math.min(ensureTo, doc.lastLine()) >= to) {\n\t from = lineAtHeight(doc, heightAtLine(getLine(doc, ensureTo)) - display.wrapper.clientHeight)\n\t to = ensureTo\n\t }\n\t }\n\t return {from: from, to: Math.max(to, from + 1)}\n\t}\n\t\n\t// Sync the scrollable area and scrollbars, ensure the viewport\n\t// covers the visible area.\n\tfunction setScrollTop(cm, val) {\n\t if (Math.abs(cm.doc.scrollTop - val) < 2) { return }\n\t cm.doc.scrollTop = val\n\t if (!gecko) { updateDisplaySimple(cm, {top: val}) }\n\t if (cm.display.scroller.scrollTop != val) { cm.display.scroller.scrollTop = val }\n\t cm.display.scrollbars.setScrollTop(val)\n\t if (gecko) { updateDisplaySimple(cm) }\n\t startWorker(cm, 100)\n\t}\n\t// Sync scroller and scrollbar, ensure the gutter elements are\n\t// aligned.\n\tfunction setScrollLeft(cm, val, isScroller) {\n\t if (isScroller ? val == cm.doc.scrollLeft : Math.abs(cm.doc.scrollLeft - val) < 2) { return }\n\t val = Math.min(val, cm.display.scroller.scrollWidth - cm.display.scroller.clientWidth)\n\t cm.doc.scrollLeft = val\n\t alignHorizontally(cm)\n\t if (cm.display.scroller.scrollLeft != val) { cm.display.scroller.scrollLeft = val }\n\t cm.display.scrollbars.setScrollLeft(val)\n\t}\n\t\n\t// Since the delta values reported on mouse wheel events are\n\t// unstandardized between browsers and even browser versions, and\n\t// generally horribly unpredictable, this code starts by measuring\n\t// the scroll effect that the first few mouse wheel events have,\n\t// and, from that, detects the way it can convert deltas to pixel\n\t// offsets afterwards.\n\t//\n\t// The reason we want to know the amount a wheel event will scroll\n\t// is that it gives us a chance to update the display before the\n\t// actual scrolling happens, reducing flickering.\n\t\n\tvar wheelSamples = 0;\n\tvar wheelPixelsPerUnit = null;\n\t// Fill in a browser-detected starting value on browsers where we\n\t// know one. These don't have to be accurate -- the result of them\n\t// being wrong would just be a slight flicker on the first wheel\n\t// scroll (if it is large enough).\n\tif (ie) { wheelPixelsPerUnit = -.53 }\n\telse if (gecko) { wheelPixelsPerUnit = 15 }\n\telse if (chrome) { wheelPixelsPerUnit = -.7 }\n\telse if (safari) { wheelPixelsPerUnit = -1/3 }\n\t\n\tfunction wheelEventDelta(e) {\n\t var dx = e.wheelDeltaX, dy = e.wheelDeltaY\n\t if (dx == null && e.detail && e.axis == e.HORIZONTAL_AXIS) { dx = e.detail }\n\t if (dy == null && e.detail && e.axis == e.VERTICAL_AXIS) { dy = e.detail }\n\t else if (dy == null) { dy = e.wheelDelta }\n\t return {x: dx, y: dy}\n\t}\n\tfunction wheelEventPixels(e) {\n\t var delta = wheelEventDelta(e)\n\t delta.x *= wheelPixelsPerUnit\n\t delta.y *= wheelPixelsPerUnit\n\t return delta\n\t}\n\t\n\tfunction onScrollWheel(cm, e) {\n\t var delta = wheelEventDelta(e), dx = delta.x, dy = delta.y\n\t\n\t var display = cm.display, scroll = display.scroller\n\t // Quit if there's nothing to scroll here\n\t var canScrollX = scroll.scrollWidth > scroll.clientWidth\n\t var canScrollY = scroll.scrollHeight > scroll.clientHeight\n\t if (!(dx && canScrollX || dy && canScrollY)) { return }\n\t\n\t // Webkit browsers on OS X abort momentum scrolls when the target\n\t // of the scroll event is removed from the scrollable element.\n\t // This hack (see related code in patchDisplay) makes sure the\n\t // element is kept around.\n\t if (dy && mac && webkit) {\n\t outer: for (var cur = e.target, view = display.view; cur != scroll; cur = cur.parentNode) {\n\t for (var i = 0; i < view.length; i++) {\n\t if (view[i].node == cur) {\n\t cm.display.currentWheelTarget = cur\n\t break outer\n\t }\n\t }\n\t }\n\t }\n\t\n\t // On some browsers, horizontal scrolling will cause redraws to\n\t // happen before the gutter has been realigned, causing it to\n\t // wriggle around in a most unseemly way. When we have an\n\t // estimated pixels/delta value, we just handle horizontal\n\t // scrolling entirely here. It'll be slightly off from native, but\n\t // better than glitching out.\n\t if (dx && !gecko && !presto && wheelPixelsPerUnit != null) {\n\t if (dy && canScrollY)\n\t { setScrollTop(cm, Math.max(0, Math.min(scroll.scrollTop + dy * wheelPixelsPerUnit, scroll.scrollHeight - scroll.clientHeight))) }\n\t setScrollLeft(cm, Math.max(0, Math.min(scroll.scrollLeft + dx * wheelPixelsPerUnit, scroll.scrollWidth - scroll.clientWidth)))\n\t // Only prevent default scrolling if vertical scrolling is\n\t // actually possible. Otherwise, it causes vertical scroll\n\t // jitter on OSX trackpads when deltaX is small and deltaY\n\t // is large (issue #3579)\n\t if (!dy || (dy && canScrollY))\n\t { e_preventDefault(e) }\n\t display.wheelStartX = null // Abort measurement, if in progress\n\t return\n\t }\n\t\n\t // 'Project' the visible viewport to cover the area that is being\n\t // scrolled into view (if we know enough to estimate it).\n\t if (dy && wheelPixelsPerUnit != null) {\n\t var pixels = dy * wheelPixelsPerUnit\n\t var top = cm.doc.scrollTop, bot = top + display.wrapper.clientHeight\n\t if (pixels < 0) { top = Math.max(0, top + pixels - 50) }\n\t else { bot = Math.min(cm.doc.height, bot + pixels + 50) }\n\t updateDisplaySimple(cm, {top: top, bottom: bot})\n\t }\n\t\n\t if (wheelSamples < 20) {\n\t if (display.wheelStartX == null) {\n\t display.wheelStartX = scroll.scrollLeft; display.wheelStartY = scroll.scrollTop\n\t display.wheelDX = dx; display.wheelDY = dy\n\t setTimeout(function () {\n\t if (display.wheelStartX == null) { return }\n\t var movedX = scroll.scrollLeft - display.wheelStartX\n\t var movedY = scroll.scrollTop - display.wheelStartY\n\t var sample = (movedY && display.wheelDY && movedY / display.wheelDY) ||\n\t (movedX && display.wheelDX && movedX / display.wheelDX)\n\t display.wheelStartX = display.wheelStartY = null\n\t if (!sample) { return }\n\t wheelPixelsPerUnit = (wheelPixelsPerUnit * wheelSamples + sample) / (wheelSamples + 1)\n\t ++wheelSamples\n\t }, 200)\n\t } else {\n\t display.wheelDX += dx; display.wheelDY += dy\n\t }\n\t }\n\t}\n\t\n\t// SCROLLBARS\n\t\n\t// Prepare DOM reads needed to update the scrollbars. Done in one\n\t// shot to minimize update/measure roundtrips.\n\tfunction measureForScrollbars(cm) {\n\t var d = cm.display, gutterW = d.gutters.offsetWidth\n\t var docH = Math.round(cm.doc.height + paddingVert(cm.display))\n\t return {\n\t clientHeight: d.scroller.clientHeight,\n\t viewHeight: d.wrapper.clientHeight,\n\t scrollWidth: d.scroller.scrollWidth, clientWidth: d.scroller.clientWidth,\n\t viewWidth: d.wrapper.clientWidth,\n\t barLeft: cm.options.fixedGutter ? gutterW : 0,\n\t docHeight: docH,\n\t scrollHeight: docH + scrollGap(cm) + d.barHeight,\n\t nativeBarWidth: d.nativeBarWidth,\n\t gutterWidth: gutterW\n\t }\n\t}\n\t\n\tvar NativeScrollbars = function(place, scroll, cm) {\n\t this.cm = cm\n\t var vert = this.vert = elt(\"div\", [elt(\"div\", null, null, \"min-width: 1px\")], \"CodeMirror-vscrollbar\")\n\t var horiz = this.horiz = elt(\"div\", [elt(\"div\", null, null, \"height: 100%; min-height: 1px\")], \"CodeMirror-hscrollbar\")\n\t place(vert); place(horiz)\n\t\n\t on(vert, \"scroll\", function () {\n\t if (vert.clientHeight) { scroll(vert.scrollTop, \"vertical\") }\n\t })\n\t on(horiz, \"scroll\", function () {\n\t if (horiz.clientWidth) { scroll(horiz.scrollLeft, \"horizontal\") }\n\t })\n\t\n\t this.checkedZeroWidth = false\n\t // Need to set a minimum width to see the scrollbar on IE7 (but must not set it on IE8).\n\t if (ie && ie_version < 8) { this.horiz.style.minHeight = this.vert.style.minWidth = \"18px\" }\n\t};\n\t\n\tNativeScrollbars.prototype.update = function (measure) {\n\t var needsH = measure.scrollWidth > measure.clientWidth + 1\n\t var needsV = measure.scrollHeight > measure.clientHeight + 1\n\t var sWidth = measure.nativeBarWidth\n\t\n\t if (needsV) {\n\t this.vert.style.display = \"block\"\n\t this.vert.style.bottom = needsH ? sWidth + \"px\" : \"0\"\n\t var totalHeight = measure.viewHeight - (needsH ? sWidth : 0)\n\t // A bug in IE8 can cause this value to be negative, so guard it.\n\t this.vert.firstChild.style.height =\n\t Math.max(0, measure.scrollHeight - measure.clientHeight + totalHeight) + \"px\"\n\t } else {\n\t this.vert.style.display = \"\"\n\t this.vert.firstChild.style.height = \"0\"\n\t }\n\t\n\t if (needsH) {\n\t this.horiz.style.display = \"block\"\n\t this.horiz.style.right = needsV ? sWidth + \"px\" : \"0\"\n\t this.horiz.style.left = measure.barLeft + \"px\"\n\t var totalWidth = measure.viewWidth - measure.barLeft - (needsV ? sWidth : 0)\n\t this.horiz.firstChild.style.width =\n\t (measure.scrollWidth - measure.clientWidth + totalWidth) + \"px\"\n\t } else {\n\t this.horiz.style.display = \"\"\n\t this.horiz.firstChild.style.width = \"0\"\n\t }\n\t\n\t if (!this.checkedZeroWidth && measure.clientHeight > 0) {\n\t if (sWidth == 0) { this.zeroWidthHack() }\n\t this.checkedZeroWidth = true\n\t }\n\t\n\t return {right: needsV ? sWidth : 0, bottom: needsH ? sWidth : 0}\n\t};\n\t\n\tNativeScrollbars.prototype.setScrollLeft = function (pos) {\n\t if (this.horiz.scrollLeft != pos) { this.horiz.scrollLeft = pos }\n\t if (this.disableHoriz) { this.enableZeroWidthBar(this.horiz, this.disableHoriz) }\n\t};\n\t\n\tNativeScrollbars.prototype.setScrollTop = function (pos) {\n\t if (this.vert.scrollTop != pos) { this.vert.scrollTop = pos }\n\t if (this.disableVert) { this.enableZeroWidthBar(this.vert, this.disableVert) }\n\t};\n\t\n\tNativeScrollbars.prototype.zeroWidthHack = function () {\n\t var w = mac && !mac_geMountainLion ? \"12px\" : \"18px\"\n\t this.horiz.style.height = this.vert.style.width = w\n\t this.horiz.style.pointerEvents = this.vert.style.pointerEvents = \"none\"\n\t this.disableHoriz = new Delayed\n\t this.disableVert = new Delayed\n\t};\n\t\n\tNativeScrollbars.prototype.enableZeroWidthBar = function (bar, delay) {\n\t bar.style.pointerEvents = \"auto\"\n\t function maybeDisable() {\n\t // To find out whether the scrollbar is still visible, we\n\t // check whether the element under the pixel in the bottom\n\t // left corner of the scrollbar box is the scrollbar box\n\t // itself (when the bar is still visible) or its filler child\n\t // (when the bar is hidden). If it is still visible, we keep\n\t // it enabled, if it's hidden, we disable pointer events.\n\t var box = bar.getBoundingClientRect()\n\t var elt = document.elementFromPoint(box.left + 1, box.bottom - 1)\n\t if (elt != bar) { bar.style.pointerEvents = \"none\" }\n\t else { delay.set(1000, maybeDisable) }\n\t }\n\t delay.set(1000, maybeDisable)\n\t};\n\t\n\tNativeScrollbars.prototype.clear = function () {\n\t var parent = this.horiz.parentNode\n\t parent.removeChild(this.horiz)\n\t parent.removeChild(this.vert)\n\t};\n\t\n\tvar NullScrollbars = function () {};\n\t\n\tNullScrollbars.prototype.update = function () { return {bottom: 0, right: 0} };\n\tNullScrollbars.prototype.setScrollLeft = function () {};\n\tNullScrollbars.prototype.setScrollTop = function () {};\n\tNullScrollbars.prototype.clear = function () {};\n\t\n\tfunction updateScrollbars(cm, measure) {\n\t if (!measure) { measure = measureForScrollbars(cm) }\n\t var startWidth = cm.display.barWidth, startHeight = cm.display.barHeight\n\t updateScrollbarsInner(cm, measure)\n\t for (var i = 0; i < 4 && startWidth != cm.display.barWidth || startHeight != cm.display.barHeight; i++) {\n\t if (startWidth != cm.display.barWidth && cm.options.lineWrapping)\n\t { updateHeightsInViewport(cm) }\n\t updateScrollbarsInner(cm, measureForScrollbars(cm))\n\t startWidth = cm.display.barWidth; startHeight = cm.display.barHeight\n\t }\n\t}\n\t\n\t// Re-synchronize the fake scrollbars with the actual size of the\n\t// content.\n\tfunction updateScrollbarsInner(cm, measure) {\n\t var d = cm.display\n\t var sizes = d.scrollbars.update(measure)\n\t\n\t d.sizer.style.paddingRight = (d.barWidth = sizes.right) + \"px\"\n\t d.sizer.style.paddingBottom = (d.barHeight = sizes.bottom) + \"px\"\n\t d.heightForcer.style.borderBottom = sizes.bottom + \"px solid transparent\"\n\t\n\t if (sizes.right && sizes.bottom) {\n\t d.scrollbarFiller.style.display = \"block\"\n\t d.scrollbarFiller.style.height = sizes.bottom + \"px\"\n\t d.scrollbarFiller.style.width = sizes.right + \"px\"\n\t } else { d.scrollbarFiller.style.display = \"\" }\n\t if (sizes.bottom && cm.options.coverGutterNextToScrollbar && cm.options.fixedGutter) {\n\t d.gutterFiller.style.display = \"block\"\n\t d.gutterFiller.style.height = sizes.bottom + \"px\"\n\t d.gutterFiller.style.width = measure.gutterWidth + \"px\"\n\t } else { d.gutterFiller.style.display = \"\" }\n\t}\n\t\n\tvar scrollbarModel = {\"native\": NativeScrollbars, \"null\": NullScrollbars}\n\t\n\tfunction initScrollbars(cm) {\n\t if (cm.display.scrollbars) {\n\t cm.display.scrollbars.clear()\n\t if (cm.display.scrollbars.addClass)\n\t { rmClass(cm.display.wrapper, cm.display.scrollbars.addClass) }\n\t }\n\t\n\t cm.display.scrollbars = new scrollbarModel[cm.options.scrollbarStyle](function (node) {\n\t cm.display.wrapper.insertBefore(node, cm.display.scrollbarFiller)\n\t // Prevent clicks in the scrollbars from killing focus\n\t on(node, \"mousedown\", function () {\n\t if (cm.state.focused) { setTimeout(function () { return cm.display.input.focus(); }, 0) }\n\t })\n\t node.setAttribute(\"cm-not-content\", \"true\")\n\t }, function (pos, axis) {\n\t if (axis == \"horizontal\") { setScrollLeft(cm, pos) }\n\t else { setScrollTop(cm, pos) }\n\t }, cm)\n\t if (cm.display.scrollbars.addClass)\n\t { addClass(cm.display.wrapper, cm.display.scrollbars.addClass) }\n\t}\n\t\n\t// SCROLLING THINGS INTO VIEW\n\t\n\t// If an editor sits on the top or bottom of the window, partially\n\t// scrolled out of view, this ensures that the cursor is visible.\n\tfunction maybeScrollWindow(cm, coords) {\n\t if (signalDOMEvent(cm, \"scrollCursorIntoView\")) { return }\n\t\n\t var display = cm.display, box = display.sizer.getBoundingClientRect(), doScroll = null\n\t if (coords.top + box.top < 0) { doScroll = true }\n\t else if (coords.bottom + box.top > (window.innerHeight || document.documentElement.clientHeight)) { doScroll = false }\n\t if (doScroll != null && !phantom) {\n\t var scrollNode = elt(\"div\", \"\\u200b\", null, (\"position: absolute;\\n top: \" + (coords.top - display.viewOffset - paddingTop(cm.display)) + \"px;\\n height: \" + (coords.bottom - coords.top + scrollGap(cm) + display.barHeight) + \"px;\\n left: \" + (coords.left) + \"px; width: 2px;\"))\n\t cm.display.lineSpace.appendChild(scrollNode)\n\t scrollNode.scrollIntoView(doScroll)\n\t cm.display.lineSpace.removeChild(scrollNode)\n\t }\n\t}\n\t\n\t// Scroll a given position into view (immediately), verifying that\n\t// it actually became visible (as line heights are accurately\n\t// measured, the position of something may 'drift' during drawing).\n\tfunction scrollPosIntoView(cm, pos, end, margin) {\n\t if (margin == null) { margin = 0 }\n\t var coords\n\t for (var limit = 0; limit < 5; limit++) {\n\t var changed = false\n\t coords = cursorCoords(cm, pos)\n\t var endCoords = !end || end == pos ? coords : cursorCoords(cm, end)\n\t var scrollPos = calculateScrollPos(cm, Math.min(coords.left, endCoords.left),\n\t Math.min(coords.top, endCoords.top) - margin,\n\t Math.max(coords.left, endCoords.left),\n\t Math.max(coords.bottom, endCoords.bottom) + margin)\n\t var startTop = cm.doc.scrollTop, startLeft = cm.doc.scrollLeft\n\t if (scrollPos.scrollTop != null) {\n\t setScrollTop(cm, scrollPos.scrollTop)\n\t if (Math.abs(cm.doc.scrollTop - startTop) > 1) { changed = true }\n\t }\n\t if (scrollPos.scrollLeft != null) {\n\t setScrollLeft(cm, scrollPos.scrollLeft)\n\t if (Math.abs(cm.doc.scrollLeft - startLeft) > 1) { changed = true }\n\t }\n\t if (!changed) { break }\n\t }\n\t return coords\n\t}\n\t\n\t// Scroll a given set of coordinates into view (immediately).\n\tfunction scrollIntoView(cm, x1, y1, x2, y2) {\n\t var scrollPos = calculateScrollPos(cm, x1, y1, x2, y2)\n\t if (scrollPos.scrollTop != null) { setScrollTop(cm, scrollPos.scrollTop) }\n\t if (scrollPos.scrollLeft != null) { setScrollLeft(cm, scrollPos.scrollLeft) }\n\t}\n\t\n\t// Calculate a new scroll position needed to scroll the given\n\t// rectangle into view. Returns an object with scrollTop and\n\t// scrollLeft properties. When these are undefined, the\n\t// vertical/horizontal position does not need to be adjusted.\n\tfunction calculateScrollPos(cm, x1, y1, x2, y2) {\n\t var display = cm.display, snapMargin = textHeight(cm.display)\n\t if (y1 < 0) { y1 = 0 }\n\t var screentop = cm.curOp && cm.curOp.scrollTop != null ? cm.curOp.scrollTop : display.scroller.scrollTop\n\t var screen = displayHeight(cm), result = {}\n\t if (y2 - y1 > screen) { y2 = y1 + screen }\n\t var docBottom = cm.doc.height + paddingVert(display)\n\t var atTop = y1 < snapMargin, atBottom = y2 > docBottom - snapMargin\n\t if (y1 < screentop) {\n\t result.scrollTop = atTop ? 0 : y1\n\t } else if (y2 > screentop + screen) {\n\t var newTop = Math.min(y1, (atBottom ? docBottom : y2) - screen)\n\t if (newTop != screentop) { result.scrollTop = newTop }\n\t }\n\t\n\t var screenleft = cm.curOp && cm.curOp.scrollLeft != null ? cm.curOp.scrollLeft : display.scroller.scrollLeft\n\t var screenw = displayWidth(cm) - (cm.options.fixedGutter ? display.gutters.offsetWidth : 0)\n\t var tooWide = x2 - x1 > screenw\n\t if (tooWide) { x2 = x1 + screenw }\n\t if (x1 < 10)\n\t { result.scrollLeft = 0 }\n\t else if (x1 < screenleft)\n\t { result.scrollLeft = Math.max(0, x1 - (tooWide ? 0 : 10)) }\n\t else if (x2 > screenw + screenleft - 3)\n\t { result.scrollLeft = x2 + (tooWide ? 0 : 10) - screenw }\n\t return result\n\t}\n\t\n\t// Store a relative adjustment to the scroll position in the current\n\t// operation (to be applied when the operation finishes).\n\tfunction addToScrollPos(cm, left, top) {\n\t if (left != null || top != null) { resolveScrollToPos(cm) }\n\t if (left != null)\n\t { cm.curOp.scrollLeft = (cm.curOp.scrollLeft == null ? cm.doc.scrollLeft : cm.curOp.scrollLeft) + left }\n\t if (top != null)\n\t { cm.curOp.scrollTop = (cm.curOp.scrollTop == null ? cm.doc.scrollTop : cm.curOp.scrollTop) + top }\n\t}\n\t\n\t// Make sure that at the end of the operation the current cursor is\n\t// shown.\n\tfunction ensureCursorVisible(cm) {\n\t resolveScrollToPos(cm)\n\t var cur = cm.getCursor(), from = cur, to = cur\n\t if (!cm.options.lineWrapping) {\n\t from = cur.ch ? Pos(cur.line, cur.ch - 1) : cur\n\t to = Pos(cur.line, cur.ch + 1)\n\t }\n\t cm.curOp.scrollToPos = {from: from, to: to, margin: cm.options.cursorScrollMargin, isCursor: true}\n\t}\n\t\n\t// When an operation has its scrollToPos property set, and another\n\t// scroll action is applied before the end of the operation, this\n\t// 'simulates' scrolling that position into view in a cheap way, so\n\t// that the effect of intermediate scroll commands is not ignored.\n\tfunction resolveScrollToPos(cm) {\n\t var range = cm.curOp.scrollToPos\n\t if (range) {\n\t cm.curOp.scrollToPos = null\n\t var from = estimateCoords(cm, range.from), to = estimateCoords(cm, range.to)\n\t var sPos = calculateScrollPos(cm, Math.min(from.left, to.left),\n\t Math.min(from.top, to.top) - range.margin,\n\t Math.max(from.right, to.right),\n\t Math.max(from.bottom, to.bottom) + range.margin)\n\t cm.scrollTo(sPos.scrollLeft, sPos.scrollTop)\n\t }\n\t}\n\t\n\t// Operations are used to wrap a series of changes to the editor\n\t// state in such a way that each change won't have to update the\n\t// cursor and display (which would be awkward, slow, and\n\t// error-prone). Instead, display updates are batched and then all\n\t// combined and executed at once.\n\t\n\tvar nextOpId = 0\n\t// Start a new operation.\n\tfunction startOperation(cm) {\n\t cm.curOp = {\n\t cm: cm,\n\t viewChanged: false, // Flag that indicates that lines might need to be redrawn\n\t startHeight: cm.doc.height, // Used to detect need to update scrollbar\n\t forceUpdate: false, // Used to force a redraw\n\t updateInput: null, // Whether to reset the input textarea\n\t typing: false, // Whether this reset should be careful to leave existing text (for compositing)\n\t changeObjs: null, // Accumulated changes, for firing change events\n\t cursorActivityHandlers: null, // Set of handlers to fire cursorActivity on\n\t cursorActivityCalled: 0, // Tracks which cursorActivity handlers have been called already\n\t selectionChanged: false, // Whether the selection needs to be redrawn\n\t updateMaxLine: false, // Set when the widest line needs to be determined anew\n\t scrollLeft: null, scrollTop: null, // Intermediate scroll position, not pushed to DOM yet\n\t scrollToPos: null, // Used to scroll to a specific position\n\t focus: false,\n\t id: ++nextOpId // Unique ID\n\t }\n\t pushOperation(cm.curOp)\n\t}\n\t\n\t// Finish an operation, updating the display and signalling delayed events\n\tfunction endOperation(cm) {\n\t var op = cm.curOp\n\t finishOperation(op, function (group) {\n\t for (var i = 0; i < group.ops.length; i++)\n\t { group.ops[i].cm.curOp = null }\n\t endOperations(group)\n\t })\n\t}\n\t\n\t// The DOM updates done when an operation finishes are batched so\n\t// that the minimum number of relayouts are required.\n\tfunction endOperations(group) {\n\t var ops = group.ops\n\t for (var i = 0; i < ops.length; i++) // Read DOM\n\t { endOperation_R1(ops[i]) }\n\t for (var i$1 = 0; i$1 < ops.length; i$1++) // Write DOM (maybe)\n\t { endOperation_W1(ops[i$1]) }\n\t for (var i$2 = 0; i$2 < ops.length; i$2++) // Read DOM\n\t { endOperation_R2(ops[i$2]) }\n\t for (var i$3 = 0; i$3 < ops.length; i$3++) // Write DOM (maybe)\n\t { endOperation_W2(ops[i$3]) }\n\t for (var i$4 = 0; i$4 < ops.length; i$4++) // Read DOM\n\t { endOperation_finish(ops[i$4]) }\n\t}\n\t\n\tfunction endOperation_R1(op) {\n\t var cm = op.cm, display = cm.display\n\t maybeClipScrollbars(cm)\n\t if (op.updateMaxLine) { findMaxLine(cm) }\n\t\n\t op.mustUpdate = op.viewChanged || op.forceUpdate || op.scrollTop != null ||\n\t op.scrollToPos && (op.scrollToPos.from.line < display.viewFrom ||\n\t op.scrollToPos.to.line >= display.viewTo) ||\n\t display.maxLineChanged && cm.options.lineWrapping\n\t op.update = op.mustUpdate &&\n\t new DisplayUpdate(cm, op.mustUpdate && {top: op.scrollTop, ensure: op.scrollToPos}, op.forceUpdate)\n\t}\n\t\n\tfunction endOperation_W1(op) {\n\t op.updatedDisplay = op.mustUpdate && updateDisplayIfNeeded(op.cm, op.update)\n\t}\n\t\n\tfunction endOperation_R2(op) {\n\t var cm = op.cm, display = cm.display\n\t if (op.updatedDisplay) { updateHeightsInViewport(cm) }\n\t\n\t op.barMeasure = measureForScrollbars(cm)\n\t\n\t // If the max line changed since it was last measured, measure it,\n\t // and ensure the document's width matches it.\n\t // updateDisplay_W2 will use these properties to do the actual resizing\n\t if (display.maxLineChanged && !cm.options.lineWrapping) {\n\t op.adjustWidthTo = measureChar(cm, display.maxLine, display.maxLine.text.length).left + 3\n\t cm.display.sizerWidth = op.adjustWidthTo\n\t op.barMeasure.scrollWidth =\n\t Math.max(display.scroller.clientWidth, display.sizer.offsetLeft + op.adjustWidthTo + scrollGap(cm) + cm.display.barWidth)\n\t op.maxScrollLeft = Math.max(0, display.sizer.offsetLeft + op.adjustWidthTo - displayWidth(cm))\n\t }\n\t\n\t if (op.updatedDisplay || op.selectionChanged)\n\t { op.preparedSelection = display.input.prepareSelection(op.focus) }\n\t}\n\t\n\tfunction endOperation_W2(op) {\n\t var cm = op.cm\n\t\n\t if (op.adjustWidthTo != null) {\n\t cm.display.sizer.style.minWidth = op.adjustWidthTo + \"px\"\n\t if (op.maxScrollLeft < cm.doc.scrollLeft)\n\t { setScrollLeft(cm, Math.min(cm.display.scroller.scrollLeft, op.maxScrollLeft), true) }\n\t cm.display.maxLineChanged = false\n\t }\n\t\n\t var takeFocus = op.focus && op.focus == activeElt() && (!document.hasFocus || document.hasFocus())\n\t if (op.preparedSelection)\n\t { cm.display.input.showSelection(op.preparedSelection, takeFocus) }\n\t if (op.updatedDisplay || op.startHeight != cm.doc.height)\n\t { updateScrollbars(cm, op.barMeasure) }\n\t if (op.updatedDisplay)\n\t { setDocumentHeight(cm, op.barMeasure) }\n\t\n\t if (op.selectionChanged) { restartBlink(cm) }\n\t\n\t if (cm.state.focused && op.updateInput)\n\t { cm.display.input.reset(op.typing) }\n\t if (takeFocus) { ensureFocus(op.cm) }\n\t}\n\t\n\tfunction endOperation_finish(op) {\n\t var cm = op.cm, display = cm.display, doc = cm.doc\n\t\n\t if (op.updatedDisplay) { postUpdateDisplay(cm, op.update) }\n\t\n\t // Abort mouse wheel delta measurement, when scrolling explicitly\n\t if (display.wheelStartX != null && (op.scrollTop != null || op.scrollLeft != null || op.scrollToPos))\n\t { display.wheelStartX = display.wheelStartY = null }\n\t\n\t // Propagate the scroll position to the actual DOM scroller\n\t if (op.scrollTop != null && (display.scroller.scrollTop != op.scrollTop || op.forceScroll)) {\n\t doc.scrollTop = Math.max(0, Math.min(display.scroller.scrollHeight - display.scroller.clientHeight, op.scrollTop))\n\t display.scrollbars.setScrollTop(doc.scrollTop)\n\t display.scroller.scrollTop = doc.scrollTop\n\t }\n\t if (op.scrollLeft != null && (display.scroller.scrollLeft != op.scrollLeft || op.forceScroll)) {\n\t doc.scrollLeft = Math.max(0, Math.min(display.scroller.scrollWidth - display.scroller.clientWidth, op.scrollLeft))\n\t display.scrollbars.setScrollLeft(doc.scrollLeft)\n\t display.scroller.scrollLeft = doc.scrollLeft\n\t alignHorizontally(cm)\n\t }\n\t // If we need to scroll a specific position into view, do so.\n\t if (op.scrollToPos) {\n\t var coords = scrollPosIntoView(cm, clipPos(doc, op.scrollToPos.from),\n\t clipPos(doc, op.scrollToPos.to), op.scrollToPos.margin)\n\t if (op.scrollToPos.isCursor && cm.state.focused) { maybeScrollWindow(cm, coords) }\n\t }\n\t\n\t // Fire events for markers that are hidden/unidden by editing or\n\t // undoing\n\t var hidden = op.maybeHiddenMarkers, unhidden = op.maybeUnhiddenMarkers\n\t if (hidden) { for (var i = 0; i < hidden.length; ++i)\n\t { if (!hidden[i].lines.length) { signal(hidden[i], \"hide\") } } }\n\t if (unhidden) { for (var i$1 = 0; i$1 < unhidden.length; ++i$1)\n\t { if (unhidden[i$1].lines.length) { signal(unhidden[i$1], \"unhide\") } } }\n\t\n\t if (display.wrapper.offsetHeight)\n\t { doc.scrollTop = cm.display.scroller.scrollTop }\n\t\n\t // Fire change events, and delayed event handlers\n\t if (op.changeObjs)\n\t { signal(cm, \"changes\", cm, op.changeObjs) }\n\t if (op.update)\n\t { op.update.finish() }\n\t}\n\t\n\t// Run the given function in an operation\n\tfunction runInOp(cm, f) {\n\t if (cm.curOp) { return f() }\n\t startOperation(cm)\n\t try { return f() }\n\t finally { endOperation(cm) }\n\t}\n\t// Wraps a function in an operation. Returns the wrapped function.\n\tfunction operation(cm, f) {\n\t return function() {\n\t if (cm.curOp) { return f.apply(cm, arguments) }\n\t startOperation(cm)\n\t try { return f.apply(cm, arguments) }\n\t finally { endOperation(cm) }\n\t }\n\t}\n\t// Used to add methods to editor and doc instances, wrapping them in\n\t// operations.\n\tfunction methodOp(f) {\n\t return function() {\n\t if (this.curOp) { return f.apply(this, arguments) }\n\t startOperation(this)\n\t try { return f.apply(this, arguments) }\n\t finally { endOperation(this) }\n\t }\n\t}\n\tfunction docMethodOp(f) {\n\t return function() {\n\t var cm = this.cm\n\t if (!cm || cm.curOp) { return f.apply(this, arguments) }\n\t startOperation(cm)\n\t try { return f.apply(this, arguments) }\n\t finally { endOperation(cm) }\n\t }\n\t}\n\t\n\t// Updates the display.view data structure for a given change to the\n\t// document. From and to are in pre-change coordinates. Lendiff is\n\t// the amount of lines added or subtracted by the change. This is\n\t// used for changes that span multiple lines, or change the way\n\t// lines are divided into visual lines. regLineChange (below)\n\t// registers single-line changes.\n\tfunction regChange(cm, from, to, lendiff) {\n\t if (from == null) { from = cm.doc.first }\n\t if (to == null) { to = cm.doc.first + cm.doc.size }\n\t if (!lendiff) { lendiff = 0 }\n\t\n\t var display = cm.display\n\t if (lendiff && to < display.viewTo &&\n\t (display.updateLineNumbers == null || display.updateLineNumbers > from))\n\t { display.updateLineNumbers = from }\n\t\n\t cm.curOp.viewChanged = true\n\t\n\t if (from >= display.viewTo) { // Change after\n\t if (sawCollapsedSpans && visualLineNo(cm.doc, from) < display.viewTo)\n\t { resetView(cm) }\n\t } else if (to <= display.viewFrom) { // Change before\n\t if (sawCollapsedSpans && visualLineEndNo(cm.doc, to + lendiff) > display.viewFrom) {\n\t resetView(cm)\n\t } else {\n\t display.viewFrom += lendiff\n\t display.viewTo += lendiff\n\t }\n\t } else if (from <= display.viewFrom && to >= display.viewTo) { // Full overlap\n\t resetView(cm)\n\t } else if (from <= display.viewFrom) { // Top overlap\n\t var cut = viewCuttingPoint(cm, to, to + lendiff, 1)\n\t if (cut) {\n\t display.view = display.view.slice(cut.index)\n\t display.viewFrom = cut.lineN\n\t display.viewTo += lendiff\n\t } else {\n\t resetView(cm)\n\t }\n\t } else if (to >= display.viewTo) { // Bottom overlap\n\t var cut$1 = viewCuttingPoint(cm, from, from, -1)\n\t if (cut$1) {\n\t display.view = display.view.slice(0, cut$1.index)\n\t display.viewTo = cut$1.lineN\n\t } else {\n\t resetView(cm)\n\t }\n\t } else { // Gap in the middle\n\t var cutTop = viewCuttingPoint(cm, from, from, -1)\n\t var cutBot = viewCuttingPoint(cm, to, to + lendiff, 1)\n\t if (cutTop && cutBot) {\n\t display.view = display.view.slice(0, cutTop.index)\n\t .concat(buildViewArray(cm, cutTop.lineN, cutBot.lineN))\n\t .concat(display.view.slice(cutBot.index))\n\t display.viewTo += lendiff\n\t } else {\n\t resetView(cm)\n\t }\n\t }\n\t\n\t var ext = display.externalMeasured\n\t if (ext) {\n\t if (to < ext.lineN)\n\t { ext.lineN += lendiff }\n\t else if (from < ext.lineN + ext.size)\n\t { display.externalMeasured = null }\n\t }\n\t}\n\t\n\t// Register a change to a single line. Type must be one of \"text\",\n\t// \"gutter\", \"class\", \"widget\"\n\tfunction regLineChange(cm, line, type) {\n\t cm.curOp.viewChanged = true\n\t var display = cm.display, ext = cm.display.externalMeasured\n\t if (ext && line >= ext.lineN && line < ext.lineN + ext.size)\n\t { display.externalMeasured = null }\n\t\n\t if (line < display.viewFrom || line >= display.viewTo) { return }\n\t var lineView = display.view[findViewIndex(cm, line)]\n\t if (lineView.node == null) { return }\n\t var arr = lineView.changes || (lineView.changes = [])\n\t if (indexOf(arr, type) == -1) { arr.push(type) }\n\t}\n\t\n\t// Clear the view.\n\tfunction resetView(cm) {\n\t cm.display.viewFrom = cm.display.viewTo = cm.doc.first\n\t cm.display.view = []\n\t cm.display.viewOffset = 0\n\t}\n\t\n\tfunction viewCuttingPoint(cm, oldN, newN, dir) {\n\t var index = findViewIndex(cm, oldN), diff, view = cm.display.view\n\t if (!sawCollapsedSpans || newN == cm.doc.first + cm.doc.size)\n\t { return {index: index, lineN: newN} }\n\t var n = cm.display.viewFrom\n\t for (var i = 0; i < index; i++)\n\t { n += view[i].size }\n\t if (n != oldN) {\n\t if (dir > 0) {\n\t if (index == view.length - 1) { return null }\n\t diff = (n + view[index].size) - oldN\n\t index++\n\t } else {\n\t diff = n - oldN\n\t }\n\t oldN += diff; newN += diff\n\t }\n\t while (visualLineNo(cm.doc, newN) != newN) {\n\t if (index == (dir < 0 ? 0 : view.length - 1)) { return null }\n\t newN += dir * view[index - (dir < 0 ? 1 : 0)].size\n\t index += dir\n\t }\n\t return {index: index, lineN: newN}\n\t}\n\t\n\t// Force the view to cover a given range, adding empty view element\n\t// or clipping off existing ones as needed.\n\tfunction adjustView(cm, from, to) {\n\t var display = cm.display, view = display.view\n\t if (view.length == 0 || from >= display.viewTo || to <= display.viewFrom) {\n\t display.view = buildViewArray(cm, from, to)\n\t display.viewFrom = from\n\t } else {\n\t if (display.viewFrom > from)\n\t { display.view = buildViewArray(cm, from, display.viewFrom).concat(display.view) }\n\t else if (display.viewFrom < from)\n\t { display.view = display.view.slice(findViewIndex(cm, from)) }\n\t display.viewFrom = from\n\t if (display.viewTo < to)\n\t { display.view = display.view.concat(buildViewArray(cm, display.viewTo, to)) }\n\t else if (display.viewTo > to)\n\t { display.view = display.view.slice(0, findViewIndex(cm, to)) }\n\t }\n\t display.viewTo = to\n\t}\n\t\n\t// Count the number of lines in the view whose DOM representation is\n\t// out of date (or nonexistent).\n\tfunction countDirtyView(cm) {\n\t var view = cm.display.view, dirty = 0\n\t for (var i = 0; i < view.length; i++) {\n\t var lineView = view[i]\n\t if (!lineView.hidden && (!lineView.node || lineView.changes)) { ++dirty }\n\t }\n\t return dirty\n\t}\n\t\n\t// HIGHLIGHT WORKER\n\t\n\tfunction startWorker(cm, time) {\n\t if (cm.doc.mode.startState && cm.doc.frontier < cm.display.viewTo)\n\t { cm.state.highlight.set(time, bind(highlightWorker, cm)) }\n\t}\n\t\n\tfunction highlightWorker(cm) {\n\t var doc = cm.doc\n\t if (doc.frontier < doc.first) { doc.frontier = doc.first }\n\t if (doc.frontier >= cm.display.viewTo) { return }\n\t var end = +new Date + cm.options.workTime\n\t var state = copyState(doc.mode, getStateBefore(cm, doc.frontier))\n\t var changedLines = []\n\t\n\t doc.iter(doc.frontier, Math.min(doc.first + doc.size, cm.display.viewTo + 500), function (line) {\n\t if (doc.frontier >= cm.display.viewFrom) { // Visible\n\t var oldStyles = line.styles, tooLong = line.text.length > cm.options.maxHighlightLength\n\t var highlighted = highlightLine(cm, line, tooLong ? copyState(doc.mode, state) : state, true)\n\t line.styles = highlighted.styles\n\t var oldCls = line.styleClasses, newCls = highlighted.classes\n\t if (newCls) { line.styleClasses = newCls }\n\t else if (oldCls) { line.styleClasses = null }\n\t var ischange = !oldStyles || oldStyles.length != line.styles.length ||\n\t oldCls != newCls && (!oldCls || !newCls || oldCls.bgClass != newCls.bgClass || oldCls.textClass != newCls.textClass)\n\t for (var i = 0; !ischange && i < oldStyles.length; ++i) { ischange = oldStyles[i] != line.styles[i] }\n\t if (ischange) { changedLines.push(doc.frontier) }\n\t line.stateAfter = tooLong ? state : copyState(doc.mode, state)\n\t } else {\n\t if (line.text.length <= cm.options.maxHighlightLength)\n\t { processLine(cm, line.text, state) }\n\t line.stateAfter = doc.frontier % 5 == 0 ? copyState(doc.mode, state) : null\n\t }\n\t ++doc.frontier\n\t if (+new Date > end) {\n\t startWorker(cm, cm.options.workDelay)\n\t return true\n\t }\n\t })\n\t if (changedLines.length) { runInOp(cm, function () {\n\t for (var i = 0; i < changedLines.length; i++)\n\t { regLineChange(cm, changedLines[i], \"text\") }\n\t }) }\n\t}\n\t\n\t// DISPLAY DRAWING\n\t\n\tvar DisplayUpdate = function(cm, viewport, force) {\n\t var display = cm.display\n\t\n\t this.viewport = viewport\n\t // Store some values that we'll need later (but don't want to force a relayout for)\n\t this.visible = visibleLines(display, cm.doc, viewport)\n\t this.editorIsHidden = !display.wrapper.offsetWidth\n\t this.wrapperHeight = display.wrapper.clientHeight\n\t this.wrapperWidth = display.wrapper.clientWidth\n\t this.oldDisplayWidth = displayWidth(cm)\n\t this.force = force\n\t this.dims = getDimensions(cm)\n\t this.events = []\n\t};\n\t\n\tDisplayUpdate.prototype.signal = function (emitter, type) {\n\t if (hasHandler(emitter, type))\n\t { this.events.push(arguments) }\n\t};\n\tDisplayUpdate.prototype.finish = function () {\n\t var this$1 = this;\n\t\n\t for (var i = 0; i < this.events.length; i++)\n\t { signal.apply(null, this$1.events[i]) }\n\t};\n\t\n\tfunction maybeClipScrollbars(cm) {\n\t var display = cm.display\n\t if (!display.scrollbarsClipped && display.scroller.offsetWidth) {\n\t display.nativeBarWidth = display.scroller.offsetWidth - display.scroller.clientWidth\n\t display.heightForcer.style.height = scrollGap(cm) + \"px\"\n\t display.sizer.style.marginBottom = -display.nativeBarWidth + \"px\"\n\t display.sizer.style.borderRightWidth = scrollGap(cm) + \"px\"\n\t display.scrollbarsClipped = true\n\t }\n\t}\n\t\n\t// Does the actual updating of the line display. Bails out\n\t// (returning false) when there is nothing to be done and forced is\n\t// false.\n\tfunction updateDisplayIfNeeded(cm, update) {\n\t var display = cm.display, doc = cm.doc\n\t\n\t if (update.editorIsHidden) {\n\t resetView(cm)\n\t return false\n\t }\n\t\n\t // Bail out if the visible area is already rendered and nothing changed.\n\t if (!update.force &&\n\t update.visible.from >= display.viewFrom && update.visible.to <= display.viewTo &&\n\t (display.updateLineNumbers == null || display.updateLineNumbers >= display.viewTo) &&\n\t display.renderedView == display.view && countDirtyView(cm) == 0)\n\t { return false }\n\t\n\t if (maybeUpdateLineNumberWidth(cm)) {\n\t resetView(cm)\n\t update.dims = getDimensions(cm)\n\t }\n\t\n\t // Compute a suitable new viewport (from & to)\n\t var end = doc.first + doc.size\n\t var from = Math.max(update.visible.from - cm.options.viewportMargin, doc.first)\n\t var to = Math.min(end, update.visible.to + cm.options.viewportMargin)\n\t if (display.viewFrom < from && from - display.viewFrom < 20) { from = Math.max(doc.first, display.viewFrom) }\n\t if (display.viewTo > to && display.viewTo - to < 20) { to = Math.min(end, display.viewTo) }\n\t if (sawCollapsedSpans) {\n\t from = visualLineNo(cm.doc, from)\n\t to = visualLineEndNo(cm.doc, to)\n\t }\n\t\n\t var different = from != display.viewFrom || to != display.viewTo ||\n\t display.lastWrapHeight != update.wrapperHeight || display.lastWrapWidth != update.wrapperWidth\n\t adjustView(cm, from, to)\n\t\n\t display.viewOffset = heightAtLine(getLine(cm.doc, display.viewFrom))\n\t // Position the mover div to align with the current scroll position\n\t cm.display.mover.style.top = display.viewOffset + \"px\"\n\t\n\t var toUpdate = countDirtyView(cm)\n\t if (!different && toUpdate == 0 && !update.force && display.renderedView == display.view &&\n\t (display.updateLineNumbers == null || display.updateLineNumbers >= display.viewTo))\n\t { return false }\n\t\n\t // For big changes, we hide the enclosing element during the\n\t // update, since that speeds up the operations on most browsers.\n\t var focused = activeElt()\n\t if (toUpdate > 4) { display.lineDiv.style.display = \"none\" }\n\t patchDisplay(cm, display.updateLineNumbers, update.dims)\n\t if (toUpdate > 4) { display.lineDiv.style.display = \"\" }\n\t display.renderedView = display.view\n\t // There might have been a widget with a focused element that got\n\t // hidden or updated, if so re-focus it.\n\t if (focused && activeElt() != focused && focused.offsetHeight) { focused.focus() }\n\t\n\t // Prevent selection and cursors from interfering with the scroll\n\t // width and height.\n\t removeChildren(display.cursorDiv)\n\t removeChildren(display.selectionDiv)\n\t display.gutters.style.height = display.sizer.style.minHeight = 0\n\t\n\t if (different) {\n\t display.lastWrapHeight = update.wrapperHeight\n\t display.lastWrapWidth = update.wrapperWidth\n\t startWorker(cm, 400)\n\t }\n\t\n\t display.updateLineNumbers = null\n\t\n\t return true\n\t}\n\t\n\tfunction postUpdateDisplay(cm, update) {\n\t var viewport = update.viewport\n\t\n\t for (var first = true;; first = false) {\n\t if (!first || !cm.options.lineWrapping || update.oldDisplayWidth == displayWidth(cm)) {\n\t // Clip forced viewport to actual scrollable area.\n\t if (viewport && viewport.top != null)\n\t { viewport = {top: Math.min(cm.doc.height + paddingVert(cm.display) - displayHeight(cm), viewport.top)} }\n\t // Updated line heights might result in the drawn area not\n\t // actually covering the viewport. Keep looping until it does.\n\t update.visible = visibleLines(cm.display, cm.doc, viewport)\n\t if (update.visible.from >= cm.display.viewFrom && update.visible.to <= cm.display.viewTo)\n\t { break }\n\t }\n\t if (!updateDisplayIfNeeded(cm, update)) { break }\n\t updateHeightsInViewport(cm)\n\t var barMeasure = measureForScrollbars(cm)\n\t updateSelection(cm)\n\t updateScrollbars(cm, barMeasure)\n\t setDocumentHeight(cm, barMeasure)\n\t }\n\t\n\t update.signal(cm, \"update\", cm)\n\t if (cm.display.viewFrom != cm.display.reportedViewFrom || cm.display.viewTo != cm.display.reportedViewTo) {\n\t update.signal(cm, \"viewportChange\", cm, cm.display.viewFrom, cm.display.viewTo)\n\t cm.display.reportedViewFrom = cm.display.viewFrom; cm.display.reportedViewTo = cm.display.viewTo\n\t }\n\t}\n\t\n\tfunction updateDisplaySimple(cm, viewport) {\n\t var update = new DisplayUpdate(cm, viewport)\n\t if (updateDisplayIfNeeded(cm, update)) {\n\t updateHeightsInViewport(cm)\n\t postUpdateDisplay(cm, update)\n\t var barMeasure = measureForScrollbars(cm)\n\t updateSelection(cm)\n\t updateScrollbars(cm, barMeasure)\n\t setDocumentHeight(cm, barMeasure)\n\t update.finish()\n\t }\n\t}\n\t\n\t// Sync the actual display DOM structure with display.view, removing\n\t// nodes for lines that are no longer in view, and creating the ones\n\t// that are not there yet, and updating the ones that are out of\n\t// date.\n\tfunction patchDisplay(cm, updateNumbersFrom, dims) {\n\t var display = cm.display, lineNumbers = cm.options.lineNumbers\n\t var container = display.lineDiv, cur = container.firstChild\n\t\n\t function rm(node) {\n\t var next = node.nextSibling\n\t // Works around a throw-scroll bug in OS X Webkit\n\t if (webkit && mac && cm.display.currentWheelTarget == node)\n\t { node.style.display = \"none\" }\n\t else\n\t { node.parentNode.removeChild(node) }\n\t return next\n\t }\n\t\n\t var view = display.view, lineN = display.viewFrom\n\t // Loop over the elements in the view, syncing cur (the DOM nodes\n\t // in display.lineDiv) with the view as we go.\n\t for (var i = 0; i < view.length; i++) {\n\t var lineView = view[i]\n\t if (lineView.hidden) {\n\t } else if (!lineView.node || lineView.node.parentNode != container) { // Not drawn yet\n\t var node = buildLineElement(cm, lineView, lineN, dims)\n\t container.insertBefore(node, cur)\n\t } else { // Already drawn\n\t while (cur != lineView.node) { cur = rm(cur) }\n\t var updateNumber = lineNumbers && updateNumbersFrom != null &&\n\t updateNumbersFrom <= lineN && lineView.lineNumber\n\t if (lineView.changes) {\n\t if (indexOf(lineView.changes, \"gutter\") > -1) { updateNumber = false }\n\t updateLineForChanges(cm, lineView, lineN, dims)\n\t }\n\t if (updateNumber) {\n\t removeChildren(lineView.lineNumber)\n\t lineView.lineNumber.appendChild(document.createTextNode(lineNumberFor(cm.options, lineN)))\n\t }\n\t cur = lineView.node.nextSibling\n\t }\n\t lineN += lineView.size\n\t }\n\t while (cur) { cur = rm(cur) }\n\t}\n\t\n\tfunction updateGutterSpace(cm) {\n\t var width = cm.display.gutters.offsetWidth\n\t cm.display.sizer.style.marginLeft = width + \"px\"\n\t}\n\t\n\tfunction setDocumentHeight(cm, measure) {\n\t cm.display.sizer.style.minHeight = measure.docHeight + \"px\"\n\t cm.display.heightForcer.style.top = measure.docHeight + \"px\"\n\t cm.display.gutters.style.height = (measure.docHeight + cm.display.barHeight + scrollGap(cm)) + \"px\"\n\t}\n\t\n\t// Rebuild the gutter elements, ensure the margin to the left of the\n\t// code matches their width.\n\tfunction updateGutters(cm) {\n\t var gutters = cm.display.gutters, specs = cm.options.gutters\n\t removeChildren(gutters)\n\t var i = 0\n\t for (; i < specs.length; ++i) {\n\t var gutterClass = specs[i]\n\t var gElt = gutters.appendChild(elt(\"div\", null, \"CodeMirror-gutter \" + gutterClass))\n\t if (gutterClass == \"CodeMirror-linenumbers\") {\n\t cm.display.lineGutter = gElt\n\t gElt.style.width = (cm.display.lineNumWidth || 1) + \"px\"\n\t }\n\t }\n\t gutters.style.display = i ? \"\" : \"none\"\n\t updateGutterSpace(cm)\n\t}\n\t\n\t// Make sure the gutters options contains the element\n\t// \"CodeMirror-linenumbers\" when the lineNumbers option is true.\n\tfunction setGuttersForLineNumbers(options) {\n\t var found = indexOf(options.gutters, \"CodeMirror-linenumbers\")\n\t if (found == -1 && options.lineNumbers) {\n\t options.gutters = options.gutters.concat([\"CodeMirror-linenumbers\"])\n\t } else if (found > -1 && !options.lineNumbers) {\n\t options.gutters = options.gutters.slice(0)\n\t options.gutters.splice(found, 1)\n\t }\n\t}\n\t\n\t// Selection objects are immutable. A new one is created every time\n\t// the selection changes. A selection is one or more non-overlapping\n\t// (and non-touching) ranges, sorted, and an integer that indicates\n\t// which one is the primary selection (the one that's scrolled into\n\t// view, that getCursor returns, etc).\n\tfunction Selection(ranges, primIndex) {\n\t this.ranges = ranges\n\t this.primIndex = primIndex\n\t}\n\t\n\tSelection.prototype = {\n\t primary: function() { return this.ranges[this.primIndex] },\n\t equals: function(other) {\n\t var this$1 = this;\n\t\n\t if (other == this) { return true }\n\t if (other.primIndex != this.primIndex || other.ranges.length != this.ranges.length) { return false }\n\t for (var i = 0; i < this.ranges.length; i++) {\n\t var here = this$1.ranges[i], there = other.ranges[i]\n\t if (cmp(here.anchor, there.anchor) != 0 || cmp(here.head, there.head) != 0) { return false }\n\t }\n\t return true\n\t },\n\t deepCopy: function() {\n\t var this$1 = this;\n\t\n\t var out = []\n\t for (var i = 0; i < this.ranges.length; i++)\n\t { out[i] = new Range(copyPos(this$1.ranges[i].anchor), copyPos(this$1.ranges[i].head)) }\n\t return new Selection(out, this.primIndex)\n\t },\n\t somethingSelected: function() {\n\t var this$1 = this;\n\t\n\t for (var i = 0; i < this.ranges.length; i++)\n\t { if (!this$1.ranges[i].empty()) { return true } }\n\t return false\n\t },\n\t contains: function(pos, end) {\n\t var this$1 = this;\n\t\n\t if (!end) { end = pos }\n\t for (var i = 0; i < this.ranges.length; i++) {\n\t var range = this$1.ranges[i]\n\t if (cmp(end, range.from()) >= 0 && cmp(pos, range.to()) <= 0)\n\t { return i }\n\t }\n\t return -1\n\t }\n\t}\n\t\n\tfunction Range(anchor, head) {\n\t this.anchor = anchor; this.head = head\n\t}\n\t\n\tRange.prototype = {\n\t from: function() { return minPos(this.anchor, this.head) },\n\t to: function() { return maxPos(this.anchor, this.head) },\n\t empty: function() {\n\t return this.head.line == this.anchor.line && this.head.ch == this.anchor.ch\n\t }\n\t}\n\t\n\t// Take an unsorted, potentially overlapping set of ranges, and\n\t// build a selection out of it. 'Consumes' ranges array (modifying\n\t// it).\n\tfunction normalizeSelection(ranges, primIndex) {\n\t var prim = ranges[primIndex]\n\t ranges.sort(function (a, b) { return cmp(a.from(), b.from()); })\n\t primIndex = indexOf(ranges, prim)\n\t for (var i = 1; i < ranges.length; i++) {\n\t var cur = ranges[i], prev = ranges[i - 1]\n\t if (cmp(prev.to(), cur.from()) >= 0) {\n\t var from = minPos(prev.from(), cur.from()), to = maxPos(prev.to(), cur.to())\n\t var inv = prev.empty() ? cur.from() == cur.head : prev.from() == prev.head\n\t if (i <= primIndex) { --primIndex }\n\t ranges.splice(--i, 2, new Range(inv ? to : from, inv ? from : to))\n\t }\n\t }\n\t return new Selection(ranges, primIndex)\n\t}\n\t\n\tfunction simpleSelection(anchor, head) {\n\t return new Selection([new Range(anchor, head || anchor)], 0)\n\t}\n\t\n\t// Compute the position of the end of a change (its 'to' property\n\t// refers to the pre-change end).\n\tfunction changeEnd(change) {\n\t if (!change.text) { return change.to }\n\t return Pos(change.from.line + change.text.length - 1,\n\t lst(change.text).length + (change.text.length == 1 ? change.from.ch : 0))\n\t}\n\t\n\t// Adjust a position to refer to the post-change position of the\n\t// same text, or the end of the change if the change covers it.\n\tfunction adjustForChange(pos, change) {\n\t if (cmp(pos, change.from) < 0) { return pos }\n\t if (cmp(pos, change.to) <= 0) { return changeEnd(change) }\n\t\n\t var line = pos.line + change.text.length - (change.to.line - change.from.line) - 1, ch = pos.ch\n\t if (pos.line == change.to.line) { ch += changeEnd(change).ch - change.to.ch }\n\t return Pos(line, ch)\n\t}\n\t\n\tfunction computeSelAfterChange(doc, change) {\n\t var out = []\n\t for (var i = 0; i < doc.sel.ranges.length; i++) {\n\t var range = doc.sel.ranges[i]\n\t out.push(new Range(adjustForChange(range.anchor, change),\n\t adjustForChange(range.head, change)))\n\t }\n\t return normalizeSelection(out, doc.sel.primIndex)\n\t}\n\t\n\tfunction offsetPos(pos, old, nw) {\n\t if (pos.line == old.line)\n\t { return Pos(nw.line, pos.ch - old.ch + nw.ch) }\n\t else\n\t { return Pos(nw.line + (pos.line - old.line), pos.ch) }\n\t}\n\t\n\t// Used by replaceSelections to allow moving the selection to the\n\t// start or around the replaced test. Hint may be \"start\" or \"around\".\n\tfunction computeReplacedSel(doc, changes, hint) {\n\t var out = []\n\t var oldPrev = Pos(doc.first, 0), newPrev = oldPrev\n\t for (var i = 0; i < changes.length; i++) {\n\t var change = changes[i]\n\t var from = offsetPos(change.from, oldPrev, newPrev)\n\t var to = offsetPos(changeEnd(change), oldPrev, newPrev)\n\t oldPrev = change.to\n\t newPrev = to\n\t if (hint == \"around\") {\n\t var range = doc.sel.ranges[i], inv = cmp(range.head, range.anchor) < 0\n\t out[i] = new Range(inv ? to : from, inv ? from : to)\n\t } else {\n\t out[i] = new Range(from, from)\n\t }\n\t }\n\t return new Selection(out, doc.sel.primIndex)\n\t}\n\t\n\t// Used to get the editor into a consistent state again when options change.\n\t\n\tfunction loadMode(cm) {\n\t cm.doc.mode = getMode(cm.options, cm.doc.modeOption)\n\t resetModeState(cm)\n\t}\n\t\n\tfunction resetModeState(cm) {\n\t cm.doc.iter(function (line) {\n\t if (line.stateAfter) { line.stateAfter = null }\n\t if (line.styles) { line.styles = null }\n\t })\n\t cm.doc.frontier = cm.doc.first\n\t startWorker(cm, 100)\n\t cm.state.modeGen++\n\t if (cm.curOp) { regChange(cm) }\n\t}\n\t\n\t// DOCUMENT DATA STRUCTURE\n\t\n\t// By default, updates that start and end at the beginning of a line\n\t// are treated specially, in order to make the association of line\n\t// widgets and marker elements with the text behave more intuitive.\n\tfunction isWholeLineUpdate(doc, change) {\n\t return change.from.ch == 0 && change.to.ch == 0 && lst(change.text) == \"\" &&\n\t (!doc.cm || doc.cm.options.wholeLineUpdateBefore)\n\t}\n\t\n\t// Perform a change on the document data structure.\n\tfunction updateDoc(doc, change, markedSpans, estimateHeight) {\n\t function spansFor(n) {return markedSpans ? markedSpans[n] : null}\n\t function update(line, text, spans) {\n\t updateLine(line, text, spans, estimateHeight)\n\t signalLater(line, \"change\", line, change)\n\t }\n\t function linesFor(start, end) {\n\t var result = []\n\t for (var i = start; i < end; ++i)\n\t { result.push(new Line(text[i], spansFor(i), estimateHeight)) }\n\t return result\n\t }\n\t\n\t var from = change.from, to = change.to, text = change.text\n\t var firstLine = getLine(doc, from.line), lastLine = getLine(doc, to.line)\n\t var lastText = lst(text), lastSpans = spansFor(text.length - 1), nlines = to.line - from.line\n\t\n\t // Adjust the line structure\n\t if (change.full) {\n\t doc.insert(0, linesFor(0, text.length))\n\t doc.remove(text.length, doc.size - text.length)\n\t } else if (isWholeLineUpdate(doc, change)) {\n\t // This is a whole-line replace. Treated specially to make\n\t // sure line objects move the way they are supposed to.\n\t var added = linesFor(0, text.length - 1)\n\t update(lastLine, lastLine.text, lastSpans)\n\t if (nlines) { doc.remove(from.line, nlines) }\n\t if (added.length) { doc.insert(from.line, added) }\n\t } else if (firstLine == lastLine) {\n\t if (text.length == 1) {\n\t update(firstLine, firstLine.text.slice(0, from.ch) + lastText + firstLine.text.slice(to.ch), lastSpans)\n\t } else {\n\t var added$1 = linesFor(1, text.length - 1)\n\t added$1.push(new Line(lastText + firstLine.text.slice(to.ch), lastSpans, estimateHeight))\n\t update(firstLine, firstLine.text.slice(0, from.ch) + text[0], spansFor(0))\n\t doc.insert(from.line + 1, added$1)\n\t }\n\t } else if (text.length == 1) {\n\t update(firstLine, firstLine.text.slice(0, from.ch) + text[0] + lastLine.text.slice(to.ch), spansFor(0))\n\t doc.remove(from.line + 1, nlines)\n\t } else {\n\t update(firstLine, firstLine.text.slice(0, from.ch) + text[0], spansFor(0))\n\t update(lastLine, lastText + lastLine.text.slice(to.ch), lastSpans)\n\t var added$2 = linesFor(1, text.length - 1)\n\t if (nlines > 1) { doc.remove(from.line + 1, nlines - 1) }\n\t doc.insert(from.line + 1, added$2)\n\t }\n\t\n\t signalLater(doc, \"change\", doc, change)\n\t}\n\t\n\t// Call f for all linked documents.\n\tfunction linkedDocs(doc, f, sharedHistOnly) {\n\t function propagate(doc, skip, sharedHist) {\n\t if (doc.linked) { for (var i = 0; i < doc.linked.length; ++i) {\n\t var rel = doc.linked[i]\n\t if (rel.doc == skip) { continue }\n\t var shared = sharedHist && rel.sharedHist\n\t if (sharedHistOnly && !shared) { continue }\n\t f(rel.doc, shared)\n\t propagate(rel.doc, doc, shared)\n\t } }\n\t }\n\t propagate(doc, null, true)\n\t}\n\t\n\t// Attach a document to an editor.\n\tfunction attachDoc(cm, doc) {\n\t if (doc.cm) { throw new Error(\"This document is already in use.\") }\n\t cm.doc = doc\n\t doc.cm = cm\n\t estimateLineHeights(cm)\n\t loadMode(cm)\n\t if (!cm.options.lineWrapping) { findMaxLine(cm) }\n\t cm.options.mode = doc.modeOption\n\t regChange(cm)\n\t}\n\t\n\tfunction History(startGen) {\n\t // Arrays of change events and selections. Doing something adds an\n\t // event to done and clears undo. Undoing moves events from done\n\t // to undone, redoing moves them in the other direction.\n\t this.done = []; this.undone = []\n\t this.undoDepth = Infinity\n\t // Used to track when changes can be merged into a single undo\n\t // event\n\t this.lastModTime = this.lastSelTime = 0\n\t this.lastOp = this.lastSelOp = null\n\t this.lastOrigin = this.lastSelOrigin = null\n\t // Used by the isClean() method\n\t this.generation = this.maxGeneration = startGen || 1\n\t}\n\t\n\t// Create a history change event from an updateDoc-style change\n\t// object.\n\tfunction historyChangeFromChange(doc, change) {\n\t var histChange = {from: copyPos(change.from), to: changeEnd(change), text: getBetween(doc, change.from, change.to)}\n\t attachLocalSpans(doc, histChange, change.from.line, change.to.line + 1)\n\t linkedDocs(doc, function (doc) { return attachLocalSpans(doc, histChange, change.from.line, change.to.line + 1); }, true)\n\t return histChange\n\t}\n\t\n\t// Pop all selection events off the end of a history array. Stop at\n\t// a change event.\n\tfunction clearSelectionEvents(array) {\n\t while (array.length) {\n\t var last = lst(array)\n\t if (last.ranges) { array.pop() }\n\t else { break }\n\t }\n\t}\n\t\n\t// Find the top change event in the history. Pop off selection\n\t// events that are in the way.\n\tfunction lastChangeEvent(hist, force) {\n\t if (force) {\n\t clearSelectionEvents(hist.done)\n\t return lst(hist.done)\n\t } else if (hist.done.length && !lst(hist.done).ranges) {\n\t return lst(hist.done)\n\t } else if (hist.done.length > 1 && !hist.done[hist.done.length - 2].ranges) {\n\t hist.done.pop()\n\t return lst(hist.done)\n\t }\n\t}\n\t\n\t// Register a change in the history. Merges changes that are within\n\t// a single operation, or are close together with an origin that\n\t// allows merging (starting with \"+\") into a single event.\n\tfunction addChangeToHistory(doc, change, selAfter, opId) {\n\t var hist = doc.history\n\t hist.undone.length = 0\n\t var time = +new Date, cur\n\t var last\n\t\n\t if ((hist.lastOp == opId ||\n\t hist.lastOrigin == change.origin && change.origin &&\n\t ((change.origin.charAt(0) == \"+\" && doc.cm && hist.lastModTime > time - doc.cm.options.historyEventDelay) ||\n\t change.origin.charAt(0) == \"*\")) &&\n\t (cur = lastChangeEvent(hist, hist.lastOp == opId))) {\n\t // Merge this change into the last event\n\t last = lst(cur.changes)\n\t if (cmp(change.from, change.to) == 0 && cmp(change.from, last.to) == 0) {\n\t // Optimized case for simple insertion -- don't want to add\n\t // new changesets for every character typed\n\t last.to = changeEnd(change)\n\t } else {\n\t // Add new sub-event\n\t cur.changes.push(historyChangeFromChange(doc, change))\n\t }\n\t } else {\n\t // Can not be merged, start a new event.\n\t var before = lst(hist.done)\n\t if (!before || !before.ranges)\n\t { pushSelectionToHistory(doc.sel, hist.done) }\n\t cur = {changes: [historyChangeFromChange(doc, change)],\n\t generation: hist.generation}\n\t hist.done.push(cur)\n\t while (hist.done.length > hist.undoDepth) {\n\t hist.done.shift()\n\t if (!hist.done[0].ranges) { hist.done.shift() }\n\t }\n\t }\n\t hist.done.push(selAfter)\n\t hist.generation = ++hist.maxGeneration\n\t hist.lastModTime = hist.lastSelTime = time\n\t hist.lastOp = hist.lastSelOp = opId\n\t hist.lastOrigin = hist.lastSelOrigin = change.origin\n\t\n\t if (!last) { signal(doc, \"historyAdded\") }\n\t}\n\t\n\tfunction selectionEventCanBeMerged(doc, origin, prev, sel) {\n\t var ch = origin.charAt(0)\n\t return ch == \"*\" ||\n\t ch == \"+\" &&\n\t prev.ranges.length == sel.ranges.length &&\n\t prev.somethingSelected() == sel.somethingSelected() &&\n\t new Date - doc.history.lastSelTime <= (doc.cm ? doc.cm.options.historyEventDelay : 500)\n\t}\n\t\n\t// Called whenever the selection changes, sets the new selection as\n\t// the pending selection in the history, and pushes the old pending\n\t// selection into the 'done' array when it was significantly\n\t// different (in number of selected ranges, emptiness, or time).\n\tfunction addSelectionToHistory(doc, sel, opId, options) {\n\t var hist = doc.history, origin = options && options.origin\n\t\n\t // A new event is started when the previous origin does not match\n\t // the current, or the origins don't allow matching. Origins\n\t // starting with * are always merged, those starting with + are\n\t // merged when similar and close together in time.\n\t if (opId == hist.lastSelOp ||\n\t (origin && hist.lastSelOrigin == origin &&\n\t (hist.lastModTime == hist.lastSelTime && hist.lastOrigin == origin ||\n\t selectionEventCanBeMerged(doc, origin, lst(hist.done), sel))))\n\t { hist.done[hist.done.length - 1] = sel }\n\t else\n\t { pushSelectionToHistory(sel, hist.done) }\n\t\n\t hist.lastSelTime = +new Date\n\t hist.lastSelOrigin = origin\n\t hist.lastSelOp = opId\n\t if (options && options.clearRedo !== false)\n\t { clearSelectionEvents(hist.undone) }\n\t}\n\t\n\tfunction pushSelectionToHistory(sel, dest) {\n\t var top = lst(dest)\n\t if (!(top && top.ranges && top.equals(sel)))\n\t { dest.push(sel) }\n\t}\n\t\n\t// Used to store marked span information in the history.\n\tfunction attachLocalSpans(doc, change, from, to) {\n\t var existing = change[\"spans_\" + doc.id], n = 0\n\t doc.iter(Math.max(doc.first, from), Math.min(doc.first + doc.size, to), function (line) {\n\t if (line.markedSpans)\n\t { (existing || (existing = change[\"spans_\" + doc.id] = {}))[n] = line.markedSpans }\n\t ++n\n\t })\n\t}\n\t\n\t// When un/re-doing restores text containing marked spans, those\n\t// that have been explicitly cleared should not be restored.\n\tfunction removeClearedSpans(spans) {\n\t if (!spans) { return null }\n\t var out\n\t for (var i = 0; i < spans.length; ++i) {\n\t if (spans[i].marker.explicitlyCleared) { if (!out) { out = spans.slice(0, i) } }\n\t else if (out) { out.push(spans[i]) }\n\t }\n\t return !out ? spans : out.length ? out : null\n\t}\n\t\n\t// Retrieve and filter the old marked spans stored in a change event.\n\tfunction getOldSpans(doc, change) {\n\t var found = change[\"spans_\" + doc.id]\n\t if (!found) { return null }\n\t var nw = []\n\t for (var i = 0; i < change.text.length; ++i)\n\t { nw.push(removeClearedSpans(found[i])) }\n\t return nw\n\t}\n\t\n\t// Used for un/re-doing changes from the history. Combines the\n\t// result of computing the existing spans with the set of spans that\n\t// existed in the history (so that deleting around a span and then\n\t// undoing brings back the span).\n\tfunction mergeOldSpans(doc, change) {\n\t var old = getOldSpans(doc, change)\n\t var stretched = stretchSpansOverChange(doc, change)\n\t if (!old) { return stretched }\n\t if (!stretched) { return old }\n\t\n\t for (var i = 0; i < old.length; ++i) {\n\t var oldCur = old[i], stretchCur = stretched[i]\n\t if (oldCur && stretchCur) {\n\t spans: for (var j = 0; j < stretchCur.length; ++j) {\n\t var span = stretchCur[j]\n\t for (var k = 0; k < oldCur.length; ++k)\n\t { if (oldCur[k].marker == span.marker) { continue spans } }\n\t oldCur.push(span)\n\t }\n\t } else if (stretchCur) {\n\t old[i] = stretchCur\n\t }\n\t }\n\t return old\n\t}\n\t\n\t// Used both to provide a JSON-safe object in .getHistory, and, when\n\t// detaching a document, to split the history in two\n\tfunction copyHistoryArray(events, newGroup, instantiateSel) {\n\t var copy = []\n\t for (var i = 0; i < events.length; ++i) {\n\t var event = events[i]\n\t if (event.ranges) {\n\t copy.push(instantiateSel ? Selection.prototype.deepCopy.call(event) : event)\n\t continue\n\t }\n\t var changes = event.changes, newChanges = []\n\t copy.push({changes: newChanges})\n\t for (var j = 0; j < changes.length; ++j) {\n\t var change = changes[j], m = (void 0)\n\t newChanges.push({from: change.from, to: change.to, text: change.text})\n\t if (newGroup) { for (var prop in change) { if (m = prop.match(/^spans_(\\d+)$/)) {\n\t if (indexOf(newGroup, Number(m[1])) > -1) {\n\t lst(newChanges)[prop] = change[prop]\n\t delete change[prop]\n\t }\n\t } } }\n\t }\n\t }\n\t return copy\n\t}\n\t\n\t// The 'scroll' parameter given to many of these indicated whether\n\t// the new cursor position should be scrolled into view after\n\t// modifying the selection.\n\t\n\t// If shift is held or the extend flag is set, extends a range to\n\t// include a given position (and optionally a second position).\n\t// Otherwise, simply returns the range between the given positions.\n\t// Used for cursor motion and such.\n\tfunction extendRange(doc, range, head, other) {\n\t if (doc.cm && doc.cm.display.shift || doc.extend) {\n\t var anchor = range.anchor\n\t if (other) {\n\t var posBefore = cmp(head, anchor) < 0\n\t if (posBefore != (cmp(other, anchor) < 0)) {\n\t anchor = head\n\t head = other\n\t } else if (posBefore != (cmp(head, other) < 0)) {\n\t head = other\n\t }\n\t }\n\t return new Range(anchor, head)\n\t } else {\n\t return new Range(other || head, head)\n\t }\n\t}\n\t\n\t// Extend the primary selection range, discard the rest.\n\tfunction extendSelection(doc, head, other, options) {\n\t setSelection(doc, new Selection([extendRange(doc, doc.sel.primary(), head, other)], 0), options)\n\t}\n\t\n\t// Extend all selections (pos is an array of selections with length\n\t// equal the number of selections)\n\tfunction extendSelections(doc, heads, options) {\n\t var out = []\n\t for (var i = 0; i < doc.sel.ranges.length; i++)\n\t { out[i] = extendRange(doc, doc.sel.ranges[i], heads[i], null) }\n\t var newSel = normalizeSelection(out, doc.sel.primIndex)\n\t setSelection(doc, newSel, options)\n\t}\n\t\n\t// Updates a single range in the selection.\n\tfunction replaceOneSelection(doc, i, range, options) {\n\t var ranges = doc.sel.ranges.slice(0)\n\t ranges[i] = range\n\t setSelection(doc, normalizeSelection(ranges, doc.sel.primIndex), options)\n\t}\n\t\n\t// Reset the selection to a single range.\n\tfunction setSimpleSelection(doc, anchor, head, options) {\n\t setSelection(doc, simpleSelection(anchor, head), options)\n\t}\n\t\n\t// Give beforeSelectionChange handlers a change to influence a\n\t// selection update.\n\tfunction filterSelectionChange(doc, sel, options) {\n\t var obj = {\n\t ranges: sel.ranges,\n\t update: function(ranges) {\n\t var this$1 = this;\n\t\n\t this.ranges = []\n\t for (var i = 0; i < ranges.length; i++)\n\t { this$1.ranges[i] = new Range(clipPos(doc, ranges[i].anchor),\n\t clipPos(doc, ranges[i].head)) }\n\t },\n\t origin: options && options.origin\n\t }\n\t signal(doc, \"beforeSelectionChange\", doc, obj)\n\t if (doc.cm) { signal(doc.cm, \"beforeSelectionChange\", doc.cm, obj) }\n\t if (obj.ranges != sel.ranges) { return normalizeSelection(obj.ranges, obj.ranges.length - 1) }\n\t else { return sel }\n\t}\n\t\n\tfunction setSelectionReplaceHistory(doc, sel, options) {\n\t var done = doc.history.done, last = lst(done)\n\t if (last && last.ranges) {\n\t done[done.length - 1] = sel\n\t setSelectionNoUndo(doc, sel, options)\n\t } else {\n\t setSelection(doc, sel, options)\n\t }\n\t}\n\t\n\t// Set a new selection.\n\tfunction setSelection(doc, sel, options) {\n\t setSelectionNoUndo(doc, sel, options)\n\t addSelectionToHistory(doc, doc.sel, doc.cm ? doc.cm.curOp.id : NaN, options)\n\t}\n\t\n\tfunction setSelectionNoUndo(doc, sel, options) {\n\t if (hasHandler(doc, \"beforeSelectionChange\") || doc.cm && hasHandler(doc.cm, \"beforeSelectionChange\"))\n\t { sel = filterSelectionChange(doc, sel, options) }\n\t\n\t var bias = options && options.bias ||\n\t (cmp(sel.primary().head, doc.sel.primary().head) < 0 ? -1 : 1)\n\t setSelectionInner(doc, skipAtomicInSelection(doc, sel, bias, true))\n\t\n\t if (!(options && options.scroll === false) && doc.cm)\n\t { ensureCursorVisible(doc.cm) }\n\t}\n\t\n\tfunction setSelectionInner(doc, sel) {\n\t if (sel.equals(doc.sel)) { return }\n\t\n\t doc.sel = sel\n\t\n\t if (doc.cm) {\n\t doc.cm.curOp.updateInput = doc.cm.curOp.selectionChanged = true\n\t signalCursorActivity(doc.cm)\n\t }\n\t signalLater(doc, \"cursorActivity\", doc)\n\t}\n\t\n\t// Verify that the selection does not partially select any atomic\n\t// marked ranges.\n\tfunction reCheckSelection(doc) {\n\t setSelectionInner(doc, skipAtomicInSelection(doc, doc.sel, null, false), sel_dontScroll)\n\t}\n\t\n\t// Return a selection that does not partially select any atomic\n\t// ranges.\n\tfunction skipAtomicInSelection(doc, sel, bias, mayClear) {\n\t var out\n\t for (var i = 0; i < sel.ranges.length; i++) {\n\t var range = sel.ranges[i]\n\t var old = sel.ranges.length == doc.sel.ranges.length && doc.sel.ranges[i]\n\t var newAnchor = skipAtomic(doc, range.anchor, old && old.anchor, bias, mayClear)\n\t var newHead = skipAtomic(doc, range.head, old && old.head, bias, mayClear)\n\t if (out || newAnchor != range.anchor || newHead != range.head) {\n\t if (!out) { out = sel.ranges.slice(0, i) }\n\t out[i] = new Range(newAnchor, newHead)\n\t }\n\t }\n\t return out ? normalizeSelection(out, sel.primIndex) : sel\n\t}\n\t\n\tfunction skipAtomicInner(doc, pos, oldPos, dir, mayClear) {\n\t var line = getLine(doc, pos.line)\n\t if (line.markedSpans) { for (var i = 0; i < line.markedSpans.length; ++i) {\n\t var sp = line.markedSpans[i], m = sp.marker\n\t if ((sp.from == null || (m.inclusiveLeft ? sp.from <= pos.ch : sp.from < pos.ch)) &&\n\t (sp.to == null || (m.inclusiveRight ? sp.to >= pos.ch : sp.to > pos.ch))) {\n\t if (mayClear) {\n\t signal(m, \"beforeCursorEnter\")\n\t if (m.explicitlyCleared) {\n\t if (!line.markedSpans) { break }\n\t else {--i; continue}\n\t }\n\t }\n\t if (!m.atomic) { continue }\n\t\n\t if (oldPos) {\n\t var near = m.find(dir < 0 ? 1 : -1), diff = (void 0)\n\t if (dir < 0 ? m.inclusiveRight : m.inclusiveLeft)\n\t { near = movePos(doc, near, -dir, near && near.line == pos.line ? line : null) }\n\t if (near && near.line == pos.line && (diff = cmp(near, oldPos)) && (dir < 0 ? diff < 0 : diff > 0))\n\t { return skipAtomicInner(doc, near, pos, dir, mayClear) }\n\t }\n\t\n\t var far = m.find(dir < 0 ? -1 : 1)\n\t if (dir < 0 ? m.inclusiveLeft : m.inclusiveRight)\n\t { far = movePos(doc, far, dir, far.line == pos.line ? line : null) }\n\t return far ? skipAtomicInner(doc, far, pos, dir, mayClear) : null\n\t }\n\t } }\n\t return pos\n\t}\n\t\n\t// Ensure a given position is not inside an atomic range.\n\tfunction skipAtomic(doc, pos, oldPos, bias, mayClear) {\n\t var dir = bias || 1\n\t var found = skipAtomicInner(doc, pos, oldPos, dir, mayClear) ||\n\t (!mayClear && skipAtomicInner(doc, pos, oldPos, dir, true)) ||\n\t skipAtomicInner(doc, pos, oldPos, -dir, mayClear) ||\n\t (!mayClear && skipAtomicInner(doc, pos, oldPos, -dir, true))\n\t if (!found) {\n\t doc.cantEdit = true\n\t return Pos(doc.first, 0)\n\t }\n\t return found\n\t}\n\t\n\tfunction movePos(doc, pos, dir, line) {\n\t if (dir < 0 && pos.ch == 0) {\n\t if (pos.line > doc.first) { return clipPos(doc, Pos(pos.line - 1)) }\n\t else { return null }\n\t } else if (dir > 0 && pos.ch == (line || getLine(doc, pos.line)).text.length) {\n\t if (pos.line < doc.first + doc.size - 1) { return Pos(pos.line + 1, 0) }\n\t else { return null }\n\t } else {\n\t return new Pos(pos.line, pos.ch + dir)\n\t }\n\t}\n\t\n\tfunction selectAll(cm) {\n\t cm.setSelection(Pos(cm.firstLine(), 0), Pos(cm.lastLine()), sel_dontScroll)\n\t}\n\t\n\t// UPDATING\n\t\n\t// Allow \"beforeChange\" event handlers to influence a change\n\tfunction filterChange(doc, change, update) {\n\t var obj = {\n\t canceled: false,\n\t from: change.from,\n\t to: change.to,\n\t text: change.text,\n\t origin: change.origin,\n\t cancel: function () { return obj.canceled = true; }\n\t }\n\t if (update) { obj.update = function (from, to, text, origin) {\n\t if (from) { obj.from = clipPos(doc, from) }\n\t if (to) { obj.to = clipPos(doc, to) }\n\t if (text) { obj.text = text }\n\t if (origin !== undefined) { obj.origin = origin }\n\t } }\n\t signal(doc, \"beforeChange\", doc, obj)\n\t if (doc.cm) { signal(doc.cm, \"beforeChange\", doc.cm, obj) }\n\t\n\t if (obj.canceled) { return null }\n\t return {from: obj.from, to: obj.to, text: obj.text, origin: obj.origin}\n\t}\n\t\n\t// Apply a change to a document, and add it to the document's\n\t// history, and propagating it to all linked documents.\n\tfunction makeChange(doc, change, ignoreReadOnly) {\n\t if (doc.cm) {\n\t if (!doc.cm.curOp) { return operation(doc.cm, makeChange)(doc, change, ignoreReadOnly) }\n\t if (doc.cm.state.suppressEdits) { return }\n\t }\n\t\n\t if (hasHandler(doc, \"beforeChange\") || doc.cm && hasHandler(doc.cm, \"beforeChange\")) {\n\t change = filterChange(doc, change, true)\n\t if (!change) { return }\n\t }\n\t\n\t // Possibly split or suppress the update based on the presence\n\t // of read-only spans in its range.\n\t var split = sawReadOnlySpans && !ignoreReadOnly && removeReadOnlyRanges(doc, change.from, change.to)\n\t if (split) {\n\t for (var i = split.length - 1; i >= 0; --i)\n\t { makeChangeInner(doc, {from: split[i].from, to: split[i].to, text: i ? [\"\"] : change.text}) }\n\t } else {\n\t makeChangeInner(doc, change)\n\t }\n\t}\n\t\n\tfunction makeChangeInner(doc, change) {\n\t if (change.text.length == 1 && change.text[0] == \"\" && cmp(change.from, change.to) == 0) { return }\n\t var selAfter = computeSelAfterChange(doc, change)\n\t addChangeToHistory(doc, change, selAfter, doc.cm ? doc.cm.curOp.id : NaN)\n\t\n\t makeChangeSingleDoc(doc, change, selAfter, stretchSpansOverChange(doc, change))\n\t var rebased = []\n\t\n\t linkedDocs(doc, function (doc, sharedHist) {\n\t if (!sharedHist && indexOf(rebased, doc.history) == -1) {\n\t rebaseHist(doc.history, change)\n\t rebased.push(doc.history)\n\t }\n\t makeChangeSingleDoc(doc, change, null, stretchSpansOverChange(doc, change))\n\t })\n\t}\n\t\n\t// Revert a change stored in a document's history.\n\tfunction makeChangeFromHistory(doc, type, allowSelectionOnly) {\n\t if (doc.cm && doc.cm.state.suppressEdits && !allowSelectionOnly) { return }\n\t\n\t var hist = doc.history, event, selAfter = doc.sel\n\t var source = type == \"undo\" ? hist.done : hist.undone, dest = type == \"undo\" ? hist.undone : hist.done\n\t\n\t // Verify that there is a useable event (so that ctrl-z won't\n\t // needlessly clear selection events)\n\t var i = 0\n\t for (; i < source.length; i++) {\n\t event = source[i]\n\t if (allowSelectionOnly ? event.ranges && !event.equals(doc.sel) : !event.ranges)\n\t { break }\n\t }\n\t if (i == source.length) { return }\n\t hist.lastOrigin = hist.lastSelOrigin = null\n\t\n\t for (;;) {\n\t event = source.pop()\n\t if (event.ranges) {\n\t pushSelectionToHistory(event, dest)\n\t if (allowSelectionOnly && !event.equals(doc.sel)) {\n\t setSelection(doc, event, {clearRedo: false})\n\t return\n\t }\n\t selAfter = event\n\t }\n\t else { break }\n\t }\n\t\n\t // Build up a reverse change object to add to the opposite history\n\t // stack (redo when undoing, and vice versa).\n\t var antiChanges = []\n\t pushSelectionToHistory(selAfter, dest)\n\t dest.push({changes: antiChanges, generation: hist.generation})\n\t hist.generation = event.generation || ++hist.maxGeneration\n\t\n\t var filter = hasHandler(doc, \"beforeChange\") || doc.cm && hasHandler(doc.cm, \"beforeChange\")\n\t\n\t var loop = function ( i ) {\n\t var change = event.changes[i]\n\t change.origin = type\n\t if (filter && !filterChange(doc, change, false)) {\n\t source.length = 0\n\t return {}\n\t }\n\t\n\t antiChanges.push(historyChangeFromChange(doc, change))\n\t\n\t var after = i ? computeSelAfterChange(doc, change) : lst(source)\n\t makeChangeSingleDoc(doc, change, after, mergeOldSpans(doc, change))\n\t if (!i && doc.cm) { doc.cm.scrollIntoView({from: change.from, to: changeEnd(change)}) }\n\t var rebased = []\n\t\n\t // Propagate to the linked documents\n\t linkedDocs(doc, function (doc, sharedHist) {\n\t if (!sharedHist && indexOf(rebased, doc.history) == -1) {\n\t rebaseHist(doc.history, change)\n\t rebased.push(doc.history)\n\t }\n\t makeChangeSingleDoc(doc, change, null, mergeOldSpans(doc, change))\n\t })\n\t };\n\t\n\t for (var i$1 = event.changes.length - 1; i$1 >= 0; --i$1) {\n\t var returned = loop( i$1 );\n\t\n\t if ( returned ) return returned.v;\n\t }\n\t}\n\t\n\t// Sub-views need their line numbers shifted when text is added\n\t// above or below them in the parent document.\n\tfunction shiftDoc(doc, distance) {\n\t if (distance == 0) { return }\n\t doc.first += distance\n\t doc.sel = new Selection(map(doc.sel.ranges, function (range) { return new Range(\n\t Pos(range.anchor.line + distance, range.anchor.ch),\n\t Pos(range.head.line + distance, range.head.ch)\n\t ); }), doc.sel.primIndex)\n\t if (doc.cm) {\n\t regChange(doc.cm, doc.first, doc.first - distance, distance)\n\t for (var d = doc.cm.display, l = d.viewFrom; l < d.viewTo; l++)\n\t { regLineChange(doc.cm, l, \"gutter\") }\n\t }\n\t}\n\t\n\t// More lower-level change function, handling only a single document\n\t// (not linked ones).\n\tfunction makeChangeSingleDoc(doc, change, selAfter, spans) {\n\t if (doc.cm && !doc.cm.curOp)\n\t { return operation(doc.cm, makeChangeSingleDoc)(doc, change, selAfter, spans) }\n\t\n\t if (change.to.line < doc.first) {\n\t shiftDoc(doc, change.text.length - 1 - (change.to.line - change.from.line))\n\t return\n\t }\n\t if (change.from.line > doc.lastLine()) { return }\n\t\n\t // Clip the change to the size of this doc\n\t if (change.from.line < doc.first) {\n\t var shift = change.text.length - 1 - (doc.first - change.from.line)\n\t shiftDoc(doc, shift)\n\t change = {from: Pos(doc.first, 0), to: Pos(change.to.line + shift, change.to.ch),\n\t text: [lst(change.text)], origin: change.origin}\n\t }\n\t var last = doc.lastLine()\n\t if (change.to.line > last) {\n\t change = {from: change.from, to: Pos(last, getLine(doc, last).text.length),\n\t text: [change.text[0]], origin: change.origin}\n\t }\n\t\n\t change.removed = getBetween(doc, change.from, change.to)\n\t\n\t if (!selAfter) { selAfter = computeSelAfterChange(doc, change) }\n\t if (doc.cm) { makeChangeSingleDocInEditor(doc.cm, change, spans) }\n\t else { updateDoc(doc, change, spans) }\n\t setSelectionNoUndo(doc, selAfter, sel_dontScroll)\n\t}\n\t\n\t// Handle the interaction of a change to a document with the editor\n\t// that this document is part of.\n\tfunction makeChangeSingleDocInEditor(cm, change, spans) {\n\t var doc = cm.doc, display = cm.display, from = change.from, to = change.to\n\t\n\t var recomputeMaxLength = false, checkWidthStart = from.line\n\t if (!cm.options.lineWrapping) {\n\t checkWidthStart = lineNo(visualLine(getLine(doc, from.line)))\n\t doc.iter(checkWidthStart, to.line + 1, function (line) {\n\t if (line == display.maxLine) {\n\t recomputeMaxLength = true\n\t return true\n\t }\n\t })\n\t }\n\t\n\t if (doc.sel.contains(change.from, change.to) > -1)\n\t { signalCursorActivity(cm) }\n\t\n\t updateDoc(doc, change, spans, estimateHeight(cm))\n\t\n\t if (!cm.options.lineWrapping) {\n\t doc.iter(checkWidthStart, from.line + change.text.length, function (line) {\n\t var len = lineLength(line)\n\t if (len > display.maxLineLength) {\n\t display.maxLine = line\n\t display.maxLineLength = len\n\t display.maxLineChanged = true\n\t recomputeMaxLength = false\n\t }\n\t })\n\t if (recomputeMaxLength) { cm.curOp.updateMaxLine = true }\n\t }\n\t\n\t // Adjust frontier, schedule worker\n\t doc.frontier = Math.min(doc.frontier, from.line)\n\t startWorker(cm, 400)\n\t\n\t var lendiff = change.text.length - (to.line - from.line) - 1\n\t // Remember that these lines changed, for updating the display\n\t if (change.full)\n\t { regChange(cm) }\n\t else if (from.line == to.line && change.text.length == 1 && !isWholeLineUpdate(cm.doc, change))\n\t { regLineChange(cm, from.line, \"text\") }\n\t else\n\t { regChange(cm, from.line, to.line + 1, lendiff) }\n\t\n\t var changesHandler = hasHandler(cm, \"changes\"), changeHandler = hasHandler(cm, \"change\")\n\t if (changeHandler || changesHandler) {\n\t var obj = {\n\t from: from, to: to,\n\t text: change.text,\n\t removed: change.removed,\n\t origin: change.origin\n\t }\n\t if (changeHandler) { signalLater(cm, \"change\", cm, obj) }\n\t if (changesHandler) { (cm.curOp.changeObjs || (cm.curOp.changeObjs = [])).push(obj) }\n\t }\n\t cm.display.selForContextMenu = null\n\t}\n\t\n\tfunction replaceRange(doc, code, from, to, origin) {\n\t if (!to) { to = from }\n\t if (cmp(to, from) < 0) { var tmp = to; to = from; from = tmp }\n\t if (typeof code == \"string\") { code = doc.splitLines(code) }\n\t makeChange(doc, {from: from, to: to, text: code, origin: origin})\n\t}\n\t\n\t// Rebasing/resetting history to deal with externally-sourced changes\n\t\n\tfunction rebaseHistSelSingle(pos, from, to, diff) {\n\t if (to < pos.line) {\n\t pos.line += diff\n\t } else if (from < pos.line) {\n\t pos.line = from\n\t pos.ch = 0\n\t }\n\t}\n\t\n\t// Tries to rebase an array of history events given a change in the\n\t// document. If the change touches the same lines as the event, the\n\t// event, and everything 'behind' it, is discarded. If the change is\n\t// before the event, the event's positions are updated. Uses a\n\t// copy-on-write scheme for the positions, to avoid having to\n\t// reallocate them all on every rebase, but also avoid problems with\n\t// shared position objects being unsafely updated.\n\tfunction rebaseHistArray(array, from, to, diff) {\n\t for (var i = 0; i < array.length; ++i) {\n\t var sub = array[i], ok = true\n\t if (sub.ranges) {\n\t if (!sub.copied) { sub = array[i] = sub.deepCopy(); sub.copied = true }\n\t for (var j = 0; j < sub.ranges.length; j++) {\n\t rebaseHistSelSingle(sub.ranges[j].anchor, from, to, diff)\n\t rebaseHistSelSingle(sub.ranges[j].head, from, to, diff)\n\t }\n\t continue\n\t }\n\t for (var j$1 = 0; j$1 < sub.changes.length; ++j$1) {\n\t var cur = sub.changes[j$1]\n\t if (to < cur.from.line) {\n\t cur.from = Pos(cur.from.line + diff, cur.from.ch)\n\t cur.to = Pos(cur.to.line + diff, cur.to.ch)\n\t } else if (from <= cur.to.line) {\n\t ok = false\n\t break\n\t }\n\t }\n\t if (!ok) {\n\t array.splice(0, i + 1)\n\t i = 0\n\t }\n\t }\n\t}\n\t\n\tfunction rebaseHist(hist, change) {\n\t var from = change.from.line, to = change.to.line, diff = change.text.length - (to - from) - 1\n\t rebaseHistArray(hist.done, from, to, diff)\n\t rebaseHistArray(hist.undone, from, to, diff)\n\t}\n\t\n\t// Utility for applying a change to a line by handle or number,\n\t// returning the number and optionally registering the line as\n\t// changed.\n\tfunction changeLine(doc, handle, changeType, op) {\n\t var no = handle, line = handle\n\t if (typeof handle == \"number\") { line = getLine(doc, clipLine(doc, handle)) }\n\t else { no = lineNo(handle) }\n\t if (no == null) { return null }\n\t if (op(line, no) && doc.cm) { regLineChange(doc.cm, no, changeType) }\n\t return line\n\t}\n\t\n\t// The document is represented as a BTree consisting of leaves, with\n\t// chunk of lines in them, and branches, with up to ten leaves or\n\t// other branch nodes below them. The top node is always a branch\n\t// node, and is the document object itself (meaning it has\n\t// additional methods and properties).\n\t//\n\t// All nodes have parent links. The tree is used both to go from\n\t// line numbers to line objects, and to go from objects to numbers.\n\t// It also indexes by height, and is used to convert between height\n\t// and line object, and to find the total height of the document.\n\t//\n\t// See also http://marijnhaverbeke.nl/blog/codemirror-line-tree.html\n\t\n\tfunction LeafChunk(lines) {\n\t var this$1 = this;\n\t\n\t this.lines = lines\n\t this.parent = null\n\t var height = 0\n\t for (var i = 0; i < lines.length; ++i) {\n\t lines[i].parent = this$1\n\t height += lines[i].height\n\t }\n\t this.height = height\n\t}\n\t\n\tLeafChunk.prototype = {\n\t chunkSize: function() { return this.lines.length },\n\t // Remove the n lines at offset 'at'.\n\t removeInner: function(at, n) {\n\t var this$1 = this;\n\t\n\t for (var i = at, e = at + n; i < e; ++i) {\n\t var line = this$1.lines[i]\n\t this$1.height -= line.height\n\t cleanUpLine(line)\n\t signalLater(line, \"delete\")\n\t }\n\t this.lines.splice(at, n)\n\t },\n\t // Helper used to collapse a small branch into a single leaf.\n\t collapse: function(lines) {\n\t lines.push.apply(lines, this.lines)\n\t },\n\t // Insert the given array of lines at offset 'at', count them as\n\t // having the given height.\n\t insertInner: function(at, lines, height) {\n\t var this$1 = this;\n\t\n\t this.height += height\n\t this.lines = this.lines.slice(0, at).concat(lines).concat(this.lines.slice(at))\n\t for (var i = 0; i < lines.length; ++i) { lines[i].parent = this$1 }\n\t },\n\t // Used to iterate over a part of the tree.\n\t iterN: function(at, n, op) {\n\t var this$1 = this;\n\t\n\t for (var e = at + n; at < e; ++at)\n\t { if (op(this$1.lines[at])) { return true } }\n\t }\n\t}\n\t\n\tfunction BranchChunk(children) {\n\t var this$1 = this;\n\t\n\t this.children = children\n\t var size = 0, height = 0\n\t for (var i = 0; i < children.length; ++i) {\n\t var ch = children[i]\n\t size += ch.chunkSize(); height += ch.height\n\t ch.parent = this$1\n\t }\n\t this.size = size\n\t this.height = height\n\t this.parent = null\n\t}\n\t\n\tBranchChunk.prototype = {\n\t chunkSize: function() { return this.size },\n\t removeInner: function(at, n) {\n\t var this$1 = this;\n\t\n\t this.size -= n\n\t for (var i = 0; i < this.children.length; ++i) {\n\t var child = this$1.children[i], sz = child.chunkSize()\n\t if (at < sz) {\n\t var rm = Math.min(n, sz - at), oldHeight = child.height\n\t child.removeInner(at, rm)\n\t this$1.height -= oldHeight - child.height\n\t if (sz == rm) { this$1.children.splice(i--, 1); child.parent = null }\n\t if ((n -= rm) == 0) { break }\n\t at = 0\n\t } else { at -= sz }\n\t }\n\t // If the result is smaller than 25 lines, ensure that it is a\n\t // single leaf node.\n\t if (this.size - n < 25 &&\n\t (this.children.length > 1 || !(this.children[0] instanceof LeafChunk))) {\n\t var lines = []\n\t this.collapse(lines)\n\t this.children = [new LeafChunk(lines)]\n\t this.children[0].parent = this\n\t }\n\t },\n\t collapse: function(lines) {\n\t var this$1 = this;\n\t\n\t for (var i = 0; i < this.children.length; ++i) { this$1.children[i].collapse(lines) }\n\t },\n\t insertInner: function(at, lines, height) {\n\t var this$1 = this;\n\t\n\t this.size += lines.length\n\t this.height += height\n\t for (var i = 0; i < this.children.length; ++i) {\n\t var child = this$1.children[i], sz = child.chunkSize()\n\t if (at <= sz) {\n\t child.insertInner(at, lines, height)\n\t if (child.lines && child.lines.length > 50) {\n\t // To avoid memory thrashing when child.lines is huge (e.g. first view of a large file), it's never spliced.\n\t // Instead, small slices are taken. They're taken in order because sequential memory accesses are fastest.\n\t var remaining = child.lines.length % 25 + 25\n\t for (var pos = remaining; pos < child.lines.length;) {\n\t var leaf = new LeafChunk(child.lines.slice(pos, pos += 25))\n\t child.height -= leaf.height\n\t this$1.children.splice(++i, 0, leaf)\n\t leaf.parent = this$1\n\t }\n\t child.lines = child.lines.slice(0, remaining)\n\t this$1.maybeSpill()\n\t }\n\t break\n\t }\n\t at -= sz\n\t }\n\t },\n\t // When a node has grown, check whether it should be split.\n\t maybeSpill: function() {\n\t if (this.children.length <= 10) { return }\n\t var me = this\n\t do {\n\t var spilled = me.children.splice(me.children.length - 5, 5)\n\t var sibling = new BranchChunk(spilled)\n\t if (!me.parent) { // Become the parent node\n\t var copy = new BranchChunk(me.children)\n\t copy.parent = me\n\t me.children = [copy, sibling]\n\t me = copy\n\t } else {\n\t me.size -= sibling.size\n\t me.height -= sibling.height\n\t var myIndex = indexOf(me.parent.children, me)\n\t me.parent.children.splice(myIndex + 1, 0, sibling)\n\t }\n\t sibling.parent = me.parent\n\t } while (me.children.length > 10)\n\t me.parent.maybeSpill()\n\t },\n\t iterN: function(at, n, op) {\n\t var this$1 = this;\n\t\n\t for (var i = 0; i < this.children.length; ++i) {\n\t var child = this$1.children[i], sz = child.chunkSize()\n\t if (at < sz) {\n\t var used = Math.min(n, sz - at)\n\t if (child.iterN(at, used, op)) { return true }\n\t if ((n -= used) == 0) { break }\n\t at = 0\n\t } else { at -= sz }\n\t }\n\t }\n\t}\n\t\n\t// Line widgets are block elements displayed above or below a line.\n\t\n\tfunction LineWidget(doc, node, options) {\n\t var this$1 = this;\n\t\n\t if (options) { for (var opt in options) { if (options.hasOwnProperty(opt))\n\t { this$1[opt] = options[opt] } } }\n\t this.doc = doc\n\t this.node = node\n\t}\n\teventMixin(LineWidget)\n\t\n\tfunction adjustScrollWhenAboveVisible(cm, line, diff) {\n\t if (heightAtLine(line) < ((cm.curOp && cm.curOp.scrollTop) || cm.doc.scrollTop))\n\t { addToScrollPos(cm, null, diff) }\n\t}\n\t\n\tLineWidget.prototype.clear = function() {\n\t var this$1 = this;\n\t\n\t var cm = this.doc.cm, ws = this.line.widgets, line = this.line, no = lineNo(line)\n\t if (no == null || !ws) { return }\n\t for (var i = 0; i < ws.length; ++i) { if (ws[i] == this$1) { ws.splice(i--, 1) } }\n\t if (!ws.length) { line.widgets = null }\n\t var height = widgetHeight(this)\n\t updateLineHeight(line, Math.max(0, line.height - height))\n\t if (cm) { runInOp(cm, function () {\n\t adjustScrollWhenAboveVisible(cm, line, -height)\n\t regLineChange(cm, no, \"widget\")\n\t }) }\n\t}\n\tLineWidget.prototype.changed = function() {\n\t var oldH = this.height, cm = this.doc.cm, line = this.line\n\t this.height = null\n\t var diff = widgetHeight(this) - oldH\n\t if (!diff) { return }\n\t updateLineHeight(line, line.height + diff)\n\t if (cm) { runInOp(cm, function () {\n\t cm.curOp.forceUpdate = true\n\t adjustScrollWhenAboveVisible(cm, line, diff)\n\t }) }\n\t}\n\t\n\tfunction addLineWidget(doc, handle, node, options) {\n\t var widget = new LineWidget(doc, node, options)\n\t var cm = doc.cm\n\t if (cm && widget.noHScroll) { cm.display.alignWidgets = true }\n\t changeLine(doc, handle, \"widget\", function (line) {\n\t var widgets = line.widgets || (line.widgets = [])\n\t if (widget.insertAt == null) { widgets.push(widget) }\n\t else { widgets.splice(Math.min(widgets.length - 1, Math.max(0, widget.insertAt)), 0, widget) }\n\t widget.line = line\n\t if (cm && !lineIsHidden(doc, line)) {\n\t var aboveVisible = heightAtLine(line) < doc.scrollTop\n\t updateLineHeight(line, line.height + widgetHeight(widget))\n\t if (aboveVisible) { addToScrollPos(cm, null, widget.height) }\n\t cm.curOp.forceUpdate = true\n\t }\n\t return true\n\t })\n\t return widget\n\t}\n\t\n\t// TEXTMARKERS\n\t\n\t// Created with markText and setBookmark methods. A TextMarker is a\n\t// handle that can be used to clear or find a marked position in the\n\t// document. Line objects hold arrays (markedSpans) containing\n\t// {from, to, marker} object pointing to such marker objects, and\n\t// indicating that such a marker is present on that line. Multiple\n\t// lines may point to the same marker when it spans across lines.\n\t// The spans will have null for their from/to properties when the\n\t// marker continues beyond the start/end of the line. Markers have\n\t// links back to the lines they currently touch.\n\t\n\t// Collapsed markers have unique ids, in order to be able to order\n\t// them, which is needed for uniquely determining an outer marker\n\t// when they overlap (they may nest, but not partially overlap).\n\tvar nextMarkerId = 0\n\t\n\tfunction TextMarker(doc, type) {\n\t this.lines = []\n\t this.type = type\n\t this.doc = doc\n\t this.id = ++nextMarkerId\n\t}\n\teventMixin(TextMarker)\n\t\n\t// Clear the marker.\n\tTextMarker.prototype.clear = function() {\n\t var this$1 = this;\n\t\n\t if (this.explicitlyCleared) { return }\n\t var cm = this.doc.cm, withOp = cm && !cm.curOp\n\t if (withOp) { startOperation(cm) }\n\t if (hasHandler(this, \"clear\")) {\n\t var found = this.find()\n\t if (found) { signalLater(this, \"clear\", found.from, found.to) }\n\t }\n\t var min = null, max = null\n\t for (var i = 0; i < this.lines.length; ++i) {\n\t var line = this$1.lines[i]\n\t var span = getMarkedSpanFor(line.markedSpans, this$1)\n\t if (cm && !this$1.collapsed) { regLineChange(cm, lineNo(line), \"text\") }\n\t else if (cm) {\n\t if (span.to != null) { max = lineNo(line) }\n\t if (span.from != null) { min = lineNo(line) }\n\t }\n\t line.markedSpans = removeMarkedSpan(line.markedSpans, span)\n\t if (span.from == null && this$1.collapsed && !lineIsHidden(this$1.doc, line) && cm)\n\t { updateLineHeight(line, textHeight(cm.display)) }\n\t }\n\t if (cm && this.collapsed && !cm.options.lineWrapping) { for (var i$1 = 0; i$1 < this.lines.length; ++i$1) {\n\t var visual = visualLine(this$1.lines[i$1]), len = lineLength(visual)\n\t if (len > cm.display.maxLineLength) {\n\t cm.display.maxLine = visual\n\t cm.display.maxLineLength = len\n\t cm.display.maxLineChanged = true\n\t }\n\t } }\n\t\n\t if (min != null && cm && this.collapsed) { regChange(cm, min, max + 1) }\n\t this.lines.length = 0\n\t this.explicitlyCleared = true\n\t if (this.atomic && this.doc.cantEdit) {\n\t this.doc.cantEdit = false\n\t if (cm) { reCheckSelection(cm.doc) }\n\t }\n\t if (cm) { signalLater(cm, \"markerCleared\", cm, this) }\n\t if (withOp) { endOperation(cm) }\n\t if (this.parent) { this.parent.clear() }\n\t}\n\t\n\t// Find the position of the marker in the document. Returns a {from,\n\t// to} object by default. Side can be passed to get a specific side\n\t// -- 0 (both), -1 (left), or 1 (right). When lineObj is true, the\n\t// Pos objects returned contain a line object, rather than a line\n\t// number (used to prevent looking up the same line twice).\n\tTextMarker.prototype.find = function(side, lineObj) {\n\t var this$1 = this;\n\t\n\t if (side == null && this.type == \"bookmark\") { side = 1 }\n\t var from, to\n\t for (var i = 0; i < this.lines.length; ++i) {\n\t var line = this$1.lines[i]\n\t var span = getMarkedSpanFor(line.markedSpans, this$1)\n\t if (span.from != null) {\n\t from = Pos(lineObj ? line : lineNo(line), span.from)\n\t if (side == -1) { return from }\n\t }\n\t if (span.to != null) {\n\t to = Pos(lineObj ? line : lineNo(line), span.to)\n\t if (side == 1) { return to }\n\t }\n\t }\n\t return from && {from: from, to: to}\n\t}\n\t\n\t// Signals that the marker's widget changed, and surrounding layout\n\t// should be recomputed.\n\tTextMarker.prototype.changed = function() {\n\t var pos = this.find(-1, true), widget = this, cm = this.doc.cm\n\t if (!pos || !cm) { return }\n\t runInOp(cm, function () {\n\t var line = pos.line, lineN = lineNo(pos.line)\n\t var view = findViewForLine(cm, lineN)\n\t if (view) {\n\t clearLineMeasurementCacheFor(view)\n\t cm.curOp.selectionChanged = cm.curOp.forceUpdate = true\n\t }\n\t cm.curOp.updateMaxLine = true\n\t if (!lineIsHidden(widget.doc, line) && widget.height != null) {\n\t var oldHeight = widget.height\n\t widget.height = null\n\t var dHeight = widgetHeight(widget) - oldHeight\n\t if (dHeight)\n\t { updateLineHeight(line, line.height + dHeight) }\n\t }\n\t })\n\t}\n\t\n\tTextMarker.prototype.attachLine = function(line) {\n\t if (!this.lines.length && this.doc.cm) {\n\t var op = this.doc.cm.curOp\n\t if (!op.maybeHiddenMarkers || indexOf(op.maybeHiddenMarkers, this) == -1)\n\t { (op.maybeUnhiddenMarkers || (op.maybeUnhiddenMarkers = [])).push(this) }\n\t }\n\t this.lines.push(line)\n\t}\n\tTextMarker.prototype.detachLine = function(line) {\n\t this.lines.splice(indexOf(this.lines, line), 1)\n\t if (!this.lines.length && this.doc.cm) {\n\t var op = this.doc.cm.curOp\n\t ;(op.maybeHiddenMarkers || (op.maybeHiddenMarkers = [])).push(this)\n\t }\n\t}\n\t\n\t// Create a marker, wire it up to the right lines, and\n\tfunction markText(doc, from, to, options, type) {\n\t // Shared markers (across linked documents) are handled separately\n\t // (markTextShared will call out to this again, once per\n\t // document).\n\t if (options && options.shared) { return markTextShared(doc, from, to, options, type) }\n\t // Ensure we are in an operation.\n\t if (doc.cm && !doc.cm.curOp) { return operation(doc.cm, markText)(doc, from, to, options, type) }\n\t\n\t var marker = new TextMarker(doc, type), diff = cmp(from, to)\n\t if (options) { copyObj(options, marker, false) }\n\t // Don't connect empty markers unless clearWhenEmpty is false\n\t if (diff > 0 || diff == 0 && marker.clearWhenEmpty !== false)\n\t { return marker }\n\t if (marker.replacedWith) {\n\t // Showing up as a widget implies collapsed (widget replaces text)\n\t marker.collapsed = true\n\t marker.widgetNode = elt(\"span\", [marker.replacedWith], \"CodeMirror-widget\")\n\t if (!options.handleMouseEvents) { marker.widgetNode.setAttribute(\"cm-ignore-events\", \"true\") }\n\t if (options.insertLeft) { marker.widgetNode.insertLeft = true }\n\t }\n\t if (marker.collapsed) {\n\t if (conflictingCollapsedRange(doc, from.line, from, to, marker) ||\n\t from.line != to.line && conflictingCollapsedRange(doc, to.line, from, to, marker))\n\t { throw new Error(\"Inserting collapsed marker partially overlapping an existing one\") }\n\t seeCollapsedSpans()\n\t }\n\t\n\t if (marker.addToHistory)\n\t { addChangeToHistory(doc, {from: from, to: to, origin: \"markText\"}, doc.sel, NaN) }\n\t\n\t var curLine = from.line, cm = doc.cm, updateMaxLine\n\t doc.iter(curLine, to.line + 1, function (line) {\n\t if (cm && marker.collapsed && !cm.options.lineWrapping && visualLine(line) == cm.display.maxLine)\n\t { updateMaxLine = true }\n\t if (marker.collapsed && curLine != from.line) { updateLineHeight(line, 0) }\n\t addMarkedSpan(line, new MarkedSpan(marker,\n\t curLine == from.line ? from.ch : null,\n\t curLine == to.line ? to.ch : null))\n\t ++curLine\n\t })\n\t // lineIsHidden depends on the presence of the spans, so needs a second pass\n\t if (marker.collapsed) { doc.iter(from.line, to.line + 1, function (line) {\n\t if (lineIsHidden(doc, line)) { updateLineHeight(line, 0) }\n\t }) }\n\t\n\t if (marker.clearOnEnter) { on(marker, \"beforeCursorEnter\", function () { return marker.clear(); }) }\n\t\n\t if (marker.readOnly) {\n\t seeReadOnlySpans()\n\t if (doc.history.done.length || doc.history.undone.length)\n\t { doc.clearHistory() }\n\t }\n\t if (marker.collapsed) {\n\t marker.id = ++nextMarkerId\n\t marker.atomic = true\n\t }\n\t if (cm) {\n\t // Sync editor state\n\t if (updateMaxLine) { cm.curOp.updateMaxLine = true }\n\t if (marker.collapsed)\n\t { regChange(cm, from.line, to.line + 1) }\n\t else if (marker.className || marker.title || marker.startStyle || marker.endStyle || marker.css)\n\t { for (var i = from.line; i <= to.line; i++) { regLineChange(cm, i, \"text\") } }\n\t if (marker.atomic) { reCheckSelection(cm.doc) }\n\t signalLater(cm, \"markerAdded\", cm, marker)\n\t }\n\t return marker\n\t}\n\t\n\t// SHARED TEXTMARKERS\n\t\n\t// A shared marker spans multiple linked documents. It is\n\t// implemented as a meta-marker-object controlling multiple normal\n\t// markers.\n\tfunction SharedTextMarker(markers, primary) {\n\t var this$1 = this;\n\t\n\t this.markers = markers\n\t this.primary = primary\n\t for (var i = 0; i < markers.length; ++i)\n\t { markers[i].parent = this$1 }\n\t}\n\teventMixin(SharedTextMarker)\n\t\n\tSharedTextMarker.prototype.clear = function() {\n\t var this$1 = this;\n\t\n\t if (this.explicitlyCleared) { return }\n\t this.explicitlyCleared = true\n\t for (var i = 0; i < this.markers.length; ++i)\n\t { this$1.markers[i].clear() }\n\t signalLater(this, \"clear\")\n\t}\n\tSharedTextMarker.prototype.find = function(side, lineObj) {\n\t return this.primary.find(side, lineObj)\n\t}\n\t\n\tfunction markTextShared(doc, from, to, options, type) {\n\t options = copyObj(options)\n\t options.shared = false\n\t var markers = [markText(doc, from, to, options, type)], primary = markers[0]\n\t var widget = options.widgetNode\n\t linkedDocs(doc, function (doc) {\n\t if (widget) { options.widgetNode = widget.cloneNode(true) }\n\t markers.push(markText(doc, clipPos(doc, from), clipPos(doc, to), options, type))\n\t for (var i = 0; i < doc.linked.length; ++i)\n\t { if (doc.linked[i].isParent) { return } }\n\t primary = lst(markers)\n\t })\n\t return new SharedTextMarker(markers, primary)\n\t}\n\t\n\tfunction findSharedMarkers(doc) {\n\t return doc.findMarks(Pos(doc.first, 0), doc.clipPos(Pos(doc.lastLine())), function (m) { return m.parent; })\n\t}\n\t\n\tfunction copySharedMarkers(doc, markers) {\n\t for (var i = 0; i < markers.length; i++) {\n\t var marker = markers[i], pos = marker.find()\n\t var mFrom = doc.clipPos(pos.from), mTo = doc.clipPos(pos.to)\n\t if (cmp(mFrom, mTo)) {\n\t var subMark = markText(doc, mFrom, mTo, marker.primary, marker.primary.type)\n\t marker.markers.push(subMark)\n\t subMark.parent = marker\n\t }\n\t }\n\t}\n\t\n\tfunction detachSharedMarkers(markers) {\n\t var loop = function ( i ) {\n\t var marker = markers[i], linked = [marker.primary.doc]\n\t linkedDocs(marker.primary.doc, function (d) { return linked.push(d); })\n\t for (var j = 0; j < marker.markers.length; j++) {\n\t var subMarker = marker.markers[j]\n\t if (indexOf(linked, subMarker.doc) == -1) {\n\t subMarker.parent = null\n\t marker.markers.splice(j--, 1)\n\t }\n\t }\n\t };\n\t\n\t for (var i = 0; i < markers.length; i++) loop( i );\n\t}\n\t\n\tvar nextDocId = 0\n\tvar Doc = function(text, mode, firstLine, lineSep) {\n\t if (!(this instanceof Doc)) { return new Doc(text, mode, firstLine, lineSep) }\n\t if (firstLine == null) { firstLine = 0 }\n\t\n\t BranchChunk.call(this, [new LeafChunk([new Line(\"\", null)])])\n\t this.first = firstLine\n\t this.scrollTop = this.scrollLeft = 0\n\t this.cantEdit = false\n\t this.cleanGeneration = 1\n\t this.frontier = firstLine\n\t var start = Pos(firstLine, 0)\n\t this.sel = simpleSelection(start)\n\t this.history = new History(null)\n\t this.id = ++nextDocId\n\t this.modeOption = mode\n\t this.lineSep = lineSep\n\t this.extend = false\n\t\n\t if (typeof text == \"string\") { text = this.splitLines(text) }\n\t updateDoc(this, {from: start, to: start, text: text})\n\t setSelection(this, simpleSelection(start), sel_dontScroll)\n\t}\n\t\n\tDoc.prototype = createObj(BranchChunk.prototype, {\n\t constructor: Doc,\n\t // Iterate over the document. Supports two forms -- with only one\n\t // argument, it calls that for each line in the document. With\n\t // three, it iterates over the range given by the first two (with\n\t // the second being non-inclusive).\n\t iter: function(from, to, op) {\n\t if (op) { this.iterN(from - this.first, to - from, op) }\n\t else { this.iterN(this.first, this.first + this.size, from) }\n\t },\n\t\n\t // Non-public interface for adding and removing lines.\n\t insert: function(at, lines) {\n\t var height = 0\n\t for (var i = 0; i < lines.length; ++i) { height += lines[i].height }\n\t this.insertInner(at - this.first, lines, height)\n\t },\n\t remove: function(at, n) { this.removeInner(at - this.first, n) },\n\t\n\t // From here, the methods are part of the public interface. Most\n\t // are also available from CodeMirror (editor) instances.\n\t\n\t getValue: function(lineSep) {\n\t var lines = getLines(this, this.first, this.first + this.size)\n\t if (lineSep === false) { return lines }\n\t return lines.join(lineSep || this.lineSeparator())\n\t },\n\t setValue: docMethodOp(function(code) {\n\t var top = Pos(this.first, 0), last = this.first + this.size - 1\n\t makeChange(this, {from: top, to: Pos(last, getLine(this, last).text.length),\n\t text: this.splitLines(code), origin: \"setValue\", full: true}, true)\n\t setSelection(this, simpleSelection(top))\n\t }),\n\t replaceRange: function(code, from, to, origin) {\n\t from = clipPos(this, from)\n\t to = to ? clipPos(this, to) : from\n\t replaceRange(this, code, from, to, origin)\n\t },\n\t getRange: function(from, to, lineSep) {\n\t var lines = getBetween(this, clipPos(this, from), clipPos(this, to))\n\t if (lineSep === false) { return lines }\n\t return lines.join(lineSep || this.lineSeparator())\n\t },\n\t\n\t getLine: function(line) {var l = this.getLineHandle(line); return l && l.text},\n\t\n\t getLineHandle: function(line) {if (isLine(this, line)) { return getLine(this, line) }},\n\t getLineNumber: function(line) {return lineNo(line)},\n\t\n\t getLineHandleVisualStart: function(line) {\n\t if (typeof line == \"number\") { line = getLine(this, line) }\n\t return visualLine(line)\n\t },\n\t\n\t lineCount: function() {return this.size},\n\t firstLine: function() {return this.first},\n\t lastLine: function() {return this.first + this.size - 1},\n\t\n\t clipPos: function(pos) {return clipPos(this, pos)},\n\t\n\t getCursor: function(start) {\n\t var range = this.sel.primary(), pos\n\t if (start == null || start == \"head\") { pos = range.head }\n\t else if (start == \"anchor\") { pos = range.anchor }\n\t else if (start == \"end\" || start == \"to\" || start === false) { pos = range.to() }\n\t else { pos = range.from() }\n\t return pos\n\t },\n\t listSelections: function() { return this.sel.ranges },\n\t somethingSelected: function() {return this.sel.somethingSelected()},\n\t\n\t setCursor: docMethodOp(function(line, ch, options) {\n\t setSimpleSelection(this, clipPos(this, typeof line == \"number\" ? Pos(line, ch || 0) : line), null, options)\n\t }),\n\t setSelection: docMethodOp(function(anchor, head, options) {\n\t setSimpleSelection(this, clipPos(this, anchor), clipPos(this, head || anchor), options)\n\t }),\n\t extendSelection: docMethodOp(function(head, other, options) {\n\t extendSelection(this, clipPos(this, head), other && clipPos(this, other), options)\n\t }),\n\t extendSelections: docMethodOp(function(heads, options) {\n\t extendSelections(this, clipPosArray(this, heads), options)\n\t }),\n\t extendSelectionsBy: docMethodOp(function(f, options) {\n\t var heads = map(this.sel.ranges, f)\n\t extendSelections(this, clipPosArray(this, heads), options)\n\t }),\n\t setSelections: docMethodOp(function(ranges, primary, options) {\n\t var this$1 = this;\n\t\n\t if (!ranges.length) { return }\n\t var out = []\n\t for (var i = 0; i < ranges.length; i++)\n\t { out[i] = new Range(clipPos(this$1, ranges[i].anchor),\n\t clipPos(this$1, ranges[i].head)) }\n\t if (primary == null) { primary = Math.min(ranges.length - 1, this.sel.primIndex) }\n\t setSelection(this, normalizeSelection(out, primary), options)\n\t }),\n\t addSelection: docMethodOp(function(anchor, head, options) {\n\t var ranges = this.sel.ranges.slice(0)\n\t ranges.push(new Range(clipPos(this, anchor), clipPos(this, head || anchor)))\n\t setSelection(this, normalizeSelection(ranges, ranges.length - 1), options)\n\t }),\n\t\n\t getSelection: function(lineSep) {\n\t var this$1 = this;\n\t\n\t var ranges = this.sel.ranges, lines\n\t for (var i = 0; i < ranges.length; i++) {\n\t var sel = getBetween(this$1, ranges[i].from(), ranges[i].to())\n\t lines = lines ? lines.concat(sel) : sel\n\t }\n\t if (lineSep === false) { return lines }\n\t else { return lines.join(lineSep || this.lineSeparator()) }\n\t },\n\t getSelections: function(lineSep) {\n\t var this$1 = this;\n\t\n\t var parts = [], ranges = this.sel.ranges\n\t for (var i = 0; i < ranges.length; i++) {\n\t var sel = getBetween(this$1, ranges[i].from(), ranges[i].to())\n\t if (lineSep !== false) { sel = sel.join(lineSep || this$1.lineSeparator()) }\n\t parts[i] = sel\n\t }\n\t return parts\n\t },\n\t replaceSelection: function(code, collapse, origin) {\n\t var dup = []\n\t for (var i = 0; i < this.sel.ranges.length; i++)\n\t { dup[i] = code }\n\t this.replaceSelections(dup, collapse, origin || \"+input\")\n\t },\n\t replaceSelections: docMethodOp(function(code, collapse, origin) {\n\t var this$1 = this;\n\t\n\t var changes = [], sel = this.sel\n\t for (var i = 0; i < sel.ranges.length; i++) {\n\t var range = sel.ranges[i]\n\t changes[i] = {from: range.from(), to: range.to(), text: this$1.splitLines(code[i]), origin: origin}\n\t }\n\t var newSel = collapse && collapse != \"end\" && computeReplacedSel(this, changes, collapse)\n\t for (var i$1 = changes.length - 1; i$1 >= 0; i$1--)\n\t { makeChange(this$1, changes[i$1]) }\n\t if (newSel) { setSelectionReplaceHistory(this, newSel) }\n\t else if (this.cm) { ensureCursorVisible(this.cm) }\n\t }),\n\t undo: docMethodOp(function() {makeChangeFromHistory(this, \"undo\")}),\n\t redo: docMethodOp(function() {makeChangeFromHistory(this, \"redo\")}),\n\t undoSelection: docMethodOp(function() {makeChangeFromHistory(this, \"undo\", true)}),\n\t redoSelection: docMethodOp(function() {makeChangeFromHistory(this, \"redo\", true)}),\n\t\n\t setExtending: function(val) {this.extend = val},\n\t getExtending: function() {return this.extend},\n\t\n\t historySize: function() {\n\t var hist = this.history, done = 0, undone = 0\n\t for (var i = 0; i < hist.done.length; i++) { if (!hist.done[i].ranges) { ++done } }\n\t for (var i$1 = 0; i$1 < hist.undone.length; i$1++) { if (!hist.undone[i$1].ranges) { ++undone } }\n\t return {undo: done, redo: undone}\n\t },\n\t clearHistory: function() {this.history = new History(this.history.maxGeneration)},\n\t\n\t markClean: function() {\n\t this.cleanGeneration = this.changeGeneration(true)\n\t },\n\t changeGeneration: function(forceSplit) {\n\t if (forceSplit)\n\t { this.history.lastOp = this.history.lastSelOp = this.history.lastOrigin = null }\n\t return this.history.generation\n\t },\n\t isClean: function (gen) {\n\t return this.history.generation == (gen || this.cleanGeneration)\n\t },\n\t\n\t getHistory: function() {\n\t return {done: copyHistoryArray(this.history.done),\n\t undone: copyHistoryArray(this.history.undone)}\n\t },\n\t setHistory: function(histData) {\n\t var hist = this.history = new History(this.history.maxGeneration)\n\t hist.done = copyHistoryArray(histData.done.slice(0), null, true)\n\t hist.undone = copyHistoryArray(histData.undone.slice(0), null, true)\n\t },\n\t\n\t setGutterMarker: docMethodOp(function(line, gutterID, value) {\n\t return changeLine(this, line, \"gutter\", function (line) {\n\t var markers = line.gutterMarkers || (line.gutterMarkers = {})\n\t markers[gutterID] = value\n\t if (!value && isEmpty(markers)) { line.gutterMarkers = null }\n\t return true\n\t })\n\t }),\n\t\n\t clearGutter: docMethodOp(function(gutterID) {\n\t var this$1 = this;\n\t\n\t var i = this.first\n\t this.iter(function (line) {\n\t if (line.gutterMarkers && line.gutterMarkers[gutterID]) {\n\t changeLine(this$1, line, \"gutter\", function () {\n\t line.gutterMarkers[gutterID] = null\n\t if (isEmpty(line.gutterMarkers)) { line.gutterMarkers = null }\n\t return true\n\t })\n\t }\n\t ++i\n\t })\n\t }),\n\t\n\t lineInfo: function(line) {\n\t var n\n\t if (typeof line == \"number\") {\n\t if (!isLine(this, line)) { return null }\n\t n = line\n\t line = getLine(this, line)\n\t if (!line) { return null }\n\t } else {\n\t n = lineNo(line)\n\t if (n == null) { return null }\n\t }\n\t return {line: n, handle: line, text: line.text, gutterMarkers: line.gutterMarkers,\n\t textClass: line.textClass, bgClass: line.bgClass, wrapClass: line.wrapClass,\n\t widgets: line.widgets}\n\t },\n\t\n\t addLineClass: docMethodOp(function(handle, where, cls) {\n\t return changeLine(this, handle, where == \"gutter\" ? \"gutter\" : \"class\", function (line) {\n\t var prop = where == \"text\" ? \"textClass\"\n\t : where == \"background\" ? \"bgClass\"\n\t : where == \"gutter\" ? \"gutterClass\" : \"wrapClass\"\n\t if (!line[prop]) { line[prop] = cls }\n\t else if (classTest(cls).test(line[prop])) { return false }\n\t else { line[prop] += \" \" + cls }\n\t return true\n\t })\n\t }),\n\t removeLineClass: docMethodOp(function(handle, where, cls) {\n\t return changeLine(this, handle, where == \"gutter\" ? \"gutter\" : \"class\", function (line) {\n\t var prop = where == \"text\" ? \"textClass\"\n\t : where == \"background\" ? \"bgClass\"\n\t : where == \"gutter\" ? \"gutterClass\" : \"wrapClass\"\n\t var cur = line[prop]\n\t if (!cur) { return false }\n\t else if (cls == null) { line[prop] = null }\n\t else {\n\t var found = cur.match(classTest(cls))\n\t if (!found) { return false }\n\t var end = found.index + found[0].length\n\t line[prop] = cur.slice(0, found.index) + (!found.index || end == cur.length ? \"\" : \" \") + cur.slice(end) || null\n\t }\n\t return true\n\t })\n\t }),\n\t\n\t addLineWidget: docMethodOp(function(handle, node, options) {\n\t return addLineWidget(this, handle, node, options)\n\t }),\n\t removeLineWidget: function(widget) { widget.clear() },\n\t\n\t markText: function(from, to, options) {\n\t return markText(this, clipPos(this, from), clipPos(this, to), options, options && options.type || \"range\")\n\t },\n\t setBookmark: function(pos, options) {\n\t var realOpts = {replacedWith: options && (options.nodeType == null ? options.widget : options),\n\t insertLeft: options && options.insertLeft,\n\t clearWhenEmpty: false, shared: options && options.shared,\n\t handleMouseEvents: options && options.handleMouseEvents}\n\t pos = clipPos(this, pos)\n\t return markText(this, pos, pos, realOpts, \"bookmark\")\n\t },\n\t findMarksAt: function(pos) {\n\t pos = clipPos(this, pos)\n\t var markers = [], spans = getLine(this, pos.line).markedSpans\n\t if (spans) { for (var i = 0; i < spans.length; ++i) {\n\t var span = spans[i]\n\t if ((span.from == null || span.from <= pos.ch) &&\n\t (span.to == null || span.to >= pos.ch))\n\t { markers.push(span.marker.parent || span.marker) }\n\t } }\n\t return markers\n\t },\n\t findMarks: function(from, to, filter) {\n\t from = clipPos(this, from); to = clipPos(this, to)\n\t var found = [], lineNo = from.line\n\t this.iter(from.line, to.line + 1, function (line) {\n\t var spans = line.markedSpans\n\t if (spans) { for (var i = 0; i < spans.length; i++) {\n\t var span = spans[i]\n\t if (!(span.to != null && lineNo == from.line && from.ch >= span.to ||\n\t span.from == null && lineNo != from.line ||\n\t span.from != null && lineNo == to.line && span.from >= to.ch) &&\n\t (!filter || filter(span.marker)))\n\t { found.push(span.marker.parent || span.marker) }\n\t } }\n\t ++lineNo\n\t })\n\t return found\n\t },\n\t getAllMarks: function() {\n\t var markers = []\n\t this.iter(function (line) {\n\t var sps = line.markedSpans\n\t if (sps) { for (var i = 0; i < sps.length; ++i)\n\t { if (sps[i].from != null) { markers.push(sps[i].marker) } } }\n\t })\n\t return markers\n\t },\n\t\n\t posFromIndex: function(off) {\n\t var ch, lineNo = this.first, sepSize = this.lineSeparator().length\n\t this.iter(function (line) {\n\t var sz = line.text.length + sepSize\n\t if (sz > off) { ch = off; return true }\n\t off -= sz\n\t ++lineNo\n\t })\n\t return clipPos(this, Pos(lineNo, ch))\n\t },\n\t indexFromPos: function (coords) {\n\t coords = clipPos(this, coords)\n\t var index = coords.ch\n\t if (coords.line < this.first || coords.ch < 0) { return 0 }\n\t var sepSize = this.lineSeparator().length\n\t this.iter(this.first, coords.line, function (line) { // iter aborts when callback returns a truthy value\n\t index += line.text.length + sepSize\n\t })\n\t return index\n\t },\n\t\n\t copy: function(copyHistory) {\n\t var doc = new Doc(getLines(this, this.first, this.first + this.size),\n\t this.modeOption, this.first, this.lineSep)\n\t doc.scrollTop = this.scrollTop; doc.scrollLeft = this.scrollLeft\n\t doc.sel = this.sel\n\t doc.extend = false\n\t if (copyHistory) {\n\t doc.history.undoDepth = this.history.undoDepth\n\t doc.setHistory(this.getHistory())\n\t }\n\t return doc\n\t },\n\t\n\t linkedDoc: function(options) {\n\t if (!options) { options = {} }\n\t var from = this.first, to = this.first + this.size\n\t if (options.from != null && options.from > from) { from = options.from }\n\t if (options.to != null && options.to < to) { to = options.to }\n\t var copy = new Doc(getLines(this, from, to), options.mode || this.modeOption, from, this.lineSep)\n\t if (options.sharedHist) { copy.history = this.history\n\t ; }(this.linked || (this.linked = [])).push({doc: copy, sharedHist: options.sharedHist})\n\t copy.linked = [{doc: this, isParent: true, sharedHist: options.sharedHist}]\n\t copySharedMarkers(copy, findSharedMarkers(this))\n\t return copy\n\t },\n\t unlinkDoc: function(other) {\n\t var this$1 = this;\n\t\n\t if (other instanceof CodeMirror) { other = other.doc }\n\t if (this.linked) { for (var i = 0; i < this.linked.length; ++i) {\n\t var link = this$1.linked[i]\n\t if (link.doc != other) { continue }\n\t this$1.linked.splice(i, 1)\n\t other.unlinkDoc(this$1)\n\t detachSharedMarkers(findSharedMarkers(this$1))\n\t break\n\t } }\n\t // If the histories were shared, split them again\n\t if (other.history == this.history) {\n\t var splitIds = [other.id]\n\t linkedDocs(other, function (doc) { return splitIds.push(doc.id); }, true)\n\t other.history = new History(null)\n\t other.history.done = copyHistoryArray(this.history.done, splitIds)\n\t other.history.undone = copyHistoryArray(this.history.undone, splitIds)\n\t }\n\t },\n\t iterLinkedDocs: function(f) {linkedDocs(this, f)},\n\t\n\t getMode: function() {return this.mode},\n\t getEditor: function() {return this.cm},\n\t\n\t splitLines: function(str) {\n\t if (this.lineSep) { return str.split(this.lineSep) }\n\t return splitLinesAuto(str)\n\t },\n\t lineSeparator: function() { return this.lineSep || \"\\n\" }\n\t})\n\t\n\t// Public alias.\n\tDoc.prototype.eachLine = Doc.prototype.iter\n\t\n\t// Kludge to work around strange IE behavior where it'll sometimes\n\t// re-fire a series of drag-related events right after the drop (#1551)\n\tvar lastDrop = 0\n\t\n\tfunction onDrop(e) {\n\t var cm = this\n\t clearDragCursor(cm)\n\t if (signalDOMEvent(cm, e) || eventInWidget(cm.display, e))\n\t { return }\n\t e_preventDefault(e)\n\t if (ie) { lastDrop = +new Date }\n\t var pos = posFromMouse(cm, e, true), files = e.dataTransfer.files\n\t if (!pos || cm.isReadOnly()) { return }\n\t // Might be a file drop, in which case we simply extract the text\n\t // and insert it.\n\t if (files && files.length && window.FileReader && window.File) {\n\t var n = files.length, text = Array(n), read = 0\n\t var loadFile = function (file, i) {\n\t if (cm.options.allowDropFileTypes &&\n\t indexOf(cm.options.allowDropFileTypes, file.type) == -1)\n\t { return }\n\t\n\t var reader = new FileReader\n\t reader.onload = operation(cm, function () {\n\t var content = reader.result\n\t if (/[\\x00-\\x08\\x0e-\\x1f]{2}/.test(content)) { content = \"\" }\n\t text[i] = content\n\t if (++read == n) {\n\t pos = clipPos(cm.doc, pos)\n\t var change = {from: pos, to: pos,\n\t text: cm.doc.splitLines(text.join(cm.doc.lineSeparator())),\n\t origin: \"paste\"}\n\t makeChange(cm.doc, change)\n\t setSelectionReplaceHistory(cm.doc, simpleSelection(pos, changeEnd(change)))\n\t }\n\t })\n\t reader.readAsText(file)\n\t }\n\t for (var i = 0; i < n; ++i) { loadFile(files[i], i) }\n\t } else { // Normal drop\n\t // Don't do a replace if the drop happened inside of the selected text.\n\t if (cm.state.draggingText && cm.doc.sel.contains(pos) > -1) {\n\t cm.state.draggingText(e)\n\t // Ensure the editor is re-focused\n\t setTimeout(function () { return cm.display.input.focus(); }, 20)\n\t return\n\t }\n\t try {\n\t var text$1 = e.dataTransfer.getData(\"Text\")\n\t if (text$1) {\n\t var selected\n\t if (cm.state.draggingText && !cm.state.draggingText.copy)\n\t { selected = cm.listSelections() }\n\t setSelectionNoUndo(cm.doc, simpleSelection(pos, pos))\n\t if (selected) { for (var i$1 = 0; i$1 < selected.length; ++i$1)\n\t { replaceRange(cm.doc, \"\", selected[i$1].anchor, selected[i$1].head, \"drag\") } }\n\t cm.replaceSelection(text$1, \"around\", \"paste\")\n\t cm.display.input.focus()\n\t }\n\t }\n\t catch(e){}\n\t }\n\t}\n\t\n\tfunction onDragStart(cm, e) {\n\t if (ie && (!cm.state.draggingText || +new Date - lastDrop < 100)) { e_stop(e); return }\n\t if (signalDOMEvent(cm, e) || eventInWidget(cm.display, e)) { return }\n\t\n\t e.dataTransfer.setData(\"Text\", cm.getSelection())\n\t e.dataTransfer.effectAllowed = \"copyMove\"\n\t\n\t // Use dummy image instead of default browsers image.\n\t // Recent Safari (~6.0.2) have a tendency to segfault when this happens, so we don't do it there.\n\t if (e.dataTransfer.setDragImage && !safari) {\n\t var img = elt(\"img\", null, null, \"position: fixed; left: 0; top: 0;\")\n\t img.src = \"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\"\n\t if (presto) {\n\t img.width = img.height = 1\n\t cm.display.wrapper.appendChild(img)\n\t // Force a relayout, or Opera won't use our image for some obscure reason\n\t img._top = img.offsetTop\n\t }\n\t e.dataTransfer.setDragImage(img, 0, 0)\n\t if (presto) { img.parentNode.removeChild(img) }\n\t }\n\t}\n\t\n\tfunction onDragOver(cm, e) {\n\t var pos = posFromMouse(cm, e)\n\t if (!pos) { return }\n\t var frag = document.createDocumentFragment()\n\t drawSelectionCursor(cm, pos, frag)\n\t if (!cm.display.dragCursor) {\n\t cm.display.dragCursor = elt(\"div\", null, \"CodeMirror-cursors CodeMirror-dragcursors\")\n\t cm.display.lineSpace.insertBefore(cm.display.dragCursor, cm.display.cursorDiv)\n\t }\n\t removeChildrenAndAdd(cm.display.dragCursor, frag)\n\t}\n\t\n\tfunction clearDragCursor(cm) {\n\t if (cm.display.dragCursor) {\n\t cm.display.lineSpace.removeChild(cm.display.dragCursor)\n\t cm.display.dragCursor = null\n\t }\n\t}\n\t\n\t// These must be handled carefully, because naively registering a\n\t// handler for each editor will cause the editors to never be\n\t// garbage collected.\n\t\n\tfunction forEachCodeMirror(f) {\n\t if (!document.body.getElementsByClassName) { return }\n\t var byClass = document.body.getElementsByClassName(\"CodeMirror\")\n\t for (var i = 0; i < byClass.length; i++) {\n\t var cm = byClass[i].CodeMirror\n\t if (cm) { f(cm) }\n\t }\n\t}\n\t\n\tvar globalsRegistered = false\n\tfunction ensureGlobalHandlers() {\n\t if (globalsRegistered) { return }\n\t registerGlobalHandlers()\n\t globalsRegistered = true\n\t}\n\tfunction registerGlobalHandlers() {\n\t // When the window resizes, we need to refresh active editors.\n\t var resizeTimer\n\t on(window, \"resize\", function () {\n\t if (resizeTimer == null) { resizeTimer = setTimeout(function () {\n\t resizeTimer = null\n\t forEachCodeMirror(onResize)\n\t }, 100) }\n\t })\n\t // When the window loses focus, we want to show the editor as blurred\n\t on(window, \"blur\", function () { return forEachCodeMirror(onBlur); })\n\t}\n\t// Called when the window resizes\n\tfunction onResize(cm) {\n\t var d = cm.display\n\t if (d.lastWrapHeight == d.wrapper.clientHeight && d.lastWrapWidth == d.wrapper.clientWidth)\n\t { return }\n\t // Might be a text scaling operation, clear size caches.\n\t d.cachedCharWidth = d.cachedTextHeight = d.cachedPaddingH = null\n\t d.scrollbarsClipped = false\n\t cm.setSize()\n\t}\n\t\n\tvar keyNames = {\n\t 3: \"Enter\", 8: \"Backspace\", 9: \"Tab\", 13: \"Enter\", 16: \"Shift\", 17: \"Ctrl\", 18: \"Alt\",\n\t 19: \"Pause\", 20: \"CapsLock\", 27: \"Esc\", 32: \"Space\", 33: \"PageUp\", 34: \"PageDown\", 35: \"End\",\n\t 36: \"Home\", 37: \"Left\", 38: \"Up\", 39: \"Right\", 40: \"Down\", 44: \"PrintScrn\", 45: \"Insert\",\n\t 46: \"Delete\", 59: \";\", 61: \"=\", 91: \"Mod\", 92: \"Mod\", 93: \"Mod\",\n\t 106: \"*\", 107: \"=\", 109: \"-\", 110: \".\", 111: \"/\", 127: \"Delete\",\n\t 173: \"-\", 186: \";\", 187: \"=\", 188: \",\", 189: \"-\", 190: \".\", 191: \"/\", 192: \"`\", 219: \"[\", 220: \"\\\\\",\n\t 221: \"]\", 222: \"'\", 63232: \"Up\", 63233: \"Down\", 63234: \"Left\", 63235: \"Right\", 63272: \"Delete\",\n\t 63273: \"Home\", 63275: \"End\", 63276: \"PageUp\", 63277: \"PageDown\", 63302: \"Insert\"\n\t}\n\t\n\t// Number keys\n\tfor (var i = 0; i < 10; i++) { keyNames[i + 48] = keyNames[i + 96] = String(i) }\n\t// Alphabetic keys\n\tfor (var i$1 = 65; i$1 <= 90; i$1++) { keyNames[i$1] = String.fromCharCode(i$1) }\n\t// Function keys\n\tfor (var i$2 = 1; i$2 <= 12; i$2++) { keyNames[i$2 + 111] = keyNames[i$2 + 63235] = \"F\" + i$2 }\n\t\n\tvar keyMap = {}\n\t\n\tkeyMap.basic = {\n\t \"Left\": \"goCharLeft\", \"Right\": \"goCharRight\", \"Up\": \"goLineUp\", \"Down\": \"goLineDown\",\n\t \"End\": \"goLineEnd\", \"Home\": \"goLineStartSmart\", \"PageUp\": \"goPageUp\", \"PageDown\": \"goPageDown\",\n\t \"Delete\": \"delCharAfter\", \"Backspace\": \"delCharBefore\", \"Shift-Backspace\": \"delCharBefore\",\n\t \"Tab\": \"defaultTab\", \"Shift-Tab\": \"indentAuto\",\n\t \"Enter\": \"newlineAndIndent\", \"Insert\": \"toggleOverwrite\",\n\t \"Esc\": \"singleSelection\"\n\t}\n\t// Note that the save and find-related commands aren't defined by\n\t// default. User code or addons can define them. Unknown commands\n\t// are simply ignored.\n\tkeyMap.pcDefault = {\n\t \"Ctrl-A\": \"selectAll\", \"Ctrl-D\": \"deleteLine\", \"Ctrl-Z\": \"undo\", \"Shift-Ctrl-Z\": \"redo\", \"Ctrl-Y\": \"redo\",\n\t \"Ctrl-Home\": \"goDocStart\", \"Ctrl-End\": \"goDocEnd\", \"Ctrl-Up\": \"goLineUp\", \"Ctrl-Down\": \"goLineDown\",\n\t \"Ctrl-Left\": \"goGroupLeft\", \"Ctrl-Right\": \"goGroupRight\", \"Alt-Left\": \"goLineStart\", \"Alt-Right\": \"goLineEnd\",\n\t \"Ctrl-Backspace\": \"delGroupBefore\", \"Ctrl-Delete\": \"delGroupAfter\", \"Ctrl-S\": \"save\", \"Ctrl-F\": \"find\",\n\t \"Ctrl-G\": \"findNext\", \"Shift-Ctrl-G\": \"findPrev\", \"Shift-Ctrl-F\": \"replace\", \"Shift-Ctrl-R\": \"replaceAll\",\n\t \"Ctrl-[\": \"indentLess\", \"Ctrl-]\": \"indentMore\",\n\t \"Ctrl-U\": \"undoSelection\", \"Shift-Ctrl-U\": \"redoSelection\", \"Alt-U\": \"redoSelection\",\n\t fallthrough: \"basic\"\n\t}\n\t// Very basic readline/emacs-style bindings, which are standard on Mac.\n\tkeyMap.emacsy = {\n\t \"Ctrl-F\": \"goCharRight\", \"Ctrl-B\": \"goCharLeft\", \"Ctrl-P\": \"goLineUp\", \"Ctrl-N\": \"goLineDown\",\n\t \"Alt-F\": \"goWordRight\", \"Alt-B\": \"goWordLeft\", \"Ctrl-A\": \"goLineStart\", \"Ctrl-E\": \"goLineEnd\",\n\t \"Ctrl-V\": \"goPageDown\", \"Shift-Ctrl-V\": \"goPageUp\", \"Ctrl-D\": \"delCharAfter\", \"Ctrl-H\": \"delCharBefore\",\n\t \"Alt-D\": \"delWordAfter\", \"Alt-Backspace\": \"delWordBefore\", \"Ctrl-K\": \"killLine\", \"Ctrl-T\": \"transposeChars\",\n\t \"Ctrl-O\": \"openLine\"\n\t}\n\tkeyMap.macDefault = {\n\t \"Cmd-A\": \"selectAll\", \"Cmd-D\": \"deleteLine\", \"Cmd-Z\": \"undo\", \"Shift-Cmd-Z\": \"redo\", \"Cmd-Y\": \"redo\",\n\t \"Cmd-Home\": \"goDocStart\", \"Cmd-Up\": \"goDocStart\", \"Cmd-End\": \"goDocEnd\", \"Cmd-Down\": \"goDocEnd\", \"Alt-Left\": \"goGroupLeft\",\n\t \"Alt-Right\": \"goGroupRight\", \"Cmd-Left\": \"goLineLeft\", \"Cmd-Right\": \"goLineRight\", \"Alt-Backspace\": \"delGroupBefore\",\n\t \"Ctrl-Alt-Backspace\": \"delGroupAfter\", \"Alt-Delete\": \"delGroupAfter\", \"Cmd-S\": \"save\", \"Cmd-F\": \"find\",\n\t \"Cmd-G\": \"findNext\", \"Shift-Cmd-G\": \"findPrev\", \"Cmd-Alt-F\": \"replace\", \"Shift-Cmd-Alt-F\": \"replaceAll\",\n\t \"Cmd-[\": \"indentLess\", \"Cmd-]\": \"indentMore\", \"Cmd-Backspace\": \"delWrappedLineLeft\", \"Cmd-Delete\": \"delWrappedLineRight\",\n\t \"Cmd-U\": \"undoSelection\", \"Shift-Cmd-U\": \"redoSelection\", \"Ctrl-Up\": \"goDocStart\", \"Ctrl-Down\": \"goDocEnd\",\n\t fallthrough: [\"basic\", \"emacsy\"]\n\t}\n\tkeyMap[\"default\"] = mac ? keyMap.macDefault : keyMap.pcDefault\n\t\n\t// KEYMAP DISPATCH\n\t\n\tfunction normalizeKeyName(name) {\n\t var parts = name.split(/-(?!$)/)\n\t name = parts[parts.length - 1]\n\t var alt, ctrl, shift, cmd\n\t for (var i = 0; i < parts.length - 1; i++) {\n\t var mod = parts[i]\n\t if (/^(cmd|meta|m)$/i.test(mod)) { cmd = true }\n\t else if (/^a(lt)?$/i.test(mod)) { alt = true }\n\t else if (/^(c|ctrl|control)$/i.test(mod)) { ctrl = true }\n\t else if (/^s(hift)?$/i.test(mod)) { shift = true }\n\t else { throw new Error(\"Unrecognized modifier name: \" + mod) }\n\t }\n\t if (alt) { name = \"Alt-\" + name }\n\t if (ctrl) { name = \"Ctrl-\" + name }\n\t if (cmd) { name = \"Cmd-\" + name }\n\t if (shift) { name = \"Shift-\" + name }\n\t return name\n\t}\n\t\n\t// This is a kludge to keep keymaps mostly working as raw objects\n\t// (backwards compatibility) while at the same time support features\n\t// like normalization and multi-stroke key bindings. It compiles a\n\t// new normalized keymap, and then updates the old object to reflect\n\t// this.\n\tfunction normalizeKeyMap(keymap) {\n\t var copy = {}\n\t for (var keyname in keymap) { if (keymap.hasOwnProperty(keyname)) {\n\t var value = keymap[keyname]\n\t if (/^(name|fallthrough|(de|at)tach)$/.test(keyname)) { continue }\n\t if (value == \"...\") { delete keymap[keyname]; continue }\n\t\n\t var keys = map(keyname.split(\" \"), normalizeKeyName)\n\t for (var i = 0; i < keys.length; i++) {\n\t var val = (void 0), name = (void 0)\n\t if (i == keys.length - 1) {\n\t name = keys.join(\" \")\n\t val = value\n\t } else {\n\t name = keys.slice(0, i + 1).join(\" \")\n\t val = \"...\"\n\t }\n\t var prev = copy[name]\n\t if (!prev) { copy[name] = val }\n\t else if (prev != val) { throw new Error(\"Inconsistent bindings for \" + name) }\n\t }\n\t delete keymap[keyname]\n\t } }\n\t for (var prop in copy) { keymap[prop] = copy[prop] }\n\t return keymap\n\t}\n\t\n\tfunction lookupKey(key, map, handle, context) {\n\t map = getKeyMap(map)\n\t var found = map.call ? map.call(key, context) : map[key]\n\t if (found === false) { return \"nothing\" }\n\t if (found === \"...\") { return \"multi\" }\n\t if (found != null && handle(found)) { return \"handled\" }\n\t\n\t if (map.fallthrough) {\n\t if (Object.prototype.toString.call(map.fallthrough) != \"[object Array]\")\n\t { return lookupKey(key, map.fallthrough, handle, context) }\n\t for (var i = 0; i < map.fallthrough.length; i++) {\n\t var result = lookupKey(key, map.fallthrough[i], handle, context)\n\t if (result) { return result }\n\t }\n\t }\n\t}\n\t\n\t// Modifier key presses don't count as 'real' key presses for the\n\t// purpose of keymap fallthrough.\n\tfunction isModifierKey(value) {\n\t var name = typeof value == \"string\" ? value : keyNames[value.keyCode]\n\t return name == \"Ctrl\" || name == \"Alt\" || name == \"Shift\" || name == \"Mod\"\n\t}\n\t\n\t// Look up the name of a key as indicated by an event object.\n\tfunction keyName(event, noShift) {\n\t if (presto && event.keyCode == 34 && event[\"char\"]) { return false }\n\t var base = keyNames[event.keyCode], name = base\n\t if (name == null || event.altGraphKey) { return false }\n\t if (event.altKey && base != \"Alt\") { name = \"Alt-\" + name }\n\t if ((flipCtrlCmd ? event.metaKey : event.ctrlKey) && base != \"Ctrl\") { name = \"Ctrl-\" + name }\n\t if ((flipCtrlCmd ? event.ctrlKey : event.metaKey) && base != \"Cmd\") { name = \"Cmd-\" + name }\n\t if (!noShift && event.shiftKey && base != \"Shift\") { name = \"Shift-\" + name }\n\t return name\n\t}\n\t\n\tfunction getKeyMap(val) {\n\t return typeof val == \"string\" ? keyMap[val] : val\n\t}\n\t\n\t// Helper for deleting text near the selection(s), used to implement\n\t// backspace, delete, and similar functionality.\n\tfunction deleteNearSelection(cm, compute) {\n\t var ranges = cm.doc.sel.ranges, kill = []\n\t // Build up a set of ranges to kill first, merging overlapping\n\t // ranges.\n\t for (var i = 0; i < ranges.length; i++) {\n\t var toKill = compute(ranges[i])\n\t while (kill.length && cmp(toKill.from, lst(kill).to) <= 0) {\n\t var replaced = kill.pop()\n\t if (cmp(replaced.from, toKill.from) < 0) {\n\t toKill.from = replaced.from\n\t break\n\t }\n\t }\n\t kill.push(toKill)\n\t }\n\t // Next, remove those actual ranges.\n\t runInOp(cm, function () {\n\t for (var i = kill.length - 1; i >= 0; i--)\n\t { replaceRange(cm.doc, \"\", kill[i].from, kill[i].to, \"+delete\") }\n\t ensureCursorVisible(cm)\n\t })\n\t}\n\t\n\t// Commands are parameter-less actions that can be performed on an\n\t// editor, mostly used for keybindings.\n\tvar commands = {\n\t selectAll: selectAll,\n\t singleSelection: function (cm) { return cm.setSelection(cm.getCursor(\"anchor\"), cm.getCursor(\"head\"), sel_dontScroll); },\n\t killLine: function (cm) { return deleteNearSelection(cm, function (range) {\n\t if (range.empty()) {\n\t var len = getLine(cm.doc, range.head.line).text.length\n\t if (range.head.ch == len && range.head.line < cm.lastLine())\n\t { return {from: range.head, to: Pos(range.head.line + 1, 0)} }\n\t else\n\t { return {from: range.head, to: Pos(range.head.line, len)} }\n\t } else {\n\t return {from: range.from(), to: range.to()}\n\t }\n\t }); },\n\t deleteLine: function (cm) { return deleteNearSelection(cm, function (range) { return ({\n\t from: Pos(range.from().line, 0),\n\t to: clipPos(cm.doc, Pos(range.to().line + 1, 0))\n\t }); }); },\n\t delLineLeft: function (cm) { return deleteNearSelection(cm, function (range) { return ({\n\t from: Pos(range.from().line, 0), to: range.from()\n\t }); }); },\n\t delWrappedLineLeft: function (cm) { return deleteNearSelection(cm, function (range) {\n\t var top = cm.charCoords(range.head, \"div\").top + 5\n\t var leftPos = cm.coordsChar({left: 0, top: top}, \"div\")\n\t return {from: leftPos, to: range.from()}\n\t }); },\n\t delWrappedLineRight: function (cm) { return deleteNearSelection(cm, function (range) {\n\t var top = cm.charCoords(range.head, \"div\").top + 5\n\t var rightPos = cm.coordsChar({left: cm.display.lineDiv.offsetWidth + 100, top: top}, \"div\")\n\t return {from: range.from(), to: rightPos }\n\t }); },\n\t undo: function (cm) { return cm.undo(); },\n\t redo: function (cm) { return cm.redo(); },\n\t undoSelection: function (cm) { return cm.undoSelection(); },\n\t redoSelection: function (cm) { return cm.redoSelection(); },\n\t goDocStart: function (cm) { return cm.extendSelection(Pos(cm.firstLine(), 0)); },\n\t goDocEnd: function (cm) { return cm.extendSelection(Pos(cm.lastLine())); },\n\t goLineStart: function (cm) { return cm.extendSelectionsBy(function (range) { return lineStart(cm, range.head.line); },\n\t {origin: \"+move\", bias: 1}\n\t ); },\n\t goLineStartSmart: function (cm) { return cm.extendSelectionsBy(function (range) { return lineStartSmart(cm, range.head); },\n\t {origin: \"+move\", bias: 1}\n\t ); },\n\t goLineEnd: function (cm) { return cm.extendSelectionsBy(function (range) { return lineEnd(cm, range.head.line); },\n\t {origin: \"+move\", bias: -1}\n\t ); },\n\t goLineRight: function (cm) { return cm.extendSelectionsBy(function (range) {\n\t var top = cm.charCoords(range.head, \"div\").top + 5\n\t return cm.coordsChar({left: cm.display.lineDiv.offsetWidth + 100, top: top}, \"div\")\n\t }, sel_move); },\n\t goLineLeft: function (cm) { return cm.extendSelectionsBy(function (range) {\n\t var top = cm.charCoords(range.head, \"div\").top + 5\n\t return cm.coordsChar({left: 0, top: top}, \"div\")\n\t }, sel_move); },\n\t goLineLeftSmart: function (cm) { return cm.extendSelectionsBy(function (range) {\n\t var top = cm.charCoords(range.head, \"div\").top + 5\n\t var pos = cm.coordsChar({left: 0, top: top}, \"div\")\n\t if (pos.ch < cm.getLine(pos.line).search(/\\S/)) { return lineStartSmart(cm, range.head) }\n\t return pos\n\t }, sel_move); },\n\t goLineUp: function (cm) { return cm.moveV(-1, \"line\"); },\n\t goLineDown: function (cm) { return cm.moveV(1, \"line\"); },\n\t goPageUp: function (cm) { return cm.moveV(-1, \"page\"); },\n\t goPageDown: function (cm) { return cm.moveV(1, \"page\"); },\n\t goCharLeft: function (cm) { return cm.moveH(-1, \"char\"); },\n\t goCharRight: function (cm) { return cm.moveH(1, \"char\"); },\n\t goColumnLeft: function (cm) { return cm.moveH(-1, \"column\"); },\n\t goColumnRight: function (cm) { return cm.moveH(1, \"column\"); },\n\t goWordLeft: function (cm) { return cm.moveH(-1, \"word\"); },\n\t goGroupRight: function (cm) { return cm.moveH(1, \"group\"); },\n\t goGroupLeft: function (cm) { return cm.moveH(-1, \"group\"); },\n\t goWordRight: function (cm) { return cm.moveH(1, \"word\"); },\n\t delCharBefore: function (cm) { return cm.deleteH(-1, \"char\"); },\n\t delCharAfter: function (cm) { return cm.deleteH(1, \"char\"); },\n\t delWordBefore: function (cm) { return cm.deleteH(-1, \"word\"); },\n\t delWordAfter: function (cm) { return cm.deleteH(1, \"word\"); },\n\t delGroupBefore: function (cm) { return cm.deleteH(-1, \"group\"); },\n\t delGroupAfter: function (cm) { return cm.deleteH(1, \"group\"); },\n\t indentAuto: function (cm) { return cm.indentSelection(\"smart\"); },\n\t indentMore: function (cm) { return cm.indentSelection(\"add\"); },\n\t indentLess: function (cm) { return cm.indentSelection(\"subtract\"); },\n\t insertTab: function (cm) { return cm.replaceSelection(\"\\t\"); },\n\t insertSoftTab: function (cm) {\n\t var spaces = [], ranges = cm.listSelections(), tabSize = cm.options.tabSize\n\t for (var i = 0; i < ranges.length; i++) {\n\t var pos = ranges[i].from()\n\t var col = countColumn(cm.getLine(pos.line), pos.ch, tabSize)\n\t spaces.push(spaceStr(tabSize - col % tabSize))\n\t }\n\t cm.replaceSelections(spaces)\n\t },\n\t defaultTab: function (cm) {\n\t if (cm.somethingSelected()) { cm.indentSelection(\"add\") }\n\t else { cm.execCommand(\"insertTab\") }\n\t },\n\t // Swap the two chars left and right of each selection's head.\n\t // Move cursor behind the two swapped characters afterwards.\n\t //\n\t // Doesn't consider line feeds a character.\n\t // Doesn't scan more than one line above to find a character.\n\t // Doesn't do anything on an empty line.\n\t // Doesn't do anything with non-empty selections.\n\t transposeChars: function (cm) { return runInOp(cm, function () {\n\t var ranges = cm.listSelections(), newSel = []\n\t for (var i = 0; i < ranges.length; i++) {\n\t if (!ranges[i].empty()) { continue }\n\t var cur = ranges[i].head, line = getLine(cm.doc, cur.line).text\n\t if (line) {\n\t if (cur.ch == line.length) { cur = new Pos(cur.line, cur.ch - 1) }\n\t if (cur.ch > 0) {\n\t cur = new Pos(cur.line, cur.ch + 1)\n\t cm.replaceRange(line.charAt(cur.ch - 1) + line.charAt(cur.ch - 2),\n\t Pos(cur.line, cur.ch - 2), cur, \"+transpose\")\n\t } else if (cur.line > cm.doc.first) {\n\t var prev = getLine(cm.doc, cur.line - 1).text\n\t if (prev) {\n\t cur = new Pos(cur.line, 1)\n\t cm.replaceRange(line.charAt(0) + cm.doc.lineSeparator() +\n\t prev.charAt(prev.length - 1),\n\t Pos(cur.line - 1, prev.length - 1), cur, \"+transpose\")\n\t }\n\t }\n\t }\n\t newSel.push(new Range(cur, cur))\n\t }\n\t cm.setSelections(newSel)\n\t }); },\n\t newlineAndIndent: function (cm) { return runInOp(cm, function () {\n\t var sels = cm.listSelections()\n\t for (var i = sels.length - 1; i >= 0; i--)\n\t { cm.replaceRange(cm.doc.lineSeparator(), sels[i].anchor, sels[i].head, \"+input\") }\n\t sels = cm.listSelections()\n\t for (var i$1 = 0; i$1 < sels.length; i$1++)\n\t { cm.indentLine(sels[i$1].from().line, null, true) }\n\t ensureCursorVisible(cm)\n\t }); },\n\t openLine: function (cm) { return cm.replaceSelection(\"\\n\", \"start\"); },\n\t toggleOverwrite: function (cm) { return cm.toggleOverwrite(); }\n\t}\n\t\n\t\n\tfunction lineStart(cm, lineN) {\n\t var line = getLine(cm.doc, lineN)\n\t var visual = visualLine(line)\n\t if (visual != line) { lineN = lineNo(visual) }\n\t var order = getOrder(visual)\n\t var ch = !order ? 0 : order[0].level % 2 ? lineRight(visual) : lineLeft(visual)\n\t return Pos(lineN, ch)\n\t}\n\tfunction lineEnd(cm, lineN) {\n\t var merged, line = getLine(cm.doc, lineN)\n\t while (merged = collapsedSpanAtEnd(line)) {\n\t line = merged.find(1, true).line\n\t lineN = null\n\t }\n\t var order = getOrder(line)\n\t var ch = !order ? line.text.length : order[0].level % 2 ? lineLeft(line) : lineRight(line)\n\t return Pos(lineN == null ? lineNo(line) : lineN, ch)\n\t}\n\tfunction lineStartSmart(cm, pos) {\n\t var start = lineStart(cm, pos.line)\n\t var line = getLine(cm.doc, start.line)\n\t var order = getOrder(line)\n\t if (!order || order[0].level == 0) {\n\t var firstNonWS = Math.max(0, line.text.search(/\\S/))\n\t var inWS = pos.line == start.line && pos.ch <= firstNonWS && pos.ch\n\t return Pos(start.line, inWS ? 0 : firstNonWS)\n\t }\n\t return start\n\t}\n\t\n\t// Run a handler that was bound to a key.\n\tfunction doHandleBinding(cm, bound, dropShift) {\n\t if (typeof bound == \"string\") {\n\t bound = commands[bound]\n\t if (!bound) { return false }\n\t }\n\t // Ensure previous input has been read, so that the handler sees a\n\t // consistent view of the document\n\t cm.display.input.ensurePolled()\n\t var prevShift = cm.display.shift, done = false\n\t try {\n\t if (cm.isReadOnly()) { cm.state.suppressEdits = true }\n\t if (dropShift) { cm.display.shift = false }\n\t done = bound(cm) != Pass\n\t } finally {\n\t cm.display.shift = prevShift\n\t cm.state.suppressEdits = false\n\t }\n\t return done\n\t}\n\t\n\tfunction lookupKeyForEditor(cm, name, handle) {\n\t for (var i = 0; i < cm.state.keyMaps.length; i++) {\n\t var result = lookupKey(name, cm.state.keyMaps[i], handle, cm)\n\t if (result) { return result }\n\t }\n\t return (cm.options.extraKeys && lookupKey(name, cm.options.extraKeys, handle, cm))\n\t || lookupKey(name, cm.options.keyMap, handle, cm)\n\t}\n\t\n\tvar stopSeq = new Delayed\n\tfunction dispatchKey(cm, name, e, handle) {\n\t var seq = cm.state.keySeq\n\t if (seq) {\n\t if (isModifierKey(name)) { return \"handled\" }\n\t stopSeq.set(50, function () {\n\t if (cm.state.keySeq == seq) {\n\t cm.state.keySeq = null\n\t cm.display.input.reset()\n\t }\n\t })\n\t name = seq + \" \" + name\n\t }\n\t var result = lookupKeyForEditor(cm, name, handle)\n\t\n\t if (result == \"multi\")\n\t { cm.state.keySeq = name }\n\t if (result == \"handled\")\n\t { signalLater(cm, \"keyHandled\", cm, name, e) }\n\t\n\t if (result == \"handled\" || result == \"multi\") {\n\t e_preventDefault(e)\n\t restartBlink(cm)\n\t }\n\t\n\t if (seq && !result && /\\'$/.test(name)) {\n\t e_preventDefault(e)\n\t return true\n\t }\n\t return !!result\n\t}\n\t\n\t// Handle a key from the keydown event.\n\tfunction handleKeyBinding(cm, e) {\n\t var name = keyName(e, true)\n\t if (!name) { return false }\n\t\n\t if (e.shiftKey && !cm.state.keySeq) {\n\t // First try to resolve full name (including 'Shift-'). Failing\n\t // that, see if there is a cursor-motion command (starting with\n\t // 'go') bound to the keyname without 'Shift-'.\n\t return dispatchKey(cm, \"Shift-\" + name, e, function (b) { return doHandleBinding(cm, b, true); })\n\t || dispatchKey(cm, name, e, function (b) {\n\t if (typeof b == \"string\" ? /^go[A-Z]/.test(b) : b.motion)\n\t { return doHandleBinding(cm, b) }\n\t })\n\t } else {\n\t return dispatchKey(cm, name, e, function (b) { return doHandleBinding(cm, b); })\n\t }\n\t}\n\t\n\t// Handle a key from the keypress event\n\tfunction handleCharBinding(cm, e, ch) {\n\t return dispatchKey(cm, \"'\" + ch + \"'\", e, function (b) { return doHandleBinding(cm, b, true); })\n\t}\n\t\n\tvar lastStoppedKey = null\n\tfunction onKeyDown(e) {\n\t var cm = this\n\t cm.curOp.focus = activeElt()\n\t if (signalDOMEvent(cm, e)) { return }\n\t // IE does strange things with escape.\n\t if (ie && ie_version < 11 && e.keyCode == 27) { e.returnValue = false }\n\t var code = e.keyCode\n\t cm.display.shift = code == 16 || e.shiftKey\n\t var handled = handleKeyBinding(cm, e)\n\t if (presto) {\n\t lastStoppedKey = handled ? code : null\n\t // Opera has no cut event... we try to at least catch the key combo\n\t if (!handled && code == 88 && !hasCopyEvent && (mac ? e.metaKey : e.ctrlKey))\n\t { cm.replaceSelection(\"\", null, \"cut\") }\n\t }\n\t\n\t // Turn mouse into crosshair when Alt is held on Mac.\n\t if (code == 18 && !/\\bCodeMirror-crosshair\\b/.test(cm.display.lineDiv.className))\n\t { showCrossHair(cm) }\n\t}\n\t\n\tfunction showCrossHair(cm) {\n\t var lineDiv = cm.display.lineDiv\n\t addClass(lineDiv, \"CodeMirror-crosshair\")\n\t\n\t function up(e) {\n\t if (e.keyCode == 18 || !e.altKey) {\n\t rmClass(lineDiv, \"CodeMirror-crosshair\")\n\t off(document, \"keyup\", up)\n\t off(document, \"mouseover\", up)\n\t }\n\t }\n\t on(document, \"keyup\", up)\n\t on(document, \"mouseover\", up)\n\t}\n\t\n\tfunction onKeyUp(e) {\n\t if (e.keyCode == 16) { this.doc.sel.shift = false }\n\t signalDOMEvent(this, e)\n\t}\n\t\n\tfunction onKeyPress(e) {\n\t var cm = this\n\t if (eventInWidget(cm.display, e) || signalDOMEvent(cm, e) || e.ctrlKey && !e.altKey || mac && e.metaKey) { return }\n\t var keyCode = e.keyCode, charCode = e.charCode\n\t if (presto && keyCode == lastStoppedKey) {lastStoppedKey = null; e_preventDefault(e); return}\n\t if ((presto && (!e.which || e.which < 10)) && handleKeyBinding(cm, e)) { return }\n\t var ch = String.fromCharCode(charCode == null ? keyCode : charCode)\n\t // Some browsers fire keypress events for backspace\n\t if (ch == \"\\x08\") { return }\n\t if (handleCharBinding(cm, e, ch)) { return }\n\t cm.display.input.onKeyPress(e)\n\t}\n\t\n\t// A mouse down can be a single click, double click, triple click,\n\t// start of selection drag, start of text drag, new cursor\n\t// (ctrl-click), rectangle drag (alt-drag), or xwin\n\t// middle-click-paste. Or it might be a click on something we should\n\t// not interfere with, such as a scrollbar or widget.\n\tfunction onMouseDown(e) {\n\t var cm = this, display = cm.display\n\t if (signalDOMEvent(cm, e) || display.activeTouch && display.input.supportsTouch()) { return }\n\t display.input.ensurePolled()\n\t display.shift = e.shiftKey\n\t\n\t if (eventInWidget(display, e)) {\n\t if (!webkit) {\n\t // Briefly turn off draggability, to allow widgets to do\n\t // normal dragging things.\n\t display.scroller.draggable = false\n\t setTimeout(function () { return display.scroller.draggable = true; }, 100)\n\t }\n\t return\n\t }\n\t if (clickInGutter(cm, e)) { return }\n\t var start = posFromMouse(cm, e)\n\t window.focus()\n\t\n\t switch (e_button(e)) {\n\t case 1:\n\t // #3261: make sure, that we're not starting a second selection\n\t if (cm.state.selectingText)\n\t { cm.state.selectingText(e) }\n\t else if (start)\n\t { leftButtonDown(cm, e, start) }\n\t else if (e_target(e) == display.scroller)\n\t { e_preventDefault(e) }\n\t break\n\t case 2:\n\t if (webkit) { cm.state.lastMiddleDown = +new Date }\n\t if (start) { extendSelection(cm.doc, start) }\n\t setTimeout(function () { return display.input.focus(); }, 20)\n\t e_preventDefault(e)\n\t break\n\t case 3:\n\t if (captureRightClick) { onContextMenu(cm, e) }\n\t else { delayBlurEvent(cm) }\n\t break\n\t }\n\t}\n\t\n\tvar lastClick;\n\tvar lastDoubleClick;\n\tfunction leftButtonDown(cm, e, start) {\n\t if (ie) { setTimeout(bind(ensureFocus, cm), 0) }\n\t else { cm.curOp.focus = activeElt() }\n\t\n\t var now = +new Date, type\n\t if (lastDoubleClick && lastDoubleClick.time > now - 400 && cmp(lastDoubleClick.pos, start) == 0) {\n\t type = \"triple\"\n\t } else if (lastClick && lastClick.time > now - 400 && cmp(lastClick.pos, start) == 0) {\n\t type = \"double\"\n\t lastDoubleClick = {time: now, pos: start}\n\t } else {\n\t type = \"single\"\n\t lastClick = {time: now, pos: start}\n\t }\n\t\n\t var sel = cm.doc.sel, modifier = mac ? e.metaKey : e.ctrlKey, contained\n\t if (cm.options.dragDrop && dragAndDrop && !cm.isReadOnly() &&\n\t type == \"single\" && (contained = sel.contains(start)) > -1 &&\n\t (cmp((contained = sel.ranges[contained]).from(), start) < 0 || start.xRel > 0) &&\n\t (cmp(contained.to(), start) > 0 || start.xRel < 0))\n\t { leftButtonStartDrag(cm, e, start, modifier) }\n\t else\n\t { leftButtonSelect(cm, e, start, type, modifier) }\n\t}\n\t\n\t// Start a text drag. When it ends, see if any dragging actually\n\t// happen, and treat as a click if it didn't.\n\tfunction leftButtonStartDrag(cm, e, start, modifier) {\n\t var display = cm.display, startTime = +new Date\n\t var dragEnd = operation(cm, function (e2) {\n\t if (webkit) { display.scroller.draggable = false }\n\t cm.state.draggingText = false\n\t off(document, \"mouseup\", dragEnd)\n\t off(display.scroller, \"drop\", dragEnd)\n\t if (Math.abs(e.clientX - e2.clientX) + Math.abs(e.clientY - e2.clientY) < 10) {\n\t e_preventDefault(e2)\n\t if (!modifier && +new Date - 200 < startTime)\n\t { extendSelection(cm.doc, start) }\n\t // Work around unexplainable focus problem in IE9 (#2127) and Chrome (#3081)\n\t if (webkit || ie && ie_version == 9)\n\t { setTimeout(function () {document.body.focus(); display.input.focus()}, 20) }\n\t else\n\t { display.input.focus() }\n\t }\n\t })\n\t // Let the drag handler handle this.\n\t if (webkit) { display.scroller.draggable = true }\n\t cm.state.draggingText = dragEnd\n\t dragEnd.copy = mac ? e.altKey : e.ctrlKey\n\t // IE's approach to draggable\n\t if (display.scroller.dragDrop) { display.scroller.dragDrop() }\n\t on(document, \"mouseup\", dragEnd)\n\t on(display.scroller, \"drop\", dragEnd)\n\t}\n\t\n\t// Normal selection, as opposed to text dragging.\n\tfunction leftButtonSelect(cm, e, start, type, addNew) {\n\t var display = cm.display, doc = cm.doc\n\t e_preventDefault(e)\n\t\n\t var ourRange, ourIndex, startSel = doc.sel, ranges = startSel.ranges\n\t if (addNew && !e.shiftKey) {\n\t ourIndex = doc.sel.contains(start)\n\t if (ourIndex > -1)\n\t { ourRange = ranges[ourIndex] }\n\t else\n\t { ourRange = new Range(start, start) }\n\t } else {\n\t ourRange = doc.sel.primary()\n\t ourIndex = doc.sel.primIndex\n\t }\n\t\n\t if (chromeOS ? e.shiftKey && e.metaKey : e.altKey) {\n\t type = \"rect\"\n\t if (!addNew) { ourRange = new Range(start, start) }\n\t start = posFromMouse(cm, e, true, true)\n\t ourIndex = -1\n\t } else if (type == \"double\") {\n\t var word = cm.findWordAt(start)\n\t if (cm.display.shift || doc.extend)\n\t { ourRange = extendRange(doc, ourRange, word.anchor, word.head) }\n\t else\n\t { ourRange = word }\n\t } else if (type == \"triple\") {\n\t var line = new Range(Pos(start.line, 0), clipPos(doc, Pos(start.line + 1, 0)))\n\t if (cm.display.shift || doc.extend)\n\t { ourRange = extendRange(doc, ourRange, line.anchor, line.head) }\n\t else\n\t { ourRange = line }\n\t } else {\n\t ourRange = extendRange(doc, ourRange, start)\n\t }\n\t\n\t if (!addNew) {\n\t ourIndex = 0\n\t setSelection(doc, new Selection([ourRange], 0), sel_mouse)\n\t startSel = doc.sel\n\t } else if (ourIndex == -1) {\n\t ourIndex = ranges.length\n\t setSelection(doc, normalizeSelection(ranges.concat([ourRange]), ourIndex),\n\t {scroll: false, origin: \"*mouse\"})\n\t } else if (ranges.length > 1 && ranges[ourIndex].empty() && type == \"single\" && !e.shiftKey) {\n\t setSelection(doc, normalizeSelection(ranges.slice(0, ourIndex).concat(ranges.slice(ourIndex + 1)), 0),\n\t {scroll: false, origin: \"*mouse\"})\n\t startSel = doc.sel\n\t } else {\n\t replaceOneSelection(doc, ourIndex, ourRange, sel_mouse)\n\t }\n\t\n\t var lastPos = start\n\t function extendTo(pos) {\n\t if (cmp(lastPos, pos) == 0) { return }\n\t lastPos = pos\n\t\n\t if (type == \"rect\") {\n\t var ranges = [], tabSize = cm.options.tabSize\n\t var startCol = countColumn(getLine(doc, start.line).text, start.ch, tabSize)\n\t var posCol = countColumn(getLine(doc, pos.line).text, pos.ch, tabSize)\n\t var left = Math.min(startCol, posCol), right = Math.max(startCol, posCol)\n\t for (var line = Math.min(start.line, pos.line), end = Math.min(cm.lastLine(), Math.max(start.line, pos.line));\n\t line <= end; line++) {\n\t var text = getLine(doc, line).text, leftPos = findColumn(text, left, tabSize)\n\t if (left == right)\n\t { ranges.push(new Range(Pos(line, leftPos), Pos(line, leftPos))) }\n\t else if (text.length > leftPos)\n\t { ranges.push(new Range(Pos(line, leftPos), Pos(line, findColumn(text, right, tabSize)))) }\n\t }\n\t if (!ranges.length) { ranges.push(new Range(start, start)) }\n\t setSelection(doc, normalizeSelection(startSel.ranges.slice(0, ourIndex).concat(ranges), ourIndex),\n\t {origin: \"*mouse\", scroll: false})\n\t cm.scrollIntoView(pos)\n\t } else {\n\t var oldRange = ourRange\n\t var anchor = oldRange.anchor, head = pos\n\t if (type != \"single\") {\n\t var range\n\t if (type == \"double\")\n\t { range = cm.findWordAt(pos) }\n\t else\n\t { range = new Range(Pos(pos.line, 0), clipPos(doc, Pos(pos.line + 1, 0))) }\n\t if (cmp(range.anchor, anchor) > 0) {\n\t head = range.head\n\t anchor = minPos(oldRange.from(), range.anchor)\n\t } else {\n\t head = range.anchor\n\t anchor = maxPos(oldRange.to(), range.head)\n\t }\n\t }\n\t var ranges$1 = startSel.ranges.slice(0)\n\t ranges$1[ourIndex] = new Range(clipPos(doc, anchor), head)\n\t setSelection(doc, normalizeSelection(ranges$1, ourIndex), sel_mouse)\n\t }\n\t }\n\t\n\t var editorSize = display.wrapper.getBoundingClientRect()\n\t // Used to ensure timeout re-tries don't fire when another extend\n\t // happened in the meantime (clearTimeout isn't reliable -- at\n\t // least on Chrome, the timeouts still happen even when cleared,\n\t // if the clear happens after their scheduled firing time).\n\t var counter = 0\n\t\n\t function extend(e) {\n\t var curCount = ++counter\n\t var cur = posFromMouse(cm, e, true, type == \"rect\")\n\t if (!cur) { return }\n\t if (cmp(cur, lastPos) != 0) {\n\t cm.curOp.focus = activeElt()\n\t extendTo(cur)\n\t var visible = visibleLines(display, doc)\n\t if (cur.line >= visible.to || cur.line < visible.from)\n\t { setTimeout(operation(cm, function () {if (counter == curCount) { extend(e) }}), 150) }\n\t } else {\n\t var outside = e.clientY < editorSize.top ? -20 : e.clientY > editorSize.bottom ? 20 : 0\n\t if (outside) { setTimeout(operation(cm, function () {\n\t if (counter != curCount) { return }\n\t display.scroller.scrollTop += outside\n\t extend(e)\n\t }), 50) }\n\t }\n\t }\n\t\n\t function done(e) {\n\t cm.state.selectingText = false\n\t counter = Infinity\n\t e_preventDefault(e)\n\t display.input.focus()\n\t off(document, \"mousemove\", move)\n\t off(document, \"mouseup\", up)\n\t doc.history.lastSelOrigin = null\n\t }\n\t\n\t var move = operation(cm, function (e) {\n\t if (!e_button(e)) { done(e) }\n\t else { extend(e) }\n\t })\n\t var up = operation(cm, done)\n\t cm.state.selectingText = up\n\t on(document, \"mousemove\", move)\n\t on(document, \"mouseup\", up)\n\t}\n\t\n\t\n\t// Determines whether an event happened in the gutter, and fires the\n\t// handlers for the corresponding event.\n\tfunction gutterEvent(cm, e, type, prevent) {\n\t var mX, mY\n\t try { mX = e.clientX; mY = e.clientY }\n\t catch(e) { return false }\n\t if (mX >= Math.floor(cm.display.gutters.getBoundingClientRect().right)) { return false }\n\t if (prevent) { e_preventDefault(e) }\n\t\n\t var display = cm.display\n\t var lineBox = display.lineDiv.getBoundingClientRect()\n\t\n\t if (mY > lineBox.bottom || !hasHandler(cm, type)) { return e_defaultPrevented(e) }\n\t mY -= lineBox.top - display.viewOffset\n\t\n\t for (var i = 0; i < cm.options.gutters.length; ++i) {\n\t var g = display.gutters.childNodes[i]\n\t if (g && g.getBoundingClientRect().right >= mX) {\n\t var line = lineAtHeight(cm.doc, mY)\n\t var gutter = cm.options.gutters[i]\n\t signal(cm, type, cm, line, gutter, e)\n\t return e_defaultPrevented(e)\n\t }\n\t }\n\t}\n\t\n\tfunction clickInGutter(cm, e) {\n\t return gutterEvent(cm, e, \"gutterClick\", true)\n\t}\n\t\n\t// CONTEXT MENU HANDLING\n\t\n\t// To make the context menu work, we need to briefly unhide the\n\t// textarea (making it as unobtrusive as possible) to let the\n\t// right-click take effect on it.\n\tfunction onContextMenu(cm, e) {\n\t if (eventInWidget(cm.display, e) || contextMenuInGutter(cm, e)) { return }\n\t if (signalDOMEvent(cm, e, \"contextmenu\")) { return }\n\t cm.display.input.onContextMenu(e)\n\t}\n\t\n\tfunction contextMenuInGutter(cm, e) {\n\t if (!hasHandler(cm, \"gutterContextMenu\")) { return false }\n\t return gutterEvent(cm, e, \"gutterContextMenu\", false)\n\t}\n\t\n\tfunction themeChanged(cm) {\n\t cm.display.wrapper.className = cm.display.wrapper.className.replace(/\\s*cm-s-\\S+/g, \"\") +\n\t cm.options.theme.replace(/(^|\\s)\\s*/g, \" cm-s-\")\n\t clearCaches(cm)\n\t}\n\t\n\tvar Init = {toString: function(){return \"CodeMirror.Init\"}}\n\t\n\tvar defaults = {}\n\tvar optionHandlers = {}\n\t\n\tfunction defineOptions(CodeMirror) {\n\t var optionHandlers = CodeMirror.optionHandlers\n\t\n\t function option(name, deflt, handle, notOnInit) {\n\t CodeMirror.defaults[name] = deflt\n\t if (handle) { optionHandlers[name] =\n\t notOnInit ? function (cm, val, old) {if (old != Init) { handle(cm, val, old) }} : handle }\n\t }\n\t\n\t CodeMirror.defineOption = option\n\t\n\t // Passed to option handlers when there is no old value.\n\t CodeMirror.Init = Init\n\t\n\t // These two are, on init, called from the constructor because they\n\t // have to be initialized before the editor can start at all.\n\t option(\"value\", \"\", function (cm, val) { return cm.setValue(val); }, true)\n\t option(\"mode\", null, function (cm, val) {\n\t cm.doc.modeOption = val\n\t loadMode(cm)\n\t }, true)\n\t\n\t option(\"indentUnit\", 2, loadMode, true)\n\t option(\"indentWithTabs\", false)\n\t option(\"smartIndent\", true)\n\t option(\"tabSize\", 4, function (cm) {\n\t resetModeState(cm)\n\t clearCaches(cm)\n\t regChange(cm)\n\t }, true)\n\t option(\"lineSeparator\", null, function (cm, val) {\n\t cm.doc.lineSep = val\n\t if (!val) { return }\n\t var newBreaks = [], lineNo = cm.doc.first\n\t cm.doc.iter(function (line) {\n\t for (var pos = 0;;) {\n\t var found = line.text.indexOf(val, pos)\n\t if (found == -1) { break }\n\t pos = found + val.length\n\t newBreaks.push(Pos(lineNo, found))\n\t }\n\t lineNo++\n\t })\n\t for (var i = newBreaks.length - 1; i >= 0; i--)\n\t { replaceRange(cm.doc, val, newBreaks[i], Pos(newBreaks[i].line, newBreaks[i].ch + val.length)) }\n\t })\n\t option(\"specialChars\", /[\\u0000-\\u001f\\u007f\\u00ad\\u061c\\u200b-\\u200f\\u2028\\u2029\\ufeff]/g, function (cm, val, old) {\n\t cm.state.specialChars = new RegExp(val.source + (val.test(\"\\t\") ? \"\" : \"|\\t\"), \"g\")\n\t if (old != Init) { cm.refresh() }\n\t })\n\t option(\"specialCharPlaceholder\", defaultSpecialCharPlaceholder, function (cm) { return cm.refresh(); }, true)\n\t option(\"electricChars\", true)\n\t option(\"inputStyle\", mobile ? \"contenteditable\" : \"textarea\", function () {\n\t throw new Error(\"inputStyle can not (yet) be changed in a running editor\") // FIXME\n\t }, true)\n\t option(\"spellcheck\", false, function (cm, val) { return cm.getInputField().spellcheck = val; }, true)\n\t option(\"rtlMoveVisually\", !windows)\n\t option(\"wholeLineUpdateBefore\", true)\n\t\n\t option(\"theme\", \"default\", function (cm) {\n\t themeChanged(cm)\n\t guttersChanged(cm)\n\t }, true)\n\t option(\"keyMap\", \"default\", function (cm, val, old) {\n\t var next = getKeyMap(val)\n\t var prev = old != Init && getKeyMap(old)\n\t if (prev && prev.detach) { prev.detach(cm, next) }\n\t if (next.attach) { next.attach(cm, prev || null) }\n\t })\n\t option(\"extraKeys\", null)\n\t\n\t option(\"lineWrapping\", false, wrappingChanged, true)\n\t option(\"gutters\", [], function (cm) {\n\t setGuttersForLineNumbers(cm.options)\n\t guttersChanged(cm)\n\t }, true)\n\t option(\"fixedGutter\", true, function (cm, val) {\n\t cm.display.gutters.style.left = val ? compensateForHScroll(cm.display) + \"px\" : \"0\"\n\t cm.refresh()\n\t }, true)\n\t option(\"coverGutterNextToScrollbar\", false, function (cm) { return updateScrollbars(cm); }, true)\n\t option(\"scrollbarStyle\", \"native\", function (cm) {\n\t initScrollbars(cm)\n\t updateScrollbars(cm)\n\t cm.display.scrollbars.setScrollTop(cm.doc.scrollTop)\n\t cm.display.scrollbars.setScrollLeft(cm.doc.scrollLeft)\n\t }, true)\n\t option(\"lineNumbers\", false, function (cm) {\n\t setGuttersForLineNumbers(cm.options)\n\t guttersChanged(cm)\n\t }, true)\n\t option(\"firstLineNumber\", 1, guttersChanged, true)\n\t option(\"lineNumberFormatter\", function (integer) { return integer; }, guttersChanged, true)\n\t option(\"showCursorWhenSelecting\", false, updateSelection, true)\n\t\n\t option(\"resetSelectionOnContextMenu\", true)\n\t option(\"lineWiseCopyCut\", true)\n\t\n\t option(\"readOnly\", false, function (cm, val) {\n\t if (val == \"nocursor\") {\n\t onBlur(cm)\n\t cm.display.input.blur()\n\t cm.display.disabled = true\n\t } else {\n\t cm.display.disabled = false\n\t }\n\t cm.display.input.readOnlyChanged(val)\n\t })\n\t option(\"disableInput\", false, function (cm, val) {if (!val) { cm.display.input.reset() }}, true)\n\t option(\"dragDrop\", true, dragDropChanged)\n\t option(\"allowDropFileTypes\", null)\n\t\n\t option(\"cursorBlinkRate\", 530)\n\t option(\"cursorScrollMargin\", 0)\n\t option(\"cursorHeight\", 1, updateSelection, true)\n\t option(\"singleCursorHeightPerLine\", true, updateSelection, true)\n\t option(\"workTime\", 100)\n\t option(\"workDelay\", 100)\n\t option(\"flattenSpans\", true, resetModeState, true)\n\t option(\"addModeClass\", false, resetModeState, true)\n\t option(\"pollInterval\", 100)\n\t option(\"undoDepth\", 200, function (cm, val) { return cm.doc.history.undoDepth = val; })\n\t option(\"historyEventDelay\", 1250)\n\t option(\"viewportMargin\", 10, function (cm) { return cm.refresh(); }, true)\n\t option(\"maxHighlightLength\", 10000, resetModeState, true)\n\t option(\"moveInputWithCursor\", true, function (cm, val) {\n\t if (!val) { cm.display.input.resetPosition() }\n\t })\n\t\n\t option(\"tabindex\", null, function (cm, val) { return cm.display.input.getField().tabIndex = val || \"\"; })\n\t option(\"autofocus\", null)\n\t}\n\t\n\tfunction guttersChanged(cm) {\n\t updateGutters(cm)\n\t regChange(cm)\n\t alignHorizontally(cm)\n\t}\n\t\n\tfunction dragDropChanged(cm, value, old) {\n\t var wasOn = old && old != Init\n\t if (!value != !wasOn) {\n\t var funcs = cm.display.dragFunctions\n\t var toggle = value ? on : off\n\t toggle(cm.display.scroller, \"dragstart\", funcs.start)\n\t toggle(cm.display.scroller, \"dragenter\", funcs.enter)\n\t toggle(cm.display.scroller, \"dragover\", funcs.over)\n\t toggle(cm.display.scroller, \"dragleave\", funcs.leave)\n\t toggle(cm.display.scroller, \"drop\", funcs.drop)\n\t }\n\t}\n\t\n\tfunction wrappingChanged(cm) {\n\t if (cm.options.lineWrapping) {\n\t addClass(cm.display.wrapper, \"CodeMirror-wrap\")\n\t cm.display.sizer.style.minWidth = \"\"\n\t cm.display.sizerWidth = null\n\t } else {\n\t rmClass(cm.display.wrapper, \"CodeMirror-wrap\")\n\t findMaxLine(cm)\n\t }\n\t estimateLineHeights(cm)\n\t regChange(cm)\n\t clearCaches(cm)\n\t setTimeout(function () { return updateScrollbars(cm); }, 100)\n\t}\n\t\n\t// A CodeMirror instance represents an editor. This is the object\n\t// that user code is usually dealing with.\n\t\n\tfunction CodeMirror(place, options) {\n\t var this$1 = this;\n\t\n\t if (!(this instanceof CodeMirror)) { return new CodeMirror(place, options) }\n\t\n\t this.options = options = options ? copyObj(options) : {}\n\t // Determine effective options based on given values and defaults.\n\t copyObj(defaults, options, false)\n\t setGuttersForLineNumbers(options)\n\t\n\t var doc = options.value\n\t if (typeof doc == \"string\") { doc = new Doc(doc, options.mode, null, options.lineSeparator) }\n\t this.doc = doc\n\t\n\t var input = new CodeMirror.inputStyles[options.inputStyle](this)\n\t var display = this.display = new Display(place, doc, input)\n\t display.wrapper.CodeMirror = this\n\t updateGutters(this)\n\t themeChanged(this)\n\t if (options.lineWrapping)\n\t { this.display.wrapper.className += \" CodeMirror-wrap\" }\n\t initScrollbars(this)\n\t\n\t this.state = {\n\t keyMaps: [], // stores maps added by addKeyMap\n\t overlays: [], // highlighting overlays, as added by addOverlay\n\t modeGen: 0, // bumped when mode/overlay changes, used to invalidate highlighting info\n\t overwrite: false,\n\t delayingBlurEvent: false,\n\t focused: false,\n\t suppressEdits: false, // used to disable editing during key handlers when in readOnly mode\n\t pasteIncoming: false, cutIncoming: false, // help recognize paste/cut edits in input.poll\n\t selectingText: false,\n\t draggingText: false,\n\t highlight: new Delayed(), // stores highlight worker timeout\n\t keySeq: null, // Unfinished key sequence\n\t specialChars: null\n\t }\n\t\n\t if (options.autofocus && !mobile) { display.input.focus() }\n\t\n\t // Override magic textarea content restore that IE sometimes does\n\t // on our hidden textarea on reload\n\t if (ie && ie_version < 11) { setTimeout(function () { return this$1.display.input.reset(true); }, 20) }\n\t\n\t registerEventHandlers(this)\n\t ensureGlobalHandlers()\n\t\n\t startOperation(this)\n\t this.curOp.forceUpdate = true\n\t attachDoc(this, doc)\n\t\n\t if ((options.autofocus && !mobile) || this.hasFocus())\n\t { setTimeout(bind(onFocus, this), 20) }\n\t else\n\t { onBlur(this) }\n\t\n\t for (var opt in optionHandlers) { if (optionHandlers.hasOwnProperty(opt))\n\t { optionHandlers[opt](this$1, options[opt], Init) } }\n\t maybeUpdateLineNumberWidth(this)\n\t if (options.finishInit) { options.finishInit(this) }\n\t for (var i = 0; i < initHooks.length; ++i) { initHooks[i](this$1) }\n\t endOperation(this)\n\t // Suppress optimizelegibility in Webkit, since it breaks text\n\t // measuring on line wrapping boundaries.\n\t if (webkit && options.lineWrapping &&\n\t getComputedStyle(display.lineDiv).textRendering == \"optimizelegibility\")\n\t { display.lineDiv.style.textRendering = \"auto\" }\n\t}\n\t\n\t// The default configuration options.\n\tCodeMirror.defaults = defaults\n\t// Functions to run when options are changed.\n\tCodeMirror.optionHandlers = optionHandlers\n\t\n\t// Attach the necessary event handlers when initializing the editor\n\tfunction registerEventHandlers(cm) {\n\t var d = cm.display\n\t on(d.scroller, \"mousedown\", operation(cm, onMouseDown))\n\t // Older IE's will not fire a second mousedown for a double click\n\t if (ie && ie_version < 11)\n\t { on(d.scroller, \"dblclick\", operation(cm, function (e) {\n\t if (signalDOMEvent(cm, e)) { return }\n\t var pos = posFromMouse(cm, e)\n\t if (!pos || clickInGutter(cm, e) || eventInWidget(cm.display, e)) { return }\n\t e_preventDefault(e)\n\t var word = cm.findWordAt(pos)\n\t extendSelection(cm.doc, word.anchor, word.head)\n\t })) }\n\t else\n\t { on(d.scroller, \"dblclick\", function (e) { return signalDOMEvent(cm, e) || e_preventDefault(e); }) }\n\t // Some browsers fire contextmenu *after* opening the menu, at\n\t // which point we can't mess with it anymore. Context menu is\n\t // handled in onMouseDown for these browsers.\n\t if (!captureRightClick) { on(d.scroller, \"contextmenu\", function (e) { return onContextMenu(cm, e); }) }\n\t\n\t // Used to suppress mouse event handling when a touch happens\n\t var touchFinished, prevTouch = {end: 0}\n\t function finishTouch() {\n\t if (d.activeTouch) {\n\t touchFinished = setTimeout(function () { return d.activeTouch = null; }, 1000)\n\t prevTouch = d.activeTouch\n\t prevTouch.end = +new Date\n\t }\n\t }\n\t function isMouseLikeTouchEvent(e) {\n\t if (e.touches.length != 1) { return false }\n\t var touch = e.touches[0]\n\t return touch.radiusX <= 1 && touch.radiusY <= 1\n\t }\n\t function farAway(touch, other) {\n\t if (other.left == null) { return true }\n\t var dx = other.left - touch.left, dy = other.top - touch.top\n\t return dx * dx + dy * dy > 20 * 20\n\t }\n\t on(d.scroller, \"touchstart\", function (e) {\n\t if (!signalDOMEvent(cm, e) && !isMouseLikeTouchEvent(e)) {\n\t d.input.ensurePolled()\n\t clearTimeout(touchFinished)\n\t var now = +new Date\n\t d.activeTouch = {start: now, moved: false,\n\t prev: now - prevTouch.end <= 300 ? prevTouch : null}\n\t if (e.touches.length == 1) {\n\t d.activeTouch.left = e.touches[0].pageX\n\t d.activeTouch.top = e.touches[0].pageY\n\t }\n\t }\n\t })\n\t on(d.scroller, \"touchmove\", function () {\n\t if (d.activeTouch) { d.activeTouch.moved = true }\n\t })\n\t on(d.scroller, \"touchend\", function (e) {\n\t var touch = d.activeTouch\n\t if (touch && !eventInWidget(d, e) && touch.left != null &&\n\t !touch.moved && new Date - touch.start < 300) {\n\t var pos = cm.coordsChar(d.activeTouch, \"page\"), range\n\t if (!touch.prev || farAway(touch, touch.prev)) // Single tap\n\t { range = new Range(pos, pos) }\n\t else if (!touch.prev.prev || farAway(touch, touch.prev.prev)) // Double tap\n\t { range = cm.findWordAt(pos) }\n\t else // Triple tap\n\t { range = new Range(Pos(pos.line, 0), clipPos(cm.doc, Pos(pos.line + 1, 0))) }\n\t cm.setSelection(range.anchor, range.head)\n\t cm.focus()\n\t e_preventDefault(e)\n\t }\n\t finishTouch()\n\t })\n\t on(d.scroller, \"touchcancel\", finishTouch)\n\t\n\t // Sync scrolling between fake scrollbars and real scrollable\n\t // area, ensure viewport is updated when scrolling.\n\t on(d.scroller, \"scroll\", function () {\n\t if (d.scroller.clientHeight) {\n\t setScrollTop(cm, d.scroller.scrollTop)\n\t setScrollLeft(cm, d.scroller.scrollLeft, true)\n\t signal(cm, \"scroll\", cm)\n\t }\n\t })\n\t\n\t // Listen to wheel events in order to try and update the viewport on time.\n\t on(d.scroller, \"mousewheel\", function (e) { return onScrollWheel(cm, e); })\n\t on(d.scroller, \"DOMMouseScroll\", function (e) { return onScrollWheel(cm, e); })\n\t\n\t // Prevent wrapper from ever scrolling\n\t on(d.wrapper, \"scroll\", function () { return d.wrapper.scrollTop = d.wrapper.scrollLeft = 0; })\n\t\n\t d.dragFunctions = {\n\t enter: function (e) {if (!signalDOMEvent(cm, e)) { e_stop(e) }},\n\t over: function (e) {if (!signalDOMEvent(cm, e)) { onDragOver(cm, e); e_stop(e) }},\n\t start: function (e) { return onDragStart(cm, e); },\n\t drop: operation(cm, onDrop),\n\t leave: function (e) {if (!signalDOMEvent(cm, e)) { clearDragCursor(cm) }}\n\t }\n\t\n\t var inp = d.input.getField()\n\t on(inp, \"keyup\", function (e) { return onKeyUp.call(cm, e); })\n\t on(inp, \"keydown\", operation(cm, onKeyDown))\n\t on(inp, \"keypress\", operation(cm, onKeyPress))\n\t on(inp, \"focus\", function (e) { return onFocus(cm, e); })\n\t on(inp, \"blur\", function (e) { return onBlur(cm, e); })\n\t}\n\t\n\tvar initHooks = []\n\tCodeMirror.defineInitHook = function (f) { return initHooks.push(f); }\n\t\n\t// Indent the given line. The how parameter can be \"smart\",\n\t// \"add\"/null, \"subtract\", or \"prev\". When aggressive is false\n\t// (typically set to true for forced single-line indents), empty\n\t// lines are not indented, and places where the mode returns Pass\n\t// are left alone.\n\tfunction indentLine(cm, n, how, aggressive) {\n\t var doc = cm.doc, state\n\t if (how == null) { how = \"add\" }\n\t if (how == \"smart\") {\n\t // Fall back to \"prev\" when the mode doesn't have an indentation\n\t // method.\n\t if (!doc.mode.indent) { how = \"prev\" }\n\t else { state = getStateBefore(cm, n) }\n\t }\n\t\n\t var tabSize = cm.options.tabSize\n\t var line = getLine(doc, n), curSpace = countColumn(line.text, null, tabSize)\n\t if (line.stateAfter) { line.stateAfter = null }\n\t var curSpaceString = line.text.match(/^\\s*/)[0], indentation\n\t if (!aggressive && !/\\S/.test(line.text)) {\n\t indentation = 0\n\t how = \"not\"\n\t } else if (how == \"smart\") {\n\t indentation = doc.mode.indent(state, line.text.slice(curSpaceString.length), line.text)\n\t if (indentation == Pass || indentation > 150) {\n\t if (!aggressive) { return }\n\t how = \"prev\"\n\t }\n\t }\n\t if (how == \"prev\") {\n\t if (n > doc.first) { indentation = countColumn(getLine(doc, n-1).text, null, tabSize) }\n\t else { indentation = 0 }\n\t } else if (how == \"add\") {\n\t indentation = curSpace + cm.options.indentUnit\n\t } else if (how == \"subtract\") {\n\t indentation = curSpace - cm.options.indentUnit\n\t } else if (typeof how == \"number\") {\n\t indentation = curSpace + how\n\t }\n\t indentation = Math.max(0, indentation)\n\t\n\t var indentString = \"\", pos = 0\n\t if (cm.options.indentWithTabs)\n\t { for (var i = Math.floor(indentation / tabSize); i; --i) {pos += tabSize; indentString += \"\\t\"} }\n\t if (pos < indentation) { indentString += spaceStr(indentation - pos) }\n\t\n\t if (indentString != curSpaceString) {\n\t replaceRange(doc, indentString, Pos(n, 0), Pos(n, curSpaceString.length), \"+input\")\n\t line.stateAfter = null\n\t return true\n\t } else {\n\t // Ensure that, if the cursor was in the whitespace at the start\n\t // of the line, it is moved to the end of that space.\n\t for (var i$1 = 0; i$1 < doc.sel.ranges.length; i$1++) {\n\t var range = doc.sel.ranges[i$1]\n\t if (range.head.line == n && range.head.ch < curSpaceString.length) {\n\t var pos$1 = Pos(n, curSpaceString.length)\n\t replaceOneSelection(doc, i$1, new Range(pos$1, pos$1))\n\t break\n\t }\n\t }\n\t }\n\t}\n\t\n\t// This will be set to a {lineWise: bool, text: [string]} object, so\n\t// that, when pasting, we know what kind of selections the copied\n\t// text was made out of.\n\tvar lastCopied = null\n\t\n\tfunction setLastCopied(newLastCopied) {\n\t lastCopied = newLastCopied\n\t}\n\t\n\tfunction applyTextInput(cm, inserted, deleted, sel, origin) {\n\t var doc = cm.doc\n\t cm.display.shift = false\n\t if (!sel) { sel = doc.sel }\n\t\n\t var paste = cm.state.pasteIncoming || origin == \"paste\"\n\t var textLines = splitLinesAuto(inserted), multiPaste = null\n\t // When pasing N lines into N selections, insert one line per selection\n\t if (paste && sel.ranges.length > 1) {\n\t if (lastCopied && lastCopied.text.join(\"\\n\") == inserted) {\n\t if (sel.ranges.length % lastCopied.text.length == 0) {\n\t multiPaste = []\n\t for (var i = 0; i < lastCopied.text.length; i++)\n\t { multiPaste.push(doc.splitLines(lastCopied.text[i])) }\n\t }\n\t } else if (textLines.length == sel.ranges.length) {\n\t multiPaste = map(textLines, function (l) { return [l]; })\n\t }\n\t }\n\t\n\t var updateInput\n\t // Normal behavior is to insert the new text into every selection\n\t for (var i$1 = sel.ranges.length - 1; i$1 >= 0; i$1--) {\n\t var range = sel.ranges[i$1]\n\t var from = range.from(), to = range.to()\n\t if (range.empty()) {\n\t if (deleted && deleted > 0) // Handle deletion\n\t { from = Pos(from.line, from.ch - deleted) }\n\t else if (cm.state.overwrite && !paste) // Handle overwrite\n\t { to = Pos(to.line, Math.min(getLine(doc, to.line).text.length, to.ch + lst(textLines).length)) }\n\t else if (lastCopied && lastCopied.lineWise && lastCopied.text.join(\"\\n\") == inserted)\n\t { from = to = Pos(from.line, 0) }\n\t }\n\t updateInput = cm.curOp.updateInput\n\t var changeEvent = {from: from, to: to, text: multiPaste ? multiPaste[i$1 % multiPaste.length] : textLines,\n\t origin: origin || (paste ? \"paste\" : cm.state.cutIncoming ? \"cut\" : \"+input\")}\n\t makeChange(cm.doc, changeEvent)\n\t signalLater(cm, \"inputRead\", cm, changeEvent)\n\t }\n\t if (inserted && !paste)\n\t { triggerElectric(cm, inserted) }\n\t\n\t ensureCursorVisible(cm)\n\t cm.curOp.updateInput = updateInput\n\t cm.curOp.typing = true\n\t cm.state.pasteIncoming = cm.state.cutIncoming = false\n\t}\n\t\n\tfunction handlePaste(e, cm) {\n\t var pasted = e.clipboardData && e.clipboardData.getData(\"Text\")\n\t if (pasted) {\n\t e.preventDefault()\n\t if (!cm.isReadOnly() && !cm.options.disableInput)\n\t { runInOp(cm, function () { return applyTextInput(cm, pasted, 0, null, \"paste\"); }) }\n\t return true\n\t }\n\t}\n\t\n\tfunction triggerElectric(cm, inserted) {\n\t // When an 'electric' character is inserted, immediately trigger a reindent\n\t if (!cm.options.electricChars || !cm.options.smartIndent) { return }\n\t var sel = cm.doc.sel\n\t\n\t for (var i = sel.ranges.length - 1; i >= 0; i--) {\n\t var range = sel.ranges[i]\n\t if (range.head.ch > 100 || (i && sel.ranges[i - 1].head.line == range.head.line)) { continue }\n\t var mode = cm.getModeAt(range.head)\n\t var indented = false\n\t if (mode.electricChars) {\n\t for (var j = 0; j < mode.electricChars.length; j++)\n\t { if (inserted.indexOf(mode.electricChars.charAt(j)) > -1) {\n\t indented = indentLine(cm, range.head.line, \"smart\")\n\t break\n\t } }\n\t } else if (mode.electricInput) {\n\t if (mode.electricInput.test(getLine(cm.doc, range.head.line).text.slice(0, range.head.ch)))\n\t { indented = indentLine(cm, range.head.line, \"smart\") }\n\t }\n\t if (indented) { signalLater(cm, \"electricInput\", cm, range.head.line) }\n\t }\n\t}\n\t\n\tfunction copyableRanges(cm) {\n\t var text = [], ranges = []\n\t for (var i = 0; i < cm.doc.sel.ranges.length; i++) {\n\t var line = cm.doc.sel.ranges[i].head.line\n\t var lineRange = {anchor: Pos(line, 0), head: Pos(line + 1, 0)}\n\t ranges.push(lineRange)\n\t text.push(cm.getRange(lineRange.anchor, lineRange.head))\n\t }\n\t return {text: text, ranges: ranges}\n\t}\n\t\n\tfunction disableBrowserMagic(field, spellcheck) {\n\t field.setAttribute(\"autocorrect\", \"off\")\n\t field.setAttribute(\"autocapitalize\", \"off\")\n\t field.setAttribute(\"spellcheck\", !!spellcheck)\n\t}\n\t\n\tfunction hiddenTextarea() {\n\t var te = elt(\"textarea\", null, null, \"position: absolute; bottom: -1em; padding: 0; width: 1px; height: 1em; outline: none\")\n\t var div = elt(\"div\", [te], null, \"overflow: hidden; position: relative; width: 3px; height: 0px;\")\n\t // The textarea is kept positioned near the cursor to prevent the\n\t // fact that it'll be scrolled into view on input from scrolling\n\t // our fake cursor out of view. On webkit, when wrap=off, paste is\n\t // very slow. So make the area wide instead.\n\t if (webkit) { te.style.width = \"1000px\" }\n\t else { te.setAttribute(\"wrap\", \"off\") }\n\t // If border: 0; -- iOS fails to open keyboard (issue #1287)\n\t if (ios) { te.style.border = \"1px solid black\" }\n\t disableBrowserMagic(te)\n\t return div\n\t}\n\t\n\t// The publicly visible API. Note that methodOp(f) means\n\t// 'wrap f in an operation, performed on its `this` parameter'.\n\t\n\t// This is not the complete set of editor methods. Most of the\n\t// methods defined on the Doc type are also injected into\n\t// CodeMirror.prototype, for backwards compatibility and\n\t// convenience.\n\t\n\tfunction addEditorMethods(CodeMirror) {\n\t var optionHandlers = CodeMirror.optionHandlers\n\t\n\t var helpers = CodeMirror.helpers = {}\n\t\n\t CodeMirror.prototype = {\n\t constructor: CodeMirror,\n\t focus: function(){window.focus(); this.display.input.focus()},\n\t\n\t setOption: function(option, value) {\n\t var options = this.options, old = options[option]\n\t if (options[option] == value && option != \"mode\") { return }\n\t options[option] = value\n\t if (optionHandlers.hasOwnProperty(option))\n\t { operation(this, optionHandlers[option])(this, value, old) }\n\t signal(this, \"optionChange\", this, option)\n\t },\n\t\n\t getOption: function(option) {return this.options[option]},\n\t getDoc: function() {return this.doc},\n\t\n\t addKeyMap: function(map, bottom) {\n\t this.state.keyMaps[bottom ? \"push\" : \"unshift\"](getKeyMap(map))\n\t },\n\t removeKeyMap: function(map) {\n\t var maps = this.state.keyMaps\n\t for (var i = 0; i < maps.length; ++i)\n\t { if (maps[i] == map || maps[i].name == map) {\n\t maps.splice(i, 1)\n\t return true\n\t } }\n\t },\n\t\n\t addOverlay: methodOp(function(spec, options) {\n\t var mode = spec.token ? spec : CodeMirror.getMode(this.options, spec)\n\t if (mode.startState) { throw new Error(\"Overlays may not be stateful.\") }\n\t insertSorted(this.state.overlays,\n\t {mode: mode, modeSpec: spec, opaque: options && options.opaque,\n\t priority: (options && options.priority) || 0},\n\t function (overlay) { return overlay.priority; })\n\t this.state.modeGen++\n\t regChange(this)\n\t }),\n\t removeOverlay: methodOp(function(spec) {\n\t var this$1 = this;\n\t\n\t var overlays = this.state.overlays\n\t for (var i = 0; i < overlays.length; ++i) {\n\t var cur = overlays[i].modeSpec\n\t if (cur == spec || typeof spec == \"string\" && cur.name == spec) {\n\t overlays.splice(i, 1)\n\t this$1.state.modeGen++\n\t regChange(this$1)\n\t return\n\t }\n\t }\n\t }),\n\t\n\t indentLine: methodOp(function(n, dir, aggressive) {\n\t if (typeof dir != \"string\" && typeof dir != \"number\") {\n\t if (dir == null) { dir = this.options.smartIndent ? \"smart\" : \"prev\" }\n\t else { dir = dir ? \"add\" : \"subtract\" }\n\t }\n\t if (isLine(this.doc, n)) { indentLine(this, n, dir, aggressive) }\n\t }),\n\t indentSelection: methodOp(function(how) {\n\t var this$1 = this;\n\t\n\t var ranges = this.doc.sel.ranges, end = -1\n\t for (var i = 0; i < ranges.length; i++) {\n\t var range = ranges[i]\n\t if (!range.empty()) {\n\t var from = range.from(), to = range.to()\n\t var start = Math.max(end, from.line)\n\t end = Math.min(this$1.lastLine(), to.line - (to.ch ? 0 : 1)) + 1\n\t for (var j = start; j < end; ++j)\n\t { indentLine(this$1, j, how) }\n\t var newRanges = this$1.doc.sel.ranges\n\t if (from.ch == 0 && ranges.length == newRanges.length && newRanges[i].from().ch > 0)\n\t { replaceOneSelection(this$1.doc, i, new Range(from, newRanges[i].to()), sel_dontScroll) }\n\t } else if (range.head.line > end) {\n\t indentLine(this$1, range.head.line, how, true)\n\t end = range.head.line\n\t if (i == this$1.doc.sel.primIndex) { ensureCursorVisible(this$1) }\n\t }\n\t }\n\t }),\n\t\n\t // Fetch the parser token for a given character. Useful for hacks\n\t // that want to inspect the mode state (say, for completion).\n\t getTokenAt: function(pos, precise) {\n\t return takeToken(this, pos, precise)\n\t },\n\t\n\t getLineTokens: function(line, precise) {\n\t return takeToken(this, Pos(line), precise, true)\n\t },\n\t\n\t getTokenTypeAt: function(pos) {\n\t pos = clipPos(this.doc, pos)\n\t var styles = getLineStyles(this, getLine(this.doc, pos.line))\n\t var before = 0, after = (styles.length - 1) / 2, ch = pos.ch\n\t var type\n\t if (ch == 0) { type = styles[2] }\n\t else { for (;;) {\n\t var mid = (before + after) >> 1\n\t if ((mid ? styles[mid * 2 - 1] : 0) >= ch) { after = mid }\n\t else if (styles[mid * 2 + 1] < ch) { before = mid + 1 }\n\t else { type = styles[mid * 2 + 2]; break }\n\t } }\n\t var cut = type ? type.indexOf(\"overlay \") : -1\n\t return cut < 0 ? type : cut == 0 ? null : type.slice(0, cut - 1)\n\t },\n\t\n\t getModeAt: function(pos) {\n\t var mode = this.doc.mode\n\t if (!mode.innerMode) { return mode }\n\t return CodeMirror.innerMode(mode, this.getTokenAt(pos).state).mode\n\t },\n\t\n\t getHelper: function(pos, type) {\n\t return this.getHelpers(pos, type)[0]\n\t },\n\t\n\t getHelpers: function(pos, type) {\n\t var this$1 = this;\n\t\n\t var found = []\n\t if (!helpers.hasOwnProperty(type)) { return found }\n\t var help = helpers[type], mode = this.getModeAt(pos)\n\t if (typeof mode[type] == \"string\") {\n\t if (help[mode[type]]) { found.push(help[mode[type]]) }\n\t } else if (mode[type]) {\n\t for (var i = 0; i < mode[type].length; i++) {\n\t var val = help[mode[type][i]]\n\t if (val) { found.push(val) }\n\t }\n\t } else if (mode.helperType && help[mode.helperType]) {\n\t found.push(help[mode.helperType])\n\t } else if (help[mode.name]) {\n\t found.push(help[mode.name])\n\t }\n\t for (var i$1 = 0; i$1 < help._global.length; i$1++) {\n\t var cur = help._global[i$1]\n\t if (cur.pred(mode, this$1) && indexOf(found, cur.val) == -1)\n\t { found.push(cur.val) }\n\t }\n\t return found\n\t },\n\t\n\t getStateAfter: function(line, precise) {\n\t var doc = this.doc\n\t line = clipLine(doc, line == null ? doc.first + doc.size - 1: line)\n\t return getStateBefore(this, line + 1, precise)\n\t },\n\t\n\t cursorCoords: function(start, mode) {\n\t var pos, range = this.doc.sel.primary()\n\t if (start == null) { pos = range.head }\n\t else if (typeof start == \"object\") { pos = clipPos(this.doc, start) }\n\t else { pos = start ? range.from() : range.to() }\n\t return cursorCoords(this, pos, mode || \"page\")\n\t },\n\t\n\t charCoords: function(pos, mode) {\n\t return charCoords(this, clipPos(this.doc, pos), mode || \"page\")\n\t },\n\t\n\t coordsChar: function(coords, mode) {\n\t coords = fromCoordSystem(this, coords, mode || \"page\")\n\t return coordsChar(this, coords.left, coords.top)\n\t },\n\t\n\t lineAtHeight: function(height, mode) {\n\t height = fromCoordSystem(this, {top: height, left: 0}, mode || \"page\").top\n\t return lineAtHeight(this.doc, height + this.display.viewOffset)\n\t },\n\t heightAtLine: function(line, mode, includeWidgets) {\n\t var end = false, lineObj\n\t if (typeof line == \"number\") {\n\t var last = this.doc.first + this.doc.size - 1\n\t if (line < this.doc.first) { line = this.doc.first }\n\t else if (line > last) { line = last; end = true }\n\t lineObj = getLine(this.doc, line)\n\t } else {\n\t lineObj = line\n\t }\n\t return intoCoordSystem(this, lineObj, {top: 0, left: 0}, mode || \"page\", includeWidgets).top +\n\t (end ? this.doc.height - heightAtLine(lineObj) : 0)\n\t },\n\t\n\t defaultTextHeight: function() { return textHeight(this.display) },\n\t defaultCharWidth: function() { return charWidth(this.display) },\n\t\n\t getViewport: function() { return {from: this.display.viewFrom, to: this.display.viewTo}},\n\t\n\t addWidget: function(pos, node, scroll, vert, horiz) {\n\t var display = this.display\n\t pos = cursorCoords(this, clipPos(this.doc, pos))\n\t var top = pos.bottom, left = pos.left\n\t node.style.position = \"absolute\"\n\t node.setAttribute(\"cm-ignore-events\", \"true\")\n\t this.display.input.setUneditable(node)\n\t display.sizer.appendChild(node)\n\t if (vert == \"over\") {\n\t top = pos.top\n\t } else if (vert == \"above\" || vert == \"near\") {\n\t var vspace = Math.max(display.wrapper.clientHeight, this.doc.height),\n\t hspace = Math.max(display.sizer.clientWidth, display.lineSpace.clientWidth)\n\t // Default to positioning above (if specified and possible); otherwise default to positioning below\n\t if ((vert == 'above' || pos.bottom + node.offsetHeight > vspace) && pos.top > node.offsetHeight)\n\t { top = pos.top - node.offsetHeight }\n\t else if (pos.bottom + node.offsetHeight <= vspace)\n\t { top = pos.bottom }\n\t if (left + node.offsetWidth > hspace)\n\t { left = hspace - node.offsetWidth }\n\t }\n\t node.style.top = top + \"px\"\n\t node.style.left = node.style.right = \"\"\n\t if (horiz == \"right\") {\n\t left = display.sizer.clientWidth - node.offsetWidth\n\t node.style.right = \"0px\"\n\t } else {\n\t if (horiz == \"left\") { left = 0 }\n\t else if (horiz == \"middle\") { left = (display.sizer.clientWidth - node.offsetWidth) / 2 }\n\t node.style.left = left + \"px\"\n\t }\n\t if (scroll)\n\t { scrollIntoView(this, left, top, left + node.offsetWidth, top + node.offsetHeight) }\n\t },\n\t\n\t triggerOnKeyDown: methodOp(onKeyDown),\n\t triggerOnKeyPress: methodOp(onKeyPress),\n\t triggerOnKeyUp: onKeyUp,\n\t\n\t execCommand: function(cmd) {\n\t if (commands.hasOwnProperty(cmd))\n\t { return commands[cmd].call(null, this) }\n\t },\n\t\n\t triggerElectric: methodOp(function(text) { triggerElectric(this, text) }),\n\t\n\t findPosH: function(from, amount, unit, visually) {\n\t var this$1 = this;\n\t\n\t var dir = 1\n\t if (amount < 0) { dir = -1; amount = -amount }\n\t var cur = clipPos(this.doc, from)\n\t for (var i = 0; i < amount; ++i) {\n\t cur = findPosH(this$1.doc, cur, dir, unit, visually)\n\t if (cur.hitSide) { break }\n\t }\n\t return cur\n\t },\n\t\n\t moveH: methodOp(function(dir, unit) {\n\t var this$1 = this;\n\t\n\t this.extendSelectionsBy(function (range) {\n\t if (this$1.display.shift || this$1.doc.extend || range.empty())\n\t { return findPosH(this$1.doc, range.head, dir, unit, this$1.options.rtlMoveVisually) }\n\t else\n\t { return dir < 0 ? range.from() : range.to() }\n\t }, sel_move)\n\t }),\n\t\n\t deleteH: methodOp(function(dir, unit) {\n\t var sel = this.doc.sel, doc = this.doc\n\t if (sel.somethingSelected())\n\t { doc.replaceSelection(\"\", null, \"+delete\") }\n\t else\n\t { deleteNearSelection(this, function (range) {\n\t var other = findPosH(doc, range.head, dir, unit, false)\n\t return dir < 0 ? {from: other, to: range.head} : {from: range.head, to: other}\n\t }) }\n\t }),\n\t\n\t findPosV: function(from, amount, unit, goalColumn) {\n\t var this$1 = this;\n\t\n\t var dir = 1, x = goalColumn\n\t if (amount < 0) { dir = -1; amount = -amount }\n\t var cur = clipPos(this.doc, from)\n\t for (var i = 0; i < amount; ++i) {\n\t var coords = cursorCoords(this$1, cur, \"div\")\n\t if (x == null) { x = coords.left }\n\t else { coords.left = x }\n\t cur = findPosV(this$1, coords, dir, unit)\n\t if (cur.hitSide) { break }\n\t }\n\t return cur\n\t },\n\t\n\t moveV: methodOp(function(dir, unit) {\n\t var this$1 = this;\n\t\n\t var doc = this.doc, goals = []\n\t var collapse = !this.display.shift && !doc.extend && doc.sel.somethingSelected()\n\t doc.extendSelectionsBy(function (range) {\n\t if (collapse)\n\t { return dir < 0 ? range.from() : range.to() }\n\t var headPos = cursorCoords(this$1, range.head, \"div\")\n\t if (range.goalColumn != null) { headPos.left = range.goalColumn }\n\t goals.push(headPos.left)\n\t var pos = findPosV(this$1, headPos, dir, unit)\n\t if (unit == \"page\" && range == doc.sel.primary())\n\t { addToScrollPos(this$1, null, charCoords(this$1, pos, \"div\").top - headPos.top) }\n\t return pos\n\t }, sel_move)\n\t if (goals.length) { for (var i = 0; i < doc.sel.ranges.length; i++)\n\t { doc.sel.ranges[i].goalColumn = goals[i] } }\n\t }),\n\t\n\t // Find the word at the given position (as returned by coordsChar).\n\t findWordAt: function(pos) {\n\t var doc = this.doc, line = getLine(doc, pos.line).text\n\t var start = pos.ch, end = pos.ch\n\t if (line) {\n\t var helper = this.getHelper(pos, \"wordChars\")\n\t if ((pos.xRel < 0 || end == line.length) && start) { --start; } else { ++end }\n\t var startChar = line.charAt(start)\n\t var check = isWordChar(startChar, helper)\n\t ? function (ch) { return isWordChar(ch, helper); }\n\t : /\\s/.test(startChar) ? function (ch) { return /\\s/.test(ch); }\n\t : function (ch) { return (!/\\s/.test(ch) && !isWordChar(ch)); }\n\t while (start > 0 && check(line.charAt(start - 1))) { --start }\n\t while (end < line.length && check(line.charAt(end))) { ++end }\n\t }\n\t return new Range(Pos(pos.line, start), Pos(pos.line, end))\n\t },\n\t\n\t toggleOverwrite: function(value) {\n\t if (value != null && value == this.state.overwrite) { return }\n\t if (this.state.overwrite = !this.state.overwrite)\n\t { addClass(this.display.cursorDiv, \"CodeMirror-overwrite\") }\n\t else\n\t { rmClass(this.display.cursorDiv, \"CodeMirror-overwrite\") }\n\t\n\t signal(this, \"overwriteToggle\", this, this.state.overwrite)\n\t },\n\t hasFocus: function() { return this.display.input.getField() == activeElt() },\n\t isReadOnly: function() { return !!(this.options.readOnly || this.doc.cantEdit) },\n\t\n\t scrollTo: methodOp(function(x, y) {\n\t if (x != null || y != null) { resolveScrollToPos(this) }\n\t if (x != null) { this.curOp.scrollLeft = x }\n\t if (y != null) { this.curOp.scrollTop = y }\n\t }),\n\t getScrollInfo: function() {\n\t var scroller = this.display.scroller\n\t return {left: scroller.scrollLeft, top: scroller.scrollTop,\n\t height: scroller.scrollHeight - scrollGap(this) - this.display.barHeight,\n\t width: scroller.scrollWidth - scrollGap(this) - this.display.barWidth,\n\t clientHeight: displayHeight(this), clientWidth: displayWidth(this)}\n\t },\n\t\n\t scrollIntoView: methodOp(function(range, margin) {\n\t if (range == null) {\n\t range = {from: this.doc.sel.primary().head, to: null}\n\t if (margin == null) { margin = this.options.cursorScrollMargin }\n\t } else if (typeof range == \"number\") {\n\t range = {from: Pos(range, 0), to: null}\n\t } else if (range.from == null) {\n\t range = {from: range, to: null}\n\t }\n\t if (!range.to) { range.to = range.from }\n\t range.margin = margin || 0\n\t\n\t if (range.from.line != null) {\n\t resolveScrollToPos(this)\n\t this.curOp.scrollToPos = range\n\t } else {\n\t var sPos = calculateScrollPos(this, Math.min(range.from.left, range.to.left),\n\t Math.min(range.from.top, range.to.top) - range.margin,\n\t Math.max(range.from.right, range.to.right),\n\t Math.max(range.from.bottom, range.to.bottom) + range.margin)\n\t this.scrollTo(sPos.scrollLeft, sPos.scrollTop)\n\t }\n\t }),\n\t\n\t setSize: methodOp(function(width, height) {\n\t var this$1 = this;\n\t\n\t var interpret = function (val) { return typeof val == \"number\" || /^\\d+$/.test(String(val)) ? val + \"px\" : val; }\n\t if (width != null) { this.display.wrapper.style.width = interpret(width) }\n\t if (height != null) { this.display.wrapper.style.height = interpret(height) }\n\t if (this.options.lineWrapping) { clearLineMeasurementCache(this) }\n\t var lineNo = this.display.viewFrom\n\t this.doc.iter(lineNo, this.display.viewTo, function (line) {\n\t if (line.widgets) { for (var i = 0; i < line.widgets.length; i++)\n\t { if (line.widgets[i].noHScroll) { regLineChange(this$1, lineNo, \"widget\"); break } } }\n\t ++lineNo\n\t })\n\t this.curOp.forceUpdate = true\n\t signal(this, \"refresh\", this)\n\t }),\n\t\n\t operation: function(f){return runInOp(this, f)},\n\t\n\t refresh: methodOp(function() {\n\t var oldHeight = this.display.cachedTextHeight\n\t regChange(this)\n\t this.curOp.forceUpdate = true\n\t clearCaches(this)\n\t this.scrollTo(this.doc.scrollLeft, this.doc.scrollTop)\n\t updateGutterSpace(this)\n\t if (oldHeight == null || Math.abs(oldHeight - textHeight(this.display)) > .5)\n\t { estimateLineHeights(this) }\n\t signal(this, \"refresh\", this)\n\t }),\n\t\n\t swapDoc: methodOp(function(doc) {\n\t var old = this.doc\n\t old.cm = null\n\t attachDoc(this, doc)\n\t clearCaches(this)\n\t this.display.input.reset()\n\t this.scrollTo(doc.scrollLeft, doc.scrollTop)\n\t this.curOp.forceScroll = true\n\t signalLater(this, \"swapDoc\", this, old)\n\t return old\n\t }),\n\t\n\t getInputField: function(){return this.display.input.getField()},\n\t getWrapperElement: function(){return this.display.wrapper},\n\t getScrollerElement: function(){return this.display.scroller},\n\t getGutterElement: function(){return this.display.gutters}\n\t }\n\t eventMixin(CodeMirror)\n\t\n\t CodeMirror.registerHelper = function(type, name, value) {\n\t if (!helpers.hasOwnProperty(type)) { helpers[type] = CodeMirror[type] = {_global: []} }\n\t helpers[type][name] = value\n\t }\n\t CodeMirror.registerGlobalHelper = function(type, name, predicate, value) {\n\t CodeMirror.registerHelper(type, name, value)\n\t helpers[type]._global.push({pred: predicate, val: value})\n\t }\n\t}\n\t\n\t// Used for horizontal relative motion. Dir is -1 or 1 (left or\n\t// right), unit can be \"char\", \"column\" (like char, but doesn't\n\t// cross line boundaries), \"word\" (across next word), or \"group\" (to\n\t// the start of next group of word or non-word-non-whitespace\n\t// chars). The visually param controls whether, in right-to-left\n\t// text, direction 1 means to move towards the next index in the\n\t// string, or towards the character to the right of the current\n\t// position. The resulting position will have a hitSide=true\n\t// property if it reached the end of the document.\n\tfunction findPosH(doc, pos, dir, unit, visually) {\n\t var line = pos.line, ch = pos.ch, origDir = dir\n\t var lineObj = getLine(doc, line)\n\t function findNextLine() {\n\t var l = line + dir\n\t if (l < doc.first || l >= doc.first + doc.size) { return false }\n\t line = l\n\t return lineObj = getLine(doc, l)\n\t }\n\t function moveOnce(boundToLine) {\n\t var next = (visually ? moveVisually : moveLogically)(lineObj, ch, dir, true)\n\t if (next == null) {\n\t if (!boundToLine && findNextLine()) {\n\t if (visually) { ch = (dir < 0 ? lineRight : lineLeft)(lineObj) }\n\t else { ch = dir < 0 ? lineObj.text.length : 0 }\n\t } else { return false }\n\t } else { ch = next }\n\t return true\n\t }\n\t\n\t if (unit == \"char\") {\n\t moveOnce()\n\t } else if (unit == \"column\") {\n\t moveOnce(true)\n\t } else if (unit == \"word\" || unit == \"group\") {\n\t var sawType = null, group = unit == \"group\"\n\t var helper = doc.cm && doc.cm.getHelper(pos, \"wordChars\")\n\t for (var first = true;; first = false) {\n\t if (dir < 0 && !moveOnce(!first)) { break }\n\t var cur = lineObj.text.charAt(ch) || \"\\n\"\n\t var type = isWordChar(cur, helper) ? \"w\"\n\t : group && cur == \"\\n\" ? \"n\"\n\t : !group || /\\s/.test(cur) ? null\n\t : \"p\"\n\t if (group && !first && !type) { type = \"s\" }\n\t if (sawType && sawType != type) {\n\t if (dir < 0) {dir = 1; moveOnce()}\n\t break\n\t }\n\t\n\t if (type) { sawType = type }\n\t if (dir > 0 && !moveOnce(!first)) { break }\n\t }\n\t }\n\t var result = skipAtomic(doc, Pos(line, ch), pos, origDir, true)\n\t if (!cmp(pos, result)) { result.hitSide = true }\n\t return result\n\t}\n\t\n\t// For relative vertical movement. Dir may be -1 or 1. Unit can be\n\t// \"page\" or \"line\". The resulting position will have a hitSide=true\n\t// property if it reached the end of the document.\n\tfunction findPosV(cm, pos, dir, unit) {\n\t var doc = cm.doc, x = pos.left, y\n\t if (unit == \"page\") {\n\t var pageSize = Math.min(cm.display.wrapper.clientHeight, window.innerHeight || document.documentElement.clientHeight)\n\t var moveAmount = Math.max(pageSize - .5 * textHeight(cm.display), 3)\n\t y = (dir > 0 ? pos.bottom : pos.top) + dir * moveAmount\n\t\n\t } else if (unit == \"line\") {\n\t y = dir > 0 ? pos.bottom + 3 : pos.top - 3\n\t }\n\t var target\n\t for (;;) {\n\t target = coordsChar(cm, x, y)\n\t if (!target.outside) { break }\n\t if (dir < 0 ? y <= 0 : y >= doc.height) { target.hitSide = true; break }\n\t y += dir * 5\n\t }\n\t return target\n\t}\n\t\n\t// CONTENTEDITABLE INPUT STYLE\n\t\n\tvar ContentEditableInput = function(cm) {\n\t this.cm = cm\n\t this.lastAnchorNode = this.lastAnchorOffset = this.lastFocusNode = this.lastFocusOffset = null\n\t this.polling = new Delayed()\n\t this.composing = null\n\t this.gracePeriod = false\n\t this.readDOMTimeout = null\n\t};\n\t\n\tContentEditableInput.prototype.init = function (display) {\n\t var this$1 = this;\n\t\n\t var input = this, cm = input.cm\n\t var div = input.div = display.lineDiv\n\t disableBrowserMagic(div, cm.options.spellcheck)\n\t\n\t on(div, \"paste\", function (e) {\n\t if (signalDOMEvent(cm, e) || handlePaste(e, cm)) { return }\n\t // IE doesn't fire input events, so we schedule a read for the pasted content in this way\n\t if (ie_version <= 11) { setTimeout(operation(cm, function () {\n\t if (!input.pollContent()) { regChange(cm) }\n\t }), 20) }\n\t })\n\t\n\t on(div, \"compositionstart\", function (e) {\n\t this$1.composing = {data: e.data, done: false}\n\t })\n\t on(div, \"compositionupdate\", function (e) {\n\t if (!this$1.composing) { this$1.composing = {data: e.data, done: false} }\n\t })\n\t on(div, \"compositionend\", function (e) {\n\t if (this$1.composing) {\n\t if (e.data != this$1.composing.data) { this$1.readFromDOMSoon() }\n\t this$1.composing.done = true\n\t }\n\t })\n\t\n\t on(div, \"touchstart\", function () { return input.forceCompositionEnd(); })\n\t\n\t on(div, \"input\", function () {\n\t if (!this$1.composing) { this$1.readFromDOMSoon() }\n\t })\n\t\n\t function onCopyCut(e) {\n\t if (signalDOMEvent(cm, e)) { return }\n\t if (cm.somethingSelected()) {\n\t setLastCopied({lineWise: false, text: cm.getSelections()})\n\t if (e.type == \"cut\") { cm.replaceSelection(\"\", null, \"cut\") }\n\t } else if (!cm.options.lineWiseCopyCut) {\n\t return\n\t } else {\n\t var ranges = copyableRanges(cm)\n\t setLastCopied({lineWise: true, text: ranges.text})\n\t if (e.type == \"cut\") {\n\t cm.operation(function () {\n\t cm.setSelections(ranges.ranges, 0, sel_dontScroll)\n\t cm.replaceSelection(\"\", null, \"cut\")\n\t })\n\t }\n\t }\n\t if (e.clipboardData) {\n\t e.clipboardData.clearData()\n\t var content = lastCopied.text.join(\"\\n\")\n\t // iOS exposes the clipboard API, but seems to discard content inserted into it\n\t e.clipboardData.setData(\"Text\", content)\n\t if (e.clipboardData.getData(\"Text\") == content) {\n\t e.preventDefault()\n\t return\n\t }\n\t }\n\t // Old-fashioned briefly-focus-a-textarea hack\n\t var kludge = hiddenTextarea(), te = kludge.firstChild\n\t cm.display.lineSpace.insertBefore(kludge, cm.display.lineSpace.firstChild)\n\t te.value = lastCopied.text.join(\"\\n\")\n\t var hadFocus = document.activeElement\n\t selectInput(te)\n\t setTimeout(function () {\n\t cm.display.lineSpace.removeChild(kludge)\n\t hadFocus.focus()\n\t if (hadFocus == div) { input.showPrimarySelection() }\n\t }, 50)\n\t }\n\t on(div, \"copy\", onCopyCut)\n\t on(div, \"cut\", onCopyCut)\n\t};\n\t\n\tContentEditableInput.prototype.prepareSelection = function () {\n\t var result = prepareSelection(this.cm, false)\n\t result.focus = this.cm.state.focused\n\t return result\n\t};\n\t\n\tContentEditableInput.prototype.showSelection = function (info, takeFocus) {\n\t if (!info || !this.cm.display.view.length) { return }\n\t if (info.focus || takeFocus) { this.showPrimarySelection() }\n\t this.showMultipleSelections(info)\n\t};\n\t\n\tContentEditableInput.prototype.showPrimarySelection = function () {\n\t var sel = window.getSelection(), prim = this.cm.doc.sel.primary()\n\t var curAnchor = domToPos(this.cm, sel.anchorNode, sel.anchorOffset)\n\t var curFocus = domToPos(this.cm, sel.focusNode, sel.focusOffset)\n\t if (curAnchor && !curAnchor.bad && curFocus && !curFocus.bad &&\n\t cmp(minPos(curAnchor, curFocus), prim.from()) == 0 &&\n\t cmp(maxPos(curAnchor, curFocus), prim.to()) == 0)\n\t { return }\n\t\n\t var start = posToDOM(this.cm, prim.from())\n\t var end = posToDOM(this.cm, prim.to())\n\t if (!start && !end) { return }\n\t\n\t var view = this.cm.display.view\n\t var old = sel.rangeCount && sel.getRangeAt(0)\n\t if (!start) {\n\t start = {node: view[0].measure.map[2], offset: 0}\n\t } else if (!end) { // FIXME dangerously hacky\n\t var measure = view[view.length - 1].measure\n\t var map = measure.maps ? measure.maps[measure.maps.length - 1] : measure.map\n\t end = {node: map[map.length - 1], offset: map[map.length - 2] - map[map.length - 3]}\n\t }\n\t\n\t var rng\n\t try { rng = range(start.node, start.offset, end.offset, end.node) }\n\t catch(e) {} // Our model of the DOM might be outdated, in which case the range we try to set can be impossible\n\t if (rng) {\n\t if (!gecko && this.cm.state.focused) {\n\t sel.collapse(start.node, start.offset)\n\t if (!rng.collapsed) {\n\t sel.removeAllRanges()\n\t sel.addRange(rng)\n\t }\n\t } else {\n\t sel.removeAllRanges()\n\t sel.addRange(rng)\n\t }\n\t if (old && sel.anchorNode == null) { sel.addRange(old) }\n\t else if (gecko) { this.startGracePeriod() }\n\t }\n\t this.rememberSelection()\n\t};\n\t\n\tContentEditableInput.prototype.startGracePeriod = function () {\n\t var this$1 = this;\n\t\n\t clearTimeout(this.gracePeriod)\n\t this.gracePeriod = setTimeout(function () {\n\t this$1.gracePeriod = false\n\t if (this$1.selectionChanged())\n\t { this$1.cm.operation(function () { return this$1.cm.curOp.selectionChanged = true; }) }\n\t }, 20)\n\t};\n\t\n\tContentEditableInput.prototype.showMultipleSelections = function (info) {\n\t removeChildrenAndAdd(this.cm.display.cursorDiv, info.cursors)\n\t removeChildrenAndAdd(this.cm.display.selectionDiv, info.selection)\n\t};\n\t\n\tContentEditableInput.prototype.rememberSelection = function () {\n\t var sel = window.getSelection()\n\t this.lastAnchorNode = sel.anchorNode; this.lastAnchorOffset = sel.anchorOffset\n\t this.lastFocusNode = sel.focusNode; this.lastFocusOffset = sel.focusOffset\n\t};\n\t\n\tContentEditableInput.prototype.selectionInEditor = function () {\n\t var sel = window.getSelection()\n\t if (!sel.rangeCount) { return false }\n\t var node = sel.getRangeAt(0).commonAncestorContainer\n\t return contains(this.div, node)\n\t};\n\t\n\tContentEditableInput.prototype.focus = function () {\n\t if (this.cm.options.readOnly != \"nocursor\") {\n\t if (!this.selectionInEditor())\n\t { this.showSelection(this.prepareSelection(), true) }\n\t this.div.focus()\n\t }\n\t};\n\tContentEditableInput.prototype.blur = function () { this.div.blur() };\n\tContentEditableInput.prototype.getField = function () { return this.div };\n\t\n\tContentEditableInput.prototype.supportsTouch = function () { return true };\n\t\n\tContentEditableInput.prototype.receivedFocus = function () {\n\t var input = this\n\t if (this.selectionInEditor())\n\t { this.pollSelection() }\n\t else\n\t { runInOp(this.cm, function () { return input.cm.curOp.selectionChanged = true; }) }\n\t\n\t function poll() {\n\t if (input.cm.state.focused) {\n\t input.pollSelection()\n\t input.polling.set(input.cm.options.pollInterval, poll)\n\t }\n\t }\n\t this.polling.set(this.cm.options.pollInterval, poll)\n\t};\n\t\n\tContentEditableInput.prototype.selectionChanged = function () {\n\t var sel = window.getSelection()\n\t return sel.anchorNode != this.lastAnchorNode || sel.anchorOffset != this.lastAnchorOffset ||\n\t sel.focusNode != this.lastFocusNode || sel.focusOffset != this.lastFocusOffset\n\t};\n\t\n\tContentEditableInput.prototype.pollSelection = function () {\n\t if (!this.composing && this.readDOMTimeout == null && !this.gracePeriod && this.selectionChanged()) {\n\t var sel = window.getSelection(), cm = this.cm\n\t this.rememberSelection()\n\t var anchor = domToPos(cm, sel.anchorNode, sel.anchorOffset)\n\t var head = domToPos(cm, sel.focusNode, sel.focusOffset)\n\t if (anchor && head) { runInOp(cm, function () {\n\t setSelection(cm.doc, simpleSelection(anchor, head), sel_dontScroll)\n\t if (anchor.bad || head.bad) { cm.curOp.selectionChanged = true }\n\t }) }\n\t }\n\t};\n\t\n\tContentEditableInput.prototype.pollContent = function () {\n\t if (this.readDOMTimeout != null) {\n\t clearTimeout(this.readDOMTimeout)\n\t this.readDOMTimeout = null\n\t }\n\t\n\t var cm = this.cm, display = cm.display, sel = cm.doc.sel.primary()\n\t var from = sel.from(), to = sel.to()\n\t if (from.ch == 0 && from.line > cm.firstLine())\n\t { from = Pos(from.line - 1, getLine(cm.doc, from.line - 1).length) }\n\t if (to.ch == getLine(cm.doc, to.line).text.length && to.line < cm.lastLine())\n\t { to = Pos(to.line + 1, 0) }\n\t if (from.line < display.viewFrom || to.line > display.viewTo - 1) { return false }\n\t\n\t var fromIndex, fromLine, fromNode\n\t if (from.line == display.viewFrom || (fromIndex = findViewIndex(cm, from.line)) == 0) {\n\t fromLine = lineNo(display.view[0].line)\n\t fromNode = display.view[0].node\n\t } else {\n\t fromLine = lineNo(display.view[fromIndex].line)\n\t fromNode = display.view[fromIndex - 1].node.nextSibling\n\t }\n\t var toIndex = findViewIndex(cm, to.line)\n\t var toLine, toNode\n\t if (toIndex == display.view.length - 1) {\n\t toLine = display.viewTo - 1\n\t toNode = display.lineDiv.lastChild\n\t } else {\n\t toLine = lineNo(display.view[toIndex + 1].line) - 1\n\t toNode = display.view[toIndex + 1].node.previousSibling\n\t }\n\t\n\t if (!fromNode) { return false }\n\t var newText = cm.doc.splitLines(domTextBetween(cm, fromNode, toNode, fromLine, toLine))\n\t var oldText = getBetween(cm.doc, Pos(fromLine, 0), Pos(toLine, getLine(cm.doc, toLine).text.length))\n\t while (newText.length > 1 && oldText.length > 1) {\n\t if (lst(newText) == lst(oldText)) { newText.pop(); oldText.pop(); toLine-- }\n\t else if (newText[0] == oldText[0]) { newText.shift(); oldText.shift(); fromLine++ }\n\t else { break }\n\t }\n\t\n\t var cutFront = 0, cutEnd = 0\n\t var newTop = newText[0], oldTop = oldText[0], maxCutFront = Math.min(newTop.length, oldTop.length)\n\t while (cutFront < maxCutFront && newTop.charCodeAt(cutFront) == oldTop.charCodeAt(cutFront))\n\t { ++cutFront }\n\t var newBot = lst(newText), oldBot = lst(oldText)\n\t var maxCutEnd = Math.min(newBot.length - (newText.length == 1 ? cutFront : 0),\n\t oldBot.length - (oldText.length == 1 ? cutFront : 0))\n\t while (cutEnd < maxCutEnd &&\n\t newBot.charCodeAt(newBot.length - cutEnd - 1) == oldBot.charCodeAt(oldBot.length - cutEnd - 1))\n\t { ++cutEnd }\n\t\n\t newText[newText.length - 1] = newBot.slice(0, newBot.length - cutEnd).replace(/^\\u200b+/, \"\")\n\t newText[0] = newText[0].slice(cutFront).replace(/\\u200b+$/, \"\")\n\t\n\t var chFrom = Pos(fromLine, cutFront)\n\t var chTo = Pos(toLine, oldText.length ? lst(oldText).length - cutEnd : 0)\n\t if (newText.length > 1 || newText[0] || cmp(chFrom, chTo)) {\n\t replaceRange(cm.doc, newText, chFrom, chTo, \"+input\")\n\t return true\n\t }\n\t};\n\t\n\tContentEditableInput.prototype.ensurePolled = function () {\n\t this.forceCompositionEnd()\n\t};\n\tContentEditableInput.prototype.reset = function () {\n\t this.forceCompositionEnd()\n\t};\n\tContentEditableInput.prototype.forceCompositionEnd = function () {\n\t if (!this.composing) { return }\n\t clearTimeout(this.readDOMTimeout)\n\t this.composing = null\n\t if (!this.pollContent()) { regChange(this.cm) }\n\t this.div.blur()\n\t this.div.focus()\n\t};\n\tContentEditableInput.prototype.readFromDOMSoon = function () {\n\t var this$1 = this;\n\t\n\t if (this.readDOMTimeout != null) { return }\n\t this.readDOMTimeout = setTimeout(function () {\n\t this$1.readDOMTimeout = null\n\t if (this$1.composing) {\n\t if (this$1.composing.done) { this$1.composing = null }\n\t else { return }\n\t }\n\t if (this$1.cm.isReadOnly() || !this$1.pollContent())\n\t { runInOp(this$1.cm, function () { return regChange(this$1.cm); }) }\n\t }, 80)\n\t};\n\t\n\tContentEditableInput.prototype.setUneditable = function (node) {\n\t node.contentEditable = \"false\"\n\t};\n\t\n\tContentEditableInput.prototype.onKeyPress = function (e) {\n\t e.preventDefault()\n\t if (!this.cm.isReadOnly())\n\t { operation(this.cm, applyTextInput)(this.cm, String.fromCharCode(e.charCode == null ? e.keyCode : e.charCode), 0) }\n\t};\n\t\n\tContentEditableInput.prototype.readOnlyChanged = function (val) {\n\t this.div.contentEditable = String(val != \"nocursor\")\n\t};\n\t\n\tContentEditableInput.prototype.onContextMenu = function () {};\n\tContentEditableInput.prototype.resetPosition = function () {};\n\t\n\tContentEditableInput.prototype.needsContentAttribute = true\n\t\n\tfunction posToDOM(cm, pos) {\n\t var view = findViewForLine(cm, pos.line)\n\t if (!view || view.hidden) { return null }\n\t var line = getLine(cm.doc, pos.line)\n\t var info = mapFromLineView(view, line, pos.line)\n\t\n\t var order = getOrder(line), side = \"left\"\n\t if (order) {\n\t var partPos = getBidiPartAt(order, pos.ch)\n\t side = partPos % 2 ? \"right\" : \"left\"\n\t }\n\t var result = nodeAndOffsetInLineMap(info.map, pos.ch, side)\n\t result.offset = result.collapse == \"right\" ? result.end : result.start\n\t return result\n\t}\n\t\n\tfunction badPos(pos, bad) { if (bad) { pos.bad = true; } return pos }\n\t\n\tfunction domTextBetween(cm, from, to, fromLine, toLine) {\n\t var text = \"\", closing = false, lineSep = cm.doc.lineSeparator()\n\t function recognizeMarker(id) { return function (marker) { return marker.id == id; } }\n\t function walk(node) {\n\t if (node.nodeType == 1) {\n\t var cmText = node.getAttribute(\"cm-text\")\n\t if (cmText != null) {\n\t if (cmText == \"\") { text += node.textContent.replace(/\\u200b/g, \"\") }\n\t else { text += cmText }\n\t return\n\t }\n\t var markerID = node.getAttribute(\"cm-marker\"), range\n\t if (markerID) {\n\t var found = cm.findMarks(Pos(fromLine, 0), Pos(toLine + 1, 0), recognizeMarker(+markerID))\n\t if (found.length && (range = found[0].find()))\n\t { text += getBetween(cm.doc, range.from, range.to).join(lineSep) }\n\t return\n\t }\n\t if (node.getAttribute(\"contenteditable\") == \"false\") { return }\n\t for (var i = 0; i < node.childNodes.length; i++)\n\t { walk(node.childNodes[i]) }\n\t if (/^(pre|div|p)$/i.test(node.nodeName))\n\t { closing = true }\n\t } else if (node.nodeType == 3) {\n\t var val = node.nodeValue\n\t if (!val) { return }\n\t if (closing) {\n\t text += lineSep\n\t closing = false\n\t }\n\t text += val\n\t }\n\t }\n\t for (;;) {\n\t walk(from)\n\t if (from == to) { break }\n\t from = from.nextSibling\n\t }\n\t return text\n\t}\n\t\n\tfunction domToPos(cm, node, offset) {\n\t var lineNode\n\t if (node == cm.display.lineDiv) {\n\t lineNode = cm.display.lineDiv.childNodes[offset]\n\t if (!lineNode) { return badPos(cm.clipPos(Pos(cm.display.viewTo - 1)), true) }\n\t node = null; offset = 0\n\t } else {\n\t for (lineNode = node;; lineNode = lineNode.parentNode) {\n\t if (!lineNode || lineNode == cm.display.lineDiv) { return null }\n\t if (lineNode.parentNode && lineNode.parentNode == cm.display.lineDiv) { break }\n\t }\n\t }\n\t for (var i = 0; i < cm.display.view.length; i++) {\n\t var lineView = cm.display.view[i]\n\t if (lineView.node == lineNode)\n\t { return locateNodeInLineView(lineView, node, offset) }\n\t }\n\t}\n\t\n\tfunction locateNodeInLineView(lineView, node, offset) {\n\t var wrapper = lineView.text.firstChild, bad = false\n\t if (!node || !contains(wrapper, node)) { return badPos(Pos(lineNo(lineView.line), 0), true) }\n\t if (node == wrapper) {\n\t bad = true\n\t node = wrapper.childNodes[offset]\n\t offset = 0\n\t if (!node) {\n\t var line = lineView.rest ? lst(lineView.rest) : lineView.line\n\t return badPos(Pos(lineNo(line), line.text.length), bad)\n\t }\n\t }\n\t\n\t var textNode = node.nodeType == 3 ? node : null, topNode = node\n\t if (!textNode && node.childNodes.length == 1 && node.firstChild.nodeType == 3) {\n\t textNode = node.firstChild\n\t if (offset) { offset = textNode.nodeValue.length }\n\t }\n\t while (topNode.parentNode != wrapper) { topNode = topNode.parentNode }\n\t var measure = lineView.measure, maps = measure.maps\n\t\n\t function find(textNode, topNode, offset) {\n\t for (var i = -1; i < (maps ? maps.length : 0); i++) {\n\t var map = i < 0 ? measure.map : maps[i]\n\t for (var j = 0; j < map.length; j += 3) {\n\t var curNode = map[j + 2]\n\t if (curNode == textNode || curNode == topNode) {\n\t var line = lineNo(i < 0 ? lineView.line : lineView.rest[i])\n\t var ch = map[j] + offset\n\t if (offset < 0 || curNode != textNode) { ch = map[j + (offset ? 1 : 0)] }\n\t return Pos(line, ch)\n\t }\n\t }\n\t }\n\t }\n\t var found = find(textNode, topNode, offset)\n\t if (found) { return badPos(found, bad) }\n\t\n\t // FIXME this is all really shaky. might handle the few cases it needs to handle, but likely to cause problems\n\t for (var after = topNode.nextSibling, dist = textNode ? textNode.nodeValue.length - offset : 0; after; after = after.nextSibling) {\n\t found = find(after, after.firstChild, 0)\n\t if (found)\n\t { return badPos(Pos(found.line, found.ch - dist), bad) }\n\t else\n\t { dist += after.textContent.length }\n\t }\n\t for (var before = topNode.previousSibling, dist$1 = offset; before; before = before.previousSibling) {\n\t found = find(before, before.firstChild, -1)\n\t if (found)\n\t { return badPos(Pos(found.line, found.ch + dist$1), bad) }\n\t else\n\t { dist$1 += before.textContent.length }\n\t }\n\t}\n\t\n\t// TEXTAREA INPUT STYLE\n\t\n\tvar TextareaInput = function(cm) {\n\t this.cm = cm\n\t // See input.poll and input.reset\n\t this.prevInput = \"\"\n\t\n\t // Flag that indicates whether we expect input to appear real soon\n\t // now (after some event like 'keypress' or 'input') and are\n\t // polling intensively.\n\t this.pollingFast = false\n\t // Self-resetting timeout for the poller\n\t this.polling = new Delayed()\n\t // Tracks when input.reset has punted to just putting a short\n\t // string into the textarea instead of the full selection.\n\t this.inaccurateSelection = false\n\t // Used to work around IE issue with selection being forgotten when focus moves away from textarea\n\t this.hasSelection = false\n\t this.composing = null\n\t};\n\t\n\tTextareaInput.prototype.init = function (display) {\n\t var this$1 = this;\n\t\n\t var input = this, cm = this.cm\n\t\n\t // Wraps and hides input textarea\n\t var div = this.wrapper = hiddenTextarea()\n\t // The semihidden textarea that is focused when the editor is\n\t // focused, and receives input.\n\t var te = this.textarea = div.firstChild\n\t display.wrapper.insertBefore(div, display.wrapper.firstChild)\n\t\n\t // Needed to hide big blue blinking cursor on Mobile Safari (doesn't seem to work in iOS 8 anymore)\n\t if (ios) { te.style.width = \"0px\" }\n\t\n\t on(te, \"input\", function () {\n\t if (ie && ie_version >= 9 && this$1.hasSelection) { this$1.hasSelection = null }\n\t input.poll()\n\t })\n\t\n\t on(te, \"paste\", function (e) {\n\t if (signalDOMEvent(cm, e) || handlePaste(e, cm)) { return }\n\t\n\t cm.state.pasteIncoming = true\n\t input.fastPoll()\n\t })\n\t\n\t function prepareCopyCut(e) {\n\t if (signalDOMEvent(cm, e)) { return }\n\t if (cm.somethingSelected()) {\n\t setLastCopied({lineWise: false, text: cm.getSelections()})\n\t if (input.inaccurateSelection) {\n\t input.prevInput = \"\"\n\t input.inaccurateSelection = false\n\t te.value = lastCopied.text.join(\"\\n\")\n\t selectInput(te)\n\t }\n\t } else if (!cm.options.lineWiseCopyCut) {\n\t return\n\t } else {\n\t var ranges = copyableRanges(cm)\n\t setLastCopied({lineWise: true, text: ranges.text})\n\t if (e.type == \"cut\") {\n\t cm.setSelections(ranges.ranges, null, sel_dontScroll)\n\t } else {\n\t input.prevInput = \"\"\n\t te.value = ranges.text.join(\"\\n\")\n\t selectInput(te)\n\t }\n\t }\n\t if (e.type == \"cut\") { cm.state.cutIncoming = true }\n\t }\n\t on(te, \"cut\", prepareCopyCut)\n\t on(te, \"copy\", prepareCopyCut)\n\t\n\t on(display.scroller, \"paste\", function (e) {\n\t if (eventInWidget(display, e) || signalDOMEvent(cm, e)) { return }\n\t cm.state.pasteIncoming = true\n\t input.focus()\n\t })\n\t\n\t // Prevent normal selection in the editor (we handle our own)\n\t on(display.lineSpace, \"selectstart\", function (e) {\n\t if (!eventInWidget(display, e)) { e_preventDefault(e) }\n\t })\n\t\n\t on(te, \"compositionstart\", function () {\n\t var start = cm.getCursor(\"from\")\n\t if (input.composing) { input.composing.range.clear() }\n\t input.composing = {\n\t start: start,\n\t range: cm.markText(start, cm.getCursor(\"to\"), {className: \"CodeMirror-composing\"})\n\t }\n\t })\n\t on(te, \"compositionend\", function () {\n\t if (input.composing) {\n\t input.poll()\n\t input.composing.range.clear()\n\t input.composing = null\n\t }\n\t })\n\t};\n\t\n\tTextareaInput.prototype.prepareSelection = function () {\n\t // Redraw the selection and/or cursor\n\t var cm = this.cm, display = cm.display, doc = cm.doc\n\t var result = prepareSelection(cm)\n\t\n\t // Move the hidden textarea near the cursor to prevent scrolling artifacts\n\t if (cm.options.moveInputWithCursor) {\n\t var headPos = cursorCoords(cm, doc.sel.primary().head, \"div\")\n\t var wrapOff = display.wrapper.getBoundingClientRect(), lineOff = display.lineDiv.getBoundingClientRect()\n\t result.teTop = Math.max(0, Math.min(display.wrapper.clientHeight - 10,\n\t headPos.top + lineOff.top - wrapOff.top))\n\t result.teLeft = Math.max(0, Math.min(display.wrapper.clientWidth - 10,\n\t headPos.left + lineOff.left - wrapOff.left))\n\t }\n\t\n\t return result\n\t};\n\t\n\tTextareaInput.prototype.showSelection = function (drawn) {\n\t var cm = this.cm, display = cm.display\n\t removeChildrenAndAdd(display.cursorDiv, drawn.cursors)\n\t removeChildrenAndAdd(display.selectionDiv, drawn.selection)\n\t if (drawn.teTop != null) {\n\t this.wrapper.style.top = drawn.teTop + \"px\"\n\t this.wrapper.style.left = drawn.teLeft + \"px\"\n\t }\n\t};\n\t\n\t// Reset the input to correspond to the selection (or to be empty,\n\t// when not typing and nothing is selected)\n\tTextareaInput.prototype.reset = function (typing) {\n\t if (this.contextMenuPending) { return }\n\t var minimal, selected, cm = this.cm, doc = cm.doc\n\t if (cm.somethingSelected()) {\n\t this.prevInput = \"\"\n\t var range = doc.sel.primary()\n\t minimal = hasCopyEvent &&\n\t (range.to().line - range.from().line > 100 || (selected = cm.getSelection()).length > 1000)\n\t var content = minimal ? \"-\" : selected || cm.getSelection()\n\t this.textarea.value = content\n\t if (cm.state.focused) { selectInput(this.textarea) }\n\t if (ie && ie_version >= 9) { this.hasSelection = content }\n\t } else if (!typing) {\n\t this.prevInput = this.textarea.value = \"\"\n\t if (ie && ie_version >= 9) { this.hasSelection = null }\n\t }\n\t this.inaccurateSelection = minimal\n\t};\n\t\n\tTextareaInput.prototype.getField = function () { return this.textarea };\n\t\n\tTextareaInput.prototype.supportsTouch = function () { return false };\n\t\n\tTextareaInput.prototype.focus = function () {\n\t if (this.cm.options.readOnly != \"nocursor\" && (!mobile || activeElt() != this.textarea)) {\n\t try { this.textarea.focus() }\n\t catch (e) {} // IE8 will throw if the textarea is display: none or not in DOM\n\t }\n\t};\n\t\n\tTextareaInput.prototype.blur = function () { this.textarea.blur() };\n\t\n\tTextareaInput.prototype.resetPosition = function () {\n\t this.wrapper.style.top = this.wrapper.style.left = 0\n\t};\n\t\n\tTextareaInput.prototype.receivedFocus = function () { this.slowPoll() };\n\t\n\t// Poll for input changes, using the normal rate of polling. This\n\t// runs as long as the editor is focused.\n\tTextareaInput.prototype.slowPoll = function () {\n\t var this$1 = this;\n\t\n\t if (this.pollingFast) { return }\n\t this.polling.set(this.cm.options.pollInterval, function () {\n\t this$1.poll()\n\t if (this$1.cm.state.focused) { this$1.slowPoll() }\n\t })\n\t};\n\t\n\t// When an event has just come in that is likely to add or change\n\t// something in the input textarea, we poll faster, to ensure that\n\t// the change appears on the screen quickly.\n\tTextareaInput.prototype.fastPoll = function () {\n\t var missed = false, input = this\n\t input.pollingFast = true\n\t function p() {\n\t var changed = input.poll()\n\t if (!changed && !missed) {missed = true; input.polling.set(60, p)}\n\t else {input.pollingFast = false; input.slowPoll()}\n\t }\n\t input.polling.set(20, p)\n\t};\n\t\n\t// Read input from the textarea, and update the document to match.\n\t// When something is selected, it is present in the textarea, and\n\t// selected (unless it is huge, in which case a placeholder is\n\t// used). When nothing is selected, the cursor sits after previously\n\t// seen text (can be empty), which is stored in prevInput (we must\n\t// not reset the textarea when typing, because that breaks IME).\n\tTextareaInput.prototype.poll = function () {\n\t var this$1 = this;\n\t\n\t var cm = this.cm, input = this.textarea, prevInput = this.prevInput\n\t // Since this is called a *lot*, try to bail out as cheaply as\n\t // possible when it is clear that nothing happened. hasSelection\n\t // will be the case when there is a lot of text in the textarea,\n\t // in which case reading its value would be expensive.\n\t if (this.contextMenuPending || !cm.state.focused ||\n\t (hasSelection(input) && !prevInput && !this.composing) ||\n\t cm.isReadOnly() || cm.options.disableInput || cm.state.keySeq)\n\t { return false }\n\t\n\t var text = input.value\n\t // If nothing changed, bail.\n\t if (text == prevInput && !cm.somethingSelected()) { return false }\n\t // Work around nonsensical selection resetting in IE9/10, and\n\t // inexplicable appearance of private area unicode characters on\n\t // some key combos in Mac (#2689).\n\t if (ie && ie_version >= 9 && this.hasSelection === text ||\n\t mac && /[\\uf700-\\uf7ff]/.test(text)) {\n\t cm.display.input.reset()\n\t return false\n\t }\n\t\n\t if (cm.doc.sel == cm.display.selForContextMenu) {\n\t var first = text.charCodeAt(0)\n\t if (first == 0x200b && !prevInput) { prevInput = \"\\u200b\" }\n\t if (first == 0x21da) { this.reset(); return this.cm.execCommand(\"undo\") }\n\t }\n\t // Find the part of the input that is actually new\n\t var same = 0, l = Math.min(prevInput.length, text.length)\n\t while (same < l && prevInput.charCodeAt(same) == text.charCodeAt(same)) { ++same }\n\t\n\t runInOp(cm, function () {\n\t applyTextInput(cm, text.slice(same), prevInput.length - same,\n\t null, this$1.composing ? \"*compose\" : null)\n\t\n\t // Don't leave long text in the textarea, since it makes further polling slow\n\t if (text.length > 1000 || text.indexOf(\"\\n\") > -1) { input.value = this$1.prevInput = \"\" }\n\t else { this$1.prevInput = text }\n\t\n\t if (this$1.composing) {\n\t this$1.composing.range.clear()\n\t this$1.composing.range = cm.markText(this$1.composing.start, cm.getCursor(\"to\"),\n\t {className: \"CodeMirror-composing\"})\n\t }\n\t })\n\t return true\n\t};\n\t\n\tTextareaInput.prototype.ensurePolled = function () {\n\t if (this.pollingFast && this.poll()) { this.pollingFast = false }\n\t};\n\t\n\tTextareaInput.prototype.onKeyPress = function () {\n\t if (ie && ie_version >= 9) { this.hasSelection = null }\n\t this.fastPoll()\n\t};\n\t\n\tTextareaInput.prototype.onContextMenu = function (e) {\n\t var input = this, cm = input.cm, display = cm.display, te = input.textarea\n\t var pos = posFromMouse(cm, e), scrollPos = display.scroller.scrollTop\n\t if (!pos || presto) { return } // Opera is difficult.\n\t\n\t // Reset the current text selection only if the click is done outside of the selection\n\t // and 'resetSelectionOnContextMenu' option is true.\n\t var reset = cm.options.resetSelectionOnContextMenu\n\t if (reset && cm.doc.sel.contains(pos) == -1)\n\t { operation(cm, setSelection)(cm.doc, simpleSelection(pos), sel_dontScroll) }\n\t\n\t var oldCSS = te.style.cssText, oldWrapperCSS = input.wrapper.style.cssText\n\t input.wrapper.style.cssText = \"position: absolute\"\n\t var wrapperBox = input.wrapper.getBoundingClientRect()\n\t te.style.cssText = \"position: absolute; width: 30px; height: 30px;\\n top: \" + (e.clientY - wrapperBox.top - 5) + \"px; left: \" + (e.clientX - wrapperBox.left - 5) + \"px;\\n z-index: 1000; background: \" + (ie ? \"rgba(255, 255, 255, .05)\" : \"transparent\") + \";\\n outline: none; border-width: 0; outline: none; overflow: hidden; opacity: .05; filter: alpha(opacity=5);\"\n\t var oldScrollY\n\t if (webkit) { oldScrollY = window.scrollY } // Work around Chrome issue (#2712)\n\t display.input.focus()\n\t if (webkit) { window.scrollTo(null, oldScrollY) }\n\t display.input.reset()\n\t // Adds \"Select all\" to context menu in FF\n\t if (!cm.somethingSelected()) { te.value = input.prevInput = \" \" }\n\t input.contextMenuPending = true\n\t display.selForContextMenu = cm.doc.sel\n\t clearTimeout(display.detectingSelectAll)\n\t\n\t // Select-all will be greyed out if there's nothing to select, so\n\t // this adds a zero-width space so that we can later check whether\n\t // it got selected.\n\t function prepareSelectAllHack() {\n\t if (te.selectionStart != null) {\n\t var selected = cm.somethingSelected()\n\t var extval = \"\\u200b\" + (selected ? te.value : \"\")\n\t te.value = \"\\u21da\" // Used to catch context-menu undo\n\t te.value = extval\n\t input.prevInput = selected ? \"\" : \"\\u200b\"\n\t te.selectionStart = 1; te.selectionEnd = extval.length\n\t // Re-set this, in case some other handler touched the\n\t // selection in the meantime.\n\t display.selForContextMenu = cm.doc.sel\n\t }\n\t }\n\t function rehide() {\n\t input.contextMenuPending = false\n\t input.wrapper.style.cssText = oldWrapperCSS\n\t te.style.cssText = oldCSS\n\t if (ie && ie_version < 9) { display.scrollbars.setScrollTop(display.scroller.scrollTop = scrollPos) }\n\t\n\t // Try to detect the user choosing select-all\n\t if (te.selectionStart != null) {\n\t if (!ie || (ie && ie_version < 9)) { prepareSelectAllHack() }\n\t var i = 0, poll = function () {\n\t if (display.selForContextMenu == cm.doc.sel && te.selectionStart == 0 &&\n\t te.selectionEnd > 0 && input.prevInput == \"\\u200b\")\n\t { operation(cm, selectAll)(cm) }\n\t else if (i++ < 10) { display.detectingSelectAll = setTimeout(poll, 500) }\n\t else { display.input.reset() }\n\t }\n\t display.detectingSelectAll = setTimeout(poll, 200)\n\t }\n\t }\n\t\n\t if (ie && ie_version >= 9) { prepareSelectAllHack() }\n\t if (captureRightClick) {\n\t e_stop(e)\n\t var mouseup = function () {\n\t off(window, \"mouseup\", mouseup)\n\t setTimeout(rehide, 20)\n\t }\n\t on(window, \"mouseup\", mouseup)\n\t } else {\n\t setTimeout(rehide, 50)\n\t }\n\t};\n\t\n\tTextareaInput.prototype.readOnlyChanged = function (val) {\n\t if (!val) { this.reset() }\n\t};\n\t\n\tTextareaInput.prototype.setUneditable = function () {};\n\t\n\tTextareaInput.prototype.needsContentAttribute = false\n\t\n\tfunction fromTextArea(textarea, options) {\n\t options = options ? copyObj(options) : {}\n\t options.value = textarea.value\n\t if (!options.tabindex && textarea.tabIndex)\n\t { options.tabindex = textarea.tabIndex }\n\t if (!options.placeholder && textarea.placeholder)\n\t { options.placeholder = textarea.placeholder }\n\t // Set autofocus to true if this textarea is focused, or if it has\n\t // autofocus and no other element is focused.\n\t if (options.autofocus == null) {\n\t var hasFocus = activeElt()\n\t options.autofocus = hasFocus == textarea ||\n\t textarea.getAttribute(\"autofocus\") != null && hasFocus == document.body\n\t }\n\t\n\t function save() {textarea.value = cm.getValue()}\n\t\n\t var realSubmit\n\t if (textarea.form) {\n\t on(textarea.form, \"submit\", save)\n\t // Deplorable hack to make the submit method do the right thing.\n\t if (!options.leaveSubmitMethodAlone) {\n\t var form = textarea.form\n\t realSubmit = form.submit\n\t try {\n\t var wrappedSubmit = form.submit = function () {\n\t save()\n\t form.submit = realSubmit\n\t form.submit()\n\t form.submit = wrappedSubmit\n\t }\n\t } catch(e) {}\n\t }\n\t }\n\t\n\t options.finishInit = function (cm) {\n\t cm.save = save\n\t cm.getTextArea = function () { return textarea; }\n\t cm.toTextArea = function () {\n\t cm.toTextArea = isNaN // Prevent this from being ran twice\n\t save()\n\t textarea.parentNode.removeChild(cm.getWrapperElement())\n\t textarea.style.display = \"\"\n\t if (textarea.form) {\n\t off(textarea.form, \"submit\", save)\n\t if (typeof textarea.form.submit == \"function\")\n\t { textarea.form.submit = realSubmit }\n\t }\n\t }\n\t }\n\t\n\t textarea.style.display = \"none\"\n\t var cm = CodeMirror(function (node) { return textarea.parentNode.insertBefore(node, textarea.nextSibling); },\n\t options)\n\t return cm\n\t}\n\t\n\tfunction addLegacyProps(CodeMirror) {\n\t CodeMirror.off = off\n\t CodeMirror.on = on\n\t CodeMirror.wheelEventPixels = wheelEventPixels\n\t CodeMirror.Doc = Doc\n\t CodeMirror.splitLines = splitLinesAuto\n\t CodeMirror.countColumn = countColumn\n\t CodeMirror.findColumn = findColumn\n\t CodeMirror.isWordChar = isWordCharBasic\n\t CodeMirror.Pass = Pass\n\t CodeMirror.signal = signal\n\t CodeMirror.Line = Line\n\t CodeMirror.changeEnd = changeEnd\n\t CodeMirror.scrollbarModel = scrollbarModel\n\t CodeMirror.Pos = Pos\n\t CodeMirror.cmpPos = cmp\n\t CodeMirror.modes = modes\n\t CodeMirror.mimeModes = mimeModes\n\t CodeMirror.resolveMode = resolveMode\n\t CodeMirror.getMode = getMode\n\t CodeMirror.modeExtensions = modeExtensions\n\t CodeMirror.extendMode = extendMode\n\t CodeMirror.copyState = copyState\n\t CodeMirror.startState = startState\n\t CodeMirror.innerMode = innerMode\n\t CodeMirror.commands = commands\n\t CodeMirror.keyMap = keyMap\n\t CodeMirror.keyName = keyName\n\t CodeMirror.isModifierKey = isModifierKey\n\t CodeMirror.lookupKey = lookupKey\n\t CodeMirror.normalizeKeyMap = normalizeKeyMap\n\t CodeMirror.StringStream = StringStream\n\t CodeMirror.SharedTextMarker = SharedTextMarker\n\t CodeMirror.TextMarker = TextMarker\n\t CodeMirror.LineWidget = LineWidget\n\t CodeMirror.e_preventDefault = e_preventDefault\n\t CodeMirror.e_stopPropagation = e_stopPropagation\n\t CodeMirror.e_stop = e_stop\n\t CodeMirror.addClass = addClass\n\t CodeMirror.contains = contains\n\t CodeMirror.rmClass = rmClass\n\t CodeMirror.keyNames = keyNames\n\t}\n\t\n\t// EDITOR CONSTRUCTOR\n\t\n\tdefineOptions(CodeMirror)\n\t\n\taddEditorMethods(CodeMirror)\n\t\n\t// Set up methods on CodeMirror's prototype to redirect to the editor's document.\n\tvar dontDelegate = \"iter insert remove copy getEditor constructor\".split(\" \")\n\tfor (var prop in Doc.prototype) { if (Doc.prototype.hasOwnProperty(prop) && indexOf(dontDelegate, prop) < 0)\n\t { CodeMirror.prototype[prop] = (function(method) {\n\t return function() {return method.apply(this.doc, arguments)}\n\t })(Doc.prototype[prop]) } }\n\t\n\teventMixin(Doc)\n\t\n\t// INPUT HANDLING\n\t\n\tCodeMirror.inputStyles = {\"textarea\": TextareaInput, \"contenteditable\": ContentEditableInput}\n\t\n\t// MODE DEFINITION AND QUERYING\n\t\n\t// Extra arguments are stored as the mode's dependencies, which is\n\t// used by (legacy) mechanisms like loadmode.js to automatically\n\t// load a mode. (Preferred mechanism is the require/define calls.)\n\tCodeMirror.defineMode = function(name/*, mode, …*/) {\n\t if (!CodeMirror.defaults.mode && name != \"null\") { CodeMirror.defaults.mode = name }\n\t defineMode.apply(this, arguments)\n\t}\n\t\n\tCodeMirror.defineMIME = defineMIME\n\t\n\t// Minimal default mode.\n\tCodeMirror.defineMode(\"null\", function () { return ({token: function (stream) { return stream.skipToEnd(); }}); })\n\tCodeMirror.defineMIME(\"text/plain\", \"null\")\n\t\n\t// EXTENSIONS\n\t\n\tCodeMirror.defineExtension = function (name, func) {\n\t CodeMirror.prototype[name] = func\n\t}\n\tCodeMirror.defineDocExtension = function (name, func) {\n\t Doc.prototype[name] = func\n\t}\n\t\n\tCodeMirror.fromTextArea = fromTextArea\n\t\n\taddLegacyProps(CodeMirror)\n\t\n\tCodeMirror.version = \"5.22.0\"\n\t\n\treturn CodeMirror;\n\t\n\t})));\n\n/***/ },\n/* 24 */\n/***/ function(module, exports) {\n\n\t\"use strict\";\n\t\n\t/**\n\t * Copyright (c) 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * \n\t */\n\t\n\tfunction makeEmptyFunction(arg) {\n\t return function () {\n\t return arg;\n\t };\n\t}\n\t\n\t/**\n\t * This function accepts and discards inputs; it has no side effects. This is\n\t * primarily useful idiomatically for overridable function endpoints which\n\t * always need to be callable, since JS lacks a null-call idiom ala Cocoa.\n\t */\n\tvar emptyFunction = function emptyFunction() {};\n\t\n\temptyFunction.thatReturns = makeEmptyFunction;\n\temptyFunction.thatReturnsFalse = makeEmptyFunction(false);\n\temptyFunction.thatReturnsTrue = makeEmptyFunction(true);\n\temptyFunction.thatReturnsNull = makeEmptyFunction(null);\n\temptyFunction.thatReturnsThis = function () {\n\t return this;\n\t};\n\temptyFunction.thatReturnsArgument = function (arg) {\n\t return arg;\n\t};\n\t\n\tmodule.exports = emptyFunction;\n\n/***/ },\n/* 25 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Copyright 2016-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @providesModule ReactInstrumentation\n\t */\n\t\n\t'use strict';\n\t\n\tvar debugTool = null;\n\t\n\tif (false) {\n\t var ReactDebugTool = require('./ReactDebugTool');\n\t debugTool = ReactDebugTool;\n\t}\n\t\n\tmodule.exports = { debugTool: debugTool };\n\n/***/ },\n/* 26 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*!\n\t Copyright (c) 2016 Jed Watson.\n\t Licensed under the MIT License (MIT), see\n\t http://jedwatson.github.io/classnames\n\t*/\n\t/* global define */\n\t\n\t(function () {\n\t\t'use strict';\n\t\n\t\tvar hasOwn = {}.hasOwnProperty;\n\t\n\t\tfunction classNames () {\n\t\t\tvar classes = [];\n\t\n\t\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\t\tvar arg = arguments[i];\n\t\t\t\tif (!arg) continue;\n\t\n\t\t\t\tvar argType = typeof arg;\n\t\n\t\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\t\tclasses.push(arg);\n\t\t\t\t} else if (Array.isArray(arg)) {\n\t\t\t\t\tclasses.push(classNames.apply(null, arg));\n\t\t\t\t} else if (argType === 'object') {\n\t\t\t\t\tfor (var key in arg) {\n\t\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\n\t\t\treturn classes.join(' ');\n\t\t}\n\t\n\t\tif (typeof module !== 'undefined' && module.exports) {\n\t\t\tmodule.exports = classNames;\n\t\t} else if (true) {\n\t\t\t// register as 'classnames', consistent with npm package name\n\t\t\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_RESULT__ = function () {\n\t\t\t\treturn classNames;\n\t\t\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t\t} else {\n\t\t\twindow.classNames = classNames;\n\t\t}\n\t}());\n\n\n/***/ },\n/* 27 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar freeGlobal = __webpack_require__(187);\n\t\n\t/** Detect free variable `self`. */\n\tvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\t\n\t/** Used as a reference to the global object. */\n\tvar root = freeGlobal || freeSelf || Function('return this')();\n\t\n\tmodule.exports = root;\n\n\n/***/ },\n/* 28 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar _react = __webpack_require__(2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _localizers = __webpack_require__(21);\n\t\n\tvar _localizers2 = _interopRequireDefault(_localizers);\n\t\n\tvar _filter = __webpack_require__(323);\n\t\n\tvar _filter2 = _interopRequireDefault(_filter);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tvar filterTypes = Object.keys(_filter2.default).filter(function (i) {\n\t return i !== 'filter';\n\t});\n\t\n\tfunction getInteractionPropType(key) {\n\t var types = [_react.PropTypes.bool, _react.PropTypes.oneOf([key])],\n\t propType = _react.PropTypes.oneOfType(types);\n\t\n\t propType.acceptsArray = _react.PropTypes.oneOfType(types.concat(_react.PropTypes.array));\n\t\n\t return propType;\n\t}\n\t\n\tmodule.exports = {\n\t\n\t elementType: createChainableTypeChecker(function (props, propName, componentName) {\n\t\n\t if (typeof props[propName] !== 'function') {\n\t if (_react2.default.isValidElement(props[propName])) return new Error('Invalid prop `' + propName + '` specified in `' + componentName + '`.' + ' Expected an Element `type`, not an actual Element');\n\t\n\t if (typeof props[propName] !== 'string') return new Error('Invalid prop `' + propName + '` specified in `' + componentName + '`.' + ' Expected an Element `type` such as a tag name or return value of React.createClass(...)');\n\t }\n\t return null;\n\t }),\n\t\n\t numberFormat: createChainableTypeChecker(function () {\n\t var _localizers$number;\n\t\n\t return (_localizers$number = _localizers2.default.number).propType.apply(_localizers$number, arguments);\n\t }),\n\t\n\t dateFormat: createChainableTypeChecker(function () {\n\t var _localizers$date;\n\t\n\t return (_localizers$date = _localizers2.default.date).propType.apply(_localizers$date, arguments);\n\t }),\n\t\n\t disabled: getInteractionPropType('disabled'),\n\t readOnly: getInteractionPropType('readOnly'),\n\t\n\t accessor: _react2.default.PropTypes.oneOfType([_react2.default.PropTypes.string, _react2.default.PropTypes.func]),\n\t\n\t message: _react2.default.PropTypes.oneOfType([_react2.default.PropTypes.node, _react2.default.PropTypes.string]),\n\t\n\t filter: _react2.default.PropTypes.oneOfType([_react2.default.PropTypes.func, _react2.default.PropTypes.bool, _react2.default.PropTypes.oneOf(filterTypes)])\n\t};\n\t\n\tfunction createChainableTypeChecker(validate) {\n\t\n\t function checkType(isRequired, props, propName, componentName) {\n\t componentName = componentName || '<>';\n\t\n\t for (var _len = arguments.length, args = Array(_len > 4 ? _len - 4 : 0), _key = 4; _key < _len; _key++) {\n\t args[_key - 4] = arguments[_key];\n\t }\n\t\n\t if (props[propName] == null) {\n\t if (isRequired) {\n\t return new Error('Required prop `' + propName + '` was not specified in `' + componentName + '`.');\n\t }\n\t } else return validate.apply(undefined, [props, propName, componentName].concat(args));\n\t }\n\t\n\t var chainedCheckType = checkType.bind(null, false);\n\t chainedCheckType.isRequired = checkType.bind(null, true);\n\t\n\t return chainedCheckType;\n\t}\n\n/***/ },\n/* 29 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Copyright 2014-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @providesModule ReactElement\n\t */\n\t\n\t'use strict';\n\t\n\tvar _assign = __webpack_require__(6);\n\t\n\tvar ReactCurrentOwner = __webpack_require__(40);\n\t\n\tvar warning = __webpack_require__(5);\n\tvar canDefineProperty = __webpack_require__(342);\n\tvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\t\n\t// The Symbol used to tag the ReactElement type. If there is no native Symbol\n\t// nor polyfill, then a plain number is used for performance.\n\tvar REACT_ELEMENT_TYPE = typeof Symbol === 'function' && Symbol['for'] && Symbol['for']('react.element') || 0xeac7;\n\t\n\tvar RESERVED_PROPS = {\n\t key: true,\n\t ref: true,\n\t __self: true,\n\t __source: true\n\t};\n\t\n\tvar specialPropKeyWarningShown, specialPropRefWarningShown;\n\t\n\tfunction hasValidRef(config) {\n\t if (false) {\n\t if (hasOwnProperty.call(config, 'ref')) {\n\t var getter = Object.getOwnPropertyDescriptor(config, 'ref').get;\n\t if (getter && getter.isReactWarning) {\n\t return false;\n\t }\n\t }\n\t }\n\t return config.ref !== undefined;\n\t}\n\t\n\tfunction hasValidKey(config) {\n\t if (false) {\n\t if (hasOwnProperty.call(config, 'key')) {\n\t var getter = Object.getOwnPropertyDescriptor(config, 'key').get;\n\t if (getter && getter.isReactWarning) {\n\t return false;\n\t }\n\t }\n\t }\n\t return config.key !== undefined;\n\t}\n\t\n\tfunction defineKeyPropWarningGetter(props, displayName) {\n\t var warnAboutAccessingKey = function () {\n\t if (!specialPropKeyWarningShown) {\n\t specialPropKeyWarningShown = true;\n\t false ? warning(false, '%s: `key` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://fb.me/react-special-props)', displayName) : void 0;\n\t }\n\t };\n\t warnAboutAccessingKey.isReactWarning = true;\n\t Object.defineProperty(props, 'key', {\n\t get: warnAboutAccessingKey,\n\t configurable: true\n\t });\n\t}\n\t\n\tfunction defineRefPropWarningGetter(props, displayName) {\n\t var warnAboutAccessingRef = function () {\n\t if (!specialPropRefWarningShown) {\n\t specialPropRefWarningShown = true;\n\t false ? warning(false, '%s: `ref` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://fb.me/react-special-props)', displayName) : void 0;\n\t }\n\t };\n\t warnAboutAccessingRef.isReactWarning = true;\n\t Object.defineProperty(props, 'ref', {\n\t get: warnAboutAccessingRef,\n\t configurable: true\n\t });\n\t}\n\t\n\t/**\n\t * Factory method to create a new React element. This no longer adheres to\n\t * the class pattern, so do not use new to call it. Also, no instanceof check\n\t * will work. Instead test $$typeof field against Symbol.for('react.element') to check\n\t * if something is a React Element.\n\t *\n\t * @param {*} type\n\t * @param {*} key\n\t * @param {string|object} ref\n\t * @param {*} self A *temporary* helper to detect places where `this` is\n\t * different from the `owner` when React.createElement is called, so that we\n\t * can warn. We want to get rid of owner and replace string `ref`s with arrow\n\t * functions, and as long as `this` and owner are the same, there will be no\n\t * change in behavior.\n\t * @param {*} source An annotation object (added by a transpiler or otherwise)\n\t * indicating filename, line number, and/or other information.\n\t * @param {*} owner\n\t * @param {*} props\n\t * @internal\n\t */\n\tvar ReactElement = function (type, key, ref, self, source, owner, props) {\n\t var element = {\n\t // This tag allow us to uniquely identify this as a React Element\n\t $$typeof: REACT_ELEMENT_TYPE,\n\t\n\t // Built-in properties that belong on the element\n\t type: type,\n\t key: key,\n\t ref: ref,\n\t props: props,\n\t\n\t // Record the component responsible for creating this element.\n\t _owner: owner\n\t };\n\t\n\t if (false) {\n\t // The validation flag is currently mutative. We put it on\n\t // an external backing store so that we can freeze the whole object.\n\t // This can be replaced with a WeakMap once they are implemented in\n\t // commonly used development environments.\n\t element._store = {};\n\t var shadowChildren = Array.isArray(props.children) ? props.children.slice(0) : props.children;\n\t\n\t // To make comparing ReactElements easier for testing purposes, we make\n\t // the validation flag non-enumerable (where possible, which should\n\t // include every environment we run tests in), so the test framework\n\t // ignores it.\n\t if (canDefineProperty) {\n\t Object.defineProperty(element._store, 'validated', {\n\t configurable: false,\n\t enumerable: false,\n\t writable: true,\n\t value: false\n\t });\n\t // self and source are DEV only properties.\n\t Object.defineProperty(element, '_self', {\n\t configurable: false,\n\t enumerable: false,\n\t writable: false,\n\t value: self\n\t });\n\t Object.defineProperty(element, '_shadowChildren', {\n\t configurable: false,\n\t enumerable: false,\n\t writable: false,\n\t value: shadowChildren\n\t });\n\t // Two elements created in two different places should be considered\n\t // equal for testing purposes and therefore we hide it from enumeration.\n\t Object.defineProperty(element, '_source', {\n\t configurable: false,\n\t enumerable: false,\n\t writable: false,\n\t value: source\n\t });\n\t } else {\n\t element._store.validated = false;\n\t element._self = self;\n\t element._shadowChildren = shadowChildren;\n\t element._source = source;\n\t }\n\t if (Object.freeze) {\n\t Object.freeze(element.props);\n\t Object.freeze(element);\n\t }\n\t }\n\t\n\t return element;\n\t};\n\t\n\t/**\n\t * Create and return a new ReactElement of the given type.\n\t * See https://facebook.github.io/react/docs/top-level-api.html#react.createelement\n\t */\n\tReactElement.createElement = function (type, config, children) {\n\t var propName;\n\t\n\t // Reserved names are extracted\n\t var props = {};\n\t\n\t var key = null;\n\t var ref = null;\n\t var self = null;\n\t var source = null;\n\t\n\t if (config != null) {\n\t if (hasValidRef(config)) {\n\t ref = config.ref;\n\t }\n\t if (hasValidKey(config)) {\n\t key = '' + config.key;\n\t }\n\t\n\t self = config.__self === undefined ? null : config.__self;\n\t source = config.__source === undefined ? null : config.__source;\n\t // Remaining properties are added to a new props object\n\t for (propName in config) {\n\t if (hasOwnProperty.call(config, propName) && !RESERVED_PROPS.hasOwnProperty(propName)) {\n\t props[propName] = config[propName];\n\t }\n\t }\n\t }\n\t\n\t // Children can be more than one argument, and those are transferred onto\n\t // the newly allocated props object.\n\t var childrenLength = arguments.length - 2;\n\t if (childrenLength === 1) {\n\t props.children = children;\n\t } else if (childrenLength > 1) {\n\t var childArray = Array(childrenLength);\n\t for (var i = 0; i < childrenLength; i++) {\n\t childArray[i] = arguments[i + 2];\n\t }\n\t props.children = childArray;\n\t }\n\t\n\t // Resolve default props\n\t if (type && type.defaultProps) {\n\t var defaultProps = type.defaultProps;\n\t for (propName in defaultProps) {\n\t if (props[propName] === undefined) {\n\t props[propName] = defaultProps[propName];\n\t }\n\t }\n\t }\n\t if (false) {\n\t if (key || ref) {\n\t if (typeof props.$$typeof === 'undefined' || props.$$typeof !== REACT_ELEMENT_TYPE) {\n\t var displayName = typeof type === 'function' ? type.displayName || type.name || 'Unknown' : type;\n\t if (key) {\n\t defineKeyPropWarningGetter(props, displayName);\n\t }\n\t if (ref) {\n\t defineRefPropWarningGetter(props, displayName);\n\t }\n\t }\n\t }\n\t }\n\t return ReactElement(type, key, ref, self, source, ReactCurrentOwner.current, props);\n\t};\n\t\n\t/**\n\t * Return a function that produces ReactElements of a given type.\n\t * See https://facebook.github.io/react/docs/top-level-api.html#react.createfactory\n\t */\n\tReactElement.createFactory = function (type) {\n\t var factory = ReactElement.createElement.bind(null, type);\n\t // Expose the type on the factory and the prototype so that it can be\n\t // easily accessed on elements. E.g. `.type === Foo`.\n\t // This should not be named `constructor` since this may not be the function\n\t // that created the element, and it may not even be a constructor.\n\t // Legacy hook TODO: Warn if this is accessed\n\t factory.type = type;\n\t return factory;\n\t};\n\t\n\tReactElement.cloneAndReplaceKey = function (oldElement, newKey) {\n\t var newElement = ReactElement(oldElement.type, newKey, oldElement.ref, oldElement._self, oldElement._source, oldElement._owner, oldElement.props);\n\t\n\t return newElement;\n\t};\n\t\n\t/**\n\t * Clone and return a new ReactElement using element as the starting point.\n\t * See https://facebook.github.io/react/docs/top-level-api.html#react.cloneelement\n\t */\n\tReactElement.cloneElement = function (element, config, children) {\n\t var propName;\n\t\n\t // Original props are copied\n\t var props = _assign({}, element.props);\n\t\n\t // Reserved names are extracted\n\t var key = element.key;\n\t var ref = element.ref;\n\t // Self is preserved since the owner is preserved.\n\t var self = element._self;\n\t // Source is preserved since cloneElement is unlikely to be targeted by a\n\t // transpiler, and the original source is probably a better indicator of the\n\t // true owner.\n\t var source = element._source;\n\t\n\t // Owner will be preserved, unless ref is overridden\n\t var owner = element._owner;\n\t\n\t if (config != null) {\n\t if (hasValidRef(config)) {\n\t // Silently steal the ref from the parent.\n\t ref = config.ref;\n\t owner = ReactCurrentOwner.current;\n\t }\n\t if (hasValidKey(config)) {\n\t key = '' + config.key;\n\t }\n\t\n\t // Remaining properties override existing props\n\t var defaultProps;\n\t if (element.type && element.type.defaultProps) {\n\t defaultProps = element.type.defaultProps;\n\t }\n\t for (propName in config) {\n\t if (hasOwnProperty.call(config, propName) && !RESERVED_PROPS.hasOwnProperty(propName)) {\n\t if (config[propName] === undefined && defaultProps !== undefined) {\n\t // Resolve default props\n\t props[propName] = defaultProps[propName];\n\t } else {\n\t props[propName] = config[propName];\n\t }\n\t }\n\t }\n\t }\n\t\n\t // Children can be more than one argument, and those are transferred onto\n\t // the newly allocated props object.\n\t var childrenLength = arguments.length - 2;\n\t if (childrenLength === 1) {\n\t props.children = children;\n\t } else if (childrenLength > 1) {\n\t var childArray = Array(childrenLength);\n\t for (var i = 0; i < childrenLength; i++) {\n\t childArray[i] = arguments[i + 2];\n\t }\n\t props.children = childArray;\n\t }\n\t\n\t return ReactElement(element.type, key, ref, self, source, owner, props);\n\t};\n\t\n\t/**\n\t * Verifies the object is a ReactElement.\n\t * See https://facebook.github.io/react/docs/top-level-api.html#react.isvalidelement\n\t * @param {?object} object\n\t * @return {boolean} True if `object` is a valid component.\n\t * @final\n\t */\n\tReactElement.isValidElement = function (object) {\n\t return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n\t};\n\t\n\tReactElement.REACT_ELEMENT_TYPE = REACT_ELEMENT_TYPE;\n\t\n\tmodule.exports = ReactElement;\n\n/***/ },\n/* 30 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Copyright 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @providesModule ReactUpdates\n\t */\n\t\n\t'use strict';\n\t\n\tvar _prodInvariant = __webpack_require__(4),\n\t _assign = __webpack_require__(6);\n\t\n\tvar CallbackQueue = __webpack_require__(325);\n\tvar PooledClass = __webpack_require__(39);\n\tvar ReactFeatureFlags = __webpack_require__(332);\n\tvar ReactReconciler = __webpack_require__(55);\n\tvar Transaction = __webpack_require__(75);\n\t\n\tvar invariant = __webpack_require__(3);\n\t\n\tvar dirtyComponents = [];\n\tvar updateBatchNumber = 0;\n\tvar asapCallbackQueue = CallbackQueue.getPooled();\n\tvar asapEnqueued = false;\n\t\n\tvar batchingStrategy = null;\n\t\n\tfunction ensureInjected() {\n\t !(ReactUpdates.ReactReconcileTransaction && batchingStrategy) ? false ? invariant(false, 'ReactUpdates: must inject a reconcile transaction class and batching strategy') : _prodInvariant('123') : void 0;\n\t}\n\t\n\tvar NESTED_UPDATES = {\n\t initialize: function () {\n\t this.dirtyComponentsLength = dirtyComponents.length;\n\t },\n\t close: function () {\n\t if (this.dirtyComponentsLength !== dirtyComponents.length) {\n\t // Additional updates were enqueued by componentDidUpdate handlers or\n\t // similar; before our own UPDATE_QUEUEING wrapper closes, we want to run\n\t // these new updates so that if A's componentDidUpdate calls setState on\n\t // B, B will update before the callback A's updater provided when calling\n\t // setState.\n\t dirtyComponents.splice(0, this.dirtyComponentsLength);\n\t flushBatchedUpdates();\n\t } else {\n\t dirtyComponents.length = 0;\n\t }\n\t }\n\t};\n\t\n\tvar UPDATE_QUEUEING = {\n\t initialize: function () {\n\t this.callbackQueue.reset();\n\t },\n\t close: function () {\n\t this.callbackQueue.notifyAll();\n\t }\n\t};\n\t\n\tvar TRANSACTION_WRAPPERS = [NESTED_UPDATES, UPDATE_QUEUEING];\n\t\n\tfunction ReactUpdatesFlushTransaction() {\n\t this.reinitializeTransaction();\n\t this.dirtyComponentsLength = null;\n\t this.callbackQueue = CallbackQueue.getPooled();\n\t this.reconcileTransaction = ReactUpdates.ReactReconcileTransaction.getPooled(\n\t /* useCreateElement */true);\n\t}\n\t\n\t_assign(ReactUpdatesFlushTransaction.prototype, Transaction.Mixin, {\n\t getTransactionWrappers: function () {\n\t return TRANSACTION_WRAPPERS;\n\t },\n\t\n\t destructor: function () {\n\t this.dirtyComponentsLength = null;\n\t CallbackQueue.release(this.callbackQueue);\n\t this.callbackQueue = null;\n\t ReactUpdates.ReactReconcileTransaction.release(this.reconcileTransaction);\n\t this.reconcileTransaction = null;\n\t },\n\t\n\t perform: function (method, scope, a) {\n\t // Essentially calls `this.reconcileTransaction.perform(method, scope, a)`\n\t // with this transaction's wrappers around it.\n\t return Transaction.Mixin.perform.call(this, this.reconcileTransaction.perform, this.reconcileTransaction, method, scope, a);\n\t }\n\t});\n\t\n\tPooledClass.addPoolingTo(ReactUpdatesFlushTransaction);\n\t\n\tfunction batchedUpdates(callback, a, b, c, d, e) {\n\t ensureInjected();\n\t batchingStrategy.batchedUpdates(callback, a, b, c, d, e);\n\t}\n\t\n\t/**\n\t * Array comparator for ReactComponents by mount ordering.\n\t *\n\t * @param {ReactComponent} c1 first component you're comparing\n\t * @param {ReactComponent} c2 second component you're comparing\n\t * @return {number} Return value usable by Array.prototype.sort().\n\t */\n\tfunction mountOrderComparator(c1, c2) {\n\t return c1._mountOrder - c2._mountOrder;\n\t}\n\t\n\tfunction runBatchedUpdates(transaction) {\n\t var len = transaction.dirtyComponentsLength;\n\t !(len === dirtyComponents.length) ? false ? invariant(false, 'Expected flush transaction\\'s stored dirty-components length (%s) to match dirty-components array length (%s).', len, dirtyComponents.length) : _prodInvariant('124', len, dirtyComponents.length) : void 0;\n\t\n\t // Since reconciling a component higher in the owner hierarchy usually (not\n\t // always -- see shouldComponentUpdate()) will reconcile children, reconcile\n\t // them before their children by sorting the array.\n\t dirtyComponents.sort(mountOrderComparator);\n\t\n\t // Any updates enqueued while reconciling must be performed after this entire\n\t // batch. Otherwise, if dirtyComponents is [A, B] where A has children B and\n\t // C, B could update twice in a single batch if C's render enqueues an update\n\t // to B (since B would have already updated, we should skip it, and the only\n\t // way we can know to do so is by checking the batch counter).\n\t updateBatchNumber++;\n\t\n\t for (var i = 0; i < len; i++) {\n\t // If a component is unmounted before pending changes apply, it will still\n\t // be here, but we assume that it has cleared its _pendingCallbacks and\n\t // that performUpdateIfNecessary is a noop.\n\t var component = dirtyComponents[i];\n\t\n\t // If performUpdateIfNecessary happens to enqueue any new updates, we\n\t // shouldn't execute the callbacks until the next render happens, so\n\t // stash the callbacks first\n\t var callbacks = component._pendingCallbacks;\n\t component._pendingCallbacks = null;\n\t\n\t var markerName;\n\t if (ReactFeatureFlags.logTopLevelRenders) {\n\t var namedComponent = component;\n\t // Duck type TopLevelWrapper. This is probably always true.\n\t if (component._currentElement.props === component._renderedComponent._currentElement) {\n\t namedComponent = component._renderedComponent;\n\t }\n\t markerName = 'React update: ' + namedComponent.getName();\n\t console.time(markerName);\n\t }\n\t\n\t ReactReconciler.performUpdateIfNecessary(component, transaction.reconcileTransaction, updateBatchNumber);\n\t\n\t if (markerName) {\n\t console.timeEnd(markerName);\n\t }\n\t\n\t if (callbacks) {\n\t for (var j = 0; j < callbacks.length; j++) {\n\t transaction.callbackQueue.enqueue(callbacks[j], component.getPublicInstance());\n\t }\n\t }\n\t }\n\t}\n\t\n\tvar flushBatchedUpdates = function () {\n\t // ReactUpdatesFlushTransaction's wrappers will clear the dirtyComponents\n\t // array and perform any updates enqueued by mount-ready handlers (i.e.,\n\t // componentDidUpdate) but we need to check here too in order to catch\n\t // updates enqueued by setState callbacks and asap calls.\n\t while (dirtyComponents.length || asapEnqueued) {\n\t if (dirtyComponents.length) {\n\t var transaction = ReactUpdatesFlushTransaction.getPooled();\n\t transaction.perform(runBatchedUpdates, null, transaction);\n\t ReactUpdatesFlushTransaction.release(transaction);\n\t }\n\t\n\t if (asapEnqueued) {\n\t asapEnqueued = false;\n\t var queue = asapCallbackQueue;\n\t asapCallbackQueue = CallbackQueue.getPooled();\n\t queue.notifyAll();\n\t CallbackQueue.release(queue);\n\t }\n\t }\n\t};\n\t\n\t/**\n\t * Mark a component as needing a rerender, adding an optional callback to a\n\t * list of functions which will be executed once the rerender occurs.\n\t */\n\tfunction enqueueUpdate(component) {\n\t ensureInjected();\n\t\n\t // Various parts of our code (such as ReactCompositeComponent's\n\t // _renderValidatedComponent) assume that calls to render aren't nested;\n\t // verify that that's the case. (This is called by each top-level update\n\t // function, like setState, forceUpdate, etc.; creation and\n\t // destruction of top-level components is guarded in ReactMount.)\n\t\n\t if (!batchingStrategy.isBatchingUpdates) {\n\t batchingStrategy.batchedUpdates(enqueueUpdate, component);\n\t return;\n\t }\n\t\n\t dirtyComponents.push(component);\n\t if (component._updateBatchNumber == null) {\n\t component._updateBatchNumber = updateBatchNumber + 1;\n\t }\n\t}\n\t\n\t/**\n\t * Enqueue a callback to be run at the end of the current batching cycle. Throws\n\t * if no updates are currently being performed.\n\t */\n\tfunction asap(callback, context) {\n\t !batchingStrategy.isBatchingUpdates ? false ? invariant(false, 'ReactUpdates.asap: Can\\'t enqueue an asap callback in a context whereupdates are not being batched.') : _prodInvariant('125') : void 0;\n\t asapCallbackQueue.enqueue(callback, context);\n\t asapEnqueued = true;\n\t}\n\t\n\tvar ReactUpdatesInjection = {\n\t injectReconcileTransaction: function (ReconcileTransaction) {\n\t !ReconcileTransaction ? false ? invariant(false, 'ReactUpdates: must provide a reconcile transaction class') : _prodInvariant('126') : void 0;\n\t ReactUpdates.ReactReconcileTransaction = ReconcileTransaction;\n\t },\n\t\n\t injectBatchingStrategy: function (_batchingStrategy) {\n\t !_batchingStrategy ? false ? invariant(false, 'ReactUpdates: must provide a batching strategy') : _prodInvariant('127') : void 0;\n\t !(typeof _batchingStrategy.batchedUpdates === 'function') ? false ? invariant(false, 'ReactUpdates: must provide a batchedUpdates() function') : _prodInvariant('128') : void 0;\n\t !(typeof _batchingStrategy.isBatchingUpdates === 'boolean') ? false ? invariant(false, 'ReactUpdates: must provide an isBatchingUpdates boolean attribute') : _prodInvariant('129') : void 0;\n\t batchingStrategy = _batchingStrategy;\n\t }\n\t};\n\t\n\tvar ReactUpdates = {\n\t /**\n\t * React references `ReactReconcileTransaction` using this property in order\n\t * to allow dependency injection.\n\t *\n\t * @internal\n\t */\n\t ReactReconcileTransaction: null,\n\t\n\t batchedUpdates: batchedUpdates,\n\t enqueueUpdate: enqueueUpdate,\n\t flushBatchedUpdates: flushBatchedUpdates,\n\t injection: ReactUpdatesInjection,\n\t asap: asap\n\t};\n\t\n\tmodule.exports = ReactUpdates;\n\n/***/ },\n/* 31 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar _react = __webpack_require__(2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _reactDom = __webpack_require__(43);\n\t\n\tvar _reactDom2 = _interopRequireDefault(_reactDom);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tvar _version = _react2.default.version.split('.').map(parseFloat);\n\t\n\tmodule.exports = {\n\t version: function version() {\n\t return _version;\n\t },\n\t findDOMNode: function findDOMNode(component) {\n\t return _reactDom2.default.findDOMNode(component);\n\t },\n\t batchedUpdates: function batchedUpdates(cb) {\n\t _reactDom2.default.unstable_batchedUpdates(cb);\n\t }\n\t};\n\n/***/ },\n/* 32 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Copyright 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @providesModule EventConstants\n\t */\n\t\n\t'use strict';\n\t\n\tvar keyMirror = __webpack_require__(83);\n\t\n\tvar PropagationPhases = keyMirror({ bubbled: null, captured: null });\n\t\n\t/**\n\t * Types of raw signals from the browser caught at the top level.\n\t */\n\tvar topLevelTypes = keyMirror({\n\t topAbort: null,\n\t topAnimationEnd: null,\n\t topAnimationIteration: null,\n\t topAnimationStart: null,\n\t topBlur: null,\n\t topCanPlay: null,\n\t topCanPlayThrough: null,\n\t topChange: null,\n\t topClick: null,\n\t topCompositionEnd: null,\n\t topCompositionStart: null,\n\t topCompositionUpdate: null,\n\t topContextMenu: null,\n\t topCopy: null,\n\t topCut: null,\n\t topDoubleClick: null,\n\t topDrag: null,\n\t topDragEnd: null,\n\t topDragEnter: null,\n\t topDragExit: null,\n\t topDragLeave: null,\n\t topDragOver: null,\n\t topDragStart: null,\n\t topDrop: null,\n\t topDurationChange: null,\n\t topEmptied: null,\n\t topEncrypted: null,\n\t topEnded: null,\n\t topError: null,\n\t topFocus: null,\n\t topInput: null,\n\t topInvalid: null,\n\t topKeyDown: null,\n\t topKeyPress: null,\n\t topKeyUp: null,\n\t topLoad: null,\n\t topLoadedData: null,\n\t topLoadedMetadata: null,\n\t topLoadStart: null,\n\t topMouseDown: null,\n\t topMouseMove: null,\n\t topMouseOut: null,\n\t topMouseOver: null,\n\t topMouseUp: null,\n\t topPaste: null,\n\t topPause: null,\n\t topPlay: null,\n\t topPlaying: null,\n\t topProgress: null,\n\t topRateChange: null,\n\t topReset: null,\n\t topScroll: null,\n\t topSeeked: null,\n\t topSeeking: null,\n\t topSelectionChange: null,\n\t topStalled: null,\n\t topSubmit: null,\n\t topSuspend: null,\n\t topTextInput: null,\n\t topTimeUpdate: null,\n\t topTouchCancel: null,\n\t topTouchEnd: null,\n\t topTouchMove: null,\n\t topTouchStart: null,\n\t topTransitionEnd: null,\n\t topVolumeChange: null,\n\t topWaiting: null,\n\t topWheel: null\n\t});\n\t\n\tvar EventConstants = {\n\t topLevelTypes: topLevelTypes,\n\t PropagationPhases: PropagationPhases\n\t};\n\t\n\tmodule.exports = EventConstants;\n\n/***/ },\n/* 33 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Copyright 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @providesModule SyntheticEvent\n\t */\n\t\n\t'use strict';\n\t\n\tvar _assign = __webpack_require__(6);\n\t\n\tvar PooledClass = __webpack_require__(39);\n\t\n\tvar emptyFunction = __webpack_require__(24);\n\tvar warning = __webpack_require__(5);\n\t\n\tvar didWarnForAddedNewProperty = false;\n\tvar isProxySupported = typeof Proxy === 'function';\n\t\n\tvar shouldBeReleasedProperties = ['dispatchConfig', '_targetInst', 'nativeEvent', 'isDefaultPrevented', 'isPropagationStopped', '_dispatchListeners', '_dispatchInstances'];\n\t\n\t/**\n\t * @interface Event\n\t * @see http://www.w3.org/TR/DOM-Level-3-Events/\n\t */\n\tvar EventInterface = {\n\t type: null,\n\t target: null,\n\t // currentTarget is set when dispatching; no use in copying it here\n\t currentTarget: emptyFunction.thatReturnsNull,\n\t eventPhase: null,\n\t bubbles: null,\n\t cancelable: null,\n\t timeStamp: function (event) {\n\t return event.timeStamp || Date.now();\n\t },\n\t defaultPrevented: null,\n\t isTrusted: null\n\t};\n\t\n\t/**\n\t * Synthetic events are dispatched by event plugins, typically in response to a\n\t * top-level event delegation handler.\n\t *\n\t * These systems should generally use pooling to reduce the frequency of garbage\n\t * collection. The system should check `isPersistent` to determine whether the\n\t * event should be released into the pool after being dispatched. Users that\n\t * need a persisted event should invoke `persist`.\n\t *\n\t * Synthetic events (and subclasses) implement the DOM Level 3 Events API by\n\t * normalizing browser quirks. Subclasses do not necessarily have to implement a\n\t * DOM interface; custom application-specific events can also subclass this.\n\t *\n\t * @param {object} dispatchConfig Configuration used to dispatch this event.\n\t * @param {*} targetInst Marker identifying the event target.\n\t * @param {object} nativeEvent Native browser event.\n\t * @param {DOMEventTarget} nativeEventTarget Target node.\n\t */\n\tfunction SyntheticEvent(dispatchConfig, targetInst, nativeEvent, nativeEventTarget) {\n\t if (false) {\n\t // these have a getter/setter for warnings\n\t delete this.nativeEvent;\n\t delete this.preventDefault;\n\t delete this.stopPropagation;\n\t }\n\t\n\t this.dispatchConfig = dispatchConfig;\n\t this._targetInst = targetInst;\n\t this.nativeEvent = nativeEvent;\n\t\n\t var Interface = this.constructor.Interface;\n\t for (var propName in Interface) {\n\t if (!Interface.hasOwnProperty(propName)) {\n\t continue;\n\t }\n\t if (false) {\n\t delete this[propName]; // this has a getter/setter for warnings\n\t }\n\t var normalize = Interface[propName];\n\t if (normalize) {\n\t this[propName] = normalize(nativeEvent);\n\t } else {\n\t if (propName === 'target') {\n\t this.target = nativeEventTarget;\n\t } else {\n\t this[propName] = nativeEvent[propName];\n\t }\n\t }\n\t }\n\t\n\t var defaultPrevented = nativeEvent.defaultPrevented != null ? nativeEvent.defaultPrevented : nativeEvent.returnValue === false;\n\t if (defaultPrevented) {\n\t this.isDefaultPrevented = emptyFunction.thatReturnsTrue;\n\t } else {\n\t this.isDefaultPrevented = emptyFunction.thatReturnsFalse;\n\t }\n\t this.isPropagationStopped = emptyFunction.thatReturnsFalse;\n\t return this;\n\t}\n\t\n\t_assign(SyntheticEvent.prototype, {\n\t\n\t preventDefault: function () {\n\t this.defaultPrevented = true;\n\t var event = this.nativeEvent;\n\t if (!event) {\n\t return;\n\t }\n\t\n\t if (event.preventDefault) {\n\t event.preventDefault();\n\t } else if (typeof event.returnValue !== 'unknown') {\n\t // eslint-disable-line valid-typeof\n\t event.returnValue = false;\n\t }\n\t this.isDefaultPrevented = emptyFunction.thatReturnsTrue;\n\t },\n\t\n\t stopPropagation: function () {\n\t var event = this.nativeEvent;\n\t if (!event) {\n\t return;\n\t }\n\t\n\t if (event.stopPropagation) {\n\t event.stopPropagation();\n\t } else if (typeof event.cancelBubble !== 'unknown') {\n\t // eslint-disable-line valid-typeof\n\t // The ChangeEventPlugin registers a \"propertychange\" event for\n\t // IE. This event does not support bubbling or cancelling, and\n\t // any references to cancelBubble throw \"Member not found\". A\n\t // typeof check of \"unknown\" circumvents this issue (and is also\n\t // IE specific).\n\t event.cancelBubble = true;\n\t }\n\t\n\t this.isPropagationStopped = emptyFunction.thatReturnsTrue;\n\t },\n\t\n\t /**\n\t * We release all dispatched `SyntheticEvent`s after each event loop, adding\n\t * them back into the pool. This allows a way to hold onto a reference that\n\t * won't be added back into the pool.\n\t */\n\t persist: function () {\n\t this.isPersistent = emptyFunction.thatReturnsTrue;\n\t },\n\t\n\t /**\n\t * Checks if this event should be released back into the pool.\n\t *\n\t * @return {boolean} True if this should not be released, false otherwise.\n\t */\n\t isPersistent: emptyFunction.thatReturnsFalse,\n\t\n\t /**\n\t * `PooledClass` looks for `destructor` on each instance it releases.\n\t */\n\t destructor: function () {\n\t var Interface = this.constructor.Interface;\n\t for (var propName in Interface) {\n\t if (false) {\n\t Object.defineProperty(this, propName, getPooledWarningPropertyDefinition(propName, Interface[propName]));\n\t } else {\n\t this[propName] = null;\n\t }\n\t }\n\t for (var i = 0; i < shouldBeReleasedProperties.length; i++) {\n\t this[shouldBeReleasedProperties[i]] = null;\n\t }\n\t if (false) {\n\t Object.defineProperty(this, 'nativeEvent', getPooledWarningPropertyDefinition('nativeEvent', null));\n\t Object.defineProperty(this, 'preventDefault', getPooledWarningPropertyDefinition('preventDefault', emptyFunction));\n\t Object.defineProperty(this, 'stopPropagation', getPooledWarningPropertyDefinition('stopPropagation', emptyFunction));\n\t }\n\t }\n\t\n\t});\n\t\n\tSyntheticEvent.Interface = EventInterface;\n\t\n\tif (false) {\n\t if (isProxySupported) {\n\t /*eslint-disable no-func-assign */\n\t SyntheticEvent = new Proxy(SyntheticEvent, {\n\t construct: function (target, args) {\n\t return this.apply(target, Object.create(target.prototype), args);\n\t },\n\t apply: function (constructor, that, args) {\n\t return new Proxy(constructor.apply(that, args), {\n\t set: function (target, prop, value) {\n\t if (prop !== 'isPersistent' && !target.constructor.Interface.hasOwnProperty(prop) && shouldBeReleasedProperties.indexOf(prop) === -1) {\n\t process.env.NODE_ENV !== 'production' ? warning(didWarnForAddedNewProperty || target.isPersistent(), 'This synthetic event is reused for performance reasons. If you\\'re ' + 'seeing this, you\\'re adding a new property in the synthetic event object. ' + 'The property is never released. See ' + 'https://fb.me/react-event-pooling for more information.') : void 0;\n\t didWarnForAddedNewProperty = true;\n\t }\n\t target[prop] = value;\n\t return true;\n\t }\n\t });\n\t }\n\t });\n\t /*eslint-enable no-func-assign */\n\t }\n\t}\n\t/**\n\t * Helper to reduce boilerplate when creating subclasses.\n\t *\n\t * @param {function} Class\n\t * @param {?object} Interface\n\t */\n\tSyntheticEvent.augmentClass = function (Class, Interface) {\n\t var Super = this;\n\t\n\t var E = function () {};\n\t E.prototype = Super.prototype;\n\t var prototype = new E();\n\t\n\t _assign(prototype, Class.prototype);\n\t Class.prototype = prototype;\n\t Class.prototype.constructor = Class;\n\t\n\t Class.Interface = _assign({}, Super.Interface, Interface);\n\t Class.augmentClass = Super.augmentClass;\n\t\n\t PooledClass.addPoolingTo(Class, PooledClass.fourArgumentPooler);\n\t};\n\t\n\tPooledClass.addPoolingTo(SyntheticEvent, PooledClass.fourArgumentPooler);\n\t\n\tmodule.exports = SyntheticEvent;\n\t\n\t/**\n\t * Helper to nullify syntheticEvent instance properties when destructing\n\t *\n\t * @param {object} SyntheticEvent\n\t * @param {String} propName\n\t * @return {object} defineProperty object\n\t */\n\tfunction getPooledWarningPropertyDefinition(propName, getVal) {\n\t var isFunction = typeof getVal === 'function';\n\t return {\n\t configurable: true,\n\t set: set,\n\t get: get\n\t };\n\t\n\t function set(val) {\n\t var action = isFunction ? 'setting the method' : 'setting the property';\n\t warn(action, 'This is effectively a no-op');\n\t return val;\n\t }\n\t\n\t function get() {\n\t var action = isFunction ? 'accessing the method' : 'accessing the property';\n\t var result = isFunction ? 'This is a no-op function' : 'This is set to null';\n\t warn(action, result);\n\t return getVal;\n\t }\n\t\n\t function warn(action, result) {\n\t var warningCondition = false;\n\t false ? warning(warningCondition, 'This synthetic event is reused for performance reasons. If you\\'re seeing this, ' + 'you\\'re %s `%s` on a released/nullified synthetic event. %s. ' + 'If you must keep the original synthetic event around, use event.persist(). ' + 'See https://fb.me/react-event-pooling for more information.', action, propName, result) : void 0;\n\t }\n\t}\n\n/***/ },\n/* 34 */\n/***/ function(module, exports) {\n\n\t\"use strict\";\n\t\n\t/**\n\t * Copyright (c) 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t */\n\t\n\t/**\n\t * Allows extraction of a minified key. Let's the build system minify keys\n\t * without losing the ability to dynamically use key strings as values\n\t * themselves. Pass in an object with a single key/val pair and it will return\n\t * you the string key of that single record. Suppose you want to grab the\n\t * value for a key 'className' inside of an object. Key/val minification may\n\t * have aliased that key to be 'xa12'. keyOf({className: null}) will return\n\t * 'xa12' in that case. Resolve keys you want to use once at startup time, then\n\t * reuse those resolutions.\n\t */\n\tvar keyOf = function keyOf(oneKeyObj) {\n\t var key;\n\t for (key in oneKeyObj) {\n\t if (!oneKeyObj.hasOwnProperty(key)) {\n\t continue;\n\t }\n\t return key;\n\t }\n\t return null;\n\t};\n\t\n\tmodule.exports = keyOf;\n\n/***/ },\n/* 35 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\texports.createPath = exports.parsePath = exports.getQueryStringValueFromPath = exports.stripQueryStringValueFromPath = exports.addQueryStringValueToPath = undefined;\n\t\n\tvar _warning = __webpack_require__(41);\n\t\n\tvar _warning2 = _interopRequireDefault(_warning);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tvar addQueryStringValueToPath = exports.addQueryStringValueToPath = function addQueryStringValueToPath(path, key, value) {\n\t var _parsePath = parsePath(path);\n\t\n\t var pathname = _parsePath.pathname;\n\t var search = _parsePath.search;\n\t var hash = _parsePath.hash;\n\t\n\t\n\t return createPath({\n\t pathname: pathname,\n\t search: search + (search.indexOf('?') === -1 ? '?' : '&') + key + '=' + value,\n\t hash: hash\n\t });\n\t};\n\t\n\tvar stripQueryStringValueFromPath = exports.stripQueryStringValueFromPath = function stripQueryStringValueFromPath(path, key) {\n\t var _parsePath2 = parsePath(path);\n\t\n\t var pathname = _parsePath2.pathname;\n\t var search = _parsePath2.search;\n\t var hash = _parsePath2.hash;\n\t\n\t\n\t return createPath({\n\t pathname: pathname,\n\t search: search.replace(new RegExp('([?&])' + key + '=[a-zA-Z0-9]+(&?)'), function (match, prefix, suffix) {\n\t return prefix === '?' ? prefix : suffix;\n\t }),\n\t hash: hash\n\t });\n\t};\n\t\n\tvar getQueryStringValueFromPath = exports.getQueryStringValueFromPath = function getQueryStringValueFromPath(path, key) {\n\t var _parsePath3 = parsePath(path);\n\t\n\t var search = _parsePath3.search;\n\t\n\t var match = search.match(new RegExp('[?&]' + key + '=([a-zA-Z0-9]+)'));\n\t return match && match[1];\n\t};\n\t\n\tvar extractPath = function extractPath(string) {\n\t var match = string.match(/^(https?:)?\\/\\/[^\\/]*/);\n\t return match == null ? string : string.substring(match[0].length);\n\t};\n\t\n\tvar parsePath = exports.parsePath = function parsePath(path) {\n\t var pathname = extractPath(path);\n\t var search = '';\n\t var hash = '';\n\t\n\t false ? (0, _warning2.default)(path === pathname, 'A path must be pathname + search + hash only, not a full URL like \"%s\"', path) : void 0;\n\t\n\t var hashIndex = pathname.indexOf('#');\n\t if (hashIndex !== -1) {\n\t hash = pathname.substring(hashIndex);\n\t pathname = pathname.substring(0, hashIndex);\n\t }\n\t\n\t var searchIndex = pathname.indexOf('?');\n\t if (searchIndex !== -1) {\n\t search = pathname.substring(searchIndex);\n\t pathname = pathname.substring(0, searchIndex);\n\t }\n\t\n\t if (pathname === '') pathname = '/';\n\t\n\t return {\n\t pathname: pathname,\n\t search: search,\n\t hash: hash\n\t };\n\t};\n\t\n\tvar createPath = exports.createPath = function createPath(location) {\n\t if (location == null || typeof location === 'string') return location;\n\t\n\t var basename = location.basename;\n\t var pathname = location.pathname;\n\t var search = location.search;\n\t var hash = location.hash;\n\t\n\t var path = (basename || '') + pathname;\n\t\n\t if (search && search !== '?') path += search;\n\t\n\t if (hash) path += hash;\n\t\n\t return path;\n\t};\n\n/***/ },\n/* 36 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\t\n\tvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\t\n\texports.isReactChildren = isReactChildren;\n\texports.createRouteFromReactElement = createRouteFromReactElement;\n\texports.createRoutesFromReactChildren = createRoutesFromReactChildren;\n\texports.createRoutes = createRoutes;\n\t\n\tvar _react = __webpack_require__(2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction isValidChild(object) {\n\t return object == null || _react2.default.isValidElement(object);\n\t}\n\t\n\tfunction isReactChildren(object) {\n\t return isValidChild(object) || Array.isArray(object) && object.every(isValidChild);\n\t}\n\t\n\tfunction createRoute(defaultProps, props) {\n\t return _extends({}, defaultProps, props);\n\t}\n\t\n\tfunction createRouteFromReactElement(element) {\n\t var type = element.type;\n\t var route = createRoute(type.defaultProps, element.props);\n\t\n\t if (route.children) {\n\t var childRoutes = createRoutesFromReactChildren(route.children, route);\n\t\n\t if (childRoutes.length) route.childRoutes = childRoutes;\n\t\n\t delete route.children;\n\t }\n\t\n\t return route;\n\t}\n\t\n\t/**\n\t * Creates and returns a routes object from the given ReactChildren. JSX\n\t * provides a convenient way to visualize how routes in the hierarchy are\n\t * nested.\n\t *\n\t * import { Route, createRoutesFromReactChildren } from 'react-router'\n\t *\n\t * const routes = createRoutesFromReactChildren(\n\t * \n\t * \n\t * \n\t * \n\t * )\n\t *\n\t * Note: This method is automatically used when you provide children\n\t * to a component.\n\t */\n\tfunction createRoutesFromReactChildren(children, parentRoute) {\n\t var routes = [];\n\t\n\t _react2.default.Children.forEach(children, function (element) {\n\t if (_react2.default.isValidElement(element)) {\n\t // Component classes may have a static create* method.\n\t if (element.type.createRouteFromReactElement) {\n\t var route = element.type.createRouteFromReactElement(element, parentRoute);\n\t\n\t if (route) routes.push(route);\n\t } else {\n\t routes.push(createRouteFromReactElement(element));\n\t }\n\t }\n\t });\n\t\n\t return routes;\n\t}\n\t\n\t/**\n\t * Creates and returns an array of routes from the given object which\n\t * may be a JSX route, a plain object route, or an array of either.\n\t */\n\tfunction createRoutes(routes) {\n\t if (isReactChildren(routes)) {\n\t routes = createRoutesFromReactChildren(routes);\n\t } else if (routes && !Array.isArray(routes)) {\n\t routes = [routes];\n\t }\n\t\n\t return routes;\n\t}\n\n/***/ },\n/* 37 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\t\n\tvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\t\n\tvar _dateArithmetic = __webpack_require__(396);\n\t\n\tvar _dateArithmetic2 = _interopRequireDefault(_dateArithmetic);\n\t\n\tvar _constants = __webpack_require__(135);\n\t\n\tvar _localizers = __webpack_require__(21);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tvar dates = _extends(_dateArithmetic2.default, {\n\t parse: function parse(date, format, culture) {\n\t return _localizers.date.parse(date, format, culture);\n\t },\n\t format: function format(date, _format, culture) {\n\t return _localizers.date.format(date, _format, culture);\n\t },\n\t monthsInYear: function monthsInYear(year) {\n\t var months = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11],\n\t date = new Date(year, 0, 1);\n\t\n\t return months.map(function (i) {\n\t return dates.month(date, i);\n\t });\n\t },\n\t firstVisibleDay: function firstVisibleDay(date, culture) {\n\t var firstOfMonth = dates.startOf(date, 'month');\n\t return dates.startOf(firstOfMonth, 'week', _localizers.date.startOfWeek(culture));\n\t },\n\t lastVisibleDay: function lastVisibleDay(date, culture) {\n\t var endOfMonth = dates.endOf(date, 'month');\n\t\n\t return dates.endOf(endOfMonth, 'week', _localizers.date.startOfWeek(culture));\n\t },\n\t visibleDays: function visibleDays(date, culture) {\n\t var current = dates.firstVisibleDay(date, culture),\n\t last = dates.lastVisibleDay(date, culture),\n\t days = [];\n\t\n\t while (dates.lte(current, last, 'day')) {\n\t days.push(current);\n\t current = dates.add(current, 1, 'day');\n\t }\n\t\n\t return days;\n\t },\n\t move: function move(date, min, max, unit, direction) {\n\t var isMonth = unit === 'month',\n\t isUpOrDown = direction === _constants.directions.UP || direction === _constants.directions.DOWN,\n\t rangeUnit = _constants.calendarViewUnits[unit],\n\t addUnit = isMonth && isUpOrDown ? 'week' : _constants.calendarViewUnits[unit],\n\t amount = isMonth || !isUpOrDown ? 1 : 4,\n\t newDate;\n\t\n\t if (direction === _constants.directions.UP || direction === _constants.directions.LEFT) amount *= -1;\n\t\n\t newDate = dates.add(date, amount, addUnit);\n\t\n\t return dates.inRange(newDate, min, max, rangeUnit) ? newDate : date;\n\t },\n\t merge: function merge(date, time, defaultDate) {\n\t if (time == null && date == null) return null;\n\t\n\t if (time == null) time = defaultDate || new Date();\n\t if (date == null) date = defaultDate || new Date();\n\t\n\t date = dates.startOf(date, 'day');\n\t date = dates.hours(date, dates.hours(time));\n\t date = dates.minutes(date, dates.minutes(time));\n\t date = dates.seconds(date, dates.seconds(time));\n\t return dates.milliseconds(date, dates.milliseconds(time));\n\t },\n\t sameMonth: function sameMonth(dateA, dateB) {\n\t return dates.eq(dateA, dateB, 'month');\n\t },\n\t today: function today() {\n\t return this.startOf(new Date(), 'day');\n\t },\n\t yesterday: function yesterday() {\n\t return this.add(this.startOf(new Date(), 'day'), -1, 'day');\n\t },\n\t tomorrow: function tomorrow() {\n\t return this.add(this.startOf(new Date(), 'day'), 1, 'day');\n\t }\n\t});\n\t\n\texports.default = dates;\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 38 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\texports.notify = notify;\n\texports.instanceId = instanceId;\n\texports.isFirstFocusedRender = isFirstFocusedRender;\n\t\n\tvar _ = __webpack_require__(12);\n\t\n\tfunction notify(handler, args) {\n\t handler && handler.apply(null, [].concat(args));\n\t}\n\t\n\tfunction instanceId(component) {\n\t var suffix = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n\t\n\t component.__id || (component.__id = (0, _.uniqueId)('rw_'));\n\t return (component.props.id || component.__id) + suffix;\n\t}\n\t\n\tfunction isFirstFocusedRender(component) {\n\t return component._firstFocus || component.state.focused && (component._firstFocus = true);\n\t}\n\n/***/ },\n/* 39 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Copyright 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @providesModule PooledClass\n\t */\n\t\n\t'use strict';\n\t\n\tvar _prodInvariant = __webpack_require__(4);\n\t\n\tvar invariant = __webpack_require__(3);\n\t\n\t/**\n\t * Static poolers. Several custom versions for each potential number of\n\t * arguments. A completely generic pooler is easy to implement, but would\n\t * require accessing the `arguments` object. In each of these, `this` refers to\n\t * the Class itself, not an instance. If any others are needed, simply add them\n\t * here, or in their own files.\n\t */\n\tvar oneArgumentPooler = function (copyFieldsFrom) {\n\t var Klass = this;\n\t if (Klass.instancePool.length) {\n\t var instance = Klass.instancePool.pop();\n\t Klass.call(instance, copyFieldsFrom);\n\t return instance;\n\t } else {\n\t return new Klass(copyFieldsFrom);\n\t }\n\t};\n\t\n\tvar twoArgumentPooler = function (a1, a2) {\n\t var Klass = this;\n\t if (Klass.instancePool.length) {\n\t var instance = Klass.instancePool.pop();\n\t Klass.call(instance, a1, a2);\n\t return instance;\n\t } else {\n\t return new Klass(a1, a2);\n\t }\n\t};\n\t\n\tvar threeArgumentPooler = function (a1, a2, a3) {\n\t var Klass = this;\n\t if (Klass.instancePool.length) {\n\t var instance = Klass.instancePool.pop();\n\t Klass.call(instance, a1, a2, a3);\n\t return instance;\n\t } else {\n\t return new Klass(a1, a2, a3);\n\t }\n\t};\n\t\n\tvar fourArgumentPooler = function (a1, a2, a3, a4) {\n\t var Klass = this;\n\t if (Klass.instancePool.length) {\n\t var instance = Klass.instancePool.pop();\n\t Klass.call(instance, a1, a2, a3, a4);\n\t return instance;\n\t } else {\n\t return new Klass(a1, a2, a3, a4);\n\t }\n\t};\n\t\n\tvar fiveArgumentPooler = function (a1, a2, a3, a4, a5) {\n\t var Klass = this;\n\t if (Klass.instancePool.length) {\n\t var instance = Klass.instancePool.pop();\n\t Klass.call(instance, a1, a2, a3, a4, a5);\n\t return instance;\n\t } else {\n\t return new Klass(a1, a2, a3, a4, a5);\n\t }\n\t};\n\t\n\tvar standardReleaser = function (instance) {\n\t var Klass = this;\n\t !(instance instanceof Klass) ? false ? invariant(false, 'Trying to release an instance into a pool of a different type.') : _prodInvariant('25') : void 0;\n\t instance.destructor();\n\t if (Klass.instancePool.length < Klass.poolSize) {\n\t Klass.instancePool.push(instance);\n\t }\n\t};\n\t\n\tvar DEFAULT_POOL_SIZE = 10;\n\tvar DEFAULT_POOLER = oneArgumentPooler;\n\t\n\t/**\n\t * Augments `CopyConstructor` to be a poolable class, augmenting only the class\n\t * itself (statically) not adding any prototypical fields. Any CopyConstructor\n\t * you give this may have a `poolSize` property, and will look for a\n\t * prototypical `destructor` on instances.\n\t *\n\t * @param {Function} CopyConstructor Constructor that can be used to reset.\n\t * @param {Function} pooler Customizable pooler.\n\t */\n\tvar addPoolingTo = function (CopyConstructor, pooler) {\n\t var NewKlass = CopyConstructor;\n\t NewKlass.instancePool = [];\n\t NewKlass.getPooled = pooler || DEFAULT_POOLER;\n\t if (!NewKlass.poolSize) {\n\t NewKlass.poolSize = DEFAULT_POOL_SIZE;\n\t }\n\t NewKlass.release = standardReleaser;\n\t return NewKlass;\n\t};\n\t\n\tvar PooledClass = {\n\t addPoolingTo: addPoolingTo,\n\t oneArgumentPooler: oneArgumentPooler,\n\t twoArgumentPooler: twoArgumentPooler,\n\t threeArgumentPooler: threeArgumentPooler,\n\t fourArgumentPooler: fourArgumentPooler,\n\t fiveArgumentPooler: fiveArgumentPooler\n\t};\n\t\n\tmodule.exports = PooledClass;\n\n/***/ },\n/* 40 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Copyright 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @providesModule ReactCurrentOwner\n\t */\n\t\n\t'use strict';\n\t\n\t/**\n\t * Keeps track of the current owner.\n\t *\n\t * The current owner is the component who should own any components that are\n\t * currently being constructed.\n\t */\n\t\n\tvar ReactCurrentOwner = {\n\t\n\t /**\n\t * @internal\n\t * @type {ReactComponent}\n\t */\n\t current: null\n\t\n\t};\n\t\n\tmodule.exports = ReactCurrentOwner;\n\n/***/ },\n/* 41 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Copyright 2014-2015, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t */\n\t\n\t'use strict';\n\t\n\t/**\n\t * Similar to invariant but only logs a warning if the condition is not met.\n\t * This can be used to log issues in development environments in critical\n\t * paths. Removing the logging code for production environments will keep the\n\t * same logic and follow the same code paths.\n\t */\n\t\n\tvar warning = function() {};\n\t\n\tif (false) {\n\t warning = function(condition, format, args) {\n\t var len = arguments.length;\n\t args = new Array(len > 2 ? len - 2 : 0);\n\t for (var key = 2; key < len; key++) {\n\t args[key - 2] = arguments[key];\n\t }\n\t if (format === undefined) {\n\t throw new Error(\n\t '`warning(condition, format, ...args)` requires a warning ' +\n\t 'message argument'\n\t );\n\t }\n\t\n\t if (format.length < 10 || (/^[s\\W]*$/).test(format)) {\n\t throw new Error(\n\t 'The warning format should be able to uniquely identify this ' +\n\t 'warning. Please, use a more descriptive format than: ' + format\n\t );\n\t }\n\t\n\t if (!condition) {\n\t var argIndex = 0;\n\t var message = 'Warning: ' +\n\t format.replace(/%s/g, function() {\n\t return args[argIndex++];\n\t });\n\t if (typeof console !== 'undefined') {\n\t console.error(message);\n\t }\n\t try {\n\t // This error was thrown as a convenience so that you can use this stack\n\t // to find the callsite that caused this warning to fire.\n\t throw new Error(message);\n\t } catch(x) {}\n\t }\n\t };\n\t}\n\t\n\tmodule.exports = warning;\n\n\n/***/ },\n/* 42 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseIsNative = __webpack_require__(475),\n\t getValue = __webpack_require__(497);\n\t\n\t/**\n\t * Gets the native function at `key` of `object`.\n\t *\n\t * @private\n\t * @param {Object} object The object to query.\n\t * @param {string} key The key of the method to get.\n\t * @returns {*} Returns the function if it's native, else `undefined`.\n\t */\n\tfunction getNative(object, key) {\n\t var value = getValue(object, key);\n\t return baseIsNative(value) ? value : undefined;\n\t}\n\t\n\tmodule.exports = getNative;\n\n\n/***/ },\n/* 43 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tmodule.exports = __webpack_require__(604);\n\n\n/***/ },\n/* 44 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\t\n\texports.default = function (nodeOrComponent) {\n\t var reconcileChildren = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : defaultReconcile;\n\t\n\t\n\t return {\n\t propTypes: {\n\t ariaActiveDescendantKey: _react2.default.PropTypes.string.isRequired\n\t },\n\t\n\t contextTypes: {\n\t activeDescendants: shape\n\t },\n\t\n\t childContextTypes: {\n\t activeDescendants: shape\n\t },\n\t\n\t ariaActiveDescendant: function ariaActiveDescendant(id) {\n\t var key = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.props.ariaActiveDescendantKey;\n\t var activeDescendants = this.context.activeDescendants;\n\t\n\t var current = this.__ariaActiveDescendantId;\n\t\n\t if (id === undefined) return current;\n\t\n\t id = reconcileChildren.call(this, key, id);\n\t\n\t if (id === undefined) id = current;else {\n\t this.__ariaActiveDescendantId = id;\n\t flushAriaToNode(id, nodeOrComponent, this);\n\t }\n\t\n\t activeDescendants && activeDescendants.reconcile(key, id);\n\t },\n\t getChildContext: function getChildContext() {\n\t var _this = this;\n\t\n\t return this._context || (this._context = {\n\t activeDescendants: {\n\t reconcile: function reconcile(key, id) {\n\t return _this.ariaActiveDescendant(id, key);\n\t }\n\t }\n\t });\n\t }\n\t };\n\t};\n\t\n\tvar _react = __webpack_require__(2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _compat = __webpack_require__(31);\n\t\n\tvar _compat2 = _interopRequireDefault(_compat);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tvar shape = _react2.default.PropTypes.shape({\n\t //setActive: React.PropTypes.func,\n\t reconcile: _react2.default.PropTypes.func\n\t});\n\t\n\tfunction defaultReconcile(key, id) {\n\t return id;\n\t}\n\t\n\tfunction flushAriaToNode(id, nodeOrComponent, ctx) {\n\t var node = typeof nodeOrComponent === 'function' ? nodeOrComponent(ctx) : typeof nodeOrComponent === 'string' ? ctx.refs[nodeOrComponent] : ctx;\n\t\n\t if (node) {\n\t if (id) _compat2.default.findDOMNode(node).setAttribute('aria-activedescendant', id);else _compat2.default.findDOMNode(node).removeAttribute('aria-activedescendant');\n\t }\n\t}\n\t\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 45 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\tvar _react = __webpack_require__(2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _reactRouter = __webpack_require__(16);\n\t\n\tvar _underscore = __webpack_require__(7);\n\t\n\tvar _underscore2 = _interopRequireDefault(_underscore);\n\t\n\tvar _moment = __webpack_require__(1);\n\t\n\tvar _moment2 = _interopRequireDefault(_moment);\n\t\n\tvar _helpers = __webpack_require__(20);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\tvar Breadcrumbs = function (_Component) {\n\t _inherits(Breadcrumbs, _Component);\n\t\n\t function Breadcrumbs() {\n\t _classCallCheck(this, Breadcrumbs);\n\t\n\t return _possibleConstructorReturn(this, (Breadcrumbs.__proto__ || Object.getPrototypeOf(Breadcrumbs)).apply(this, arguments));\n\t }\n\t\n\t _createClass(Breadcrumbs, [{\n\t key: 'handleChange',\n\t value: function handleChange(e) {\n\t var onChange = this.props.onChange;\n\t\n\t onChange(e.target.value);\n\t }\n\t }, {\n\t key: 'render',\n\t value: function render() {\n\t var _this2 = this;\n\t\n\t var _props = this.props,\n\t link = _props.link,\n\t type = _props.type,\n\t content = _props.content,\n\t editable = _props.editable;\n\t\n\t\n\t var node = null;\n\t if (editable) {\n\t var placeholder = 'example.md';\n\t if (type == 'posts') {\n\t var date = (0, _moment2.default)().format('YYYY-MM-DD');\n\t placeholder = date + '-your-title.md';\n\t } else if (type == 'datafiles') {\n\t placeholder = 'your-filename.yml';\n\t }\n\t node = _react2.default.createElement('input', { onChange: function onChange(e) {\n\t return _this2.handleChange(e);\n\t },\n\t placeholder: placeholder,\n\t defaultValue: content,\n\t ref: 'input' });\n\t } else {\n\t node = content;\n\t }\n\t\n\t return _react2.default.createElement(\n\t 'ul',\n\t { className: 'breadcrumbs' },\n\t _react2.default.createElement(\n\t 'li',\n\t null,\n\t _react2.default.createElement(\n\t _reactRouter.Link,\n\t { to: link },\n\t (0, _helpers.toTitleCase)(type)\n\t )\n\t ),\n\t _react2.default.createElement(\n\t 'li',\n\t { className: 'filename' },\n\t node\n\t )\n\t );\n\t }\n\t }]);\n\t\n\t return Breadcrumbs;\n\t}(_react.Component);\n\t\n\texports.default = Breadcrumbs;\n\t\n\t\n\tBreadcrumbs.propTypes = {\n\t link: _react.PropTypes.string.isRequired,\n\t type: _react.PropTypes.string.isRequired,\n\t content: _react.PropTypes.string.isRequired,\n\t editable: _react.PropTypes.bool,\n\t onChange: _react.PropTypes.func\n\t};\n\n/***/ },\n/* 46 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _react = __webpack_require__(2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _underscore = __webpack_require__(7);\n\t\n\tvar _underscore2 = _interopRequireDefault(_underscore);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tvar Errors = function Errors(_ref) {\n\t var errors = _ref.errors;\n\t return _react2.default.createElement(\n\t 'ul',\n\t { className: 'error-messages' },\n\t _underscore2.default.map(errors, function (error, i) {\n\t return _react2.default.createElement(\n\t 'li',\n\t { key: i },\n\t error\n\t );\n\t })\n\t );\n\t};\n\t\n\tErrors.propTypes = {\n\t errors: _react.PropTypes.array.isRequired\n\t};\n\t\n\texports.default = Errors;\n\n/***/ },\n/* 47 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _react = __webpack_require__(2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tvar Splitter = function Splitter() {\n\t return _react2.default.createElement(\"div\", { className: \"splitter\" });\n\t};\n\t\n\texports.default = Splitter;\n\n/***/ },\n/* 48 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\texports.locationsAreEqual = exports.statesAreEqual = exports.createLocation = exports.createQuery = undefined;\n\t\n\tvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol ? \"symbol\" : typeof obj; };\n\t\n\tvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\t\n\tvar _invariant = __webpack_require__(10);\n\t\n\tvar _invariant2 = _interopRequireDefault(_invariant);\n\t\n\tvar _warning = __webpack_require__(41);\n\t\n\tvar _warning2 = _interopRequireDefault(_warning);\n\t\n\tvar _PathUtils = __webpack_require__(35);\n\t\n\tvar _Actions = __webpack_require__(84);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tvar createQuery = exports.createQuery = function createQuery(props) {\n\t return _extends(Object.create(null), props);\n\t};\n\t\n\tvar createLocation = exports.createLocation = function createLocation() {\n\t var input = arguments.length <= 0 || arguments[0] === undefined ? '/' : arguments[0];\n\t var action = arguments.length <= 1 || arguments[1] === undefined ? _Actions.POP : arguments[1];\n\t var key = arguments.length <= 2 || arguments[2] === undefined ? null : arguments[2];\n\t\n\t var object = typeof input === 'string' ? (0, _PathUtils.parsePath)(input) : input;\n\t\n\t false ? (0, _warning2.default)(!object.path, 'Location descriptor objects should have a `pathname`, not a `path`.') : void 0;\n\t\n\t var pathname = object.pathname || '/';\n\t var search = object.search || '';\n\t var hash = object.hash || '';\n\t var state = object.state;\n\t\n\t return {\n\t pathname: pathname,\n\t search: search,\n\t hash: hash,\n\t state: state,\n\t action: action,\n\t key: key\n\t };\n\t};\n\t\n\tvar isDate = function isDate(object) {\n\t return Object.prototype.toString.call(object) === '[object Date]';\n\t};\n\t\n\tvar statesAreEqual = exports.statesAreEqual = function statesAreEqual(a, b) {\n\t if (a === b) return true;\n\t\n\t var typeofA = typeof a === 'undefined' ? 'undefined' : _typeof(a);\n\t var typeofB = typeof b === 'undefined' ? 'undefined' : _typeof(b);\n\t\n\t if (typeofA !== typeofB) return false;\n\t\n\t !(typeofA !== 'function') ? false ? (0, _invariant2.default)(false, 'You must not store functions in location state') : (0, _invariant2.default)(false) : void 0;\n\t\n\t // Not the same object, but same type.\n\t if (typeofA === 'object') {\n\t !!(isDate(a) && isDate(b)) ? false ? (0, _invariant2.default)(false, 'You must not store Date objects in location state') : (0, _invariant2.default)(false) : void 0;\n\t\n\t if (!Array.isArray(a)) {\n\t var keysofA = Object.keys(a);\n\t var keysofB = Object.keys(b);\n\t return keysofA.length === keysofB.length && keysofA.every(function (key) {\n\t return statesAreEqual(a[key], b[key]);\n\t });\n\t }\n\t\n\t return Array.isArray(b) && a.length === b.length && a.every(function (item, index) {\n\t return statesAreEqual(item, b[index]);\n\t });\n\t }\n\t\n\t // All other serializable types (string, number, boolean)\n\t // should be strict equal.\n\t return false;\n\t};\n\t\n\tvar locationsAreEqual = exports.locationsAreEqual = function locationsAreEqual(a, b) {\n\t return a.key === b.key &&\n\t // a.action === b.action && // Different action !== location change.\n\t a.pathname === b.pathname && a.search === b.search && a.hash === b.hash && statesAreEqual(a.state, b.state);\n\t};\n\n/***/ },\n/* 49 */\n/***/ function(module, exports) {\n\n\t'use strict';\n\t\n\t\n\tfunction isNothing(subject) {\n\t return (typeof subject === 'undefined') || (subject === null);\n\t}\n\t\n\t\n\tfunction isObject(subject) {\n\t return (typeof subject === 'object') && (subject !== null);\n\t}\n\t\n\t\n\tfunction toArray(sequence) {\n\t if (Array.isArray(sequence)) return sequence;\n\t else if (isNothing(sequence)) return [];\n\t\n\t return [ sequence ];\n\t}\n\t\n\t\n\tfunction extend(target, source) {\n\t var index, length, key, sourceKeys;\n\t\n\t if (source) {\n\t sourceKeys = Object.keys(source);\n\t\n\t for (index = 0, length = sourceKeys.length; index < length; index += 1) {\n\t key = sourceKeys[index];\n\t target[key] = source[key];\n\t }\n\t }\n\t\n\t return target;\n\t}\n\t\n\t\n\tfunction repeat(string, count) {\n\t var result = '', cycle;\n\t\n\t for (cycle = 0; cycle < count; cycle += 1) {\n\t result += string;\n\t }\n\t\n\t return result;\n\t}\n\t\n\t\n\tfunction isNegativeZero(number) {\n\t return (number === 0) && (Number.NEGATIVE_INFINITY === 1 / number);\n\t}\n\t\n\t\n\tmodule.exports.isNothing = isNothing;\n\tmodule.exports.isObject = isObject;\n\tmodule.exports.toArray = toArray;\n\tmodule.exports.repeat = repeat;\n\tmodule.exports.isNegativeZero = isNegativeZero;\n\tmodule.exports.extend = extend;\n\n\n/***/ },\n/* 50 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\t/*eslint-disable max-len*/\n\t\n\tvar common = __webpack_require__(49);\n\tvar YAMLException = __webpack_require__(63);\n\tvar Type = __webpack_require__(11);\n\t\n\t\n\tfunction compileList(schema, name, result) {\n\t var exclude = [];\n\t\n\t schema.include.forEach(function (includedSchema) {\n\t result = compileList(includedSchema, name, result);\n\t });\n\t\n\t schema[name].forEach(function (currentType) {\n\t result.forEach(function (previousType, previousIndex) {\n\t if (previousType.tag === currentType.tag && previousType.kind === currentType.kind) {\n\t exclude.push(previousIndex);\n\t }\n\t });\n\t\n\t result.push(currentType);\n\t });\n\t\n\t return result.filter(function (type, index) {\n\t return exclude.indexOf(index) === -1;\n\t });\n\t}\n\t\n\t\n\tfunction compileMap(/* lists... */) {\n\t var result = {\n\t scalar: {},\n\t sequence: {},\n\t mapping: {},\n\t fallback: {}\n\t }, index, length;\n\t\n\t function collectType(type) {\n\t result[type.kind][type.tag] = result['fallback'][type.tag] = type;\n\t }\n\t\n\t for (index = 0, length = arguments.length; index < length; index += 1) {\n\t arguments[index].forEach(collectType);\n\t }\n\t return result;\n\t}\n\t\n\t\n\tfunction Schema(definition) {\n\t this.include = definition.include || [];\n\t this.implicit = definition.implicit || [];\n\t this.explicit = definition.explicit || [];\n\t\n\t this.implicit.forEach(function (type) {\n\t if (type.loadKind && type.loadKind !== 'scalar') {\n\t throw new YAMLException('There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.');\n\t }\n\t });\n\t\n\t this.compiledImplicit = compileList(this, 'implicit', []);\n\t this.compiledExplicit = compileList(this, 'explicit', []);\n\t this.compiledTypeMap = compileMap(this.compiledImplicit, this.compiledExplicit);\n\t}\n\t\n\t\n\tSchema.DEFAULT = null;\n\t\n\t\n\tSchema.create = function createSchema() {\n\t var schemas, types;\n\t\n\t switch (arguments.length) {\n\t case 1:\n\t schemas = Schema.DEFAULT;\n\t types = arguments[0];\n\t break;\n\t\n\t case 2:\n\t schemas = arguments[0];\n\t types = arguments[1];\n\t break;\n\t\n\t default:\n\t throw new YAMLException('Wrong number of arguments for Schema.create function');\n\t }\n\t\n\t schemas = common.toArray(schemas);\n\t types = common.toArray(types);\n\t\n\t if (!schemas.every(function (schema) { return schema instanceof Schema; })) {\n\t throw new YAMLException('Specified list of super schemas (or a single Schema object) contains a non-Schema object.');\n\t }\n\t\n\t if (!types.every(function (type) { return type instanceof Type; })) {\n\t throw new YAMLException('Specified list of YAML types (or a single Type object) contains a non-Type object.');\n\t }\n\t\n\t return new Schema({\n\t include: schemas,\n\t explicit: types\n\t });\n\t};\n\t\n\t\n\tmodule.exports = Schema;\n\n\n/***/ },\n/* 51 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\texports.compilePattern = compilePattern;\n\texports.matchPattern = matchPattern;\n\texports.getParamNames = getParamNames;\n\texports.getParams = getParams;\n\texports.formatPattern = formatPattern;\n\t\n\tvar _invariant = __webpack_require__(10);\n\t\n\tvar _invariant2 = _interopRequireDefault(_invariant);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction escapeRegExp(string) {\n\t return string.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&');\n\t}\n\t\n\tfunction _compilePattern(pattern) {\n\t var regexpSource = '';\n\t var paramNames = [];\n\t var tokens = [];\n\t\n\t var match = void 0,\n\t lastIndex = 0,\n\t matcher = /:([a-zA-Z_$][a-zA-Z0-9_$]*)|\\*\\*|\\*|\\(|\\)/g;\n\t while (match = matcher.exec(pattern)) {\n\t if (match.index !== lastIndex) {\n\t tokens.push(pattern.slice(lastIndex, match.index));\n\t regexpSource += escapeRegExp(pattern.slice(lastIndex, match.index));\n\t }\n\t\n\t if (match[1]) {\n\t regexpSource += '([^/]+)';\n\t paramNames.push(match[1]);\n\t } else if (match[0] === '**') {\n\t regexpSource += '(.*)';\n\t paramNames.push('splat');\n\t } else if (match[0] === '*') {\n\t regexpSource += '(.*?)';\n\t paramNames.push('splat');\n\t } else if (match[0] === '(') {\n\t regexpSource += '(?:';\n\t } else if (match[0] === ')') {\n\t regexpSource += ')?';\n\t }\n\t\n\t tokens.push(match[0]);\n\t\n\t lastIndex = matcher.lastIndex;\n\t }\n\t\n\t if (lastIndex !== pattern.length) {\n\t tokens.push(pattern.slice(lastIndex, pattern.length));\n\t regexpSource += escapeRegExp(pattern.slice(lastIndex, pattern.length));\n\t }\n\t\n\t return {\n\t pattern: pattern,\n\t regexpSource: regexpSource,\n\t paramNames: paramNames,\n\t tokens: tokens\n\t };\n\t}\n\t\n\tvar CompiledPatternsCache = Object.create(null);\n\t\n\tfunction compilePattern(pattern) {\n\t if (!CompiledPatternsCache[pattern]) CompiledPatternsCache[pattern] = _compilePattern(pattern);\n\t\n\t return CompiledPatternsCache[pattern];\n\t}\n\t\n\t/**\n\t * Attempts to match a pattern on the given pathname. Patterns may use\n\t * the following special characters:\n\t *\n\t * - :paramName Matches a URL segment up to the next /, ?, or #. The\n\t * captured string is considered a \"param\"\n\t * - () Wraps a segment of the URL that is optional\n\t * - * Consumes (non-greedy) all characters up to the next\n\t * character in the pattern, or to the end of the URL if\n\t * there is none\n\t * - ** Consumes (greedy) all characters up to the next character\n\t * in the pattern, or to the end of the URL if there is none\n\t *\n\t * The function calls callback(error, matched) when finished.\n\t * The return value is an object with the following properties:\n\t *\n\t * - remainingPathname\n\t * - paramNames\n\t * - paramValues\n\t */\n\tfunction matchPattern(pattern, pathname) {\n\t // Ensure pattern starts with leading slash for consistency with pathname.\n\t if (pattern.charAt(0) !== '/') {\n\t pattern = '/' + pattern;\n\t }\n\t\n\t var _compilePattern2 = compilePattern(pattern),\n\t regexpSource = _compilePattern2.regexpSource,\n\t paramNames = _compilePattern2.paramNames,\n\t tokens = _compilePattern2.tokens;\n\t\n\t if (pattern.charAt(pattern.length - 1) !== '/') {\n\t regexpSource += '/?'; // Allow optional path separator at end.\n\t }\n\t\n\t // Special-case patterns like '*' for catch-all routes.\n\t if (tokens[tokens.length - 1] === '*') {\n\t regexpSource += '$';\n\t }\n\t\n\t var match = pathname.match(new RegExp('^' + regexpSource, 'i'));\n\t if (match == null) {\n\t return null;\n\t }\n\t\n\t var matchedPath = match[0];\n\t var remainingPathname = pathname.substr(matchedPath.length);\n\t\n\t if (remainingPathname) {\n\t // Require that the match ends at a path separator, if we didn't match\n\t // the full path, so any remaining pathname is a new path segment.\n\t if (matchedPath.charAt(matchedPath.length - 1) !== '/') {\n\t return null;\n\t }\n\t\n\t // If there is a remaining pathname, treat the path separator as part of\n\t // the remaining pathname for properly continuing the match.\n\t remainingPathname = '/' + remainingPathname;\n\t }\n\t\n\t return {\n\t remainingPathname: remainingPathname,\n\t paramNames: paramNames,\n\t paramValues: match.slice(1).map(function (v) {\n\t return v && decodeURIComponent(v);\n\t })\n\t };\n\t}\n\t\n\tfunction getParamNames(pattern) {\n\t return compilePattern(pattern).paramNames;\n\t}\n\t\n\tfunction getParams(pattern, pathname) {\n\t var match = matchPattern(pattern, pathname);\n\t if (!match) {\n\t return null;\n\t }\n\t\n\t var paramNames = match.paramNames,\n\t paramValues = match.paramValues;\n\t\n\t var params = {};\n\t\n\t paramNames.forEach(function (paramName, index) {\n\t params[paramName] = paramValues[index];\n\t });\n\t\n\t return params;\n\t}\n\t\n\t/**\n\t * Returns a version of the given pattern with params interpolated. Throws\n\t * if there is a dynamic segment of the pattern for which there is no param.\n\t */\n\tfunction formatPattern(pattern, params) {\n\t params = params || {};\n\t\n\t var _compilePattern3 = compilePattern(pattern),\n\t tokens = _compilePattern3.tokens;\n\t\n\t var parenCount = 0,\n\t pathname = '',\n\t splatIndex = 0,\n\t parenHistory = [];\n\t\n\t var token = void 0,\n\t paramName = void 0,\n\t paramValue = void 0;\n\t for (var i = 0, len = tokens.length; i < len; ++i) {\n\t token = tokens[i];\n\t\n\t if (token === '*' || token === '**') {\n\t paramValue = Array.isArray(params.splat) ? params.splat[splatIndex++] : params.splat;\n\t\n\t !(paramValue != null || parenCount > 0) ? false ? (0, _invariant2.default)(false, 'Missing splat #%s for path \"%s\"', splatIndex, pattern) : (0, _invariant2.default)(false) : void 0;\n\t\n\t if (paramValue != null) pathname += encodeURI(paramValue);\n\t } else if (token === '(') {\n\t parenHistory[parenCount] = '';\n\t parenCount += 1;\n\t } else if (token === ')') {\n\t var parenText = parenHistory.pop();\n\t parenCount -= 1;\n\t\n\t if (parenCount) parenHistory[parenCount - 1] += parenText;else pathname += parenText;\n\t } else if (token.charAt(0) === ':') {\n\t paramName = token.substring(1);\n\t paramValue = params[paramName];\n\t\n\t !(paramValue != null || parenCount > 0) ? false ? (0, _invariant2.default)(false, 'Missing \"%s\" parameter for path \"%s\"', paramName, pattern) : (0, _invariant2.default)(false) : void 0;\n\t\n\t if (paramValue == null) {\n\t if (parenCount) {\n\t parenHistory[parenCount - 1] = '';\n\t\n\t var curTokenIdx = tokens.indexOf(token);\n\t var tokensSubset = tokens.slice(curTokenIdx, tokens.length);\n\t var nextParenIdx = -1;\n\t\n\t for (var _i = 0; _i < tokensSubset.length; _i++) {\n\t if (tokensSubset[_i] == ')') {\n\t nextParenIdx = _i;\n\t break;\n\t }\n\t }\n\t\n\t !(nextParenIdx > 0) ? false ? (0, _invariant2.default)(false, 'Path \"%s\" is missing end paren at segment \"%s\"', pattern, tokensSubset.join('')) : (0, _invariant2.default)(false) : void 0;\n\t\n\t // jump to ending paren\n\t i = curTokenIdx + nextParenIdx - 1;\n\t }\n\t } else if (parenCount) parenHistory[parenCount - 1] += encodeURIComponent(paramValue);else pathname += encodeURIComponent(paramValue);\n\t } else {\n\t if (parenCount) parenHistory[parenCount - 1] += token;else pathname += token;\n\t }\n\t }\n\t\n\t !(parenCount <= 0) ? false ? (0, _invariant2.default)(false, 'Path \"%s\" is missing end paren', pattern) : (0, _invariant2.default)(false) : void 0;\n\t\n\t return pathname.replace(/\\/+/g, '/');\n\t}\n\n/***/ },\n/* 52 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\texports.default = routerWarning;\n\texports._resetWarned = _resetWarned;\n\t\n\tvar _warning = __webpack_require__(567);\n\t\n\tvar _warning2 = _interopRequireDefault(_warning);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tvar warned = {};\n\t\n\tfunction routerWarning(falseToWarn, message) {\n\t // Only issue deprecation warnings once.\n\t if (message.indexOf('deprecated') !== -1) {\n\t if (warned[message]) {\n\t return;\n\t }\n\t\n\t warned[message] = true;\n\t }\n\t\n\t message = '[react-router] ' + message;\n\t\n\t for (var _len = arguments.length, args = Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n\t args[_key - 2] = arguments[_key];\n\t }\n\t\n\t _warning2.default.apply(undefined, [falseToWarn, message].concat(args));\n\t}\n\t\n\tfunction _resetWarned() {\n\t warned = {};\n\t}\n\n/***/ },\n/* 53 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Copyright 2015-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @providesModule DOMLazyTree\n\t */\n\t\n\t'use strict';\n\t\n\tvar DOMNamespaces = __webpack_require__(138);\n\tvar setInnerHTML = __webpack_require__(98);\n\t\n\tvar createMicrosoftUnsafeLocalFunction = __webpack_require__(152);\n\tvar setTextContent = __webpack_require__(349);\n\t\n\tvar ELEMENT_NODE_TYPE = 1;\n\tvar DOCUMENT_FRAGMENT_NODE_TYPE = 11;\n\t\n\t/**\n\t * In IE (8-11) and Edge, appending nodes with no children is dramatically\n\t * faster than appending a full subtree, so we essentially queue up the\n\t * .appendChild calls here and apply them so each node is added to its parent\n\t * before any children are added.\n\t *\n\t * In other browsers, doing so is slower or neutral compared to the other order\n\t * (in Firefox, twice as slow) so we only do this inversion in IE.\n\t *\n\t * See https://github.com/spicyj/innerhtml-vs-createelement-vs-clonenode.\n\t */\n\tvar enableLazy = typeof document !== 'undefined' && typeof document.documentMode === 'number' || typeof navigator !== 'undefined' && typeof navigator.userAgent === 'string' && /\\bEdge\\/\\d/.test(navigator.userAgent);\n\t\n\tfunction insertTreeChildren(tree) {\n\t if (!enableLazy) {\n\t return;\n\t }\n\t var node = tree.node;\n\t var children = tree.children;\n\t if (children.length) {\n\t for (var i = 0; i < children.length; i++) {\n\t insertTreeBefore(node, children[i], null);\n\t }\n\t } else if (tree.html != null) {\n\t setInnerHTML(node, tree.html);\n\t } else if (tree.text != null) {\n\t setTextContent(node, tree.text);\n\t }\n\t}\n\t\n\tvar insertTreeBefore = createMicrosoftUnsafeLocalFunction(function (parentNode, tree, referenceNode) {\n\t // DocumentFragments aren't actually part of the DOM after insertion so\n\t // appending children won't update the DOM. We need to ensure the fragment\n\t // is properly populated first, breaking out of our lazy approach for just\n\t // this level. Also, some plugins (like Flash Player) will read\n\t // nodes immediately upon insertion into the DOM, so \n\t // must also be populated prior to insertion into the DOM.\n\t if (tree.node.nodeType === DOCUMENT_FRAGMENT_NODE_TYPE || tree.node.nodeType === ELEMENT_NODE_TYPE && tree.node.nodeName.toLowerCase() === 'object' && (tree.node.namespaceURI == null || tree.node.namespaceURI === DOMNamespaces.html)) {\n\t insertTreeChildren(tree);\n\t parentNode.insertBefore(tree.node, referenceNode);\n\t } else {\n\t parentNode.insertBefore(tree.node, referenceNode);\n\t insertTreeChildren(tree);\n\t }\n\t});\n\t\n\tfunction replaceChildWithTree(oldNode, newTree) {\n\t oldNode.parentNode.replaceChild(newTree.node, oldNode);\n\t insertTreeChildren(newTree);\n\t}\n\t\n\tfunction queueChild(parentTree, childTree) {\n\t if (enableLazy) {\n\t parentTree.children.push(childTree);\n\t } else {\n\t parentTree.node.appendChild(childTree.node);\n\t }\n\t}\n\t\n\tfunction queueHTML(tree, html) {\n\t if (enableLazy) {\n\t tree.html = html;\n\t } else {\n\t setInnerHTML(tree.node, html);\n\t }\n\t}\n\t\n\tfunction queueText(tree, text) {\n\t if (enableLazy) {\n\t tree.text = text;\n\t } else {\n\t setTextContent(tree.node, text);\n\t }\n\t}\n\t\n\tfunction toString() {\n\t return this.node.nodeName;\n\t}\n\t\n\tfunction DOMLazyTree(node) {\n\t return {\n\t node: node,\n\t children: [],\n\t html: null,\n\t text: null,\n\t toString: toString\n\t };\n\t}\n\t\n\tDOMLazyTree.insertTreeBefore = insertTreeBefore;\n\tDOMLazyTree.replaceChildWithTree = replaceChildWithTree;\n\tDOMLazyTree.queueChild = queueChild;\n\tDOMLazyTree.queueHTML = queueHTML;\n\tDOMLazyTree.queueText = queueText;\n\t\n\tmodule.exports = DOMLazyTree;\n\n/***/ },\n/* 54 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Copyright 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @providesModule DOMProperty\n\t */\n\t\n\t'use strict';\n\t\n\tvar _prodInvariant = __webpack_require__(4);\n\t\n\tvar invariant = __webpack_require__(3);\n\t\n\tfunction checkMask(value, bitmask) {\n\t return (value & bitmask) === bitmask;\n\t}\n\t\n\tvar DOMPropertyInjection = {\n\t /**\n\t * Mapping from normalized, camelcased property names to a configuration that\n\t * specifies how the associated DOM property should be accessed or rendered.\n\t */\n\t MUST_USE_PROPERTY: 0x1,\n\t HAS_BOOLEAN_VALUE: 0x4,\n\t HAS_NUMERIC_VALUE: 0x8,\n\t HAS_POSITIVE_NUMERIC_VALUE: 0x10 | 0x8,\n\t HAS_OVERLOADED_BOOLEAN_VALUE: 0x20,\n\t\n\t /**\n\t * Inject some specialized knowledge about the DOM. This takes a config object\n\t * with the following properties:\n\t *\n\t * isCustomAttribute: function that given an attribute name will return true\n\t * if it can be inserted into the DOM verbatim. Useful for data-* or aria-*\n\t * attributes where it's impossible to enumerate all of the possible\n\t * attribute names,\n\t *\n\t * Properties: object mapping DOM property name to one of the\n\t * DOMPropertyInjection constants or null. If your attribute isn't in here,\n\t * it won't get written to the DOM.\n\t *\n\t * DOMAttributeNames: object mapping React attribute name to the DOM\n\t * attribute name. Attribute names not specified use the **lowercase**\n\t * normalized name.\n\t *\n\t * DOMAttributeNamespaces: object mapping React attribute name to the DOM\n\t * attribute namespace URL. (Attribute names not specified use no namespace.)\n\t *\n\t * DOMPropertyNames: similar to DOMAttributeNames but for DOM properties.\n\t * Property names not specified use the normalized name.\n\t *\n\t * DOMMutationMethods: Properties that require special mutation methods. If\n\t * `value` is undefined, the mutation method should unset the property.\n\t *\n\t * @param {object} domPropertyConfig the config as described above.\n\t */\n\t injectDOMPropertyConfig: function (domPropertyConfig) {\n\t var Injection = DOMPropertyInjection;\n\t var Properties = domPropertyConfig.Properties || {};\n\t var DOMAttributeNamespaces = domPropertyConfig.DOMAttributeNamespaces || {};\n\t var DOMAttributeNames = domPropertyConfig.DOMAttributeNames || {};\n\t var DOMPropertyNames = domPropertyConfig.DOMPropertyNames || {};\n\t var DOMMutationMethods = domPropertyConfig.DOMMutationMethods || {};\n\t\n\t if (domPropertyConfig.isCustomAttribute) {\n\t DOMProperty._isCustomAttributeFunctions.push(domPropertyConfig.isCustomAttribute);\n\t }\n\t\n\t for (var propName in Properties) {\n\t !!DOMProperty.properties.hasOwnProperty(propName) ? false ? invariant(false, 'injectDOMPropertyConfig(...): You\\'re trying to inject DOM property \\'%s\\' which has already been injected. You may be accidentally injecting the same DOM property config twice, or you may be injecting two configs that have conflicting property names.', propName) : _prodInvariant('48', propName) : void 0;\n\t\n\t var lowerCased = propName.toLowerCase();\n\t var propConfig = Properties[propName];\n\t\n\t var propertyInfo = {\n\t attributeName: lowerCased,\n\t attributeNamespace: null,\n\t propertyName: propName,\n\t mutationMethod: null,\n\t\n\t mustUseProperty: checkMask(propConfig, Injection.MUST_USE_PROPERTY),\n\t hasBooleanValue: checkMask(propConfig, Injection.HAS_BOOLEAN_VALUE),\n\t hasNumericValue: checkMask(propConfig, Injection.HAS_NUMERIC_VALUE),\n\t hasPositiveNumericValue: checkMask(propConfig, Injection.HAS_POSITIVE_NUMERIC_VALUE),\n\t hasOverloadedBooleanValue: checkMask(propConfig, Injection.HAS_OVERLOADED_BOOLEAN_VALUE)\n\t };\n\t !(propertyInfo.hasBooleanValue + propertyInfo.hasNumericValue + propertyInfo.hasOverloadedBooleanValue <= 1) ? false ? invariant(false, 'DOMProperty: Value can be one of boolean, overloaded boolean, or numeric value, but not a combination: %s', propName) : _prodInvariant('50', propName) : void 0;\n\t\n\t if (false) {\n\t DOMProperty.getPossibleStandardName[lowerCased] = propName;\n\t }\n\t\n\t if (DOMAttributeNames.hasOwnProperty(propName)) {\n\t var attributeName = DOMAttributeNames[propName];\n\t propertyInfo.attributeName = attributeName;\n\t if (false) {\n\t DOMProperty.getPossibleStandardName[attributeName] = propName;\n\t }\n\t }\n\t\n\t if (DOMAttributeNamespaces.hasOwnProperty(propName)) {\n\t propertyInfo.attributeNamespace = DOMAttributeNamespaces[propName];\n\t }\n\t\n\t if (DOMPropertyNames.hasOwnProperty(propName)) {\n\t propertyInfo.propertyName = DOMPropertyNames[propName];\n\t }\n\t\n\t if (DOMMutationMethods.hasOwnProperty(propName)) {\n\t propertyInfo.mutationMethod = DOMMutationMethods[propName];\n\t }\n\t\n\t DOMProperty.properties[propName] = propertyInfo;\n\t }\n\t }\n\t};\n\t\n\t/* eslint-disable max-len */\n\tvar ATTRIBUTE_NAME_START_CHAR = ':A-Z_a-z\\\\u00C0-\\\\u00D6\\\\u00D8-\\\\u00F6\\\\u00F8-\\\\u02FF\\\\u0370-\\\\u037D\\\\u037F-\\\\u1FFF\\\\u200C-\\\\u200D\\\\u2070-\\\\u218F\\\\u2C00-\\\\u2FEF\\\\u3001-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFFD';\n\t/* eslint-enable max-len */\n\t\n\t/**\n\t * DOMProperty exports lookup objects that can be used like functions:\n\t *\n\t * > DOMProperty.isValid['id']\n\t * true\n\t * > DOMProperty.isValid['foobar']\n\t * undefined\n\t *\n\t * Although this may be confusing, it performs better in general.\n\t *\n\t * @see http://jsperf.com/key-exists\n\t * @see http://jsperf.com/key-missing\n\t */\n\tvar DOMProperty = {\n\t\n\t ID_ATTRIBUTE_NAME: 'data-reactid',\n\t ROOT_ATTRIBUTE_NAME: 'data-reactroot',\n\t\n\t ATTRIBUTE_NAME_START_CHAR: ATTRIBUTE_NAME_START_CHAR,\n\t ATTRIBUTE_NAME_CHAR: ATTRIBUTE_NAME_START_CHAR + '\\\\-.0-9\\\\u00B7\\\\u0300-\\\\u036F\\\\u203F-\\\\u2040',\n\t\n\t /**\n\t * Map from property \"standard name\" to an object with info about how to set\n\t * the property in the DOM. Each object contains:\n\t *\n\t * attributeName:\n\t * Used when rendering markup or with `*Attribute()`.\n\t * attributeNamespace\n\t * propertyName:\n\t * Used on DOM node instances. (This includes properties that mutate due to\n\t * external factors.)\n\t * mutationMethod:\n\t * If non-null, used instead of the property or `setAttribute()` after\n\t * initial render.\n\t * mustUseProperty:\n\t * Whether the property must be accessed and mutated as an object property.\n\t * hasBooleanValue:\n\t * Whether the property should be removed when set to a falsey value.\n\t * hasNumericValue:\n\t * Whether the property must be numeric or parse as a numeric and should be\n\t * removed when set to a falsey value.\n\t * hasPositiveNumericValue:\n\t * Whether the property must be positive numeric or parse as a positive\n\t * numeric and should be removed when set to a falsey value.\n\t * hasOverloadedBooleanValue:\n\t * Whether the property can be used as a flag as well as with a value.\n\t * Removed when strictly equal to false; present without a value when\n\t * strictly equal to true; present with a value otherwise.\n\t */\n\t properties: {},\n\t\n\t /**\n\t * Mapping from lowercase property names to the properly cased version, used\n\t * to warn in the case of missing properties. Available only in __DEV__.\n\t * @type {Object}\n\t */\n\t getPossibleStandardName: false ? {} : null,\n\t\n\t /**\n\t * All of the isCustomAttribute() functions that have been injected.\n\t */\n\t _isCustomAttributeFunctions: [],\n\t\n\t /**\n\t * Checks whether a property name is a custom attribute.\n\t * @method\n\t */\n\t isCustomAttribute: function (attributeName) {\n\t for (var i = 0; i < DOMProperty._isCustomAttributeFunctions.length; i++) {\n\t var isCustomAttributeFn = DOMProperty._isCustomAttributeFunctions[i];\n\t if (isCustomAttributeFn(attributeName)) {\n\t return true;\n\t }\n\t }\n\t return false;\n\t },\n\t\n\t injection: DOMPropertyInjection\n\t};\n\t\n\tmodule.exports = DOMProperty;\n\n/***/ },\n/* 55 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Copyright 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @providesModule ReactReconciler\n\t */\n\t\n\t'use strict';\n\t\n\tvar ReactRef = __webpack_require__(628);\n\tvar ReactInstrumentation = __webpack_require__(25);\n\t\n\tvar warning = __webpack_require__(5);\n\t\n\t/**\n\t * Helper to call ReactRef.attachRefs with this composite component, split out\n\t * to avoid allocations in the transaction mount-ready queue.\n\t */\n\tfunction attachRefs() {\n\t ReactRef.attachRefs(this, this._currentElement);\n\t}\n\t\n\tvar ReactReconciler = {\n\t\n\t /**\n\t * Initializes the component, renders markup, and registers event listeners.\n\t *\n\t * @param {ReactComponent} internalInstance\n\t * @param {ReactReconcileTransaction|ReactServerRenderingTransaction} transaction\n\t * @param {?object} the containing host component instance\n\t * @param {?object} info about the host container\n\t * @return {?string} Rendered markup to be inserted into the DOM.\n\t * @final\n\t * @internal\n\t */\n\t mountComponent: function (internalInstance, transaction, hostParent, hostContainerInfo, context, parentDebugID // 0 in production and for roots\n\t ) {\n\t if (false) {\n\t if (internalInstance._debugID !== 0) {\n\t ReactInstrumentation.debugTool.onBeforeMountComponent(internalInstance._debugID, internalInstance._currentElement, parentDebugID);\n\t }\n\t }\n\t var markup = internalInstance.mountComponent(transaction, hostParent, hostContainerInfo, context, parentDebugID);\n\t if (internalInstance._currentElement && internalInstance._currentElement.ref != null) {\n\t transaction.getReactMountReady().enqueue(attachRefs, internalInstance);\n\t }\n\t if (false) {\n\t if (internalInstance._debugID !== 0) {\n\t ReactInstrumentation.debugTool.onMountComponent(internalInstance._debugID);\n\t }\n\t }\n\t return markup;\n\t },\n\t\n\t /**\n\t * Returns a value that can be passed to\n\t * ReactComponentEnvironment.replaceNodeWithMarkup.\n\t */\n\t getHostNode: function (internalInstance) {\n\t return internalInstance.getHostNode();\n\t },\n\t\n\t /**\n\t * Releases any resources allocated by `mountComponent`.\n\t *\n\t * @final\n\t * @internal\n\t */\n\t unmountComponent: function (internalInstance, safely) {\n\t if (false) {\n\t if (internalInstance._debugID !== 0) {\n\t ReactInstrumentation.debugTool.onBeforeUnmountComponent(internalInstance._debugID);\n\t }\n\t }\n\t ReactRef.detachRefs(internalInstance, internalInstance._currentElement);\n\t internalInstance.unmountComponent(safely);\n\t if (false) {\n\t if (internalInstance._debugID !== 0) {\n\t ReactInstrumentation.debugTool.onUnmountComponent(internalInstance._debugID);\n\t }\n\t }\n\t },\n\t\n\t /**\n\t * Update a component using a new element.\n\t *\n\t * @param {ReactComponent} internalInstance\n\t * @param {ReactElement} nextElement\n\t * @param {ReactReconcileTransaction} transaction\n\t * @param {object} context\n\t * @internal\n\t */\n\t receiveComponent: function (internalInstance, nextElement, transaction, context) {\n\t var prevElement = internalInstance._currentElement;\n\t\n\t if (nextElement === prevElement && context === internalInstance._context) {\n\t // Since elements are immutable after the owner is rendered,\n\t // we can do a cheap identity compare here to determine if this is a\n\t // superfluous reconcile. It's possible for state to be mutable but such\n\t // change should trigger an update of the owner which would recreate\n\t // the element. We explicitly check for the existence of an owner since\n\t // it's possible for an element created outside a composite to be\n\t // deeply mutated and reused.\n\t\n\t // TODO: Bailing out early is just a perf optimization right?\n\t // TODO: Removing the return statement should affect correctness?\n\t return;\n\t }\n\t\n\t if (false) {\n\t if (internalInstance._debugID !== 0) {\n\t ReactInstrumentation.debugTool.onBeforeUpdateComponent(internalInstance._debugID, nextElement);\n\t }\n\t }\n\t\n\t var refsChanged = ReactRef.shouldUpdateRefs(prevElement, nextElement);\n\t\n\t if (refsChanged) {\n\t ReactRef.detachRefs(internalInstance, prevElement);\n\t }\n\t\n\t internalInstance.receiveComponent(nextElement, transaction, context);\n\t\n\t if (refsChanged && internalInstance._currentElement && internalInstance._currentElement.ref != null) {\n\t transaction.getReactMountReady().enqueue(attachRefs, internalInstance);\n\t }\n\t\n\t if (false) {\n\t if (internalInstance._debugID !== 0) {\n\t ReactInstrumentation.debugTool.onUpdateComponent(internalInstance._debugID);\n\t }\n\t }\n\t },\n\t\n\t /**\n\t * Flush any dirty changes in a component.\n\t *\n\t * @param {ReactComponent} internalInstance\n\t * @param {ReactReconcileTransaction} transaction\n\t * @internal\n\t */\n\t performUpdateIfNecessary: function (internalInstance, transaction, updateBatchNumber) {\n\t if (internalInstance._updateBatchNumber !== updateBatchNumber) {\n\t // The component's enqueued batch number should always be the current\n\t // batch or the following one.\n\t false ? warning(internalInstance._updateBatchNumber == null || internalInstance._updateBatchNumber === updateBatchNumber + 1, 'performUpdateIfNecessary: Unexpected batch number (current %s, ' + 'pending %s)', updateBatchNumber, internalInstance._updateBatchNumber) : void 0;\n\t return;\n\t }\n\t if (false) {\n\t if (internalInstance._debugID !== 0) {\n\t ReactInstrumentation.debugTool.onBeforeUpdateComponent(internalInstance._debugID, internalInstance._currentElement);\n\t }\n\t }\n\t internalInstance.performUpdateIfNecessary(transaction);\n\t if (false) {\n\t if (internalInstance._debugID !== 0) {\n\t ReactInstrumentation.debugTool.onUpdateComponent(internalInstance._debugID);\n\t }\n\t }\n\t }\n\t\n\t};\n\t\n\tmodule.exports = ReactReconciler;\n\n/***/ },\n/* 56 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\texports.storeContentFields = storeContentFields;\n\texports.addField = addField;\n\texports.removeField = removeField;\n\texports.updateFieldKey = updateFieldKey;\n\texports.updateFieldValue = updateFieldValue;\n\texports.moveArrayItem = moveArrayItem;\n\texports.convertField = convertField;\n\texports.updateTitle = updateTitle;\n\texports.updateBody = updateBody;\n\texports.updateDraft = updateDraft;\n\texports.updatePath = updatePath;\n\t\n\tvar _actionTypes = __webpack_require__(14);\n\t\n\tvar ActionTypes = _interopRequireWildcard(_actionTypes);\n\t\n\tfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\t\n\tfunction storeContentFields(content) {\n\t return {\n\t type: ActionTypes.STORE_CONTENT_FIELDS,\n\t content: content\n\t };\n\t}\n\t\n\tfunction addField(namePrefix) {\n\t return {\n\t type: ActionTypes.ADD_METAFIELD,\n\t namePrefix: namePrefix\n\t };\n\t}\n\t\n\tfunction removeField(namePrefix, key) {\n\t return {\n\t type: ActionTypes.REMOVE_METAFIELD,\n\t namePrefix: namePrefix,\n\t key: key\n\t };\n\t}\n\t\n\tfunction updateFieldKey(namePrefix, fieldKey, newKey) {\n\t return {\n\t type: ActionTypes.UPDATE_FIELD_KEY,\n\t namePrefix: namePrefix,\n\t fieldKey: fieldKey,\n\t newKey: newKey\n\t };\n\t}\n\t\n\tfunction updateFieldValue(nameAttr, value) {\n\t return {\n\t type: ActionTypes.UPDATE_FIELD_VALUE,\n\t nameAttr: nameAttr,\n\t value: value\n\t };\n\t}\n\t\n\tfunction moveArrayItem(namePrefix, srcInd, targetInd) {\n\t return {\n\t type: ActionTypes.MOVE_ARRAY_ITEM,\n\t namePrefix: namePrefix,\n\t srcInd: srcInd,\n\t targetInd: targetInd\n\t };\n\t}\n\t\n\tfunction convertField(nameAttr, convertType) {\n\t return {\n\t type: ActionTypes.CONVERT_FIELD,\n\t nameAttr: nameAttr,\n\t convertType: convertType\n\t };\n\t}\n\t\n\tfunction updateTitle(title) {\n\t return {\n\t type: ActionTypes.UPDATE_TITLE,\n\t title: title\n\t };\n\t}\n\t\n\tfunction updateBody(body) {\n\t return {\n\t type: ActionTypes.UPDATE_BODY,\n\t body: body\n\t };\n\t}\n\t\n\tfunction updateDraft(draft) {\n\t return {\n\t type: ActionTypes.UPDATE_DRAFT,\n\t draft: draft\n\t };\n\t}\n\t\n\tfunction updatePath(path) {\n\t return {\n\t type: ActionTypes.UPDATE_PATH,\n\t path: path\n\t };\n\t}\n\n/***/ },\n/* 57 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\tvar API = exports.API = true ? '/_api' : 'http://localhost:4000/_api';\n\t\n\tvar getConfigurationUrl = exports.getConfigurationUrl = function getConfigurationUrl() {\n\t return API + '/configuration';\n\t};\n\tvar putConfigurationUrl = exports.putConfigurationUrl = function putConfigurationUrl() {\n\t return API + '/configuration';\n\t};\n\t\n\tvar getPagesUrl = exports.getPagesUrl = function getPagesUrl() {\n\t return API + '/pages';\n\t};\n\tvar getPageUrl = exports.getPageUrl = function getPageUrl(id) {\n\t return API + '/pages/' + id;\n\t};\n\tvar putPageUrl = exports.putPageUrl = function putPageUrl(id) {\n\t return API + '/pages/' + id;\n\t};\n\tvar deletePageUrl = exports.deletePageUrl = function deletePageUrl(id) {\n\t return API + '/pages/' + id;\n\t};\n\t\n\tvar getCollectionsUrl = exports.getCollectionsUrl = function getCollectionsUrl() {\n\t return API + '/collections';\n\t};\n\tvar getCollectionUrl = exports.getCollectionUrl = function getCollectionUrl(collection_name) {\n\t return API + '/collections/' + collection_name;\n\t};\n\tvar getCollectionDocumentUrl = exports.getCollectionDocumentUrl = function getCollectionDocumentUrl(collection_name, id) {\n\t return API + '/collections/' + collection_name + '/' + id;\n\t};\n\tvar putCollectionDocumentUrl = exports.putCollectionDocumentUrl = function putCollectionDocumentUrl(collection_name, id) {\n\t return API + '/collections/' + collection_name + '/' + id;\n\t};\n\tvar deleteCollectionDocumentUrl = exports.deleteCollectionDocumentUrl = function deleteCollectionDocumentUrl(collection_name, id) {\n\t return API + '/collections/' + collection_name + '/' + id;\n\t};\n\t\n\tvar getDataFilesUrl = exports.getDataFilesUrl = function getDataFilesUrl() {\n\t return API + '/data';\n\t};\n\tvar getDataFileUrl = exports.getDataFileUrl = function getDataFileUrl(filename) {\n\t return API + '/data/' + filename;\n\t};\n\tvar putDataFileUrl = exports.putDataFileUrl = function putDataFileUrl(filename) {\n\t return API + '/data/' + filename;\n\t};\n\tvar deleteDataFileUrl = exports.deleteDataFileUrl = function deleteDataFileUrl(filename) {\n\t return API + '/data/' + filename;\n\t};\n\t\n\tvar getStaticFilesUrl = exports.getStaticFilesUrl = function getStaticFilesUrl() {\n\t return API + '/static_files';\n\t};\n\tvar getStaticFileUrl = exports.getStaticFileUrl = function getStaticFileUrl(filename) {\n\t return API + '/static_files/' + filename;\n\t};\n\tvar putStaticFileUrl = exports.putStaticFileUrl = function putStaticFileUrl(filename) {\n\t return API + '/static_files/' + filename;\n\t};\n\tvar deleteStaticFileUrl = exports.deleteStaticFileUrl = function deleteStaticFileUrl(filename) {\n\t return API + '/static_files/' + filename;\n\t};\n\n/***/ },\n/* 58 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\texports.del = exports.put = exports.get = undefined;\n\t\n\tvar _isomorphicFetch = __webpack_require__(435);\n\t\n\tvar _isomorphicFetch2 = _interopRequireDefault(_isomorphicFetch);\n\t\n\tvar _notifications = __webpack_require__(100);\n\t\n\tvar _lang = __webpack_require__(8);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\t\n\t/**\n\t * Fetch wrapper for GET request that dispatches actions according to the\n\t * request status\n\t * @param {String} url\n\t * @param {Object} action_success\n\t * @param {Object} action_failure\n\t * @return {Function} dispatch\n\t */\n\tvar get = exports.get = function get(url, action_success, action_failure, dispatch) {\n\t return (0, _isomorphicFetch2.default)(url).then(function (res) {\n\t return res.json();\n\t }).then(function (data) {\n\t return dispatch(_defineProperty({\n\t type: action_success.type\n\t }, action_success.name, data));\n\t }).catch(function (error) {\n\t dispatch(_defineProperty({\n\t type: action_failure.type\n\t }, action_failure.name, error));\n\t dispatch((0, _notifications.addNotification)((0, _lang.getErrorMessage)(), (0, _lang.getFetchErrorMessage)(action_success.name), 'error'));\n\t });\n\t};\n\t\n\t/**\n\t * Fetch wrapper for PUT request that dispatches actions according to the\n\t * request status\n\t * @param {String} url\n\t * @param {Object} body\n\t * @param {Object} action_success\n\t * @param {Object} action_failure\n\t * @return {Function} dispatch\n\t */\n\tvar put = exports.put = function put(url, body, action_success, action_failure, dispatch) {\n\t return (0, _isomorphicFetch2.default)(url, {\n\t method: 'PUT',\n\t body: body\n\t }).then(function (res) {\n\t return res.json();\n\t }).then(function (data) {\n\t return dispatch(_defineProperty({\n\t type: action_success.type\n\t }, action_success.name, data));\n\t }).catch(function (error) {\n\t dispatch(_defineProperty({\n\t type: action_failure.type\n\t }, action_failure.name, error));\n\t dispatch((0, _notifications.addNotification)((0, _lang.getErrorMessage)(), (0, _lang.getUpdateErrorMessage)(action_success.name), 'error'));\n\t });\n\t};\n\t\n\t/**\n\t * Fetch wrapper for DELETE request that dispatches actions according to the\n\t * request status\n\t * @param {String} url\n\t * @param {Object} action_success\n\t * @param {Object} action_failure\n\t * @return {Function} dispatch\n\t */\n\tvar del = exports.del = function del(url, action_success, action_failure, dispatch) {\n\t return (0, _isomorphicFetch2.default)(url, {\n\t method: 'DELETE'\n\t }).then(function (data) {\n\t return dispatch({\n\t type: action_success.type,\n\t id: action_success.id\n\t });\n\t }).catch(function (error) {\n\t dispatch(_defineProperty({\n\t type: action_failure.type\n\t }, action_failure.name, error));\n\t dispatch((0, _notifications.addNotification)((0, _lang.getErrorMessage)(), (0, _lang.getDeleteMessage)(action_success.name), 'error'));\n\t });\n\t};\n\n/***/ },\n/* 59 */\n/***/ function(module, exports) {\n\n\t'use strict';\n\t\n\tmodule.exports = function getWindow(node) {\n\t return node === node.window ? node : node.nodeType === 9 ? node.defaultView || node.parentWindow : false;\n\t};\n\n/***/ },\n/* 60 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar camelize = __webpack_require__(110),\n\t hyphenate = __webpack_require__(407),\n\t _getComputedStyle = __webpack_require__(403),\n\t removeStyle = __webpack_require__(404);\n\t\n\tvar has = Object.prototype.hasOwnProperty;\n\t\n\tmodule.exports = function style(node, property, value) {\n\t var css = '',\n\t props = property;\n\t\n\t if (typeof property === 'string') {\n\t\n\t if (value === undefined) return node.style[camelize(property)] || _getComputedStyle(node).getPropertyValue(hyphenate(property));else (props = {})[property] = value;\n\t }\n\t\n\t for (var key in props) if (has.call(props, key)) {\n\t !props[key] && props[key] !== 0 ? removeStyle(node, hyphenate(key)) : css += hyphenate(key) + ':' + props[key] + ';';\n\t }\n\t\n\t node.style.cssText += ';' + css;\n\t};\n\n/***/ },\n/* 61 */\n/***/ function(module, exports) {\n\n\t'use strict';\n\tmodule.exports = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\n\n/***/ },\n/* 62 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Copyright (c) 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t */\n\t\n\t'use strict';\n\t\n\tvar emptyObject = {};\n\t\n\tif (false) {\n\t Object.freeze(emptyObject);\n\t}\n\t\n\tmodule.exports = emptyObject;\n\n/***/ },\n/* 63 */\n/***/ function(module, exports) {\n\n\t// YAML error class. http://stackoverflow.com/questions/8458984\n\t//\n\t'use strict';\n\t\n\tfunction YAMLException(reason, mark) {\n\t // Super constructor\n\t Error.call(this);\n\t\n\t // Include stack trace in error object\n\t if (Error.captureStackTrace) {\n\t // Chrome and NodeJS\n\t Error.captureStackTrace(this, this.constructor);\n\t } else {\n\t // FF, IE 10+ and Safari 6+. Fallback for others\n\t this.stack = (new Error()).stack || '';\n\t }\n\t\n\t this.name = 'YAMLException';\n\t this.reason = reason;\n\t this.mark = mark;\n\t this.message = (this.reason || '(unknown reason)') + (this.mark ? ' ' + this.mark.toString() : '');\n\t}\n\t\n\t\n\t// Inherit from Error\n\tYAMLException.prototype = Object.create(Error.prototype);\n\tYAMLException.prototype.constructor = YAMLException;\n\t\n\t\n\tYAMLException.prototype.toString = function toString(compact) {\n\t var result = this.name + ': ';\n\t\n\t result += this.reason || '(unknown reason)';\n\t\n\t if (!compact && this.mark) {\n\t result += ' ' + this.mark.toString();\n\t }\n\t\n\t return result;\n\t};\n\t\n\t\n\tmodule.exports = YAMLException;\n\n\n/***/ },\n/* 64 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// JS-YAML's default schema for `safeLoad` function.\n\t// It is not described in the YAML specification.\n\t//\n\t// This schema is based on standard YAML's Core schema and includes most of\n\t// extra types described at YAML tag repository. (http://yaml.org/type/)\n\t\n\t\n\t'use strict';\n\t\n\t\n\tvar Schema = __webpack_require__(50);\n\t\n\t\n\tmodule.exports = new Schema({\n\t include: [\n\t __webpack_require__(179)\n\t ],\n\t implicit: [\n\t __webpack_require__(456),\n\t __webpack_require__(449)\n\t ],\n\t explicit: [\n\t __webpack_require__(441),\n\t __webpack_require__(451),\n\t __webpack_require__(452),\n\t __webpack_require__(454)\n\t ]\n\t});\n\n\n/***/ },\n/* 65 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar Symbol = __webpack_require__(118),\n\t getRawTag = __webpack_require__(495),\n\t objectToString = __webpack_require__(523);\n\t\n\t/** `Object#toString` result references. */\n\tvar nullTag = '[object Null]',\n\t undefinedTag = '[object Undefined]';\n\t\n\t/** Built-in value references. */\n\tvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\t\n\t/**\n\t * The base implementation of `getTag` without fallbacks for buggy environments.\n\t *\n\t * @private\n\t * @param {*} value The value to query.\n\t * @returns {string} Returns the `toStringTag`.\n\t */\n\tfunction baseGetTag(value) {\n\t if (value == null) {\n\t return value === undefined ? undefinedTag : nullTag;\n\t }\n\t return (symToStringTag && symToStringTag in Object(value))\n\t ? getRawTag(value)\n\t : objectToString(value);\n\t}\n\t\n\tmodule.exports = baseGetTag;\n\n\n/***/ },\n/* 66 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Checks if `value` is the\n\t * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n\t * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 0.1.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n\t * @example\n\t *\n\t * _.isObject({});\n\t * // => true\n\t *\n\t * _.isObject([1, 2, 3]);\n\t * // => true\n\t *\n\t * _.isObject(_.noop);\n\t * // => true\n\t *\n\t * _.isObject(null);\n\t * // => false\n\t */\n\tfunction isObject(value) {\n\t var type = typeof value;\n\t return value != null && (type == 'object' || type == 'function');\n\t}\n\t\n\tmodule.exports = isObject;\n\n\n/***/ },\n/* 67 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\texports.routes = exports.route = exports.components = exports.component = exports.history = undefined;\n\texports.falsy = falsy;\n\t\n\tvar _react = __webpack_require__(2);\n\t\n\tvar func = _react.PropTypes.func,\n\t object = _react.PropTypes.object,\n\t arrayOf = _react.PropTypes.arrayOf,\n\t oneOfType = _react.PropTypes.oneOfType,\n\t element = _react.PropTypes.element,\n\t shape = _react.PropTypes.shape,\n\t string = _react.PropTypes.string;\n\tfunction falsy(props, propName, componentName) {\n\t if (props[propName]) return new Error('<' + componentName + '> should not have a \"' + propName + '\" prop');\n\t}\n\t\n\tvar history = exports.history = shape({\n\t listen: func.isRequired,\n\t push: func.isRequired,\n\t replace: func.isRequired,\n\t go: func.isRequired,\n\t goBack: func.isRequired,\n\t goForward: func.isRequired\n\t});\n\t\n\tvar component = exports.component = oneOfType([func, string]);\n\tvar components = exports.components = oneOfType([component, object]);\n\tvar route = exports.route = oneOfType([object, element]);\n\tvar routes = exports.routes = oneOfType([route, arrayOf(route)]);\n\n/***/ },\n/* 68 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar _ = __webpack_require__(12);\n\t\n\t//backport PureRenderEqual\n\tmodule.exports = {\n\t shouldComponentUpdate: function shouldComponentUpdate(nextProps, nextState) {\n\t return !_.isShallowEqual(this.props, nextProps) || !_.isShallowEqual(this.state, nextState);\n\t }\n\t};\n\n/***/ },\n/* 69 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\t\n\tvar _react = __webpack_require__(2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\texports.default = {\n\t\n\t contextTypes: {\n\t isRtl: _react2.default.PropTypes.bool\n\t },\n\t\n\t isRtl: function isRtl() {\n\t return !!this.context.isRtl;\n\t }\n\t};\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 70 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\texports.widgetEditable = exports.widgetEnabled = undefined;\n\texports.isDisabled = isDisabled;\n\texports.isReadOnly = isReadOnly;\n\texports.isDisabledItem = isDisabledItem;\n\texports.isReadOnlyItem = isReadOnlyItem;\n\texports.contains = contains;\n\texports.move = move;\n\t\n\tvar _dataHelpers = __webpack_require__(136);\n\t\n\tfunction isDisabled(props) {\n\t return props.disabled === true || props.disabled === 'disabled';\n\t}\n\t\n\tfunction isReadOnly(props) {\n\t return props.readOnly === true || props.readOnly === 'readOnly';\n\t}\n\t\n\tfunction isDisabledItem(item, props) {\n\t return isDisabled(props) || contains(item, props.disabled, props.valueField);\n\t}\n\t\n\tfunction isReadOnlyItem(item, props) {\n\t return isReadOnly(props) || contains(item, props.readOnly, props.valueField);\n\t}\n\t\n\tfunction contains(item, values, valueField) {\n\t return Array.isArray(values) ? values.some(function (value) {\n\t return (0, _dataHelpers.valueMatcher)(item, value, valueField);\n\t }) : (0, _dataHelpers.valueMatcher)(item, values, valueField);\n\t}\n\t\n\tfunction move(dir, item, props, list) {\n\t var isDisabledOrReadonly = function isDisabledOrReadonly(item) {\n\t return isDisabledItem(item, props) || isReadOnlyItem(item, props);\n\t },\n\t stop = dir === 'next' ? list.last() : list.first(),\n\t next = list[dir](item);\n\t\n\t while (next !== stop && isDisabledOrReadonly(next)) {\n\t next = list[dir](next);\n\t }return isDisabledOrReadonly(next) ? item : next;\n\t}\n\t\n\tvar widgetEnabled = exports.widgetEnabled = interactionDecorator(true);\n\t\n\tvar widgetEditable = exports.widgetEditable = interactionDecorator(false);\n\t\n\tfunction interactionDecorator(disabledOnly) {\n\t function wrap(method) {\n\t return function decoratedMethod() {\n\t for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n\t args[_key] = arguments[_key];\n\t }\n\t\n\t if (!(isDisabled(this.props) || !disabledOnly && isReadOnly(this.props))) return method.apply(this, args);\n\t };\n\t }\n\t\n\t return function decorate(target, key, desc) {\n\t if (desc.initializer) {\n\t (function () {\n\t var init = desc.initializer;\n\t desc.initializer = function () {\n\t return wrap(init());\n\t };\n\t })();\n\t } else desc.value = wrap(desc.value);\n\t return desc;\n\t };\n\t}\n\n/***/ },\n/* 71 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Copyright 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @providesModule EventPluginHub\n\t */\n\t\n\t'use strict';\n\t\n\tvar _prodInvariant = __webpack_require__(4);\n\t\n\tvar EventPluginRegistry = __webpack_require__(139);\n\tvar EventPluginUtils = __webpack_require__(140);\n\tvar ReactErrorUtils = __webpack_require__(146);\n\t\n\tvar accumulateInto = __webpack_require__(341);\n\tvar forEachAccumulated = __webpack_require__(343);\n\tvar invariant = __webpack_require__(3);\n\t\n\t/**\n\t * Internal store for event listeners\n\t */\n\tvar listenerBank = {};\n\t\n\t/**\n\t * Internal queue of events that have accumulated their dispatches and are\n\t * waiting to have their dispatches executed.\n\t */\n\tvar eventQueue = null;\n\t\n\t/**\n\t * Dispatches an event and releases it back into the pool, unless persistent.\n\t *\n\t * @param {?object} event Synthetic event to be dispatched.\n\t * @param {boolean} simulated If the event is simulated (changes exn behavior)\n\t * @private\n\t */\n\tvar executeDispatchesAndRelease = function (event, simulated) {\n\t if (event) {\n\t EventPluginUtils.executeDispatchesInOrder(event, simulated);\n\t\n\t if (!event.isPersistent()) {\n\t event.constructor.release(event);\n\t }\n\t }\n\t};\n\tvar executeDispatchesAndReleaseSimulated = function (e) {\n\t return executeDispatchesAndRelease(e, true);\n\t};\n\tvar executeDispatchesAndReleaseTopLevel = function (e) {\n\t return executeDispatchesAndRelease(e, false);\n\t};\n\t\n\tvar getDictionaryKey = function (inst) {\n\t // Prevents V8 performance issue:\n\t // https://github.com/facebook/react/pull/7232\n\t return '.' + inst._rootNodeID;\n\t};\n\t\n\t/**\n\t * This is a unified interface for event plugins to be installed and configured.\n\t *\n\t * Event plugins can implement the following properties:\n\t *\n\t * `extractEvents` {function(string, DOMEventTarget, string, object): *}\n\t * Required. When a top-level event is fired, this method is expected to\n\t * extract synthetic events that will in turn be queued and dispatched.\n\t *\n\t * `eventTypes` {object}\n\t * Optional, plugins that fire events must publish a mapping of registration\n\t * names that are used to register listeners. Values of this mapping must\n\t * be objects that contain `registrationName` or `phasedRegistrationNames`.\n\t *\n\t * `executeDispatch` {function(object, function, string)}\n\t * Optional, allows plugins to override how an event gets dispatched. By\n\t * default, the listener is simply invoked.\n\t *\n\t * Each plugin that is injected into `EventsPluginHub` is immediately operable.\n\t *\n\t * @public\n\t */\n\tvar EventPluginHub = {\n\t\n\t /**\n\t * Methods for injecting dependencies.\n\t */\n\t injection: {\n\t\n\t /**\n\t * @param {array} InjectedEventPluginOrder\n\t * @public\n\t */\n\t injectEventPluginOrder: EventPluginRegistry.injectEventPluginOrder,\n\t\n\t /**\n\t * @param {object} injectedNamesToPlugins Map from names to plugin modules.\n\t */\n\t injectEventPluginsByName: EventPluginRegistry.injectEventPluginsByName\n\t\n\t },\n\t\n\t /**\n\t * Stores `listener` at `listenerBank[registrationName][key]`. Is idempotent.\n\t *\n\t * @param {object} inst The instance, which is the source of events.\n\t * @param {string} registrationName Name of listener (e.g. `onClick`).\n\t * @param {function} listener The callback to store.\n\t */\n\t putListener: function (inst, registrationName, listener) {\n\t !(typeof listener === 'function') ? false ? invariant(false, 'Expected %s listener to be a function, instead got type %s', registrationName, typeof listener) : _prodInvariant('94', registrationName, typeof listener) : void 0;\n\t\n\t var key = getDictionaryKey(inst);\n\t var bankForRegistrationName = listenerBank[registrationName] || (listenerBank[registrationName] = {});\n\t bankForRegistrationName[key] = listener;\n\t\n\t var PluginModule = EventPluginRegistry.registrationNameModules[registrationName];\n\t if (PluginModule && PluginModule.didPutListener) {\n\t PluginModule.didPutListener(inst, registrationName, listener);\n\t }\n\t },\n\t\n\t /**\n\t * @param {object} inst The instance, which is the source of events.\n\t * @param {string} registrationName Name of listener (e.g. `onClick`).\n\t * @return {?function} The stored callback.\n\t */\n\t getListener: function (inst, registrationName) {\n\t var bankForRegistrationName = listenerBank[registrationName];\n\t var key = getDictionaryKey(inst);\n\t return bankForRegistrationName && bankForRegistrationName[key];\n\t },\n\t\n\t /**\n\t * Deletes a listener from the registration bank.\n\t *\n\t * @param {object} inst The instance, which is the source of events.\n\t * @param {string} registrationName Name of listener (e.g. `onClick`).\n\t */\n\t deleteListener: function (inst, registrationName) {\n\t var PluginModule = EventPluginRegistry.registrationNameModules[registrationName];\n\t if (PluginModule && PluginModule.willDeleteListener) {\n\t PluginModule.willDeleteListener(inst, registrationName);\n\t }\n\t\n\t var bankForRegistrationName = listenerBank[registrationName];\n\t // TODO: This should never be null -- when is it?\n\t if (bankForRegistrationName) {\n\t var key = getDictionaryKey(inst);\n\t delete bankForRegistrationName[key];\n\t }\n\t },\n\t\n\t /**\n\t * Deletes all listeners for the DOM element with the supplied ID.\n\t *\n\t * @param {object} inst The instance, which is the source of events.\n\t */\n\t deleteAllListeners: function (inst) {\n\t var key = getDictionaryKey(inst);\n\t for (var registrationName in listenerBank) {\n\t if (!listenerBank.hasOwnProperty(registrationName)) {\n\t continue;\n\t }\n\t\n\t if (!listenerBank[registrationName][key]) {\n\t continue;\n\t }\n\t\n\t var PluginModule = EventPluginRegistry.registrationNameModules[registrationName];\n\t if (PluginModule && PluginModule.willDeleteListener) {\n\t PluginModule.willDeleteListener(inst, registrationName);\n\t }\n\t\n\t delete listenerBank[registrationName][key];\n\t }\n\t },\n\t\n\t /**\n\t * Allows registered plugins an opportunity to extract events from top-level\n\t * native browser events.\n\t *\n\t * @return {*} An accumulation of synthetic events.\n\t * @internal\n\t */\n\t extractEvents: function (topLevelType, targetInst, nativeEvent, nativeEventTarget) {\n\t var events;\n\t var plugins = EventPluginRegistry.plugins;\n\t for (var i = 0; i < plugins.length; i++) {\n\t // Not every plugin in the ordering may be loaded at runtime.\n\t var possiblePlugin = plugins[i];\n\t if (possiblePlugin) {\n\t var extractedEvents = possiblePlugin.extractEvents(topLevelType, targetInst, nativeEvent, nativeEventTarget);\n\t if (extractedEvents) {\n\t events = accumulateInto(events, extractedEvents);\n\t }\n\t }\n\t }\n\t return events;\n\t },\n\t\n\t /**\n\t * Enqueues a synthetic event that should be dispatched when\n\t * `processEventQueue` is invoked.\n\t *\n\t * @param {*} events An accumulation of synthetic events.\n\t * @internal\n\t */\n\t enqueueEvents: function (events) {\n\t if (events) {\n\t eventQueue = accumulateInto(eventQueue, events);\n\t }\n\t },\n\t\n\t /**\n\t * Dispatches all synthetic events on the event queue.\n\t *\n\t * @internal\n\t */\n\t processEventQueue: function (simulated) {\n\t // Set `eventQueue` to null before processing it so that we can tell if more\n\t // events get enqueued while processing.\n\t var processingEventQueue = eventQueue;\n\t eventQueue = null;\n\t if (simulated) {\n\t forEachAccumulated(processingEventQueue, executeDispatchesAndReleaseSimulated);\n\t } else {\n\t forEachAccumulated(processingEventQueue, executeDispatchesAndReleaseTopLevel);\n\t }\n\t !!eventQueue ? false ? invariant(false, 'processEventQueue(): Additional events were enqueued while processing an event queue. Support for this has not yet been implemented.') : _prodInvariant('95') : void 0;\n\t // This would be a good time to rethrow if any of the event handlers threw.\n\t ReactErrorUtils.rethrowCaughtError();\n\t },\n\t\n\t /**\n\t * These are needed for tests only. Do not use!\n\t */\n\t __purge: function () {\n\t listenerBank = {};\n\t },\n\t\n\t __getListenerBank: function () {\n\t return listenerBank;\n\t }\n\t\n\t};\n\t\n\tmodule.exports = EventPluginHub;\n\n/***/ },\n/* 72 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Copyright 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @providesModule EventPropagators\n\t */\n\t\n\t'use strict';\n\t\n\tvar EventConstants = __webpack_require__(32);\n\tvar EventPluginHub = __webpack_require__(71);\n\tvar EventPluginUtils = __webpack_require__(140);\n\t\n\tvar accumulateInto = __webpack_require__(341);\n\tvar forEachAccumulated = __webpack_require__(343);\n\tvar warning = __webpack_require__(5);\n\t\n\tvar PropagationPhases = EventConstants.PropagationPhases;\n\tvar getListener = EventPluginHub.getListener;\n\t\n\t/**\n\t * Some event types have a notion of different registration names for different\n\t * \"phases\" of propagation. This finds listeners by a given phase.\n\t */\n\tfunction listenerAtPhase(inst, event, propagationPhase) {\n\t var registrationName = event.dispatchConfig.phasedRegistrationNames[propagationPhase];\n\t return getListener(inst, registrationName);\n\t}\n\t\n\t/**\n\t * Tags a `SyntheticEvent` with dispatched listeners. Creating this function\n\t * here, allows us to not have to bind or create functions for each event.\n\t * Mutating the event's members allows us to not have to create a wrapping\n\t * \"dispatch\" object that pairs the event with the listener.\n\t */\n\tfunction accumulateDirectionalDispatches(inst, upwards, event) {\n\t if (false) {\n\t process.env.NODE_ENV !== 'production' ? warning(inst, 'Dispatching inst must not be null') : void 0;\n\t }\n\t var phase = upwards ? PropagationPhases.bubbled : PropagationPhases.captured;\n\t var listener = listenerAtPhase(inst, event, phase);\n\t if (listener) {\n\t event._dispatchListeners = accumulateInto(event._dispatchListeners, listener);\n\t event._dispatchInstances = accumulateInto(event._dispatchInstances, inst);\n\t }\n\t}\n\t\n\t/**\n\t * Collect dispatches (must be entirely collected before dispatching - see unit\n\t * tests). Lazily allocate the array to conserve memory. We must loop through\n\t * each event and perform the traversal for each one. We cannot perform a\n\t * single traversal for the entire collection of events because each event may\n\t * have a different target.\n\t */\n\tfunction accumulateTwoPhaseDispatchesSingle(event) {\n\t if (event && event.dispatchConfig.phasedRegistrationNames) {\n\t EventPluginUtils.traverseTwoPhase(event._targetInst, accumulateDirectionalDispatches, event);\n\t }\n\t}\n\t\n\t/**\n\t * Same as `accumulateTwoPhaseDispatchesSingle`, but skips over the targetID.\n\t */\n\tfunction accumulateTwoPhaseDispatchesSingleSkipTarget(event) {\n\t if (event && event.dispatchConfig.phasedRegistrationNames) {\n\t var targetInst = event._targetInst;\n\t var parentInst = targetInst ? EventPluginUtils.getParentInstance(targetInst) : null;\n\t EventPluginUtils.traverseTwoPhase(parentInst, accumulateDirectionalDispatches, event);\n\t }\n\t}\n\t\n\t/**\n\t * Accumulates without regard to direction, does not look for phased\n\t * registration names. Same as `accumulateDirectDispatchesSingle` but without\n\t * requiring that the `dispatchMarker` be the same as the dispatched ID.\n\t */\n\tfunction accumulateDispatches(inst, ignoredDirection, event) {\n\t if (event && event.dispatchConfig.registrationName) {\n\t var registrationName = event.dispatchConfig.registrationName;\n\t var listener = getListener(inst, registrationName);\n\t if (listener) {\n\t event._dispatchListeners = accumulateInto(event._dispatchListeners, listener);\n\t event._dispatchInstances = accumulateInto(event._dispatchInstances, inst);\n\t }\n\t }\n\t}\n\t\n\t/**\n\t * Accumulates dispatches on an `SyntheticEvent`, but only for the\n\t * `dispatchMarker`.\n\t * @param {SyntheticEvent} event\n\t */\n\tfunction accumulateDirectDispatchesSingle(event) {\n\t if (event && event.dispatchConfig.registrationName) {\n\t accumulateDispatches(event._targetInst, null, event);\n\t }\n\t}\n\t\n\tfunction accumulateTwoPhaseDispatches(events) {\n\t forEachAccumulated(events, accumulateTwoPhaseDispatchesSingle);\n\t}\n\t\n\tfunction accumulateTwoPhaseDispatchesSkipTarget(events) {\n\t forEachAccumulated(events, accumulateTwoPhaseDispatchesSingleSkipTarget);\n\t}\n\t\n\tfunction accumulateEnterLeaveDispatches(leave, enter, from, to) {\n\t EventPluginUtils.traverseEnterLeave(from, to, accumulateDispatches, leave, enter);\n\t}\n\t\n\tfunction accumulateDirectDispatches(events) {\n\t forEachAccumulated(events, accumulateDirectDispatchesSingle);\n\t}\n\t\n\t/**\n\t * A small set of propagation patterns, each of which will accept a small amount\n\t * of information, and generate a set of \"dispatch ready event objects\" - which\n\t * are sets of events that have already been annotated with a set of dispatched\n\t * listener functions/ids. The API is designed this way to discourage these\n\t * propagation strategies from actually executing the dispatches, since we\n\t * always want to collect the entire set of dispatches before executing event a\n\t * single one.\n\t *\n\t * @constructor EventPropagators\n\t */\n\tvar EventPropagators = {\n\t accumulateTwoPhaseDispatches: accumulateTwoPhaseDispatches,\n\t accumulateTwoPhaseDispatchesSkipTarget: accumulateTwoPhaseDispatchesSkipTarget,\n\t accumulateDirectDispatches: accumulateDirectDispatches,\n\t accumulateEnterLeaveDispatches: accumulateEnterLeaveDispatches\n\t};\n\t\n\tmodule.exports = EventPropagators;\n\n/***/ },\n/* 73 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Copyright 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @providesModule ReactInstanceMap\n\t */\n\t\n\t'use strict';\n\t\n\t/**\n\t * `ReactInstanceMap` maintains a mapping from a public facing stateful\n\t * instance (key) and the internal representation (value). This allows public\n\t * methods to accept the user facing instance as an argument and map them back\n\t * to internal methods.\n\t */\n\t\n\t// TODO: Replace this with ES6: var ReactInstanceMap = new Map();\n\t\n\tvar ReactInstanceMap = {\n\t\n\t /**\n\t * This API should be called `delete` but we'd have to make sure to always\n\t * transform these to strings for IE support. When this transform is fully\n\t * supported we can rename it.\n\t */\n\t remove: function (key) {\n\t key._reactInternalInstance = undefined;\n\t },\n\t\n\t get: function (key) {\n\t return key._reactInternalInstance;\n\t },\n\t\n\t has: function (key) {\n\t return key._reactInternalInstance !== undefined;\n\t },\n\t\n\t set: function (key, value) {\n\t key._reactInternalInstance = value;\n\t }\n\t\n\t};\n\t\n\tmodule.exports = ReactInstanceMap;\n\n/***/ },\n/* 74 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Copyright 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @providesModule SyntheticUIEvent\n\t */\n\t\n\t'use strict';\n\t\n\tvar SyntheticEvent = __webpack_require__(33);\n\t\n\tvar getEventTarget = __webpack_require__(155);\n\t\n\t/**\n\t * @interface UIEvent\n\t * @see http://www.w3.org/TR/DOM-Level-3-Events/\n\t */\n\tvar UIEventInterface = {\n\t view: function (event) {\n\t if (event.view) {\n\t return event.view;\n\t }\n\t\n\t var target = getEventTarget(event);\n\t if (target.window === target) {\n\t // target is a window object\n\t return target;\n\t }\n\t\n\t var doc = target.ownerDocument;\n\t // TODO: Figure out why `ownerDocument` is sometimes undefined in IE8.\n\t if (doc) {\n\t return doc.defaultView || doc.parentWindow;\n\t } else {\n\t return window;\n\t }\n\t },\n\t detail: function (event) {\n\t return event.detail || 0;\n\t }\n\t};\n\t\n\t/**\n\t * @param {object} dispatchConfig Configuration used to dispatch this event.\n\t * @param {string} dispatchMarker Marker identifying the event target.\n\t * @param {object} nativeEvent Native browser event.\n\t * @extends {SyntheticEvent}\n\t */\n\tfunction SyntheticUIEvent(dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget) {\n\t return SyntheticEvent.call(this, dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget);\n\t}\n\t\n\tSyntheticEvent.augmentClass(SyntheticUIEvent, UIEventInterface);\n\t\n\tmodule.exports = SyntheticUIEvent;\n\n/***/ },\n/* 75 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Copyright 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @providesModule Transaction\n\t */\n\t\n\t'use strict';\n\t\n\tvar _prodInvariant = __webpack_require__(4);\n\t\n\tvar invariant = __webpack_require__(3);\n\t\n\t/**\n\t * `Transaction` creates a black box that is able to wrap any method such that\n\t * certain invariants are maintained before and after the method is invoked\n\t * (Even if an exception is thrown while invoking the wrapped method). Whoever\n\t * instantiates a transaction can provide enforcers of the invariants at\n\t * creation time. The `Transaction` class itself will supply one additional\n\t * automatic invariant for you - the invariant that any transaction instance\n\t * should not be run while it is already being run. You would typically create a\n\t * single instance of a `Transaction` for reuse multiple times, that potentially\n\t * is used to wrap several different methods. Wrappers are extremely simple -\n\t * they only require implementing two methods.\n\t *\n\t *
\n\t *                       wrappers (injected at creation time)\n\t *                                      +        +\n\t *                                      |        |\n\t *                    +-----------------|--------|--------------+\n\t *                    |                 v        |              |\n\t *                    |      +---------------+   |              |\n\t *                    |   +--|    wrapper1   |---|----+         |\n\t *                    |   |  +---------------+   v    |         |\n\t *                    |   |          +-------------+  |         |\n\t *                    |   |     +----|   wrapper2  |--------+   |\n\t *                    |   |     |    +-------------+  |     |   |\n\t *                    |   |     |                     |     |   |\n\t *                    |   v     v                     v     v   | wrapper\n\t *                    | +---+ +---+   +---------+   +---+ +---+ | invariants\n\t * perform(anyMethod) | |   | |   |   |         |   |   | |   | | maintained\n\t * +----------------->|-|---|-|---|-->|anyMethod|---|---|-|---|-|-------->\n\t *                    | |   | |   |   |         |   |   | |   | |\n\t *                    | |   | |   |   |         |   |   | |   | |\n\t *                    | |   | |   |   |         |   |   | |   | |\n\t *                    | +---+ +---+   +---------+   +---+ +---+ |\n\t *                    |  initialize                    close    |\n\t *                    +-----------------------------------------+\n\t * 
\n\t *\n\t * Use cases:\n\t * - Preserving the input selection ranges before/after reconciliation.\n\t * Restoring selection even in the event of an unexpected error.\n\t * - Deactivating events while rearranging the DOM, preventing blurs/focuses,\n\t * while guaranteeing that afterwards, the event system is reactivated.\n\t * - Flushing a queue of collected DOM mutations to the main UI thread after a\n\t * reconciliation takes place in a worker thread.\n\t * - Invoking any collected `componentDidUpdate` callbacks after rendering new\n\t * content.\n\t * - (Future use case): Wrapping particular flushes of the `ReactWorker` queue\n\t * to preserve the `scrollTop` (an automatic scroll aware DOM).\n\t * - (Future use case): Layout calculations before and after DOM updates.\n\t *\n\t * Transactional plugin API:\n\t * - A module that has an `initialize` method that returns any precomputation.\n\t * - and a `close` method that accepts the precomputation. `close` is invoked\n\t * when the wrapped process is completed, or has failed.\n\t *\n\t * @param {Array} transactionWrapper Wrapper modules\n\t * that implement `initialize` and `close`.\n\t * @return {Transaction} Single transaction for reuse in thread.\n\t *\n\t * @class Transaction\n\t */\n\tvar Mixin = {\n\t /**\n\t * Sets up this instance so that it is prepared for collecting metrics. Does\n\t * so such that this setup method may be used on an instance that is already\n\t * initialized, in a way that does not consume additional memory upon reuse.\n\t * That can be useful if you decide to make your subclass of this mixin a\n\t * \"PooledClass\".\n\t */\n\t reinitializeTransaction: function () {\n\t this.transactionWrappers = this.getTransactionWrappers();\n\t if (this.wrapperInitData) {\n\t this.wrapperInitData.length = 0;\n\t } else {\n\t this.wrapperInitData = [];\n\t }\n\t this._isInTransaction = false;\n\t },\n\t\n\t _isInTransaction: false,\n\t\n\t /**\n\t * @abstract\n\t * @return {Array} Array of transaction wrappers.\n\t */\n\t getTransactionWrappers: null,\n\t\n\t isInTransaction: function () {\n\t return !!this._isInTransaction;\n\t },\n\t\n\t /**\n\t * Executes the function within a safety window. Use this for the top level\n\t * methods that result in large amounts of computation/mutations that would\n\t * need to be safety checked. The optional arguments helps prevent the need\n\t * to bind in many cases.\n\t *\n\t * @param {function} method Member of scope to call.\n\t * @param {Object} scope Scope to invoke from.\n\t * @param {Object?=} a Argument to pass to the method.\n\t * @param {Object?=} b Argument to pass to the method.\n\t * @param {Object?=} c Argument to pass to the method.\n\t * @param {Object?=} d Argument to pass to the method.\n\t * @param {Object?=} e Argument to pass to the method.\n\t * @param {Object?=} f Argument to pass to the method.\n\t *\n\t * @return {*} Return value from `method`.\n\t */\n\t perform: function (method, scope, a, b, c, d, e, f) {\n\t !!this.isInTransaction() ? false ? invariant(false, 'Transaction.perform(...): Cannot initialize a transaction when there is already an outstanding transaction.') : _prodInvariant('27') : void 0;\n\t var errorThrown;\n\t var ret;\n\t try {\n\t this._isInTransaction = true;\n\t // Catching errors makes debugging more difficult, so we start with\n\t // errorThrown set to true before setting it to false after calling\n\t // close -- if it's still set to true in the finally block, it means\n\t // one of these calls threw.\n\t errorThrown = true;\n\t this.initializeAll(0);\n\t ret = method.call(scope, a, b, c, d, e, f);\n\t errorThrown = false;\n\t } finally {\n\t try {\n\t if (errorThrown) {\n\t // If `method` throws, prefer to show that stack trace over any thrown\n\t // by invoking `closeAll`.\n\t try {\n\t this.closeAll(0);\n\t } catch (err) {}\n\t } else {\n\t // Since `method` didn't throw, we don't want to silence the exception\n\t // here.\n\t this.closeAll(0);\n\t }\n\t } finally {\n\t this._isInTransaction = false;\n\t }\n\t }\n\t return ret;\n\t },\n\t\n\t initializeAll: function (startIndex) {\n\t var transactionWrappers = this.transactionWrappers;\n\t for (var i = startIndex; i < transactionWrappers.length; i++) {\n\t var wrapper = transactionWrappers[i];\n\t try {\n\t // Catching errors makes debugging more difficult, so we start with the\n\t // OBSERVED_ERROR state before overwriting it with the real return value\n\t // of initialize -- if it's still set to OBSERVED_ERROR in the finally\n\t // block, it means wrapper.initialize threw.\n\t this.wrapperInitData[i] = Transaction.OBSERVED_ERROR;\n\t this.wrapperInitData[i] = wrapper.initialize ? wrapper.initialize.call(this) : null;\n\t } finally {\n\t if (this.wrapperInitData[i] === Transaction.OBSERVED_ERROR) {\n\t // The initializer for wrapper i threw an error; initialize the\n\t // remaining wrappers but silence any exceptions from them to ensure\n\t // that the first error is the one to bubble up.\n\t try {\n\t this.initializeAll(i + 1);\n\t } catch (err) {}\n\t }\n\t }\n\t }\n\t },\n\t\n\t /**\n\t * Invokes each of `this.transactionWrappers.close[i]` functions, passing into\n\t * them the respective return values of `this.transactionWrappers.init[i]`\n\t * (`close`rs that correspond to initializers that failed will not be\n\t * invoked).\n\t */\n\t closeAll: function (startIndex) {\n\t !this.isInTransaction() ? false ? invariant(false, 'Transaction.closeAll(): Cannot close transaction when none are open.') : _prodInvariant('28') : void 0;\n\t var transactionWrappers = this.transactionWrappers;\n\t for (var i = startIndex; i < transactionWrappers.length; i++) {\n\t var wrapper = transactionWrappers[i];\n\t var initData = this.wrapperInitData[i];\n\t var errorThrown;\n\t try {\n\t // Catching errors makes debugging more difficult, so we start with\n\t // errorThrown set to true before setting it to false after calling\n\t // close -- if it's still set to true in the finally block, it means\n\t // wrapper.close threw.\n\t errorThrown = true;\n\t if (initData !== Transaction.OBSERVED_ERROR && wrapper.close) {\n\t wrapper.close.call(this, initData);\n\t }\n\t errorThrown = false;\n\t } finally {\n\t if (errorThrown) {\n\t // The closer for wrapper i threw an error; close the remaining\n\t // wrappers but silence any exceptions from them to ensure that the\n\t // first error is the one to bubble up.\n\t try {\n\t this.closeAll(i + 1);\n\t } catch (e) {}\n\t }\n\t }\n\t }\n\t this.wrapperInitData.length = 0;\n\t }\n\t};\n\t\n\tvar Transaction = {\n\t\n\t Mixin: Mixin,\n\t\n\t /**\n\t * Token to look for to determine if an error occurred.\n\t */\n\t OBSERVED_ERROR: {}\n\t\n\t};\n\t\n\tmodule.exports = Transaction;\n\n/***/ },\n/* 76 */\n/***/ function(module, exports) {\n\n\tmodule.exports = function(module) {\r\n\t\tif(!module.webpackPolyfill) {\r\n\t\t\tmodule.deprecate = function() {};\r\n\t\t\tmodule.paths = [];\r\n\t\t\t// module.parent = undefined by default\r\n\t\t\tmodule.children = [];\r\n\t\t\tmodule.webpackPolyfill = 1;\r\n\t\t}\r\n\t\treturn module;\r\n\t}\r\n\n\n/***/ },\n/* 77 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\texports.fetchCollections = fetchCollections;\n\texports.fetchCollection = fetchCollection;\n\texports.fetchDocument = fetchDocument;\n\texports.putDocument = putDocument;\n\texports.deleteDocument = deleteDocument;\n\t\n\tvar _actionTypes = __webpack_require__(14);\n\t\n\tvar ActionTypes = _interopRequireWildcard(_actionTypes);\n\t\n\tvar _underscore = __webpack_require__(7);\n\t\n\tvar _underscore2 = _interopRequireDefault(_underscore);\n\t\n\tvar _moment = __webpack_require__(1);\n\t\n\tvar _moment2 = _interopRequireDefault(_moment);\n\t\n\tvar _utils = __webpack_require__(19);\n\t\n\tvar _fetch = __webpack_require__(58);\n\t\n\tvar _validation = __webpack_require__(107);\n\t\n\tvar _helpers = __webpack_require__(20);\n\t\n\tvar _lang = __webpack_require__(8);\n\t\n\tvar _api = __webpack_require__(57);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\t\n\tfunction fetchCollections() {\n\t return function (dispatch) {\n\t dispatch({ type: ActionTypes.FETCH_COLLECTIONS_REQUEST });\n\t return (0, _fetch.get)((0, _api.getCollectionsUrl)(), { type: ActionTypes.FETCH_COLLECTIONS_SUCCESS, name: \"collections\" }, { type: ActionTypes.FETCH_COLLECTIONS_FAILURE, name: \"error\" }, dispatch);\n\t };\n\t}\n\t\n\tfunction fetchCollection(collection_name) {\n\t return function (dispatch) {\n\t dispatch({ type: ActionTypes.FETCH_COLLECTION_REQUEST });\n\t return (0, _fetch.get)((0, _api.getCollectionUrl)(collection_name), { type: ActionTypes.FETCH_COLLECTION_SUCCESS, name: \"collection\" }, { type: ActionTypes.FETCH_COLLECTION_FAILURE, name: \"error\" }, dispatch);\n\t };\n\t}\n\t\n\tfunction fetchDocument(collection_name, id) {\n\t return function (dispatch) {\n\t dispatch({ type: ActionTypes.FETCH_DOCUMENT_REQUEST });\n\t return (0, _fetch.get)((0, _api.getCollectionDocumentUrl)(collection_name, id), { type: ActionTypes.FETCH_DOCUMENT_SUCCESS, name: \"doc\" }, { type: ActionTypes.FETCH_DOCUMENT_FAILURE, name: \"error\" }, dispatch);\n\t };\n\t}\n\t\n\tfunction putDocument(id, collection) {\n\t return function (dispatch, getState) {\n\t // get edited fields from metadata state\n\t var metadata = getState().metadata.metadata;\n\t var path = metadata.path,\n\t raw_content = metadata.raw_content,\n\t title = metadata.title;\n\t\n\t // if no path given, generate filename from the title\n\t\n\t if (!path && title) {\n\t path = generateFilenameFromTitle(metadata, collection); // override empty path\n\t } else {\n\t // validate otherwise\n\t var errors = validateDocument(metadata, collection);\n\t if (errors.length) {\n\t return dispatch((0, _utils.validationError)(errors));\n\t }\n\t }\n\t // clear errors\n\t dispatch({ type: ActionTypes.CLEAR_ERRORS });\n\t\n\t // omit raw_content, path and empty-value keys in metadata state from front_matter\n\t var front_matter = _underscore2.default.omit(metadata, function (value, key, object) {\n\t if (key == 'raw_content' || key == 'path' || value == '') return true;\n\t });\n\t var payload = JSON.stringify({ raw_content: raw_content, path: path, front_matter: front_matter });\n\t\n\t // send the put request\n\t return (0, _fetch.put)((0, _api.putCollectionDocumentUrl)(collection, id || (0, _helpers.getFilenameFromPath)(path) // create or update document\n\t ), payload, { type: ActionTypes.PUT_DOCUMENT_SUCCESS, name: \"doc\" }, { type: ActionTypes.PUT_DOCUMENT_FAILURE, name: \"error\" }, dispatch);\n\t };\n\t}\n\t\n\tvar generateFilenameFromTitle = function generateFilenameFromTitle(metadata, collection) {\n\t if (collection == 'posts') {\n\t // if date is provided, use it, otherwise generate it with today's date\n\t var date = void 0;\n\t if (metadata.date) {\n\t date = metadata.date.split(' ')[0];\n\t } else {\n\t date = (0, _moment2.default)().format('YYYY-MM-DD');\n\t }\n\t return date + '-' + (0, _helpers.slugify)(metadata.title) + '.md';\n\t }\n\t return (0, _helpers.slugify)(metadata.title) + '.md';\n\t};\n\t\n\tvar validateDocument = function validateDocument(metadata, collection) {\n\t var validations = { title: 'required' }; // base validations\n\t // base messages\n\t var messages = {\n\t 'title.required': (0, _lang.getTitleRequiredMessage)(),\n\t 'path.required': (0, _lang.getFilenameRequiredMessage)()\n\t };\n\t\n\t if (collection == 'posts') {\n\t validations['path'] = 'required|date';\n\t messages['path.date'] = (0, _lang.getFilenameNotValidMessage)();\n\t } else {\n\t validations['path'] = 'required|filename';\n\t messages['path.filename'] = (0, _lang.getFilenameNotValidMessage)();\n\t }\n\t return (0, _validation.validator)(metadata, validations, messages);\n\t};\n\t\n\tfunction deleteDocument(id, collection) {\n\t return function (dispatch) {\n\t return fetch((0, _api.deleteCollectionDocumentUrl)(collection, id), {\n\t method: 'DELETE'\n\t }).then(function (data) {\n\t dispatch({ type: ActionTypes.DELETE_DOCUMENT_SUCCESS });\n\t dispatch(fetchCollection(collection));\n\t }).catch(function (error) {\n\t return dispatch({\n\t type: ActionTypes.DELETE_DOCUMENT_FAILURE,\n\t error: error\n\t });\n\t });\n\t };\n\t}\n\n/***/ },\n/* 78 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\tvar _react = __webpack_require__(2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _simplemde = __webpack_require__(660);\n\t\n\tvar _simplemde2 = _interopRequireDefault(_simplemde);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\tvar classNames = ['editor-toolbar', 'CodeMirror', 'editor-preview-side', 'editor-statusbar'];\n\t\n\tvar MarkdownEditor = function (_Component) {\n\t _inherits(MarkdownEditor, _Component);\n\t\n\t function MarkdownEditor() {\n\t _classCallCheck(this, MarkdownEditor);\n\t\n\t return _possibleConstructorReturn(this, (MarkdownEditor.__proto__ || Object.getPrototypeOf(MarkdownEditor)).apply(this, arguments));\n\t }\n\t\n\t _createClass(MarkdownEditor, [{\n\t key: 'componentDidMount',\n\t value: function componentDidMount() {\n\t this.create();\n\t }\n\t }, {\n\t key: 'shouldComponentUpdate',\n\t value: function shouldComponentUpdate(nextProps) {\n\t return nextProps.initialValue !== this.props.initialValue;\n\t }\n\t }, {\n\t key: 'componentDidUpdate',\n\t value: function componentDidUpdate() {\n\t this.destroy();this.create();\n\t }\n\t }, {\n\t key: 'componentWillUnmount',\n\t value: function componentWillUnmount() {\n\t this.destroy();\n\t }\n\t }, {\n\t key: 'create',\n\t value: function create() {\n\t var _this2 = this;\n\t\n\t var _props = this.props,\n\t onChange = _props.onChange,\n\t onSave = _props.onSave;\n\t\n\t var opts = Object.create(this.props);\n\t opts['element'] = this.refs.text;\n\t opts['autoDownloadFontAwesome'] = false;\n\t var toolbarIcons = ['bold', 'italic', 'heading', '|', 'code', 'quote', 'unordered-list', 'ordered-list', '|', 'link', 'image', '|', 'preview', 'side-by-side', 'fullscreen', '|'];\n\t if (onSave) {\n\t toolbarIcons.push({\n\t name: \"save\",\n\t action: function action() {\n\t onSave();\n\t },\n\t className: \"fa fa-floppy-o\",\n\t title: \"Save\"\n\t });\n\t }\n\t opts['toolbar'] = toolbarIcons;\n\t this.editor = new _simplemde2.default(opts);\n\t this.editor.codemirror.on(\"change\", function () {\n\t onChange(_this2.editor.value());\n\t });\n\t }\n\t }, {\n\t key: 'destroy',\n\t value: function destroy() {\n\t for (var i in classNames) {\n\t var elementToRemove = this.refs.container.querySelector('.' + classNames[i]);\n\t elementToRemove && elementToRemove.remove();\n\t }\n\t }\n\t }, {\n\t key: 'render',\n\t value: function render() {\n\t return _react2.default.createElement('div', { ref: 'container' }, _react2.default.createElement('textarea', { ref: 'text' }));\n\t }\n\t }]);\n\t\n\t return MarkdownEditor;\n\t}(_react.Component);\n\t\n\tMarkdownEditor.propTypes = {\n\t initialValue: _react.PropTypes.string.isRequired,\n\t onChange: _react.PropTypes.func.isRequired,\n\t onSave: _react.PropTypes.func.isRequired\n\t};\n\t\n\texports.default = MarkdownEditor;\n\n/***/ },\n/* 79 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\tvar _react = __webpack_require__(2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\tvar InputSearch = function (_Component) {\n\t _inherits(InputSearch, _Component);\n\t\n\t function InputSearch() {\n\t _classCallCheck(this, InputSearch);\n\t\n\t return _possibleConstructorReturn(this, (InputSearch.__proto__ || Object.getPrototypeOf(InputSearch)).apply(this, arguments));\n\t }\n\t\n\t _createClass(InputSearch, [{\n\t key: \"handleKeyPress\",\n\t value: function handleKeyPress(event) {\n\t var search = this.props.search;\n\t\n\t if (event.charCode == 13) {\n\t search(event.target.value);\n\t }\n\t }\n\t }, {\n\t key: \"render\",\n\t value: function render() {\n\t var _this2 = this;\n\t\n\t var searchBy = this.props.searchBy;\n\t\n\t return _react2.default.createElement(\"input\", {\n\t onKeyPress: function onKeyPress(e) {\n\t return _this2.handleKeyPress(e);\n\t },\n\t type: \"text\",\n\t className: \"field\",\n\t placeholder: \"Search by \" + searchBy });\n\t }\n\t }]);\n\t\n\t return InputSearch;\n\t}(_react.Component);\n\t\n\texports.default = InputSearch;\n\t\n\t\n\tInputSearch.propTypes = {\n\t search: _react.PropTypes.func.isRequired,\n\t searchBy: _react.PropTypes.string.isRequired\n\t};\n\n/***/ },\n/* 80 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\tvar _react = __webpack_require__(2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _reactTextareaAutosize = __webpack_require__(319);\n\t\n\tvar _reactTextareaAutosize2 = _interopRequireDefault(_reactTextareaAutosize);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\tvar InputTitle = function (_Component) {\n\t _inherits(InputTitle, _Component);\n\t\n\t function InputTitle() {\n\t _classCallCheck(this, InputTitle);\n\t\n\t return _possibleConstructorReturn(this, (InputTitle.__proto__ || Object.getPrototypeOf(InputTitle)).apply(this, arguments));\n\t }\n\t\n\t _createClass(InputTitle, [{\n\t key: 'shouldComponentUpdate',\n\t value: function shouldComponentUpdate(nextProps) {\n\t return nextProps.title !== this.props.title;\n\t }\n\t }, {\n\t key: 'handleChange',\n\t value: function handleChange(e) {\n\t var onChange = this.props.onChange;\n\t\n\t onChange(e.target.value);\n\t }\n\t }, {\n\t key: 'render',\n\t value: function render() {\n\t var _this2 = this;\n\t\n\t var title = this.props.title;\n\t\n\t return _react2.default.createElement(_reactTextareaAutosize2.default, {\n\t onChange: function onChange(e) {\n\t return _this2.handleChange(e);\n\t },\n\t className: 'input-title',\n\t placeholder: 'Title',\n\t defaultValue: title,\n\t ref: 'input'\n\t });\n\t }\n\t }]);\n\t\n\t return InputTitle;\n\t}(_react.Component);\n\t\n\texports.default = InputTitle;\n\t\n\t\n\tInputTitle.propTypes = {\n\t title: _react.PropTypes.string.isRequired,\n\t onChange: _react.PropTypes.func.isRequired\n\t};\n\n/***/ },\n/* 81 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\texports.MetaFields = undefined;\n\t\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\tvar _react = __webpack_require__(2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _reactRedux = __webpack_require__(15);\n\t\n\tvar _redux = __webpack_require__(13);\n\t\n\tvar _underscore = __webpack_require__(7);\n\t\n\tvar _underscore2 = _interopRequireDefault(_underscore);\n\t\n\tvar _MetaField = __webpack_require__(358);\n\t\n\tvar _MetaField2 = _interopRequireDefault(_MetaField);\n\t\n\tvar _metadata = __webpack_require__(56);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\tvar MetaFields = exports.MetaFields = function (_Component) {\n\t _inherits(MetaFields, _Component);\n\t\n\t function MetaFields() {\n\t _classCallCheck(this, MetaFields);\n\t\n\t return _possibleConstructorReturn(this, (MetaFields.__proto__ || Object.getPrototypeOf(MetaFields)).apply(this, arguments));\n\t }\n\t\n\t _createClass(MetaFields, [{\n\t key: 'componentDidMount',\n\t value: function componentDidMount() {\n\t var _props = this.props,\n\t storeContentFields = _props.storeContentFields,\n\t fields = _props.fields;\n\t\n\t storeContentFields(fields);\n\t }\n\t }, {\n\t key: 'shouldComponentUpdate',\n\t value: function shouldComponentUpdate(nextProps) {\n\t return nextProps.metadata !== this.props.metadata;\n\t }\n\t }, {\n\t key: 'render',\n\t value: function render() {\n\t var _props2 = this.props,\n\t metadata = _props2.metadata,\n\t addField = _props2.addField,\n\t removeField = _props2.removeField,\n\t updateFieldKey = _props2.updateFieldKey,\n\t updateFieldValue = _props2.updateFieldValue,\n\t moveArrayItem = _props2.moveArrayItem,\n\t convertField = _props2.convertField,\n\t key_prefix = _props2.key_prefix;\n\t\n\t var path = metadata.path,\n\t title = metadata.title,\n\t raw_content = metadata.raw_content,\n\t rest = _objectWithoutProperties(metadata, ['path', 'title', 'raw_content']);\n\t\n\t var metafields = _underscore2.default.map(rest, function (field, key) {\n\t var type = \"simple\";\n\t if (_underscore2.default.isObject(field)) type = \"object\";\n\t if (_underscore2.default.isArray(field)) type = \"array\";\n\t return _react2.default.createElement(_MetaField2.default, {\n\t key: key,\n\t key_prefix: key_prefix,\n\t type: type,\n\t parentType: 'top',\n\t fieldKey: key,\n\t fieldValue: field,\n\t addField: addField,\n\t removeField: removeField,\n\t updateFieldKey: updateFieldKey,\n\t updateFieldValue: updateFieldValue,\n\t moveArrayItem: moveArrayItem,\n\t convertField: convertField,\n\t nameAttr: 'metadata[\\'' + key + '\\']',\n\t namePrefix: 'metadata' });\n\t });\n\t\n\t return _react2.default.createElement(\n\t 'div',\n\t { className: 'metafields' },\n\t metafields,\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'meta-new' },\n\t _react2.default.createElement(\n\t 'a',\n\t { onClick: function onClick() {\n\t return addField('metadata');\n\t }, className: 'tooltip' },\n\t _react2.default.createElement('i', { className: 'fa fa-plus-circle' }),\n\t ' New metadata field',\n\t _react2.default.createElement(\n\t 'span',\n\t { className: 'tooltip-text' },\n\t 'Metadata will be stored as the YAML Front Matter within the document.'\n\t )\n\t )\n\t )\n\t );\n\t }\n\t }]);\n\t\n\t return MetaFields;\n\t}(_react.Component);\n\t\n\tMetaFields.propTypes = {\n\t fields: _react.PropTypes.object.isRequired,\n\t metadata: _react.PropTypes.object.isRequired,\n\t key_prefix: _react.PropTypes.string.isRequired,\n\t storeContentFields: _react.PropTypes.func.isRequired,\n\t addField: _react.PropTypes.func.isRequired,\n\t removeField: _react.PropTypes.func.isRequired,\n\t updateFieldKey: _react.PropTypes.func.isRequired,\n\t updateFieldValue: _react.PropTypes.func.isRequired,\n\t moveArrayItem: _react.PropTypes.func.isRequired,\n\t convertField: _react.PropTypes.func.isRequired\n\t};\n\t\n\tvar mapStateToProps = function mapStateToProps(state) {\n\t return {\n\t metadata: state.metadata.metadata,\n\t key_prefix: state.metadata.key_prefix\n\t };\n\t};\n\t\n\tvar mapDispatchToProps = function mapDispatchToProps(dispatch) {\n\t return (0, _redux.bindActionCreators)({\n\t storeContentFields: _metadata.storeContentFields,\n\t addField: _metadata.addField,\n\t removeField: _metadata.removeField,\n\t updateFieldKey: _metadata.updateFieldKey,\n\t updateFieldValue: _metadata.updateFieldValue,\n\t moveArrayItem: _metadata.moveArrayItem,\n\t convertField: _metadata.convertField\n\t }, dispatch);\n\t};\n\t\n\texports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)(MetaFields);\n\n/***/ },\n/* 82 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar offset = __webpack_require__(109),\n\t getWindow = __webpack_require__(59);\n\t\n\tmodule.exports = function height(node, client) {\n\t var win = getWindow(node);\n\t return win ? win.innerHeight : client ? node.clientHeight : offset(node).height;\n\t};\n\n/***/ },\n/* 83 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Copyright (c) 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @typechecks static-only\n\t */\n\t\n\t'use strict';\n\t\n\tvar invariant = __webpack_require__(3);\n\t\n\t/**\n\t * Constructs an enumeration with keys equal to their value.\n\t *\n\t * For example:\n\t *\n\t * var COLORS = keyMirror({blue: null, red: null});\n\t * var myColor = COLORS.blue;\n\t * var isColorValid = !!COLORS[myColor];\n\t *\n\t * The last line could not be performed if the values of the generated enum were\n\t * not equal to their keys.\n\t *\n\t * Input: {key1: val1, key2: val2}\n\t * Output: {key1: key1, key2: key2}\n\t *\n\t * @param {object} obj\n\t * @return {object}\n\t */\n\tvar keyMirror = function keyMirror(obj) {\n\t var ret = {};\n\t var key;\n\t !(obj instanceof Object && !Array.isArray(obj)) ? false ? invariant(false, 'keyMirror(...): Argument must be an object.') : invariant(false) : void 0;\n\t for (key in obj) {\n\t if (!obj.hasOwnProperty(key)) {\n\t continue;\n\t }\n\t ret[key] = key;\n\t }\n\t return ret;\n\t};\n\t\n\tmodule.exports = keyMirror;\n\n/***/ },\n/* 84 */\n/***/ function(module, exports) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\t/**\n\t * Indicates that navigation was caused by a call to history.push.\n\t */\n\tvar PUSH = exports.PUSH = 'PUSH';\n\t\n\t/**\n\t * Indicates that navigation was caused by a call to history.replace.\n\t */\n\tvar REPLACE = exports.REPLACE = 'REPLACE';\n\t\n\t/**\n\t * Indicates that navigation was caused by some other action such\n\t * as using a browser's back/forward buttons and/or manually manipulating\n\t * the URL in a browser's location bar. This is the default.\n\t *\n\t * See https://developer.mozilla.org/en-US/docs/Web/API/WindowEventHandlers/onpopstate\n\t * for more information.\n\t */\n\tvar POP = exports.POP = 'POP';\n\n/***/ },\n/* 85 */\n/***/ function(module, exports) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\tvar addEventListener = exports.addEventListener = function addEventListener(node, event, listener) {\n\t return node.addEventListener ? node.addEventListener(event, listener, false) : node.attachEvent('on' + event, listener);\n\t};\n\t\n\tvar removeEventListener = exports.removeEventListener = function removeEventListener(node, event, listener) {\n\t return node.removeEventListener ? node.removeEventListener(event, listener, false) : node.detachEvent('on' + event, listener);\n\t};\n\t\n\t/**\n\t * Returns true if the HTML5 history API is supported. Taken from Modernizr.\n\t *\n\t * https://github.com/Modernizr/Modernizr/blob/master/LICENSE\n\t * https://github.com/Modernizr/Modernizr/blob/master/feature-detects/history.js\n\t * changed to avoid false negatives for Windows Phones: https://github.com/reactjs/react-router/issues/586\n\t */\n\tvar supportsHistory = exports.supportsHistory = function supportsHistory() {\n\t var ua = window.navigator.userAgent;\n\t\n\t if ((ua.indexOf('Android 2.') !== -1 || ua.indexOf('Android 4.0') !== -1) && ua.indexOf('Mobile Safari') !== -1 && ua.indexOf('Chrome') === -1 && ua.indexOf('Windows Phone') === -1) return false;\n\t\n\t return window.history && 'pushState' in window.history;\n\t};\n\t\n\t/**\n\t * Returns false if using go(n) with hash history causes a full page reload.\n\t */\n\tvar supportsGoWithoutReloadUsingHash = exports.supportsGoWithoutReloadUsingHash = function supportsGoWithoutReloadUsingHash() {\n\t return window.navigator.userAgent.indexOf('Firefox') === -1;\n\t};\n\t\n\t/**\n\t * Returns true if browser fires popstate on hash change.\n\t * IE10 and IE11 do not.\n\t */\n\tvar supportsPopstateOnHashchange = exports.supportsPopstateOnHashchange = function supportsPopstateOnHashchange() {\n\t return window.navigator.userAgent.indexOf('Trident') === -1;\n\t};\n\n/***/ },\n/* 86 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// JS-YAML's default schema for `load` function.\n\t// It is not described in the YAML specification.\n\t//\n\t// This schema is based on JS-YAML's default safe schema and includes\n\t// JavaScript-specific types: !!js/undefined, !!js/regexp and !!js/function.\n\t//\n\t// Also this schema is used as default base schema at `Schema.create` function.\n\t\n\t\n\t'use strict';\n\t\n\t\n\tvar Schema = __webpack_require__(50);\n\t\n\t\n\tmodule.exports = Schema.DEFAULT = new Schema({\n\t include: [\n\t __webpack_require__(64)\n\t ],\n\t explicit: [\n\t __webpack_require__(447),\n\t __webpack_require__(446),\n\t __webpack_require__(445)\n\t ]\n\t});\n\n\n/***/ },\n/* 87 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar listCacheClear = __webpack_require__(509),\n\t listCacheDelete = __webpack_require__(510),\n\t listCacheGet = __webpack_require__(511),\n\t listCacheHas = __webpack_require__(512),\n\t listCacheSet = __webpack_require__(513);\n\t\n\t/**\n\t * Creates an list cache object.\n\t *\n\t * @private\n\t * @constructor\n\t * @param {Array} [entries] The key-value pairs to cache.\n\t */\n\tfunction ListCache(entries) {\n\t var index = -1,\n\t length = entries == null ? 0 : entries.length;\n\t\n\t this.clear();\n\t while (++index < length) {\n\t var entry = entries[index];\n\t this.set(entry[0], entry[1]);\n\t }\n\t}\n\t\n\t// Add methods to `ListCache`.\n\tListCache.prototype.clear = listCacheClear;\n\tListCache.prototype['delete'] = listCacheDelete;\n\tListCache.prototype.get = listCacheGet;\n\tListCache.prototype.has = listCacheHas;\n\tListCache.prototype.set = listCacheSet;\n\t\n\tmodule.exports = ListCache;\n\n\n/***/ },\n/* 88 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar eq = __webpack_require__(191);\n\t\n\t/**\n\t * Gets the index at which the `key` is found in `array` of key-value pairs.\n\t *\n\t * @private\n\t * @param {Array} array The array to inspect.\n\t * @param {*} key The key to search for.\n\t * @returns {number} Returns the index of the matched value, else `-1`.\n\t */\n\tfunction assocIndexOf(array, key) {\n\t var length = array.length;\n\t while (length--) {\n\t if (eq(array[length][0], key)) {\n\t return length;\n\t }\n\t }\n\t return -1;\n\t}\n\t\n\tmodule.exports = assocIndexOf;\n\n\n/***/ },\n/* 89 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar assignValue = __webpack_require__(184),\n\t baseAssignValue = __webpack_require__(185);\n\t\n\t/**\n\t * Copies properties of `source` to `object`.\n\t *\n\t * @private\n\t * @param {Object} source The object to copy properties from.\n\t * @param {Array} props The property identifiers to copy.\n\t * @param {Object} [object={}] The object to copy properties to.\n\t * @param {Function} [customizer] The function to customize copied values.\n\t * @returns {Object} Returns `object`.\n\t */\n\tfunction copyObject(source, props, object, customizer) {\n\t var isNew = !object;\n\t object || (object = {});\n\t\n\t var index = -1,\n\t length = props.length;\n\t\n\t while (++index < length) {\n\t var key = props[index];\n\t\n\t var newValue = customizer\n\t ? customizer(object[key], source[key], key, object, source)\n\t : undefined;\n\t\n\t if (newValue === undefined) {\n\t newValue = source[key];\n\t }\n\t if (isNew) {\n\t baseAssignValue(object, key, newValue);\n\t } else {\n\t assignValue(object, key, newValue);\n\t }\n\t }\n\t return object;\n\t}\n\t\n\tmodule.exports = copyObject;\n\n\n/***/ },\n/* 90 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isKeyable = __webpack_require__(507);\n\t\n\t/**\n\t * Gets the data for `map`.\n\t *\n\t * @private\n\t * @param {Object} map The map to query.\n\t * @param {string} key The reference key.\n\t * @returns {*} Returns the map data.\n\t */\n\tfunction getMapData(map, key) {\n\t var data = map.__data__;\n\t return isKeyable(key)\n\t ? data[typeof key == 'string' ? 'string' : 'hash']\n\t : data.map;\n\t}\n\t\n\tmodule.exports = getMapData;\n\n\n/***/ },\n/* 91 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar getNative = __webpack_require__(42);\n\t\n\t/* Built-in method references that are verified to be native. */\n\tvar nativeCreate = getNative(Object, 'create');\n\t\n\tmodule.exports = nativeCreate;\n\n\n/***/ },\n/* 92 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Checks if `value` is object-like. A value is object-like if it's not `null`\n\t * and has a `typeof` result of \"object\".\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 4.0.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n\t * @example\n\t *\n\t * _.isObjectLike({});\n\t * // => true\n\t *\n\t * _.isObjectLike([1, 2, 3]);\n\t * // => true\n\t *\n\t * _.isObjectLike(_.noop);\n\t * // => false\n\t *\n\t * _.isObjectLike(null);\n\t * // => false\n\t */\n\tfunction isObjectLike(value) {\n\t return value != null && typeof value == 'object';\n\t}\n\t\n\tmodule.exports = isObjectLike;\n\n\n/***/ },\n/* 93 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\t\n\tvar _class, _temp2;\n\t\n\tvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\t\n\tvar _react = __webpack_require__(2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _classnames = __webpack_require__(26);\n\t\n\tvar _classnames2 = _interopRequireDefault(_classnames);\n\t\n\tvar _dates = __webpack_require__(37);\n\t\n\tvar _dates2 = _interopRequireDefault(_dates);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\tvar VIEW_UNITS = ['month', 'year', 'decade', 'century'];\n\t\n\tfunction clamp(date, min, max) {\n\t return _dates2.default.max(_dates2.default.min(date, max), min);\n\t}\n\t\n\tvar CalendarView = function (_React$Component) {\n\t _inherits(CalendarView, _React$Component);\n\t\n\t function CalendarView() {\n\t _classCallCheck(this, CalendarView);\n\t\n\t return _possibleConstructorReturn(this, _React$Component.apply(this, arguments));\n\t }\n\t\n\t CalendarView.prototype.render = function render() {\n\t var className = this.props.className;\n\t\n\t\n\t return _react2.default.createElement('table', _extends({}, this.props, {\n\t role: 'grid',\n\t tabIndex: '-1',\n\t className: (0, _classnames2.default)(className, 'rw-nav-view', 'rw-calendar-grid')\n\t }));\n\t };\n\t\n\t return CalendarView;\n\t}(_react2.default.Component);\n\t\n\tvar CalendarViewCell = (_temp2 = _class = function (_React$Component2) {\n\t _inherits(CalendarViewCell, _React$Component2);\n\t\n\t function CalendarViewCell() {\n\t var _temp, _this2, _ret;\n\t\n\t _classCallCheck(this, CalendarViewCell);\n\t\n\t for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n\t args[_key] = arguments[_key];\n\t }\n\t\n\t return _ret = (_temp = (_this2 = _possibleConstructorReturn(this, _React$Component2.call.apply(_React$Component2, [this].concat(args))), _this2), _this2.handleChange = function () {\n\t var _this2$props = _this2.props,\n\t onChange = _this2$props.onChange,\n\t min = _this2$props.min,\n\t max = _this2$props.max,\n\t date = _this2$props.date;\n\t\n\t onChange(clamp(date, min, max));\n\t }, _temp), _possibleConstructorReturn(_this2, _ret);\n\t }\n\t\n\t CalendarViewCell.prototype.isEqual = function isEqual(date) {\n\t return _dates2.default.eq(this.props.date, date, this.props.unit);\n\t };\n\t\n\t CalendarViewCell.prototype.isEmpty = function isEmpty() {\n\t var _props = this.props,\n\t unit = _props.unit,\n\t min = _props.min,\n\t max = _props.max,\n\t date = _props.date;\n\t\n\t return !_dates2.default.inRange(date, min, max, unit);\n\t };\n\t\n\t CalendarViewCell.prototype.isNow = function isNow() {\n\t return this.isEqual(this.props.now);\n\t };\n\t\n\t CalendarViewCell.prototype.isFocused = function isFocused() {\n\t return this.isEqual(this.props.focused);\n\t };\n\t\n\t CalendarViewCell.prototype.isSelected = function isSelected() {\n\t return this.isEqual(this.props.selected);\n\t };\n\t\n\t CalendarViewCell.prototype.isOffView = function isOffView() {\n\t var _props2 = this.props,\n\t viewUnit = _props2.viewUnit,\n\t focused = _props2.focused,\n\t date = _props2.date;\n\t\n\t return viewUnit && _dates2.default[viewUnit](date) !== _dates2.default[viewUnit](focused);\n\t };\n\t\n\t CalendarViewCell.prototype.render = function render() {\n\t var _props3 = this.props,\n\t children = _props3.children,\n\t id = _props3.id,\n\t label = _props3.label,\n\t disabled = _props3.disabled;\n\t\n\t\n\t if (this.isEmpty()) {\n\t return _react2.default.createElement(\n\t 'td',\n\t { className: 'rw-empty-cell', role: 'presentation' },\n\t '\\xA0'\n\t );\n\t }\n\t\n\t return _react2.default.createElement(\n\t 'td',\n\t {\n\t role: 'gridcell',\n\t id: id,\n\t title: label,\n\t 'aria-label': label,\n\t 'aria-readonly': disabled,\n\t 'aria-selected': this.isSelected()\n\t },\n\t _react2.default.createElement(\n\t 'span',\n\t {\n\t 'aria-labelledby': id,\n\t onClick: this.handleChange,\n\t className: (0, _classnames2.default)('rw-btn', this.isNow() && 'rw-now', this.isOffView() && 'rw-off-range', this.isFocused() && 'rw-state-focus', this.isSelected() && 'rw-state-selected')\n\t },\n\t children\n\t )\n\t );\n\t };\n\t\n\t return CalendarViewCell;\n\t}(_react2.default.Component), _class.propTypes = {\n\t id: _react2.default.PropTypes.string,\n\t label: _react2.default.PropTypes.string,\n\t today: _react2.default.PropTypes.instanceOf(Date),\n\t selected: _react2.default.PropTypes.instanceOf(Date),\n\t focused: _react2.default.PropTypes.instanceOf(Date),\n\t min: _react2.default.PropTypes.instanceOf(Date),\n\t max: _react2.default.PropTypes.instanceOf(Date),\n\t unit: _react2.default.PropTypes.oneOf(['day'].concat(VIEW_UNITS)),\n\t viewUnit: _react2.default.PropTypes.oneOf(VIEW_UNITS),\n\t onChange: _react2.default.PropTypes.func.isRequired\n\t}, _temp2);\n\t\n\t\n\tCalendarView.Row = function (props) {\n\t return _react2.default.createElement('tr', _extends({ role: 'row' }, props));\n\t};\n\tCalendarView.Cell = CalendarViewCell;\n\t\n\texports.default = CalendarView;\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 94 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Copyright 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @providesModule DisabledInputUtils\n\t */\n\t\n\t'use strict';\n\t\n\tvar disableableMouseListenerNames = {\n\t onClick: true,\n\t onDoubleClick: true,\n\t onMouseDown: true,\n\t onMouseMove: true,\n\t onMouseUp: true,\n\t\n\t onClickCapture: true,\n\t onDoubleClickCapture: true,\n\t onMouseDownCapture: true,\n\t onMouseMoveCapture: true,\n\t onMouseUpCapture: true\n\t};\n\t\n\t/**\n\t * Implements a host component that does not receive mouse events\n\t * when `disabled` is set.\n\t */\n\tvar DisabledInputUtils = {\n\t getHostProps: function (inst, props) {\n\t if (!props.disabled) {\n\t return props;\n\t }\n\t\n\t // Copy the props, except the mouse listeners\n\t var hostProps = {};\n\t for (var key in props) {\n\t if (!disableableMouseListenerNames[key] && props.hasOwnProperty(key)) {\n\t hostProps[key] = props[key];\n\t }\n\t }\n\t\n\t return hostProps;\n\t }\n\t};\n\t\n\tmodule.exports = DisabledInputUtils;\n\n/***/ },\n/* 95 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Copyright 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @providesModule ReactBrowserEventEmitter\n\t */\n\t\n\t'use strict';\n\t\n\tvar _assign = __webpack_require__(6);\n\t\n\tvar EventConstants = __webpack_require__(32);\n\tvar EventPluginRegistry = __webpack_require__(139);\n\tvar ReactEventEmitterMixin = __webpack_require__(620);\n\tvar ViewportMetrics = __webpack_require__(340);\n\t\n\tvar getVendorPrefixedEventName = __webpack_require__(651);\n\tvar isEventSupported = __webpack_require__(156);\n\t\n\t/**\n\t * Summary of `ReactBrowserEventEmitter` event handling:\n\t *\n\t * - Top-level delegation is used to trap most native browser events. This\n\t * may only occur in the main thread and is the responsibility of\n\t * ReactEventListener, which is injected and can therefore support pluggable\n\t * event sources. This is the only work that occurs in the main thread.\n\t *\n\t * - We normalize and de-duplicate events to account for browser quirks. This\n\t * may be done in the worker thread.\n\t *\n\t * - Forward these native events (with the associated top-level type used to\n\t * trap it) to `EventPluginHub`, which in turn will ask plugins if they want\n\t * to extract any synthetic events.\n\t *\n\t * - The `EventPluginHub` will then process each event by annotating them with\n\t * \"dispatches\", a sequence of listeners and IDs that care about that event.\n\t *\n\t * - The `EventPluginHub` then dispatches the events.\n\t *\n\t * Overview of React and the event system:\n\t *\n\t * +------------+ .\n\t * | DOM | .\n\t * +------------+ .\n\t * | .\n\t * v .\n\t * +------------+ .\n\t * | ReactEvent | .\n\t * | Listener | .\n\t * +------------+ . +-----------+\n\t * | . +--------+|SimpleEvent|\n\t * | . | |Plugin |\n\t * +-----|------+ . v +-----------+\n\t * | | | . +--------------+ +------------+\n\t * | +-----------.--->|EventPluginHub| | Event |\n\t * | | . | | +-----------+ | Propagators|\n\t * | ReactEvent | . | | |TapEvent | |------------|\n\t * | Emitter | . | |<---+|Plugin | |other plugin|\n\t * | | . | | +-----------+ | utilities |\n\t * | +-----------.--->| | +------------+\n\t * | | | . +--------------+\n\t * +-----|------+ . ^ +-----------+\n\t * | . | |Enter/Leave|\n\t * + . +-------+|Plugin |\n\t * +-------------+ . +-----------+\n\t * | application | .\n\t * |-------------| .\n\t * | | .\n\t * | | .\n\t * +-------------+ .\n\t * .\n\t * React Core . General Purpose Event Plugin System\n\t */\n\t\n\tvar hasEventPageXY;\n\tvar alreadyListeningTo = {};\n\tvar isMonitoringScrollValue = false;\n\tvar reactTopListenersCounter = 0;\n\t\n\t// For events like 'submit' which don't consistently bubble (which we trap at a\n\t// lower node than `document`), binding at `document` would cause duplicate\n\t// events so we don't include them here\n\tvar topEventMapping = {\n\t topAbort: 'abort',\n\t topAnimationEnd: getVendorPrefixedEventName('animationend') || 'animationend',\n\t topAnimationIteration: getVendorPrefixedEventName('animationiteration') || 'animationiteration',\n\t topAnimationStart: getVendorPrefixedEventName('animationstart') || 'animationstart',\n\t topBlur: 'blur',\n\t topCanPlay: 'canplay',\n\t topCanPlayThrough: 'canplaythrough',\n\t topChange: 'change',\n\t topClick: 'click',\n\t topCompositionEnd: 'compositionend',\n\t topCompositionStart: 'compositionstart',\n\t topCompositionUpdate: 'compositionupdate',\n\t topContextMenu: 'contextmenu',\n\t topCopy: 'copy',\n\t topCut: 'cut',\n\t topDoubleClick: 'dblclick',\n\t topDrag: 'drag',\n\t topDragEnd: 'dragend',\n\t topDragEnter: 'dragenter',\n\t topDragExit: 'dragexit',\n\t topDragLeave: 'dragleave',\n\t topDragOver: 'dragover',\n\t topDragStart: 'dragstart',\n\t topDrop: 'drop',\n\t topDurationChange: 'durationchange',\n\t topEmptied: 'emptied',\n\t topEncrypted: 'encrypted',\n\t topEnded: 'ended',\n\t topError: 'error',\n\t topFocus: 'focus',\n\t topInput: 'input',\n\t topKeyDown: 'keydown',\n\t topKeyPress: 'keypress',\n\t topKeyUp: 'keyup',\n\t topLoadedData: 'loadeddata',\n\t topLoadedMetadata: 'loadedmetadata',\n\t topLoadStart: 'loadstart',\n\t topMouseDown: 'mousedown',\n\t topMouseMove: 'mousemove',\n\t topMouseOut: 'mouseout',\n\t topMouseOver: 'mouseover',\n\t topMouseUp: 'mouseup',\n\t topPaste: 'paste',\n\t topPause: 'pause',\n\t topPlay: 'play',\n\t topPlaying: 'playing',\n\t topProgress: 'progress',\n\t topRateChange: 'ratechange',\n\t topScroll: 'scroll',\n\t topSeeked: 'seeked',\n\t topSeeking: 'seeking',\n\t topSelectionChange: 'selectionchange',\n\t topStalled: 'stalled',\n\t topSuspend: 'suspend',\n\t topTextInput: 'textInput',\n\t topTimeUpdate: 'timeupdate',\n\t topTouchCancel: 'touchcancel',\n\t topTouchEnd: 'touchend',\n\t topTouchMove: 'touchmove',\n\t topTouchStart: 'touchstart',\n\t topTransitionEnd: getVendorPrefixedEventName('transitionend') || 'transitionend',\n\t topVolumeChange: 'volumechange',\n\t topWaiting: 'waiting',\n\t topWheel: 'wheel'\n\t};\n\t\n\t/**\n\t * To ensure no conflicts with other potential React instances on the page\n\t */\n\tvar topListenersIDKey = '_reactListenersID' + String(Math.random()).slice(2);\n\t\n\tfunction getListeningForDocument(mountAt) {\n\t // In IE8, `mountAt` is a host object and doesn't have `hasOwnProperty`\n\t // directly.\n\t if (!Object.prototype.hasOwnProperty.call(mountAt, topListenersIDKey)) {\n\t mountAt[topListenersIDKey] = reactTopListenersCounter++;\n\t alreadyListeningTo[mountAt[topListenersIDKey]] = {};\n\t }\n\t return alreadyListeningTo[mountAt[topListenersIDKey]];\n\t}\n\t\n\t/**\n\t * `ReactBrowserEventEmitter` is used to attach top-level event listeners. For\n\t * example:\n\t *\n\t * EventPluginHub.putListener('myID', 'onClick', myFunction);\n\t *\n\t * This would allocate a \"registration\" of `('onClick', myFunction)` on 'myID'.\n\t *\n\t * @internal\n\t */\n\tvar ReactBrowserEventEmitter = _assign({}, ReactEventEmitterMixin, {\n\t\n\t /**\n\t * Injectable event backend\n\t */\n\t ReactEventListener: null,\n\t\n\t injection: {\n\t /**\n\t * @param {object} ReactEventListener\n\t */\n\t injectReactEventListener: function (ReactEventListener) {\n\t ReactEventListener.setHandleTopLevel(ReactBrowserEventEmitter.handleTopLevel);\n\t ReactBrowserEventEmitter.ReactEventListener = ReactEventListener;\n\t }\n\t },\n\t\n\t /**\n\t * Sets whether or not any created callbacks should be enabled.\n\t *\n\t * @param {boolean} enabled True if callbacks should be enabled.\n\t */\n\t setEnabled: function (enabled) {\n\t if (ReactBrowserEventEmitter.ReactEventListener) {\n\t ReactBrowserEventEmitter.ReactEventListener.setEnabled(enabled);\n\t }\n\t },\n\t\n\t /**\n\t * @return {boolean} True if callbacks are enabled.\n\t */\n\t isEnabled: function () {\n\t return !!(ReactBrowserEventEmitter.ReactEventListener && ReactBrowserEventEmitter.ReactEventListener.isEnabled());\n\t },\n\t\n\t /**\n\t * We listen for bubbled touch events on the document object.\n\t *\n\t * Firefox v8.01 (and possibly others) exhibited strange behavior when\n\t * mounting `onmousemove` events at some node that was not the document\n\t * element. The symptoms were that if your mouse is not moving over something\n\t * contained within that mount point (for example on the background) the\n\t * top-level listeners for `onmousemove` won't be called. However, if you\n\t * register the `mousemove` on the document object, then it will of course\n\t * catch all `mousemove`s. This along with iOS quirks, justifies restricting\n\t * top-level listeners to the document object only, at least for these\n\t * movement types of events and possibly all events.\n\t *\n\t * @see http://www.quirksmode.org/blog/archives/2010/09/click_event_del.html\n\t *\n\t * Also, `keyup`/`keypress`/`keydown` do not bubble to the window on IE, but\n\t * they bubble to document.\n\t *\n\t * @param {string} registrationName Name of listener (e.g. `onClick`).\n\t * @param {object} contentDocumentHandle Document which owns the container\n\t */\n\t listenTo: function (registrationName, contentDocumentHandle) {\n\t var mountAt = contentDocumentHandle;\n\t var isListening = getListeningForDocument(mountAt);\n\t var dependencies = EventPluginRegistry.registrationNameDependencies[registrationName];\n\t\n\t var topLevelTypes = EventConstants.topLevelTypes;\n\t for (var i = 0; i < dependencies.length; i++) {\n\t var dependency = dependencies[i];\n\t if (!(isListening.hasOwnProperty(dependency) && isListening[dependency])) {\n\t if (dependency === topLevelTypes.topWheel) {\n\t if (isEventSupported('wheel')) {\n\t ReactBrowserEventEmitter.ReactEventListener.trapBubbledEvent(topLevelTypes.topWheel, 'wheel', mountAt);\n\t } else if (isEventSupported('mousewheel')) {\n\t ReactBrowserEventEmitter.ReactEventListener.trapBubbledEvent(topLevelTypes.topWheel, 'mousewheel', mountAt);\n\t } else {\n\t // Firefox needs to capture a different mouse scroll event.\n\t // @see http://www.quirksmode.org/dom/events/tests/scroll.html\n\t ReactBrowserEventEmitter.ReactEventListener.trapBubbledEvent(topLevelTypes.topWheel, 'DOMMouseScroll', mountAt);\n\t }\n\t } else if (dependency === topLevelTypes.topScroll) {\n\t\n\t if (isEventSupported('scroll', true)) {\n\t ReactBrowserEventEmitter.ReactEventListener.trapCapturedEvent(topLevelTypes.topScroll, 'scroll', mountAt);\n\t } else {\n\t ReactBrowserEventEmitter.ReactEventListener.trapBubbledEvent(topLevelTypes.topScroll, 'scroll', ReactBrowserEventEmitter.ReactEventListener.WINDOW_HANDLE);\n\t }\n\t } else if (dependency === topLevelTypes.topFocus || dependency === topLevelTypes.topBlur) {\n\t\n\t if (isEventSupported('focus', true)) {\n\t ReactBrowserEventEmitter.ReactEventListener.trapCapturedEvent(topLevelTypes.topFocus, 'focus', mountAt);\n\t ReactBrowserEventEmitter.ReactEventListener.trapCapturedEvent(topLevelTypes.topBlur, 'blur', mountAt);\n\t } else if (isEventSupported('focusin')) {\n\t // IE has `focusin` and `focusout` events which bubble.\n\t // @see http://www.quirksmode.org/blog/archives/2008/04/delegating_the.html\n\t ReactBrowserEventEmitter.ReactEventListener.trapBubbledEvent(topLevelTypes.topFocus, 'focusin', mountAt);\n\t ReactBrowserEventEmitter.ReactEventListener.trapBubbledEvent(topLevelTypes.topBlur, 'focusout', mountAt);\n\t }\n\t\n\t // to make sure blur and focus event listeners are only attached once\n\t isListening[topLevelTypes.topBlur] = true;\n\t isListening[topLevelTypes.topFocus] = true;\n\t } else if (topEventMapping.hasOwnProperty(dependency)) {\n\t ReactBrowserEventEmitter.ReactEventListener.trapBubbledEvent(dependency, topEventMapping[dependency], mountAt);\n\t }\n\t\n\t isListening[dependency] = true;\n\t }\n\t }\n\t },\n\t\n\t trapBubbledEvent: function (topLevelType, handlerBaseName, handle) {\n\t return ReactBrowserEventEmitter.ReactEventListener.trapBubbledEvent(topLevelType, handlerBaseName, handle);\n\t },\n\t\n\t trapCapturedEvent: function (topLevelType, handlerBaseName, handle) {\n\t return ReactBrowserEventEmitter.ReactEventListener.trapCapturedEvent(topLevelType, handlerBaseName, handle);\n\t },\n\t\n\t /**\n\t * Protect against document.createEvent() returning null\n\t * Some popup blocker extensions appear to do this:\n\t * https://github.com/facebook/react/issues/6887\n\t */\n\t supportsEventPageXY: function () {\n\t if (!document.createEvent) {\n\t return false;\n\t }\n\t var ev = document.createEvent('MouseEvent');\n\t return ev != null && 'pageX' in ev;\n\t },\n\t\n\t /**\n\t * Listens to window scroll and resize events. We cache scroll values so that\n\t * application code can access them without triggering reflows.\n\t *\n\t * ViewportMetrics is only used by SyntheticMouse/TouchEvent and only when\n\t * pageX/pageY isn't supported (legacy browsers).\n\t *\n\t * NOTE: Scroll events do not bubble.\n\t *\n\t * @see http://www.quirksmode.org/dom/events/scroll.html\n\t */\n\t ensureScrollValueMonitoring: function () {\n\t if (hasEventPageXY === undefined) {\n\t hasEventPageXY = ReactBrowserEventEmitter.supportsEventPageXY();\n\t }\n\t if (!hasEventPageXY && !isMonitoringScrollValue) {\n\t var refresh = ViewportMetrics.refreshScrollValues;\n\t ReactBrowserEventEmitter.ReactEventListener.monitorScrollValue(refresh);\n\t isMonitoringScrollValue = true;\n\t }\n\t }\n\t\n\t});\n\t\n\tmodule.exports = ReactBrowserEventEmitter;\n\n/***/ },\n/* 96 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Copyright 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @providesModule SyntheticMouseEvent\n\t */\n\t\n\t'use strict';\n\t\n\tvar SyntheticUIEvent = __webpack_require__(74);\n\tvar ViewportMetrics = __webpack_require__(340);\n\t\n\tvar getEventModifierState = __webpack_require__(154);\n\t\n\t/**\n\t * @interface MouseEvent\n\t * @see http://www.w3.org/TR/DOM-Level-3-Events/\n\t */\n\tvar MouseEventInterface = {\n\t screenX: null,\n\t screenY: null,\n\t clientX: null,\n\t clientY: null,\n\t ctrlKey: null,\n\t shiftKey: null,\n\t altKey: null,\n\t metaKey: null,\n\t getModifierState: getEventModifierState,\n\t button: function (event) {\n\t // Webkit, Firefox, IE9+\n\t // which: 1 2 3\n\t // button: 0 1 2 (standard)\n\t var button = event.button;\n\t if ('which' in event) {\n\t return button;\n\t }\n\t // IE<9\n\t // which: undefined\n\t // button: 0 0 0\n\t // button: 1 4 2 (onmouseup)\n\t return button === 2 ? 2 : button === 4 ? 1 : 0;\n\t },\n\t buttons: null,\n\t relatedTarget: function (event) {\n\t return event.relatedTarget || (event.fromElement === event.srcElement ? event.toElement : event.fromElement);\n\t },\n\t // \"Proprietary\" Interface.\n\t pageX: function (event) {\n\t return 'pageX' in event ? event.pageX : event.clientX + ViewportMetrics.currentScrollLeft;\n\t },\n\t pageY: function (event) {\n\t return 'pageY' in event ? event.pageY : event.clientY + ViewportMetrics.currentScrollTop;\n\t }\n\t};\n\t\n\t/**\n\t * @param {object} dispatchConfig Configuration used to dispatch this event.\n\t * @param {string} dispatchMarker Marker identifying the event target.\n\t * @param {object} nativeEvent Native browser event.\n\t * @extends {SyntheticUIEvent}\n\t */\n\tfunction SyntheticMouseEvent(dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget) {\n\t return SyntheticUIEvent.call(this, dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget);\n\t}\n\t\n\tSyntheticUIEvent.augmentClass(SyntheticMouseEvent, MouseEventInterface);\n\t\n\tmodule.exports = SyntheticMouseEvent;\n\n/***/ },\n/* 97 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Copyright 2016-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * Based on the escape-html library, which is used under the MIT License below:\n\t *\n\t * Copyright (c) 2012-2013 TJ Holowaychuk\n\t * Copyright (c) 2015 Andreas Lubbe\n\t * Copyright (c) 2015 Tiancheng \"Timothy\" Gu\n\t *\n\t * Permission is hereby granted, free of charge, to any person obtaining\n\t * a copy of this software and associated documentation files (the\n\t * 'Software'), to deal in the Software without restriction, including\n\t * without limitation the rights to use, copy, modify, merge, publish,\n\t * distribute, sublicense, and/or sell copies of the Software, and to\n\t * permit persons to whom the Software is furnished to do so, subject to\n\t * the following conditions:\n\t *\n\t * The above copyright notice and this permission notice shall be\n\t * included in all copies or substantial portions of the Software.\n\t *\n\t * THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,\n\t * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n\t * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\n\t * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\n\t * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\n\t * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\n\t * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\t *\n\t * @providesModule escapeTextContentForBrowser\n\t */\n\t\n\t'use strict';\n\t\n\t// code copied and modified from escape-html\n\t/**\n\t * Module variables.\n\t * @private\n\t */\n\t\n\tvar matchHtmlRegExp = /[\"'&<>]/;\n\t\n\t/**\n\t * Escape special characters in the given string of html.\n\t *\n\t * @param {string} string The string to escape for inserting into HTML\n\t * @return {string}\n\t * @public\n\t */\n\t\n\tfunction escapeHtml(string) {\n\t var str = '' + string;\n\t var match = matchHtmlRegExp.exec(str);\n\t\n\t if (!match) {\n\t return str;\n\t }\n\t\n\t var escape;\n\t var html = '';\n\t var index = 0;\n\t var lastIndex = 0;\n\t\n\t for (index = match.index; index < str.length; index++) {\n\t switch (str.charCodeAt(index)) {\n\t case 34:\n\t // \"\n\t escape = '"';\n\t break;\n\t case 38:\n\t // &\n\t escape = '&';\n\t break;\n\t case 39:\n\t // '\n\t escape = '''; // modified from escape-html; used to be '''\n\t break;\n\t case 60:\n\t // <\n\t escape = '<';\n\t break;\n\t case 62:\n\t // >\n\t escape = '>';\n\t break;\n\t default:\n\t continue;\n\t }\n\t\n\t if (lastIndex !== index) {\n\t html += str.substring(lastIndex, index);\n\t }\n\t\n\t lastIndex = index + 1;\n\t html += escape;\n\t }\n\t\n\t return lastIndex !== index ? html + str.substring(lastIndex, index) : html;\n\t}\n\t// end code copied and modified from escape-html\n\t\n\t\n\t/**\n\t * Escapes text to prevent scripting attacks.\n\t *\n\t * @param {*} text Text value to escape.\n\t * @return {string} An escaped string.\n\t */\n\tfunction escapeTextContentForBrowser(text) {\n\t if (typeof text === 'boolean' || typeof text === 'number') {\n\t // this shortcircuit helps perf for types that we know will never have\n\t // special characters, especially given that this function is used often\n\t // for numeric dom ids.\n\t return '' + text;\n\t }\n\t return escapeHtml(text);\n\t}\n\t\n\tmodule.exports = escapeTextContentForBrowser;\n\n/***/ },\n/* 98 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Copyright 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @providesModule setInnerHTML\n\t */\n\t\n\t'use strict';\n\t\n\tvar ExecutionEnvironment = __webpack_require__(18);\n\tvar DOMNamespaces = __webpack_require__(138);\n\t\n\tvar WHITESPACE_TEST = /^[ \\r\\n\\t\\f]/;\n\tvar NONVISIBLE_TEST = /<(!--|link|noscript|meta|script|style)[ \\r\\n\\t\\f\\/>]/;\n\t\n\tvar createMicrosoftUnsafeLocalFunction = __webpack_require__(152);\n\t\n\t// SVG temp container for IE lacking innerHTML\n\tvar reusableSVGContainer;\n\t\n\t/**\n\t * Set the innerHTML property of a node, ensuring that whitespace is preserved\n\t * even in IE8.\n\t *\n\t * @param {DOMElement} node\n\t * @param {string} html\n\t * @internal\n\t */\n\tvar setInnerHTML = createMicrosoftUnsafeLocalFunction(function (node, html) {\n\t // IE does not have innerHTML for SVG nodes, so instead we inject the\n\t // new markup in a temp node and then move the child nodes across into\n\t // the target node\n\t if (node.namespaceURI === DOMNamespaces.svg && !('innerHTML' in node)) {\n\t reusableSVGContainer = reusableSVGContainer || document.createElement('div');\n\t reusableSVGContainer.innerHTML = '' + html + '';\n\t var svgNode = reusableSVGContainer.firstChild;\n\t while (svgNode.firstChild) {\n\t node.appendChild(svgNode.firstChild);\n\t }\n\t } else {\n\t node.innerHTML = html;\n\t }\n\t});\n\t\n\tif (ExecutionEnvironment.canUseDOM) {\n\t // IE8: When updating a just created node with innerHTML only leading\n\t // whitespace is removed. When updating an existing node with innerHTML\n\t // whitespace in root TextNodes is also collapsed.\n\t // @see quirksmode.org/bugreports/archives/2004/11/innerhtml_and_t.html\n\t\n\t // Feature detection; only IE8 is known to behave improperly like this.\n\t var testElement = document.createElement('div');\n\t testElement.innerHTML = ' ';\n\t if (testElement.innerHTML === '') {\n\t setInnerHTML = function (node, html) {\n\t // Magic theory: IE8 supposedly differentiates between added and updated\n\t // nodes when processing innerHTML, innerHTML on updated nodes suffers\n\t // from worse whitespace behavior. Re-adding a node like this triggers\n\t // the initial and more favorable whitespace behavior.\n\t // TODO: What to do on a detached node?\n\t if (node.parentNode) {\n\t node.parentNode.replaceChild(node, node);\n\t }\n\t\n\t // We also implement a workaround for non-visible tags disappearing into\n\t // thin air on IE8, this only happens if there is no visible text\n\t // in-front of the non-visible tags. Piggyback on the whitespace fix\n\t // and simply check if any non-visible tags appear in the source.\n\t if (WHITESPACE_TEST.test(html) || html[0] === '<' && NONVISIBLE_TEST.test(html)) {\n\t // Recover leading whitespace by temporarily prepending any character.\n\t // \\uFEFF has the potential advantage of being zero-width/invisible.\n\t // UglifyJS drops U+FEFF chars when parsing, so use String.fromCharCode\n\t // in hopes that this is preserved even if \"\\uFEFF\" is transformed to\n\t // the actual Unicode character (by Babel, for example).\n\t // https://github.com/mishoo/UglifyJS2/blob/v2.4.20/lib/parse.js#L216\n\t node.innerHTML = String.fromCharCode(0xFEFF) + html;\n\t\n\t // deleteData leaves an empty `TextNode` which offsets the index of all\n\t // children. Definitely want to avoid this.\n\t var textNode = node.firstChild;\n\t if (textNode.data.length === 1) {\n\t node.removeChild(textNode);\n\t } else {\n\t textNode.deleteData(0, 1);\n\t }\n\t } else {\n\t node.innerHTML = html;\n\t }\n\t };\n\t }\n\t testElement = null;\n\t}\n\t\n\tmodule.exports = setInnerHTML;\n\n/***/ },\n/* 99 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\texports.fetchDataFiles = fetchDataFiles;\n\texports.fetchDataFile = fetchDataFile;\n\texports.putDataFile = putDataFile;\n\texports.deleteDataFile = deleteDataFile;\n\texports.onDataFileChanged = onDataFileChanged;\n\t\n\tvar _actionTypes = __webpack_require__(14);\n\t\n\tvar ActionTypes = _interopRequireWildcard(_actionTypes);\n\t\n\tvar _underscore = __webpack_require__(7);\n\t\n\tvar _underscore2 = _interopRequireDefault(_underscore);\n\t\n\tvar _utils = __webpack_require__(19);\n\t\n\tvar _fetch = __webpack_require__(58);\n\t\n\tvar _validation = __webpack_require__(107);\n\t\n\tvar _lang = __webpack_require__(8);\n\t\n\tvar _api = __webpack_require__(57);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\t\n\tfunction fetchDataFiles() {\n\t return function (dispatch) {\n\t dispatch({ type: ActionTypes.FETCH_DATAFILES_REQUEST });\n\t return (0, _fetch.get)((0, _api.getDataFilesUrl)(), { type: ActionTypes.FETCH_DATAFILES_SUCCESS, name: \"files\" }, { type: ActionTypes.FETCH_DATAFILES_FAILURE, name: \"error\" }, dispatch);\n\t };\n\t}\n\t\n\tfunction fetchDataFile(filename) {\n\t return function (dispatch) {\n\t dispatch({ type: ActionTypes.FETCH_DATAFILE_REQUEST });\n\t return (0, _fetch.get)((0, _api.getDataFileUrl)(filename), { type: ActionTypes.FETCH_DATAFILE_SUCCESS, name: \"file\" }, { type: ActionTypes.FETCH_DATAFILE_FAILURE, name: \"error\" }, dispatch);\n\t };\n\t}\n\t\n\tfunction putDataFile(filename, data) {\n\t return function (dispatch, getState) {\n\t var errors = validateDatafile(filename, data);\n\t if (errors.length) {\n\t return dispatch((0, _utils.validationError)(errors));\n\t }\n\t // clear errors\n\t dispatch({ type: ActionTypes.CLEAR_ERRORS });\n\t return (0, _fetch.put)((0, _api.putDataFileUrl)(filename), JSON.stringify({ raw_content: data }), { type: ActionTypes.PUT_DATAFILE_SUCCESS, name: \"file\" }, { type: ActionTypes.PUT_DATAFILE_FAILURE, name: \"error\" }, dispatch);\n\t };\n\t}\n\t\n\tfunction validateDatafile(filename, data) {\n\t return (0, _validation.validator)({ filename: filename, data: data }, { 'filename': 'required', 'data': 'required' }, {\n\t 'filename.required': (0, _lang.getFilenameRequiredMessage)(),\n\t 'data.required': (0, _lang.getContentRequiredMessage)()\n\t });\n\t}\n\t\n\tfunction deleteDataFile(filename) {\n\t return function (dispatch) {\n\t return fetch((0, _api.deleteDataFileUrl)(filename), {\n\t method: 'DELETE'\n\t }).then(function (data) {\n\t dispatch({ type: ActionTypes.DELETE_DATAFILE_SUCCESS });\n\t dispatch(fetchDataFiles());\n\t }).catch(function (error) {\n\t return dispatch({\n\t type: ActionTypes.DELETE_DATAFILE_FAILURE,\n\t error: error\n\t });\n\t });\n\t };\n\t}\n\t\n\tfunction onDataFileChanged() {\n\t return {\n\t type: ActionTypes.DATAFILE_CHANGED\n\t };\n\t}\n\n/***/ },\n/* 100 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\texports.addNotification = addNotification;\n\t\n\tvar _actionTypes = __webpack_require__(14);\n\t\n\tvar ActionTypes = _interopRequireWildcard(_actionTypes);\n\t\n\tfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\t\n\tfunction addNotification(title, message, level) {\n\t return {\n\t type: ActionTypes.ADD_NOTIFICATION,\n\t notification: {\n\t title: title,\n\t message: message,\n\t level: level\n\t }\n\t };\n\t}\n\n/***/ },\n/* 101 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\texports.fetchPages = fetchPages;\n\texports.fetchPage = fetchPage;\n\texports.putPage = putPage;\n\texports.deletePage = deletePage;\n\t\n\tvar _actionTypes = __webpack_require__(14);\n\t\n\tvar ActionTypes = _interopRequireWildcard(_actionTypes);\n\t\n\tvar _underscore = __webpack_require__(7);\n\t\n\tvar _underscore2 = _interopRequireDefault(_underscore);\n\t\n\tvar _utils = __webpack_require__(19);\n\t\n\tvar _fetch = __webpack_require__(58);\n\t\n\tvar _validation = __webpack_require__(107);\n\t\n\tvar _helpers = __webpack_require__(20);\n\t\n\tvar _lang = __webpack_require__(8);\n\t\n\tvar _api = __webpack_require__(57);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\t\n\tfunction fetchPages() {\n\t return function (dispatch) {\n\t dispatch({ type: ActionTypes.FETCH_PAGES_REQUEST });\n\t return (0, _fetch.get)((0, _api.getPagesUrl)(), { type: ActionTypes.FETCH_PAGES_SUCCESS, name: \"pages\" }, { type: ActionTypes.FETCH_PAGES_FAILURE, name: \"error\" }, dispatch);\n\t };\n\t}\n\t\n\tfunction fetchPage(id) {\n\t return function (dispatch) {\n\t dispatch({ type: ActionTypes.FETCH_PAGE_REQUEST });\n\t return (0, _fetch.get)((0, _api.getPageUrl)(id), { type: ActionTypes.FETCH_PAGE_SUCCESS, name: \"page\" }, { type: ActionTypes.FETCH_PAGE_FAILURE, name: \"error\" }, dispatch);\n\t };\n\t}\n\t\n\tfunction putPage(name) {\n\t return function (dispatch, getState) {\n\t // get edited fields from metadata state\n\t var metadata = getState().metadata.metadata;\n\t var path = metadata.path,\n\t raw_content = metadata.raw_content,\n\t title = metadata.title;\n\t\n\t // if no path given, generate filename from the title\n\t\n\t if (!path && title) {\n\t path = (0, _helpers.slugify)(title) + '.md';\n\t } else {\n\t var errors = validatePage(metadata);\n\t if (errors.length) {\n\t return dispatch((0, _utils.validationError)(errors));\n\t }\n\t }\n\t // clear errors\n\t dispatch({ type: ActionTypes.CLEAR_ERRORS });\n\t\n\t // omit raw_content, path and empty-value keys in metadata state from front_matter\n\t var front_matter = _underscore2.default.omit(metadata, function (value, key, object) {\n\t if (key == 'raw_content' || key == 'path' || value == '') return true;\n\t });\n\t var payload = JSON.stringify({ path: path, front_matter: front_matter, raw_content: raw_content });\n\t\n\t //send the put request\n\t return (0, _fetch.put)((0, _api.putPageUrl)(name || path), // create or update page\n\t payload, { type: ActionTypes.PUT_PAGE_SUCCESS, name: \"page\" }, { type: ActionTypes.PUT_PAGE_FAILURE, name: \"error\" }, dispatch);\n\t };\n\t}\n\t\n\tfunction validatePage(metadata) {\n\t return (0, _validation.validator)(metadata, { 'path': 'required|filename' }, {\n\t 'path.required': (0, _lang.getTitleRequiredMessage)(),\n\t 'path.filename': (0, _lang.getFilenameNotValidMessage)()\n\t });\n\t}\n\t\n\tfunction deletePage(id) {\n\t return function (dispatch) {\n\t return fetch((0, _api.deletePageUrl)(id), {\n\t method: 'DELETE'\n\t }).then(function (data) {\n\t dispatch({ type: ActionTypes.DELETE_PAGE_SUCCESS });\n\t dispatch(fetchPages());\n\t }).catch(function (error) {\n\t return dispatch({\n\t type: ActionTypes.DELETE_PAGE_FAILURE,\n\t error: error\n\t });\n\t });\n\t };\n\t}\n\n/***/ },\n/* 102 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\tvar _react = __webpack_require__(2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _reactAce = __webpack_require__(537);\n\t\n\tvar _reactAce2 = _interopRequireDefault(_reactAce);\n\t\n\t__webpack_require__(387);\n\t\n\t__webpack_require__(388);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\tvar Editor = function (_Component) {\n\t _inherits(Editor, _Component);\n\t\n\t function Editor() {\n\t _classCallCheck(this, Editor);\n\t\n\t return _possibleConstructorReturn(this, (Editor.__proto__ || Object.getPrototypeOf(Editor)).apply(this, arguments));\n\t }\n\t\n\t _createClass(Editor, [{\n\t key: 'shouldComponentUpdate',\n\t value: function shouldComponentUpdate(nextProps, nextState) {\n\t return nextProps.content !== this.props.content;\n\t }\n\t }, {\n\t key: 'handleChange',\n\t value: function handleChange(value) {\n\t // TODO better handling\n\t var _props = this.props,\n\t onEditorChange = _props.onEditorChange,\n\t editorChanged = _props.editorChanged;\n\t\n\t if (!editorChanged) {\n\t onEditorChange();\n\t }\n\t }\n\t }, {\n\t key: 'getValue',\n\t value: function getValue() {\n\t return this.refs.ace.editor.getValue();\n\t }\n\t }, {\n\t key: 'render',\n\t value: function render() {\n\t var _this2 = this;\n\t\n\t var content = this.props.content;\n\t\n\t return _react2.default.createElement(_reactAce2.default, {\n\t value: content,\n\t mode: 'yaml',\n\t theme: 'monokai',\n\t width: '100%',\n\t height: '400px',\n\t showGutter: false,\n\t showPrintMargin: false,\n\t highlightActiveLine: false,\n\t className: 'config-editor',\n\t fontSize: 14,\n\t ref: 'ace',\n\t onChange: function onChange() {\n\t return _this2.handleChange();\n\t }\n\t });\n\t }\n\t }]);\n\t\n\t return Editor;\n\t}(_react.Component);\n\t\n\tEditor.propTypes = {\n\t content: _react.PropTypes.any.isRequired,\n\t onEditorChange: _react.PropTypes.func.isRequired,\n\t editorChanged: _react.PropTypes.bool.isRequired\n\t};\n\t\n\texports.default = Editor;\n\n/***/ },\n/* 103 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\texports.MetaArray = undefined;\n\t\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\tvar _react = __webpack_require__(2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _sortablejs = __webpack_require__(662);\n\t\n\tvar _sortablejs2 = _interopRequireDefault(_sortablejs);\n\t\n\tvar _underscore = __webpack_require__(7);\n\t\n\tvar _underscore2 = _interopRequireDefault(_underscore);\n\t\n\tvar _MetaArrayItem = __webpack_require__(357);\n\t\n\tvar _MetaArrayItem2 = _interopRequireDefault(_MetaArrayItem);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\tvar MetaArray = exports.MetaArray = function (_Component) {\n\t _inherits(MetaArray, _Component);\n\t\n\t function MetaArray() {\n\t _classCallCheck(this, MetaArray);\n\t\n\t return _possibleConstructorReturn(this, (MetaArray.__proto__ || Object.getPrototypeOf(MetaArray)).apply(this, arguments));\n\t }\n\t\n\t _createClass(MetaArray, [{\n\t key: 'sortableGroupDecorator',\n\t value: function sortableGroupDecorator(component) {\n\t var _props = this.props,\n\t moveArrayItem = _props.moveArrayItem,\n\t namePrefix = _props.namePrefix;\n\t\n\t if (component) {\n\t var options = {\n\t draggable: \".array-item-wrap\",\n\t group: { name: \"meta-array-items\", pull: false, put: false },\n\t handle: \".move\",\n\t animation: 0,\n\t onEnd: function onEnd(e) {\n\t var srcInd = e.item.getAttribute('data-id');\n\t moveArrayItem(namePrefix, srcInd, e.newIndex);\n\t }\n\t };\n\t _sortablejs2.default.create(component, options);\n\t }\n\t }\n\t }, {\n\t key: 'render',\n\t value: function render() {\n\t var _props2 = this.props,\n\t fieldKey = _props2.fieldKey,\n\t fieldValue = _props2.fieldValue,\n\t nameAttr = _props2.nameAttr,\n\t namePrefix = _props2.namePrefix,\n\t addField = _props2.addField,\n\t removeField = _props2.removeField,\n\t updateFieldKey = _props2.updateFieldKey,\n\t updateFieldValue = _props2.updateFieldValue,\n\t moveArrayItem = _props2.moveArrayItem,\n\t convertField = _props2.convertField,\n\t key_prefix = _props2.key_prefix;\n\t\n\t var items = _underscore2.default.map(fieldValue, function (item, i) {\n\t var type = \"simple\";\n\t if (_underscore2.default.isObject(item)) type = \"object\";\n\t if (_underscore2.default.isArray(item)) type = \"array\";\n\t return _react2.default.createElement(_MetaArrayItem2.default, {\n\t key: key_prefix + '-' + i,\n\t key_prefix: key_prefix,\n\t index: i,\n\t fieldKey: fieldKey,\n\t fieldValue: item,\n\t type: type,\n\t addField: addField,\n\t removeField: removeField,\n\t updateFieldKey: updateFieldKey,\n\t updateFieldValue: updateFieldValue,\n\t moveArrayItem: moveArrayItem,\n\t convertField: convertField,\n\t nameAttr: namePrefix + '[' + i + ']',\n\t namePrefix: namePrefix });\n\t });\n\t return _react2.default.createElement(\n\t 'div',\n\t { className: 'meta-value-array', ref: this.sortableGroupDecorator.bind(this) },\n\t items,\n\t _react2.default.createElement(\n\t 'a',\n\t { onClick: function onClick() {\n\t return addField(namePrefix);\n\t },\n\t className: 'add-field-array', title: 'Add new list item' },\n\t _react2.default.createElement('i', { className: 'fa fa-plus' })\n\t )\n\t );\n\t }\n\t }]);\n\t\n\t return MetaArray;\n\t}(_react.Component);\n\t\n\tMetaArray.propTypes = {\n\t fieldKey: _react.PropTypes.string.isRequired,\n\t fieldValue: _react.PropTypes.any.isRequired,\n\t nameAttr: _react.PropTypes.string.isRequired,\n\t namePrefix: _react.PropTypes.string.isRequired,\n\t addField: _react.PropTypes.func.isRequired,\n\t removeField: _react.PropTypes.func.isRequired,\n\t updateFieldKey: _react.PropTypes.func.isRequired,\n\t updateFieldValue: _react.PropTypes.func.isRequired,\n\t convertField: _react.PropTypes.func.isRequired,\n\t moveArrayItem: _react.PropTypes.func.isRequired,\n\t key_prefix: _react.PropTypes.string.isRequired\n\t};\n\t\n\texports.default = MetaArray;\n\n/***/ },\n/* 104 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\texports.MetaButtons = undefined;\n\t\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\tvar _react = __webpack_require__(2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\tvar MetaButtons = exports.MetaButtons = function (_Component) {\n\t _inherits(MetaButtons, _Component);\n\t\n\t function MetaButtons() {\n\t _classCallCheck(this, MetaButtons);\n\t\n\t return _possibleConstructorReturn(this, (MetaButtons.__proto__ || Object.getPrototypeOf(MetaButtons)).apply(this, arguments));\n\t }\n\t\n\t _createClass(MetaButtons, [{\n\t key: 'handleTypeChange',\n\t value: function handleTypeChange(type) {\n\t var onConvertClick = this.props.onConvertClick;\n\t\n\t onConvertClick(type);\n\t }\n\t }, {\n\t key: 'handleRemoveClick',\n\t value: function handleRemoveClick() {\n\t var onRemoveClick = this.props.onRemoveClick;\n\t\n\t onRemoveClick();\n\t }\n\t }, {\n\t key: 'render',\n\t value: function render() {\n\t var _this2 = this;\n\t\n\t var _props = this.props,\n\t currentType = _props.currentType,\n\t parentType = _props.parentType,\n\t onDropdownFocus = _props.onDropdownFocus,\n\t onDropdownBlur = _props.onDropdownBlur;\n\t\n\t return _react2.default.createElement(\n\t 'div',\n\t { className: 'meta-buttons' },\n\t parentType == 'array' && _react2.default.createElement(\n\t 'span',\n\t { className: 'move' },\n\t _react2.default.createElement('i', { className: 'fa fa-arrows' })\n\t ),\n\t _react2.default.createElement(\n\t 'span',\n\t { className: 'dropdown' },\n\t _react2.default.createElement(\n\t 'a',\n\t { onFocus: function onFocus() {\n\t return onDropdownFocus();\n\t },\n\t onBlur: function onBlur() {\n\t return onDropdownBlur();\n\t },\n\t className: 'meta-button',\n\t tabIndex: '1' },\n\t _react2.default.createElement('i', { className: 'fa fa-chevron-down' })\n\t ),\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'dropdown-wrap' },\n\t currentType != 'simple' && _react2.default.createElement(\n\t 'span',\n\t { onMouseDown: function onMouseDown() {\n\t return _this2.handleTypeChange('simple');\n\t } },\n\t _react2.default.createElement('i', { className: 'fa fa-pencil' }),\n\t 'Convert to Simple'\n\t ),\n\t currentType != 'array' && _react2.default.createElement(\n\t 'span',\n\t { onMouseDown: function onMouseDown() {\n\t return _this2.handleTypeChange('array');\n\t } },\n\t _react2.default.createElement('i', { className: 'fa fa-list-ol' }),\n\t 'Convert to List'\n\t ),\n\t currentType != 'object' && _react2.default.createElement(\n\t 'span',\n\t { onMouseDown: function onMouseDown() {\n\t return _this2.handleTypeChange('object');\n\t } },\n\t _react2.default.createElement('i', { className: 'fa fa-th-large' }),\n\t 'Convert to Object'\n\t ),\n\t _react2.default.createElement(\n\t 'span',\n\t {\n\t onMouseDown: function onMouseDown() {\n\t return _this2.handleRemoveClick();\n\t },\n\t className: 'remove-field' },\n\t _react2.default.createElement('i', { className: 'fa fa-trash-o' }),\n\t 'Remove field'\n\t )\n\t )\n\t )\n\t );\n\t }\n\t }]);\n\t\n\t return MetaButtons;\n\t}(_react.Component);\n\t\n\tMetaButtons.propTypes = {\n\t currentType: _react.PropTypes.string.isRequired,\n\t parentType: _react.PropTypes.string.isRequired,\n\t onConvertClick: _react.PropTypes.func.isRequired,\n\t onRemoveClick: _react.PropTypes.func.isRequired,\n\t onDropdownFocus: _react.PropTypes.func.isRequired,\n\t onDropdownBlur: _react.PropTypes.func.isRequired\n\t};\n\t\n\texports.default = MetaButtons;\n\n/***/ },\n/* 105 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\texports.MetaObject = undefined;\n\t\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\tvar _react = __webpack_require__(2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _underscore = __webpack_require__(7);\n\t\n\tvar _underscore2 = _interopRequireDefault(_underscore);\n\t\n\tvar _MetaObjectItem = __webpack_require__(359);\n\t\n\tvar _MetaObjectItem2 = _interopRequireDefault(_MetaObjectItem);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\tvar MetaObject = exports.MetaObject = function (_Component) {\n\t _inherits(MetaObject, _Component);\n\t\n\t function MetaObject() {\n\t _classCallCheck(this, MetaObject);\n\t\n\t return _possibleConstructorReturn(this, (MetaObject.__proto__ || Object.getPrototypeOf(MetaObject)).apply(this, arguments));\n\t }\n\t\n\t _createClass(MetaObject, [{\n\t key: 'render',\n\t value: function render() {\n\t var _props = this.props,\n\t fieldKey = _props.fieldKey,\n\t fieldValue = _props.fieldValue,\n\t nameAttr = _props.nameAttr,\n\t namePrefix = _props.namePrefix,\n\t addField = _props.addField,\n\t removeField = _props.removeField,\n\t updateFieldKey = _props.updateFieldKey,\n\t updateFieldValue = _props.updateFieldValue,\n\t convertField = _props.convertField,\n\t key_prefix = _props.key_prefix,\n\t moveArrayItem = _props.moveArrayItem;\n\t\n\t var items = _underscore2.default.map(fieldValue, function (value, key) {\n\t var type = \"simple\";\n\t if (_underscore2.default.isObject(value)) type = \"object\";\n\t if (_underscore2.default.isArray(value)) type = \"array\";\n\t return _react2.default.createElement(_MetaObjectItem2.default, {\n\t key: key,\n\t key_prefix: key_prefix,\n\t fieldKey: key,\n\t fieldValue: value,\n\t type: type,\n\t addField: addField,\n\t removeField: removeField,\n\t updateFieldKey: updateFieldKey,\n\t updateFieldValue: updateFieldValue,\n\t moveArrayItem: moveArrayItem,\n\t convertField: convertField,\n\t nameAttr: namePrefix + '[\\'' + key + '\\']',\n\t namePrefix: namePrefix });\n\t });\n\t return _react2.default.createElement(\n\t 'div',\n\t { className: 'meta-value-object' },\n\t items,\n\t _react2.default.createElement(\n\t 'a',\n\t { onClick: function onClick() {\n\t return addField(namePrefix);\n\t },\n\t className: 'add-field-object', title: 'Add new key/value pair' },\n\t 'New key/value pair'\n\t )\n\t );\n\t }\n\t }]);\n\t\n\t return MetaObject;\n\t}(_react.Component);\n\t\n\tMetaObject.propTypes = {\n\t fieldKey: _react.PropTypes.string.isRequired,\n\t fieldValue: _react.PropTypes.any.isRequired,\n\t nameAttr: _react.PropTypes.string.isRequired,\n\t namePrefix: _react.PropTypes.string.isRequired,\n\t addField: _react.PropTypes.func.isRequired,\n\t removeField: _react.PropTypes.func.isRequired,\n\t convertField: _react.PropTypes.func.isRequired,\n\t updateFieldKey: _react.PropTypes.func.isRequired,\n\t updateFieldValue: _react.PropTypes.func.isRequired,\n\t moveArrayItem: _react.PropTypes.func.isRequired,\n\t key_prefix: _react.PropTypes.string.isRequired\n\t};\n\t\n\texports.default = MetaObject;\n\n/***/ },\n/* 106 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\texports.MetaSimple = undefined;\n\t\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\tvar _react = __webpack_require__(2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _reactTextareaAutosize = __webpack_require__(319);\n\t\n\tvar _reactTextareaAutosize2 = _interopRequireDefault(_reactTextareaAutosize);\n\t\n\tvar _underscore = __webpack_require__(7);\n\t\n\tvar _underscore2 = _interopRequireDefault(_underscore);\n\t\n\tvar _DateTimePicker = __webpack_require__(571);\n\t\n\tvar _DateTimePicker2 = _interopRequireDefault(_DateTimePicker);\n\t\n\tvar _moment = __webpack_require__(1);\n\t\n\tvar _moment2 = _interopRequireDefault(_moment);\n\t\n\tvar _moment3 = __webpack_require__(586);\n\t\n\tvar _moment4 = _interopRequireDefault(_moment3);\n\t\n\t__webpack_require__(411);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\t(0, _moment4.default)(_moment2.default);\n\t\n\tvar MetaSimple = exports.MetaSimple = function (_Component) {\n\t _inherits(MetaSimple, _Component);\n\t\n\t function MetaSimple() {\n\t _classCallCheck(this, MetaSimple);\n\t\n\t return _possibleConstructorReturn(this, (MetaSimple.__proto__ || Object.getPrototypeOf(MetaSimple)).apply(this, arguments));\n\t }\n\t\n\t _createClass(MetaSimple, [{\n\t key: 'handleEditableChange',\n\t value: function handleEditableChange(e) {\n\t var _props = this.props,\n\t nameAttr = _props.nameAttr,\n\t fieldValue = _props.fieldValue,\n\t updateFieldValue = _props.updateFieldValue;\n\t\n\t updateFieldValue(nameAttr, e.target.value);\n\t }\n\t }, {\n\t key: 'handleDatepickerChange',\n\t value: function handleDatepickerChange(date, dateStr) {\n\t var _props2 = this.props,\n\t nameAttr = _props2.nameAttr,\n\t fieldValue = _props2.fieldValue,\n\t updateFieldValue = _props2.updateFieldValue;\n\t\n\t var formatted = (0, _moment2.default)(date).format(\"YYYY-MM-DD hh:mm:ss\");\n\t updateFieldValue(nameAttr, formatted);\n\t }\n\t }, {\n\t key: 'renderEditable',\n\t value: function renderEditable() {\n\t var _this2 = this;\n\t\n\t var fieldValue = this.props.fieldValue;\n\t\n\t return _react2.default.createElement(_reactTextareaAutosize2.default, {\n\t onChange: function onChange(e) {\n\t return _this2.handleEditableChange(e);\n\t },\n\t className: 'field value-field',\n\t defaultValue: fieldValue });\n\t }\n\t }, {\n\t key: 'renderDatepicker',\n\t value: function renderDatepicker() {\n\t var _this3 = this;\n\t\n\t var fieldValue = this.props.fieldValue;\n\t\n\t var dateValue = new Date(fieldValue) == 'Invalid Date' ? null : new Date(fieldValue);\n\t return _react2.default.createElement(_DateTimePicker2.default, {\n\t onChange: function onChange(v, d) {\n\t return _this3.handleDatepickerChange(v, d);\n\t },\n\t className: 'date-field',\n\t defaultValue: dateValue });\n\t }\n\t }, {\n\t key: 'render',\n\t value: function render() {\n\t var fieldKey = this.props.fieldKey;\n\t\n\t return _react2.default.createElement(\n\t 'div',\n\t { className: 'meta-value' },\n\t fieldKey == 'date' && this.renderDatepicker(),\n\t fieldKey != 'date' && this.renderEditable()\n\t );\n\t }\n\t }]);\n\t\n\t return MetaSimple;\n\t}(_react.Component);\n\t\n\tMetaSimple.propTypes = {\n\t parentType: _react.PropTypes.string.isRequired,\n\t fieldKey: _react.PropTypes.string.isRequired,\n\t fieldValue: _react.PropTypes.any.isRequired,\n\t updateFieldValue: _react.PropTypes.func.isRequired,\n\t nameAttr: _react.PropTypes.any.isRequired\n\t};\n\t\n\texports.default = MetaSimple;\n\n/***/ },\n/* 107 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\texports.validator = undefined;\n\t\n\tvar _underscore = __webpack_require__(7);\n\t\n\tvar _underscore2 = _interopRequireDefault(_underscore);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tvar DATE_FILENAME_MATCHER = /^(?:.+\\/)*(\\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1]))-(.*)(\\.[^.]+)$/;\n\tvar FILENAME_MATCHER = /^(.*)(\\.[^.]+)$/;\n\t\n\t/**\n\t * Returns error messages if the given values does not pass the provided validations.\n\t * @param {Object} values\n\t * @param {Object} validations\n\t * @param {Object} messages\n\t * @return {Array} errorMessages\n\t */\n\tvar validator = exports.validator = function validator(values, validations, messages) {\n\t var errorMessages = [];\n\t _underscore2.default.each(validations, function (validationStr, field, list) {\n\t var validationArr = validationStr.split('|');\n\t _underscore2.default.each(validationArr, function (single) {\n\t if (!validated(values[field], single)) {\n\t errorMessages.push(messages[field + '.' + single]);\n\t }\n\t });\n\t });\n\t return errorMessages;\n\t};\n\t\n\tvar validated = function validated(field, single) {\n\t switch (single) {\n\t case 'required':\n\t return !!field;\n\t case 'date':\n\t return DATE_FILENAME_MATCHER.test(field);\n\t case 'filename':\n\t return FILENAME_MATCHER.test(field);\n\t default:\n\t return false;\n\t }\n\t};\n\n/***/ },\n/* 108 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/* WEBPACK VAR INJECTION */(function(Buffer, global) {/*!\n\t * The buffer module from node.js, for the browser.\n\t *\n\t * @author Feross Aboukhadijeh \n\t * @license MIT\n\t */\n\t/* eslint-disable no-proto */\n\t\n\t'use strict'\n\t\n\tvar base64 = __webpack_require__(386)\n\tvar ieee754 = __webpack_require__(433)\n\tvar isArray = __webpack_require__(434)\n\t\n\texports.Buffer = Buffer\n\texports.SlowBuffer = SlowBuffer\n\texports.INSPECT_MAX_BYTES = 50\n\t\n\t/**\n\t * If `Buffer.TYPED_ARRAY_SUPPORT`:\n\t * === true Use Uint8Array implementation (fastest)\n\t * === false Use Object implementation (most compatible, even IE6)\n\t *\n\t * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n\t * Opera 11.6+, iOS 4.2+.\n\t *\n\t * Due to various browser bugs, sometimes the Object implementation will be used even\n\t * when the browser supports typed arrays.\n\t *\n\t * Note:\n\t *\n\t * - Firefox 4-29 lacks support for adding new properties to `Uint8Array` instances,\n\t * See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438.\n\t *\n\t * - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function.\n\t *\n\t * - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of\n\t * incorrect length in some situations.\n\t\n\t * We detect these buggy browsers and set `Buffer.TYPED_ARRAY_SUPPORT` to `false` so they\n\t * get the Object implementation, which is slower but behaves correctly.\n\t */\n\tBuffer.TYPED_ARRAY_SUPPORT = global.TYPED_ARRAY_SUPPORT !== undefined\n\t ? global.TYPED_ARRAY_SUPPORT\n\t : typedArraySupport()\n\t\n\t/*\n\t * Export kMaxLength after typed array support is determined.\n\t */\n\texports.kMaxLength = kMaxLength()\n\t\n\tfunction typedArraySupport () {\n\t try {\n\t var arr = new Uint8Array(1)\n\t arr.__proto__ = {__proto__: Uint8Array.prototype, foo: function () { return 42 }}\n\t return arr.foo() === 42 && // typed array instances can be augmented\n\t typeof arr.subarray === 'function' && // chrome 9-10 lack `subarray`\n\t arr.subarray(1, 1).byteLength === 0 // ie10 has broken `subarray`\n\t } catch (e) {\n\t return false\n\t }\n\t}\n\t\n\tfunction kMaxLength () {\n\t return Buffer.TYPED_ARRAY_SUPPORT\n\t ? 0x7fffffff\n\t : 0x3fffffff\n\t}\n\t\n\tfunction createBuffer (that, length) {\n\t if (kMaxLength() < length) {\n\t throw new RangeError('Invalid typed array length')\n\t }\n\t if (Buffer.TYPED_ARRAY_SUPPORT) {\n\t // Return an augmented `Uint8Array` instance, for best performance\n\t that = new Uint8Array(length)\n\t that.__proto__ = Buffer.prototype\n\t } else {\n\t // Fallback: Return an object instance of the Buffer class\n\t if (that === null) {\n\t that = new Buffer(length)\n\t }\n\t that.length = length\n\t }\n\t\n\t return that\n\t}\n\t\n\t/**\n\t * The Buffer constructor returns instances of `Uint8Array` that have their\n\t * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n\t * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n\t * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n\t * returns a single octet.\n\t *\n\t * The `Uint8Array` prototype remains unmodified.\n\t */\n\t\n\tfunction Buffer (arg, encodingOrOffset, length) {\n\t if (!Buffer.TYPED_ARRAY_SUPPORT && !(this instanceof Buffer)) {\n\t return new Buffer(arg, encodingOrOffset, length)\n\t }\n\t\n\t // Common case.\n\t if (typeof arg === 'number') {\n\t if (typeof encodingOrOffset === 'string') {\n\t throw new Error(\n\t 'If encoding is specified then the first argument must be a string'\n\t )\n\t }\n\t return allocUnsafe(this, arg)\n\t }\n\t return from(this, arg, encodingOrOffset, length)\n\t}\n\t\n\tBuffer.poolSize = 8192 // not used by this implementation\n\t\n\t// TODO: Legacy, not needed anymore. Remove in next major version.\n\tBuffer._augment = function (arr) {\n\t arr.__proto__ = Buffer.prototype\n\t return arr\n\t}\n\t\n\tfunction from (that, value, encodingOrOffset, length) {\n\t if (typeof value === 'number') {\n\t throw new TypeError('\"value\" argument must not be a number')\n\t }\n\t\n\t if (typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer) {\n\t return fromArrayBuffer(that, value, encodingOrOffset, length)\n\t }\n\t\n\t if (typeof value === 'string') {\n\t return fromString(that, value, encodingOrOffset)\n\t }\n\t\n\t return fromObject(that, value)\n\t}\n\t\n\t/**\n\t * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n\t * if value is a number.\n\t * Buffer.from(str[, encoding])\n\t * Buffer.from(array)\n\t * Buffer.from(buffer)\n\t * Buffer.from(arrayBuffer[, byteOffset[, length]])\n\t **/\n\tBuffer.from = function (value, encodingOrOffset, length) {\n\t return from(null, value, encodingOrOffset, length)\n\t}\n\t\n\tif (Buffer.TYPED_ARRAY_SUPPORT) {\n\t Buffer.prototype.__proto__ = Uint8Array.prototype\n\t Buffer.__proto__ = Uint8Array\n\t if (typeof Symbol !== 'undefined' && Symbol.species &&\n\t Buffer[Symbol.species] === Buffer) {\n\t // Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97\n\t Object.defineProperty(Buffer, Symbol.species, {\n\t value: null,\n\t configurable: true\n\t })\n\t }\n\t}\n\t\n\tfunction assertSize (size) {\n\t if (typeof size !== 'number') {\n\t throw new TypeError('\"size\" argument must be a number')\n\t } else if (size < 0) {\n\t throw new RangeError('\"size\" argument must not be negative')\n\t }\n\t}\n\t\n\tfunction alloc (that, size, fill, encoding) {\n\t assertSize(size)\n\t if (size <= 0) {\n\t return createBuffer(that, size)\n\t }\n\t if (fill !== undefined) {\n\t // Only pay attention to encoding if it's a string. This\n\t // prevents accidentally sending in a number that would\n\t // be interpretted as a start offset.\n\t return typeof encoding === 'string'\n\t ? createBuffer(that, size).fill(fill, encoding)\n\t : createBuffer(that, size).fill(fill)\n\t }\n\t return createBuffer(that, size)\n\t}\n\t\n\t/**\n\t * Creates a new filled Buffer instance.\n\t * alloc(size[, fill[, encoding]])\n\t **/\n\tBuffer.alloc = function (size, fill, encoding) {\n\t return alloc(null, size, fill, encoding)\n\t}\n\t\n\tfunction allocUnsafe (that, size) {\n\t assertSize(size)\n\t that = createBuffer(that, size < 0 ? 0 : checked(size) | 0)\n\t if (!Buffer.TYPED_ARRAY_SUPPORT) {\n\t for (var i = 0; i < size; ++i) {\n\t that[i] = 0\n\t }\n\t }\n\t return that\n\t}\n\t\n\t/**\n\t * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n\t * */\n\tBuffer.allocUnsafe = function (size) {\n\t return allocUnsafe(null, size)\n\t}\n\t/**\n\t * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n\t */\n\tBuffer.allocUnsafeSlow = function (size) {\n\t return allocUnsafe(null, size)\n\t}\n\t\n\tfunction fromString (that, string, encoding) {\n\t if (typeof encoding !== 'string' || encoding === '') {\n\t encoding = 'utf8'\n\t }\n\t\n\t if (!Buffer.isEncoding(encoding)) {\n\t throw new TypeError('\"encoding\" must be a valid string encoding')\n\t }\n\t\n\t var length = byteLength(string, encoding) | 0\n\t that = createBuffer(that, length)\n\t\n\t var actual = that.write(string, encoding)\n\t\n\t if (actual !== length) {\n\t // Writing a hex string, for example, that contains invalid characters will\n\t // cause everything after the first invalid character to be ignored. (e.g.\n\t // 'abxxcd' will be treated as 'ab')\n\t that = that.slice(0, actual)\n\t }\n\t\n\t return that\n\t}\n\t\n\tfunction fromArrayLike (that, array) {\n\t var length = array.length < 0 ? 0 : checked(array.length) | 0\n\t that = createBuffer(that, length)\n\t for (var i = 0; i < length; i += 1) {\n\t that[i] = array[i] & 255\n\t }\n\t return that\n\t}\n\t\n\tfunction fromArrayBuffer (that, array, byteOffset, length) {\n\t array.byteLength // this throws if `array` is not a valid ArrayBuffer\n\t\n\t if (byteOffset < 0 || array.byteLength < byteOffset) {\n\t throw new RangeError('\\'offset\\' is out of bounds')\n\t }\n\t\n\t if (array.byteLength < byteOffset + (length || 0)) {\n\t throw new RangeError('\\'length\\' is out of bounds')\n\t }\n\t\n\t if (byteOffset === undefined && length === undefined) {\n\t array = new Uint8Array(array)\n\t } else if (length === undefined) {\n\t array = new Uint8Array(array, byteOffset)\n\t } else {\n\t array = new Uint8Array(array, byteOffset, length)\n\t }\n\t\n\t if (Buffer.TYPED_ARRAY_SUPPORT) {\n\t // Return an augmented `Uint8Array` instance, for best performance\n\t that = array\n\t that.__proto__ = Buffer.prototype\n\t } else {\n\t // Fallback: Return an object instance of the Buffer class\n\t that = fromArrayLike(that, array)\n\t }\n\t return that\n\t}\n\t\n\tfunction fromObject (that, obj) {\n\t if (Buffer.isBuffer(obj)) {\n\t var len = checked(obj.length) | 0\n\t that = createBuffer(that, len)\n\t\n\t if (that.length === 0) {\n\t return that\n\t }\n\t\n\t obj.copy(that, 0, 0, len)\n\t return that\n\t }\n\t\n\t if (obj) {\n\t if ((typeof ArrayBuffer !== 'undefined' &&\n\t obj.buffer instanceof ArrayBuffer) || 'length' in obj) {\n\t if (typeof obj.length !== 'number' || isnan(obj.length)) {\n\t return createBuffer(that, 0)\n\t }\n\t return fromArrayLike(that, obj)\n\t }\n\t\n\t if (obj.type === 'Buffer' && isArray(obj.data)) {\n\t return fromArrayLike(that, obj.data)\n\t }\n\t }\n\t\n\t throw new TypeError('First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.')\n\t}\n\t\n\tfunction checked (length) {\n\t // Note: cannot use `length < kMaxLength()` here because that fails when\n\t // length is NaN (which is otherwise coerced to zero.)\n\t if (length >= kMaxLength()) {\n\t throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n\t 'size: 0x' + kMaxLength().toString(16) + ' bytes')\n\t }\n\t return length | 0\n\t}\n\t\n\tfunction SlowBuffer (length) {\n\t if (+length != length) { // eslint-disable-line eqeqeq\n\t length = 0\n\t }\n\t return Buffer.alloc(+length)\n\t}\n\t\n\tBuffer.isBuffer = function isBuffer (b) {\n\t return !!(b != null && b._isBuffer)\n\t}\n\t\n\tBuffer.compare = function compare (a, b) {\n\t if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n\t throw new TypeError('Arguments must be Buffers')\n\t }\n\t\n\t if (a === b) return 0\n\t\n\t var x = a.length\n\t var y = b.length\n\t\n\t for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n\t if (a[i] !== b[i]) {\n\t x = a[i]\n\t y = b[i]\n\t break\n\t }\n\t }\n\t\n\t if (x < y) return -1\n\t if (y < x) return 1\n\t return 0\n\t}\n\t\n\tBuffer.isEncoding = function isEncoding (encoding) {\n\t switch (String(encoding).toLowerCase()) {\n\t case 'hex':\n\t case 'utf8':\n\t case 'utf-8':\n\t case 'ascii':\n\t case 'latin1':\n\t case 'binary':\n\t case 'base64':\n\t case 'ucs2':\n\t case 'ucs-2':\n\t case 'utf16le':\n\t case 'utf-16le':\n\t return true\n\t default:\n\t return false\n\t }\n\t}\n\t\n\tBuffer.concat = function concat (list, length) {\n\t if (!isArray(list)) {\n\t throw new TypeError('\"list\" argument must be an Array of Buffers')\n\t }\n\t\n\t if (list.length === 0) {\n\t return Buffer.alloc(0)\n\t }\n\t\n\t var i\n\t if (length === undefined) {\n\t length = 0\n\t for (i = 0; i < list.length; ++i) {\n\t length += list[i].length\n\t }\n\t }\n\t\n\t var buffer = Buffer.allocUnsafe(length)\n\t var pos = 0\n\t for (i = 0; i < list.length; ++i) {\n\t var buf = list[i]\n\t if (!Buffer.isBuffer(buf)) {\n\t throw new TypeError('\"list\" argument must be an Array of Buffers')\n\t }\n\t buf.copy(buffer, pos)\n\t pos += buf.length\n\t }\n\t return buffer\n\t}\n\t\n\tfunction byteLength (string, encoding) {\n\t if (Buffer.isBuffer(string)) {\n\t return string.length\n\t }\n\t if (typeof ArrayBuffer !== 'undefined' && typeof ArrayBuffer.isView === 'function' &&\n\t (ArrayBuffer.isView(string) || string instanceof ArrayBuffer)) {\n\t return string.byteLength\n\t }\n\t if (typeof string !== 'string') {\n\t string = '' + string\n\t }\n\t\n\t var len = string.length\n\t if (len === 0) return 0\n\t\n\t // Use a for loop to avoid recursion\n\t var loweredCase = false\n\t for (;;) {\n\t switch (encoding) {\n\t case 'ascii':\n\t case 'latin1':\n\t case 'binary':\n\t return len\n\t case 'utf8':\n\t case 'utf-8':\n\t case undefined:\n\t return utf8ToBytes(string).length\n\t case 'ucs2':\n\t case 'ucs-2':\n\t case 'utf16le':\n\t case 'utf-16le':\n\t return len * 2\n\t case 'hex':\n\t return len >>> 1\n\t case 'base64':\n\t return base64ToBytes(string).length\n\t default:\n\t if (loweredCase) return utf8ToBytes(string).length // assume utf8\n\t encoding = ('' + encoding).toLowerCase()\n\t loweredCase = true\n\t }\n\t }\n\t}\n\tBuffer.byteLength = byteLength\n\t\n\tfunction slowToString (encoding, start, end) {\n\t var loweredCase = false\n\t\n\t // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n\t // property of a typed array.\n\t\n\t // This behaves neither like String nor Uint8Array in that we set start/end\n\t // to their upper/lower bounds if the value passed is out of range.\n\t // undefined is handled specially as per ECMA-262 6th Edition,\n\t // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n\t if (start === undefined || start < 0) {\n\t start = 0\n\t }\n\t // Return early if start > this.length. Done here to prevent potential uint32\n\t // coercion fail below.\n\t if (start > this.length) {\n\t return ''\n\t }\n\t\n\t if (end === undefined || end > this.length) {\n\t end = this.length\n\t }\n\t\n\t if (end <= 0) {\n\t return ''\n\t }\n\t\n\t // Force coersion to uint32. This will also coerce falsey/NaN values to 0.\n\t end >>>= 0\n\t start >>>= 0\n\t\n\t if (end <= start) {\n\t return ''\n\t }\n\t\n\t if (!encoding) encoding = 'utf8'\n\t\n\t while (true) {\n\t switch (encoding) {\n\t case 'hex':\n\t return hexSlice(this, start, end)\n\t\n\t case 'utf8':\n\t case 'utf-8':\n\t return utf8Slice(this, start, end)\n\t\n\t case 'ascii':\n\t return asciiSlice(this, start, end)\n\t\n\t case 'latin1':\n\t case 'binary':\n\t return latin1Slice(this, start, end)\n\t\n\t case 'base64':\n\t return base64Slice(this, start, end)\n\t\n\t case 'ucs2':\n\t case 'ucs-2':\n\t case 'utf16le':\n\t case 'utf-16le':\n\t return utf16leSlice(this, start, end)\n\t\n\t default:\n\t if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n\t encoding = (encoding + '').toLowerCase()\n\t loweredCase = true\n\t }\n\t }\n\t}\n\t\n\t// The property is used by `Buffer.isBuffer` and `is-buffer` (in Safari 5-7) to detect\n\t// Buffer instances.\n\tBuffer.prototype._isBuffer = true\n\t\n\tfunction swap (b, n, m) {\n\t var i = b[n]\n\t b[n] = b[m]\n\t b[m] = i\n\t}\n\t\n\tBuffer.prototype.swap16 = function swap16 () {\n\t var len = this.length\n\t if (len % 2 !== 0) {\n\t throw new RangeError('Buffer size must be a multiple of 16-bits')\n\t }\n\t for (var i = 0; i < len; i += 2) {\n\t swap(this, i, i + 1)\n\t }\n\t return this\n\t}\n\t\n\tBuffer.prototype.swap32 = function swap32 () {\n\t var len = this.length\n\t if (len % 4 !== 0) {\n\t throw new RangeError('Buffer size must be a multiple of 32-bits')\n\t }\n\t for (var i = 0; i < len; i += 4) {\n\t swap(this, i, i + 3)\n\t swap(this, i + 1, i + 2)\n\t }\n\t return this\n\t}\n\t\n\tBuffer.prototype.swap64 = function swap64 () {\n\t var len = this.length\n\t if (len % 8 !== 0) {\n\t throw new RangeError('Buffer size must be a multiple of 64-bits')\n\t }\n\t for (var i = 0; i < len; i += 8) {\n\t swap(this, i, i + 7)\n\t swap(this, i + 1, i + 6)\n\t swap(this, i + 2, i + 5)\n\t swap(this, i + 3, i + 4)\n\t }\n\t return this\n\t}\n\t\n\tBuffer.prototype.toString = function toString () {\n\t var length = this.length | 0\n\t if (length === 0) return ''\n\t if (arguments.length === 0) return utf8Slice(this, 0, length)\n\t return slowToString.apply(this, arguments)\n\t}\n\t\n\tBuffer.prototype.equals = function equals (b) {\n\t if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n\t if (this === b) return true\n\t return Buffer.compare(this, b) === 0\n\t}\n\t\n\tBuffer.prototype.inspect = function inspect () {\n\t var str = ''\n\t var max = exports.INSPECT_MAX_BYTES\n\t if (this.length > 0) {\n\t str = this.toString('hex', 0, max).match(/.{2}/g).join(' ')\n\t if (this.length > max) str += ' ... '\n\t }\n\t return ''\n\t}\n\t\n\tBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n\t if (!Buffer.isBuffer(target)) {\n\t throw new TypeError('Argument must be a Buffer')\n\t }\n\t\n\t if (start === undefined) {\n\t start = 0\n\t }\n\t if (end === undefined) {\n\t end = target ? target.length : 0\n\t }\n\t if (thisStart === undefined) {\n\t thisStart = 0\n\t }\n\t if (thisEnd === undefined) {\n\t thisEnd = this.length\n\t }\n\t\n\t if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n\t throw new RangeError('out of range index')\n\t }\n\t\n\t if (thisStart >= thisEnd && start >= end) {\n\t return 0\n\t }\n\t if (thisStart >= thisEnd) {\n\t return -1\n\t }\n\t if (start >= end) {\n\t return 1\n\t }\n\t\n\t start >>>= 0\n\t end >>>= 0\n\t thisStart >>>= 0\n\t thisEnd >>>= 0\n\t\n\t if (this === target) return 0\n\t\n\t var x = thisEnd - thisStart\n\t var y = end - start\n\t var len = Math.min(x, y)\n\t\n\t var thisCopy = this.slice(thisStart, thisEnd)\n\t var targetCopy = target.slice(start, end)\n\t\n\t for (var i = 0; i < len; ++i) {\n\t if (thisCopy[i] !== targetCopy[i]) {\n\t x = thisCopy[i]\n\t y = targetCopy[i]\n\t break\n\t }\n\t }\n\t\n\t if (x < y) return -1\n\t if (y < x) return 1\n\t return 0\n\t}\n\t\n\t// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n\t// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n\t//\n\t// Arguments:\n\t// - buffer - a Buffer to search\n\t// - val - a string, Buffer, or number\n\t// - byteOffset - an index into `buffer`; will be clamped to an int32\n\t// - encoding - an optional encoding, relevant is val is a string\n\t// - dir - true for indexOf, false for lastIndexOf\n\tfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n\t // Empty buffer means no match\n\t if (buffer.length === 0) return -1\n\t\n\t // Normalize byteOffset\n\t if (typeof byteOffset === 'string') {\n\t encoding = byteOffset\n\t byteOffset = 0\n\t } else if (byteOffset > 0x7fffffff) {\n\t byteOffset = 0x7fffffff\n\t } else if (byteOffset < -0x80000000) {\n\t byteOffset = -0x80000000\n\t }\n\t byteOffset = +byteOffset // Coerce to Number.\n\t if (isNaN(byteOffset)) {\n\t // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n\t byteOffset = dir ? 0 : (buffer.length - 1)\n\t }\n\t\n\t // Normalize byteOffset: negative offsets start from the end of the buffer\n\t if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n\t if (byteOffset >= buffer.length) {\n\t if (dir) return -1\n\t else byteOffset = buffer.length - 1\n\t } else if (byteOffset < 0) {\n\t if (dir) byteOffset = 0\n\t else return -1\n\t }\n\t\n\t // Normalize val\n\t if (typeof val === 'string') {\n\t val = Buffer.from(val, encoding)\n\t }\n\t\n\t // Finally, search either indexOf (if dir is true) or lastIndexOf\n\t if (Buffer.isBuffer(val)) {\n\t // Special case: looking for empty string/buffer always fails\n\t if (val.length === 0) {\n\t return -1\n\t }\n\t return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n\t } else if (typeof val === 'number') {\n\t val = val & 0xFF // Search for a byte value [0-255]\n\t if (Buffer.TYPED_ARRAY_SUPPORT &&\n\t typeof Uint8Array.prototype.indexOf === 'function') {\n\t if (dir) {\n\t return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n\t } else {\n\t return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n\t }\n\t }\n\t return arrayIndexOf(buffer, [ val ], byteOffset, encoding, dir)\n\t }\n\t\n\t throw new TypeError('val must be string, number or Buffer')\n\t}\n\t\n\tfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n\t var indexSize = 1\n\t var arrLength = arr.length\n\t var valLength = val.length\n\t\n\t if (encoding !== undefined) {\n\t encoding = String(encoding).toLowerCase()\n\t if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n\t encoding === 'utf16le' || encoding === 'utf-16le') {\n\t if (arr.length < 2 || val.length < 2) {\n\t return -1\n\t }\n\t indexSize = 2\n\t arrLength /= 2\n\t valLength /= 2\n\t byteOffset /= 2\n\t }\n\t }\n\t\n\t function read (buf, i) {\n\t if (indexSize === 1) {\n\t return buf[i]\n\t } else {\n\t return buf.readUInt16BE(i * indexSize)\n\t }\n\t }\n\t\n\t var i\n\t if (dir) {\n\t var foundIndex = -1\n\t for (i = byteOffset; i < arrLength; i++) {\n\t if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n\t if (foundIndex === -1) foundIndex = i\n\t if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n\t } else {\n\t if (foundIndex !== -1) i -= i - foundIndex\n\t foundIndex = -1\n\t }\n\t }\n\t } else {\n\t if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\n\t for (i = byteOffset; i >= 0; i--) {\n\t var found = true\n\t for (var j = 0; j < valLength; j++) {\n\t if (read(arr, i + j) !== read(val, j)) {\n\t found = false\n\t break\n\t }\n\t }\n\t if (found) return i\n\t }\n\t }\n\t\n\t return -1\n\t}\n\t\n\tBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n\t return this.indexOf(val, byteOffset, encoding) !== -1\n\t}\n\t\n\tBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n\t return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n\t}\n\t\n\tBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n\t return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n\t}\n\t\n\tfunction hexWrite (buf, string, offset, length) {\n\t offset = Number(offset) || 0\n\t var remaining = buf.length - offset\n\t if (!length) {\n\t length = remaining\n\t } else {\n\t length = Number(length)\n\t if (length > remaining) {\n\t length = remaining\n\t }\n\t }\n\t\n\t // must be an even number of digits\n\t var strLen = string.length\n\t if (strLen % 2 !== 0) throw new TypeError('Invalid hex string')\n\t\n\t if (length > strLen / 2) {\n\t length = strLen / 2\n\t }\n\t for (var i = 0; i < length; ++i) {\n\t var parsed = parseInt(string.substr(i * 2, 2), 16)\n\t if (isNaN(parsed)) return i\n\t buf[offset + i] = parsed\n\t }\n\t return i\n\t}\n\t\n\tfunction utf8Write (buf, string, offset, length) {\n\t return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n\t}\n\t\n\tfunction asciiWrite (buf, string, offset, length) {\n\t return blitBuffer(asciiToBytes(string), buf, offset, length)\n\t}\n\t\n\tfunction latin1Write (buf, string, offset, length) {\n\t return asciiWrite(buf, string, offset, length)\n\t}\n\t\n\tfunction base64Write (buf, string, offset, length) {\n\t return blitBuffer(base64ToBytes(string), buf, offset, length)\n\t}\n\t\n\tfunction ucs2Write (buf, string, offset, length) {\n\t return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n\t}\n\t\n\tBuffer.prototype.write = function write (string, offset, length, encoding) {\n\t // Buffer#write(string)\n\t if (offset === undefined) {\n\t encoding = 'utf8'\n\t length = this.length\n\t offset = 0\n\t // Buffer#write(string, encoding)\n\t } else if (length === undefined && typeof offset === 'string') {\n\t encoding = offset\n\t length = this.length\n\t offset = 0\n\t // Buffer#write(string, offset[, length][, encoding])\n\t } else if (isFinite(offset)) {\n\t offset = offset | 0\n\t if (isFinite(length)) {\n\t length = length | 0\n\t if (encoding === undefined) encoding = 'utf8'\n\t } else {\n\t encoding = length\n\t length = undefined\n\t }\n\t // legacy write(string, encoding, offset, length) - remove in v0.13\n\t } else {\n\t throw new Error(\n\t 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n\t )\n\t }\n\t\n\t var remaining = this.length - offset\n\t if (length === undefined || length > remaining) length = remaining\n\t\n\t if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n\t throw new RangeError('Attempt to write outside buffer bounds')\n\t }\n\t\n\t if (!encoding) encoding = 'utf8'\n\t\n\t var loweredCase = false\n\t for (;;) {\n\t switch (encoding) {\n\t case 'hex':\n\t return hexWrite(this, string, offset, length)\n\t\n\t case 'utf8':\n\t case 'utf-8':\n\t return utf8Write(this, string, offset, length)\n\t\n\t case 'ascii':\n\t return asciiWrite(this, string, offset, length)\n\t\n\t case 'latin1':\n\t case 'binary':\n\t return latin1Write(this, string, offset, length)\n\t\n\t case 'base64':\n\t // Warning: maxLength not taken into account in base64Write\n\t return base64Write(this, string, offset, length)\n\t\n\t case 'ucs2':\n\t case 'ucs-2':\n\t case 'utf16le':\n\t case 'utf-16le':\n\t return ucs2Write(this, string, offset, length)\n\t\n\t default:\n\t if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n\t encoding = ('' + encoding).toLowerCase()\n\t loweredCase = true\n\t }\n\t }\n\t}\n\t\n\tBuffer.prototype.toJSON = function toJSON () {\n\t return {\n\t type: 'Buffer',\n\t data: Array.prototype.slice.call(this._arr || this, 0)\n\t }\n\t}\n\t\n\tfunction base64Slice (buf, start, end) {\n\t if (start === 0 && end === buf.length) {\n\t return base64.fromByteArray(buf)\n\t } else {\n\t return base64.fromByteArray(buf.slice(start, end))\n\t }\n\t}\n\t\n\tfunction utf8Slice (buf, start, end) {\n\t end = Math.min(buf.length, end)\n\t var res = []\n\t\n\t var i = start\n\t while (i < end) {\n\t var firstByte = buf[i]\n\t var codePoint = null\n\t var bytesPerSequence = (firstByte > 0xEF) ? 4\n\t : (firstByte > 0xDF) ? 3\n\t : (firstByte > 0xBF) ? 2\n\t : 1\n\t\n\t if (i + bytesPerSequence <= end) {\n\t var secondByte, thirdByte, fourthByte, tempCodePoint\n\t\n\t switch (bytesPerSequence) {\n\t case 1:\n\t if (firstByte < 0x80) {\n\t codePoint = firstByte\n\t }\n\t break\n\t case 2:\n\t secondByte = buf[i + 1]\n\t if ((secondByte & 0xC0) === 0x80) {\n\t tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\n\t if (tempCodePoint > 0x7F) {\n\t codePoint = tempCodePoint\n\t }\n\t }\n\t break\n\t case 3:\n\t secondByte = buf[i + 1]\n\t thirdByte = buf[i + 2]\n\t if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n\t tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\n\t if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n\t codePoint = tempCodePoint\n\t }\n\t }\n\t break\n\t case 4:\n\t secondByte = buf[i + 1]\n\t thirdByte = buf[i + 2]\n\t fourthByte = buf[i + 3]\n\t if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n\t tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\n\t if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n\t codePoint = tempCodePoint\n\t }\n\t }\n\t }\n\t }\n\t\n\t if (codePoint === null) {\n\t // we did not generate a valid codePoint so insert a\n\t // replacement char (U+FFFD) and advance only 1 byte\n\t codePoint = 0xFFFD\n\t bytesPerSequence = 1\n\t } else if (codePoint > 0xFFFF) {\n\t // encode to utf16 (surrogate pair dance)\n\t codePoint -= 0x10000\n\t res.push(codePoint >>> 10 & 0x3FF | 0xD800)\n\t codePoint = 0xDC00 | codePoint & 0x3FF\n\t }\n\t\n\t res.push(codePoint)\n\t i += bytesPerSequence\n\t }\n\t\n\t return decodeCodePointsArray(res)\n\t}\n\t\n\t// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n\t// the lowest limit is Chrome, with 0x10000 args.\n\t// We go 1 magnitude less, for safety\n\tvar MAX_ARGUMENTS_LENGTH = 0x1000\n\t\n\tfunction decodeCodePointsArray (codePoints) {\n\t var len = codePoints.length\n\t if (len <= MAX_ARGUMENTS_LENGTH) {\n\t return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n\t }\n\t\n\t // Decode in chunks to avoid \"call stack size exceeded\".\n\t var res = ''\n\t var i = 0\n\t while (i < len) {\n\t res += String.fromCharCode.apply(\n\t String,\n\t codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n\t )\n\t }\n\t return res\n\t}\n\t\n\tfunction asciiSlice (buf, start, end) {\n\t var ret = ''\n\t end = Math.min(buf.length, end)\n\t\n\t for (var i = start; i < end; ++i) {\n\t ret += String.fromCharCode(buf[i] & 0x7F)\n\t }\n\t return ret\n\t}\n\t\n\tfunction latin1Slice (buf, start, end) {\n\t var ret = ''\n\t end = Math.min(buf.length, end)\n\t\n\t for (var i = start; i < end; ++i) {\n\t ret += String.fromCharCode(buf[i])\n\t }\n\t return ret\n\t}\n\t\n\tfunction hexSlice (buf, start, end) {\n\t var len = buf.length\n\t\n\t if (!start || start < 0) start = 0\n\t if (!end || end < 0 || end > len) end = len\n\t\n\t var out = ''\n\t for (var i = start; i < end; ++i) {\n\t out += toHex(buf[i])\n\t }\n\t return out\n\t}\n\t\n\tfunction utf16leSlice (buf, start, end) {\n\t var bytes = buf.slice(start, end)\n\t var res = ''\n\t for (var i = 0; i < bytes.length; i += 2) {\n\t res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256)\n\t }\n\t return res\n\t}\n\t\n\tBuffer.prototype.slice = function slice (start, end) {\n\t var len = this.length\n\t start = ~~start\n\t end = end === undefined ? len : ~~end\n\t\n\t if (start < 0) {\n\t start += len\n\t if (start < 0) start = 0\n\t } else if (start > len) {\n\t start = len\n\t }\n\t\n\t if (end < 0) {\n\t end += len\n\t if (end < 0) end = 0\n\t } else if (end > len) {\n\t end = len\n\t }\n\t\n\t if (end < start) end = start\n\t\n\t var newBuf\n\t if (Buffer.TYPED_ARRAY_SUPPORT) {\n\t newBuf = this.subarray(start, end)\n\t newBuf.__proto__ = Buffer.prototype\n\t } else {\n\t var sliceLen = end - start\n\t newBuf = new Buffer(sliceLen, undefined)\n\t for (var i = 0; i < sliceLen; ++i) {\n\t newBuf[i] = this[i + start]\n\t }\n\t }\n\t\n\t return newBuf\n\t}\n\t\n\t/*\n\t * Need to make sure that buffer isn't trying to write out of bounds.\n\t */\n\tfunction checkOffset (offset, ext, length) {\n\t if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n\t if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n\t}\n\t\n\tBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n\t offset = offset | 0\n\t byteLength = byteLength | 0\n\t if (!noAssert) checkOffset(offset, byteLength, this.length)\n\t\n\t var val = this[offset]\n\t var mul = 1\n\t var i = 0\n\t while (++i < byteLength && (mul *= 0x100)) {\n\t val += this[offset + i] * mul\n\t }\n\t\n\t return val\n\t}\n\t\n\tBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n\t offset = offset | 0\n\t byteLength = byteLength | 0\n\t if (!noAssert) {\n\t checkOffset(offset, byteLength, this.length)\n\t }\n\t\n\t var val = this[offset + --byteLength]\n\t var mul = 1\n\t while (byteLength > 0 && (mul *= 0x100)) {\n\t val += this[offset + --byteLength] * mul\n\t }\n\t\n\t return val\n\t}\n\t\n\tBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n\t if (!noAssert) checkOffset(offset, 1, this.length)\n\t return this[offset]\n\t}\n\t\n\tBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n\t if (!noAssert) checkOffset(offset, 2, this.length)\n\t return this[offset] | (this[offset + 1] << 8)\n\t}\n\t\n\tBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n\t if (!noAssert) checkOffset(offset, 2, this.length)\n\t return (this[offset] << 8) | this[offset + 1]\n\t}\n\t\n\tBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n\t if (!noAssert) checkOffset(offset, 4, this.length)\n\t\n\t return ((this[offset]) |\n\t (this[offset + 1] << 8) |\n\t (this[offset + 2] << 16)) +\n\t (this[offset + 3] * 0x1000000)\n\t}\n\t\n\tBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n\t if (!noAssert) checkOffset(offset, 4, this.length)\n\t\n\t return (this[offset] * 0x1000000) +\n\t ((this[offset + 1] << 16) |\n\t (this[offset + 2] << 8) |\n\t this[offset + 3])\n\t}\n\t\n\tBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n\t offset = offset | 0\n\t byteLength = byteLength | 0\n\t if (!noAssert) checkOffset(offset, byteLength, this.length)\n\t\n\t var val = this[offset]\n\t var mul = 1\n\t var i = 0\n\t while (++i < byteLength && (mul *= 0x100)) {\n\t val += this[offset + i] * mul\n\t }\n\t mul *= 0x80\n\t\n\t if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\t\n\t return val\n\t}\n\t\n\tBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n\t offset = offset | 0\n\t byteLength = byteLength | 0\n\t if (!noAssert) checkOffset(offset, byteLength, this.length)\n\t\n\t var i = byteLength\n\t var mul = 1\n\t var val = this[offset + --i]\n\t while (i > 0 && (mul *= 0x100)) {\n\t val += this[offset + --i] * mul\n\t }\n\t mul *= 0x80\n\t\n\t if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\t\n\t return val\n\t}\n\t\n\tBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n\t if (!noAssert) checkOffset(offset, 1, this.length)\n\t if (!(this[offset] & 0x80)) return (this[offset])\n\t return ((0xff - this[offset] + 1) * -1)\n\t}\n\t\n\tBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n\t if (!noAssert) checkOffset(offset, 2, this.length)\n\t var val = this[offset] | (this[offset + 1] << 8)\n\t return (val & 0x8000) ? val | 0xFFFF0000 : val\n\t}\n\t\n\tBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n\t if (!noAssert) checkOffset(offset, 2, this.length)\n\t var val = this[offset + 1] | (this[offset] << 8)\n\t return (val & 0x8000) ? val | 0xFFFF0000 : val\n\t}\n\t\n\tBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n\t if (!noAssert) checkOffset(offset, 4, this.length)\n\t\n\t return (this[offset]) |\n\t (this[offset + 1] << 8) |\n\t (this[offset + 2] << 16) |\n\t (this[offset + 3] << 24)\n\t}\n\t\n\tBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n\t if (!noAssert) checkOffset(offset, 4, this.length)\n\t\n\t return (this[offset] << 24) |\n\t (this[offset + 1] << 16) |\n\t (this[offset + 2] << 8) |\n\t (this[offset + 3])\n\t}\n\t\n\tBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n\t if (!noAssert) checkOffset(offset, 4, this.length)\n\t return ieee754.read(this, offset, true, 23, 4)\n\t}\n\t\n\tBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n\t if (!noAssert) checkOffset(offset, 4, this.length)\n\t return ieee754.read(this, offset, false, 23, 4)\n\t}\n\t\n\tBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n\t if (!noAssert) checkOffset(offset, 8, this.length)\n\t return ieee754.read(this, offset, true, 52, 8)\n\t}\n\t\n\tBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n\t if (!noAssert) checkOffset(offset, 8, this.length)\n\t return ieee754.read(this, offset, false, 52, 8)\n\t}\n\t\n\tfunction checkInt (buf, value, offset, ext, max, min) {\n\t if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n\t if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n\t if (offset + ext > buf.length) throw new RangeError('Index out of range')\n\t}\n\t\n\tBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n\t value = +value\n\t offset = offset | 0\n\t byteLength = byteLength | 0\n\t if (!noAssert) {\n\t var maxBytes = Math.pow(2, 8 * byteLength) - 1\n\t checkInt(this, value, offset, byteLength, maxBytes, 0)\n\t }\n\t\n\t var mul = 1\n\t var i = 0\n\t this[offset] = value & 0xFF\n\t while (++i < byteLength && (mul *= 0x100)) {\n\t this[offset + i] = (value / mul) & 0xFF\n\t }\n\t\n\t return offset + byteLength\n\t}\n\t\n\tBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n\t value = +value\n\t offset = offset | 0\n\t byteLength = byteLength | 0\n\t if (!noAssert) {\n\t var maxBytes = Math.pow(2, 8 * byteLength) - 1\n\t checkInt(this, value, offset, byteLength, maxBytes, 0)\n\t }\n\t\n\t var i = byteLength - 1\n\t var mul = 1\n\t this[offset + i] = value & 0xFF\n\t while (--i >= 0 && (mul *= 0x100)) {\n\t this[offset + i] = (value / mul) & 0xFF\n\t }\n\t\n\t return offset + byteLength\n\t}\n\t\n\tBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n\t value = +value\n\t offset = offset | 0\n\t if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n\t if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n\t this[offset] = (value & 0xff)\n\t return offset + 1\n\t}\n\t\n\tfunction objectWriteUInt16 (buf, value, offset, littleEndian) {\n\t if (value < 0) value = 0xffff + value + 1\n\t for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; ++i) {\n\t buf[offset + i] = (value & (0xff << (8 * (littleEndian ? i : 1 - i)))) >>>\n\t (littleEndian ? i : 1 - i) * 8\n\t }\n\t}\n\t\n\tBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n\t value = +value\n\t offset = offset | 0\n\t if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n\t if (Buffer.TYPED_ARRAY_SUPPORT) {\n\t this[offset] = (value & 0xff)\n\t this[offset + 1] = (value >>> 8)\n\t } else {\n\t objectWriteUInt16(this, value, offset, true)\n\t }\n\t return offset + 2\n\t}\n\t\n\tBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n\t value = +value\n\t offset = offset | 0\n\t if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n\t if (Buffer.TYPED_ARRAY_SUPPORT) {\n\t this[offset] = (value >>> 8)\n\t this[offset + 1] = (value & 0xff)\n\t } else {\n\t objectWriteUInt16(this, value, offset, false)\n\t }\n\t return offset + 2\n\t}\n\t\n\tfunction objectWriteUInt32 (buf, value, offset, littleEndian) {\n\t if (value < 0) value = 0xffffffff + value + 1\n\t for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; ++i) {\n\t buf[offset + i] = (value >>> (littleEndian ? i : 3 - i) * 8) & 0xff\n\t }\n\t}\n\t\n\tBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n\t value = +value\n\t offset = offset | 0\n\t if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n\t if (Buffer.TYPED_ARRAY_SUPPORT) {\n\t this[offset + 3] = (value >>> 24)\n\t this[offset + 2] = (value >>> 16)\n\t this[offset + 1] = (value >>> 8)\n\t this[offset] = (value & 0xff)\n\t } else {\n\t objectWriteUInt32(this, value, offset, true)\n\t }\n\t return offset + 4\n\t}\n\t\n\tBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n\t value = +value\n\t offset = offset | 0\n\t if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n\t if (Buffer.TYPED_ARRAY_SUPPORT) {\n\t this[offset] = (value >>> 24)\n\t this[offset + 1] = (value >>> 16)\n\t this[offset + 2] = (value >>> 8)\n\t this[offset + 3] = (value & 0xff)\n\t } else {\n\t objectWriteUInt32(this, value, offset, false)\n\t }\n\t return offset + 4\n\t}\n\t\n\tBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n\t value = +value\n\t offset = offset | 0\n\t if (!noAssert) {\n\t var limit = Math.pow(2, 8 * byteLength - 1)\n\t\n\t checkInt(this, value, offset, byteLength, limit - 1, -limit)\n\t }\n\t\n\t var i = 0\n\t var mul = 1\n\t var sub = 0\n\t this[offset] = value & 0xFF\n\t while (++i < byteLength && (mul *= 0x100)) {\n\t if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n\t sub = 1\n\t }\n\t this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n\t }\n\t\n\t return offset + byteLength\n\t}\n\t\n\tBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n\t value = +value\n\t offset = offset | 0\n\t if (!noAssert) {\n\t var limit = Math.pow(2, 8 * byteLength - 1)\n\t\n\t checkInt(this, value, offset, byteLength, limit - 1, -limit)\n\t }\n\t\n\t var i = byteLength - 1\n\t var mul = 1\n\t var sub = 0\n\t this[offset + i] = value & 0xFF\n\t while (--i >= 0 && (mul *= 0x100)) {\n\t if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n\t sub = 1\n\t }\n\t this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n\t }\n\t\n\t return offset + byteLength\n\t}\n\t\n\tBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n\t value = +value\n\t offset = offset | 0\n\t if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n\t if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n\t if (value < 0) value = 0xff + value + 1\n\t this[offset] = (value & 0xff)\n\t return offset + 1\n\t}\n\t\n\tBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n\t value = +value\n\t offset = offset | 0\n\t if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n\t if (Buffer.TYPED_ARRAY_SUPPORT) {\n\t this[offset] = (value & 0xff)\n\t this[offset + 1] = (value >>> 8)\n\t } else {\n\t objectWriteUInt16(this, value, offset, true)\n\t }\n\t return offset + 2\n\t}\n\t\n\tBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n\t value = +value\n\t offset = offset | 0\n\t if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n\t if (Buffer.TYPED_ARRAY_SUPPORT) {\n\t this[offset] = (value >>> 8)\n\t this[offset + 1] = (value & 0xff)\n\t } else {\n\t objectWriteUInt16(this, value, offset, false)\n\t }\n\t return offset + 2\n\t}\n\t\n\tBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n\t value = +value\n\t offset = offset | 0\n\t if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n\t if (Buffer.TYPED_ARRAY_SUPPORT) {\n\t this[offset] = (value & 0xff)\n\t this[offset + 1] = (value >>> 8)\n\t this[offset + 2] = (value >>> 16)\n\t this[offset + 3] = (value >>> 24)\n\t } else {\n\t objectWriteUInt32(this, value, offset, true)\n\t }\n\t return offset + 4\n\t}\n\t\n\tBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n\t value = +value\n\t offset = offset | 0\n\t if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n\t if (value < 0) value = 0xffffffff + value + 1\n\t if (Buffer.TYPED_ARRAY_SUPPORT) {\n\t this[offset] = (value >>> 24)\n\t this[offset + 1] = (value >>> 16)\n\t this[offset + 2] = (value >>> 8)\n\t this[offset + 3] = (value & 0xff)\n\t } else {\n\t objectWriteUInt32(this, value, offset, false)\n\t }\n\t return offset + 4\n\t}\n\t\n\tfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n\t if (offset + ext > buf.length) throw new RangeError('Index out of range')\n\t if (offset < 0) throw new RangeError('Index out of range')\n\t}\n\t\n\tfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n\t if (!noAssert) {\n\t checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\n\t }\n\t ieee754.write(buf, value, offset, littleEndian, 23, 4)\n\t return offset + 4\n\t}\n\t\n\tBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n\t return writeFloat(this, value, offset, true, noAssert)\n\t}\n\t\n\tBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n\t return writeFloat(this, value, offset, false, noAssert)\n\t}\n\t\n\tfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n\t if (!noAssert) {\n\t checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\n\t }\n\t ieee754.write(buf, value, offset, littleEndian, 52, 8)\n\t return offset + 8\n\t}\n\t\n\tBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n\t return writeDouble(this, value, offset, true, noAssert)\n\t}\n\t\n\tBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n\t return writeDouble(this, value, offset, false, noAssert)\n\t}\n\t\n\t// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\n\tBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n\t if (!start) start = 0\n\t if (!end && end !== 0) end = this.length\n\t if (targetStart >= target.length) targetStart = target.length\n\t if (!targetStart) targetStart = 0\n\t if (end > 0 && end < start) end = start\n\t\n\t // Copy 0 bytes; we're done\n\t if (end === start) return 0\n\t if (target.length === 0 || this.length === 0) return 0\n\t\n\t // Fatal error conditions\n\t if (targetStart < 0) {\n\t throw new RangeError('targetStart out of bounds')\n\t }\n\t if (start < 0 || start >= this.length) throw new RangeError('sourceStart out of bounds')\n\t if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\t\n\t // Are we oob?\n\t if (end > this.length) end = this.length\n\t if (target.length - targetStart < end - start) {\n\t end = target.length - targetStart + start\n\t }\n\t\n\t var len = end - start\n\t var i\n\t\n\t if (this === target && start < targetStart && targetStart < end) {\n\t // descending copy from end\n\t for (i = len - 1; i >= 0; --i) {\n\t target[i + targetStart] = this[i + start]\n\t }\n\t } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) {\n\t // ascending copy from start\n\t for (i = 0; i < len; ++i) {\n\t target[i + targetStart] = this[i + start]\n\t }\n\t } else {\n\t Uint8Array.prototype.set.call(\n\t target,\n\t this.subarray(start, start + len),\n\t targetStart\n\t )\n\t }\n\t\n\t return len\n\t}\n\t\n\t// Usage:\n\t// buffer.fill(number[, offset[, end]])\n\t// buffer.fill(buffer[, offset[, end]])\n\t// buffer.fill(string[, offset[, end]][, encoding])\n\tBuffer.prototype.fill = function fill (val, start, end, encoding) {\n\t // Handle string cases:\n\t if (typeof val === 'string') {\n\t if (typeof start === 'string') {\n\t encoding = start\n\t start = 0\n\t end = this.length\n\t } else if (typeof end === 'string') {\n\t encoding = end\n\t end = this.length\n\t }\n\t if (val.length === 1) {\n\t var code = val.charCodeAt(0)\n\t if (code < 256) {\n\t val = code\n\t }\n\t }\n\t if (encoding !== undefined && typeof encoding !== 'string') {\n\t throw new TypeError('encoding must be a string')\n\t }\n\t if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n\t throw new TypeError('Unknown encoding: ' + encoding)\n\t }\n\t } else if (typeof val === 'number') {\n\t val = val & 255\n\t }\n\t\n\t // Invalid ranges are not set to a default, so can range check early.\n\t if (start < 0 || this.length < start || this.length < end) {\n\t throw new RangeError('Out of range index')\n\t }\n\t\n\t if (end <= start) {\n\t return this\n\t }\n\t\n\t start = start >>> 0\n\t end = end === undefined ? this.length : end >>> 0\n\t\n\t if (!val) val = 0\n\t\n\t var i\n\t if (typeof val === 'number') {\n\t for (i = start; i < end; ++i) {\n\t this[i] = val\n\t }\n\t } else {\n\t var bytes = Buffer.isBuffer(val)\n\t ? val\n\t : utf8ToBytes(new Buffer(val, encoding).toString())\n\t var len = bytes.length\n\t for (i = 0; i < end - start; ++i) {\n\t this[i + start] = bytes[i % len]\n\t }\n\t }\n\t\n\t return this\n\t}\n\t\n\t// HELPER FUNCTIONS\n\t// ================\n\t\n\tvar INVALID_BASE64_RE = /[^+\\/0-9A-Za-z-_]/g\n\t\n\tfunction base64clean (str) {\n\t // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n\t str = stringtrim(str).replace(INVALID_BASE64_RE, '')\n\t // Node converts strings with length < 2 to ''\n\t if (str.length < 2) return ''\n\t // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n\t while (str.length % 4 !== 0) {\n\t str = str + '='\n\t }\n\t return str\n\t}\n\t\n\tfunction stringtrim (str) {\n\t if (str.trim) return str.trim()\n\t return str.replace(/^\\s+|\\s+$/g, '')\n\t}\n\t\n\tfunction toHex (n) {\n\t if (n < 16) return '0' + n.toString(16)\n\t return n.toString(16)\n\t}\n\t\n\tfunction utf8ToBytes (string, units) {\n\t units = units || Infinity\n\t var codePoint\n\t var length = string.length\n\t var leadSurrogate = null\n\t var bytes = []\n\t\n\t for (var i = 0; i < length; ++i) {\n\t codePoint = string.charCodeAt(i)\n\t\n\t // is surrogate component\n\t if (codePoint > 0xD7FF && codePoint < 0xE000) {\n\t // last char was a lead\n\t if (!leadSurrogate) {\n\t // no lead yet\n\t if (codePoint > 0xDBFF) {\n\t // unexpected trail\n\t if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n\t continue\n\t } else if (i + 1 === length) {\n\t // unpaired lead\n\t if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n\t continue\n\t }\n\t\n\t // valid lead\n\t leadSurrogate = codePoint\n\t\n\t continue\n\t }\n\t\n\t // 2 leads in a row\n\t if (codePoint < 0xDC00) {\n\t if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n\t leadSurrogate = codePoint\n\t continue\n\t }\n\t\n\t // valid surrogate pair\n\t codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\n\t } else if (leadSurrogate) {\n\t // valid bmp char, but last char was a lead\n\t if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n\t }\n\t\n\t leadSurrogate = null\n\t\n\t // encode utf8\n\t if (codePoint < 0x80) {\n\t if ((units -= 1) < 0) break\n\t bytes.push(codePoint)\n\t } else if (codePoint < 0x800) {\n\t if ((units -= 2) < 0) break\n\t bytes.push(\n\t codePoint >> 0x6 | 0xC0,\n\t codePoint & 0x3F | 0x80\n\t )\n\t } else if (codePoint < 0x10000) {\n\t if ((units -= 3) < 0) break\n\t bytes.push(\n\t codePoint >> 0xC | 0xE0,\n\t codePoint >> 0x6 & 0x3F | 0x80,\n\t codePoint & 0x3F | 0x80\n\t )\n\t } else if (codePoint < 0x110000) {\n\t if ((units -= 4) < 0) break\n\t bytes.push(\n\t codePoint >> 0x12 | 0xF0,\n\t codePoint >> 0xC & 0x3F | 0x80,\n\t codePoint >> 0x6 & 0x3F | 0x80,\n\t codePoint & 0x3F | 0x80\n\t )\n\t } else {\n\t throw new Error('Invalid code point')\n\t }\n\t }\n\t\n\t return bytes\n\t}\n\t\n\tfunction asciiToBytes (str) {\n\t var byteArray = []\n\t for (var i = 0; i < str.length; ++i) {\n\t // Node's code seems to be doing this and not & 0x7F..\n\t byteArray.push(str.charCodeAt(i) & 0xFF)\n\t }\n\t return byteArray\n\t}\n\t\n\tfunction utf16leToBytes (str, units) {\n\t var c, hi, lo\n\t var byteArray = []\n\t for (var i = 0; i < str.length; ++i) {\n\t if ((units -= 2) < 0) break\n\t\n\t c = str.charCodeAt(i)\n\t hi = c >> 8\n\t lo = c % 256\n\t byteArray.push(lo)\n\t byteArray.push(hi)\n\t }\n\t\n\t return byteArray\n\t}\n\t\n\tfunction base64ToBytes (str) {\n\t return base64.toByteArray(base64clean(str))\n\t}\n\t\n\tfunction blitBuffer (src, dst, offset, length) {\n\t for (var i = 0; i < length; ++i) {\n\t if ((i + offset >= dst.length) || (i >= src.length)) break\n\t dst[i + offset] = src[i]\n\t }\n\t return i\n\t}\n\t\n\tfunction isnan (val) {\n\t return val !== val // eslint-disable-line no-self-compare\n\t}\n\t\n\t/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(108).Buffer, (function() { return this; }())))\n\n/***/ },\n/* 109 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\tvar contains = __webpack_require__(400),\n\t getWindow = __webpack_require__(59),\n\t ownerDocument = __webpack_require__(168);\n\t\n\tmodule.exports = function offset(node) {\n\t var doc = ownerDocument(node),\n\t win = getWindow(doc),\n\t docElem = doc && doc.documentElement,\n\t box = { top: 0, left: 0, height: 0, width: 0 };\n\t\n\t if (!doc) return;\n\t\n\t // Make sure it's not a disconnected DOM node\n\t if (!contains(docElem, node)) return box;\n\t\n\t if (node.getBoundingClientRect !== undefined) box = node.getBoundingClientRect();\n\t\n\t if (box.width || box.height) {\n\t\n\t box = {\n\t top: box.top + (win.pageYOffset || docElem.scrollTop) - (docElem.clientTop || 0),\n\t left: box.left + (win.pageXOffset || docElem.scrollLeft) - (docElem.clientLeft || 0),\n\t width: (box.width == null ? node.offsetWidth : box.width) || 0,\n\t height: (box.height == null ? node.offsetHeight : box.height) || 0\n\t };\n\t }\n\t\n\t return box;\n\t};\n\n/***/ },\n/* 110 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\r\n\t * Copyright 2014-2015, Facebook, Inc.\r\n\t * All rights reserved.\r\n\t * https://github.com/facebook/react/blob/2aeb8a2a6beb00617a4217f7f8284924fa2ad819/src/vendor/core/camelizeStyleName.js\r\n\t */\n\t\n\t'use strict';\n\tvar camelize = __webpack_require__(406);\n\tvar msPattern = /^-ms-/;\n\t\n\tmodule.exports = function camelizeStyleName(string) {\n\t return camelize(string.replace(msPattern, 'ms-'));\n\t};\n\n/***/ },\n/* 111 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Copyright (c) 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @typechecks\n\t * \n\t */\n\t\n\t/*eslint-disable no-self-compare */\n\t\n\t'use strict';\n\t\n\tvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\t\n\t/**\n\t * inlined Object.is polyfill to avoid requiring consumers ship their own\n\t * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\n\t */\n\tfunction is(x, y) {\n\t // SameValue algorithm\n\t if (x === y) {\n\t // Steps 1-5, 7-10\n\t // Steps 6.b-6.e: +0 != -0\n\t // Added the nonzero y check to make Flow happy, but it is redundant\n\t return x !== 0 || y !== 0 || 1 / x === 1 / y;\n\t } else {\n\t // Step 6.a: NaN == NaN\n\t return x !== x && y !== y;\n\t }\n\t}\n\t\n\t/**\n\t * Performs equality by iterating through keys on an object and returning false\n\t * when any key has values which are not strictly equal between the arguments.\n\t * Returns true when the values of all keys are strictly equal.\n\t */\n\tfunction shallowEqual(objA, objB) {\n\t if (is(objA, objB)) {\n\t return true;\n\t }\n\t\n\t if (typeof objA !== 'object' || objA === null || typeof objB !== 'object' || objB === null) {\n\t return false;\n\t }\n\t\n\t var keysA = Object.keys(objA);\n\t var keysB = Object.keys(objB);\n\t\n\t if (keysA.length !== keysB.length) {\n\t return false;\n\t }\n\t\n\t // Test for A's keys different from B.\n\t for (var i = 0; i < keysA.length; i++) {\n\t if (!hasOwnProperty.call(objB, keysA[i]) || !is(objA[keysA[i]], objB[keysA[i]])) {\n\t return false;\n\t }\n\t }\n\t\n\t return true;\n\t}\n\t\n\tmodule.exports = shallowEqual;\n\n/***/ },\n/* 112 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\texports.go = exports.replaceLocation = exports.pushLocation = exports.startListener = exports.getUserConfirmation = exports.getCurrentLocation = undefined;\n\t\n\tvar _LocationUtils = __webpack_require__(48);\n\t\n\tvar _DOMUtils = __webpack_require__(85);\n\t\n\tvar _DOMStateStorage = __webpack_require__(175);\n\t\n\tvar _PathUtils = __webpack_require__(35);\n\t\n\tvar _ExecutionEnvironment = __webpack_require__(113);\n\t\n\tvar PopStateEvent = 'popstate';\n\tvar HashChangeEvent = 'hashchange';\n\t\n\tvar needsHashchangeListener = _ExecutionEnvironment.canUseDOM && !(0, _DOMUtils.supportsPopstateOnHashchange)();\n\t\n\tvar _createLocation = function _createLocation(historyState) {\n\t var key = historyState && historyState.key;\n\t\n\t return (0, _LocationUtils.createLocation)({\n\t pathname: window.location.pathname,\n\t search: window.location.search,\n\t hash: window.location.hash,\n\t state: key ? (0, _DOMStateStorage.readState)(key) : undefined\n\t }, undefined, key);\n\t};\n\t\n\tvar getCurrentLocation = exports.getCurrentLocation = function getCurrentLocation() {\n\t var historyState = void 0;\n\t try {\n\t historyState = window.history.state || {};\n\t } catch (error) {\n\t // IE 11 sometimes throws when accessing window.history.state\n\t // See https://github.com/ReactTraining/history/pull/289\n\t historyState = {};\n\t }\n\t\n\t return _createLocation(historyState);\n\t};\n\t\n\tvar getUserConfirmation = exports.getUserConfirmation = function getUserConfirmation(message, callback) {\n\t return callback(window.confirm(message));\n\t}; // eslint-disable-line no-alert\n\t\n\tvar startListener = exports.startListener = function startListener(listener) {\n\t var handlePopState = function handlePopState(event) {\n\t if (event.state !== undefined) // Ignore extraneous popstate events in WebKit\n\t listener(_createLocation(event.state));\n\t };\n\t\n\t (0, _DOMUtils.addEventListener)(window, PopStateEvent, handlePopState);\n\t\n\t var handleUnpoppedHashChange = function handleUnpoppedHashChange() {\n\t return listener(getCurrentLocation());\n\t };\n\t\n\t if (needsHashchangeListener) {\n\t (0, _DOMUtils.addEventListener)(window, HashChangeEvent, handleUnpoppedHashChange);\n\t }\n\t\n\t return function () {\n\t (0, _DOMUtils.removeEventListener)(window, PopStateEvent, handlePopState);\n\t\n\t if (needsHashchangeListener) {\n\t (0, _DOMUtils.removeEventListener)(window, HashChangeEvent, handleUnpoppedHashChange);\n\t }\n\t };\n\t};\n\t\n\tvar updateLocation = function updateLocation(location, updateState) {\n\t var state = location.state;\n\t var key = location.key;\n\t\n\t\n\t if (state !== undefined) (0, _DOMStateStorage.saveState)(key, state);\n\t\n\t updateState({ key: key }, (0, _PathUtils.createPath)(location));\n\t};\n\t\n\tvar pushLocation = exports.pushLocation = function pushLocation(location) {\n\t return updateLocation(location, function (state, path) {\n\t return window.history.pushState(state, null, path);\n\t });\n\t};\n\t\n\tvar replaceLocation = exports.replaceLocation = function replaceLocation(location) {\n\t return updateLocation(location, function (state, path) {\n\t return window.history.replaceState(state, null, path);\n\t });\n\t};\n\t\n\tvar go = exports.go = function go(n) {\n\t if (n) window.history.go(n);\n\t};\n\n/***/ },\n/* 113 */\n/***/ function(module, exports) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\tvar canUseDOM = exports.canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\n\n/***/ },\n/* 114 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\t\n\tvar _AsyncUtils = __webpack_require__(427);\n\t\n\tvar _PathUtils = __webpack_require__(35);\n\t\n\tvar _runTransitionHook = __webpack_require__(115);\n\t\n\tvar _runTransitionHook2 = _interopRequireDefault(_runTransitionHook);\n\t\n\tvar _Actions = __webpack_require__(84);\n\t\n\tvar _LocationUtils = __webpack_require__(48);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tvar createHistory = function createHistory() {\n\t var options = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];\n\t var getCurrentLocation = options.getCurrentLocation;\n\t var getUserConfirmation = options.getUserConfirmation;\n\t var pushLocation = options.pushLocation;\n\t var replaceLocation = options.replaceLocation;\n\t var go = options.go;\n\t var keyLength = options.keyLength;\n\t\n\t\n\t var currentLocation = void 0;\n\t var pendingLocation = void 0;\n\t var beforeListeners = [];\n\t var listeners = [];\n\t var allKeys = [];\n\t\n\t var getCurrentIndex = function getCurrentIndex() {\n\t if (pendingLocation && pendingLocation.action === _Actions.POP) return allKeys.indexOf(pendingLocation.key);\n\t\n\t if (currentLocation) return allKeys.indexOf(currentLocation.key);\n\t\n\t return -1;\n\t };\n\t\n\t var updateLocation = function updateLocation(nextLocation) {\n\t var currentIndex = getCurrentIndex();\n\t\n\t currentLocation = nextLocation;\n\t\n\t if (currentLocation.action === _Actions.PUSH) {\n\t allKeys = [].concat(allKeys.slice(0, currentIndex + 1), [currentLocation.key]);\n\t } else if (currentLocation.action === _Actions.REPLACE) {\n\t allKeys[currentIndex] = currentLocation.key;\n\t }\n\t\n\t listeners.forEach(function (listener) {\n\t return listener(currentLocation);\n\t });\n\t };\n\t\n\t var listenBefore = function listenBefore(listener) {\n\t beforeListeners.push(listener);\n\t\n\t return function () {\n\t return beforeListeners = beforeListeners.filter(function (item) {\n\t return item !== listener;\n\t });\n\t };\n\t };\n\t\n\t var listen = function listen(listener) {\n\t listeners.push(listener);\n\t\n\t return function () {\n\t return listeners = listeners.filter(function (item) {\n\t return item !== listener;\n\t });\n\t };\n\t };\n\t\n\t var confirmTransitionTo = function confirmTransitionTo(location, callback) {\n\t (0, _AsyncUtils.loopAsync)(beforeListeners.length, function (index, next, done) {\n\t (0, _runTransitionHook2.default)(beforeListeners[index], location, function (result) {\n\t return result != null ? done(result) : next();\n\t });\n\t }, function (message) {\n\t if (getUserConfirmation && typeof message === 'string') {\n\t getUserConfirmation(message, function (ok) {\n\t return callback(ok !== false);\n\t });\n\t } else {\n\t callback(message !== false);\n\t }\n\t });\n\t };\n\t\n\t var transitionTo = function transitionTo(nextLocation) {\n\t if (currentLocation && (0, _LocationUtils.locationsAreEqual)(currentLocation, nextLocation) || pendingLocation && (0, _LocationUtils.locationsAreEqual)(pendingLocation, nextLocation)) return; // Nothing to do\n\t\n\t pendingLocation = nextLocation;\n\t\n\t confirmTransitionTo(nextLocation, function (ok) {\n\t if (pendingLocation !== nextLocation) return; // Transition was interrupted during confirmation\n\t\n\t pendingLocation = null;\n\t\n\t if (ok) {\n\t // Treat PUSH to same path like REPLACE to be consistent with browsers\n\t if (nextLocation.action === _Actions.PUSH) {\n\t var prevPath = (0, _PathUtils.createPath)(currentLocation);\n\t var nextPath = (0, _PathUtils.createPath)(nextLocation);\n\t\n\t if (nextPath === prevPath && (0, _LocationUtils.statesAreEqual)(currentLocation.state, nextLocation.state)) nextLocation.action = _Actions.REPLACE;\n\t }\n\t\n\t if (nextLocation.action === _Actions.POP) {\n\t updateLocation(nextLocation);\n\t } else if (nextLocation.action === _Actions.PUSH) {\n\t if (pushLocation(nextLocation) !== false) updateLocation(nextLocation);\n\t } else if (nextLocation.action === _Actions.REPLACE) {\n\t if (replaceLocation(nextLocation) !== false) updateLocation(nextLocation);\n\t }\n\t } else if (currentLocation && nextLocation.action === _Actions.POP) {\n\t var prevIndex = allKeys.indexOf(currentLocation.key);\n\t var nextIndex = allKeys.indexOf(nextLocation.key);\n\t\n\t if (prevIndex !== -1 && nextIndex !== -1) go(prevIndex - nextIndex); // Restore the URL\n\t }\n\t });\n\t };\n\t\n\t var push = function push(input) {\n\t return transitionTo(createLocation(input, _Actions.PUSH));\n\t };\n\t\n\t var replace = function replace(input) {\n\t return transitionTo(createLocation(input, _Actions.REPLACE));\n\t };\n\t\n\t var goBack = function goBack() {\n\t return go(-1);\n\t };\n\t\n\t var goForward = function goForward() {\n\t return go(1);\n\t };\n\t\n\t var createKey = function createKey() {\n\t return Math.random().toString(36).substr(2, keyLength || 6);\n\t };\n\t\n\t var createHref = function createHref(location) {\n\t return (0, _PathUtils.createPath)(location);\n\t };\n\t\n\t var createLocation = function createLocation(location, action) {\n\t var key = arguments.length <= 2 || arguments[2] === undefined ? createKey() : arguments[2];\n\t return (0, _LocationUtils.createLocation)(location, action, key);\n\t };\n\t\n\t return {\n\t getCurrentLocation: getCurrentLocation,\n\t listenBefore: listenBefore,\n\t listen: listen,\n\t transitionTo: transitionTo,\n\t push: push,\n\t replace: replace,\n\t go: go,\n\t goBack: goBack,\n\t goForward: goForward,\n\t createKey: createKey,\n\t createPath: _PathUtils.createPath,\n\t createHref: createHref,\n\t createLocation: createLocation\n\t };\n\t};\n\t\n\texports.default = createHistory;\n\n/***/ },\n/* 115 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\t\n\tvar _warning = __webpack_require__(41);\n\t\n\tvar _warning2 = _interopRequireDefault(_warning);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tvar runTransitionHook = function runTransitionHook(hook, location, callback) {\n\t var result = hook(location, callback);\n\t\n\t if (hook.length < 2) {\n\t // Assume the hook runs synchronously and automatically\n\t // call the callback with the return value.\n\t callback(result);\n\t } else {\n\t false ? (0, _warning2.default)(result === undefined, 'You should not \"return\" in a transition hook with a callback argument; ' + 'call the callback instead') : void 0;\n\t }\n\t};\n\t\n\texports.default = runTransitionHook;\n\n/***/ },\n/* 116 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// Standard YAML's Failsafe schema.\n\t// http://www.yaml.org/spec/1.2/spec.html#id2802346\n\t\n\t\n\t'use strict';\n\t\n\t\n\tvar Schema = __webpack_require__(50);\n\t\n\t\n\tmodule.exports = new Schema({\n\t explicit: [\n\t __webpack_require__(455),\n\t __webpack_require__(453),\n\t __webpack_require__(448)\n\t ]\n\t});\n\n\n/***/ },\n/* 117 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar getNative = __webpack_require__(42),\n\t root = __webpack_require__(27);\n\t\n\t/* Built-in method references that are verified to be native. */\n\tvar Map = getNative(root, 'Map');\n\t\n\tmodule.exports = Map;\n\n\n/***/ },\n/* 118 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar root = __webpack_require__(27);\n\t\n\t/** Built-in value references. */\n\tvar Symbol = root.Symbol;\n\t\n\tmodule.exports = Symbol;\n\n\n/***/ },\n/* 119 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar Uint8Array = __webpack_require__(464);\n\t\n\t/**\n\t * Creates a clone of `arrayBuffer`.\n\t *\n\t * @private\n\t * @param {ArrayBuffer} arrayBuffer The array buffer to clone.\n\t * @returns {ArrayBuffer} Returns the cloned array buffer.\n\t */\n\tfunction cloneArrayBuffer(arrayBuffer) {\n\t var result = new arrayBuffer.constructor(arrayBuffer.byteLength);\n\t new Uint8Array(result).set(new Uint8Array(arrayBuffer));\n\t return result;\n\t}\n\t\n\tmodule.exports = cloneArrayBuffer;\n\n\n/***/ },\n/* 120 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar overArg = __webpack_require__(189);\n\t\n\t/** Built-in value references. */\n\tvar getPrototype = overArg(Object.getPrototypeOf, Object);\n\t\n\tmodule.exports = getPrototype;\n\n\n/***/ },\n/* 121 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar arrayFilter = __webpack_require__(469),\n\t stubArray = __webpack_require__(197);\n\t\n\t/** Used for built-in method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Built-in value references. */\n\tvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\t\n\t/* Built-in method references for those with the same name as other `lodash` methods. */\n\tvar nativeGetSymbols = Object.getOwnPropertySymbols;\n\t\n\t/**\n\t * Creates an array of the own enumerable symbols of `object`.\n\t *\n\t * @private\n\t * @param {Object} object The object to query.\n\t * @returns {Array} Returns the array of symbols.\n\t */\n\tvar getSymbols = !nativeGetSymbols ? stubArray : function(object) {\n\t if (object == null) {\n\t return [];\n\t }\n\t object = Object(object);\n\t return arrayFilter(nativeGetSymbols(object), function(symbol) {\n\t return propertyIsEnumerable.call(object, symbol);\n\t });\n\t};\n\t\n\tmodule.exports = getSymbols;\n\n\n/***/ },\n/* 122 */\n/***/ function(module, exports) {\n\n\t/** Used for built-in method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/**\n\t * Checks if `value` is likely a prototype object.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n\t */\n\tfunction isPrototype(value) {\n\t var Ctor = value && value.constructor,\n\t proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\t\n\t return value === proto;\n\t}\n\t\n\tmodule.exports = isPrototype;\n\n\n/***/ },\n/* 123 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Checks if `value` is classified as an `Array` object.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 0.1.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n\t * @example\n\t *\n\t * _.isArray([1, 2, 3]);\n\t * // => true\n\t *\n\t * _.isArray(document.body.children);\n\t * // => false\n\t *\n\t * _.isArray('abc');\n\t * // => false\n\t *\n\t * _.isArray(_.noop);\n\t * // => false\n\t */\n\tvar isArray = Array.isArray;\n\t\n\tmodule.exports = isArray;\n\n\n/***/ },\n/* 124 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseGetTag = __webpack_require__(65),\n\t getPrototype = __webpack_require__(120),\n\t isObjectLike = __webpack_require__(92);\n\t\n\t/** `Object#toString` result references. */\n\tvar objectTag = '[object Object]';\n\t\n\t/** Used for built-in method references. */\n\tvar funcProto = Function.prototype,\n\t objectProto = Object.prototype;\n\t\n\t/** Used to resolve the decompiled source of functions. */\n\tvar funcToString = funcProto.toString;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/** Used to infer the `Object` constructor. */\n\tvar objectCtorString = funcToString.call(Object);\n\t\n\t/**\n\t * Checks if `value` is a plain object, that is, an object created by the\n\t * `Object` constructor or one with a `[[Prototype]]` of `null`.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 0.8.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.\n\t * @example\n\t *\n\t * function Foo() {\n\t * this.a = 1;\n\t * }\n\t *\n\t * _.isPlainObject(new Foo);\n\t * // => false\n\t *\n\t * _.isPlainObject([1, 2, 3]);\n\t * // => false\n\t *\n\t * _.isPlainObject({ 'x': 0, 'y': 0 });\n\t * // => true\n\t *\n\t * _.isPlainObject(Object.create(null));\n\t * // => true\n\t */\n\tfunction isPlainObject(value) {\n\t if (!isObjectLike(value) || baseGetTag(value) != objectTag) {\n\t return false;\n\t }\n\t var proto = getPrototype(value);\n\t if (proto === null) {\n\t return true;\n\t }\n\t var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\n\t return typeof Ctor == 'function' && Ctor instanceof Ctor &&\n\t funcToString.call(Ctor) == objectCtorString;\n\t}\n\t\n\tmodule.exports = isPlainObject;\n\n\n/***/ },\n/* 125 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar arrayLikeKeys = __webpack_require__(181),\n\t baseKeys = __webpack_require__(477),\n\t isArrayLike = __webpack_require__(192);\n\t\n\t/**\n\t * Creates an array of the own enumerable property names of `object`.\n\t *\n\t * **Note:** Non-object values are coerced to objects. See the\n\t * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n\t * for more details.\n\t *\n\t * @static\n\t * @since 0.1.0\n\t * @memberOf _\n\t * @category Object\n\t * @param {Object} object The object to query.\n\t * @returns {Array} Returns the array of property names.\n\t * @example\n\t *\n\t * function Foo() {\n\t * this.a = 1;\n\t * this.b = 2;\n\t * }\n\t *\n\t * Foo.prototype.c = 3;\n\t *\n\t * _.keys(new Foo);\n\t * // => ['a', 'b'] (iteration order is not guaranteed)\n\t *\n\t * _.keys('hi');\n\t * // => ['0', '1']\n\t */\n\tfunction keys(object) {\n\t return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n\t}\n\t\n\tmodule.exports = keys;\n\n\n/***/ },\n/* 126 */\n/***/ function(module, exports) {\n\n\t// shim for using process in browser\n\tvar process = module.exports = {};\n\t\n\t// cached from whatever global is present so that test runners that stub it\n\t// don't break things. But we need to wrap it in a try catch in case it is\n\t// wrapped in strict mode code which doesn't define any globals. It's inside a\n\t// function because try/catches deoptimize in certain engines.\n\t\n\tvar cachedSetTimeout;\n\tvar cachedClearTimeout;\n\t\n\tfunction defaultSetTimout() {\n\t throw new Error('setTimeout has not been defined');\n\t}\n\tfunction defaultClearTimeout () {\n\t throw new Error('clearTimeout has not been defined');\n\t}\n\t(function () {\n\t try {\n\t if (typeof setTimeout === 'function') {\n\t cachedSetTimeout = setTimeout;\n\t } else {\n\t cachedSetTimeout = defaultSetTimout;\n\t }\n\t } catch (e) {\n\t cachedSetTimeout = defaultSetTimout;\n\t }\n\t try {\n\t if (typeof clearTimeout === 'function') {\n\t cachedClearTimeout = clearTimeout;\n\t } else {\n\t cachedClearTimeout = defaultClearTimeout;\n\t }\n\t } catch (e) {\n\t cachedClearTimeout = defaultClearTimeout;\n\t }\n\t} ())\n\tfunction runTimeout(fun) {\n\t if (cachedSetTimeout === setTimeout) {\n\t //normal enviroments in sane situations\n\t return setTimeout(fun, 0);\n\t }\n\t // if setTimeout wasn't available but was latter defined\n\t if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n\t cachedSetTimeout = setTimeout;\n\t return setTimeout(fun, 0);\n\t }\n\t try {\n\t // when when somebody has screwed with setTimeout but no I.E. maddness\n\t return cachedSetTimeout(fun, 0);\n\t } catch(e){\n\t try {\n\t // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n\t return cachedSetTimeout.call(null, fun, 0);\n\t } catch(e){\n\t // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n\t return cachedSetTimeout.call(this, fun, 0);\n\t }\n\t }\n\t\n\t\n\t}\n\tfunction runClearTimeout(marker) {\n\t if (cachedClearTimeout === clearTimeout) {\n\t //normal enviroments in sane situations\n\t return clearTimeout(marker);\n\t }\n\t // if clearTimeout wasn't available but was latter defined\n\t if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n\t cachedClearTimeout = clearTimeout;\n\t return clearTimeout(marker);\n\t }\n\t try {\n\t // when when somebody has screwed with setTimeout but no I.E. maddness\n\t return cachedClearTimeout(marker);\n\t } catch (e){\n\t try {\n\t // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n\t return cachedClearTimeout.call(null, marker);\n\t } catch (e){\n\t // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n\t // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n\t return cachedClearTimeout.call(this, marker);\n\t }\n\t }\n\t\n\t\n\t\n\t}\n\tvar queue = [];\n\tvar draining = false;\n\tvar currentQueue;\n\tvar queueIndex = -1;\n\t\n\tfunction cleanUpNextTick() {\n\t if (!draining || !currentQueue) {\n\t return;\n\t }\n\t draining = false;\n\t if (currentQueue.length) {\n\t queue = currentQueue.concat(queue);\n\t } else {\n\t queueIndex = -1;\n\t }\n\t if (queue.length) {\n\t drainQueue();\n\t }\n\t}\n\t\n\tfunction drainQueue() {\n\t if (draining) {\n\t return;\n\t }\n\t var timeout = runTimeout(cleanUpNextTick);\n\t draining = true;\n\t\n\t var len = queue.length;\n\t while(len) {\n\t currentQueue = queue;\n\t queue = [];\n\t while (++queueIndex < len) {\n\t if (currentQueue) {\n\t currentQueue[queueIndex].run();\n\t }\n\t }\n\t queueIndex = -1;\n\t len = queue.length;\n\t }\n\t currentQueue = null;\n\t draining = false;\n\t runClearTimeout(timeout);\n\t}\n\t\n\tprocess.nextTick = function (fun) {\n\t var args = new Array(arguments.length - 1);\n\t if (arguments.length > 1) {\n\t for (var i = 1; i < arguments.length; i++) {\n\t args[i - 1] = arguments[i];\n\t }\n\t }\n\t queue.push(new Item(fun, args));\n\t if (queue.length === 1 && !draining) {\n\t runTimeout(drainQueue);\n\t }\n\t};\n\t\n\t// v8 likes predictible objects\n\tfunction Item(fun, array) {\n\t this.fun = fun;\n\t this.array = array;\n\t}\n\tItem.prototype.run = function () {\n\t this.fun.apply(null, this.array);\n\t};\n\tprocess.title = 'browser';\n\tprocess.browser = true;\n\tprocess.env = {};\n\tprocess.argv = [];\n\tprocess.version = ''; // empty string to avoid regexp issues\n\tprocess.versions = {};\n\t\n\tfunction noop() {}\n\t\n\tprocess.on = noop;\n\tprocess.addListener = noop;\n\tprocess.once = noop;\n\tprocess.off = noop;\n\tprocess.removeListener = noop;\n\tprocess.removeAllListeners = noop;\n\tprocess.emit = noop;\n\t\n\tprocess.binding = function (name) {\n\t throw new Error('process.binding is not supported');\n\t};\n\t\n\tprocess.cwd = function () { return '/' };\n\tprocess.chdir = function (dir) {\n\t throw new Error('process.chdir is not supported');\n\t};\n\tprocess.umask = function() { return 0; };\n\n\n/***/ },\n/* 127 */\n/***/ function(module, exports) {\n\n\tvar CONSTANTS = {\n\t\n\t // Positions\n\t positions: {\n\t tl: 'tl',\n\t tr: 'tr',\n\t tc: 'tc',\n\t bl: 'bl',\n\t br: 'br',\n\t bc: 'bc'\n\t },\n\t\n\t // Levels\n\t levels: {\n\t success: 'success',\n\t error: 'error',\n\t warning: 'warning',\n\t info: 'info'\n\t },\n\t\n\t // Notification defaults\n\t notification: {\n\t title: null,\n\t message: null,\n\t level: null,\n\t position: 'tr',\n\t autoDismiss: 5,\n\t dismissible: true,\n\t action: null\n\t }\n\t};\n\t\n\t\n\tmodule.exports = CONSTANTS;\n\n\n/***/ },\n/* 128 */\n/***/ function(module, exports) {\n\n\t\"use strict\";\n\t\n\texports.__esModule = true;\n\texports.loopAsync = loopAsync;\n\texports.mapAsync = mapAsync;\n\tfunction loopAsync(turns, work, callback) {\n\t var currentTurn = 0,\n\t isDone = false;\n\t var sync = false,\n\t hasNext = false,\n\t doneArgs = void 0;\n\t\n\t function done() {\n\t isDone = true;\n\t if (sync) {\n\t // Iterate instead of recursing if possible.\n\t doneArgs = [].concat(Array.prototype.slice.call(arguments));\n\t return;\n\t }\n\t\n\t callback.apply(this, arguments);\n\t }\n\t\n\t function next() {\n\t if (isDone) {\n\t return;\n\t }\n\t\n\t hasNext = true;\n\t if (sync) {\n\t // Iterate instead of recursing if possible.\n\t return;\n\t }\n\t\n\t sync = true;\n\t\n\t while (!isDone && currentTurn < turns && hasNext) {\n\t hasNext = false;\n\t work.call(this, currentTurn++, next, done);\n\t }\n\t\n\t sync = false;\n\t\n\t if (isDone) {\n\t // This means the loop finished synchronously.\n\t callback.apply(this, doneArgs);\n\t return;\n\t }\n\t\n\t if (currentTurn >= turns && hasNext) {\n\t isDone = true;\n\t callback();\n\t }\n\t }\n\t\n\t next();\n\t}\n\t\n\tfunction mapAsync(array, work, callback) {\n\t var length = array.length;\n\t var values = [];\n\t\n\t if (length === 0) return callback(null, values);\n\t\n\t var isDone = false,\n\t doneCount = 0;\n\t\n\t function done(index, error, value) {\n\t if (isDone) return;\n\t\n\t if (error) {\n\t isDone = true;\n\t callback(error);\n\t } else {\n\t values[index] = value;\n\t\n\t isDone = ++doneCount === length;\n\t\n\t if (isDone) callback(null, values);\n\t }\n\t }\n\t\n\t array.forEach(function (item, index) {\n\t work(item, index, function (error, value) {\n\t done(index, error, value);\n\t });\n\t });\n\t}\n\n/***/ },\n/* 129 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\texports.ContextProvider = ContextProvider;\n\texports.ContextSubscriber = ContextSubscriber;\n\t\n\tvar _react = __webpack_require__(2);\n\t\n\t// Works around issues with context updates failing to propagate.\n\t// Caveat: the context value is expected to never change its identity.\n\t// https://github.com/facebook/react/issues/2517\n\t// https://github.com/reactjs/react-router/issues/470\n\t\n\tvar contextProviderShape = _react.PropTypes.shape({\n\t subscribe: _react.PropTypes.func.isRequired,\n\t eventIndex: _react.PropTypes.number.isRequired\n\t});\n\t\n\tfunction makeContextName(name) {\n\t return '@@contextSubscriber/' + name;\n\t}\n\t\n\tfunction ContextProvider(name) {\n\t var _childContextTypes, _ref2;\n\t\n\t var contextName = makeContextName(name);\n\t var listenersKey = contextName + '/listeners';\n\t var eventIndexKey = contextName + '/eventIndex';\n\t var subscribeKey = contextName + '/subscribe';\n\t\n\t return _ref2 = {\n\t childContextTypes: (_childContextTypes = {}, _childContextTypes[contextName] = contextProviderShape.isRequired, _childContextTypes),\n\t\n\t getChildContext: function getChildContext() {\n\t var _ref;\n\t\n\t return _ref = {}, _ref[contextName] = {\n\t eventIndex: this[eventIndexKey],\n\t subscribe: this[subscribeKey]\n\t }, _ref;\n\t },\n\t componentWillMount: function componentWillMount() {\n\t this[listenersKey] = [];\n\t this[eventIndexKey] = 0;\n\t },\n\t componentWillReceiveProps: function componentWillReceiveProps() {\n\t this[eventIndexKey]++;\n\t },\n\t componentDidUpdate: function componentDidUpdate() {\n\t var _this = this;\n\t\n\t this[listenersKey].forEach(function (listener) {\n\t return listener(_this[eventIndexKey]);\n\t });\n\t }\n\t }, _ref2[subscribeKey] = function (listener) {\n\t var _this2 = this;\n\t\n\t // No need to immediately call listener here.\n\t this[listenersKey].push(listener);\n\t\n\t return function () {\n\t _this2[listenersKey] = _this2[listenersKey].filter(function (item) {\n\t return item !== listener;\n\t });\n\t };\n\t }, _ref2;\n\t}\n\t\n\tfunction ContextSubscriber(name) {\n\t var _contextTypes, _ref4;\n\t\n\t var contextName = makeContextName(name);\n\t var lastRenderedEventIndexKey = contextName + '/lastRenderedEventIndex';\n\t var handleContextUpdateKey = contextName + '/handleContextUpdate';\n\t var unsubscribeKey = contextName + '/unsubscribe';\n\t\n\t return _ref4 = {\n\t contextTypes: (_contextTypes = {}, _contextTypes[contextName] = contextProviderShape, _contextTypes),\n\t\n\t getInitialState: function getInitialState() {\n\t var _ref3;\n\t\n\t if (!this.context[contextName]) {\n\t return {};\n\t }\n\t\n\t return _ref3 = {}, _ref3[lastRenderedEventIndexKey] = this.context[contextName].eventIndex, _ref3;\n\t },\n\t componentDidMount: function componentDidMount() {\n\t if (!this.context[contextName]) {\n\t return;\n\t }\n\t\n\t this[unsubscribeKey] = this.context[contextName].subscribe(this[handleContextUpdateKey]);\n\t },\n\t componentWillReceiveProps: function componentWillReceiveProps() {\n\t var _setState;\n\t\n\t if (!this.context[contextName]) {\n\t return;\n\t }\n\t\n\t this.setState((_setState = {}, _setState[lastRenderedEventIndexKey] = this.context[contextName].eventIndex, _setState));\n\t },\n\t componentWillUnmount: function componentWillUnmount() {\n\t if (!this[unsubscribeKey]) {\n\t return;\n\t }\n\t\n\t this[unsubscribeKey]();\n\t this[unsubscribeKey] = null;\n\t }\n\t }, _ref4[handleContextUpdateKey] = function (eventIndex) {\n\t if (eventIndex !== this.state[lastRenderedEventIndexKey]) {\n\t var _setState2;\n\t\n\t this.setState((_setState2 = {}, _setState2[lastRenderedEventIndexKey] = eventIndex, _setState2));\n\t }\n\t }, _ref4;\n\t}\n\n/***/ },\n/* 130 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\texports.locationShape = exports.routerShape = undefined;\n\t\n\tvar _react = __webpack_require__(2);\n\t\n\tvar func = _react.PropTypes.func,\n\t object = _react.PropTypes.object,\n\t shape = _react.PropTypes.shape,\n\t string = _react.PropTypes.string;\n\tvar routerShape = exports.routerShape = shape({\n\t push: func.isRequired,\n\t replace: func.isRequired,\n\t go: func.isRequired,\n\t goBack: func.isRequired,\n\t goForward: func.isRequired,\n\t setRouteLeaveHook: func.isRequired,\n\t isActive: func.isRequired\n\t});\n\t\n\tvar locationShape = exports.locationShape = shape({\n\t pathname: string.isRequired,\n\t search: string.isRequired,\n\t state: object,\n\t action: string.isRequired,\n\t key: string\n\t});\n\n/***/ },\n/* 131 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\t\n\tvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\t\n\tvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\t\n\tvar _invariant = __webpack_require__(10);\n\t\n\tvar _invariant2 = _interopRequireDefault(_invariant);\n\t\n\tvar _react = __webpack_require__(2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _getRouteParams = __webpack_require__(561);\n\t\n\tvar _getRouteParams2 = _interopRequireDefault(_getRouteParams);\n\t\n\tvar _ContextUtils = __webpack_require__(129);\n\t\n\tvar _RouteUtils = __webpack_require__(36);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tvar _React$PropTypes = _react2.default.PropTypes,\n\t array = _React$PropTypes.array,\n\t func = _React$PropTypes.func,\n\t object = _React$PropTypes.object;\n\t\n\t/**\n\t * A renders the component tree for a given router state\n\t * and sets the history object and the current location in context.\n\t */\n\t\n\tvar RouterContext = _react2.default.createClass({\n\t displayName: 'RouterContext',\n\t\n\t\n\t mixins: [(0, _ContextUtils.ContextProvider)('router')],\n\t\n\t propTypes: {\n\t router: object.isRequired,\n\t location: object.isRequired,\n\t routes: array.isRequired,\n\t params: object.isRequired,\n\t components: array.isRequired,\n\t createElement: func.isRequired\n\t },\n\t\n\t getDefaultProps: function getDefaultProps() {\n\t return {\n\t createElement: _react2.default.createElement\n\t };\n\t },\n\t\n\t\n\t childContextTypes: {\n\t router: object.isRequired\n\t },\n\t\n\t getChildContext: function getChildContext() {\n\t return {\n\t router: this.props.router\n\t };\n\t },\n\t createElement: function createElement(component, props) {\n\t return component == null ? null : this.props.createElement(component, props);\n\t },\n\t render: function render() {\n\t var _this = this;\n\t\n\t var _props = this.props,\n\t location = _props.location,\n\t routes = _props.routes,\n\t params = _props.params,\n\t components = _props.components,\n\t router = _props.router;\n\t\n\t var element = null;\n\t\n\t if (components) {\n\t element = components.reduceRight(function (element, components, index) {\n\t if (components == null) return element; // Don't create new children; use the grandchildren.\n\t\n\t var route = routes[index];\n\t var routeParams = (0, _getRouteParams2.default)(route, params);\n\t var props = {\n\t location: location,\n\t params: params,\n\t route: route,\n\t router: router,\n\t routeParams: routeParams,\n\t routes: routes\n\t };\n\t\n\t if ((0, _RouteUtils.isReactChildren)(element)) {\n\t props.children = element;\n\t } else if (element) {\n\t for (var prop in element) {\n\t if (Object.prototype.hasOwnProperty.call(element, prop)) props[prop] = element[prop];\n\t }\n\t }\n\t\n\t if ((typeof components === 'undefined' ? 'undefined' : _typeof(components)) === 'object') {\n\t var elements = {};\n\t\n\t for (var key in components) {\n\t if (Object.prototype.hasOwnProperty.call(components, key)) {\n\t // Pass through the key as a prop to createElement to allow\n\t // custom createElement functions to know which named component\n\t // they're rendering, for e.g. matching up to fetched data.\n\t elements[key] = _this.createElement(components[key], _extends({\n\t key: key }, props));\n\t }\n\t }\n\t\n\t return elements;\n\t }\n\t\n\t return _this.createElement(components, props);\n\t }, element);\n\t }\n\t\n\t !(element === null || element === false || _react2.default.isValidElement(element)) ? false ? (0, _invariant2.default)(false, 'The root route must render a single element') : (0, _invariant2.default)(false) : void 0;\n\t\n\t return element;\n\t }\n\t});\n\t\n\texports.default = RouterContext;\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 132 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\t\n\tvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\t\n\tvar _react = __webpack_require__(2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _classnames = __webpack_require__(26);\n\t\n\tvar _classnames2 = _interopRequireDefault(_classnames);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\tvar Button = function (_React$Component) {\n\t _inherits(Button, _React$Component);\n\t\n\t function Button() {\n\t _classCallCheck(this, Button);\n\t\n\t return _possibleConstructorReturn(this, _React$Component.apply(this, arguments));\n\t }\n\t\n\t Button.prototype.render = function render() {\n\t var _props = this.props,\n\t className = _props.className,\n\t disabled = _props.disabled,\n\t label = _props.label,\n\t icon = _props.icon,\n\t busy = _props.busy,\n\t active = _props.active,\n\t children = _props.children,\n\t _props$component = _props.component,\n\t Tag = _props$component === undefined ? 'button' : _props$component,\n\t props = _objectWithoutProperties(_props, ['className', 'disabled', 'label', 'icon', 'busy', 'active', 'children', 'component']);\n\t\n\t var type = props.type;\n\t\n\t if (Tag === 'button') type = type || 'button';\n\t\n\t return _react2.default.createElement(\n\t Tag,\n\t _extends({}, props, {\n\t tabIndex: '-1',\n\t title: label,\n\t type: type,\n\t disabled: disabled,\n\t 'aria-disabled': disabled,\n\t 'aria-label': label,\n\t className: (0, _classnames2.default)(className, 'rw-btn', active && !disabled && 'rw-state-active')\n\t }),\n\t icon && _react2.default.createElement('span', {\n\t 'aria-hidden': true,\n\t className: (0, _classnames2.default)('rw-i', 'rw-i-' + icon, busy && 'rw-loading')\n\t }),\n\t children\n\t );\n\t };\n\t\n\t return Button;\n\t}(_react2.default.Component);\n\t\n\texports.default = Button;\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 133 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar _require = __webpack_require__(12),\n\t has = _require.has;\n\t\n\tmodule.exports = {\n\t componentWillUnmount: function componentWillUnmount() {\n\t var timers = this._timers || {};\n\t\n\t this._unmounted = true;\n\t\n\t for (var k in timers) {\n\t if (has(timers, k)) this.clearTimeout(k);\n\t }\n\t },\n\t clearTimeout: function clearTimeout(key) {\n\t var timers = this._timers || {};\n\t window.clearTimeout(timers[key]);\n\t },\n\t setTimeout: function setTimeout(key, cb, duration) {\n\t var _this = this;\n\t\n\t var timers = this._timers || (this._timers = Object.create(null));\n\t\n\t if (this._unmounted) return;\n\t\n\t this.clearTimeout(key);\n\t timers[key] = window.setTimeout(function () {\n\t if (!_this._unmounted) cb();\n\t }, duration);\n\t }\n\t};\n\n/***/ },\n/* 134 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\t\n\tvar _animate = __webpack_require__(590);\n\t\n\tvar _animate2 = _interopRequireDefault(_animate);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\texports.default = { animate: _animate2.default };\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 135 */\n/***/ function(module, exports) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\t\n\tvar _calendarViewHierarch, _calendarViewUnits;\n\t\n\tvar views = {\n\t MONTH: 'month',\n\t YEAR: 'year',\n\t DECADE: 'decade',\n\t CENTURY: 'century'\n\t};\n\t\n\tvar directions = exports.directions = {\n\t LEFT: 'LEFT',\n\t RIGHT: 'RIGHT',\n\t UP: 'UP',\n\t DOWN: 'DOWN'\n\t};\n\t\n\tvar datePopups = exports.datePopups = {\n\t TIME: 'time',\n\t CALENDAR: 'calendar'\n\t};\n\t\n\tvar calendarViews = exports.calendarViews = views;\n\t\n\tvar calendarViewHierarchy = exports.calendarViewHierarchy = (_calendarViewHierarch = {}, _calendarViewHierarch[views.MONTH] = views.YEAR, _calendarViewHierarch[views.YEAR] = views.DECADE, _calendarViewHierarch[views.DECADE] = views.CENTURY, _calendarViewHierarch);\n\t\n\tvar calendarViewUnits = exports.calendarViewUnits = (_calendarViewUnits = {}, _calendarViewUnits[views.MONTH] = 'day', _calendarViewUnits[views.YEAR] = views.MONTH, _calendarViewUnits[views.DECADE] = views.YEAR, _calendarViewUnits[views.CENTURY] = views.DECADE, _calendarViewUnits);\n\n/***/ },\n/* 136 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\t\n\tvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\t\n\texports.dataValue = dataValue;\n\texports.dataText = dataText;\n\texports.dataIndexOf = dataIndexOf;\n\texports.valueMatcher = valueMatcher;\n\texports.dataItem = dataItem;\n\t\n\tvar _ = __webpack_require__(12);\n\t\n\tfunction accessor(data, field) {\n\t var value = data;\n\t\n\t if (typeof field === 'function') value = field(data);else if (data == null) value = data;else if (typeof field === 'string' && (typeof data === 'undefined' ? 'undefined' : _typeof(data)) === 'object' && field in data) value = data[field];\n\t\n\t return value;\n\t}\n\t\n\tfunction dataValue(item, valueField) {\n\t return valueField && item && (0, _.has)(item, valueField) ? item[valueField] : item;\n\t}\n\t\n\tfunction dataText(item, textField) {\n\t var value = accessor(item, textField);\n\t return value == null ? '' : value + '';\n\t}\n\t\n\tfunction dataIndexOf(data, item, valueField) {\n\t var idx = -1,\n\t len = data.length,\n\t isValueEqual = function isValueEqual(datum) {\n\t return valueMatcher(item, datum, valueField);\n\t };\n\t\n\t while (++idx < len) {\n\t var datum = data[idx];\n\t if (datum === item || isValueEqual(datum)) return idx;\n\t }\n\t\n\t return -1;\n\t}\n\t\n\t/**\n\t * I don't know that the shallow equal makes sense here but am too afraid to\n\t * remove it.\n\t */\n\tfunction valueMatcher(a, b, valueField) {\n\t return (0, _.isShallowEqual)(dataValue(a, valueField), dataValue(b, valueField));\n\t}\n\t\n\tfunction dataItem(data, item, valueField) {\n\t var idx = dataIndexOf(data, dataValue(item, valueField), valueField);\n\t\n\t if (idx !== -1) return data[idx];\n\t\n\t return item;\n\t}\n\n/***/ },\n/* 137 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Copyright 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @providesModule DOMChildrenOperations\n\t */\n\t\n\t'use strict';\n\t\n\tvar DOMLazyTree = __webpack_require__(53);\n\tvar Danger = __webpack_require__(595);\n\tvar ReactMultiChildUpdateTypes = __webpack_require__(336);\n\tvar ReactDOMComponentTree = __webpack_require__(9);\n\tvar ReactInstrumentation = __webpack_require__(25);\n\t\n\tvar createMicrosoftUnsafeLocalFunction = __webpack_require__(152);\n\tvar setInnerHTML = __webpack_require__(98);\n\tvar setTextContent = __webpack_require__(349);\n\t\n\tfunction getNodeAfter(parentNode, node) {\n\t // Special case for text components, which return [open, close] comments\n\t // from getHostNode.\n\t if (Array.isArray(node)) {\n\t node = node[1];\n\t }\n\t return node ? node.nextSibling : parentNode.firstChild;\n\t}\n\t\n\t/**\n\t * Inserts `childNode` as a child of `parentNode` at the `index`.\n\t *\n\t * @param {DOMElement} parentNode Parent node in which to insert.\n\t * @param {DOMElement} childNode Child node to insert.\n\t * @param {number} index Index at which to insert the child.\n\t * @internal\n\t */\n\tvar insertChildAt = createMicrosoftUnsafeLocalFunction(function (parentNode, childNode, referenceNode) {\n\t // We rely exclusively on `insertBefore(node, null)` instead of also using\n\t // `appendChild(node)`. (Using `undefined` is not allowed by all browsers so\n\t // we are careful to use `null`.)\n\t parentNode.insertBefore(childNode, referenceNode);\n\t});\n\t\n\tfunction insertLazyTreeChildAt(parentNode, childTree, referenceNode) {\n\t DOMLazyTree.insertTreeBefore(parentNode, childTree, referenceNode);\n\t}\n\t\n\tfunction moveChild(parentNode, childNode, referenceNode) {\n\t if (Array.isArray(childNode)) {\n\t moveDelimitedText(parentNode, childNode[0], childNode[1], referenceNode);\n\t } else {\n\t insertChildAt(parentNode, childNode, referenceNode);\n\t }\n\t}\n\t\n\tfunction removeChild(parentNode, childNode) {\n\t if (Array.isArray(childNode)) {\n\t var closingComment = childNode[1];\n\t childNode = childNode[0];\n\t removeDelimitedText(parentNode, childNode, closingComment);\n\t parentNode.removeChild(closingComment);\n\t }\n\t parentNode.removeChild(childNode);\n\t}\n\t\n\tfunction moveDelimitedText(parentNode, openingComment, closingComment, referenceNode) {\n\t var node = openingComment;\n\t while (true) {\n\t var nextNode = node.nextSibling;\n\t insertChildAt(parentNode, node, referenceNode);\n\t if (node === closingComment) {\n\t break;\n\t }\n\t node = nextNode;\n\t }\n\t}\n\t\n\tfunction removeDelimitedText(parentNode, startNode, closingComment) {\n\t while (true) {\n\t var node = startNode.nextSibling;\n\t if (node === closingComment) {\n\t // The closing comment is removed by ReactMultiChild.\n\t break;\n\t } else {\n\t parentNode.removeChild(node);\n\t }\n\t }\n\t}\n\t\n\tfunction replaceDelimitedText(openingComment, closingComment, stringText) {\n\t var parentNode = openingComment.parentNode;\n\t var nodeAfterComment = openingComment.nextSibling;\n\t if (nodeAfterComment === closingComment) {\n\t // There are no text nodes between the opening and closing comments; insert\n\t // a new one if stringText isn't empty.\n\t if (stringText) {\n\t insertChildAt(parentNode, document.createTextNode(stringText), nodeAfterComment);\n\t }\n\t } else {\n\t if (stringText) {\n\t // Set the text content of the first node after the opening comment, and\n\t // remove all following nodes up until the closing comment.\n\t setTextContent(nodeAfterComment, stringText);\n\t removeDelimitedText(parentNode, nodeAfterComment, closingComment);\n\t } else {\n\t removeDelimitedText(parentNode, openingComment, closingComment);\n\t }\n\t }\n\t\n\t if (false) {\n\t ReactInstrumentation.debugTool.onHostOperation(ReactDOMComponentTree.getInstanceFromNode(openingComment)._debugID, 'replace text', stringText);\n\t }\n\t}\n\t\n\tvar dangerouslyReplaceNodeWithMarkup = Danger.dangerouslyReplaceNodeWithMarkup;\n\tif (false) {\n\t dangerouslyReplaceNodeWithMarkup = function (oldChild, markup, prevInstance) {\n\t Danger.dangerouslyReplaceNodeWithMarkup(oldChild, markup);\n\t if (prevInstance._debugID !== 0) {\n\t ReactInstrumentation.debugTool.onHostOperation(prevInstance._debugID, 'replace with', markup.toString());\n\t } else {\n\t var nextInstance = ReactDOMComponentTree.getInstanceFromNode(markup.node);\n\t if (nextInstance._debugID !== 0) {\n\t ReactInstrumentation.debugTool.onHostOperation(nextInstance._debugID, 'mount', markup.toString());\n\t }\n\t }\n\t };\n\t}\n\t\n\t/**\n\t * Operations for updating with DOM children.\n\t */\n\tvar DOMChildrenOperations = {\n\t\n\t dangerouslyReplaceNodeWithMarkup: dangerouslyReplaceNodeWithMarkup,\n\t\n\t replaceDelimitedText: replaceDelimitedText,\n\t\n\t /**\n\t * Updates a component's children by processing a series of updates. The\n\t * update configurations are each expected to have a `parentNode` property.\n\t *\n\t * @param {array} updates List of update configurations.\n\t * @internal\n\t */\n\t processUpdates: function (parentNode, updates) {\n\t if (false) {\n\t var parentNodeDebugID = ReactDOMComponentTree.getInstanceFromNode(parentNode)._debugID;\n\t }\n\t\n\t for (var k = 0; k < updates.length; k++) {\n\t var update = updates[k];\n\t switch (update.type) {\n\t case ReactMultiChildUpdateTypes.INSERT_MARKUP:\n\t insertLazyTreeChildAt(parentNode, update.content, getNodeAfter(parentNode, update.afterNode));\n\t if (false) {\n\t ReactInstrumentation.debugTool.onHostOperation(parentNodeDebugID, 'insert child', { toIndex: update.toIndex, content: update.content.toString() });\n\t }\n\t break;\n\t case ReactMultiChildUpdateTypes.MOVE_EXISTING:\n\t moveChild(parentNode, update.fromNode, getNodeAfter(parentNode, update.afterNode));\n\t if (false) {\n\t ReactInstrumentation.debugTool.onHostOperation(parentNodeDebugID, 'move child', { fromIndex: update.fromIndex, toIndex: update.toIndex });\n\t }\n\t break;\n\t case ReactMultiChildUpdateTypes.SET_MARKUP:\n\t setInnerHTML(parentNode, update.content);\n\t if (false) {\n\t ReactInstrumentation.debugTool.onHostOperation(parentNodeDebugID, 'replace children', update.content.toString());\n\t }\n\t break;\n\t case ReactMultiChildUpdateTypes.TEXT_CONTENT:\n\t setTextContent(parentNode, update.content);\n\t if (false) {\n\t ReactInstrumentation.debugTool.onHostOperation(parentNodeDebugID, 'replace text', update.content.toString());\n\t }\n\t break;\n\t case ReactMultiChildUpdateTypes.REMOVE_NODE:\n\t removeChild(parentNode, update.fromNode);\n\t if (false) {\n\t ReactInstrumentation.debugTool.onHostOperation(parentNodeDebugID, 'remove child', { fromIndex: update.fromIndex });\n\t }\n\t break;\n\t }\n\t }\n\t }\n\t\n\t};\n\t\n\tmodule.exports = DOMChildrenOperations;\n\n/***/ },\n/* 138 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Copyright 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @providesModule DOMNamespaces\n\t */\n\t\n\t'use strict';\n\t\n\tvar DOMNamespaces = {\n\t html: 'http://www.w3.org/1999/xhtml',\n\t mathml: 'http://www.w3.org/1998/Math/MathML',\n\t svg: 'http://www.w3.org/2000/svg'\n\t};\n\t\n\tmodule.exports = DOMNamespaces;\n\n/***/ },\n/* 139 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Copyright 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @providesModule EventPluginRegistry\n\t */\n\t\n\t'use strict';\n\t\n\tvar _prodInvariant = __webpack_require__(4);\n\t\n\tvar invariant = __webpack_require__(3);\n\t\n\t/**\n\t * Injectable ordering of event plugins.\n\t */\n\tvar EventPluginOrder = null;\n\t\n\t/**\n\t * Injectable mapping from names to event plugin modules.\n\t */\n\tvar namesToPlugins = {};\n\t\n\t/**\n\t * Recomputes the plugin list using the injected plugins and plugin ordering.\n\t *\n\t * @private\n\t */\n\tfunction recomputePluginOrdering() {\n\t if (!EventPluginOrder) {\n\t // Wait until an `EventPluginOrder` is injected.\n\t return;\n\t }\n\t for (var pluginName in namesToPlugins) {\n\t var PluginModule = namesToPlugins[pluginName];\n\t var pluginIndex = EventPluginOrder.indexOf(pluginName);\n\t !(pluginIndex > -1) ? false ? invariant(false, 'EventPluginRegistry: Cannot inject event plugins that do not exist in the plugin ordering, `%s`.', pluginName) : _prodInvariant('96', pluginName) : void 0;\n\t if (EventPluginRegistry.plugins[pluginIndex]) {\n\t continue;\n\t }\n\t !PluginModule.extractEvents ? false ? invariant(false, 'EventPluginRegistry: Event plugins must implement an `extractEvents` method, but `%s` does not.', pluginName) : _prodInvariant('97', pluginName) : void 0;\n\t EventPluginRegistry.plugins[pluginIndex] = PluginModule;\n\t var publishedEvents = PluginModule.eventTypes;\n\t for (var eventName in publishedEvents) {\n\t !publishEventForPlugin(publishedEvents[eventName], PluginModule, eventName) ? false ? invariant(false, 'EventPluginRegistry: Failed to publish event `%s` for plugin `%s`.', eventName, pluginName) : _prodInvariant('98', eventName, pluginName) : void 0;\n\t }\n\t }\n\t}\n\t\n\t/**\n\t * Publishes an event so that it can be dispatched by the supplied plugin.\n\t *\n\t * @param {object} dispatchConfig Dispatch configuration for the event.\n\t * @param {object} PluginModule Plugin publishing the event.\n\t * @return {boolean} True if the event was successfully published.\n\t * @private\n\t */\n\tfunction publishEventForPlugin(dispatchConfig, PluginModule, eventName) {\n\t !!EventPluginRegistry.eventNameDispatchConfigs.hasOwnProperty(eventName) ? false ? invariant(false, 'EventPluginHub: More than one plugin attempted to publish the same event name, `%s`.', eventName) : _prodInvariant('99', eventName) : void 0;\n\t EventPluginRegistry.eventNameDispatchConfigs[eventName] = dispatchConfig;\n\t\n\t var phasedRegistrationNames = dispatchConfig.phasedRegistrationNames;\n\t if (phasedRegistrationNames) {\n\t for (var phaseName in phasedRegistrationNames) {\n\t if (phasedRegistrationNames.hasOwnProperty(phaseName)) {\n\t var phasedRegistrationName = phasedRegistrationNames[phaseName];\n\t publishRegistrationName(phasedRegistrationName, PluginModule, eventName);\n\t }\n\t }\n\t return true;\n\t } else if (dispatchConfig.registrationName) {\n\t publishRegistrationName(dispatchConfig.registrationName, PluginModule, eventName);\n\t return true;\n\t }\n\t return false;\n\t}\n\t\n\t/**\n\t * Publishes a registration name that is used to identify dispatched events and\n\t * can be used with `EventPluginHub.putListener` to register listeners.\n\t *\n\t * @param {string} registrationName Registration name to add.\n\t * @param {object} PluginModule Plugin publishing the event.\n\t * @private\n\t */\n\tfunction publishRegistrationName(registrationName, PluginModule, eventName) {\n\t !!EventPluginRegistry.registrationNameModules[registrationName] ? false ? invariant(false, 'EventPluginHub: More than one plugin attempted to publish the same registration name, `%s`.', registrationName) : _prodInvariant('100', registrationName) : void 0;\n\t EventPluginRegistry.registrationNameModules[registrationName] = PluginModule;\n\t EventPluginRegistry.registrationNameDependencies[registrationName] = PluginModule.eventTypes[eventName].dependencies;\n\t\n\t if (false) {\n\t var lowerCasedName = registrationName.toLowerCase();\n\t EventPluginRegistry.possibleRegistrationNames[lowerCasedName] = registrationName;\n\t\n\t if (registrationName === 'onDoubleClick') {\n\t EventPluginRegistry.possibleRegistrationNames.ondblclick = registrationName;\n\t }\n\t }\n\t}\n\t\n\t/**\n\t * Registers plugins so that they can extract and dispatch events.\n\t *\n\t * @see {EventPluginHub}\n\t */\n\tvar EventPluginRegistry = {\n\t\n\t /**\n\t * Ordered list of injected plugins.\n\t */\n\t plugins: [],\n\t\n\t /**\n\t * Mapping from event name to dispatch config\n\t */\n\t eventNameDispatchConfigs: {},\n\t\n\t /**\n\t * Mapping from registration name to plugin module\n\t */\n\t registrationNameModules: {},\n\t\n\t /**\n\t * Mapping from registration name to event name\n\t */\n\t registrationNameDependencies: {},\n\t\n\t /**\n\t * Mapping from lowercase registration names to the properly cased version,\n\t * used to warn in the case of missing event handlers. Available\n\t * only in __DEV__.\n\t * @type {Object}\n\t */\n\t possibleRegistrationNames: false ? {} : null,\n\t\n\t /**\n\t * Injects an ordering of plugins (by plugin name). This allows the ordering\n\t * to be decoupled from injection of the actual plugins so that ordering is\n\t * always deterministic regardless of packaging, on-the-fly injection, etc.\n\t *\n\t * @param {array} InjectedEventPluginOrder\n\t * @internal\n\t * @see {EventPluginHub.injection.injectEventPluginOrder}\n\t */\n\t injectEventPluginOrder: function (InjectedEventPluginOrder) {\n\t !!EventPluginOrder ? false ? invariant(false, 'EventPluginRegistry: Cannot inject event plugin ordering more than once. You are likely trying to load more than one copy of React.') : _prodInvariant('101') : void 0;\n\t // Clone the ordering so it cannot be dynamically mutated.\n\t EventPluginOrder = Array.prototype.slice.call(InjectedEventPluginOrder);\n\t recomputePluginOrdering();\n\t },\n\t\n\t /**\n\t * Injects plugins to be used by `EventPluginHub`. The plugin names must be\n\t * in the ordering injected by `injectEventPluginOrder`.\n\t *\n\t * Plugins can be injected as part of page initialization or on-the-fly.\n\t *\n\t * @param {object} injectedNamesToPlugins Map from names to plugin modules.\n\t * @internal\n\t * @see {EventPluginHub.injection.injectEventPluginsByName}\n\t */\n\t injectEventPluginsByName: function (injectedNamesToPlugins) {\n\t var isOrderingDirty = false;\n\t for (var pluginName in injectedNamesToPlugins) {\n\t if (!injectedNamesToPlugins.hasOwnProperty(pluginName)) {\n\t continue;\n\t }\n\t var PluginModule = injectedNamesToPlugins[pluginName];\n\t if (!namesToPlugins.hasOwnProperty(pluginName) || namesToPlugins[pluginName] !== PluginModule) {\n\t !!namesToPlugins[pluginName] ? false ? invariant(false, 'EventPluginRegistry: Cannot inject two different event plugins using the same name, `%s`.', pluginName) : _prodInvariant('102', pluginName) : void 0;\n\t namesToPlugins[pluginName] = PluginModule;\n\t isOrderingDirty = true;\n\t }\n\t }\n\t if (isOrderingDirty) {\n\t recomputePluginOrdering();\n\t }\n\t },\n\t\n\t /**\n\t * Looks up the plugin for the supplied event.\n\t *\n\t * @param {object} event A synthetic event.\n\t * @return {?object} The plugin that created the supplied event.\n\t * @internal\n\t */\n\t getPluginModuleForEvent: function (event) {\n\t var dispatchConfig = event.dispatchConfig;\n\t if (dispatchConfig.registrationName) {\n\t return EventPluginRegistry.registrationNameModules[dispatchConfig.registrationName] || null;\n\t }\n\t for (var phase in dispatchConfig.phasedRegistrationNames) {\n\t if (!dispatchConfig.phasedRegistrationNames.hasOwnProperty(phase)) {\n\t continue;\n\t }\n\t var PluginModule = EventPluginRegistry.registrationNameModules[dispatchConfig.phasedRegistrationNames[phase]];\n\t if (PluginModule) {\n\t return PluginModule;\n\t }\n\t }\n\t return null;\n\t },\n\t\n\t /**\n\t * Exposed for unit testing.\n\t * @private\n\t */\n\t _resetEventPlugins: function () {\n\t EventPluginOrder = null;\n\t for (var pluginName in namesToPlugins) {\n\t if (namesToPlugins.hasOwnProperty(pluginName)) {\n\t delete namesToPlugins[pluginName];\n\t }\n\t }\n\t EventPluginRegistry.plugins.length = 0;\n\t\n\t var eventNameDispatchConfigs = EventPluginRegistry.eventNameDispatchConfigs;\n\t for (var eventName in eventNameDispatchConfigs) {\n\t if (eventNameDispatchConfigs.hasOwnProperty(eventName)) {\n\t delete eventNameDispatchConfigs[eventName];\n\t }\n\t }\n\t\n\t var registrationNameModules = EventPluginRegistry.registrationNameModules;\n\t for (var registrationName in registrationNameModules) {\n\t if (registrationNameModules.hasOwnProperty(registrationName)) {\n\t delete registrationNameModules[registrationName];\n\t }\n\t }\n\t\n\t if (false) {\n\t var possibleRegistrationNames = EventPluginRegistry.possibleRegistrationNames;\n\t for (var lowerCasedName in possibleRegistrationNames) {\n\t if (possibleRegistrationNames.hasOwnProperty(lowerCasedName)) {\n\t delete possibleRegistrationNames[lowerCasedName];\n\t }\n\t }\n\t }\n\t }\n\t\n\t};\n\t\n\tmodule.exports = EventPluginRegistry;\n\n/***/ },\n/* 140 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Copyright 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @providesModule EventPluginUtils\n\t */\n\t\n\t'use strict';\n\t\n\tvar _prodInvariant = __webpack_require__(4);\n\t\n\tvar EventConstants = __webpack_require__(32);\n\tvar ReactErrorUtils = __webpack_require__(146);\n\t\n\tvar invariant = __webpack_require__(3);\n\tvar warning = __webpack_require__(5);\n\t\n\t/**\n\t * Injected dependencies:\n\t */\n\t\n\t/**\n\t * - `ComponentTree`: [required] Module that can convert between React instances\n\t * and actual node references.\n\t */\n\tvar ComponentTree;\n\tvar TreeTraversal;\n\tvar injection = {\n\t injectComponentTree: function (Injected) {\n\t ComponentTree = Injected;\n\t if (false) {\n\t process.env.NODE_ENV !== 'production' ? warning(Injected && Injected.getNodeFromInstance && Injected.getInstanceFromNode, 'EventPluginUtils.injection.injectComponentTree(...): Injected ' + 'module is missing getNodeFromInstance or getInstanceFromNode.') : void 0;\n\t }\n\t },\n\t injectTreeTraversal: function (Injected) {\n\t TreeTraversal = Injected;\n\t if (false) {\n\t process.env.NODE_ENV !== 'production' ? warning(Injected && Injected.isAncestor && Injected.getLowestCommonAncestor, 'EventPluginUtils.injection.injectTreeTraversal(...): Injected ' + 'module is missing isAncestor or getLowestCommonAncestor.') : void 0;\n\t }\n\t }\n\t};\n\t\n\tvar topLevelTypes = EventConstants.topLevelTypes;\n\t\n\tfunction isEndish(topLevelType) {\n\t return topLevelType === topLevelTypes.topMouseUp || topLevelType === topLevelTypes.topTouchEnd || topLevelType === topLevelTypes.topTouchCancel;\n\t}\n\t\n\tfunction isMoveish(topLevelType) {\n\t return topLevelType === topLevelTypes.topMouseMove || topLevelType === topLevelTypes.topTouchMove;\n\t}\n\tfunction isStartish(topLevelType) {\n\t return topLevelType === topLevelTypes.topMouseDown || topLevelType === topLevelTypes.topTouchStart;\n\t}\n\t\n\tvar validateEventDispatches;\n\tif (false) {\n\t validateEventDispatches = function (event) {\n\t var dispatchListeners = event._dispatchListeners;\n\t var dispatchInstances = event._dispatchInstances;\n\t\n\t var listenersIsArr = Array.isArray(dispatchListeners);\n\t var listenersLen = listenersIsArr ? dispatchListeners.length : dispatchListeners ? 1 : 0;\n\t\n\t var instancesIsArr = Array.isArray(dispatchInstances);\n\t var instancesLen = instancesIsArr ? dispatchInstances.length : dispatchInstances ? 1 : 0;\n\t\n\t process.env.NODE_ENV !== 'production' ? warning(instancesIsArr === listenersIsArr && instancesLen === listenersLen, 'EventPluginUtils: Invalid `event`.') : void 0;\n\t };\n\t}\n\t\n\t/**\n\t * Dispatch the event to the listener.\n\t * @param {SyntheticEvent} event SyntheticEvent to handle\n\t * @param {boolean} simulated If the event is simulated (changes exn behavior)\n\t * @param {function} listener Application-level callback\n\t * @param {*} inst Internal component instance\n\t */\n\tfunction executeDispatch(event, simulated, listener, inst) {\n\t var type = event.type || 'unknown-event';\n\t event.currentTarget = EventPluginUtils.getNodeFromInstance(inst);\n\t if (simulated) {\n\t ReactErrorUtils.invokeGuardedCallbackWithCatch(type, listener, event);\n\t } else {\n\t ReactErrorUtils.invokeGuardedCallback(type, listener, event);\n\t }\n\t event.currentTarget = null;\n\t}\n\t\n\t/**\n\t * Standard/simple iteration through an event's collected dispatches.\n\t */\n\tfunction executeDispatchesInOrder(event, simulated) {\n\t var dispatchListeners = event._dispatchListeners;\n\t var dispatchInstances = event._dispatchInstances;\n\t if (false) {\n\t validateEventDispatches(event);\n\t }\n\t if (Array.isArray(dispatchListeners)) {\n\t for (var i = 0; i < dispatchListeners.length; i++) {\n\t if (event.isPropagationStopped()) {\n\t break;\n\t }\n\t // Listeners and Instances are two parallel arrays that are always in sync.\n\t executeDispatch(event, simulated, dispatchListeners[i], dispatchInstances[i]);\n\t }\n\t } else if (dispatchListeners) {\n\t executeDispatch(event, simulated, dispatchListeners, dispatchInstances);\n\t }\n\t event._dispatchListeners = null;\n\t event._dispatchInstances = null;\n\t}\n\t\n\t/**\n\t * Standard/simple iteration through an event's collected dispatches, but stops\n\t * at the first dispatch execution returning true, and returns that id.\n\t *\n\t * @return {?string} id of the first dispatch execution who's listener returns\n\t * true, or null if no listener returned true.\n\t */\n\tfunction executeDispatchesInOrderStopAtTrueImpl(event) {\n\t var dispatchListeners = event._dispatchListeners;\n\t var dispatchInstances = event._dispatchInstances;\n\t if (false) {\n\t validateEventDispatches(event);\n\t }\n\t if (Array.isArray(dispatchListeners)) {\n\t for (var i = 0; i < dispatchListeners.length; i++) {\n\t if (event.isPropagationStopped()) {\n\t break;\n\t }\n\t // Listeners and Instances are two parallel arrays that are always in sync.\n\t if (dispatchListeners[i](event, dispatchInstances[i])) {\n\t return dispatchInstances[i];\n\t }\n\t }\n\t } else if (dispatchListeners) {\n\t if (dispatchListeners(event, dispatchInstances)) {\n\t return dispatchInstances;\n\t }\n\t }\n\t return null;\n\t}\n\t\n\t/**\n\t * @see executeDispatchesInOrderStopAtTrueImpl\n\t */\n\tfunction executeDispatchesInOrderStopAtTrue(event) {\n\t var ret = executeDispatchesInOrderStopAtTrueImpl(event);\n\t event._dispatchInstances = null;\n\t event._dispatchListeners = null;\n\t return ret;\n\t}\n\t\n\t/**\n\t * Execution of a \"direct\" dispatch - there must be at most one dispatch\n\t * accumulated on the event or it is considered an error. It doesn't really make\n\t * sense for an event with multiple dispatches (bubbled) to keep track of the\n\t * return values at each dispatch execution, but it does tend to make sense when\n\t * dealing with \"direct\" dispatches.\n\t *\n\t * @return {*} The return value of executing the single dispatch.\n\t */\n\tfunction executeDirectDispatch(event) {\n\t if (false) {\n\t validateEventDispatches(event);\n\t }\n\t var dispatchListener = event._dispatchListeners;\n\t var dispatchInstance = event._dispatchInstances;\n\t !!Array.isArray(dispatchListener) ? false ? invariant(false, 'executeDirectDispatch(...): Invalid `event`.') : _prodInvariant('103') : void 0;\n\t event.currentTarget = dispatchListener ? EventPluginUtils.getNodeFromInstance(dispatchInstance) : null;\n\t var res = dispatchListener ? dispatchListener(event) : null;\n\t event.currentTarget = null;\n\t event._dispatchListeners = null;\n\t event._dispatchInstances = null;\n\t return res;\n\t}\n\t\n\t/**\n\t * @param {SyntheticEvent} event\n\t * @return {boolean} True iff number of dispatches accumulated is greater than 0.\n\t */\n\tfunction hasDispatches(event) {\n\t return !!event._dispatchListeners;\n\t}\n\t\n\t/**\n\t * General utilities that are useful in creating custom Event Plugins.\n\t */\n\tvar EventPluginUtils = {\n\t isEndish: isEndish,\n\t isMoveish: isMoveish,\n\t isStartish: isStartish,\n\t\n\t executeDirectDispatch: executeDirectDispatch,\n\t executeDispatchesInOrder: executeDispatchesInOrder,\n\t executeDispatchesInOrderStopAtTrue: executeDispatchesInOrderStopAtTrue,\n\t hasDispatches: hasDispatches,\n\t\n\t getInstanceFromNode: function (node) {\n\t return ComponentTree.getInstanceFromNode(node);\n\t },\n\t getNodeFromInstance: function (node) {\n\t return ComponentTree.getNodeFromInstance(node);\n\t },\n\t isAncestor: function (a, b) {\n\t return TreeTraversal.isAncestor(a, b);\n\t },\n\t getLowestCommonAncestor: function (a, b) {\n\t return TreeTraversal.getLowestCommonAncestor(a, b);\n\t },\n\t getParentInstance: function (inst) {\n\t return TreeTraversal.getParentInstance(inst);\n\t },\n\t traverseTwoPhase: function (target, fn, arg) {\n\t return TreeTraversal.traverseTwoPhase(target, fn, arg);\n\t },\n\t traverseEnterLeave: function (from, to, fn, argFrom, argTo) {\n\t return TreeTraversal.traverseEnterLeave(from, to, fn, argFrom, argTo);\n\t },\n\t\n\t injection: injection\n\t};\n\t\n\tmodule.exports = EventPluginUtils;\n\n/***/ },\n/* 141 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Copyright 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @providesModule KeyEscapeUtils\n\t * \n\t */\n\t\n\t'use strict';\n\t\n\t/**\n\t * Escape and wrap key so it is safe to use as a reactid\n\t *\n\t * @param {string} key to be escaped.\n\t * @return {string} the escaped key.\n\t */\n\t\n\tfunction escape(key) {\n\t var escapeRegex = /[=:]/g;\n\t var escaperLookup = {\n\t '=': '=0',\n\t ':': '=2'\n\t };\n\t var escapedString = ('' + key).replace(escapeRegex, function (match) {\n\t return escaperLookup[match];\n\t });\n\t\n\t return '$' + escapedString;\n\t}\n\t\n\t/**\n\t * Unescape and unwrap key for human-readable display\n\t *\n\t * @param {string} key to unescape.\n\t * @return {string} the unescaped key.\n\t */\n\tfunction unescape(key) {\n\t var unescapeRegex = /(=0|=2)/g;\n\t var unescaperLookup = {\n\t '=0': '=',\n\t '=2': ':'\n\t };\n\t var keySubstring = key[0] === '.' && key[1] === '$' ? key.substring(2) : key.substring(1);\n\t\n\t return ('' + keySubstring).replace(unescapeRegex, function (match) {\n\t return unescaperLookup[match];\n\t });\n\t}\n\t\n\tvar KeyEscapeUtils = {\n\t escape: escape,\n\t unescape: unescape\n\t};\n\t\n\tmodule.exports = KeyEscapeUtils;\n\n/***/ },\n/* 142 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Copyright 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @providesModule LinkedValueUtils\n\t */\n\t\n\t'use strict';\n\t\n\tvar _prodInvariant = __webpack_require__(4);\n\t\n\tvar ReactPropTypes = __webpack_require__(338);\n\tvar ReactPropTypeLocations = __webpack_require__(149);\n\tvar ReactPropTypesSecret = __webpack_require__(150);\n\t\n\tvar invariant = __webpack_require__(3);\n\tvar warning = __webpack_require__(5);\n\t\n\tvar hasReadOnlyValue = {\n\t 'button': true,\n\t 'checkbox': true,\n\t 'image': true,\n\t 'hidden': true,\n\t 'radio': true,\n\t 'reset': true,\n\t 'submit': true\n\t};\n\t\n\tfunction _assertSingleLink(inputProps) {\n\t !(inputProps.checkedLink == null || inputProps.valueLink == null) ? false ? invariant(false, 'Cannot provide a checkedLink and a valueLink. If you want to use checkedLink, you probably don\\'t want to use valueLink and vice versa.') : _prodInvariant('87') : void 0;\n\t}\n\tfunction _assertValueLink(inputProps) {\n\t _assertSingleLink(inputProps);\n\t !(inputProps.value == null && inputProps.onChange == null) ? false ? invariant(false, 'Cannot provide a valueLink and a value or onChange event. If you want to use value or onChange, you probably don\\'t want to use valueLink.') : _prodInvariant('88') : void 0;\n\t}\n\t\n\tfunction _assertCheckedLink(inputProps) {\n\t _assertSingleLink(inputProps);\n\t !(inputProps.checked == null && inputProps.onChange == null) ? false ? invariant(false, 'Cannot provide a checkedLink and a checked property or onChange event. If you want to use checked or onChange, you probably don\\'t want to use checkedLink') : _prodInvariant('89') : void 0;\n\t}\n\t\n\tvar propTypes = {\n\t value: function (props, propName, componentName) {\n\t if (!props[propName] || hasReadOnlyValue[props.type] || props.onChange || props.readOnly || props.disabled) {\n\t return null;\n\t }\n\t return new Error('You provided a `value` prop to a form field without an ' + '`onChange` handler. This will render a read-only field. If ' + 'the field should be mutable use `defaultValue`. Otherwise, ' + 'set either `onChange` or `readOnly`.');\n\t },\n\t checked: function (props, propName, componentName) {\n\t if (!props[propName] || props.onChange || props.readOnly || props.disabled) {\n\t return null;\n\t }\n\t return new Error('You provided a `checked` prop to a form field without an ' + '`onChange` handler. This will render a read-only field. If ' + 'the field should be mutable use `defaultChecked`. Otherwise, ' + 'set either `onChange` or `readOnly`.');\n\t },\n\t onChange: ReactPropTypes.func\n\t};\n\t\n\tvar loggedTypeFailures = {};\n\tfunction getDeclarationErrorAddendum(owner) {\n\t if (owner) {\n\t var name = owner.getName();\n\t if (name) {\n\t return ' Check the render method of `' + name + '`.';\n\t }\n\t }\n\t return '';\n\t}\n\t\n\t/**\n\t * Provide a linked `value` attribute for controlled forms. You should not use\n\t * this outside of the ReactDOM controlled form components.\n\t */\n\tvar LinkedValueUtils = {\n\t checkPropTypes: function (tagName, props, owner) {\n\t for (var propName in propTypes) {\n\t if (propTypes.hasOwnProperty(propName)) {\n\t var error = propTypes[propName](props, propName, tagName, ReactPropTypeLocations.prop, null, ReactPropTypesSecret);\n\t }\n\t if (error instanceof Error && !(error.message in loggedTypeFailures)) {\n\t // Only monitor this failure once because there tends to be a lot of the\n\t // same error.\n\t loggedTypeFailures[error.message] = true;\n\t\n\t var addendum = getDeclarationErrorAddendum(owner);\n\t false ? warning(false, 'Failed form propType: %s%s', error.message, addendum) : void 0;\n\t }\n\t }\n\t },\n\t\n\t /**\n\t * @param {object} inputProps Props for form component\n\t * @return {*} current value of the input either from value prop or link.\n\t */\n\t getValue: function (inputProps) {\n\t if (inputProps.valueLink) {\n\t _assertValueLink(inputProps);\n\t return inputProps.valueLink.value;\n\t }\n\t return inputProps.value;\n\t },\n\t\n\t /**\n\t * @param {object} inputProps Props for form component\n\t * @return {*} current checked status of the input either from checked prop\n\t * or link.\n\t */\n\t getChecked: function (inputProps) {\n\t if (inputProps.checkedLink) {\n\t _assertCheckedLink(inputProps);\n\t return inputProps.checkedLink.value;\n\t }\n\t return inputProps.checked;\n\t },\n\t\n\t /**\n\t * @param {object} inputProps Props for form component\n\t * @param {SyntheticEvent} event change event to handle\n\t */\n\t executeOnChange: function (inputProps, event) {\n\t if (inputProps.valueLink) {\n\t _assertValueLink(inputProps);\n\t return inputProps.valueLink.requestChange(event.target.value);\n\t } else if (inputProps.checkedLink) {\n\t _assertCheckedLink(inputProps);\n\t return inputProps.checkedLink.requestChange(event.target.checked);\n\t } else if (inputProps.onChange) {\n\t return inputProps.onChange.call(undefined, event);\n\t }\n\t }\n\t};\n\t\n\tmodule.exports = LinkedValueUtils;\n\n/***/ },\n/* 143 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Copyright 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @providesModule ReactComponent\n\t */\n\t\n\t'use strict';\n\t\n\tvar _prodInvariant = __webpack_require__(4);\n\t\n\tvar ReactNoopUpdateQueue = __webpack_require__(147);\n\t\n\tvar canDefineProperty = __webpack_require__(342);\n\tvar emptyObject = __webpack_require__(62);\n\tvar invariant = __webpack_require__(3);\n\tvar warning = __webpack_require__(5);\n\t\n\t/**\n\t * Base class helpers for the updating state of a component.\n\t */\n\tfunction ReactComponent(props, context, updater) {\n\t this.props = props;\n\t this.context = context;\n\t this.refs = emptyObject;\n\t // We initialize the default updater but the real one gets injected by the\n\t // renderer.\n\t this.updater = updater || ReactNoopUpdateQueue;\n\t}\n\t\n\tReactComponent.prototype.isReactComponent = {};\n\t\n\t/**\n\t * Sets a subset of the state. Always use this to mutate\n\t * state. You should treat `this.state` as immutable.\n\t *\n\t * There is no guarantee that `this.state` will be immediately updated, so\n\t * accessing `this.state` after calling this method may return the old value.\n\t *\n\t * There is no guarantee that calls to `setState` will run synchronously,\n\t * as they may eventually be batched together. You can provide an optional\n\t * callback that will be executed when the call to setState is actually\n\t * completed.\n\t *\n\t * When a function is provided to setState, it will be called at some point in\n\t * the future (not synchronously). It will be called with the up to date\n\t * component arguments (state, props, context). These values can be different\n\t * from this.* because your function may be called after receiveProps but before\n\t * shouldComponentUpdate, and this new state, props, and context will not yet be\n\t * assigned to this.\n\t *\n\t * @param {object|function} partialState Next partial state or function to\n\t * produce next partial state to be merged with current state.\n\t * @param {?function} callback Called after state is updated.\n\t * @final\n\t * @protected\n\t */\n\tReactComponent.prototype.setState = function (partialState, callback) {\n\t !(typeof partialState === 'object' || typeof partialState === 'function' || partialState == null) ? false ? invariant(false, 'setState(...): takes an object of state variables to update or a function which returns an object of state variables.') : _prodInvariant('85') : void 0;\n\t this.updater.enqueueSetState(this, partialState);\n\t if (callback) {\n\t this.updater.enqueueCallback(this, callback, 'setState');\n\t }\n\t};\n\t\n\t/**\n\t * Forces an update. This should only be invoked when it is known with\n\t * certainty that we are **not** in a DOM transaction.\n\t *\n\t * You may want to call this when you know that some deeper aspect of the\n\t * component's state has changed but `setState` was not called.\n\t *\n\t * This will not invoke `shouldComponentUpdate`, but it will invoke\n\t * `componentWillUpdate` and `componentDidUpdate`.\n\t *\n\t * @param {?function} callback Called after update is complete.\n\t * @final\n\t * @protected\n\t */\n\tReactComponent.prototype.forceUpdate = function (callback) {\n\t this.updater.enqueueForceUpdate(this);\n\t if (callback) {\n\t this.updater.enqueueCallback(this, callback, 'forceUpdate');\n\t }\n\t};\n\t\n\t/**\n\t * Deprecated APIs. These APIs used to exist on classic React classes but since\n\t * we would like to deprecate them, we're not going to move them over to this\n\t * modern base class. Instead, we define a getter that warns if it's accessed.\n\t */\n\tif (false) {\n\t var deprecatedAPIs = {\n\t isMounted: ['isMounted', 'Instead, make sure to clean up subscriptions and pending requests in ' + 'componentWillUnmount to prevent memory leaks.'],\n\t replaceState: ['replaceState', 'Refactor your code to use setState instead (see ' + 'https://github.com/facebook/react/issues/3236).']\n\t };\n\t var defineDeprecationWarning = function (methodName, info) {\n\t if (canDefineProperty) {\n\t Object.defineProperty(ReactComponent.prototype, methodName, {\n\t get: function () {\n\t process.env.NODE_ENV !== 'production' ? warning(false, '%s(...) is deprecated in plain JavaScript React classes. %s', info[0], info[1]) : void 0;\n\t return undefined;\n\t }\n\t });\n\t }\n\t };\n\t for (var fnName in deprecatedAPIs) {\n\t if (deprecatedAPIs.hasOwnProperty(fnName)) {\n\t defineDeprecationWarning(fnName, deprecatedAPIs[fnName]);\n\t }\n\t }\n\t}\n\t\n\tmodule.exports = ReactComponent;\n\n/***/ },\n/* 144 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Copyright 2014-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @providesModule ReactComponentEnvironment\n\t */\n\t\n\t'use strict';\n\t\n\tvar _prodInvariant = __webpack_require__(4);\n\t\n\tvar invariant = __webpack_require__(3);\n\t\n\tvar injected = false;\n\t\n\tvar ReactComponentEnvironment = {\n\t\n\t /**\n\t * Optionally injectable hook for swapping out mount images in the middle of\n\t * the tree.\n\t */\n\t replaceNodeWithMarkup: null,\n\t\n\t /**\n\t * Optionally injectable hook for processing a queue of child updates. Will\n\t * later move into MultiChildComponents.\n\t */\n\t processChildrenUpdates: null,\n\t\n\t injection: {\n\t injectEnvironment: function (environment) {\n\t !!injected ? false ? invariant(false, 'ReactCompositeComponent: injectEnvironment() can only be called once.') : _prodInvariant('104') : void 0;\n\t ReactComponentEnvironment.replaceNodeWithMarkup = environment.replaceNodeWithMarkup;\n\t ReactComponentEnvironment.processChildrenUpdates = environment.processChildrenUpdates;\n\t injected = true;\n\t }\n\t }\n\t\n\t};\n\t\n\tmodule.exports = ReactComponentEnvironment;\n\n/***/ },\n/* 145 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Copyright 2016-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @providesModule ReactComponentTreeHook\n\t */\n\t\n\t'use strict';\n\t\n\tvar _prodInvariant = __webpack_require__(4);\n\t\n\tvar ReactCurrentOwner = __webpack_require__(40);\n\t\n\tvar invariant = __webpack_require__(3);\n\tvar warning = __webpack_require__(5);\n\t\n\tfunction isNative(fn) {\n\t // Based on isNative() from Lodash\n\t var funcToString = Function.prototype.toString;\n\t var hasOwnProperty = Object.prototype.hasOwnProperty;\n\t var reIsNative = RegExp('^' + funcToString\n\t // Take an example native function source for comparison\n\t .call(hasOwnProperty)\n\t // Strip regex characters so we can use it for regex\n\t .replace(/[\\\\^$.*+?()[\\]{}|]/g, '\\\\$&')\n\t // Remove hasOwnProperty from the template to make it generic\n\t .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$');\n\t try {\n\t var source = funcToString.call(fn);\n\t return reIsNative.test(source);\n\t } catch (err) {\n\t return false;\n\t }\n\t}\n\t\n\tvar canUseCollections =\n\t// Array.from\n\ttypeof Array.from === 'function' &&\n\t// Map\n\ttypeof Map === 'function' && isNative(Map) &&\n\t// Map.prototype.keys\n\tMap.prototype != null && typeof Map.prototype.keys === 'function' && isNative(Map.prototype.keys) &&\n\t// Set\n\ttypeof Set === 'function' && isNative(Set) &&\n\t// Set.prototype.keys\n\tSet.prototype != null && typeof Set.prototype.keys === 'function' && isNative(Set.prototype.keys);\n\t\n\tvar itemMap;\n\tvar rootIDSet;\n\t\n\tvar itemByKey;\n\tvar rootByKey;\n\t\n\tif (canUseCollections) {\n\t itemMap = new Map();\n\t rootIDSet = new Set();\n\t} else {\n\t itemByKey = {};\n\t rootByKey = {};\n\t}\n\t\n\tvar unmountedIDs = [];\n\t\n\t// Use non-numeric keys to prevent V8 performance issues:\n\t// https://github.com/facebook/react/pull/7232\n\tfunction getKeyFromID(id) {\n\t return '.' + id;\n\t}\n\tfunction getIDFromKey(key) {\n\t return parseInt(key.substr(1), 10);\n\t}\n\t\n\tfunction get(id) {\n\t if (canUseCollections) {\n\t return itemMap.get(id);\n\t } else {\n\t var key = getKeyFromID(id);\n\t return itemByKey[key];\n\t }\n\t}\n\t\n\tfunction remove(id) {\n\t if (canUseCollections) {\n\t itemMap['delete'](id);\n\t } else {\n\t var key = getKeyFromID(id);\n\t delete itemByKey[key];\n\t }\n\t}\n\t\n\tfunction create(id, element, parentID) {\n\t var item = {\n\t element: element,\n\t parentID: parentID,\n\t text: null,\n\t childIDs: [],\n\t isMounted: false,\n\t updateCount: 0\n\t };\n\t\n\t if (canUseCollections) {\n\t itemMap.set(id, item);\n\t } else {\n\t var key = getKeyFromID(id);\n\t itemByKey[key] = item;\n\t }\n\t}\n\t\n\tfunction addRoot(id) {\n\t if (canUseCollections) {\n\t rootIDSet.add(id);\n\t } else {\n\t var key = getKeyFromID(id);\n\t rootByKey[key] = true;\n\t }\n\t}\n\t\n\tfunction removeRoot(id) {\n\t if (canUseCollections) {\n\t rootIDSet['delete'](id);\n\t } else {\n\t var key = getKeyFromID(id);\n\t delete rootByKey[key];\n\t }\n\t}\n\t\n\tfunction getRegisteredIDs() {\n\t if (canUseCollections) {\n\t return Array.from(itemMap.keys());\n\t } else {\n\t return Object.keys(itemByKey).map(getIDFromKey);\n\t }\n\t}\n\t\n\tfunction getRootIDs() {\n\t if (canUseCollections) {\n\t return Array.from(rootIDSet.keys());\n\t } else {\n\t return Object.keys(rootByKey).map(getIDFromKey);\n\t }\n\t}\n\t\n\tfunction purgeDeep(id) {\n\t var item = get(id);\n\t if (item) {\n\t var childIDs = item.childIDs;\n\t\n\t remove(id);\n\t childIDs.forEach(purgeDeep);\n\t }\n\t}\n\t\n\tfunction describeComponentFrame(name, source, ownerName) {\n\t return '\\n in ' + name + (source ? ' (at ' + source.fileName.replace(/^.*[\\\\\\/]/, '') + ':' + source.lineNumber + ')' : ownerName ? ' (created by ' + ownerName + ')' : '');\n\t}\n\t\n\tfunction getDisplayName(element) {\n\t if (element == null) {\n\t return '#empty';\n\t } else if (typeof element === 'string' || typeof element === 'number') {\n\t return '#text';\n\t } else if (typeof element.type === 'string') {\n\t return element.type;\n\t } else {\n\t return element.type.displayName || element.type.name || 'Unknown';\n\t }\n\t}\n\t\n\tfunction describeID(id) {\n\t var name = ReactComponentTreeHook.getDisplayName(id);\n\t var element = ReactComponentTreeHook.getElement(id);\n\t var ownerID = ReactComponentTreeHook.getOwnerID(id);\n\t var ownerName;\n\t if (ownerID) {\n\t ownerName = ReactComponentTreeHook.getDisplayName(ownerID);\n\t }\n\t false ? warning(element, 'ReactComponentTreeHook: Missing React element for debugID %s when ' + 'building stack', id) : void 0;\n\t return describeComponentFrame(name, element && element._source, ownerName);\n\t}\n\t\n\tvar ReactComponentTreeHook = {\n\t onSetChildren: function (id, nextChildIDs) {\n\t var item = get(id);\n\t item.childIDs = nextChildIDs;\n\t\n\t for (var i = 0; i < nextChildIDs.length; i++) {\n\t var nextChildID = nextChildIDs[i];\n\t var nextChild = get(nextChildID);\n\t !nextChild ? false ? invariant(false, 'Expected hook events to fire for the child before its parent includes it in onSetChildren().') : _prodInvariant('140') : void 0;\n\t !(nextChild.childIDs != null || typeof nextChild.element !== 'object' || nextChild.element == null) ? false ? invariant(false, 'Expected onSetChildren() to fire for a container child before its parent includes it in onSetChildren().') : _prodInvariant('141') : void 0;\n\t !nextChild.isMounted ? false ? invariant(false, 'Expected onMountComponent() to fire for the child before its parent includes it in onSetChildren().') : _prodInvariant('71') : void 0;\n\t if (nextChild.parentID == null) {\n\t nextChild.parentID = id;\n\t // TODO: This shouldn't be necessary but mounting a new root during in\n\t // componentWillMount currently causes not-yet-mounted components to\n\t // be purged from our tree data so their parent ID is missing.\n\t }\n\t !(nextChild.parentID === id) ? false ? invariant(false, 'Expected onBeforeMountComponent() parent and onSetChildren() to be consistent (%s has parents %s and %s).', nextChildID, nextChild.parentID, id) : _prodInvariant('142', nextChildID, nextChild.parentID, id) : void 0;\n\t }\n\t },\n\t onBeforeMountComponent: function (id, element, parentID) {\n\t create(id, element, parentID);\n\t },\n\t onBeforeUpdateComponent: function (id, element) {\n\t var item = get(id);\n\t if (!item || !item.isMounted) {\n\t // We may end up here as a result of setState() in componentWillUnmount().\n\t // In this case, ignore the element.\n\t return;\n\t }\n\t item.element = element;\n\t },\n\t onMountComponent: function (id) {\n\t var item = get(id);\n\t item.isMounted = true;\n\t var isRoot = item.parentID === 0;\n\t if (isRoot) {\n\t addRoot(id);\n\t }\n\t },\n\t onUpdateComponent: function (id) {\n\t var item = get(id);\n\t if (!item || !item.isMounted) {\n\t // We may end up here as a result of setState() in componentWillUnmount().\n\t // In this case, ignore the element.\n\t return;\n\t }\n\t item.updateCount++;\n\t },\n\t onUnmountComponent: function (id) {\n\t var item = get(id);\n\t if (item) {\n\t // We need to check if it exists.\n\t // `item` might not exist if it is inside an error boundary, and a sibling\n\t // error boundary child threw while mounting. Then this instance never\n\t // got a chance to mount, but it still gets an unmounting event during\n\t // the error boundary cleanup.\n\t item.isMounted = false;\n\t var isRoot = item.parentID === 0;\n\t if (isRoot) {\n\t removeRoot(id);\n\t }\n\t }\n\t unmountedIDs.push(id);\n\t },\n\t purgeUnmountedComponents: function () {\n\t if (ReactComponentTreeHook._preventPurging) {\n\t // Should only be used for testing.\n\t return;\n\t }\n\t\n\t for (var i = 0; i < unmountedIDs.length; i++) {\n\t var id = unmountedIDs[i];\n\t purgeDeep(id);\n\t }\n\t unmountedIDs.length = 0;\n\t },\n\t isMounted: function (id) {\n\t var item = get(id);\n\t return item ? item.isMounted : false;\n\t },\n\t getCurrentStackAddendum: function (topElement) {\n\t var info = '';\n\t if (topElement) {\n\t var type = topElement.type;\n\t var name = typeof type === 'function' ? type.displayName || type.name : type;\n\t var owner = topElement._owner;\n\t info += describeComponentFrame(name || 'Unknown', topElement._source, owner && owner.getName());\n\t }\n\t\n\t var currentOwner = ReactCurrentOwner.current;\n\t var id = currentOwner && currentOwner._debugID;\n\t\n\t info += ReactComponentTreeHook.getStackAddendumByID(id);\n\t return info;\n\t },\n\t getStackAddendumByID: function (id) {\n\t var info = '';\n\t while (id) {\n\t info += describeID(id);\n\t id = ReactComponentTreeHook.getParentID(id);\n\t }\n\t return info;\n\t },\n\t getChildIDs: function (id) {\n\t var item = get(id);\n\t return item ? item.childIDs : [];\n\t },\n\t getDisplayName: function (id) {\n\t var element = ReactComponentTreeHook.getElement(id);\n\t if (!element) {\n\t return null;\n\t }\n\t return getDisplayName(element);\n\t },\n\t getElement: function (id) {\n\t var item = get(id);\n\t return item ? item.element : null;\n\t },\n\t getOwnerID: function (id) {\n\t var element = ReactComponentTreeHook.getElement(id);\n\t if (!element || !element._owner) {\n\t return null;\n\t }\n\t return element._owner._debugID;\n\t },\n\t getParentID: function (id) {\n\t var item = get(id);\n\t return item ? item.parentID : null;\n\t },\n\t getSource: function (id) {\n\t var item = get(id);\n\t var element = item ? item.element : null;\n\t var source = element != null ? element._source : null;\n\t return source;\n\t },\n\t getText: function (id) {\n\t var element = ReactComponentTreeHook.getElement(id);\n\t if (typeof element === 'string') {\n\t return element;\n\t } else if (typeof element === 'number') {\n\t return '' + element;\n\t } else {\n\t return null;\n\t }\n\t },\n\t getUpdateCount: function (id) {\n\t var item = get(id);\n\t return item ? item.updateCount : 0;\n\t },\n\t\n\t\n\t getRegisteredIDs: getRegisteredIDs,\n\t\n\t getRootIDs: getRootIDs\n\t};\n\t\n\tmodule.exports = ReactComponentTreeHook;\n\n/***/ },\n/* 146 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Copyright 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @providesModule ReactErrorUtils\n\t */\n\t\n\t'use strict';\n\t\n\tvar caughtError = null;\n\t\n\t/**\n\t * Call a function while guarding against errors that happens within it.\n\t *\n\t * @param {?String} name of the guard to use for logging or debugging\n\t * @param {Function} func The function to invoke\n\t * @param {*} a First argument\n\t * @param {*} b Second argument\n\t */\n\tfunction invokeGuardedCallback(name, func, a, b) {\n\t try {\n\t return func(a, b);\n\t } catch (x) {\n\t if (caughtError === null) {\n\t caughtError = x;\n\t }\n\t return undefined;\n\t }\n\t}\n\t\n\tvar ReactErrorUtils = {\n\t invokeGuardedCallback: invokeGuardedCallback,\n\t\n\t /**\n\t * Invoked by ReactTestUtils.Simulate so that any errors thrown by the event\n\t * handler are sure to be rethrown by rethrowCaughtError.\n\t */\n\t invokeGuardedCallbackWithCatch: invokeGuardedCallback,\n\t\n\t /**\n\t * During execution of guarded functions we will capture the first error which\n\t * we will rethrow to be handled by the top level error handler.\n\t */\n\t rethrowCaughtError: function () {\n\t if (caughtError) {\n\t var error = caughtError;\n\t caughtError = null;\n\t throw error;\n\t }\n\t }\n\t};\n\t\n\tif (false) {\n\t /**\n\t * To help development we can get better devtools integration by simulating a\n\t * real browser event.\n\t */\n\t if (typeof window !== 'undefined' && typeof window.dispatchEvent === 'function' && typeof document !== 'undefined' && typeof document.createEvent === 'function') {\n\t var fakeNode = document.createElement('react');\n\t ReactErrorUtils.invokeGuardedCallback = function (name, func, a, b) {\n\t var boundFunc = func.bind(null, a, b);\n\t var evtType = 'react-' + name;\n\t fakeNode.addEventListener(evtType, boundFunc, false);\n\t var evt = document.createEvent('Event');\n\t evt.initEvent(evtType, false, false);\n\t fakeNode.dispatchEvent(evt);\n\t fakeNode.removeEventListener(evtType, boundFunc, false);\n\t };\n\t }\n\t}\n\t\n\tmodule.exports = ReactErrorUtils;\n\n/***/ },\n/* 147 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Copyright 2015-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @providesModule ReactNoopUpdateQueue\n\t */\n\t\n\t'use strict';\n\t\n\tvar warning = __webpack_require__(5);\n\t\n\tfunction warnNoop(publicInstance, callerName) {\n\t if (false) {\n\t var constructor = publicInstance.constructor;\n\t process.env.NODE_ENV !== 'production' ? warning(false, '%s(...): Can only update a mounted or mounting component. ' + 'This usually means you called %s() on an unmounted component. ' + 'This is a no-op. Please check the code for the %s component.', callerName, callerName, constructor && (constructor.displayName || constructor.name) || 'ReactClass') : void 0;\n\t }\n\t}\n\t\n\t/**\n\t * This is the abstract API for an update queue.\n\t */\n\tvar ReactNoopUpdateQueue = {\n\t\n\t /**\n\t * Checks whether or not this composite component is mounted.\n\t * @param {ReactClass} publicInstance The instance we want to test.\n\t * @return {boolean} True if mounted, false otherwise.\n\t * @protected\n\t * @final\n\t */\n\t isMounted: function (publicInstance) {\n\t return false;\n\t },\n\t\n\t /**\n\t * Enqueue a callback that will be executed after all the pending updates\n\t * have processed.\n\t *\n\t * @param {ReactClass} publicInstance The instance to use as `this` context.\n\t * @param {?function} callback Called after state is updated.\n\t * @internal\n\t */\n\t enqueueCallback: function (publicInstance, callback) {},\n\t\n\t /**\n\t * Forces an update. This should only be invoked when it is known with\n\t * certainty that we are **not** in a DOM transaction.\n\t *\n\t * You may want to call this when you know that some deeper aspect of the\n\t * component's state has changed but `setState` was not called.\n\t *\n\t * This will not invoke `shouldComponentUpdate`, but it will invoke\n\t * `componentWillUpdate` and `componentDidUpdate`.\n\t *\n\t * @param {ReactClass} publicInstance The instance that should rerender.\n\t * @internal\n\t */\n\t enqueueForceUpdate: function (publicInstance) {\n\t warnNoop(publicInstance, 'forceUpdate');\n\t },\n\t\n\t /**\n\t * Replaces all of the state. Always use this or `setState` to mutate state.\n\t * You should treat `this.state` as immutable.\n\t *\n\t * There is no guarantee that `this.state` will be immediately updated, so\n\t * accessing `this.state` after calling this method may return the old value.\n\t *\n\t * @param {ReactClass} publicInstance The instance that should rerender.\n\t * @param {object} completeState Next state.\n\t * @internal\n\t */\n\t enqueueReplaceState: function (publicInstance, completeState) {\n\t warnNoop(publicInstance, 'replaceState');\n\t },\n\t\n\t /**\n\t * Sets a subset of the state. This only exists because _pendingState is\n\t * internal. This provides a merging strategy that is not available to deep\n\t * properties which is confusing. TODO: Expose pendingState or don't use it\n\t * during the merge.\n\t *\n\t * @param {ReactClass} publicInstance The instance that should rerender.\n\t * @param {object} partialState Next partial state to be merged with state.\n\t * @internal\n\t */\n\t enqueueSetState: function (publicInstance, partialState) {\n\t warnNoop(publicInstance, 'setState');\n\t }\n\t};\n\t\n\tmodule.exports = ReactNoopUpdateQueue;\n\n/***/ },\n/* 148 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Copyright 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @providesModule ReactPropTypeLocationNames\n\t */\n\t\n\t'use strict';\n\t\n\tvar ReactPropTypeLocationNames = {};\n\t\n\tif (false) {\n\t ReactPropTypeLocationNames = {\n\t prop: 'prop',\n\t context: 'context',\n\t childContext: 'child context'\n\t };\n\t}\n\t\n\tmodule.exports = ReactPropTypeLocationNames;\n\n/***/ },\n/* 149 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Copyright 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @providesModule ReactPropTypeLocations\n\t */\n\t\n\t'use strict';\n\t\n\tvar keyMirror = __webpack_require__(83);\n\t\n\tvar ReactPropTypeLocations = keyMirror({\n\t prop: null,\n\t context: null,\n\t childContext: null\n\t});\n\t\n\tmodule.exports = ReactPropTypeLocations;\n\n/***/ },\n/* 150 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Copyright 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @providesModule ReactPropTypesSecret\n\t */\n\t\n\t'use strict';\n\t\n\tvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\t\n\tmodule.exports = ReactPropTypesSecret;\n\n/***/ },\n/* 151 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Copyright 2015-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @providesModule ReactUpdateQueue\n\t */\n\t\n\t'use strict';\n\t\n\tvar _prodInvariant = __webpack_require__(4);\n\t\n\tvar ReactCurrentOwner = __webpack_require__(40);\n\tvar ReactInstanceMap = __webpack_require__(73);\n\tvar ReactInstrumentation = __webpack_require__(25);\n\tvar ReactUpdates = __webpack_require__(30);\n\t\n\tvar invariant = __webpack_require__(3);\n\tvar warning = __webpack_require__(5);\n\t\n\tfunction enqueueUpdate(internalInstance) {\n\t ReactUpdates.enqueueUpdate(internalInstance);\n\t}\n\t\n\tfunction formatUnexpectedArgument(arg) {\n\t var type = typeof arg;\n\t if (type !== 'object') {\n\t return type;\n\t }\n\t var displayName = arg.constructor && arg.constructor.name || type;\n\t var keys = Object.keys(arg);\n\t if (keys.length > 0 && keys.length < 20) {\n\t return displayName + ' (keys: ' + keys.join(', ') + ')';\n\t }\n\t return displayName;\n\t}\n\t\n\tfunction getInternalInstanceReadyForUpdate(publicInstance, callerName) {\n\t var internalInstance = ReactInstanceMap.get(publicInstance);\n\t if (!internalInstance) {\n\t if (false) {\n\t var ctor = publicInstance.constructor;\n\t // Only warn when we have a callerName. Otherwise we should be silent.\n\t // We're probably calling from enqueueCallback. We don't want to warn\n\t // there because we already warned for the corresponding lifecycle method.\n\t process.env.NODE_ENV !== 'production' ? warning(!callerName, '%s(...): Can only update a mounted or mounting component. ' + 'This usually means you called %s() on an unmounted component. ' + 'This is a no-op. Please check the code for the %s component.', callerName, callerName, ctor && (ctor.displayName || ctor.name) || 'ReactClass') : void 0;\n\t }\n\t return null;\n\t }\n\t\n\t if (false) {\n\t process.env.NODE_ENV !== 'production' ? warning(ReactCurrentOwner.current == null, '%s(...): Cannot update during an existing state transition (such as ' + 'within `render` or another component\\'s constructor). Render methods ' + 'should be a pure function of props and state; constructor ' + 'side-effects are an anti-pattern, but can be moved to ' + '`componentWillMount`.', callerName) : void 0;\n\t }\n\t\n\t return internalInstance;\n\t}\n\t\n\t/**\n\t * ReactUpdateQueue allows for state updates to be scheduled into a later\n\t * reconciliation step.\n\t */\n\tvar ReactUpdateQueue = {\n\t\n\t /**\n\t * Checks whether or not this composite component is mounted.\n\t * @param {ReactClass} publicInstance The instance we want to test.\n\t * @return {boolean} True if mounted, false otherwise.\n\t * @protected\n\t * @final\n\t */\n\t isMounted: function (publicInstance) {\n\t if (false) {\n\t var owner = ReactCurrentOwner.current;\n\t if (owner !== null) {\n\t process.env.NODE_ENV !== 'production' ? warning(owner._warnedAboutRefsInRender, '%s is accessing isMounted inside its render() function. ' + 'render() should be a pure function of props and state. It should ' + 'never access something that requires stale data from the previous ' + 'render, such as refs. Move this logic to componentDidMount and ' + 'componentDidUpdate instead.', owner.getName() || 'A component') : void 0;\n\t owner._warnedAboutRefsInRender = true;\n\t }\n\t }\n\t var internalInstance = ReactInstanceMap.get(publicInstance);\n\t if (internalInstance) {\n\t // During componentWillMount and render this will still be null but after\n\t // that will always render to something. At least for now. So we can use\n\t // this hack.\n\t return !!internalInstance._renderedComponent;\n\t } else {\n\t return false;\n\t }\n\t },\n\t\n\t /**\n\t * Enqueue a callback that will be executed after all the pending updates\n\t * have processed.\n\t *\n\t * @param {ReactClass} publicInstance The instance to use as `this` context.\n\t * @param {?function} callback Called after state is updated.\n\t * @param {string} callerName Name of the calling function in the public API.\n\t * @internal\n\t */\n\t enqueueCallback: function (publicInstance, callback, callerName) {\n\t ReactUpdateQueue.validateCallback(callback, callerName);\n\t var internalInstance = getInternalInstanceReadyForUpdate(publicInstance);\n\t\n\t // Previously we would throw an error if we didn't have an internal\n\t // instance. Since we want to make it a no-op instead, we mirror the same\n\t // behavior we have in other enqueue* methods.\n\t // We also need to ignore callbacks in componentWillMount. See\n\t // enqueueUpdates.\n\t if (!internalInstance) {\n\t return null;\n\t }\n\t\n\t if (internalInstance._pendingCallbacks) {\n\t internalInstance._pendingCallbacks.push(callback);\n\t } else {\n\t internalInstance._pendingCallbacks = [callback];\n\t }\n\t // TODO: The callback here is ignored when setState is called from\n\t // componentWillMount. Either fix it or disallow doing so completely in\n\t // favor of getInitialState. Alternatively, we can disallow\n\t // componentWillMount during server-side rendering.\n\t enqueueUpdate(internalInstance);\n\t },\n\t\n\t enqueueCallbackInternal: function (internalInstance, callback) {\n\t if (internalInstance._pendingCallbacks) {\n\t internalInstance._pendingCallbacks.push(callback);\n\t } else {\n\t internalInstance._pendingCallbacks = [callback];\n\t }\n\t enqueueUpdate(internalInstance);\n\t },\n\t\n\t /**\n\t * Forces an update. This should only be invoked when it is known with\n\t * certainty that we are **not** in a DOM transaction.\n\t *\n\t * You may want to call this when you know that some deeper aspect of the\n\t * component's state has changed but `setState` was not called.\n\t *\n\t * This will not invoke `shouldComponentUpdate`, but it will invoke\n\t * `componentWillUpdate` and `componentDidUpdate`.\n\t *\n\t * @param {ReactClass} publicInstance The instance that should rerender.\n\t * @internal\n\t */\n\t enqueueForceUpdate: function (publicInstance) {\n\t var internalInstance = getInternalInstanceReadyForUpdate(publicInstance, 'forceUpdate');\n\t\n\t if (!internalInstance) {\n\t return;\n\t }\n\t\n\t internalInstance._pendingForceUpdate = true;\n\t\n\t enqueueUpdate(internalInstance);\n\t },\n\t\n\t /**\n\t * Replaces all of the state. Always use this or `setState` to mutate state.\n\t * You should treat `this.state` as immutable.\n\t *\n\t * There is no guarantee that `this.state` will be immediately updated, so\n\t * accessing `this.state` after calling this method may return the old value.\n\t *\n\t * @param {ReactClass} publicInstance The instance that should rerender.\n\t * @param {object} completeState Next state.\n\t * @internal\n\t */\n\t enqueueReplaceState: function (publicInstance, completeState) {\n\t var internalInstance = getInternalInstanceReadyForUpdate(publicInstance, 'replaceState');\n\t\n\t if (!internalInstance) {\n\t return;\n\t }\n\t\n\t internalInstance._pendingStateQueue = [completeState];\n\t internalInstance._pendingReplaceState = true;\n\t\n\t enqueueUpdate(internalInstance);\n\t },\n\t\n\t /**\n\t * Sets a subset of the state. This only exists because _pendingState is\n\t * internal. This provides a merging strategy that is not available to deep\n\t * properties which is confusing. TODO: Expose pendingState or don't use it\n\t * during the merge.\n\t *\n\t * @param {ReactClass} publicInstance The instance that should rerender.\n\t * @param {object} partialState Next partial state to be merged with state.\n\t * @internal\n\t */\n\t enqueueSetState: function (publicInstance, partialState) {\n\t if (false) {\n\t ReactInstrumentation.debugTool.onSetState();\n\t process.env.NODE_ENV !== 'production' ? warning(partialState != null, 'setState(...): You passed an undefined or null state object; ' + 'instead, use forceUpdate().') : void 0;\n\t }\n\t\n\t var internalInstance = getInternalInstanceReadyForUpdate(publicInstance, 'setState');\n\t\n\t if (!internalInstance) {\n\t return;\n\t }\n\t\n\t var queue = internalInstance._pendingStateQueue || (internalInstance._pendingStateQueue = []);\n\t queue.push(partialState);\n\t\n\t enqueueUpdate(internalInstance);\n\t },\n\t\n\t enqueueElementInternal: function (internalInstance, nextElement, nextContext) {\n\t internalInstance._pendingElement = nextElement;\n\t // TODO: introduce _pendingContext instead of setting it directly.\n\t internalInstance._context = nextContext;\n\t enqueueUpdate(internalInstance);\n\t },\n\t\n\t validateCallback: function (callback, callerName) {\n\t !(!callback || typeof callback === 'function') ? false ? invariant(false, '%s(...): Expected the last optional `callback` argument to be a function. Instead received: %s.', callerName, formatUnexpectedArgument(callback)) : _prodInvariant('122', callerName, formatUnexpectedArgument(callback)) : void 0;\n\t }\n\t\n\t};\n\t\n\tmodule.exports = ReactUpdateQueue;\n\n/***/ },\n/* 152 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Copyright 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @providesModule createMicrosoftUnsafeLocalFunction\n\t */\n\t\n\t/* globals MSApp */\n\t\n\t'use strict';\n\t\n\t/**\n\t * Create a function which has 'unsafe' privileges (required by windows8 apps)\n\t */\n\t\n\tvar createMicrosoftUnsafeLocalFunction = function (func) {\n\t if (typeof MSApp !== 'undefined' && MSApp.execUnsafeLocalFunction) {\n\t return function (arg0, arg1, arg2, arg3) {\n\t MSApp.execUnsafeLocalFunction(function () {\n\t return func(arg0, arg1, arg2, arg3);\n\t });\n\t };\n\t } else {\n\t return func;\n\t }\n\t};\n\t\n\tmodule.exports = createMicrosoftUnsafeLocalFunction;\n\n/***/ },\n/* 153 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Copyright 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @providesModule getEventCharCode\n\t */\n\t\n\t'use strict';\n\t\n\t/**\n\t * `charCode` represents the actual \"character code\" and is safe to use with\n\t * `String.fromCharCode`. As such, only keys that correspond to printable\n\t * characters produce a valid `charCode`, the only exception to this is Enter.\n\t * The Tab-key is considered non-printable and does not have a `charCode`,\n\t * presumably because it does not produce a tab-character in browsers.\n\t *\n\t * @param {object} nativeEvent Native browser event.\n\t * @return {number} Normalized `charCode` property.\n\t */\n\t\n\tfunction getEventCharCode(nativeEvent) {\n\t var charCode;\n\t var keyCode = nativeEvent.keyCode;\n\t\n\t if ('charCode' in nativeEvent) {\n\t charCode = nativeEvent.charCode;\n\t\n\t // FF does not set `charCode` for the Enter-key, check against `keyCode`.\n\t if (charCode === 0 && keyCode === 13) {\n\t charCode = 13;\n\t }\n\t } else {\n\t // IE8 does not implement `charCode`, but `keyCode` has the correct value.\n\t charCode = keyCode;\n\t }\n\t\n\t // Some non-printable keys are reported in `charCode`/`keyCode`, discard them.\n\t // Must not discard the (non-)printable Enter-key.\n\t if (charCode >= 32 || charCode === 13) {\n\t return charCode;\n\t }\n\t\n\t return 0;\n\t}\n\t\n\tmodule.exports = getEventCharCode;\n\n/***/ },\n/* 154 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Copyright 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @providesModule getEventModifierState\n\t */\n\t\n\t'use strict';\n\t\n\t/**\n\t * Translation from modifier key to the associated property in the event.\n\t * @see http://www.w3.org/TR/DOM-Level-3-Events/#keys-Modifiers\n\t */\n\t\n\tvar modifierKeyToProp = {\n\t 'Alt': 'altKey',\n\t 'Control': 'ctrlKey',\n\t 'Meta': 'metaKey',\n\t 'Shift': 'shiftKey'\n\t};\n\t\n\t// IE8 does not implement getModifierState so we simply map it to the only\n\t// modifier keys exposed by the event itself, does not support Lock-keys.\n\t// Currently, all major browsers except Chrome seems to support Lock-keys.\n\tfunction modifierStateGetter(keyArg) {\n\t var syntheticEvent = this;\n\t var nativeEvent = syntheticEvent.nativeEvent;\n\t if (nativeEvent.getModifierState) {\n\t return nativeEvent.getModifierState(keyArg);\n\t }\n\t var keyProp = modifierKeyToProp[keyArg];\n\t return keyProp ? !!nativeEvent[keyProp] : false;\n\t}\n\t\n\tfunction getEventModifierState(nativeEvent) {\n\t return modifierStateGetter;\n\t}\n\t\n\tmodule.exports = getEventModifierState;\n\n/***/ },\n/* 155 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Copyright 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @providesModule getEventTarget\n\t */\n\t\n\t'use strict';\n\t\n\t/**\n\t * Gets the target node from a native browser event by accounting for\n\t * inconsistencies in browser DOM APIs.\n\t *\n\t * @param {object} nativeEvent Native browser event.\n\t * @return {DOMEventTarget} Target node.\n\t */\n\t\n\tfunction getEventTarget(nativeEvent) {\n\t var target = nativeEvent.target || nativeEvent.srcElement || window;\n\t\n\t // Normalize SVG element events #4963\n\t if (target.correspondingUseElement) {\n\t target = target.correspondingUseElement;\n\t }\n\t\n\t // Safari may fire events on text nodes (Node.TEXT_NODE is 3).\n\t // @see http://www.quirksmode.org/js/events_properties.html\n\t return target.nodeType === 3 ? target.parentNode : target;\n\t}\n\t\n\tmodule.exports = getEventTarget;\n\n/***/ },\n/* 156 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Copyright 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @providesModule isEventSupported\n\t */\n\t\n\t'use strict';\n\t\n\tvar ExecutionEnvironment = __webpack_require__(18);\n\t\n\tvar useHasFeature;\n\tif (ExecutionEnvironment.canUseDOM) {\n\t useHasFeature = document.implementation && document.implementation.hasFeature &&\n\t // always returns true in newer browsers as per the standard.\n\t // @see http://dom.spec.whatwg.org/#dom-domimplementation-hasfeature\n\t document.implementation.hasFeature('', '') !== true;\n\t}\n\t\n\t/**\n\t * Checks if an event is supported in the current execution environment.\n\t *\n\t * NOTE: This will not work correctly for non-generic events such as `change`,\n\t * `reset`, `load`, `error`, and `select`.\n\t *\n\t * Borrows from Modernizr.\n\t *\n\t * @param {string} eventNameSuffix Event name, e.g. \"click\".\n\t * @param {?boolean} capture Check if the capture phase is supported.\n\t * @return {boolean} True if the event is supported.\n\t * @internal\n\t * @license Modernizr 3.0.0pre (Custom Build) | MIT\n\t */\n\tfunction isEventSupported(eventNameSuffix, capture) {\n\t if (!ExecutionEnvironment.canUseDOM || capture && !('addEventListener' in document)) {\n\t return false;\n\t }\n\t\n\t var eventName = 'on' + eventNameSuffix;\n\t var isSupported = eventName in document;\n\t\n\t if (!isSupported) {\n\t var element = document.createElement('div');\n\t element.setAttribute(eventName, 'return;');\n\t isSupported = typeof element[eventName] === 'function';\n\t }\n\t\n\t if (!isSupported && useHasFeature && eventNameSuffix === 'wheel') {\n\t // This is the only way to test support for the `wheel` event in IE9+.\n\t isSupported = document.implementation.hasFeature('Events.wheel', '3.0');\n\t }\n\t\n\t return isSupported;\n\t}\n\t\n\tmodule.exports = isEventSupported;\n\n/***/ },\n/* 157 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Copyright 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @providesModule shouldUpdateReactComponent\n\t */\n\t\n\t'use strict';\n\t\n\t/**\n\t * Given a `prevElement` and `nextElement`, determines if the existing\n\t * instance should be updated as opposed to being destroyed or replaced by a new\n\t * instance. Both arguments are elements. This ensures that this logic can\n\t * operate on stateless trees without any backing instance.\n\t *\n\t * @param {?object} prevElement\n\t * @param {?object} nextElement\n\t * @return {boolean} True if the existing instance should be updated.\n\t * @protected\n\t */\n\t\n\tfunction shouldUpdateReactComponent(prevElement, nextElement) {\n\t var prevEmpty = prevElement === null || prevElement === false;\n\t var nextEmpty = nextElement === null || nextElement === false;\n\t if (prevEmpty || nextEmpty) {\n\t return prevEmpty === nextEmpty;\n\t }\n\t\n\t var prevType = typeof prevElement;\n\t var nextType = typeof nextElement;\n\t if (prevType === 'string' || prevType === 'number') {\n\t return nextType === 'string' || nextType === 'number';\n\t } else {\n\t return nextType === 'object' && prevElement.type === nextElement.type && prevElement.key === nextElement.key;\n\t }\n\t}\n\t\n\tmodule.exports = shouldUpdateReactComponent;\n\n/***/ },\n/* 158 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Copyright 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @providesModule traverseAllChildren\n\t */\n\t\n\t'use strict';\n\t\n\tvar _prodInvariant = __webpack_require__(4);\n\t\n\tvar ReactCurrentOwner = __webpack_require__(40);\n\tvar ReactElement = __webpack_require__(29);\n\t\n\tvar getIteratorFn = __webpack_require__(345);\n\tvar invariant = __webpack_require__(3);\n\tvar KeyEscapeUtils = __webpack_require__(141);\n\tvar warning = __webpack_require__(5);\n\t\n\tvar SEPARATOR = '.';\n\tvar SUBSEPARATOR = ':';\n\t\n\t/**\n\t * TODO: Test that a single child and an array with one item have the same key\n\t * pattern.\n\t */\n\t\n\tvar didWarnAboutMaps = false;\n\t\n\t/**\n\t * Generate a key string that identifies a component within a set.\n\t *\n\t * @param {*} component A component that could contain a manual key.\n\t * @param {number} index Index that is used if a manual key is not provided.\n\t * @return {string}\n\t */\n\tfunction getComponentKey(component, index) {\n\t // Do some typechecking here since we call this blindly. We want to ensure\n\t // that we don't block potential future ES APIs.\n\t if (component && typeof component === 'object' && component.key != null) {\n\t // Explicit key\n\t return KeyEscapeUtils.escape(component.key);\n\t }\n\t // Implicit key determined by the index in the set\n\t return index.toString(36);\n\t}\n\t\n\t/**\n\t * @param {?*} children Children tree container.\n\t * @param {!string} nameSoFar Name of the key path so far.\n\t * @param {!function} callback Callback to invoke with each child found.\n\t * @param {?*} traverseContext Used to pass information throughout the traversal\n\t * process.\n\t * @return {!number} The number of children in this subtree.\n\t */\n\tfunction traverseAllChildrenImpl(children, nameSoFar, callback, traverseContext) {\n\t var type = typeof children;\n\t\n\t if (type === 'undefined' || type === 'boolean') {\n\t // All of the above are perceived as null.\n\t children = null;\n\t }\n\t\n\t if (children === null || type === 'string' || type === 'number' || ReactElement.isValidElement(children)) {\n\t callback(traverseContext, children,\n\t // If it's the only child, treat the name as if it was wrapped in an array\n\t // so that it's consistent if the number of children grows.\n\t nameSoFar === '' ? SEPARATOR + getComponentKey(children, 0) : nameSoFar);\n\t return 1;\n\t }\n\t\n\t var child;\n\t var nextName;\n\t var subtreeCount = 0; // Count of children found in the current subtree.\n\t var nextNamePrefix = nameSoFar === '' ? SEPARATOR : nameSoFar + SUBSEPARATOR;\n\t\n\t if (Array.isArray(children)) {\n\t for (var i = 0; i < children.length; i++) {\n\t child = children[i];\n\t nextName = nextNamePrefix + getComponentKey(child, i);\n\t subtreeCount += traverseAllChildrenImpl(child, nextName, callback, traverseContext);\n\t }\n\t } else {\n\t var iteratorFn = getIteratorFn(children);\n\t if (iteratorFn) {\n\t var iterator = iteratorFn.call(children);\n\t var step;\n\t if (iteratorFn !== children.entries) {\n\t var ii = 0;\n\t while (!(step = iterator.next()).done) {\n\t child = step.value;\n\t nextName = nextNamePrefix + getComponentKey(child, ii++);\n\t subtreeCount += traverseAllChildrenImpl(child, nextName, callback, traverseContext);\n\t }\n\t } else {\n\t if (false) {\n\t var mapsAsChildrenAddendum = '';\n\t if (ReactCurrentOwner.current) {\n\t var mapsAsChildrenOwnerName = ReactCurrentOwner.current.getName();\n\t if (mapsAsChildrenOwnerName) {\n\t mapsAsChildrenAddendum = ' Check the render method of `' + mapsAsChildrenOwnerName + '`.';\n\t }\n\t }\n\t process.env.NODE_ENV !== 'production' ? warning(didWarnAboutMaps, 'Using Maps as children is not yet fully supported. It is an ' + 'experimental feature that might be removed. Convert it to a ' + 'sequence / iterable of keyed ReactElements instead.%s', mapsAsChildrenAddendum) : void 0;\n\t didWarnAboutMaps = true;\n\t }\n\t // Iterator will provide entry [k,v] tuples rather than values.\n\t while (!(step = iterator.next()).done) {\n\t var entry = step.value;\n\t if (entry) {\n\t child = entry[1];\n\t nextName = nextNamePrefix + KeyEscapeUtils.escape(entry[0]) + SUBSEPARATOR + getComponentKey(child, 0);\n\t subtreeCount += traverseAllChildrenImpl(child, nextName, callback, traverseContext);\n\t }\n\t }\n\t }\n\t } else if (type === 'object') {\n\t var addendum = '';\n\t if (false) {\n\t addendum = ' If you meant to render a collection of children, use an array ' + 'instead or wrap the object using createFragment(object) from the ' + 'React add-ons.';\n\t if (children._isReactElement) {\n\t addendum = ' It looks like you\\'re using an element created by a different ' + 'version of React. Make sure to use only one copy of React.';\n\t }\n\t if (ReactCurrentOwner.current) {\n\t var name = ReactCurrentOwner.current.getName();\n\t if (name) {\n\t addendum += ' Check the render method of `' + name + '`.';\n\t }\n\t }\n\t }\n\t var childrenString = String(children);\n\t true ? false ? invariant(false, 'Objects are not valid as a React child (found: %s).%s', childrenString === '[object Object]' ? 'object with keys {' + Object.keys(children).join(', ') + '}' : childrenString, addendum) : _prodInvariant('31', childrenString === '[object Object]' ? 'object with keys {' + Object.keys(children).join(', ') + '}' : childrenString, addendum) : void 0;\n\t }\n\t }\n\t\n\t return subtreeCount;\n\t}\n\t\n\t/**\n\t * Traverses children that are typically specified as `props.children`, but\n\t * might also be specified through attributes:\n\t *\n\t * - `traverseAllChildren(this.props.children, ...)`\n\t * - `traverseAllChildren(this.props.leftPanelChildren, ...)`\n\t *\n\t * The `traverseContext` is an optional argument that is passed through the\n\t * entire traversal. It can be used to store accumulations or anything else that\n\t * the callback might find relevant.\n\t *\n\t * @param {?*} children Children tree object.\n\t * @param {!function} callback To invoke upon traversing each child.\n\t * @param {?*} traverseContext Context for traversal.\n\t * @return {!number} The number of children in this subtree.\n\t */\n\tfunction traverseAllChildren(children, callback, traverseContext) {\n\t if (children == null) {\n\t return 0;\n\t }\n\t\n\t return traverseAllChildrenImpl(children, '', callback, traverseContext);\n\t}\n\t\n\tmodule.exports = traverseAllChildren;\n\n/***/ },\n/* 159 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Copyright 2015-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @providesModule validateDOMNesting\n\t */\n\t\n\t'use strict';\n\t\n\tvar _assign = __webpack_require__(6);\n\t\n\tvar emptyFunction = __webpack_require__(24);\n\tvar warning = __webpack_require__(5);\n\t\n\tvar validateDOMNesting = emptyFunction;\n\t\n\tif (false) {\n\t // This validation code was written based on the HTML5 parsing spec:\n\t // https://html.spec.whatwg.org/multipage/syntax.html#has-an-element-in-scope\n\t //\n\t // Note: this does not catch all invalid nesting, nor does it try to (as it's\n\t // not clear what practical benefit doing so provides); instead, we warn only\n\t // for cases where the parser will give a parse tree differing from what React\n\t // intended. For example,
is invalid but we don't warn\n\t // because it still parses correctly; we do warn for other cases like nested\n\t //

tags where the beginning of the second element implicitly closes the\n\t // first, causing a confusing mess.\n\t\n\t // https://html.spec.whatwg.org/multipage/syntax.html#special\n\t var specialTags = ['address', 'applet', 'area', 'article', 'aside', 'base', 'basefont', 'bgsound', 'blockquote', 'body', 'br', 'button', 'caption', 'center', 'col', 'colgroup', 'dd', 'details', 'dir', 'div', 'dl', 'dt', 'embed', 'fieldset', 'figcaption', 'figure', 'footer', 'form', 'frame', 'frameset', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'header', 'hgroup', 'hr', 'html', 'iframe', 'img', 'input', 'isindex', 'li', 'link', 'listing', 'main', 'marquee', 'menu', 'menuitem', 'meta', 'nav', 'noembed', 'noframes', 'noscript', 'object', 'ol', 'p', 'param', 'plaintext', 'pre', 'script', 'section', 'select', 'source', 'style', 'summary', 'table', 'tbody', 'td', 'template', 'textarea', 'tfoot', 'th', 'thead', 'title', 'tr', 'track', 'ul', 'wbr', 'xmp'];\n\t\n\t // https://html.spec.whatwg.org/multipage/syntax.html#has-an-element-in-scope\n\t var inScopeTags = ['applet', 'caption', 'html', 'table', 'td', 'th', 'marquee', 'object', 'template',\n\t\n\t // https://html.spec.whatwg.org/multipage/syntax.html#html-integration-point\n\t // TODO: Distinguish by namespace here -- for , including it here\n\t // errs on the side of fewer warnings\n\t 'foreignObject', 'desc', 'title'];\n\t\n\t // https://html.spec.whatwg.org/multipage/syntax.html#has-an-element-in-button-scope\n\t var buttonScopeTags = inScopeTags.concat(['button']);\n\t\n\t // https://html.spec.whatwg.org/multipage/syntax.html#generate-implied-end-tags\n\t var impliedEndTags = ['dd', 'dt', 'li', 'option', 'optgroup', 'p', 'rp', 'rt'];\n\t\n\t var emptyAncestorInfo = {\n\t current: null,\n\t\n\t formTag: null,\n\t aTagInScope: null,\n\t buttonTagInScope: null,\n\t nobrTagInScope: null,\n\t pTagInButtonScope: null,\n\t\n\t listItemTagAutoclosing: null,\n\t dlItemTagAutoclosing: null\n\t };\n\t\n\t var updatedAncestorInfo = function (oldInfo, tag, instance) {\n\t var ancestorInfo = _assign({}, oldInfo || emptyAncestorInfo);\n\t var info = { tag: tag, instance: instance };\n\t\n\t if (inScopeTags.indexOf(tag) !== -1) {\n\t ancestorInfo.aTagInScope = null;\n\t ancestorInfo.buttonTagInScope = null;\n\t ancestorInfo.nobrTagInScope = null;\n\t }\n\t if (buttonScopeTags.indexOf(tag) !== -1) {\n\t ancestorInfo.pTagInButtonScope = null;\n\t }\n\t\n\t // See rules for 'li', 'dd', 'dt' start tags in\n\t // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-inbody\n\t if (specialTags.indexOf(tag) !== -1 && tag !== 'address' && tag !== 'div' && tag !== 'p') {\n\t ancestorInfo.listItemTagAutoclosing = null;\n\t ancestorInfo.dlItemTagAutoclosing = null;\n\t }\n\t\n\t ancestorInfo.current = info;\n\t\n\t if (tag === 'form') {\n\t ancestorInfo.formTag = info;\n\t }\n\t if (tag === 'a') {\n\t ancestorInfo.aTagInScope = info;\n\t }\n\t if (tag === 'button') {\n\t ancestorInfo.buttonTagInScope = info;\n\t }\n\t if (tag === 'nobr') {\n\t ancestorInfo.nobrTagInScope = info;\n\t }\n\t if (tag === 'p') {\n\t ancestorInfo.pTagInButtonScope = info;\n\t }\n\t if (tag === 'li') {\n\t ancestorInfo.listItemTagAutoclosing = info;\n\t }\n\t if (tag === 'dd' || tag === 'dt') {\n\t ancestorInfo.dlItemTagAutoclosing = info;\n\t }\n\t\n\t return ancestorInfo;\n\t };\n\t\n\t /**\n\t * Returns whether\n\t */\n\t var isTagValidWithParent = function (tag, parentTag) {\n\t // First, let's check if we're in an unusual parsing mode...\n\t switch (parentTag) {\n\t // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-inselect\n\t case 'select':\n\t return tag === 'option' || tag === 'optgroup' || tag === '#text';\n\t case 'optgroup':\n\t return tag === 'option' || tag === '#text';\n\t // Strictly speaking, seeing an <option> doesn't mean we're in a <select>\n\t // but\n\t case 'option':\n\t return tag === '#text';\n\t\n\t // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-intd\n\t // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-incaption\n\t // No special behavior since these rules fall back to \"in body\" mode for\n\t // all except special table nodes which cause bad parsing behavior anyway.\n\t\n\t // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-intr\n\t case 'tr':\n\t return tag === 'th' || tag === 'td' || tag === 'style' || tag === 'script' || tag === 'template';\n\t\n\t // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-intbody\n\t case 'tbody':\n\t case 'thead':\n\t case 'tfoot':\n\t return tag === 'tr' || tag === 'style' || tag === 'script' || tag === 'template';\n\t\n\t // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-incolgroup\n\t case 'colgroup':\n\t return tag === 'col' || tag === 'template';\n\t\n\t // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-intable\n\t case 'table':\n\t return tag === 'caption' || tag === 'colgroup' || tag === 'tbody' || tag === 'tfoot' || tag === 'thead' || tag === 'style' || tag === 'script' || tag === 'template';\n\t\n\t // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-inhead\n\t case 'head':\n\t return tag === 'base' || tag === 'basefont' || tag === 'bgsound' || tag === 'link' || tag === 'meta' || tag === 'title' || tag === 'noscript' || tag === 'noframes' || tag === 'style' || tag === 'script' || tag === 'template';\n\t\n\t // https://html.spec.whatwg.org/multipage/semantics.html#the-html-element\n\t case 'html':\n\t return tag === 'head' || tag === 'body';\n\t case '#document':\n\t return tag === 'html';\n\t }\n\t\n\t // Probably in the \"in body\" parsing mode, so we outlaw only tag combos\n\t // where the parsing rules cause implicit opens or closes to be added.\n\t // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-inbody\n\t switch (tag) {\n\t case 'h1':\n\t case 'h2':\n\t case 'h3':\n\t case 'h4':\n\t case 'h5':\n\t case 'h6':\n\t return parentTag !== 'h1' && parentTag !== 'h2' && parentTag !== 'h3' && parentTag !== 'h4' && parentTag !== 'h5' && parentTag !== 'h6';\n\t\n\t case 'rp':\n\t case 'rt':\n\t return impliedEndTags.indexOf(parentTag) === -1;\n\t\n\t case 'body':\n\t case 'caption':\n\t case 'col':\n\t case 'colgroup':\n\t case 'frame':\n\t case 'head':\n\t case 'html':\n\t case 'tbody':\n\t case 'td':\n\t case 'tfoot':\n\t case 'th':\n\t case 'thead':\n\t case 'tr':\n\t // These tags are only valid with a few parents that have special child\n\t // parsing rules -- if we're down here, then none of those matched and\n\t // so we allow it only if we don't know what the parent is, as all other\n\t // cases are invalid.\n\t return parentTag == null;\n\t }\n\t\n\t return true;\n\t };\n\t\n\t /**\n\t * Returns whether\n\t */\n\t var findInvalidAncestorForTag = function (tag, ancestorInfo) {\n\t switch (tag) {\n\t case 'address':\n\t case 'article':\n\t case 'aside':\n\t case 'blockquote':\n\t case 'center':\n\t case 'details':\n\t case 'dialog':\n\t case 'dir':\n\t case 'div':\n\t case 'dl':\n\t case 'fieldset':\n\t case 'figcaption':\n\t case 'figure':\n\t case 'footer':\n\t case 'header':\n\t case 'hgroup':\n\t case 'main':\n\t case 'menu':\n\t case 'nav':\n\t case 'ol':\n\t case 'p':\n\t case 'section':\n\t case 'summary':\n\t case 'ul':\n\t\n\t case 'pre':\n\t case 'listing':\n\t\n\t case 'table':\n\t\n\t case 'hr':\n\t\n\t case 'xmp':\n\t\n\t case 'h1':\n\t case 'h2':\n\t case 'h3':\n\t case 'h4':\n\t case 'h5':\n\t case 'h6':\n\t return ancestorInfo.pTagInButtonScope;\n\t\n\t case 'form':\n\t return ancestorInfo.formTag || ancestorInfo.pTagInButtonScope;\n\t\n\t case 'li':\n\t return ancestorInfo.listItemTagAutoclosing;\n\t\n\t case 'dd':\n\t case 'dt':\n\t return ancestorInfo.dlItemTagAutoclosing;\n\t\n\t case 'button':\n\t return ancestorInfo.buttonTagInScope;\n\t\n\t case 'a':\n\t // Spec says something about storing a list of markers, but it sounds\n\t // equivalent to this check.\n\t return ancestorInfo.aTagInScope;\n\t\n\t case 'nobr':\n\t return ancestorInfo.nobrTagInScope;\n\t }\n\t\n\t return null;\n\t };\n\t\n\t /**\n\t * Given a ReactCompositeComponent instance, return a list of its recursive\n\t * owners, starting at the root and ending with the instance itself.\n\t */\n\t var findOwnerStack = function (instance) {\n\t if (!instance) {\n\t return [];\n\t }\n\t\n\t var stack = [];\n\t do {\n\t stack.push(instance);\n\t } while (instance = instance._currentElement._owner);\n\t stack.reverse();\n\t return stack;\n\t };\n\t\n\t var didWarn = {};\n\t\n\t validateDOMNesting = function (childTag, childText, childInstance, ancestorInfo) {\n\t ancestorInfo = ancestorInfo || emptyAncestorInfo;\n\t var parentInfo = ancestorInfo.current;\n\t var parentTag = parentInfo && parentInfo.tag;\n\t\n\t if (childText != null) {\n\t process.env.NODE_ENV !== 'production' ? warning(childTag == null, 'validateDOMNesting: when childText is passed, childTag should be null') : void 0;\n\t childTag = '#text';\n\t }\n\t\n\t var invalidParent = isTagValidWithParent(childTag, parentTag) ? null : parentInfo;\n\t var invalidAncestor = invalidParent ? null : findInvalidAncestorForTag(childTag, ancestorInfo);\n\t var problematic = invalidParent || invalidAncestor;\n\t\n\t if (problematic) {\n\t var ancestorTag = problematic.tag;\n\t var ancestorInstance = problematic.instance;\n\t\n\t var childOwner = childInstance && childInstance._currentElement._owner;\n\t var ancestorOwner = ancestorInstance && ancestorInstance._currentElement._owner;\n\t\n\t var childOwners = findOwnerStack(childOwner);\n\t var ancestorOwners = findOwnerStack(ancestorOwner);\n\t\n\t var minStackLen = Math.min(childOwners.length, ancestorOwners.length);\n\t var i;\n\t\n\t var deepestCommon = -1;\n\t for (i = 0; i < minStackLen; i++) {\n\t if (childOwners[i] === ancestorOwners[i]) {\n\t deepestCommon = i;\n\t } else {\n\t break;\n\t }\n\t }\n\t\n\t var UNKNOWN = '(unknown)';\n\t var childOwnerNames = childOwners.slice(deepestCommon + 1).map(function (inst) {\n\t return inst.getName() || UNKNOWN;\n\t });\n\t var ancestorOwnerNames = ancestorOwners.slice(deepestCommon + 1).map(function (inst) {\n\t return inst.getName() || UNKNOWN;\n\t });\n\t var ownerInfo = [].concat(\n\t // If the parent and child instances have a common owner ancestor, start\n\t // with that -- otherwise we just start with the parent's owners.\n\t deepestCommon !== -1 ? childOwners[deepestCommon].getName() || UNKNOWN : [], ancestorOwnerNames, ancestorTag,\n\t // If we're warning about an invalid (non-parent) ancestry, add '...'\n\t invalidAncestor ? ['...'] : [], childOwnerNames, childTag).join(' > ');\n\t\n\t var warnKey = !!invalidParent + '|' + childTag + '|' + ancestorTag + '|' + ownerInfo;\n\t if (didWarn[warnKey]) {\n\t return;\n\t }\n\t didWarn[warnKey] = true;\n\t\n\t var tagDisplayName = childTag;\n\t var whitespaceInfo = '';\n\t if (childTag === '#text') {\n\t if (/\\S/.test(childText)) {\n\t tagDisplayName = 'Text nodes';\n\t } else {\n\t tagDisplayName = 'Whitespace text nodes';\n\t whitespaceInfo = ' Make sure you don\\'t have any extra whitespace between tags on ' + 'each line of your source code.';\n\t }\n\t } else {\n\t tagDisplayName = '<' + childTag + '>';\n\t }\n\t\n\t if (invalidParent) {\n\t var info = '';\n\t if (ancestorTag === 'table' && childTag === 'tr') {\n\t info += ' Add a <tbody> to your code to match the DOM tree generated by ' + 'the browser.';\n\t }\n\t process.env.NODE_ENV !== 'production' ? warning(false, 'validateDOMNesting(...): %s cannot appear as a child of <%s>.%s ' + 'See %s.%s', tagDisplayName, ancestorTag, whitespaceInfo, ownerInfo, info) : void 0;\n\t } else {\n\t process.env.NODE_ENV !== 'production' ? warning(false, 'validateDOMNesting(...): %s cannot appear as a descendant of ' + '<%s>. See %s.', tagDisplayName, ancestorTag, ownerInfo) : void 0;\n\t }\n\t }\n\t };\n\t\n\t validateDOMNesting.updatedAncestorInfo = updatedAncestorInfo;\n\t\n\t // For testing\n\t validateDOMNesting.isTagValidInContext = function (tag, ancestorInfo) {\n\t ancestorInfo = ancestorInfo || emptyAncestorInfo;\n\t var parentInfo = ancestorInfo.current;\n\t var parentTag = parentInfo && parentInfo.tag;\n\t return isTagValidWithParent(tag, parentTag) && !findInvalidAncestorForTag(tag, ancestorInfo);\n\t };\n\t}\n\t\n\tmodule.exports = validateDOMNesting;\n\n/***/ },\n/* 160 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\texports.fetchConfig = fetchConfig;\n\texports.putConfig = putConfig;\n\texports.onEditorChange = onEditorChange;\n\t\n\tvar _actionTypes = __webpack_require__(14);\n\t\n\tvar ActionTypes = _interopRequireWildcard(_actionTypes);\n\t\n\tvar _api = __webpack_require__(57);\n\t\n\tvar _lang = __webpack_require__(8);\n\t\n\tvar _notifications = __webpack_require__(100);\n\t\n\tvar _fetch = __webpack_require__(58);\n\t\n\tvar _helpers = __webpack_require__(20);\n\t\n\tfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\t\n\tfunction fetchConfig() {\n\t return function (dispatch) {\n\t dispatch({ type: ActionTypes.FETCH_CONFIG_REQUEST });\n\t return (0, _fetch.get)((0, _api.getConfigurationUrl)(), { type: ActionTypes.FETCH_CONFIG_SUCCESS, name: \"config\" }, { type: ActionTypes.FETCH_CONFIG_FAILURE, name: \"error\" }, dispatch);\n\t };\n\t}\n\t\n\tfunction putConfig(config) {\n\t return function (dispatch) {\n\t var json = void 0;\n\t try {\n\t json = (0, _helpers.toJSON)(config);\n\t } catch (e) {\n\t return dispatch((0, _notifications.addNotification)((0, _lang.getParserErrorMessage)(), e.message, 'error'));\n\t }\n\t return (0, _fetch.put)((0, _api.putConfigurationUrl)(), JSON.stringify(json), { type: ActionTypes.PUT_CONFIG_SUCCESS, name: \"config\" }, { type: ActionTypes.PUT_CONFIG_FAILURE, name: \"error\" }, dispatch);\n\t };\n\t}\n\t\n\tfunction onEditorChange() {\n\t return {\n\t type: ActionTypes.CONFIG_EDITOR_CHANGED\n\t };\n\t}\n\n/***/ },\n/* 161 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\texports.filterByTitle = undefined;\n\texports.default = collections;\n\t\n\tvar _actionTypes = __webpack_require__(14);\n\t\n\tvar _underscore = __webpack_require__(7);\n\t\n\tvar _underscore2 = _interopRequireDefault(_underscore);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction collections() {\n\t var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {\n\t collections: [],\n\t currentCollection: {},\n\t currentDocument: {},\n\t isFetching: false,\n\t updated: false\n\t };\n\t var action = arguments[1];\n\t\n\t switch (action.type) {\n\t case _actionTypes.FETCH_COLLECTIONS_REQUEST:\n\t case _actionTypes.FETCH_COLLECTION_REQUEST:\n\t case _actionTypes.FETCH_DOCUMENT_REQUEST:\n\t return Object.assign({}, state, {\n\t isFetching: true\n\t });\n\t case _actionTypes.FETCH_COLLECTIONS_SUCCESS:\n\t return Object.assign({}, state, {\n\t collections: action.collections,\n\t isFetching: false\n\t });\n\t case _actionTypes.FETCH_COLLECTION_SUCCESS:\n\t return Object.assign({}, state, {\n\t currentCollection: action.collection,\n\t isFetching: false\n\t });\n\t case _actionTypes.FETCH_DOCUMENT_SUCCESS:\n\t return Object.assign({}, state, {\n\t currentDocument: action.doc,\n\t isFetching: false\n\t });\n\t case _actionTypes.FETCH_COLLECTIONS_FAILURE:\n\t case _actionTypes.FETCH_COLLECTION_FAILURE:\n\t case _actionTypes.FETCH_DOCUMENT_FAILURE:\n\t return Object.assign({}, state, {\n\t isFetching: false\n\t });\n\t case _actionTypes.PUT_DOCUMENT_SUCCESS:\n\t return Object.assign({}, state, {\n\t currentDocument: action.doc,\n\t updated: true\n\t });\n\t default:\n\t return Object.assign({}, state, {\n\t updated: false\n\t });\n\t }\n\t}\n\t\n\t// Selectors\n\tvar filterByTitle = exports.filterByTitle = function filterByTitle(list, input) {\n\t if (!list) {\n\t return [];\n\t }\n\t if (input) {\n\t return list.filter(function (p) {\n\t return p.title.toLowerCase().indexOf(input.toLowerCase()) > -1;\n\t });\n\t }\n\t return list;\n\t};\n\n/***/ },\n/* 162 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\texports.filterByFilename = undefined;\n\texports.default = datafiles;\n\t\n\tvar _underscore = __webpack_require__(7);\n\t\n\tvar _underscore2 = _interopRequireDefault(_underscore);\n\t\n\tvar _actionTypes = __webpack_require__(14);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction datafiles() {\n\t var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {\n\t files: [],\n\t currentFile: {},\n\t isFetching: false,\n\t updated: false,\n\t datafileChanged: false\n\t };\n\t var action = arguments[1];\n\t\n\t switch (action.type) {\n\t case _actionTypes.FETCH_DATAFILES_REQUEST:\n\t case _actionTypes.FETCH_DATAFILE_REQUEST:\n\t return Object.assign({}, state, {\n\t isFetching: true\n\t });\n\t case _actionTypes.FETCH_DATAFILES_SUCCESS:\n\t return Object.assign({}, state, {\n\t files: action.files,\n\t isFetching: false,\n\t currentFile: {}\n\t });\n\t case _actionTypes.FETCH_DATAFILES_FAILURE:\n\t return Object.assign({}, state, {\n\t isFetching: false,\n\t currentFile: {}\n\t });\n\t case _actionTypes.FETCH_DATAFILE_SUCCESS:\n\t return Object.assign({}, state, {\n\t currentFile: action.file,\n\t isFetching: false\n\t });\n\t case _actionTypes.FETCH_DATAFILE_FAILURE:\n\t return Object.assign({}, state, {\n\t currentFile: {},\n\t isFetching: false\n\t });\n\t case _actionTypes.PUT_DATAFILE_SUCCESS:\n\t return Object.assign({}, state, {\n\t currentFile: action.file,\n\t updated: true,\n\t datafileChanged: false\n\t });\n\t case _actionTypes.PUT_DATAFILE_FAILURE:\n\t return Object.assign({}, state, {\n\t datafileChanged: false\n\t });\n\t case _actionTypes.DATAFILE_CHANGED:\n\t return Object.assign({}, state, {\n\t datafileChanged: true,\n\t updated: false\n\t });\n\t default:\n\t return Object.assign({}, state, {\n\t updated: false,\n\t datafileChanged: false\n\t });\n\t }\n\t}\n\t\n\t// Selectors\n\tvar filterByFilename = exports.filterByFilename = function filterByFilename(datafiles, input) {\n\t if (input) {\n\t return _underscore2.default.filter(datafiles, function (file) {\n\t return file.path.toLowerCase().indexOf(input.toLowerCase()) > -1;\n\t });\n\t }\n\t return datafiles;\n\t};\n\n/***/ },\n/* 163 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\texports.filterByFilename = undefined;\n\texports.default = pages;\n\t\n\tvar _underscore = __webpack_require__(7);\n\t\n\tvar _underscore2 = _interopRequireDefault(_underscore);\n\t\n\tvar _actionTypes = __webpack_require__(14);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction pages() {\n\t var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {\n\t pages: [],\n\t page: {},\n\t isFetching: false,\n\t updated: false\n\t };\n\t var action = arguments[1];\n\t\n\t switch (action.type) {\n\t case _actionTypes.FETCH_PAGES_REQUEST:\n\t case _actionTypes.FETCH_PAGE_REQUEST:\n\t return Object.assign({}, state, {\n\t isFetching: true\n\t });\n\t case _actionTypes.FETCH_PAGES_SUCCESS:\n\t return Object.assign({}, state, {\n\t pages: action.pages,\n\t isFetching: false,\n\t page: {}\n\t });\n\t case _actionTypes.FETCH_PAGES_FAILURE:\n\t return Object.assign({}, state, {\n\t isFetching: false,\n\t page: {}\n\t });\n\t case _actionTypes.FETCH_PAGE_SUCCESS:\n\t return Object.assign({}, state, {\n\t page: action.page,\n\t isFetching: false\n\t });\n\t case _actionTypes.FETCH_PAGE_FAILURE:\n\t return Object.assign({}, state, {\n\t page: {},\n\t isFetching: false\n\t });\n\t case _actionTypes.PUT_PAGE_SUCCESS:\n\t return Object.assign({}, state, {\n\t page: action.page,\n\t updated: true\n\t });\n\t default:\n\t return Object.assign({}, state, {\n\t updated: false\n\t });\n\t }\n\t}\n\t\n\t// Selectors\n\tvar filterByFilename = exports.filterByFilename = function filterByFilename(list, input) {\n\t if (input) {\n\t return list.filter(function (p) {\n\t return p.name.toLowerCase().indexOf(input.toLowerCase()) > -1;\n\t });\n\t }\n\t return list;\n\t};\n\n/***/ },\n/* 164 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\texports.filterByFilename = undefined;\n\texports.default = staticfiles;\n\t\n\tvar _underscore = __webpack_require__(7);\n\t\n\tvar _underscore2 = _interopRequireDefault(_underscore);\n\t\n\tvar _actionTypes = __webpack_require__(14);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction staticfiles() {\n\t var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {\n\t files: [],\n\t isFetching: false,\n\t uploading: false // TODO show loading gif\n\t };\n\t var action = arguments[1];\n\t\n\t switch (action.type) {\n\t case _actionTypes.FETCH_STATICFILES_REQUEST:\n\t return Object.assign({}, state, {\n\t isFetching: true\n\t });\n\t case _actionTypes.FETCH_STATICFILES_SUCCESS:\n\t return Object.assign({}, state, {\n\t files: action.files,\n\t isFetching: false\n\t });\n\t case _actionTypes.FETCH_STATICFILES_FAILURE:\n\t return Object.assign({}, state, {\n\t isFetching: false\n\t });\n\t case _actionTypes.PUT_STATICFILE_REQUEST:\n\t return Object.assign({}, state, {\n\t uploading: true\n\t });\n\t case _actionTypes.PUT_STATICFILE_SUCCESS:\n\t return Object.assign({}, state, {\n\t uploading: false\n\t });\n\t case _actionTypes.PUT_STATICFILE_FAILURE:\n\t return Object.assign({}, state, {\n\t uploading: false\n\t });\n\t default:\n\t return state;\n\t }\n\t}\n\t\n\t// Selectors\n\tvar filterByFilename = exports.filterByFilename = function filterByFilename(staticfiles, input) {\n\t if (input) {\n\t return staticfiles.filter(function (sf) {\n\t return sf.path.toLowerCase().indexOf(input.toLowerCase()) > -1;\n\t });\n\t }\n\t return staticfiles;\n\t};\n\n/***/ },\n/* 165 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// CodeMirror, copyright (c) by Marijn Haverbeke and others\n\t// Distributed under an MIT license: http://codemirror.net/LICENSE\n\t\n\t// Utility function that allows modes to be combined. The mode given\n\t// as the base argument takes care of most of the normal mode\n\t// functionality, but a second (typically simple) mode is used, which\n\t// can override the style of text. Both modes get to parse all of the\n\t// text, but when both assign a non-null style to a piece of code, the\n\t// overlay wins, unless the combine argument was true and not overridden,\n\t// or state.overlay.combineTokens was true, in which case the styles are\n\t// combined.\n\t\n\t(function(mod) {\n\t if (true) // CommonJS\n\t mod(__webpack_require__(23));\n\t else if (typeof define == \"function\" && define.amd) // AMD\n\t define([\"../../lib/codemirror\"], mod);\n\t else // Plain browser env\n\t mod(CodeMirror);\n\t})(function(CodeMirror) {\n\t\"use strict\";\n\t\n\tCodeMirror.overlayMode = function(base, overlay, combine) {\n\t return {\n\t startState: function() {\n\t return {\n\t base: CodeMirror.startState(base),\n\t overlay: CodeMirror.startState(overlay),\n\t basePos: 0, baseCur: null,\n\t overlayPos: 0, overlayCur: null,\n\t streamSeen: null\n\t };\n\t },\n\t copyState: function(state) {\n\t return {\n\t base: CodeMirror.copyState(base, state.base),\n\t overlay: CodeMirror.copyState(overlay, state.overlay),\n\t basePos: state.basePos, baseCur: null,\n\t overlayPos: state.overlayPos, overlayCur: null\n\t };\n\t },\n\t\n\t token: function(stream, state) {\n\t if (stream != state.streamSeen ||\n\t Math.min(state.basePos, state.overlayPos) < stream.start) {\n\t state.streamSeen = stream;\n\t state.basePos = state.overlayPos = stream.start;\n\t }\n\t\n\t if (stream.start == state.basePos) {\n\t state.baseCur = base.token(stream, state.base);\n\t state.basePos = stream.pos;\n\t }\n\t if (stream.start == state.overlayPos) {\n\t stream.pos = stream.start;\n\t state.overlayCur = overlay.token(stream, state.overlay);\n\t state.overlayPos = stream.pos;\n\t }\n\t stream.pos = Math.min(state.basePos, state.overlayPos);\n\t\n\t // state.overlay.combineTokens always takes precedence over combine,\n\t // unless set to null\n\t if (state.overlayCur == null) return state.baseCur;\n\t else if (state.baseCur != null &&\n\t state.overlay.combineTokens ||\n\t combine && state.overlay.combineTokens == null)\n\t return state.baseCur + \" \" + state.overlayCur;\n\t else return state.overlayCur;\n\t },\n\t\n\t indent: base.indent && function(state, textAfter) {\n\t return base.indent(state.base, textAfter);\n\t },\n\t electricChars: base.electricChars,\n\t\n\t innerMode: function(state) { return {state: state.base, mode: base}; },\n\t\n\t blankLine: function(state) {\n\t var baseToken, overlayToken;\n\t if (base.blankLine) baseToken = base.blankLine(state.base);\n\t if (overlay.blankLine) overlayToken = overlay.blankLine(state.overlay);\n\t\n\t return overlayToken == null ?\n\t baseToken :\n\t (combine && baseToken != null ? baseToken + \" \" + overlayToken : overlayToken);\n\t }\n\t };\n\t};\n\t\n\t});\n\n\n/***/ },\n/* 166 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// CodeMirror, copyright (c) by Marijn Haverbeke and others\n\t// Distributed under an MIT license: http://codemirror.net/LICENSE\n\t\n\t(function(mod) {\n\t if (true) // CommonJS\n\t mod(__webpack_require__(23), __webpack_require__(167), __webpack_require__(395));\n\t else if (typeof define == \"function\" && define.amd) // AMD\n\t define([\"../../lib/codemirror\", \"../xml/xml\", \"../meta\"], mod);\n\t else // Plain browser env\n\t mod(CodeMirror);\n\t})(function(CodeMirror) {\n\t\"use strict\";\n\t\n\tCodeMirror.defineMode(\"markdown\", function(cmCfg, modeCfg) {\n\t\n\t var htmlMode = CodeMirror.getMode(cmCfg, \"text/html\");\n\t var htmlModeMissing = htmlMode.name == \"null\"\n\t\n\t function getMode(name) {\n\t if (CodeMirror.findModeByName) {\n\t var found = CodeMirror.findModeByName(name);\n\t if (found) name = found.mime || found.mimes[0];\n\t }\n\t var mode = CodeMirror.getMode(cmCfg, name);\n\t return mode.name == \"null\" ? null : mode;\n\t }\n\t\n\t // Should characters that affect highlighting be highlighted separate?\n\t // Does not include characters that will be output (such as `1.` and `-` for lists)\n\t if (modeCfg.highlightFormatting === undefined)\n\t modeCfg.highlightFormatting = false;\n\t\n\t // Maximum number of nested blockquotes. Set to 0 for infinite nesting.\n\t // Excess `>` will emit `error` token.\n\t if (modeCfg.maxBlockquoteDepth === undefined)\n\t modeCfg.maxBlockquoteDepth = 0;\n\t\n\t // Should underscores in words open/close em/strong?\n\t if (modeCfg.underscoresBreakWords === undefined)\n\t modeCfg.underscoresBreakWords = true;\n\t\n\t // Use `fencedCodeBlocks` to configure fenced code blocks. false to\n\t // disable, string to specify a precise regexp that the fence should\n\t // match, and true to allow three or more backticks or tildes (as\n\t // per CommonMark).\n\t\n\t // Turn on task lists? (\"- [ ] \" and \"- [x] \")\n\t if (modeCfg.taskLists === undefined) modeCfg.taskLists = false;\n\t\n\t // Turn on strikethrough syntax\n\t if (modeCfg.strikethrough === undefined)\n\t modeCfg.strikethrough = false;\n\t\n\t // Allow token types to be overridden by user-provided token types.\n\t if (modeCfg.tokenTypeOverrides === undefined)\n\t modeCfg.tokenTypeOverrides = {};\n\t\n\t var tokenTypes = {\n\t header: \"header\",\n\t code: \"comment\",\n\t quote: \"quote\",\n\t list1: \"variable-2\",\n\t list2: \"variable-3\",\n\t list3: \"keyword\",\n\t hr: \"hr\",\n\t image: \"image\",\n\t imageAltText: \"image-alt-text\",\n\t imageMarker: \"image-marker\",\n\t formatting: \"formatting\",\n\t linkInline: \"link\",\n\t linkEmail: \"link\",\n\t linkText: \"link\",\n\t linkHref: \"string\",\n\t em: \"em\",\n\t strong: \"strong\",\n\t strikethrough: \"strikethrough\"\n\t };\n\t\n\t for (var tokenType in tokenTypes) {\n\t if (tokenTypes.hasOwnProperty(tokenType) && modeCfg.tokenTypeOverrides[tokenType]) {\n\t tokenTypes[tokenType] = modeCfg.tokenTypeOverrides[tokenType];\n\t }\n\t }\n\t\n\t var hrRE = /^([*\\-_])(?:\\s*\\1){2,}\\s*$/\n\t , listRE = /^(?:[*\\-+]|^[0-9]+([.)]))\\s+/\n\t , taskListRE = /^\\[(x| )\\](?=\\s)/ // Must follow listRE\n\t , atxHeaderRE = modeCfg.allowAtxHeaderWithoutSpace ? /^(#+)/ : /^(#+)(?: |$)/\n\t , setextHeaderRE = /^ *(?:\\={1,}|-{1,})\\s*$/\n\t , textRE = /^[^#!\\[\\]*_\\\\<>` \"'(~]+/\n\t , fencedCodeRE = new RegExp(\"^(\" + (modeCfg.fencedCodeBlocks === true ? \"~~~+|```+\" : modeCfg.fencedCodeBlocks) +\n\t \")[ \\\\t]*([\\\\w+#\\-]*)\");\n\t\n\t function switchInline(stream, state, f) {\n\t state.f = state.inline = f;\n\t return f(stream, state);\n\t }\n\t\n\t function switchBlock(stream, state, f) {\n\t state.f = state.block = f;\n\t return f(stream, state);\n\t }\n\t\n\t function lineIsEmpty(line) {\n\t return !line || !/\\S/.test(line.string)\n\t }\n\t\n\t // Blocks\n\t\n\t function blankLine(state) {\n\t // Reset linkTitle state\n\t state.linkTitle = false;\n\t // Reset EM state\n\t state.em = false;\n\t // Reset STRONG state\n\t state.strong = false;\n\t // Reset strikethrough state\n\t state.strikethrough = false;\n\t // Reset state.quote\n\t state.quote = 0;\n\t // Reset state.indentedCode\n\t state.indentedCode = false;\n\t if (htmlModeMissing && state.f == htmlBlock) {\n\t state.f = inlineNormal;\n\t state.block = blockNormal;\n\t }\n\t // Reset state.trailingSpace\n\t state.trailingSpace = 0;\n\t state.trailingSpaceNewLine = false;\n\t // Mark this line as blank\n\t state.prevLine = state.thisLine\n\t state.thisLine = null\n\t return null;\n\t }\n\t\n\t function blockNormal(stream, state) {\n\t\n\t var sol = stream.sol();\n\t\n\t var prevLineIsList = state.list !== false,\n\t prevLineIsIndentedCode = state.indentedCode;\n\t\n\t state.indentedCode = false;\n\t\n\t if (prevLineIsList) {\n\t if (state.indentationDiff >= 0) { // Continued list\n\t if (state.indentationDiff < 4) { // Only adjust indentation if *not* a code block\n\t state.indentation -= state.indentationDiff;\n\t }\n\t state.list = null;\n\t } else if (state.indentation > 0) {\n\t state.list = null;\n\t } else { // No longer a list\n\t state.list = false;\n\t }\n\t }\n\t\n\t var match = null;\n\t if (state.indentationDiff >= 4) {\n\t stream.skipToEnd();\n\t if (prevLineIsIndentedCode || lineIsEmpty(state.prevLine)) {\n\t state.indentation -= 4;\n\t state.indentedCode = true;\n\t return tokenTypes.code;\n\t } else {\n\t return null;\n\t }\n\t } else if (stream.eatSpace()) {\n\t return null;\n\t } else if ((match = stream.match(atxHeaderRE)) && match[1].length <= 6) {\n\t state.header = match[1].length;\n\t if (modeCfg.highlightFormatting) state.formatting = \"header\";\n\t state.f = state.inline;\n\t return getType(state);\n\t } else if (!lineIsEmpty(state.prevLine) && !state.quote && !prevLineIsList &&\n\t !prevLineIsIndentedCode && (match = stream.match(setextHeaderRE))) {\n\t state.header = match[0].charAt(0) == '=' ? 1 : 2;\n\t if (modeCfg.highlightFormatting) state.formatting = \"header\";\n\t state.f = state.inline;\n\t return getType(state);\n\t } else if (stream.eat('>')) {\n\t state.quote = sol ? 1 : state.quote + 1;\n\t if (modeCfg.highlightFormatting) state.formatting = \"quote\";\n\t stream.eatSpace();\n\t return getType(state);\n\t } else if (stream.peek() === '[') {\n\t return switchInline(stream, state, footnoteLink);\n\t } else if (stream.match(hrRE, true)) {\n\t state.hr = true;\n\t return tokenTypes.hr;\n\t } else if (match = stream.match(listRE)) {\n\t var listType = match[1] ? \"ol\" : \"ul\";\n\t state.indentation = stream.column() + stream.current().length;\n\t state.list = true;\n\t\n\t // While this list item's marker's indentation\n\t // is less than the deepest list item's content's indentation,\n\t // pop the deepest list item indentation off the stack.\n\t while (state.listStack && stream.column() < state.listStack[state.listStack.length - 1]) {\n\t state.listStack.pop();\n\t }\n\t\n\t // Add this list item's content's indentation to the stack\n\t state.listStack.push(state.indentation);\n\t\n\t if (modeCfg.taskLists && stream.match(taskListRE, false)) {\n\t state.taskList = true;\n\t }\n\t state.f = state.inline;\n\t if (modeCfg.highlightFormatting) state.formatting = [\"list\", \"list-\" + listType];\n\t return getType(state);\n\t } else if (modeCfg.fencedCodeBlocks && (match = stream.match(fencedCodeRE, true))) {\n\t state.fencedChars = match[1]\n\t // try switching mode\n\t state.localMode = getMode(match[2]);\n\t if (state.localMode) state.localState = CodeMirror.startState(state.localMode);\n\t state.f = state.block = local;\n\t if (modeCfg.highlightFormatting) state.formatting = \"code-block\";\n\t state.code = -1\n\t return getType(state);\n\t }\n\t\n\t return switchInline(stream, state, state.inline);\n\t }\n\t\n\t function htmlBlock(stream, state) {\n\t var style = htmlMode.token(stream, state.htmlState);\n\t if (!htmlModeMissing) {\n\t var inner = CodeMirror.innerMode(htmlMode, state.htmlState)\n\t if ((inner.mode.name == \"xml\" && inner.state.tagStart === null &&\n\t (!inner.state.context && inner.state.tokenize.isInText)) ||\n\t (state.md_inside && stream.current().indexOf(\">\") > -1)) {\n\t state.f = inlineNormal;\n\t state.block = blockNormal;\n\t state.htmlState = null;\n\t }\n\t }\n\t return style;\n\t }\n\t\n\t function local(stream, state) {\n\t if (state.fencedChars && stream.match(state.fencedChars, false)) {\n\t state.localMode = state.localState = null;\n\t state.f = state.block = leavingLocal;\n\t return null;\n\t } else if (state.localMode) {\n\t return state.localMode.token(stream, state.localState);\n\t } else {\n\t stream.skipToEnd();\n\t return tokenTypes.code;\n\t }\n\t }\n\t\n\t function leavingLocal(stream, state) {\n\t stream.match(state.fencedChars);\n\t state.block = blockNormal;\n\t state.f = inlineNormal;\n\t state.fencedChars = null;\n\t if (modeCfg.highlightFormatting) state.formatting = \"code-block\";\n\t state.code = 1\n\t var returnType = getType(state);\n\t state.code = 0\n\t return returnType;\n\t }\n\t\n\t // Inline\n\t function getType(state) {\n\t var styles = [];\n\t\n\t if (state.formatting) {\n\t styles.push(tokenTypes.formatting);\n\t\n\t if (typeof state.formatting === \"string\") state.formatting = [state.formatting];\n\t\n\t for (var i = 0; i < state.formatting.length; i++) {\n\t styles.push(tokenTypes.formatting + \"-\" + state.formatting[i]);\n\t\n\t if (state.formatting[i] === \"header\") {\n\t styles.push(tokenTypes.formatting + \"-\" + state.formatting[i] + \"-\" + state.header);\n\t }\n\t\n\t // Add `formatting-quote` and `formatting-quote-#` for blockquotes\n\t // Add `error` instead if the maximum blockquote nesting depth is passed\n\t if (state.formatting[i] === \"quote\") {\n\t if (!modeCfg.maxBlockquoteDepth || modeCfg.maxBlockquoteDepth >= state.quote) {\n\t styles.push(tokenTypes.formatting + \"-\" + state.formatting[i] + \"-\" + state.quote);\n\t } else {\n\t styles.push(\"error\");\n\t }\n\t }\n\t }\n\t }\n\t\n\t if (state.taskOpen) {\n\t styles.push(\"meta\");\n\t return styles.length ? styles.join(' ') : null;\n\t }\n\t if (state.taskClosed) {\n\t styles.push(\"property\");\n\t return styles.length ? styles.join(' ') : null;\n\t }\n\t\n\t if (state.linkHref) {\n\t styles.push(tokenTypes.linkHref, \"url\");\n\t } else { // Only apply inline styles to non-url text\n\t if (state.strong) { styles.push(tokenTypes.strong); }\n\t if (state.em) { styles.push(tokenTypes.em); }\n\t if (state.strikethrough) { styles.push(tokenTypes.strikethrough); }\n\t if (state.linkText) { styles.push(tokenTypes.linkText); }\n\t if (state.code) { styles.push(tokenTypes.code); }\n\t if (state.image) { styles.push(tokenTypes.image); }\n\t if (state.imageAltText) { styles.push(tokenTypes.imageAltText, \"link\"); }\n\t if (state.imageMarker) { styles.push(tokenTypes.imageMarker); }\n\t }\n\t\n\t if (state.header) { styles.push(tokenTypes.header, tokenTypes.header + \"-\" + state.header); }\n\t\n\t if (state.quote) {\n\t styles.push(tokenTypes.quote);\n\t\n\t // Add `quote-#` where the maximum for `#` is modeCfg.maxBlockquoteDepth\n\t if (!modeCfg.maxBlockquoteDepth || modeCfg.maxBlockquoteDepth >= state.quote) {\n\t styles.push(tokenTypes.quote + \"-\" + state.quote);\n\t } else {\n\t styles.push(tokenTypes.quote + \"-\" + modeCfg.maxBlockquoteDepth);\n\t }\n\t }\n\t\n\t if (state.list !== false) {\n\t var listMod = (state.listStack.length - 1) % 3;\n\t if (!listMod) {\n\t styles.push(tokenTypes.list1);\n\t } else if (listMod === 1) {\n\t styles.push(tokenTypes.list2);\n\t } else {\n\t styles.push(tokenTypes.list3);\n\t }\n\t }\n\t\n\t if (state.trailingSpaceNewLine) {\n\t styles.push(\"trailing-space-new-line\");\n\t } else if (state.trailingSpace) {\n\t styles.push(\"trailing-space-\" + (state.trailingSpace % 2 ? \"a\" : \"b\"));\n\t }\n\t\n\t return styles.length ? styles.join(' ') : null;\n\t }\n\t\n\t function handleText(stream, state) {\n\t if (stream.match(textRE, true)) {\n\t return getType(state);\n\t }\n\t return undefined;\n\t }\n\t\n\t function inlineNormal(stream, state) {\n\t var style = state.text(stream, state);\n\t if (typeof style !== 'undefined')\n\t return style;\n\t\n\t if (state.list) { // List marker (*, +, -, 1., etc)\n\t state.list = null;\n\t return getType(state);\n\t }\n\t\n\t if (state.taskList) {\n\t var taskOpen = stream.match(taskListRE, true)[1] !== \"x\";\n\t if (taskOpen) state.taskOpen = true;\n\t else state.taskClosed = true;\n\t if (modeCfg.highlightFormatting) state.formatting = \"task\";\n\t state.taskList = false;\n\t return getType(state);\n\t }\n\t\n\t state.taskOpen = false;\n\t state.taskClosed = false;\n\t\n\t if (state.header && stream.match(/^#+$/, true)) {\n\t if (modeCfg.highlightFormatting) state.formatting = \"header\";\n\t return getType(state);\n\t }\n\t\n\t // Get sol() value now, before character is consumed\n\t var sol = stream.sol();\n\t\n\t var ch = stream.next();\n\t\n\t // Matches link titles present on next line\n\t if (state.linkTitle) {\n\t state.linkTitle = false;\n\t var matchCh = ch;\n\t if (ch === '(') {\n\t matchCh = ')';\n\t }\n\t matchCh = (matchCh+'').replace(/([.?*+^$[\\]\\\\(){}|-])/g, \"\\\\$1\");\n\t var regex = '^\\\\s*(?:[^' + matchCh + '\\\\\\\\]+|\\\\\\\\\\\\\\\\|\\\\\\\\.)' + matchCh;\n\t if (stream.match(new RegExp(regex), true)) {\n\t return tokenTypes.linkHref;\n\t }\n\t }\n\t\n\t // If this block is changed, it may need to be updated in GFM mode\n\t if (ch === '`') {\n\t var previousFormatting = state.formatting;\n\t if (modeCfg.highlightFormatting) state.formatting = \"code\";\n\t stream.eatWhile('`');\n\t var count = stream.current().length\n\t if (state.code == 0) {\n\t state.code = count\n\t return getType(state)\n\t } else if (count == state.code) { // Must be exact\n\t var t = getType(state)\n\t state.code = 0\n\t return t\n\t } else {\n\t state.formatting = previousFormatting\n\t return getType(state)\n\t }\n\t } else if (state.code) {\n\t return getType(state);\n\t }\n\t\n\t if (ch === '\\\\') {\n\t stream.next();\n\t if (modeCfg.highlightFormatting) {\n\t var type = getType(state);\n\t var formattingEscape = tokenTypes.formatting + \"-escape\";\n\t return type ? type + \" \" + formattingEscape : formattingEscape;\n\t }\n\t }\n\t\n\t if (ch === '!' && stream.match(/\\[[^\\]]*\\] ?(?:\\(|\\[)/, false)) {\n\t state.imageMarker = true;\n\t state.image = true;\n\t if (modeCfg.highlightFormatting) state.formatting = \"image\";\n\t return getType(state);\n\t }\n\t\n\t if (ch === '[' && state.imageMarker && stream.match(/[^\\]]*\\](\\(.*?\\)| ?\\[.*?\\])/, false)) {\n\t state.imageMarker = false;\n\t state.imageAltText = true\n\t if (modeCfg.highlightFormatting) state.formatting = \"image\";\n\t return getType(state);\n\t }\n\t\n\t if (ch === ']' && state.imageAltText) {\n\t if (modeCfg.highlightFormatting) state.formatting = \"image\";\n\t var type = getType(state);\n\t state.imageAltText = false;\n\t state.image = false;\n\t state.inline = state.f = linkHref;\n\t return type;\n\t }\n\t\n\t if (ch === '[' && stream.match(/[^\\]]*\\](\\(.*\\)| ?\\[.*?\\])/, false) && !state.image) {\n\t state.linkText = true;\n\t if (modeCfg.highlightFormatting) state.formatting = \"link\";\n\t return getType(state);\n\t }\n\t\n\t if (ch === ']' && state.linkText && stream.match(/\\(.*?\\)| ?\\[.*?\\]/, false)) {\n\t if (modeCfg.highlightFormatting) state.formatting = \"link\";\n\t var type = getType(state);\n\t state.linkText = false;\n\t state.inline = state.f = linkHref;\n\t return type;\n\t }\n\t\n\t if (ch === '<' && stream.match(/^(https?|ftps?):\\/\\/(?:[^\\\\>]|\\\\.)+>/, false)) {\n\t state.f = state.inline = linkInline;\n\t if (modeCfg.highlightFormatting) state.formatting = \"link\";\n\t var type = getType(state);\n\t if (type){\n\t type += \" \";\n\t } else {\n\t type = \"\";\n\t }\n\t return type + tokenTypes.linkInline;\n\t }\n\t\n\t if (ch === '<' && stream.match(/^[^> \\\\]+@(?:[^\\\\>]|\\\\.)+>/, false)) {\n\t state.f = state.inline = linkInline;\n\t if (modeCfg.highlightFormatting) state.formatting = \"link\";\n\t var type = getType(state);\n\t if (type){\n\t type += \" \";\n\t } else {\n\t type = \"\";\n\t }\n\t return type + tokenTypes.linkEmail;\n\t }\n\t\n\t if (ch === '<' && stream.match(/^(!--|\\w)/, false)) {\n\t var end = stream.string.indexOf(\">\", stream.pos);\n\t if (end != -1) {\n\t var atts = stream.string.substring(stream.start, end);\n\t if (/markdown\\s*=\\s*('|\"){0,1}1('|\"){0,1}/.test(atts)) state.md_inside = true;\n\t }\n\t stream.backUp(1);\n\t state.htmlState = CodeMirror.startState(htmlMode);\n\t return switchBlock(stream, state, htmlBlock);\n\t }\n\t\n\t if (ch === '<' && stream.match(/^\\/\\w*?>/)) {\n\t state.md_inside = false;\n\t return \"tag\";\n\t }\n\t\n\t var ignoreUnderscore = false;\n\t if (!modeCfg.underscoresBreakWords) {\n\t if (ch === '_' && stream.peek() !== '_' && stream.match(/(\\w)/, false)) {\n\t var prevPos = stream.pos - 2;\n\t if (prevPos >= 0) {\n\t var prevCh = stream.string.charAt(prevPos);\n\t if (prevCh !== '_' && prevCh.match(/(\\w)/, false)) {\n\t ignoreUnderscore = true;\n\t }\n\t }\n\t }\n\t }\n\t if (ch === '*' || (ch === '_' && !ignoreUnderscore)) {\n\t if (sol && stream.peek() === ' ') {\n\t // Do nothing, surrounded by newline and space\n\t } else if (state.strong === ch && stream.eat(ch)) { // Remove STRONG\n\t if (modeCfg.highlightFormatting) state.formatting = \"strong\";\n\t var t = getType(state);\n\t state.strong = false;\n\t return t;\n\t } else if (!state.strong && stream.eat(ch)) { // Add STRONG\n\t state.strong = ch;\n\t if (modeCfg.highlightFormatting) state.formatting = \"strong\";\n\t return getType(state);\n\t } else if (state.em === ch) { // Remove EM\n\t if (modeCfg.highlightFormatting) state.formatting = \"em\";\n\t var t = getType(state);\n\t state.em = false;\n\t return t;\n\t } else if (!state.em) { // Add EM\n\t state.em = ch;\n\t if (modeCfg.highlightFormatting) state.formatting = \"em\";\n\t return getType(state);\n\t }\n\t } else if (ch === ' ') {\n\t if (stream.eat('*') || stream.eat('_')) { // Probably surrounded by spaces\n\t if (stream.peek() === ' ') { // Surrounded by spaces, ignore\n\t return getType(state);\n\t } else { // Not surrounded by spaces, back up pointer\n\t stream.backUp(1);\n\t }\n\t }\n\t }\n\t\n\t if (modeCfg.strikethrough) {\n\t if (ch === '~' && stream.eatWhile(ch)) {\n\t if (state.strikethrough) {// Remove strikethrough\n\t if (modeCfg.highlightFormatting) state.formatting = \"strikethrough\";\n\t var t = getType(state);\n\t state.strikethrough = false;\n\t return t;\n\t } else if (stream.match(/^[^\\s]/, false)) {// Add strikethrough\n\t state.strikethrough = true;\n\t if (modeCfg.highlightFormatting) state.formatting = \"strikethrough\";\n\t return getType(state);\n\t }\n\t } else if (ch === ' ') {\n\t if (stream.match(/^~~/, true)) { // Probably surrounded by space\n\t if (stream.peek() === ' ') { // Surrounded by spaces, ignore\n\t return getType(state);\n\t } else { // Not surrounded by spaces, back up pointer\n\t stream.backUp(2);\n\t }\n\t }\n\t }\n\t }\n\t\n\t if (ch === ' ') {\n\t if (stream.match(/ +$/, false)) {\n\t state.trailingSpace++;\n\t } else if (state.trailingSpace) {\n\t state.trailingSpaceNewLine = true;\n\t }\n\t }\n\t\n\t return getType(state);\n\t }\n\t\n\t function linkInline(stream, state) {\n\t var ch = stream.next();\n\t\n\t if (ch === \">\") {\n\t state.f = state.inline = inlineNormal;\n\t if (modeCfg.highlightFormatting) state.formatting = \"link\";\n\t var type = getType(state);\n\t if (type){\n\t type += \" \";\n\t } else {\n\t type = \"\";\n\t }\n\t return type + tokenTypes.linkInline;\n\t }\n\t\n\t stream.match(/^[^>]+/, true);\n\t\n\t return tokenTypes.linkInline;\n\t }\n\t\n\t function linkHref(stream, state) {\n\t // Check if space, and return NULL if so (to avoid marking the space)\n\t if(stream.eatSpace()){\n\t return null;\n\t }\n\t var ch = stream.next();\n\t if (ch === '(' || ch === '[') {\n\t state.f = state.inline = getLinkHrefInside(ch === \"(\" ? \")\" : \"]\", 0);\n\t if (modeCfg.highlightFormatting) state.formatting = \"link-string\";\n\t state.linkHref = true;\n\t return getType(state);\n\t }\n\t return 'error';\n\t }\n\t\n\t var linkRE = {\n\t \")\": /^(?:[^\\\\\\(\\)]|\\\\.|\\((?:[^\\\\\\(\\)]|\\\\.)*\\))*?(?=\\))/,\n\t \"]\": /^(?:[^\\\\\\[\\]]|\\\\.|\\[(?:[^\\\\\\[\\\\]]|\\\\.)*\\])*?(?=\\])/\n\t }\n\t\n\t function getLinkHrefInside(endChar) {\n\t return function(stream, state) {\n\t var ch = stream.next();\n\t\n\t if (ch === endChar) {\n\t state.f = state.inline = inlineNormal;\n\t if (modeCfg.highlightFormatting) state.formatting = \"link-string\";\n\t var returnState = getType(state);\n\t state.linkHref = false;\n\t return returnState;\n\t }\n\t\n\t stream.match(linkRE[endChar])\n\t state.linkHref = true;\n\t return getType(state);\n\t };\n\t }\n\t\n\t function footnoteLink(stream, state) {\n\t if (stream.match(/^([^\\]\\\\]|\\\\.)*\\]:/, false)) {\n\t state.f = footnoteLinkInside;\n\t stream.next(); // Consume [\n\t if (modeCfg.highlightFormatting) state.formatting = \"link\";\n\t state.linkText = true;\n\t return getType(state);\n\t }\n\t return switchInline(stream, state, inlineNormal);\n\t }\n\t\n\t function footnoteLinkInside(stream, state) {\n\t if (stream.match(/^\\]:/, true)) {\n\t state.f = state.inline = footnoteUrl;\n\t if (modeCfg.highlightFormatting) state.formatting = \"link\";\n\t var returnType = getType(state);\n\t state.linkText = false;\n\t return returnType;\n\t }\n\t\n\t stream.match(/^([^\\]\\\\]|\\\\.)+/, true);\n\t\n\t return tokenTypes.linkText;\n\t }\n\t\n\t function footnoteUrl(stream, state) {\n\t // Check if space, and return NULL if so (to avoid marking the space)\n\t if(stream.eatSpace()){\n\t return null;\n\t }\n\t // Match URL\n\t stream.match(/^[^\\s]+/, true);\n\t // Check for link title\n\t if (stream.peek() === undefined) { // End of line, set flag to check next line\n\t state.linkTitle = true;\n\t } else { // More content on line, check if link title\n\t stream.match(/^(?:\\s+(?:\"(?:[^\"\\\\]|\\\\\\\\|\\\\.)+\"|'(?:[^'\\\\]|\\\\\\\\|\\\\.)+'|\\((?:[^)\\\\]|\\\\\\\\|\\\\.)+\\)))?/, true);\n\t }\n\t state.f = state.inline = inlineNormal;\n\t return tokenTypes.linkHref + \" url\";\n\t }\n\t\n\t var mode = {\n\t startState: function() {\n\t return {\n\t f: blockNormal,\n\t\n\t prevLine: null,\n\t thisLine: null,\n\t\n\t block: blockNormal,\n\t htmlState: null,\n\t indentation: 0,\n\t\n\t inline: inlineNormal,\n\t text: handleText,\n\t\n\t formatting: false,\n\t linkText: false,\n\t linkHref: false,\n\t linkTitle: false,\n\t code: 0,\n\t em: false,\n\t strong: false,\n\t header: 0,\n\t hr: false,\n\t taskList: false,\n\t list: false,\n\t listStack: [],\n\t quote: 0,\n\t trailingSpace: 0,\n\t trailingSpaceNewLine: false,\n\t strikethrough: false,\n\t fencedChars: null\n\t };\n\t },\n\t\n\t copyState: function(s) {\n\t return {\n\t f: s.f,\n\t\n\t prevLine: s.prevLine,\n\t thisLine: s.thisLine,\n\t\n\t block: s.block,\n\t htmlState: s.htmlState && CodeMirror.copyState(htmlMode, s.htmlState),\n\t indentation: s.indentation,\n\t\n\t localMode: s.localMode,\n\t localState: s.localMode ? CodeMirror.copyState(s.localMode, s.localState) : null,\n\t\n\t inline: s.inline,\n\t text: s.text,\n\t formatting: false,\n\t linkTitle: s.linkTitle,\n\t code: s.code,\n\t em: s.em,\n\t strong: s.strong,\n\t strikethrough: s.strikethrough,\n\t header: s.header,\n\t hr: s.hr,\n\t taskList: s.taskList,\n\t list: s.list,\n\t listStack: s.listStack.slice(0),\n\t quote: s.quote,\n\t indentedCode: s.indentedCode,\n\t trailingSpace: s.trailingSpace,\n\t trailingSpaceNewLine: s.trailingSpaceNewLine,\n\t md_inside: s.md_inside,\n\t fencedChars: s.fencedChars\n\t };\n\t },\n\t\n\t token: function(stream, state) {\n\t\n\t // Reset state.formatting\n\t state.formatting = false;\n\t\n\t if (stream != state.thisLine) {\n\t var forceBlankLine = state.header || state.hr;\n\t\n\t // Reset state.header and state.hr\n\t state.header = 0;\n\t state.hr = false;\n\t\n\t if (stream.match(/^\\s*$/, true) || forceBlankLine) {\n\t blankLine(state);\n\t if (!forceBlankLine) return null\n\t state.prevLine = null\n\t }\n\t\n\t state.prevLine = state.thisLine\n\t state.thisLine = stream\n\t\n\t // Reset state.taskList\n\t state.taskList = false;\n\t\n\t // Reset state.trailingSpace\n\t state.trailingSpace = 0;\n\t state.trailingSpaceNewLine = false;\n\t\n\t state.f = state.block;\n\t var indentation = stream.match(/^\\s*/, true)[0].replace(/\\t/g, ' ').length;\n\t state.indentationDiff = Math.min(indentation - state.indentation, 4);\n\t state.indentation = state.indentation + state.indentationDiff;\n\t if (indentation > 0) return null;\n\t }\n\t return state.f(stream, state);\n\t },\n\t\n\t innerMode: function(state) {\n\t if (state.block == htmlBlock) return {state: state.htmlState, mode: htmlMode};\n\t if (state.localState) return {state: state.localState, mode: state.localMode};\n\t return {state: state, mode: mode};\n\t },\n\t\n\t blankLine: blankLine,\n\t\n\t getType: getType,\n\t\n\t closeBrackets: \"()[]{}''\\\"\\\"``\",\n\t fold: \"markdown\"\n\t };\n\t return mode;\n\t}, \"xml\");\n\t\n\tCodeMirror.defineMIME(\"text/x-markdown\", \"markdown\");\n\t\n\t});\n\n\n/***/ },\n/* 167 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// CodeMirror, copyright (c) by Marijn Haverbeke and others\n\t// Distributed under an MIT license: http://codemirror.net/LICENSE\n\t\n\t(function(mod) {\n\t if (true) // CommonJS\n\t mod(__webpack_require__(23));\n\t else if (typeof define == \"function\" && define.amd) // AMD\n\t define([\"../../lib/codemirror\"], mod);\n\t else // Plain browser env\n\t mod(CodeMirror);\n\t})(function(CodeMirror) {\n\t\"use strict\";\n\t\n\tvar htmlConfig = {\n\t autoSelfClosers: {'area': true, 'base': true, 'br': true, 'col': true, 'command': true,\n\t 'embed': true, 'frame': true, 'hr': true, 'img': true, 'input': true,\n\t 'keygen': true, 'link': true, 'meta': true, 'param': true, 'source': true,\n\t 'track': true, 'wbr': true, 'menuitem': true},\n\t implicitlyClosed: {'dd': true, 'li': true, 'optgroup': true, 'option': true, 'p': true,\n\t 'rp': true, 'rt': true, 'tbody': true, 'td': true, 'tfoot': true,\n\t 'th': true, 'tr': true},\n\t contextGrabbers: {\n\t 'dd': {'dd': true, 'dt': true},\n\t 'dt': {'dd': true, 'dt': true},\n\t 'li': {'li': true},\n\t 'option': {'option': true, 'optgroup': true},\n\t 'optgroup': {'optgroup': true},\n\t 'p': {'address': true, 'article': true, 'aside': true, 'blockquote': true, 'dir': true,\n\t 'div': true, 'dl': true, 'fieldset': true, 'footer': true, 'form': true,\n\t 'h1': true, 'h2': true, 'h3': true, 'h4': true, 'h5': true, 'h6': true,\n\t 'header': true, 'hgroup': true, 'hr': true, 'menu': true, 'nav': true, 'ol': true,\n\t 'p': true, 'pre': true, 'section': true, 'table': true, 'ul': true},\n\t 'rp': {'rp': true, 'rt': true},\n\t 'rt': {'rp': true, 'rt': true},\n\t 'tbody': {'tbody': true, 'tfoot': true},\n\t 'td': {'td': true, 'th': true},\n\t 'tfoot': {'tbody': true},\n\t 'th': {'td': true, 'th': true},\n\t 'thead': {'tbody': true, 'tfoot': true},\n\t 'tr': {'tr': true}\n\t },\n\t doNotIndent: {\"pre\": true},\n\t allowUnquoted: true,\n\t allowMissing: true,\n\t caseFold: true\n\t}\n\t\n\tvar xmlConfig = {\n\t autoSelfClosers: {},\n\t implicitlyClosed: {},\n\t contextGrabbers: {},\n\t doNotIndent: {},\n\t allowUnquoted: false,\n\t allowMissing: false,\n\t caseFold: false\n\t}\n\t\n\tCodeMirror.defineMode(\"xml\", function(editorConf, config_) {\n\t var indentUnit = editorConf.indentUnit\n\t var config = {}\n\t var defaults = config_.htmlMode ? htmlConfig : xmlConfig\n\t for (var prop in defaults) config[prop] = defaults[prop]\n\t for (var prop in config_) config[prop] = config_[prop]\n\t\n\t // Return variables for tokenizers\n\t var type, setStyle;\n\t\n\t function inText(stream, state) {\n\t function chain(parser) {\n\t state.tokenize = parser;\n\t return parser(stream, state);\n\t }\n\t\n\t var ch = stream.next();\n\t if (ch == \"<\") {\n\t if (stream.eat(\"!\")) {\n\t if (stream.eat(\"[\")) {\n\t if (stream.match(\"CDATA[\")) return chain(inBlock(\"atom\", \"]]>\"));\n\t else return null;\n\t } else if (stream.match(\"--\")) {\n\t return chain(inBlock(\"comment\", \"-->\"));\n\t } else if (stream.match(\"DOCTYPE\", true, true)) {\n\t stream.eatWhile(/[\\w\\._\\-]/);\n\t return chain(doctype(1));\n\t } else {\n\t return null;\n\t }\n\t } else if (stream.eat(\"?\")) {\n\t stream.eatWhile(/[\\w\\._\\-]/);\n\t state.tokenize = inBlock(\"meta\", \"?>\");\n\t return \"meta\";\n\t } else {\n\t type = stream.eat(\"/\") ? \"closeTag\" : \"openTag\";\n\t state.tokenize = inTag;\n\t return \"tag bracket\";\n\t }\n\t } else if (ch == \"&\") {\n\t var ok;\n\t if (stream.eat(\"#\")) {\n\t if (stream.eat(\"x\")) {\n\t ok = stream.eatWhile(/[a-fA-F\\d]/) && stream.eat(\";\");\n\t } else {\n\t ok = stream.eatWhile(/[\\d]/) && stream.eat(\";\");\n\t }\n\t } else {\n\t ok = stream.eatWhile(/[\\w\\.\\-:]/) && stream.eat(\";\");\n\t }\n\t return ok ? \"atom\" : \"error\";\n\t } else {\n\t stream.eatWhile(/[^&<]/);\n\t return null;\n\t }\n\t }\n\t inText.isInText = true;\n\t\n\t function inTag(stream, state) {\n\t var ch = stream.next();\n\t if (ch == \">\" || (ch == \"/\" && stream.eat(\">\"))) {\n\t state.tokenize = inText;\n\t type = ch == \">\" ? \"endTag\" : \"selfcloseTag\";\n\t return \"tag bracket\";\n\t } else if (ch == \"=\") {\n\t type = \"equals\";\n\t return null;\n\t } else if (ch == \"<\") {\n\t state.tokenize = inText;\n\t state.state = baseState;\n\t state.tagName = state.tagStart = null;\n\t var next = state.tokenize(stream, state);\n\t return next ? next + \" tag error\" : \"tag error\";\n\t } else if (/[\\'\\\"]/.test(ch)) {\n\t state.tokenize = inAttribute(ch);\n\t state.stringStartCol = stream.column();\n\t return state.tokenize(stream, state);\n\t } else {\n\t stream.match(/^[^\\s\\u00a0=<>\\\"\\']*[^\\s\\u00a0=<>\\\"\\'\\/]/);\n\t return \"word\";\n\t }\n\t }\n\t\n\t function inAttribute(quote) {\n\t var closure = function(stream, state) {\n\t while (!stream.eol()) {\n\t if (stream.next() == quote) {\n\t state.tokenize = inTag;\n\t break;\n\t }\n\t }\n\t return \"string\";\n\t };\n\t closure.isInAttribute = true;\n\t return closure;\n\t }\n\t\n\t function inBlock(style, terminator) {\n\t return function(stream, state) {\n\t while (!stream.eol()) {\n\t if (stream.match(terminator)) {\n\t state.tokenize = inText;\n\t break;\n\t }\n\t stream.next();\n\t }\n\t return style;\n\t };\n\t }\n\t function doctype(depth) {\n\t return function(stream, state) {\n\t var ch;\n\t while ((ch = stream.next()) != null) {\n\t if (ch == \"<\") {\n\t state.tokenize = doctype(depth + 1);\n\t return state.tokenize(stream, state);\n\t } else if (ch == \">\") {\n\t if (depth == 1) {\n\t state.tokenize = inText;\n\t break;\n\t } else {\n\t state.tokenize = doctype(depth - 1);\n\t return state.tokenize(stream, state);\n\t }\n\t }\n\t }\n\t return \"meta\";\n\t };\n\t }\n\t\n\t function Context(state, tagName, startOfLine) {\n\t this.prev = state.context;\n\t this.tagName = tagName;\n\t this.indent = state.indented;\n\t this.startOfLine = startOfLine;\n\t if (config.doNotIndent.hasOwnProperty(tagName) || (state.context && state.context.noIndent))\n\t this.noIndent = true;\n\t }\n\t function popContext(state) {\n\t if (state.context) state.context = state.context.prev;\n\t }\n\t function maybePopContext(state, nextTagName) {\n\t var parentTagName;\n\t while (true) {\n\t if (!state.context) {\n\t return;\n\t }\n\t parentTagName = state.context.tagName;\n\t if (!config.contextGrabbers.hasOwnProperty(parentTagName) ||\n\t !config.contextGrabbers[parentTagName].hasOwnProperty(nextTagName)) {\n\t return;\n\t }\n\t popContext(state);\n\t }\n\t }\n\t\n\t function baseState(type, stream, state) {\n\t if (type == \"openTag\") {\n\t state.tagStart = stream.column();\n\t return tagNameState;\n\t } else if (type == \"closeTag\") {\n\t return closeTagNameState;\n\t } else {\n\t return baseState;\n\t }\n\t }\n\t function tagNameState(type, stream, state) {\n\t if (type == \"word\") {\n\t state.tagName = stream.current();\n\t setStyle = \"tag\";\n\t return attrState;\n\t } else {\n\t setStyle = \"error\";\n\t return tagNameState;\n\t }\n\t }\n\t function closeTagNameState(type, stream, state) {\n\t if (type == \"word\") {\n\t var tagName = stream.current();\n\t if (state.context && state.context.tagName != tagName &&\n\t config.implicitlyClosed.hasOwnProperty(state.context.tagName))\n\t popContext(state);\n\t if ((state.context && state.context.tagName == tagName) || config.matchClosing === false) {\n\t setStyle = \"tag\";\n\t return closeState;\n\t } else {\n\t setStyle = \"tag error\";\n\t return closeStateErr;\n\t }\n\t } else {\n\t setStyle = \"error\";\n\t return closeStateErr;\n\t }\n\t }\n\t\n\t function closeState(type, _stream, state) {\n\t if (type != \"endTag\") {\n\t setStyle = \"error\";\n\t return closeState;\n\t }\n\t popContext(state);\n\t return baseState;\n\t }\n\t function closeStateErr(type, stream, state) {\n\t setStyle = \"error\";\n\t return closeState(type, stream, state);\n\t }\n\t\n\t function attrState(type, _stream, state) {\n\t if (type == \"word\") {\n\t setStyle = \"attribute\";\n\t return attrEqState;\n\t } else if (type == \"endTag\" || type == \"selfcloseTag\") {\n\t var tagName = state.tagName, tagStart = state.tagStart;\n\t state.tagName = state.tagStart = null;\n\t if (type == \"selfcloseTag\" ||\n\t config.autoSelfClosers.hasOwnProperty(tagName)) {\n\t maybePopContext(state, tagName);\n\t } else {\n\t maybePopContext(state, tagName);\n\t state.context = new Context(state, tagName, tagStart == state.indented);\n\t }\n\t return baseState;\n\t }\n\t setStyle = \"error\";\n\t return attrState;\n\t }\n\t function attrEqState(type, stream, state) {\n\t if (type == \"equals\") return attrValueState;\n\t if (!config.allowMissing) setStyle = \"error\";\n\t return attrState(type, stream, state);\n\t }\n\t function attrValueState(type, stream, state) {\n\t if (type == \"string\") return attrContinuedState;\n\t if (type == \"word\" && config.allowUnquoted) {setStyle = \"string\"; return attrState;}\n\t setStyle = \"error\";\n\t return attrState(type, stream, state);\n\t }\n\t function attrContinuedState(type, stream, state) {\n\t if (type == \"string\") return attrContinuedState;\n\t return attrState(type, stream, state);\n\t }\n\t\n\t return {\n\t startState: function(baseIndent) {\n\t var state = {tokenize: inText,\n\t state: baseState,\n\t indented: baseIndent || 0,\n\t tagName: null, tagStart: null,\n\t context: null}\n\t if (baseIndent != null) state.baseIndent = baseIndent\n\t return state\n\t },\n\t\n\t token: function(stream, state) {\n\t if (!state.tagName && stream.sol())\n\t state.indented = stream.indentation();\n\t\n\t if (stream.eatSpace()) return null;\n\t type = null;\n\t var style = state.tokenize(stream, state);\n\t if ((style || type) && style != \"comment\") {\n\t setStyle = null;\n\t state.state = state.state(type || style, stream, state);\n\t if (setStyle)\n\t style = setStyle == \"error\" ? style + \" error\" : setStyle;\n\t }\n\t return style;\n\t },\n\t\n\t indent: function(state, textAfter, fullLine) {\n\t var context = state.context;\n\t // Indent multi-line strings (e.g. css).\n\t if (state.tokenize.isInAttribute) {\n\t if (state.tagStart == state.indented)\n\t return state.stringStartCol + 1;\n\t else\n\t return state.indented + indentUnit;\n\t }\n\t if (context && context.noIndent) return CodeMirror.Pass;\n\t if (state.tokenize != inTag && state.tokenize != inText)\n\t return fullLine ? fullLine.match(/^(\\s*)/)[0].length : 0;\n\t // Indent the starts of attribute names.\n\t if (state.tagName) {\n\t if (config.multilineTagIndentPastTag !== false)\n\t return state.tagStart + state.tagName.length + 2;\n\t else\n\t return state.tagStart + indentUnit * (config.multilineTagIndentFactor || 1);\n\t }\n\t if (config.alignCDATA && /<!\\[CDATA\\[/.test(textAfter)) return 0;\n\t var tagAfter = textAfter && /^<(\\/)?([\\w_:\\.-]*)/.exec(textAfter);\n\t if (tagAfter && tagAfter[1]) { // Closing tag spotted\n\t while (context) {\n\t if (context.tagName == tagAfter[2]) {\n\t context = context.prev;\n\t break;\n\t } else if (config.implicitlyClosed.hasOwnProperty(context.tagName)) {\n\t context = context.prev;\n\t } else {\n\t break;\n\t }\n\t }\n\t } else if (tagAfter) { // Opening tag spotted\n\t while (context) {\n\t var grabbers = config.contextGrabbers[context.tagName];\n\t if (grabbers && grabbers.hasOwnProperty(tagAfter[2]))\n\t context = context.prev;\n\t else\n\t break;\n\t }\n\t }\n\t while (context && context.prev && !context.startOfLine)\n\t context = context.prev;\n\t if (context) return context.indent + indentUnit;\n\t else return state.baseIndent || 0;\n\t },\n\t\n\t electricInput: /<\\/[\\s\\w:]+>$/,\n\t blockCommentStart: \"<!--\",\n\t blockCommentEnd: \"-->\",\n\t\n\t configuration: config.htmlMode ? \"html\" : \"xml\",\n\t helperType: config.htmlMode ? \"html\" : \"xml\",\n\t\n\t skipAttribute: function(state) {\n\t if (state.state == attrValueState)\n\t state.state = attrState\n\t }\n\t };\n\t});\n\t\n\tCodeMirror.defineMIME(\"text/xml\", \"xml\");\n\tCodeMirror.defineMIME(\"application/xml\", \"xml\");\n\tif (!CodeMirror.mimeModes.hasOwnProperty(\"text/html\"))\n\t CodeMirror.defineMIME(\"text/html\", {name: \"xml\", htmlMode: true});\n\t\n\t});\n\n\n/***/ },\n/* 168 */\n/***/ function(module, exports) {\n\n\t\"use strict\";\n\t\n\texports.__esModule = true;\n\texports[\"default\"] = ownerDocument;\n\t\n\tfunction ownerDocument(node) {\n\t return node && node.ownerDocument || document;\n\t}\n\t\n\tmodule.exports = exports[\"default\"];\n\n/***/ },\n/* 169 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar offset = __webpack_require__(109),\n\t getWindow = __webpack_require__(59);\n\t\n\tmodule.exports = function width(node, client) {\n\t var win = getWindow(node);\n\t return win ? win.innerWidth : client ? node.clientWidth : offset(node).width;\n\t};\n\n/***/ },\n/* 170 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (root, factory) {\n\t if (true) {\n\t !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t } else if (typeof exports === \"object\") {\n\t factory(exports);\n\t } else {\n\t factory(root.babelHelpers = {});\n\t }\n\t})(this, function (global) {\n\t var babelHelpers = global;\n\t\n\t babelHelpers.interopRequireDefault = function (obj) {\n\t return obj && obj.__esModule ? obj : {\n\t \"default\": obj\n\t };\n\t };\n\t\n\t babelHelpers._extends = Object.assign || function (target) {\n\t for (var i = 1; i < arguments.length; i++) {\n\t var source = arguments[i];\n\t\n\t for (var key in source) {\n\t if (Object.prototype.hasOwnProperty.call(source, key)) {\n\t target[key] = source[key];\n\t }\n\t }\n\t }\n\t\n\t return target;\n\t };\n\t})\n\n/***/ },\n/* 171 */\n/***/ function(module, exports) {\n\n\t'use strict';\n\t\n\tvar rUpper = /([A-Z])/g;\n\t\n\tmodule.exports = function hyphenate(string) {\n\t return string.replace(rUpper, '-$1').toLowerCase();\n\t};\n\n/***/ },\n/* 172 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\t/**\n\t * Copyright (c) 2013-present, Facebook, Inc.\n\t *\n\t * Licensed under the Apache License, Version 2.0 (the \"License\");\n\t * you may not use this file except in compliance with the License.\n\t * You may obtain a copy of the License at\n\t *\n\t * http://www.apache.org/licenses/LICENSE-2.0\n\t *\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS,\n\t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t * See the License for the specific language governing permissions and\n\t * limitations under the License.\n\t *\n\t * @typechecks\n\t */\n\t\n\tvar emptyFunction = __webpack_require__(24);\n\t\n\t/**\n\t * Upstream version of event listener. Does not take into account specific\n\t * nature of platform.\n\t */\n\tvar EventListener = {\n\t /**\n\t * Listen to DOM events during the bubble phase.\n\t *\n\t * @param {DOMEventTarget} target DOM element to register listener on.\n\t * @param {string} eventType Event type, e.g. 'click' or 'mouseover'.\n\t * @param {function} callback Callback function.\n\t * @return {object} Object with a `remove` method.\n\t */\n\t listen: function listen(target, eventType, callback) {\n\t if (target.addEventListener) {\n\t target.addEventListener(eventType, callback, false);\n\t return {\n\t remove: function remove() {\n\t target.removeEventListener(eventType, callback, false);\n\t }\n\t };\n\t } else if (target.attachEvent) {\n\t target.attachEvent('on' + eventType, callback);\n\t return {\n\t remove: function remove() {\n\t target.detachEvent('on' + eventType, callback);\n\t }\n\t };\n\t }\n\t },\n\t\n\t /**\n\t * Listen to DOM events during the capture phase.\n\t *\n\t * @param {DOMEventTarget} target DOM element to register listener on.\n\t * @param {string} eventType Event type, e.g. 'click' or 'mouseover'.\n\t * @param {function} callback Callback function.\n\t * @return {object} Object with a `remove` method.\n\t */\n\t capture: function capture(target, eventType, callback) {\n\t if (target.addEventListener) {\n\t target.addEventListener(eventType, callback, true);\n\t return {\n\t remove: function remove() {\n\t target.removeEventListener(eventType, callback, true);\n\t }\n\t };\n\t } else {\n\t if (false) {\n\t console.error('Attempted to listen to events during the capture phase on a ' + 'browser that does not support the capture phase. Your application ' + 'will not receive some events.');\n\t }\n\t return {\n\t remove: emptyFunction\n\t };\n\t }\n\t },\n\t\n\t registerDefault: function registerDefault() {}\n\t};\n\t\n\tmodule.exports = EventListener;\n\n/***/ },\n/* 173 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Copyright (c) 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t */\n\t\n\t'use strict';\n\t\n\t/**\n\t * @param {DOMElement} node input/textarea to focus\n\t */\n\t\n\tfunction focusNode(node) {\n\t // IE8 can throw \"Can't move focus to the control because it is invisible,\n\t // not enabled, or of a type that does not accept the focus.\" for all kinds of\n\t // reasons that are too expensive and fragile to test.\n\t try {\n\t node.focus();\n\t } catch (e) {}\n\t}\n\t\n\tmodule.exports = focusNode;\n\n/***/ },\n/* 174 */\n/***/ function(module, exports) {\n\n\t'use strict';\n\t\n\t/**\n\t * Copyright (c) 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @typechecks\n\t */\n\t\n\t/* eslint-disable fb-www/typeof-undefined */\n\t\n\t/**\n\t * Same as document.activeElement but wraps in a try-catch block. In IE it is\n\t * not safe to call document.activeElement if there is nothing focused.\n\t *\n\t * The activeElement will be null only if the document or document body is not\n\t * yet defined.\n\t */\n\tfunction getActiveElement() /*?DOMElement*/{\n\t if (typeof document === 'undefined') {\n\t return null;\n\t }\n\t try {\n\t return document.activeElement || document.body;\n\t } catch (e) {\n\t return document.body;\n\t }\n\t}\n\t\n\tmodule.exports = getActiveElement;\n\n/***/ },\n/* 175 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\texports.readState = exports.saveState = undefined;\n\t\n\tvar _warning = __webpack_require__(41);\n\t\n\tvar _warning2 = _interopRequireDefault(_warning);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tvar QuotaExceededErrors = {\n\t QuotaExceededError: true,\n\t QUOTA_EXCEEDED_ERR: true\n\t};\n\t\n\tvar SecurityErrors = {\n\t SecurityError: true\n\t};\n\t\n\tvar KeyPrefix = '@@History/';\n\t\n\tvar createKey = function createKey(key) {\n\t return KeyPrefix + key;\n\t};\n\t\n\tvar saveState = exports.saveState = function saveState(key, state) {\n\t if (!window.sessionStorage) {\n\t // Session storage is not available or hidden.\n\t // sessionStorage is undefined in Internet Explorer when served via file protocol.\n\t false ? (0, _warning2.default)(false, '[history] Unable to save state; sessionStorage is not available') : void 0;\n\t\n\t return;\n\t }\n\t\n\t try {\n\t if (state == null) {\n\t window.sessionStorage.removeItem(createKey(key));\n\t } else {\n\t window.sessionStorage.setItem(createKey(key), JSON.stringify(state));\n\t }\n\t } catch (error) {\n\t if (SecurityErrors[error.name]) {\n\t // Blocking cookies in Chrome/Firefox/Safari throws SecurityError on any\n\t // attempt to access window.sessionStorage.\n\t false ? (0, _warning2.default)(false, '[history] Unable to save state; sessionStorage is not available due to security settings') : void 0;\n\t\n\t return;\n\t }\n\t\n\t if (QuotaExceededErrors[error.name] && window.sessionStorage.length === 0) {\n\t // Safari \"private mode\" throws QuotaExceededError.\n\t false ? (0, _warning2.default)(false, '[history] Unable to save state; sessionStorage is not available in Safari private mode') : void 0;\n\t\n\t return;\n\t }\n\t\n\t throw error;\n\t }\n\t};\n\t\n\tvar readState = exports.readState = function readState(key) {\n\t var json = void 0;\n\t try {\n\t json = window.sessionStorage.getItem(createKey(key));\n\t } catch (error) {\n\t if (SecurityErrors[error.name]) {\n\t // Blocking cookies in Chrome/Firefox/Safari throws SecurityError on any\n\t // attempt to access window.sessionStorage.\n\t false ? (0, _warning2.default)(false, '[history] Unable to read state; sessionStorage is not available due to security settings') : void 0;\n\t\n\t return undefined;\n\t }\n\t }\n\t\n\t if (json) {\n\t try {\n\t return JSON.parse(json);\n\t } catch (error) {\n\t // Ignore invalid JSON.\n\t }\n\t }\n\t\n\t return undefined;\n\t};\n\n/***/ },\n/* 176 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\t\n\tvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\t\n\tvar _runTransitionHook = __webpack_require__(115);\n\t\n\tvar _runTransitionHook2 = _interopRequireDefault(_runTransitionHook);\n\t\n\tvar _PathUtils = __webpack_require__(35);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tvar useBasename = function useBasename(createHistory) {\n\t return function () {\n\t var options = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];\n\t\n\t var history = createHistory(options);\n\t var basename = options.basename;\n\t\n\t\n\t var addBasename = function addBasename(location) {\n\t if (!location) return location;\n\t\n\t if (basename && location.basename == null) {\n\t if (location.pathname.indexOf(basename) === 0) {\n\t location.pathname = location.pathname.substring(basename.length);\n\t location.basename = basename;\n\t\n\t if (location.pathname === '') location.pathname = '/';\n\t } else {\n\t location.basename = '';\n\t }\n\t }\n\t\n\t return location;\n\t };\n\t\n\t var prependBasename = function prependBasename(location) {\n\t if (!basename) return location;\n\t\n\t var object = typeof location === 'string' ? (0, _PathUtils.parsePath)(location) : location;\n\t var pname = object.pathname;\n\t var normalizedBasename = basename.slice(-1) === '/' ? basename : basename + '/';\n\t var normalizedPathname = pname.charAt(0) === '/' ? pname.slice(1) : pname;\n\t var pathname = normalizedBasename + normalizedPathname;\n\t\n\t return _extends({}, object, {\n\t pathname: pathname\n\t });\n\t };\n\t\n\t // Override all read methods with basename-aware versions.\n\t var getCurrentLocation = function getCurrentLocation() {\n\t return addBasename(history.getCurrentLocation());\n\t };\n\t\n\t var listenBefore = function listenBefore(hook) {\n\t return history.listenBefore(function (location, callback) {\n\t return (0, _runTransitionHook2.default)(hook, addBasename(location), callback);\n\t });\n\t };\n\t\n\t var listen = function listen(listener) {\n\t return history.listen(function (location) {\n\t return listener(addBasename(location));\n\t });\n\t };\n\t\n\t // Override all write methods with basename-aware versions.\n\t var push = function push(location) {\n\t return history.push(prependBasename(location));\n\t };\n\t\n\t var replace = function replace(location) {\n\t return history.replace(prependBasename(location));\n\t };\n\t\n\t var createPath = function createPath(location) {\n\t return history.createPath(prependBasename(location));\n\t };\n\t\n\t var createHref = function createHref(location) {\n\t return history.createHref(prependBasename(location));\n\t };\n\t\n\t var createLocation = function createLocation(location) {\n\t for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n\t args[_key - 1] = arguments[_key];\n\t }\n\t\n\t return addBasename(history.createLocation.apply(history, [prependBasename(location)].concat(args)));\n\t };\n\t\n\t return _extends({}, history, {\n\t getCurrentLocation: getCurrentLocation,\n\t listenBefore: listenBefore,\n\t listen: listen,\n\t push: push,\n\t replace: replace,\n\t createPath: createPath,\n\t createHref: createHref,\n\t createLocation: createLocation\n\t });\n\t };\n\t};\n\t\n\texports.default = useBasename;\n\n/***/ },\n/* 177 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\t\n\tvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\t\n\tvar _queryString = __webpack_require__(536);\n\t\n\tvar _runTransitionHook = __webpack_require__(115);\n\t\n\tvar _runTransitionHook2 = _interopRequireDefault(_runTransitionHook);\n\t\n\tvar _LocationUtils = __webpack_require__(48);\n\t\n\tvar _PathUtils = __webpack_require__(35);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tvar defaultStringifyQuery = function defaultStringifyQuery(query) {\n\t return (0, _queryString.stringify)(query).replace(/%20/g, '+');\n\t};\n\t\n\tvar defaultParseQueryString = _queryString.parse;\n\t\n\t/**\n\t * Returns a new createHistory function that may be used to create\n\t * history objects that know how to handle URL queries.\n\t */\n\tvar useQueries = function useQueries(createHistory) {\n\t return function () {\n\t var options = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];\n\t\n\t var history = createHistory(options);\n\t var stringifyQuery = options.stringifyQuery;\n\t var parseQueryString = options.parseQueryString;\n\t\n\t\n\t if (typeof stringifyQuery !== 'function') stringifyQuery = defaultStringifyQuery;\n\t\n\t if (typeof parseQueryString !== 'function') parseQueryString = defaultParseQueryString;\n\t\n\t var decodeQuery = function decodeQuery(location) {\n\t if (!location) return location;\n\t\n\t if (location.query == null) location.query = parseQueryString(location.search.substring(1));\n\t\n\t return location;\n\t };\n\t\n\t var encodeQuery = function encodeQuery(location, query) {\n\t if (query == null) return location;\n\t\n\t var object = typeof location === 'string' ? (0, _PathUtils.parsePath)(location) : location;\n\t var queryString = stringifyQuery(query);\n\t var search = queryString ? '?' + queryString : '';\n\t\n\t return _extends({}, object, {\n\t search: search\n\t });\n\t };\n\t\n\t // Override all read methods with query-aware versions.\n\t var getCurrentLocation = function getCurrentLocation() {\n\t return decodeQuery(history.getCurrentLocation());\n\t };\n\t\n\t var listenBefore = function listenBefore(hook) {\n\t return history.listenBefore(function (location, callback) {\n\t return (0, _runTransitionHook2.default)(hook, decodeQuery(location), callback);\n\t });\n\t };\n\t\n\t var listen = function listen(listener) {\n\t return history.listen(function (location) {\n\t return listener(decodeQuery(location));\n\t });\n\t };\n\t\n\t // Override all write methods with query-aware versions.\n\t var push = function push(location) {\n\t return history.push(encodeQuery(location, location.query));\n\t };\n\t\n\t var replace = function replace(location) {\n\t return history.replace(encodeQuery(location, location.query));\n\t };\n\t\n\t var createPath = function createPath(location) {\n\t return history.createPath(encodeQuery(location, location.query));\n\t };\n\t\n\t var createHref = function createHref(location) {\n\t return history.createHref(encodeQuery(location, location.query));\n\t };\n\t\n\t var createLocation = function createLocation(location) {\n\t for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n\t args[_key - 1] = arguments[_key];\n\t }\n\t\n\t var newLocation = history.createLocation.apply(history, [encodeQuery(location, location.query)].concat(args));\n\t\n\t if (location.query) newLocation.query = (0, _LocationUtils.createQuery)(location.query);\n\t\n\t return decodeQuery(newLocation);\n\t };\n\t\n\t return _extends({}, history, {\n\t getCurrentLocation: getCurrentLocation,\n\t listenBefore: listenBefore,\n\t listen: listen,\n\t push: push,\n\t replace: replace,\n\t createPath: createPath,\n\t createHref: createHref,\n\t createLocation: createLocation\n\t });\n\t };\n\t};\n\t\n\texports.default = useQueries;\n\n/***/ },\n/* 178 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Copyright 2015, Yahoo! Inc.\n\t * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n\t */\n\t'use strict';\n\t\n\tvar REACT_STATICS = {\n\t childContextTypes: true,\n\t contextTypes: true,\n\t defaultProps: true,\n\t displayName: true,\n\t getDefaultProps: true,\n\t mixins: true,\n\t propTypes: true,\n\t type: true\n\t};\n\t\n\tvar KNOWN_STATICS = {\n\t name: true,\n\t length: true,\n\t prototype: true,\n\t caller: true,\n\t arguments: true,\n\t arity: true\n\t};\n\t\n\tvar isGetOwnPropertySymbolsAvailable = typeof Object.getOwnPropertySymbols === 'function';\n\t\n\tmodule.exports = function hoistNonReactStatics(targetComponent, sourceComponent, customStatics) {\n\t if (typeof sourceComponent !== 'string') { // don't hoist over string (html) components\n\t var keys = Object.getOwnPropertyNames(sourceComponent);\n\t\n\t /* istanbul ignore else */\n\t if (isGetOwnPropertySymbolsAvailable) {\n\t keys = keys.concat(Object.getOwnPropertySymbols(sourceComponent));\n\t }\n\t\n\t for (var i = 0; i < keys.length; ++i) {\n\t if (!REACT_STATICS[keys[i]] && !KNOWN_STATICS[keys[i]] && (!customStatics || !customStatics[keys[i]])) {\n\t try {\n\t targetComponent[keys[i]] = sourceComponent[keys[i]];\n\t } catch (error) {\n\t\n\t }\n\t }\n\t }\n\t }\n\t\n\t return targetComponent;\n\t};\n\n\n/***/ },\n/* 179 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// Standard YAML's Core schema.\n\t// http://www.yaml.org/spec/1.2/spec.html#id2804923\n\t//\n\t// NOTE: JS-YAML does not support schema-specific tag resolution restrictions.\n\t// So, Core schema has no distinctions from JSON schema is JS-YAML.\n\t\n\t\n\t'use strict';\n\t\n\t\n\tvar Schema = __webpack_require__(50);\n\t\n\t\n\tmodule.exports = new Schema({\n\t include: [\n\t __webpack_require__(180)\n\t ]\n\t});\n\n\n/***/ },\n/* 180 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// Standard YAML's JSON schema.\n\t// http://www.yaml.org/spec/1.2/spec.html#id2803231\n\t//\n\t// NOTE: JS-YAML does not support schema-specific tag resolution restrictions.\n\t// So, this schema is not such strict as defined in the YAML specification.\n\t// It allows numbers in binary notaion, use `Null` and `NULL` as `null`, etc.\n\t\n\t\n\t'use strict';\n\t\n\t\n\tvar Schema = __webpack_require__(50);\n\t\n\t\n\tmodule.exports = new Schema({\n\t include: [\n\t __webpack_require__(116)\n\t ],\n\t implicit: [\n\t __webpack_require__(450),\n\t __webpack_require__(442),\n\t __webpack_require__(444),\n\t __webpack_require__(443)\n\t ]\n\t});\n\n\n/***/ },\n/* 181 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseTimes = __webpack_require__(479),\n\t isArguments = __webpack_require__(531),\n\t isArray = __webpack_require__(123),\n\t isBuffer = __webpack_require__(193),\n\t isIndex = __webpack_require__(506),\n\t isTypedArray = __webpack_require__(532);\n\t\n\t/** Used for built-in method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * Creates an array of the enumerable property names of the array-like `value`.\n\t *\n\t * @private\n\t * @param {*} value The value to query.\n\t * @param {boolean} inherited Specify returning inherited property names.\n\t * @returns {Array} Returns the array of property names.\n\t */\n\tfunction arrayLikeKeys(value, inherited) {\n\t var isArr = isArray(value),\n\t isArg = !isArr && isArguments(value),\n\t isBuff = !isArr && !isArg && isBuffer(value),\n\t isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n\t skipIndexes = isArr || isArg || isBuff || isType,\n\t result = skipIndexes ? baseTimes(value.length, String) : [],\n\t length = result.length;\n\t\n\t for (var key in value) {\n\t if ((inherited || hasOwnProperty.call(value, key)) &&\n\t !(skipIndexes && (\n\t // Safari 9 has enumerable `arguments.length` in strict mode.\n\t key == 'length' ||\n\t // Node.js 0.10 has enumerable non-index properties on buffers.\n\t (isBuff && (key == 'offset' || key == 'parent')) ||\n\t // PhantomJS 2 has enumerable non-index properties on typed arrays.\n\t (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n\t // Skip index properties.\n\t isIndex(key, length)\n\t ))) {\n\t result.push(key);\n\t }\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = arrayLikeKeys;\n\n\n/***/ },\n/* 182 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Appends the elements of `values` to `array`.\n\t *\n\t * @private\n\t * @param {Array} array The array to modify.\n\t * @param {Array} values The values to append.\n\t * @returns {Array} Returns `array`.\n\t */\n\tfunction arrayPush(array, values) {\n\t var index = -1,\n\t length = values.length,\n\t offset = array.length;\n\t\n\t while (++index < length) {\n\t array[offset + index] = values[index];\n\t }\n\t return array;\n\t}\n\t\n\tmodule.exports = arrayPush;\n\n\n/***/ },\n/* 183 */\n/***/ function(module, exports) {\n\n\t/**\n\t * A specialized version of `_.reduce` for arrays without support for\n\t * iteratee shorthands.\n\t *\n\t * @private\n\t * @param {Array} [array] The array to iterate over.\n\t * @param {Function} iteratee The function invoked per iteration.\n\t * @param {*} [accumulator] The initial value.\n\t * @param {boolean} [initAccum] Specify using the first element of `array` as\n\t * the initial value.\n\t * @returns {*} Returns the accumulated value.\n\t */\n\tfunction arrayReduce(array, iteratee, accumulator, initAccum) {\n\t var index = -1,\n\t length = array == null ? 0 : array.length;\n\t\n\t if (initAccum && length) {\n\t accumulator = array[++index];\n\t }\n\t while (++index < length) {\n\t accumulator = iteratee(accumulator, array[index], index, array);\n\t }\n\t return accumulator;\n\t}\n\t\n\tmodule.exports = arrayReduce;\n\n\n/***/ },\n/* 184 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseAssignValue = __webpack_require__(185),\n\t eq = __webpack_require__(191);\n\t\n\t/** Used for built-in method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * Assigns `value` to `key` of `object` if the existing value is not equivalent\n\t * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n\t * for equality comparisons.\n\t *\n\t * @private\n\t * @param {Object} object The object to modify.\n\t * @param {string} key The key of the property to assign.\n\t * @param {*} value The value to assign.\n\t */\n\tfunction assignValue(object, key, value) {\n\t var objValue = object[key];\n\t if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n\t (value === undefined && !(key in object))) {\n\t baseAssignValue(object, key, value);\n\t }\n\t}\n\t\n\tmodule.exports = assignValue;\n\n\n/***/ },\n/* 185 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar defineProperty = __webpack_require__(492);\n\t\n\t/**\n\t * The base implementation of `assignValue` and `assignMergeValue` without\n\t * value checks.\n\t *\n\t * @private\n\t * @param {Object} object The object to modify.\n\t * @param {string} key The key of the property to assign.\n\t * @param {*} value The value to assign.\n\t */\n\tfunction baseAssignValue(object, key, value) {\n\t if (key == '__proto__' && defineProperty) {\n\t defineProperty(object, key, {\n\t 'configurable': true,\n\t 'enumerable': true,\n\t 'value': value,\n\t 'writable': true\n\t });\n\t } else {\n\t object[key] = value;\n\t }\n\t}\n\t\n\tmodule.exports = baseAssignValue;\n\n\n/***/ },\n/* 186 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar arrayPush = __webpack_require__(182),\n\t isArray = __webpack_require__(123);\n\t\n\t/**\n\t * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n\t * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n\t * symbols of `object`.\n\t *\n\t * @private\n\t * @param {Object} object The object to query.\n\t * @param {Function} keysFunc The function to get the keys of `object`.\n\t * @param {Function} symbolsFunc The function to get the symbols of `object`.\n\t * @returns {Array} Returns the array of property names and symbols.\n\t */\n\tfunction baseGetAllKeys(object, keysFunc, symbolsFunc) {\n\t var result = keysFunc(object);\n\t return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\n\t}\n\t\n\tmodule.exports = baseGetAllKeys;\n\n\n/***/ },\n/* 187 */\n/***/ function(module, exports) {\n\n\t/* WEBPACK VAR INJECTION */(function(global) {/** Detect free variable `global` from Node.js. */\n\tvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\t\n\tmodule.exports = freeGlobal;\n\t\n\t/* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }())))\n\n/***/ },\n/* 188 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar arrayPush = __webpack_require__(182),\n\t getPrototype = __webpack_require__(120),\n\t getSymbols = __webpack_require__(121),\n\t stubArray = __webpack_require__(197);\n\t\n\t/* Built-in method references for those with the same name as other `lodash` methods. */\n\tvar nativeGetSymbols = Object.getOwnPropertySymbols;\n\t\n\t/**\n\t * Creates an array of the own and inherited enumerable symbols of `object`.\n\t *\n\t * @private\n\t * @param {Object} object The object to query.\n\t * @returns {Array} Returns the array of symbols.\n\t */\n\tvar getSymbolsIn = !nativeGetSymbols ? stubArray : function(object) {\n\t var result = [];\n\t while (object) {\n\t arrayPush(result, getSymbols(object));\n\t object = getPrototype(object);\n\t }\n\t return result;\n\t};\n\t\n\tmodule.exports = getSymbolsIn;\n\n\n/***/ },\n/* 189 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Creates a unary function that invokes `func` with its argument transformed.\n\t *\n\t * @private\n\t * @param {Function} func The function to wrap.\n\t * @param {Function} transform The argument transform.\n\t * @returns {Function} Returns the new function.\n\t */\n\tfunction overArg(func, transform) {\n\t return function(arg) {\n\t return func(transform(arg));\n\t };\n\t}\n\t\n\tmodule.exports = overArg;\n\n\n/***/ },\n/* 190 */\n/***/ function(module, exports) {\n\n\t/** Used for built-in method references. */\n\tvar funcProto = Function.prototype;\n\t\n\t/** Used to resolve the decompiled source of functions. */\n\tvar funcToString = funcProto.toString;\n\t\n\t/**\n\t * Converts `func` to its source code.\n\t *\n\t * @private\n\t * @param {Function} func The function to convert.\n\t * @returns {string} Returns the source code.\n\t */\n\tfunction toSource(func) {\n\t if (func != null) {\n\t try {\n\t return funcToString.call(func);\n\t } catch (e) {}\n\t try {\n\t return (func + '');\n\t } catch (e) {}\n\t }\n\t return '';\n\t}\n\t\n\tmodule.exports = toSource;\n\n\n/***/ },\n/* 191 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Performs a\n\t * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n\t * comparison between two values to determine if they are equivalent.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 4.0.0\n\t * @category Lang\n\t * @param {*} value The value to compare.\n\t * @param {*} other The other value to compare.\n\t * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n\t * @example\n\t *\n\t * var object = { 'a': 1 };\n\t * var other = { 'a': 1 };\n\t *\n\t * _.eq(object, object);\n\t * // => true\n\t *\n\t * _.eq(object, other);\n\t * // => false\n\t *\n\t * _.eq('a', 'a');\n\t * // => true\n\t *\n\t * _.eq('a', Object('a'));\n\t * // => false\n\t *\n\t * _.eq(NaN, NaN);\n\t * // => true\n\t */\n\tfunction eq(value, other) {\n\t return value === other || (value !== value && other !== other);\n\t}\n\t\n\tmodule.exports = eq;\n\n\n/***/ },\n/* 192 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isFunction = __webpack_require__(194),\n\t isLength = __webpack_require__(195);\n\t\n\t/**\n\t * Checks if `value` is array-like. A value is considered array-like if it's\n\t * not a function and has a `value.length` that's an integer greater than or\n\t * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 4.0.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n\t * @example\n\t *\n\t * _.isArrayLike([1, 2, 3]);\n\t * // => true\n\t *\n\t * _.isArrayLike(document.body.children);\n\t * // => true\n\t *\n\t * _.isArrayLike('abc');\n\t * // => true\n\t *\n\t * _.isArrayLike(_.noop);\n\t * // => false\n\t */\n\tfunction isArrayLike(value) {\n\t return value != null && isLength(value.length) && !isFunction(value);\n\t}\n\t\n\tmodule.exports = isArrayLike;\n\n\n/***/ },\n/* 193 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/* WEBPACK VAR INJECTION */(function(module) {var root = __webpack_require__(27),\n\t stubFalse = __webpack_require__(533);\n\t\n\t/** Detect free variable `exports`. */\n\tvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\t\n\t/** Detect free variable `module`. */\n\tvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\t\n\t/** Detect the popular CommonJS extension `module.exports`. */\n\tvar moduleExports = freeModule && freeModule.exports === freeExports;\n\t\n\t/** Built-in value references. */\n\tvar Buffer = moduleExports ? root.Buffer : undefined;\n\t\n\t/* Built-in method references for those with the same name as other `lodash` methods. */\n\tvar nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined;\n\t\n\t/**\n\t * Checks if `value` is a buffer.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 4.3.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n\t * @example\n\t *\n\t * _.isBuffer(new Buffer(2));\n\t * // => true\n\t *\n\t * _.isBuffer(new Uint8Array(2));\n\t * // => false\n\t */\n\tvar isBuffer = nativeIsBuffer || stubFalse;\n\t\n\tmodule.exports = isBuffer;\n\t\n\t/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(76)(module)))\n\n/***/ },\n/* 194 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseGetTag = __webpack_require__(65),\n\t isObject = __webpack_require__(66);\n\t\n\t/** `Object#toString` result references. */\n\tvar asyncTag = '[object AsyncFunction]',\n\t funcTag = '[object Function]',\n\t genTag = '[object GeneratorFunction]',\n\t proxyTag = '[object Proxy]';\n\t\n\t/**\n\t * Checks if `value` is classified as a `Function` object.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 0.1.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n\t * @example\n\t *\n\t * _.isFunction(_);\n\t * // => true\n\t *\n\t * _.isFunction(/abc/);\n\t * // => false\n\t */\n\tfunction isFunction(value) {\n\t if (!isObject(value)) {\n\t return false;\n\t }\n\t // The use of `Object#toString` avoids issues with the `typeof` operator\n\t // in Safari 9 which returns 'object' for typed arrays and other constructors.\n\t var tag = baseGetTag(value);\n\t return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n\t}\n\t\n\tmodule.exports = isFunction;\n\n\n/***/ },\n/* 195 */\n/***/ function(module, exports) {\n\n\t/** Used as references for various `Number` constants. */\n\tvar MAX_SAFE_INTEGER = 9007199254740991;\n\t\n\t/**\n\t * Checks if `value` is a valid array-like length.\n\t *\n\t * **Note:** This method is loosely based on\n\t * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 4.0.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n\t * @example\n\t *\n\t * _.isLength(3);\n\t * // => true\n\t *\n\t * _.isLength(Number.MIN_VALUE);\n\t * // => false\n\t *\n\t * _.isLength(Infinity);\n\t * // => false\n\t *\n\t * _.isLength('3');\n\t * // => false\n\t */\n\tfunction isLength(value) {\n\t return typeof value == 'number' &&\n\t value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n\t}\n\t\n\tmodule.exports = isLength;\n\n\n/***/ },\n/* 196 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar arrayLikeKeys = __webpack_require__(181),\n\t baseKeysIn = __webpack_require__(478),\n\t isArrayLike = __webpack_require__(192);\n\t\n\t/**\n\t * Creates an array of the own and inherited enumerable property names of `object`.\n\t *\n\t * **Note:** Non-object values are coerced to objects.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 3.0.0\n\t * @category Object\n\t * @param {Object} object The object to query.\n\t * @returns {Array} Returns the array of property names.\n\t * @example\n\t *\n\t * function Foo() {\n\t * this.a = 1;\n\t * this.b = 2;\n\t * }\n\t *\n\t * Foo.prototype.c = 3;\n\t *\n\t * _.keysIn(new Foo);\n\t * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n\t */\n\tfunction keysIn(object) {\n\t return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);\n\t}\n\t\n\tmodule.exports = keysIn;\n\n\n/***/ },\n/* 197 */\n/***/ function(module, exports) {\n\n\t/**\n\t * This method returns a new empty array.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 4.13.0\n\t * @category Util\n\t * @returns {Array} Returns the new empty array.\n\t * @example\n\t *\n\t * var arrays = _.times(2, _.stubArray);\n\t *\n\t * console.log(arrays);\n\t * // => [[], []]\n\t *\n\t * console.log(arrays[0] === arrays[1]);\n\t * // => false\n\t */\n\tfunction stubArray() {\n\t return [];\n\t}\n\t\n\tmodule.exports = stubArray;\n\n\n/***/ },\n/* 198 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t//! moment.js locale configuration\n\t//! locale : Afrikaans [af]\n\t//! author : Werner Mollentze : https://github.com/wernerm\n\t\n\t;(function (global, factory) {\n\t true ? factory(__webpack_require__(1)) :\n\t typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n\t factory(global.moment)\n\t}(this, (function (moment) { 'use strict';\n\t\n\t\n\tvar af = moment.defineLocale('af', {\n\t months : 'Januarie_Februarie_Maart_April_Mei_Junie_Julie_Augustus_September_Oktober_November_Desember'.split('_'),\n\t monthsShort : 'Jan_Feb_Mrt_Apr_Mei_Jun_Jul_Aug_Sep_Okt_Nov_Des'.split('_'),\n\t weekdays : 'Sondag_Maandag_Dinsdag_Woensdag_Donderdag_Vrydag_Saterdag'.split('_'),\n\t weekdaysShort : 'Son_Maa_Din_Woe_Don_Vry_Sat'.split('_'),\n\t weekdaysMin : 'So_Ma_Di_Wo_Do_Vr_Sa'.split('_'),\n\t meridiemParse: /vm|nm/i,\n\t isPM : function (input) {\n\t return /^nm$/i.test(input);\n\t },\n\t meridiem : function (hours, minutes, isLower) {\n\t if (hours < 12) {\n\t return isLower ? 'vm' : 'VM';\n\t } else {\n\t return isLower ? 'nm' : 'NM';\n\t }\n\t },\n\t longDateFormat : {\n\t LT : 'HH:mm',\n\t LTS : 'HH:mm:ss',\n\t L : 'DD/MM/YYYY',\n\t LL : 'D MMMM YYYY',\n\t LLL : 'D MMMM YYYY HH:mm',\n\t LLLL : 'dddd, D MMMM YYYY HH:mm'\n\t },\n\t calendar : {\n\t sameDay : '[Vandag om] LT',\n\t nextDay : '[Môre om] LT',\n\t nextWeek : 'dddd [om] LT',\n\t lastDay : '[Gister om] LT',\n\t lastWeek : '[Laas] dddd [om] LT',\n\t sameElse : 'L'\n\t },\n\t relativeTime : {\n\t future : 'oor %s',\n\t past : '%s gelede',\n\t s : '\\'n paar sekondes',\n\t m : '\\'n minuut',\n\t mm : '%d minute',\n\t h : '\\'n uur',\n\t hh : '%d ure',\n\t d : '\\'n dag',\n\t dd : '%d dae',\n\t M : '\\'n maand',\n\t MM : '%d maande',\n\t y : '\\'n jaar',\n\t yy : '%d jaar'\n\t },\n\t ordinalParse: /\\d{1,2}(ste|de)/,\n\t ordinal : function (number) {\n\t return number + ((number === 1 || number === 8 || number >= 20) ? 'ste' : 'de'); // Thanks to Joris Röling : https://github.com/jjupiter\n\t },\n\t week : {\n\t dow : 1, // Maandag is die eerste dag van die week.\n\t doy : 4 // Die week wat die 4de Januarie bevat is die eerste week van die jaar.\n\t }\n\t});\n\t\n\treturn af;\n\t\n\t})));\n\n\n/***/ },\n/* 199 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t//! moment.js locale configuration\n\t//! locale : Arabic (Algeria) [ar-dz]\n\t//! author : Noureddine LOUAHEDJ : https://github.com/noureddineme\n\t\n\t;(function (global, factory) {\n\t true ? factory(__webpack_require__(1)) :\n\t typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n\t factory(global.moment)\n\t}(this, (function (moment) { 'use strict';\n\t\n\t\n\tvar arDz = moment.defineLocale('ar-dz', {\n\t months : 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),\n\t monthsShort : 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),\n\t weekdays : 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n\t weekdaysShort : 'احد_اثنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'),\n\t weekdaysMin : 'أح_إث_ثلا_أر_خم_جم_سب'.split('_'),\n\t weekdaysParseExact : true,\n\t longDateFormat : {\n\t LT : 'HH:mm',\n\t LTS : 'HH:mm:ss',\n\t L : 'DD/MM/YYYY',\n\t LL : 'D MMMM YYYY',\n\t LLL : 'D MMMM YYYY HH:mm',\n\t LLLL : 'dddd D MMMM YYYY HH:mm'\n\t },\n\t calendar : {\n\t sameDay: '[اليوم على الساعة] LT',\n\t nextDay: '[غدا على الساعة] LT',\n\t nextWeek: 'dddd [على الساعة] LT',\n\t lastDay: '[أمس على الساعة] LT',\n\t lastWeek: 'dddd [على الساعة] LT',\n\t sameElse: 'L'\n\t },\n\t relativeTime : {\n\t future : 'في %s',\n\t past : 'منذ %s',\n\t s : 'ثوان',\n\t m : 'دقيقة',\n\t mm : '%d دقائق',\n\t h : 'ساعة',\n\t hh : '%d ساعات',\n\t d : 'يوم',\n\t dd : '%d أيام',\n\t M : 'شهر',\n\t MM : '%d أشهر',\n\t y : 'سنة',\n\t yy : '%d سنوات'\n\t },\n\t week : {\n\t dow : 0, // Sunday is the first day of the week.\n\t doy : 4 // The week that contains Jan 1st is the first week of the year.\n\t }\n\t});\n\t\n\treturn arDz;\n\t\n\t})));\n\n\n/***/ },\n/* 200 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t//! moment.js locale configuration\n\t//! locale : Arabic (Lybia) [ar-ly]\n\t//! author : Ali Hmer: https://github.com/kikoanis\n\t\n\t;(function (global, factory) {\n\t true ? factory(__webpack_require__(1)) :\n\t typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n\t factory(global.moment)\n\t}(this, (function (moment) { 'use strict';\n\t\n\t\n\tvar symbolMap = {\n\t '1': '1',\n\t '2': '2',\n\t '3': '3',\n\t '4': '4',\n\t '5': '5',\n\t '6': '6',\n\t '7': '7',\n\t '8': '8',\n\t '9': '9',\n\t '0': '0'\n\t};\n\tvar pluralForm = function (n) {\n\t return n === 0 ? 0 : n === 1 ? 1 : n === 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5;\n\t};\n\tvar plurals = {\n\t s : ['أقل من ثانية', 'ثانية واحدة', ['ثانيتان', 'ثانيتين'], '%d ثوان', '%d ثانية', '%d ثانية'],\n\t m : ['أقل من دقيقة', 'دقيقة واحدة', ['دقيقتان', 'دقيقتين'], '%d دقائق', '%d دقيقة', '%d دقيقة'],\n\t h : ['أقل من ساعة', 'ساعة واحدة', ['ساعتان', 'ساعتين'], '%d ساعات', '%d ساعة', '%d ساعة'],\n\t d : ['أقل من يوم', 'يوم واحد', ['يومان', 'يومين'], '%d أيام', '%d يومًا', '%d يوم'],\n\t M : ['أقل من شهر', 'شهر واحد', ['شهران', 'شهرين'], '%d أشهر', '%d شهرا', '%d شهر'],\n\t y : ['أقل من عام', 'عام واحد', ['عامان', 'عامين'], '%d أعوام', '%d عامًا', '%d عام']\n\t};\n\tvar pluralize = function (u) {\n\t return function (number, withoutSuffix, string, isFuture) {\n\t var f = pluralForm(number),\n\t str = plurals[u][pluralForm(number)];\n\t if (f === 2) {\n\t str = str[withoutSuffix ? 0 : 1];\n\t }\n\t return str.replace(/%d/i, number);\n\t };\n\t};\n\tvar months = [\n\t 'يناير',\n\t 'فبراير',\n\t 'مارس',\n\t 'أبريل',\n\t 'مايو',\n\t 'يونيو',\n\t 'يوليو',\n\t 'أغسطس',\n\t 'سبتمبر',\n\t 'أكتوبر',\n\t 'نوفمبر',\n\t 'ديسمبر'\n\t];\n\t\n\tvar arLy = moment.defineLocale('ar-ly', {\n\t months : months,\n\t monthsShort : months,\n\t weekdays : 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n\t weekdaysShort : 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n\t weekdaysMin : 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n\t weekdaysParseExact : true,\n\t longDateFormat : {\n\t LT : 'HH:mm',\n\t LTS : 'HH:mm:ss',\n\t L : 'D/\\u200FM/\\u200FYYYY',\n\t LL : 'D MMMM YYYY',\n\t LLL : 'D MMMM YYYY HH:mm',\n\t LLLL : 'dddd D MMMM YYYY HH:mm'\n\t },\n\t meridiemParse: /ص|م/,\n\t isPM : function (input) {\n\t return 'م' === input;\n\t },\n\t meridiem : function (hour, minute, isLower) {\n\t if (hour < 12) {\n\t return 'ص';\n\t } else {\n\t return 'م';\n\t }\n\t },\n\t calendar : {\n\t sameDay: '[اليوم عند الساعة] LT',\n\t nextDay: '[غدًا عند الساعة] LT',\n\t nextWeek: 'dddd [عند الساعة] LT',\n\t lastDay: '[أمس عند الساعة] LT',\n\t lastWeek: 'dddd [عند الساعة] LT',\n\t sameElse: 'L'\n\t },\n\t relativeTime : {\n\t future : 'بعد %s',\n\t past : 'منذ %s',\n\t s : pluralize('s'),\n\t m : pluralize('m'),\n\t mm : pluralize('m'),\n\t h : pluralize('h'),\n\t hh : pluralize('h'),\n\t d : pluralize('d'),\n\t dd : pluralize('d'),\n\t M : pluralize('M'),\n\t MM : pluralize('M'),\n\t y : pluralize('y'),\n\t yy : pluralize('y')\n\t },\n\t preparse: function (string) {\n\t return string.replace(/\\u200f/g, '').replace(/،/g, ',');\n\t },\n\t postformat: function (string) {\n\t return string.replace(/\\d/g, function (match) {\n\t return symbolMap[match];\n\t }).replace(/,/g, '،');\n\t },\n\t week : {\n\t dow : 6, // Saturday is the first day of the week.\n\t doy : 12 // The week that contains Jan 1st is the first week of the year.\n\t }\n\t});\n\t\n\treturn arLy;\n\t\n\t})));\n\n\n/***/ },\n/* 201 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t//! moment.js locale configuration\n\t//! locale : Arabic (Morocco) [ar-ma]\n\t//! author : ElFadili Yassine : https://github.com/ElFadiliY\n\t//! author : Abdel Said : https://github.com/abdelsaid\n\t\n\t;(function (global, factory) {\n\t true ? factory(__webpack_require__(1)) :\n\t typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n\t factory(global.moment)\n\t}(this, (function (moment) { 'use strict';\n\t\n\t\n\tvar arMa = moment.defineLocale('ar-ma', {\n\t months : 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'),\n\t monthsShort : 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'),\n\t weekdays : 'الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n\t weekdaysShort : 'احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'),\n\t weekdaysMin : 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n\t weekdaysParseExact : true,\n\t longDateFormat : {\n\t LT : 'HH:mm',\n\t LTS : 'HH:mm:ss',\n\t L : 'DD/MM/YYYY',\n\t LL : 'D MMMM YYYY',\n\t LLL : 'D MMMM YYYY HH:mm',\n\t LLLL : 'dddd D MMMM YYYY HH:mm'\n\t },\n\t calendar : {\n\t sameDay: '[اليوم على الساعة] LT',\n\t nextDay: '[غدا على الساعة] LT',\n\t nextWeek: 'dddd [على الساعة] LT',\n\t lastDay: '[أمس على الساعة] LT',\n\t lastWeek: 'dddd [على الساعة] LT',\n\t sameElse: 'L'\n\t },\n\t relativeTime : {\n\t future : 'في %s',\n\t past : 'منذ %s',\n\t s : 'ثوان',\n\t m : 'دقيقة',\n\t mm : '%d دقائق',\n\t h : 'ساعة',\n\t hh : '%d ساعات',\n\t d : 'يوم',\n\t dd : '%d أيام',\n\t M : 'شهر',\n\t MM : '%d أشهر',\n\t y : 'سنة',\n\t yy : '%d سنوات'\n\t },\n\t week : {\n\t dow : 6, // Saturday is the first day of the week.\n\t doy : 12 // The week that contains Jan 1st is the first week of the year.\n\t }\n\t});\n\t\n\treturn arMa;\n\t\n\t})));\n\n\n/***/ },\n/* 202 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t//! moment.js locale configuration\n\t//! locale : Arabic (Saudi Arabia) [ar-sa]\n\t//! author : Suhail Alkowaileet : https://github.com/xsoh\n\t\n\t;(function (global, factory) {\n\t true ? factory(__webpack_require__(1)) :\n\t typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n\t factory(global.moment)\n\t}(this, (function (moment) { 'use strict';\n\t\n\t\n\tvar symbolMap = {\n\t '1': '١',\n\t '2': '٢',\n\t '3': '٣',\n\t '4': '٤',\n\t '5': '٥',\n\t '6': '٦',\n\t '7': '٧',\n\t '8': '٨',\n\t '9': '٩',\n\t '0': '٠'\n\t};\n\tvar numberMap = {\n\t '١': '1',\n\t '٢': '2',\n\t '٣': '3',\n\t '٤': '4',\n\t '٥': '5',\n\t '٦': '6',\n\t '٧': '7',\n\t '٨': '8',\n\t '٩': '9',\n\t '٠': '0'\n\t};\n\t\n\tvar arSa = moment.defineLocale('ar-sa', {\n\t months : 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),\n\t monthsShort : 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),\n\t weekdays : 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n\t weekdaysShort : 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n\t weekdaysMin : 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n\t weekdaysParseExact : true,\n\t longDateFormat : {\n\t LT : 'HH:mm',\n\t LTS : 'HH:mm:ss',\n\t L : 'DD/MM/YYYY',\n\t LL : 'D MMMM YYYY',\n\t LLL : 'D MMMM YYYY HH:mm',\n\t LLLL : 'dddd D MMMM YYYY HH:mm'\n\t },\n\t meridiemParse: /ص|م/,\n\t isPM : function (input) {\n\t return 'م' === input;\n\t },\n\t meridiem : function (hour, minute, isLower) {\n\t if (hour < 12) {\n\t return 'ص';\n\t } else {\n\t return 'م';\n\t }\n\t },\n\t calendar : {\n\t sameDay: '[اليوم على الساعة] LT',\n\t nextDay: '[غدا على الساعة] LT',\n\t nextWeek: 'dddd [على الساعة] LT',\n\t lastDay: '[أمس على الساعة] LT',\n\t lastWeek: 'dddd [على الساعة] LT',\n\t sameElse: 'L'\n\t },\n\t relativeTime : {\n\t future : 'في %s',\n\t past : 'منذ %s',\n\t s : 'ثوان',\n\t m : 'دقيقة',\n\t mm : '%d دقائق',\n\t h : 'ساعة',\n\t hh : '%d ساعات',\n\t d : 'يوم',\n\t dd : '%d أيام',\n\t M : 'شهر',\n\t MM : '%d أشهر',\n\t y : 'سنة',\n\t yy : '%d سنوات'\n\t },\n\t preparse: function (string) {\n\t return string.replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {\n\t return numberMap[match];\n\t }).replace(/،/g, ',');\n\t },\n\t postformat: function (string) {\n\t return string.replace(/\\d/g, function (match) {\n\t return symbolMap[match];\n\t }).replace(/,/g, '،');\n\t },\n\t week : {\n\t dow : 0, // Sunday is the first day of the week.\n\t doy : 6 // The week that contains Jan 1st is the first week of the year.\n\t }\n\t});\n\t\n\treturn arSa;\n\t\n\t})));\n\n\n/***/ },\n/* 203 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t//! moment.js locale configuration\n\t//! locale : Arabic (Tunisia) [ar-tn]\n\t//! author : Nader Toukabri : https://github.com/naderio\n\t\n\t;(function (global, factory) {\n\t true ? factory(__webpack_require__(1)) :\n\t typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n\t factory(global.moment)\n\t}(this, (function (moment) { 'use strict';\n\t\n\t\n\tvar arTn = moment.defineLocale('ar-tn', {\n\t months: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),\n\t monthsShort: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),\n\t weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n\t weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n\t weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n\t weekdaysParseExact : true,\n\t longDateFormat: {\n\t LT: 'HH:mm',\n\t LTS: 'HH:mm:ss',\n\t L: 'DD/MM/YYYY',\n\t LL: 'D MMMM YYYY',\n\t LLL: 'D MMMM YYYY HH:mm',\n\t LLLL: 'dddd D MMMM YYYY HH:mm'\n\t },\n\t calendar: {\n\t sameDay: '[اليوم على الساعة] LT',\n\t nextDay: '[غدا على الساعة] LT',\n\t nextWeek: 'dddd [على الساعة] LT',\n\t lastDay: '[أمس على الساعة] LT',\n\t lastWeek: 'dddd [على الساعة] LT',\n\t sameElse: 'L'\n\t },\n\t relativeTime: {\n\t future: 'في %s',\n\t past: 'منذ %s',\n\t s: 'ثوان',\n\t m: 'دقيقة',\n\t mm: '%d دقائق',\n\t h: 'ساعة',\n\t hh: '%d ساعات',\n\t d: 'يوم',\n\t dd: '%d أيام',\n\t M: 'شهر',\n\t MM: '%d أشهر',\n\t y: 'سنة',\n\t yy: '%d سنوات'\n\t },\n\t week: {\n\t dow: 1, // Monday is the first day of the week.\n\t doy: 4 // The week that contains Jan 4th is the first week of the year.\n\t }\n\t});\n\t\n\treturn arTn;\n\t\n\t})));\n\n\n/***/ },\n/* 204 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t//! moment.js locale configuration\n\t//! locale : Arabic [ar]\n\t//! author : Abdel Said: https://github.com/abdelsaid\n\t//! author : Ahmed Elkhatib\n\t//! author : forabi https://github.com/forabi\n\t\n\t;(function (global, factory) {\n\t true ? factory(__webpack_require__(1)) :\n\t typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n\t factory(global.moment)\n\t}(this, (function (moment) { 'use strict';\n\t\n\t\n\tvar symbolMap = {\n\t '1': '١',\n\t '2': '٢',\n\t '3': '٣',\n\t '4': '٤',\n\t '5': '٥',\n\t '6': '٦',\n\t '7': '٧',\n\t '8': '٨',\n\t '9': '٩',\n\t '0': '٠'\n\t};\n\tvar numberMap = {\n\t '١': '1',\n\t '٢': '2',\n\t '٣': '3',\n\t '٤': '4',\n\t '٥': '5',\n\t '٦': '6',\n\t '٧': '7',\n\t '٨': '8',\n\t '٩': '9',\n\t '٠': '0'\n\t};\n\tvar pluralForm = function (n) {\n\t return n === 0 ? 0 : n === 1 ? 1 : n === 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5;\n\t};\n\tvar plurals = {\n\t s : ['أقل من ثانية', 'ثانية واحدة', ['ثانيتان', 'ثانيتين'], '%d ثوان', '%d ثانية', '%d ثانية'],\n\t m : ['أقل من دقيقة', 'دقيقة واحدة', ['دقيقتان', 'دقيقتين'], '%d دقائق', '%d دقيقة', '%d دقيقة'],\n\t h : ['أقل من ساعة', 'ساعة واحدة', ['ساعتان', 'ساعتين'], '%d ساعات', '%d ساعة', '%d ساعة'],\n\t d : ['أقل من يوم', 'يوم واحد', ['يومان', 'يومين'], '%d أيام', '%d يومًا', '%d يوم'],\n\t M : ['أقل من شهر', 'شهر واحد', ['شهران', 'شهرين'], '%d أشهر', '%d شهرا', '%d شهر'],\n\t y : ['أقل من عام', 'عام واحد', ['عامان', 'عامين'], '%d أعوام', '%d عامًا', '%d عام']\n\t};\n\tvar pluralize = function (u) {\n\t return function (number, withoutSuffix, string, isFuture) {\n\t var f = pluralForm(number),\n\t str = plurals[u][pluralForm(number)];\n\t if (f === 2) {\n\t str = str[withoutSuffix ? 0 : 1];\n\t }\n\t return str.replace(/%d/i, number);\n\t };\n\t};\n\tvar months = [\n\t 'كانون الثاني يناير',\n\t 'شباط فبراير',\n\t 'آذار مارس',\n\t 'نيسان أبريل',\n\t 'أيار مايو',\n\t 'حزيران يونيو',\n\t 'تموز يوليو',\n\t 'آب أغسطس',\n\t 'أيلول سبتمبر',\n\t 'تشرين الأول أكتوبر',\n\t 'تشرين الثاني نوفمبر',\n\t 'كانون الأول ديسمبر'\n\t];\n\t\n\tvar ar = moment.defineLocale('ar', {\n\t months : months,\n\t monthsShort : months,\n\t weekdays : 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n\t weekdaysShort : 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n\t weekdaysMin : 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n\t weekdaysParseExact : true,\n\t longDateFormat : {\n\t LT : 'HH:mm',\n\t LTS : 'HH:mm:ss',\n\t L : 'D/\\u200FM/\\u200FYYYY',\n\t LL : 'D MMMM YYYY',\n\t LLL : 'D MMMM YYYY HH:mm',\n\t LLLL : 'dddd D MMMM YYYY HH:mm'\n\t },\n\t meridiemParse: /ص|م/,\n\t isPM : function (input) {\n\t return 'م' === input;\n\t },\n\t meridiem : function (hour, minute, isLower) {\n\t if (hour < 12) {\n\t return 'ص';\n\t } else {\n\t return 'م';\n\t }\n\t },\n\t calendar : {\n\t sameDay: '[اليوم عند الساعة] LT',\n\t nextDay: '[غدًا عند الساعة] LT',\n\t nextWeek: 'dddd [عند الساعة] LT',\n\t lastDay: '[أمس عند الساعة] LT',\n\t lastWeek: 'dddd [عند الساعة] LT',\n\t sameElse: 'L'\n\t },\n\t relativeTime : {\n\t future : 'بعد %s',\n\t past : 'منذ %s',\n\t s : pluralize('s'),\n\t m : pluralize('m'),\n\t mm : pluralize('m'),\n\t h : pluralize('h'),\n\t hh : pluralize('h'),\n\t d : pluralize('d'),\n\t dd : pluralize('d'),\n\t M : pluralize('M'),\n\t MM : pluralize('M'),\n\t y : pluralize('y'),\n\t yy : pluralize('y')\n\t },\n\t preparse: function (string) {\n\t return string.replace(/\\u200f/g, '').replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {\n\t return numberMap[match];\n\t }).replace(/،/g, ',');\n\t },\n\t postformat: function (string) {\n\t return string.replace(/\\d/g, function (match) {\n\t return symbolMap[match];\n\t }).replace(/,/g, '،');\n\t },\n\t week : {\n\t dow : 6, // Saturday is the first day of the week.\n\t doy : 12 // The week that contains Jan 1st is the first week of the year.\n\t }\n\t});\n\t\n\treturn ar;\n\t\n\t})));\n\n\n/***/ },\n/* 205 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t//! moment.js locale configuration\n\t//! locale : Azerbaijani [az]\n\t//! author : topchiyev : https://github.com/topchiyev\n\t\n\t;(function (global, factory) {\n\t true ? factory(__webpack_require__(1)) :\n\t typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n\t factory(global.moment)\n\t}(this, (function (moment) { 'use strict';\n\t\n\t\n\tvar suffixes = {\n\t 1: '-inci',\n\t 5: '-inci',\n\t 8: '-inci',\n\t 70: '-inci',\n\t 80: '-inci',\n\t 2: '-nci',\n\t 7: '-nci',\n\t 20: '-nci',\n\t 50: '-nci',\n\t 3: '-üncü',\n\t 4: '-üncü',\n\t 100: '-üncü',\n\t 6: '-ncı',\n\t 9: '-uncu',\n\t 10: '-uncu',\n\t 30: '-uncu',\n\t 60: '-ıncı',\n\t 90: '-ıncı'\n\t};\n\t\n\tvar az = moment.defineLocale('az', {\n\t months : 'yanvar_fevral_mart_aprel_may_iyun_iyul_avqust_sentyabr_oktyabr_noyabr_dekabr'.split('_'),\n\t monthsShort : 'yan_fev_mar_apr_may_iyn_iyl_avq_sen_okt_noy_dek'.split('_'),\n\t weekdays : 'Bazar_Bazar ertəsi_Çərşənbə axşamı_Çərşənbə_Cümə axşamı_Cümə_Şənbə'.split('_'),\n\t weekdaysShort : 'Baz_BzE_ÇAx_Çər_CAx_Cüm_Şən'.split('_'),\n\t weekdaysMin : 'Bz_BE_ÇA_Çə_CA_Cü_Şə'.split('_'),\n\t weekdaysParseExact : true,\n\t longDateFormat : {\n\t LT : 'HH:mm',\n\t LTS : 'HH:mm:ss',\n\t L : 'DD.MM.YYYY',\n\t LL : 'D MMMM YYYY',\n\t LLL : 'D MMMM YYYY HH:mm',\n\t LLLL : 'dddd, D MMMM YYYY HH:mm'\n\t },\n\t calendar : {\n\t sameDay : '[bugün saat] LT',\n\t nextDay : '[sabah saat] LT',\n\t nextWeek : '[gələn həftə] dddd [saat] LT',\n\t lastDay : '[dünən] LT',\n\t lastWeek : '[keçən həftə] dddd [saat] LT',\n\t sameElse : 'L'\n\t },\n\t relativeTime : {\n\t future : '%s sonra',\n\t past : '%s əvvəl',\n\t s : 'birneçə saniyyə',\n\t m : 'bir dəqiqə',\n\t mm : '%d dəqiqə',\n\t h : 'bir saat',\n\t hh : '%d saat',\n\t d : 'bir gün',\n\t dd : '%d gün',\n\t M : 'bir ay',\n\t MM : '%d ay',\n\t y : 'bir il',\n\t yy : '%d il'\n\t },\n\t meridiemParse: /gecə|səhər|gündüz|axşam/,\n\t isPM : function (input) {\n\t return /^(gündüz|axşam)$/.test(input);\n\t },\n\t meridiem : function (hour, minute, isLower) {\n\t if (hour < 4) {\n\t return 'gecə';\n\t } else if (hour < 12) {\n\t return 'səhər';\n\t } else if (hour < 17) {\n\t return 'gündüz';\n\t } else {\n\t return 'axşam';\n\t }\n\t },\n\t ordinalParse: /\\d{1,2}-(ıncı|inci|nci|üncü|ncı|uncu)/,\n\t ordinal : function (number) {\n\t if (number === 0) { // special case for zero\n\t return number + '-ıncı';\n\t }\n\t var a = number % 10,\n\t b = number % 100 - a,\n\t c = number >= 100 ? 100 : null;\n\t return number + (suffixes[a] || suffixes[b] || suffixes[c]);\n\t },\n\t week : {\n\t dow : 1, // Monday is the first day of the week.\n\t doy : 7 // The week that contains Jan 1st is the first week of the year.\n\t }\n\t});\n\t\n\treturn az;\n\t\n\t})));\n\n\n/***/ },\n/* 206 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t//! moment.js locale configuration\n\t//! locale : Belarusian [be]\n\t//! author : Dmitry Demidov : https://github.com/demidov91\n\t//! author: Praleska: http://praleska.pro/\n\t//! Author : Menelion Elensúle : https://github.com/Oire\n\t\n\t;(function (global, factory) {\n\t true ? factory(__webpack_require__(1)) :\n\t typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n\t factory(global.moment)\n\t}(this, (function (moment) { 'use strict';\n\t\n\t\n\tfunction plural(word, num) {\n\t var forms = word.split('_');\n\t return num % 10 === 1 && num % 100 !== 11 ? forms[0] : (num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20) ? forms[1] : forms[2]);\n\t}\n\tfunction relativeTimeWithPlural(number, withoutSuffix, key) {\n\t var format = {\n\t 'mm': withoutSuffix ? 'хвіліна_хвіліны_хвілін' : 'хвіліну_хвіліны_хвілін',\n\t 'hh': withoutSuffix ? 'гадзіна_гадзіны_гадзін' : 'гадзіну_гадзіны_гадзін',\n\t 'dd': 'дзень_дні_дзён',\n\t 'MM': 'месяц_месяцы_месяцаў',\n\t 'yy': 'год_гады_гадоў'\n\t };\n\t if (key === 'm') {\n\t return withoutSuffix ? 'хвіліна' : 'хвіліну';\n\t }\n\t else if (key === 'h') {\n\t return withoutSuffix ? 'гадзіна' : 'гадзіну';\n\t }\n\t else {\n\t return number + ' ' + plural(format[key], +number);\n\t }\n\t}\n\t\n\tvar be = moment.defineLocale('be', {\n\t months : {\n\t format: 'студзеня_лютага_сакавіка_красавіка_траўня_чэрвеня_ліпеня_жніўня_верасня_кастрычніка_лістапада_снежня'.split('_'),\n\t standalone: 'студзень_люты_сакавік_красавік_травень_чэрвень_ліпень_жнівень_верасень_кастрычнік_лістапад_снежань'.split('_')\n\t },\n\t monthsShort : 'студ_лют_сак_крас_трав_чэрв_ліп_жнів_вер_каст_ліст_снеж'.split('_'),\n\t weekdays : {\n\t format: 'нядзелю_панядзелак_аўторак_сераду_чацвер_пятніцу_суботу'.split('_'),\n\t standalone: 'нядзеля_панядзелак_аўторак_серада_чацвер_пятніца_субота'.split('_'),\n\t isFormat: /\\[ ?[Вв] ?(?:мінулую|наступную)? ?\\] ?dddd/\n\t },\n\t weekdaysShort : 'нд_пн_ат_ср_чц_пт_сб'.split('_'),\n\t weekdaysMin : 'нд_пн_ат_ср_чц_пт_сб'.split('_'),\n\t longDateFormat : {\n\t LT : 'HH:mm',\n\t LTS : 'HH:mm:ss',\n\t L : 'DD.MM.YYYY',\n\t LL : 'D MMMM YYYY г.',\n\t LLL : 'D MMMM YYYY г., HH:mm',\n\t LLLL : 'dddd, D MMMM YYYY г., HH:mm'\n\t },\n\t calendar : {\n\t sameDay: '[Сёння ў] LT',\n\t nextDay: '[Заўтра ў] LT',\n\t lastDay: '[Учора ў] LT',\n\t nextWeek: function () {\n\t return '[У] dddd [ў] LT';\n\t },\n\t lastWeek: function () {\n\t switch (this.day()) {\n\t case 0:\n\t case 3:\n\t case 5:\n\t case 6:\n\t return '[У мінулую] dddd [ў] LT';\n\t case 1:\n\t case 2:\n\t case 4:\n\t return '[У мінулы] dddd [ў] LT';\n\t }\n\t },\n\t sameElse: 'L'\n\t },\n\t relativeTime : {\n\t future : 'праз %s',\n\t past : '%s таму',\n\t s : 'некалькі секунд',\n\t m : relativeTimeWithPlural,\n\t mm : relativeTimeWithPlural,\n\t h : relativeTimeWithPlural,\n\t hh : relativeTimeWithPlural,\n\t d : 'дзень',\n\t dd : relativeTimeWithPlural,\n\t M : 'месяц',\n\t MM : relativeTimeWithPlural,\n\t y : 'год',\n\t yy : relativeTimeWithPlural\n\t },\n\t meridiemParse: /ночы|раніцы|дня|вечара/,\n\t isPM : function (input) {\n\t return /^(дня|вечара)$/.test(input);\n\t },\n\t meridiem : function (hour, minute, isLower) {\n\t if (hour < 4) {\n\t return 'ночы';\n\t } else if (hour < 12) {\n\t return 'раніцы';\n\t } else if (hour < 17) {\n\t return 'дня';\n\t } else {\n\t return 'вечара';\n\t }\n\t },\n\t ordinalParse: /\\d{1,2}-(і|ы|га)/,\n\t ordinal: function (number, period) {\n\t switch (period) {\n\t case 'M':\n\t case 'd':\n\t case 'DDD':\n\t case 'w':\n\t case 'W':\n\t return (number % 10 === 2 || number % 10 === 3) && (number % 100 !== 12 && number % 100 !== 13) ? number + '-і' : number + '-ы';\n\t case 'D':\n\t return number + '-га';\n\t default:\n\t return number;\n\t }\n\t },\n\t week : {\n\t dow : 1, // Monday is the first day of the week.\n\t doy : 7 // The week that contains Jan 1st is the first week of the year.\n\t }\n\t});\n\t\n\treturn be;\n\t\n\t})));\n\n\n/***/ },\n/* 207 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t//! moment.js locale configuration\n\t//! locale : Bulgarian [bg]\n\t//! author : Krasen Borisov : https://github.com/kraz\n\t\n\t;(function (global, factory) {\n\t true ? factory(__webpack_require__(1)) :\n\t typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n\t factory(global.moment)\n\t}(this, (function (moment) { 'use strict';\n\t\n\t\n\tvar bg = moment.defineLocale('bg', {\n\t months : 'януари_февруари_март_април_май_юни_юли_август_септември_октомври_ноември_декември'.split('_'),\n\t monthsShort : 'янр_фев_мар_апр_май_юни_юли_авг_сеп_окт_ное_дек'.split('_'),\n\t weekdays : 'неделя_понеделник_вторник_сряда_четвъртък_петък_събота'.split('_'),\n\t weekdaysShort : 'нед_пон_вто_сря_чет_пет_съб'.split('_'),\n\t weekdaysMin : 'нд_пн_вт_ср_чт_пт_сб'.split('_'),\n\t longDateFormat : {\n\t LT : 'H:mm',\n\t LTS : 'H:mm:ss',\n\t L : 'D.MM.YYYY',\n\t LL : 'D MMMM YYYY',\n\t LLL : 'D MMMM YYYY H:mm',\n\t LLLL : 'dddd, D MMMM YYYY H:mm'\n\t },\n\t calendar : {\n\t sameDay : '[Днес в] LT',\n\t nextDay : '[Утре в] LT',\n\t nextWeek : 'dddd [в] LT',\n\t lastDay : '[Вчера в] LT',\n\t lastWeek : function () {\n\t switch (this.day()) {\n\t case 0:\n\t case 3:\n\t case 6:\n\t return '[В изминалата] dddd [в] LT';\n\t case 1:\n\t case 2:\n\t case 4:\n\t case 5:\n\t return '[В изминалия] dddd [в] LT';\n\t }\n\t },\n\t sameElse : 'L'\n\t },\n\t relativeTime : {\n\t future : 'след %s',\n\t past : 'преди %s',\n\t s : 'няколко секунди',\n\t m : 'минута',\n\t mm : '%d минути',\n\t h : 'час',\n\t hh : '%d часа',\n\t d : 'ден',\n\t dd : '%d дни',\n\t M : 'месец',\n\t MM : '%d месеца',\n\t y : 'година',\n\t yy : '%d години'\n\t },\n\t ordinalParse: /\\d{1,2}-(ев|ен|ти|ви|ри|ми)/,\n\t ordinal : function (number) {\n\t var lastDigit = number % 10,\n\t last2Digits = number % 100;\n\t if (number === 0) {\n\t return number + '-ев';\n\t } else if (last2Digits === 0) {\n\t return number + '-ен';\n\t } else if (last2Digits > 10 && last2Digits < 20) {\n\t return number + '-ти';\n\t } else if (lastDigit === 1) {\n\t return number + '-ви';\n\t } else if (lastDigit === 2) {\n\t return number + '-ри';\n\t } else if (lastDigit === 7 || lastDigit === 8) {\n\t return number + '-ми';\n\t } else {\n\t return number + '-ти';\n\t }\n\t },\n\t week : {\n\t dow : 1, // Monday is the first day of the week.\n\t doy : 7 // The week that contains Jan 1st is the first week of the year.\n\t }\n\t});\n\t\n\treturn bg;\n\t\n\t})));\n\n\n/***/ },\n/* 208 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t//! moment.js locale configuration\n\t//! locale : Bengali [bn]\n\t//! author : Kaushik Gandhi : https://github.com/kaushikgandhi\n\t\n\t;(function (global, factory) {\n\t true ? factory(__webpack_require__(1)) :\n\t typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n\t factory(global.moment)\n\t}(this, (function (moment) { 'use strict';\n\t\n\t\n\tvar symbolMap = {\n\t '1': '১',\n\t '2': '২',\n\t '3': '৩',\n\t '4': '৪',\n\t '5': '৫',\n\t '6': '৬',\n\t '7': '৭',\n\t '8': '৮',\n\t '9': '৯',\n\t '0': '০'\n\t};\n\tvar numberMap = {\n\t '১': '1',\n\t '২': '2',\n\t '৩': '3',\n\t '৪': '4',\n\t '৫': '5',\n\t '৬': '6',\n\t '৭': '7',\n\t '৮': '8',\n\t '৯': '9',\n\t '০': '0'\n\t};\n\t\n\tvar bn = moment.defineLocale('bn', {\n\t months : 'জানুয়ারী_ফেব্রুয়ারি_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্টেম্বর_অক্টোবর_নভেম্বর_ডিসেম্বর'.split('_'),\n\t monthsShort : 'জানু_ফেব_মার্চ_এপ্র_মে_জুন_জুল_আগ_সেপ্ট_অক্টো_নভে_ডিসে'.split('_'),\n\t weekdays : 'রবিবার_সোমবার_মঙ্গলবার_বুধবার_বৃহস্পতিবার_শুক্রবার_শনিবার'.split('_'),\n\t weekdaysShort : 'রবি_সোম_মঙ্গল_বুধ_বৃহস্পতি_শুক্র_শনি'.split('_'),\n\t weekdaysMin : 'রবি_সোম_মঙ্গ_বুধ_বৃহঃ_শুক্র_শনি'.split('_'),\n\t longDateFormat : {\n\t LT : 'A h:mm সময়',\n\t LTS : 'A h:mm:ss সময়',\n\t L : 'DD/MM/YYYY',\n\t LL : 'D MMMM YYYY',\n\t LLL : 'D MMMM YYYY, A h:mm সময়',\n\t LLLL : 'dddd, D MMMM YYYY, A h:mm সময়'\n\t },\n\t calendar : {\n\t sameDay : '[আজ] LT',\n\t nextDay : '[আগামীকাল] LT',\n\t nextWeek : 'dddd, LT',\n\t lastDay : '[গতকাল] LT',\n\t lastWeek : '[গত] dddd, LT',\n\t sameElse : 'L'\n\t },\n\t relativeTime : {\n\t future : '%s পরে',\n\t past : '%s আগে',\n\t s : 'কয়েক সেকেন্ড',\n\t m : 'এক মিনিট',\n\t mm : '%d মিনিট',\n\t h : 'এক ঘন্টা',\n\t hh : '%d ঘন্টা',\n\t d : 'এক দিন',\n\t dd : '%d দিন',\n\t M : 'এক মাস',\n\t MM : '%d মাস',\n\t y : 'এক বছর',\n\t yy : '%d বছর'\n\t },\n\t preparse: function (string) {\n\t return string.replace(/[১২৩৪৫৬৭৮৯০]/g, function (match) {\n\t return numberMap[match];\n\t });\n\t },\n\t postformat: function (string) {\n\t return string.replace(/\\d/g, function (match) {\n\t return symbolMap[match];\n\t });\n\t },\n\t meridiemParse: /রাত|সকাল|দুপুর|বিকাল|রাত/,\n\t meridiemHour : function (hour, meridiem) {\n\t if (hour === 12) {\n\t hour = 0;\n\t }\n\t if ((meridiem === 'রাত' && hour >= 4) ||\n\t (meridiem === 'দুপুর' && hour < 5) ||\n\t meridiem === 'বিকাল') {\n\t return hour + 12;\n\t } else {\n\t return hour;\n\t }\n\t },\n\t meridiem : function (hour, minute, isLower) {\n\t if (hour < 4) {\n\t return 'রাত';\n\t } else if (hour < 10) {\n\t return 'সকাল';\n\t } else if (hour < 17) {\n\t return 'দুপুর';\n\t } else if (hour < 20) {\n\t return 'বিকাল';\n\t } else {\n\t return 'রাত';\n\t }\n\t },\n\t week : {\n\t dow : 0, // Sunday is the first day of the week.\n\t doy : 6 // The week that contains Jan 1st is the first week of the year.\n\t }\n\t});\n\t\n\treturn bn;\n\t\n\t})));\n\n\n/***/ },\n/* 209 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t//! moment.js locale configuration\n\t//! locale : Tibetan [bo]\n\t//! author : Thupten N. Chakrishar : https://github.com/vajradog\n\t\n\t;(function (global, factory) {\n\t true ? factory(__webpack_require__(1)) :\n\t typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n\t factory(global.moment)\n\t}(this, (function (moment) { 'use strict';\n\t\n\t\n\tvar symbolMap = {\n\t '1': '༡',\n\t '2': '༢',\n\t '3': '༣',\n\t '4': '༤',\n\t '5': '༥',\n\t '6': '༦',\n\t '7': '༧',\n\t '8': '༨',\n\t '9': '༩',\n\t '0': '༠'\n\t};\n\tvar numberMap = {\n\t '༡': '1',\n\t '༢': '2',\n\t '༣': '3',\n\t '༤': '4',\n\t '༥': '5',\n\t '༦': '6',\n\t '༧': '7',\n\t '༨': '8',\n\t '༩': '9',\n\t '༠': '0'\n\t};\n\t\n\tvar bo = moment.defineLocale('bo', {\n\t months : 'ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ'.split('_'),\n\t monthsShort : 'ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ'.split('_'),\n\t weekdays : 'གཟའ་ཉི་མ་_གཟའ་ཟླ་བ་_གཟའ་མིག་དམར་_གཟའ་ལྷག་པ་_གཟའ་ཕུར་བུ_གཟའ་པ་སངས་_གཟའ་སྤེན་པ་'.split('_'),\n\t weekdaysShort : 'ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་'.split('_'),\n\t weekdaysMin : 'ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་'.split('_'),\n\t longDateFormat : {\n\t LT : 'A h:mm',\n\t LTS : 'A h:mm:ss',\n\t L : 'DD/MM/YYYY',\n\t LL : 'D MMMM YYYY',\n\t LLL : 'D MMMM YYYY, A h:mm',\n\t LLLL : 'dddd, D MMMM YYYY, A h:mm'\n\t },\n\t calendar : {\n\t sameDay : '[དི་རིང] LT',\n\t nextDay : '[སང་ཉིན] LT',\n\t nextWeek : '[བདུན་ཕྲག་རྗེས་མ], LT',\n\t lastDay : '[ཁ་སང] LT',\n\t lastWeek : '[བདུན་ཕྲག་མཐའ་མ] dddd, LT',\n\t sameElse : 'L'\n\t },\n\t relativeTime : {\n\t future : '%s ལ་',\n\t past : '%s སྔན་ལ',\n\t s : 'ལམ་སང',\n\t m : 'སྐར་མ་གཅིག',\n\t mm : '%d སྐར་མ',\n\t h : 'ཆུ་ཚོད་གཅིག',\n\t hh : '%d ཆུ་ཚོད',\n\t d : 'ཉིན་གཅིག',\n\t dd : '%d ཉིན་',\n\t M : 'ཟླ་བ་གཅིག',\n\t MM : '%d ཟླ་བ',\n\t y : 'ལོ་གཅིག',\n\t yy : '%d ལོ'\n\t },\n\t preparse: function (string) {\n\t return string.replace(/[༡༢༣༤༥༦༧༨༩༠]/g, function (match) {\n\t return numberMap[match];\n\t });\n\t },\n\t postformat: function (string) {\n\t return string.replace(/\\d/g, function (match) {\n\t return symbolMap[match];\n\t });\n\t },\n\t meridiemParse: /མཚན་མོ|ཞོགས་ཀས|ཉིན་གུང|དགོང་དག|མཚན་མོ/,\n\t meridiemHour : function (hour, meridiem) {\n\t if (hour === 12) {\n\t hour = 0;\n\t }\n\t if ((meridiem === 'མཚན་མོ' && hour >= 4) ||\n\t (meridiem === 'ཉིན་གུང' && hour < 5) ||\n\t meridiem === 'དགོང་དག') {\n\t return hour + 12;\n\t } else {\n\t return hour;\n\t }\n\t },\n\t meridiem : function (hour, minute, isLower) {\n\t if (hour < 4) {\n\t return 'མཚན་མོ';\n\t } else if (hour < 10) {\n\t return 'ཞོགས་ཀས';\n\t } else if (hour < 17) {\n\t return 'ཉིན་གུང';\n\t } else if (hour < 20) {\n\t return 'དགོང་དག';\n\t } else {\n\t return 'མཚན་མོ';\n\t }\n\t },\n\t week : {\n\t dow : 0, // Sunday is the first day of the week.\n\t doy : 6 // The week that contains Jan 1st is the first week of the year.\n\t }\n\t});\n\t\n\treturn bo;\n\t\n\t})));\n\n\n/***/ },\n/* 210 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t//! moment.js locale configuration\n\t//! locale : Breton [br]\n\t//! author : Jean-Baptiste Le Duigou : https://github.com/jbleduigou\n\t\n\t;(function (global, factory) {\n\t true ? factory(__webpack_require__(1)) :\n\t typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n\t factory(global.moment)\n\t}(this, (function (moment) { 'use strict';\n\t\n\t\n\tfunction relativeTimeWithMutation(number, withoutSuffix, key) {\n\t var format = {\n\t 'mm': 'munutenn',\n\t 'MM': 'miz',\n\t 'dd': 'devezh'\n\t };\n\t return number + ' ' + mutation(format[key], number);\n\t}\n\tfunction specialMutationForYears(number) {\n\t switch (lastNumber(number)) {\n\t case 1:\n\t case 3:\n\t case 4:\n\t case 5:\n\t case 9:\n\t return number + ' bloaz';\n\t default:\n\t return number + ' vloaz';\n\t }\n\t}\n\tfunction lastNumber(number) {\n\t if (number > 9) {\n\t return lastNumber(number % 10);\n\t }\n\t return number;\n\t}\n\tfunction mutation(text, number) {\n\t if (number === 2) {\n\t return softMutation(text);\n\t }\n\t return text;\n\t}\n\tfunction softMutation(text) {\n\t var mutationTable = {\n\t 'm': 'v',\n\t 'b': 'v',\n\t 'd': 'z'\n\t };\n\t if (mutationTable[text.charAt(0)] === undefined) {\n\t return text;\n\t }\n\t return mutationTable[text.charAt(0)] + text.substring(1);\n\t}\n\t\n\tvar br = moment.defineLocale('br', {\n\t months : 'Genver_C\\'hwevrer_Meurzh_Ebrel_Mae_Mezheven_Gouere_Eost_Gwengolo_Here_Du_Kerzu'.split('_'),\n\t monthsShort : 'Gen_C\\'hwe_Meu_Ebr_Mae_Eve_Gou_Eos_Gwe_Her_Du_Ker'.split('_'),\n\t weekdays : 'Sul_Lun_Meurzh_Merc\\'her_Yaou_Gwener_Sadorn'.split('_'),\n\t weekdaysShort : 'Sul_Lun_Meu_Mer_Yao_Gwe_Sad'.split('_'),\n\t weekdaysMin : 'Su_Lu_Me_Mer_Ya_Gw_Sa'.split('_'),\n\t weekdaysParseExact : true,\n\t longDateFormat : {\n\t LT : 'h[e]mm A',\n\t LTS : 'h[e]mm:ss A',\n\t L : 'DD/MM/YYYY',\n\t LL : 'D [a viz] MMMM YYYY',\n\t LLL : 'D [a viz] MMMM YYYY h[e]mm A',\n\t LLLL : 'dddd, D [a viz] MMMM YYYY h[e]mm A'\n\t },\n\t calendar : {\n\t sameDay : '[Hiziv da] LT',\n\t nextDay : '[Warc\\'hoazh da] LT',\n\t nextWeek : 'dddd [da] LT',\n\t lastDay : '[Dec\\'h da] LT',\n\t lastWeek : 'dddd [paset da] LT',\n\t sameElse : 'L'\n\t },\n\t relativeTime : {\n\t future : 'a-benn %s',\n\t past : '%s \\'zo',\n\t s : 'un nebeud segondennoù',\n\t m : 'ur vunutenn',\n\t mm : relativeTimeWithMutation,\n\t h : 'un eur',\n\t hh : '%d eur',\n\t d : 'un devezh',\n\t dd : relativeTimeWithMutation,\n\t M : 'ur miz',\n\t MM : relativeTimeWithMutation,\n\t y : 'ur bloaz',\n\t yy : specialMutationForYears\n\t },\n\t ordinalParse: /\\d{1,2}(añ|vet)/,\n\t ordinal : function (number) {\n\t var output = (number === 1) ? 'añ' : 'vet';\n\t return number + output;\n\t },\n\t week : {\n\t dow : 1, // Monday is the first day of the week.\n\t doy : 4 // The week that contains Jan 4th is the first week of the year.\n\t }\n\t});\n\t\n\treturn br;\n\t\n\t})));\n\n\n/***/ },\n/* 211 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t//! moment.js locale configuration\n\t//! locale : Bosnian [bs]\n\t//! author : Nedim Cholich : https://github.com/frontyard\n\t//! based on (hr) translation by Bojan Marković\n\t\n\t;(function (global, factory) {\n\t true ? factory(__webpack_require__(1)) :\n\t typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n\t factory(global.moment)\n\t}(this, (function (moment) { 'use strict';\n\t\n\t\n\tfunction translate(number, withoutSuffix, key) {\n\t var result = number + ' ';\n\t switch (key) {\n\t case 'm':\n\t return withoutSuffix ? 'jedna minuta' : 'jedne minute';\n\t case 'mm':\n\t if (number === 1) {\n\t result += 'minuta';\n\t } else if (number === 2 || number === 3 || number === 4) {\n\t result += 'minute';\n\t } else {\n\t result += 'minuta';\n\t }\n\t return result;\n\t case 'h':\n\t return withoutSuffix ? 'jedan sat' : 'jednog sata';\n\t case 'hh':\n\t if (number === 1) {\n\t result += 'sat';\n\t } else if (number === 2 || number === 3 || number === 4) {\n\t result += 'sata';\n\t } else {\n\t result += 'sati';\n\t }\n\t return result;\n\t case 'dd':\n\t if (number === 1) {\n\t result += 'dan';\n\t } else {\n\t result += 'dana';\n\t }\n\t return result;\n\t case 'MM':\n\t if (number === 1) {\n\t result += 'mjesec';\n\t } else if (number === 2 || number === 3 || number === 4) {\n\t result += 'mjeseca';\n\t } else {\n\t result += 'mjeseci';\n\t }\n\t return result;\n\t case 'yy':\n\t if (number === 1) {\n\t result += 'godina';\n\t } else if (number === 2 || number === 3 || number === 4) {\n\t result += 'godine';\n\t } else {\n\t result += 'godina';\n\t }\n\t return result;\n\t }\n\t}\n\t\n\tvar bs = moment.defineLocale('bs', {\n\t months : 'januar_februar_mart_april_maj_juni_juli_august_septembar_oktobar_novembar_decembar'.split('_'),\n\t monthsShort : 'jan._feb._mar._apr._maj._jun._jul._aug._sep._okt._nov._dec.'.split('_'),\n\t monthsParseExact: true,\n\t weekdays : 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split('_'),\n\t weekdaysShort : 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),\n\t weekdaysMin : 'ne_po_ut_sr_če_pe_su'.split('_'),\n\t weekdaysParseExact : true,\n\t longDateFormat : {\n\t LT : 'H:mm',\n\t LTS : 'H:mm:ss',\n\t L : 'DD.MM.YYYY',\n\t LL : 'D. MMMM YYYY',\n\t LLL : 'D. MMMM YYYY H:mm',\n\t LLLL : 'dddd, D. MMMM YYYY H:mm'\n\t },\n\t calendar : {\n\t sameDay : '[danas u] LT',\n\t nextDay : '[sutra u] LT',\n\t nextWeek : function () {\n\t switch (this.day()) {\n\t case 0:\n\t return '[u] [nedjelju] [u] LT';\n\t case 3:\n\t return '[u] [srijedu] [u] LT';\n\t case 6:\n\t return '[u] [subotu] [u] LT';\n\t case 1:\n\t case 2:\n\t case 4:\n\t case 5:\n\t return '[u] dddd [u] LT';\n\t }\n\t },\n\t lastDay : '[jučer u] LT',\n\t lastWeek : function () {\n\t switch (this.day()) {\n\t case 0:\n\t case 3:\n\t return '[prošlu] dddd [u] LT';\n\t case 6:\n\t return '[prošle] [subote] [u] LT';\n\t case 1:\n\t case 2:\n\t case 4:\n\t case 5:\n\t return '[prošli] dddd [u] LT';\n\t }\n\t },\n\t sameElse : 'L'\n\t },\n\t relativeTime : {\n\t future : 'za %s',\n\t past : 'prije %s',\n\t s : 'par sekundi',\n\t m : translate,\n\t mm : translate,\n\t h : translate,\n\t hh : translate,\n\t d : 'dan',\n\t dd : translate,\n\t M : 'mjesec',\n\t MM : translate,\n\t y : 'godinu',\n\t yy : translate\n\t },\n\t ordinalParse: /\\d{1,2}\\./,\n\t ordinal : '%d.',\n\t week : {\n\t dow : 1, // Monday is the first day of the week.\n\t doy : 7 // The week that contains Jan 1st is the first week of the year.\n\t }\n\t});\n\t\n\treturn bs;\n\t\n\t})));\n\n\n/***/ },\n/* 212 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t//! moment.js locale configuration\n\t//! locale : Catalan [ca]\n\t//! author : Juan G. Hurtado : https://github.com/juanghurtado\n\t\n\t;(function (global, factory) {\n\t true ? factory(__webpack_require__(1)) :\n\t typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n\t factory(global.moment)\n\t}(this, (function (moment) { 'use strict';\n\t\n\t\n\tvar ca = moment.defineLocale('ca', {\n\t months : 'gener_febrer_març_abril_maig_juny_juliol_agost_setembre_octubre_novembre_desembre'.split('_'),\n\t monthsShort : 'gen._febr._mar._abr._mai._jun._jul._ag._set._oct._nov._des.'.split('_'),\n\t monthsParseExact : true,\n\t weekdays : 'diumenge_dilluns_dimarts_dimecres_dijous_divendres_dissabte'.split('_'),\n\t weekdaysShort : 'dg._dl._dt._dc._dj._dv._ds.'.split('_'),\n\t weekdaysMin : 'Dg_Dl_Dt_Dc_Dj_Dv_Ds'.split('_'),\n\t weekdaysParseExact : true,\n\t longDateFormat : {\n\t LT : 'H:mm',\n\t LTS : 'H:mm:ss',\n\t L : 'DD/MM/YYYY',\n\t LL : 'D MMMM YYYY',\n\t LLL : 'D MMMM YYYY H:mm',\n\t LLLL : 'dddd D MMMM YYYY H:mm'\n\t },\n\t calendar : {\n\t sameDay : function () {\n\t return '[avui a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';\n\t },\n\t nextDay : function () {\n\t return '[demà a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';\n\t },\n\t nextWeek : function () {\n\t return 'dddd [a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';\n\t },\n\t lastDay : function () {\n\t return '[ahir a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';\n\t },\n\t lastWeek : function () {\n\t return '[el] dddd [passat a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';\n\t },\n\t sameElse : 'L'\n\t },\n\t relativeTime : {\n\t future : 'd\\'aquí %s',\n\t past : 'fa %s',\n\t s : 'uns segons',\n\t m : 'un minut',\n\t mm : '%d minuts',\n\t h : 'una hora',\n\t hh : '%d hores',\n\t d : 'un dia',\n\t dd : '%d dies',\n\t M : 'un mes',\n\t MM : '%d mesos',\n\t y : 'un any',\n\t yy : '%d anys'\n\t },\n\t ordinalParse: /\\d{1,2}(r|n|t|è|a)/,\n\t ordinal : function (number, period) {\n\t var output = (number === 1) ? 'r' :\n\t (number === 2) ? 'n' :\n\t (number === 3) ? 'r' :\n\t (number === 4) ? 't' : 'è';\n\t if (period === 'w' || period === 'W') {\n\t output = 'a';\n\t }\n\t return number + output;\n\t },\n\t week : {\n\t dow : 1, // Monday is the first day of the week.\n\t doy : 4 // The week that contains Jan 4th is the first week of the year.\n\t }\n\t});\n\t\n\treturn ca;\n\t\n\t})));\n\n\n/***/ },\n/* 213 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t//! moment.js locale configuration\n\t//! locale : Czech [cs]\n\t//! author : petrbela : https://github.com/petrbela\n\t\n\t;(function (global, factory) {\n\t true ? factory(__webpack_require__(1)) :\n\t typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n\t factory(global.moment)\n\t}(this, (function (moment) { 'use strict';\n\t\n\t\n\tvar months = 'leden_únor_březen_duben_květen_červen_červenec_srpen_září_říjen_listopad_prosinec'.split('_');\n\tvar monthsShort = 'led_úno_bře_dub_kvě_čvn_čvc_srp_zář_říj_lis_pro'.split('_');\n\tfunction plural(n) {\n\t return (n > 1) && (n < 5) && (~~(n / 10) !== 1);\n\t}\n\tfunction translate(number, withoutSuffix, key, isFuture) {\n\t var result = number + ' ';\n\t switch (key) {\n\t case 's': // a few seconds / in a few seconds / a few seconds ago\n\t return (withoutSuffix || isFuture) ? 'pár sekund' : 'pár sekundami';\n\t case 'm': // a minute / in a minute / a minute ago\n\t return withoutSuffix ? 'minuta' : (isFuture ? 'minutu' : 'minutou');\n\t case 'mm': // 9 minutes / in 9 minutes / 9 minutes ago\n\t if (withoutSuffix || isFuture) {\n\t return result + (plural(number) ? 'minuty' : 'minut');\n\t } else {\n\t return result + 'minutami';\n\t }\n\t break;\n\t case 'h': // an hour / in an hour / an hour ago\n\t return withoutSuffix ? 'hodina' : (isFuture ? 'hodinu' : 'hodinou');\n\t case 'hh': // 9 hours / in 9 hours / 9 hours ago\n\t if (withoutSuffix || isFuture) {\n\t return result + (plural(number) ? 'hodiny' : 'hodin');\n\t } else {\n\t return result + 'hodinami';\n\t }\n\t break;\n\t case 'd': // a day / in a day / a day ago\n\t return (withoutSuffix || isFuture) ? 'den' : 'dnem';\n\t case 'dd': // 9 days / in 9 days / 9 days ago\n\t if (withoutSuffix || isFuture) {\n\t return result + (plural(number) ? 'dny' : 'dní');\n\t } else {\n\t return result + 'dny';\n\t }\n\t break;\n\t case 'M': // a month / in a month / a month ago\n\t return (withoutSuffix || isFuture) ? 'měsíc' : 'měsícem';\n\t case 'MM': // 9 months / in 9 months / 9 months ago\n\t if (withoutSuffix || isFuture) {\n\t return result + (plural(number) ? 'měsíce' : 'měsíců');\n\t } else {\n\t return result + 'měsíci';\n\t }\n\t break;\n\t case 'y': // a year / in a year / a year ago\n\t return (withoutSuffix || isFuture) ? 'rok' : 'rokem';\n\t case 'yy': // 9 years / in 9 years / 9 years ago\n\t if (withoutSuffix || isFuture) {\n\t return result + (plural(number) ? 'roky' : 'let');\n\t } else {\n\t return result + 'lety';\n\t }\n\t break;\n\t }\n\t}\n\t\n\tvar cs = moment.defineLocale('cs', {\n\t months : months,\n\t monthsShort : monthsShort,\n\t monthsParse : (function (months, monthsShort) {\n\t var i, _monthsParse = [];\n\t for (i = 0; i < 12; i++) {\n\t // use custom parser to solve problem with July (červenec)\n\t _monthsParse[i] = new RegExp('^' + months[i] + '$|^' + monthsShort[i] + '$', 'i');\n\t }\n\t return _monthsParse;\n\t }(months, monthsShort)),\n\t shortMonthsParse : (function (monthsShort) {\n\t var i, _shortMonthsParse = [];\n\t for (i = 0; i < 12; i++) {\n\t _shortMonthsParse[i] = new RegExp('^' + monthsShort[i] + '$', 'i');\n\t }\n\t return _shortMonthsParse;\n\t }(monthsShort)),\n\t longMonthsParse : (function (months) {\n\t var i, _longMonthsParse = [];\n\t for (i = 0; i < 12; i++) {\n\t _longMonthsParse[i] = new RegExp('^' + months[i] + '$', 'i');\n\t }\n\t return _longMonthsParse;\n\t }(months)),\n\t weekdays : 'neděle_pondělí_úterý_středa_čtvrtek_pátek_sobota'.split('_'),\n\t weekdaysShort : 'ne_po_út_st_čt_pá_so'.split('_'),\n\t weekdaysMin : 'ne_po_út_st_čt_pá_so'.split('_'),\n\t longDateFormat : {\n\t LT: 'H:mm',\n\t LTS : 'H:mm:ss',\n\t L : 'DD.MM.YYYY',\n\t LL : 'D. MMMM YYYY',\n\t LLL : 'D. MMMM YYYY H:mm',\n\t LLLL : 'dddd D. MMMM YYYY H:mm',\n\t l : 'D. M. YYYY'\n\t },\n\t calendar : {\n\t sameDay: '[dnes v] LT',\n\t nextDay: '[zítra v] LT',\n\t nextWeek: function () {\n\t switch (this.day()) {\n\t case 0:\n\t return '[v neděli v] LT';\n\t case 1:\n\t case 2:\n\t return '[v] dddd [v] LT';\n\t case 3:\n\t return '[ve středu v] LT';\n\t case 4:\n\t return '[ve čtvrtek v] LT';\n\t case 5:\n\t return '[v pátek v] LT';\n\t case 6:\n\t return '[v sobotu v] LT';\n\t }\n\t },\n\t lastDay: '[včera v] LT',\n\t lastWeek: function () {\n\t switch (this.day()) {\n\t case 0:\n\t return '[minulou neděli v] LT';\n\t case 1:\n\t case 2:\n\t return '[minulé] dddd [v] LT';\n\t case 3:\n\t return '[minulou středu v] LT';\n\t case 4:\n\t case 5:\n\t return '[minulý] dddd [v] LT';\n\t case 6:\n\t return '[minulou sobotu v] LT';\n\t }\n\t },\n\t sameElse: 'L'\n\t },\n\t relativeTime : {\n\t future : 'za %s',\n\t past : 'před %s',\n\t s : translate,\n\t m : translate,\n\t mm : translate,\n\t h : translate,\n\t hh : translate,\n\t d : translate,\n\t dd : translate,\n\t M : translate,\n\t MM : translate,\n\t y : translate,\n\t yy : translate\n\t },\n\t ordinalParse : /\\d{1,2}\\./,\n\t ordinal : '%d.',\n\t week : {\n\t dow : 1, // Monday is the first day of the week.\n\t doy : 4 // The week that contains Jan 4th is the first week of the year.\n\t }\n\t});\n\t\n\treturn cs;\n\t\n\t})));\n\n\n/***/ },\n/* 214 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t//! moment.js locale configuration\n\t//! locale : Chuvash [cv]\n\t//! author : Anatoly Mironov : https://github.com/mirontoli\n\t\n\t;(function (global, factory) {\n\t true ? factory(__webpack_require__(1)) :\n\t typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n\t factory(global.moment)\n\t}(this, (function (moment) { 'use strict';\n\t\n\t\n\tvar cv = moment.defineLocale('cv', {\n\t months : 'кӑрлач_нарӑс_пуш_ака_май_ҫӗртме_утӑ_ҫурла_авӑн_юпа_чӳк_раштав'.split('_'),\n\t monthsShort : 'кӑр_нар_пуш_ака_май_ҫӗр_утӑ_ҫур_авн_юпа_чӳк_раш'.split('_'),\n\t weekdays : 'вырсарникун_тунтикун_ытларикун_юнкун_кӗҫнерникун_эрнекун_шӑматкун'.split('_'),\n\t weekdaysShort : 'выр_тун_ытл_юн_кӗҫ_эрн_шӑм'.split('_'),\n\t weekdaysMin : 'вр_тн_ыт_юн_кҫ_эр_шм'.split('_'),\n\t longDateFormat : {\n\t LT : 'HH:mm',\n\t LTS : 'HH:mm:ss',\n\t L : 'DD-MM-YYYY',\n\t LL : 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ]',\n\t LLL : 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm',\n\t LLLL : 'dddd, YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm'\n\t },\n\t calendar : {\n\t sameDay: '[Паян] LT [сехетре]',\n\t nextDay: '[Ыран] LT [сехетре]',\n\t lastDay: '[Ӗнер] LT [сехетре]',\n\t nextWeek: '[Ҫитес] dddd LT [сехетре]',\n\t lastWeek: '[Иртнӗ] dddd LT [сехетре]',\n\t sameElse: 'L'\n\t },\n\t relativeTime : {\n\t future : function (output) {\n\t var affix = /сехет$/i.exec(output) ? 'рен' : /ҫул$/i.exec(output) ? 'тан' : 'ран';\n\t return output + affix;\n\t },\n\t past : '%s каялла',\n\t s : 'пӗр-ик ҫеккунт',\n\t m : 'пӗр минут',\n\t mm : '%d минут',\n\t h : 'пӗр сехет',\n\t hh : '%d сехет',\n\t d : 'пӗр кун',\n\t dd : '%d кун',\n\t M : 'пӗр уйӑх',\n\t MM : '%d уйӑх',\n\t y : 'пӗр ҫул',\n\t yy : '%d ҫул'\n\t },\n\t ordinalParse: /\\d{1,2}-мӗш/,\n\t ordinal : '%d-мӗш',\n\t week : {\n\t dow : 1, // Monday is the first day of the week.\n\t doy : 7 // The week that contains Jan 1st is the first week of the year.\n\t }\n\t});\n\t\n\treturn cv;\n\t\n\t})));\n\n\n/***/ },\n/* 215 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t//! moment.js locale configuration\n\t//! locale : Welsh [cy]\n\t//! author : Robert Allen : https://github.com/robgallen\n\t//! author : https://github.com/ryangreaves\n\t\n\t;(function (global, factory) {\n\t true ? factory(__webpack_require__(1)) :\n\t typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n\t factory(global.moment)\n\t}(this, (function (moment) { 'use strict';\n\t\n\t\n\tvar cy = moment.defineLocale('cy', {\n\t months: 'Ionawr_Chwefror_Mawrth_Ebrill_Mai_Mehefin_Gorffennaf_Awst_Medi_Hydref_Tachwedd_Rhagfyr'.split('_'),\n\t monthsShort: 'Ion_Chwe_Maw_Ebr_Mai_Meh_Gor_Aws_Med_Hyd_Tach_Rhag'.split('_'),\n\t weekdays: 'Dydd Sul_Dydd Llun_Dydd Mawrth_Dydd Mercher_Dydd Iau_Dydd Gwener_Dydd Sadwrn'.split('_'),\n\t weekdaysShort: 'Sul_Llun_Maw_Mer_Iau_Gwe_Sad'.split('_'),\n\t weekdaysMin: 'Su_Ll_Ma_Me_Ia_Gw_Sa'.split('_'),\n\t weekdaysParseExact : true,\n\t // time formats are the same as en-gb\n\t longDateFormat: {\n\t LT: 'HH:mm',\n\t LTS : 'HH:mm:ss',\n\t L: 'DD/MM/YYYY',\n\t LL: 'D MMMM YYYY',\n\t LLL: 'D MMMM YYYY HH:mm',\n\t LLLL: 'dddd, D MMMM YYYY HH:mm'\n\t },\n\t calendar: {\n\t sameDay: '[Heddiw am] LT',\n\t nextDay: '[Yfory am] LT',\n\t nextWeek: 'dddd [am] LT',\n\t lastDay: '[Ddoe am] LT',\n\t lastWeek: 'dddd [diwethaf am] LT',\n\t sameElse: 'L'\n\t },\n\t relativeTime: {\n\t future: 'mewn %s',\n\t past: '%s yn ôl',\n\t s: 'ychydig eiliadau',\n\t m: 'munud',\n\t mm: '%d munud',\n\t h: 'awr',\n\t hh: '%d awr',\n\t d: 'diwrnod',\n\t dd: '%d diwrnod',\n\t M: 'mis',\n\t MM: '%d mis',\n\t y: 'blwyddyn',\n\t yy: '%d flynedd'\n\t },\n\t ordinalParse: /\\d{1,2}(fed|ain|af|il|ydd|ed|eg)/,\n\t // traditional ordinal numbers above 31 are not commonly used in colloquial Welsh\n\t ordinal: function (number) {\n\t var b = number,\n\t output = '',\n\t lookup = [\n\t '', 'af', 'il', 'ydd', 'ydd', 'ed', 'ed', 'ed', 'fed', 'fed', 'fed', // 1af to 10fed\n\t 'eg', 'fed', 'eg', 'eg', 'fed', 'eg', 'eg', 'fed', 'eg', 'fed' // 11eg to 20fed\n\t ];\n\t if (b > 20) {\n\t if (b === 40 || b === 50 || b === 60 || b === 80 || b === 100) {\n\t output = 'fed'; // not 30ain, 70ain or 90ain\n\t } else {\n\t output = 'ain';\n\t }\n\t } else if (b > 0) {\n\t output = lookup[b];\n\t }\n\t return number + output;\n\t },\n\t week : {\n\t dow : 1, // Monday is the first day of the week.\n\t doy : 4 // The week that contains Jan 4th is the first week of the year.\n\t }\n\t});\n\t\n\treturn cy;\n\t\n\t})));\n\n\n/***/ },\n/* 216 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t//! moment.js locale configuration\n\t//! locale : Danish [da]\n\t//! author : Ulrik Nielsen : https://github.com/mrbase\n\t\n\t;(function (global, factory) {\n\t true ? factory(__webpack_require__(1)) :\n\t typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n\t factory(global.moment)\n\t}(this, (function (moment) { 'use strict';\n\t\n\t\n\tvar da = moment.defineLocale('da', {\n\t months : 'januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december'.split('_'),\n\t monthsShort : 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'),\n\t weekdays : 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'),\n\t weekdaysShort : 'søn_man_tir_ons_tor_fre_lør'.split('_'),\n\t weekdaysMin : 'sø_ma_ti_on_to_fr_lø'.split('_'),\n\t longDateFormat : {\n\t LT : 'HH:mm',\n\t LTS : 'HH:mm:ss',\n\t L : 'DD/MM/YYYY',\n\t LL : 'D. MMMM YYYY',\n\t LLL : 'D. MMMM YYYY HH:mm',\n\t LLLL : 'dddd [d.] D. MMMM YYYY HH:mm'\n\t },\n\t calendar : {\n\t sameDay : '[I dag kl.] LT',\n\t nextDay : '[I morgen kl.] LT',\n\t nextWeek : 'dddd [kl.] LT',\n\t lastDay : '[I går kl.] LT',\n\t lastWeek : '[sidste] dddd [kl] LT',\n\t sameElse : 'L'\n\t },\n\t relativeTime : {\n\t future : 'om %s',\n\t past : '%s siden',\n\t s : 'få sekunder',\n\t m : 'et minut',\n\t mm : '%d minutter',\n\t h : 'en time',\n\t hh : '%d timer',\n\t d : 'en dag',\n\t dd : '%d dage',\n\t M : 'en måned',\n\t MM : '%d måneder',\n\t y : 'et år',\n\t yy : '%d år'\n\t },\n\t ordinalParse: /\\d{1,2}\\./,\n\t ordinal : '%d.',\n\t week : {\n\t dow : 1, // Monday is the first day of the week.\n\t doy : 4 // The week that contains Jan 4th is the first week of the year.\n\t }\n\t});\n\t\n\treturn da;\n\t\n\t})));\n\n\n/***/ },\n/* 217 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t//! moment.js locale configuration\n\t//! locale : German (Austria) [de-at]\n\t//! author : lluchs : https://github.com/lluchs\n\t//! author: Menelion Elensúle: https://github.com/Oire\n\t//! author : Martin Groller : https://github.com/MadMG\n\t//! author : Mikolaj Dadela : https://github.com/mik01aj\n\t\n\t;(function (global, factory) {\n\t true ? factory(__webpack_require__(1)) :\n\t typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n\t factory(global.moment)\n\t}(this, (function (moment) { 'use strict';\n\t\n\t\n\tfunction processRelativeTime(number, withoutSuffix, key, isFuture) {\n\t var format = {\n\t 'm': ['eine Minute', 'einer Minute'],\n\t 'h': ['eine Stunde', 'einer Stunde'],\n\t 'd': ['ein Tag', 'einem Tag'],\n\t 'dd': [number + ' Tage', number + ' Tagen'],\n\t 'M': ['ein Monat', 'einem Monat'],\n\t 'MM': [number + ' Monate', number + ' Monaten'],\n\t 'y': ['ein Jahr', 'einem Jahr'],\n\t 'yy': [number + ' Jahre', number + ' Jahren']\n\t };\n\t return withoutSuffix ? format[key][0] : format[key][1];\n\t}\n\t\n\tvar deAt = moment.defineLocale('de-at', {\n\t months : 'Jänner_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'),\n\t monthsShort : 'Jän._Febr._Mrz._Apr._Mai_Jun._Jul._Aug._Sept._Okt._Nov._Dez.'.split('_'),\n\t monthsParseExact : true,\n\t weekdays : 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split('_'),\n\t weekdaysShort : 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'),\n\t weekdaysMin : 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n\t weekdaysParseExact : true,\n\t longDateFormat : {\n\t LT: 'HH:mm',\n\t LTS: 'HH:mm:ss',\n\t L : 'DD.MM.YYYY',\n\t LL : 'D. MMMM YYYY',\n\t LLL : 'D. MMMM YYYY HH:mm',\n\t LLLL : 'dddd, D. MMMM YYYY HH:mm'\n\t },\n\t calendar : {\n\t sameDay: '[heute um] LT [Uhr]',\n\t sameElse: 'L',\n\t nextDay: '[morgen um] LT [Uhr]',\n\t nextWeek: 'dddd [um] LT [Uhr]',\n\t lastDay: '[gestern um] LT [Uhr]',\n\t lastWeek: '[letzten] dddd [um] LT [Uhr]'\n\t },\n\t relativeTime : {\n\t future : 'in %s',\n\t past : 'vor %s',\n\t s : 'ein paar Sekunden',\n\t m : processRelativeTime,\n\t mm : '%d Minuten',\n\t h : processRelativeTime,\n\t hh : '%d Stunden',\n\t d : processRelativeTime,\n\t dd : processRelativeTime,\n\t M : processRelativeTime,\n\t MM : processRelativeTime,\n\t y : processRelativeTime,\n\t yy : processRelativeTime\n\t },\n\t ordinalParse: /\\d{1,2}\\./,\n\t ordinal : '%d.',\n\t week : {\n\t dow : 1, // Monday is the first day of the week.\n\t doy : 4 // The week that contains Jan 4th is the first week of the year.\n\t }\n\t});\n\t\n\treturn deAt;\n\t\n\t})));\n\n\n/***/ },\n/* 218 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t//! moment.js locale configuration\n\t//! locale : German [de]\n\t//! author : lluchs : https://github.com/lluchs\n\t//! author: Menelion Elensúle: https://github.com/Oire\n\t//! author : Mikolaj Dadela : https://github.com/mik01aj\n\t\n\t;(function (global, factory) {\n\t true ? factory(__webpack_require__(1)) :\n\t typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n\t factory(global.moment)\n\t}(this, (function (moment) { 'use strict';\n\t\n\t\n\tfunction processRelativeTime(number, withoutSuffix, key, isFuture) {\n\t var format = {\n\t 'm': ['eine Minute', 'einer Minute'],\n\t 'h': ['eine Stunde', 'einer Stunde'],\n\t 'd': ['ein Tag', 'einem Tag'],\n\t 'dd': [number + ' Tage', number + ' Tagen'],\n\t 'M': ['ein Monat', 'einem Monat'],\n\t 'MM': [number + ' Monate', number + ' Monaten'],\n\t 'y': ['ein Jahr', 'einem Jahr'],\n\t 'yy': [number + ' Jahre', number + ' Jahren']\n\t };\n\t return withoutSuffix ? format[key][0] : format[key][1];\n\t}\n\t\n\tvar de = moment.defineLocale('de', {\n\t months : 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'),\n\t monthsShort : 'Jan._Febr._Mrz._Apr._Mai_Jun._Jul._Aug._Sept._Okt._Nov._Dez.'.split('_'),\n\t monthsParseExact : true,\n\t weekdays : 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split('_'),\n\t weekdaysShort : 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'),\n\t weekdaysMin : 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n\t weekdaysParseExact : true,\n\t longDateFormat : {\n\t LT: 'HH:mm',\n\t LTS: 'HH:mm:ss',\n\t L : 'DD.MM.YYYY',\n\t LL : 'D. MMMM YYYY',\n\t LLL : 'D. MMMM YYYY HH:mm',\n\t LLLL : 'dddd, D. MMMM YYYY HH:mm'\n\t },\n\t calendar : {\n\t sameDay: '[heute um] LT [Uhr]',\n\t sameElse: 'L',\n\t nextDay: '[morgen um] LT [Uhr]',\n\t nextWeek: 'dddd [um] LT [Uhr]',\n\t lastDay: '[gestern um] LT [Uhr]',\n\t lastWeek: '[letzten] dddd [um] LT [Uhr]'\n\t },\n\t relativeTime : {\n\t future : 'in %s',\n\t past : 'vor %s',\n\t s : 'ein paar Sekunden',\n\t m : processRelativeTime,\n\t mm : '%d Minuten',\n\t h : processRelativeTime,\n\t hh : '%d Stunden',\n\t d : processRelativeTime,\n\t dd : processRelativeTime,\n\t M : processRelativeTime,\n\t MM : processRelativeTime,\n\t y : processRelativeTime,\n\t yy : processRelativeTime\n\t },\n\t ordinalParse: /\\d{1,2}\\./,\n\t ordinal : '%d.',\n\t week : {\n\t dow : 1, // Monday is the first day of the week.\n\t doy : 4 // The week that contains Jan 4th is the first week of the year.\n\t }\n\t});\n\t\n\treturn de;\n\t\n\t})));\n\n\n/***/ },\n/* 219 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t//! moment.js locale configuration\n\t//! locale : Maldivian [dv]\n\t//! author : Jawish Hameed : https://github.com/jawish\n\t\n\t;(function (global, factory) {\n\t true ? factory(__webpack_require__(1)) :\n\t typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n\t factory(global.moment)\n\t}(this, (function (moment) { 'use strict';\n\t\n\t\n\tvar months = [\n\t 'ޖެނުއަރީ',\n\t 'ފެބްރުއަރީ',\n\t 'މާރިޗު',\n\t 'އޭޕްރީލު',\n\t 'މޭ',\n\t 'ޖޫން',\n\t 'ޖުލައި',\n\t 'އޯގަސްޓު',\n\t 'ސެޕްޓެމްބަރު',\n\t 'އޮކްޓޯބަރު',\n\t 'ނޮވެމްބަރު',\n\t 'ޑިސެމްބަރު'\n\t];\n\tvar weekdays = [\n\t 'އާދިއްތަ',\n\t 'ހޯމަ',\n\t 'އަންގާރަ',\n\t 'ބުދަ',\n\t 'ބުރާސްފަތި',\n\t 'ހުކުރު',\n\t 'ހޮނިހިރު'\n\t];\n\t\n\tvar dv = moment.defineLocale('dv', {\n\t months : months,\n\t monthsShort : months,\n\t weekdays : weekdays,\n\t weekdaysShort : weekdays,\n\t weekdaysMin : 'އާދި_ހޯމަ_އަން_ބުދަ_ބުރާ_ހުކު_ހޮނި'.split('_'),\n\t longDateFormat : {\n\t\n\t LT : 'HH:mm',\n\t LTS : 'HH:mm:ss',\n\t L : 'D/M/YYYY',\n\t LL : 'D MMMM YYYY',\n\t LLL : 'D MMMM YYYY HH:mm',\n\t LLLL : 'dddd D MMMM YYYY HH:mm'\n\t },\n\t meridiemParse: /މކ|މފ/,\n\t isPM : function (input) {\n\t return 'މފ' === input;\n\t },\n\t meridiem : function (hour, minute, isLower) {\n\t if (hour < 12) {\n\t return 'މކ';\n\t } else {\n\t return 'މފ';\n\t }\n\t },\n\t calendar : {\n\t sameDay : '[މިއަދު] LT',\n\t nextDay : '[މާދަމާ] LT',\n\t nextWeek : 'dddd LT',\n\t lastDay : '[އިއްޔެ] LT',\n\t lastWeek : '[ފާއިތުވި] dddd LT',\n\t sameElse : 'L'\n\t },\n\t relativeTime : {\n\t future : 'ތެރޭގައި %s',\n\t past : 'ކުރިން %s',\n\t s : 'ސިކުންތުކޮޅެއް',\n\t m : 'މިނިޓެއް',\n\t mm : 'މިނިޓު %d',\n\t h : 'ގަޑިއިރެއް',\n\t hh : 'ގަޑިއިރު %d',\n\t d : 'ދުވަހެއް',\n\t dd : 'ދުވަސް %d',\n\t M : 'މަހެއް',\n\t MM : 'މަސް %d',\n\t y : 'އަހަރެއް',\n\t yy : 'އަހަރު %d'\n\t },\n\t preparse: function (string) {\n\t return string.replace(/،/g, ',');\n\t },\n\t postformat: function (string) {\n\t return string.replace(/,/g, '،');\n\t },\n\t week : {\n\t dow : 7, // Sunday is the first day of the week.\n\t doy : 12 // The week that contains Jan 1st is the first week of the year.\n\t }\n\t});\n\t\n\treturn dv;\n\t\n\t})));\n\n\n/***/ },\n/* 220 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t//! moment.js locale configuration\n\t//! locale : Greek [el]\n\t//! author : Aggelos Karalias : https://github.com/mehiel\n\t\n\t;(function (global, factory) {\n\t true ? factory(__webpack_require__(1)) :\n\t typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n\t factory(global.moment)\n\t}(this, (function (moment) { 'use strict';\n\t\n\tfunction isFunction(input) {\n\t return input instanceof Function || Object.prototype.toString.call(input) === '[object Function]';\n\t}\n\t\n\t\n\tvar el = moment.defineLocale('el', {\n\t monthsNominativeEl : 'Ιανουάριος_Φεβρουάριος_Μάρτιος_Απρίλιος_Μάιος_Ιούνιος_Ιούλιος_Αύγουστος_Σεπτέμβριος_Οκτώβριος_Νοέμβριος_Δεκέμβριος'.split('_'),\n\t monthsGenitiveEl : 'Ιανουαρίου_Φεβρουαρίου_Μαρτίου_Απριλίου_Μαΐου_Ιουνίου_Ιουλίου_Αυγούστου_Σεπτεμβρίου_Οκτωβρίου_Νοεμβρίου_Δεκεμβρίου'.split('_'),\n\t months : function (momentToFormat, format) {\n\t if (/D/.test(format.substring(0, format.indexOf('MMMM')))) { // if there is a day number before 'MMMM'\n\t return this._monthsGenitiveEl[momentToFormat.month()];\n\t } else {\n\t return this._monthsNominativeEl[momentToFormat.month()];\n\t }\n\t },\n\t monthsShort : 'Ιαν_Φεβ_Μαρ_Απρ_Μαϊ_Ιουν_Ιουλ_Αυγ_Σεπ_Οκτ_Νοε_Δεκ'.split('_'),\n\t weekdays : 'Κυριακή_Δευτέρα_Τρίτη_Τετάρτη_Πέμπτη_Παρασκευή_Σάββατο'.split('_'),\n\t weekdaysShort : 'Κυρ_Δευ_Τρι_Τετ_Πεμ_Παρ_Σαβ'.split('_'),\n\t weekdaysMin : 'Κυ_Δε_Τρ_Τε_Πε_Πα_Σα'.split('_'),\n\t meridiem : function (hours, minutes, isLower) {\n\t if (hours > 11) {\n\t return isLower ? 'μμ' : 'ΜΜ';\n\t } else {\n\t return isLower ? 'πμ' : 'ΠΜ';\n\t }\n\t },\n\t isPM : function (input) {\n\t return ((input + '').toLowerCase()[0] === 'μ');\n\t },\n\t meridiemParse : /[ΠΜ]\\.?Μ?\\.?/i,\n\t longDateFormat : {\n\t LT : 'h:mm A',\n\t LTS : 'h:mm:ss A',\n\t L : 'DD/MM/YYYY',\n\t LL : 'D MMMM YYYY',\n\t LLL : 'D MMMM YYYY h:mm A',\n\t LLLL : 'dddd, D MMMM YYYY h:mm A'\n\t },\n\t calendarEl : {\n\t sameDay : '[Σήμερα {}] LT',\n\t nextDay : '[Αύριο {}] LT',\n\t nextWeek : 'dddd [{}] LT',\n\t lastDay : '[Χθες {}] LT',\n\t lastWeek : function () {\n\t switch (this.day()) {\n\t case 6:\n\t return '[το προηγούμενο] dddd [{}] LT';\n\t default:\n\t return '[την προηγούμενη] dddd [{}] LT';\n\t }\n\t },\n\t sameElse : 'L'\n\t },\n\t calendar : function (key, mom) {\n\t var output = this._calendarEl[key],\n\t hours = mom && mom.hours();\n\t if (isFunction(output)) {\n\t output = output.apply(mom);\n\t }\n\t return output.replace('{}', (hours % 12 === 1 ? 'στη' : 'στις'));\n\t },\n\t relativeTime : {\n\t future : 'σε %s',\n\t past : '%s πριν',\n\t s : 'λίγα δευτερόλεπτα',\n\t m : 'ένα λεπτό',\n\t mm : '%d λεπτά',\n\t h : 'μία ώρα',\n\t hh : '%d ώρες',\n\t d : 'μία μέρα',\n\t dd : '%d μέρες',\n\t M : 'ένας μήνας',\n\t MM : '%d μήνες',\n\t y : 'ένας χρόνος',\n\t yy : '%d χρόνια'\n\t },\n\t ordinalParse: /\\d{1,2}η/,\n\t ordinal: '%dη',\n\t week : {\n\t dow : 1, // Monday is the first day of the week.\n\t doy : 4 // The week that contains Jan 4st is the first week of the year.\n\t }\n\t});\n\t\n\treturn el;\n\t\n\t})));\n\n\n/***/ },\n/* 221 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t//! moment.js locale configuration\n\t//! locale : English (Australia) [en-au]\n\t//! author : Jared Morse : https://github.com/jarcoal\n\t\n\t;(function (global, factory) {\n\t true ? factory(__webpack_require__(1)) :\n\t typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n\t factory(global.moment)\n\t}(this, (function (moment) { 'use strict';\n\t\n\t\n\tvar enAu = moment.defineLocale('en-au', {\n\t months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\n\t monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n\t weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n\t weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n\t weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n\t longDateFormat : {\n\t LT : 'h:mm A',\n\t LTS : 'h:mm:ss A',\n\t L : 'DD/MM/YYYY',\n\t LL : 'D MMMM YYYY',\n\t LLL : 'D MMMM YYYY h:mm A',\n\t LLLL : 'dddd, D MMMM YYYY h:mm A'\n\t },\n\t calendar : {\n\t sameDay : '[Today at] LT',\n\t nextDay : '[Tomorrow at] LT',\n\t nextWeek : 'dddd [at] LT',\n\t lastDay : '[Yesterday at] LT',\n\t lastWeek : '[Last] dddd [at] LT',\n\t sameElse : 'L'\n\t },\n\t relativeTime : {\n\t future : 'in %s',\n\t past : '%s ago',\n\t s : 'a few seconds',\n\t m : 'a minute',\n\t mm : '%d minutes',\n\t h : 'an hour',\n\t hh : '%d hours',\n\t d : 'a day',\n\t dd : '%d days',\n\t M : 'a month',\n\t MM : '%d months',\n\t y : 'a year',\n\t yy : '%d years'\n\t },\n\t ordinalParse: /\\d{1,2}(st|nd|rd|th)/,\n\t ordinal : function (number) {\n\t var b = number % 10,\n\t output = (~~(number % 100 / 10) === 1) ? 'th' :\n\t (b === 1) ? 'st' :\n\t (b === 2) ? 'nd' :\n\t (b === 3) ? 'rd' : 'th';\n\t return number + output;\n\t },\n\t week : {\n\t dow : 1, // Monday is the first day of the week.\n\t doy : 4 // The week that contains Jan 4th is the first week of the year.\n\t }\n\t});\n\t\n\treturn enAu;\n\t\n\t})));\n\n\n/***/ },\n/* 222 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t//! moment.js locale configuration\n\t//! locale : English (Canada) [en-ca]\n\t//! author : Jonathan Abourbih : https://github.com/jonbca\n\t\n\t;(function (global, factory) {\n\t true ? factory(__webpack_require__(1)) :\n\t typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n\t factory(global.moment)\n\t}(this, (function (moment) { 'use strict';\n\t\n\t\n\tvar enCa = moment.defineLocale('en-ca', {\n\t months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\n\t monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n\t weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n\t weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n\t weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n\t longDateFormat : {\n\t LT : 'h:mm A',\n\t LTS : 'h:mm:ss A',\n\t L : 'YYYY-MM-DD',\n\t LL : 'MMMM D, YYYY',\n\t LLL : 'MMMM D, YYYY h:mm A',\n\t LLLL : 'dddd, MMMM D, YYYY h:mm A'\n\t },\n\t calendar : {\n\t sameDay : '[Today at] LT',\n\t nextDay : '[Tomorrow at] LT',\n\t nextWeek : 'dddd [at] LT',\n\t lastDay : '[Yesterday at] LT',\n\t lastWeek : '[Last] dddd [at] LT',\n\t sameElse : 'L'\n\t },\n\t relativeTime : {\n\t future : 'in %s',\n\t past : '%s ago',\n\t s : 'a few seconds',\n\t m : 'a minute',\n\t mm : '%d minutes',\n\t h : 'an hour',\n\t hh : '%d hours',\n\t d : 'a day',\n\t dd : '%d days',\n\t M : 'a month',\n\t MM : '%d months',\n\t y : 'a year',\n\t yy : '%d years'\n\t },\n\t ordinalParse: /\\d{1,2}(st|nd|rd|th)/,\n\t ordinal : function (number) {\n\t var b = number % 10,\n\t output = (~~(number % 100 / 10) === 1) ? 'th' :\n\t (b === 1) ? 'st' :\n\t (b === 2) ? 'nd' :\n\t (b === 3) ? 'rd' : 'th';\n\t return number + output;\n\t }\n\t});\n\t\n\treturn enCa;\n\t\n\t})));\n\n\n/***/ },\n/* 223 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t//! moment.js locale configuration\n\t//! locale : English (United Kingdom) [en-gb]\n\t//! author : Chris Gedrim : https://github.com/chrisgedrim\n\t\n\t;(function (global, factory) {\n\t true ? factory(__webpack_require__(1)) :\n\t typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n\t factory(global.moment)\n\t}(this, (function (moment) { 'use strict';\n\t\n\t\n\tvar enGb = moment.defineLocale('en-gb', {\n\t months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\n\t monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n\t weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n\t weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n\t weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n\t longDateFormat : {\n\t LT : 'HH:mm',\n\t LTS : 'HH:mm:ss',\n\t L : 'DD/MM/YYYY',\n\t LL : 'D MMMM YYYY',\n\t LLL : 'D MMMM YYYY HH:mm',\n\t LLLL : 'dddd, D MMMM YYYY HH:mm'\n\t },\n\t calendar : {\n\t sameDay : '[Today at] LT',\n\t nextDay : '[Tomorrow at] LT',\n\t nextWeek : 'dddd [at] LT',\n\t lastDay : '[Yesterday at] LT',\n\t lastWeek : '[Last] dddd [at] LT',\n\t sameElse : 'L'\n\t },\n\t relativeTime : {\n\t future : 'in %s',\n\t past : '%s ago',\n\t s : 'a few seconds',\n\t m : 'a minute',\n\t mm : '%d minutes',\n\t h : 'an hour',\n\t hh : '%d hours',\n\t d : 'a day',\n\t dd : '%d days',\n\t M : 'a month',\n\t MM : '%d months',\n\t y : 'a year',\n\t yy : '%d years'\n\t },\n\t ordinalParse: /\\d{1,2}(st|nd|rd|th)/,\n\t ordinal : function (number) {\n\t var b = number % 10,\n\t output = (~~(number % 100 / 10) === 1) ? 'th' :\n\t (b === 1) ? 'st' :\n\t (b === 2) ? 'nd' :\n\t (b === 3) ? 'rd' : 'th';\n\t return number + output;\n\t },\n\t week : {\n\t dow : 1, // Monday is the first day of the week.\n\t doy : 4 // The week that contains Jan 4th is the first week of the year.\n\t }\n\t});\n\t\n\treturn enGb;\n\t\n\t})));\n\n\n/***/ },\n/* 224 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t//! moment.js locale configuration\n\t//! locale : English (Ireland) [en-ie]\n\t//! author : Chris Cartlidge : https://github.com/chriscartlidge\n\t\n\t;(function (global, factory) {\n\t true ? factory(__webpack_require__(1)) :\n\t typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n\t factory(global.moment)\n\t}(this, (function (moment) { 'use strict';\n\t\n\t\n\tvar enIe = moment.defineLocale('en-ie', {\n\t months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\n\t monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n\t weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n\t weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n\t weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n\t longDateFormat : {\n\t LT : 'HH:mm',\n\t LTS : 'HH:mm:ss',\n\t L : 'DD-MM-YYYY',\n\t LL : 'D MMMM YYYY',\n\t LLL : 'D MMMM YYYY HH:mm',\n\t LLLL : 'dddd D MMMM YYYY HH:mm'\n\t },\n\t calendar : {\n\t sameDay : '[Today at] LT',\n\t nextDay : '[Tomorrow at] LT',\n\t nextWeek : 'dddd [at] LT',\n\t lastDay : '[Yesterday at] LT',\n\t lastWeek : '[Last] dddd [at] LT',\n\t sameElse : 'L'\n\t },\n\t relativeTime : {\n\t future : 'in %s',\n\t past : '%s ago',\n\t s : 'a few seconds',\n\t m : 'a minute',\n\t mm : '%d minutes',\n\t h : 'an hour',\n\t hh : '%d hours',\n\t d : 'a day',\n\t dd : '%d days',\n\t M : 'a month',\n\t MM : '%d months',\n\t y : 'a year',\n\t yy : '%d years'\n\t },\n\t ordinalParse: /\\d{1,2}(st|nd|rd|th)/,\n\t ordinal : function (number) {\n\t var b = number % 10,\n\t output = (~~(number % 100 / 10) === 1) ? 'th' :\n\t (b === 1) ? 'st' :\n\t (b === 2) ? 'nd' :\n\t (b === 3) ? 'rd' : 'th';\n\t return number + output;\n\t },\n\t week : {\n\t dow : 1, // Monday is the first day of the week.\n\t doy : 4 // The week that contains Jan 4th is the first week of the year.\n\t }\n\t});\n\t\n\treturn enIe;\n\t\n\t})));\n\n\n/***/ },\n/* 225 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t//! moment.js locale configuration\n\t//! locale : English (New Zealand) [en-nz]\n\t//! author : Luke McGregor : https://github.com/lukemcgregor\n\t\n\t;(function (global, factory) {\n\t true ? factory(__webpack_require__(1)) :\n\t typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n\t factory(global.moment)\n\t}(this, (function (moment) { 'use strict';\n\t\n\t\n\tvar enNz = moment.defineLocale('en-nz', {\n\t months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\n\t monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n\t weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n\t weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n\t weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n\t longDateFormat : {\n\t LT : 'h:mm A',\n\t LTS : 'h:mm:ss A',\n\t L : 'DD/MM/YYYY',\n\t LL : 'D MMMM YYYY',\n\t LLL : 'D MMMM YYYY h:mm A',\n\t LLLL : 'dddd, D MMMM YYYY h:mm A'\n\t },\n\t calendar : {\n\t sameDay : '[Today at] LT',\n\t nextDay : '[Tomorrow at] LT',\n\t nextWeek : 'dddd [at] LT',\n\t lastDay : '[Yesterday at] LT',\n\t lastWeek : '[Last] dddd [at] LT',\n\t sameElse : 'L'\n\t },\n\t relativeTime : {\n\t future : 'in %s',\n\t past : '%s ago',\n\t s : 'a few seconds',\n\t m : 'a minute',\n\t mm : '%d minutes',\n\t h : 'an hour',\n\t hh : '%d hours',\n\t d : 'a day',\n\t dd : '%d days',\n\t M : 'a month',\n\t MM : '%d months',\n\t y : 'a year',\n\t yy : '%d years'\n\t },\n\t ordinalParse: /\\d{1,2}(st|nd|rd|th)/,\n\t ordinal : function (number) {\n\t var b = number % 10,\n\t output = (~~(number % 100 / 10) === 1) ? 'th' :\n\t (b === 1) ? 'st' :\n\t (b === 2) ? 'nd' :\n\t (b === 3) ? 'rd' : 'th';\n\t return number + output;\n\t },\n\t week : {\n\t dow : 1, // Monday is the first day of the week.\n\t doy : 4 // The week that contains Jan 4th is the first week of the year.\n\t }\n\t});\n\t\n\treturn enNz;\n\t\n\t})));\n\n\n/***/ },\n/* 226 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t//! moment.js locale configuration\n\t//! locale : Esperanto [eo]\n\t//! author : Colin Dean : https://github.com/colindean\n\t//! komento: Mi estas malcerta se mi korekte traktis akuzativojn en tiu traduko.\n\t//! Se ne, bonvolu korekti kaj avizi min por ke mi povas lerni!\n\t\n\t;(function (global, factory) {\n\t true ? factory(__webpack_require__(1)) :\n\t typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n\t factory(global.moment)\n\t}(this, (function (moment) { 'use strict';\n\t\n\t\n\tvar eo = moment.defineLocale('eo', {\n\t months : 'januaro_februaro_marto_aprilo_majo_junio_julio_aŭgusto_septembro_oktobro_novembro_decembro'.split('_'),\n\t monthsShort : 'jan_feb_mar_apr_maj_jun_jul_aŭg_sep_okt_nov_dec'.split('_'),\n\t weekdays : 'Dimanĉo_Lundo_Mardo_Merkredo_Ĵaŭdo_Vendredo_Sabato'.split('_'),\n\t weekdaysShort : 'Dim_Lun_Mard_Merk_Ĵaŭ_Ven_Sab'.split('_'),\n\t weekdaysMin : 'Di_Lu_Ma_Me_Ĵa_Ve_Sa'.split('_'),\n\t longDateFormat : {\n\t LT : 'HH:mm',\n\t LTS : 'HH:mm:ss',\n\t L : 'YYYY-MM-DD',\n\t LL : 'D[-an de] MMMM, YYYY',\n\t LLL : 'D[-an de] MMMM, YYYY HH:mm',\n\t LLLL : 'dddd, [la] D[-an de] MMMM, YYYY HH:mm'\n\t },\n\t meridiemParse: /[ap]\\.t\\.m/i,\n\t isPM: function (input) {\n\t return input.charAt(0).toLowerCase() === 'p';\n\t },\n\t meridiem : function (hours, minutes, isLower) {\n\t if (hours > 11) {\n\t return isLower ? 'p.t.m.' : 'P.T.M.';\n\t } else {\n\t return isLower ? 'a.t.m.' : 'A.T.M.';\n\t }\n\t },\n\t calendar : {\n\t sameDay : '[Hodiaŭ je] LT',\n\t nextDay : '[Morgaŭ je] LT',\n\t nextWeek : 'dddd [je] LT',\n\t lastDay : '[Hieraŭ je] LT',\n\t lastWeek : '[pasinta] dddd [je] LT',\n\t sameElse : 'L'\n\t },\n\t relativeTime : {\n\t future : 'je %s',\n\t past : 'antaŭ %s',\n\t s : 'sekundoj',\n\t m : 'minuto',\n\t mm : '%d minutoj',\n\t h : 'horo',\n\t hh : '%d horoj',\n\t d : 'tago',//ne 'diurno', ĉar estas uzita por proksimumo\n\t dd : '%d tagoj',\n\t M : 'monato',\n\t MM : '%d monatoj',\n\t y : 'jaro',\n\t yy : '%d jaroj'\n\t },\n\t ordinalParse: /\\d{1,2}a/,\n\t ordinal : '%da',\n\t week : {\n\t dow : 1, // Monday is the first day of the week.\n\t doy : 7 // The week that contains Jan 1st is the first week of the year.\n\t }\n\t});\n\t\n\treturn eo;\n\t\n\t})));\n\n\n/***/ },\n/* 227 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t//! moment.js locale configuration\n\t//! locale : Spanish (Dominican Republic) [es-do]\n\t\n\t;(function (global, factory) {\n\t true ? factory(__webpack_require__(1)) :\n\t typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n\t factory(global.moment)\n\t}(this, (function (moment) { 'use strict';\n\t\n\t\n\tvar monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split('_');\n\tvar monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_');\n\t\n\tvar esDo = moment.defineLocale('es-do', {\n\t months : 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split('_'),\n\t monthsShort : function (m, format) {\n\t if (/-MMM-/.test(format)) {\n\t return monthsShort[m.month()];\n\t } else {\n\t return monthsShortDot[m.month()];\n\t }\n\t },\n\t monthsParseExact : true,\n\t weekdays : 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\n\t weekdaysShort : 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\n\t weekdaysMin : 'do_lu_ma_mi_ju_vi_sá'.split('_'),\n\t weekdaysParseExact : true,\n\t longDateFormat : {\n\t LT : 'h:mm A',\n\t LTS : 'h:mm:ss A',\n\t L : 'DD/MM/YYYY',\n\t LL : 'D [de] MMMM [de] YYYY',\n\t LLL : 'D [de] MMMM [de] YYYY h:mm A',\n\t LLLL : 'dddd, D [de] MMMM [de] YYYY h:mm A'\n\t },\n\t calendar : {\n\t sameDay : function () {\n\t return '[hoy a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n\t },\n\t nextDay : function () {\n\t return '[mañana a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n\t },\n\t nextWeek : function () {\n\t return 'dddd [a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n\t },\n\t lastDay : function () {\n\t return '[ayer a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n\t },\n\t lastWeek : function () {\n\t return '[el] dddd [pasado a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n\t },\n\t sameElse : 'L'\n\t },\n\t relativeTime : {\n\t future : 'en %s',\n\t past : 'hace %s',\n\t s : 'unos segundos',\n\t m : 'un minuto',\n\t mm : '%d minutos',\n\t h : 'una hora',\n\t hh : '%d horas',\n\t d : 'un día',\n\t dd : '%d días',\n\t M : 'un mes',\n\t MM : '%d meses',\n\t y : 'un año',\n\t yy : '%d años'\n\t },\n\t ordinalParse : /\\d{1,2}º/,\n\t ordinal : '%dº',\n\t week : {\n\t dow : 1, // Monday is the first day of the week.\n\t doy : 4 // The week that contains Jan 4th is the first week of the year.\n\t }\n\t});\n\t\n\treturn esDo;\n\t\n\t})));\n\n\n/***/ },\n/* 228 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t//! moment.js locale configuration\n\t//! locale : Spanish [es]\n\t//! author : Julio Napurí : https://github.com/julionc\n\t\n\t;(function (global, factory) {\n\t true ? factory(__webpack_require__(1)) :\n\t typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n\t factory(global.moment)\n\t}(this, (function (moment) { 'use strict';\n\t\n\t\n\tvar monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split('_');\n\tvar monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_');\n\t\n\tvar es = moment.defineLocale('es', {\n\t months : 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split('_'),\n\t monthsShort : function (m, format) {\n\t if (/-MMM-/.test(format)) {\n\t return monthsShort[m.month()];\n\t } else {\n\t return monthsShortDot[m.month()];\n\t }\n\t },\n\t monthsParseExact : true,\n\t weekdays : 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\n\t weekdaysShort : 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\n\t weekdaysMin : 'do_lu_ma_mi_ju_vi_sá'.split('_'),\n\t weekdaysParseExact : true,\n\t longDateFormat : {\n\t LT : 'H:mm',\n\t LTS : 'H:mm:ss',\n\t L : 'DD/MM/YYYY',\n\t LL : 'D [de] MMMM [de] YYYY',\n\t LLL : 'D [de] MMMM [de] YYYY H:mm',\n\t LLLL : 'dddd, D [de] MMMM [de] YYYY H:mm'\n\t },\n\t calendar : {\n\t sameDay : function () {\n\t return '[hoy a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n\t },\n\t nextDay : function () {\n\t return '[mañana a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n\t },\n\t nextWeek : function () {\n\t return 'dddd [a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n\t },\n\t lastDay : function () {\n\t return '[ayer a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n\t },\n\t lastWeek : function () {\n\t return '[el] dddd [pasado a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n\t },\n\t sameElse : 'L'\n\t },\n\t relativeTime : {\n\t future : 'en %s',\n\t past : 'hace %s',\n\t s : 'unos segundos',\n\t m : 'un minuto',\n\t mm : '%d minutos',\n\t h : 'una hora',\n\t hh : '%d horas',\n\t d : 'un día',\n\t dd : '%d días',\n\t M : 'un mes',\n\t MM : '%d meses',\n\t y : 'un año',\n\t yy : '%d años'\n\t },\n\t ordinalParse : /\\d{1,2}º/,\n\t ordinal : '%dº',\n\t week : {\n\t dow : 1, // Monday is the first day of the week.\n\t doy : 4 // The week that contains Jan 4th is the first week of the year.\n\t }\n\t});\n\t\n\treturn es;\n\t\n\t})));\n\n\n/***/ },\n/* 229 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t//! moment.js locale configuration\n\t//! locale : Estonian [et]\n\t//! author : Henry Kehlmann : https://github.com/madhenry\n\t//! improvements : Illimar Tambek : https://github.com/ragulka\n\t\n\t;(function (global, factory) {\n\t true ? factory(__webpack_require__(1)) :\n\t typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n\t factory(global.moment)\n\t}(this, (function (moment) { 'use strict';\n\t\n\t\n\tfunction processRelativeTime(number, withoutSuffix, key, isFuture) {\n\t var format = {\n\t 's' : ['mõne sekundi', 'mõni sekund', 'paar sekundit'],\n\t 'm' : ['ühe minuti', 'üks minut'],\n\t 'mm': [number + ' minuti', number + ' minutit'],\n\t 'h' : ['ühe tunni', 'tund aega', 'üks tund'],\n\t 'hh': [number + ' tunni', number + ' tundi'],\n\t 'd' : ['ühe päeva', 'üks päev'],\n\t 'M' : ['kuu aja', 'kuu aega', 'üks kuu'],\n\t 'MM': [number + ' kuu', number + ' kuud'],\n\t 'y' : ['ühe aasta', 'aasta', 'üks aasta'],\n\t 'yy': [number + ' aasta', number + ' aastat']\n\t };\n\t if (withoutSuffix) {\n\t return format[key][2] ? format[key][2] : format[key][1];\n\t }\n\t return isFuture ? format[key][0] : format[key][1];\n\t}\n\t\n\tvar et = moment.defineLocale('et', {\n\t months : 'jaanuar_veebruar_märts_aprill_mai_juuni_juuli_august_september_oktoober_november_detsember'.split('_'),\n\t monthsShort : 'jaan_veebr_märts_apr_mai_juuni_juuli_aug_sept_okt_nov_dets'.split('_'),\n\t weekdays : 'pühapäev_esmaspäev_teisipäev_kolmapäev_neljapäev_reede_laupäev'.split('_'),\n\t weekdaysShort : 'P_E_T_K_N_R_L'.split('_'),\n\t weekdaysMin : 'P_E_T_K_N_R_L'.split('_'),\n\t longDateFormat : {\n\t LT : 'H:mm',\n\t LTS : 'H:mm:ss',\n\t L : 'DD.MM.YYYY',\n\t LL : 'D. MMMM YYYY',\n\t LLL : 'D. MMMM YYYY H:mm',\n\t LLLL : 'dddd, D. MMMM YYYY H:mm'\n\t },\n\t calendar : {\n\t sameDay : '[Täna,] LT',\n\t nextDay : '[Homme,] LT',\n\t nextWeek : '[Järgmine] dddd LT',\n\t lastDay : '[Eile,] LT',\n\t lastWeek : '[Eelmine] dddd LT',\n\t sameElse : 'L'\n\t },\n\t relativeTime : {\n\t future : '%s pärast',\n\t past : '%s tagasi',\n\t s : processRelativeTime,\n\t m : processRelativeTime,\n\t mm : processRelativeTime,\n\t h : processRelativeTime,\n\t hh : processRelativeTime,\n\t d : processRelativeTime,\n\t dd : '%d päeva',\n\t M : processRelativeTime,\n\t MM : processRelativeTime,\n\t y : processRelativeTime,\n\t yy : processRelativeTime\n\t },\n\t ordinalParse: /\\d{1,2}\\./,\n\t ordinal : '%d.',\n\t week : {\n\t dow : 1, // Monday is the first day of the week.\n\t doy : 4 // The week that contains Jan 4th is the first week of the year.\n\t }\n\t});\n\t\n\treturn et;\n\t\n\t})));\n\n\n/***/ },\n/* 230 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t//! moment.js locale configuration\n\t//! locale : Basque [eu]\n\t//! author : Eneko Illarramendi : https://github.com/eillarra\n\t\n\t;(function (global, factory) {\n\t true ? factory(__webpack_require__(1)) :\n\t typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n\t factory(global.moment)\n\t}(this, (function (moment) { 'use strict';\n\t\n\t\n\tvar eu = moment.defineLocale('eu', {\n\t months : 'urtarrila_otsaila_martxoa_apirila_maiatza_ekaina_uztaila_abuztua_iraila_urria_azaroa_abendua'.split('_'),\n\t monthsShort : 'urt._ots._mar._api._mai._eka._uzt._abu._ira._urr._aza._abe.'.split('_'),\n\t monthsParseExact : true,\n\t weekdays : 'igandea_astelehena_asteartea_asteazkena_osteguna_ostirala_larunbata'.split('_'),\n\t weekdaysShort : 'ig._al._ar._az._og._ol._lr.'.split('_'),\n\t weekdaysMin : 'ig_al_ar_az_og_ol_lr'.split('_'),\n\t weekdaysParseExact : true,\n\t longDateFormat : {\n\t LT : 'HH:mm',\n\t LTS : 'HH:mm:ss',\n\t L : 'YYYY-MM-DD',\n\t LL : 'YYYY[ko] MMMM[ren] D[a]',\n\t LLL : 'YYYY[ko] MMMM[ren] D[a] HH:mm',\n\t LLLL : 'dddd, YYYY[ko] MMMM[ren] D[a] HH:mm',\n\t l : 'YYYY-M-D',\n\t ll : 'YYYY[ko] MMM D[a]',\n\t lll : 'YYYY[ko] MMM D[a] HH:mm',\n\t llll : 'ddd, YYYY[ko] MMM D[a] HH:mm'\n\t },\n\t calendar : {\n\t sameDay : '[gaur] LT[etan]',\n\t nextDay : '[bihar] LT[etan]',\n\t nextWeek : 'dddd LT[etan]',\n\t lastDay : '[atzo] LT[etan]',\n\t lastWeek : '[aurreko] dddd LT[etan]',\n\t sameElse : 'L'\n\t },\n\t relativeTime : {\n\t future : '%s barru',\n\t past : 'duela %s',\n\t s : 'segundo batzuk',\n\t m : 'minutu bat',\n\t mm : '%d minutu',\n\t h : 'ordu bat',\n\t hh : '%d ordu',\n\t d : 'egun bat',\n\t dd : '%d egun',\n\t M : 'hilabete bat',\n\t MM : '%d hilabete',\n\t y : 'urte bat',\n\t yy : '%d urte'\n\t },\n\t ordinalParse: /\\d{1,2}\\./,\n\t ordinal : '%d.',\n\t week : {\n\t dow : 1, // Monday is the first day of the week.\n\t doy : 7 // The week that contains Jan 1st is the first week of the year.\n\t }\n\t});\n\t\n\treturn eu;\n\t\n\t})));\n\n\n/***/ },\n/* 231 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t//! moment.js locale configuration\n\t//! locale : Persian [fa]\n\t//! author : Ebrahim Byagowi : https://github.com/ebraminio\n\t\n\t;(function (global, factory) {\n\t true ? factory(__webpack_require__(1)) :\n\t typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n\t factory(global.moment)\n\t}(this, (function (moment) { 'use strict';\n\t\n\t\n\tvar symbolMap = {\n\t '1': '۱',\n\t '2': '۲',\n\t '3': '۳',\n\t '4': '۴',\n\t '5': '۵',\n\t '6': '۶',\n\t '7': '۷',\n\t '8': '۸',\n\t '9': '۹',\n\t '0': '۰'\n\t};\n\tvar numberMap = {\n\t '۱': '1',\n\t '۲': '2',\n\t '۳': '3',\n\t '۴': '4',\n\t '۵': '5',\n\t '۶': '6',\n\t '۷': '7',\n\t '۸': '8',\n\t '۹': '9',\n\t '۰': '0'\n\t};\n\t\n\tvar fa = moment.defineLocale('fa', {\n\t months : 'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split('_'),\n\t monthsShort : 'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split('_'),\n\t weekdays : 'یک\\u200cشنبه_دوشنبه_سه\\u200cشنبه_چهارشنبه_پنج\\u200cشنبه_جمعه_شنبه'.split('_'),\n\t weekdaysShort : 'یک\\u200cشنبه_دوشنبه_سه\\u200cشنبه_چهارشنبه_پنج\\u200cشنبه_جمعه_شنبه'.split('_'),\n\t weekdaysMin : 'ی_د_س_چ_پ_ج_ش'.split('_'),\n\t weekdaysParseExact : true,\n\t longDateFormat : {\n\t LT : 'HH:mm',\n\t LTS : 'HH:mm:ss',\n\t L : 'DD/MM/YYYY',\n\t LL : 'D MMMM YYYY',\n\t LLL : 'D MMMM YYYY HH:mm',\n\t LLLL : 'dddd, D MMMM YYYY HH:mm'\n\t },\n\t meridiemParse: /قبل از ظهر|بعد از ظهر/,\n\t isPM: function (input) {\n\t return /بعد از ظهر/.test(input);\n\t },\n\t meridiem : function (hour, minute, isLower) {\n\t if (hour < 12) {\n\t return 'قبل از ظهر';\n\t } else {\n\t return 'بعد از ظهر';\n\t }\n\t },\n\t calendar : {\n\t sameDay : '[امروز ساعت] LT',\n\t nextDay : '[فردا ساعت] LT',\n\t nextWeek : 'dddd [ساعت] LT',\n\t lastDay : '[دیروز ساعت] LT',\n\t lastWeek : 'dddd [پیش] [ساعت] LT',\n\t sameElse : 'L'\n\t },\n\t relativeTime : {\n\t future : 'در %s',\n\t past : '%s پیش',\n\t s : 'چندین ثانیه',\n\t m : 'یک دقیقه',\n\t mm : '%d دقیقه',\n\t h : 'یک ساعت',\n\t hh : '%d ساعت',\n\t d : 'یک روز',\n\t dd : '%d روز',\n\t M : 'یک ماه',\n\t MM : '%d ماه',\n\t y : 'یک سال',\n\t yy : '%d سال'\n\t },\n\t preparse: function (string) {\n\t return string.replace(/[۰-۹]/g, function (match) {\n\t return numberMap[match];\n\t }).replace(/،/g, ',');\n\t },\n\t postformat: function (string) {\n\t return string.replace(/\\d/g, function (match) {\n\t return symbolMap[match];\n\t }).replace(/,/g, '،');\n\t },\n\t ordinalParse: /\\d{1,2}م/,\n\t ordinal : '%dم',\n\t week : {\n\t dow : 6, // Saturday is the first day of the week.\n\t doy : 12 // The week that contains Jan 1st is the first week of the year.\n\t }\n\t});\n\t\n\treturn fa;\n\t\n\t})));\n\n\n/***/ },\n/* 232 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t//! moment.js locale configuration\n\t//! locale : Finnish [fi]\n\t//! author : Tarmo Aidantausta : https://github.com/bleadof\n\t\n\t;(function (global, factory) {\n\t true ? factory(__webpack_require__(1)) :\n\t typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n\t factory(global.moment)\n\t}(this, (function (moment) { 'use strict';\n\t\n\t\n\tvar numbersPast = 'nolla yksi kaksi kolme neljä viisi kuusi seitsemän kahdeksan yhdeksän'.split(' ');\n\tvar numbersFuture = [\n\t 'nolla', 'yhden', 'kahden', 'kolmen', 'neljän', 'viiden', 'kuuden',\n\t numbersPast[7], numbersPast[8], numbersPast[9]\n\t ];\n\tfunction translate(number, withoutSuffix, key, isFuture) {\n\t var result = '';\n\t switch (key) {\n\t case 's':\n\t return isFuture ? 'muutaman sekunnin' : 'muutama sekunti';\n\t case 'm':\n\t return isFuture ? 'minuutin' : 'minuutti';\n\t case 'mm':\n\t result = isFuture ? 'minuutin' : 'minuuttia';\n\t break;\n\t case 'h':\n\t return isFuture ? 'tunnin' : 'tunti';\n\t case 'hh':\n\t result = isFuture ? 'tunnin' : 'tuntia';\n\t break;\n\t case 'd':\n\t return isFuture ? 'päivän' : 'päivä';\n\t case 'dd':\n\t result = isFuture ? 'päivän' : 'päivää';\n\t break;\n\t case 'M':\n\t return isFuture ? 'kuukauden' : 'kuukausi';\n\t case 'MM':\n\t result = isFuture ? 'kuukauden' : 'kuukautta';\n\t break;\n\t case 'y':\n\t return isFuture ? 'vuoden' : 'vuosi';\n\t case 'yy':\n\t result = isFuture ? 'vuoden' : 'vuotta';\n\t break;\n\t }\n\t result = verbalNumber(number, isFuture) + ' ' + result;\n\t return result;\n\t}\n\tfunction verbalNumber(number, isFuture) {\n\t return number < 10 ? (isFuture ? numbersFuture[number] : numbersPast[number]) : number;\n\t}\n\t\n\tvar fi = moment.defineLocale('fi', {\n\t months : 'tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kesäkuu_heinäkuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu'.split('_'),\n\t monthsShort : 'tammi_helmi_maalis_huhti_touko_kesä_heinä_elo_syys_loka_marras_joulu'.split('_'),\n\t weekdays : 'sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai'.split('_'),\n\t weekdaysShort : 'su_ma_ti_ke_to_pe_la'.split('_'),\n\t weekdaysMin : 'su_ma_ti_ke_to_pe_la'.split('_'),\n\t longDateFormat : {\n\t LT : 'HH.mm',\n\t LTS : 'HH.mm.ss',\n\t L : 'DD.MM.YYYY',\n\t LL : 'Do MMMM[ta] YYYY',\n\t LLL : 'Do MMMM[ta] YYYY, [klo] HH.mm',\n\t LLLL : 'dddd, Do MMMM[ta] YYYY, [klo] HH.mm',\n\t l : 'D.M.YYYY',\n\t ll : 'Do MMM YYYY',\n\t lll : 'Do MMM YYYY, [klo] HH.mm',\n\t llll : 'ddd, Do MMM YYYY, [klo] HH.mm'\n\t },\n\t calendar : {\n\t sameDay : '[tänään] [klo] LT',\n\t nextDay : '[huomenna] [klo] LT',\n\t nextWeek : 'dddd [klo] LT',\n\t lastDay : '[eilen] [klo] LT',\n\t lastWeek : '[viime] dddd[na] [klo] LT',\n\t sameElse : 'L'\n\t },\n\t relativeTime : {\n\t future : '%s päästä',\n\t past : '%s sitten',\n\t s : translate,\n\t m : translate,\n\t mm : translate,\n\t h : translate,\n\t hh : translate,\n\t d : translate,\n\t dd : translate,\n\t M : translate,\n\t MM : translate,\n\t y : translate,\n\t yy : translate\n\t },\n\t ordinalParse: /\\d{1,2}\\./,\n\t ordinal : '%d.',\n\t week : {\n\t dow : 1, // Monday is the first day of the week.\n\t doy : 4 // The week that contains Jan 4th is the first week of the year.\n\t }\n\t});\n\t\n\treturn fi;\n\t\n\t})));\n\n\n/***/ },\n/* 233 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t//! moment.js locale configuration\n\t//! locale : Faroese [fo]\n\t//! author : Ragnar Johannesen : https://github.com/ragnar123\n\t\n\t;(function (global, factory) {\n\t true ? factory(__webpack_require__(1)) :\n\t typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n\t factory(global.moment)\n\t}(this, (function (moment) { 'use strict';\n\t\n\t\n\tvar fo = moment.defineLocale('fo', {\n\t months : 'januar_februar_mars_apríl_mai_juni_juli_august_september_oktober_november_desember'.split('_'),\n\t monthsShort : 'jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_'),\n\t weekdays : 'sunnudagur_mánadagur_týsdagur_mikudagur_hósdagur_fríggjadagur_leygardagur'.split('_'),\n\t weekdaysShort : 'sun_mán_týs_mik_hós_frí_ley'.split('_'),\n\t weekdaysMin : 'su_má_tý_mi_hó_fr_le'.split('_'),\n\t longDateFormat : {\n\t LT : 'HH:mm',\n\t LTS : 'HH:mm:ss',\n\t L : 'DD/MM/YYYY',\n\t LL : 'D MMMM YYYY',\n\t LLL : 'D MMMM YYYY HH:mm',\n\t LLLL : 'dddd D. MMMM, YYYY HH:mm'\n\t },\n\t calendar : {\n\t sameDay : '[Í dag kl.] LT',\n\t nextDay : '[Í morgin kl.] LT',\n\t nextWeek : 'dddd [kl.] LT',\n\t lastDay : '[Í gjár kl.] LT',\n\t lastWeek : '[síðstu] dddd [kl] LT',\n\t sameElse : 'L'\n\t },\n\t relativeTime : {\n\t future : 'um %s',\n\t past : '%s síðani',\n\t s : 'fá sekund',\n\t m : 'ein minutt',\n\t mm : '%d minuttir',\n\t h : 'ein tími',\n\t hh : '%d tímar',\n\t d : 'ein dagur',\n\t dd : '%d dagar',\n\t M : 'ein mánaði',\n\t MM : '%d mánaðir',\n\t y : 'eitt ár',\n\t yy : '%d ár'\n\t },\n\t ordinalParse: /\\d{1,2}\\./,\n\t ordinal : '%d.',\n\t week : {\n\t dow : 1, // Monday is the first day of the week.\n\t doy : 4 // The week that contains Jan 4th is the first week of the year.\n\t }\n\t});\n\t\n\treturn fo;\n\t\n\t})));\n\n\n/***/ },\n/* 234 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t//! moment.js locale configuration\n\t//! locale : French (Canada) [fr-ca]\n\t//! author : Jonathan Abourbih : https://github.com/jonbca\n\t\n\t;(function (global, factory) {\n\t true ? factory(__webpack_require__(1)) :\n\t typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n\t factory(global.moment)\n\t}(this, (function (moment) { 'use strict';\n\t\n\t\n\tvar frCa = moment.defineLocale('fr-ca', {\n\t months : 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'),\n\t monthsShort : 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split('_'),\n\t monthsParseExact : true,\n\t weekdays : 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),\n\t weekdaysShort : 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),\n\t weekdaysMin : 'Di_Lu_Ma_Me_Je_Ve_Sa'.split('_'),\n\t weekdaysParseExact : true,\n\t longDateFormat : {\n\t LT : 'HH:mm',\n\t LTS : 'HH:mm:ss',\n\t L : 'YYYY-MM-DD',\n\t LL : 'D MMMM YYYY',\n\t LLL : 'D MMMM YYYY HH:mm',\n\t LLLL : 'dddd D MMMM YYYY HH:mm'\n\t },\n\t calendar : {\n\t sameDay: '[Aujourd\\'hui à] LT',\n\t nextDay: '[Demain à] LT',\n\t nextWeek: 'dddd [à] LT',\n\t lastDay: '[Hier à] LT',\n\t lastWeek: 'dddd [dernier à] LT',\n\t sameElse: 'L'\n\t },\n\t relativeTime : {\n\t future : 'dans %s',\n\t past : 'il y a %s',\n\t s : 'quelques secondes',\n\t m : 'une minute',\n\t mm : '%d minutes',\n\t h : 'une heure',\n\t hh : '%d heures',\n\t d : 'un jour',\n\t dd : '%d jours',\n\t M : 'un mois',\n\t MM : '%d mois',\n\t y : 'un an',\n\t yy : '%d ans'\n\t },\n\t ordinalParse: /\\d{1,2}(er|e)/,\n\t ordinal : function (number) {\n\t return number + (number === 1 ? 'er' : 'e');\n\t }\n\t});\n\t\n\treturn frCa;\n\t\n\t})));\n\n\n/***/ },\n/* 235 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t//! moment.js locale configuration\n\t//! locale : French (Switzerland) [fr-ch]\n\t//! author : Gaspard Bucher : https://github.com/gaspard\n\t\n\t;(function (global, factory) {\n\t true ? factory(__webpack_require__(1)) :\n\t typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n\t factory(global.moment)\n\t}(this, (function (moment) { 'use strict';\n\t\n\t\n\tvar frCh = moment.defineLocale('fr-ch', {\n\t months : 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'),\n\t monthsShort : 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split('_'),\n\t monthsParseExact : true,\n\t weekdays : 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),\n\t weekdaysShort : 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),\n\t weekdaysMin : 'Di_Lu_Ma_Me_Je_Ve_Sa'.split('_'),\n\t weekdaysParseExact : true,\n\t longDateFormat : {\n\t LT : 'HH:mm',\n\t LTS : 'HH:mm:ss',\n\t L : 'DD.MM.YYYY',\n\t LL : 'D MMMM YYYY',\n\t LLL : 'D MMMM YYYY HH:mm',\n\t LLLL : 'dddd D MMMM YYYY HH:mm'\n\t },\n\t calendar : {\n\t sameDay: '[Aujourd\\'hui à] LT',\n\t nextDay: '[Demain à] LT',\n\t nextWeek: 'dddd [à] LT',\n\t lastDay: '[Hier à] LT',\n\t lastWeek: 'dddd [dernier à] LT',\n\t sameElse: 'L'\n\t },\n\t relativeTime : {\n\t future : 'dans %s',\n\t past : 'il y a %s',\n\t s : 'quelques secondes',\n\t m : 'une minute',\n\t mm : '%d minutes',\n\t h : 'une heure',\n\t hh : '%d heures',\n\t d : 'un jour',\n\t dd : '%d jours',\n\t M : 'un mois',\n\t MM : '%d mois',\n\t y : 'un an',\n\t yy : '%d ans'\n\t },\n\t ordinalParse: /\\d{1,2}(er|e)/,\n\t ordinal : function (number) {\n\t return number + (number === 1 ? 'er' : 'e');\n\t },\n\t week : {\n\t dow : 1, // Monday is the first day of the week.\n\t doy : 4 // The week that contains Jan 4th is the first week of the year.\n\t }\n\t});\n\t\n\treturn frCh;\n\t\n\t})));\n\n\n/***/ },\n/* 236 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t//! moment.js locale configuration\n\t//! locale : French [fr]\n\t//! author : John Fischer : https://github.com/jfroffice\n\t\n\t;(function (global, factory) {\n\t true ? factory(__webpack_require__(1)) :\n\t typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n\t factory(global.moment)\n\t}(this, (function (moment) { 'use strict';\n\t\n\t\n\tvar fr = moment.defineLocale('fr', {\n\t months : 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'),\n\t monthsShort : 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split('_'),\n\t monthsParseExact : true,\n\t weekdays : 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),\n\t weekdaysShort : 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),\n\t weekdaysMin : 'Di_Lu_Ma_Me_Je_Ve_Sa'.split('_'),\n\t weekdaysParseExact : true,\n\t longDateFormat : {\n\t LT : 'HH:mm',\n\t LTS : 'HH:mm:ss',\n\t L : 'DD/MM/YYYY',\n\t LL : 'D MMMM YYYY',\n\t LLL : 'D MMMM YYYY HH:mm',\n\t LLLL : 'dddd D MMMM YYYY HH:mm'\n\t },\n\t calendar : {\n\t sameDay: '[Aujourd\\'hui à] LT',\n\t nextDay: '[Demain à] LT',\n\t nextWeek: 'dddd [à] LT',\n\t lastDay: '[Hier à] LT',\n\t lastWeek: 'dddd [dernier à] LT',\n\t sameElse: 'L'\n\t },\n\t relativeTime : {\n\t future : 'dans %s',\n\t past : 'il y a %s',\n\t s : 'quelques secondes',\n\t m : 'une minute',\n\t mm : '%d minutes',\n\t h : 'une heure',\n\t hh : '%d heures',\n\t d : 'un jour',\n\t dd : '%d jours',\n\t M : 'un mois',\n\t MM : '%d mois',\n\t y : 'un an',\n\t yy : '%d ans'\n\t },\n\t ordinalParse: /\\d{1,2}(er|)/,\n\t ordinal : function (number) {\n\t return number + (number === 1 ? 'er' : '');\n\t },\n\t week : {\n\t dow : 1, // Monday is the first day of the week.\n\t doy : 4 // The week that contains Jan 4th is the first week of the year.\n\t }\n\t});\n\t\n\treturn fr;\n\t\n\t})));\n\n\n/***/ },\n/* 237 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t//! moment.js locale configuration\n\t//! locale : Frisian [fy]\n\t//! author : Robin van der Vliet : https://github.com/robin0van0der0v\n\t\n\t;(function (global, factory) {\n\t true ? factory(__webpack_require__(1)) :\n\t typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n\t factory(global.moment)\n\t}(this, (function (moment) { 'use strict';\n\t\n\t\n\tvar monthsShortWithDots = 'jan._feb._mrt._apr._mai_jun._jul._aug._sep._okt._nov._des.'.split('_');\n\tvar monthsShortWithoutDots = 'jan_feb_mrt_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_');\n\t\n\tvar fy = moment.defineLocale('fy', {\n\t months : 'jannewaris_febrewaris_maart_april_maaie_juny_july_augustus_septimber_oktober_novimber_desimber'.split('_'),\n\t monthsShort : function (m, format) {\n\t if (/-MMM-/.test(format)) {\n\t return monthsShortWithoutDots[m.month()];\n\t } else {\n\t return monthsShortWithDots[m.month()];\n\t }\n\t },\n\t monthsParseExact : true,\n\t weekdays : 'snein_moandei_tiisdei_woansdei_tongersdei_freed_sneon'.split('_'),\n\t weekdaysShort : 'si._mo._ti._wo._to._fr._so.'.split('_'),\n\t weekdaysMin : 'Si_Mo_Ti_Wo_To_Fr_So'.split('_'),\n\t weekdaysParseExact : true,\n\t longDateFormat : {\n\t LT : 'HH:mm',\n\t LTS : 'HH:mm:ss',\n\t L : 'DD-MM-YYYY',\n\t LL : 'D MMMM YYYY',\n\t LLL : 'D MMMM YYYY HH:mm',\n\t LLLL : 'dddd D MMMM YYYY HH:mm'\n\t },\n\t calendar : {\n\t sameDay: '[hjoed om] LT',\n\t nextDay: '[moarn om] LT',\n\t nextWeek: 'dddd [om] LT',\n\t lastDay: '[juster om] LT',\n\t lastWeek: '[ôfrûne] dddd [om] LT',\n\t sameElse: 'L'\n\t },\n\t relativeTime : {\n\t future : 'oer %s',\n\t past : '%s lyn',\n\t s : 'in pear sekonden',\n\t m : 'ien minút',\n\t mm : '%d minuten',\n\t h : 'ien oere',\n\t hh : '%d oeren',\n\t d : 'ien dei',\n\t dd : '%d dagen',\n\t M : 'ien moanne',\n\t MM : '%d moannen',\n\t y : 'ien jier',\n\t yy : '%d jierren'\n\t },\n\t ordinalParse: /\\d{1,2}(ste|de)/,\n\t ordinal : function (number) {\n\t return number + ((number === 1 || number === 8 || number >= 20) ? 'ste' : 'de');\n\t },\n\t week : {\n\t dow : 1, // Monday is the first day of the week.\n\t doy : 4 // The week that contains Jan 4th is the first week of the year.\n\t }\n\t});\n\t\n\treturn fy;\n\t\n\t})));\n\n\n/***/ },\n/* 238 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t//! moment.js locale configuration\n\t//! locale : Scottish Gaelic [gd]\n\t//! author : Jon Ashdown : https://github.com/jonashdown\n\t\n\t;(function (global, factory) {\n\t true ? factory(__webpack_require__(1)) :\n\t typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n\t factory(global.moment)\n\t}(this, (function (moment) { 'use strict';\n\t\n\t\n\tvar months = [\n\t 'Am Faoilleach', 'An Gearran', 'Am Màrt', 'An Giblean', 'An Cèitean', 'An t-Ògmhios', 'An t-Iuchar', 'An Lùnastal', 'An t-Sultain', 'An Dàmhair', 'An t-Samhain', 'An Dùbhlachd'\n\t];\n\t\n\tvar monthsShort = ['Faoi', 'Gear', 'Màrt', 'Gibl', 'Cèit', 'Ògmh', 'Iuch', 'Lùn', 'Sult', 'Dàmh', 'Samh', 'Dùbh'];\n\t\n\tvar weekdays = ['Didòmhnaich', 'Diluain', 'Dimàirt', 'Diciadain', 'Diardaoin', 'Dihaoine', 'Disathairne'];\n\t\n\tvar weekdaysShort = ['Did', 'Dil', 'Dim', 'Dic', 'Dia', 'Dih', 'Dis'];\n\t\n\tvar weekdaysMin = ['Dò', 'Lu', 'Mà', 'Ci', 'Ar', 'Ha', 'Sa'];\n\t\n\tvar gd = moment.defineLocale('gd', {\n\t months : months,\n\t monthsShort : monthsShort,\n\t monthsParseExact : true,\n\t weekdays : weekdays,\n\t weekdaysShort : weekdaysShort,\n\t weekdaysMin : weekdaysMin,\n\t longDateFormat : {\n\t LT : 'HH:mm',\n\t LTS : 'HH:mm:ss',\n\t L : 'DD/MM/YYYY',\n\t LL : 'D MMMM YYYY',\n\t LLL : 'D MMMM YYYY HH:mm',\n\t LLLL : 'dddd, D MMMM YYYY HH:mm'\n\t },\n\t calendar : {\n\t sameDay : '[An-diugh aig] LT',\n\t nextDay : '[A-màireach aig] LT',\n\t nextWeek : 'dddd [aig] LT',\n\t lastDay : '[An-dè aig] LT',\n\t lastWeek : 'dddd [seo chaidh] [aig] LT',\n\t sameElse : 'L'\n\t },\n\t relativeTime : {\n\t future : 'ann an %s',\n\t past : 'bho chionn %s',\n\t s : 'beagan diogan',\n\t m : 'mionaid',\n\t mm : '%d mionaidean',\n\t h : 'uair',\n\t hh : '%d uairean',\n\t d : 'latha',\n\t dd : '%d latha',\n\t M : 'mìos',\n\t MM : '%d mìosan',\n\t y : 'bliadhna',\n\t yy : '%d bliadhna'\n\t },\n\t ordinalParse : /\\d{1,2}(d|na|mh)/,\n\t ordinal : function (number) {\n\t var output = number === 1 ? 'd' : number % 10 === 2 ? 'na' : 'mh';\n\t return number + output;\n\t },\n\t week : {\n\t dow : 1, // Monday is the first day of the week.\n\t doy : 4 // The week that contains Jan 4th is the first week of the year.\n\t }\n\t});\n\t\n\treturn gd;\n\t\n\t})));\n\n\n/***/ },\n/* 239 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t//! moment.js locale configuration\n\t//! locale : Galician [gl]\n\t//! author : Juan G. Hurtado : https://github.com/juanghurtado\n\t\n\t;(function (global, factory) {\n\t true ? factory(__webpack_require__(1)) :\n\t typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n\t factory(global.moment)\n\t}(this, (function (moment) { 'use strict';\n\t\n\t\n\tvar gl = moment.defineLocale('gl', {\n\t months : 'xaneiro_febreiro_marzo_abril_maio_xuño_xullo_agosto_setembro_outubro_novembro_decembro'.split('_'),\n\t monthsShort : 'xan._feb._mar._abr._mai._xuñ._xul._ago._set._out._nov._dec.'.split('_'),\n\t monthsParseExact: true,\n\t weekdays : 'domingo_luns_martes_mércores_xoves_venres_sábado'.split('_'),\n\t weekdaysShort : 'dom._lun._mar._mér._xov._ven._sáb.'.split('_'),\n\t weekdaysMin : 'do_lu_ma_mé_xo_ve_sá'.split('_'),\n\t weekdaysParseExact : true,\n\t longDateFormat : {\n\t LT : 'H:mm',\n\t LTS : 'H:mm:ss',\n\t L : 'DD/MM/YYYY',\n\t LL : 'D [de] MMMM [de] YYYY',\n\t LLL : 'D [de] MMMM [de] YYYY H:mm',\n\t LLLL : 'dddd, D [de] MMMM [de] YYYY H:mm'\n\t },\n\t calendar : {\n\t sameDay : function () {\n\t return '[hoxe ' + ((this.hours() !== 1) ? 'ás' : 'á') + '] LT';\n\t },\n\t nextDay : function () {\n\t return '[mañá ' + ((this.hours() !== 1) ? 'ás' : 'á') + '] LT';\n\t },\n\t nextWeek : function () {\n\t return 'dddd [' + ((this.hours() !== 1) ? 'ás' : 'a') + '] LT';\n\t },\n\t lastDay : function () {\n\t return '[onte ' + ((this.hours() !== 1) ? 'á' : 'a') + '] LT';\n\t },\n\t lastWeek : function () {\n\t return '[o] dddd [pasado ' + ((this.hours() !== 1) ? 'ás' : 'a') + '] LT';\n\t },\n\t sameElse : 'L'\n\t },\n\t relativeTime : {\n\t future : function (str) {\n\t if (str.indexOf('un') === 0) {\n\t return 'n' + str;\n\t }\n\t return 'en ' + str;\n\t },\n\t past : 'hai %s',\n\t s : 'uns segundos',\n\t m : 'un minuto',\n\t mm : '%d minutos',\n\t h : 'unha hora',\n\t hh : '%d horas',\n\t d : 'un día',\n\t dd : '%d días',\n\t M : 'un mes',\n\t MM : '%d meses',\n\t y : 'un ano',\n\t yy : '%d anos'\n\t },\n\t ordinalParse : /\\d{1,2}º/,\n\t ordinal : '%dº',\n\t week : {\n\t dow : 1, // Monday is the first day of the week.\n\t doy : 4 // The week that contains Jan 4th is the first week of the year.\n\t }\n\t});\n\t\n\treturn gl;\n\t\n\t})));\n\n\n/***/ },\n/* 240 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t//! moment.js locale configuration\n\t//! locale : Hebrew [he]\n\t//! author : Tomer Cohen : https://github.com/tomer\n\t//! author : Moshe Simantov : https://github.com/DevelopmentIL\n\t//! author : Tal Ater : https://github.com/TalAter\n\t\n\t;(function (global, factory) {\n\t true ? factory(__webpack_require__(1)) :\n\t typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n\t factory(global.moment)\n\t}(this, (function (moment) { 'use strict';\n\t\n\t\n\tvar he = moment.defineLocale('he', {\n\t months : 'ינואר_פברואר_מרץ_אפריל_מאי_יוני_יולי_אוגוסט_ספטמבר_אוקטובר_נובמבר_דצמבר'.split('_'),\n\t monthsShort : 'ינו׳_פבר׳_מרץ_אפר׳_מאי_יוני_יולי_אוג׳_ספט׳_אוק׳_נוב׳_דצמ׳'.split('_'),\n\t weekdays : 'ראשון_שני_שלישי_רביעי_חמישי_שישי_שבת'.split('_'),\n\t weekdaysShort : 'א׳_ב׳_ג׳_ד׳_ה׳_ו׳_ש׳'.split('_'),\n\t weekdaysMin : 'א_ב_ג_ד_ה_ו_ש'.split('_'),\n\t longDateFormat : {\n\t LT : 'HH:mm',\n\t LTS : 'HH:mm:ss',\n\t L : 'DD/MM/YYYY',\n\t LL : 'D [ב]MMMM YYYY',\n\t LLL : 'D [ב]MMMM YYYY HH:mm',\n\t LLLL : 'dddd, D [ב]MMMM YYYY HH:mm',\n\t l : 'D/M/YYYY',\n\t ll : 'D MMM YYYY',\n\t lll : 'D MMM YYYY HH:mm',\n\t llll : 'ddd, D MMM YYYY HH:mm'\n\t },\n\t calendar : {\n\t sameDay : '[היום ב־]LT',\n\t nextDay : '[מחר ב־]LT',\n\t nextWeek : 'dddd [בשעה] LT',\n\t lastDay : '[אתמול ב־]LT',\n\t lastWeek : '[ביום] dddd [האחרון בשעה] LT',\n\t sameElse : 'L'\n\t },\n\t relativeTime : {\n\t future : 'בעוד %s',\n\t past : 'לפני %s',\n\t s : 'מספר שניות',\n\t m : 'דקה',\n\t mm : '%d דקות',\n\t h : 'שעה',\n\t hh : function (number) {\n\t if (number === 2) {\n\t return 'שעתיים';\n\t }\n\t return number + ' שעות';\n\t },\n\t d : 'יום',\n\t dd : function (number) {\n\t if (number === 2) {\n\t return 'יומיים';\n\t }\n\t return number + ' ימים';\n\t },\n\t M : 'חודש',\n\t MM : function (number) {\n\t if (number === 2) {\n\t return 'חודשיים';\n\t }\n\t return number + ' חודשים';\n\t },\n\t y : 'שנה',\n\t yy : function (number) {\n\t if (number === 2) {\n\t return 'שנתיים';\n\t } else if (number % 10 === 0 && number !== 10) {\n\t return number + ' שנה';\n\t }\n\t return number + ' שנים';\n\t }\n\t },\n\t meridiemParse: /אחה\"צ|לפנה\"צ|אחרי הצהריים|לפני הצהריים|לפנות בוקר|בבוקר|בערב/i,\n\t isPM : function (input) {\n\t return /^(אחה\"צ|אחרי הצהריים|בערב)$/.test(input);\n\t },\n\t meridiem : function (hour, minute, isLower) {\n\t if (hour < 5) {\n\t return 'לפנות בוקר';\n\t } else if (hour < 10) {\n\t return 'בבוקר';\n\t } else if (hour < 12) {\n\t return isLower ? 'לפנה\"צ' : 'לפני הצהריים';\n\t } else if (hour < 18) {\n\t return isLower ? 'אחה\"צ' : 'אחרי הצהריים';\n\t } else {\n\t return 'בערב';\n\t }\n\t }\n\t});\n\t\n\treturn he;\n\t\n\t})));\n\n\n/***/ },\n/* 241 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t//! moment.js locale configuration\n\t//! locale : Hindi [hi]\n\t//! author : Mayank Singhal : https://github.com/mayanksinghal\n\t\n\t;(function (global, factory) {\n\t true ? factory(__webpack_require__(1)) :\n\t typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n\t factory(global.moment)\n\t}(this, (function (moment) { 'use strict';\n\t\n\t\n\tvar symbolMap = {\n\t '1': '१',\n\t '2': '२',\n\t '3': '३',\n\t '4': '४',\n\t '5': '५',\n\t '6': '६',\n\t '7': '७',\n\t '8': '८',\n\t '9': '९',\n\t '0': '०'\n\t};\n\tvar numberMap = {\n\t '१': '1',\n\t '२': '2',\n\t '३': '3',\n\t '४': '4',\n\t '५': '5',\n\t '६': '6',\n\t '७': '7',\n\t '८': '8',\n\t '९': '9',\n\t '०': '0'\n\t};\n\t\n\tvar hi = moment.defineLocale('hi', {\n\t months : 'जनवरी_फ़रवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितम्बर_अक्टूबर_नवम्बर_दिसम्बर'.split('_'),\n\t monthsShort : 'जन._फ़र._मार्च_अप्रै._मई_जून_जुल._अग._सित._अक्टू._नव._दिस.'.split('_'),\n\t monthsParseExact: true,\n\t weekdays : 'रविवार_सोमवार_मंगलवार_बुधवार_गुरूवार_शुक्रवार_शनिवार'.split('_'),\n\t weekdaysShort : 'रवि_सोम_मंगल_बुध_गुरू_शुक्र_शनि'.split('_'),\n\t weekdaysMin : 'र_सो_मं_बु_गु_शु_श'.split('_'),\n\t longDateFormat : {\n\t LT : 'A h:mm बजे',\n\t LTS : 'A h:mm:ss बजे',\n\t L : 'DD/MM/YYYY',\n\t LL : 'D MMMM YYYY',\n\t LLL : 'D MMMM YYYY, A h:mm बजे',\n\t LLLL : 'dddd, D MMMM YYYY, A h:mm बजे'\n\t },\n\t calendar : {\n\t sameDay : '[आज] LT',\n\t nextDay : '[कल] LT',\n\t nextWeek : 'dddd, LT',\n\t lastDay : '[कल] LT',\n\t lastWeek : '[पिछले] dddd, LT',\n\t sameElse : 'L'\n\t },\n\t relativeTime : {\n\t future : '%s में',\n\t past : '%s पहले',\n\t s : 'कुछ ही क्षण',\n\t m : 'एक मिनट',\n\t mm : '%d मिनट',\n\t h : 'एक घंटा',\n\t hh : '%d घंटे',\n\t d : 'एक दिन',\n\t dd : '%d दिन',\n\t M : 'एक महीने',\n\t MM : '%d महीने',\n\t y : 'एक वर्ष',\n\t yy : '%d वर्ष'\n\t },\n\t preparse: function (string) {\n\t return string.replace(/[१२३४५६७८९०]/g, function (match) {\n\t return numberMap[match];\n\t });\n\t },\n\t postformat: function (string) {\n\t return string.replace(/\\d/g, function (match) {\n\t return symbolMap[match];\n\t });\n\t },\n\t // Hindi notation for meridiems are quite fuzzy in practice. While there exists\n\t // a rigid notion of a 'Pahar' it is not used as rigidly in modern Hindi.\n\t meridiemParse: /रात|सुबह|दोपहर|शाम/,\n\t meridiemHour : function (hour, meridiem) {\n\t if (hour === 12) {\n\t hour = 0;\n\t }\n\t if (meridiem === 'रात') {\n\t return hour < 4 ? hour : hour + 12;\n\t } else if (meridiem === 'सुबह') {\n\t return hour;\n\t } else if (meridiem === 'दोपहर') {\n\t return hour >= 10 ? hour : hour + 12;\n\t } else if (meridiem === 'शाम') {\n\t return hour + 12;\n\t }\n\t },\n\t meridiem : function (hour, minute, isLower) {\n\t if (hour < 4) {\n\t return 'रात';\n\t } else if (hour < 10) {\n\t return 'सुबह';\n\t } else if (hour < 17) {\n\t return 'दोपहर';\n\t } else if (hour < 20) {\n\t return 'शाम';\n\t } else {\n\t return 'रात';\n\t }\n\t },\n\t week : {\n\t dow : 0, // Sunday is the first day of the week.\n\t doy : 6 // The week that contains Jan 1st is the first week of the year.\n\t }\n\t});\n\t\n\treturn hi;\n\t\n\t})));\n\n\n/***/ },\n/* 242 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t//! moment.js locale configuration\n\t//! locale : Croatian [hr]\n\t//! author : Bojan Marković : https://github.com/bmarkovic\n\t\n\t;(function (global, factory) {\n\t true ? factory(__webpack_require__(1)) :\n\t typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n\t factory(global.moment)\n\t}(this, (function (moment) { 'use strict';\n\t\n\t\n\tfunction translate(number, withoutSuffix, key) {\n\t var result = number + ' ';\n\t switch (key) {\n\t case 'm':\n\t return withoutSuffix ? 'jedna minuta' : 'jedne minute';\n\t case 'mm':\n\t if (number === 1) {\n\t result += 'minuta';\n\t } else if (number === 2 || number === 3 || number === 4) {\n\t result += 'minute';\n\t } else {\n\t result += 'minuta';\n\t }\n\t return result;\n\t case 'h':\n\t return withoutSuffix ? 'jedan sat' : 'jednog sata';\n\t case 'hh':\n\t if (number === 1) {\n\t result += 'sat';\n\t } else if (number === 2 || number === 3 || number === 4) {\n\t result += 'sata';\n\t } else {\n\t result += 'sati';\n\t }\n\t return result;\n\t case 'dd':\n\t if (number === 1) {\n\t result += 'dan';\n\t } else {\n\t result += 'dana';\n\t }\n\t return result;\n\t case 'MM':\n\t if (number === 1) {\n\t result += 'mjesec';\n\t } else if (number === 2 || number === 3 || number === 4) {\n\t result += 'mjeseca';\n\t } else {\n\t result += 'mjeseci';\n\t }\n\t return result;\n\t case 'yy':\n\t if (number === 1) {\n\t result += 'godina';\n\t } else if (number === 2 || number === 3 || number === 4) {\n\t result += 'godine';\n\t } else {\n\t result += 'godina';\n\t }\n\t return result;\n\t }\n\t}\n\t\n\tvar hr = moment.defineLocale('hr', {\n\t months : {\n\t format: 'siječnja_veljače_ožujka_travnja_svibnja_lipnja_srpnja_kolovoza_rujna_listopada_studenoga_prosinca'.split('_'),\n\t standalone: 'siječanj_veljača_ožujak_travanj_svibanj_lipanj_srpanj_kolovoz_rujan_listopad_studeni_prosinac'.split('_')\n\t },\n\t monthsShort : 'sij._velj._ožu._tra._svi._lip._srp._kol._ruj._lis._stu._pro.'.split('_'),\n\t monthsParseExact: true,\n\t weekdays : 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split('_'),\n\t weekdaysShort : 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),\n\t weekdaysMin : 'ne_po_ut_sr_če_pe_su'.split('_'),\n\t weekdaysParseExact : true,\n\t longDateFormat : {\n\t LT : 'H:mm',\n\t LTS : 'H:mm:ss',\n\t L : 'DD.MM.YYYY',\n\t LL : 'D. MMMM YYYY',\n\t LLL : 'D. MMMM YYYY H:mm',\n\t LLLL : 'dddd, D. MMMM YYYY H:mm'\n\t },\n\t calendar : {\n\t sameDay : '[danas u] LT',\n\t nextDay : '[sutra u] LT',\n\t nextWeek : function () {\n\t switch (this.day()) {\n\t case 0:\n\t return '[u] [nedjelju] [u] LT';\n\t case 3:\n\t return '[u] [srijedu] [u] LT';\n\t case 6:\n\t return '[u] [subotu] [u] LT';\n\t case 1:\n\t case 2:\n\t case 4:\n\t case 5:\n\t return '[u] dddd [u] LT';\n\t }\n\t },\n\t lastDay : '[jučer u] LT',\n\t lastWeek : function () {\n\t switch (this.day()) {\n\t case 0:\n\t case 3:\n\t return '[prošlu] dddd [u] LT';\n\t case 6:\n\t return '[prošle] [subote] [u] LT';\n\t case 1:\n\t case 2:\n\t case 4:\n\t case 5:\n\t return '[prošli] dddd [u] LT';\n\t }\n\t },\n\t sameElse : 'L'\n\t },\n\t relativeTime : {\n\t future : 'za %s',\n\t past : 'prije %s',\n\t s : 'par sekundi',\n\t m : translate,\n\t mm : translate,\n\t h : translate,\n\t hh : translate,\n\t d : 'dan',\n\t dd : translate,\n\t M : 'mjesec',\n\t MM : translate,\n\t y : 'godinu',\n\t yy : translate\n\t },\n\t ordinalParse: /\\d{1,2}\\./,\n\t ordinal : '%d.',\n\t week : {\n\t dow : 1, // Monday is the first day of the week.\n\t doy : 7 // The week that contains Jan 1st is the first week of the year.\n\t }\n\t});\n\t\n\treturn hr;\n\t\n\t})));\n\n\n/***/ },\n/* 243 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t//! moment.js locale configuration\n\t//! locale : Hungarian [hu]\n\t//! author : Adam Brunner : https://github.com/adambrunner\n\t\n\t;(function (global, factory) {\n\t true ? factory(__webpack_require__(1)) :\n\t typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n\t factory(global.moment)\n\t}(this, (function (moment) { 'use strict';\n\t\n\t\n\tvar weekEndings = 'vasárnap hétfőn kedden szerdán csütörtökön pénteken szombaton'.split(' ');\n\tfunction translate(number, withoutSuffix, key, isFuture) {\n\t var num = number,\n\t suffix;\n\t switch (key) {\n\t case 's':\n\t return (isFuture || withoutSuffix) ? 'néhány másodperc' : 'néhány másodperce';\n\t case 'm':\n\t return 'egy' + (isFuture || withoutSuffix ? ' perc' : ' perce');\n\t case 'mm':\n\t return num + (isFuture || withoutSuffix ? ' perc' : ' perce');\n\t case 'h':\n\t return 'egy' + (isFuture || withoutSuffix ? ' óra' : ' órája');\n\t case 'hh':\n\t return num + (isFuture || withoutSuffix ? ' óra' : ' órája');\n\t case 'd':\n\t return 'egy' + (isFuture || withoutSuffix ? ' nap' : ' napja');\n\t case 'dd':\n\t return num + (isFuture || withoutSuffix ? ' nap' : ' napja');\n\t case 'M':\n\t return 'egy' + (isFuture || withoutSuffix ? ' hónap' : ' hónapja');\n\t case 'MM':\n\t return num + (isFuture || withoutSuffix ? ' hónap' : ' hónapja');\n\t case 'y':\n\t return 'egy' + (isFuture || withoutSuffix ? ' év' : ' éve');\n\t case 'yy':\n\t return num + (isFuture || withoutSuffix ? ' év' : ' éve');\n\t }\n\t return '';\n\t}\n\tfunction week(isFuture) {\n\t return (isFuture ? '' : '[múlt] ') + '[' + weekEndings[this.day()] + '] LT[-kor]';\n\t}\n\t\n\tvar hu = moment.defineLocale('hu', {\n\t months : 'január_február_március_április_május_június_július_augusztus_szeptember_október_november_december'.split('_'),\n\t monthsShort : 'jan_feb_márc_ápr_máj_jún_júl_aug_szept_okt_nov_dec'.split('_'),\n\t weekdays : 'vasárnap_hétfő_kedd_szerda_csütörtök_péntek_szombat'.split('_'),\n\t weekdaysShort : 'vas_hét_kedd_sze_csüt_pén_szo'.split('_'),\n\t weekdaysMin : 'v_h_k_sze_cs_p_szo'.split('_'),\n\t longDateFormat : {\n\t LT : 'H:mm',\n\t LTS : 'H:mm:ss',\n\t L : 'YYYY.MM.DD.',\n\t LL : 'YYYY. MMMM D.',\n\t LLL : 'YYYY. MMMM D. H:mm',\n\t LLLL : 'YYYY. MMMM D., dddd H:mm'\n\t },\n\t meridiemParse: /de|du/i,\n\t isPM: function (input) {\n\t return input.charAt(1).toLowerCase() === 'u';\n\t },\n\t meridiem : function (hours, minutes, isLower) {\n\t if (hours < 12) {\n\t return isLower === true ? 'de' : 'DE';\n\t } else {\n\t return isLower === true ? 'du' : 'DU';\n\t }\n\t },\n\t calendar : {\n\t sameDay : '[ma] LT[-kor]',\n\t nextDay : '[holnap] LT[-kor]',\n\t nextWeek : function () {\n\t return week.call(this, true);\n\t },\n\t lastDay : '[tegnap] LT[-kor]',\n\t lastWeek : function () {\n\t return week.call(this, false);\n\t },\n\t sameElse : 'L'\n\t },\n\t relativeTime : {\n\t future : '%s múlva',\n\t past : '%s',\n\t s : translate,\n\t m : translate,\n\t mm : translate,\n\t h : translate,\n\t hh : translate,\n\t d : translate,\n\t dd : translate,\n\t M : translate,\n\t MM : translate,\n\t y : translate,\n\t yy : translate\n\t },\n\t ordinalParse: /\\d{1,2}\\./,\n\t ordinal : '%d.',\n\t week : {\n\t dow : 1, // Monday is the first day of the week.\n\t doy : 4 // The week that contains Jan 4th is the first week of the year.\n\t }\n\t});\n\t\n\treturn hu;\n\t\n\t})));\n\n\n/***/ },\n/* 244 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t//! moment.js locale configuration\n\t//! locale : Armenian [hy-am]\n\t//! author : Armendarabyan : https://github.com/armendarabyan\n\t\n\t;(function (global, factory) {\n\t true ? factory(__webpack_require__(1)) :\n\t typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n\t factory(global.moment)\n\t}(this, (function (moment) { 'use strict';\n\t\n\t\n\tvar hyAm = moment.defineLocale('hy-am', {\n\t months : {\n\t format: 'հունվարի_փետրվարի_մարտի_ապրիլի_մայիսի_հունիսի_հուլիսի_օգոստոսի_սեպտեմբերի_հոկտեմբերի_նոյեմբերի_դեկտեմբերի'.split('_'),\n\t standalone: 'հունվար_փետրվար_մարտ_ապրիլ_մայիս_հունիս_հուլիս_օգոստոս_սեպտեմբեր_հոկտեմբեր_նոյեմբեր_դեկտեմբեր'.split('_')\n\t },\n\t monthsShort : 'հնվ_փտր_մրտ_ապր_մյս_հնս_հլս_օգս_սպտ_հկտ_նմբ_դկտ'.split('_'),\n\t weekdays : 'կիրակի_երկուշաբթի_երեքշաբթի_չորեքշաբթի_հինգշաբթի_ուրբաթ_շաբաթ'.split('_'),\n\t weekdaysShort : 'կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ'.split('_'),\n\t weekdaysMin : 'կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ'.split('_'),\n\t longDateFormat : {\n\t LT : 'HH:mm',\n\t LTS : 'HH:mm:ss',\n\t L : 'DD.MM.YYYY',\n\t LL : 'D MMMM YYYY թ.',\n\t LLL : 'D MMMM YYYY թ., HH:mm',\n\t LLLL : 'dddd, D MMMM YYYY թ., HH:mm'\n\t },\n\t calendar : {\n\t sameDay: '[այսօր] LT',\n\t nextDay: '[վաղը] LT',\n\t lastDay: '[երեկ] LT',\n\t nextWeek: function () {\n\t return 'dddd [օրը ժամը] LT';\n\t },\n\t lastWeek: function () {\n\t return '[անցած] dddd [օրը ժամը] LT';\n\t },\n\t sameElse: 'L'\n\t },\n\t relativeTime : {\n\t future : '%s հետո',\n\t past : '%s առաջ',\n\t s : 'մի քանի վայրկյան',\n\t m : 'րոպե',\n\t mm : '%d րոպե',\n\t h : 'ժամ',\n\t hh : '%d ժամ',\n\t d : 'օր',\n\t dd : '%d օր',\n\t M : 'ամիս',\n\t MM : '%d ամիս',\n\t y : 'տարի',\n\t yy : '%d տարի'\n\t },\n\t meridiemParse: /գիշերվա|առավոտվա|ցերեկվա|երեկոյան/,\n\t isPM: function (input) {\n\t return /^(ցերեկվա|երեկոյան)$/.test(input);\n\t },\n\t meridiem : function (hour) {\n\t if (hour < 4) {\n\t return 'գիշերվա';\n\t } else if (hour < 12) {\n\t return 'առավոտվա';\n\t } else if (hour < 17) {\n\t return 'ցերեկվա';\n\t } else {\n\t return 'երեկոյան';\n\t }\n\t },\n\t ordinalParse: /\\d{1,2}|\\d{1,2}-(ին|րդ)/,\n\t ordinal: function (number, period) {\n\t switch (period) {\n\t case 'DDD':\n\t case 'w':\n\t case 'W':\n\t case 'DDDo':\n\t if (number === 1) {\n\t return number + '-ին';\n\t }\n\t return number + '-րդ';\n\t default:\n\t return number;\n\t }\n\t },\n\t week : {\n\t dow : 1, // Monday is the first day of the week.\n\t doy : 7 // The week that contains Jan 1st is the first week of the year.\n\t }\n\t});\n\t\n\treturn hyAm;\n\t\n\t})));\n\n\n/***/ },\n/* 245 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t//! moment.js locale configuration\n\t//! locale : Indonesian [id]\n\t//! author : Mohammad Satrio Utomo : https://github.com/tyok\n\t//! reference: http://id.wikisource.org/wiki/Pedoman_Umum_Ejaan_Bahasa_Indonesia_yang_Disempurnakan\n\t\n\t;(function (global, factory) {\n\t true ? factory(__webpack_require__(1)) :\n\t typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n\t factory(global.moment)\n\t}(this, (function (moment) { 'use strict';\n\t\n\t\n\tvar id = moment.defineLocale('id', {\n\t months : 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember'.split('_'),\n\t monthsShort : 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nov_Des'.split('_'),\n\t weekdays : 'Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu'.split('_'),\n\t weekdaysShort : 'Min_Sen_Sel_Rab_Kam_Jum_Sab'.split('_'),\n\t weekdaysMin : 'Mg_Sn_Sl_Rb_Km_Jm_Sb'.split('_'),\n\t longDateFormat : {\n\t LT : 'HH.mm',\n\t LTS : 'HH.mm.ss',\n\t L : 'DD/MM/YYYY',\n\t LL : 'D MMMM YYYY',\n\t LLL : 'D MMMM YYYY [pukul] HH.mm',\n\t LLLL : 'dddd, D MMMM YYYY [pukul] HH.mm'\n\t },\n\t meridiemParse: /pagi|siang|sore|malam/,\n\t meridiemHour : function (hour, meridiem) {\n\t if (hour === 12) {\n\t hour = 0;\n\t }\n\t if (meridiem === 'pagi') {\n\t return hour;\n\t } else if (meridiem === 'siang') {\n\t return hour >= 11 ? hour : hour + 12;\n\t } else if (meridiem === 'sore' || meridiem === 'malam') {\n\t return hour + 12;\n\t }\n\t },\n\t meridiem : function (hours, minutes, isLower) {\n\t if (hours < 11) {\n\t return 'pagi';\n\t } else if (hours < 15) {\n\t return 'siang';\n\t } else if (hours < 19) {\n\t return 'sore';\n\t } else {\n\t return 'malam';\n\t }\n\t },\n\t calendar : {\n\t sameDay : '[Hari ini pukul] LT',\n\t nextDay : '[Besok pukul] LT',\n\t nextWeek : 'dddd [pukul] LT',\n\t lastDay : '[Kemarin pukul] LT',\n\t lastWeek : 'dddd [lalu pukul] LT',\n\t sameElse : 'L'\n\t },\n\t relativeTime : {\n\t future : 'dalam %s',\n\t past : '%s yang lalu',\n\t s : 'beberapa detik',\n\t m : 'semenit',\n\t mm : '%d menit',\n\t h : 'sejam',\n\t hh : '%d jam',\n\t d : 'sehari',\n\t dd : '%d hari',\n\t M : 'sebulan',\n\t MM : '%d bulan',\n\t y : 'setahun',\n\t yy : '%d tahun'\n\t },\n\t week : {\n\t dow : 1, // Monday is the first day of the week.\n\t doy : 7 // The week that contains Jan 1st is the first week of the year.\n\t }\n\t});\n\t\n\treturn id;\n\t\n\t})));\n\n\n/***/ },\n/* 246 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t//! moment.js locale configuration\n\t//! locale : Icelandic [is]\n\t//! author : Hinrik Örn Sigurðsson : https://github.com/hinrik\n\t\n\t;(function (global, factory) {\n\t true ? factory(__webpack_require__(1)) :\n\t typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n\t factory(global.moment)\n\t}(this, (function (moment) { 'use strict';\n\t\n\t\n\tfunction plural(n) {\n\t if (n % 100 === 11) {\n\t return true;\n\t } else if (n % 10 === 1) {\n\t return false;\n\t }\n\t return true;\n\t}\n\tfunction translate(number, withoutSuffix, key, isFuture) {\n\t var result = number + ' ';\n\t switch (key) {\n\t case 's':\n\t return withoutSuffix || isFuture ? 'nokkrar sekúndur' : 'nokkrum sekúndum';\n\t case 'm':\n\t return withoutSuffix ? 'mínúta' : 'mínútu';\n\t case 'mm':\n\t if (plural(number)) {\n\t return result + (withoutSuffix || isFuture ? 'mínútur' : 'mínútum');\n\t } else if (withoutSuffix) {\n\t return result + 'mínúta';\n\t }\n\t return result + 'mínútu';\n\t case 'hh':\n\t if (plural(number)) {\n\t return result + (withoutSuffix || isFuture ? 'klukkustundir' : 'klukkustundum');\n\t }\n\t return result + 'klukkustund';\n\t case 'd':\n\t if (withoutSuffix) {\n\t return 'dagur';\n\t }\n\t return isFuture ? 'dag' : 'degi';\n\t case 'dd':\n\t if (plural(number)) {\n\t if (withoutSuffix) {\n\t return result + 'dagar';\n\t }\n\t return result + (isFuture ? 'daga' : 'dögum');\n\t } else if (withoutSuffix) {\n\t return result + 'dagur';\n\t }\n\t return result + (isFuture ? 'dag' : 'degi');\n\t case 'M':\n\t if (withoutSuffix) {\n\t return 'mánuður';\n\t }\n\t return isFuture ? 'mánuð' : 'mánuði';\n\t case 'MM':\n\t if (plural(number)) {\n\t if (withoutSuffix) {\n\t return result + 'mánuðir';\n\t }\n\t return result + (isFuture ? 'mánuði' : 'mánuðum');\n\t } else if (withoutSuffix) {\n\t return result + 'mánuður';\n\t }\n\t return result + (isFuture ? 'mánuð' : 'mánuði');\n\t case 'y':\n\t return withoutSuffix || isFuture ? 'ár' : 'ári';\n\t case 'yy':\n\t if (plural(number)) {\n\t return result + (withoutSuffix || isFuture ? 'ár' : 'árum');\n\t }\n\t return result + (withoutSuffix || isFuture ? 'ár' : 'ári');\n\t }\n\t}\n\t\n\tvar is = moment.defineLocale('is', {\n\t months : 'janúar_febrúar_mars_apríl_maí_júní_júlí_ágúst_september_október_nóvember_desember'.split('_'),\n\t monthsShort : 'jan_feb_mar_apr_maí_jún_júl_ágú_sep_okt_nóv_des'.split('_'),\n\t weekdays : 'sunnudagur_mánudagur_þriðjudagur_miðvikudagur_fimmtudagur_föstudagur_laugardagur'.split('_'),\n\t weekdaysShort : 'sun_mán_þri_mið_fim_fös_lau'.split('_'),\n\t weekdaysMin : 'Su_Má_Þr_Mi_Fi_Fö_La'.split('_'),\n\t longDateFormat : {\n\t LT : 'H:mm',\n\t LTS : 'H:mm:ss',\n\t L : 'DD.MM.YYYY',\n\t LL : 'D. MMMM YYYY',\n\t LLL : 'D. MMMM YYYY [kl.] H:mm',\n\t LLLL : 'dddd, D. MMMM YYYY [kl.] H:mm'\n\t },\n\t calendar : {\n\t sameDay : '[í dag kl.] LT',\n\t nextDay : '[á morgun kl.] LT',\n\t nextWeek : 'dddd [kl.] LT',\n\t lastDay : '[í gær kl.] LT',\n\t lastWeek : '[síðasta] dddd [kl.] LT',\n\t sameElse : 'L'\n\t },\n\t relativeTime : {\n\t future : 'eftir %s',\n\t past : 'fyrir %s síðan',\n\t s : translate,\n\t m : translate,\n\t mm : translate,\n\t h : 'klukkustund',\n\t hh : translate,\n\t d : translate,\n\t dd : translate,\n\t M : translate,\n\t MM : translate,\n\t y : translate,\n\t yy : translate\n\t },\n\t ordinalParse: /\\d{1,2}\\./,\n\t ordinal : '%d.',\n\t week : {\n\t dow : 1, // Monday is the first day of the week.\n\t doy : 4 // The week that contains Jan 4th is the first week of the year.\n\t }\n\t});\n\t\n\treturn is;\n\t\n\t})));\n\n\n/***/ },\n/* 247 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t//! moment.js locale configuration\n\t//! locale : Italian [it]\n\t//! author : Lorenzo : https://github.com/aliem\n\t//! author: Mattia Larentis: https://github.com/nostalgiaz\n\t\n\t;(function (global, factory) {\n\t true ? factory(__webpack_require__(1)) :\n\t typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n\t factory(global.moment)\n\t}(this, (function (moment) { 'use strict';\n\t\n\t\n\tvar it = moment.defineLocale('it', {\n\t months : 'gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre'.split('_'),\n\t monthsShort : 'gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic'.split('_'),\n\t weekdays : 'Domenica_Lunedì_Martedì_Mercoledì_Giovedì_Venerdì_Sabato'.split('_'),\n\t weekdaysShort : 'Dom_Lun_Mar_Mer_Gio_Ven_Sab'.split('_'),\n\t weekdaysMin : 'Do_Lu_Ma_Me_Gi_Ve_Sa'.split('_'),\n\t longDateFormat : {\n\t LT : 'HH:mm',\n\t LTS : 'HH:mm:ss',\n\t L : 'DD/MM/YYYY',\n\t LL : 'D MMMM YYYY',\n\t LLL : 'D MMMM YYYY HH:mm',\n\t LLLL : 'dddd, D MMMM YYYY HH:mm'\n\t },\n\t calendar : {\n\t sameDay: '[Oggi alle] LT',\n\t nextDay: '[Domani alle] LT',\n\t nextWeek: 'dddd [alle] LT',\n\t lastDay: '[Ieri alle] LT',\n\t lastWeek: function () {\n\t switch (this.day()) {\n\t case 0:\n\t return '[la scorsa] dddd [alle] LT';\n\t default:\n\t return '[lo scorso] dddd [alle] LT';\n\t }\n\t },\n\t sameElse: 'L'\n\t },\n\t relativeTime : {\n\t future : function (s) {\n\t return ((/^[0-9].+$/).test(s) ? 'tra' : 'in') + ' ' + s;\n\t },\n\t past : '%s fa',\n\t s : 'alcuni secondi',\n\t m : 'un minuto',\n\t mm : '%d minuti',\n\t h : 'un\\'ora',\n\t hh : '%d ore',\n\t d : 'un giorno',\n\t dd : '%d giorni',\n\t M : 'un mese',\n\t MM : '%d mesi',\n\t y : 'un anno',\n\t yy : '%d anni'\n\t },\n\t ordinalParse : /\\d{1,2}º/,\n\t ordinal: '%dº',\n\t week : {\n\t dow : 1, // Monday is the first day of the week.\n\t doy : 4 // The week that contains Jan 4th is the first week of the year.\n\t }\n\t});\n\t\n\treturn it;\n\t\n\t})));\n\n\n/***/ },\n/* 248 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t//! moment.js locale configuration\n\t//! locale : Japanese [ja]\n\t//! author : LI Long : https://github.com/baryon\n\t\n\t;(function (global, factory) {\n\t true ? factory(__webpack_require__(1)) :\n\t typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n\t factory(global.moment)\n\t}(this, (function (moment) { 'use strict';\n\t\n\t\n\tvar ja = moment.defineLocale('ja', {\n\t months : '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),\n\t monthsShort : '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),\n\t weekdays : '日曜日_月曜日_火曜日_水曜日_木曜日_金曜日_土曜日'.split('_'),\n\t weekdaysShort : '日_月_火_水_木_金_土'.split('_'),\n\t weekdaysMin : '日_月_火_水_木_金_土'.split('_'),\n\t longDateFormat : {\n\t LT : 'Ah時m分',\n\t LTS : 'Ah時m分s秒',\n\t L : 'YYYY/MM/DD',\n\t LL : 'YYYY年M月D日',\n\t LLL : 'YYYY年M月D日Ah時m分',\n\t LLLL : 'YYYY年M月D日Ah時m分 dddd'\n\t },\n\t meridiemParse: /午前|午後/i,\n\t isPM : function (input) {\n\t return input === '午後';\n\t },\n\t meridiem : function (hour, minute, isLower) {\n\t if (hour < 12) {\n\t return '午前';\n\t } else {\n\t return '午後';\n\t }\n\t },\n\t calendar : {\n\t sameDay : '[今日] LT',\n\t nextDay : '[明日] LT',\n\t nextWeek : '[来週]dddd LT',\n\t lastDay : '[昨日] LT',\n\t lastWeek : '[前週]dddd LT',\n\t sameElse : 'L'\n\t },\n\t ordinalParse : /\\d{1,2}日/,\n\t ordinal : function (number, period) {\n\t switch (period) {\n\t case 'd':\n\t case 'D':\n\t case 'DDD':\n\t return number + '日';\n\t default:\n\t return number;\n\t }\n\t },\n\t relativeTime : {\n\t future : '%s後',\n\t past : '%s前',\n\t s : '数秒',\n\t m : '1分',\n\t mm : '%d分',\n\t h : '1時間',\n\t hh : '%d時間',\n\t d : '1日',\n\t dd : '%d日',\n\t M : '1ヶ月',\n\t MM : '%dヶ月',\n\t y : '1年',\n\t yy : '%d年'\n\t }\n\t});\n\t\n\treturn ja;\n\t\n\t})));\n\n\n/***/ },\n/* 249 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t//! moment.js locale configuration\n\t//! locale : Javanese [jv]\n\t//! author : Rony Lantip : https://github.com/lantip\n\t//! reference: http://jv.wikipedia.org/wiki/Basa_Jawa\n\t\n\t;(function (global, factory) {\n\t true ? factory(__webpack_require__(1)) :\n\t typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n\t factory(global.moment)\n\t}(this, (function (moment) { 'use strict';\n\t\n\t\n\tvar jv = moment.defineLocale('jv', {\n\t months : 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_Nopember_Desember'.split('_'),\n\t monthsShort : 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nop_Des'.split('_'),\n\t weekdays : 'Minggu_Senen_Seloso_Rebu_Kemis_Jemuwah_Septu'.split('_'),\n\t weekdaysShort : 'Min_Sen_Sel_Reb_Kem_Jem_Sep'.split('_'),\n\t weekdaysMin : 'Mg_Sn_Sl_Rb_Km_Jm_Sp'.split('_'),\n\t longDateFormat : {\n\t LT : 'HH.mm',\n\t LTS : 'HH.mm.ss',\n\t L : 'DD/MM/YYYY',\n\t LL : 'D MMMM YYYY',\n\t LLL : 'D MMMM YYYY [pukul] HH.mm',\n\t LLLL : 'dddd, D MMMM YYYY [pukul] HH.mm'\n\t },\n\t meridiemParse: /enjing|siyang|sonten|ndalu/,\n\t meridiemHour : function (hour, meridiem) {\n\t if (hour === 12) {\n\t hour = 0;\n\t }\n\t if (meridiem === 'enjing') {\n\t return hour;\n\t } else if (meridiem === 'siyang') {\n\t return hour >= 11 ? hour : hour + 12;\n\t } else if (meridiem === 'sonten' || meridiem === 'ndalu') {\n\t return hour + 12;\n\t }\n\t },\n\t meridiem : function (hours, minutes, isLower) {\n\t if (hours < 11) {\n\t return 'enjing';\n\t } else if (hours < 15) {\n\t return 'siyang';\n\t } else if (hours < 19) {\n\t return 'sonten';\n\t } else {\n\t return 'ndalu';\n\t }\n\t },\n\t calendar : {\n\t sameDay : '[Dinten puniko pukul] LT',\n\t nextDay : '[Mbenjang pukul] LT',\n\t nextWeek : 'dddd [pukul] LT',\n\t lastDay : '[Kala wingi pukul] LT',\n\t lastWeek : 'dddd [kepengker pukul] LT',\n\t sameElse : 'L'\n\t },\n\t relativeTime : {\n\t future : 'wonten ing %s',\n\t past : '%s ingkang kepengker',\n\t s : 'sawetawis detik',\n\t m : 'setunggal menit',\n\t mm : '%d menit',\n\t h : 'setunggal jam',\n\t hh : '%d jam',\n\t d : 'sedinten',\n\t dd : '%d dinten',\n\t M : 'sewulan',\n\t MM : '%d wulan',\n\t y : 'setaun',\n\t yy : '%d taun'\n\t },\n\t week : {\n\t dow : 1, // Monday is the first day of the week.\n\t doy : 7 // The week that contains Jan 1st is the first week of the year.\n\t }\n\t});\n\t\n\treturn jv;\n\t\n\t})));\n\n\n/***/ },\n/* 250 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t//! moment.js locale configuration\n\t//! locale : Georgian [ka]\n\t//! author : Irakli Janiashvili : https://github.com/irakli-janiashvili\n\t\n\t;(function (global, factory) {\n\t true ? factory(__webpack_require__(1)) :\n\t typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n\t factory(global.moment)\n\t}(this, (function (moment) { 'use strict';\n\t\n\t\n\tvar ka = moment.defineLocale('ka', {\n\t months : {\n\t standalone: 'იანვარი_თებერვალი_მარტი_აპრილი_მაისი_ივნისი_ივლისი_აგვისტო_სექტემბერი_ოქტომბერი_ნოემბერი_დეკემბერი'.split('_'),\n\t format: 'იანვარს_თებერვალს_მარტს_აპრილის_მაისს_ივნისს_ივლისს_აგვისტს_სექტემბერს_ოქტომბერს_ნოემბერს_დეკემბერს'.split('_')\n\t },\n\t monthsShort : 'იან_თებ_მარ_აპრ_მაი_ივნ_ივლ_აგვ_სექ_ოქტ_ნოე_დეკ'.split('_'),\n\t weekdays : {\n\t standalone: 'კვირა_ორშაბათი_სამშაბათი_ოთხშაბათი_ხუთშაბათი_პარასკევი_შაბათი'.split('_'),\n\t format: 'კვირას_ორშაბათს_სამშაბათს_ოთხშაბათს_ხუთშაბათს_პარასკევს_შაბათს'.split('_'),\n\t isFormat: /(წინა|შემდეგ)/\n\t },\n\t weekdaysShort : 'კვი_ორშ_სამ_ოთხ_ხუთ_პარ_შაბ'.split('_'),\n\t weekdaysMin : 'კვ_ორ_სა_ოთ_ხუ_პა_შა'.split('_'),\n\t longDateFormat : {\n\t LT : 'h:mm A',\n\t LTS : 'h:mm:ss A',\n\t L : 'DD/MM/YYYY',\n\t LL : 'D MMMM YYYY',\n\t LLL : 'D MMMM YYYY h:mm A',\n\t LLLL : 'dddd, D MMMM YYYY h:mm A'\n\t },\n\t calendar : {\n\t sameDay : '[დღეს] LT[-ზე]',\n\t nextDay : '[ხვალ] LT[-ზე]',\n\t lastDay : '[გუშინ] LT[-ზე]',\n\t nextWeek : '[შემდეგ] dddd LT[-ზე]',\n\t lastWeek : '[წინა] dddd LT-ზე',\n\t sameElse : 'L'\n\t },\n\t relativeTime : {\n\t future : function (s) {\n\t return (/(წამი|წუთი|საათი|წელი)/).test(s) ?\n\t s.replace(/ი$/, 'ში') :\n\t s + 'ში';\n\t },\n\t past : function (s) {\n\t if ((/(წამი|წუთი|საათი|დღე|თვე)/).test(s)) {\n\t return s.replace(/(ი|ე)$/, 'ის წინ');\n\t }\n\t if ((/წელი/).test(s)) {\n\t return s.replace(/წელი$/, 'წლის წინ');\n\t }\n\t },\n\t s : 'რამდენიმე წამი',\n\t m : 'წუთი',\n\t mm : '%d წუთი',\n\t h : 'საათი',\n\t hh : '%d საათი',\n\t d : 'დღე',\n\t dd : '%d დღე',\n\t M : 'თვე',\n\t MM : '%d თვე',\n\t y : 'წელი',\n\t yy : '%d წელი'\n\t },\n\t ordinalParse: /0|1-ლი|მე-\\d{1,2}|\\d{1,2}-ე/,\n\t ordinal : function (number) {\n\t if (number === 0) {\n\t return number;\n\t }\n\t if (number === 1) {\n\t return number + '-ლი';\n\t }\n\t if ((number < 20) || (number <= 100 && (number % 20 === 0)) || (number % 100 === 0)) {\n\t return 'მე-' + number;\n\t }\n\t return number + '-ე';\n\t },\n\t week : {\n\t dow : 1,\n\t doy : 7\n\t }\n\t});\n\t\n\treturn ka;\n\t\n\t})));\n\n\n/***/ },\n/* 251 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t//! moment.js locale configuration\n\t//! locale : Kazakh [kk]\n\t//! authors : Nurlan Rakhimzhanov : https://github.com/nurlan\n\t\n\t;(function (global, factory) {\n\t true ? factory(__webpack_require__(1)) :\n\t typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n\t factory(global.moment)\n\t}(this, (function (moment) { 'use strict';\n\t\n\t\n\tvar suffixes = {\n\t 0: '-ші',\n\t 1: '-ші',\n\t 2: '-ші',\n\t 3: '-ші',\n\t 4: '-ші',\n\t 5: '-ші',\n\t 6: '-шы',\n\t 7: '-ші',\n\t 8: '-ші',\n\t 9: '-шы',\n\t 10: '-шы',\n\t 20: '-шы',\n\t 30: '-шы',\n\t 40: '-шы',\n\t 50: '-ші',\n\t 60: '-шы',\n\t 70: '-ші',\n\t 80: '-ші',\n\t 90: '-шы',\n\t 100: '-ші'\n\t};\n\t\n\tvar kk = moment.defineLocale('kk', {\n\t months : 'қаңтар_ақпан_наурыз_сәуір_мамыр_маусым_шілде_тамыз_қыркүйек_қазан_қараша_желтоқсан'.split('_'),\n\t monthsShort : 'қаң_ақп_нау_сәу_мам_мау_шіл_там_қыр_қаз_қар_жел'.split('_'),\n\t weekdays : 'жексенбі_дүйсенбі_сейсенбі_сәрсенбі_бейсенбі_жұма_сенбі'.split('_'),\n\t weekdaysShort : 'жек_дүй_сей_сәр_бей_жұм_сен'.split('_'),\n\t weekdaysMin : 'жк_дй_сй_ср_бй_жм_сн'.split('_'),\n\t longDateFormat : {\n\t LT : 'HH:mm',\n\t LTS : 'HH:mm:ss',\n\t L : 'DD.MM.YYYY',\n\t LL : 'D MMMM YYYY',\n\t LLL : 'D MMMM YYYY HH:mm',\n\t LLLL : 'dddd, D MMMM YYYY HH:mm'\n\t },\n\t calendar : {\n\t sameDay : '[Бүгін сағат] LT',\n\t nextDay : '[Ертең сағат] LT',\n\t nextWeek : 'dddd [сағат] LT',\n\t lastDay : '[Кеше сағат] LT',\n\t lastWeek : '[Өткен аптаның] dddd [сағат] LT',\n\t sameElse : 'L'\n\t },\n\t relativeTime : {\n\t future : '%s ішінде',\n\t past : '%s бұрын',\n\t s : 'бірнеше секунд',\n\t m : 'бір минут',\n\t mm : '%d минут',\n\t h : 'бір сағат',\n\t hh : '%d сағат',\n\t d : 'бір күн',\n\t dd : '%d күн',\n\t M : 'бір ай',\n\t MM : '%d ай',\n\t y : 'бір жыл',\n\t yy : '%d жыл'\n\t },\n\t ordinalParse: /\\d{1,2}-(ші|шы)/,\n\t ordinal : function (number) {\n\t var a = number % 10,\n\t b = number >= 100 ? 100 : null;\n\t return number + (suffixes[number] || suffixes[a] || suffixes[b]);\n\t },\n\t week : {\n\t dow : 1, // Monday is the first day of the week.\n\t doy : 7 // The week that contains Jan 1st is the first week of the year.\n\t }\n\t});\n\t\n\treturn kk;\n\t\n\t})));\n\n\n/***/ },\n/* 252 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t//! moment.js locale configuration\n\t//! locale : Cambodian [km]\n\t//! author : Kruy Vanna : https://github.com/kruyvanna\n\t\n\t;(function (global, factory) {\n\t true ? factory(__webpack_require__(1)) :\n\t typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n\t factory(global.moment)\n\t}(this, (function (moment) { 'use strict';\n\t\n\t\n\tvar km = moment.defineLocale('km', {\n\t months: 'មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ'.split('_'),\n\t monthsShort: 'មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ'.split('_'),\n\t weekdays: 'អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍'.split('_'),\n\t weekdaysShort: 'អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍'.split('_'),\n\t weekdaysMin: 'អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍'.split('_'),\n\t longDateFormat: {\n\t LT: 'HH:mm',\n\t LTS : 'HH:mm:ss',\n\t L: 'DD/MM/YYYY',\n\t LL: 'D MMMM YYYY',\n\t LLL: 'D MMMM YYYY HH:mm',\n\t LLLL: 'dddd, D MMMM YYYY HH:mm'\n\t },\n\t calendar: {\n\t sameDay: '[ថ្ងៃនេះ ម៉ោង] LT',\n\t nextDay: '[ស្អែក ម៉ោង] LT',\n\t nextWeek: 'dddd [ម៉ោង] LT',\n\t lastDay: '[ម្សិលមិញ ម៉ោង] LT',\n\t lastWeek: 'dddd [សប្តាហ៍មុន] [ម៉ោង] LT',\n\t sameElse: 'L'\n\t },\n\t relativeTime: {\n\t future: '%sទៀត',\n\t past: '%sមុន',\n\t s: 'ប៉ុន្មានវិនាទី',\n\t m: 'មួយនាទី',\n\t mm: '%d នាទី',\n\t h: 'មួយម៉ោង',\n\t hh: '%d ម៉ោង',\n\t d: 'មួយថ្ងៃ',\n\t dd: '%d ថ្ងៃ',\n\t M: 'មួយខែ',\n\t MM: '%d ខែ',\n\t y: 'មួយឆ្នាំ',\n\t yy: '%d ឆ្នាំ'\n\t },\n\t week: {\n\t dow: 1, // Monday is the first day of the week.\n\t doy: 4 // The week that contains Jan 4th is the first week of the year.\n\t }\n\t});\n\t\n\treturn km;\n\t\n\t})));\n\n\n/***/ },\n/* 253 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t//! moment.js locale configuration\n\t//! locale : Korean [ko]\n\t//! author : Kyungwook, Park : https://github.com/kyungw00k\n\t//! author : Jeeeyul Lee <jeeeyul@gmail.com>\n\t\n\t;(function (global, factory) {\n\t true ? factory(__webpack_require__(1)) :\n\t typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n\t factory(global.moment)\n\t}(this, (function (moment) { 'use strict';\n\t\n\t\n\tvar ko = moment.defineLocale('ko', {\n\t months : '1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월'.split('_'),\n\t monthsShort : '1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월'.split('_'),\n\t weekdays : '일요일_월요일_화요일_수요일_목요일_금요일_토요일'.split('_'),\n\t weekdaysShort : '일_월_화_수_목_금_토'.split('_'),\n\t weekdaysMin : '일_월_화_수_목_금_토'.split('_'),\n\t longDateFormat : {\n\t LT : 'A h시 m분',\n\t LTS : 'A h시 m분 s초',\n\t L : 'YYYY.MM.DD',\n\t LL : 'YYYY년 MMMM D일',\n\t LLL : 'YYYY년 MMMM D일 A h시 m분',\n\t LLLL : 'YYYY년 MMMM D일 dddd A h시 m분'\n\t },\n\t calendar : {\n\t sameDay : '오늘 LT',\n\t nextDay : '내일 LT',\n\t nextWeek : 'dddd LT',\n\t lastDay : '어제 LT',\n\t lastWeek : '지난주 dddd LT',\n\t sameElse : 'L'\n\t },\n\t relativeTime : {\n\t future : '%s 후',\n\t past : '%s 전',\n\t s : '몇 초',\n\t ss : '%d초',\n\t m : '일분',\n\t mm : '%d분',\n\t h : '한 시간',\n\t hh : '%d시간',\n\t d : '하루',\n\t dd : '%d일',\n\t M : '한 달',\n\t MM : '%d달',\n\t y : '일 년',\n\t yy : '%d년'\n\t },\n\t ordinalParse : /\\d{1,2}일/,\n\t ordinal : '%d일',\n\t meridiemParse : /오전|오후/,\n\t isPM : function (token) {\n\t return token === '오후';\n\t },\n\t meridiem : function (hour, minute, isUpper) {\n\t return hour < 12 ? '오전' : '오후';\n\t }\n\t});\n\t\n\treturn ko;\n\t\n\t})));\n\n\n/***/ },\n/* 254 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t//! moment.js locale configuration\n\t//! locale : Kyrgyz [ky]\n\t//! author : Chyngyz Arystan uulu : https://github.com/chyngyz\n\t\n\t;(function (global, factory) {\n\t true ? factory(__webpack_require__(1)) :\n\t typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n\t factory(global.moment)\n\t}(this, (function (moment) { 'use strict';\n\t\n\t\n\t\n\tvar suffixes = {\n\t 0: '-чү',\n\t 1: '-чи',\n\t 2: '-чи',\n\t 3: '-чү',\n\t 4: '-чү',\n\t 5: '-чи',\n\t 6: '-чы',\n\t 7: '-чи',\n\t 8: '-чи',\n\t 9: '-чу',\n\t 10: '-чу',\n\t 20: '-чы',\n\t 30: '-чу',\n\t 40: '-чы',\n\t 50: '-чү',\n\t 60: '-чы',\n\t 70: '-чи',\n\t 80: '-чи',\n\t 90: '-чу',\n\t 100: '-чү'\n\t};\n\t\n\tvar ky = moment.defineLocale('ky', {\n\t months : 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split('_'),\n\t monthsShort : 'янв_фев_март_апр_май_июнь_июль_авг_сен_окт_ноя_дек'.split('_'),\n\t weekdays : 'Жекшемби_Дүйшөмбү_Шейшемби_Шаршемби_Бейшемби_Жума_Ишемби'.split('_'),\n\t weekdaysShort : 'Жек_Дүй_Шей_Шар_Бей_Жум_Ише'.split('_'),\n\t weekdaysMin : 'Жк_Дй_Шй_Шр_Бй_Жм_Иш'.split('_'),\n\t longDateFormat : {\n\t LT : 'HH:mm',\n\t LTS : 'HH:mm:ss',\n\t L : 'DD.MM.YYYY',\n\t LL : 'D MMMM YYYY',\n\t LLL : 'D MMMM YYYY HH:mm',\n\t LLLL : 'dddd, D MMMM YYYY HH:mm'\n\t },\n\t calendar : {\n\t sameDay : '[Бүгүн саат] LT',\n\t nextDay : '[Эртең саат] LT',\n\t nextWeek : 'dddd [саат] LT',\n\t lastDay : '[Кече саат] LT',\n\t lastWeek : '[Өткен аптанын] dddd [күнү] [саат] LT',\n\t sameElse : 'L'\n\t },\n\t relativeTime : {\n\t future : '%s ичинде',\n\t past : '%s мурун',\n\t s : 'бирнече секунд',\n\t m : 'бир мүнөт',\n\t mm : '%d мүнөт',\n\t h : 'бир саат',\n\t hh : '%d саат',\n\t d : 'бир күн',\n\t dd : '%d күн',\n\t M : 'бир ай',\n\t MM : '%d ай',\n\t y : 'бир жыл',\n\t yy : '%d жыл'\n\t },\n\t ordinalParse: /\\d{1,2}-(чи|чы|чү|чу)/,\n\t ordinal : function (number) {\n\t var a = number % 10,\n\t b = number >= 100 ? 100 : null;\n\t return number + (suffixes[number] || suffixes[a] || suffixes[b]);\n\t },\n\t week : {\n\t dow : 1, // Monday is the first day of the week.\n\t doy : 7 // The week that contains Jan 1st is the first week of the year.\n\t }\n\t});\n\t\n\treturn ky;\n\t\n\t})));\n\n\n/***/ },\n/* 255 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t//! moment.js locale configuration\n\t//! locale : Luxembourgish [lb]\n\t//! author : mweimerskirch : https://github.com/mweimerskirch\n\t//! author : David Raison : https://github.com/kwisatz\n\t\n\t;(function (global, factory) {\n\t true ? factory(__webpack_require__(1)) :\n\t typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n\t factory(global.moment)\n\t}(this, (function (moment) { 'use strict';\n\t\n\t\n\tfunction processRelativeTime(number, withoutSuffix, key, isFuture) {\n\t var format = {\n\t 'm': ['eng Minutt', 'enger Minutt'],\n\t 'h': ['eng Stonn', 'enger Stonn'],\n\t 'd': ['een Dag', 'engem Dag'],\n\t 'M': ['ee Mount', 'engem Mount'],\n\t 'y': ['ee Joer', 'engem Joer']\n\t };\n\t return withoutSuffix ? format[key][0] : format[key][1];\n\t}\n\tfunction processFutureTime(string) {\n\t var number = string.substr(0, string.indexOf(' '));\n\t if (eifelerRegelAppliesToNumber(number)) {\n\t return 'a ' + string;\n\t }\n\t return 'an ' + string;\n\t}\n\tfunction processPastTime(string) {\n\t var number = string.substr(0, string.indexOf(' '));\n\t if (eifelerRegelAppliesToNumber(number)) {\n\t return 'viru ' + string;\n\t }\n\t return 'virun ' + string;\n\t}\n\t/**\n\t * Returns true if the word before the given number loses the '-n' ending.\n\t * e.g. 'an 10 Deeg' but 'a 5 Deeg'\n\t *\n\t * @param number {integer}\n\t * @returns {boolean}\n\t */\n\tfunction eifelerRegelAppliesToNumber(number) {\n\t number = parseInt(number, 10);\n\t if (isNaN(number)) {\n\t return false;\n\t }\n\t if (number < 0) {\n\t // Negative Number --> always true\n\t return true;\n\t } else if (number < 10) {\n\t // Only 1 digit\n\t if (4 <= number && number <= 7) {\n\t return true;\n\t }\n\t return false;\n\t } else if (number < 100) {\n\t // 2 digits\n\t var lastDigit = number % 10, firstDigit = number / 10;\n\t if (lastDigit === 0) {\n\t return eifelerRegelAppliesToNumber(firstDigit);\n\t }\n\t return eifelerRegelAppliesToNumber(lastDigit);\n\t } else if (number < 10000) {\n\t // 3 or 4 digits --> recursively check first digit\n\t while (number >= 10) {\n\t number = number / 10;\n\t }\n\t return eifelerRegelAppliesToNumber(number);\n\t } else {\n\t // Anything larger than 4 digits: recursively check first n-3 digits\n\t number = number / 1000;\n\t return eifelerRegelAppliesToNumber(number);\n\t }\n\t}\n\t\n\tvar lb = moment.defineLocale('lb', {\n\t months: 'Januar_Februar_Mäerz_Abrëll_Mee_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'),\n\t monthsShort: 'Jan._Febr._Mrz._Abr._Mee_Jun._Jul._Aug._Sept._Okt._Nov._Dez.'.split('_'),\n\t monthsParseExact : true,\n\t weekdays: 'Sonndeg_Méindeg_Dënschdeg_Mëttwoch_Donneschdeg_Freideg_Samschdeg'.split('_'),\n\t weekdaysShort: 'So._Mé._Dë._Më._Do._Fr._Sa.'.split('_'),\n\t weekdaysMin: 'So_Mé_Dë_Më_Do_Fr_Sa'.split('_'),\n\t weekdaysParseExact : true,\n\t longDateFormat: {\n\t LT: 'H:mm [Auer]',\n\t LTS: 'H:mm:ss [Auer]',\n\t L: 'DD.MM.YYYY',\n\t LL: 'D. MMMM YYYY',\n\t LLL: 'D. MMMM YYYY H:mm [Auer]',\n\t LLLL: 'dddd, D. MMMM YYYY H:mm [Auer]'\n\t },\n\t calendar: {\n\t sameDay: '[Haut um] LT',\n\t sameElse: 'L',\n\t nextDay: '[Muer um] LT',\n\t nextWeek: 'dddd [um] LT',\n\t lastDay: '[Gëschter um] LT',\n\t lastWeek: function () {\n\t // Different date string for 'Dënschdeg' (Tuesday) and 'Donneschdeg' (Thursday) due to phonological rule\n\t switch (this.day()) {\n\t case 2:\n\t case 4:\n\t return '[Leschten] dddd [um] LT';\n\t default:\n\t return '[Leschte] dddd [um] LT';\n\t }\n\t }\n\t },\n\t relativeTime : {\n\t future : processFutureTime,\n\t past : processPastTime,\n\t s : 'e puer Sekonnen',\n\t m : processRelativeTime,\n\t mm : '%d Minutten',\n\t h : processRelativeTime,\n\t hh : '%d Stonnen',\n\t d : processRelativeTime,\n\t dd : '%d Deeg',\n\t M : processRelativeTime,\n\t MM : '%d Méint',\n\t y : processRelativeTime,\n\t yy : '%d Joer'\n\t },\n\t ordinalParse: /\\d{1,2}\\./,\n\t ordinal: '%d.',\n\t week: {\n\t dow: 1, // Monday is the first day of the week.\n\t doy: 4 // The week that contains Jan 4th is the first week of the year.\n\t }\n\t});\n\t\n\treturn lb;\n\t\n\t})));\n\n\n/***/ },\n/* 256 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t//! moment.js locale configuration\n\t//! locale : Lao [lo]\n\t//! author : Ryan Hart : https://github.com/ryanhart2\n\t\n\t;(function (global, factory) {\n\t true ? factory(__webpack_require__(1)) :\n\t typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n\t factory(global.moment)\n\t}(this, (function (moment) { 'use strict';\n\t\n\t\n\tvar lo = moment.defineLocale('lo', {\n\t months : 'ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ'.split('_'),\n\t monthsShort : 'ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ'.split('_'),\n\t weekdays : 'ອາທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ'.split('_'),\n\t weekdaysShort : 'ທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ'.split('_'),\n\t weekdaysMin : 'ທ_ຈ_ອຄ_ພ_ພຫ_ສກ_ສ'.split('_'),\n\t weekdaysParseExact : true,\n\t longDateFormat : {\n\t LT : 'HH:mm',\n\t LTS : 'HH:mm:ss',\n\t L : 'DD/MM/YYYY',\n\t LL : 'D MMMM YYYY',\n\t LLL : 'D MMMM YYYY HH:mm',\n\t LLLL : 'ວັນdddd D MMMM YYYY HH:mm'\n\t },\n\t meridiemParse: /ຕອນເຊົ້າ|ຕອນແລງ/,\n\t isPM: function (input) {\n\t return input === 'ຕອນແລງ';\n\t },\n\t meridiem : function (hour, minute, isLower) {\n\t if (hour < 12) {\n\t return 'ຕອນເຊົ້າ';\n\t } else {\n\t return 'ຕອນແລງ';\n\t }\n\t },\n\t calendar : {\n\t sameDay : '[ມື້ນີ້ເວລາ] LT',\n\t nextDay : '[ມື້ອື່ນເວລາ] LT',\n\t nextWeek : '[ວັນ]dddd[ໜ້າເວລາ] LT',\n\t lastDay : '[ມື້ວານນີ້ເວລາ] LT',\n\t lastWeek : '[ວັນ]dddd[ແລ້ວນີ້ເວລາ] LT',\n\t sameElse : 'L'\n\t },\n\t relativeTime : {\n\t future : 'ອີກ %s',\n\t past : '%sຜ່ານມາ',\n\t s : 'ບໍ່ເທົ່າໃດວິນາທີ',\n\t m : '1 ນາທີ',\n\t mm : '%d ນາທີ',\n\t h : '1 ຊົ່ວໂມງ',\n\t hh : '%d ຊົ່ວໂມງ',\n\t d : '1 ມື້',\n\t dd : '%d ມື້',\n\t M : '1 ເດືອນ',\n\t MM : '%d ເດືອນ',\n\t y : '1 ປີ',\n\t yy : '%d ປີ'\n\t },\n\t ordinalParse: /(ທີ່)\\d{1,2}/,\n\t ordinal : function (number) {\n\t return 'ທີ່' + number;\n\t }\n\t});\n\t\n\treturn lo;\n\t\n\t})));\n\n\n/***/ },\n/* 257 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t//! moment.js locale configuration\n\t//! locale : Lithuanian [lt]\n\t//! author : Mindaugas Mozūras : https://github.com/mmozuras\n\t\n\t;(function (global, factory) {\n\t true ? factory(__webpack_require__(1)) :\n\t typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n\t factory(global.moment)\n\t}(this, (function (moment) { 'use strict';\n\t\n\t\n\tvar units = {\n\t 'm' : 'minutė_minutės_minutę',\n\t 'mm': 'minutės_minučių_minutes',\n\t 'h' : 'valanda_valandos_valandą',\n\t 'hh': 'valandos_valandų_valandas',\n\t 'd' : 'diena_dienos_dieną',\n\t 'dd': 'dienos_dienų_dienas',\n\t 'M' : 'mėnuo_mėnesio_mėnesį',\n\t 'MM': 'mėnesiai_mėnesių_mėnesius',\n\t 'y' : 'metai_metų_metus',\n\t 'yy': 'metai_metų_metus'\n\t};\n\tfunction translateSeconds(number, withoutSuffix, key, isFuture) {\n\t if (withoutSuffix) {\n\t return 'kelios sekundės';\n\t } else {\n\t return isFuture ? 'kelių sekundžių' : 'kelias sekundes';\n\t }\n\t}\n\tfunction translateSingular(number, withoutSuffix, key, isFuture) {\n\t return withoutSuffix ? forms(key)[0] : (isFuture ? forms(key)[1] : forms(key)[2]);\n\t}\n\tfunction special(number) {\n\t return number % 10 === 0 || (number > 10 && number < 20);\n\t}\n\tfunction forms(key) {\n\t return units[key].split('_');\n\t}\n\tfunction translate(number, withoutSuffix, key, isFuture) {\n\t var result = number + ' ';\n\t if (number === 1) {\n\t return result + translateSingular(number, withoutSuffix, key[0], isFuture);\n\t } else if (withoutSuffix) {\n\t return result + (special(number) ? forms(key)[1] : forms(key)[0]);\n\t } else {\n\t if (isFuture) {\n\t return result + forms(key)[1];\n\t } else {\n\t return result + (special(number) ? forms(key)[1] : forms(key)[2]);\n\t }\n\t }\n\t}\n\tvar lt = moment.defineLocale('lt', {\n\t months : {\n\t format: 'sausio_vasario_kovo_balandžio_gegužės_birželio_liepos_rugpjūčio_rugsėjo_spalio_lapkričio_gruodžio'.split('_'),\n\t standalone: 'sausis_vasaris_kovas_balandis_gegužė_birželis_liepa_rugpjūtis_rugsėjis_spalis_lapkritis_gruodis'.split('_'),\n\t isFormat: /D[oD]?(\\[[^\\[\\]]*\\]|\\s)+MMMM?|MMMM?(\\[[^\\[\\]]*\\]|\\s)+D[oD]?/\n\t },\n\t monthsShort : 'sau_vas_kov_bal_geg_bir_lie_rgp_rgs_spa_lap_grd'.split('_'),\n\t weekdays : {\n\t format: 'sekmadienį_pirmadienį_antradienį_trečiadienį_ketvirtadienį_penktadienį_šeštadienį'.split('_'),\n\t standalone: 'sekmadienis_pirmadienis_antradienis_trečiadienis_ketvirtadienis_penktadienis_šeštadienis'.split('_'),\n\t isFormat: /dddd HH:mm/\n\t },\n\t weekdaysShort : 'Sek_Pir_Ant_Tre_Ket_Pen_Šeš'.split('_'),\n\t weekdaysMin : 'S_P_A_T_K_Pn_Š'.split('_'),\n\t weekdaysParseExact : true,\n\t longDateFormat : {\n\t LT : 'HH:mm',\n\t LTS : 'HH:mm:ss',\n\t L : 'YYYY-MM-DD',\n\t LL : 'YYYY [m.] MMMM D [d.]',\n\t LLL : 'YYYY [m.] MMMM D [d.], HH:mm [val.]',\n\t LLLL : 'YYYY [m.] MMMM D [d.], dddd, HH:mm [val.]',\n\t l : 'YYYY-MM-DD',\n\t ll : 'YYYY [m.] MMMM D [d.]',\n\t lll : 'YYYY [m.] MMMM D [d.], HH:mm [val.]',\n\t llll : 'YYYY [m.] MMMM D [d.], ddd, HH:mm [val.]'\n\t },\n\t calendar : {\n\t sameDay : '[Šiandien] LT',\n\t nextDay : '[Rytoj] LT',\n\t nextWeek : 'dddd LT',\n\t lastDay : '[Vakar] LT',\n\t lastWeek : '[Praėjusį] dddd LT',\n\t sameElse : 'L'\n\t },\n\t relativeTime : {\n\t future : 'po %s',\n\t past : 'prieš %s',\n\t s : translateSeconds,\n\t m : translateSingular,\n\t mm : translate,\n\t h : translateSingular,\n\t hh : translate,\n\t d : translateSingular,\n\t dd : translate,\n\t M : translateSingular,\n\t MM : translate,\n\t y : translateSingular,\n\t yy : translate\n\t },\n\t ordinalParse: /\\d{1,2}-oji/,\n\t ordinal : function (number) {\n\t return number + '-oji';\n\t },\n\t week : {\n\t dow : 1, // Monday is the first day of the week.\n\t doy : 4 // The week that contains Jan 4th is the first week of the year.\n\t }\n\t});\n\t\n\treturn lt;\n\t\n\t})));\n\n\n/***/ },\n/* 258 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t//! moment.js locale configuration\n\t//! locale : Latvian [lv]\n\t//! author : Kristaps Karlsons : https://github.com/skakri\n\t//! author : Jānis Elmeris : https://github.com/JanisE\n\t\n\t;(function (global, factory) {\n\t true ? factory(__webpack_require__(1)) :\n\t typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n\t factory(global.moment)\n\t}(this, (function (moment) { 'use strict';\n\t\n\t\n\tvar units = {\n\t 'm': 'minūtes_minūtēm_minūte_minūtes'.split('_'),\n\t 'mm': 'minūtes_minūtēm_minūte_minūtes'.split('_'),\n\t 'h': 'stundas_stundām_stunda_stundas'.split('_'),\n\t 'hh': 'stundas_stundām_stunda_stundas'.split('_'),\n\t 'd': 'dienas_dienām_diena_dienas'.split('_'),\n\t 'dd': 'dienas_dienām_diena_dienas'.split('_'),\n\t 'M': 'mēneša_mēnešiem_mēnesis_mēneši'.split('_'),\n\t 'MM': 'mēneša_mēnešiem_mēnesis_mēneši'.split('_'),\n\t 'y': 'gada_gadiem_gads_gadi'.split('_'),\n\t 'yy': 'gada_gadiem_gads_gadi'.split('_')\n\t};\n\t/**\n\t * @param withoutSuffix boolean true = a length of time; false = before/after a period of time.\n\t */\n\tfunction format(forms, number, withoutSuffix) {\n\t if (withoutSuffix) {\n\t // E.g. \"21 minūte\", \"3 minūtes\".\n\t return number % 10 === 1 && number % 100 !== 11 ? forms[2] : forms[3];\n\t } else {\n\t // E.g. \"21 minūtes\" as in \"pēc 21 minūtes\".\n\t // E.g. \"3 minūtēm\" as in \"pēc 3 minūtēm\".\n\t return number % 10 === 1 && number % 100 !== 11 ? forms[0] : forms[1];\n\t }\n\t}\n\tfunction relativeTimeWithPlural(number, withoutSuffix, key) {\n\t return number + ' ' + format(units[key], number, withoutSuffix);\n\t}\n\tfunction relativeTimeWithSingular(number, withoutSuffix, key) {\n\t return format(units[key], number, withoutSuffix);\n\t}\n\tfunction relativeSeconds(number, withoutSuffix) {\n\t return withoutSuffix ? 'dažas sekundes' : 'dažām sekundēm';\n\t}\n\t\n\tvar lv = moment.defineLocale('lv', {\n\t months : 'janvāris_februāris_marts_aprīlis_maijs_jūnijs_jūlijs_augusts_septembris_oktobris_novembris_decembris'.split('_'),\n\t monthsShort : 'jan_feb_mar_apr_mai_jūn_jūl_aug_sep_okt_nov_dec'.split('_'),\n\t weekdays : 'svētdiena_pirmdiena_otrdiena_trešdiena_ceturtdiena_piektdiena_sestdiena'.split('_'),\n\t weekdaysShort : 'Sv_P_O_T_C_Pk_S'.split('_'),\n\t weekdaysMin : 'Sv_P_O_T_C_Pk_S'.split('_'),\n\t weekdaysParseExact : true,\n\t longDateFormat : {\n\t LT : 'HH:mm',\n\t LTS : 'HH:mm:ss',\n\t L : 'DD.MM.YYYY.',\n\t LL : 'YYYY. [gada] D. MMMM',\n\t LLL : 'YYYY. [gada] D. MMMM, HH:mm',\n\t LLLL : 'YYYY. [gada] D. MMMM, dddd, HH:mm'\n\t },\n\t calendar : {\n\t sameDay : '[Šodien pulksten] LT',\n\t nextDay : '[Rīt pulksten] LT',\n\t nextWeek : 'dddd [pulksten] LT',\n\t lastDay : '[Vakar pulksten] LT',\n\t lastWeek : '[Pagājušā] dddd [pulksten] LT',\n\t sameElse : 'L'\n\t },\n\t relativeTime : {\n\t future : 'pēc %s',\n\t past : 'pirms %s',\n\t s : relativeSeconds,\n\t m : relativeTimeWithSingular,\n\t mm : relativeTimeWithPlural,\n\t h : relativeTimeWithSingular,\n\t hh : relativeTimeWithPlural,\n\t d : relativeTimeWithSingular,\n\t dd : relativeTimeWithPlural,\n\t M : relativeTimeWithSingular,\n\t MM : relativeTimeWithPlural,\n\t y : relativeTimeWithSingular,\n\t yy : relativeTimeWithPlural\n\t },\n\t ordinalParse: /\\d{1,2}\\./,\n\t ordinal : '%d.',\n\t week : {\n\t dow : 1, // Monday is the first day of the week.\n\t doy : 4 // The week that contains Jan 4th is the first week of the year.\n\t }\n\t});\n\t\n\treturn lv;\n\t\n\t})));\n\n\n/***/ },\n/* 259 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t//! moment.js locale configuration\n\t//! locale : Montenegrin [me]\n\t//! author : Miodrag Nikač <miodrag@restartit.me> : https://github.com/miodragnikac\n\t\n\t;(function (global, factory) {\n\t true ? factory(__webpack_require__(1)) :\n\t typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n\t factory(global.moment)\n\t}(this, (function (moment) { 'use strict';\n\t\n\t\n\tvar translator = {\n\t words: { //Different grammatical cases\n\t m: ['jedan minut', 'jednog minuta'],\n\t mm: ['minut', 'minuta', 'minuta'],\n\t h: ['jedan sat', 'jednog sata'],\n\t hh: ['sat', 'sata', 'sati'],\n\t dd: ['dan', 'dana', 'dana'],\n\t MM: ['mjesec', 'mjeseca', 'mjeseci'],\n\t yy: ['godina', 'godine', 'godina']\n\t },\n\t correctGrammaticalCase: function (number, wordKey) {\n\t return number === 1 ? wordKey[0] : (number >= 2 && number <= 4 ? wordKey[1] : wordKey[2]);\n\t },\n\t translate: function (number, withoutSuffix, key) {\n\t var wordKey = translator.words[key];\n\t if (key.length === 1) {\n\t return withoutSuffix ? wordKey[0] : wordKey[1];\n\t } else {\n\t return number + ' ' + translator.correctGrammaticalCase(number, wordKey);\n\t }\n\t }\n\t};\n\t\n\tvar me = moment.defineLocale('me', {\n\t months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split('_'),\n\t monthsShort: 'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split('_'),\n\t monthsParseExact : true,\n\t weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split('_'),\n\t weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),\n\t weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),\n\t weekdaysParseExact : true,\n\t longDateFormat: {\n\t LT: 'H:mm',\n\t LTS : 'H:mm:ss',\n\t L: 'DD.MM.YYYY',\n\t LL: 'D. MMMM YYYY',\n\t LLL: 'D. MMMM YYYY H:mm',\n\t LLLL: 'dddd, D. MMMM YYYY H:mm'\n\t },\n\t calendar: {\n\t sameDay: '[danas u] LT',\n\t nextDay: '[sjutra u] LT',\n\t\n\t nextWeek: function () {\n\t switch (this.day()) {\n\t case 0:\n\t return '[u] [nedjelju] [u] LT';\n\t case 3:\n\t return '[u] [srijedu] [u] LT';\n\t case 6:\n\t return '[u] [subotu] [u] LT';\n\t case 1:\n\t case 2:\n\t case 4:\n\t case 5:\n\t return '[u] dddd [u] LT';\n\t }\n\t },\n\t lastDay : '[juče u] LT',\n\t lastWeek : function () {\n\t var lastWeekDays = [\n\t '[prošle] [nedjelje] [u] LT',\n\t '[prošlog] [ponedjeljka] [u] LT',\n\t '[prošlog] [utorka] [u] LT',\n\t '[prošle] [srijede] [u] LT',\n\t '[prošlog] [četvrtka] [u] LT',\n\t '[prošlog] [petka] [u] LT',\n\t '[prošle] [subote] [u] LT'\n\t ];\n\t return lastWeekDays[this.day()];\n\t },\n\t sameElse : 'L'\n\t },\n\t relativeTime : {\n\t future : 'za %s',\n\t past : 'prije %s',\n\t s : 'nekoliko sekundi',\n\t m : translator.translate,\n\t mm : translator.translate,\n\t h : translator.translate,\n\t hh : translator.translate,\n\t d : 'dan',\n\t dd : translator.translate,\n\t M : 'mjesec',\n\t MM : translator.translate,\n\t y : 'godinu',\n\t yy : translator.translate\n\t },\n\t ordinalParse: /\\d{1,2}\\./,\n\t ordinal : '%d.',\n\t week : {\n\t dow : 1, // Monday is the first day of the week.\n\t doy : 7 // The week that contains Jan 1st is the first week of the year.\n\t }\n\t});\n\t\n\treturn me;\n\t\n\t})));\n\n\n/***/ },\n/* 260 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t//! moment.js locale configuration\n\t//! locale : Maori [mi]\n\t//! author : John Corrigan <robbiecloset@gmail.com> : https://github.com/johnideal\n\t\n\t;(function (global, factory) {\n\t true ? factory(__webpack_require__(1)) :\n\t typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n\t factory(global.moment)\n\t}(this, (function (moment) { 'use strict';\n\t\n\t\n\tvar mi = moment.defineLocale('mi', {\n\t months: 'Kohi-tāte_Hui-tanguru_Poutū-te-rangi_Paenga-whāwhā_Haratua_Pipiri_Hōngoingoi_Here-turi-kōkā_Mahuru_Whiringa-ā-nuku_Whiringa-ā-rangi_Hakihea'.split('_'),\n\t monthsShort: 'Kohi_Hui_Pou_Pae_Hara_Pipi_Hōngoi_Here_Mahu_Whi-nu_Whi-ra_Haki'.split('_'),\n\t monthsRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,3}/i,\n\t monthsStrictRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,3}/i,\n\t monthsShortRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,3}/i,\n\t monthsShortStrictRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,2}/i,\n\t weekdays: 'Rātapu_Mane_Tūrei_Wenerei_Tāite_Paraire_Hātarei'.split('_'),\n\t weekdaysShort: 'Ta_Ma_Tū_We_Tāi_Pa_Hā'.split('_'),\n\t weekdaysMin: 'Ta_Ma_Tū_We_Tāi_Pa_Hā'.split('_'),\n\t longDateFormat: {\n\t LT: 'HH:mm',\n\t LTS: 'HH:mm:ss',\n\t L: 'DD/MM/YYYY',\n\t LL: 'D MMMM YYYY',\n\t LLL: 'D MMMM YYYY [i] HH:mm',\n\t LLLL: 'dddd, D MMMM YYYY [i] HH:mm'\n\t },\n\t calendar: {\n\t sameDay: '[i teie mahana, i] LT',\n\t nextDay: '[apopo i] LT',\n\t nextWeek: 'dddd [i] LT',\n\t lastDay: '[inanahi i] LT',\n\t lastWeek: 'dddd [whakamutunga i] LT',\n\t sameElse: 'L'\n\t },\n\t relativeTime: {\n\t future: 'i roto i %s',\n\t past: '%s i mua',\n\t s: 'te hēkona ruarua',\n\t m: 'he meneti',\n\t mm: '%d meneti',\n\t h: 'te haora',\n\t hh: '%d haora',\n\t d: 'he ra',\n\t dd: '%d ra',\n\t M: 'he marama',\n\t MM: '%d marama',\n\t y: 'he tau',\n\t yy: '%d tau'\n\t },\n\t ordinalParse: /\\d{1,2}º/,\n\t ordinal: '%dº',\n\t week : {\n\t dow : 1, // Monday is the first day of the week.\n\t doy : 4 // The week that contains Jan 4th is the first week of the year.\n\t }\n\t});\n\t\n\treturn mi;\n\t\n\t})));\n\n\n/***/ },\n/* 261 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t//! moment.js locale configuration\n\t//! locale : Macedonian [mk]\n\t//! author : Borislav Mickov : https://github.com/B0k0\n\t\n\t;(function (global, factory) {\n\t true ? factory(__webpack_require__(1)) :\n\t typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n\t factory(global.moment)\n\t}(this, (function (moment) { 'use strict';\n\t\n\t\n\tvar mk = moment.defineLocale('mk', {\n\t months : 'јануари_февруари_март_април_мај_јуни_јули_август_септември_октомври_ноември_декември'.split('_'),\n\t monthsShort : 'јан_фев_мар_апр_мај_јун_јул_авг_сеп_окт_ное_дек'.split('_'),\n\t weekdays : 'недела_понеделник_вторник_среда_четврток_петок_сабота'.split('_'),\n\t weekdaysShort : 'нед_пон_вто_сре_чет_пет_саб'.split('_'),\n\t weekdaysMin : 'нe_пo_вт_ср_че_пе_сa'.split('_'),\n\t longDateFormat : {\n\t LT : 'H:mm',\n\t LTS : 'H:mm:ss',\n\t L : 'D.MM.YYYY',\n\t LL : 'D MMMM YYYY',\n\t LLL : 'D MMMM YYYY H:mm',\n\t LLLL : 'dddd, D MMMM YYYY H:mm'\n\t },\n\t calendar : {\n\t sameDay : '[Денес во] LT',\n\t nextDay : '[Утре во] LT',\n\t nextWeek : '[Во] dddd [во] LT',\n\t lastDay : '[Вчера во] LT',\n\t lastWeek : function () {\n\t switch (this.day()) {\n\t case 0:\n\t case 3:\n\t case 6:\n\t return '[Изминатата] dddd [во] LT';\n\t case 1:\n\t case 2:\n\t case 4:\n\t case 5:\n\t return '[Изминатиот] dddd [во] LT';\n\t }\n\t },\n\t sameElse : 'L'\n\t },\n\t relativeTime : {\n\t future : 'после %s',\n\t past : 'пред %s',\n\t s : 'неколку секунди',\n\t m : 'минута',\n\t mm : '%d минути',\n\t h : 'час',\n\t hh : '%d часа',\n\t d : 'ден',\n\t dd : '%d дена',\n\t M : 'месец',\n\t MM : '%d месеци',\n\t y : 'година',\n\t yy : '%d години'\n\t },\n\t ordinalParse: /\\d{1,2}-(ев|ен|ти|ви|ри|ми)/,\n\t ordinal : function (number) {\n\t var lastDigit = number % 10,\n\t last2Digits = number % 100;\n\t if (number === 0) {\n\t return number + '-ев';\n\t } else if (last2Digits === 0) {\n\t return number + '-ен';\n\t } else if (last2Digits > 10 && last2Digits < 20) {\n\t return number + '-ти';\n\t } else if (lastDigit === 1) {\n\t return number + '-ви';\n\t } else if (lastDigit === 2) {\n\t return number + '-ри';\n\t } else if (lastDigit === 7 || lastDigit === 8) {\n\t return number + '-ми';\n\t } else {\n\t return number + '-ти';\n\t }\n\t },\n\t week : {\n\t dow : 1, // Monday is the first day of the week.\n\t doy : 7 // The week that contains Jan 1st is the first week of the year.\n\t }\n\t});\n\t\n\treturn mk;\n\t\n\t})));\n\n\n/***/ },\n/* 262 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t//! moment.js locale configuration\n\t//! locale : Malayalam [ml]\n\t//! author : Floyd Pink : https://github.com/floydpink\n\t\n\t;(function (global, factory) {\n\t true ? factory(__webpack_require__(1)) :\n\t typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n\t factory(global.moment)\n\t}(this, (function (moment) { 'use strict';\n\t\n\t\n\tvar ml = moment.defineLocale('ml', {\n\t months : 'ജനുവരി_ഫെബ്രുവരി_മാർച്ച്_ഏപ്രിൽ_മേയ്_ജൂൺ_ജൂലൈ_ഓഗസ്റ്റ്_സെപ്റ്റംബർ_ഒക്ടോബർ_നവംബർ_ഡിസംബർ'.split('_'),\n\t monthsShort : 'ജനു._ഫെബ്രു._മാർ._ഏപ്രി._മേയ്_ജൂൺ_ജൂലൈ._ഓഗ._സെപ്റ്റ._ഒക്ടോ._നവം._ഡിസം.'.split('_'),\n\t monthsParseExact : true,\n\t weekdays : 'ഞായറാഴ്ച_തിങ്കളാഴ്ച_ചൊവ്വാഴ്ച_ബുധനാഴ്ച_വ്യാഴാഴ്ച_വെള്ളിയാഴ്ച_ശനിയാഴ്ച'.split('_'),\n\t weekdaysShort : 'ഞായർ_തിങ്കൾ_ചൊവ്വ_ബുധൻ_വ്യാഴം_വെള്ളി_ശനി'.split('_'),\n\t weekdaysMin : 'ഞാ_തി_ചൊ_ബു_വ്യാ_വെ_ശ'.split('_'),\n\t longDateFormat : {\n\t LT : 'A h:mm -നു',\n\t LTS : 'A h:mm:ss -നു',\n\t L : 'DD/MM/YYYY',\n\t LL : 'D MMMM YYYY',\n\t LLL : 'D MMMM YYYY, A h:mm -നു',\n\t LLLL : 'dddd, D MMMM YYYY, A h:mm -നു'\n\t },\n\t calendar : {\n\t sameDay : '[ഇന്ന്] LT',\n\t nextDay : '[നാളെ] LT',\n\t nextWeek : 'dddd, LT',\n\t lastDay : '[ഇന്നലെ] LT',\n\t lastWeek : '[കഴിഞ്ഞ] dddd, LT',\n\t sameElse : 'L'\n\t },\n\t relativeTime : {\n\t future : '%s കഴിഞ്ഞ്',\n\t past : '%s മുൻപ്',\n\t s : 'അൽപ നിമിഷങ്ങൾ',\n\t m : 'ഒരു മിനിറ്റ്',\n\t mm : '%d മിനിറ്റ്',\n\t h : 'ഒരു മണിക്കൂർ',\n\t hh : '%d മണിക്കൂർ',\n\t d : 'ഒരു ദിവസം',\n\t dd : '%d ദിവസം',\n\t M : 'ഒരു മാസം',\n\t MM : '%d മാസം',\n\t y : 'ഒരു വർഷം',\n\t yy : '%d വർഷം'\n\t },\n\t meridiemParse: /രാത്രി|രാവിലെ|ഉച്ച കഴിഞ്ഞ്|വൈകുന്നേരം|രാത്രി/i,\n\t meridiemHour : function (hour, meridiem) {\n\t if (hour === 12) {\n\t hour = 0;\n\t }\n\t if ((meridiem === 'രാത്രി' && hour >= 4) ||\n\t meridiem === 'ഉച്ച കഴിഞ്ഞ്' ||\n\t meridiem === 'വൈകുന്നേരം') {\n\t return hour + 12;\n\t } else {\n\t return hour;\n\t }\n\t },\n\t meridiem : function (hour, minute, isLower) {\n\t if (hour < 4) {\n\t return 'രാത്രി';\n\t } else if (hour < 12) {\n\t return 'രാവിലെ';\n\t } else if (hour < 17) {\n\t return 'ഉച്ച കഴിഞ്ഞ്';\n\t } else if (hour < 20) {\n\t return 'വൈകുന്നേരം';\n\t } else {\n\t return 'രാത്രി';\n\t }\n\t }\n\t});\n\t\n\treturn ml;\n\t\n\t})));\n\n\n/***/ },\n/* 263 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t//! moment.js locale configuration\n\t//! locale : Marathi [mr]\n\t//! author : Harshad Kale : https://github.com/kalehv\n\t//! author : Vivek Athalye : https://github.com/vnathalye\n\t\n\t;(function (global, factory) {\n\t true ? factory(__webpack_require__(1)) :\n\t typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n\t factory(global.moment)\n\t}(this, (function (moment) { 'use strict';\n\t\n\t\n\tvar symbolMap = {\n\t '1': '१',\n\t '2': '२',\n\t '3': '३',\n\t '4': '४',\n\t '5': '५',\n\t '6': '६',\n\t '7': '७',\n\t '8': '८',\n\t '9': '९',\n\t '0': '०'\n\t};\n\tvar numberMap = {\n\t '१': '1',\n\t '२': '2',\n\t '३': '3',\n\t '४': '4',\n\t '५': '5',\n\t '६': '6',\n\t '७': '7',\n\t '८': '8',\n\t '९': '9',\n\t '०': '0'\n\t};\n\t\n\tfunction relativeTimeMr(number, withoutSuffix, string, isFuture)\n\t{\n\t var output = '';\n\t if (withoutSuffix) {\n\t switch (string) {\n\t case 's': output = 'काही सेकंद'; break;\n\t case 'm': output = 'एक मिनिट'; break;\n\t case 'mm': output = '%d मिनिटे'; break;\n\t case 'h': output = 'एक तास'; break;\n\t case 'hh': output = '%d तास'; break;\n\t case 'd': output = 'एक दिवस'; break;\n\t case 'dd': output = '%d दिवस'; break;\n\t case 'M': output = 'एक महिना'; break;\n\t case 'MM': output = '%d महिने'; break;\n\t case 'y': output = 'एक वर्ष'; break;\n\t case 'yy': output = '%d वर्षे'; break;\n\t }\n\t }\n\t else {\n\t switch (string) {\n\t case 's': output = 'काही सेकंदां'; break;\n\t case 'm': output = 'एका मिनिटा'; break;\n\t case 'mm': output = '%d मिनिटां'; break;\n\t case 'h': output = 'एका तासा'; break;\n\t case 'hh': output = '%d तासां'; break;\n\t case 'd': output = 'एका दिवसा'; break;\n\t case 'dd': output = '%d दिवसां'; break;\n\t case 'M': output = 'एका महिन्या'; break;\n\t case 'MM': output = '%d महिन्यां'; break;\n\t case 'y': output = 'एका वर्षा'; break;\n\t case 'yy': output = '%d वर्षां'; break;\n\t }\n\t }\n\t return output.replace(/%d/i, number);\n\t}\n\t\n\tvar mr = moment.defineLocale('mr', {\n\t months : 'जानेवारी_फेब्रुवारी_मार्च_एप्रिल_मे_जून_जुलै_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर'.split('_'),\n\t monthsShort: 'जाने._फेब्रु._मार्च._एप्रि._मे._जून._जुलै._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.'.split('_'),\n\t monthsParseExact : true,\n\t weekdays : 'रविवार_सोमवार_मंगळवार_बुधवार_गुरूवार_शुक्रवार_शनिवार'.split('_'),\n\t weekdaysShort : 'रवि_सोम_मंगळ_बुध_गुरू_शुक्र_शनि'.split('_'),\n\t weekdaysMin : 'र_सो_मं_बु_गु_शु_श'.split('_'),\n\t longDateFormat : {\n\t LT : 'A h:mm वाजता',\n\t LTS : 'A h:mm:ss वाजता',\n\t L : 'DD/MM/YYYY',\n\t LL : 'D MMMM YYYY',\n\t LLL : 'D MMMM YYYY, A h:mm वाजता',\n\t LLLL : 'dddd, D MMMM YYYY, A h:mm वाजता'\n\t },\n\t calendar : {\n\t sameDay : '[आज] LT',\n\t nextDay : '[उद्या] LT',\n\t nextWeek : 'dddd, LT',\n\t lastDay : '[काल] LT',\n\t lastWeek: '[मागील] dddd, LT',\n\t sameElse : 'L'\n\t },\n\t relativeTime : {\n\t future: '%sमध्ये',\n\t past: '%sपूर्वी',\n\t s: relativeTimeMr,\n\t m: relativeTimeMr,\n\t mm: relativeTimeMr,\n\t h: relativeTimeMr,\n\t hh: relativeTimeMr,\n\t d: relativeTimeMr,\n\t dd: relativeTimeMr,\n\t M: relativeTimeMr,\n\t MM: relativeTimeMr,\n\t y: relativeTimeMr,\n\t yy: relativeTimeMr\n\t },\n\t preparse: function (string) {\n\t return string.replace(/[१२३४५६७८९०]/g, function (match) {\n\t return numberMap[match];\n\t });\n\t },\n\t postformat: function (string) {\n\t return string.replace(/\\d/g, function (match) {\n\t return symbolMap[match];\n\t });\n\t },\n\t meridiemParse: /रात्री|सकाळी|दुपारी|सायंकाळी/,\n\t meridiemHour : function (hour, meridiem) {\n\t if (hour === 12) {\n\t hour = 0;\n\t }\n\t if (meridiem === 'रात्री') {\n\t return hour < 4 ? hour : hour + 12;\n\t } else if (meridiem === 'सकाळी') {\n\t return hour;\n\t } else if (meridiem === 'दुपारी') {\n\t return hour >= 10 ? hour : hour + 12;\n\t } else if (meridiem === 'सायंकाळी') {\n\t return hour + 12;\n\t }\n\t },\n\t meridiem: function (hour, minute, isLower) {\n\t if (hour < 4) {\n\t return 'रात्री';\n\t } else if (hour < 10) {\n\t return 'सकाळी';\n\t } else if (hour < 17) {\n\t return 'दुपारी';\n\t } else if (hour < 20) {\n\t return 'सायंकाळी';\n\t } else {\n\t return 'रात्री';\n\t }\n\t },\n\t week : {\n\t dow : 0, // Sunday is the first day of the week.\n\t doy : 6 // The week that contains Jan 1st is the first week of the year.\n\t }\n\t});\n\t\n\treturn mr;\n\t\n\t})));\n\n\n/***/ },\n/* 264 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t//! moment.js locale configuration\n\t//! locale : Malay [ms-my]\n\t//! note : DEPRECATED, the correct one is [ms]\n\t//! author : Weldan Jamili : https://github.com/weldan\n\t\n\t;(function (global, factory) {\n\t true ? factory(__webpack_require__(1)) :\n\t typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n\t factory(global.moment)\n\t}(this, (function (moment) { 'use strict';\n\t\n\t\n\tvar msMy = moment.defineLocale('ms-my', {\n\t months : 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split('_'),\n\t monthsShort : 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'),\n\t weekdays : 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'),\n\t weekdaysShort : 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'),\n\t weekdaysMin : 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'),\n\t longDateFormat : {\n\t LT : 'HH.mm',\n\t LTS : 'HH.mm.ss',\n\t L : 'DD/MM/YYYY',\n\t LL : 'D MMMM YYYY',\n\t LLL : 'D MMMM YYYY [pukul] HH.mm',\n\t LLLL : 'dddd, D MMMM YYYY [pukul] HH.mm'\n\t },\n\t meridiemParse: /pagi|tengahari|petang|malam/,\n\t meridiemHour: function (hour, meridiem) {\n\t if (hour === 12) {\n\t hour = 0;\n\t }\n\t if (meridiem === 'pagi') {\n\t return hour;\n\t } else if (meridiem === 'tengahari') {\n\t return hour >= 11 ? hour : hour + 12;\n\t } else if (meridiem === 'petang' || meridiem === 'malam') {\n\t return hour + 12;\n\t }\n\t },\n\t meridiem : function (hours, minutes, isLower) {\n\t if (hours < 11) {\n\t return 'pagi';\n\t } else if (hours < 15) {\n\t return 'tengahari';\n\t } else if (hours < 19) {\n\t return 'petang';\n\t } else {\n\t return 'malam';\n\t }\n\t },\n\t calendar : {\n\t sameDay : '[Hari ini pukul] LT',\n\t nextDay : '[Esok pukul] LT',\n\t nextWeek : 'dddd [pukul] LT',\n\t lastDay : '[Kelmarin pukul] LT',\n\t lastWeek : 'dddd [lepas pukul] LT',\n\t sameElse : 'L'\n\t },\n\t relativeTime : {\n\t future : 'dalam %s',\n\t past : '%s yang lepas',\n\t s : 'beberapa saat',\n\t m : 'seminit',\n\t mm : '%d minit',\n\t h : 'sejam',\n\t hh : '%d jam',\n\t d : 'sehari',\n\t dd : '%d hari',\n\t M : 'sebulan',\n\t MM : '%d bulan',\n\t y : 'setahun',\n\t yy : '%d tahun'\n\t },\n\t week : {\n\t dow : 1, // Monday is the first day of the week.\n\t doy : 7 // The week that contains Jan 1st is the first week of the year.\n\t }\n\t});\n\t\n\treturn msMy;\n\t\n\t})));\n\n\n/***/ },\n/* 265 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t//! moment.js locale configuration\n\t//! locale : Malay [ms]\n\t//! author : Weldan Jamili : https://github.com/weldan\n\t\n\t;(function (global, factory) {\n\t true ? factory(__webpack_require__(1)) :\n\t typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n\t factory(global.moment)\n\t}(this, (function (moment) { 'use strict';\n\t\n\t\n\tvar ms = moment.defineLocale('ms', {\n\t months : 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split('_'),\n\t monthsShort : 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'),\n\t weekdays : 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'),\n\t weekdaysShort : 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'),\n\t weekdaysMin : 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'),\n\t longDateFormat : {\n\t LT : 'HH.mm',\n\t LTS : 'HH.mm.ss',\n\t L : 'DD/MM/YYYY',\n\t LL : 'D MMMM YYYY',\n\t LLL : 'D MMMM YYYY [pukul] HH.mm',\n\t LLLL : 'dddd, D MMMM YYYY [pukul] HH.mm'\n\t },\n\t meridiemParse: /pagi|tengahari|petang|malam/,\n\t meridiemHour: function (hour, meridiem) {\n\t if (hour === 12) {\n\t hour = 0;\n\t }\n\t if (meridiem === 'pagi') {\n\t return hour;\n\t } else if (meridiem === 'tengahari') {\n\t return hour >= 11 ? hour : hour + 12;\n\t } else if (meridiem === 'petang' || meridiem === 'malam') {\n\t return hour + 12;\n\t }\n\t },\n\t meridiem : function (hours, minutes, isLower) {\n\t if (hours < 11) {\n\t return 'pagi';\n\t } else if (hours < 15) {\n\t return 'tengahari';\n\t } else if (hours < 19) {\n\t return 'petang';\n\t } else {\n\t return 'malam';\n\t }\n\t },\n\t calendar : {\n\t sameDay : '[Hari ini pukul] LT',\n\t nextDay : '[Esok pukul] LT',\n\t nextWeek : 'dddd [pukul] LT',\n\t lastDay : '[Kelmarin pukul] LT',\n\t lastWeek : 'dddd [lepas pukul] LT',\n\t sameElse : 'L'\n\t },\n\t relativeTime : {\n\t future : 'dalam %s',\n\t past : '%s yang lepas',\n\t s : 'beberapa saat',\n\t m : 'seminit',\n\t mm : '%d minit',\n\t h : 'sejam',\n\t hh : '%d jam',\n\t d : 'sehari',\n\t dd : '%d hari',\n\t M : 'sebulan',\n\t MM : '%d bulan',\n\t y : 'setahun',\n\t yy : '%d tahun'\n\t },\n\t week : {\n\t dow : 1, // Monday is the first day of the week.\n\t doy : 7 // The week that contains Jan 1st is the first week of the year.\n\t }\n\t});\n\t\n\treturn ms;\n\t\n\t})));\n\n\n/***/ },\n/* 266 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t//! moment.js locale configuration\n\t//! locale : Burmese [my]\n\t//! author : Squar team, mysquar.com\n\t//! author : David Rossellat : https://github.com/gholadr\n\t//! author : Tin Aung Lin : https://github.com/thanyawzinmin\n\t\n\t;(function (global, factory) {\n\t true ? factory(__webpack_require__(1)) :\n\t typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n\t factory(global.moment)\n\t}(this, (function (moment) { 'use strict';\n\t\n\t\n\tvar symbolMap = {\n\t '1': '၁',\n\t '2': '၂',\n\t '3': '၃',\n\t '4': '၄',\n\t '5': '၅',\n\t '6': '၆',\n\t '7': '၇',\n\t '8': '၈',\n\t '9': '၉',\n\t '0': '၀'\n\t};\n\tvar numberMap = {\n\t '၁': '1',\n\t '၂': '2',\n\t '၃': '3',\n\t '၄': '4',\n\t '၅': '5',\n\t '၆': '6',\n\t '၇': '7',\n\t '၈': '8',\n\t '၉': '9',\n\t '၀': '0'\n\t};\n\t\n\tvar my = moment.defineLocale('my', {\n\t months: 'ဇန်နဝါရီ_ဖေဖော်ဝါရီ_မတ်_ဧပြီ_မေ_ဇွန်_ဇူလိုင်_သြဂုတ်_စက်တင်ဘာ_အောက်တိုဘာ_နိုဝင်ဘာ_ဒီဇင်ဘာ'.split('_'),\n\t monthsShort: 'ဇန်_ဖေ_မတ်_ပြီ_မေ_ဇွန်_လိုင်_သြ_စက်_အောက်_နို_ဒီ'.split('_'),\n\t weekdays: 'တနင်္ဂနွေ_တနင်္လာ_အင်္ဂါ_ဗုဒ္ဓဟူး_ကြာသပတေး_သောကြာ_စနေ'.split('_'),\n\t weekdaysShort: 'နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ'.split('_'),\n\t weekdaysMin: 'နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ'.split('_'),\n\t\n\t longDateFormat: {\n\t LT: 'HH:mm',\n\t LTS: 'HH:mm:ss',\n\t L: 'DD/MM/YYYY',\n\t LL: 'D MMMM YYYY',\n\t LLL: 'D MMMM YYYY HH:mm',\n\t LLLL: 'dddd D MMMM YYYY HH:mm'\n\t },\n\t calendar: {\n\t sameDay: '[ယနေ.] LT [မှာ]',\n\t nextDay: '[မနက်ဖြန်] LT [မှာ]',\n\t nextWeek: 'dddd LT [မှာ]',\n\t lastDay: '[မနေ.က] LT [မှာ]',\n\t lastWeek: '[ပြီးခဲ့သော] dddd LT [မှာ]',\n\t sameElse: 'L'\n\t },\n\t relativeTime: {\n\t future: 'လာမည့် %s မှာ',\n\t past: 'လွန်ခဲ့သော %s က',\n\t s: 'စက္ကန်.အနည်းငယ်',\n\t m: 'တစ်မိနစ်',\n\t mm: '%d မိနစ်',\n\t h: 'တစ်နာရီ',\n\t hh: '%d နာရီ',\n\t d: 'တစ်ရက်',\n\t dd: '%d ရက်',\n\t M: 'တစ်လ',\n\t MM: '%d လ',\n\t y: 'တစ်နှစ်',\n\t yy: '%d နှစ်'\n\t },\n\t preparse: function (string) {\n\t return string.replace(/[၁၂၃၄၅၆၇၈၉၀]/g, function (match) {\n\t return numberMap[match];\n\t });\n\t },\n\t postformat: function (string) {\n\t return string.replace(/\\d/g, function (match) {\n\t return symbolMap[match];\n\t });\n\t },\n\t week: {\n\t dow: 1, // Monday is the first day of the week.\n\t doy: 4 // The week that contains Jan 1st is the first week of the year.\n\t }\n\t});\n\t\n\treturn my;\n\t\n\t})));\n\n\n/***/ },\n/* 267 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t//! moment.js locale configuration\n\t//! locale : Norwegian Bokmål [nb]\n\t//! authors : Espen Hovlandsdal : https://github.com/rexxars\n\t//! Sigurd Gartmann : https://github.com/sigurdga\n\t\n\t;(function (global, factory) {\n\t true ? factory(__webpack_require__(1)) :\n\t typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n\t factory(global.moment)\n\t}(this, (function (moment) { 'use strict';\n\t\n\t\n\tvar nb = moment.defineLocale('nb', {\n\t months : 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split('_'),\n\t monthsShort : 'jan._feb._mars_april_mai_juni_juli_aug._sep._okt._nov._des.'.split('_'),\n\t monthsParseExact : true,\n\t weekdays : 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'),\n\t weekdaysShort : 'sø._ma._ti._on._to._fr._lø.'.split('_'),\n\t weekdaysMin : 'sø_ma_ti_on_to_fr_lø'.split('_'),\n\t weekdaysParseExact : true,\n\t longDateFormat : {\n\t LT : 'HH:mm',\n\t LTS : 'HH:mm:ss',\n\t L : 'DD.MM.YYYY',\n\t LL : 'D. MMMM YYYY',\n\t LLL : 'D. MMMM YYYY [kl.] HH:mm',\n\t LLLL : 'dddd D. MMMM YYYY [kl.] HH:mm'\n\t },\n\t calendar : {\n\t sameDay: '[i dag kl.] LT',\n\t nextDay: '[i morgen kl.] LT',\n\t nextWeek: 'dddd [kl.] LT',\n\t lastDay: '[i går kl.] LT',\n\t lastWeek: '[forrige] dddd [kl.] LT',\n\t sameElse: 'L'\n\t },\n\t relativeTime : {\n\t future : 'om %s',\n\t past : '%s siden',\n\t s : 'noen sekunder',\n\t m : 'ett minutt',\n\t mm : '%d minutter',\n\t h : 'en time',\n\t hh : '%d timer',\n\t d : 'en dag',\n\t dd : '%d dager',\n\t M : 'en måned',\n\t MM : '%d måneder',\n\t y : 'ett år',\n\t yy : '%d år'\n\t },\n\t ordinalParse: /\\d{1,2}\\./,\n\t ordinal : '%d.',\n\t week : {\n\t dow : 1, // Monday is the first day of the week.\n\t doy : 4 // The week that contains Jan 4th is the first week of the year.\n\t }\n\t});\n\t\n\treturn nb;\n\t\n\t})));\n\n\n/***/ },\n/* 268 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t//! moment.js locale configuration\n\t//! locale : Nepalese [ne]\n\t//! author : suvash : https://github.com/suvash\n\t\n\t;(function (global, factory) {\n\t true ? factory(__webpack_require__(1)) :\n\t typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n\t factory(global.moment)\n\t}(this, (function (moment) { 'use strict';\n\t\n\t\n\tvar symbolMap = {\n\t '1': '१',\n\t '2': '२',\n\t '3': '३',\n\t '4': '४',\n\t '5': '५',\n\t '6': '६',\n\t '7': '७',\n\t '8': '८',\n\t '9': '९',\n\t '0': '०'\n\t};\n\tvar numberMap = {\n\t '१': '1',\n\t '२': '2',\n\t '३': '3',\n\t '४': '4',\n\t '५': '5',\n\t '६': '6',\n\t '७': '7',\n\t '८': '8',\n\t '९': '9',\n\t '०': '0'\n\t};\n\t\n\tvar ne = moment.defineLocale('ne', {\n\t months : 'जनवरी_फेब्रुवरी_मार्च_अप्रिल_मई_जुन_जुलाई_अगष्ट_सेप्टेम्बर_अक्टोबर_नोभेम्बर_डिसेम्बर'.split('_'),\n\t monthsShort : 'जन._फेब्रु._मार्च_अप्रि._मई_जुन_जुलाई._अग._सेप्ट._अक्टो._नोभे._डिसे.'.split('_'),\n\t monthsParseExact : true,\n\t weekdays : 'आइतबार_सोमबार_मङ्गलबार_बुधबार_बिहिबार_शुक्रबार_शनिबार'.split('_'),\n\t weekdaysShort : 'आइत._सोम._मङ्गल._बुध._बिहि._शुक्र._शनि.'.split('_'),\n\t weekdaysMin : 'आ._सो._मं._बु._बि._शु._श.'.split('_'),\n\t weekdaysParseExact : true,\n\t longDateFormat : {\n\t LT : 'Aको h:mm बजे',\n\t LTS : 'Aको h:mm:ss बजे',\n\t L : 'DD/MM/YYYY',\n\t LL : 'D MMMM YYYY',\n\t LLL : 'D MMMM YYYY, Aको h:mm बजे',\n\t LLLL : 'dddd, D MMMM YYYY, Aको h:mm बजे'\n\t },\n\t preparse: function (string) {\n\t return string.replace(/[१२३४५६७८९०]/g, function (match) {\n\t return numberMap[match];\n\t });\n\t },\n\t postformat: function (string) {\n\t return string.replace(/\\d/g, function (match) {\n\t return symbolMap[match];\n\t });\n\t },\n\t meridiemParse: /राति|बिहान|दिउँसो|साँझ/,\n\t meridiemHour : function (hour, meridiem) {\n\t if (hour === 12) {\n\t hour = 0;\n\t }\n\t if (meridiem === 'राति') {\n\t return hour < 4 ? hour : hour + 12;\n\t } else if (meridiem === 'बिहान') {\n\t return hour;\n\t } else if (meridiem === 'दिउँसो') {\n\t return hour >= 10 ? hour : hour + 12;\n\t } else if (meridiem === 'साँझ') {\n\t return hour + 12;\n\t }\n\t },\n\t meridiem : function (hour, minute, isLower) {\n\t if (hour < 3) {\n\t return 'राति';\n\t } else if (hour < 12) {\n\t return 'बिहान';\n\t } else if (hour < 16) {\n\t return 'दिउँसो';\n\t } else if (hour < 20) {\n\t return 'साँझ';\n\t } else {\n\t return 'राति';\n\t }\n\t },\n\t calendar : {\n\t sameDay : '[आज] LT',\n\t nextDay : '[भोलि] LT',\n\t nextWeek : '[आउँदो] dddd[,] LT',\n\t lastDay : '[हिजो] LT',\n\t lastWeek : '[गएको] dddd[,] LT',\n\t sameElse : 'L'\n\t },\n\t relativeTime : {\n\t future : '%sमा',\n\t past : '%s अगाडि',\n\t s : 'केही क्षण',\n\t m : 'एक मिनेट',\n\t mm : '%d मिनेट',\n\t h : 'एक घण्टा',\n\t hh : '%d घण्टा',\n\t d : 'एक दिन',\n\t dd : '%d दिन',\n\t M : 'एक महिना',\n\t MM : '%d महिना',\n\t y : 'एक बर्ष',\n\t yy : '%d बर्ष'\n\t },\n\t week : {\n\t dow : 0, // Sunday is the first day of the week.\n\t doy : 6 // The week that contains Jan 1st is the first week of the year.\n\t }\n\t});\n\t\n\treturn ne;\n\t\n\t})));\n\n\n/***/ },\n/* 269 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t//! moment.js locale configuration\n\t//! locale : Dutch (Belgium) [nl-be]\n\t//! author : Joris Röling : https://github.com/jorisroling\n\t//! author : Jacob Middag : https://github.com/middagj\n\t\n\t;(function (global, factory) {\n\t true ? factory(__webpack_require__(1)) :\n\t typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n\t factory(global.moment)\n\t}(this, (function (moment) { 'use strict';\n\t\n\t\n\tvar monthsShortWithDots = 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split('_');\n\tvar monthsShortWithoutDots = 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split('_');\n\t\n\tvar monthsParse = [/^jan/i, /^feb/i, /^maart|mrt.?$/i, /^apr/i, /^mei$/i, /^jun[i.]?$/i, /^jul[i.]?$/i, /^aug/i, /^sep/i, /^okt/i, /^nov/i, /^dec/i];\n\tvar monthsRegex = /^(januari|februari|maart|april|mei|april|ju[nl]i|augustus|september|oktober|november|december|jan\\.?|feb\\.?|mrt\\.?|apr\\.?|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i;\n\t\n\tvar nlBe = moment.defineLocale('nl-be', {\n\t months : 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split('_'),\n\t monthsShort : function (m, format) {\n\t if (/-MMM-/.test(format)) {\n\t return monthsShortWithoutDots[m.month()];\n\t } else {\n\t return monthsShortWithDots[m.month()];\n\t }\n\t },\n\t\n\t monthsRegex: monthsRegex,\n\t monthsShortRegex: monthsRegex,\n\t monthsStrictRegex: /^(januari|februari|maart|mei|ju[nl]i|april|augustus|september|oktober|november|december)/i,\n\t monthsShortStrictRegex: /^(jan\\.?|feb\\.?|mrt\\.?|apr\\.?|mei|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i,\n\t\n\t monthsParse : monthsParse,\n\t longMonthsParse : monthsParse,\n\t shortMonthsParse : monthsParse,\n\t\n\t weekdays : 'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split('_'),\n\t weekdaysShort : 'zo._ma._di._wo._do._vr._za.'.split('_'),\n\t weekdaysMin : 'Zo_Ma_Di_Wo_Do_Vr_Za'.split('_'),\n\t weekdaysParseExact : true,\n\t longDateFormat : {\n\t LT : 'HH:mm',\n\t LTS : 'HH:mm:ss',\n\t L : 'DD/MM/YYYY',\n\t LL : 'D MMMM YYYY',\n\t LLL : 'D MMMM YYYY HH:mm',\n\t LLLL : 'dddd D MMMM YYYY HH:mm'\n\t },\n\t calendar : {\n\t sameDay: '[vandaag om] LT',\n\t nextDay: '[morgen om] LT',\n\t nextWeek: 'dddd [om] LT',\n\t lastDay: '[gisteren om] LT',\n\t lastWeek: '[afgelopen] dddd [om] LT',\n\t sameElse: 'L'\n\t },\n\t relativeTime : {\n\t future : 'over %s',\n\t past : '%s geleden',\n\t s : 'een paar seconden',\n\t m : 'één minuut',\n\t mm : '%d minuten',\n\t h : 'één uur',\n\t hh : '%d uur',\n\t d : 'één dag',\n\t dd : '%d dagen',\n\t M : 'één maand',\n\t MM : '%d maanden',\n\t y : 'één jaar',\n\t yy : '%d jaar'\n\t },\n\t ordinalParse: /\\d{1,2}(ste|de)/,\n\t ordinal : function (number) {\n\t return number + ((number === 1 || number === 8 || number >= 20) ? 'ste' : 'de');\n\t },\n\t week : {\n\t dow : 1, // Monday is the first day of the week.\n\t doy : 4 // The week that contains Jan 4th is the first week of the year.\n\t }\n\t});\n\t\n\treturn nlBe;\n\t\n\t})));\n\n\n/***/ },\n/* 270 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t//! moment.js locale configuration\n\t//! locale : Dutch [nl]\n\t//! author : Joris Röling : https://github.com/jorisroling\n\t//! author : Jacob Middag : https://github.com/middagj\n\t\n\t;(function (global, factory) {\n\t true ? factory(__webpack_require__(1)) :\n\t typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n\t factory(global.moment)\n\t}(this, (function (moment) { 'use strict';\n\t\n\t\n\tvar monthsShortWithDots = 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split('_');\n\tvar monthsShortWithoutDots = 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split('_');\n\t\n\tvar monthsParse = [/^jan/i, /^feb/i, /^maart|mrt.?$/i, /^apr/i, /^mei$/i, /^jun[i.]?$/i, /^jul[i.]?$/i, /^aug/i, /^sep/i, /^okt/i, /^nov/i, /^dec/i];\n\tvar monthsRegex = /^(januari|februari|maart|april|mei|april|ju[nl]i|augustus|september|oktober|november|december|jan\\.?|feb\\.?|mrt\\.?|apr\\.?|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i;\n\t\n\tvar nl = moment.defineLocale('nl', {\n\t months : 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split('_'),\n\t monthsShort : function (m, format) {\n\t if (/-MMM-/.test(format)) {\n\t return monthsShortWithoutDots[m.month()];\n\t } else {\n\t return monthsShortWithDots[m.month()];\n\t }\n\t },\n\t\n\t monthsRegex: monthsRegex,\n\t monthsShortRegex: monthsRegex,\n\t monthsStrictRegex: /^(januari|februari|maart|mei|ju[nl]i|april|augustus|september|oktober|november|december)/i,\n\t monthsShortStrictRegex: /^(jan\\.?|feb\\.?|mrt\\.?|apr\\.?|mei|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i,\n\t\n\t monthsParse : monthsParse,\n\t longMonthsParse : monthsParse,\n\t shortMonthsParse : monthsParse,\n\t\n\t weekdays : 'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split('_'),\n\t weekdaysShort : 'zo._ma._di._wo._do._vr._za.'.split('_'),\n\t weekdaysMin : 'Zo_Ma_Di_Wo_Do_Vr_Za'.split('_'),\n\t weekdaysParseExact : true,\n\t longDateFormat : {\n\t LT : 'HH:mm',\n\t LTS : 'HH:mm:ss',\n\t L : 'DD-MM-YYYY',\n\t LL : 'D MMMM YYYY',\n\t LLL : 'D MMMM YYYY HH:mm',\n\t LLLL : 'dddd D MMMM YYYY HH:mm'\n\t },\n\t calendar : {\n\t sameDay: '[vandaag om] LT',\n\t nextDay: '[morgen om] LT',\n\t nextWeek: 'dddd [om] LT',\n\t lastDay: '[gisteren om] LT',\n\t lastWeek: '[afgelopen] dddd [om] LT',\n\t sameElse: 'L'\n\t },\n\t relativeTime : {\n\t future : 'over %s',\n\t past : '%s geleden',\n\t s : 'een paar seconden',\n\t m : 'één minuut',\n\t mm : '%d minuten',\n\t h : 'één uur',\n\t hh : '%d uur',\n\t d : 'één dag',\n\t dd : '%d dagen',\n\t M : 'één maand',\n\t MM : '%d maanden',\n\t y : 'één jaar',\n\t yy : '%d jaar'\n\t },\n\t ordinalParse: /\\d{1,2}(ste|de)/,\n\t ordinal : function (number) {\n\t return number + ((number === 1 || number === 8 || number >= 20) ? 'ste' : 'de');\n\t },\n\t week : {\n\t dow : 1, // Monday is the first day of the week.\n\t doy : 4 // The week that contains Jan 4th is the first week of the year.\n\t }\n\t});\n\t\n\treturn nl;\n\t\n\t})));\n\n\n/***/ },\n/* 271 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t//! moment.js locale configuration\n\t//! locale : Nynorsk [nn]\n\t//! author : https://github.com/mechuwind\n\t\n\t;(function (global, factory) {\n\t true ? factory(__webpack_require__(1)) :\n\t typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n\t factory(global.moment)\n\t}(this, (function (moment) { 'use strict';\n\t\n\t\n\tvar nn = moment.defineLocale('nn', {\n\t months : 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split('_'),\n\t monthsShort : 'jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_'),\n\t weekdays : 'sundag_måndag_tysdag_onsdag_torsdag_fredag_laurdag'.split('_'),\n\t weekdaysShort : 'sun_mån_tys_ons_tor_fre_lau'.split('_'),\n\t weekdaysMin : 'su_må_ty_on_to_fr_lø'.split('_'),\n\t longDateFormat : {\n\t LT : 'HH:mm',\n\t LTS : 'HH:mm:ss',\n\t L : 'DD.MM.YYYY',\n\t LL : 'D. MMMM YYYY',\n\t LLL : 'D. MMMM YYYY [kl.] H:mm',\n\t LLLL : 'dddd D. MMMM YYYY [kl.] HH:mm'\n\t },\n\t calendar : {\n\t sameDay: '[I dag klokka] LT',\n\t nextDay: '[I morgon klokka] LT',\n\t nextWeek: 'dddd [klokka] LT',\n\t lastDay: '[I går klokka] LT',\n\t lastWeek: '[Føregåande] dddd [klokka] LT',\n\t sameElse: 'L'\n\t },\n\t relativeTime : {\n\t future : 'om %s',\n\t past : '%s sidan',\n\t s : 'nokre sekund',\n\t m : 'eit minutt',\n\t mm : '%d minutt',\n\t h : 'ein time',\n\t hh : '%d timar',\n\t d : 'ein dag',\n\t dd : '%d dagar',\n\t M : 'ein månad',\n\t MM : '%d månader',\n\t y : 'eit år',\n\t yy : '%d år'\n\t },\n\t ordinalParse: /\\d{1,2}\\./,\n\t ordinal : '%d.',\n\t week : {\n\t dow : 1, // Monday is the first day of the week.\n\t doy : 4 // The week that contains Jan 4th is the first week of the year.\n\t }\n\t});\n\t\n\treturn nn;\n\t\n\t})));\n\n\n/***/ },\n/* 272 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t//! moment.js locale configuration\n\t//! locale : Punjabi (India) [pa-in]\n\t//! author : Harpreet Singh : https://github.com/harpreetkhalsagtbit\n\t\n\t;(function (global, factory) {\n\t true ? factory(__webpack_require__(1)) :\n\t typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n\t factory(global.moment)\n\t}(this, (function (moment) { 'use strict';\n\t\n\t\n\tvar symbolMap = {\n\t '1': '੧',\n\t '2': '੨',\n\t '3': '੩',\n\t '4': '੪',\n\t '5': '੫',\n\t '6': '੬',\n\t '7': '੭',\n\t '8': '੮',\n\t '9': '੯',\n\t '0': '੦'\n\t};\n\tvar numberMap = {\n\t '੧': '1',\n\t '੨': '2',\n\t '੩': '3',\n\t '੪': '4',\n\t '੫': '5',\n\t '੬': '6',\n\t '੭': '7',\n\t '੮': '8',\n\t '੯': '9',\n\t '੦': '0'\n\t};\n\t\n\tvar paIn = moment.defineLocale('pa-in', {\n\t // There are months name as per Nanakshahi Calender but they are not used as rigidly in modern Punjabi.\n\t months : 'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split('_'),\n\t monthsShort : 'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split('_'),\n\t weekdays : 'ਐਤਵਾਰ_ਸੋਮਵਾਰ_ਮੰਗਲਵਾਰ_ਬੁਧਵਾਰ_ਵੀਰਵਾਰ_ਸ਼ੁੱਕਰਵਾਰ_ਸ਼ਨੀਚਰਵਾਰ'.split('_'),\n\t weekdaysShort : 'ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ'.split('_'),\n\t weekdaysMin : 'ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ'.split('_'),\n\t longDateFormat : {\n\t LT : 'A h:mm ਵਜੇ',\n\t LTS : 'A h:mm:ss ਵਜੇ',\n\t L : 'DD/MM/YYYY',\n\t LL : 'D MMMM YYYY',\n\t LLL : 'D MMMM YYYY, A h:mm ਵਜੇ',\n\t LLLL : 'dddd, D MMMM YYYY, A h:mm ਵਜੇ'\n\t },\n\t calendar : {\n\t sameDay : '[ਅਜ] LT',\n\t nextDay : '[ਕਲ] LT',\n\t nextWeek : 'dddd, LT',\n\t lastDay : '[ਕਲ] LT',\n\t lastWeek : '[ਪਿਛਲੇ] dddd, LT',\n\t sameElse : 'L'\n\t },\n\t relativeTime : {\n\t future : '%s ਵਿੱਚ',\n\t past : '%s ਪਿਛਲੇ',\n\t s : 'ਕੁਝ ਸਕਿੰਟ',\n\t m : 'ਇਕ ਮਿੰਟ',\n\t mm : '%d ਮਿੰਟ',\n\t h : 'ਇੱਕ ਘੰਟਾ',\n\t hh : '%d ਘੰਟੇ',\n\t d : 'ਇੱਕ ਦਿਨ',\n\t dd : '%d ਦਿਨ',\n\t M : 'ਇੱਕ ਮਹੀਨਾ',\n\t MM : '%d ਮਹੀਨੇ',\n\t y : 'ਇੱਕ ਸਾਲ',\n\t yy : '%d ਸਾਲ'\n\t },\n\t preparse: function (string) {\n\t return string.replace(/[੧੨੩੪੫੬੭੮੯੦]/g, function (match) {\n\t return numberMap[match];\n\t });\n\t },\n\t postformat: function (string) {\n\t return string.replace(/\\d/g, function (match) {\n\t return symbolMap[match];\n\t });\n\t },\n\t // Punjabi notation for meridiems are quite fuzzy in practice. While there exists\n\t // a rigid notion of a 'Pahar' it is not used as rigidly in modern Punjabi.\n\t meridiemParse: /ਰਾਤ|ਸਵੇਰ|ਦੁਪਹਿਰ|ਸ਼ਾਮ/,\n\t meridiemHour : function (hour, meridiem) {\n\t if (hour === 12) {\n\t hour = 0;\n\t }\n\t if (meridiem === 'ਰਾਤ') {\n\t return hour < 4 ? hour : hour + 12;\n\t } else if (meridiem === 'ਸਵੇਰ') {\n\t return hour;\n\t } else if (meridiem === 'ਦੁਪਹਿਰ') {\n\t return hour >= 10 ? hour : hour + 12;\n\t } else if (meridiem === 'ਸ਼ਾਮ') {\n\t return hour + 12;\n\t }\n\t },\n\t meridiem : function (hour, minute, isLower) {\n\t if (hour < 4) {\n\t return 'ਰਾਤ';\n\t } else if (hour < 10) {\n\t return 'ਸਵੇਰ';\n\t } else if (hour < 17) {\n\t return 'ਦੁਪਹਿਰ';\n\t } else if (hour < 20) {\n\t return 'ਸ਼ਾਮ';\n\t } else {\n\t return 'ਰਾਤ';\n\t }\n\t },\n\t week : {\n\t dow : 0, // Sunday is the first day of the week.\n\t doy : 6 // The week that contains Jan 1st is the first week of the year.\n\t }\n\t});\n\t\n\treturn paIn;\n\t\n\t})));\n\n\n/***/ },\n/* 273 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t//! moment.js locale configuration\n\t//! locale : Polish [pl]\n\t//! author : Rafal Hirsz : https://github.com/evoL\n\t\n\t;(function (global, factory) {\n\t true ? factory(__webpack_require__(1)) :\n\t typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n\t factory(global.moment)\n\t}(this, (function (moment) { 'use strict';\n\t\n\t\n\tvar monthsNominative = 'styczeń_luty_marzec_kwiecień_maj_czerwiec_lipiec_sierpień_wrzesień_październik_listopad_grudzień'.split('_');\n\tvar monthsSubjective = 'stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_września_października_listopada_grudnia'.split('_');\n\tfunction plural(n) {\n\t return (n % 10 < 5) && (n % 10 > 1) && ((~~(n / 10) % 10) !== 1);\n\t}\n\tfunction translate(number, withoutSuffix, key) {\n\t var result = number + ' ';\n\t switch (key) {\n\t case 'm':\n\t return withoutSuffix ? 'minuta' : 'minutę';\n\t case 'mm':\n\t return result + (plural(number) ? 'minuty' : 'minut');\n\t case 'h':\n\t return withoutSuffix ? 'godzina' : 'godzinę';\n\t case 'hh':\n\t return result + (plural(number) ? 'godziny' : 'godzin');\n\t case 'MM':\n\t return result + (plural(number) ? 'miesiące' : 'miesięcy');\n\t case 'yy':\n\t return result + (plural(number) ? 'lata' : 'lat');\n\t }\n\t}\n\t\n\tvar pl = moment.defineLocale('pl', {\n\t months : function (momentToFormat, format) {\n\t if (format === '') {\n\t // Hack: if format empty we know this is used to generate\n\t // RegExp by moment. Give then back both valid forms of months\n\t // in RegExp ready format.\n\t return '(' + monthsSubjective[momentToFormat.month()] + '|' + monthsNominative[momentToFormat.month()] + ')';\n\t } else if (/D MMMM/.test(format)) {\n\t return monthsSubjective[momentToFormat.month()];\n\t } else {\n\t return monthsNominative[momentToFormat.month()];\n\t }\n\t },\n\t monthsShort : 'sty_lut_mar_kwi_maj_cze_lip_sie_wrz_paź_lis_gru'.split('_'),\n\t weekdays : 'niedziela_poniedziałek_wtorek_środa_czwartek_piątek_sobota'.split('_'),\n\t weekdaysShort : 'ndz_pon_wt_śr_czw_pt_sob'.split('_'),\n\t weekdaysMin : 'Nd_Pn_Wt_Śr_Cz_Pt_So'.split('_'),\n\t longDateFormat : {\n\t LT : 'HH:mm',\n\t LTS : 'HH:mm:ss',\n\t L : 'DD.MM.YYYY',\n\t LL : 'D MMMM YYYY',\n\t LLL : 'D MMMM YYYY HH:mm',\n\t LLLL : 'dddd, D MMMM YYYY HH:mm'\n\t },\n\t calendar : {\n\t sameDay: '[Dziś o] LT',\n\t nextDay: '[Jutro o] LT',\n\t nextWeek: '[W] dddd [o] LT',\n\t lastDay: '[Wczoraj o] LT',\n\t lastWeek: function () {\n\t switch (this.day()) {\n\t case 0:\n\t return '[W zeszłą niedzielę o] LT';\n\t case 3:\n\t return '[W zeszłą środę o] LT';\n\t case 6:\n\t return '[W zeszłą sobotę o] LT';\n\t default:\n\t return '[W zeszły] dddd [o] LT';\n\t }\n\t },\n\t sameElse: 'L'\n\t },\n\t relativeTime : {\n\t future : 'za %s',\n\t past : '%s temu',\n\t s : 'kilka sekund',\n\t m : translate,\n\t mm : translate,\n\t h : translate,\n\t hh : translate,\n\t d : '1 dzień',\n\t dd : '%d dni',\n\t M : 'miesiąc',\n\t MM : translate,\n\t y : 'rok',\n\t yy : translate\n\t },\n\t ordinalParse: /\\d{1,2}\\./,\n\t ordinal : '%d.',\n\t week : {\n\t dow : 1, // Monday is the first day of the week.\n\t doy : 4 // The week that contains Jan 4th is the first week of the year.\n\t }\n\t});\n\t\n\treturn pl;\n\t\n\t})));\n\n\n/***/ },\n/* 274 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t//! moment.js locale configuration\n\t//! locale : Portuguese (Brazil) [pt-br]\n\t//! author : Caio Ribeiro Pereira : https://github.com/caio-ribeiro-pereira\n\t\n\t;(function (global, factory) {\n\t true ? factory(__webpack_require__(1)) :\n\t typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n\t factory(global.moment)\n\t}(this, (function (moment) { 'use strict';\n\t\n\t\n\tvar ptBr = moment.defineLocale('pt-br', {\n\t months : 'Janeiro_Fevereiro_Março_Abril_Maio_Junho_Julho_Agosto_Setembro_Outubro_Novembro_Dezembro'.split('_'),\n\t monthsShort : 'Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez'.split('_'),\n\t weekdays : 'Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado'.split('_'),\n\t weekdaysShort : 'Dom_Seg_Ter_Qua_Qui_Sex_Sáb'.split('_'),\n\t weekdaysMin : 'Dom_2ª_3ª_4ª_5ª_6ª_Sáb'.split('_'),\n\t weekdaysParseExact : true,\n\t longDateFormat : {\n\t LT : 'HH:mm',\n\t LTS : 'HH:mm:ss',\n\t L : 'DD/MM/YYYY',\n\t LL : 'D [de] MMMM [de] YYYY',\n\t LLL : 'D [de] MMMM [de] YYYY [às] HH:mm',\n\t LLLL : 'dddd, D [de] MMMM [de] YYYY [às] HH:mm'\n\t },\n\t calendar : {\n\t sameDay: '[Hoje às] LT',\n\t nextDay: '[Amanhã às] LT',\n\t nextWeek: 'dddd [às] LT',\n\t lastDay: '[Ontem às] LT',\n\t lastWeek: function () {\n\t return (this.day() === 0 || this.day() === 6) ?\n\t '[Último] dddd [às] LT' : // Saturday + Sunday\n\t '[Última] dddd [às] LT'; // Monday - Friday\n\t },\n\t sameElse: 'L'\n\t },\n\t relativeTime : {\n\t future : 'em %s',\n\t past : '%s atrás',\n\t s : 'poucos segundos',\n\t m : 'um minuto',\n\t mm : '%d minutos',\n\t h : 'uma hora',\n\t hh : '%d horas',\n\t d : 'um dia',\n\t dd : '%d dias',\n\t M : 'um mês',\n\t MM : '%d meses',\n\t y : 'um ano',\n\t yy : '%d anos'\n\t },\n\t ordinalParse: /\\d{1,2}º/,\n\t ordinal : '%dº'\n\t});\n\t\n\treturn ptBr;\n\t\n\t})));\n\n\n/***/ },\n/* 275 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t//! moment.js locale configuration\n\t//! locale : Portuguese [pt]\n\t//! author : Jefferson : https://github.com/jalex79\n\t\n\t;(function (global, factory) {\n\t true ? factory(__webpack_require__(1)) :\n\t typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n\t factory(global.moment)\n\t}(this, (function (moment) { 'use strict';\n\t\n\t\n\tvar pt = moment.defineLocale('pt', {\n\t months : 'Janeiro_Fevereiro_Março_Abril_Maio_Junho_Julho_Agosto_Setembro_Outubro_Novembro_Dezembro'.split('_'),\n\t monthsShort : 'Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez'.split('_'),\n\t weekdays : 'Domingo_Segunda-Feira_Terça-Feira_Quarta-Feira_Quinta-Feira_Sexta-Feira_Sábado'.split('_'),\n\t weekdaysShort : 'Dom_Seg_Ter_Qua_Qui_Sex_Sáb'.split('_'),\n\t weekdaysMin : 'Dom_2ª_3ª_4ª_5ª_6ª_Sáb'.split('_'),\n\t weekdaysParseExact : true,\n\t longDateFormat : {\n\t LT : 'HH:mm',\n\t LTS : 'HH:mm:ss',\n\t L : 'DD/MM/YYYY',\n\t LL : 'D [de] MMMM [de] YYYY',\n\t LLL : 'D [de] MMMM [de] YYYY HH:mm',\n\t LLLL : 'dddd, D [de] MMMM [de] YYYY HH:mm'\n\t },\n\t calendar : {\n\t sameDay: '[Hoje às] LT',\n\t nextDay: '[Amanhã às] LT',\n\t nextWeek: 'dddd [às] LT',\n\t lastDay: '[Ontem às] LT',\n\t lastWeek: function () {\n\t return (this.day() === 0 || this.day() === 6) ?\n\t '[Último] dddd [às] LT' : // Saturday + Sunday\n\t '[Última] dddd [às] LT'; // Monday - Friday\n\t },\n\t sameElse: 'L'\n\t },\n\t relativeTime : {\n\t future : 'em %s',\n\t past : 'há %s',\n\t s : 'segundos',\n\t m : 'um minuto',\n\t mm : '%d minutos',\n\t h : 'uma hora',\n\t hh : '%d horas',\n\t d : 'um dia',\n\t dd : '%d dias',\n\t M : 'um mês',\n\t MM : '%d meses',\n\t y : 'um ano',\n\t yy : '%d anos'\n\t },\n\t ordinalParse: /\\d{1,2}º/,\n\t ordinal : '%dº',\n\t week : {\n\t dow : 1, // Monday is the first day of the week.\n\t doy : 4 // The week that contains Jan 4th is the first week of the year.\n\t }\n\t});\n\t\n\treturn pt;\n\t\n\t})));\n\n\n/***/ },\n/* 276 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t//! moment.js locale configuration\n\t//! locale : Romanian [ro]\n\t//! author : Vlad Gurdiga : https://github.com/gurdiga\n\t//! author : Valentin Agachi : https://github.com/avaly\n\t\n\t;(function (global, factory) {\n\t true ? factory(__webpack_require__(1)) :\n\t typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n\t factory(global.moment)\n\t}(this, (function (moment) { 'use strict';\n\t\n\t\n\tfunction relativeTimeWithPlural(number, withoutSuffix, key) {\n\t var format = {\n\t 'mm': 'minute',\n\t 'hh': 'ore',\n\t 'dd': 'zile',\n\t 'MM': 'luni',\n\t 'yy': 'ani'\n\t },\n\t separator = ' ';\n\t if (number % 100 >= 20 || (number >= 100 && number % 100 === 0)) {\n\t separator = ' de ';\n\t }\n\t return number + separator + format[key];\n\t}\n\t\n\tvar ro = moment.defineLocale('ro', {\n\t months : 'ianuarie_februarie_martie_aprilie_mai_iunie_iulie_august_septembrie_octombrie_noiembrie_decembrie'.split('_'),\n\t monthsShort : 'ian._febr._mart._apr._mai_iun._iul._aug._sept._oct._nov._dec.'.split('_'),\n\t monthsParseExact: true,\n\t weekdays : 'duminică_luni_marți_miercuri_joi_vineri_sâmbătă'.split('_'),\n\t weekdaysShort : 'Dum_Lun_Mar_Mie_Joi_Vin_Sâm'.split('_'),\n\t weekdaysMin : 'Du_Lu_Ma_Mi_Jo_Vi_Sâ'.split('_'),\n\t longDateFormat : {\n\t LT : 'H:mm',\n\t LTS : 'H:mm:ss',\n\t L : 'DD.MM.YYYY',\n\t LL : 'D MMMM YYYY',\n\t LLL : 'D MMMM YYYY H:mm',\n\t LLLL : 'dddd, D MMMM YYYY H:mm'\n\t },\n\t calendar : {\n\t sameDay: '[azi la] LT',\n\t nextDay: '[mâine la] LT',\n\t nextWeek: 'dddd [la] LT',\n\t lastDay: '[ieri la] LT',\n\t lastWeek: '[fosta] dddd [la] LT',\n\t sameElse: 'L'\n\t },\n\t relativeTime : {\n\t future : 'peste %s',\n\t past : '%s în urmă',\n\t s : 'câteva secunde',\n\t m : 'un minut',\n\t mm : relativeTimeWithPlural,\n\t h : 'o oră',\n\t hh : relativeTimeWithPlural,\n\t d : 'o zi',\n\t dd : relativeTimeWithPlural,\n\t M : 'o lună',\n\t MM : relativeTimeWithPlural,\n\t y : 'un an',\n\t yy : relativeTimeWithPlural\n\t },\n\t week : {\n\t dow : 1, // Monday is the first day of the week.\n\t doy : 7 // The week that contains Jan 1st is the first week of the year.\n\t }\n\t});\n\t\n\treturn ro;\n\t\n\t})));\n\n\n/***/ },\n/* 277 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t//! moment.js locale configuration\n\t//! locale : Russian [ru]\n\t//! author : Viktorminator : https://github.com/Viktorminator\n\t//! Author : Menelion Elensúle : https://github.com/Oire\n\t//! author : Коренберг Марк : https://github.com/socketpair\n\t\n\t;(function (global, factory) {\n\t true ? factory(__webpack_require__(1)) :\n\t typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n\t factory(global.moment)\n\t}(this, (function (moment) { 'use strict';\n\t\n\t\n\tfunction plural(word, num) {\n\t var forms = word.split('_');\n\t return num % 10 === 1 && num % 100 !== 11 ? forms[0] : (num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20) ? forms[1] : forms[2]);\n\t}\n\tfunction relativeTimeWithPlural(number, withoutSuffix, key) {\n\t var format = {\n\t 'mm': withoutSuffix ? 'минута_минуты_минут' : 'минуту_минуты_минут',\n\t 'hh': 'час_часа_часов',\n\t 'dd': 'день_дня_дней',\n\t 'MM': 'месяц_месяца_месяцев',\n\t 'yy': 'год_года_лет'\n\t };\n\t if (key === 'm') {\n\t return withoutSuffix ? 'минута' : 'минуту';\n\t }\n\t else {\n\t return number + ' ' + plural(format[key], +number);\n\t }\n\t}\n\tvar monthsParse = [/^янв/i, /^фев/i, /^мар/i, /^апр/i, /^ма[йя]/i, /^июн/i, /^июл/i, /^авг/i, /^сен/i, /^окт/i, /^ноя/i, /^дек/i];\n\t\n\t// http://new.gramota.ru/spravka/rules/139-prop : § 103\n\t// Сокращения месяцев: http://new.gramota.ru/spravka/buro/search-answer?s=242637\n\t// CLDR data: http://www.unicode.org/cldr/charts/28/summary/ru.html#1753\n\tvar ru = moment.defineLocale('ru', {\n\t months : {\n\t format: 'января_февраля_марта_апреля_мая_июня_июля_августа_сентября_октября_ноября_декабря'.split('_'),\n\t standalone: 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split('_')\n\t },\n\t monthsShort : {\n\t // по CLDR именно \"июл.\" и \"июн.\", но какой смысл менять букву на точку ?\n\t format: 'янв._февр._мар._апр._мая_июня_июля_авг._сент._окт._нояб._дек.'.split('_'),\n\t standalone: 'янв._февр._март_апр._май_июнь_июль_авг._сент._окт._нояб._дек.'.split('_')\n\t },\n\t weekdays : {\n\t standalone: 'воскресенье_понедельник_вторник_среда_четверг_пятница_суббота'.split('_'),\n\t format: 'воскресенье_понедельник_вторник_среду_четверг_пятницу_субботу'.split('_'),\n\t isFormat: /\\[ ?[Вв] ?(?:прошлую|следующую|эту)? ?\\] ?dddd/\n\t },\n\t weekdaysShort : 'вс_пн_вт_ср_чт_пт_сб'.split('_'),\n\t weekdaysMin : 'вс_пн_вт_ср_чт_пт_сб'.split('_'),\n\t monthsParse : monthsParse,\n\t longMonthsParse : monthsParse,\n\t shortMonthsParse : monthsParse,\n\t\n\t // полные названия с падежами, по три буквы, для некоторых, по 4 буквы, сокращения с точкой и без точки\n\t monthsRegex: /^(январ[ья]|янв\\.?|феврал[ья]|февр?\\.?|марта?|мар\\.?|апрел[ья]|апр\\.?|ма[йя]|июн[ья]|июн\\.?|июл[ья]|июл\\.?|августа?|авг\\.?|сентябр[ья]|сент?\\.?|октябр[ья]|окт\\.?|ноябр[ья]|нояб?\\.?|декабр[ья]|дек\\.?)/i,\n\t\n\t // копия предыдущего\n\t monthsShortRegex: /^(январ[ья]|янв\\.?|феврал[ья]|февр?\\.?|марта?|мар\\.?|апрел[ья]|апр\\.?|ма[йя]|июн[ья]|июн\\.?|июл[ья]|июл\\.?|августа?|авг\\.?|сентябр[ья]|сент?\\.?|октябр[ья]|окт\\.?|ноябр[ья]|нояб?\\.?|декабр[ья]|дек\\.?)/i,\n\t\n\t // полные названия с падежами\n\t monthsStrictRegex: /^(январ[яь]|феврал[яь]|марта?|апрел[яь]|ма[яй]|июн[яь]|июл[яь]|августа?|сентябр[яь]|октябр[яь]|ноябр[яь]|декабр[яь])/i,\n\t\n\t // Выражение, которое соотвествует только сокращённым формам\n\t monthsShortStrictRegex: /^(янв\\.|февр?\\.|мар[т.]|апр\\.|ма[яй]|июн[ья.]|июл[ья.]|авг\\.|сент?\\.|окт\\.|нояб?\\.|дек\\.)/i,\n\t longDateFormat : {\n\t LT : 'HH:mm',\n\t LTS : 'HH:mm:ss',\n\t L : 'DD.MM.YYYY',\n\t LL : 'D MMMM YYYY г.',\n\t LLL : 'D MMMM YYYY г., HH:mm',\n\t LLLL : 'dddd, D MMMM YYYY г., HH:mm'\n\t },\n\t calendar : {\n\t sameDay: '[Сегодня в] LT',\n\t nextDay: '[Завтра в] LT',\n\t lastDay: '[Вчера в] LT',\n\t nextWeek: function (now) {\n\t if (now.week() !== this.week()) {\n\t switch (this.day()) {\n\t case 0:\n\t return '[В следующее] dddd [в] LT';\n\t case 1:\n\t case 2:\n\t case 4:\n\t return '[В следующий] dddd [в] LT';\n\t case 3:\n\t case 5:\n\t case 6:\n\t return '[В следующую] dddd [в] LT';\n\t }\n\t } else {\n\t if (this.day() === 2) {\n\t return '[Во] dddd [в] LT';\n\t } else {\n\t return '[В] dddd [в] LT';\n\t }\n\t }\n\t },\n\t lastWeek: function (now) {\n\t if (now.week() !== this.week()) {\n\t switch (this.day()) {\n\t case 0:\n\t return '[В прошлое] dddd [в] LT';\n\t case 1:\n\t case 2:\n\t case 4:\n\t return '[В прошлый] dddd [в] LT';\n\t case 3:\n\t case 5:\n\t case 6:\n\t return '[В прошлую] dddd [в] LT';\n\t }\n\t } else {\n\t if (this.day() === 2) {\n\t return '[Во] dddd [в] LT';\n\t } else {\n\t return '[В] dddd [в] LT';\n\t }\n\t }\n\t },\n\t sameElse: 'L'\n\t },\n\t relativeTime : {\n\t future : 'через %s',\n\t past : '%s назад',\n\t s : 'несколько секунд',\n\t m : relativeTimeWithPlural,\n\t mm : relativeTimeWithPlural,\n\t h : 'час',\n\t hh : relativeTimeWithPlural,\n\t d : 'день',\n\t dd : relativeTimeWithPlural,\n\t M : 'месяц',\n\t MM : relativeTimeWithPlural,\n\t y : 'год',\n\t yy : relativeTimeWithPlural\n\t },\n\t meridiemParse: /ночи|утра|дня|вечера/i,\n\t isPM : function (input) {\n\t return /^(дня|вечера)$/.test(input);\n\t },\n\t meridiem : function (hour, minute, isLower) {\n\t if (hour < 4) {\n\t return 'ночи';\n\t } else if (hour < 12) {\n\t return 'утра';\n\t } else if (hour < 17) {\n\t return 'дня';\n\t } else {\n\t return 'вечера';\n\t }\n\t },\n\t ordinalParse: /\\d{1,2}-(й|го|я)/,\n\t ordinal: function (number, period) {\n\t switch (period) {\n\t case 'M':\n\t case 'd':\n\t case 'DDD':\n\t return number + '-й';\n\t case 'D':\n\t return number + '-го';\n\t case 'w':\n\t case 'W':\n\t return number + '-я';\n\t default:\n\t return number;\n\t }\n\t },\n\t week : {\n\t dow : 1, // Monday is the first day of the week.\n\t doy : 7 // The week that contains Jan 1st is the first week of the year.\n\t }\n\t});\n\t\n\treturn ru;\n\t\n\t})));\n\n\n/***/ },\n/* 278 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t//! moment.js locale configuration\n\t//! locale : Northern Sami [se]\n\t//! authors : Bård Rolstad Henriksen : https://github.com/karamell\n\t\n\t;(function (global, factory) {\n\t true ? factory(__webpack_require__(1)) :\n\t typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n\t factory(global.moment)\n\t}(this, (function (moment) { 'use strict';\n\t\n\t\n\t\n\tvar se = moment.defineLocale('se', {\n\t months : 'ođđajagemánnu_guovvamánnu_njukčamánnu_cuoŋománnu_miessemánnu_geassemánnu_suoidnemánnu_borgemánnu_čakčamánnu_golggotmánnu_skábmamánnu_juovlamánnu'.split('_'),\n\t monthsShort : 'ođđj_guov_njuk_cuo_mies_geas_suoi_borg_čakč_golg_skáb_juov'.split('_'),\n\t weekdays : 'sotnabeaivi_vuossárga_maŋŋebárga_gaskavahkku_duorastat_bearjadat_lávvardat'.split('_'),\n\t weekdaysShort : 'sotn_vuos_maŋ_gask_duor_bear_láv'.split('_'),\n\t weekdaysMin : 's_v_m_g_d_b_L'.split('_'),\n\t longDateFormat : {\n\t LT : 'HH:mm',\n\t LTS : 'HH:mm:ss',\n\t L : 'DD.MM.YYYY',\n\t LL : 'MMMM D. [b.] YYYY',\n\t LLL : 'MMMM D. [b.] YYYY [ti.] HH:mm',\n\t LLLL : 'dddd, MMMM D. [b.] YYYY [ti.] HH:mm'\n\t },\n\t calendar : {\n\t sameDay: '[otne ti] LT',\n\t nextDay: '[ihttin ti] LT',\n\t nextWeek: 'dddd [ti] LT',\n\t lastDay: '[ikte ti] LT',\n\t lastWeek: '[ovddit] dddd [ti] LT',\n\t sameElse: 'L'\n\t },\n\t relativeTime : {\n\t future : '%s geažes',\n\t past : 'maŋit %s',\n\t s : 'moadde sekunddat',\n\t m : 'okta minuhta',\n\t mm : '%d minuhtat',\n\t h : 'okta diimmu',\n\t hh : '%d diimmut',\n\t d : 'okta beaivi',\n\t dd : '%d beaivvit',\n\t M : 'okta mánnu',\n\t MM : '%d mánut',\n\t y : 'okta jahki',\n\t yy : '%d jagit'\n\t },\n\t ordinalParse: /\\d{1,2}\\./,\n\t ordinal : '%d.',\n\t week : {\n\t dow : 1, // Monday is the first day of the week.\n\t doy : 4 // The week that contains Jan 4th is the first week of the year.\n\t }\n\t});\n\t\n\treturn se;\n\t\n\t})));\n\n\n/***/ },\n/* 279 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t//! moment.js locale configuration\n\t//! locale : Sinhalese [si]\n\t//! author : Sampath Sitinamaluwa : https://github.com/sampathsris\n\t\n\t;(function (global, factory) {\n\t true ? factory(__webpack_require__(1)) :\n\t typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n\t factory(global.moment)\n\t}(this, (function (moment) { 'use strict';\n\t\n\t\n\t/*jshint -W100*/\n\tvar si = moment.defineLocale('si', {\n\t months : 'ජනවාරි_පෙබරවාරි_මාර්තු_අප්‍රේල්_මැයි_ජූනි_ජූලි_අගෝස්තු_සැප්තැම්බර්_ඔක්තෝබර්_නොවැම්බර්_දෙසැම්බර්'.split('_'),\n\t monthsShort : 'ජන_පෙබ_මාර්_අප්_මැයි_ජූනි_ජූලි_අගෝ_සැප්_ඔක්_නොවැ_දෙසැ'.split('_'),\n\t weekdays : 'ඉරිදා_සඳුදා_අඟහරුවාදා_බදාදා_බ්‍රහස්පතින්දා_සිකුරාදා_සෙනසුරාදා'.split('_'),\n\t weekdaysShort : 'ඉරි_සඳු_අඟ_බදා_බ්‍රහ_සිකු_සෙන'.split('_'),\n\t weekdaysMin : 'ඉ_ස_අ_බ_බ්‍ර_සි_සෙ'.split('_'),\n\t weekdaysParseExact : true,\n\t longDateFormat : {\n\t LT : 'a h:mm',\n\t LTS : 'a h:mm:ss',\n\t L : 'YYYY/MM/DD',\n\t LL : 'YYYY MMMM D',\n\t LLL : 'YYYY MMMM D, a h:mm',\n\t LLLL : 'YYYY MMMM D [වැනි] dddd, a h:mm:ss'\n\t },\n\t calendar : {\n\t sameDay : '[අද] LT[ට]',\n\t nextDay : '[හෙට] LT[ට]',\n\t nextWeek : 'dddd LT[ට]',\n\t lastDay : '[ඊයේ] LT[ට]',\n\t lastWeek : '[පසුගිය] dddd LT[ට]',\n\t sameElse : 'L'\n\t },\n\t relativeTime : {\n\t future : '%sකින්',\n\t past : '%sකට පෙර',\n\t s : 'තත්පර කිහිපය',\n\t m : 'මිනිත්තුව',\n\t mm : 'මිනිත්තු %d',\n\t h : 'පැය',\n\t hh : 'පැය %d',\n\t d : 'දිනය',\n\t dd : 'දින %d',\n\t M : 'මාසය',\n\t MM : 'මාස %d',\n\t y : 'වසර',\n\t yy : 'වසර %d'\n\t },\n\t ordinalParse: /\\d{1,2} වැනි/,\n\t ordinal : function (number) {\n\t return number + ' වැනි';\n\t },\n\t meridiemParse : /පෙර වරු|පස් වරු|පෙ.ව|ප.ව./,\n\t isPM : function (input) {\n\t return input === 'ප.ව.' || input === 'පස් වරු';\n\t },\n\t meridiem : function (hours, minutes, isLower) {\n\t if (hours > 11) {\n\t return isLower ? 'ප.ව.' : 'පස් වරු';\n\t } else {\n\t return isLower ? 'පෙ.ව.' : 'පෙර වරු';\n\t }\n\t }\n\t});\n\t\n\treturn si;\n\t\n\t})));\n\n\n/***/ },\n/* 280 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t//! moment.js locale configuration\n\t//! locale : Slovak [sk]\n\t//! author : Martin Minka : https://github.com/k2s\n\t//! based on work of petrbela : https://github.com/petrbela\n\t\n\t;(function (global, factory) {\n\t true ? factory(__webpack_require__(1)) :\n\t typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n\t factory(global.moment)\n\t}(this, (function (moment) { 'use strict';\n\t\n\t\n\tvar months = 'január_február_marec_apríl_máj_jún_júl_august_september_október_november_december'.split('_');\n\tvar monthsShort = 'jan_feb_mar_apr_máj_jún_júl_aug_sep_okt_nov_dec'.split('_');\n\tfunction plural(n) {\n\t return (n > 1) && (n < 5);\n\t}\n\tfunction translate(number, withoutSuffix, key, isFuture) {\n\t var result = number + ' ';\n\t switch (key) {\n\t case 's': // a few seconds / in a few seconds / a few seconds ago\n\t return (withoutSuffix || isFuture) ? 'pár sekúnd' : 'pár sekundami';\n\t case 'm': // a minute / in a minute / a minute ago\n\t return withoutSuffix ? 'minúta' : (isFuture ? 'minútu' : 'minútou');\n\t case 'mm': // 9 minutes / in 9 minutes / 9 minutes ago\n\t if (withoutSuffix || isFuture) {\n\t return result + (plural(number) ? 'minúty' : 'minút');\n\t } else {\n\t return result + 'minútami';\n\t }\n\t break;\n\t case 'h': // an hour / in an hour / an hour ago\n\t return withoutSuffix ? 'hodina' : (isFuture ? 'hodinu' : 'hodinou');\n\t case 'hh': // 9 hours / in 9 hours / 9 hours ago\n\t if (withoutSuffix || isFuture) {\n\t return result + (plural(number) ? 'hodiny' : 'hodín');\n\t } else {\n\t return result + 'hodinami';\n\t }\n\t break;\n\t case 'd': // a day / in a day / a day ago\n\t return (withoutSuffix || isFuture) ? 'deň' : 'dňom';\n\t case 'dd': // 9 days / in 9 days / 9 days ago\n\t if (withoutSuffix || isFuture) {\n\t return result + (plural(number) ? 'dni' : 'dní');\n\t } else {\n\t return result + 'dňami';\n\t }\n\t break;\n\t case 'M': // a month / in a month / a month ago\n\t return (withoutSuffix || isFuture) ? 'mesiac' : 'mesiacom';\n\t case 'MM': // 9 months / in 9 months / 9 months ago\n\t if (withoutSuffix || isFuture) {\n\t return result + (plural(number) ? 'mesiace' : 'mesiacov');\n\t } else {\n\t return result + 'mesiacmi';\n\t }\n\t break;\n\t case 'y': // a year / in a year / a year ago\n\t return (withoutSuffix || isFuture) ? 'rok' : 'rokom';\n\t case 'yy': // 9 years / in 9 years / 9 years ago\n\t if (withoutSuffix || isFuture) {\n\t return result + (plural(number) ? 'roky' : 'rokov');\n\t } else {\n\t return result + 'rokmi';\n\t }\n\t break;\n\t }\n\t}\n\t\n\tvar sk = moment.defineLocale('sk', {\n\t months : months,\n\t monthsShort : monthsShort,\n\t weekdays : 'nedeľa_pondelok_utorok_streda_štvrtok_piatok_sobota'.split('_'),\n\t weekdaysShort : 'ne_po_ut_st_št_pi_so'.split('_'),\n\t weekdaysMin : 'ne_po_ut_st_št_pi_so'.split('_'),\n\t longDateFormat : {\n\t LT: 'H:mm',\n\t LTS : 'H:mm:ss',\n\t L : 'DD.MM.YYYY',\n\t LL : 'D. MMMM YYYY',\n\t LLL : 'D. MMMM YYYY H:mm',\n\t LLLL : 'dddd D. MMMM YYYY H:mm'\n\t },\n\t calendar : {\n\t sameDay: '[dnes o] LT',\n\t nextDay: '[zajtra o] LT',\n\t nextWeek: function () {\n\t switch (this.day()) {\n\t case 0:\n\t return '[v nedeľu o] LT';\n\t case 1:\n\t case 2:\n\t return '[v] dddd [o] LT';\n\t case 3:\n\t return '[v stredu o] LT';\n\t case 4:\n\t return '[vo štvrtok o] LT';\n\t case 5:\n\t return '[v piatok o] LT';\n\t case 6:\n\t return '[v sobotu o] LT';\n\t }\n\t },\n\t lastDay: '[včera o] LT',\n\t lastWeek: function () {\n\t switch (this.day()) {\n\t case 0:\n\t return '[minulú nedeľu o] LT';\n\t case 1:\n\t case 2:\n\t return '[minulý] dddd [o] LT';\n\t case 3:\n\t return '[minulú stredu o] LT';\n\t case 4:\n\t case 5:\n\t return '[minulý] dddd [o] LT';\n\t case 6:\n\t return '[minulú sobotu o] LT';\n\t }\n\t },\n\t sameElse: 'L'\n\t },\n\t relativeTime : {\n\t future : 'za %s',\n\t past : 'pred %s',\n\t s : translate,\n\t m : translate,\n\t mm : translate,\n\t h : translate,\n\t hh : translate,\n\t d : translate,\n\t dd : translate,\n\t M : translate,\n\t MM : translate,\n\t y : translate,\n\t yy : translate\n\t },\n\t ordinalParse: /\\d{1,2}\\./,\n\t ordinal : '%d.',\n\t week : {\n\t dow : 1, // Monday is the first day of the week.\n\t doy : 4 // The week that contains Jan 4th is the first week of the year.\n\t }\n\t});\n\t\n\treturn sk;\n\t\n\t})));\n\n\n/***/ },\n/* 281 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t//! moment.js locale configuration\n\t//! locale : Slovenian [sl]\n\t//! author : Robert Sedovšek : https://github.com/sedovsek\n\t\n\t;(function (global, factory) {\n\t true ? factory(__webpack_require__(1)) :\n\t typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n\t factory(global.moment)\n\t}(this, (function (moment) { 'use strict';\n\t\n\t\n\tfunction processRelativeTime(number, withoutSuffix, key, isFuture) {\n\t var result = number + ' ';\n\t switch (key) {\n\t case 's':\n\t return withoutSuffix || isFuture ? 'nekaj sekund' : 'nekaj sekundami';\n\t case 'm':\n\t return withoutSuffix ? 'ena minuta' : 'eno minuto';\n\t case 'mm':\n\t if (number === 1) {\n\t result += withoutSuffix ? 'minuta' : 'minuto';\n\t } else if (number === 2) {\n\t result += withoutSuffix || isFuture ? 'minuti' : 'minutama';\n\t } else if (number < 5) {\n\t result += withoutSuffix || isFuture ? 'minute' : 'minutami';\n\t } else {\n\t result += withoutSuffix || isFuture ? 'minut' : 'minutami';\n\t }\n\t return result;\n\t case 'h':\n\t return withoutSuffix ? 'ena ura' : 'eno uro';\n\t case 'hh':\n\t if (number === 1) {\n\t result += withoutSuffix ? 'ura' : 'uro';\n\t } else if (number === 2) {\n\t result += withoutSuffix || isFuture ? 'uri' : 'urama';\n\t } else if (number < 5) {\n\t result += withoutSuffix || isFuture ? 'ure' : 'urami';\n\t } else {\n\t result += withoutSuffix || isFuture ? 'ur' : 'urami';\n\t }\n\t return result;\n\t case 'd':\n\t return withoutSuffix || isFuture ? 'en dan' : 'enim dnem';\n\t case 'dd':\n\t if (number === 1) {\n\t result += withoutSuffix || isFuture ? 'dan' : 'dnem';\n\t } else if (number === 2) {\n\t result += withoutSuffix || isFuture ? 'dni' : 'dnevoma';\n\t } else {\n\t result += withoutSuffix || isFuture ? 'dni' : 'dnevi';\n\t }\n\t return result;\n\t case 'M':\n\t return withoutSuffix || isFuture ? 'en mesec' : 'enim mesecem';\n\t case 'MM':\n\t if (number === 1) {\n\t result += withoutSuffix || isFuture ? 'mesec' : 'mesecem';\n\t } else if (number === 2) {\n\t result += withoutSuffix || isFuture ? 'meseca' : 'mesecema';\n\t } else if (number < 5) {\n\t result += withoutSuffix || isFuture ? 'mesece' : 'meseci';\n\t } else {\n\t result += withoutSuffix || isFuture ? 'mesecev' : 'meseci';\n\t }\n\t return result;\n\t case 'y':\n\t return withoutSuffix || isFuture ? 'eno leto' : 'enim letom';\n\t case 'yy':\n\t if (number === 1) {\n\t result += withoutSuffix || isFuture ? 'leto' : 'letom';\n\t } else if (number === 2) {\n\t result += withoutSuffix || isFuture ? 'leti' : 'letoma';\n\t } else if (number < 5) {\n\t result += withoutSuffix || isFuture ? 'leta' : 'leti';\n\t } else {\n\t result += withoutSuffix || isFuture ? 'let' : 'leti';\n\t }\n\t return result;\n\t }\n\t}\n\t\n\tvar sl = moment.defineLocale('sl', {\n\t months : 'januar_februar_marec_april_maj_junij_julij_avgust_september_oktober_november_december'.split('_'),\n\t monthsShort : 'jan._feb._mar._apr._maj._jun._jul._avg._sep._okt._nov._dec.'.split('_'),\n\t monthsParseExact: true,\n\t weekdays : 'nedelja_ponedeljek_torek_sreda_četrtek_petek_sobota'.split('_'),\n\t weekdaysShort : 'ned._pon._tor._sre._čet._pet._sob.'.split('_'),\n\t weekdaysMin : 'ne_po_to_sr_če_pe_so'.split('_'),\n\t weekdaysParseExact : true,\n\t longDateFormat : {\n\t LT : 'H:mm',\n\t LTS : 'H:mm:ss',\n\t L : 'DD.MM.YYYY',\n\t LL : 'D. MMMM YYYY',\n\t LLL : 'D. MMMM YYYY H:mm',\n\t LLLL : 'dddd, D. MMMM YYYY H:mm'\n\t },\n\t calendar : {\n\t sameDay : '[danes ob] LT',\n\t nextDay : '[jutri ob] LT',\n\t\n\t nextWeek : function () {\n\t switch (this.day()) {\n\t case 0:\n\t return '[v] [nedeljo] [ob] LT';\n\t case 3:\n\t return '[v] [sredo] [ob] LT';\n\t case 6:\n\t return '[v] [soboto] [ob] LT';\n\t case 1:\n\t case 2:\n\t case 4:\n\t case 5:\n\t return '[v] dddd [ob] LT';\n\t }\n\t },\n\t lastDay : '[včeraj ob] LT',\n\t lastWeek : function () {\n\t switch (this.day()) {\n\t case 0:\n\t return '[prejšnjo] [nedeljo] [ob] LT';\n\t case 3:\n\t return '[prejšnjo] [sredo] [ob] LT';\n\t case 6:\n\t return '[prejšnjo] [soboto] [ob] LT';\n\t case 1:\n\t case 2:\n\t case 4:\n\t case 5:\n\t return '[prejšnji] dddd [ob] LT';\n\t }\n\t },\n\t sameElse : 'L'\n\t },\n\t relativeTime : {\n\t future : 'čez %s',\n\t past : 'pred %s',\n\t s : processRelativeTime,\n\t m : processRelativeTime,\n\t mm : processRelativeTime,\n\t h : processRelativeTime,\n\t hh : processRelativeTime,\n\t d : processRelativeTime,\n\t dd : processRelativeTime,\n\t M : processRelativeTime,\n\t MM : processRelativeTime,\n\t y : processRelativeTime,\n\t yy : processRelativeTime\n\t },\n\t ordinalParse: /\\d{1,2}\\./,\n\t ordinal : '%d.',\n\t week : {\n\t dow : 1, // Monday is the first day of the week.\n\t doy : 7 // The week that contains Jan 1st is the first week of the year.\n\t }\n\t});\n\t\n\treturn sl;\n\t\n\t})));\n\n\n/***/ },\n/* 282 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t//! moment.js locale configuration\n\t//! locale : Albanian [sq]\n\t//! author : Flakërim Ismani : https://github.com/flakerimi\n\t//! author : Menelion Elensúle : https://github.com/Oire\n\t//! author : Oerd Cukalla : https://github.com/oerd\n\t\n\t;(function (global, factory) {\n\t true ? factory(__webpack_require__(1)) :\n\t typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n\t factory(global.moment)\n\t}(this, (function (moment) { 'use strict';\n\t\n\t\n\tvar sq = moment.defineLocale('sq', {\n\t months : 'Janar_Shkurt_Mars_Prill_Maj_Qershor_Korrik_Gusht_Shtator_Tetor_Nëntor_Dhjetor'.split('_'),\n\t monthsShort : 'Jan_Shk_Mar_Pri_Maj_Qer_Kor_Gus_Sht_Tet_Nën_Dhj'.split('_'),\n\t weekdays : 'E Diel_E Hënë_E Martë_E Mërkurë_E Enjte_E Premte_E Shtunë'.split('_'),\n\t weekdaysShort : 'Die_Hën_Mar_Mër_Enj_Pre_Sht'.split('_'),\n\t weekdaysMin : 'D_H_Ma_Më_E_P_Sh'.split('_'),\n\t weekdaysParseExact : true,\n\t meridiemParse: /PD|MD/,\n\t isPM: function (input) {\n\t return input.charAt(0) === 'M';\n\t },\n\t meridiem : function (hours, minutes, isLower) {\n\t return hours < 12 ? 'PD' : 'MD';\n\t },\n\t longDateFormat : {\n\t LT : 'HH:mm',\n\t LTS : 'HH:mm:ss',\n\t L : 'DD/MM/YYYY',\n\t LL : 'D MMMM YYYY',\n\t LLL : 'D MMMM YYYY HH:mm',\n\t LLLL : 'dddd, D MMMM YYYY HH:mm'\n\t },\n\t calendar : {\n\t sameDay : '[Sot në] LT',\n\t nextDay : '[Nesër në] LT',\n\t nextWeek : 'dddd [në] LT',\n\t lastDay : '[Dje në] LT',\n\t lastWeek : 'dddd [e kaluar në] LT',\n\t sameElse : 'L'\n\t },\n\t relativeTime : {\n\t future : 'në %s',\n\t past : '%s më parë',\n\t s : 'disa sekonda',\n\t m : 'një minutë',\n\t mm : '%d minuta',\n\t h : 'një orë',\n\t hh : '%d orë',\n\t d : 'një ditë',\n\t dd : '%d ditë',\n\t M : 'një muaj',\n\t MM : '%d muaj',\n\t y : 'një vit',\n\t yy : '%d vite'\n\t },\n\t ordinalParse: /\\d{1,2}\\./,\n\t ordinal : '%d.',\n\t week : {\n\t dow : 1, // Monday is the first day of the week.\n\t doy : 4 // The week that contains Jan 4th is the first week of the year.\n\t }\n\t});\n\t\n\treturn sq;\n\t\n\t})));\n\n\n/***/ },\n/* 283 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t//! moment.js locale configuration\n\t//! locale : Serbian Cyrillic [sr-cyrl]\n\t//! author : Milan Janačković<milanjanackovic@gmail.com> : https://github.com/milan-j\n\t\n\t;(function (global, factory) {\n\t true ? factory(__webpack_require__(1)) :\n\t typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n\t factory(global.moment)\n\t}(this, (function (moment) { 'use strict';\n\t\n\t\n\tvar translator = {\n\t words: { //Different grammatical cases\n\t m: ['један минут', 'једне минуте'],\n\t mm: ['минут', 'минуте', 'минута'],\n\t h: ['један сат', 'једног сата'],\n\t hh: ['сат', 'сата', 'сати'],\n\t dd: ['дан', 'дана', 'дана'],\n\t MM: ['месец', 'месеца', 'месеци'],\n\t yy: ['година', 'године', 'година']\n\t },\n\t correctGrammaticalCase: function (number, wordKey) {\n\t return number === 1 ? wordKey[0] : (number >= 2 && number <= 4 ? wordKey[1] : wordKey[2]);\n\t },\n\t translate: function (number, withoutSuffix, key) {\n\t var wordKey = translator.words[key];\n\t if (key.length === 1) {\n\t return withoutSuffix ? wordKey[0] : wordKey[1];\n\t } else {\n\t return number + ' ' + translator.correctGrammaticalCase(number, wordKey);\n\t }\n\t }\n\t};\n\t\n\tvar srCyrl = moment.defineLocale('sr-cyrl', {\n\t months: 'јануар_фебруар_март_април_мај_јун_јул_август_септембар_октобар_новембар_децембар'.split('_'),\n\t monthsShort: 'јан._феб._мар._апр._мај_јун_јул_авг._сеп._окт._нов._дец.'.split('_'),\n\t monthsParseExact: true,\n\t weekdays: 'недеља_понедељак_уторак_среда_четвртак_петак_субота'.split('_'),\n\t weekdaysShort: 'нед._пон._уто._сре._чет._пет._суб.'.split('_'),\n\t weekdaysMin: 'не_по_ут_ср_че_пе_су'.split('_'),\n\t weekdaysParseExact : true,\n\t longDateFormat: {\n\t LT: 'H:mm',\n\t LTS : 'H:mm:ss',\n\t L: 'DD.MM.YYYY',\n\t LL: 'D. MMMM YYYY',\n\t LLL: 'D. MMMM YYYY H:mm',\n\t LLLL: 'dddd, D. MMMM YYYY H:mm'\n\t },\n\t calendar: {\n\t sameDay: '[данас у] LT',\n\t nextDay: '[сутра у] LT',\n\t nextWeek: function () {\n\t switch (this.day()) {\n\t case 0:\n\t return '[у] [недељу] [у] LT';\n\t case 3:\n\t return '[у] [среду] [у] LT';\n\t case 6:\n\t return '[у] [суботу] [у] LT';\n\t case 1:\n\t case 2:\n\t case 4:\n\t case 5:\n\t return '[у] dddd [у] LT';\n\t }\n\t },\n\t lastDay : '[јуче у] LT',\n\t lastWeek : function () {\n\t var lastWeekDays = [\n\t '[прошле] [недеље] [у] LT',\n\t '[прошлог] [понедељка] [у] LT',\n\t '[прошлог] [уторка] [у] LT',\n\t '[прошле] [среде] [у] LT',\n\t '[прошлог] [четвртка] [у] LT',\n\t '[прошлог] [петка] [у] LT',\n\t '[прошле] [суботе] [у] LT'\n\t ];\n\t return lastWeekDays[this.day()];\n\t },\n\t sameElse : 'L'\n\t },\n\t relativeTime : {\n\t future : 'за %s',\n\t past : 'пре %s',\n\t s : 'неколико секунди',\n\t m : translator.translate,\n\t mm : translator.translate,\n\t h : translator.translate,\n\t hh : translator.translate,\n\t d : 'дан',\n\t dd : translator.translate,\n\t M : 'месец',\n\t MM : translator.translate,\n\t y : 'годину',\n\t yy : translator.translate\n\t },\n\t ordinalParse: /\\d{1,2}\\./,\n\t ordinal : '%d.',\n\t week : {\n\t dow : 1, // Monday is the first day of the week.\n\t doy : 7 // The week that contains Jan 1st is the first week of the year.\n\t }\n\t});\n\t\n\treturn srCyrl;\n\t\n\t})));\n\n\n/***/ },\n/* 284 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t//! moment.js locale configuration\n\t//! locale : Serbian [sr]\n\t//! author : Milan Janačković<milanjanackovic@gmail.com> : https://github.com/milan-j\n\t\n\t;(function (global, factory) {\n\t true ? factory(__webpack_require__(1)) :\n\t typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n\t factory(global.moment)\n\t}(this, (function (moment) { 'use strict';\n\t\n\t\n\tvar translator = {\n\t words: { //Different grammatical cases\n\t m: ['jedan minut', 'jedne minute'],\n\t mm: ['minut', 'minute', 'minuta'],\n\t h: ['jedan sat', 'jednog sata'],\n\t hh: ['sat', 'sata', 'sati'],\n\t dd: ['dan', 'dana', 'dana'],\n\t MM: ['mesec', 'meseca', 'meseci'],\n\t yy: ['godina', 'godine', 'godina']\n\t },\n\t correctGrammaticalCase: function (number, wordKey) {\n\t return number === 1 ? wordKey[0] : (number >= 2 && number <= 4 ? wordKey[1] : wordKey[2]);\n\t },\n\t translate: function (number, withoutSuffix, key) {\n\t var wordKey = translator.words[key];\n\t if (key.length === 1) {\n\t return withoutSuffix ? wordKey[0] : wordKey[1];\n\t } else {\n\t return number + ' ' + translator.correctGrammaticalCase(number, wordKey);\n\t }\n\t }\n\t};\n\t\n\tvar sr = moment.defineLocale('sr', {\n\t months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split('_'),\n\t monthsShort: 'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split('_'),\n\t monthsParseExact: true,\n\t weekdays: 'nedelja_ponedeljak_utorak_sreda_četvrtak_petak_subota'.split('_'),\n\t weekdaysShort: 'ned._pon._uto._sre._čet._pet._sub.'.split('_'),\n\t weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),\n\t weekdaysParseExact : true,\n\t longDateFormat: {\n\t LT: 'H:mm',\n\t LTS : 'H:mm:ss',\n\t L: 'DD.MM.YYYY',\n\t LL: 'D. MMMM YYYY',\n\t LLL: 'D. MMMM YYYY H:mm',\n\t LLLL: 'dddd, D. MMMM YYYY H:mm'\n\t },\n\t calendar: {\n\t sameDay: '[danas u] LT',\n\t nextDay: '[sutra u] LT',\n\t nextWeek: function () {\n\t switch (this.day()) {\n\t case 0:\n\t return '[u] [nedelju] [u] LT';\n\t case 3:\n\t return '[u] [sredu] [u] LT';\n\t case 6:\n\t return '[u] [subotu] [u] LT';\n\t case 1:\n\t case 2:\n\t case 4:\n\t case 5:\n\t return '[u] dddd [u] LT';\n\t }\n\t },\n\t lastDay : '[juče u] LT',\n\t lastWeek : function () {\n\t var lastWeekDays = [\n\t '[prošle] [nedelje] [u] LT',\n\t '[prošlog] [ponedeljka] [u] LT',\n\t '[prošlog] [utorka] [u] LT',\n\t '[prošle] [srede] [u] LT',\n\t '[prošlog] [četvrtka] [u] LT',\n\t '[prošlog] [petka] [u] LT',\n\t '[prošle] [subote] [u] LT'\n\t ];\n\t return lastWeekDays[this.day()];\n\t },\n\t sameElse : 'L'\n\t },\n\t relativeTime : {\n\t future : 'za %s',\n\t past : 'pre %s',\n\t s : 'nekoliko sekundi',\n\t m : translator.translate,\n\t mm : translator.translate,\n\t h : translator.translate,\n\t hh : translator.translate,\n\t d : 'dan',\n\t dd : translator.translate,\n\t M : 'mesec',\n\t MM : translator.translate,\n\t y : 'godinu',\n\t yy : translator.translate\n\t },\n\t ordinalParse: /\\d{1,2}\\./,\n\t ordinal : '%d.',\n\t week : {\n\t dow : 1, // Monday is the first day of the week.\n\t doy : 7 // The week that contains Jan 1st is the first week of the year.\n\t }\n\t});\n\t\n\treturn sr;\n\t\n\t})));\n\n\n/***/ },\n/* 285 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t//! moment.js locale configuration\n\t//! locale : siSwati [ss]\n\t//! author : Nicolai Davies<mail@nicolai.io> : https://github.com/nicolaidavies\n\t\n\t;(function (global, factory) {\n\t true ? factory(__webpack_require__(1)) :\n\t typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n\t factory(global.moment)\n\t}(this, (function (moment) { 'use strict';\n\t\n\t\n\t\n\tvar ss = moment.defineLocale('ss', {\n\t months : \"Bhimbidvwane_Indlovana_Indlov'lenkhulu_Mabasa_Inkhwekhweti_Inhlaba_Kholwane_Ingci_Inyoni_Imphala_Lweti_Ingongoni\".split('_'),\n\t monthsShort : 'Bhi_Ina_Inu_Mab_Ink_Inh_Kho_Igc_Iny_Imp_Lwe_Igo'.split('_'),\n\t weekdays : 'Lisontfo_Umsombuluko_Lesibili_Lesitsatfu_Lesine_Lesihlanu_Umgcibelo'.split('_'),\n\t weekdaysShort : 'Lis_Umb_Lsb_Les_Lsi_Lsh_Umg'.split('_'),\n\t weekdaysMin : 'Li_Us_Lb_Lt_Ls_Lh_Ug'.split('_'),\n\t weekdaysParseExact : true,\n\t longDateFormat : {\n\t LT : 'h:mm A',\n\t LTS : 'h:mm:ss A',\n\t L : 'DD/MM/YYYY',\n\t LL : 'D MMMM YYYY',\n\t LLL : 'D MMMM YYYY h:mm A',\n\t LLLL : 'dddd, D MMMM YYYY h:mm A'\n\t },\n\t calendar : {\n\t sameDay : '[Namuhla nga] LT',\n\t nextDay : '[Kusasa nga] LT',\n\t nextWeek : 'dddd [nga] LT',\n\t lastDay : '[Itolo nga] LT',\n\t lastWeek : 'dddd [leliphelile] [nga] LT',\n\t sameElse : 'L'\n\t },\n\t relativeTime : {\n\t future : 'nga %s',\n\t past : 'wenteka nga %s',\n\t s : 'emizuzwana lomcane',\n\t m : 'umzuzu',\n\t mm : '%d emizuzu',\n\t h : 'lihora',\n\t hh : '%d emahora',\n\t d : 'lilanga',\n\t dd : '%d emalanga',\n\t M : 'inyanga',\n\t MM : '%d tinyanga',\n\t y : 'umnyaka',\n\t yy : '%d iminyaka'\n\t },\n\t meridiemParse: /ekuseni|emini|entsambama|ebusuku/,\n\t meridiem : function (hours, minutes, isLower) {\n\t if (hours < 11) {\n\t return 'ekuseni';\n\t } else if (hours < 15) {\n\t return 'emini';\n\t } else if (hours < 19) {\n\t return 'entsambama';\n\t } else {\n\t return 'ebusuku';\n\t }\n\t },\n\t meridiemHour : function (hour, meridiem) {\n\t if (hour === 12) {\n\t hour = 0;\n\t }\n\t if (meridiem === 'ekuseni') {\n\t return hour;\n\t } else if (meridiem === 'emini') {\n\t return hour >= 11 ? hour : hour + 12;\n\t } else if (meridiem === 'entsambama' || meridiem === 'ebusuku') {\n\t if (hour === 0) {\n\t return 0;\n\t }\n\t return hour + 12;\n\t }\n\t },\n\t ordinalParse: /\\d{1,2}/,\n\t ordinal : '%d',\n\t week : {\n\t dow : 1, // Monday is the first day of the week.\n\t doy : 4 // The week that contains Jan 4th is the first week of the year.\n\t }\n\t});\n\t\n\treturn ss;\n\t\n\t})));\n\n\n/***/ },\n/* 286 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t//! moment.js locale configuration\n\t//! locale : Swedish [sv]\n\t//! author : Jens Alm : https://github.com/ulmus\n\t\n\t;(function (global, factory) {\n\t true ? factory(__webpack_require__(1)) :\n\t typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n\t factory(global.moment)\n\t}(this, (function (moment) { 'use strict';\n\t\n\t\n\tvar sv = moment.defineLocale('sv', {\n\t months : 'januari_februari_mars_april_maj_juni_juli_augusti_september_oktober_november_december'.split('_'),\n\t monthsShort : 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'),\n\t weekdays : 'söndag_måndag_tisdag_onsdag_torsdag_fredag_lördag'.split('_'),\n\t weekdaysShort : 'sön_mån_tis_ons_tor_fre_lör'.split('_'),\n\t weekdaysMin : 'sö_må_ti_on_to_fr_lö'.split('_'),\n\t longDateFormat : {\n\t LT : 'HH:mm',\n\t LTS : 'HH:mm:ss',\n\t L : 'YYYY-MM-DD',\n\t LL : 'D MMMM YYYY',\n\t LLL : 'D MMMM YYYY [kl.] HH:mm',\n\t LLLL : 'dddd D MMMM YYYY [kl.] HH:mm',\n\t lll : 'D MMM YYYY HH:mm',\n\t llll : 'ddd D MMM YYYY HH:mm'\n\t },\n\t calendar : {\n\t sameDay: '[Idag] LT',\n\t nextDay: '[Imorgon] LT',\n\t lastDay: '[Igår] LT',\n\t nextWeek: '[På] dddd LT',\n\t lastWeek: '[I] dddd[s] LT',\n\t sameElse: 'L'\n\t },\n\t relativeTime : {\n\t future : 'om %s',\n\t past : 'för %s sedan',\n\t s : 'några sekunder',\n\t m : 'en minut',\n\t mm : '%d minuter',\n\t h : 'en timme',\n\t hh : '%d timmar',\n\t d : 'en dag',\n\t dd : '%d dagar',\n\t M : 'en månad',\n\t MM : '%d månader',\n\t y : 'ett år',\n\t yy : '%d år'\n\t },\n\t ordinalParse: /\\d{1,2}(e|a)/,\n\t ordinal : function (number) {\n\t var b = number % 10,\n\t output = (~~(number % 100 / 10) === 1) ? 'e' :\n\t (b === 1) ? 'a' :\n\t (b === 2) ? 'a' :\n\t (b === 3) ? 'e' : 'e';\n\t return number + output;\n\t },\n\t week : {\n\t dow : 1, // Monday is the first day of the week.\n\t doy : 4 // The week that contains Jan 4th is the first week of the year.\n\t }\n\t});\n\t\n\treturn sv;\n\t\n\t})));\n\n\n/***/ },\n/* 287 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t//! moment.js locale configuration\n\t//! locale : Swahili [sw]\n\t//! author : Fahad Kassim : https://github.com/fadsel\n\t\n\t;(function (global, factory) {\n\t true ? factory(__webpack_require__(1)) :\n\t typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n\t factory(global.moment)\n\t}(this, (function (moment) { 'use strict';\n\t\n\t\n\tvar sw = moment.defineLocale('sw', {\n\t months : 'Januari_Februari_Machi_Aprili_Mei_Juni_Julai_Agosti_Septemba_Oktoba_Novemba_Desemba'.split('_'),\n\t monthsShort : 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ago_Sep_Okt_Nov_Des'.split('_'),\n\t weekdays : 'Jumapili_Jumatatu_Jumanne_Jumatano_Alhamisi_Ijumaa_Jumamosi'.split('_'),\n\t weekdaysShort : 'Jpl_Jtat_Jnne_Jtan_Alh_Ijm_Jmos'.split('_'),\n\t weekdaysMin : 'J2_J3_J4_J5_Al_Ij_J1'.split('_'),\n\t weekdaysParseExact : true,\n\t longDateFormat : {\n\t LT : 'HH:mm',\n\t LTS : 'HH:mm:ss',\n\t L : 'DD.MM.YYYY',\n\t LL : 'D MMMM YYYY',\n\t LLL : 'D MMMM YYYY HH:mm',\n\t LLLL : 'dddd, D MMMM YYYY HH:mm'\n\t },\n\t calendar : {\n\t sameDay : '[leo saa] LT',\n\t nextDay : '[kesho saa] LT',\n\t nextWeek : '[wiki ijayo] dddd [saat] LT',\n\t lastDay : '[jana] LT',\n\t lastWeek : '[wiki iliyopita] dddd [saat] LT',\n\t sameElse : 'L'\n\t },\n\t relativeTime : {\n\t future : '%s baadaye',\n\t past : 'tokea %s',\n\t s : 'hivi punde',\n\t m : 'dakika moja',\n\t mm : 'dakika %d',\n\t h : 'saa limoja',\n\t hh : 'masaa %d',\n\t d : 'siku moja',\n\t dd : 'masiku %d',\n\t M : 'mwezi mmoja',\n\t MM : 'miezi %d',\n\t y : 'mwaka mmoja',\n\t yy : 'miaka %d'\n\t },\n\t week : {\n\t dow : 1, // Monday is the first day of the week.\n\t doy : 7 // The week that contains Jan 1st is the first week of the year.\n\t }\n\t});\n\t\n\treturn sw;\n\t\n\t})));\n\n\n/***/ },\n/* 288 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t//! moment.js locale configuration\n\t//! locale : Tamil [ta]\n\t//! author : Arjunkumar Krishnamoorthy : https://github.com/tk120404\n\t\n\t;(function (global, factory) {\n\t true ? factory(__webpack_require__(1)) :\n\t typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n\t factory(global.moment)\n\t}(this, (function (moment) { 'use strict';\n\t\n\t\n\tvar symbolMap = {\n\t '1': '௧',\n\t '2': '௨',\n\t '3': '௩',\n\t '4': '௪',\n\t '5': '௫',\n\t '6': '௬',\n\t '7': '௭',\n\t '8': '௮',\n\t '9': '௯',\n\t '0': '௦'\n\t};\n\tvar numberMap = {\n\t '௧': '1',\n\t '௨': '2',\n\t '௩': '3',\n\t '௪': '4',\n\t '௫': '5',\n\t '௬': '6',\n\t '௭': '7',\n\t '௮': '8',\n\t '௯': '9',\n\t '௦': '0'\n\t};\n\t\n\tvar ta = moment.defineLocale('ta', {\n\t months : 'ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்'.split('_'),\n\t monthsShort : 'ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்'.split('_'),\n\t weekdays : 'ஞாயிற்றுக்கிழமை_திங்கட்கிழமை_செவ்வாய்கிழமை_புதன்கிழமை_வியாழக்கிழமை_வெள்ளிக்கிழமை_சனிக்கிழமை'.split('_'),\n\t weekdaysShort : 'ஞாயிறு_திங்கள்_செவ்வாய்_புதன்_வியாழன்_வெள்ளி_சனி'.split('_'),\n\t weekdaysMin : 'ஞா_தி_செ_பு_வி_வெ_ச'.split('_'),\n\t longDateFormat : {\n\t LT : 'HH:mm',\n\t LTS : 'HH:mm:ss',\n\t L : 'DD/MM/YYYY',\n\t LL : 'D MMMM YYYY',\n\t LLL : 'D MMMM YYYY, HH:mm',\n\t LLLL : 'dddd, D MMMM YYYY, HH:mm'\n\t },\n\t calendar : {\n\t sameDay : '[இன்று] LT',\n\t nextDay : '[நாளை] LT',\n\t nextWeek : 'dddd, LT',\n\t lastDay : '[நேற்று] LT',\n\t lastWeek : '[கடந்த வாரம்] dddd, LT',\n\t sameElse : 'L'\n\t },\n\t relativeTime : {\n\t future : '%s இல்',\n\t past : '%s முன்',\n\t s : 'ஒரு சில விநாடிகள்',\n\t m : 'ஒரு நிமிடம்',\n\t mm : '%d நிமிடங்கள்',\n\t h : 'ஒரு மணி நேரம்',\n\t hh : '%d மணி நேரம்',\n\t d : 'ஒரு நாள்',\n\t dd : '%d நாட்கள்',\n\t M : 'ஒரு மாதம்',\n\t MM : '%d மாதங்கள்',\n\t y : 'ஒரு வருடம்',\n\t yy : '%d ஆண்டுகள்'\n\t },\n\t ordinalParse: /\\d{1,2}வது/,\n\t ordinal : function (number) {\n\t return number + 'வது';\n\t },\n\t preparse: function (string) {\n\t return string.replace(/[௧௨௩௪௫௬௭௮௯௦]/g, function (match) {\n\t return numberMap[match];\n\t });\n\t },\n\t postformat: function (string) {\n\t return string.replace(/\\d/g, function (match) {\n\t return symbolMap[match];\n\t });\n\t },\n\t // refer http://ta.wikipedia.org/s/1er1\n\t meridiemParse: /யாமம்|வைகறை|காலை|நண்பகல்|எற்பாடு|மாலை/,\n\t meridiem : function (hour, minute, isLower) {\n\t if (hour < 2) {\n\t return ' யாமம்';\n\t } else if (hour < 6) {\n\t return ' வைகறை'; // வைகறை\n\t } else if (hour < 10) {\n\t return ' காலை'; // காலை\n\t } else if (hour < 14) {\n\t return ' நண்பகல்'; // நண்பகல்\n\t } else if (hour < 18) {\n\t return ' எற்பாடு'; // எற்பாடு\n\t } else if (hour < 22) {\n\t return ' மாலை'; // மாலை\n\t } else {\n\t return ' யாமம்';\n\t }\n\t },\n\t meridiemHour : function (hour, meridiem) {\n\t if (hour === 12) {\n\t hour = 0;\n\t }\n\t if (meridiem === 'யாமம்') {\n\t return hour < 2 ? hour : hour + 12;\n\t } else if (meridiem === 'வைகறை' || meridiem === 'காலை') {\n\t return hour;\n\t } else if (meridiem === 'நண்பகல்') {\n\t return hour >= 10 ? hour : hour + 12;\n\t } else {\n\t return hour + 12;\n\t }\n\t },\n\t week : {\n\t dow : 0, // Sunday is the first day of the week.\n\t doy : 6 // The week that contains Jan 1st is the first week of the year.\n\t }\n\t});\n\t\n\treturn ta;\n\t\n\t})));\n\n\n/***/ },\n/* 289 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t//! moment.js locale configuration\n\t//! locale : Telugu [te]\n\t//! author : Krishna Chaitanya Thota : https://github.com/kcthota\n\t\n\t;(function (global, factory) {\n\t true ? factory(__webpack_require__(1)) :\n\t typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n\t factory(global.moment)\n\t}(this, (function (moment) { 'use strict';\n\t\n\t\n\tvar te = moment.defineLocale('te', {\n\t months : 'జనవరి_ఫిబ్రవరి_మార్చి_ఏప్రిల్_మే_జూన్_జూలై_ఆగస్టు_సెప్టెంబర్_అక్టోబర్_నవంబర్_డిసెంబర్'.split('_'),\n\t monthsShort : 'జన._ఫిబ్ర._మార్చి_ఏప్రి._మే_జూన్_జూలై_ఆగ._సెప్._అక్టో._నవ._డిసె.'.split('_'),\n\t monthsParseExact : true,\n\t weekdays : 'ఆదివారం_సోమవారం_మంగళవారం_బుధవారం_గురువారం_శుక్రవారం_శనివారం'.split('_'),\n\t weekdaysShort : 'ఆది_సోమ_మంగళ_బుధ_గురు_శుక్ర_శని'.split('_'),\n\t weekdaysMin : 'ఆ_సో_మం_బు_గు_శు_శ'.split('_'),\n\t longDateFormat : {\n\t LT : 'A h:mm',\n\t LTS : 'A h:mm:ss',\n\t L : 'DD/MM/YYYY',\n\t LL : 'D MMMM YYYY',\n\t LLL : 'D MMMM YYYY, A h:mm',\n\t LLLL : 'dddd, D MMMM YYYY, A h:mm'\n\t },\n\t calendar : {\n\t sameDay : '[నేడు] LT',\n\t nextDay : '[రేపు] LT',\n\t nextWeek : 'dddd, LT',\n\t lastDay : '[నిన్న] LT',\n\t lastWeek : '[గత] dddd, LT',\n\t sameElse : 'L'\n\t },\n\t relativeTime : {\n\t future : '%s లో',\n\t past : '%s క్రితం',\n\t s : 'కొన్ని క్షణాలు',\n\t m : 'ఒక నిమిషం',\n\t mm : '%d నిమిషాలు',\n\t h : 'ఒక గంట',\n\t hh : '%d గంటలు',\n\t d : 'ఒక రోజు',\n\t dd : '%d రోజులు',\n\t M : 'ఒక నెల',\n\t MM : '%d నెలలు',\n\t y : 'ఒక సంవత్సరం',\n\t yy : '%d సంవత్సరాలు'\n\t },\n\t ordinalParse : /\\d{1,2}వ/,\n\t ordinal : '%dవ',\n\t meridiemParse: /రాత్రి|ఉదయం|మధ్యాహ్నం|సాయంత్రం/,\n\t meridiemHour : function (hour, meridiem) {\n\t if (hour === 12) {\n\t hour = 0;\n\t }\n\t if (meridiem === 'రాత్రి') {\n\t return hour < 4 ? hour : hour + 12;\n\t } else if (meridiem === 'ఉదయం') {\n\t return hour;\n\t } else if (meridiem === 'మధ్యాహ్నం') {\n\t return hour >= 10 ? hour : hour + 12;\n\t } else if (meridiem === 'సాయంత్రం') {\n\t return hour + 12;\n\t }\n\t },\n\t meridiem : function (hour, minute, isLower) {\n\t if (hour < 4) {\n\t return 'రాత్రి';\n\t } else if (hour < 10) {\n\t return 'ఉదయం';\n\t } else if (hour < 17) {\n\t return 'మధ్యాహ్నం';\n\t } else if (hour < 20) {\n\t return 'సాయంత్రం';\n\t } else {\n\t return 'రాత్రి';\n\t }\n\t },\n\t week : {\n\t dow : 0, // Sunday is the first day of the week.\n\t doy : 6 // The week that contains Jan 1st is the first week of the year.\n\t }\n\t});\n\t\n\treturn te;\n\t\n\t})));\n\n\n/***/ },\n/* 290 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t//! moment.js locale configuration\n\t//! locale : Tetun Dili (East Timor) [tet]\n\t//! author : Joshua Brooks : https://github.com/joshbrooks\n\t//! author : Onorio De J. Afonso : https://github.com/marobo\n\t\n\t;(function (global, factory) {\n\t true ? factory(__webpack_require__(1)) :\n\t typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n\t factory(global.moment)\n\t}(this, (function (moment) { 'use strict';\n\t\n\t\n\tvar tet = moment.defineLocale('tet', {\n\t months : 'Janeiru_Fevereiru_Marsu_Abril_Maiu_Juniu_Juliu_Augustu_Setembru_Outubru_Novembru_Dezembru'.split('_'),\n\t monthsShort : 'Jan_Fev_Mar_Abr_Mai_Jun_Jul_Aug_Set_Out_Nov_Dez'.split('_'),\n\t weekdays : 'Domingu_Segunda_Tersa_Kuarta_Kinta_Sexta_Sabadu'.split('_'),\n\t weekdaysShort : 'Dom_Seg_Ters_Kua_Kint_Sext_Sab'.split('_'),\n\t weekdaysMin : 'Do_Seg_Te_Ku_Ki_Sex_Sa'.split('_'),\n\t longDateFormat : {\n\t LT : 'HH:mm',\n\t LTS : 'HH:mm:ss',\n\t L : 'DD/MM/YYYY',\n\t LL : 'D MMMM YYYY',\n\t LLL : 'D MMMM YYYY HH:mm',\n\t LLLL : 'dddd, D MMMM YYYY HH:mm'\n\t },\n\t calendar : {\n\t sameDay: '[Ohin iha] LT',\n\t nextDay: '[Aban iha] LT',\n\t nextWeek: 'dddd [iha] LT',\n\t lastDay: '[Horiseik iha] LT',\n\t lastWeek: 'dddd [semana kotuk] [iha] LT',\n\t sameElse: 'L'\n\t },\n\t relativeTime : {\n\t future : 'iha %s',\n\t past : '%s liuba',\n\t s : 'minutu balun',\n\t m : 'minutu ida',\n\t mm : 'minutus %d',\n\t h : 'horas ida',\n\t hh : 'horas %d',\n\t d : 'loron ida',\n\t dd : 'loron %d',\n\t M : 'fulan ida',\n\t MM : 'fulan %d',\n\t y : 'tinan ida',\n\t yy : 'tinan %d'\n\t },\n\t ordinalParse: /\\d{1,2}(st|nd|rd|th)/,\n\t ordinal : function (number) {\n\t var b = number % 10,\n\t output = (~~(number % 100 / 10) === 1) ? 'th' :\n\t (b === 1) ? 'st' :\n\t (b === 2) ? 'nd' :\n\t (b === 3) ? 'rd' : 'th';\n\t return number + output;\n\t },\n\t week : {\n\t dow : 1, // Monday is the first day of the week.\n\t doy : 4 // The week that contains Jan 4th is the first week of the year.\n\t }\n\t});\n\t\n\treturn tet;\n\t\n\t})));\n\n\n/***/ },\n/* 291 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t//! moment.js locale configuration\n\t//! locale : Thai [th]\n\t//! author : Kridsada Thanabulpong : https://github.com/sirn\n\t\n\t;(function (global, factory) {\n\t true ? factory(__webpack_require__(1)) :\n\t typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n\t factory(global.moment)\n\t}(this, (function (moment) { 'use strict';\n\t\n\t\n\tvar th = moment.defineLocale('th', {\n\t months : 'มกราคม_กุมภาพันธ์_มีนาคม_เมษายน_พฤษภาคม_มิถุนายน_กรกฎาคม_สิงหาคม_กันยายน_ตุลาคม_พฤศจิกายน_ธันวาคม'.split('_'),\n\t monthsShort : 'ม.ค._ก.พ._มี.ค._เม.ย._พ.ค._มิ.ย._ก.ค._ส.ค._ก.ย._ต.ค._พ.ย._ธ.ค.'.split('_'),\n\t monthsParseExact: true,\n\t weekdays : 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัสบดี_ศุกร์_เสาร์'.split('_'),\n\t weekdaysShort : 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัส_ศุกร์_เสาร์'.split('_'), // yes, three characters difference\n\t weekdaysMin : 'อา._จ._อ._พ._พฤ._ศ._ส.'.split('_'),\n\t weekdaysParseExact : true,\n\t longDateFormat : {\n\t LT : 'H:mm',\n\t LTS : 'H:mm:ss',\n\t L : 'YYYY/MM/DD',\n\t LL : 'D MMMM YYYY',\n\t LLL : 'D MMMM YYYY เวลา H:mm',\n\t LLLL : 'วันddddที่ D MMMM YYYY เวลา H:mm'\n\t },\n\t meridiemParse: /ก่อนเที่ยง|หลังเที่ยง/,\n\t isPM: function (input) {\n\t return input === 'หลังเที่ยง';\n\t },\n\t meridiem : function (hour, minute, isLower) {\n\t if (hour < 12) {\n\t return 'ก่อนเที่ยง';\n\t } else {\n\t return 'หลังเที่ยง';\n\t }\n\t },\n\t calendar : {\n\t sameDay : '[วันนี้ เวลา] LT',\n\t nextDay : '[พรุ่งนี้ เวลา] LT',\n\t nextWeek : 'dddd[หน้า เวลา] LT',\n\t lastDay : '[เมื่อวานนี้ เวลา] LT',\n\t lastWeek : '[วัน]dddd[ที่แล้ว เวลา] LT',\n\t sameElse : 'L'\n\t },\n\t relativeTime : {\n\t future : 'อีก %s',\n\t past : '%sที่แล้ว',\n\t s : 'ไม่กี่วินาที',\n\t m : '1 นาที',\n\t mm : '%d นาที',\n\t h : '1 ชั่วโมง',\n\t hh : '%d ชั่วโมง',\n\t d : '1 วัน',\n\t dd : '%d วัน',\n\t M : '1 เดือน',\n\t MM : '%d เดือน',\n\t y : '1 ปี',\n\t yy : '%d ปี'\n\t }\n\t});\n\t\n\treturn th;\n\t\n\t})));\n\n\n/***/ },\n/* 292 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t//! moment.js locale configuration\n\t//! locale : Tagalog (Philippines) [tl-ph]\n\t//! author : Dan Hagman : https://github.com/hagmandan\n\t\n\t;(function (global, factory) {\n\t true ? factory(__webpack_require__(1)) :\n\t typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n\t factory(global.moment)\n\t}(this, (function (moment) { 'use strict';\n\t\n\t\n\tvar tlPh = moment.defineLocale('tl-ph', {\n\t months : 'Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre'.split('_'),\n\t monthsShort : 'Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis'.split('_'),\n\t weekdays : 'Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado'.split('_'),\n\t weekdaysShort : 'Lin_Lun_Mar_Miy_Huw_Biy_Sab'.split('_'),\n\t weekdaysMin : 'Li_Lu_Ma_Mi_Hu_Bi_Sab'.split('_'),\n\t longDateFormat : {\n\t LT : 'HH:mm',\n\t LTS : 'HH:mm:ss',\n\t L : 'MM/D/YYYY',\n\t LL : 'MMMM D, YYYY',\n\t LLL : 'MMMM D, YYYY HH:mm',\n\t LLLL : 'dddd, MMMM DD, YYYY HH:mm'\n\t },\n\t calendar : {\n\t sameDay: 'LT [ngayong araw]',\n\t nextDay: '[Bukas ng] LT',\n\t nextWeek: 'LT [sa susunod na] dddd',\n\t lastDay: 'LT [kahapon]',\n\t lastWeek: 'LT [noong nakaraang] dddd',\n\t sameElse: 'L'\n\t },\n\t relativeTime : {\n\t future : 'sa loob ng %s',\n\t past : '%s ang nakalipas',\n\t s : 'ilang segundo',\n\t m : 'isang minuto',\n\t mm : '%d minuto',\n\t h : 'isang oras',\n\t hh : '%d oras',\n\t d : 'isang araw',\n\t dd : '%d araw',\n\t M : 'isang buwan',\n\t MM : '%d buwan',\n\t y : 'isang taon',\n\t yy : '%d taon'\n\t },\n\t ordinalParse: /\\d{1,2}/,\n\t ordinal : function (number) {\n\t return number;\n\t },\n\t week : {\n\t dow : 1, // Monday is the first day of the week.\n\t doy : 4 // The week that contains Jan 4th is the first week of the year.\n\t }\n\t});\n\t\n\treturn tlPh;\n\t\n\t})));\n\n\n/***/ },\n/* 293 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t//! moment.js locale configuration\n\t//! locale : Klingon [tlh]\n\t//! author : Dominika Kruk : https://github.com/amaranthrose\n\t\n\t;(function (global, factory) {\n\t true ? factory(__webpack_require__(1)) :\n\t typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n\t factory(global.moment)\n\t}(this, (function (moment) { 'use strict';\n\t\n\t\n\tvar numbersNouns = 'pagh_wa’_cha’_wej_loS_vagh_jav_Soch_chorgh_Hut'.split('_');\n\t\n\tfunction translateFuture(output) {\n\t var time = output;\n\t time = (output.indexOf('jaj') !== -1) ?\n\t time.slice(0, -3) + 'leS' :\n\t (output.indexOf('jar') !== -1) ?\n\t time.slice(0, -3) + 'waQ' :\n\t (output.indexOf('DIS') !== -1) ?\n\t time.slice(0, -3) + 'nem' :\n\t time + ' pIq';\n\t return time;\n\t}\n\t\n\tfunction translatePast(output) {\n\t var time = output;\n\t time = (output.indexOf('jaj') !== -1) ?\n\t time.slice(0, -3) + 'Hu’' :\n\t (output.indexOf('jar') !== -1) ?\n\t time.slice(0, -3) + 'wen' :\n\t (output.indexOf('DIS') !== -1) ?\n\t time.slice(0, -3) + 'ben' :\n\t time + ' ret';\n\t return time;\n\t}\n\t\n\tfunction translate(number, withoutSuffix, string, isFuture) {\n\t var numberNoun = numberAsNoun(number);\n\t switch (string) {\n\t case 'mm':\n\t return numberNoun + ' tup';\n\t case 'hh':\n\t return numberNoun + ' rep';\n\t case 'dd':\n\t return numberNoun + ' jaj';\n\t case 'MM':\n\t return numberNoun + ' jar';\n\t case 'yy':\n\t return numberNoun + ' DIS';\n\t }\n\t}\n\t\n\tfunction numberAsNoun(number) {\n\t var hundred = Math.floor((number % 1000) / 100),\n\t ten = Math.floor((number % 100) / 10),\n\t one = number % 10,\n\t word = '';\n\t if (hundred > 0) {\n\t word += numbersNouns[hundred] + 'vatlh';\n\t }\n\t if (ten > 0) {\n\t word += ((word !== '') ? ' ' : '') + numbersNouns[ten] + 'maH';\n\t }\n\t if (one > 0) {\n\t word += ((word !== '') ? ' ' : '') + numbersNouns[one];\n\t }\n\t return (word === '') ? 'pagh' : word;\n\t}\n\t\n\tvar tlh = moment.defineLocale('tlh', {\n\t months : 'tera’ jar wa’_tera’ jar cha’_tera’ jar wej_tera’ jar loS_tera’ jar vagh_tera’ jar jav_tera’ jar Soch_tera’ jar chorgh_tera’ jar Hut_tera’ jar wa’maH_tera’ jar wa’maH wa’_tera’ jar wa’maH cha’'.split('_'),\n\t monthsShort : 'jar wa’_jar cha’_jar wej_jar loS_jar vagh_jar jav_jar Soch_jar chorgh_jar Hut_jar wa’maH_jar wa’maH wa’_jar wa’maH cha’'.split('_'),\n\t monthsParseExact : true,\n\t weekdays : 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'),\n\t weekdaysShort : 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'),\n\t weekdaysMin : 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'),\n\t longDateFormat : {\n\t LT : 'HH:mm',\n\t LTS : 'HH:mm:ss',\n\t L : 'DD.MM.YYYY',\n\t LL : 'D MMMM YYYY',\n\t LLL : 'D MMMM YYYY HH:mm',\n\t LLLL : 'dddd, D MMMM YYYY HH:mm'\n\t },\n\t calendar : {\n\t sameDay: '[DaHjaj] LT',\n\t nextDay: '[wa’leS] LT',\n\t nextWeek: 'LLL',\n\t lastDay: '[wa’Hu’] LT',\n\t lastWeek: 'LLL',\n\t sameElse: 'L'\n\t },\n\t relativeTime : {\n\t future : translateFuture,\n\t past : translatePast,\n\t s : 'puS lup',\n\t m : 'wa’ tup',\n\t mm : translate,\n\t h : 'wa’ rep',\n\t hh : translate,\n\t d : 'wa’ jaj',\n\t dd : translate,\n\t M : 'wa’ jar',\n\t MM : translate,\n\t y : 'wa’ DIS',\n\t yy : translate\n\t },\n\t ordinalParse: /\\d{1,2}\\./,\n\t ordinal : '%d.',\n\t week : {\n\t dow : 1, // Monday is the first day of the week.\n\t doy : 4 // The week that contains Jan 4th is the first week of the year.\n\t }\n\t});\n\t\n\treturn tlh;\n\t\n\t})));\n\n\n/***/ },\n/* 294 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t//! moment.js locale configuration\n\t//! locale : Turkish [tr]\n\t//! authors : Erhan Gundogan : https://github.com/erhangundogan,\n\t//! Burak Yiğit Kaya: https://github.com/BYK\n\t\n\t;(function (global, factory) {\n\t true ? factory(__webpack_require__(1)) :\n\t typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n\t factory(global.moment)\n\t}(this, (function (moment) { 'use strict';\n\t\n\t\n\tvar suffixes = {\n\t 1: '\\'inci',\n\t 5: '\\'inci',\n\t 8: '\\'inci',\n\t 70: '\\'inci',\n\t 80: '\\'inci',\n\t 2: '\\'nci',\n\t 7: '\\'nci',\n\t 20: '\\'nci',\n\t 50: '\\'nci',\n\t 3: '\\'üncü',\n\t 4: '\\'üncü',\n\t 100: '\\'üncü',\n\t 6: '\\'ncı',\n\t 9: '\\'uncu',\n\t 10: '\\'uncu',\n\t 30: '\\'uncu',\n\t 60: '\\'ıncı',\n\t 90: '\\'ıncı'\n\t};\n\t\n\tvar tr = moment.defineLocale('tr', {\n\t months : 'Ocak_Şubat_Mart_Nisan_Mayıs_Haziran_Temmuz_Ağustos_Eylül_Ekim_Kasım_Aralık'.split('_'),\n\t monthsShort : 'Oca_Şub_Mar_Nis_May_Haz_Tem_Ağu_Eyl_Eki_Kas_Ara'.split('_'),\n\t weekdays : 'Pazar_Pazartesi_Salı_Çarşamba_Perşembe_Cuma_Cumartesi'.split('_'),\n\t weekdaysShort : 'Paz_Pts_Sal_Çar_Per_Cum_Cts'.split('_'),\n\t weekdaysMin : 'Pz_Pt_Sa_Ça_Pe_Cu_Ct'.split('_'),\n\t longDateFormat : {\n\t LT : 'HH:mm',\n\t LTS : 'HH:mm:ss',\n\t L : 'DD.MM.YYYY',\n\t LL : 'D MMMM YYYY',\n\t LLL : 'D MMMM YYYY HH:mm',\n\t LLLL : 'dddd, D MMMM YYYY HH:mm'\n\t },\n\t calendar : {\n\t sameDay : '[bugün saat] LT',\n\t nextDay : '[yarın saat] LT',\n\t nextWeek : '[haftaya] dddd [saat] LT',\n\t lastDay : '[dün] LT',\n\t lastWeek : '[geçen hafta] dddd [saat] LT',\n\t sameElse : 'L'\n\t },\n\t relativeTime : {\n\t future : '%s sonra',\n\t past : '%s önce',\n\t s : 'birkaç saniye',\n\t m : 'bir dakika',\n\t mm : '%d dakika',\n\t h : 'bir saat',\n\t hh : '%d saat',\n\t d : 'bir gün',\n\t dd : '%d gün',\n\t M : 'bir ay',\n\t MM : '%d ay',\n\t y : 'bir yıl',\n\t yy : '%d yıl'\n\t },\n\t ordinalParse: /\\d{1,2}'(inci|nci|üncü|ncı|uncu|ıncı)/,\n\t ordinal : function (number) {\n\t if (number === 0) { // special case for zero\n\t return number + '\\'ıncı';\n\t }\n\t var a = number % 10,\n\t b = number % 100 - a,\n\t c = number >= 100 ? 100 : null;\n\t return number + (suffixes[a] || suffixes[b] || suffixes[c]);\n\t },\n\t week : {\n\t dow : 1, // Monday is the first day of the week.\n\t doy : 7 // The week that contains Jan 1st is the first week of the year.\n\t }\n\t});\n\t\n\treturn tr;\n\t\n\t})));\n\n\n/***/ },\n/* 295 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t//! moment.js locale configuration\n\t//! locale : Talossan [tzl]\n\t//! author : Robin van der Vliet : https://github.com/robin0van0der0v\n\t//! author : Iustì Canun\n\t\n\t;(function (global, factory) {\n\t true ? factory(__webpack_require__(1)) :\n\t typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n\t factory(global.moment)\n\t}(this, (function (moment) { 'use strict';\n\t\n\t\n\t// After the year there should be a slash and the amount of years since December 26, 1979 in Roman numerals.\n\t// This is currently too difficult (maybe even impossible) to add.\n\tvar tzl = moment.defineLocale('tzl', {\n\t months : 'Januar_Fevraglh_Març_Avrïu_Mai_Gün_Julia_Guscht_Setemvar_Listopäts_Noemvar_Zecemvar'.split('_'),\n\t monthsShort : 'Jan_Fev_Mar_Avr_Mai_Gün_Jul_Gus_Set_Lis_Noe_Zec'.split('_'),\n\t weekdays : 'Súladi_Lúneçi_Maitzi_Márcuri_Xhúadi_Viénerçi_Sáturi'.split('_'),\n\t weekdaysShort : 'Súl_Lún_Mai_Már_Xhú_Vié_Sát'.split('_'),\n\t weekdaysMin : 'Sú_Lú_Ma_Má_Xh_Vi_Sá'.split('_'),\n\t longDateFormat : {\n\t LT : 'HH.mm',\n\t LTS : 'HH.mm.ss',\n\t L : 'DD.MM.YYYY',\n\t LL : 'D. MMMM [dallas] YYYY',\n\t LLL : 'D. MMMM [dallas] YYYY HH.mm',\n\t LLLL : 'dddd, [li] D. MMMM [dallas] YYYY HH.mm'\n\t },\n\t meridiemParse: /d\\'o|d\\'a/i,\n\t isPM : function (input) {\n\t return 'd\\'o' === input.toLowerCase();\n\t },\n\t meridiem : function (hours, minutes, isLower) {\n\t if (hours > 11) {\n\t return isLower ? 'd\\'o' : 'D\\'O';\n\t } else {\n\t return isLower ? 'd\\'a' : 'D\\'A';\n\t }\n\t },\n\t calendar : {\n\t sameDay : '[oxhi à] LT',\n\t nextDay : '[demà à] LT',\n\t nextWeek : 'dddd [à] LT',\n\t lastDay : '[ieiri à] LT',\n\t lastWeek : '[sür el] dddd [lasteu à] LT',\n\t sameElse : 'L'\n\t },\n\t relativeTime : {\n\t future : 'osprei %s',\n\t past : 'ja%s',\n\t s : processRelativeTime,\n\t m : processRelativeTime,\n\t mm : processRelativeTime,\n\t h : processRelativeTime,\n\t hh : processRelativeTime,\n\t d : processRelativeTime,\n\t dd : processRelativeTime,\n\t M : processRelativeTime,\n\t MM : processRelativeTime,\n\t y : processRelativeTime,\n\t yy : processRelativeTime\n\t },\n\t ordinalParse: /\\d{1,2}\\./,\n\t ordinal : '%d.',\n\t week : {\n\t dow : 1, // Monday is the first day of the week.\n\t doy : 4 // The week that contains Jan 4th is the first week of the year.\n\t }\n\t});\n\t\n\tfunction processRelativeTime(number, withoutSuffix, key, isFuture) {\n\t var format = {\n\t 's': ['viensas secunds', '\\'iensas secunds'],\n\t 'm': ['\\'n míut', '\\'iens míut'],\n\t 'mm': [number + ' míuts', '' + number + ' míuts'],\n\t 'h': ['\\'n þora', '\\'iensa þora'],\n\t 'hh': [number + ' þoras', '' + number + ' þoras'],\n\t 'd': ['\\'n ziua', '\\'iensa ziua'],\n\t 'dd': [number + ' ziuas', '' + number + ' ziuas'],\n\t 'M': ['\\'n mes', '\\'iens mes'],\n\t 'MM': [number + ' mesen', '' + number + ' mesen'],\n\t 'y': ['\\'n ar', '\\'iens ar'],\n\t 'yy': [number + ' ars', '' + number + ' ars']\n\t };\n\t return isFuture ? format[key][0] : (withoutSuffix ? format[key][0] : format[key][1]);\n\t}\n\t\n\treturn tzl;\n\t\n\t})));\n\n\n/***/ },\n/* 296 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t//! moment.js locale configuration\n\t//! locale : Central Atlas Tamazight Latin [tzm-latn]\n\t//! author : Abdel Said : https://github.com/abdelsaid\n\t\n\t;(function (global, factory) {\n\t true ? factory(__webpack_require__(1)) :\n\t typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n\t factory(global.moment)\n\t}(this, (function (moment) { 'use strict';\n\t\n\t\n\tvar tzmLatn = moment.defineLocale('tzm-latn', {\n\t months : 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split('_'),\n\t monthsShort : 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split('_'),\n\t weekdays : 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),\n\t weekdaysShort : 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),\n\t weekdaysMin : 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),\n\t longDateFormat : {\n\t LT : 'HH:mm',\n\t LTS : 'HH:mm:ss',\n\t L : 'DD/MM/YYYY',\n\t LL : 'D MMMM YYYY',\n\t LLL : 'D MMMM YYYY HH:mm',\n\t LLLL : 'dddd D MMMM YYYY HH:mm'\n\t },\n\t calendar : {\n\t sameDay: '[asdkh g] LT',\n\t nextDay: '[aska g] LT',\n\t nextWeek: 'dddd [g] LT',\n\t lastDay: '[assant g] LT',\n\t lastWeek: 'dddd [g] LT',\n\t sameElse: 'L'\n\t },\n\t relativeTime : {\n\t future : 'dadkh s yan %s',\n\t past : 'yan %s',\n\t s : 'imik',\n\t m : 'minuḍ',\n\t mm : '%d minuḍ',\n\t h : 'saɛa',\n\t hh : '%d tassaɛin',\n\t d : 'ass',\n\t dd : '%d ossan',\n\t M : 'ayowr',\n\t MM : '%d iyyirn',\n\t y : 'asgas',\n\t yy : '%d isgasn'\n\t },\n\t week : {\n\t dow : 6, // Saturday is the first day of the week.\n\t doy : 12 // The week that contains Jan 1st is the first week of the year.\n\t }\n\t});\n\t\n\treturn tzmLatn;\n\t\n\t})));\n\n\n/***/ },\n/* 297 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t//! moment.js locale configuration\n\t//! locale : Central Atlas Tamazight [tzm]\n\t//! author : Abdel Said : https://github.com/abdelsaid\n\t\n\t;(function (global, factory) {\n\t true ? factory(__webpack_require__(1)) :\n\t typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n\t factory(global.moment)\n\t}(this, (function (moment) { 'use strict';\n\t\n\t\n\tvar tzm = moment.defineLocale('tzm', {\n\t months : 'ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ'.split('_'),\n\t monthsShort : 'ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ'.split('_'),\n\t weekdays : 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),\n\t weekdaysShort : 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),\n\t weekdaysMin : 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),\n\t longDateFormat : {\n\t LT : 'HH:mm',\n\t LTS: 'HH:mm:ss',\n\t L : 'DD/MM/YYYY',\n\t LL : 'D MMMM YYYY',\n\t LLL : 'D MMMM YYYY HH:mm',\n\t LLLL : 'dddd D MMMM YYYY HH:mm'\n\t },\n\t calendar : {\n\t sameDay: '[ⴰⵙⴷⵅ ⴴ] LT',\n\t nextDay: '[ⴰⵙⴽⴰ ⴴ] LT',\n\t nextWeek: 'dddd [ⴴ] LT',\n\t lastDay: '[ⴰⵚⴰⵏⵜ ⴴ] LT',\n\t lastWeek: 'dddd [ⴴ] LT',\n\t sameElse: 'L'\n\t },\n\t relativeTime : {\n\t future : 'ⴷⴰⴷⵅ ⵙ ⵢⴰⵏ %s',\n\t past : 'ⵢⴰⵏ %s',\n\t s : 'ⵉⵎⵉⴽ',\n\t m : 'ⵎⵉⵏⵓⴺ',\n\t mm : '%d ⵎⵉⵏⵓⴺ',\n\t h : 'ⵙⴰⵄⴰ',\n\t hh : '%d ⵜⴰⵙⵙⴰⵄⵉⵏ',\n\t d : 'ⴰⵙⵙ',\n\t dd : '%d oⵙⵙⴰⵏ',\n\t M : 'ⴰⵢoⵓⵔ',\n\t MM : '%d ⵉⵢⵢⵉⵔⵏ',\n\t y : 'ⴰⵙⴳⴰⵙ',\n\t yy : '%d ⵉⵙⴳⴰⵙⵏ'\n\t },\n\t week : {\n\t dow : 6, // Saturday is the first day of the week.\n\t doy : 12 // The week that contains Jan 1st is the first week of the year.\n\t }\n\t});\n\t\n\treturn tzm;\n\t\n\t})));\n\n\n/***/ },\n/* 298 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t//! moment.js locale configuration\n\t//! locale : Ukrainian [uk]\n\t//! author : zemlanin : https://github.com/zemlanin\n\t//! Author : Menelion Elensúle : https://github.com/Oire\n\t\n\t;(function (global, factory) {\n\t true ? factory(__webpack_require__(1)) :\n\t typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n\t factory(global.moment)\n\t}(this, (function (moment) { 'use strict';\n\t\n\t\n\tfunction plural(word, num) {\n\t var forms = word.split('_');\n\t return num % 10 === 1 && num % 100 !== 11 ? forms[0] : (num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20) ? forms[1] : forms[2]);\n\t}\n\tfunction relativeTimeWithPlural(number, withoutSuffix, key) {\n\t var format = {\n\t 'mm': withoutSuffix ? 'хвилина_хвилини_хвилин' : 'хвилину_хвилини_хвилин',\n\t 'hh': withoutSuffix ? 'година_години_годин' : 'годину_години_годин',\n\t 'dd': 'день_дні_днів',\n\t 'MM': 'місяць_місяці_місяців',\n\t 'yy': 'рік_роки_років'\n\t };\n\t if (key === 'm') {\n\t return withoutSuffix ? 'хвилина' : 'хвилину';\n\t }\n\t else if (key === 'h') {\n\t return withoutSuffix ? 'година' : 'годину';\n\t }\n\t else {\n\t return number + ' ' + plural(format[key], +number);\n\t }\n\t}\n\tfunction weekdaysCaseReplace(m, format) {\n\t var weekdays = {\n\t 'nominative': 'неділя_понеділок_вівторок_середа_четвер_п’ятниця_субота'.split('_'),\n\t 'accusative': 'неділю_понеділок_вівторок_середу_четвер_п’ятницю_суботу'.split('_'),\n\t 'genitive': 'неділі_понеділка_вівторка_середи_четверга_п’ятниці_суботи'.split('_')\n\t },\n\t nounCase = (/(\\[[ВвУу]\\]) ?dddd/).test(format) ?\n\t 'accusative' :\n\t ((/\\[?(?:минулої|наступної)? ?\\] ?dddd/).test(format) ?\n\t 'genitive' :\n\t 'nominative');\n\t return weekdays[nounCase][m.day()];\n\t}\n\tfunction processHoursFunction(str) {\n\t return function () {\n\t return str + 'о' + (this.hours() === 11 ? 'б' : '') + '] LT';\n\t };\n\t}\n\t\n\tvar uk = moment.defineLocale('uk', {\n\t months : {\n\t 'format': 'січня_лютого_березня_квітня_травня_червня_липня_серпня_вересня_жовтня_листопада_грудня'.split('_'),\n\t 'standalone': 'січень_лютий_березень_квітень_травень_червень_липень_серпень_вересень_жовтень_листопад_грудень'.split('_')\n\t },\n\t monthsShort : 'січ_лют_бер_квіт_трав_черв_лип_серп_вер_жовт_лист_груд'.split('_'),\n\t weekdays : weekdaysCaseReplace,\n\t weekdaysShort : 'нд_пн_вт_ср_чт_пт_сб'.split('_'),\n\t weekdaysMin : 'нд_пн_вт_ср_чт_пт_сб'.split('_'),\n\t longDateFormat : {\n\t LT : 'HH:mm',\n\t LTS : 'HH:mm:ss',\n\t L : 'DD.MM.YYYY',\n\t LL : 'D MMMM YYYY р.',\n\t LLL : 'D MMMM YYYY р., HH:mm',\n\t LLLL : 'dddd, D MMMM YYYY р., HH:mm'\n\t },\n\t calendar : {\n\t sameDay: processHoursFunction('[Сьогодні '),\n\t nextDay: processHoursFunction('[Завтра '),\n\t lastDay: processHoursFunction('[Вчора '),\n\t nextWeek: processHoursFunction('[У] dddd ['),\n\t lastWeek: function () {\n\t switch (this.day()) {\n\t case 0:\n\t case 3:\n\t case 5:\n\t case 6:\n\t return processHoursFunction('[Минулої] dddd [').call(this);\n\t case 1:\n\t case 2:\n\t case 4:\n\t return processHoursFunction('[Минулого] dddd [').call(this);\n\t }\n\t },\n\t sameElse: 'L'\n\t },\n\t relativeTime : {\n\t future : 'за %s',\n\t past : '%s тому',\n\t s : 'декілька секунд',\n\t m : relativeTimeWithPlural,\n\t mm : relativeTimeWithPlural,\n\t h : 'годину',\n\t hh : relativeTimeWithPlural,\n\t d : 'день',\n\t dd : relativeTimeWithPlural,\n\t M : 'місяць',\n\t MM : relativeTimeWithPlural,\n\t y : 'рік',\n\t yy : relativeTimeWithPlural\n\t },\n\t // M. E.: those two are virtually unused but a user might want to implement them for his/her website for some reason\n\t meridiemParse: /ночі|ранку|дня|вечора/,\n\t isPM: function (input) {\n\t return /^(дня|вечора)$/.test(input);\n\t },\n\t meridiem : function (hour, minute, isLower) {\n\t if (hour < 4) {\n\t return 'ночі';\n\t } else if (hour < 12) {\n\t return 'ранку';\n\t } else if (hour < 17) {\n\t return 'дня';\n\t } else {\n\t return 'вечора';\n\t }\n\t },\n\t ordinalParse: /\\d{1,2}-(й|го)/,\n\t ordinal: function (number, period) {\n\t switch (period) {\n\t case 'M':\n\t case 'd':\n\t case 'DDD':\n\t case 'w':\n\t case 'W':\n\t return number + '-й';\n\t case 'D':\n\t return number + '-го';\n\t default:\n\t return number;\n\t }\n\t },\n\t week : {\n\t dow : 1, // Monday is the first day of the week.\n\t doy : 7 // The week that contains Jan 1st is the first week of the year.\n\t }\n\t});\n\t\n\treturn uk;\n\t\n\t})));\n\n\n/***/ },\n/* 299 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t//! moment.js locale configuration\n\t//! locale : Uzbek [uz]\n\t//! author : Sardor Muminov : https://github.com/muminoff\n\t\n\t;(function (global, factory) {\n\t true ? factory(__webpack_require__(1)) :\n\t typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n\t factory(global.moment)\n\t}(this, (function (moment) { 'use strict';\n\t\n\t\n\tvar uz = moment.defineLocale('uz', {\n\t months : 'январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр'.split('_'),\n\t monthsShort : 'янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек'.split('_'),\n\t weekdays : 'Якшанба_Душанба_Сешанба_Чоршанба_Пайшанба_Жума_Шанба'.split('_'),\n\t weekdaysShort : 'Якш_Душ_Сеш_Чор_Пай_Жум_Шан'.split('_'),\n\t weekdaysMin : 'Як_Ду_Се_Чо_Па_Жу_Ша'.split('_'),\n\t longDateFormat : {\n\t LT : 'HH:mm',\n\t LTS : 'HH:mm:ss',\n\t L : 'DD/MM/YYYY',\n\t LL : 'D MMMM YYYY',\n\t LLL : 'D MMMM YYYY HH:mm',\n\t LLLL : 'D MMMM YYYY, dddd HH:mm'\n\t },\n\t calendar : {\n\t sameDay : '[Бугун соат] LT [да]',\n\t nextDay : '[Эртага] LT [да]',\n\t nextWeek : 'dddd [куни соат] LT [да]',\n\t lastDay : '[Кеча соат] LT [да]',\n\t lastWeek : '[Утган] dddd [куни соат] LT [да]',\n\t sameElse : 'L'\n\t },\n\t relativeTime : {\n\t future : 'Якин %s ичида',\n\t past : 'Бир неча %s олдин',\n\t s : 'фурсат',\n\t m : 'бир дакика',\n\t mm : '%d дакика',\n\t h : 'бир соат',\n\t hh : '%d соат',\n\t d : 'бир кун',\n\t dd : '%d кун',\n\t M : 'бир ой',\n\t MM : '%d ой',\n\t y : 'бир йил',\n\t yy : '%d йил'\n\t },\n\t week : {\n\t dow : 1, // Monday is the first day of the week.\n\t doy : 7 // The week that contains Jan 4th is the first week of the year.\n\t }\n\t});\n\t\n\treturn uz;\n\t\n\t})));\n\n\n/***/ },\n/* 300 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t//! moment.js locale configuration\n\t//! locale : Vietnamese [vi]\n\t//! author : Bang Nguyen : https://github.com/bangnk\n\t\n\t;(function (global, factory) {\n\t true ? factory(__webpack_require__(1)) :\n\t typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n\t factory(global.moment)\n\t}(this, (function (moment) { 'use strict';\n\t\n\t\n\tvar vi = moment.defineLocale('vi', {\n\t months : 'tháng 1_tháng 2_tháng 3_tháng 4_tháng 5_tháng 6_tháng 7_tháng 8_tháng 9_tháng 10_tháng 11_tháng 12'.split('_'),\n\t monthsShort : 'Th01_Th02_Th03_Th04_Th05_Th06_Th07_Th08_Th09_Th10_Th11_Th12'.split('_'),\n\t monthsParseExact : true,\n\t weekdays : 'chủ nhật_thứ hai_thứ ba_thứ tư_thứ năm_thứ sáu_thứ bảy'.split('_'),\n\t weekdaysShort : 'CN_T2_T3_T4_T5_T6_T7'.split('_'),\n\t weekdaysMin : 'CN_T2_T3_T4_T5_T6_T7'.split('_'),\n\t weekdaysParseExact : true,\n\t meridiemParse: /sa|ch/i,\n\t isPM : function (input) {\n\t return /^ch$/i.test(input);\n\t },\n\t meridiem : function (hours, minutes, isLower) {\n\t if (hours < 12) {\n\t return isLower ? 'sa' : 'SA';\n\t } else {\n\t return isLower ? 'ch' : 'CH';\n\t }\n\t },\n\t longDateFormat : {\n\t LT : 'HH:mm',\n\t LTS : 'HH:mm:ss',\n\t L : 'DD/MM/YYYY',\n\t LL : 'D MMMM [năm] YYYY',\n\t LLL : 'D MMMM [năm] YYYY HH:mm',\n\t LLLL : 'dddd, D MMMM [năm] YYYY HH:mm',\n\t l : 'DD/M/YYYY',\n\t ll : 'D MMM YYYY',\n\t lll : 'D MMM YYYY HH:mm',\n\t llll : 'ddd, D MMM YYYY HH:mm'\n\t },\n\t calendar : {\n\t sameDay: '[Hôm nay lúc] LT',\n\t nextDay: '[Ngày mai lúc] LT',\n\t nextWeek: 'dddd [tuần tới lúc] LT',\n\t lastDay: '[Hôm qua lúc] LT',\n\t lastWeek: 'dddd [tuần rồi lúc] LT',\n\t sameElse: 'L'\n\t },\n\t relativeTime : {\n\t future : '%s tới',\n\t past : '%s trước',\n\t s : 'vài giây',\n\t m : 'một phút',\n\t mm : '%d phút',\n\t h : 'một giờ',\n\t hh : '%d giờ',\n\t d : 'một ngày',\n\t dd : '%d ngày',\n\t M : 'một tháng',\n\t MM : '%d tháng',\n\t y : 'một năm',\n\t yy : '%d năm'\n\t },\n\t ordinalParse: /\\d{1,2}/,\n\t ordinal : function (number) {\n\t return number;\n\t },\n\t week : {\n\t dow : 1, // Monday is the first day of the week.\n\t doy : 4 // The week that contains Jan 4th is the first week of the year.\n\t }\n\t});\n\t\n\treturn vi;\n\t\n\t})));\n\n\n/***/ },\n/* 301 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t//! moment.js locale configuration\n\t//! locale : Pseudo [x-pseudo]\n\t//! author : Andrew Hood : https://github.com/andrewhood125\n\t\n\t;(function (global, factory) {\n\t true ? factory(__webpack_require__(1)) :\n\t typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n\t factory(global.moment)\n\t}(this, (function (moment) { 'use strict';\n\t\n\t\n\tvar xPseudo = moment.defineLocale('x-pseudo', {\n\t months : 'J~áñúá~rý_F~ébrú~árý_~Márc~h_Áp~ríl_~Máý_~Júñé~_Júl~ý_Áú~gúst~_Sép~témb~ér_Ó~ctób~ér_Ñ~óvém~bér_~Décé~mbér'.split('_'),\n\t monthsShort : 'J~áñ_~Féb_~Már_~Ápr_~Máý_~Júñ_~Júl_~Áúg_~Sép_~Óct_~Ñóv_~Déc'.split('_'),\n\t monthsParseExact : true,\n\t weekdays : 'S~úñdá~ý_Mó~ñdáý~_Túé~sdáý~_Wéd~ñésd~áý_T~húrs~dáý_~Fríd~áý_S~átúr~dáý'.split('_'),\n\t weekdaysShort : 'S~úñ_~Móñ_~Túé_~Wéd_~Thú_~Frí_~Sát'.split('_'),\n\t weekdaysMin : 'S~ú_Mó~_Tú_~Wé_T~h_Fr~_Sá'.split('_'),\n\t weekdaysParseExact : true,\n\t longDateFormat : {\n\t LT : 'HH:mm',\n\t L : 'DD/MM/YYYY',\n\t LL : 'D MMMM YYYY',\n\t LLL : 'D MMMM YYYY HH:mm',\n\t LLLL : 'dddd, D MMMM YYYY HH:mm'\n\t },\n\t calendar : {\n\t sameDay : '[T~ódá~ý át] LT',\n\t nextDay : '[T~ómó~rró~w át] LT',\n\t nextWeek : 'dddd [át] LT',\n\t lastDay : '[Ý~ést~érdá~ý át] LT',\n\t lastWeek : '[L~ást] dddd [át] LT',\n\t sameElse : 'L'\n\t },\n\t relativeTime : {\n\t future : 'í~ñ %s',\n\t past : '%s á~gó',\n\t s : 'á ~féw ~sécó~ñds',\n\t m : 'á ~míñ~úté',\n\t mm : '%d m~íñú~tés',\n\t h : 'á~ñ hó~úr',\n\t hh : '%d h~óúrs',\n\t d : 'á ~dáý',\n\t dd : '%d d~áýs',\n\t M : 'á ~móñ~th',\n\t MM : '%d m~óñt~hs',\n\t y : 'á ~ýéár',\n\t yy : '%d ý~éárs'\n\t },\n\t ordinalParse: /\\d{1,2}(th|st|nd|rd)/,\n\t ordinal : function (number) {\n\t var b = number % 10,\n\t output = (~~(number % 100 / 10) === 1) ? 'th' :\n\t (b === 1) ? 'st' :\n\t (b === 2) ? 'nd' :\n\t (b === 3) ? 'rd' : 'th';\n\t return number + output;\n\t },\n\t week : {\n\t dow : 1, // Monday is the first day of the week.\n\t doy : 4 // The week that contains Jan 4th is the first week of the year.\n\t }\n\t});\n\t\n\treturn xPseudo;\n\t\n\t})));\n\n\n/***/ },\n/* 302 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t//! moment.js locale configuration\n\t//! locale : Yoruba Nigeria [yo]\n\t//! author : Atolagbe Abisoye : https://github.com/andela-batolagbe\n\t\n\t;(function (global, factory) {\n\t true ? factory(__webpack_require__(1)) :\n\t typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n\t factory(global.moment)\n\t}(this, (function (moment) { 'use strict';\n\t\n\t\n\tvar yo = moment.defineLocale('yo', {\n\t months : 'Sẹ́rẹ́_Èrèlè_Ẹrẹ̀nà_Ìgbé_Èbibi_Òkùdu_Agẹmo_Ògún_Owewe_Ọ̀wàrà_Bélú_Ọ̀pẹ̀̀'.split('_'),\n\t monthsShort : 'Sẹ́r_Èrl_Ẹrn_Ìgb_Èbi_Òkù_Agẹ_Ògú_Owe_Ọ̀wà_Bél_Ọ̀pẹ̀̀'.split('_'),\n\t weekdays : 'Àìkú_Ajé_Ìsẹ́gun_Ọjọ́rú_Ọjọ́bọ_Ẹtì_Àbámẹ́ta'.split('_'),\n\t weekdaysShort : 'Àìk_Ajé_Ìsẹ́_Ọjr_Ọjb_Ẹtì_Àbá'.split('_'),\n\t weekdaysMin : 'Àì_Aj_Ìs_Ọr_Ọb_Ẹt_Àb'.split('_'),\n\t longDateFormat : {\n\t LT : 'h:mm A',\n\t LTS : 'h:mm:ss A',\n\t L : 'DD/MM/YYYY',\n\t LL : 'D MMMM YYYY',\n\t LLL : 'D MMMM YYYY h:mm A',\n\t LLLL : 'dddd, D MMMM YYYY h:mm A'\n\t },\n\t calendar : {\n\t sameDay : '[Ònì ni] LT',\n\t nextDay : '[Ọ̀la ni] LT',\n\t nextWeek : 'dddd [Ọsẹ̀ tón\\'bọ] [ni] LT',\n\t lastDay : '[Àna ni] LT',\n\t lastWeek : 'dddd [Ọsẹ̀ tólọ́] [ni] LT',\n\t sameElse : 'L'\n\t },\n\t relativeTime : {\n\t future : 'ní %s',\n\t past : '%s kọjá',\n\t s : 'ìsẹjú aayá die',\n\t m : 'ìsẹjú kan',\n\t mm : 'ìsẹjú %d',\n\t h : 'wákati kan',\n\t hh : 'wákati %d',\n\t d : 'ọjọ́ kan',\n\t dd : 'ọjọ́ %d',\n\t M : 'osù kan',\n\t MM : 'osù %d',\n\t y : 'ọdún kan',\n\t yy : 'ọdún %d'\n\t },\n\t ordinalParse : /ọjọ́\\s\\d{1,2}/,\n\t ordinal : 'ọjọ́ %d',\n\t week : {\n\t dow : 1, // Monday is the first day of the week.\n\t doy : 4 // The week that contains Jan 4th is the first week of the year.\n\t }\n\t});\n\t\n\treturn yo;\n\t\n\t})));\n\n\n/***/ },\n/* 303 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t//! moment.js locale configuration\n\t//! locale : Chinese (China) [zh-cn]\n\t//! author : suupic : https://github.com/suupic\n\t//! author : Zeno Zeng : https://github.com/zenozeng\n\t\n\t;(function (global, factory) {\n\t true ? factory(__webpack_require__(1)) :\n\t typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n\t factory(global.moment)\n\t}(this, (function (moment) { 'use strict';\n\t\n\t\n\tvar zhCn = moment.defineLocale('zh-cn', {\n\t months : '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split('_'),\n\t monthsShort : '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),\n\t weekdays : '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\n\t weekdaysShort : '周日_周一_周二_周三_周四_周五_周六'.split('_'),\n\t weekdaysMin : '日_一_二_三_四_五_六'.split('_'),\n\t longDateFormat : {\n\t LT : 'Ah点mm分',\n\t LTS : 'Ah点m分s秒',\n\t L : 'YYYY-MM-DD',\n\t LL : 'YYYY年MMMD日',\n\t LLL : 'YYYY年MMMD日Ah点mm分',\n\t LLLL : 'YYYY年MMMD日ddddAh点mm分',\n\t l : 'YYYY-MM-DD',\n\t ll : 'YYYY年MMMD日',\n\t lll : 'YYYY年MMMD日Ah点mm分',\n\t llll : 'YYYY年MMMD日ddddAh点mm分'\n\t },\n\t meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\n\t meridiemHour: function (hour, meridiem) {\n\t if (hour === 12) {\n\t hour = 0;\n\t }\n\t if (meridiem === '凌晨' || meridiem === '早上' ||\n\t meridiem === '上午') {\n\t return hour;\n\t } else if (meridiem === '下午' || meridiem === '晚上') {\n\t return hour + 12;\n\t } else {\n\t // '中午'\n\t return hour >= 11 ? hour : hour + 12;\n\t }\n\t },\n\t meridiem : function (hour, minute, isLower) {\n\t var hm = hour * 100 + minute;\n\t if (hm < 600) {\n\t return '凌晨';\n\t } else if (hm < 900) {\n\t return '早上';\n\t } else if (hm < 1130) {\n\t return '上午';\n\t } else if (hm < 1230) {\n\t return '中午';\n\t } else if (hm < 1800) {\n\t return '下午';\n\t } else {\n\t return '晚上';\n\t }\n\t },\n\t calendar : {\n\t sameDay : function () {\n\t return this.minutes() === 0 ? '[今天]Ah[点整]' : '[今天]LT';\n\t },\n\t nextDay : function () {\n\t return this.minutes() === 0 ? '[明天]Ah[点整]' : '[明天]LT';\n\t },\n\t lastDay : function () {\n\t return this.minutes() === 0 ? '[昨天]Ah[点整]' : '[昨天]LT';\n\t },\n\t nextWeek : function () {\n\t var startOfWeek, prefix;\n\t startOfWeek = moment().startOf('week');\n\t prefix = this.diff(startOfWeek, 'days') >= 7 ? '[下]' : '[本]';\n\t return this.minutes() === 0 ? prefix + 'dddAh点整' : prefix + 'dddAh点mm';\n\t },\n\t lastWeek : function () {\n\t var startOfWeek, prefix;\n\t startOfWeek = moment().startOf('week');\n\t prefix = this.unix() < startOfWeek.unix() ? '[上]' : '[本]';\n\t return this.minutes() === 0 ? prefix + 'dddAh点整' : prefix + 'dddAh点mm';\n\t },\n\t sameElse : 'LL'\n\t },\n\t ordinalParse: /\\d{1,2}(日|月|周)/,\n\t ordinal : function (number, period) {\n\t switch (period) {\n\t case 'd':\n\t case 'D':\n\t case 'DDD':\n\t return number + '日';\n\t case 'M':\n\t return number + '月';\n\t case 'w':\n\t case 'W':\n\t return number + '周';\n\t default:\n\t return number;\n\t }\n\t },\n\t relativeTime : {\n\t future : '%s内',\n\t past : '%s前',\n\t s : '几秒',\n\t m : '1 分钟',\n\t mm : '%d 分钟',\n\t h : '1 小时',\n\t hh : '%d 小时',\n\t d : '1 天',\n\t dd : '%d 天',\n\t M : '1 个月',\n\t MM : '%d 个月',\n\t y : '1 年',\n\t yy : '%d 年'\n\t },\n\t week : {\n\t // GB/T 7408-1994《数据元和交换格式·信息交换·日期和时间表示法》与ISO 8601:1988等效\n\t dow : 1, // Monday is the first day of the week.\n\t doy : 4 // The week that contains Jan 4th is the first week of the year.\n\t }\n\t});\n\t\n\treturn zhCn;\n\t\n\t})));\n\n\n/***/ },\n/* 304 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t//! moment.js locale configuration\n\t//! locale : Chinese (Hong Kong) [zh-hk]\n\t//! author : Ben : https://github.com/ben-lin\n\t//! author : Chris Lam : https://github.com/hehachris\n\t//! author : Konstantin : https://github.com/skfd\n\t\n\t;(function (global, factory) {\n\t true ? factory(__webpack_require__(1)) :\n\t typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n\t factory(global.moment)\n\t}(this, (function (moment) { 'use strict';\n\t\n\t\n\tvar zhHk = moment.defineLocale('zh-hk', {\n\t months : '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split('_'),\n\t monthsShort : '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),\n\t weekdays : '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\n\t weekdaysShort : '週日_週一_週二_週三_週四_週五_週六'.split('_'),\n\t weekdaysMin : '日_一_二_三_四_五_六'.split('_'),\n\t longDateFormat : {\n\t LT : 'Ah點mm分',\n\t LTS : 'Ah點m分s秒',\n\t L : 'YYYY年MMMD日',\n\t LL : 'YYYY年MMMD日',\n\t LLL : 'YYYY年MMMD日Ah點mm分',\n\t LLLL : 'YYYY年MMMD日ddddAh點mm分',\n\t l : 'YYYY年MMMD日',\n\t ll : 'YYYY年MMMD日',\n\t lll : 'YYYY年MMMD日Ah點mm分',\n\t llll : 'YYYY年MMMD日ddddAh點mm分'\n\t },\n\t meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\n\t meridiemHour : function (hour, meridiem) {\n\t if (hour === 12) {\n\t hour = 0;\n\t }\n\t if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {\n\t return hour;\n\t } else if (meridiem === '中午') {\n\t return hour >= 11 ? hour : hour + 12;\n\t } else if (meridiem === '下午' || meridiem === '晚上') {\n\t return hour + 12;\n\t }\n\t },\n\t meridiem : function (hour, minute, isLower) {\n\t var hm = hour * 100 + minute;\n\t if (hm < 600) {\n\t return '凌晨';\n\t } else if (hm < 900) {\n\t return '早上';\n\t } else if (hm < 1130) {\n\t return '上午';\n\t } else if (hm < 1230) {\n\t return '中午';\n\t } else if (hm < 1800) {\n\t return '下午';\n\t } else {\n\t return '晚上';\n\t }\n\t },\n\t calendar : {\n\t sameDay : '[今天]LT',\n\t nextDay : '[明天]LT',\n\t nextWeek : '[下]ddddLT',\n\t lastDay : '[昨天]LT',\n\t lastWeek : '[上]ddddLT',\n\t sameElse : 'L'\n\t },\n\t ordinalParse: /\\d{1,2}(日|月|週)/,\n\t ordinal : function (number, period) {\n\t switch (period) {\n\t case 'd' :\n\t case 'D' :\n\t case 'DDD' :\n\t return number + '日';\n\t case 'M' :\n\t return number + '月';\n\t case 'w' :\n\t case 'W' :\n\t return number + '週';\n\t default :\n\t return number;\n\t }\n\t },\n\t relativeTime : {\n\t future : '%s內',\n\t past : '%s前',\n\t s : '幾秒',\n\t m : '1 分鐘',\n\t mm : '%d 分鐘',\n\t h : '1 小時',\n\t hh : '%d 小時',\n\t d : '1 天',\n\t dd : '%d 天',\n\t M : '1 個月',\n\t MM : '%d 個月',\n\t y : '1 年',\n\t yy : '%d 年'\n\t }\n\t});\n\t\n\treturn zhHk;\n\t\n\t})));\n\n\n/***/ },\n/* 305 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t//! moment.js locale configuration\n\t//! locale : Chinese (Taiwan) [zh-tw]\n\t//! author : Ben : https://github.com/ben-lin\n\t//! author : Chris Lam : https://github.com/hehachris\n\t\n\t;(function (global, factory) {\n\t true ? factory(__webpack_require__(1)) :\n\t typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n\t factory(global.moment)\n\t}(this, (function (moment) { 'use strict';\n\t\n\t\n\tvar zhTw = moment.defineLocale('zh-tw', {\n\t months : '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split('_'),\n\t monthsShort : '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),\n\t weekdays : '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\n\t weekdaysShort : '週日_週一_週二_週三_週四_週五_週六'.split('_'),\n\t weekdaysMin : '日_一_二_三_四_五_六'.split('_'),\n\t longDateFormat : {\n\t LT : 'Ah點mm分',\n\t LTS : 'Ah點m分s秒',\n\t L : 'YYYY年MMMD日',\n\t LL : 'YYYY年MMMD日',\n\t LLL : 'YYYY年MMMD日Ah點mm分',\n\t LLLL : 'YYYY年MMMD日ddddAh點mm分',\n\t l : 'YYYY年MMMD日',\n\t ll : 'YYYY年MMMD日',\n\t lll : 'YYYY年MMMD日Ah點mm分',\n\t llll : 'YYYY年MMMD日ddddAh點mm分'\n\t },\n\t meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\n\t meridiemHour : function (hour, meridiem) {\n\t if (hour === 12) {\n\t hour = 0;\n\t }\n\t if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {\n\t return hour;\n\t } else if (meridiem === '中午') {\n\t return hour >= 11 ? hour : hour + 12;\n\t } else if (meridiem === '下午' || meridiem === '晚上') {\n\t return hour + 12;\n\t }\n\t },\n\t meridiem : function (hour, minute, isLower) {\n\t var hm = hour * 100 + minute;\n\t if (hm < 600) {\n\t return '凌晨';\n\t } else if (hm < 900) {\n\t return '早上';\n\t } else if (hm < 1130) {\n\t return '上午';\n\t } else if (hm < 1230) {\n\t return '中午';\n\t } else if (hm < 1800) {\n\t return '下午';\n\t } else {\n\t return '晚上';\n\t }\n\t },\n\t calendar : {\n\t sameDay : '[今天]LT',\n\t nextDay : '[明天]LT',\n\t nextWeek : '[下]ddddLT',\n\t lastDay : '[昨天]LT',\n\t lastWeek : '[上]ddddLT',\n\t sameElse : 'L'\n\t },\n\t ordinalParse: /\\d{1,2}(日|月|週)/,\n\t ordinal : function (number, period) {\n\t switch (period) {\n\t case 'd' :\n\t case 'D' :\n\t case 'DDD' :\n\t return number + '日';\n\t case 'M' :\n\t return number + '月';\n\t case 'w' :\n\t case 'W' :\n\t return number + '週';\n\t default :\n\t return number;\n\t }\n\t },\n\t relativeTime : {\n\t future : '%s內',\n\t past : '%s前',\n\t s : '幾秒',\n\t m : '1 分鐘',\n\t mm : '%d 分鐘',\n\t h : '1 小時',\n\t hh : '%d 小時',\n\t d : '1 天',\n\t dd : '%d 天',\n\t M : '1 個月',\n\t MM : '%d 個月',\n\t y : '1 年',\n\t yy : '%d 年'\n\t }\n\t});\n\t\n\treturn zhTw;\n\t\n\t})));\n\n\n/***/ },\n/* 306 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\t\n\tvar _react = __webpack_require__(2);\n\t\n\texports[\"default\"] = _react.PropTypes.shape({\n\t subscribe: _react.PropTypes.func.isRequired,\n\t dispatch: _react.PropTypes.func.isRequired,\n\t getState: _react.PropTypes.func.isRequired\n\t});\n\n/***/ },\n/* 307 */\n/***/ function(module, exports) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\texports[\"default\"] = warning;\n\t/**\n\t * Prints a warning in the console if it exists.\n\t *\n\t * @param {String} message The warning message.\n\t * @returns {void}\n\t */\n\tfunction warning(message) {\n\t /* eslint-disable no-console */\n\t if (typeof console !== 'undefined' && typeof console.error === 'function') {\n\t console.error(message);\n\t }\n\t /* eslint-enable no-console */\n\t try {\n\t // This error was thrown as a convenience so that you can use this stack\n\t // to find the callsite that caused this warning to fire.\n\t throw new Error(message);\n\t /* eslint-disable no-empty */\n\t } catch (e) {}\n\t /* eslint-enable no-empty */\n\t}\n\n/***/ },\n/* 308 */\n/***/ function(module, exports) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t/**\n\t * This action type will be dispatched by the history actions below.\n\t * If you're writing a middleware to watch for navigation events, be sure to\n\t * look for actions of this type.\n\t */\n\tvar CALL_HISTORY_METHOD = exports.CALL_HISTORY_METHOD = '@@router/CALL_HISTORY_METHOD';\n\t\n\tfunction updateLocation(method) {\n\t return function () {\n\t for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n\t args[_key] = arguments[_key];\n\t }\n\t\n\t return {\n\t type: CALL_HISTORY_METHOD,\n\t payload: { method: method, args: args }\n\t };\n\t };\n\t}\n\t\n\t/**\n\t * These actions correspond to the history API.\n\t * The associated routerMiddleware will capture these events before they get to\n\t * your reducer and reissue them as the matching function on your history.\n\t */\n\tvar push = exports.push = updateLocation('push');\n\tvar replace = exports.replace = updateLocation('replace');\n\tvar go = exports.go = updateLocation('go');\n\tvar goBack = exports.goBack = updateLocation('goBack');\n\tvar goForward = exports.goForward = updateLocation('goForward');\n\t\n\tvar routerActions = exports.routerActions = { push: push, replace: replace, go: go, goBack: goBack, goForward: goForward };\n\n/***/ },\n/* 309 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\texports.routerMiddleware = exports.routerActions = exports.goForward = exports.goBack = exports.go = exports.replace = exports.push = exports.CALL_HISTORY_METHOD = exports.routerReducer = exports.LOCATION_CHANGE = exports.syncHistoryWithStore = undefined;\n\t\n\tvar _reducer = __webpack_require__(310);\n\t\n\tObject.defineProperty(exports, 'LOCATION_CHANGE', {\n\t enumerable: true,\n\t get: function get() {\n\t return _reducer.LOCATION_CHANGE;\n\t }\n\t});\n\tObject.defineProperty(exports, 'routerReducer', {\n\t enumerable: true,\n\t get: function get() {\n\t return _reducer.routerReducer;\n\t }\n\t});\n\t\n\tvar _actions = __webpack_require__(308);\n\t\n\tObject.defineProperty(exports, 'CALL_HISTORY_METHOD', {\n\t enumerable: true,\n\t get: function get() {\n\t return _actions.CALL_HISTORY_METHOD;\n\t }\n\t});\n\tObject.defineProperty(exports, 'push', {\n\t enumerable: true,\n\t get: function get() {\n\t return _actions.push;\n\t }\n\t});\n\tObject.defineProperty(exports, 'replace', {\n\t enumerable: true,\n\t get: function get() {\n\t return _actions.replace;\n\t }\n\t});\n\tObject.defineProperty(exports, 'go', {\n\t enumerable: true,\n\t get: function get() {\n\t return _actions.go;\n\t }\n\t});\n\tObject.defineProperty(exports, 'goBack', {\n\t enumerable: true,\n\t get: function get() {\n\t return _actions.goBack;\n\t }\n\t});\n\tObject.defineProperty(exports, 'goForward', {\n\t enumerable: true,\n\t get: function get() {\n\t return _actions.goForward;\n\t }\n\t});\n\tObject.defineProperty(exports, 'routerActions', {\n\t enumerable: true,\n\t get: function get() {\n\t return _actions.routerActions;\n\t }\n\t});\n\t\n\tvar _sync = __webpack_require__(550);\n\t\n\tvar _sync2 = _interopRequireDefault(_sync);\n\t\n\tvar _middleware = __webpack_require__(549);\n\t\n\tvar _middleware2 = _interopRequireDefault(_middleware);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\texports.syncHistoryWithStore = _sync2['default'];\n\texports.routerMiddleware = _middleware2['default'];\n\n/***/ },\n/* 310 */\n/***/ function(module, exports) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\t\n\texports.routerReducer = routerReducer;\n\t/**\n\t * This action type will be dispatched when your history\n\t * receives a location change.\n\t */\n\tvar LOCATION_CHANGE = exports.LOCATION_CHANGE = '@@router/LOCATION_CHANGE';\n\t\n\tvar initialState = {\n\t locationBeforeTransitions: null\n\t};\n\t\n\t/**\n\t * This reducer will update the state with the most recent location history\n\t * has transitioned to. This may not be in sync with the router, particularly\n\t * if you have asynchronously-loaded routes, so reading from and relying on\n\t * this state is discouraged.\n\t */\n\tfunction routerReducer() {\n\t var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : initialState;\n\t\n\t var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n\t type = _ref.type,\n\t payload = _ref.payload;\n\t\n\t if (type === LOCATION_CHANGE) {\n\t return _extends({}, state, { locationBeforeTransitions: payload });\n\t }\n\t\n\t return state;\n\t}\n\n/***/ },\n/* 311 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\t\n\tvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\t\n\tvar _react = __webpack_require__(2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _invariant = __webpack_require__(10);\n\t\n\tvar _invariant2 = _interopRequireDefault(_invariant);\n\t\n\tvar _PropTypes = __webpack_require__(130);\n\t\n\tvar _ContextUtils = __webpack_require__(129);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\t\n\tvar _React$PropTypes = _react2.default.PropTypes,\n\t bool = _React$PropTypes.bool,\n\t object = _React$PropTypes.object,\n\t string = _React$PropTypes.string,\n\t func = _React$PropTypes.func,\n\t oneOfType = _React$PropTypes.oneOfType;\n\t\n\t\n\tfunction isLeftClickEvent(event) {\n\t return event.button === 0;\n\t}\n\t\n\tfunction isModifiedEvent(event) {\n\t return !!(event.metaKey || event.altKey || event.ctrlKey || event.shiftKey);\n\t}\n\t\n\t// TODO: De-duplicate against hasAnyProperties in createTransitionManager.\n\tfunction isEmptyObject(object) {\n\t for (var p in object) {\n\t if (Object.prototype.hasOwnProperty.call(object, p)) return false;\n\t }return true;\n\t}\n\t\n\tfunction resolveToLocation(to, router) {\n\t return typeof to === 'function' ? to(router.location) : to;\n\t}\n\t\n\t/**\n\t * A <Link> is used to create an <a> element that links to a route.\n\t * When that route is active, the link gets the value of its\n\t * activeClassName prop.\n\t *\n\t * For example, assuming you have the following route:\n\t *\n\t * <Route path=\"/posts/:postID\" component={Post} />\n\t *\n\t * You could use the following component to link to that route:\n\t *\n\t * <Link to={`/posts/${post.id}`} />\n\t *\n\t * Links may pass along location state and/or query string parameters\n\t * in the state/query props, respectively.\n\t *\n\t * <Link ... query={{ show: true }} state={{ the: 'state' }} />\n\t */\n\tvar Link = _react2.default.createClass({\n\t displayName: 'Link',\n\t\n\t\n\t mixins: [(0, _ContextUtils.ContextSubscriber)('router')],\n\t\n\t contextTypes: {\n\t router: _PropTypes.routerShape\n\t },\n\t\n\t propTypes: {\n\t to: oneOfType([string, object, func]),\n\t query: object,\n\t hash: string,\n\t state: object,\n\t activeStyle: object,\n\t activeClassName: string,\n\t onlyActiveOnIndex: bool.isRequired,\n\t onClick: func,\n\t target: string\n\t },\n\t\n\t getDefaultProps: function getDefaultProps() {\n\t return {\n\t onlyActiveOnIndex: false,\n\t style: {}\n\t };\n\t },\n\t handleClick: function handleClick(event) {\n\t if (this.props.onClick) this.props.onClick(event);\n\t\n\t if (event.defaultPrevented) return;\n\t\n\t var router = this.context.router;\n\t\n\t !router ? false ? (0, _invariant2.default)(false, '<Link>s rendered outside of a router context cannot navigate.') : (0, _invariant2.default)(false) : void 0;\n\t\n\t if (isModifiedEvent(event) || !isLeftClickEvent(event)) return;\n\t\n\t // If target prop is set (e.g. to \"_blank\"), let browser handle link.\n\t /* istanbul ignore if: untestable with Karma */\n\t if (this.props.target) return;\n\t\n\t event.preventDefault();\n\t\n\t router.push(resolveToLocation(this.props.to, router));\n\t },\n\t render: function render() {\n\t var _props = this.props,\n\t to = _props.to,\n\t activeClassName = _props.activeClassName,\n\t activeStyle = _props.activeStyle,\n\t onlyActiveOnIndex = _props.onlyActiveOnIndex,\n\t props = _objectWithoutProperties(_props, ['to', 'activeClassName', 'activeStyle', 'onlyActiveOnIndex']);\n\t\n\t // Ignore if rendered outside the context of router to simplify unit testing.\n\t\n\t\n\t var router = this.context.router;\n\t\n\t\n\t if (router) {\n\t // If user does not specify a `to` prop, return an empty anchor tag.\n\t if (to == null) {\n\t return _react2.default.createElement('a', props);\n\t }\n\t\n\t var toLocation = resolveToLocation(to, router);\n\t props.href = router.createHref(toLocation);\n\t\n\t if (activeClassName || activeStyle != null && !isEmptyObject(activeStyle)) {\n\t if (router.isActive(toLocation, onlyActiveOnIndex)) {\n\t if (activeClassName) {\n\t if (props.className) {\n\t props.className += ' ' + activeClassName;\n\t } else {\n\t props.className = activeClassName;\n\t }\n\t }\n\t\n\t if (activeStyle) props.style = _extends({}, props.style, activeStyle);\n\t }\n\t }\n\t }\n\t\n\t return _react2.default.createElement('a', _extends({}, props, { onClick: this.handleClick }));\n\t }\n\t});\n\t\n\texports.default = Link;\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 312 */\n/***/ function(module, exports) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\texports.isPromise = isPromise;\n\tfunction isPromise(obj) {\n\t return obj && typeof obj.then === 'function';\n\t}\n\n/***/ },\n/* 313 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\t\n\tvar _react = __webpack_require__(2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _invariant = __webpack_require__(10);\n\t\n\tvar _invariant2 = _interopRequireDefault(_invariant);\n\t\n\tvar _RouteUtils = __webpack_require__(36);\n\t\n\tvar _PatternUtils = __webpack_require__(51);\n\t\n\tvar _InternalPropTypes = __webpack_require__(67);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tvar _React$PropTypes = _react2.default.PropTypes,\n\t string = _React$PropTypes.string,\n\t object = _React$PropTypes.object;\n\t\n\t/**\n\t * A <Redirect> is used to declare another URL path a client should\n\t * be sent to when they request a given URL.\n\t *\n\t * Redirects are placed alongside routes in the route configuration\n\t * and are traversed in the same manner.\n\t */\n\t/* eslint-disable react/require-render-return */\n\t\n\tvar Redirect = _react2.default.createClass({\n\t displayName: 'Redirect',\n\t\n\t\n\t statics: {\n\t createRouteFromReactElement: function createRouteFromReactElement(element) {\n\t var route = (0, _RouteUtils.createRouteFromReactElement)(element);\n\t\n\t if (route.from) route.path = route.from;\n\t\n\t route.onEnter = function (nextState, replace) {\n\t var location = nextState.location,\n\t params = nextState.params;\n\t\n\t\n\t var pathname = void 0;\n\t if (route.to.charAt(0) === '/') {\n\t pathname = (0, _PatternUtils.formatPattern)(route.to, params);\n\t } else if (!route.to) {\n\t pathname = location.pathname;\n\t } else {\n\t var routeIndex = nextState.routes.indexOf(route);\n\t var parentPattern = Redirect.getRoutePattern(nextState.routes, routeIndex - 1);\n\t var pattern = parentPattern.replace(/\\/*$/, '/') + route.to;\n\t pathname = (0, _PatternUtils.formatPattern)(pattern, params);\n\t }\n\t\n\t replace({\n\t pathname: pathname,\n\t query: route.query || location.query,\n\t state: route.state || location.state\n\t });\n\t };\n\t\n\t return route;\n\t },\n\t getRoutePattern: function getRoutePattern(routes, routeIndex) {\n\t var parentPattern = '';\n\t\n\t for (var i = routeIndex; i >= 0; i--) {\n\t var route = routes[i];\n\t var pattern = route.path || '';\n\t\n\t parentPattern = pattern.replace(/\\/*$/, '/') + parentPattern;\n\t\n\t if (pattern.indexOf('/') === 0) break;\n\t }\n\t\n\t return '/' + parentPattern;\n\t }\n\t },\n\t\n\t propTypes: {\n\t path: string,\n\t from: string, // Alias for path\n\t to: string.isRequired,\n\t query: object,\n\t state: object,\n\t onEnter: _InternalPropTypes.falsy,\n\t children: _InternalPropTypes.falsy\n\t },\n\t\n\t /* istanbul ignore next: sanity check */\n\t render: function render() {\n\t true ? false ? (0, _invariant2.default)(false, '<Redirect> elements are for router configuration only and should not be rendered') : (0, _invariant2.default)(false) : void 0;\n\t }\n\t});\n\t\n\texports.default = Redirect;\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 314 */\n/***/ function(module, exports) {\n\n\t\"use strict\";\n\t\n\texports.__esModule = true;\n\t\n\tvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\t\n\texports.createRouterObject = createRouterObject;\n\texports.assignRouterState = assignRouterState;\n\tfunction createRouterObject(history, transitionManager, state) {\n\t var router = _extends({}, history, {\n\t setRouteLeaveHook: transitionManager.listenBeforeLeavingRoute,\n\t isActive: transitionManager.isActive\n\t });\n\t\n\t return assignRouterState(router, state);\n\t}\n\t\n\tfunction assignRouterState(router, _ref) {\n\t var location = _ref.location,\n\t params = _ref.params,\n\t routes = _ref.routes;\n\t\n\t router.location = location;\n\t router.params = params;\n\t router.routes = routes;\n\t\n\t return router;\n\t}\n\n/***/ },\n/* 315 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\texports.default = createMemoryHistory;\n\t\n\tvar _useQueries = __webpack_require__(177);\n\t\n\tvar _useQueries2 = _interopRequireDefault(_useQueries);\n\t\n\tvar _useBasename = __webpack_require__(176);\n\t\n\tvar _useBasename2 = _interopRequireDefault(_useBasename);\n\t\n\tvar _createMemoryHistory = __webpack_require__(432);\n\t\n\tvar _createMemoryHistory2 = _interopRequireDefault(_createMemoryHistory);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction createMemoryHistory(options) {\n\t // signatures and type checking differ between `useQueries` and\n\t // `createMemoryHistory`, have to create `memoryHistory` first because\n\t // `useQueries` doesn't understand the signature\n\t var memoryHistory = (0, _createMemoryHistory2.default)(options);\n\t var createHistory = function createHistory() {\n\t return memoryHistory;\n\t };\n\t var history = (0, _useQueries2.default)((0, _useBasename2.default)(createHistory))(options);\n\t return history;\n\t}\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 316 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\t\n\texports.default = function (createHistory) {\n\t var history = void 0;\n\t if (canUseDOM) history = (0, _useRouterHistory2.default)(createHistory)();\n\t return history;\n\t};\n\t\n\tvar _useRouterHistory = __webpack_require__(318);\n\t\n\tvar _useRouterHistory2 = _interopRequireDefault(_useRouterHistory);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tvar canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\n\t\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 317 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\t\n\tvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\t\n\texports.default = createTransitionManager;\n\t\n\tvar _routerWarning = __webpack_require__(52);\n\t\n\tvar _routerWarning2 = _interopRequireDefault(_routerWarning);\n\t\n\tvar _computeChangedRoutes2 = __webpack_require__(559);\n\t\n\tvar _computeChangedRoutes3 = _interopRequireDefault(_computeChangedRoutes2);\n\t\n\tvar _TransitionUtils = __webpack_require__(556);\n\t\n\tvar _isActive2 = __webpack_require__(563);\n\t\n\tvar _isActive3 = _interopRequireDefault(_isActive2);\n\t\n\tvar _getComponents = __webpack_require__(560);\n\t\n\tvar _getComponents2 = _interopRequireDefault(_getComponents);\n\t\n\tvar _matchRoutes = __webpack_require__(565);\n\t\n\tvar _matchRoutes2 = _interopRequireDefault(_matchRoutes);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction hasAnyProperties(object) {\n\t for (var p in object) {\n\t if (Object.prototype.hasOwnProperty.call(object, p)) return true;\n\t }return false;\n\t}\n\t\n\tfunction createTransitionManager(history, routes) {\n\t var state = {};\n\t\n\t // Signature should be (location, indexOnly), but needs to support (path,\n\t // query, indexOnly)\n\t function isActive(location, indexOnly) {\n\t location = history.createLocation(location);\n\t\n\t return (0, _isActive3.default)(location, indexOnly, state.location, state.routes, state.params);\n\t }\n\t\n\t var partialNextState = void 0;\n\t\n\t function match(location, callback) {\n\t if (partialNextState && partialNextState.location === location) {\n\t // Continue from where we left off.\n\t finishMatch(partialNextState, callback);\n\t } else {\n\t (0, _matchRoutes2.default)(routes, location, function (error, nextState) {\n\t if (error) {\n\t callback(error);\n\t } else if (nextState) {\n\t finishMatch(_extends({}, nextState, { location: location }), callback);\n\t } else {\n\t callback();\n\t }\n\t });\n\t }\n\t }\n\t\n\t function finishMatch(nextState, callback) {\n\t var _computeChangedRoutes = (0, _computeChangedRoutes3.default)(state, nextState),\n\t leaveRoutes = _computeChangedRoutes.leaveRoutes,\n\t changeRoutes = _computeChangedRoutes.changeRoutes,\n\t enterRoutes = _computeChangedRoutes.enterRoutes;\n\t\n\t (0, _TransitionUtils.runLeaveHooks)(leaveRoutes, state);\n\t\n\t // Tear down confirmation hooks for left routes\n\t leaveRoutes.filter(function (route) {\n\t return enterRoutes.indexOf(route) === -1;\n\t }).forEach(removeListenBeforeHooksForRoute);\n\t\n\t // change and enter hooks are run in series\n\t (0, _TransitionUtils.runChangeHooks)(changeRoutes, state, nextState, function (error, redirectInfo) {\n\t if (error || redirectInfo) return handleErrorOrRedirect(error, redirectInfo);\n\t\n\t (0, _TransitionUtils.runEnterHooks)(enterRoutes, nextState, finishEnterHooks);\n\t });\n\t\n\t function finishEnterHooks(error, redirectInfo) {\n\t if (error || redirectInfo) return handleErrorOrRedirect(error, redirectInfo);\n\t\n\t // TODO: Fetch components after state is updated.\n\t (0, _getComponents2.default)(nextState, function (error, components) {\n\t if (error) {\n\t callback(error);\n\t } else {\n\t // TODO: Make match a pure function and have some other API\n\t // for \"match and update state\".\n\t callback(null, null, state = _extends({}, nextState, { components: components }));\n\t }\n\t });\n\t }\n\t\n\t function handleErrorOrRedirect(error, redirectInfo) {\n\t if (error) callback(error);else callback(null, redirectInfo);\n\t }\n\t }\n\t\n\t var RouteGuid = 1;\n\t\n\t function getRouteID(route) {\n\t var create = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\t\n\t return route.__id__ || create && (route.__id__ = RouteGuid++);\n\t }\n\t\n\t var RouteHooks = Object.create(null);\n\t\n\t function getRouteHooksForRoutes(routes) {\n\t return routes.map(function (route) {\n\t return RouteHooks[getRouteID(route)];\n\t }).filter(function (hook) {\n\t return hook;\n\t });\n\t }\n\t\n\t function transitionHook(location, callback) {\n\t (0, _matchRoutes2.default)(routes, location, function (error, nextState) {\n\t if (nextState == null) {\n\t // TODO: We didn't actually match anything, but hang\n\t // onto error/nextState so we don't have to matchRoutes\n\t // again in the listen callback.\n\t callback();\n\t return;\n\t }\n\t\n\t // Cache some state here so we don't have to\n\t // matchRoutes() again in the listen callback.\n\t partialNextState = _extends({}, nextState, { location: location });\n\t\n\t var hooks = getRouteHooksForRoutes((0, _computeChangedRoutes3.default)(state, partialNextState).leaveRoutes);\n\t\n\t var result = void 0;\n\t for (var i = 0, len = hooks.length; result == null && i < len; ++i) {\n\t // Passing the location arg here indicates to\n\t // the user that this is a transition hook.\n\t result = hooks[i](location);\n\t }\n\t\n\t callback(result);\n\t });\n\t }\n\t\n\t /* istanbul ignore next: untestable with Karma */\n\t function beforeUnloadHook() {\n\t // Synchronously check to see if any route hooks want\n\t // to prevent the current window/tab from closing.\n\t if (state.routes) {\n\t var hooks = getRouteHooksForRoutes(state.routes);\n\t\n\t var message = void 0;\n\t for (var i = 0, len = hooks.length; typeof message !== 'string' && i < len; ++i) {\n\t // Passing no args indicates to the user that this is a\n\t // beforeunload hook. We don't know the next location.\n\t message = hooks[i]();\n\t }\n\t\n\t return message;\n\t }\n\t }\n\t\n\t var unlistenBefore = void 0,\n\t unlistenBeforeUnload = void 0;\n\t\n\t function removeListenBeforeHooksForRoute(route) {\n\t var routeID = getRouteID(route);\n\t if (!routeID) {\n\t return;\n\t }\n\t\n\t delete RouteHooks[routeID];\n\t\n\t if (!hasAnyProperties(RouteHooks)) {\n\t // teardown transition & beforeunload hooks\n\t if (unlistenBefore) {\n\t unlistenBefore();\n\t unlistenBefore = null;\n\t }\n\t\n\t if (unlistenBeforeUnload) {\n\t unlistenBeforeUnload();\n\t unlistenBeforeUnload = null;\n\t }\n\t }\n\t }\n\t\n\t /**\n\t * Registers the given hook function to run before leaving the given route.\n\t *\n\t * During a normal transition, the hook function receives the next location\n\t * as its only argument and can return either a prompt message (string) to show the user,\n\t * to make sure they want to leave the page; or `false`, to prevent the transition.\n\t * Any other return value will have no effect.\n\t *\n\t * During the beforeunload event (in browsers) the hook receives no arguments.\n\t * In this case it must return a prompt message to prevent the transition.\n\t *\n\t * Returns a function that may be used to unbind the listener.\n\t */\n\t function listenBeforeLeavingRoute(route, hook) {\n\t var thereWereNoRouteHooks = !hasAnyProperties(RouteHooks);\n\t var routeID = getRouteID(route, true);\n\t\n\t RouteHooks[routeID] = hook;\n\t\n\t if (thereWereNoRouteHooks) {\n\t // setup transition & beforeunload hooks\n\t unlistenBefore = history.listenBefore(transitionHook);\n\t\n\t if (history.listenBeforeUnload) unlistenBeforeUnload = history.listenBeforeUnload(beforeUnloadHook);\n\t }\n\t\n\t return function () {\n\t removeListenBeforeHooksForRoute(route);\n\t };\n\t }\n\t\n\t /**\n\t * This is the API for stateful environments. As the location\n\t * changes, we update state and call the listener. We can also\n\t * gracefully handle errors and redirects.\n\t */\n\t function listen(listener) {\n\t function historyListener(location) {\n\t if (state.location === location) {\n\t listener(null, state);\n\t } else {\n\t match(location, function (error, redirectLocation, nextState) {\n\t if (error) {\n\t listener(error);\n\t } else if (redirectLocation) {\n\t history.replace(redirectLocation);\n\t } else if (nextState) {\n\t listener(null, nextState);\n\t } else {\n\t false ? (0, _routerWarning2.default)(false, 'Location \"%s\" did not match any routes', location.pathname + location.search + location.hash) : void 0;\n\t }\n\t });\n\t }\n\t }\n\t\n\t // TODO: Only use a single history listener. Otherwise we'll end up with\n\t // multiple concurrent calls to match.\n\t\n\t // Set up the history listener first in case the initial match redirects.\n\t var unsubscribe = history.listen(historyListener);\n\t\n\t if (state.location) {\n\t // Picking up on a matchContext.\n\t listener(null, state);\n\t } else {\n\t historyListener(history.getCurrentLocation());\n\t }\n\t\n\t return unsubscribe;\n\t }\n\t\n\t return {\n\t isActive: isActive,\n\t match: match,\n\t listenBeforeLeavingRoute: listenBeforeLeavingRoute,\n\t listen: listen\n\t };\n\t}\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 318 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\texports.default = useRouterHistory;\n\t\n\tvar _useQueries = __webpack_require__(177);\n\t\n\tvar _useQueries2 = _interopRequireDefault(_useQueries);\n\t\n\tvar _useBasename = __webpack_require__(176);\n\t\n\tvar _useBasename2 = _interopRequireDefault(_useBasename);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction useRouterHistory(createHistory) {\n\t return function (options) {\n\t var history = (0, _useQueries2.default)((0, _useBasename2.default)(createHistory))(options);\n\t return history;\n\t };\n\t}\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 319 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\texports.default = undefined;\n\t\n\tvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\t\n\tvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol ? \"symbol\" : typeof obj; };\n\t\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\tvar _class, _temp; /**\n\t * <TextareaAutosize />\n\t */\n\t\n\tvar _react = __webpack_require__(2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _calculateNodeHeight = __webpack_require__(568);\n\t\n\tvar _calculateNodeHeight2 = _interopRequireDefault(_calculateNodeHeight);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\tvar emptyFunction = function emptyFunction() {};\n\t\n\tvar TextareaAutosize = (_temp = _class = function (_React$Component) {\n\t _inherits(TextareaAutosize, _React$Component);\n\t\n\t function TextareaAutosize(props) {\n\t _classCallCheck(this, TextareaAutosize);\n\t\n\t var _this = _possibleConstructorReturn(this, (TextareaAutosize.__proto__ || Object.getPrototypeOf(TextareaAutosize)).call(this, props));\n\t\n\t _this.state = {\n\t height: null,\n\t minHeight: -Infinity,\n\t maxHeight: Infinity\n\t };\n\t _this._onNextFrameActionId = null;\n\t _this._rootDOMNode = null;\n\t _this._onChange = _this._onChange.bind(_this);\n\t _this._resizeComponent = _this._resizeComponent.bind(_this);\n\t _this._onRootDOMNode = _this._onRootDOMNode.bind(_this);\n\t return _this;\n\t }\n\t\n\t _createClass(TextareaAutosize, [{\n\t key: 'render',\n\t value: function render() {\n\t var _props = this.props;\n\t var valueLink = _props.valueLink;\n\t var _minRows = _props.minRows;\n\t var _maxRows = _props.maxRows;\n\t var _onHeightChange = _props.onHeightChange;\n\t var _useCacheForDOMMeasurements = _props.useCacheForDOMMeasurements;\n\t\n\t var props = _objectWithoutProperties(_props, ['valueLink', 'minRows', 'maxRows', 'onHeightChange', 'useCacheForDOMMeasurements']);\n\t\n\t if ((typeof valueLink === 'undefined' ? 'undefined' : _typeof(valueLink)) === 'object') {\n\t props.value = valueLink.value;\n\t }\n\t props.style = _extends({}, props.style, {\n\t height: this.state.height || 0\n\t });\n\t var maxHeight = Math.max(props.style.maxHeight ? props.style.maxHeight : Infinity, this.state.maxHeight);\n\t if (maxHeight < this.state.height) {\n\t props.style.overflow = 'hidden';\n\t }\n\t return _react2.default.createElement('textarea', _extends({}, props, {\n\t onChange: this._onChange,\n\t ref: this._onRootDOMNode\n\t }));\n\t }\n\t }, {\n\t key: 'componentDidMount',\n\t value: function componentDidMount() {\n\t this._resizeComponent();\n\t window.addEventListener('resize', this._resizeComponent);\n\t }\n\t }, {\n\t key: 'componentWillReceiveProps',\n\t value: function componentWillReceiveProps() {\n\t // Re-render with the new content then recalculate the height as required.\n\t this._clearNextFrame();\n\t this._onNextFrameActionId = onNextFrame(this._resizeComponent);\n\t }\n\t }, {\n\t key: 'componentDidUpdate',\n\t value: function componentDidUpdate(prevProps, prevState) {\n\t // Invoke callback when old height does not equal to new one.\n\t if (this.state.height !== prevState.height) {\n\t this.props.onHeightChange(this.state.height);\n\t }\n\t }\n\t }, {\n\t key: 'componentWillUnmount',\n\t value: function componentWillUnmount() {\n\t // Remove any scheduled events to prevent manipulating the node after it's\n\t // been unmounted.\n\t this._clearNextFrame();\n\t window.removeEventListener('resize', this._resizeComponent);\n\t }\n\t }, {\n\t key: '_clearNextFrame',\n\t value: function _clearNextFrame() {\n\t if (this._onNextFrameActionId) {\n\t clearNextFrameAction(this._onNextFrameActionId);\n\t }\n\t }\n\t }, {\n\t key: '_onRootDOMNode',\n\t value: function _onRootDOMNode(node) {\n\t this._rootDOMNode = node;\n\t }\n\t }, {\n\t key: '_onChange',\n\t value: function _onChange(e) {\n\t this._resizeComponent();\n\t var _props2 = this.props;\n\t var valueLink = _props2.valueLink;\n\t var onChange = _props2.onChange;\n\t\n\t if (valueLink) {\n\t valueLink.requestChange(e.target.value);\n\t } else {\n\t onChange(e);\n\t }\n\t }\n\t }, {\n\t key: '_resizeComponent',\n\t value: function _resizeComponent() {\n\t var useCacheForDOMMeasurements = this.props.useCacheForDOMMeasurements;\n\t\n\t this.setState((0, _calculateNodeHeight2.default)(this._rootDOMNode, useCacheForDOMMeasurements, this.props.rows || this.props.minRows, this.props.maxRows));\n\t }\n\t\n\t /**\n\t * Read the current value of <textarea /> from DOM.\n\t */\n\t\n\t }, {\n\t key: 'focus',\n\t\n\t\n\t /**\n\t * Put focus on a <textarea /> DOM element.\n\t */\n\t value: function focus() {\n\t this._rootDOMNode.focus();\n\t }\n\t\n\t /**\n\t * Shifts focus away from a <textarea /> DOM element.\n\t */\n\t\n\t }, {\n\t key: 'blur',\n\t value: function blur() {\n\t this._rootDOMNode.blur();\n\t }\n\t }, {\n\t key: 'value',\n\t get: function get() {\n\t return this._rootDOMNode.value;\n\t }\n\t\n\t /**\n\t * Set the current value of <textarea /> DOM node.\n\t */\n\t ,\n\t set: function set(val) {\n\t this._rootDOMNode.value = val;\n\t }\n\t\n\t /**\n\t * Read the current selectionStart of <textarea /> from DOM.\n\t */\n\t\n\t }, {\n\t key: 'selectionStart',\n\t get: function get() {\n\t return this._rootDOMNode.selectionStart;\n\t }\n\t\n\t /**\n\t * Set the current selectionStart of <textarea /> DOM node.\n\t */\n\t ,\n\t set: function set(selectionStart) {\n\t this._rootDOMNode.selectionStart = selectionStart;\n\t }\n\t\n\t /**\n\t * Read the current selectionEnd of <textarea /> from DOM.\n\t */\n\t\n\t }, {\n\t key: 'selectionEnd',\n\t get: function get() {\n\t return this._rootDOMNode.selectionEnd;\n\t }\n\t\n\t /**\n\t * Set the current selectionEnd of <textarea /> DOM node.\n\t */\n\t ,\n\t set: function set(selectionEnd) {\n\t this._rootDOMNode.selectionEnd = selectionEnd;\n\t }\n\t }]);\n\t\n\t return TextareaAutosize;\n\t}(_react2.default.Component), _class.propTypes = {\n\t /**\n\t * Current textarea value.\n\t */\n\t value: _react2.default.PropTypes.string,\n\t\n\t /**\n\t * Callback on value change.\n\t */\n\t onChange: _react2.default.PropTypes.func,\n\t\n\t /**\n\t * Callback on height changes.\n\t */\n\t onHeightChange: _react2.default.PropTypes.func,\n\t\n\t /**\n\t * Try to cache DOM measurements performed by component so that we don't\n\t * touch DOM when it's not needed.\n\t *\n\t * This optimization doesn't work if we dynamically style <textarea />\n\t * component.\n\t */\n\t useCacheForDOMMeasurements: _react2.default.PropTypes.bool,\n\t\n\t /**\n\t * Minimal numbder of rows to show.\n\t */\n\t rows: _react2.default.PropTypes.number,\n\t\n\t /**\n\t * Alias for `rows`.\n\t */\n\t minRows: _react2.default.PropTypes.number,\n\t\n\t /**\n\t * Maximum number of rows to show.\n\t */\n\t maxRows: _react2.default.PropTypes.number\n\t}, _class.defaultProps = {\n\t onChange: emptyFunction,\n\t onHeightChange: emptyFunction,\n\t useCacheForDOMMeasurements: false\n\t}, _temp);\n\texports.default = TextareaAutosize;\n\t\n\t\n\tfunction onNextFrame(cb) {\n\t if (window.requestAnimationFrame) {\n\t return window.requestAnimationFrame(cb);\n\t }\n\t return window.setTimeout(cb, 1);\n\t}\n\t\n\tfunction clearNextFrameAction(nextFrameId) {\n\t if (window.cancelAnimationFrame) {\n\t window.cancelAnimationFrame(nextFrameId);\n\t } else {\n\t window.clearTimeout(nextFrameId);\n\t }\n\t}\n\n\n/***/ },\n/* 320 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\t\n\tvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\t\n\tvar _class, _temp;\n\t\n\tvar _react = __webpack_require__(2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _classnames = __webpack_require__(26);\n\t\n\tvar _classnames2 = _interopRequireDefault(_classnames);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\tvar Widget = (_temp = _class = function (_React$Component) {\n\t _inherits(Widget, _React$Component);\n\t\n\t function Widget() {\n\t _classCallCheck(this, Widget);\n\t\n\t return _possibleConstructorReturn(this, _React$Component.apply(this, arguments));\n\t }\n\t\n\t Widget.prototype.render = function render() {\n\t var _props = this.props,\n\t className = _props.className,\n\t tabIndex = _props.tabIndex,\n\t open = _props.open,\n\t dropUp = _props.dropUp,\n\t disabled = _props.disabled,\n\t readOnly = _props.readOnly,\n\t focused = _props.focused,\n\t props = _objectWithoutProperties(_props, ['className', 'tabIndex', 'open', 'dropUp', 'disabled', 'readOnly', 'focused']);\n\t\n\t var isRtl = !!this.context.isRtl;\n\t var openClass = 'rw-open' + (dropUp ? '-up' : '');\n\t\n\t tabIndex = tabIndex != null ? tabIndex : '-1';\n\t\n\t return _react2.default.createElement('div', _extends({}, props, {\n\t tabIndex: tabIndex,\n\t className: (0, _classnames2.default)(className, 'rw-widget', isRtl && 'rw-rtl', open && openClass, focused && 'rw-state-focus', disabled && 'rw-state-disabled', readOnly && 'rw-state-readonly')\n\t }));\n\t };\n\t\n\t return Widget;\n\t}(_react2.default.Component), _class.propTypes = {\n\t tabIndex: _react.PropTypes.node,\n\t focused: _react.PropTypes.bool,\n\t disabled: _react.PropTypes.bool,\n\t readOnly: _react.PropTypes.bool,\n\t open: _react.PropTypes.bool,\n\t dropUp: _react.PropTypes.bool\n\t}, _class.contextTypes = {\n\t isRtl: _react.PropTypes.bool\n\t}, _temp);\n\texports.default = Widget;\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 321 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\texports.default = FocusMixin;\n\t\n\tvar _widgetHelpers = __webpack_require__(38);\n\t\n\tvar _interaction = __webpack_require__(70);\n\t\n\tvar _compat = __webpack_require__(31);\n\t\n\tvar _compat2 = _interopRequireDefault(_compat);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _applyDecoratedDescriptor(target, property, decorators, descriptor, context) {\n\t var desc = {};\n\t Object['ke' + 'ys'](descriptor).forEach(function (key) {\n\t desc[key] = descriptor[key];\n\t });\n\t desc.enumerable = !!desc.enumerable;\n\t desc.configurable = !!desc.configurable;\n\t\n\t if ('value' in desc || desc.initializer) {\n\t desc.writable = true;\n\t }\n\t\n\t desc = decorators.slice().reverse().reduce(function (desc, decorator) {\n\t return decorator(target, property, desc) || desc;\n\t }, desc);\n\t\n\t if (context && desc.initializer !== void 0) {\n\t desc.value = desc.initializer ? desc.initializer.call(context) : void 0;\n\t desc.initializer = undefined;\n\t }\n\t\n\t if (desc.initializer === void 0) {\n\t Object['define' + 'Property'](target, property, desc);\n\t desc = null;\n\t }\n\t\n\t return desc;\n\t}\n\t\n\tfunction FocusMixin(_ref) {\n\t var _desc, _value, _obj;\n\t\n\t var willHandle = _ref.willHandle,\n\t didHandle = _ref.didHandle;\n\t\n\t function _handleFocus(inst, focused, event) {\n\t var handler = inst.props[focused ? 'onFocus' : 'onBlur'];\n\t\n\t if (handler && event) event.persist();\n\t\n\t if (willHandle && willHandle.call(inst, focused, event) === false) return;\n\t\n\t inst.setTimeout('focus', function () {\n\t _compat2.default.batchedUpdates(function () {\n\t if (didHandle) didHandle.call(inst, focused, event);\n\t\n\t if (focused !== inst.state.focused) {\n\t (0, _widgetHelpers.notify)(handler, event);\n\t if (inst.isMounted()) inst.setState({ focused: focused });\n\t }\n\t });\n\t });\n\t }\n\t\n\t return _obj = {\n\t handleBlur: function handleBlur(event) {\n\t _handleFocus(this, false, event);\n\t },\n\t handleFocus: function handleFocus(event) {\n\t _handleFocus(this, true, event);\n\t }\n\t }, (_applyDecoratedDescriptor(_obj, 'handleBlur', [_interaction.widgetEnabled], Object.getOwnPropertyDescriptor(_obj, 'handleBlur'), _obj), _applyDecoratedDescriptor(_obj, 'handleFocus', [_interaction.widgetEnabled], Object.getOwnPropertyDescriptor(_obj, 'handleFocus'), _obj)), _obj;\n\t}\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 322 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar React = __webpack_require__(2);\n\t\n\tmodule.exports = {\n\t\n\t propTypes: {\n\t isRtl: React.PropTypes.bool\n\t },\n\t\n\t contextTypes: {\n\t isRtl: React.PropTypes.bool\n\t },\n\t\n\t childContextTypes: {\n\t isRtl: React.PropTypes.bool\n\t },\n\t\n\t getChildContext: function getChildContext() {\n\t return {\n\t isRtl: !!(this.props.isRtl || this.context && this.context.isRtl)\n\t };\n\t },\n\t isRtl: function isRtl() {\n\t return !!(this.props.isRtl || this.context && this.context.isRtl);\n\t }\n\t};\n\n/***/ },\n/* 323 */\n/***/ function(module, exports) {\n\n\t\"use strict\";\n\t\n\texports.__esModule = true;\n\tvar common = {\n\t eq: function eq(a, b) {\n\t return a === b;\n\t },\n\t neq: function neq(a, b) {\n\t return a !== b;\n\t },\n\t gt: function gt(a, b) {\n\t return a > b;\n\t },\n\t gte: function gte(a, b) {\n\t return a >= b;\n\t },\n\t lt: function lt(a, b) {\n\t return a < b;\n\t },\n\t lte: function lte(a, b) {\n\t return a <= b;\n\t },\n\t contains: function contains(a, b) {\n\t return a.indexOf(b) !== -1;\n\t },\n\t startsWith: function startsWith(a, b) {\n\t return a.lastIndexOf(b, 0) === 0;\n\t },\n\t endsWith: function endsWith(a, b) {\n\t var pos = a.length - b.length,\n\t lastIndex = a.indexOf(b, pos);\n\t\n\t return lastIndex !== -1 && lastIndex === pos;\n\t }\n\t};\n\t\n\texports.default = common;\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 324 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Copyright 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @providesModule CSSProperty\n\t */\n\t\n\t'use strict';\n\t\n\t/**\n\t * CSS properties which accept numbers but are not in units of \"px\".\n\t */\n\t\n\tvar isUnitlessNumber = {\n\t animationIterationCount: true,\n\t borderImageOutset: true,\n\t borderImageSlice: true,\n\t borderImageWidth: true,\n\t boxFlex: true,\n\t boxFlexGroup: true,\n\t boxOrdinalGroup: true,\n\t columnCount: true,\n\t flex: true,\n\t flexGrow: true,\n\t flexPositive: true,\n\t flexShrink: true,\n\t flexNegative: true,\n\t flexOrder: true,\n\t gridRow: true,\n\t gridColumn: true,\n\t fontWeight: true,\n\t lineClamp: true,\n\t lineHeight: true,\n\t opacity: true,\n\t order: true,\n\t orphans: true,\n\t tabSize: true,\n\t widows: true,\n\t zIndex: true,\n\t zoom: true,\n\t\n\t // SVG-related properties\n\t fillOpacity: true,\n\t floodOpacity: true,\n\t stopOpacity: true,\n\t strokeDasharray: true,\n\t strokeDashoffset: true,\n\t strokeMiterlimit: true,\n\t strokeOpacity: true,\n\t strokeWidth: true\n\t};\n\t\n\t/**\n\t * @param {string} prefix vendor-specific prefix, eg: Webkit\n\t * @param {string} key style name, eg: transitionDuration\n\t * @return {string} style name prefixed with `prefix`, properly camelCased, eg:\n\t * WebkitTransitionDuration\n\t */\n\tfunction prefixKey(prefix, key) {\n\t return prefix + key.charAt(0).toUpperCase() + key.substring(1);\n\t}\n\t\n\t/**\n\t * Support style names that may come passed in prefixed by adding permutations\n\t * of vendor prefixes.\n\t */\n\tvar prefixes = ['Webkit', 'ms', 'Moz', 'O'];\n\t\n\t// Using Object.keys here, or else the vanilla for-in loop makes IE8 go into an\n\t// infinite loop, because it iterates over the newly added props too.\n\tObject.keys(isUnitlessNumber).forEach(function (prop) {\n\t prefixes.forEach(function (prefix) {\n\t isUnitlessNumber[prefixKey(prefix, prop)] = isUnitlessNumber[prop];\n\t });\n\t});\n\t\n\t/**\n\t * Most style properties can be unset by doing .style[prop] = '' but IE8\n\t * doesn't like doing that with shorthand properties so for the properties that\n\t * IE8 breaks on, which are listed here, we instead unset each of the\n\t * individual properties. See http://bugs.jquery.com/ticket/12385.\n\t * The 4-value 'clock' properties like margin, padding, border-width seem to\n\t * behave without any problems. Curiously, list-style works too without any\n\t * special prodding.\n\t */\n\tvar shorthandPropertyExpansions = {\n\t background: {\n\t backgroundAttachment: true,\n\t backgroundColor: true,\n\t backgroundImage: true,\n\t backgroundPositionX: true,\n\t backgroundPositionY: true,\n\t backgroundRepeat: true\n\t },\n\t backgroundPosition: {\n\t backgroundPositionX: true,\n\t backgroundPositionY: true\n\t },\n\t border: {\n\t borderWidth: true,\n\t borderStyle: true,\n\t borderColor: true\n\t },\n\t borderBottom: {\n\t borderBottomWidth: true,\n\t borderBottomStyle: true,\n\t borderBottomColor: true\n\t },\n\t borderLeft: {\n\t borderLeftWidth: true,\n\t borderLeftStyle: true,\n\t borderLeftColor: true\n\t },\n\t borderRight: {\n\t borderRightWidth: true,\n\t borderRightStyle: true,\n\t borderRightColor: true\n\t },\n\t borderTop: {\n\t borderTopWidth: true,\n\t borderTopStyle: true,\n\t borderTopColor: true\n\t },\n\t font: {\n\t fontStyle: true,\n\t fontVariant: true,\n\t fontWeight: true,\n\t fontSize: true,\n\t lineHeight: true,\n\t fontFamily: true\n\t },\n\t outline: {\n\t outlineWidth: true,\n\t outlineStyle: true,\n\t outlineColor: true\n\t }\n\t};\n\t\n\tvar CSSProperty = {\n\t isUnitlessNumber: isUnitlessNumber,\n\t shorthandPropertyExpansions: shorthandPropertyExpansions\n\t};\n\t\n\tmodule.exports = CSSProperty;\n\n/***/ },\n/* 325 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Copyright 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @providesModule CallbackQueue\n\t */\n\t\n\t'use strict';\n\t\n\tvar _prodInvariant = __webpack_require__(4),\n\t _assign = __webpack_require__(6);\n\t\n\tvar PooledClass = __webpack_require__(39);\n\t\n\tvar invariant = __webpack_require__(3);\n\t\n\t/**\n\t * A specialized pseudo-event module to help keep track of components waiting to\n\t * be notified when their DOM representations are available for use.\n\t *\n\t * This implements `PooledClass`, so you should never need to instantiate this.\n\t * Instead, use `CallbackQueue.getPooled()`.\n\t *\n\t * @class ReactMountReady\n\t * @implements PooledClass\n\t * @internal\n\t */\n\tfunction CallbackQueue() {\n\t this._callbacks = null;\n\t this._contexts = null;\n\t}\n\t\n\t_assign(CallbackQueue.prototype, {\n\t\n\t /**\n\t * Enqueues a callback to be invoked when `notifyAll` is invoked.\n\t *\n\t * @param {function} callback Invoked when `notifyAll` is invoked.\n\t * @param {?object} context Context to call `callback` with.\n\t * @internal\n\t */\n\t enqueue: function (callback, context) {\n\t this._callbacks = this._callbacks || [];\n\t this._contexts = this._contexts || [];\n\t this._callbacks.push(callback);\n\t this._contexts.push(context);\n\t },\n\t\n\t /**\n\t * Invokes all enqueued callbacks and clears the queue. This is invoked after\n\t * the DOM representation of a component has been created or updated.\n\t *\n\t * @internal\n\t */\n\t notifyAll: function () {\n\t var callbacks = this._callbacks;\n\t var contexts = this._contexts;\n\t if (callbacks) {\n\t !(callbacks.length === contexts.length) ? false ? invariant(false, 'Mismatched list of contexts in callback queue') : _prodInvariant('24') : void 0;\n\t this._callbacks = null;\n\t this._contexts = null;\n\t for (var i = 0; i < callbacks.length; i++) {\n\t callbacks[i].call(contexts[i]);\n\t }\n\t callbacks.length = 0;\n\t contexts.length = 0;\n\t }\n\t },\n\t\n\t checkpoint: function () {\n\t return this._callbacks ? this._callbacks.length : 0;\n\t },\n\t\n\t rollback: function (len) {\n\t if (this._callbacks) {\n\t this._callbacks.length = len;\n\t this._contexts.length = len;\n\t }\n\t },\n\t\n\t /**\n\t * Resets the internal queue.\n\t *\n\t * @internal\n\t */\n\t reset: function () {\n\t this._callbacks = null;\n\t this._contexts = null;\n\t },\n\t\n\t /**\n\t * `PooledClass` looks for this.\n\t */\n\t destructor: function () {\n\t this.reset();\n\t }\n\t\n\t});\n\t\n\tPooledClass.addPoolingTo(CallbackQueue);\n\t\n\tmodule.exports = CallbackQueue;\n\n/***/ },\n/* 326 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Copyright 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @providesModule DOMPropertyOperations\n\t */\n\t\n\t'use strict';\n\t\n\tvar DOMProperty = __webpack_require__(54);\n\tvar ReactDOMComponentTree = __webpack_require__(9);\n\tvar ReactInstrumentation = __webpack_require__(25);\n\t\n\tvar quoteAttributeValueForBrowser = __webpack_require__(653);\n\tvar warning = __webpack_require__(5);\n\t\n\tvar VALID_ATTRIBUTE_NAME_REGEX = new RegExp('^[' + DOMProperty.ATTRIBUTE_NAME_START_CHAR + '][' + DOMProperty.ATTRIBUTE_NAME_CHAR + ']*$');\n\tvar illegalAttributeNameCache = {};\n\tvar validatedAttributeNameCache = {};\n\t\n\tfunction isAttributeNameSafe(attributeName) {\n\t if (validatedAttributeNameCache.hasOwnProperty(attributeName)) {\n\t return true;\n\t }\n\t if (illegalAttributeNameCache.hasOwnProperty(attributeName)) {\n\t return false;\n\t }\n\t if (VALID_ATTRIBUTE_NAME_REGEX.test(attributeName)) {\n\t validatedAttributeNameCache[attributeName] = true;\n\t return true;\n\t }\n\t illegalAttributeNameCache[attributeName] = true;\n\t false ? warning(false, 'Invalid attribute name: `%s`', attributeName) : void 0;\n\t return false;\n\t}\n\t\n\tfunction shouldIgnoreValue(propertyInfo, value) {\n\t return value == null || propertyInfo.hasBooleanValue && !value || propertyInfo.hasNumericValue && isNaN(value) || propertyInfo.hasPositiveNumericValue && value < 1 || propertyInfo.hasOverloadedBooleanValue && value === false;\n\t}\n\t\n\t/**\n\t * Operations for dealing with DOM properties.\n\t */\n\tvar DOMPropertyOperations = {\n\t\n\t /**\n\t * Creates markup for the ID property.\n\t *\n\t * @param {string} id Unescaped ID.\n\t * @return {string} Markup string.\n\t */\n\t createMarkupForID: function (id) {\n\t return DOMProperty.ID_ATTRIBUTE_NAME + '=' + quoteAttributeValueForBrowser(id);\n\t },\n\t\n\t setAttributeForID: function (node, id) {\n\t node.setAttribute(DOMProperty.ID_ATTRIBUTE_NAME, id);\n\t },\n\t\n\t createMarkupForRoot: function () {\n\t return DOMProperty.ROOT_ATTRIBUTE_NAME + '=\"\"';\n\t },\n\t\n\t setAttributeForRoot: function (node) {\n\t node.setAttribute(DOMProperty.ROOT_ATTRIBUTE_NAME, '');\n\t },\n\t\n\t /**\n\t * Creates markup for a property.\n\t *\n\t * @param {string} name\n\t * @param {*} value\n\t * @return {?string} Markup string, or null if the property was invalid.\n\t */\n\t createMarkupForProperty: function (name, value) {\n\t var propertyInfo = DOMProperty.properties.hasOwnProperty(name) ? DOMProperty.properties[name] : null;\n\t if (propertyInfo) {\n\t if (shouldIgnoreValue(propertyInfo, value)) {\n\t return '';\n\t }\n\t var attributeName = propertyInfo.attributeName;\n\t if (propertyInfo.hasBooleanValue || propertyInfo.hasOverloadedBooleanValue && value === true) {\n\t return attributeName + '=\"\"';\n\t }\n\t return attributeName + '=' + quoteAttributeValueForBrowser(value);\n\t } else if (DOMProperty.isCustomAttribute(name)) {\n\t if (value == null) {\n\t return '';\n\t }\n\t return name + '=' + quoteAttributeValueForBrowser(value);\n\t }\n\t return null;\n\t },\n\t\n\t /**\n\t * Creates markup for a custom property.\n\t *\n\t * @param {string} name\n\t * @param {*} value\n\t * @return {string} Markup string, or empty string if the property was invalid.\n\t */\n\t createMarkupForCustomAttribute: function (name, value) {\n\t if (!isAttributeNameSafe(name) || value == null) {\n\t return '';\n\t }\n\t return name + '=' + quoteAttributeValueForBrowser(value);\n\t },\n\t\n\t /**\n\t * Sets the value for a property on a node.\n\t *\n\t * @param {DOMElement} node\n\t * @param {string} name\n\t * @param {*} value\n\t */\n\t setValueForProperty: function (node, name, value) {\n\t var propertyInfo = DOMProperty.properties.hasOwnProperty(name) ? DOMProperty.properties[name] : null;\n\t if (propertyInfo) {\n\t var mutationMethod = propertyInfo.mutationMethod;\n\t if (mutationMethod) {\n\t mutationMethod(node, value);\n\t } else if (shouldIgnoreValue(propertyInfo, value)) {\n\t this.deleteValueForProperty(node, name);\n\t return;\n\t } else if (propertyInfo.mustUseProperty) {\n\t // Contrary to `setAttribute`, object properties are properly\n\t // `toString`ed by IE8/9.\n\t node[propertyInfo.propertyName] = value;\n\t } else {\n\t var attributeName = propertyInfo.attributeName;\n\t var namespace = propertyInfo.attributeNamespace;\n\t // `setAttribute` with objects becomes only `[object]` in IE8/9,\n\t // ('' + value) makes it output the correct toString()-value.\n\t if (namespace) {\n\t node.setAttributeNS(namespace, attributeName, '' + value);\n\t } else if (propertyInfo.hasBooleanValue || propertyInfo.hasOverloadedBooleanValue && value === true) {\n\t node.setAttribute(attributeName, '');\n\t } else {\n\t node.setAttribute(attributeName, '' + value);\n\t }\n\t }\n\t } else if (DOMProperty.isCustomAttribute(name)) {\n\t DOMPropertyOperations.setValueForAttribute(node, name, value);\n\t return;\n\t }\n\t\n\t if (false) {\n\t var payload = {};\n\t payload[name] = value;\n\t ReactInstrumentation.debugTool.onHostOperation(ReactDOMComponentTree.getInstanceFromNode(node)._debugID, 'update attribute', payload);\n\t }\n\t },\n\t\n\t setValueForAttribute: function (node, name, value) {\n\t if (!isAttributeNameSafe(name)) {\n\t return;\n\t }\n\t if (value == null) {\n\t node.removeAttribute(name);\n\t } else {\n\t node.setAttribute(name, '' + value);\n\t }\n\t\n\t if (false) {\n\t var payload = {};\n\t payload[name] = value;\n\t ReactInstrumentation.debugTool.onHostOperation(ReactDOMComponentTree.getInstanceFromNode(node)._debugID, 'update attribute', payload);\n\t }\n\t },\n\t\n\t /**\n\t * Deletes an attributes from a node.\n\t *\n\t * @param {DOMElement} node\n\t * @param {string} name\n\t */\n\t deleteValueForAttribute: function (node, name) {\n\t node.removeAttribute(name);\n\t if (false) {\n\t ReactInstrumentation.debugTool.onHostOperation(ReactDOMComponentTree.getInstanceFromNode(node)._debugID, 'remove attribute', name);\n\t }\n\t },\n\t\n\t /**\n\t * Deletes the value for a property on a node.\n\t *\n\t * @param {DOMElement} node\n\t * @param {string} name\n\t */\n\t deleteValueForProperty: function (node, name) {\n\t var propertyInfo = DOMProperty.properties.hasOwnProperty(name) ? DOMProperty.properties[name] : null;\n\t if (propertyInfo) {\n\t var mutationMethod = propertyInfo.mutationMethod;\n\t if (mutationMethod) {\n\t mutationMethod(node, undefined);\n\t } else if (propertyInfo.mustUseProperty) {\n\t var propName = propertyInfo.propertyName;\n\t if (propertyInfo.hasBooleanValue) {\n\t node[propName] = false;\n\t } else {\n\t node[propName] = '';\n\t }\n\t } else {\n\t node.removeAttribute(propertyInfo.attributeName);\n\t }\n\t } else if (DOMProperty.isCustomAttribute(name)) {\n\t node.removeAttribute(name);\n\t }\n\t\n\t if (false) {\n\t ReactInstrumentation.debugTool.onHostOperation(ReactDOMComponentTree.getInstanceFromNode(node)._debugID, 'remove attribute', name);\n\t }\n\t }\n\t\n\t};\n\t\n\tmodule.exports = DOMPropertyOperations;\n\n/***/ },\n/* 327 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Copyright 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @providesModule ReactChildren\n\t */\n\t\n\t'use strict';\n\t\n\tvar PooledClass = __webpack_require__(39);\n\tvar ReactElement = __webpack_require__(29);\n\t\n\tvar emptyFunction = __webpack_require__(24);\n\tvar traverseAllChildren = __webpack_require__(158);\n\t\n\tvar twoArgumentPooler = PooledClass.twoArgumentPooler;\n\tvar fourArgumentPooler = PooledClass.fourArgumentPooler;\n\t\n\tvar userProvidedKeyEscapeRegex = /\\/+/g;\n\tfunction escapeUserProvidedKey(text) {\n\t return ('' + text).replace(userProvidedKeyEscapeRegex, '$&/');\n\t}\n\t\n\t/**\n\t * PooledClass representing the bookkeeping associated with performing a child\n\t * traversal. Allows avoiding binding callbacks.\n\t *\n\t * @constructor ForEachBookKeeping\n\t * @param {!function} forEachFunction Function to perform traversal with.\n\t * @param {?*} forEachContext Context to perform context with.\n\t */\n\tfunction ForEachBookKeeping(forEachFunction, forEachContext) {\n\t this.func = forEachFunction;\n\t this.context = forEachContext;\n\t this.count = 0;\n\t}\n\tForEachBookKeeping.prototype.destructor = function () {\n\t this.func = null;\n\t this.context = null;\n\t this.count = 0;\n\t};\n\tPooledClass.addPoolingTo(ForEachBookKeeping, twoArgumentPooler);\n\t\n\tfunction forEachSingleChild(bookKeeping, child, name) {\n\t var func = bookKeeping.func;\n\t var context = bookKeeping.context;\n\t\n\t func.call(context, child, bookKeeping.count++);\n\t}\n\t\n\t/**\n\t * Iterates through children that are typically specified as `props.children`.\n\t *\n\t * See https://facebook.github.io/react/docs/top-level-api.html#react.children.foreach\n\t *\n\t * The provided forEachFunc(child, index) will be called for each\n\t * leaf child.\n\t *\n\t * @param {?*} children Children tree container.\n\t * @param {function(*, int)} forEachFunc\n\t * @param {*} forEachContext Context for forEachContext.\n\t */\n\tfunction forEachChildren(children, forEachFunc, forEachContext) {\n\t if (children == null) {\n\t return children;\n\t }\n\t var traverseContext = ForEachBookKeeping.getPooled(forEachFunc, forEachContext);\n\t traverseAllChildren(children, forEachSingleChild, traverseContext);\n\t ForEachBookKeeping.release(traverseContext);\n\t}\n\t\n\t/**\n\t * PooledClass representing the bookkeeping associated with performing a child\n\t * mapping. Allows avoiding binding callbacks.\n\t *\n\t * @constructor MapBookKeeping\n\t * @param {!*} mapResult Object containing the ordered map of results.\n\t * @param {!function} mapFunction Function to perform mapping with.\n\t * @param {?*} mapContext Context to perform mapping with.\n\t */\n\tfunction MapBookKeeping(mapResult, keyPrefix, mapFunction, mapContext) {\n\t this.result = mapResult;\n\t this.keyPrefix = keyPrefix;\n\t this.func = mapFunction;\n\t this.context = mapContext;\n\t this.count = 0;\n\t}\n\tMapBookKeeping.prototype.destructor = function () {\n\t this.result = null;\n\t this.keyPrefix = null;\n\t this.func = null;\n\t this.context = null;\n\t this.count = 0;\n\t};\n\tPooledClass.addPoolingTo(MapBookKeeping, fourArgumentPooler);\n\t\n\tfunction mapSingleChildIntoContext(bookKeeping, child, childKey) {\n\t var result = bookKeeping.result;\n\t var keyPrefix = bookKeeping.keyPrefix;\n\t var func = bookKeeping.func;\n\t var context = bookKeeping.context;\n\t\n\t\n\t var mappedChild = func.call(context, child, bookKeeping.count++);\n\t if (Array.isArray(mappedChild)) {\n\t mapIntoWithKeyPrefixInternal(mappedChild, result, childKey, emptyFunction.thatReturnsArgument);\n\t } else if (mappedChild != null) {\n\t if (ReactElement.isValidElement(mappedChild)) {\n\t mappedChild = ReactElement.cloneAndReplaceKey(mappedChild,\n\t // Keep both the (mapped) and old keys if they differ, just as\n\t // traverseAllChildren used to do for objects as children\n\t keyPrefix + (mappedChild.key && (!child || child.key !== mappedChild.key) ? escapeUserProvidedKey(mappedChild.key) + '/' : '') + childKey);\n\t }\n\t result.push(mappedChild);\n\t }\n\t}\n\t\n\tfunction mapIntoWithKeyPrefixInternal(children, array, prefix, func, context) {\n\t var escapedPrefix = '';\n\t if (prefix != null) {\n\t escapedPrefix = escapeUserProvidedKey(prefix) + '/';\n\t }\n\t var traverseContext = MapBookKeeping.getPooled(array, escapedPrefix, func, context);\n\t traverseAllChildren(children, mapSingleChildIntoContext, traverseContext);\n\t MapBookKeeping.release(traverseContext);\n\t}\n\t\n\t/**\n\t * Maps children that are typically specified as `props.children`.\n\t *\n\t * See https://facebook.github.io/react/docs/top-level-api.html#react.children.map\n\t *\n\t * The provided mapFunction(child, key, index) will be called for each\n\t * leaf child.\n\t *\n\t * @param {?*} children Children tree container.\n\t * @param {function(*, int)} func The map function.\n\t * @param {*} context Context for mapFunction.\n\t * @return {object} Object containing the ordered map of results.\n\t */\n\tfunction mapChildren(children, func, context) {\n\t if (children == null) {\n\t return children;\n\t }\n\t var result = [];\n\t mapIntoWithKeyPrefixInternal(children, result, null, func, context);\n\t return result;\n\t}\n\t\n\tfunction forEachSingleChildDummy(traverseContext, child, name) {\n\t return null;\n\t}\n\t\n\t/**\n\t * Count the number of children that are typically specified as\n\t * `props.children`.\n\t *\n\t * See https://facebook.github.io/react/docs/top-level-api.html#react.children.count\n\t *\n\t * @param {?*} children Children tree container.\n\t * @return {number} The number of children.\n\t */\n\tfunction countChildren(children, context) {\n\t return traverseAllChildren(children, forEachSingleChildDummy, null);\n\t}\n\t\n\t/**\n\t * Flatten a children object (typically specified as `props.children`) and\n\t * return an array with appropriately re-keyed children.\n\t *\n\t * See https://facebook.github.io/react/docs/top-level-api.html#react.children.toarray\n\t */\n\tfunction toArray(children) {\n\t var result = [];\n\t mapIntoWithKeyPrefixInternal(children, result, null, emptyFunction.thatReturnsArgument);\n\t return result;\n\t}\n\t\n\tvar ReactChildren = {\n\t forEach: forEachChildren,\n\t map: mapChildren,\n\t mapIntoWithKeyPrefixInternal: mapIntoWithKeyPrefixInternal,\n\t count: countChildren,\n\t toArray: toArray\n\t};\n\t\n\tmodule.exports = ReactChildren;\n\n/***/ },\n/* 328 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Copyright 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @providesModule ReactClass\n\t */\n\t\n\t'use strict';\n\t\n\tvar _prodInvariant = __webpack_require__(4),\n\t _assign = __webpack_require__(6);\n\t\n\tvar ReactComponent = __webpack_require__(143);\n\tvar ReactElement = __webpack_require__(29);\n\tvar ReactPropTypeLocations = __webpack_require__(149);\n\tvar ReactPropTypeLocationNames = __webpack_require__(148);\n\tvar ReactNoopUpdateQueue = __webpack_require__(147);\n\t\n\tvar emptyObject = __webpack_require__(62);\n\tvar invariant = __webpack_require__(3);\n\tvar keyMirror = __webpack_require__(83);\n\tvar keyOf = __webpack_require__(34);\n\tvar warning = __webpack_require__(5);\n\t\n\tvar MIXINS_KEY = keyOf({ mixins: null });\n\t\n\t/**\n\t * Policies that describe methods in `ReactClassInterface`.\n\t */\n\tvar SpecPolicy = keyMirror({\n\t /**\n\t * These methods may be defined only once by the class specification or mixin.\n\t */\n\t DEFINE_ONCE: null,\n\t /**\n\t * These methods may be defined by both the class specification and mixins.\n\t * Subsequent definitions will be chained. These methods must return void.\n\t */\n\t DEFINE_MANY: null,\n\t /**\n\t * These methods are overriding the base class.\n\t */\n\t OVERRIDE_BASE: null,\n\t /**\n\t * These methods are similar to DEFINE_MANY, except we assume they return\n\t * objects. We try to merge the keys of the return values of all the mixed in\n\t * functions. If there is a key conflict we throw.\n\t */\n\t DEFINE_MANY_MERGED: null\n\t});\n\t\n\tvar injectedMixins = [];\n\t\n\t/**\n\t * Composite components are higher-level components that compose other composite\n\t * or host components.\n\t *\n\t * To create a new type of `ReactClass`, pass a specification of\n\t * your new class to `React.createClass`. The only requirement of your class\n\t * specification is that you implement a `render` method.\n\t *\n\t * var MyComponent = React.createClass({\n\t * render: function() {\n\t * return <div>Hello World</div>;\n\t * }\n\t * });\n\t *\n\t * The class specification supports a specific protocol of methods that have\n\t * special meaning (e.g. `render`). See `ReactClassInterface` for\n\t * more the comprehensive protocol. Any other properties and methods in the\n\t * class specification will be available on the prototype.\n\t *\n\t * @interface ReactClassInterface\n\t * @internal\n\t */\n\tvar ReactClassInterface = {\n\t\n\t /**\n\t * An array of Mixin objects to include when defining your component.\n\t *\n\t * @type {array}\n\t * @optional\n\t */\n\t mixins: SpecPolicy.DEFINE_MANY,\n\t\n\t /**\n\t * An object containing properties and methods that should be defined on\n\t * the component's constructor instead of its prototype (static methods).\n\t *\n\t * @type {object}\n\t * @optional\n\t */\n\t statics: SpecPolicy.DEFINE_MANY,\n\t\n\t /**\n\t * Definition of prop types for this component.\n\t *\n\t * @type {object}\n\t * @optional\n\t */\n\t propTypes: SpecPolicy.DEFINE_MANY,\n\t\n\t /**\n\t * Definition of context types for this component.\n\t *\n\t * @type {object}\n\t * @optional\n\t */\n\t contextTypes: SpecPolicy.DEFINE_MANY,\n\t\n\t /**\n\t * Definition of context types this component sets for its children.\n\t *\n\t * @type {object}\n\t * @optional\n\t */\n\t childContextTypes: SpecPolicy.DEFINE_MANY,\n\t\n\t // ==== Definition methods ====\n\t\n\t /**\n\t * Invoked when the component is mounted. Values in the mapping will be set on\n\t * `this.props` if that prop is not specified (i.e. using an `in` check).\n\t *\n\t * This method is invoked before `getInitialState` and therefore cannot rely\n\t * on `this.state` or use `this.setState`.\n\t *\n\t * @return {object}\n\t * @optional\n\t */\n\t getDefaultProps: SpecPolicy.DEFINE_MANY_MERGED,\n\t\n\t /**\n\t * Invoked once before the component is mounted. The return value will be used\n\t * as the initial value of `this.state`.\n\t *\n\t * getInitialState: function() {\n\t * return {\n\t * isOn: false,\n\t * fooBaz: new BazFoo()\n\t * }\n\t * }\n\t *\n\t * @return {object}\n\t * @optional\n\t */\n\t getInitialState: SpecPolicy.DEFINE_MANY_MERGED,\n\t\n\t /**\n\t * @return {object}\n\t * @optional\n\t */\n\t getChildContext: SpecPolicy.DEFINE_MANY_MERGED,\n\t\n\t /**\n\t * Uses props from `this.props` and state from `this.state` to render the\n\t * structure of the component.\n\t *\n\t * No guarantees are made about when or how often this method is invoked, so\n\t * it must not have side effects.\n\t *\n\t * render: function() {\n\t * var name = this.props.name;\n\t * return <div>Hello, {name}!</div>;\n\t * }\n\t *\n\t * @return {ReactComponent}\n\t * @nosideeffects\n\t * @required\n\t */\n\t render: SpecPolicy.DEFINE_ONCE,\n\t\n\t // ==== Delegate methods ====\n\t\n\t /**\n\t * Invoked when the component is initially created and about to be mounted.\n\t * This may have side effects, but any external subscriptions or data created\n\t * by this method must be cleaned up in `componentWillUnmount`.\n\t *\n\t * @optional\n\t */\n\t componentWillMount: SpecPolicy.DEFINE_MANY,\n\t\n\t /**\n\t * Invoked when the component has been mounted and has a DOM representation.\n\t * However, there is no guarantee that the DOM node is in the document.\n\t *\n\t * Use this as an opportunity to operate on the DOM when the component has\n\t * been mounted (initialized and rendered) for the first time.\n\t *\n\t * @param {DOMElement} rootNode DOM element representing the component.\n\t * @optional\n\t */\n\t componentDidMount: SpecPolicy.DEFINE_MANY,\n\t\n\t /**\n\t * Invoked before the component receives new props.\n\t *\n\t * Use this as an opportunity to react to a prop transition by updating the\n\t * state using `this.setState`. Current props are accessed via `this.props`.\n\t *\n\t * componentWillReceiveProps: function(nextProps, nextContext) {\n\t * this.setState({\n\t * likesIncreasing: nextProps.likeCount > this.props.likeCount\n\t * });\n\t * }\n\t *\n\t * NOTE: There is no equivalent `componentWillReceiveState`. An incoming prop\n\t * transition may cause a state change, but the opposite is not true. If you\n\t * need it, you are probably looking for `componentWillUpdate`.\n\t *\n\t * @param {object} nextProps\n\t * @optional\n\t */\n\t componentWillReceiveProps: SpecPolicy.DEFINE_MANY,\n\t\n\t /**\n\t * Invoked while deciding if the component should be updated as a result of\n\t * receiving new props, state and/or context.\n\t *\n\t * Use this as an opportunity to `return false` when you're certain that the\n\t * transition to the new props/state/context will not require a component\n\t * update.\n\t *\n\t * shouldComponentUpdate: function(nextProps, nextState, nextContext) {\n\t * return !equal(nextProps, this.props) ||\n\t * !equal(nextState, this.state) ||\n\t * !equal(nextContext, this.context);\n\t * }\n\t *\n\t * @param {object} nextProps\n\t * @param {?object} nextState\n\t * @param {?object} nextContext\n\t * @return {boolean} True if the component should update.\n\t * @optional\n\t */\n\t shouldComponentUpdate: SpecPolicy.DEFINE_ONCE,\n\t\n\t /**\n\t * Invoked when the component is about to update due to a transition from\n\t * `this.props`, `this.state` and `this.context` to `nextProps`, `nextState`\n\t * and `nextContext`.\n\t *\n\t * Use this as an opportunity to perform preparation before an update occurs.\n\t *\n\t * NOTE: You **cannot** use `this.setState()` in this method.\n\t *\n\t * @param {object} nextProps\n\t * @param {?object} nextState\n\t * @param {?object} nextContext\n\t * @param {ReactReconcileTransaction} transaction\n\t * @optional\n\t */\n\t componentWillUpdate: SpecPolicy.DEFINE_MANY,\n\t\n\t /**\n\t * Invoked when the component's DOM representation has been updated.\n\t *\n\t * Use this as an opportunity to operate on the DOM when the component has\n\t * been updated.\n\t *\n\t * @param {object} prevProps\n\t * @param {?object} prevState\n\t * @param {?object} prevContext\n\t * @param {DOMElement} rootNode DOM element representing the component.\n\t * @optional\n\t */\n\t componentDidUpdate: SpecPolicy.DEFINE_MANY,\n\t\n\t /**\n\t * Invoked when the component is about to be removed from its parent and have\n\t * its DOM representation destroyed.\n\t *\n\t * Use this as an opportunity to deallocate any external resources.\n\t *\n\t * NOTE: There is no `componentDidUnmount` since your component will have been\n\t * destroyed by that point.\n\t *\n\t * @optional\n\t */\n\t componentWillUnmount: SpecPolicy.DEFINE_MANY,\n\t\n\t // ==== Advanced methods ====\n\t\n\t /**\n\t * Updates the component's currently mounted DOM representation.\n\t *\n\t * By default, this implements React's rendering and reconciliation algorithm.\n\t * Sophisticated clients may wish to override this.\n\t *\n\t * @param {ReactReconcileTransaction} transaction\n\t * @internal\n\t * @overridable\n\t */\n\t updateComponent: SpecPolicy.OVERRIDE_BASE\n\t\n\t};\n\t\n\t/**\n\t * Mapping from class specification keys to special processing functions.\n\t *\n\t * Although these are declared like instance properties in the specification\n\t * when defining classes using `React.createClass`, they are actually static\n\t * and are accessible on the constructor instead of the prototype. Despite\n\t * being static, they must be defined outside of the \"statics\" key under\n\t * which all other static methods are defined.\n\t */\n\tvar RESERVED_SPEC_KEYS = {\n\t displayName: function (Constructor, displayName) {\n\t Constructor.displayName = displayName;\n\t },\n\t mixins: function (Constructor, mixins) {\n\t if (mixins) {\n\t for (var i = 0; i < mixins.length; i++) {\n\t mixSpecIntoComponent(Constructor, mixins[i]);\n\t }\n\t }\n\t },\n\t childContextTypes: function (Constructor, childContextTypes) {\n\t if (false) {\n\t validateTypeDef(Constructor, childContextTypes, ReactPropTypeLocations.childContext);\n\t }\n\t Constructor.childContextTypes = _assign({}, Constructor.childContextTypes, childContextTypes);\n\t },\n\t contextTypes: function (Constructor, contextTypes) {\n\t if (false) {\n\t validateTypeDef(Constructor, contextTypes, ReactPropTypeLocations.context);\n\t }\n\t Constructor.contextTypes = _assign({}, Constructor.contextTypes, contextTypes);\n\t },\n\t /**\n\t * Special case getDefaultProps which should move into statics but requires\n\t * automatic merging.\n\t */\n\t getDefaultProps: function (Constructor, getDefaultProps) {\n\t if (Constructor.getDefaultProps) {\n\t Constructor.getDefaultProps = createMergedResultFunction(Constructor.getDefaultProps, getDefaultProps);\n\t } else {\n\t Constructor.getDefaultProps = getDefaultProps;\n\t }\n\t },\n\t propTypes: function (Constructor, propTypes) {\n\t if (false) {\n\t validateTypeDef(Constructor, propTypes, ReactPropTypeLocations.prop);\n\t }\n\t Constructor.propTypes = _assign({}, Constructor.propTypes, propTypes);\n\t },\n\t statics: function (Constructor, statics) {\n\t mixStaticSpecIntoComponent(Constructor, statics);\n\t },\n\t autobind: function () {} };\n\t\n\t// noop\n\tfunction validateTypeDef(Constructor, typeDef, location) {\n\t for (var propName in typeDef) {\n\t if (typeDef.hasOwnProperty(propName)) {\n\t // use a warning instead of an invariant so components\n\t // don't show up in prod but only in __DEV__\n\t false ? warning(typeof typeDef[propName] === 'function', '%s: %s type `%s` is invalid; it must be a function, usually from ' + 'React.PropTypes.', Constructor.displayName || 'ReactClass', ReactPropTypeLocationNames[location], propName) : void 0;\n\t }\n\t }\n\t}\n\t\n\tfunction validateMethodOverride(isAlreadyDefined, name) {\n\t var specPolicy = ReactClassInterface.hasOwnProperty(name) ? ReactClassInterface[name] : null;\n\t\n\t // Disallow overriding of base class methods unless explicitly allowed.\n\t if (ReactClassMixin.hasOwnProperty(name)) {\n\t !(specPolicy === SpecPolicy.OVERRIDE_BASE) ? false ? invariant(false, 'ReactClassInterface: You are attempting to override `%s` from your class specification. Ensure that your method names do not overlap with React methods.', name) : _prodInvariant('73', name) : void 0;\n\t }\n\t\n\t // Disallow defining methods more than once unless explicitly allowed.\n\t if (isAlreadyDefined) {\n\t !(specPolicy === SpecPolicy.DEFINE_MANY || specPolicy === SpecPolicy.DEFINE_MANY_MERGED) ? false ? invariant(false, 'ReactClassInterface: You are attempting to define `%s` on your component more than once. This conflict may be due to a mixin.', name) : _prodInvariant('74', name) : void 0;\n\t }\n\t}\n\t\n\t/**\n\t * Mixin helper which handles policy validation and reserved\n\t * specification keys when building React classes.\n\t */\n\tfunction mixSpecIntoComponent(Constructor, spec) {\n\t if (!spec) {\n\t if (false) {\n\t var typeofSpec = typeof spec;\n\t var isMixinValid = typeofSpec === 'object' && spec !== null;\n\t\n\t process.env.NODE_ENV !== 'production' ? warning(isMixinValid, '%s: You\\'re attempting to include a mixin that is either null ' + 'or not an object. Check the mixins included by the component, ' + 'as well as any mixins they include themselves. ' + 'Expected object but got %s.', Constructor.displayName || 'ReactClass', spec === null ? null : typeofSpec) : void 0;\n\t }\n\t\n\t return;\n\t }\n\t\n\t !(typeof spec !== 'function') ? false ? invariant(false, 'ReactClass: You\\'re attempting to use a component class or function as a mixin. Instead, just use a regular object.') : _prodInvariant('75') : void 0;\n\t !!ReactElement.isValidElement(spec) ? false ? invariant(false, 'ReactClass: You\\'re attempting to use a component as a mixin. Instead, just use a regular object.') : _prodInvariant('76') : void 0;\n\t\n\t var proto = Constructor.prototype;\n\t var autoBindPairs = proto.__reactAutoBindPairs;\n\t\n\t // By handling mixins before any other properties, we ensure the same\n\t // chaining order is applied to methods with DEFINE_MANY policy, whether\n\t // mixins are listed before or after these methods in the spec.\n\t if (spec.hasOwnProperty(MIXINS_KEY)) {\n\t RESERVED_SPEC_KEYS.mixins(Constructor, spec.mixins);\n\t }\n\t\n\t for (var name in spec) {\n\t if (!spec.hasOwnProperty(name)) {\n\t continue;\n\t }\n\t\n\t if (name === MIXINS_KEY) {\n\t // We have already handled mixins in a special case above.\n\t continue;\n\t }\n\t\n\t var property = spec[name];\n\t var isAlreadyDefined = proto.hasOwnProperty(name);\n\t validateMethodOverride(isAlreadyDefined, name);\n\t\n\t if (RESERVED_SPEC_KEYS.hasOwnProperty(name)) {\n\t RESERVED_SPEC_KEYS[name](Constructor, property);\n\t } else {\n\t // Setup methods on prototype:\n\t // The following member methods should not be automatically bound:\n\t // 1. Expected ReactClass methods (in the \"interface\").\n\t // 2. Overridden methods (that were mixed in).\n\t var isReactClassMethod = ReactClassInterface.hasOwnProperty(name);\n\t var isFunction = typeof property === 'function';\n\t var shouldAutoBind = isFunction && !isReactClassMethod && !isAlreadyDefined && spec.autobind !== false;\n\t\n\t if (shouldAutoBind) {\n\t autoBindPairs.push(name, property);\n\t proto[name] = property;\n\t } else {\n\t if (isAlreadyDefined) {\n\t var specPolicy = ReactClassInterface[name];\n\t\n\t // These cases should already be caught by validateMethodOverride.\n\t !(isReactClassMethod && (specPolicy === SpecPolicy.DEFINE_MANY_MERGED || specPolicy === SpecPolicy.DEFINE_MANY)) ? false ? invariant(false, 'ReactClass: Unexpected spec policy %s for key %s when mixing in component specs.', specPolicy, name) : _prodInvariant('77', specPolicy, name) : void 0;\n\t\n\t // For methods which are defined more than once, call the existing\n\t // methods before calling the new property, merging if appropriate.\n\t if (specPolicy === SpecPolicy.DEFINE_MANY_MERGED) {\n\t proto[name] = createMergedResultFunction(proto[name], property);\n\t } else if (specPolicy === SpecPolicy.DEFINE_MANY) {\n\t proto[name] = createChainedFunction(proto[name], property);\n\t }\n\t } else {\n\t proto[name] = property;\n\t if (false) {\n\t // Add verbose displayName to the function, which helps when looking\n\t // at profiling tools.\n\t if (typeof property === 'function' && spec.displayName) {\n\t proto[name].displayName = spec.displayName + '_' + name;\n\t }\n\t }\n\t }\n\t }\n\t }\n\t }\n\t}\n\t\n\tfunction mixStaticSpecIntoComponent(Constructor, statics) {\n\t if (!statics) {\n\t return;\n\t }\n\t for (var name in statics) {\n\t var property = statics[name];\n\t if (!statics.hasOwnProperty(name)) {\n\t continue;\n\t }\n\t\n\t var isReserved = name in RESERVED_SPEC_KEYS;\n\t !!isReserved ? false ? invariant(false, 'ReactClass: You are attempting to define a reserved property, `%s`, that shouldn\\'t be on the \"statics\" key. Define it as an instance property instead; it will still be accessible on the constructor.', name) : _prodInvariant('78', name) : void 0;\n\t\n\t var isInherited = name in Constructor;\n\t !!isInherited ? false ? invariant(false, 'ReactClass: You are attempting to define `%s` on your component more than once. This conflict may be due to a mixin.', name) : _prodInvariant('79', name) : void 0;\n\t Constructor[name] = property;\n\t }\n\t}\n\t\n\t/**\n\t * Merge two objects, but throw if both contain the same key.\n\t *\n\t * @param {object} one The first object, which is mutated.\n\t * @param {object} two The second object\n\t * @return {object} one after it has been mutated to contain everything in two.\n\t */\n\tfunction mergeIntoWithNoDuplicateKeys(one, two) {\n\t !(one && two && typeof one === 'object' && typeof two === 'object') ? false ? invariant(false, 'mergeIntoWithNoDuplicateKeys(): Cannot merge non-objects.') : _prodInvariant('80') : void 0;\n\t\n\t for (var key in two) {\n\t if (two.hasOwnProperty(key)) {\n\t !(one[key] === undefined) ? false ? invariant(false, 'mergeIntoWithNoDuplicateKeys(): Tried to merge two objects with the same key: `%s`. This conflict may be due to a mixin; in particular, this may be caused by two getInitialState() or getDefaultProps() methods returning objects with clashing keys.', key) : _prodInvariant('81', key) : void 0;\n\t one[key] = two[key];\n\t }\n\t }\n\t return one;\n\t}\n\t\n\t/**\n\t * Creates a function that invokes two functions and merges their return values.\n\t *\n\t * @param {function} one Function to invoke first.\n\t * @param {function} two Function to invoke second.\n\t * @return {function} Function that invokes the two argument functions.\n\t * @private\n\t */\n\tfunction createMergedResultFunction(one, two) {\n\t return function mergedResult() {\n\t var a = one.apply(this, arguments);\n\t var b = two.apply(this, arguments);\n\t if (a == null) {\n\t return b;\n\t } else if (b == null) {\n\t return a;\n\t }\n\t var c = {};\n\t mergeIntoWithNoDuplicateKeys(c, a);\n\t mergeIntoWithNoDuplicateKeys(c, b);\n\t return c;\n\t };\n\t}\n\t\n\t/**\n\t * Creates a function that invokes two functions and ignores their return vales.\n\t *\n\t * @param {function} one Function to invoke first.\n\t * @param {function} two Function to invoke second.\n\t * @return {function} Function that invokes the two argument functions.\n\t * @private\n\t */\n\tfunction createChainedFunction(one, two) {\n\t return function chainedFunction() {\n\t one.apply(this, arguments);\n\t two.apply(this, arguments);\n\t };\n\t}\n\t\n\t/**\n\t * Binds a method to the component.\n\t *\n\t * @param {object} component Component whose method is going to be bound.\n\t * @param {function} method Method to be bound.\n\t * @return {function} The bound method.\n\t */\n\tfunction bindAutoBindMethod(component, method) {\n\t var boundMethod = method.bind(component);\n\t if (false) {\n\t boundMethod.__reactBoundContext = component;\n\t boundMethod.__reactBoundMethod = method;\n\t boundMethod.__reactBoundArguments = null;\n\t var componentName = component.constructor.displayName;\n\t var _bind = boundMethod.bind;\n\t boundMethod.bind = function (newThis) {\n\t for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n\t args[_key - 1] = arguments[_key];\n\t }\n\t\n\t // User is trying to bind() an autobound method; we effectively will\n\t // ignore the value of \"this\" that the user is trying to use, so\n\t // let's warn.\n\t if (newThis !== component && newThis !== null) {\n\t process.env.NODE_ENV !== 'production' ? warning(false, 'bind(): React component methods may only be bound to the ' + 'component instance. See %s', componentName) : void 0;\n\t } else if (!args.length) {\n\t process.env.NODE_ENV !== 'production' ? warning(false, 'bind(): You are binding a component method to the component. ' + 'React does this for you automatically in a high-performance ' + 'way, so you can safely remove this call. See %s', componentName) : void 0;\n\t return boundMethod;\n\t }\n\t var reboundMethod = _bind.apply(boundMethod, arguments);\n\t reboundMethod.__reactBoundContext = component;\n\t reboundMethod.__reactBoundMethod = method;\n\t reboundMethod.__reactBoundArguments = args;\n\t return reboundMethod;\n\t };\n\t }\n\t return boundMethod;\n\t}\n\t\n\t/**\n\t * Binds all auto-bound methods in a component.\n\t *\n\t * @param {object} component Component whose method is going to be bound.\n\t */\n\tfunction bindAutoBindMethods(component) {\n\t var pairs = component.__reactAutoBindPairs;\n\t for (var i = 0; i < pairs.length; i += 2) {\n\t var autoBindKey = pairs[i];\n\t var method = pairs[i + 1];\n\t component[autoBindKey] = bindAutoBindMethod(component, method);\n\t }\n\t}\n\t\n\t/**\n\t * Add more to the ReactClass base class. These are all legacy features and\n\t * therefore not already part of the modern ReactComponent.\n\t */\n\tvar ReactClassMixin = {\n\t\n\t /**\n\t * TODO: This will be deprecated because state should always keep a consistent\n\t * type signature and the only use case for this, is to avoid that.\n\t */\n\t replaceState: function (newState, callback) {\n\t this.updater.enqueueReplaceState(this, newState);\n\t if (callback) {\n\t this.updater.enqueueCallback(this, callback, 'replaceState');\n\t }\n\t },\n\t\n\t /**\n\t * Checks whether or not this composite component is mounted.\n\t * @return {boolean} True if mounted, false otherwise.\n\t * @protected\n\t * @final\n\t */\n\t isMounted: function () {\n\t return this.updater.isMounted(this);\n\t }\n\t};\n\t\n\tvar ReactClassComponent = function () {};\n\t_assign(ReactClassComponent.prototype, ReactComponent.prototype, ReactClassMixin);\n\t\n\t/**\n\t * Module for creating composite components.\n\t *\n\t * @class ReactClass\n\t */\n\tvar ReactClass = {\n\t\n\t /**\n\t * Creates a composite component class given a class specification.\n\t * See https://facebook.github.io/react/docs/top-level-api.html#react.createclass\n\t *\n\t * @param {object} spec Class specification (which must define `render`).\n\t * @return {function} Component constructor function.\n\t * @public\n\t */\n\t createClass: function (spec) {\n\t var Constructor = function (props, context, updater) {\n\t // This constructor gets overridden by mocks. The argument is used\n\t // by mocks to assert on what gets mounted.\n\t\n\t if (false) {\n\t process.env.NODE_ENV !== 'production' ? warning(this instanceof Constructor, 'Something is calling a React component directly. Use a factory or ' + 'JSX instead. See: https://fb.me/react-legacyfactory') : void 0;\n\t }\n\t\n\t // Wire up auto-binding\n\t if (this.__reactAutoBindPairs.length) {\n\t bindAutoBindMethods(this);\n\t }\n\t\n\t this.props = props;\n\t this.context = context;\n\t this.refs = emptyObject;\n\t this.updater = updater || ReactNoopUpdateQueue;\n\t\n\t this.state = null;\n\t\n\t // ReactClasses doesn't have constructors. Instead, they use the\n\t // getInitialState and componentWillMount methods for initialization.\n\t\n\t var initialState = this.getInitialState ? this.getInitialState() : null;\n\t if (false) {\n\t // We allow auto-mocks to proceed as if they're returning null.\n\t if (initialState === undefined && this.getInitialState._isMockFunction) {\n\t // This is probably bad practice. Consider warning here and\n\t // deprecating this convenience.\n\t initialState = null;\n\t }\n\t }\n\t !(typeof initialState === 'object' && !Array.isArray(initialState)) ? false ? invariant(false, '%s.getInitialState(): must return an object or null', Constructor.displayName || 'ReactCompositeComponent') : _prodInvariant('82', Constructor.displayName || 'ReactCompositeComponent') : void 0;\n\t\n\t this.state = initialState;\n\t };\n\t Constructor.prototype = new ReactClassComponent();\n\t Constructor.prototype.constructor = Constructor;\n\t Constructor.prototype.__reactAutoBindPairs = [];\n\t\n\t injectedMixins.forEach(mixSpecIntoComponent.bind(null, Constructor));\n\t\n\t mixSpecIntoComponent(Constructor, spec);\n\t\n\t // Initialize the defaultProps property after all mixins have been merged.\n\t if (Constructor.getDefaultProps) {\n\t Constructor.defaultProps = Constructor.getDefaultProps();\n\t }\n\t\n\t if (false) {\n\t // This is a tag to indicate that the use of these method names is ok,\n\t // since it's used with createClass. If it's not, then it's likely a\n\t // mistake so we'll warn you to use the static property, property\n\t // initializer or constructor respectively.\n\t if (Constructor.getDefaultProps) {\n\t Constructor.getDefaultProps.isReactClassApproved = {};\n\t }\n\t if (Constructor.prototype.getInitialState) {\n\t Constructor.prototype.getInitialState.isReactClassApproved = {};\n\t }\n\t }\n\t\n\t !Constructor.prototype.render ? false ? invariant(false, 'createClass(...): Class specification must implement a `render` method.') : _prodInvariant('83') : void 0;\n\t\n\t if (false) {\n\t process.env.NODE_ENV !== 'production' ? warning(!Constructor.prototype.componentShouldUpdate, '%s has a method called ' + 'componentShouldUpdate(). Did you mean shouldComponentUpdate()? ' + 'The name is phrased as a question because the function is ' + 'expected to return a value.', spec.displayName || 'A component') : void 0;\n\t process.env.NODE_ENV !== 'production' ? warning(!Constructor.prototype.componentWillRecieveProps, '%s has a method called ' + 'componentWillRecieveProps(). Did you mean componentWillReceiveProps()?', spec.displayName || 'A component') : void 0;\n\t }\n\t\n\t // Reduce time spent doing lookups by setting these on the prototype.\n\t for (var methodName in ReactClassInterface) {\n\t if (!Constructor.prototype[methodName]) {\n\t Constructor.prototype[methodName] = null;\n\t }\n\t }\n\t\n\t return Constructor;\n\t },\n\t\n\t injection: {\n\t injectMixin: function (mixin) {\n\t injectedMixins.push(mixin);\n\t }\n\t }\n\t\n\t};\n\t\n\tmodule.exports = ReactClass;\n\n/***/ },\n/* 329 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Copyright 2015-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @providesModule ReactDOMComponentFlags\n\t */\n\t\n\t'use strict';\n\t\n\tvar ReactDOMComponentFlags = {\n\t hasCachedChildNodes: 1 << 0\n\t};\n\t\n\tmodule.exports = ReactDOMComponentFlags;\n\n/***/ },\n/* 330 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Copyright 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @providesModule ReactDOMSelect\n\t */\n\t\n\t'use strict';\n\t\n\tvar _assign = __webpack_require__(6);\n\t\n\tvar DisabledInputUtils = __webpack_require__(94);\n\tvar LinkedValueUtils = __webpack_require__(142);\n\tvar ReactDOMComponentTree = __webpack_require__(9);\n\tvar ReactUpdates = __webpack_require__(30);\n\t\n\tvar warning = __webpack_require__(5);\n\t\n\tvar didWarnValueLink = false;\n\tvar didWarnValueDefaultValue = false;\n\t\n\tfunction updateOptionsIfPendingUpdateAndMounted() {\n\t if (this._rootNodeID && this._wrapperState.pendingUpdate) {\n\t this._wrapperState.pendingUpdate = false;\n\t\n\t var props = this._currentElement.props;\n\t var value = LinkedValueUtils.getValue(props);\n\t\n\t if (value != null) {\n\t updateOptions(this, Boolean(props.multiple), value);\n\t }\n\t }\n\t}\n\t\n\tfunction getDeclarationErrorAddendum(owner) {\n\t if (owner) {\n\t var name = owner.getName();\n\t if (name) {\n\t return ' Check the render method of `' + name + '`.';\n\t }\n\t }\n\t return '';\n\t}\n\t\n\tvar valuePropNames = ['value', 'defaultValue'];\n\t\n\t/**\n\t * Validation function for `value` and `defaultValue`.\n\t * @private\n\t */\n\tfunction checkSelectPropTypes(inst, props) {\n\t var owner = inst._currentElement._owner;\n\t LinkedValueUtils.checkPropTypes('select', props, owner);\n\t\n\t if (props.valueLink !== undefined && !didWarnValueLink) {\n\t false ? warning(false, '`valueLink` prop on `select` is deprecated; set `value` and `onChange` instead.') : void 0;\n\t didWarnValueLink = true;\n\t }\n\t\n\t for (var i = 0; i < valuePropNames.length; i++) {\n\t var propName = valuePropNames[i];\n\t if (props[propName] == null) {\n\t continue;\n\t }\n\t var isArray = Array.isArray(props[propName]);\n\t if (props.multiple && !isArray) {\n\t false ? warning(false, 'The `%s` prop supplied to <select> must be an array if ' + '`multiple` is true.%s', propName, getDeclarationErrorAddendum(owner)) : void 0;\n\t } else if (!props.multiple && isArray) {\n\t false ? warning(false, 'The `%s` prop supplied to <select> must be a scalar ' + 'value if `multiple` is false.%s', propName, getDeclarationErrorAddendum(owner)) : void 0;\n\t }\n\t }\n\t}\n\t\n\t/**\n\t * @param {ReactDOMComponent} inst\n\t * @param {boolean} multiple\n\t * @param {*} propValue A stringable (with `multiple`, a list of stringables).\n\t * @private\n\t */\n\tfunction updateOptions(inst, multiple, propValue) {\n\t var selectedValue, i;\n\t var options = ReactDOMComponentTree.getNodeFromInstance(inst).options;\n\t\n\t if (multiple) {\n\t selectedValue = {};\n\t for (i = 0; i < propValue.length; i++) {\n\t selectedValue['' + propValue[i]] = true;\n\t }\n\t for (i = 0; i < options.length; i++) {\n\t var selected = selectedValue.hasOwnProperty(options[i].value);\n\t if (options[i].selected !== selected) {\n\t options[i].selected = selected;\n\t }\n\t }\n\t } else {\n\t // Do not set `select.value` as exact behavior isn't consistent across all\n\t // browsers for all cases.\n\t selectedValue = '' + propValue;\n\t for (i = 0; i < options.length; i++) {\n\t if (options[i].value === selectedValue) {\n\t options[i].selected = true;\n\t return;\n\t }\n\t }\n\t if (options.length) {\n\t options[0].selected = true;\n\t }\n\t }\n\t}\n\t\n\t/**\n\t * Implements a <select> host component that allows optionally setting the\n\t * props `value` and `defaultValue`. If `multiple` is false, the prop must be a\n\t * stringable. If `multiple` is true, the prop must be an array of stringables.\n\t *\n\t * If `value` is not supplied (or null/undefined), user actions that change the\n\t * selected option will trigger updates to the rendered options.\n\t *\n\t * If it is supplied (and not null/undefined), the rendered options will not\n\t * update in response to user actions. Instead, the `value` prop must change in\n\t * order for the rendered options to update.\n\t *\n\t * If `defaultValue` is provided, any options with the supplied values will be\n\t * selected.\n\t */\n\tvar ReactDOMSelect = {\n\t getHostProps: function (inst, props) {\n\t return _assign({}, DisabledInputUtils.getHostProps(inst, props), {\n\t onChange: inst._wrapperState.onChange,\n\t value: undefined\n\t });\n\t },\n\t\n\t mountWrapper: function (inst, props) {\n\t if (false) {\n\t checkSelectPropTypes(inst, props);\n\t }\n\t\n\t var value = LinkedValueUtils.getValue(props);\n\t inst._wrapperState = {\n\t pendingUpdate: false,\n\t initialValue: value != null ? value : props.defaultValue,\n\t listeners: null,\n\t onChange: _handleChange.bind(inst),\n\t wasMultiple: Boolean(props.multiple)\n\t };\n\t\n\t if (props.value !== undefined && props.defaultValue !== undefined && !didWarnValueDefaultValue) {\n\t false ? warning(false, 'Select elements must be either controlled or uncontrolled ' + '(specify either the value prop, or the defaultValue prop, but not ' + 'both). Decide between using a controlled or uncontrolled select ' + 'element and remove one of these props. More info: ' + 'https://fb.me/react-controlled-components') : void 0;\n\t didWarnValueDefaultValue = true;\n\t }\n\t },\n\t\n\t getSelectValueContext: function (inst) {\n\t // ReactDOMOption looks at this initial value so the initial generated\n\t // markup has correct `selected` attributes\n\t return inst._wrapperState.initialValue;\n\t },\n\t\n\t postUpdateWrapper: function (inst) {\n\t var props = inst._currentElement.props;\n\t\n\t // After the initial mount, we control selected-ness manually so don't pass\n\t // this value down\n\t inst._wrapperState.initialValue = undefined;\n\t\n\t var wasMultiple = inst._wrapperState.wasMultiple;\n\t inst._wrapperState.wasMultiple = Boolean(props.multiple);\n\t\n\t var value = LinkedValueUtils.getValue(props);\n\t if (value != null) {\n\t inst._wrapperState.pendingUpdate = false;\n\t updateOptions(inst, Boolean(props.multiple), value);\n\t } else if (wasMultiple !== Boolean(props.multiple)) {\n\t // For simplicity, reapply `defaultValue` if `multiple` is toggled.\n\t if (props.defaultValue != null) {\n\t updateOptions(inst, Boolean(props.multiple), props.defaultValue);\n\t } else {\n\t // Revert the select back to its default unselected state.\n\t updateOptions(inst, Boolean(props.multiple), props.multiple ? [] : '');\n\t }\n\t }\n\t }\n\t};\n\t\n\tfunction _handleChange(event) {\n\t var props = this._currentElement.props;\n\t var returnValue = LinkedValueUtils.executeOnChange(props, event);\n\t\n\t if (this._rootNodeID) {\n\t this._wrapperState.pendingUpdate = true;\n\t }\n\t ReactUpdates.asap(updateOptionsIfPendingUpdateAndMounted, this);\n\t return returnValue;\n\t}\n\t\n\tmodule.exports = ReactDOMSelect;\n\n/***/ },\n/* 331 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Copyright 2014-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @providesModule ReactEmptyComponent\n\t */\n\t\n\t'use strict';\n\t\n\tvar emptyComponentFactory;\n\t\n\tvar ReactEmptyComponentInjection = {\n\t injectEmptyComponentFactory: function (factory) {\n\t emptyComponentFactory = factory;\n\t }\n\t};\n\t\n\tvar ReactEmptyComponent = {\n\t create: function (instantiate) {\n\t return emptyComponentFactory(instantiate);\n\t }\n\t};\n\t\n\tReactEmptyComponent.injection = ReactEmptyComponentInjection;\n\t\n\tmodule.exports = ReactEmptyComponent;\n\n/***/ },\n/* 332 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Copyright 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @providesModule ReactFeatureFlags\n\t * \n\t */\n\t\n\t'use strict';\n\t\n\tvar ReactFeatureFlags = {\n\t // When true, call console.time() before and .timeEnd() after each top-level\n\t // render (both initial renders and updates). Useful when looking at prod-mode\n\t // timeline profiles in Chrome, for example.\n\t logTopLevelRenders: false\n\t};\n\t\n\tmodule.exports = ReactFeatureFlags;\n\n/***/ },\n/* 333 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Copyright 2014-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @providesModule ReactHostComponent\n\t */\n\t\n\t'use strict';\n\t\n\tvar _prodInvariant = __webpack_require__(4),\n\t _assign = __webpack_require__(6);\n\t\n\tvar invariant = __webpack_require__(3);\n\t\n\tvar genericComponentClass = null;\n\t// This registry keeps track of wrapper classes around host tags.\n\tvar tagToComponentClass = {};\n\tvar textComponentClass = null;\n\t\n\tvar ReactHostComponentInjection = {\n\t // This accepts a class that receives the tag string. This is a catch all\n\t // that can render any kind of tag.\n\t injectGenericComponentClass: function (componentClass) {\n\t genericComponentClass = componentClass;\n\t },\n\t // This accepts a text component class that takes the text string to be\n\t // rendered as props.\n\t injectTextComponentClass: function (componentClass) {\n\t textComponentClass = componentClass;\n\t },\n\t // This accepts a keyed object with classes as values. Each key represents a\n\t // tag. That particular tag will use this class instead of the generic one.\n\t injectComponentClasses: function (componentClasses) {\n\t _assign(tagToComponentClass, componentClasses);\n\t }\n\t};\n\t\n\t/**\n\t * Get a host internal component class for a specific tag.\n\t *\n\t * @param {ReactElement} element The element to create.\n\t * @return {function} The internal class constructor function.\n\t */\n\tfunction createInternalComponent(element) {\n\t !genericComponentClass ? false ? invariant(false, 'There is no registered component for the tag %s', element.type) : _prodInvariant('111', element.type) : void 0;\n\t return new genericComponentClass(element);\n\t}\n\t\n\t/**\n\t * @param {ReactText} text\n\t * @return {ReactComponent}\n\t */\n\tfunction createInstanceForText(text) {\n\t return new textComponentClass(text);\n\t}\n\t\n\t/**\n\t * @param {ReactComponent} component\n\t * @return {boolean}\n\t */\n\tfunction isTextComponent(component) {\n\t return component instanceof textComponentClass;\n\t}\n\t\n\tvar ReactHostComponent = {\n\t createInternalComponent: createInternalComponent,\n\t createInstanceForText: createInstanceForText,\n\t isTextComponent: isTextComponent,\n\t injection: ReactHostComponentInjection\n\t};\n\t\n\tmodule.exports = ReactHostComponent;\n\n/***/ },\n/* 334 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Copyright 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @providesModule ReactInputSelection\n\t */\n\t\n\t'use strict';\n\t\n\tvar ReactDOMSelection = __webpack_require__(614);\n\t\n\tvar containsNode = __webpack_require__(415);\n\tvar focusNode = __webpack_require__(173);\n\tvar getActiveElement = __webpack_require__(174);\n\t\n\tfunction isInDocument(node) {\n\t return containsNode(document.documentElement, node);\n\t}\n\t\n\t/**\n\t * @ReactInputSelection: React input selection module. Based on Selection.js,\n\t * but modified to be suitable for react and has a couple of bug fixes (doesn't\n\t * assume buttons have range selections allowed).\n\t * Input selection module for React.\n\t */\n\tvar ReactInputSelection = {\n\t\n\t hasSelectionCapabilities: function (elem) {\n\t var nodeName = elem && elem.nodeName && elem.nodeName.toLowerCase();\n\t return nodeName && (nodeName === 'input' && elem.type === 'text' || nodeName === 'textarea' || elem.contentEditable === 'true');\n\t },\n\t\n\t getSelectionInformation: function () {\n\t var focusedElem = getActiveElement();\n\t return {\n\t focusedElem: focusedElem,\n\t selectionRange: ReactInputSelection.hasSelectionCapabilities(focusedElem) ? ReactInputSelection.getSelection(focusedElem) : null\n\t };\n\t },\n\t\n\t /**\n\t * @restoreSelection: If any selection information was potentially lost,\n\t * restore it. This is useful when performing operations that could remove dom\n\t * nodes and place them back in, resulting in focus being lost.\n\t */\n\t restoreSelection: function (priorSelectionInformation) {\n\t var curFocusedElem = getActiveElement();\n\t var priorFocusedElem = priorSelectionInformation.focusedElem;\n\t var priorSelectionRange = priorSelectionInformation.selectionRange;\n\t if (curFocusedElem !== priorFocusedElem && isInDocument(priorFocusedElem)) {\n\t if (ReactInputSelection.hasSelectionCapabilities(priorFocusedElem)) {\n\t ReactInputSelection.setSelection(priorFocusedElem, priorSelectionRange);\n\t }\n\t focusNode(priorFocusedElem);\n\t }\n\t },\n\t\n\t /**\n\t * @getSelection: Gets the selection bounds of a focused textarea, input or\n\t * contentEditable node.\n\t * -@input: Look up selection bounds of this input\n\t * -@return {start: selectionStart, end: selectionEnd}\n\t */\n\t getSelection: function (input) {\n\t var selection;\n\t\n\t if ('selectionStart' in input) {\n\t // Modern browser with input or textarea.\n\t selection = {\n\t start: input.selectionStart,\n\t end: input.selectionEnd\n\t };\n\t } else if (document.selection && input.nodeName && input.nodeName.toLowerCase() === 'input') {\n\t // IE8 input.\n\t var range = document.selection.createRange();\n\t // There can only be one selection per document in IE, so it must\n\t // be in our element.\n\t if (range.parentElement() === input) {\n\t selection = {\n\t start: -range.moveStart('character', -input.value.length),\n\t end: -range.moveEnd('character', -input.value.length)\n\t };\n\t }\n\t } else {\n\t // Content editable or old IE textarea.\n\t selection = ReactDOMSelection.getOffsets(input);\n\t }\n\t\n\t return selection || { start: 0, end: 0 };\n\t },\n\t\n\t /**\n\t * @setSelection: Sets the selection bounds of a textarea or input and focuses\n\t * the input.\n\t * -@input Set selection bounds of this input or textarea\n\t * -@offsets Object of same form that is returned from get*\n\t */\n\t setSelection: function (input, offsets) {\n\t var start = offsets.start;\n\t var end = offsets.end;\n\t if (end === undefined) {\n\t end = start;\n\t }\n\t\n\t if ('selectionStart' in input) {\n\t input.selectionStart = start;\n\t input.selectionEnd = Math.min(end, input.value.length);\n\t } else if (document.selection && input.nodeName && input.nodeName.toLowerCase() === 'input') {\n\t var range = input.createTextRange();\n\t range.collapse(true);\n\t range.moveStart('character', start);\n\t range.moveEnd('character', end - start);\n\t range.select();\n\t } else {\n\t ReactDOMSelection.setOffsets(input, offsets);\n\t }\n\t }\n\t};\n\t\n\tmodule.exports = ReactInputSelection;\n\n/***/ },\n/* 335 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Copyright 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @providesModule ReactMount\n\t */\n\t\n\t'use strict';\n\t\n\tvar _prodInvariant = __webpack_require__(4);\n\t\n\tvar DOMLazyTree = __webpack_require__(53);\n\tvar DOMProperty = __webpack_require__(54);\n\tvar ReactBrowserEventEmitter = __webpack_require__(95);\n\tvar ReactCurrentOwner = __webpack_require__(40);\n\tvar ReactDOMComponentTree = __webpack_require__(9);\n\tvar ReactDOMContainerInfo = __webpack_require__(607);\n\tvar ReactDOMFeatureFlags = __webpack_require__(610);\n\tvar ReactElement = __webpack_require__(29);\n\tvar ReactFeatureFlags = __webpack_require__(332);\n\tvar ReactInstanceMap = __webpack_require__(73);\n\tvar ReactInstrumentation = __webpack_require__(25);\n\tvar ReactMarkupChecksum = __webpack_require__(623);\n\tvar ReactReconciler = __webpack_require__(55);\n\tvar ReactUpdateQueue = __webpack_require__(151);\n\tvar ReactUpdates = __webpack_require__(30);\n\t\n\tvar emptyObject = __webpack_require__(62);\n\tvar instantiateReactComponent = __webpack_require__(347);\n\tvar invariant = __webpack_require__(3);\n\tvar setInnerHTML = __webpack_require__(98);\n\tvar shouldUpdateReactComponent = __webpack_require__(157);\n\tvar warning = __webpack_require__(5);\n\t\n\tvar ATTR_NAME = DOMProperty.ID_ATTRIBUTE_NAME;\n\tvar ROOT_ATTR_NAME = DOMProperty.ROOT_ATTRIBUTE_NAME;\n\t\n\tvar ELEMENT_NODE_TYPE = 1;\n\tvar DOC_NODE_TYPE = 9;\n\tvar DOCUMENT_FRAGMENT_NODE_TYPE = 11;\n\t\n\tvar instancesByReactRootID = {};\n\t\n\t/**\n\t * Finds the index of the first character\n\t * that's not common between the two given strings.\n\t *\n\t * @return {number} the index of the character where the strings diverge\n\t */\n\tfunction firstDifferenceIndex(string1, string2) {\n\t var minLen = Math.min(string1.length, string2.length);\n\t for (var i = 0; i < minLen; i++) {\n\t if (string1.charAt(i) !== string2.charAt(i)) {\n\t return i;\n\t }\n\t }\n\t return string1.length === string2.length ? -1 : minLen;\n\t}\n\t\n\t/**\n\t * @param {DOMElement|DOMDocument} container DOM element that may contain\n\t * a React component\n\t * @return {?*} DOM element that may have the reactRoot ID, or null.\n\t */\n\tfunction getReactRootElementInContainer(container) {\n\t if (!container) {\n\t return null;\n\t }\n\t\n\t if (container.nodeType === DOC_NODE_TYPE) {\n\t return container.documentElement;\n\t } else {\n\t return container.firstChild;\n\t }\n\t}\n\t\n\tfunction internalGetID(node) {\n\t // If node is something like a window, document, or text node, none of\n\t // which support attributes or a .getAttribute method, gracefully return\n\t // the empty string, as if the attribute were missing.\n\t return node.getAttribute && node.getAttribute(ATTR_NAME) || '';\n\t}\n\t\n\t/**\n\t * Mounts this component and inserts it into the DOM.\n\t *\n\t * @param {ReactComponent} componentInstance The instance to mount.\n\t * @param {DOMElement} container DOM element to mount into.\n\t * @param {ReactReconcileTransaction} transaction\n\t * @param {boolean} shouldReuseMarkup If true, do not insert markup\n\t */\n\tfunction mountComponentIntoNode(wrapperInstance, container, transaction, shouldReuseMarkup, context) {\n\t var markerName;\n\t if (ReactFeatureFlags.logTopLevelRenders) {\n\t var wrappedElement = wrapperInstance._currentElement.props;\n\t var type = wrappedElement.type;\n\t markerName = 'React mount: ' + (typeof type === 'string' ? type : type.displayName || type.name);\n\t console.time(markerName);\n\t }\n\t\n\t var markup = ReactReconciler.mountComponent(wrapperInstance, transaction, null, ReactDOMContainerInfo(wrapperInstance, container), context, 0 /* parentDebugID */\n\t );\n\t\n\t if (markerName) {\n\t console.timeEnd(markerName);\n\t }\n\t\n\t wrapperInstance._renderedComponent._topLevelWrapper = wrapperInstance;\n\t ReactMount._mountImageIntoNode(markup, container, wrapperInstance, shouldReuseMarkup, transaction);\n\t}\n\t\n\t/**\n\t * Batched mount.\n\t *\n\t * @param {ReactComponent} componentInstance The instance to mount.\n\t * @param {DOMElement} container DOM element to mount into.\n\t * @param {boolean} shouldReuseMarkup If true, do not insert markup\n\t */\n\tfunction batchedMountComponentIntoNode(componentInstance, container, shouldReuseMarkup, context) {\n\t var transaction = ReactUpdates.ReactReconcileTransaction.getPooled(\n\t /* useCreateElement */\n\t !shouldReuseMarkup && ReactDOMFeatureFlags.useCreateElement);\n\t transaction.perform(mountComponentIntoNode, null, componentInstance, container, transaction, shouldReuseMarkup, context);\n\t ReactUpdates.ReactReconcileTransaction.release(transaction);\n\t}\n\t\n\t/**\n\t * Unmounts a component and removes it from the DOM.\n\t *\n\t * @param {ReactComponent} instance React component instance.\n\t * @param {DOMElement} container DOM element to unmount from.\n\t * @final\n\t * @internal\n\t * @see {ReactMount.unmountComponentAtNode}\n\t */\n\tfunction unmountComponentFromNode(instance, container, safely) {\n\t if (false) {\n\t ReactInstrumentation.debugTool.onBeginFlush();\n\t }\n\t ReactReconciler.unmountComponent(instance, safely);\n\t if (false) {\n\t ReactInstrumentation.debugTool.onEndFlush();\n\t }\n\t\n\t if (container.nodeType === DOC_NODE_TYPE) {\n\t container = container.documentElement;\n\t }\n\t\n\t // http://jsperf.com/emptying-a-node\n\t while (container.lastChild) {\n\t container.removeChild(container.lastChild);\n\t }\n\t}\n\t\n\t/**\n\t * True if the supplied DOM node has a direct React-rendered child that is\n\t * not a React root element. Useful for warning in `render`,\n\t * `unmountComponentAtNode`, etc.\n\t *\n\t * @param {?DOMElement} node The candidate DOM node.\n\t * @return {boolean} True if the DOM element contains a direct child that was\n\t * rendered by React but is not a root element.\n\t * @internal\n\t */\n\tfunction hasNonRootReactChild(container) {\n\t var rootEl = getReactRootElementInContainer(container);\n\t if (rootEl) {\n\t var inst = ReactDOMComponentTree.getInstanceFromNode(rootEl);\n\t return !!(inst && inst._hostParent);\n\t }\n\t}\n\t\n\t/**\n\t * True if the supplied DOM node is a React DOM element and\n\t * it has been rendered by another copy of React.\n\t *\n\t * @param {?DOMElement} node The candidate DOM node.\n\t * @return {boolean} True if the DOM has been rendered by another copy of React\n\t * @internal\n\t */\n\tfunction nodeIsRenderedByOtherInstance(container) {\n\t var rootEl = getReactRootElementInContainer(container);\n\t return !!(rootEl && isReactNode(rootEl) && !ReactDOMComponentTree.getInstanceFromNode(rootEl));\n\t}\n\t\n\t/**\n\t * True if the supplied DOM node is a valid node element.\n\t *\n\t * @param {?DOMElement} node The candidate DOM node.\n\t * @return {boolean} True if the DOM is a valid DOM node.\n\t * @internal\n\t */\n\tfunction isValidContainer(node) {\n\t return !!(node && (node.nodeType === ELEMENT_NODE_TYPE || node.nodeType === DOC_NODE_TYPE || node.nodeType === DOCUMENT_FRAGMENT_NODE_TYPE));\n\t}\n\t\n\t/**\n\t * True if the supplied DOM node is a valid React node element.\n\t *\n\t * @param {?DOMElement} node The candidate DOM node.\n\t * @return {boolean} True if the DOM is a valid React DOM node.\n\t * @internal\n\t */\n\tfunction isReactNode(node) {\n\t return isValidContainer(node) && (node.hasAttribute(ROOT_ATTR_NAME) || node.hasAttribute(ATTR_NAME));\n\t}\n\t\n\tfunction getHostRootInstanceInContainer(container) {\n\t var rootEl = getReactRootElementInContainer(container);\n\t var prevHostInstance = rootEl && ReactDOMComponentTree.getInstanceFromNode(rootEl);\n\t return prevHostInstance && !prevHostInstance._hostParent ? prevHostInstance : null;\n\t}\n\t\n\tfunction getTopLevelWrapperInContainer(container) {\n\t var root = getHostRootInstanceInContainer(container);\n\t return root ? root._hostContainerInfo._topLevelWrapper : null;\n\t}\n\t\n\t/**\n\t * Temporary (?) hack so that we can store all top-level pending updates on\n\t * composites instead of having to worry about different types of components\n\t * here.\n\t */\n\tvar topLevelRootCounter = 1;\n\tvar TopLevelWrapper = function () {\n\t this.rootID = topLevelRootCounter++;\n\t};\n\tTopLevelWrapper.prototype.isReactComponent = {};\n\tif (false) {\n\t TopLevelWrapper.displayName = 'TopLevelWrapper';\n\t}\n\tTopLevelWrapper.prototype.render = function () {\n\t // this.props is actually a ReactElement\n\t return this.props;\n\t};\n\t\n\t/**\n\t * Mounting is the process of initializing a React component by creating its\n\t * representative DOM elements and inserting them into a supplied `container`.\n\t * Any prior content inside `container` is destroyed in the process.\n\t *\n\t * ReactMount.render(\n\t * component,\n\t * document.getElementById('container')\n\t * );\n\t *\n\t * <div id=\"container\"> <-- Supplied `container`.\n\t * <div data-reactid=\".3\"> <-- Rendered reactRoot of React\n\t * // ... component.\n\t * </div>\n\t * </div>\n\t *\n\t * Inside of `container`, the first element rendered is the \"reactRoot\".\n\t */\n\tvar ReactMount = {\n\t\n\t TopLevelWrapper: TopLevelWrapper,\n\t\n\t /**\n\t * Used by devtools. The keys are not important.\n\t */\n\t _instancesByReactRootID: instancesByReactRootID,\n\t\n\t /**\n\t * This is a hook provided to support rendering React components while\n\t * ensuring that the apparent scroll position of its `container` does not\n\t * change.\n\t *\n\t * @param {DOMElement} container The `container` being rendered into.\n\t * @param {function} renderCallback This must be called once to do the render.\n\t */\n\t scrollMonitor: function (container, renderCallback) {\n\t renderCallback();\n\t },\n\t\n\t /**\n\t * Take a component that's already mounted into the DOM and replace its props\n\t * @param {ReactComponent} prevComponent component instance already in the DOM\n\t * @param {ReactElement} nextElement component instance to render\n\t * @param {DOMElement} container container to render into\n\t * @param {?function} callback function triggered on completion\n\t */\n\t _updateRootComponent: function (prevComponent, nextElement, nextContext, container, callback) {\n\t ReactMount.scrollMonitor(container, function () {\n\t ReactUpdateQueue.enqueueElementInternal(prevComponent, nextElement, nextContext);\n\t if (callback) {\n\t ReactUpdateQueue.enqueueCallbackInternal(prevComponent, callback);\n\t }\n\t });\n\t\n\t return prevComponent;\n\t },\n\t\n\t /**\n\t * Render a new component into the DOM. Hooked by hooks!\n\t *\n\t * @param {ReactElement} nextElement element to render\n\t * @param {DOMElement} container container to render into\n\t * @param {boolean} shouldReuseMarkup if we should skip the markup insertion\n\t * @return {ReactComponent} nextComponent\n\t */\n\t _renderNewRootComponent: function (nextElement, container, shouldReuseMarkup, context) {\n\t // Various parts of our code (such as ReactCompositeComponent's\n\t // _renderValidatedComponent) assume that calls to render aren't nested;\n\t // verify that that's the case.\n\t false ? warning(ReactCurrentOwner.current == null, '_renderNewRootComponent(): Render methods should be a pure function ' + 'of props and state; triggering nested component updates from ' + 'render is not allowed. If necessary, trigger nested updates in ' + 'componentDidUpdate. Check the render method of %s.', ReactCurrentOwner.current && ReactCurrentOwner.current.getName() || 'ReactCompositeComponent') : void 0;\n\t\n\t !isValidContainer(container) ? false ? invariant(false, '_registerComponent(...): Target container is not a DOM element.') : _prodInvariant('37') : void 0;\n\t\n\t ReactBrowserEventEmitter.ensureScrollValueMonitoring();\n\t var componentInstance = instantiateReactComponent(nextElement, false);\n\t\n\t // The initial render is synchronous but any updates that happen during\n\t // rendering, in componentWillMount or componentDidMount, will be batched\n\t // according to the current batching strategy.\n\t\n\t ReactUpdates.batchedUpdates(batchedMountComponentIntoNode, componentInstance, container, shouldReuseMarkup, context);\n\t\n\t var wrapperID = componentInstance._instance.rootID;\n\t instancesByReactRootID[wrapperID] = componentInstance;\n\t\n\t return componentInstance;\n\t },\n\t\n\t /**\n\t * Renders a React component into the DOM in the supplied `container`.\n\t *\n\t * If the React component was previously rendered into `container`, this will\n\t * perform an update on it and only mutate the DOM as necessary to reflect the\n\t * latest React component.\n\t *\n\t * @param {ReactComponent} parentComponent The conceptual parent of this render tree.\n\t * @param {ReactElement} nextElement Component element to render.\n\t * @param {DOMElement} container DOM element to render into.\n\t * @param {?function} callback function triggered on completion\n\t * @return {ReactComponent} Component instance rendered in `container`.\n\t */\n\t renderSubtreeIntoContainer: function (parentComponent, nextElement, container, callback) {\n\t !(parentComponent != null && ReactInstanceMap.has(parentComponent)) ? false ? invariant(false, 'parentComponent must be a valid React Component') : _prodInvariant('38') : void 0;\n\t return ReactMount._renderSubtreeIntoContainer(parentComponent, nextElement, container, callback);\n\t },\n\t\n\t _renderSubtreeIntoContainer: function (parentComponent, nextElement, container, callback) {\n\t ReactUpdateQueue.validateCallback(callback, 'ReactDOM.render');\n\t !ReactElement.isValidElement(nextElement) ? false ? invariant(false, 'ReactDOM.render(): Invalid component element.%s', typeof nextElement === 'string' ? ' Instead of passing a string like \\'div\\', pass ' + 'React.createElement(\\'div\\') or <div />.' : typeof nextElement === 'function' ? ' Instead of passing a class like Foo, pass ' + 'React.createElement(Foo) or <Foo />.' :\n\t // Check if it quacks like an element\n\t nextElement != null && nextElement.props !== undefined ? ' This may be caused by unintentionally loading two independent ' + 'copies of React.' : '') : _prodInvariant('39', typeof nextElement === 'string' ? ' Instead of passing a string like \\'div\\', pass ' + 'React.createElement(\\'div\\') or <div />.' : typeof nextElement === 'function' ? ' Instead of passing a class like Foo, pass ' + 'React.createElement(Foo) or <Foo />.' : nextElement != null && nextElement.props !== undefined ? ' This may be caused by unintentionally loading two independent ' + 'copies of React.' : '') : void 0;\n\t\n\t false ? warning(!container || !container.tagName || container.tagName.toUpperCase() !== 'BODY', 'render(): Rendering components directly into document.body is ' + 'discouraged, since its children are often manipulated by third-party ' + 'scripts and browser extensions. This may lead to subtle ' + 'reconciliation issues. Try rendering into a container element created ' + 'for your app.') : void 0;\n\t\n\t var nextWrappedElement = ReactElement(TopLevelWrapper, null, null, null, null, null, nextElement);\n\t\n\t var nextContext;\n\t if (parentComponent) {\n\t var parentInst = ReactInstanceMap.get(parentComponent);\n\t nextContext = parentInst._processChildContext(parentInst._context);\n\t } else {\n\t nextContext = emptyObject;\n\t }\n\t\n\t var prevComponent = getTopLevelWrapperInContainer(container);\n\t\n\t if (prevComponent) {\n\t var prevWrappedElement = prevComponent._currentElement;\n\t var prevElement = prevWrappedElement.props;\n\t if (shouldUpdateReactComponent(prevElement, nextElement)) {\n\t var publicInst = prevComponent._renderedComponent.getPublicInstance();\n\t var updatedCallback = callback && function () {\n\t callback.call(publicInst);\n\t };\n\t ReactMount._updateRootComponent(prevComponent, nextWrappedElement, nextContext, container, updatedCallback);\n\t return publicInst;\n\t } else {\n\t ReactMount.unmountComponentAtNode(container);\n\t }\n\t }\n\t\n\t var reactRootElement = getReactRootElementInContainer(container);\n\t var containerHasReactMarkup = reactRootElement && !!internalGetID(reactRootElement);\n\t var containerHasNonRootReactChild = hasNonRootReactChild(container);\n\t\n\t if (false) {\n\t process.env.NODE_ENV !== 'production' ? warning(!containerHasNonRootReactChild, 'render(...): Replacing React-rendered children with a new root ' + 'component. If you intended to update the children of this node, ' + 'you should instead have the existing children update their state ' + 'and render the new components instead of calling ReactDOM.render.') : void 0;\n\t\n\t if (!containerHasReactMarkup || reactRootElement.nextSibling) {\n\t var rootElementSibling = reactRootElement;\n\t while (rootElementSibling) {\n\t if (internalGetID(rootElementSibling)) {\n\t process.env.NODE_ENV !== 'production' ? warning(false, 'render(): Target node has markup rendered by React, but there ' + 'are unrelated nodes as well. This is most commonly caused by ' + 'white-space inserted around server-rendered markup.') : void 0;\n\t break;\n\t }\n\t rootElementSibling = rootElementSibling.nextSibling;\n\t }\n\t }\n\t }\n\t\n\t var shouldReuseMarkup = containerHasReactMarkup && !prevComponent && !containerHasNonRootReactChild;\n\t var component = ReactMount._renderNewRootComponent(nextWrappedElement, container, shouldReuseMarkup, nextContext)._renderedComponent.getPublicInstance();\n\t if (callback) {\n\t callback.call(component);\n\t }\n\t return component;\n\t },\n\t\n\t /**\n\t * Renders a React component into the DOM in the supplied `container`.\n\t * See https://facebook.github.io/react/docs/top-level-api.html#reactdom.render\n\t *\n\t * If the React component was previously rendered into `container`, this will\n\t * perform an update on it and only mutate the DOM as necessary to reflect the\n\t * latest React component.\n\t *\n\t * @param {ReactElement} nextElement Component element to render.\n\t * @param {DOMElement} container DOM element to render into.\n\t * @param {?function} callback function triggered on completion\n\t * @return {ReactComponent} Component instance rendered in `container`.\n\t */\n\t render: function (nextElement, container, callback) {\n\t return ReactMount._renderSubtreeIntoContainer(null, nextElement, container, callback);\n\t },\n\t\n\t /**\n\t * Unmounts and destroys the React component rendered in the `container`.\n\t * See https://facebook.github.io/react/docs/top-level-api.html#reactdom.unmountcomponentatnode\n\t *\n\t * @param {DOMElement} container DOM element containing a React component.\n\t * @return {boolean} True if a component was found in and unmounted from\n\t * `container`\n\t */\n\t unmountComponentAtNode: function (container) {\n\t // Various parts of our code (such as ReactCompositeComponent's\n\t // _renderValidatedComponent) assume that calls to render aren't nested;\n\t // verify that that's the case. (Strictly speaking, unmounting won't cause a\n\t // render but we still don't expect to be in a render call here.)\n\t false ? warning(ReactCurrentOwner.current == null, 'unmountComponentAtNode(): Render methods should be a pure function ' + 'of props and state; triggering nested component updates from render ' + 'is not allowed. If necessary, trigger nested updates in ' + 'componentDidUpdate. Check the render method of %s.', ReactCurrentOwner.current && ReactCurrentOwner.current.getName() || 'ReactCompositeComponent') : void 0;\n\t\n\t !isValidContainer(container) ? false ? invariant(false, 'unmountComponentAtNode(...): Target container is not a DOM element.') : _prodInvariant('40') : void 0;\n\t\n\t if (false) {\n\t process.env.NODE_ENV !== 'production' ? warning(!nodeIsRenderedByOtherInstance(container), 'unmountComponentAtNode(): The node you\\'re attempting to unmount ' + 'was rendered by another copy of React.') : void 0;\n\t }\n\t\n\t var prevComponent = getTopLevelWrapperInContainer(container);\n\t if (!prevComponent) {\n\t // Check if the node being unmounted was rendered by React, but isn't a\n\t // root node.\n\t var containerHasNonRootReactChild = hasNonRootReactChild(container);\n\t\n\t // Check if the container itself is a React root node.\n\t var isContainerReactRoot = container.nodeType === 1 && container.hasAttribute(ROOT_ATTR_NAME);\n\t\n\t if (false) {\n\t process.env.NODE_ENV !== 'production' ? warning(!containerHasNonRootReactChild, 'unmountComponentAtNode(): The node you\\'re attempting to unmount ' + 'was rendered by React and is not a top-level container. %s', isContainerReactRoot ? 'You may have accidentally passed in a React root node instead ' + 'of its container.' : 'Instead, have the parent component update its state and ' + 'rerender in order to remove this component.') : void 0;\n\t }\n\t\n\t return false;\n\t }\n\t delete instancesByReactRootID[prevComponent._instance.rootID];\n\t ReactUpdates.batchedUpdates(unmountComponentFromNode, prevComponent, container, false);\n\t return true;\n\t },\n\t\n\t _mountImageIntoNode: function (markup, container, instance, shouldReuseMarkup, transaction) {\n\t !isValidContainer(container) ? false ? invariant(false, 'mountComponentIntoNode(...): Target container is not valid.') : _prodInvariant('41') : void 0;\n\t\n\t if (shouldReuseMarkup) {\n\t var rootElement = getReactRootElementInContainer(container);\n\t if (ReactMarkupChecksum.canReuseMarkup(markup, rootElement)) {\n\t ReactDOMComponentTree.precacheNode(instance, rootElement);\n\t return;\n\t } else {\n\t var checksum = rootElement.getAttribute(ReactMarkupChecksum.CHECKSUM_ATTR_NAME);\n\t rootElement.removeAttribute(ReactMarkupChecksum.CHECKSUM_ATTR_NAME);\n\t\n\t var rootMarkup = rootElement.outerHTML;\n\t rootElement.setAttribute(ReactMarkupChecksum.CHECKSUM_ATTR_NAME, checksum);\n\t\n\t var normalizedMarkup = markup;\n\t if (false) {\n\t // because rootMarkup is retrieved from the DOM, various normalizations\n\t // will have occurred which will not be present in `markup`. Here,\n\t // insert markup into a <div> or <iframe> depending on the container\n\t // type to perform the same normalizations before comparing.\n\t var normalizer;\n\t if (container.nodeType === ELEMENT_NODE_TYPE) {\n\t normalizer = document.createElement('div');\n\t normalizer.innerHTML = markup;\n\t normalizedMarkup = normalizer.innerHTML;\n\t } else {\n\t normalizer = document.createElement('iframe');\n\t document.body.appendChild(normalizer);\n\t normalizer.contentDocument.write(markup);\n\t normalizedMarkup = normalizer.contentDocument.documentElement.outerHTML;\n\t document.body.removeChild(normalizer);\n\t }\n\t }\n\t\n\t var diffIndex = firstDifferenceIndex(normalizedMarkup, rootMarkup);\n\t var difference = ' (client) ' + normalizedMarkup.substring(diffIndex - 20, diffIndex + 20) + '\\n (server) ' + rootMarkup.substring(diffIndex - 20, diffIndex + 20);\n\t\n\t !(container.nodeType !== DOC_NODE_TYPE) ? false ? invariant(false, 'You\\'re trying to render a component to the document using server rendering but the checksum was invalid. This usually means you rendered a different component type or props on the client from the one on the server, or your render() methods are impure. React cannot handle this case due to cross-browser quirks by rendering at the document root. You should look for environment dependent code in your components and ensure the props are the same client and server side:\\n%s', difference) : _prodInvariant('42', difference) : void 0;\n\t\n\t if (false) {\n\t process.env.NODE_ENV !== 'production' ? warning(false, 'React attempted to reuse markup in a container but the ' + 'checksum was invalid. This generally means that you are ' + 'using server rendering and the markup generated on the ' + 'server was not what the client was expecting. React injected ' + 'new markup to compensate which works but you have lost many ' + 'of the benefits of server rendering. Instead, figure out ' + 'why the markup being generated is different on the client ' + 'or server:\\n%s', difference) : void 0;\n\t }\n\t }\n\t }\n\t\n\t !(container.nodeType !== DOC_NODE_TYPE) ? false ? invariant(false, 'You\\'re trying to render a component to the document but you didn\\'t use server rendering. We can\\'t do this without using server rendering due to cross-browser quirks. See ReactDOMServer.renderToString() for server rendering.') : _prodInvariant('43') : void 0;\n\t\n\t if (transaction.useCreateElement) {\n\t while (container.lastChild) {\n\t container.removeChild(container.lastChild);\n\t }\n\t DOMLazyTree.insertTreeBefore(container, markup, null);\n\t } else {\n\t setInnerHTML(container, markup);\n\t ReactDOMComponentTree.precacheNode(instance, container.firstChild);\n\t }\n\t\n\t if (false) {\n\t var hostNode = ReactDOMComponentTree.getInstanceFromNode(container.firstChild);\n\t if (hostNode._debugID !== 0) {\n\t ReactInstrumentation.debugTool.onHostOperation(hostNode._debugID, 'mount', markup.toString());\n\t }\n\t }\n\t }\n\t};\n\t\n\tmodule.exports = ReactMount;\n\n/***/ },\n/* 336 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Copyright 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @providesModule ReactMultiChildUpdateTypes\n\t */\n\t\n\t'use strict';\n\t\n\tvar keyMirror = __webpack_require__(83);\n\t\n\t/**\n\t * When a component's children are updated, a series of update configuration\n\t * objects are created in order to batch and serialize the required changes.\n\t *\n\t * Enumerates all the possible types of update configurations.\n\t *\n\t * @internal\n\t */\n\tvar ReactMultiChildUpdateTypes = keyMirror({\n\t INSERT_MARKUP: null,\n\t MOVE_EXISTING: null,\n\t REMOVE_NODE: null,\n\t SET_MARKUP: null,\n\t TEXT_CONTENT: null\n\t});\n\t\n\tmodule.exports = ReactMultiChildUpdateTypes;\n\n/***/ },\n/* 337 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Copyright 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @providesModule ReactNodeTypes\n\t * \n\t */\n\t\n\t'use strict';\n\t\n\tvar _prodInvariant = __webpack_require__(4);\n\t\n\tvar ReactElement = __webpack_require__(29);\n\t\n\tvar invariant = __webpack_require__(3);\n\t\n\tvar ReactNodeTypes = {\n\t HOST: 0,\n\t COMPOSITE: 1,\n\t EMPTY: 2,\n\t\n\t getType: function (node) {\n\t if (node === null || node === false) {\n\t return ReactNodeTypes.EMPTY;\n\t } else if (ReactElement.isValidElement(node)) {\n\t if (typeof node.type === 'function') {\n\t return ReactNodeTypes.COMPOSITE;\n\t } else {\n\t return ReactNodeTypes.HOST;\n\t }\n\t }\n\t true ? false ? invariant(false, 'Unexpected node: %s', node) : _prodInvariant('26', node) : void 0;\n\t }\n\t};\n\t\n\tmodule.exports = ReactNodeTypes;\n\n/***/ },\n/* 338 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Copyright 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @providesModule ReactPropTypes\n\t */\n\t\n\t'use strict';\n\t\n\tvar ReactElement = __webpack_require__(29);\n\tvar ReactPropTypeLocationNames = __webpack_require__(148);\n\tvar ReactPropTypesSecret = __webpack_require__(150);\n\t\n\tvar emptyFunction = __webpack_require__(24);\n\tvar getIteratorFn = __webpack_require__(345);\n\tvar warning = __webpack_require__(5);\n\t\n\t/**\n\t * Collection of methods that allow declaration and validation of props that are\n\t * supplied to React components. Example usage:\n\t *\n\t * var Props = require('ReactPropTypes');\n\t * var MyArticle = React.createClass({\n\t * propTypes: {\n\t * // An optional string prop named \"description\".\n\t * description: Props.string,\n\t *\n\t * // A required enum prop named \"category\".\n\t * category: Props.oneOf(['News','Photos']).isRequired,\n\t *\n\t * // A prop named \"dialog\" that requires an instance of Dialog.\n\t * dialog: Props.instanceOf(Dialog).isRequired\n\t * },\n\t * render: function() { ... }\n\t * });\n\t *\n\t * A more formal specification of how these methods are used:\n\t *\n\t * type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...)\n\t * decl := ReactPropTypes.{type}(.isRequired)?\n\t *\n\t * Each and every declaration produces a function with the same signature. This\n\t * allows the creation of custom validation functions. For example:\n\t *\n\t * var MyLink = React.createClass({\n\t * propTypes: {\n\t * // An optional string or URI prop named \"href\".\n\t * href: function(props, propName, componentName) {\n\t * var propValue = props[propName];\n\t * if (propValue != null && typeof propValue !== 'string' &&\n\t * !(propValue instanceof URI)) {\n\t * return new Error(\n\t * 'Expected a string or an URI for ' + propName + ' in ' +\n\t * componentName\n\t * );\n\t * }\n\t * }\n\t * },\n\t * render: function() {...}\n\t * });\n\t *\n\t * @internal\n\t */\n\t\n\tvar ANONYMOUS = '<<anonymous>>';\n\t\n\tvar ReactPropTypes = {\n\t array: createPrimitiveTypeChecker('array'),\n\t bool: createPrimitiveTypeChecker('boolean'),\n\t func: createPrimitiveTypeChecker('function'),\n\t number: createPrimitiveTypeChecker('number'),\n\t object: createPrimitiveTypeChecker('object'),\n\t string: createPrimitiveTypeChecker('string'),\n\t symbol: createPrimitiveTypeChecker('symbol'),\n\t\n\t any: createAnyTypeChecker(),\n\t arrayOf: createArrayOfTypeChecker,\n\t element: createElementTypeChecker(),\n\t instanceOf: createInstanceTypeChecker,\n\t node: createNodeChecker(),\n\t objectOf: createObjectOfTypeChecker,\n\t oneOf: createEnumTypeChecker,\n\t oneOfType: createUnionTypeChecker,\n\t shape: createShapeTypeChecker\n\t};\n\t\n\t/**\n\t * inlined Object.is polyfill to avoid requiring consumers ship their own\n\t * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\n\t */\n\t/*eslint-disable no-self-compare*/\n\tfunction is(x, y) {\n\t // SameValue algorithm\n\t if (x === y) {\n\t // Steps 1-5, 7-10\n\t // Steps 6.b-6.e: +0 != -0\n\t return x !== 0 || 1 / x === 1 / y;\n\t } else {\n\t // Step 6.a: NaN == NaN\n\t return x !== x && y !== y;\n\t }\n\t}\n\t/*eslint-enable no-self-compare*/\n\t\n\t/**\n\t * We use an Error-like object for backward compatibility as people may call\n\t * PropTypes directly and inspect their output. However we don't use real\n\t * Errors anymore. We don't inspect their stack anyway, and creating them\n\t * is prohibitively expensive if they are created too often, such as what\n\t * happens in oneOfType() for any type before the one that matched.\n\t */\n\tfunction PropTypeError(message) {\n\t this.message = message;\n\t this.stack = '';\n\t}\n\t// Make `instanceof Error` still work for returned errors.\n\tPropTypeError.prototype = Error.prototype;\n\t\n\tfunction createChainableTypeChecker(validate) {\n\t if (false) {\n\t var manualPropTypeCallCache = {};\n\t }\n\t function checkType(isRequired, props, propName, componentName, location, propFullName, secret) {\n\t componentName = componentName || ANONYMOUS;\n\t propFullName = propFullName || propName;\n\t if (false) {\n\t if (secret !== ReactPropTypesSecret && typeof console !== 'undefined') {\n\t var cacheKey = componentName + ':' + propName;\n\t if (!manualPropTypeCallCache[cacheKey]) {\n\t process.env.NODE_ENV !== 'production' ? warning(false, 'You are manually calling a React.PropTypes validation ' + 'function for the `%s` prop on `%s`. This is deprecated ' + 'and will not work in the next major version. You may be ' + 'seeing this warning due to a third-party PropTypes library. ' + 'See https://fb.me/react-warning-dont-call-proptypes for details.', propFullName, componentName) : void 0;\n\t manualPropTypeCallCache[cacheKey] = true;\n\t }\n\t }\n\t }\n\t if (props[propName] == null) {\n\t var locationName = ReactPropTypeLocationNames[location];\n\t if (isRequired) {\n\t return new PropTypeError('Required ' + locationName + ' `' + propFullName + '` was not specified in ' + ('`' + componentName + '`.'));\n\t }\n\t return null;\n\t } else {\n\t return validate(props, propName, componentName, location, propFullName);\n\t }\n\t }\n\t\n\t var chainedCheckType = checkType.bind(null, false);\n\t chainedCheckType.isRequired = checkType.bind(null, true);\n\t\n\t return chainedCheckType;\n\t}\n\t\n\tfunction createPrimitiveTypeChecker(expectedType) {\n\t function validate(props, propName, componentName, location, propFullName, secret) {\n\t var propValue = props[propName];\n\t var propType = getPropType(propValue);\n\t if (propType !== expectedType) {\n\t var locationName = ReactPropTypeLocationNames[location];\n\t // `propValue` being instance of, say, date/regexp, pass the 'object'\n\t // check, but we can offer a more precise error message here rather than\n\t // 'of type `object`'.\n\t var preciseType = getPreciseType(propValue);\n\t\n\t return new PropTypeError('Invalid ' + locationName + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.'));\n\t }\n\t return null;\n\t }\n\t return createChainableTypeChecker(validate);\n\t}\n\t\n\tfunction createAnyTypeChecker() {\n\t return createChainableTypeChecker(emptyFunction.thatReturns(null));\n\t}\n\t\n\tfunction createArrayOfTypeChecker(typeChecker) {\n\t function validate(props, propName, componentName, location, propFullName) {\n\t if (typeof typeChecker !== 'function') {\n\t return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.');\n\t }\n\t var propValue = props[propName];\n\t if (!Array.isArray(propValue)) {\n\t var locationName = ReactPropTypeLocationNames[location];\n\t var propType = getPropType(propValue);\n\t return new PropTypeError('Invalid ' + locationName + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.'));\n\t }\n\t for (var i = 0; i < propValue.length; i++) {\n\t var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']', ReactPropTypesSecret);\n\t if (error instanceof Error) {\n\t return error;\n\t }\n\t }\n\t return null;\n\t }\n\t return createChainableTypeChecker(validate);\n\t}\n\t\n\tfunction createElementTypeChecker() {\n\t function validate(props, propName, componentName, location, propFullName) {\n\t var propValue = props[propName];\n\t if (!ReactElement.isValidElement(propValue)) {\n\t var locationName = ReactPropTypeLocationNames[location];\n\t var propType = getPropType(propValue);\n\t return new PropTypeError('Invalid ' + locationName + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement.'));\n\t }\n\t return null;\n\t }\n\t return createChainableTypeChecker(validate);\n\t}\n\t\n\tfunction createInstanceTypeChecker(expectedClass) {\n\t function validate(props, propName, componentName, location, propFullName) {\n\t if (!(props[propName] instanceof expectedClass)) {\n\t var locationName = ReactPropTypeLocationNames[location];\n\t var expectedClassName = expectedClass.name || ANONYMOUS;\n\t var actualClassName = getClassName(props[propName]);\n\t return new PropTypeError('Invalid ' + locationName + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.'));\n\t }\n\t return null;\n\t }\n\t return createChainableTypeChecker(validate);\n\t}\n\t\n\tfunction createEnumTypeChecker(expectedValues) {\n\t if (!Array.isArray(expectedValues)) {\n\t false ? warning(false, 'Invalid argument supplied to oneOf, expected an instance of array.') : void 0;\n\t return emptyFunction.thatReturnsNull;\n\t }\n\t\n\t function validate(props, propName, componentName, location, propFullName) {\n\t var propValue = props[propName];\n\t for (var i = 0; i < expectedValues.length; i++) {\n\t if (is(propValue, expectedValues[i])) {\n\t return null;\n\t }\n\t }\n\t\n\t var locationName = ReactPropTypeLocationNames[location];\n\t var valuesString = JSON.stringify(expectedValues);\n\t return new PropTypeError('Invalid ' + locationName + ' `' + propFullName + '` of value `' + propValue + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.'));\n\t }\n\t return createChainableTypeChecker(validate);\n\t}\n\t\n\tfunction createObjectOfTypeChecker(typeChecker) {\n\t function validate(props, propName, componentName, location, propFullName) {\n\t if (typeof typeChecker !== 'function') {\n\t return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside objectOf.');\n\t }\n\t var propValue = props[propName];\n\t var propType = getPropType(propValue);\n\t if (propType !== 'object') {\n\t var locationName = ReactPropTypeLocationNames[location];\n\t return new PropTypeError('Invalid ' + locationName + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.'));\n\t }\n\t for (var key in propValue) {\n\t if (propValue.hasOwnProperty(key)) {\n\t var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n\t if (error instanceof Error) {\n\t return error;\n\t }\n\t }\n\t }\n\t return null;\n\t }\n\t return createChainableTypeChecker(validate);\n\t}\n\t\n\tfunction createUnionTypeChecker(arrayOfTypeCheckers) {\n\t if (!Array.isArray(arrayOfTypeCheckers)) {\n\t false ? warning(false, 'Invalid argument supplied to oneOfType, expected an instance of array.') : void 0;\n\t return emptyFunction.thatReturnsNull;\n\t }\n\t\n\t function validate(props, propName, componentName, location, propFullName) {\n\t for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n\t var checker = arrayOfTypeCheckers[i];\n\t if (checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret) == null) {\n\t return null;\n\t }\n\t }\n\t\n\t var locationName = ReactPropTypeLocationNames[location];\n\t return new PropTypeError('Invalid ' + locationName + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`.'));\n\t }\n\t return createChainableTypeChecker(validate);\n\t}\n\t\n\tfunction createNodeChecker() {\n\t function validate(props, propName, componentName, location, propFullName) {\n\t if (!isNode(props[propName])) {\n\t var locationName = ReactPropTypeLocationNames[location];\n\t return new PropTypeError('Invalid ' + locationName + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.'));\n\t }\n\t return null;\n\t }\n\t return createChainableTypeChecker(validate);\n\t}\n\t\n\tfunction createShapeTypeChecker(shapeTypes) {\n\t function validate(props, propName, componentName, location, propFullName) {\n\t var propValue = props[propName];\n\t var propType = getPropType(propValue);\n\t if (propType !== 'object') {\n\t var locationName = ReactPropTypeLocationNames[location];\n\t return new PropTypeError('Invalid ' + locationName + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n\t }\n\t for (var key in shapeTypes) {\n\t var checker = shapeTypes[key];\n\t if (!checker) {\n\t continue;\n\t }\n\t var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n\t if (error) {\n\t return error;\n\t }\n\t }\n\t return null;\n\t }\n\t return createChainableTypeChecker(validate);\n\t}\n\t\n\tfunction isNode(propValue) {\n\t switch (typeof propValue) {\n\t case 'number':\n\t case 'string':\n\t case 'undefined':\n\t return true;\n\t case 'boolean':\n\t return !propValue;\n\t case 'object':\n\t if (Array.isArray(propValue)) {\n\t return propValue.every(isNode);\n\t }\n\t if (propValue === null || ReactElement.isValidElement(propValue)) {\n\t return true;\n\t }\n\t\n\t var iteratorFn = getIteratorFn(propValue);\n\t if (iteratorFn) {\n\t var iterator = iteratorFn.call(propValue);\n\t var step;\n\t if (iteratorFn !== propValue.entries) {\n\t while (!(step = iterator.next()).done) {\n\t if (!isNode(step.value)) {\n\t return false;\n\t }\n\t }\n\t } else {\n\t // Iterator will provide entry [k,v] tuples rather than values.\n\t while (!(step = iterator.next()).done) {\n\t var entry = step.value;\n\t if (entry) {\n\t if (!isNode(entry[1])) {\n\t return false;\n\t }\n\t }\n\t }\n\t }\n\t } else {\n\t return false;\n\t }\n\t\n\t return true;\n\t default:\n\t return false;\n\t }\n\t}\n\t\n\tfunction isSymbol(propType, propValue) {\n\t // Native Symbol.\n\t if (propType === 'symbol') {\n\t return true;\n\t }\n\t\n\t // 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol'\n\t if (propValue['@@toStringTag'] === 'Symbol') {\n\t return true;\n\t }\n\t\n\t // Fallback for non-spec compliant Symbols which are polyfilled.\n\t if (typeof Symbol === 'function' && propValue instanceof Symbol) {\n\t return true;\n\t }\n\t\n\t return false;\n\t}\n\t\n\t// Equivalent of `typeof` but with special handling for array and regexp.\n\tfunction getPropType(propValue) {\n\t var propType = typeof propValue;\n\t if (Array.isArray(propValue)) {\n\t return 'array';\n\t }\n\t if (propValue instanceof RegExp) {\n\t // Old webkits (at least until Android 4.0) return 'function' rather than\n\t // 'object' for typeof a RegExp. We'll normalize this here so that /bla/\n\t // passes PropTypes.object.\n\t return 'object';\n\t }\n\t if (isSymbol(propType, propValue)) {\n\t return 'symbol';\n\t }\n\t return propType;\n\t}\n\t\n\t// This handles more types than `getPropType`. Only used for error messages.\n\t// See `createPrimitiveTypeChecker`.\n\tfunction getPreciseType(propValue) {\n\t var propType = getPropType(propValue);\n\t if (propType === 'object') {\n\t if (propValue instanceof Date) {\n\t return 'date';\n\t } else if (propValue instanceof RegExp) {\n\t return 'regexp';\n\t }\n\t }\n\t return propType;\n\t}\n\t\n\t// Returns class name of the object, if any.\n\tfunction getClassName(propValue) {\n\t if (!propValue.constructor || !propValue.constructor.name) {\n\t return ANONYMOUS;\n\t }\n\t return propValue.constructor.name;\n\t}\n\t\n\tmodule.exports = ReactPropTypes;\n\n/***/ },\n/* 339 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Copyright 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @providesModule ReactVersion\n\t */\n\t\n\t'use strict';\n\t\n\tmodule.exports = '15.3.2';\n\n/***/ },\n/* 340 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Copyright 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @providesModule ViewportMetrics\n\t */\n\t\n\t'use strict';\n\t\n\tvar ViewportMetrics = {\n\t\n\t currentScrollLeft: 0,\n\t\n\t currentScrollTop: 0,\n\t\n\t refreshScrollValues: function (scrollPosition) {\n\t ViewportMetrics.currentScrollLeft = scrollPosition.x;\n\t ViewportMetrics.currentScrollTop = scrollPosition.y;\n\t }\n\t\n\t};\n\t\n\tmodule.exports = ViewportMetrics;\n\n/***/ },\n/* 341 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Copyright 2014-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @providesModule accumulateInto\n\t * \n\t */\n\t\n\t'use strict';\n\t\n\tvar _prodInvariant = __webpack_require__(4);\n\t\n\tvar invariant = __webpack_require__(3);\n\t\n\t/**\n\t * Accumulates items that must not be null or undefined into the first one. This\n\t * is used to conserve memory by avoiding array allocations, and thus sacrifices\n\t * API cleanness. Since `current` can be null before being passed in and not\n\t * null after this function, make sure to assign it back to `current`:\n\t *\n\t * `a = accumulateInto(a, b);`\n\t *\n\t * This API should be sparingly used. Try `accumulate` for something cleaner.\n\t *\n\t * @return {*|array<*>} An accumulation of items.\n\t */\n\t\n\tfunction accumulateInto(current, next) {\n\t !(next != null) ? false ? invariant(false, 'accumulateInto(...): Accumulated items must not be null or undefined.') : _prodInvariant('30') : void 0;\n\t\n\t if (current == null) {\n\t return next;\n\t }\n\t\n\t // Both are not empty. Warning: Never call x.concat(y) when you are not\n\t // certain that x is an Array (x could be a string with concat method).\n\t if (Array.isArray(current)) {\n\t if (Array.isArray(next)) {\n\t current.push.apply(current, next);\n\t return current;\n\t }\n\t current.push(next);\n\t return current;\n\t }\n\t\n\t if (Array.isArray(next)) {\n\t // A bit too dangerous to mutate `next`.\n\t return [current].concat(next);\n\t }\n\t\n\t return [current, next];\n\t}\n\t\n\tmodule.exports = accumulateInto;\n\n/***/ },\n/* 342 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Copyright 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @providesModule canDefineProperty\n\t */\n\t\n\t'use strict';\n\t\n\tvar canDefineProperty = false;\n\tif (false) {\n\t try {\n\t Object.defineProperty({}, 'x', { get: function () {} });\n\t canDefineProperty = true;\n\t } catch (x) {\n\t // IE will fail on defineProperty\n\t }\n\t}\n\t\n\tmodule.exports = canDefineProperty;\n\n/***/ },\n/* 343 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Copyright 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @providesModule forEachAccumulated\n\t * \n\t */\n\t\n\t'use strict';\n\t\n\t/**\n\t * @param {array} arr an \"accumulation\" of items which is either an Array or\n\t * a single item. Useful when paired with the `accumulate` module. This is a\n\t * simple utility that allows us to reason about a collection of items, but\n\t * handling the case when there is exactly one item (and we do not need to\n\t * allocate an array).\n\t */\n\t\n\tfunction forEachAccumulated(arr, cb, scope) {\n\t if (Array.isArray(arr)) {\n\t arr.forEach(cb, scope);\n\t } else if (arr) {\n\t cb.call(scope, arr);\n\t }\n\t}\n\t\n\tmodule.exports = forEachAccumulated;\n\n/***/ },\n/* 344 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Copyright 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @providesModule getHostComponentFromComposite\n\t */\n\t\n\t'use strict';\n\t\n\tvar ReactNodeTypes = __webpack_require__(337);\n\t\n\tfunction getHostComponentFromComposite(inst) {\n\t var type;\n\t\n\t while ((type = inst._renderedNodeType) === ReactNodeTypes.COMPOSITE) {\n\t inst = inst._renderedComponent;\n\t }\n\t\n\t if (type === ReactNodeTypes.HOST) {\n\t return inst._renderedComponent;\n\t } else if (type === ReactNodeTypes.EMPTY) {\n\t return null;\n\t }\n\t}\n\t\n\tmodule.exports = getHostComponentFromComposite;\n\n/***/ },\n/* 345 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Copyright 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @providesModule getIteratorFn\n\t * \n\t */\n\t\n\t'use strict';\n\t\n\t/* global Symbol */\n\t\n\tvar ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;\n\tvar FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec.\n\t\n\t/**\n\t * Returns the iterator method function contained on the iterable object.\n\t *\n\t * Be sure to invoke the function with the iterable as context:\n\t *\n\t * var iteratorFn = getIteratorFn(myIterable);\n\t * if (iteratorFn) {\n\t * var iterator = iteratorFn.call(myIterable);\n\t * ...\n\t * }\n\t *\n\t * @param {?object} maybeIterable\n\t * @return {?function}\n\t */\n\tfunction getIteratorFn(maybeIterable) {\n\t var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]);\n\t if (typeof iteratorFn === 'function') {\n\t return iteratorFn;\n\t }\n\t}\n\t\n\tmodule.exports = getIteratorFn;\n\n/***/ },\n/* 346 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Copyright 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @providesModule getTextContentAccessor\n\t */\n\t\n\t'use strict';\n\t\n\tvar ExecutionEnvironment = __webpack_require__(18);\n\t\n\tvar contentKey = null;\n\t\n\t/**\n\t * Gets the key used to access text content on a DOM node.\n\t *\n\t * @return {?string} Key used to access text content.\n\t * @internal\n\t */\n\tfunction getTextContentAccessor() {\n\t if (!contentKey && ExecutionEnvironment.canUseDOM) {\n\t // Prefer textContent to innerText because many browsers support both but\n\t // SVG <text> elements don't support innerText even when <div> does.\n\t contentKey = 'textContent' in document.documentElement ? 'textContent' : 'innerText';\n\t }\n\t return contentKey;\n\t}\n\t\n\tmodule.exports = getTextContentAccessor;\n\n/***/ },\n/* 347 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Copyright 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @providesModule instantiateReactComponent\n\t */\n\t\n\t'use strict';\n\t\n\tvar _prodInvariant = __webpack_require__(4),\n\t _assign = __webpack_require__(6);\n\t\n\tvar ReactCompositeComponent = __webpack_require__(603);\n\tvar ReactEmptyComponent = __webpack_require__(331);\n\tvar ReactHostComponent = __webpack_require__(333);\n\t\n\tvar invariant = __webpack_require__(3);\n\tvar warning = __webpack_require__(5);\n\t\n\t// To avoid a cyclic dependency, we create the final class in this module\n\tvar ReactCompositeComponentWrapper = function (element) {\n\t this.construct(element);\n\t};\n\t_assign(ReactCompositeComponentWrapper.prototype, ReactCompositeComponent.Mixin, {\n\t _instantiateReactComponent: instantiateReactComponent\n\t});\n\t\n\tfunction getDeclarationErrorAddendum(owner) {\n\t if (owner) {\n\t var name = owner.getName();\n\t if (name) {\n\t return ' Check the render method of `' + name + '`.';\n\t }\n\t }\n\t return '';\n\t}\n\t\n\t/**\n\t * Check if the type reference is a known internal type. I.e. not a user\n\t * provided composite type.\n\t *\n\t * @param {function} type\n\t * @return {boolean} Returns true if this is a valid internal type.\n\t */\n\tfunction isInternalComponentType(type) {\n\t return typeof type === 'function' && typeof type.prototype !== 'undefined' && typeof type.prototype.mountComponent === 'function' && typeof type.prototype.receiveComponent === 'function';\n\t}\n\t\n\tvar nextDebugID = 1;\n\t\n\t/**\n\t * Given a ReactNode, create an instance that will actually be mounted.\n\t *\n\t * @param {ReactNode} node\n\t * @param {boolean} shouldHaveDebugID\n\t * @return {object} A new instance of the element's constructor.\n\t * @protected\n\t */\n\tfunction instantiateReactComponent(node, shouldHaveDebugID) {\n\t var instance;\n\t\n\t if (node === null || node === false) {\n\t instance = ReactEmptyComponent.create(instantiateReactComponent);\n\t } else if (typeof node === 'object') {\n\t var element = node;\n\t !(element && (typeof element.type === 'function' || typeof element.type === 'string')) ? false ? invariant(false, 'Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s', element.type == null ? element.type : typeof element.type, getDeclarationErrorAddendum(element._owner)) : _prodInvariant('130', element.type == null ? element.type : typeof element.type, getDeclarationErrorAddendum(element._owner)) : void 0;\n\t\n\t // Special case string values\n\t if (typeof element.type === 'string') {\n\t instance = ReactHostComponent.createInternalComponent(element);\n\t } else if (isInternalComponentType(element.type)) {\n\t // This is temporarily available for custom components that are not string\n\t // representations. I.e. ART. Once those are updated to use the string\n\t // representation, we can drop this code path.\n\t instance = new element.type(element);\n\t\n\t // We renamed this. Allow the old name for compat. :(\n\t if (!instance.getHostNode) {\n\t instance.getHostNode = instance.getNativeNode;\n\t }\n\t } else {\n\t instance = new ReactCompositeComponentWrapper(element);\n\t }\n\t } else if (typeof node === 'string' || typeof node === 'number') {\n\t instance = ReactHostComponent.createInstanceForText(node);\n\t } else {\n\t true ? false ? invariant(false, 'Encountered invalid React node of type %s', typeof node) : _prodInvariant('131', typeof node) : void 0;\n\t }\n\t\n\t if (false) {\n\t process.env.NODE_ENV !== 'production' ? warning(typeof instance.mountComponent === 'function' && typeof instance.receiveComponent === 'function' && typeof instance.getHostNode === 'function' && typeof instance.unmountComponent === 'function', 'Only React Components can be mounted.') : void 0;\n\t }\n\t\n\t // These two fields are used by the DOM and ART diffing algorithms\n\t // respectively. Instead of using expandos on components, we should be\n\t // storing the state needed by the diffing algorithms elsewhere.\n\t instance._mountIndex = 0;\n\t instance._mountImage = null;\n\t\n\t if (false) {\n\t instance._debugID = shouldHaveDebugID ? nextDebugID++ : 0;\n\t }\n\t\n\t // Internal instances should fully constructed at this point, so they should\n\t // not get any new fields added to them at this point.\n\t if (false) {\n\t if (Object.preventExtensions) {\n\t Object.preventExtensions(instance);\n\t }\n\t }\n\t\n\t return instance;\n\t}\n\t\n\tmodule.exports = instantiateReactComponent;\n\n/***/ },\n/* 348 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Copyright 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @providesModule isTextInputElement\n\t * \n\t */\n\t\n\t'use strict';\n\t\n\t/**\n\t * @see http://www.whatwg.org/specs/web-apps/current-work/multipage/the-input-element.html#input-type-attr-summary\n\t */\n\t\n\tvar supportedInputTypes = {\n\t 'color': true,\n\t 'date': true,\n\t 'datetime': true,\n\t 'datetime-local': true,\n\t 'email': true,\n\t 'month': true,\n\t 'number': true,\n\t 'password': true,\n\t 'range': true,\n\t 'search': true,\n\t 'tel': true,\n\t 'text': true,\n\t 'time': true,\n\t 'url': true,\n\t 'week': true\n\t};\n\t\n\tfunction isTextInputElement(elem) {\n\t var nodeName = elem && elem.nodeName && elem.nodeName.toLowerCase();\n\t\n\t if (nodeName === 'input') {\n\t return !!supportedInputTypes[elem.type];\n\t }\n\t\n\t if (nodeName === 'textarea') {\n\t return true;\n\t }\n\t\n\t return false;\n\t}\n\t\n\tmodule.exports = isTextInputElement;\n\n/***/ },\n/* 349 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Copyright 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @providesModule setTextContent\n\t */\n\t\n\t'use strict';\n\t\n\tvar ExecutionEnvironment = __webpack_require__(18);\n\tvar escapeTextContentForBrowser = __webpack_require__(97);\n\tvar setInnerHTML = __webpack_require__(98);\n\t\n\t/**\n\t * Set the textContent property of a node, ensuring that whitespace is preserved\n\t * even in IE8. innerText is a poor substitute for textContent and, among many\n\t * issues, inserts <br> instead of the literal newline chars. innerHTML behaves\n\t * as it should.\n\t *\n\t * @param {DOMElement} node\n\t * @param {string} text\n\t * @internal\n\t */\n\tvar setTextContent = function (node, text) {\n\t if (text) {\n\t var firstChild = node.firstChild;\n\t\n\t if (firstChild && firstChild === node.lastChild && firstChild.nodeType === 3) {\n\t firstChild.nodeValue = text;\n\t return;\n\t }\n\t }\n\t node.textContent = text;\n\t};\n\t\n\tif (ExecutionEnvironment.canUseDOM) {\n\t if (!('textContent' in document.documentElement)) {\n\t setTextContent = function (node, text) {\n\t setInnerHTML(node, escapeTextContentForBrowser(text));\n\t };\n\t }\n\t}\n\t\n\tmodule.exports = setTextContent;\n\n/***/ },\n/* 350 */\n/***/ function(module, exports) {\n\n\t\"use strict\";\n\t\n\texports.__esModule = true;\n\texports[\"default\"] = compose;\n\t/**\n\t * Composes single-argument functions from right to left. The rightmost\n\t * function can take multiple arguments as it provides the signature for\n\t * the resulting composite function.\n\t *\n\t * @param {...Function} funcs The functions to compose.\n\t * @returns {Function} A function obtained by composing the argument functions\n\t * from right to left. For example, compose(f, g, h) is identical to doing\n\t * (...args) => f(g(h(...args))).\n\t */\n\t\n\tfunction compose() {\n\t for (var _len = arguments.length, funcs = Array(_len), _key = 0; _key < _len; _key++) {\n\t funcs[_key] = arguments[_key];\n\t }\n\t\n\t if (funcs.length === 0) {\n\t return function (arg) {\n\t return arg;\n\t };\n\t } else {\n\t var _ret = function () {\n\t var last = funcs[funcs.length - 1];\n\t var rest = funcs.slice(0, -1);\n\t return {\n\t v: function v() {\n\t return rest.reduceRight(function (composed, f) {\n\t return f(composed);\n\t }, last.apply(undefined, arguments));\n\t }\n\t };\n\t }();\n\t\n\t if (typeof _ret === \"object\") return _ret.v;\n\t }\n\t}\n\n/***/ },\n/* 351 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\texports.ActionTypes = undefined;\n\texports[\"default\"] = createStore;\n\t\n\tvar _isPlainObject = __webpack_require__(124);\n\t\n\tvar _isPlainObject2 = _interopRequireDefault(_isPlainObject);\n\t\n\tvar _symbolObservable = __webpack_require__(664);\n\t\n\tvar _symbolObservable2 = _interopRequireDefault(_symbolObservable);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\t\n\t/**\n\t * These are private action types reserved by Redux.\n\t * For any unknown actions, you must return the current state.\n\t * If the current state is undefined, you must return the initial state.\n\t * Do not reference these action types directly in your code.\n\t */\n\tvar ActionTypes = exports.ActionTypes = {\n\t INIT: '@@redux/INIT'\n\t};\n\t\n\t/**\n\t * Creates a Redux store that holds the state tree.\n\t * The only way to change the data in the store is to call `dispatch()` on it.\n\t *\n\t * There should only be a single store in your app. To specify how different\n\t * parts of the state tree respond to actions, you may combine several reducers\n\t * into a single reducer function by using `combineReducers`.\n\t *\n\t * @param {Function} reducer A function that returns the next state tree, given\n\t * the current state tree and the action to handle.\n\t *\n\t * @param {any} [initialState] The initial state. You may optionally specify it\n\t * to hydrate the state from the server in universal apps, or to restore a\n\t * previously serialized user session.\n\t * If you use `combineReducers` to produce the root reducer function, this must be\n\t * an object with the same shape as `combineReducers` keys.\n\t *\n\t * @param {Function} enhancer The store enhancer. You may optionally specify it\n\t * to enhance the store with third-party capabilities such as middleware,\n\t * time travel, persistence, etc. The only store enhancer that ships with Redux\n\t * is `applyMiddleware()`.\n\t *\n\t * @returns {Store} A Redux store that lets you read the state, dispatch actions\n\t * and subscribe to changes.\n\t */\n\tfunction createStore(reducer, initialState, enhancer) {\n\t var _ref2;\n\t\n\t if (typeof initialState === 'function' && typeof enhancer === 'undefined') {\n\t enhancer = initialState;\n\t initialState = undefined;\n\t }\n\t\n\t if (typeof enhancer !== 'undefined') {\n\t if (typeof enhancer !== 'function') {\n\t throw new Error('Expected the enhancer to be a function.');\n\t }\n\t\n\t return enhancer(createStore)(reducer, initialState);\n\t }\n\t\n\t if (typeof reducer !== 'function') {\n\t throw new Error('Expected the reducer to be a function.');\n\t }\n\t\n\t var currentReducer = reducer;\n\t var currentState = initialState;\n\t var currentListeners = [];\n\t var nextListeners = currentListeners;\n\t var isDispatching = false;\n\t\n\t function ensureCanMutateNextListeners() {\n\t if (nextListeners === currentListeners) {\n\t nextListeners = currentListeners.slice();\n\t }\n\t }\n\t\n\t /**\n\t * Reads the state tree managed by the store.\n\t *\n\t * @returns {any} The current state tree of your application.\n\t */\n\t function getState() {\n\t return currentState;\n\t }\n\t\n\t /**\n\t * Adds a change listener. It will be called any time an action is dispatched,\n\t * and some part of the state tree may potentially have changed. You may then\n\t * call `getState()` to read the current state tree inside the callback.\n\t *\n\t * You may call `dispatch()` from a change listener, with the following\n\t * caveats:\n\t *\n\t * 1. The subscriptions are snapshotted just before every `dispatch()` call.\n\t * If you subscribe or unsubscribe while the listeners are being invoked, this\n\t * will not have any effect on the `dispatch()` that is currently in progress.\n\t * However, the next `dispatch()` call, whether nested or not, will use a more\n\t * recent snapshot of the subscription list.\n\t *\n\t * 2. The listener should not expect to see all state changes, as the state\n\t * might have been updated multiple times during a nested `dispatch()` before\n\t * the listener is called. It is, however, guaranteed that all subscribers\n\t * registered before the `dispatch()` started will be called with the latest\n\t * state by the time it exits.\n\t *\n\t * @param {Function} listener A callback to be invoked on every dispatch.\n\t * @returns {Function} A function to remove this change listener.\n\t */\n\t function subscribe(listener) {\n\t if (typeof listener !== 'function') {\n\t throw new Error('Expected listener to be a function.');\n\t }\n\t\n\t var isSubscribed = true;\n\t\n\t ensureCanMutateNextListeners();\n\t nextListeners.push(listener);\n\t\n\t return function unsubscribe() {\n\t if (!isSubscribed) {\n\t return;\n\t }\n\t\n\t isSubscribed = false;\n\t\n\t ensureCanMutateNextListeners();\n\t var index = nextListeners.indexOf(listener);\n\t nextListeners.splice(index, 1);\n\t };\n\t }\n\t\n\t /**\n\t * Dispatches an action. It is the only way to trigger a state change.\n\t *\n\t * The `reducer` function, used to create the store, will be called with the\n\t * current state tree and the given `action`. Its return value will\n\t * be considered the **next** state of the tree, and the change listeners\n\t * will be notified.\n\t *\n\t * The base implementation only supports plain object actions. If you want to\n\t * dispatch a Promise, an Observable, a thunk, or something else, you need to\n\t * wrap your store creating function into the corresponding middleware. For\n\t * example, see the documentation for the `redux-thunk` package. Even the\n\t * middleware will eventually dispatch plain object actions using this method.\n\t *\n\t * @param {Object} action A plain object representing “what changed”. It is\n\t * a good idea to keep actions serializable so you can record and replay user\n\t * sessions, or use the time travelling `redux-devtools`. An action must have\n\t * a `type` property which may not be `undefined`. It is a good idea to use\n\t * string constants for action types.\n\t *\n\t * @returns {Object} For convenience, the same action object you dispatched.\n\t *\n\t * Note that, if you use a custom middleware, it may wrap `dispatch()` to\n\t * return something else (for example, a Promise you can await).\n\t */\n\t function dispatch(action) {\n\t if (!(0, _isPlainObject2[\"default\"])(action)) {\n\t throw new Error('Actions must be plain objects. ' + 'Use custom middleware for async actions.');\n\t }\n\t\n\t if (typeof action.type === 'undefined') {\n\t throw new Error('Actions may not have an undefined \"type\" property. ' + 'Have you misspelled a constant?');\n\t }\n\t\n\t if (isDispatching) {\n\t throw new Error('Reducers may not dispatch actions.');\n\t }\n\t\n\t try {\n\t isDispatching = true;\n\t currentState = currentReducer(currentState, action);\n\t } finally {\n\t isDispatching = false;\n\t }\n\t\n\t var listeners = currentListeners = nextListeners;\n\t for (var i = 0; i < listeners.length; i++) {\n\t listeners[i]();\n\t }\n\t\n\t return action;\n\t }\n\t\n\t /**\n\t * Replaces the reducer currently used by the store to calculate the state.\n\t *\n\t * You might need this if your app implements code splitting and you want to\n\t * load some of the reducers dynamically. You might also need this if you\n\t * implement a hot reloading mechanism for Redux.\n\t *\n\t * @param {Function} nextReducer The reducer for the store to use instead.\n\t * @returns {void}\n\t */\n\t function replaceReducer(nextReducer) {\n\t if (typeof nextReducer !== 'function') {\n\t throw new Error('Expected the nextReducer to be a function.');\n\t }\n\t\n\t currentReducer = nextReducer;\n\t dispatch({ type: ActionTypes.INIT });\n\t }\n\t\n\t /**\n\t * Interoperability point for observable/reactive libraries.\n\t * @returns {observable} A minimal observable of state changes.\n\t * For more information, see the observable proposal:\n\t * https://github.com/zenparsing/es-observable\n\t */\n\t function observable() {\n\t var _ref;\n\t\n\t var outerSubscribe = subscribe;\n\t return _ref = {\n\t /**\n\t * The minimal observable subscription method.\n\t * @param {Object} observer Any object that can be used as an observer.\n\t * The observer object should have a `next` method.\n\t * @returns {subscription} An object with an `unsubscribe` method that can\n\t * be used to unsubscribe the observable from the store, and prevent further\n\t * emission of values from the observable.\n\t */\n\t\n\t subscribe: function subscribe(observer) {\n\t if (typeof observer !== 'object') {\n\t throw new TypeError('Expected the observer to be an object.');\n\t }\n\t\n\t function observeState() {\n\t if (observer.next) {\n\t observer.next(getState());\n\t }\n\t }\n\t\n\t observeState();\n\t var unsubscribe = outerSubscribe(observeState);\n\t return { unsubscribe: unsubscribe };\n\t }\n\t }, _ref[_symbolObservable2[\"default\"]] = function () {\n\t return this;\n\t }, _ref;\n\t }\n\t\n\t // When a store is created, an \"INIT\" action is dispatched so that every\n\t // reducer returns their initial state. This effectively populates\n\t // the initial state tree.\n\t dispatch({ type: ActionTypes.INIT });\n\t\n\t return _ref2 = {\n\t dispatch: dispatch,\n\t subscribe: subscribe,\n\t getState: getState,\n\t replaceReducer: replaceReducer\n\t }, _ref2[_symbolObservable2[\"default\"]] = observable, _ref2;\n\t}\n\n/***/ },\n/* 352 */\n/***/ function(module, exports) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\texports[\"default\"] = warning;\n\t/**\n\t * Prints a warning in the console if it exists.\n\t *\n\t * @param {String} message The warning message.\n\t * @returns {void}\n\t */\n\tfunction warning(message) {\n\t /* eslint-disable no-console */\n\t if (typeof console !== 'undefined' && typeof console.error === 'function') {\n\t console.error(message);\n\t }\n\t /* eslint-enable no-console */\n\t try {\n\t // This error was thrown as a convenience so that if you enable\n\t // \"break on all exceptions\" in your console,\n\t // it would pause the execution at this line.\n\t throw new Error(message);\n\t /* eslint-disable no-empty */\n\t } catch (e) {}\n\t /* eslint-enable no-empty */\n\t}\n\n/***/ },\n/* 353 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\t\n\tvar _createUncontrollable = __webpack_require__(667);\n\t\n\tvar _createUncontrollable2 = _interopRequireDefault(_createUncontrollable);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tvar mixin = {\n\t shouldComponentUpdate: function shouldComponentUpdate() {\n\t //let the forceUpdate trigger the update\n\t return !this._notifying;\n\t }\n\t};\n\t\n\tfunction set(component, propName, handler, value, args) {\n\t if (handler) {\n\t component._notifying = true;\n\t handler.call.apply(handler, [component, value].concat(args));\n\t component._notifying = false;\n\t }\n\t\n\t component._values[propName] = value;\n\t\n\t if (component.isMounted()) component.forceUpdate();\n\t}\n\t\n\texports.default = (0, _createUncontrollable2.default)([mixin], set);\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 354 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\texports.fetchStaticFiles = fetchStaticFiles;\n\texports.uploadStaticFiles = uploadStaticFiles;\n\texports.deleteStaticFile = deleteStaticFile;\n\t\n\tvar _actionTypes = __webpack_require__(14);\n\t\n\tvar ActionTypes = _interopRequireWildcard(_actionTypes);\n\t\n\tvar _underscore = __webpack_require__(7);\n\t\n\tvar _underscore2 = _interopRequireDefault(_underscore);\n\t\n\tvar _fetch = __webpack_require__(58);\n\t\n\tvar _notifications = __webpack_require__(100);\n\t\n\tvar _lang = __webpack_require__(8);\n\t\n\tvar _api = __webpack_require__(57);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\t\n\tfunction fetchStaticFiles() {\n\t return function (dispatch) {\n\t dispatch({ type: ActionTypes.FETCH_STATICFILES_REQUEST });\n\t return (0, _fetch.get)((0, _api.getStaticFilesUrl)(), { type: ActionTypes.FETCH_STATICFILES_SUCCESS, name: \"files\" }, { type: ActionTypes.FETCH_STATICFILES_FAILURE, name: \"error\" }, dispatch);\n\t };\n\t}\n\t\n\tfunction uploadStaticFiles(files) {\n\t return function (dispatch) {\n\t _underscore2.default.each(files, function (file) {\n\t var reader = new FileReader();\n\t reader.readAsDataURL(file);\n\t reader.onloadend = function () {\n\t var payload = JSON.stringify({\n\t encoded_content: reader.result.split('base64,')[1]\n\t });\n\t // send the put request\n\t return fetch((0, _api.putStaticFileUrl)(file.name), {\n\t method: 'PUT',\n\t body: payload\n\t }).then(function (data) {\n\t dispatch({ type: ActionTypes.PUT_STATICFILE_SUCCESS });\n\t dispatch(fetchStaticFiles());\n\t dispatch((0, _notifications.addNotification)((0, _lang.getSuccessMessage)(), (0, _lang.getUploadSuccessMessage)(file.name), 'success'));\n\t }).catch(function (error) {\n\t dispatch({\n\t type: ActionTypes.PUT_STATICFILE_FAILURE,\n\t error: error\n\t });\n\t dispatch((0, _notifications.addNotification)((0, _lang.getErrorMessage)(), (0, _lang.getUploadErrorMessage)(), 'error'));\n\t });\n\t };\n\t });\n\t };\n\t}\n\t\n\tfunction deleteStaticFile(filename) {\n\t return function (dispatch) {\n\t return fetch((0, _api.deleteStaticFileUrl)(filename), {\n\t method: 'DELETE'\n\t }).then(function (data) {\n\t dispatch({ type: ActionTypes.DELETE_STATICFILE_SUCCESS });\n\t dispatch(fetchStaticFiles());\n\t }).catch(function (error) {\n\t return dispatch({\n\t type: ActionTypes.DELETE_STATICFILE_FAILURE,\n\t error: error\n\t });\n\t });\n\t };\n\t}\n\n/***/ },\n/* 355 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\tvar _react = __webpack_require__(2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _lang = __webpack_require__(8);\n\t\n\tvar _helpers = __webpack_require__(20);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\tvar FilePreview = function (_Component) {\n\t _inherits(FilePreview, _Component);\n\t\n\t function FilePreview() {\n\t _classCallCheck(this, FilePreview);\n\t\n\t return _possibleConstructorReturn(this, (FilePreview.__proto__ || Object.getPrototypeOf(FilePreview)).apply(this, arguments));\n\t }\n\t\n\t _createClass(FilePreview, [{\n\t key: 'handleClickDelete',\n\t value: function handleClickDelete(path) {\n\t var onClickDelete = this.props.onClickDelete;\n\t\n\t var filename = (0, _helpers.getFilenameFromPath)(path);\n\t var confirm = window.confirm((0, _lang.getDeleteMessage)(filename));\n\t if (confirm) {\n\t onClickDelete(filename);\n\t }\n\t }\n\t }, {\n\t key: 'render',\n\t value: function render() {\n\t var _this2 = this;\n\t\n\t var file = this.props.file;\n\t\n\t var extension = file.extname.substring(1);\n\t var image = /png|jpg|gif|jpeg/.test(extension);\n\t return _react2.default.createElement(\n\t 'div',\n\t { className: 'file-preview' },\n\t _react2.default.createElement(\n\t 'a',\n\t { href: file.http_url, target: '_blank' },\n\t image && _react2.default.createElement('img', { src: file.http_url }),\n\t !image && _react2.default.createElement(\n\t 'div',\n\t null,\n\t _react2.default.createElement('i', { className: 'fa fa-file-text-o', 'aria-hidden': 'true' })\n\t )\n\t ),\n\t _react2.default.createElement(\n\t 'span',\n\t { className: 'filename' },\n\t file.path\n\t ),\n\t _react2.default.createElement(\n\t 'button',\n\t { onClick: function onClick() {\n\t return _this2.handleClickDelete(file.path);\n\t }, className: 'delete', title: 'Delete file' },\n\t 'x'\n\t )\n\t );\n\t }\n\t }]);\n\t\n\t return FilePreview;\n\t}(_react.Component);\n\t\n\texports.default = FilePreview;\n\t\n\t\n\tFilePreview.propTypes = {\n\t file: _react.PropTypes.object.isRequired,\n\t onClickDelete: _react.PropTypes.func.isRequired\n\t};\n\n/***/ },\n/* 356 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\tvar _react = __webpack_require__(2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\tvar Checkbox = function (_Component) {\n\t _inherits(Checkbox, _Component);\n\t\n\t function Checkbox() {\n\t _classCallCheck(this, Checkbox);\n\t\n\t return _possibleConstructorReturn(this, (Checkbox.__proto__ || Object.getPrototypeOf(Checkbox)).apply(this, arguments));\n\t }\n\t\n\t _createClass(Checkbox, [{\n\t key: \"handleChange\",\n\t value: function handleChange(e) {\n\t var _props = this.props,\n\t onChange = _props.onChange,\n\t checked = _props.checked;\n\t\n\t onChange(e.target.checked);\n\t }\n\t }, {\n\t key: \"render\",\n\t value: function render() {\n\t var _this2 = this;\n\t\n\t var _props2 = this.props,\n\t text = _props2.text,\n\t checked = _props2.checked;\n\t\n\t return _react2.default.createElement(\n\t \"div\",\n\t { className: \"checkbox-container\" },\n\t text,\n\t _react2.default.createElement(\n\t \"label\",\n\t { className: \"switch\" },\n\t _react2.default.createElement(\"input\", { onChange: function onChange(e) {\n\t return _this2.handleChange(e);\n\t },\n\t type: \"checkbox\",\n\t defaultChecked: checked,\n\t ref: \"checkbox\" }),\n\t _react2.default.createElement(\"div\", { className: \"slider round\" })\n\t )\n\t );\n\t }\n\t }]);\n\t\n\t return Checkbox;\n\t}(_react.Component);\n\t\n\texports.default = Checkbox;\n\t\n\t\n\tCheckbox.propTypes = {\n\t text: _react.PropTypes.string.isRequired,\n\t checked: _react.PropTypes.bool.isRequired,\n\t onChange: _react.PropTypes.func.isRequired\n\t};\n\n/***/ },\n/* 357 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\texports.MetaArrayItem = undefined;\n\t\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\tvar _react = __webpack_require__(2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _reactDom = __webpack_require__(43);\n\t\n\tvar _MetaArray = __webpack_require__(103);\n\t\n\tvar _MetaArray2 = _interopRequireDefault(_MetaArray);\n\t\n\tvar _MetaObject = __webpack_require__(105);\n\t\n\tvar _MetaObject2 = _interopRequireDefault(_MetaObject);\n\t\n\tvar _MetaSimple = __webpack_require__(106);\n\t\n\tvar _MetaSimple2 = _interopRequireDefault(_MetaSimple);\n\t\n\tvar _MetaButtons = __webpack_require__(104);\n\t\n\tvar _MetaButtons2 = _interopRequireDefault(_MetaButtons);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\tvar MetaArrayItem = exports.MetaArrayItem = function (_Component) {\n\t _inherits(MetaArrayItem, _Component);\n\t\n\t function MetaArrayItem() {\n\t _classCallCheck(this, MetaArrayItem);\n\t\n\t return _possibleConstructorReturn(this, (MetaArrayItem.__proto__ || Object.getPrototypeOf(MetaArrayItem)).apply(this, arguments));\n\t }\n\t\n\t _createClass(MetaArrayItem, [{\n\t key: 'handleConvertClick',\n\t value: function handleConvertClick(type) {\n\t var _props = this.props,\n\t convertField = _props.convertField,\n\t nameAttr = _props.nameAttr;\n\t\n\t convertField(nameAttr, type);\n\t }\n\t }, {\n\t key: 'handleDropdownFocus',\n\t value: function handleDropdownFocus() {\n\t (0, _reactDom.findDOMNode)(this.refs.wrap).classList.add('showing-dropdown');\n\t }\n\t }, {\n\t key: 'handleDropdownBlur',\n\t value: function handleDropdownBlur() {\n\t (0, _reactDom.findDOMNode)(this.refs.wrap).classList.remove('showing-dropdown');\n\t }\n\t }, {\n\t key: 'handleRemoveClick',\n\t value: function handleRemoveClick() {\n\t var _props2 = this.props,\n\t removeField = _props2.removeField,\n\t namePrefix = _props2.namePrefix,\n\t index = _props2.index;\n\t\n\t removeField(namePrefix, index);\n\t }\n\t }, {\n\t key: 'render',\n\t value: function render() {\n\t var _this2 = this;\n\t\n\t var _props3 = this.props,\n\t type = _props3.type,\n\t fieldKey = _props3.fieldKey,\n\t fieldValue = _props3.fieldValue,\n\t index = _props3.index,\n\t nameAttr = _props3.nameAttr,\n\t namePrefix = _props3.namePrefix,\n\t addField = _props3.addField,\n\t removeField = _props3.removeField,\n\t updateFieldKey = _props3.updateFieldKey,\n\t updateFieldValue = _props3.updateFieldValue,\n\t moveArrayItem = _props3.moveArrayItem,\n\t convertField = _props3.convertField,\n\t key_prefix = _props3.key_prefix;\n\t\n\t var FieldTypes = {\n\t 'array': _MetaArray2.default,\n\t 'object': _MetaObject2.default,\n\t 'simple': _MetaSimple2.default\n\t };\n\t var CurrentComponent = FieldTypes[type];\n\t return _react2.default.createElement(\n\t 'div',\n\t { ref: 'wrap', 'data-id': index, className: 'array-item-wrap' },\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'array' },\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'array-header' },\n\t _react2.default.createElement(\n\t 'span',\n\t { className: 'array-field-num' },\n\t index + 1,\n\t '.'\n\t ),\n\t _react2.default.createElement(_MetaButtons2.default, {\n\t currentType: type,\n\t parentType: 'array',\n\t onConvertClick: function onConvertClick(type) {\n\t return _this2.handleConvertClick(type);\n\t },\n\t onRemoveClick: function onRemoveClick() {\n\t return _this2.handleRemoveClick();\n\t },\n\t onDropdownFocus: function onDropdownFocus() {\n\t return _this2.handleDropdownFocus();\n\t },\n\t onDropdownBlur: function onDropdownBlur() {\n\t return _this2.handleDropdownBlur();\n\t } })\n\t ),\n\t _react2.default.createElement(CurrentComponent, {\n\t key_prefix: key_prefix,\n\t parentType: 'array',\n\t fieldKey: fieldKey,\n\t fieldValue: fieldValue,\n\t addField: addField,\n\t removeField: removeField,\n\t updateFieldKey: updateFieldKey,\n\t updateFieldValue: updateFieldValue,\n\t moveArrayItem: moveArrayItem,\n\t convertField: convertField,\n\t nameAttr: nameAttr,\n\t namePrefix: nameAttr })\n\t )\n\t );\n\t }\n\t }]);\n\t\n\t return MetaArrayItem;\n\t}(_react.Component);\n\t\n\tMetaArrayItem.propTypes = {\n\t type: _react.PropTypes.string.isRequired,\n\t index: _react.PropTypes.number.isRequired,\n\t fieldKey: _react.PropTypes.string.isRequired,\n\t fieldValue: _react.PropTypes.any.isRequired,\n\t addField: _react.PropTypes.func.isRequired,\n\t removeField: _react.PropTypes.func.isRequired,\n\t updateFieldKey: _react.PropTypes.func.isRequired,\n\t updateFieldValue: _react.PropTypes.func.isRequired,\n\t moveArrayItem: _react.PropTypes.func.isRequired,\n\t convertField: _react.PropTypes.func.isRequired,\n\t nameAttr: _react.PropTypes.string.isRequired,\n\t namePrefix: _react.PropTypes.string.isRequired,\n\t key_prefix: _react.PropTypes.string.isRequired\n\t};\n\t\n\texports.default = MetaArrayItem;\n\n/***/ },\n/* 358 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\texports.MetaField = undefined;\n\t\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\tvar _react = __webpack_require__(2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _reactDom = __webpack_require__(43);\n\t\n\tvar _MetaArray = __webpack_require__(103);\n\t\n\tvar _MetaArray2 = _interopRequireDefault(_MetaArray);\n\t\n\tvar _MetaObject = __webpack_require__(105);\n\t\n\tvar _MetaObject2 = _interopRequireDefault(_MetaObject);\n\t\n\tvar _MetaSimple = __webpack_require__(106);\n\t\n\tvar _MetaSimple2 = _interopRequireDefault(_MetaSimple);\n\t\n\tvar _MetaButtons = __webpack_require__(104);\n\t\n\tvar _MetaButtons2 = _interopRequireDefault(_MetaButtons);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\tvar MetaField = exports.MetaField = function (_Component) {\n\t _inherits(MetaField, _Component);\n\t\n\t function MetaField() {\n\t _classCallCheck(this, MetaField);\n\t\n\t return _possibleConstructorReturn(this, (MetaField.__proto__ || Object.getPrototypeOf(MetaField)).apply(this, arguments));\n\t }\n\t\n\t _createClass(MetaField, [{\n\t key: 'handleConvertClick',\n\t value: function handleConvertClick(type) {\n\t var _props = this.props,\n\t convertField = _props.convertField,\n\t nameAttr = _props.nameAttr;\n\t\n\t convertField(nameAttr, type);\n\t }\n\t }, {\n\t key: 'handleDropdownFocus',\n\t value: function handleDropdownFocus() {\n\t (0, _reactDom.findDOMNode)(this.refs.wrap).classList.add('showing-dropdown');\n\t }\n\t }, {\n\t key: 'handleDropdownBlur',\n\t value: function handleDropdownBlur() {\n\t (0, _reactDom.findDOMNode)(this.refs.wrap).classList.remove('showing-dropdown');\n\t }\n\t }, {\n\t key: 'handleKeyBlur',\n\t value: function handleKeyBlur(e) {\n\t var _props2 = this.props,\n\t namePrefix = _props2.namePrefix,\n\t fieldKey = _props2.fieldKey,\n\t updateFieldKey = _props2.updateFieldKey;\n\t\n\t var currentValue = (0, _reactDom.findDOMNode)(this.refs.field_key).value;\n\t if (fieldKey != currentValue && currentValue != '') {\n\t updateFieldKey(namePrefix, fieldKey, currentValue);\n\t }\n\t }\n\t }, {\n\t key: 'handleRemoveClick',\n\t value: function handleRemoveClick() {\n\t var _props3 = this.props,\n\t removeField = _props3.removeField,\n\t namePrefix = _props3.namePrefix,\n\t fieldKey = _props3.fieldKey;\n\t\n\t removeField(namePrefix, fieldKey);\n\t }\n\t }, {\n\t key: 'render',\n\t value: function render() {\n\t var _this2 = this;\n\t\n\t var _props4 = this.props,\n\t type = _props4.type,\n\t parentType = _props4.parentType,\n\t fieldKey = _props4.fieldKey,\n\t fieldValue = _props4.fieldValue,\n\t namePrefix = _props4.namePrefix,\n\t addField = _props4.addField,\n\t removeField = _props4.removeField,\n\t updateFieldKey = _props4.updateFieldKey,\n\t updateFieldValue = _props4.updateFieldValue,\n\t moveArrayItem = _props4.moveArrayItem,\n\t convertField = _props4.convertField,\n\t key_prefix = _props4.key_prefix;\n\t\n\t\n\t var FieldTypes = {\n\t 'array': _MetaArray2.default,\n\t 'object': _MetaObject2.default,\n\t 'simple': _MetaSimple2.default\n\t };\n\t var CurrentComponent = FieldTypes[type];\n\t return _react2.default.createElement(\n\t 'div',\n\t { ref: 'wrap', className: 'metafield' },\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'meta-key' },\n\t _react2.default.createElement('input', { ref: 'field_key',\n\t onBlur: function onBlur() {\n\t return _this2.handleKeyBlur();\n\t },\n\t defaultValue: fieldKey,\n\t className: 'field key-field',\n\t type: 'text',\n\t placeholder: 'Key' }),\n\t _react2.default.createElement(_MetaButtons2.default, {\n\t currentType: type,\n\t parentType: 'top',\n\t onConvertClick: function onConvertClick(type) {\n\t return _this2.handleConvertClick(type);\n\t },\n\t onRemoveClick: function onRemoveClick() {\n\t return _this2.handleRemoveClick();\n\t },\n\t onDropdownFocus: function onDropdownFocus() {\n\t return _this2.handleDropdownFocus();\n\t },\n\t onDropdownBlur: function onDropdownBlur() {\n\t return _this2.handleDropdownBlur();\n\t } })\n\t ),\n\t _react2.default.createElement(CurrentComponent, {\n\t key_prefix: key_prefix,\n\t fieldKey: fieldKey,\n\t parentType: parentType,\n\t fieldValue: fieldValue,\n\t addField: addField,\n\t removeField: removeField,\n\t updateFieldKey: updateFieldKey,\n\t updateFieldValue: updateFieldValue,\n\t moveArrayItem: moveArrayItem,\n\t convertField: convertField,\n\t nameAttr: namePrefix + '[\\'' + fieldKey + '\\']',\n\t namePrefix: namePrefix + '[\\'' + fieldKey + '\\']' })\n\t );\n\t }\n\t }]);\n\t\n\t return MetaField;\n\t}(_react.Component);\n\t\n\tMetaField.propTypes = {\n\t type: _react.PropTypes.string.isRequired,\n\t parentType: _react.PropTypes.string.isRequired,\n\t addField: _react.PropTypes.func.isRequired,\n\t removeField: _react.PropTypes.func.isRequired,\n\t updateFieldKey: _react.PropTypes.func.isRequired,\n\t updateFieldValue: _react.PropTypes.func.isRequired,\n\t moveArrayItem: _react.PropTypes.func.isRequired,\n\t convertField: _react.PropTypes.func.isRequired,\n\t fieldKey: _react.PropTypes.string.isRequired,\n\t fieldValue: _react.PropTypes.any.isRequired,\n\t nameAttr: _react.PropTypes.string.isRequired,\n\t namePrefix: _react.PropTypes.string.isRequired,\n\t key_prefix: _react.PropTypes.string.isRequired\n\t};\n\t\n\texports.default = MetaField;\n\n/***/ },\n/* 359 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\texports.MetaObjectItem = undefined;\n\t\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\tvar _react = __webpack_require__(2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _reactDom = __webpack_require__(43);\n\t\n\tvar _MetaArray = __webpack_require__(103);\n\t\n\tvar _MetaArray2 = _interopRequireDefault(_MetaArray);\n\t\n\tvar _MetaObject = __webpack_require__(105);\n\t\n\tvar _MetaObject2 = _interopRequireDefault(_MetaObject);\n\t\n\tvar _MetaSimple = __webpack_require__(106);\n\t\n\tvar _MetaSimple2 = _interopRequireDefault(_MetaSimple);\n\t\n\tvar _MetaButtons = __webpack_require__(104);\n\t\n\tvar _MetaButtons2 = _interopRequireDefault(_MetaButtons);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\tvar MetaObjectItem = exports.MetaObjectItem = function (_Component) {\n\t _inherits(MetaObjectItem, _Component);\n\t\n\t function MetaObjectItem() {\n\t _classCallCheck(this, MetaObjectItem);\n\t\n\t return _possibleConstructorReturn(this, (MetaObjectItem.__proto__ || Object.getPrototypeOf(MetaObjectItem)).apply(this, arguments));\n\t }\n\t\n\t _createClass(MetaObjectItem, [{\n\t key: 'handleConvertClick',\n\t value: function handleConvertClick(type) {\n\t var _props = this.props,\n\t convertField = _props.convertField,\n\t nameAttr = _props.nameAttr;\n\t\n\t convertField(nameAttr, type);\n\t }\n\t }, {\n\t key: 'handleDropdownFocus',\n\t value: function handleDropdownFocus() {\n\t (0, _reactDom.findDOMNode)(this.refs.wrap).classList.add('showing-dropdown');\n\t }\n\t }, {\n\t key: 'handleDropdownBlur',\n\t value: function handleDropdownBlur() {\n\t (0, _reactDom.findDOMNode)(this.refs.wrap).classList.remove('showing-dropdown');\n\t }\n\t }, {\n\t key: 'handleKeyBlur',\n\t value: function handleKeyBlur(e) {\n\t var _props2 = this.props,\n\t namePrefix = _props2.namePrefix,\n\t fieldKey = _props2.fieldKey,\n\t updateFieldKey = _props2.updateFieldKey;\n\t\n\t var currentValue = (0, _reactDom.findDOMNode)(this.refs.field_key).value;\n\t if (fieldKey != currentValue && currentValue != '') {\n\t updateFieldKey(namePrefix, fieldKey, currentValue);\n\t }\n\t }\n\t }, {\n\t key: 'handleRemoveClick',\n\t value: function handleRemoveClick() {\n\t var _props3 = this.props,\n\t removeField = _props3.removeField,\n\t namePrefix = _props3.namePrefix,\n\t fieldKey = _props3.fieldKey;\n\t\n\t removeField(namePrefix, fieldKey);\n\t }\n\t }, {\n\t key: 'render',\n\t value: function render() {\n\t var _this2 = this;\n\t\n\t var _props4 = this.props,\n\t type = _props4.type,\n\t fieldKey = _props4.fieldKey,\n\t fieldValue = _props4.fieldValue,\n\t nameAttr = _props4.nameAttr,\n\t namePrefix = _props4.namePrefix,\n\t addField = _props4.addField,\n\t removeField = _props4.removeField,\n\t updateFieldKey = _props4.updateFieldKey,\n\t updateFieldValue = _props4.updateFieldValue,\n\t convertField = _props4.convertField,\n\t key_prefix = _props4.key_prefix,\n\t moveArrayItem = _props4.moveArrayItem;\n\t\n\t var FieldTypes = {\n\t 'array': _MetaArray2.default,\n\t 'object': _MetaObject2.default,\n\t 'simple': _MetaSimple2.default\n\t };\n\t var CurrentComponent = FieldTypes[type];\n\t return _react2.default.createElement(\n\t 'div',\n\t { ref: 'wrap', className: 'object-item-wrap' },\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'object-key' },\n\t _react2.default.createElement('input', { ref: 'field_key',\n\t onBlur: function onBlur(e) {\n\t return _this2.handleKeyBlur(e);\n\t },\n\t defaultValue: fieldKey,\n\t className: 'field key-field',\n\t type: 'text',\n\t placeholder: 'Key' }),\n\t _react2.default.createElement(_MetaButtons2.default, {\n\t currentType: type,\n\t parentType: 'object',\n\t onConvertClick: function onConvertClick(type) {\n\t return _this2.handleConvertClick(type);\n\t },\n\t onRemoveClick: function onRemoveClick() {\n\t return _this2.handleRemoveClick();\n\t },\n\t onDropdownFocus: function onDropdownFocus() {\n\t return _this2.handleDropdownFocus();\n\t },\n\t onDropdownBlur: function onDropdownBlur() {\n\t return _this2.handleDropdownBlur();\n\t } })\n\t ),\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'object-value' },\n\t _react2.default.createElement(CurrentComponent, {\n\t key_prefix: key_prefix,\n\t parentType: 'object',\n\t fieldKey: fieldKey,\n\t fieldValue: fieldValue,\n\t addField: addField,\n\t removeField: removeField,\n\t updateFieldKey: updateFieldKey,\n\t updateFieldValue: updateFieldValue,\n\t moveArrayItem: moveArrayItem,\n\t convertField: convertField,\n\t nameAttr: nameAttr,\n\t namePrefix: nameAttr })\n\t )\n\t );\n\t }\n\t }]);\n\t\n\t return MetaObjectItem;\n\t}(_react.Component);\n\t\n\tMetaObjectItem.propTypes = {\n\t type: _react.PropTypes.string.isRequired,\n\t fieldKey: _react.PropTypes.string.isRequired,\n\t fieldValue: _react.PropTypes.any.isRequired,\n\t nameAttr: _react.PropTypes.string.isRequired,\n\t namePrefix: _react.PropTypes.string.isRequired,\n\t addField: _react.PropTypes.func.isRequired,\n\t removeField: _react.PropTypes.func.isRequired,\n\t convertField: _react.PropTypes.func.isRequired,\n\t updateFieldKey: _react.PropTypes.func.isRequired,\n\t updateFieldValue: _react.PropTypes.func.isRequired,\n\t moveArrayItem: _react.PropTypes.func.isRequired,\n\t key_prefix: _react.PropTypes.string.isRequired\n\t};\n\texports.default = MetaObjectItem;\n\n/***/ },\n/* 360 */\n/***/ function(module, exports) {\n\n\t\"use strict\";\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t// inline messages\n\tvar getDeleteMessage = exports.getDeleteMessage = function getDeleteMessage(filename) {\n\t return \"Are you sure that you want to delete \\\"\" + filename + \"\\\" ?\";\n\t};\n\t\n\tvar getLeaveMessage = exports.getLeaveMessage = function getLeaveMessage() {\n\t return \"You have unsaved changes on this page. Are you sure you want to leave?\";\n\t};\n\t\n\tvar getNotFoundMessage = exports.getNotFoundMessage = function getNotFoundMessage(type) {\n\t return \"No \" + type + \" found.\";\n\t};\n\t\n\tvar getOverrideMessage = exports.getOverrideMessage = function getOverrideMessage(filename) {\n\t return filename + \" will be overwritten. Continue anyway?\";\n\t};\n\t\n\t// notification messages\n\tvar getParserErrorMessage = exports.getParserErrorMessage = function getParserErrorMessage() {\n\t return \"Parse Error\";\n\t};\n\t\n\tvar getSuccessMessage = exports.getSuccessMessage = function getSuccessMessage() {\n\t return \"Success\";\n\t};\n\t\n\tvar getErrorMessage = exports.getErrorMessage = function getErrorMessage() {\n\t return \"Error\";\n\t};\n\t\n\tvar getUploadSuccessMessage = exports.getUploadSuccessMessage = function getUploadSuccessMessage(filename) {\n\t return filename + \" uploaded successfully\";\n\t};\n\t\n\tvar getUploadErrorMessage = exports.getUploadErrorMessage = function getUploadErrorMessage() {\n\t return \"Error occurred uploading the file.\";\n\t};\n\t\n\tvar getFetchErrorMessage = exports.getFetchErrorMessage = function getFetchErrorMessage(filename) {\n\t return \"Could not fetch the \" + filename;\n\t};\n\t\n\tvar getUpdateErrorMessage = exports.getUpdateErrorMessage = function getUpdateErrorMessage(filename) {\n\t return \"Could not update the \" + filename;\n\t};\n\t\n\tvar getDeleteErrorMessage = exports.getDeleteErrorMessage = function getDeleteErrorMessage(filename) {\n\t return \"Could not delete the \" + filename;\n\t};\n\t\n\t// validation messages\n\tvar getTitleRequiredMessage = exports.getTitleRequiredMessage = function getTitleRequiredMessage() {\n\t return \"The title is required.\";\n\t};\n\t\n\tvar getFilenameRequiredMessage = exports.getFilenameRequiredMessage = function getFilenameRequiredMessage() {\n\t return \"The filename is required.\";\n\t};\n\t\n\tvar getContentRequiredMessage = exports.getContentRequiredMessage = function getContentRequiredMessage() {\n\t return \"The content is required.\";\n\t};\n\t\n\tvar getFilenameNotValidMessage = exports.getFilenameNotValidMessage = function getFilenameNotValidMessage() {\n\t return \"The filename is not valid.\";\n\t};\n\t\n\t// sidebar titles\n\tvar sidebar = exports.sidebar = {\n\t pages: 'Pages',\n\t posts: 'Posts',\n\t datafiles: 'Data Files',\n\t staticfiles: 'Static Files',\n\t configuration: 'Configuration'\n\t};\n\t\n\t// button labels\n\tvar labels = exports.labels = {\n\t save: {\n\t label: 'Save',\n\t triggeredLabel: 'Saved'\n\t },\n\t create: {\n\t label: 'Create',\n\t triggeredLabel: 'Created'\n\t },\n\t delete: {\n\t label: 'Delete'\n\t },\n\t view: {\n\t label: 'View'\n\t },\n\t upload: {\n\t label: 'Upload files'\n\t }\n\t};\n\n/***/ },\n/* 361 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\tvar _react = __webpack_require__(2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _Sidebar = __webpack_require__(364);\n\t\n\tvar _Sidebar2 = _interopRequireDefault(_Sidebar);\n\t\n\tvar _Header = __webpack_require__(362);\n\t\n\tvar _Header2 = _interopRequireDefault(_Header);\n\t\n\tvar _Notifications = __webpack_require__(363);\n\t\n\tvar _Notifications2 = _interopRequireDefault(_Notifications);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\t// Components\n\t\n\t\n\tvar App = function (_Component) {\n\t _inherits(App, _Component);\n\t\n\t function App() {\n\t _classCallCheck(this, App);\n\t\n\t return _possibleConstructorReturn(this, (App.__proto__ || Object.getPrototypeOf(App)).apply(this, arguments));\n\t }\n\t\n\t _createClass(App, [{\n\t key: 'render',\n\t value: function render() {\n\t return _react2.default.createElement(\n\t 'div',\n\t { className: 'wrapper' },\n\t _react2.default.createElement(_Sidebar2.default, null),\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'container' },\n\t _react2.default.createElement(_Header2.default, null),\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'content' },\n\t this.props.children\n\t )\n\t ),\n\t _react2.default.createElement(_Notifications2.default, null)\n\t );\n\t }\n\t }]);\n\t\n\t return App;\n\t}(_react.Component);\n\t\n\tApp.propTypes = {\n\t children: _react.PropTypes.element\n\t};\n\t\n\texports.default = App;\n\n/***/ },\n/* 362 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\texports.Header = undefined;\n\t\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\tvar _react = __webpack_require__(2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _reactRedux = __webpack_require__(15);\n\t\n\tvar _redux = __webpack_require__(13);\n\t\n\tvar _reactRouter = __webpack_require__(16);\n\t\n\tvar _config = __webpack_require__(160);\n\t\n\tvar _constants = __webpack_require__(17);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\tvar Header = exports.Header = function (_Component) {\n\t _inherits(Header, _Component);\n\t\n\t function Header() {\n\t _classCallCheck(this, Header);\n\t\n\t return _possibleConstructorReturn(this, (Header.__proto__ || Object.getPrototypeOf(Header)).apply(this, arguments));\n\t }\n\t\n\t _createClass(Header, [{\n\t key: 'componentDidMount',\n\t value: function componentDidMount() {\n\t var fetchConfig = this.props.fetchConfig;\n\t\n\t fetchConfig();\n\t }\n\t }, {\n\t key: 'render',\n\t value: function render() {\n\t var config = this.props.config;\n\t\n\t return _react2.default.createElement(\n\t 'div',\n\t { className: 'header' },\n\t _react2.default.createElement(\n\t 'h3',\n\t { className: 'title' },\n\t _react2.default.createElement(\n\t _reactRouter.Link,\n\t { target: '_blank', to: '/' },\n\t _react2.default.createElement('i', { className: 'fa fa-home' }),\n\t _react2.default.createElement(\n\t 'span',\n\t null,\n\t config.title || 'You have no title!'\n\t )\n\t )\n\t ),\n\t _react2.default.createElement(\n\t 'span',\n\t { className: 'version' },\n\t _constants.VERSION\n\t )\n\t );\n\t }\n\t }]);\n\t\n\t return Header;\n\t}(_react.Component);\n\t\n\tHeader.propTypes = {\n\t fetchConfig: _react.PropTypes.func.isRequired,\n\t config: _react.PropTypes.object.isRequired\n\t};\n\t\n\tvar mapStateToProps = function mapStateToProps(state) {\n\t return {\n\t config: state.config.config,\n\t isFetching: state.config.isFetching\n\t };\n\t};\n\t\n\tvar mapDispatchToProps = function mapDispatchToProps(dispatch) {\n\t return (0, _redux.bindActionCreators)({\n\t fetchConfig: _config.fetchConfig\n\t }, dispatch);\n\t};\n\t\n\texports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)(Header);\n\n/***/ },\n/* 363 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\texports.Notifications = undefined;\n\t\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\tvar _react = __webpack_require__(2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _reactRedux = __webpack_require__(15);\n\t\n\tvar _reactNotificationSystem = __webpack_require__(542);\n\t\n\tvar _reactNotificationSystem2 = _interopRequireDefault(_reactNotificationSystem);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\tvar Notifications = exports.Notifications = function (_Component) {\n\t _inherits(Notifications, _Component);\n\t\n\t function Notifications() {\n\t _classCallCheck(this, Notifications);\n\t\n\t return _possibleConstructorReturn(this, (Notifications.__proto__ || Object.getPrototypeOf(Notifications)).apply(this, arguments));\n\t }\n\t\n\t _createClass(Notifications, [{\n\t key: 'componentDidMount',\n\t value: function componentDidMount() {\n\t this.notificationSystem = this.refs.notificationSystem;\n\t }\n\t }, {\n\t key: 'componentWillReceiveProps',\n\t value: function componentWillReceiveProps(nextProps) {\n\t var notification = nextProps.notification;\n\t\n\t this.notificationSystem.addNotification({\n\t title: notification.title,\n\t message: notification.message,\n\t level: notification.level,\n\t position: 'br',\n\t autoDismiss: 10\n\t });\n\t }\n\t }, {\n\t key: 'render',\n\t value: function render() {\n\t return _react2.default.createElement(_reactNotificationSystem2.default, { ref: 'notificationSystem' });\n\t }\n\t }]);\n\t\n\t return Notifications;\n\t}(_react.Component);\n\t\n\tNotifications.propTypes = {\n\t notification: _react.PropTypes.object.isRequired\n\t};\n\t\n\tvar mapStateToProps = function mapStateToProps(state) {\n\t return {\n\t notification: state.notifications.notification\n\t };\n\t};\n\t\n\texports.default = (0, _reactRedux.connect)(mapStateToProps)(Notifications);\n\n/***/ },\n/* 364 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\texports.Sidebar = undefined;\n\t\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\tvar _react = __webpack_require__(2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _reactRedux = __webpack_require__(15);\n\t\n\tvar _redux = __webpack_require__(13);\n\t\n\tvar _reactRouter = __webpack_require__(16);\n\t\n\tvar _constants = __webpack_require__(17);\n\t\n\tvar _Splitter = __webpack_require__(47);\n\t\n\tvar _Splitter2 = _interopRequireDefault(_Splitter);\n\t\n\tvar _collections = __webpack_require__(77);\n\t\n\tvar _helpers = __webpack_require__(20);\n\t\n\tvar _lang = __webpack_require__(8);\n\t\n\tvar _underscore = __webpack_require__(7);\n\t\n\tvar _underscore2 = _interopRequireDefault(_underscore);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\tvar Sidebar = exports.Sidebar = function (_Component) {\n\t _inherits(Sidebar, _Component);\n\t\n\t function Sidebar() {\n\t _classCallCheck(this, Sidebar);\n\t\n\t return _possibleConstructorReturn(this, (Sidebar.__proto__ || Object.getPrototypeOf(Sidebar)).apply(this, arguments));\n\t }\n\t\n\t _createClass(Sidebar, [{\n\t key: 'componentDidMount',\n\t value: function componentDidMount() {\n\t var fetchCollections = this.props.fetchCollections;\n\t\n\t fetchCollections();\n\t }\n\t }, {\n\t key: 'renderCollections',\n\t value: function renderCollections() {\n\t var collections = this.props.collections;\n\t\n\t\n\t if (!collections.length) {\n\t return null;\n\t }\n\t\n\t return _underscore2.default.map(collections, function (col, i) {\n\t return _react2.default.createElement(\n\t 'li',\n\t { key: i },\n\t _react2.default.createElement(\n\t _reactRouter.Link,\n\t { activeClassName: 'active', to: _constants.ADMIN_PREFIX + '/collections/' + col.label },\n\t _react2.default.createElement('i', { className: 'fa fa-book' }),\n\t (0, _helpers.capitalize)(col.label)\n\t )\n\t );\n\t });\n\t }\n\t }, {\n\t key: 'render',\n\t value: function render() {\n\t return _react2.default.createElement(\n\t 'div',\n\t { className: 'sidebar' },\n\t _react2.default.createElement(_reactRouter.Link, { className: 'logo', to: _constants.ADMIN_PREFIX + '/pages' }),\n\t _react2.default.createElement(\n\t 'ul',\n\t { className: 'routes' },\n\t _react2.default.createElement(\n\t 'li',\n\t null,\n\t _react2.default.createElement(\n\t _reactRouter.Link,\n\t { activeClassName: 'active', to: _constants.ADMIN_PREFIX + '/pages' },\n\t _react2.default.createElement('i', { className: 'fa fa-file-text' }),\n\t _lang.sidebar.pages\n\t )\n\t ),\n\t this.renderCollections(),\n\t _react2.default.createElement(_Splitter2.default, null),\n\t _react2.default.createElement(\n\t 'li',\n\t null,\n\t _react2.default.createElement(\n\t _reactRouter.Link,\n\t { activeClassName: 'active', to: _constants.ADMIN_PREFIX + '/datafiles' },\n\t _react2.default.createElement('i', { className: 'fa fa-database' }),\n\t _lang.sidebar.datafiles\n\t )\n\t ),\n\t _react2.default.createElement(\n\t 'li',\n\t null,\n\t _react2.default.createElement(\n\t _reactRouter.Link,\n\t { activeClassName: 'active', to: _constants.ADMIN_PREFIX + '/staticfiles' },\n\t _react2.default.createElement('i', { className: 'fa fa-file' }),\n\t _lang.sidebar.staticfiles\n\t )\n\t ),\n\t _react2.default.createElement(_Splitter2.default, null),\n\t _react2.default.createElement(\n\t 'li',\n\t null,\n\t _react2.default.createElement(\n\t _reactRouter.Link,\n\t { activeClassName: 'active', to: _constants.ADMIN_PREFIX + '/configuration' },\n\t _react2.default.createElement('i', { className: 'fa fa-cog' }),\n\t _lang.sidebar.configuration\n\t )\n\t )\n\t )\n\t );\n\t }\n\t }]);\n\t\n\t return Sidebar;\n\t}(_react.Component);\n\t\n\tSidebar.propTypes = {\n\t collections: _react.PropTypes.array.isRequired,\n\t fetchCollections: _react.PropTypes.func.isRequired\n\t};\n\t\n\tvar mapStateToProps = function mapStateToProps(state) {\n\t return {\n\t collections: state.collections.collections\n\t };\n\t};\n\t\n\tvar mapDispatchToProps = function mapDispatchToProps(dispatch) {\n\t return (0, _redux.bindActionCreators)({\n\t fetchCollections: _collections.fetchCollections\n\t }, dispatch);\n\t};\n\t\n\texports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)(Sidebar);\n\n/***/ },\n/* 365 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\texports.Configuration = undefined;\n\t\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\tvar _react = __webpack_require__(2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _reactRedux = __webpack_require__(15);\n\t\n\tvar _redux = __webpack_require__(13);\n\t\n\tvar _reactRouter = __webpack_require__(16);\n\t\n\tvar _Editor = __webpack_require__(102);\n\t\n\tvar _Editor2 = _interopRequireDefault(_Editor);\n\t\n\tvar _Button = __webpack_require__(22);\n\t\n\tvar _Button2 = _interopRequireDefault(_Button);\n\t\n\tvar _config = __webpack_require__(160);\n\t\n\tvar _lang = __webpack_require__(8);\n\t\n\tvar _helpers = __webpack_require__(20);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\tvar Configuration = exports.Configuration = function (_Component) {\n\t _inherits(Configuration, _Component);\n\t\n\t function Configuration() {\n\t _classCallCheck(this, Configuration);\n\t\n\t return _possibleConstructorReturn(this, (Configuration.__proto__ || Object.getPrototypeOf(Configuration)).apply(this, arguments));\n\t }\n\t\n\t _createClass(Configuration, [{\n\t key: 'componentDidMount',\n\t value: function componentDidMount() {\n\t var _props = this.props,\n\t router = _props.router,\n\t route = _props.route;\n\t\n\t router.setRouteLeaveHook(route, this.routerWillLeave.bind(this));\n\t }\n\t }, {\n\t key: 'routerWillLeave',\n\t value: function routerWillLeave(nextLocation) {\n\t if (this.props.editorChanged) {\n\t return (0, _lang.getLeaveMessage)();\n\t }\n\t }\n\t }, {\n\t key: 'handleClickSave',\n\t value: function handleClickSave() {\n\t var _props2 = this.props,\n\t editorChanged = _props2.editorChanged,\n\t putConfig = _props2.putConfig;\n\t\n\t if (editorChanged) {\n\t var value = this.refs.editor.getValue();\n\t putConfig(value);\n\t }\n\t }\n\t }, {\n\t key: 'render',\n\t value: function render() {\n\t var _this2 = this;\n\t\n\t var _props3 = this.props,\n\t editorChanged = _props3.editorChanged,\n\t onEditorChange = _props3.onEditorChange,\n\t config = _props3.config,\n\t updated = _props3.updated;\n\t\n\t return _react2.default.createElement(\n\t 'div',\n\t null,\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'content-header' },\n\t _react2.default.createElement(\n\t 'h1',\n\t null,\n\t 'Configuration'\n\t ),\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'page-buttons' },\n\t _react2.default.createElement(_Button2.default, {\n\t onClick: function onClick() {\n\t return _this2.handleClickSave();\n\t },\n\t type: 'save',\n\t active: editorChanged,\n\t triggered: updated })\n\t )\n\t ),\n\t _react2.default.createElement(_Editor2.default, {\n\t editorChanged: editorChanged,\n\t onEditorChange: onEditorChange,\n\t content: (0, _helpers.toYAML)(config),\n\t ref: 'editor' })\n\t );\n\t }\n\t }]);\n\t\n\t return Configuration;\n\t}(_react.Component);\n\t\n\tConfiguration.propTypes = {\n\t config: _react.PropTypes.object.isRequired,\n\t onEditorChange: _react.PropTypes.func.isRequired,\n\t putConfig: _react.PropTypes.func.isRequired,\n\t updated: _react.PropTypes.bool.isRequired,\n\t editorChanged: _react.PropTypes.bool.isRequired,\n\t router: _react.PropTypes.object.isRequired,\n\t route: _react.PropTypes.object.isRequired\n\t};\n\t\n\tvar mapStateToProps = function mapStateToProps(state) {\n\t return {\n\t config: state.config.config,\n\t updated: state.config.updated,\n\t editorChanged: state.config.editorChanged\n\t };\n\t};\n\t\n\tvar mapDispatchToProps = function mapDispatchToProps(dispatch) {\n\t return (0, _redux.bindActionCreators)({\n\t putConfig: _config.putConfig,\n\t onEditorChange: _config.onEditorChange\n\t }, dispatch);\n\t};\n\t\n\texports.default = (0, _reactRouter.withRouter)((0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)(Configuration));\n\n/***/ },\n/* 366 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\texports.DataFileEdit = undefined;\n\t\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\tvar _react = __webpack_require__(2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _reactRedux = __webpack_require__(15);\n\t\n\tvar _redux = __webpack_require__(13);\n\t\n\tvar _reactRouter = __webpack_require__(16);\n\t\n\tvar _underscore = __webpack_require__(7);\n\t\n\tvar _underscore2 = _interopRequireDefault(_underscore);\n\t\n\tvar _Breadcrumbs = __webpack_require__(45);\n\t\n\tvar _Breadcrumbs2 = _interopRequireDefault(_Breadcrumbs);\n\t\n\tvar _Splitter = __webpack_require__(47);\n\t\n\tvar _Splitter2 = _interopRequireDefault(_Splitter);\n\t\n\tvar _Errors = __webpack_require__(46);\n\t\n\tvar _Errors2 = _interopRequireDefault(_Errors);\n\t\n\tvar _Editor = __webpack_require__(102);\n\t\n\tvar _Editor2 = _interopRequireDefault(_Editor);\n\t\n\tvar _Button = __webpack_require__(22);\n\t\n\tvar _Button2 = _interopRequireDefault(_Button);\n\t\n\tvar _utils = __webpack_require__(19);\n\t\n\tvar _helpers = __webpack_require__(20);\n\t\n\tvar _datafiles = __webpack_require__(99);\n\t\n\tvar _lang = __webpack_require__(8);\n\t\n\tvar _constants = __webpack_require__(17);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\tvar DataFileEdit = exports.DataFileEdit = function (_Component) {\n\t _inherits(DataFileEdit, _Component);\n\t\n\t function DataFileEdit() {\n\t _classCallCheck(this, DataFileEdit);\n\t\n\t return _possibleConstructorReturn(this, (DataFileEdit.__proto__ || Object.getPrototypeOf(DataFileEdit)).apply(this, arguments));\n\t }\n\t\n\t _createClass(DataFileEdit, [{\n\t key: 'componentWillMount',\n\t value: function componentWillMount() {\n\t var clearErrors = this.props.clearErrors;\n\t\n\t clearErrors();\n\t }\n\t }, {\n\t key: 'componentDidMount',\n\t value: function componentDidMount() {\n\t var _props = this.props,\n\t fetchDataFile = _props.fetchDataFile,\n\t params = _props.params,\n\t router = _props.router,\n\t route = _props.route;\n\t\n\t router.setRouteLeaveHook(route, this.routerWillLeave.bind(this));\n\t fetchDataFile(params.data_file);\n\t }\n\t }, {\n\t key: 'routerWillLeave',\n\t value: function routerWillLeave(nextLocation) {\n\t if (this.props.datafileChanged) {\n\t return (0, _lang.getLeaveMessage)();\n\t }\n\t }\n\t }, {\n\t key: 'handleClickSave',\n\t value: function handleClickSave() {\n\t var _props2 = this.props,\n\t datafileChanged = _props2.datafileChanged,\n\t putDataFile = _props2.putDataFile,\n\t params = _props2.params;\n\t\n\t if (datafileChanged) {\n\t var value = this.refs.editor.getValue();\n\t putDataFile(params.data_file, value);\n\t }\n\t }\n\t }, {\n\t key: 'handleClickDelete',\n\t value: function handleClickDelete(filename) {\n\t var deleteDataFile = this.props.deleteDataFile;\n\t\n\t var confirm = window.confirm((0, _lang.getDeleteMessage)(filename));\n\t if (confirm) {\n\t deleteDataFile(filename);\n\t _reactRouter.browserHistory.push(_constants.ADMIN_PREFIX + '/datafiles');\n\t }\n\t }\n\t }, {\n\t key: 'render',\n\t value: function render() {\n\t var _this2 = this;\n\t\n\t var _props3 = this.props,\n\t datafileChanged = _props3.datafileChanged,\n\t onDataFileChanged = _props3.onDataFileChanged,\n\t datafile = _props3.datafile,\n\t isFetching = _props3.isFetching,\n\t updated = _props3.updated,\n\t errors = _props3.errors,\n\t params = _props3.params;\n\t\n\t\n\t if (isFetching) {\n\t return null;\n\t }\n\t\n\t if (_underscore2.default.isEmpty(datafile)) {\n\t return _react2.default.createElement(\n\t 'h1',\n\t null,\n\t (0, _lang.getNotFoundMessage)(\"data file\")\n\t );\n\t }\n\t\n\t var path = datafile.path,\n\t raw_content = datafile.raw_content;\n\t\n\t var filename = (0, _helpers.getFilenameFromPath)(path);\n\t\n\t return _react2.default.createElement(\n\t 'div',\n\t null,\n\t errors.length > 0 && _react2.default.createElement(_Errors2.default, { errors: errors }),\n\t _react2.default.createElement(_Breadcrumbs2.default, {\n\t link: _constants.ADMIN_PREFIX + '/datafiles',\n\t content: filename,\n\t type: 'datafiles'\n\t }),\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'content-wrapper' },\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'content-body' },\n\t _react2.default.createElement(_Editor2.default, {\n\t editorChanged: datafileChanged,\n\t onEditorChange: onDataFileChanged,\n\t content: raw_content,\n\t ref: 'editor' })\n\t ),\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'content-side' },\n\t _react2.default.createElement(_Button2.default, {\n\t onClick: function onClick() {\n\t return _this2.handleClickSave();\n\t },\n\t type: 'save',\n\t active: datafileChanged,\n\t triggered: updated,\n\t icon: 'save',\n\t block: true }),\n\t _react2.default.createElement(_Splitter2.default, null),\n\t _react2.default.createElement(_Button2.default, {\n\t onClick: function onClick() {\n\t return _this2.handleClickDelete(filename);\n\t },\n\t type: 'delete',\n\t active: true,\n\t icon: 'trash',\n\t block: true })\n\t )\n\t )\n\t );\n\t }\n\t }]);\n\t\n\t return DataFileEdit;\n\t}(_react.Component);\n\t\n\tDataFileEdit.propTypes = {\n\t fetchDataFile: _react.PropTypes.func.isRequired,\n\t putDataFile: _react.PropTypes.func.isRequired,\n\t deleteDataFile: _react.PropTypes.func.isRequired,\n\t clearErrors: _react.PropTypes.func.isRequired,\n\t datafile: _react.PropTypes.object.isRequired,\n\t onDataFileChanged: _react.PropTypes.func.isRequired,\n\t isFetching: _react.PropTypes.bool.isRequired,\n\t updated: _react.PropTypes.bool.isRequired,\n\t datafileChanged: _react.PropTypes.bool.isRequired,\n\t errors: _react.PropTypes.array.isRequired,\n\t params: _react.PropTypes.object.isRequired,\n\t router: _react.PropTypes.object.isRequired,\n\t route: _react.PropTypes.object.isRequired\n\t};\n\t\n\tvar mapStateToProps = function mapStateToProps(state) {\n\t return {\n\t datafile: state.datafiles.currentFile,\n\t isFetching: state.datafiles.isFetching,\n\t updated: state.datafiles.updated,\n\t datafileChanged: state.datafiles.datafileChanged,\n\t errors: state.utils.errors\n\t };\n\t};\n\t\n\tvar mapDispatchToProps = function mapDispatchToProps(dispatch) {\n\t return (0, _redux.bindActionCreators)({\n\t fetchDataFile: _datafiles.fetchDataFile,\n\t putDataFile: _datafiles.putDataFile,\n\t deleteDataFile: _datafiles.deleteDataFile,\n\t onDataFileChanged: _datafiles.onDataFileChanged,\n\t clearErrors: _utils.clearErrors\n\t }, dispatch);\n\t};\n\t\n\texports.default = (0, _reactRouter.withRouter)((0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)(DataFileEdit));\n\n/***/ },\n/* 367 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\texports.DataFileNew = undefined;\n\t\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\tvar _react = __webpack_require__(2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _reactRedux = __webpack_require__(15);\n\t\n\tvar _redux = __webpack_require__(13);\n\t\n\tvar _reactRouter = __webpack_require__(16);\n\t\n\tvar _Errors = __webpack_require__(46);\n\t\n\tvar _Errors2 = _interopRequireDefault(_Errors);\n\t\n\tvar _Editor = __webpack_require__(102);\n\t\n\tvar _Editor2 = _interopRequireDefault(_Editor);\n\t\n\tvar _Button = __webpack_require__(22);\n\t\n\tvar _Button2 = _interopRequireDefault(_Button);\n\t\n\tvar _Breadcrumbs = __webpack_require__(45);\n\t\n\tvar _Breadcrumbs2 = _interopRequireDefault(_Breadcrumbs);\n\t\n\tvar _datafiles = __webpack_require__(99);\n\t\n\tvar _utils = __webpack_require__(19);\n\t\n\tvar _lang = __webpack_require__(8);\n\t\n\tvar _constants = __webpack_require__(17);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\tvar DataFileNew = exports.DataFileNew = function (_Component) {\n\t _inherits(DataFileNew, _Component);\n\t\n\t function DataFileNew() {\n\t _classCallCheck(this, DataFileNew);\n\t\n\t return _possibleConstructorReturn(this, (DataFileNew.__proto__ || Object.getPrototypeOf(DataFileNew)).apply(this, arguments));\n\t }\n\t\n\t _createClass(DataFileNew, [{\n\t key: 'componentWillMount',\n\t value: function componentWillMount() {\n\t var clearErrors = this.props.clearErrors;\n\t\n\t clearErrors();\n\t }\n\t }, {\n\t key: 'componentDidMount',\n\t value: function componentDidMount() {\n\t var _props = this.props,\n\t router = _props.router,\n\t route = _props.route;\n\t\n\t router.setRouteLeaveHook(route, this.routerWillLeave.bind(this));\n\t }\n\t }, {\n\t key: 'componentWillReceiveProps',\n\t value: function componentWillReceiveProps(nextProps) {\n\t if (this.props.updated !== nextProps.updated) {\n\t var filename = this.refs.breadcrumbs.refs.input.value;\n\t _reactRouter.browserHistory.push(_constants.ADMIN_PREFIX + '/datafiles/' + filename);\n\t }\n\t }\n\t }, {\n\t key: 'routerWillLeave',\n\t value: function routerWillLeave(nextLocation) {\n\t if (this.props.datafileChanged) {\n\t return (0, _lang.getLeaveMessage)();\n\t }\n\t }\n\t }, {\n\t key: 'handleClickSave',\n\t value: function handleClickSave() {\n\t var _props2 = this.props,\n\t datafileChanged = _props2.datafileChanged,\n\t putDataFile = _props2.putDataFile;\n\t\n\t if (datafileChanged) {\n\t var filename = this.refs.breadcrumbs.refs.input.value;\n\t var value = this.refs.editor.getValue();\n\t putDataFile(filename, value);\n\t }\n\t }\n\t }, {\n\t key: 'render',\n\t value: function render() {\n\t var _this2 = this;\n\t\n\t var _props3 = this.props,\n\t datafileChanged = _props3.datafileChanged,\n\t onDataFileChanged = _props3.onDataFileChanged,\n\t datafile = _props3.datafile,\n\t updated = _props3.updated,\n\t errors = _props3.errors;\n\t\n\t return _react2.default.createElement(\n\t 'div',\n\t null,\n\t errors.length > 0 && _react2.default.createElement(_Errors2.default, { errors: errors }),\n\t _react2.default.createElement(_Breadcrumbs2.default, { onChange: onDataFileChanged,\n\t ref: 'breadcrumbs',\n\t link: _constants.ADMIN_PREFIX + '/datafiles',\n\t type: 'datafiles',\n\t content: '',\n\t editable: true }),\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'content-wrapper' },\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'content-body' },\n\t _react2.default.createElement(_Editor2.default, {\n\t editorChanged: datafileChanged,\n\t onEditorChange: onDataFileChanged,\n\t content: '',\n\t ref: 'editor' })\n\t ),\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'content-side' },\n\t _react2.default.createElement(_Button2.default, {\n\t onClick: function onClick() {\n\t return _this2.handleClickSave();\n\t },\n\t type: 'create',\n\t active: datafileChanged,\n\t triggered: updated,\n\t icon: 'plus-square',\n\t block: true })\n\t )\n\t )\n\t );\n\t }\n\t }]);\n\t\n\t return DataFileNew;\n\t}(_react.Component);\n\t\n\tDataFileNew.propTypes = {\n\t putDataFile: _react.PropTypes.func.isRequired,\n\t datafile: _react.PropTypes.object.isRequired,\n\t onDataFileChanged: _react.PropTypes.func.isRequired,\n\t clearErrors: _react.PropTypes.func.isRequired,\n\t errors: _react.PropTypes.array.isRequired,\n\t updated: _react.PropTypes.bool.isRequired,\n\t datafileChanged: _react.PropTypes.bool.isRequired,\n\t router: _react.PropTypes.object.isRequired,\n\t route: _react.PropTypes.object.isRequired\n\t};\n\t\n\tvar mapStateToProps = function mapStateToProps(state) {\n\t return {\n\t datafile: state.datafiles.currentFile,\n\t updated: state.datafiles.updated,\n\t datafileChanged: state.datafiles.datafileChanged,\n\t errors: state.utils.errors\n\t };\n\t};\n\t\n\tvar mapDispatchToProps = function mapDispatchToProps(dispatch) {\n\t return (0, _redux.bindActionCreators)({\n\t putDataFile: _datafiles.putDataFile,\n\t onDataFileChanged: _datafiles.onDataFileChanged,\n\t clearErrors: _utils.clearErrors\n\t }, dispatch);\n\t};\n\t\n\texports.default = (0, _reactRouter.withRouter)((0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)(DataFileNew));\n\n/***/ },\n/* 368 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\texports.DataFiles = undefined;\n\t\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\tvar _react = __webpack_require__(2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _reactRouter = __webpack_require__(16);\n\t\n\tvar _reactRedux = __webpack_require__(15);\n\t\n\tvar _redux = __webpack_require__(13);\n\t\n\tvar _underscore = __webpack_require__(7);\n\t\n\tvar _underscore2 = _interopRequireDefault(_underscore);\n\t\n\tvar _lang = __webpack_require__(8);\n\t\n\tvar _InputSearch = __webpack_require__(79);\n\t\n\tvar _InputSearch2 = _interopRequireDefault(_InputSearch);\n\t\n\tvar _Button = __webpack_require__(22);\n\t\n\tvar _Button2 = _interopRequireDefault(_Button);\n\t\n\tvar _datafiles = __webpack_require__(99);\n\t\n\tvar _utils = __webpack_require__(19);\n\t\n\tvar _datafiles2 = __webpack_require__(162);\n\t\n\tvar _constants = __webpack_require__(17);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\tvar DataFiles = exports.DataFiles = function (_Component) {\n\t _inherits(DataFiles, _Component);\n\t\n\t function DataFiles() {\n\t _classCallCheck(this, DataFiles);\n\t\n\t return _possibleConstructorReturn(this, (DataFiles.__proto__ || Object.getPrototypeOf(DataFiles)).apply(this, arguments));\n\t }\n\t\n\t _createClass(DataFiles, [{\n\t key: 'componentDidMount',\n\t value: function componentDidMount() {\n\t var fetchDataFiles = this.props.fetchDataFiles;\n\t\n\t fetchDataFiles();\n\t }\n\t }, {\n\t key: 'handleClickDelete',\n\t value: function handleClickDelete(filename) {\n\t var deleteDataFile = this.props.deleteDataFile;\n\t\n\t var confirm = window.confirm((0, _lang.getDeleteMessage)(filename));\n\t if (confirm) {\n\t deleteDataFile(filename);\n\t }\n\t }\n\t }, {\n\t key: 'renderTable',\n\t value: function renderTable() {\n\t return _react2.default.createElement(\n\t 'div',\n\t { className: 'content-table' },\n\t _react2.default.createElement(\n\t 'table',\n\t null,\n\t _react2.default.createElement(\n\t 'thead',\n\t null,\n\t _react2.default.createElement(\n\t 'tr',\n\t null,\n\t _react2.default.createElement(\n\t 'th',\n\t null,\n\t 'Filename'\n\t ),\n\t _react2.default.createElement(\n\t 'th',\n\t { className: 'th-actions' },\n\t 'Actions'\n\t )\n\t )\n\t ),\n\t _react2.default.createElement(\n\t 'tbody',\n\t null,\n\t this.renderRows()\n\t )\n\t )\n\t );\n\t }\n\t }, {\n\t key: 'renderRows',\n\t value: function renderRows() {\n\t var _this2 = this;\n\t\n\t var files = this.props.files;\n\t\n\t return _underscore2.default.map(files, function (file) {\n\t var filename = file.slug + file.ext;\n\t var to = _constants.ADMIN_PREFIX + '/datafiles/' + filename;\n\t return _react2.default.createElement(\n\t 'tr',\n\t { key: file.slug },\n\t _react2.default.createElement(\n\t 'td',\n\t { className: 'row-title' },\n\t _react2.default.createElement(\n\t 'strong',\n\t null,\n\t _react2.default.createElement(\n\t _reactRouter.Link,\n\t { to: to },\n\t filename\n\t )\n\t )\n\t ),\n\t _react2.default.createElement(\n\t 'td',\n\t null,\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'row-actions' },\n\t _react2.default.createElement(_Button2.default, {\n\t onClick: function onClick() {\n\t return _this2.handleClickDelete(filename);\n\t },\n\t type: 'delete',\n\t icon: 'trash',\n\t active: true,\n\t thin: true })\n\t )\n\t )\n\t );\n\t });\n\t }\n\t }, {\n\t key: 'render',\n\t value: function render() {\n\t var _props = this.props,\n\t isFetching = _props.isFetching,\n\t files = _props.files,\n\t search = _props.search;\n\t\n\t\n\t if (isFetching) {\n\t return null;\n\t }\n\t\n\t return _react2.default.createElement(\n\t 'div',\n\t null,\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'content-header' },\n\t _react2.default.createElement(\n\t 'h1',\n\t null,\n\t 'Data Files'\n\t ),\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'page-buttons' },\n\t _react2.default.createElement(\n\t _reactRouter.Link,\n\t { className: 'btn btn-active', to: _constants.ADMIN_PREFIX + '/datafiles/new' },\n\t 'New data file'\n\t )\n\t ),\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'pull-right' },\n\t _react2.default.createElement(_InputSearch2.default, { searchBy: 'filename', search: search })\n\t )\n\t ),\n\t files.length > 0 && this.renderTable(),\n\t !files.length && _react2.default.createElement(\n\t 'h1',\n\t null,\n\t (0, _lang.getNotFoundMessage)(\"data files\")\n\t )\n\t );\n\t }\n\t }]);\n\t\n\t return DataFiles;\n\t}(_react.Component);\n\t\n\tDataFiles.propTypes = {\n\t files: _react.PropTypes.array.isRequired,\n\t fetchDataFiles: _react.PropTypes.func.isRequired,\n\t deleteDataFile: _react.PropTypes.func.isRequired,\n\t isFetching: _react.PropTypes.bool.isRequired,\n\t search: _react.PropTypes.func.isRequired\n\t};\n\t\n\tvar mapStateToProps = function mapStateToProps(state) {\n\t return {\n\t files: (0, _datafiles2.filterByFilename)(state.datafiles.files, state.utils.input),\n\t isFetching: state.datafiles.isFetching\n\t };\n\t};\n\t\n\tvar mapDispatchToProps = function mapDispatchToProps(dispatch) {\n\t return (0, _redux.bindActionCreators)({\n\t fetchDataFiles: _datafiles.fetchDataFiles,\n\t deleteDataFile: _datafiles.deleteDataFile,\n\t search: _utils.search\n\t }, dispatch);\n\t};\n\t\n\texports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)(DataFiles);\n\n/***/ },\n/* 369 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\texports.DocumentEdit = undefined;\n\t\n\tvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\t\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\tvar _react = __webpack_require__(2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _reactRedux = __webpack_require__(15);\n\t\n\tvar _redux = __webpack_require__(13);\n\t\n\tvar _reactRouter = __webpack_require__(16);\n\t\n\tvar _underscore = __webpack_require__(7);\n\t\n\tvar _underscore2 = _interopRequireDefault(_underscore);\n\t\n\tvar _Splitter = __webpack_require__(47);\n\t\n\tvar _Splitter2 = _interopRequireDefault(_Splitter);\n\t\n\tvar _Errors = __webpack_require__(46);\n\t\n\tvar _Errors2 = _interopRequireDefault(_Errors);\n\t\n\tvar _Breadcrumbs = __webpack_require__(45);\n\t\n\tvar _Breadcrumbs2 = _interopRequireDefault(_Breadcrumbs);\n\t\n\tvar _Button = __webpack_require__(22);\n\t\n\tvar _Button2 = _interopRequireDefault(_Button);\n\t\n\tvar _InputTitle = __webpack_require__(80);\n\t\n\tvar _InputTitle2 = _interopRequireDefault(_InputTitle);\n\t\n\tvar _MarkdownEditor = __webpack_require__(78);\n\t\n\tvar _MarkdownEditor2 = _interopRequireDefault(_MarkdownEditor);\n\t\n\tvar _MetaFields = __webpack_require__(81);\n\t\n\tvar _MetaFields2 = _interopRequireDefault(_MetaFields);\n\t\n\tvar _collections = __webpack_require__(77);\n\t\n\tvar _metadata = __webpack_require__(56);\n\t\n\tvar _utils = __webpack_require__(19);\n\t\n\tvar _helpers = __webpack_require__(20);\n\t\n\tvar _lang = __webpack_require__(8);\n\t\n\tvar _constants = __webpack_require__(17);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\tvar DocumentEdit = exports.DocumentEdit = function (_Component) {\n\t _inherits(DocumentEdit, _Component);\n\t\n\t function DocumentEdit() {\n\t _classCallCheck(this, DocumentEdit);\n\t\n\t return _possibleConstructorReturn(this, (DocumentEdit.__proto__ || Object.getPrototypeOf(DocumentEdit)).apply(this, arguments));\n\t }\n\t\n\t _createClass(DocumentEdit, [{\n\t key: 'componentWillMount',\n\t value: function componentWillMount() {\n\t var clearErrors = this.props.clearErrors;\n\t\n\t clearErrors();\n\t }\n\t }, {\n\t key: 'componentDidMount',\n\t value: function componentDidMount() {\n\t var _props = this.props,\n\t fetchDocument = _props.fetchDocument,\n\t params = _props.params,\n\t router = _props.router,\n\t route = _props.route;\n\t\n\t router.setRouteLeaveHook(route, this.routerWillLeave.bind(this));\n\t fetchDocument(params.collection_name, params.id);\n\t }\n\t }, {\n\t key: 'componentWillReceiveProps',\n\t value: function componentWillReceiveProps(nextProps) {\n\t if (this.props.updated !== nextProps.updated) {\n\t var new_path = nextProps.currentDocument.path;\n\t var path = this.props.currentDocument.path;\n\t // redirect if the path is changed\n\t if (new_path != path) {\n\t var filename = (0, _helpers.getFilenameFromPath)(new_path);\n\t _reactRouter.browserHistory.push(_constants.ADMIN_PREFIX + '/collections/' + nextProps.currentDocument.collection + '/' + filename);\n\t }\n\t }\n\t }\n\t }, {\n\t key: 'routerWillLeave',\n\t value: function routerWillLeave(nextLocation) {\n\t if (this.props.fieldChanged) {\n\t return (0, _lang.getLeaveMessage)();\n\t }\n\t }\n\t }, {\n\t key: 'handleClickSave',\n\t value: function handleClickSave(id, collection) {\n\t var _props2 = this.props,\n\t putDocument = _props2.putDocument,\n\t fieldChanged = _props2.fieldChanged;\n\t\n\t if (fieldChanged) {\n\t putDocument(id, collection);\n\t }\n\t }\n\t }, {\n\t key: 'handleClickDelete',\n\t value: function handleClickDelete(filename, collection) {\n\t var deleteDocument = this.props.deleteDocument;\n\t\n\t var confirm = window.confirm((0, _lang.getDeleteMessage)(filename));\n\t if (confirm) {\n\t deleteDocument(filename, collection);\n\t _reactRouter.browserHistory.push(_constants.ADMIN_PREFIX + '/collections/' + collection);\n\t }\n\t }\n\t }, {\n\t key: 'render',\n\t value: function render() {\n\t var _this2 = this;\n\t\n\t var _props3 = this.props,\n\t isFetching = _props3.isFetching,\n\t currentDocument = _props3.currentDocument,\n\t errors = _props3.errors,\n\t updateTitle = _props3.updateTitle,\n\t updateBody = _props3.updateBody,\n\t updatePath = _props3.updatePath,\n\t updated = _props3.updated,\n\t fieldChanged = _props3.fieldChanged;\n\t\n\t\n\t if (isFetching) {\n\t return null;\n\t }\n\t\n\t if (_underscore2.default.isEmpty(currentDocument)) {\n\t return _react2.default.createElement(\n\t 'h1',\n\t null,\n\t (0, _lang.getNotFoundMessage)(\"document\")\n\t );\n\t }\n\t\n\t var title = currentDocument.title,\n\t raw_content = currentDocument.raw_content,\n\t draft = currentDocument.draft,\n\t http_url = currentDocument.http_url,\n\t path = currentDocument.path,\n\t collection = currentDocument.collection,\n\t front_matter = currentDocument.front_matter;\n\t\n\t\n\t var filename = (0, _helpers.getFilenameFromPath)(path);\n\t\n\t return _react2.default.createElement(\n\t 'div',\n\t null,\n\t errors.length > 0 && _react2.default.createElement(_Errors2.default, { errors: errors }),\n\t _react2.default.createElement(_Breadcrumbs2.default, {\n\t onChange: updatePath,\n\t link: _constants.ADMIN_PREFIX + '/collections/' + collection,\n\t content: path,\n\t type: collection,\n\t editable: true }),\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'content-wrapper' },\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'content-body' },\n\t _react2.default.createElement(_InputTitle2.default, { onChange: updateTitle, title: title, ref: 'title' }),\n\t _react2.default.createElement(_MarkdownEditor2.default, {\n\t onChange: updateBody,\n\t onSave: function onSave() {\n\t return _this2.handleClickSave(filename, collection);\n\t },\n\t placeholder: 'Body',\n\t initialValue: raw_content,\n\t ref: 'editor' }),\n\t _react2.default.createElement(_Splitter2.default, null),\n\t _react2.default.createElement(_MetaFields2.default, { fields: _extends({ title: title, path: path, raw_content: raw_content }, front_matter) })\n\t ),\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'content-side' },\n\t _react2.default.createElement(_Button2.default, {\n\t onClick: function onClick() {\n\t return _this2.handleClickSave(filename, collection);\n\t },\n\t type: 'save',\n\t active: fieldChanged,\n\t triggered: updated,\n\t icon: 'save',\n\t block: true }),\n\t http_url && _react2.default.createElement(_Button2.default, {\n\t to: http_url,\n\t type: 'view',\n\t icon: 'eye',\n\t active: true,\n\t block: true }),\n\t _react2.default.createElement(_Splitter2.default, null),\n\t _react2.default.createElement(_Button2.default, {\n\t onClick: function onClick() {\n\t return _this2.handleClickDelete(filename, collection);\n\t },\n\t type: 'delete',\n\t active: true,\n\t icon: 'trash',\n\t block: true })\n\t )\n\t )\n\t );\n\t }\n\t }]);\n\t\n\t return DocumentEdit;\n\t}(_react.Component);\n\t\n\tDocumentEdit.propTypes = {\n\t currentDocument: _react.PropTypes.object.isRequired,\n\t fetchDocument: _react.PropTypes.func.isRequired,\n\t deleteDocument: _react.PropTypes.func.isRequired,\n\t putDocument: _react.PropTypes.func.isRequired,\n\t updateTitle: _react.PropTypes.func.isRequired,\n\t updateBody: _react.PropTypes.func.isRequired,\n\t updatePath: _react.PropTypes.func.isRequired,\n\t clearErrors: _react.PropTypes.func.isRequired,\n\t isFetching: _react.PropTypes.bool.isRequired,\n\t errors: _react.PropTypes.array.isRequired,\n\t updated: _react.PropTypes.bool.isRequired,\n\t fieldChanged: _react.PropTypes.bool.isRequired,\n\t params: _react.PropTypes.object.isRequired,\n\t router: _react.PropTypes.object.isRequired,\n\t route: _react.PropTypes.object.isRequired\n\t};\n\t\n\tvar mapStateToProps = function mapStateToProps(state) {\n\t return {\n\t currentDocument: state.collections.currentDocument,\n\t isFetching: state.collections.isFetching,\n\t fieldChanged: state.metadata.fieldChanged,\n\t updated: state.collections.updated,\n\t errors: state.utils.errors\n\t };\n\t};\n\t\n\tvar mapDispatchToProps = function mapDispatchToProps(dispatch) {\n\t return (0, _redux.bindActionCreators)({\n\t fetchDocument: _collections.fetchDocument,\n\t deleteDocument: _collections.deleteDocument,\n\t putDocument: _collections.putDocument,\n\t updateTitle: _metadata.updateTitle,\n\t updateBody: _metadata.updateBody,\n\t updatePath: _metadata.updatePath,\n\t clearErrors: _utils.clearErrors\n\t }, dispatch);\n\t};\n\t\n\texports.default = (0, _reactRouter.withRouter)((0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)(DocumentEdit));\n\n/***/ },\n/* 370 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\texports.DocumentNew = undefined;\n\t\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\tvar _react = __webpack_require__(2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _reactRedux = __webpack_require__(15);\n\t\n\tvar _redux = __webpack_require__(13);\n\t\n\tvar _reactRouter = __webpack_require__(16);\n\t\n\tvar _Splitter = __webpack_require__(47);\n\t\n\tvar _Splitter2 = _interopRequireDefault(_Splitter);\n\t\n\tvar _Errors = __webpack_require__(46);\n\t\n\tvar _Errors2 = _interopRequireDefault(_Errors);\n\t\n\tvar _Breadcrumbs = __webpack_require__(45);\n\t\n\tvar _Breadcrumbs2 = _interopRequireDefault(_Breadcrumbs);\n\t\n\tvar _Button = __webpack_require__(22);\n\t\n\tvar _Button2 = _interopRequireDefault(_Button);\n\t\n\tvar _InputTitle = __webpack_require__(80);\n\t\n\tvar _InputTitle2 = _interopRequireDefault(_InputTitle);\n\t\n\tvar _MarkdownEditor = __webpack_require__(78);\n\t\n\tvar _MarkdownEditor2 = _interopRequireDefault(_MarkdownEditor);\n\t\n\tvar _MetaFields = __webpack_require__(81);\n\t\n\tvar _MetaFields2 = _interopRequireDefault(_MetaFields);\n\t\n\tvar _metadata = __webpack_require__(56);\n\t\n\tvar _collections = __webpack_require__(77);\n\t\n\tvar _utils = __webpack_require__(19);\n\t\n\tvar _helpers = __webpack_require__(20);\n\t\n\tvar _lang = __webpack_require__(8);\n\t\n\tvar _constants = __webpack_require__(17);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\tvar DocumentNew = exports.DocumentNew = function (_Component) {\n\t _inherits(DocumentNew, _Component);\n\t\n\t function DocumentNew() {\n\t _classCallCheck(this, DocumentNew);\n\t\n\t return _possibleConstructorReturn(this, (DocumentNew.__proto__ || Object.getPrototypeOf(DocumentNew)).apply(this, arguments));\n\t }\n\t\n\t _createClass(DocumentNew, [{\n\t key: 'componentWillMount',\n\t value: function componentWillMount() {\n\t var clearErrors = this.props.clearErrors;\n\t\n\t clearErrors();\n\t }\n\t }, {\n\t key: 'componentDidMount',\n\t value: function componentDidMount() {\n\t var _props = this.props,\n\t router = _props.router,\n\t route = _props.route;\n\t\n\t router.setRouteLeaveHook(route, this.routerWillLeave.bind(this));\n\t }\n\t }, {\n\t key: 'componentWillReceiveProps',\n\t value: function componentWillReceiveProps(nextProps) {\n\t if (this.props.updated !== nextProps.updated) {\n\t var path = nextProps.currentDocument.path;\n\t var filename = (0, _helpers.getFilenameFromPath)(path);\n\t _reactRouter.browserHistory.push(_constants.ADMIN_PREFIX + '/collections/' + nextProps.currentDocument.collection + '/' + filename);\n\t }\n\t }\n\t }, {\n\t key: 'routerWillLeave',\n\t value: function routerWillLeave(nextLocation) {\n\t if (this.props.fieldChanged) {\n\t return (0, _lang.getLeaveMessage)();\n\t }\n\t }\n\t }, {\n\t key: 'handleClickSave',\n\t value: function handleClickSave() {\n\t var _props2 = this.props,\n\t fieldChanged = _props2.fieldChanged,\n\t putDocument = _props2.putDocument,\n\t params = _props2.params;\n\t\n\t if (fieldChanged) {\n\t putDocument(null, params.collection_name);\n\t }\n\t }\n\t }, {\n\t key: 'render',\n\t value: function render() {\n\t var _this2 = this;\n\t\n\t var _props3 = this.props,\n\t errors = _props3.errors,\n\t updated = _props3.updated,\n\t updateTitle = _props3.updateTitle,\n\t updateBody = _props3.updateBody,\n\t updatePath = _props3.updatePath,\n\t fieldChanged = _props3.fieldChanged,\n\t params = _props3.params;\n\t\n\t\n\t var collection = params.collection_name;\n\t var link = _constants.ADMIN_PREFIX + '/collections/' + collection;\n\t\n\t return _react2.default.createElement(\n\t 'div',\n\t null,\n\t errors.length > 0 && _react2.default.createElement(_Errors2.default, { errors: errors }),\n\t _react2.default.createElement(_Breadcrumbs2.default, {\n\t onChange: updatePath,\n\t link: link,\n\t type: collection,\n\t content: '',\n\t editable: true }),\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'content-wrapper' },\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'content-body' },\n\t _react2.default.createElement(_InputTitle2.default, { onChange: updateTitle, title: '', ref: 'title' }),\n\t _react2.default.createElement(_MarkdownEditor2.default, {\n\t onChange: updateBody,\n\t onSave: function onSave() {\n\t return _this2.handleClickSave();\n\t },\n\t placeholder: 'Body',\n\t initialValue: '',\n\t ref: 'editor' }),\n\t _react2.default.createElement(_Splitter2.default, null),\n\t _react2.default.createElement(_MetaFields2.default, { fields: {} })\n\t ),\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'content-side' },\n\t _react2.default.createElement(_Button2.default, {\n\t onClick: function onClick() {\n\t return _this2.handleClickSave();\n\t },\n\t type: 'create',\n\t active: fieldChanged,\n\t triggered: updated,\n\t icon: 'plus-square',\n\t block: true })\n\t )\n\t )\n\t );\n\t }\n\t }]);\n\t\n\t return DocumentNew;\n\t}(_react.Component);\n\t\n\tDocumentNew.propTypes = {\n\t putDocument: _react.PropTypes.func.isRequired,\n\t updateTitle: _react.PropTypes.func.isRequired,\n\t updateBody: _react.PropTypes.func.isRequired,\n\t updatePath: _react.PropTypes.func.isRequired,\n\t clearErrors: _react.PropTypes.func.isRequired,\n\t errors: _react.PropTypes.array.isRequired,\n\t fieldChanged: _react.PropTypes.bool.isRequired,\n\t updated: _react.PropTypes.bool.isRequired,\n\t params: _react.PropTypes.object.isRequired,\n\t router: _react.PropTypes.object.isRequired,\n\t route: _react.PropTypes.object.isRequired\n\t};\n\t\n\tvar mapStateToProps = function mapStateToProps(state) {\n\t return {\n\t currentDocument: state.collections.currentDocument,\n\t fieldChanged: state.metadata.fieldChanged,\n\t errors: state.utils.errors,\n\t updated: state.collections.updated\n\t };\n\t};\n\t\n\tvar mapDispatchToProps = function mapDispatchToProps(dispatch) {\n\t return (0, _redux.bindActionCreators)({\n\t updateTitle: _metadata.updateTitle,\n\t updateBody: _metadata.updateBody,\n\t updatePath: _metadata.updatePath,\n\t putDocument: _collections.putDocument,\n\t clearErrors: _utils.clearErrors\n\t }, dispatch);\n\t};\n\t\n\texports.default = (0, _reactRouter.withRouter)((0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)(DocumentNew));\n\n/***/ },\n/* 371 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\texports.Documents = undefined;\n\t\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\tvar _react = __webpack_require__(2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _reactRouter = __webpack_require__(16);\n\t\n\tvar _reactRedux = __webpack_require__(15);\n\t\n\tvar _redux = __webpack_require__(13);\n\t\n\tvar _underscore = __webpack_require__(7);\n\t\n\tvar _underscore2 = _interopRequireDefault(_underscore);\n\t\n\tvar _moment = __webpack_require__(1);\n\t\n\tvar _moment2 = _interopRequireDefault(_moment);\n\t\n\tvar _InputSearch = __webpack_require__(79);\n\t\n\tvar _InputSearch2 = _interopRequireDefault(_InputSearch);\n\t\n\tvar _Button = __webpack_require__(22);\n\t\n\tvar _Button2 = _interopRequireDefault(_Button);\n\t\n\tvar _collections = __webpack_require__(77);\n\t\n\tvar _collections2 = __webpack_require__(161);\n\t\n\tvar _helpers = __webpack_require__(20);\n\t\n\tvar _utils = __webpack_require__(19);\n\t\n\tvar _lang = __webpack_require__(8);\n\t\n\tvar _constants = __webpack_require__(17);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\tvar Documents = exports.Documents = function (_Component) {\n\t _inherits(Documents, _Component);\n\t\n\t function Documents() {\n\t _classCallCheck(this, Documents);\n\t\n\t return _possibleConstructorReturn(this, (Documents.__proto__ || Object.getPrototypeOf(Documents)).apply(this, arguments));\n\t }\n\t\n\t _createClass(Documents, [{\n\t key: 'componentDidMount',\n\t value: function componentDidMount() {\n\t var _props = this.props,\n\t fetchCollection = _props.fetchCollection,\n\t params = _props.params;\n\t\n\t fetchCollection(params.collection_name);\n\t }\n\t }, {\n\t key: 'componentWillReceiveProps',\n\t value: function componentWillReceiveProps(nextProps) {\n\t var fetchCollection = nextProps.fetchCollection,\n\t params = nextProps.params;\n\t\n\t if (params.collection_name !== this.props.params.collection_name) {\n\t fetchCollection(params.collection_name);\n\t }\n\t }\n\t }, {\n\t key: 'handleClickDelete',\n\t value: function handleClickDelete(filename, collection) {\n\t var deleteDocument = this.props.deleteDocument;\n\t\n\t var confirm = window.confirm((0, _lang.getDeleteMessage)(filename));\n\t if (confirm) {\n\t deleteDocument(filename, collection);\n\t }\n\t }\n\t }, {\n\t key: 'renderTable',\n\t value: function renderTable() {\n\t return _react2.default.createElement(\n\t 'div',\n\t { className: 'content-table' },\n\t _react2.default.createElement(\n\t 'table',\n\t null,\n\t _react2.default.createElement(\n\t 'thead',\n\t null,\n\t _react2.default.createElement(\n\t 'tr',\n\t null,\n\t _react2.default.createElement(\n\t 'th',\n\t null,\n\t 'Name'\n\t ),\n\t _react2.default.createElement(\n\t 'th',\n\t null,\n\t 'Date'\n\t ),\n\t _react2.default.createElement(\n\t 'th',\n\t { className: 'th-actions' },\n\t 'Actions'\n\t )\n\t )\n\t ),\n\t _react2.default.createElement(\n\t 'tbody',\n\t null,\n\t this.renderRows()\n\t )\n\t )\n\t );\n\t }\n\t }, {\n\t key: 'renderRows',\n\t value: function renderRows() {\n\t var _this2 = this;\n\t\n\t var documents = this.props.documents;\n\t\n\t return _underscore2.default.map(documents, function (doc) {\n\t var id = doc.id,\n\t slug = doc.slug,\n\t title = doc.title,\n\t http_url = doc.http_url,\n\t collection = doc.collection,\n\t path = doc.path;\n\t\n\t var filename = (0, _helpers.getFilenameFromPath)(path);\n\t var to = _constants.ADMIN_PREFIX + '/collections/' + collection + '/' + filename;\n\t var date = doc.date.substring(0, doc.date.lastIndexOf(\" \")); // w/o timezone\n\t date = (0, _moment2.default)(date).format(\"hh:mm:ss\") == '12:00:00' ? (0, _moment2.default)(date).format(\"ll\") : (0, _moment2.default)(date).format(\"lll\");\n\t\n\t return _react2.default.createElement(\n\t 'tr',\n\t { key: id },\n\t _react2.default.createElement(\n\t 'td',\n\t { className: 'row-title' },\n\t _react2.default.createElement(\n\t 'strong',\n\t null,\n\t _react2.default.createElement(\n\t _reactRouter.Link,\n\t { to: to },\n\t title || slug\n\t )\n\t )\n\t ),\n\t _react2.default.createElement(\n\t 'td',\n\t null,\n\t date\n\t ),\n\t _react2.default.createElement(\n\t 'td',\n\t null,\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'row-actions' },\n\t _react2.default.createElement(_Button2.default, {\n\t onClick: function onClick() {\n\t return _this2.handleClickDelete(filename, collection);\n\t },\n\t type: 'delete',\n\t icon: 'trash',\n\t active: true,\n\t thin: true }),\n\t http_url && _react2.default.createElement(_Button2.default, {\n\t to: http_url,\n\t type: 'view',\n\t icon: 'eye',\n\t active: true,\n\t thin: true })\n\t )\n\t )\n\t );\n\t });\n\t }\n\t }, {\n\t key: 'render',\n\t value: function render() {\n\t var _props2 = this.props,\n\t isFetching = _props2.isFetching,\n\t documents = _props2.documents,\n\t search = _props2.search,\n\t params = _props2.params;\n\t var collection_name = params.collection_name;\n\t\n\t\n\t if (isFetching) {\n\t return null;\n\t }\n\t\n\t return _react2.default.createElement(\n\t 'div',\n\t null,\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'content-header' },\n\t _react2.default.createElement(\n\t 'h1',\n\t null,\n\t (0, _helpers.capitalize)(collection_name)\n\t ),\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'page-buttons' },\n\t _react2.default.createElement(\n\t _reactRouter.Link,\n\t { className: 'btn btn-active', to: _constants.ADMIN_PREFIX + '/collections/' + collection_name + '/new' },\n\t collection_name == \"posts\" ? \"New post\" : \"New document\"\n\t )\n\t ),\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'pull-right' },\n\t _react2.default.createElement(_InputSearch2.default, { searchBy: 'title', search: search })\n\t )\n\t ),\n\t documents.length > 0 && this.renderTable(),\n\t !documents.length && _react2.default.createElement(\n\t 'h1',\n\t null,\n\t (0, _lang.getNotFoundMessage)(\"documents\")\n\t )\n\t );\n\t }\n\t }]);\n\t\n\t return Documents;\n\t}(_react.Component);\n\t\n\tDocuments.propTypes = {\n\t isFetching: _react.PropTypes.bool.isRequired,\n\t documents: _react.PropTypes.array.isRequired,\n\t fetchCollection: _react.PropTypes.func.isRequired,\n\t deleteDocument: _react.PropTypes.func.isRequired,\n\t search: _react.PropTypes.func.isRequired,\n\t params: _react.PropTypes.object.isRequired\n\t};\n\t\n\tvar mapStateToProps = function mapStateToProps(state) {\n\t return {\n\t documents: (0, _collections2.filterByTitle)(state.collections.currentCollection.documents, state.utils.input),\n\t isFetching: state.collections.isFetching\n\t };\n\t};\n\t\n\tvar mapDispatchToProps = function mapDispatchToProps(dispatch) {\n\t return (0, _redux.bindActionCreators)({\n\t fetchCollection: _collections.fetchCollection,\n\t deleteDocument: _collections.deleteDocument,\n\t search: _utils.search\n\t }, dispatch);\n\t};\n\t\n\texports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)(Documents);\n\n/***/ },\n/* 372 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\tvar _react = __webpack_require__(2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\tvar NotFound = function (_Component) {\n\t _inherits(NotFound, _Component);\n\t\n\t function NotFound() {\n\t _classCallCheck(this, NotFound);\n\t\n\t return _possibleConstructorReturn(this, (NotFound.__proto__ || Object.getPrototypeOf(NotFound)).apply(this, arguments));\n\t }\n\t\n\t _createClass(NotFound, [{\n\t key: \"render\",\n\t value: function render() {\n\t return _react2.default.createElement(\n\t \"div\",\n\t { className: \"notfound\" },\n\t _react2.default.createElement(\"img\", { src: __webpack_require__(425) }),\n\t _react2.default.createElement(\n\t \"h1\",\n\t null,\n\t \"Huh. It seems that page is Hyde-ing...\"\n\t ),\n\t _react2.default.createElement(\n\t \"h2\",\n\t null,\n\t \"The resource you requested was not found.\"\n\t )\n\t );\n\t }\n\t }]);\n\t\n\t return NotFound;\n\t}(_react.Component);\n\t\n\texports.default = NotFound;\n\n/***/ },\n/* 373 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\texports.PageEdit = undefined;\n\t\n\tvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\t\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\tvar _react = __webpack_require__(2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _reactRedux = __webpack_require__(15);\n\t\n\tvar _redux = __webpack_require__(13);\n\t\n\tvar _reactRouter = __webpack_require__(16);\n\t\n\tvar _underscore = __webpack_require__(7);\n\t\n\tvar _underscore2 = _interopRequireDefault(_underscore);\n\t\n\tvar _Button = __webpack_require__(22);\n\t\n\tvar _Button2 = _interopRequireDefault(_Button);\n\t\n\tvar _Splitter = __webpack_require__(47);\n\t\n\tvar _Splitter2 = _interopRequireDefault(_Splitter);\n\t\n\tvar _Errors = __webpack_require__(46);\n\t\n\tvar _Errors2 = _interopRequireDefault(_Errors);\n\t\n\tvar _Breadcrumbs = __webpack_require__(45);\n\t\n\tvar _Breadcrumbs2 = _interopRequireDefault(_Breadcrumbs);\n\t\n\tvar _InputTitle = __webpack_require__(80);\n\t\n\tvar _InputTitle2 = _interopRequireDefault(_InputTitle);\n\t\n\tvar _MarkdownEditor = __webpack_require__(78);\n\t\n\tvar _MarkdownEditor2 = _interopRequireDefault(_MarkdownEditor);\n\t\n\tvar _MetaFields = __webpack_require__(81);\n\t\n\tvar _MetaFields2 = _interopRequireDefault(_MetaFields);\n\t\n\tvar _pages = __webpack_require__(101);\n\t\n\tvar _metadata = __webpack_require__(56);\n\t\n\tvar _utils = __webpack_require__(19);\n\t\n\tvar _lang = __webpack_require__(8);\n\t\n\tvar _constants = __webpack_require__(17);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\tvar PageEdit = exports.PageEdit = function (_Component) {\n\t _inherits(PageEdit, _Component);\n\t\n\t function PageEdit() {\n\t _classCallCheck(this, PageEdit);\n\t\n\t return _possibleConstructorReturn(this, (PageEdit.__proto__ || Object.getPrototypeOf(PageEdit)).apply(this, arguments));\n\t }\n\t\n\t _createClass(PageEdit, [{\n\t key: 'componentWillMount',\n\t value: function componentWillMount() {\n\t var clearErrors = this.props.clearErrors;\n\t\n\t clearErrors();\n\t }\n\t }, {\n\t key: 'componentDidMount',\n\t value: function componentDidMount() {\n\t var _props = this.props,\n\t fetchPage = _props.fetchPage,\n\t params = _props.params,\n\t router = _props.router,\n\t route = _props.route;\n\t\n\t router.setRouteLeaveHook(route, this.routerWillLeave.bind(this));\n\t fetchPage(params.id);\n\t }\n\t }, {\n\t key: 'componentWillReceiveProps',\n\t value: function componentWillReceiveProps(nextProps) {\n\t if (this.props.updated !== nextProps.updated) {\n\t var new_name = nextProps.page.name;\n\t var name = this.props.page.name;\n\t // redirect if the name is changed\n\t if (new_name != name) {\n\t _reactRouter.browserHistory.push(_constants.ADMIN_PREFIX + '/pages/' + new_name);\n\t }\n\t }\n\t }\n\t }, {\n\t key: 'routerWillLeave',\n\t value: function routerWillLeave(nextLocation) {\n\t if (this.props.fieldChanged) {\n\t return (0, _lang.getLeaveMessage)();\n\t }\n\t }\n\t }, {\n\t key: 'handleClickSave',\n\t value: function handleClickSave(name) {\n\t var _props2 = this.props,\n\t putPage = _props2.putPage,\n\t fieldChanged = _props2.fieldChanged;\n\t\n\t if (fieldChanged) {\n\t putPage(name);\n\t }\n\t }\n\t }, {\n\t key: 'handleClickDelete',\n\t value: function handleClickDelete(name) {\n\t var deletePage = this.props.deletePage;\n\t\n\t var confirm = window.confirm((0, _lang.getDeleteMessage)(name));\n\t if (confirm) {\n\t deletePage(name);\n\t _reactRouter.browserHistory.push(_constants.ADMIN_PREFIX + '/pages');\n\t }\n\t }\n\t }, {\n\t key: 'render',\n\t value: function render() {\n\t var _this2 = this;\n\t\n\t var _props3 = this.props,\n\t isFetching = _props3.isFetching,\n\t page = _props3.page,\n\t errors = _props3.errors,\n\t updateTitle = _props3.updateTitle,\n\t updateBody = _props3.updateBody,\n\t updatePath = _props3.updatePath,\n\t updated = _props3.updated,\n\t fieldChanged = _props3.fieldChanged;\n\t\n\t\n\t if (isFetching) {\n\t return null;\n\t }\n\t\n\t if (_underscore2.default.isEmpty(page)) {\n\t return _react2.default.createElement(\n\t 'h1',\n\t null,\n\t 'Could not find the page.'\n\t );\n\t }\n\t\n\t var name = page.name,\n\t raw_content = page.raw_content,\n\t http_url = page.http_url,\n\t path = page.path,\n\t front_matter = page.front_matter;\n\t\n\t var title = front_matter.title ? front_matter.title : '';\n\t\n\t return _react2.default.createElement(\n\t 'div',\n\t null,\n\t errors.length > 0 && _react2.default.createElement(_Errors2.default, { errors: errors }),\n\t _react2.default.createElement(_Breadcrumbs2.default, {\n\t onChange: updatePath,\n\t content: path,\n\t link: _constants.ADMIN_PREFIX + '/pages',\n\t type: 'pages',\n\t editable: true }),\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'content-wrapper' },\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'content-body' },\n\t _react2.default.createElement(_InputTitle2.default, { onChange: updateTitle, title: title, ref: 'title' }),\n\t _react2.default.createElement(_MarkdownEditor2.default, {\n\t onChange: updateBody,\n\t onSave: function onSave() {\n\t return _this2.handleClickSave(name);\n\t },\n\t placeholder: 'Body',\n\t initialValue: raw_content,\n\t ref: 'editor' }),\n\t _react2.default.createElement(_Splitter2.default, null),\n\t _react2.default.createElement(_MetaFields2.default, { fields: _extends({ title: title, raw_content: raw_content, path: path }, front_matter) })\n\t ),\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'content-side' },\n\t _react2.default.createElement(_Button2.default, {\n\t onClick: function onClick() {\n\t return _this2.handleClickSave(name);\n\t },\n\t type: 'save',\n\t active: fieldChanged,\n\t triggered: updated,\n\t icon: 'save',\n\t block: true }),\n\t _react2.default.createElement(_Button2.default, {\n\t to: http_url,\n\t type: 'view',\n\t icon: 'eye',\n\t active: true,\n\t block: true }),\n\t _react2.default.createElement(_Splitter2.default, null),\n\t _react2.default.createElement(_Button2.default, {\n\t onClick: function onClick() {\n\t return _this2.handleClickDelete(name);\n\t },\n\t type: 'delete',\n\t active: true,\n\t icon: 'trash',\n\t block: true })\n\t )\n\t )\n\t );\n\t }\n\t }]);\n\t\n\t return PageEdit;\n\t}(_react.Component);\n\t\n\tPageEdit.propTypes = {\n\t page: _react.PropTypes.object.isRequired,\n\t fetchPage: _react.PropTypes.func.isRequired,\n\t deletePage: _react.PropTypes.func.isRequired,\n\t putPage: _react.PropTypes.func.isRequired,\n\t updateTitle: _react.PropTypes.func.isRequired,\n\t updateBody: _react.PropTypes.func.isRequired,\n\t updatePath: _react.PropTypes.func.isRequired,\n\t clearErrors: _react.PropTypes.func.isRequired,\n\t isFetching: _react.PropTypes.bool.isRequired,\n\t errors: _react.PropTypes.array.isRequired,\n\t fieldChanged: _react.PropTypes.bool.isRequired,\n\t updated: _react.PropTypes.bool.isRequired,\n\t params: _react.PropTypes.object.isRequired,\n\t router: _react.PropTypes.object.isRequired,\n\t route: _react.PropTypes.object.isRequired\n\t};\n\t\n\tvar mapStateToProps = function mapStateToProps(state) {\n\t return {\n\t page: state.pages.page,\n\t isFetching: state.pages.isFetching,\n\t fieldChanged: state.metadata.fieldChanged,\n\t updated: state.pages.updated,\n\t errors: state.utils.errors\n\t };\n\t};\n\t\n\tvar mapDispatchToProps = function mapDispatchToProps(dispatch) {\n\t return (0, _redux.bindActionCreators)({\n\t fetchPage: _pages.fetchPage,\n\t deletePage: _pages.deletePage,\n\t putPage: _pages.putPage,\n\t updateTitle: _metadata.updateTitle,\n\t updateBody: _metadata.updateBody,\n\t updatePath: _metadata.updatePath,\n\t clearErrors: _utils.clearErrors\n\t }, dispatch);\n\t};\n\t\n\texports.default = (0, _reactRouter.withRouter)((0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)(PageEdit));\n\n/***/ },\n/* 374 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\texports.PageNew = undefined;\n\t\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\tvar _react = __webpack_require__(2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _reactRedux = __webpack_require__(15);\n\t\n\tvar _redux = __webpack_require__(13);\n\t\n\tvar _reactRouter = __webpack_require__(16);\n\t\n\tvar _constants = __webpack_require__(17);\n\t\n\tvar _Splitter = __webpack_require__(47);\n\t\n\tvar _Splitter2 = _interopRequireDefault(_Splitter);\n\t\n\tvar _Errors = __webpack_require__(46);\n\t\n\tvar _Errors2 = _interopRequireDefault(_Errors);\n\t\n\tvar _Breadcrumbs = __webpack_require__(45);\n\t\n\tvar _Breadcrumbs2 = _interopRequireDefault(_Breadcrumbs);\n\t\n\tvar _Button = __webpack_require__(22);\n\t\n\tvar _Button2 = _interopRequireDefault(_Button);\n\t\n\tvar _InputTitle = __webpack_require__(80);\n\t\n\tvar _InputTitle2 = _interopRequireDefault(_InputTitle);\n\t\n\tvar _Checkbox = __webpack_require__(356);\n\t\n\tvar _Checkbox2 = _interopRequireDefault(_Checkbox);\n\t\n\tvar _MarkdownEditor = __webpack_require__(78);\n\t\n\tvar _MarkdownEditor2 = _interopRequireDefault(_MarkdownEditor);\n\t\n\tvar _MetaFields = __webpack_require__(81);\n\t\n\tvar _MetaFields2 = _interopRequireDefault(_MetaFields);\n\t\n\tvar _metadata = __webpack_require__(56);\n\t\n\tvar _pages = __webpack_require__(101);\n\t\n\tvar _utils = __webpack_require__(19);\n\t\n\tvar _lang = __webpack_require__(8);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\tvar PageNew = exports.PageNew = function (_Component) {\n\t _inherits(PageNew, _Component);\n\t\n\t function PageNew() {\n\t _classCallCheck(this, PageNew);\n\t\n\t return _possibleConstructorReturn(this, (PageNew.__proto__ || Object.getPrototypeOf(PageNew)).apply(this, arguments));\n\t }\n\t\n\t _createClass(PageNew, [{\n\t key: 'componentWillMount',\n\t value: function componentWillMount() {\n\t var clearErrors = this.props.clearErrors;\n\t\n\t clearErrors();\n\t }\n\t }, {\n\t key: 'componentDidMount',\n\t value: function componentDidMount() {\n\t var _props = this.props,\n\t router = _props.router,\n\t route = _props.route;\n\t\n\t router.setRouteLeaveHook(route, this.routerWillLeave.bind(this));\n\t }\n\t }, {\n\t key: 'componentWillReceiveProps',\n\t value: function componentWillReceiveProps(nextProps) {\n\t if (this.props.updated !== nextProps.updated) {\n\t _reactRouter.browserHistory.push(_constants.ADMIN_PREFIX + '/pages/' + nextProps.page.name);\n\t }\n\t }\n\t }, {\n\t key: 'routerWillLeave',\n\t value: function routerWillLeave(nextLocation) {\n\t if (this.props.fieldChanged) {\n\t return (0, _lang.getLeaveMessage)();\n\t }\n\t }\n\t }, {\n\t key: 'handleClickSave',\n\t value: function handleClickSave() {\n\t var _props2 = this.props,\n\t fieldChanged = _props2.fieldChanged,\n\t putPage = _props2.putPage;\n\t\n\t if (fieldChanged) {\n\t putPage();\n\t }\n\t }\n\t }, {\n\t key: 'render',\n\t value: function render() {\n\t var _this2 = this;\n\t\n\t var _props3 = this.props,\n\t errors = _props3.errors,\n\t updated = _props3.updated,\n\t updateTitle = _props3.updateTitle,\n\t updateBody = _props3.updateBody,\n\t updatePath = _props3.updatePath,\n\t updateDraft = _props3.updateDraft,\n\t fieldChanged = _props3.fieldChanged;\n\t\n\t\n\t return _react2.default.createElement(\n\t 'div',\n\t null,\n\t errors.length > 0 && _react2.default.createElement(_Errors2.default, { errors: errors }),\n\t _react2.default.createElement(_Breadcrumbs2.default, {\n\t onChange: updatePath,\n\t link: _constants.ADMIN_PREFIX + '/pages',\n\t type: \"pages\",\n\t content: '',\n\t editable: true }),\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'content-wrapper' },\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'content-body' },\n\t _react2.default.createElement(_InputTitle2.default, { onChange: updateTitle, title: '', ref: 'title' }),\n\t _react2.default.createElement(_MarkdownEditor2.default, {\n\t onChange: updateBody,\n\t onSave: function onSave() {\n\t return _this2.handleClickSave();\n\t },\n\t placeholder: 'Body',\n\t initialValue: '',\n\t ref: 'editor' }),\n\t _react2.default.createElement(_Splitter2.default, null),\n\t _react2.default.createElement(_MetaFields2.default, { fields: {} })\n\t ),\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'content-side' },\n\t _react2.default.createElement(_Button2.default, {\n\t onClick: function onClick() {\n\t return _this2.handleClickSave();\n\t },\n\t type: 'create',\n\t active: fieldChanged,\n\t triggered: updated,\n\t icon: 'plus-square',\n\t block: true })\n\t )\n\t )\n\t );\n\t }\n\t }]);\n\t\n\t return PageNew;\n\t}(_react.Component);\n\t\n\tPageNew.propTypes = {\n\t putPage: _react.PropTypes.func.isRequired,\n\t updateTitle: _react.PropTypes.func.isRequired,\n\t updateBody: _react.PropTypes.func.isRequired,\n\t updatePath: _react.PropTypes.func.isRequired,\n\t updateDraft: _react.PropTypes.func.isRequired,\n\t clearErrors: _react.PropTypes.func.isRequired,\n\t errors: _react.PropTypes.array.isRequired,\n\t fieldChanged: _react.PropTypes.bool.isRequired,\n\t updated: _react.PropTypes.bool.isRequired,\n\t router: _react.PropTypes.object.isRequired,\n\t route: _react.PropTypes.object.isRequired\n\t};\n\t\n\tvar mapStateToProps = function mapStateToProps(state) {\n\t return {\n\t page: state.pages.page,\n\t fieldChanged: state.metadata.fieldChanged,\n\t errors: state.utils.errors,\n\t updated: state.pages.updated\n\t };\n\t};\n\t\n\tvar mapDispatchToProps = function mapDispatchToProps(dispatch) {\n\t return (0, _redux.bindActionCreators)({\n\t updateTitle: _metadata.updateTitle,\n\t updateBody: _metadata.updateBody,\n\t updatePath: _metadata.updatePath,\n\t updateDraft: _metadata.updateDraft,\n\t putPage: _pages.putPage,\n\t clearErrors: _utils.clearErrors\n\t }, dispatch);\n\t};\n\t\n\texports.default = (0, _reactRouter.withRouter)((0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)(PageNew));\n\n/***/ },\n/* 375 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\texports.Pages = undefined;\n\t\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\tvar _react = __webpack_require__(2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _reactRouter = __webpack_require__(16);\n\t\n\tvar _reactRedux = __webpack_require__(15);\n\t\n\tvar _redux = __webpack_require__(13);\n\t\n\tvar _underscore = __webpack_require__(7);\n\t\n\tvar _underscore2 = _interopRequireDefault(_underscore);\n\t\n\tvar _Button = __webpack_require__(22);\n\t\n\tvar _Button2 = _interopRequireDefault(_Button);\n\t\n\tvar _InputSearch = __webpack_require__(79);\n\t\n\tvar _InputSearch2 = _interopRequireDefault(_InputSearch);\n\t\n\tvar _pages = __webpack_require__(101);\n\t\n\tvar _utils = __webpack_require__(19);\n\t\n\tvar _pages2 = __webpack_require__(163);\n\t\n\tvar _lang = __webpack_require__(8);\n\t\n\tvar _constants = __webpack_require__(17);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\tvar Pages = exports.Pages = function (_Component) {\n\t _inherits(Pages, _Component);\n\t\n\t function Pages() {\n\t _classCallCheck(this, Pages);\n\t\n\t return _possibleConstructorReturn(this, (Pages.__proto__ || Object.getPrototypeOf(Pages)).apply(this, arguments));\n\t }\n\t\n\t _createClass(Pages, [{\n\t key: 'componentDidMount',\n\t value: function componentDidMount() {\n\t var fetchPages = this.props.fetchPages;\n\t\n\t fetchPages();\n\t }\n\t }, {\n\t key: 'handleClickDelete',\n\t value: function handleClickDelete(name) {\n\t var deletePage = this.props.deletePage;\n\t\n\t var confirm = window.confirm((0, _lang.getDeleteMessage)(name));\n\t if (confirm) {\n\t deletePage(name);\n\t }\n\t }\n\t }, {\n\t key: 'renderTable',\n\t value: function renderTable() {\n\t return _react2.default.createElement(\n\t 'div',\n\t { className: 'content-table' },\n\t _react2.default.createElement(\n\t 'table',\n\t null,\n\t _react2.default.createElement(\n\t 'thead',\n\t null,\n\t _react2.default.createElement(\n\t 'tr',\n\t null,\n\t _react2.default.createElement(\n\t 'th',\n\t null,\n\t 'Filename'\n\t ),\n\t _react2.default.createElement(\n\t 'th',\n\t { className: 'th-actions' },\n\t 'Actions'\n\t )\n\t )\n\t ),\n\t _react2.default.createElement(\n\t 'tbody',\n\t null,\n\t this.renderRows()\n\t )\n\t )\n\t );\n\t }\n\t }, {\n\t key: 'renderRows',\n\t value: function renderRows() {\n\t var _this2 = this;\n\t\n\t var pages = this.props.pages;\n\t\n\t return _underscore2.default.map(pages, function (page) {\n\t var name = page.name,\n\t http_url = page.http_url,\n\t title = page.title;\n\t\n\t var to = _constants.ADMIN_PREFIX + '/pages/' + name;\n\t return _react2.default.createElement(\n\t 'tr',\n\t { key: name },\n\t _react2.default.createElement(\n\t 'td',\n\t { className: 'row-title' },\n\t _react2.default.createElement(\n\t 'strong',\n\t null,\n\t _react2.default.createElement(\n\t _reactRouter.Link,\n\t { to: to },\n\t name\n\t )\n\t )\n\t ),\n\t _react2.default.createElement(\n\t 'td',\n\t null,\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'row-actions' },\n\t _react2.default.createElement(_Button2.default, {\n\t onClick: function onClick() {\n\t return _this2.handleClickDelete(name);\n\t },\n\t type: 'delete',\n\t icon: 'trash',\n\t active: true,\n\t thin: true }),\n\t _react2.default.createElement(_Button2.default, {\n\t to: http_url,\n\t type: 'view',\n\t icon: 'eye',\n\t active: true,\n\t thin: true })\n\t )\n\t )\n\t );\n\t });\n\t }\n\t }, {\n\t key: 'render',\n\t value: function render() {\n\t var _props = this.props,\n\t isFetching = _props.isFetching,\n\t pages = _props.pages,\n\t search = _props.search;\n\t\n\t\n\t if (isFetching) {\n\t return null;\n\t }\n\t\n\t return _react2.default.createElement(\n\t 'div',\n\t null,\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'content-header' },\n\t _react2.default.createElement(\n\t 'h1',\n\t null,\n\t 'Pages'\n\t ),\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'page-buttons' },\n\t _react2.default.createElement(\n\t _reactRouter.Link,\n\t { className: 'btn btn-active', to: _constants.ADMIN_PREFIX + '/pages/new' },\n\t 'New page'\n\t )\n\t ),\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'pull-right' },\n\t _react2.default.createElement(_InputSearch2.default, { searchBy: 'filename', search: search })\n\t )\n\t ),\n\t pages.length > 0 && this.renderTable(),\n\t !pages.length && _react2.default.createElement(\n\t 'h1',\n\t null,\n\t (0, _lang.getNotFoundMessage)(\"pages\")\n\t )\n\t );\n\t }\n\t }]);\n\t\n\t return Pages;\n\t}(_react.Component);\n\t\n\tPages.propTypes = {\n\t pages: _react.PropTypes.array.isRequired,\n\t fetchPages: _react.PropTypes.func.isRequired,\n\t deletePage: _react.PropTypes.func.isRequired,\n\t isFetching: _react.PropTypes.bool.isRequired,\n\t search: _react.PropTypes.func.isRequired\n\t};\n\t\n\tvar mapStateToProps = function mapStateToProps(state) {\n\t return {\n\t pages: (0, _pages2.filterByFilename)(state.pages.pages, state.utils.input),\n\t isFetching: state.pages.isFetching\n\t };\n\t};\n\t\n\tvar mapDispatchToProps = function mapDispatchToProps(dispatch) {\n\t return (0, _redux.bindActionCreators)({\n\t fetchPages: _pages.fetchPages,\n\t deletePage: _pages.deletePage,\n\t search: _utils.search\n\t }, dispatch);\n\t};\n\t\n\texports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)(Pages);\n\n/***/ },\n/* 376 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\texports.StaticFiles = undefined;\n\t\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\tvar _react = __webpack_require__(2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _reactRouter = __webpack_require__(16);\n\t\n\tvar _reactRedux = __webpack_require__(15);\n\t\n\tvar _redux = __webpack_require__(13);\n\t\n\tvar _underscore = __webpack_require__(7);\n\t\n\tvar _underscore2 = _interopRequireDefault(_underscore);\n\t\n\tvar _constants = __webpack_require__(17);\n\t\n\tvar _reactDropzone = __webpack_require__(539);\n\t\n\tvar _reactDropzone2 = _interopRequireDefault(_reactDropzone);\n\t\n\tvar _Button = __webpack_require__(22);\n\t\n\tvar _Button2 = _interopRequireDefault(_Button);\n\t\n\tvar _FilePreview = __webpack_require__(355);\n\t\n\tvar _FilePreview2 = _interopRequireDefault(_FilePreview);\n\t\n\tvar _InputSearch = __webpack_require__(79);\n\t\n\tvar _InputSearch2 = _interopRequireDefault(_InputSearch);\n\t\n\tvar _utils = __webpack_require__(19);\n\t\n\tvar _helpers = __webpack_require__(20);\n\t\n\tvar _staticfiles = __webpack_require__(164);\n\t\n\tvar _lang = __webpack_require__(8);\n\t\n\tvar _staticfiles2 = __webpack_require__(354);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\tvar StaticFiles = exports.StaticFiles = function (_Component) {\n\t _inherits(StaticFiles, _Component);\n\t\n\t function StaticFiles() {\n\t _classCallCheck(this, StaticFiles);\n\t\n\t return _possibleConstructorReturn(this, (StaticFiles.__proto__ || Object.getPrototypeOf(StaticFiles)).apply(this, arguments));\n\t }\n\t\n\t _createClass(StaticFiles, [{\n\t key: 'componentDidMount',\n\t value: function componentDidMount() {\n\t var fetchStaticFiles = this.props.fetchStaticFiles;\n\t\n\t fetchStaticFiles();\n\t }\n\t }, {\n\t key: 'onDrop',\n\t value: function onDrop(uploadedFiles) {\n\t var _props = this.props,\n\t uploadStaticFiles = _props.uploadStaticFiles,\n\t files = _props.files;\n\t\n\t var existingFiles = (0, _helpers.existingUploadedFilenames)(uploadedFiles, files);\n\t if (existingFiles.length > 0) {\n\t var confirm = window.confirm((0, _lang.getOverrideMessage)(existingFiles.join(', ')));\n\t if (!confirm) {\n\t return false;\n\t }\n\t }\n\t uploadStaticFiles(uploadedFiles);\n\t }\n\t }, {\n\t key: 'openDropzone',\n\t value: function openDropzone() {\n\t this.refs.dropzone.open();\n\t }\n\t }, {\n\t key: 'renderDropzone',\n\t value: function renderDropzone() {\n\t var _this2 = this;\n\t\n\t var _props2 = this.props,\n\t files = _props2.files,\n\t deleteStaticFile = _props2.deleteStaticFile;\n\t\n\t return _react2.default.createElement(\n\t _reactDropzone2.default,\n\t {\n\t onDrop: function onDrop(files) {\n\t return _this2.onDrop(files);\n\t },\n\t ref: 'dropzone',\n\t className: 'dropzone',\n\t activeClassName: 'dropzone-active',\n\t multiple: true,\n\t disableClick: true },\n\t files.length > 0 && _react2.default.createElement(\n\t 'div',\n\t { className: 'preview-container' },\n\t _underscore2.default.map(files, function (file, i) {\n\t return _react2.default.createElement(_FilePreview2.default, { onClickDelete: deleteStaticFile, key: i, file: file });\n\t })\n\t ),\n\t !files.length && _react2.default.createElement(\n\t 'div',\n\t { className: 'preview-info' },\n\t _react2.default.createElement('i', { className: 'fa fa-upload', 'aria-hidden': 'true' }),\n\t _react2.default.createElement(\n\t 'p',\n\t null,\n\t 'Drag and drop file(s) here to upload'\n\t )\n\t )\n\t );\n\t }\n\t }, {\n\t key: 'render',\n\t value: function render() {\n\t var _this3 = this;\n\t\n\t var _props3 = this.props,\n\t files = _props3.files,\n\t isFetching = _props3.isFetching,\n\t search = _props3.search;\n\t\n\t\n\t if (isFetching) {\n\t return null;\n\t }\n\t\n\t return _react2.default.createElement(\n\t 'div',\n\t null,\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'content-header' },\n\t _react2.default.createElement(\n\t 'h1',\n\t null,\n\t 'Static Files'\n\t ),\n\t _react2.default.createElement(_Button2.default, {\n\t onClick: function onClick() {\n\t return _this3.openDropzone();\n\t },\n\t type: 'upload',\n\t icon: 'upload',\n\t active: true }),\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'pull-right' },\n\t _react2.default.createElement(_InputSearch2.default, { searchBy: 'filename', search: search })\n\t )\n\t ),\n\t this.renderDropzone()\n\t );\n\t }\n\t }]);\n\t\n\t return StaticFiles;\n\t}(_react.Component);\n\t\n\tStaticFiles.propTypes = {\n\t files: _react.PropTypes.array.isRequired,\n\t isFetching: _react.PropTypes.bool.isRequired,\n\t fetchStaticFiles: _react.PropTypes.func.isRequired,\n\t uploadStaticFiles: _react.PropTypes.func.isRequired,\n\t deleteStaticFile: _react.PropTypes.func.isRequired,\n\t search: _react.PropTypes.func.isRequired\n\t};\n\t\n\tvar mapStateToProps = function mapStateToProps(state) {\n\t return {\n\t files: (0, _staticfiles.filterByFilename)(state.staticfiles.files, state.utils.input),\n\t isFetching: state.staticfiles.isFetching\n\t };\n\t};\n\t\n\tvar mapDispatchToProps = function mapDispatchToProps(dispatch) {\n\t return (0, _redux.bindActionCreators)({\n\t fetchStaticFiles: _staticfiles2.fetchStaticFiles,\n\t uploadStaticFiles: _staticfiles2.uploadStaticFiles,\n\t deleteStaticFile: _staticfiles2.deleteStaticFile,\n\t search: _utils.search\n\t }, dispatch);\n\t};\n\t\n\texports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)(StaticFiles);\n\n/***/ },\n/* 377 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\texports.default = config;\n\t\n\tvar _actionTypes = __webpack_require__(14);\n\t\n\tfunction config() {\n\t var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {\n\t config: {},\n\t updated: false,\n\t editorChanged: false,\n\t isFetching: false\n\t };\n\t var action = arguments[1];\n\t\n\t switch (action.type) {\n\t case _actionTypes.FETCH_CONFIG_REQUEST:\n\t return Object.assign({}, state, {\n\t isFetching: true\n\t });\n\t case _actionTypes.FETCH_CONFIG_SUCCESS:\n\t return Object.assign({}, state, {\n\t config: action.config,\n\t isFetching: false\n\t });\n\t case _actionTypes.FETCH_CONFIG_FAILURE:\n\t return Object.assign({}, state, {\n\t isFetching: false\n\t });\n\t case _actionTypes.PUT_CONFIG_SUCCESS:\n\t return Object.assign({}, state, {\n\t config: action.config,\n\t editorChanged: false,\n\t updated: true\n\t });\n\t case _actionTypes.PUT_CONFIG_FAILURE:\n\t return Object.assign({}, state, {\n\t editorChanged: false\n\t });\n\t case _actionTypes.CONFIG_EDITOR_CHANGED:\n\t return Object.assign({}, state, {\n\t editorChanged: true,\n\t updated: false\n\t });\n\t default:\n\t return Object.assign({}, state, {\n\t updated: false,\n\t editorChanged: false\n\t });\n\t }\n\t}\n\n/***/ },\n/* 378 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _redux = __webpack_require__(13);\n\t\n\tvar _reactRouterRedux = __webpack_require__(309);\n\t\n\tvar _config = __webpack_require__(377);\n\t\n\tvar _config2 = _interopRequireDefault(_config);\n\t\n\tvar _pages = __webpack_require__(163);\n\t\n\tvar _pages2 = _interopRequireDefault(_pages);\n\t\n\tvar _collections = __webpack_require__(161);\n\t\n\tvar _collections2 = _interopRequireDefault(_collections);\n\t\n\tvar _metadata = __webpack_require__(379);\n\t\n\tvar _metadata2 = _interopRequireDefault(_metadata);\n\t\n\tvar _datafiles = __webpack_require__(162);\n\t\n\tvar _datafiles2 = _interopRequireDefault(_datafiles);\n\t\n\tvar _staticfiles = __webpack_require__(164);\n\t\n\tvar _staticfiles2 = _interopRequireDefault(_staticfiles);\n\t\n\tvar _utils = __webpack_require__(381);\n\t\n\tvar _utils2 = _interopRequireDefault(_utils);\n\t\n\tvar _notifications = __webpack_require__(380);\n\t\n\tvar _notifications2 = _interopRequireDefault(_notifications);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\texports.default = (0, _redux.combineReducers)({\n\t routing: _reactRouterRedux.routerReducer,\n\t config: _config2.default,\n\t pages: _pages2.default,\n\t collections: _collections2.default,\n\t metadata: _metadata2.default,\n\t datafiles: _datafiles2.default,\n\t staticfiles: _staticfiles2.default,\n\t utils: _utils2.default,\n\t notifications: _notifications2.default\n\t});\n\n/***/ },\n/* 379 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\t\n\texports.default = metadata;\n\t\n\tvar _underscore = __webpack_require__(7);\n\t\n\tvar _underscore2 = _interopRequireDefault(_underscore);\n\t\n\tvar _actionTypes = __webpack_require__(14);\n\t\n\tvar _metadata = __webpack_require__(385);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\t// TODO normalize the metadata\n\tfunction metadata() {\n\t var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {\n\t metadata: {},\n\t new_field_count: 1,\n\t key_prefix: '', // force children to be destroyed on sort\n\t fieldChanged: false\n\t };\n\t var action = arguments[1];\n\t\n\t switch (action.type) {\n\t case _actionTypes.UPDATE_TITLE:\n\t return Object.assign({}, state, {\n\t metadata: _extends({}, state.metadata, {\n\t title: action.title\n\t }),\n\t fieldChanged: true\n\t });\n\t case _actionTypes.UPDATE_BODY:\n\t return Object.assign({}, state, {\n\t metadata: _extends({}, state.metadata, {\n\t raw_content: action.body\n\t }),\n\t fieldChanged: true\n\t });\n\t case _actionTypes.UPDATE_PATH:\n\t return Object.assign({}, state, {\n\t metadata: _extends({}, state.metadata, {\n\t path: action.path\n\t }),\n\t fieldChanged: true\n\t });\n\t case _actionTypes.UPDATE_DRAFT:\n\t return Object.assign({}, state, {\n\t draft: _extends({}, state.metadata, {\n\t draft: action.draft\n\t }),\n\t fieldChanged: true\n\t });\n\t case _actionTypes.STORE_CONTENT_FIELDS:\n\t return Object.assign({}, state, {\n\t metadata: action.content\n\t });\n\t case _actionTypes.ADD_METAFIELD:\n\t return Object.assign({}, state, {\n\t metadata: (0, _metadata.addField)(state, action.namePrefix),\n\t new_field_count: state.new_field_count + 1\n\t });\n\t case _actionTypes.REMOVE_METAFIELD:\n\t return Object.assign({}, state, {\n\t metadata: (0, _metadata.removeField)(state, action.namePrefix, action.key),\n\t fieldChanged: true,\n\t key_prefix: Math.random() * 100 + ''\n\t });\n\t case _actionTypes.UPDATE_FIELD_KEY:\n\t return Object.assign({}, state, {\n\t metadata: (0, _metadata.updateFieldKey)(state, action.namePrefix, action.fieldKey, action.newKey),\n\t fieldChanged: true\n\t });\n\t case _actionTypes.UPDATE_FIELD_VALUE:\n\t return Object.assign({}, state, {\n\t metadata: (0, _metadata.updateFieldValue)(state, action.nameAttr, action.value),\n\t fieldChanged: true\n\t });\n\t case _actionTypes.MOVE_ARRAY_ITEM:\n\t return Object.assign({}, state, {\n\t metadata: (0, _metadata.moveArrayItem)(state, action.namePrefix, action.srcInd, action.targetInd),\n\t key_prefix: Math.random() * 100 + '',\n\t fieldChanged: true\n\t });\n\t case _actionTypes.CONVERT_FIELD:\n\t return Object.assign({}, state, {\n\t metadata: (0, _metadata.convertField)(state, action.nameAttr, action.convertType),\n\t new_field_count: state.new_field_count + 1,\n\t fieldChanged: true\n\t });\n\t default:\n\t return Object.assign({}, state, {\n\t fieldChanged: false\n\t });\n\t }\n\t}\n\n/***/ },\n/* 380 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\texports.default = notifications;\n\t\n\tvar _actionTypes = __webpack_require__(14);\n\t\n\tfunction notifications() {\n\t var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {\n\t notification: {}\n\t };\n\t var action = arguments[1];\n\t\n\t switch (action.type) {\n\t case _actionTypes.ADD_NOTIFICATION:\n\t return Object.assign({}, state, {\n\t notification: action.notification\n\t });\n\t default:\n\t return state;\n\t }\n\t}\n\n/***/ },\n/* 381 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\texports.default = utils;\n\t\n\tvar _actionTypes = __webpack_require__(14);\n\t\n\tfunction utils() {\n\t var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {\n\t input: '',\n\t errors: []\n\t };\n\t var action = arguments[1];\n\t\n\t switch (action.type) {\n\t case _actionTypes.SEARCH_CONTENT:\n\t return Object.assign({}, state, {\n\t input: action.input\n\t });\n\t case _actionTypes.CLEAR_ERRORS:\n\t return Object.assign({}, state, {\n\t errors: []\n\t });\n\t case _actionTypes.VALIDATION_ERROR:\n\t return Object.assign({}, state, {\n\t errors: action.errors\n\t });\n\t default:\n\t return Object.assign({}, state, {\n\t input: ''\n\t });\n\t }\n\t}\n\n/***/ },\n/* 382 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _react = __webpack_require__(2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _reactRouter = __webpack_require__(16);\n\t\n\tvar _constants = __webpack_require__(17);\n\t\n\tvar _App = __webpack_require__(361);\n\t\n\tvar _App2 = _interopRequireDefault(_App);\n\t\n\tvar _Configuration = __webpack_require__(365);\n\t\n\tvar _Configuration2 = _interopRequireDefault(_Configuration);\n\t\n\tvar _Pages = __webpack_require__(375);\n\t\n\tvar _Pages2 = _interopRequireDefault(_Pages);\n\t\n\tvar _PageEdit = __webpack_require__(373);\n\t\n\tvar _PageEdit2 = _interopRequireDefault(_PageEdit);\n\t\n\tvar _PageNew = __webpack_require__(374);\n\t\n\tvar _PageNew2 = _interopRequireDefault(_PageNew);\n\t\n\tvar _Documents = __webpack_require__(371);\n\t\n\tvar _Documents2 = _interopRequireDefault(_Documents);\n\t\n\tvar _DocumentEdit = __webpack_require__(369);\n\t\n\tvar _DocumentEdit2 = _interopRequireDefault(_DocumentEdit);\n\t\n\tvar _DocumentNew = __webpack_require__(370);\n\t\n\tvar _DocumentNew2 = _interopRequireDefault(_DocumentNew);\n\t\n\tvar _DataFiles = __webpack_require__(368);\n\t\n\tvar _DataFiles2 = _interopRequireDefault(_DataFiles);\n\t\n\tvar _DataFileEdit = __webpack_require__(366);\n\t\n\tvar _DataFileEdit2 = _interopRequireDefault(_DataFileEdit);\n\t\n\tvar _DataFileNew = __webpack_require__(367);\n\t\n\tvar _DataFileNew2 = _interopRequireDefault(_DataFileNew);\n\t\n\tvar _StaticFiles = __webpack_require__(376);\n\t\n\tvar _StaticFiles2 = _interopRequireDefault(_StaticFiles);\n\t\n\tvar _NotFound = __webpack_require__(372);\n\t\n\tvar _NotFound2 = _interopRequireDefault(_NotFound);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\texports.default = _react2.default.createElement(\n\t _reactRouter.Route,\n\t { path: '' + _constants.ADMIN_PREFIX, component: _App2.default },\n\t _react2.default.createElement(_reactRouter.IndexRoute, { component: _Pages2.default }),\n\t _react2.default.createElement(_reactRouter.Route, { path: 'configuration', component: _Configuration2.default }),\n\t _react2.default.createElement(\n\t _reactRouter.Route,\n\t { path: 'pages' },\n\t _react2.default.createElement(_reactRouter.IndexRoute, { component: _Pages2.default }),\n\t _react2.default.createElement(_reactRouter.Route, { path: 'new', component: _PageNew2.default }),\n\t _react2.default.createElement(_reactRouter.Route, { path: ':id', component: _PageEdit2.default })\n\t ),\n\t _react2.default.createElement(\n\t _reactRouter.Route,\n\t { path: 'collections' },\n\t _react2.default.createElement(\n\t _reactRouter.Route,\n\t { path: ':collection_name' },\n\t _react2.default.createElement(_reactRouter.IndexRoute, { component: _Documents2.default }),\n\t _react2.default.createElement(_reactRouter.Route, { path: 'new', component: _DocumentNew2.default }),\n\t _react2.default.createElement(_reactRouter.Route, { path: ':id', component: _DocumentEdit2.default })\n\t )\n\t ),\n\t _react2.default.createElement(\n\t _reactRouter.Route,\n\t { path: 'datafiles' },\n\t _react2.default.createElement(_reactRouter.IndexRoute, { component: _DataFiles2.default }),\n\t _react2.default.createElement(_reactRouter.Route, { path: 'new', component: _DataFileNew2.default }),\n\t _react2.default.createElement(_reactRouter.Route, { path: ':data_file', component: _DataFileEdit2.default })\n\t ),\n\t _react2.default.createElement(_reactRouter.Route, { path: 'staticfiles', component: _StaticFiles2.default }),\n\t _react2.default.createElement(_reactRouter.Route, { path: _constants.ADMIN_PREFIX + '/*', component: _NotFound2.default })\n\t);\n\n/***/ },\n/* 383 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\t/* eslint-disable global-require */\n\tif (true) {\n\t module.exports = __webpack_require__(384);\n\t} else {\n\t module.exports = require('./configureStore.dev');\n\t}\n\n/***/ },\n/* 384 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\texports.default = configureStore;\n\t\n\tvar _redux = __webpack_require__(13);\n\t\n\tvar _reducers = __webpack_require__(378);\n\t\n\tvar _reducers2 = _interopRequireDefault(_reducers);\n\t\n\tvar _reduxThunk = __webpack_require__(655);\n\t\n\tvar _reduxThunk2 = _interopRequireDefault(_reduxThunk);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction configureStore(initialState) {\n\t return (0, _redux.createStore)(_reducers2.default, (0, _redux.applyMiddleware)(_reduxThunk2.default), initialState);\n\t}\n\n/***/ },\n/* 385 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\texports.moveArrayItem = exports.convertField = exports.updateFieldValue = exports.updateFieldKey = exports.removeField = exports.addField = undefined;\n\t\n\tvar _underscore = __webpack_require__(7);\n\t\n\tvar _underscore2 = _interopRequireDefault(_underscore);\n\t\n\tvar _cloneDeep = __webpack_require__(530);\n\t\n\tvar _cloneDeep2 = _interopRequireDefault(_cloneDeep);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\t\n\t/**\n\t * Returns the metadata of the state with the new empty field. If the field does\n\t * not exist, returns the original metadata. Does not mutate the given state.\n\t * @param {Object} state\n\t * @param {String} namePrefix\n\t * @return {Object} metadata\n\t */\n\tvar addField = exports.addField = function addField(state, namePrefix) {\n\t var tmpState = (0, _cloneDeep2.default)(state);\n\t var field = eval('tmpState.' + namePrefix);\n\t if (field === undefined) return tmpState.metadata;\n\t if (_underscore2.default.isArray(field)) field.push('');else field['New field ' + state.new_field_count] = '';\n\t return tmpState.metadata;\n\t};\n\t\n\t/**\n\t * Returns the metadata of the state with the removed key. If the field does not\n\t * exist, returns the original metadata. Does not mutate the given state.\n\t * @param {Object} state\n\t * @param {String} namePrefix\n\t * @param {String} key\n\t * @return {Object} metadata\n\t */\n\tvar removeField = exports.removeField = function removeField(state, namePrefix, key) {\n\t var tmpState = (0, _cloneDeep2.default)(state);\n\t var field = eval('tmpState.' + namePrefix);\n\t if (field === undefined) return tmpState.metadata;\n\t if (_underscore2.default.isArray(field)) {\n\t if (key >= field.length) {\n\t return tmpState.metadata;\n\t }\n\t field.splice(key, 1);\n\t } else {\n\t if (!_underscore2.default.has(field, key)) {\n\t return tmpState.metadata;\n\t }\n\t delete field[key];\n\t }\n\t return tmpState.metadata;\n\t};\n\t\n\t/**\n\t * Returns the metadata of the state with the updated key. If the field does not\n\t * exist or the key already exists, returns the original metadata. Does not\n\t * mutate the given state.\n\t * @param {Object} state\n\t * @param {String} namePrefix\n\t * @param {String} fieldKey\n\t * @param {String} newKey\n\t * @return {Object} metadata\n\t */\n\tvar updateFieldKey = exports.updateFieldKey = function updateFieldKey(state, namePrefix, fieldKey, newKey) {\n\t var tmpState = (0, _cloneDeep2.default)(state);\n\t var field = eval('tmpState.' + namePrefix);\n\t if (field === undefined) return tmpState.metadata;\n\t if (_underscore2.default.has(field, newKey)) return tmpState.metadata;\n\t field = Object.keys(field).reduce(function (result, current) {\n\t if (current == fieldKey) result[newKey] = field[current];else result[current] = field[current];\n\t return result;\n\t }, {});\n\t eval('tmpState.' + namePrefix + ' = field');\n\t return tmpState.metadata;\n\t};\n\t\n\t/**\n\t * Returns the metadata of the state with the updated value of given path(nameAttr).\n\t * If the field does not exist, creates a new field. Does not mutate the given state.\n\t * @param {Object} state\n\t * @param {String} nameAttr\n\t * @param {String} value\n\t * @return {Object} metadata\n\t */\n\tvar updateFieldValue = exports.updateFieldValue = function updateFieldValue(state, nameAttr, value) {\n\t var tmpState = (0, _cloneDeep2.default)(state);\n\t eval('tmpState.' + nameAttr + ' = value');\n\t return tmpState.metadata;\n\t};\n\t\n\t/**\n\t * Returns the metadata of the state with the converted type of given path(nameAttr).\n\t * If the field does not exist, returns the original metadata.\n\t * Does not mutate the given state.\n\t * @param {Object} state\n\t * @param {String} nameAttr\n\t * @param {String} convertType\n\t * @return {Object} metadata\n\t */\n\tvar convertField = exports.convertField = function convertField(state, nameAttr, convertType) {\n\t var tmpState = (0, _cloneDeep2.default)(state);\n\t var field = eval('tmpState.' + nameAttr);\n\t if (field === undefined) return tmpState.metadata;\n\t if (convertType == 'array') field = [''];else if (convertType == 'object') {\n\t var key = 'New field ' + state.new_field_count;\n\t field = _defineProperty({}, key, '');\n\t } else field = '';\n\t eval('tmpState.' + nameAttr + ' = field');\n\t return tmpState.metadata;\n\t};\n\t\n\t/**\n\t * Returns the metadata of the state with the sorted array. Moves the array item to\n\t * target index, shifts the rest of them. If the given path is not an array,\n\t * returns the original metadata. Does not mutate the given state.\n\t * @param {Object} state\n\t * @param {String} namePrefix\n\t * @param {Number} srcInd\n\t * @param {Number} targetInd\n\t * @return {Object} metadata\n\t */\n\tvar moveArrayItem = exports.moveArrayItem = function moveArrayItem(state, namePrefix, srcInd, targetInd) {\n\t var tmpState = (0, _cloneDeep2.default)(state);\n\t var arr = eval('tmpState.' + namePrefix);\n\t if (!_underscore2.default.isArray(arr)) return tmpState.metadata;\n\t arr.splice(targetInd, 0, arr.splice(srcInd, 1)[0]);\n\t return tmpState.metadata;\n\t};\n\n/***/ },\n/* 386 */\n/***/ function(module, exports) {\n\n\t'use strict'\n\t\n\texports.byteLength = byteLength\n\texports.toByteArray = toByteArray\n\texports.fromByteArray = fromByteArray\n\t\n\tvar lookup = []\n\tvar revLookup = []\n\tvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\n\t\n\tvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\n\tfor (var i = 0, len = code.length; i < len; ++i) {\n\t lookup[i] = code[i]\n\t revLookup[code.charCodeAt(i)] = i\n\t}\n\t\n\trevLookup['-'.charCodeAt(0)] = 62\n\trevLookup['_'.charCodeAt(0)] = 63\n\t\n\tfunction placeHoldersCount (b64) {\n\t var len = b64.length\n\t if (len % 4 > 0) {\n\t throw new Error('Invalid string. Length must be a multiple of 4')\n\t }\n\t\n\t // the number of equal signs (place holders)\n\t // if there are two placeholders, than the two characters before it\n\t // represent one byte\n\t // if there is only one, then the three characters before it represent 2 bytes\n\t // this is just a cheap hack to not do indexOf twice\n\t return b64[len - 2] === '=' ? 2 : b64[len - 1] === '=' ? 1 : 0\n\t}\n\t\n\tfunction byteLength (b64) {\n\t // base64 is 4/3 + up to two characters of the original data\n\t return b64.length * 3 / 4 - placeHoldersCount(b64)\n\t}\n\t\n\tfunction toByteArray (b64) {\n\t var i, j, l, tmp, placeHolders, arr\n\t var len = b64.length\n\t placeHolders = placeHoldersCount(b64)\n\t\n\t arr = new Arr(len * 3 / 4 - placeHolders)\n\t\n\t // if there are placeholders, only get up to the last complete 4 chars\n\t l = placeHolders > 0 ? len - 4 : len\n\t\n\t var L = 0\n\t\n\t for (i = 0, j = 0; i < l; i += 4, j += 3) {\n\t tmp = (revLookup[b64.charCodeAt(i)] << 18) | (revLookup[b64.charCodeAt(i + 1)] << 12) | (revLookup[b64.charCodeAt(i + 2)] << 6) | revLookup[b64.charCodeAt(i + 3)]\n\t arr[L++] = (tmp >> 16) & 0xFF\n\t arr[L++] = (tmp >> 8) & 0xFF\n\t arr[L++] = tmp & 0xFF\n\t }\n\t\n\t if (placeHolders === 2) {\n\t tmp = (revLookup[b64.charCodeAt(i)] << 2) | (revLookup[b64.charCodeAt(i + 1)] >> 4)\n\t arr[L++] = tmp & 0xFF\n\t } else if (placeHolders === 1) {\n\t tmp = (revLookup[b64.charCodeAt(i)] << 10) | (revLookup[b64.charCodeAt(i + 1)] << 4) | (revLookup[b64.charCodeAt(i + 2)] >> 2)\n\t arr[L++] = (tmp >> 8) & 0xFF\n\t arr[L++] = tmp & 0xFF\n\t }\n\t\n\t return arr\n\t}\n\t\n\tfunction tripletToBase64 (num) {\n\t return lookup[num >> 18 & 0x3F] + lookup[num >> 12 & 0x3F] + lookup[num >> 6 & 0x3F] + lookup[num & 0x3F]\n\t}\n\t\n\tfunction encodeChunk (uint8, start, end) {\n\t var tmp\n\t var output = []\n\t for (var i = start; i < end; i += 3) {\n\t tmp = (uint8[i] << 16) + (uint8[i + 1] << 8) + (uint8[i + 2])\n\t output.push(tripletToBase64(tmp))\n\t }\n\t return output.join('')\n\t}\n\t\n\tfunction fromByteArray (uint8) {\n\t var tmp\n\t var len = uint8.length\n\t var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n\t var output = ''\n\t var parts = []\n\t var maxChunkLength = 16383 // must be multiple of 3\n\t\n\t // go through the array every three bytes, we'll deal with trailing stuff later\n\t for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n\t parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)))\n\t }\n\t\n\t // pad the end with zeros, but make sure to not forget the extra bytes\n\t if (extraBytes === 1) {\n\t tmp = uint8[len - 1]\n\t output += lookup[tmp >> 2]\n\t output += lookup[(tmp << 4) & 0x3F]\n\t output += '=='\n\t } else if (extraBytes === 2) {\n\t tmp = (uint8[len - 2] << 8) + (uint8[len - 1])\n\t output += lookup[tmp >> 10]\n\t output += lookup[(tmp >> 4) & 0x3F]\n\t output += lookup[(tmp << 2) & 0x3F]\n\t output += '='\n\t }\n\t\n\t parts.push(output)\n\t\n\t return parts.join('')\n\t}\n\n\n/***/ },\n/* 387 */\n/***/ function(module, exports) {\n\n\tace.define(\"ace/mode/yaml_highlight_rules\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/mode/text_highlight_rules\"], function(acequire, exports, module) {\n\t\"use strict\";\n\t\n\tvar oop = acequire(\"../lib/oop\");\n\tvar TextHighlightRules = acequire(\"./text_highlight_rules\").TextHighlightRules;\n\t\n\tvar YamlHighlightRules = function() {\n\t this.$rules = {\n\t \"start\" : [\n\t {\n\t token : \"comment\",\n\t regex : \"#.*$\"\n\t }, {\n\t token : \"list.markup\",\n\t regex : /^(?:-{3}|\\.{3})\\s*(?=#|$)/ \n\t }, {\n\t token : \"list.markup\",\n\t regex : /^\\s*[\\-?](?:$|\\s)/ \n\t }, {\n\t token: \"constant\",\n\t regex: \"!![\\\\w//]+\"\n\t }, {\n\t token: \"constant.language\",\n\t regex: \"[&\\\\*][a-zA-Z0-9-_]+\"\n\t }, {\n\t token: [\"meta.tag\", \"keyword\"],\n\t regex: /^(\\s*\\w.*?)(:(?:\\s+|$))/\n\t },{\n\t token: [\"meta.tag\", \"keyword\"],\n\t regex: /(\\w+?)(\\s*:(?:\\s+|$))/\n\t }, {\n\t token : \"keyword.operator\",\n\t regex : \"<<\\\\w*:\\\\w*\"\n\t }, {\n\t token : \"keyword.operator\",\n\t regex : \"-\\\\s*(?=[{])\"\n\t }, {\n\t token : \"string\", // single line\n\t regex : '[\"](?:(?:\\\\\\\\.)|(?:[^\"\\\\\\\\]))*?[\"]'\n\t }, {\n\t token : \"string\", // multi line string start\n\t regex : '[|>][-+\\\\d\\\\s]*$',\n\t next : \"qqstring\"\n\t }, {\n\t token : \"string\", // single quoted string\n\t regex : \"['](?:(?:\\\\\\\\.)|(?:[^'\\\\\\\\]))*?[']\"\n\t }, {\n\t token : \"constant.numeric\", // float\n\t regex : /(\\b|[+\\-\\.])[\\d_]+(?:(?:\\.[\\d_]*)?(?:[eE][+\\-]?[\\d_]+)?)/\n\t }, {\n\t token : \"constant.numeric\", // other number\n\t regex : /[+\\-]?\\.inf\\b|NaN\\b|0x[\\dA-Fa-f_]+|0b[10_]+/\n\t }, {\n\t token : \"constant.language.boolean\",\n\t regex : \"\\\\b(?:true|false|TRUE|FALSE|True|False|yes|no)\\\\b\"\n\t }, {\n\t token : \"paren.lparen\",\n\t regex : \"[[({]\"\n\t }, {\n\t token : \"paren.rparen\",\n\t regex : \"[\\\\])}]\"\n\t }\n\t ],\n\t \"qqstring\" : [\n\t {\n\t token : \"string\",\n\t regex : '(?=(?:(?:\\\\\\\\.)|(?:[^:]))*?:)',\n\t next : \"start\"\n\t }, {\n\t token : \"string\",\n\t regex : '.+'\n\t }\n\t ]};\n\t\n\t};\n\t\n\toop.inherits(YamlHighlightRules, TextHighlightRules);\n\t\n\texports.YamlHighlightRules = YamlHighlightRules;\n\t});\n\t\n\tace.define(\"ace/mode/matching_brace_outdent\",[\"require\",\"exports\",\"module\",\"ace/range\"], function(acequire, exports, module) {\n\t\"use strict\";\n\t\n\tvar Range = acequire(\"../range\").Range;\n\t\n\tvar MatchingBraceOutdent = function() {};\n\t\n\t(function() {\n\t\n\t this.checkOutdent = function(line, input) {\n\t if (! /^\\s+$/.test(line))\n\t return false;\n\t\n\t return /^\\s*\\}/.test(input);\n\t };\n\t\n\t this.autoOutdent = function(doc, row) {\n\t var line = doc.getLine(row);\n\t var match = line.match(/^(\\s*\\})/);\n\t\n\t if (!match) return 0;\n\t\n\t var column = match[1].length;\n\t var openBracePos = doc.findMatchingBracket({row: row, column: column});\n\t\n\t if (!openBracePos || openBracePos.row == row) return 0;\n\t\n\t var indent = this.$getIndent(doc.getLine(openBracePos.row));\n\t doc.replace(new Range(row, 0, row, column-1), indent);\n\t };\n\t\n\t this.$getIndent = function(line) {\n\t return line.match(/^\\s*/)[0];\n\t };\n\t\n\t}).call(MatchingBraceOutdent.prototype);\n\t\n\texports.MatchingBraceOutdent = MatchingBraceOutdent;\n\t});\n\t\n\tace.define(\"ace/mode/folding/coffee\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/mode/folding/fold_mode\",\"ace/range\"], function(acequire, exports, module) {\n\t\"use strict\";\n\t\n\tvar oop = acequire(\"../../lib/oop\");\n\tvar BaseFoldMode = acequire(\"./fold_mode\").FoldMode;\n\tvar Range = acequire(\"../../range\").Range;\n\t\n\tvar FoldMode = exports.FoldMode = function() {};\n\toop.inherits(FoldMode, BaseFoldMode);\n\t\n\t(function() {\n\t\n\t this.getFoldWidgetRange = function(session, foldStyle, row) {\n\t var range = this.indentationBlock(session, row);\n\t if (range)\n\t return range;\n\t\n\t var re = /\\S/;\n\t var line = session.getLine(row);\n\t var startLevel = line.search(re);\n\t if (startLevel == -1 || line[startLevel] != \"#\")\n\t return;\n\t\n\t var startColumn = line.length;\n\t var maxRow = session.getLength();\n\t var startRow = row;\n\t var endRow = row;\n\t\n\t while (++row < maxRow) {\n\t line = session.getLine(row);\n\t var level = line.search(re);\n\t\n\t if (level == -1)\n\t continue;\n\t\n\t if (line[level] != \"#\")\n\t break;\n\t\n\t endRow = row;\n\t }\n\t\n\t if (endRow > startRow) {\n\t var endColumn = session.getLine(endRow).length;\n\t return new Range(startRow, startColumn, endRow, endColumn);\n\t }\n\t };\n\t this.getFoldWidget = function(session, foldStyle, row) {\n\t var line = session.getLine(row);\n\t var indent = line.search(/\\S/);\n\t var next = session.getLine(row + 1);\n\t var prev = session.getLine(row - 1);\n\t var prevIndent = prev.search(/\\S/);\n\t var nextIndent = next.search(/\\S/);\n\t\n\t if (indent == -1) {\n\t session.foldWidgets[row - 1] = prevIndent!= -1 && prevIndent < nextIndent ? \"start\" : \"\";\n\t return \"\";\n\t }\n\t if (prevIndent == -1) {\n\t if (indent == nextIndent && line[indent] == \"#\" && next[indent] == \"#\") {\n\t session.foldWidgets[row - 1] = \"\";\n\t session.foldWidgets[row + 1] = \"\";\n\t return \"start\";\n\t }\n\t } else if (prevIndent == indent && line[indent] == \"#\" && prev[indent] == \"#\") {\n\t if (session.getLine(row - 2).search(/\\S/) == -1) {\n\t session.foldWidgets[row - 1] = \"start\";\n\t session.foldWidgets[row + 1] = \"\";\n\t return \"\";\n\t }\n\t }\n\t\n\t if (prevIndent!= -1 && prevIndent < indent)\n\t session.foldWidgets[row - 1] = \"start\";\n\t else\n\t session.foldWidgets[row - 1] = \"\";\n\t\n\t if (indent < nextIndent)\n\t return \"start\";\n\t else\n\t return \"\";\n\t };\n\t\n\t}).call(FoldMode.prototype);\n\t\n\t});\n\t\n\tace.define(\"ace/mode/yaml\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/mode/text\",\"ace/mode/yaml_highlight_rules\",\"ace/mode/matching_brace_outdent\",\"ace/mode/folding/coffee\"], function(acequire, exports, module) {\n\t\"use strict\";\n\t\n\tvar oop = acequire(\"../lib/oop\");\n\tvar TextMode = acequire(\"./text\").Mode;\n\tvar YamlHighlightRules = acequire(\"./yaml_highlight_rules\").YamlHighlightRules;\n\tvar MatchingBraceOutdent = acequire(\"./matching_brace_outdent\").MatchingBraceOutdent;\n\tvar FoldMode = acequire(\"./folding/coffee\").FoldMode;\n\t\n\tvar Mode = function() {\n\t this.HighlightRules = YamlHighlightRules;\n\t this.$outdent = new MatchingBraceOutdent();\n\t this.foldingRules = new FoldMode();\n\t this.$behaviour = this.$defaultBehaviour;\n\t};\n\toop.inherits(Mode, TextMode);\n\t\n\t(function() {\n\t\n\t this.lineCommentStart = \"#\";\n\t \n\t this.getNextLineIndent = function(state, line, tab) {\n\t var indent = this.$getIndent(line);\n\t\n\t if (state == \"start\") {\n\t var match = line.match(/^.*[\\{\\(\\[]\\s*$/);\n\t if (match) {\n\t indent += tab;\n\t }\n\t }\n\t\n\t return indent;\n\t };\n\t\n\t this.checkOutdent = function(state, line, input) {\n\t return this.$outdent.checkOutdent(line, input);\n\t };\n\t\n\t this.autoOutdent = function(state, doc, row) {\n\t this.$outdent.autoOutdent(doc, row);\n\t };\n\t\n\t\n\t this.$id = \"ace/mode/yaml\";\n\t}).call(Mode.prototype);\n\t\n\texports.Mode = Mode;\n\t\n\t});\n\n\n/***/ },\n/* 388 */\n/***/ function(module, exports) {\n\n\tace.define(\"ace/theme/monokai\",[\"require\",\"exports\",\"module\",\"ace/lib/dom\"], function(acequire, exports, module) {\n\t\n\texports.isDark = true;\n\texports.cssClass = \"ace-monokai\";\n\texports.cssText = \".ace-monokai .ace_gutter {\\\n\tbackground: #2F3129;\\\n\tcolor: #8F908A\\\n\t}\\\n\t.ace-monokai .ace_print-margin {\\\n\twidth: 1px;\\\n\tbackground: #555651\\\n\t}\\\n\t.ace-monokai {\\\n\tbackground-color: #272822;\\\n\tcolor: #F8F8F2\\\n\t}\\\n\t.ace-monokai .ace_cursor {\\\n\tcolor: #F8F8F0\\\n\t}\\\n\t.ace-monokai .ace_marker-layer .ace_selection {\\\n\tbackground: #49483E\\\n\t}\\\n\t.ace-monokai.ace_multiselect .ace_selection.ace_start {\\\n\tbox-shadow: 0 0 3px 0px #272822;\\\n\t}\\\n\t.ace-monokai .ace_marker-layer .ace_step {\\\n\tbackground: rgb(102, 82, 0)\\\n\t}\\\n\t.ace-monokai .ace_marker-layer .ace_bracket {\\\n\tmargin: -1px 0 0 -1px;\\\n\tborder: 1px solid #49483E\\\n\t}\\\n\t.ace-monokai .ace_marker-layer .ace_active-line {\\\n\tbackground: #202020\\\n\t}\\\n\t.ace-monokai .ace_gutter-active-line {\\\n\tbackground-color: #272727\\\n\t}\\\n\t.ace-monokai .ace_marker-layer .ace_selected-word {\\\n\tborder: 1px solid #49483E\\\n\t}\\\n\t.ace-monokai .ace_invisible {\\\n\tcolor: #52524d\\\n\t}\\\n\t.ace-monokai .ace_entity.ace_name.ace_tag,\\\n\t.ace-monokai .ace_keyword,\\\n\t.ace-monokai .ace_meta.ace_tag,\\\n\t.ace-monokai .ace_storage {\\\n\tcolor: #F92672\\\n\t}\\\n\t.ace-monokai .ace_punctuation,\\\n\t.ace-monokai .ace_punctuation.ace_tag {\\\n\tcolor: #fff\\\n\t}\\\n\t.ace-monokai .ace_constant.ace_character,\\\n\t.ace-monokai .ace_constant.ace_language,\\\n\t.ace-monokai .ace_constant.ace_numeric,\\\n\t.ace-monokai .ace_constant.ace_other {\\\n\tcolor: #AE81FF\\\n\t}\\\n\t.ace-monokai .ace_invalid {\\\n\tcolor: #F8F8F0;\\\n\tbackground-color: #F92672\\\n\t}\\\n\t.ace-monokai .ace_invalid.ace_deprecated {\\\n\tcolor: #F8F8F0;\\\n\tbackground-color: #AE81FF\\\n\t}\\\n\t.ace-monokai .ace_support.ace_constant,\\\n\t.ace-monokai .ace_support.ace_function {\\\n\tcolor: #66D9EF\\\n\t}\\\n\t.ace-monokai .ace_fold {\\\n\tbackground-color: #A6E22E;\\\n\tborder-color: #F8F8F2\\\n\t}\\\n\t.ace-monokai .ace_storage.ace_type,\\\n\t.ace-monokai .ace_support.ace_class,\\\n\t.ace-monokai .ace_support.ace_type {\\\n\tfont-style: italic;\\\n\tcolor: #66D9EF\\\n\t}\\\n\t.ace-monokai .ace_entity.ace_name.ace_function,\\\n\t.ace-monokai .ace_entity.ace_other,\\\n\t.ace-monokai .ace_entity.ace_other.ace_attribute-name,\\\n\t.ace-monokai .ace_variable {\\\n\tcolor: #A6E22E\\\n\t}\\\n\t.ace-monokai .ace_variable.ace_parameter {\\\n\tfont-style: italic;\\\n\tcolor: #FD971F\\\n\t}\\\n\t.ace-monokai .ace_string {\\\n\tcolor: #E6DB74\\\n\t}\\\n\t.ace-monokai .ace_comment {\\\n\tcolor: #75715E\\\n\t}\\\n\t.ace-monokai .ace_indent-guide {\\\n\tbackground: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWPQ0FD0ZXBzd/wPAAjVAoxeSgNeAAAAAElFTkSuQmCC) right repeat-y\\\n\t}\";\n\t\n\tvar dom = acequire(\"../lib/dom\");\n\tdom.importCssString(exports.cssText, exports.cssClass);\n\t});\n\n\n/***/ },\n/* 389 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// Use strict mode (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Strict_mode)\n\t\"use strict\";\n\t\n\t\n\t// Requires\n\tvar Typo = __webpack_require__(666);\n\t\n\t\n\t// Create function\n\tfunction CodeMirrorSpellChecker(options) {\n\t\t// Initialize\n\t\toptions = options || {};\n\t\n\t\n\t\t// Verify\n\t\tif(typeof options.codeMirrorInstance !== \"function\" || typeof options.codeMirrorInstance.defineMode !== \"function\") {\n\t\t\tconsole.log(\"CodeMirror Spell Checker: You must provide an instance of CodeMirror via the option `codeMirrorInstance`\");\n\t\t\treturn;\n\t\t}\n\t\n\t\n\t\t// Because some browsers don't support this functionality yet\n\t\tif(!String.prototype.includes) {\n\t\t\tString.prototype.includes = function() {\n\t\t\t\t\"use strict\";\n\t\t\t\treturn String.prototype.indexOf.apply(this, arguments) !== -1;\n\t\t\t};\n\t\t}\n\t\n\t\n\t\t// Define the new mode\n\t\toptions.codeMirrorInstance.defineMode(\"spell-checker\", function(config) {\n\t\t\t// Load AFF/DIC data\n\t\t\tif(!CodeMirrorSpellChecker.aff_loading) {\n\t\t\t\tCodeMirrorSpellChecker.aff_loading = true;\n\t\t\t\tvar xhr_aff = new XMLHttpRequest();\n\t\t\t\txhr_aff.open(\"GET\", \"https://cdn.jsdelivr.net/codemirror.spell-checker/latest/en_US.aff\", true);\n\t\t\t\txhr_aff.onload = function() {\n\t\t\t\t\tif(xhr_aff.readyState === 4 && xhr_aff.status === 200) {\n\t\t\t\t\t\tCodeMirrorSpellChecker.aff_data = xhr_aff.responseText;\n\t\t\t\t\t\tCodeMirrorSpellChecker.num_loaded++;\n\t\n\t\t\t\t\t\tif(CodeMirrorSpellChecker.num_loaded == 2) {\n\t\t\t\t\t\t\tCodeMirrorSpellChecker.typo = new Typo(\"en_US\", CodeMirrorSpellChecker.aff_data, CodeMirrorSpellChecker.dic_data, {\n\t\t\t\t\t\t\t\tplatform: \"any\"\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t\txhr_aff.send(null);\n\t\t\t}\n\t\n\t\t\tif(!CodeMirrorSpellChecker.dic_loading) {\n\t\t\t\tCodeMirrorSpellChecker.dic_loading = true;\n\t\t\t\tvar xhr_dic = new XMLHttpRequest();\n\t\t\t\txhr_dic.open(\"GET\", \"https://cdn.jsdelivr.net/codemirror.spell-checker/latest/en_US.dic\", true);\n\t\t\t\txhr_dic.onload = function() {\n\t\t\t\t\tif(xhr_dic.readyState === 4 && xhr_dic.status === 200) {\n\t\t\t\t\t\tCodeMirrorSpellChecker.dic_data = xhr_dic.responseText;\n\t\t\t\t\t\tCodeMirrorSpellChecker.num_loaded++;\n\t\n\t\t\t\t\t\tif(CodeMirrorSpellChecker.num_loaded == 2) {\n\t\t\t\t\t\t\tCodeMirrorSpellChecker.typo = new Typo(\"en_US\", CodeMirrorSpellChecker.aff_data, CodeMirrorSpellChecker.dic_data, {\n\t\t\t\t\t\t\t\tplatform: \"any\"\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t\txhr_dic.send(null);\n\t\t\t}\n\t\n\t\n\t\t\t// Define what separates a word\n\t\t\tvar rx_word = \"!\\\"#$%&()*+,-./:;<=>?@[\\\\]^_`{|}~ \";\n\t\n\t\n\t\t\t// Create the overlay and such\n\t\t\tvar overlay = {\n\t\t\t\ttoken: function(stream) {\n\t\t\t\t\tvar ch = stream.peek();\n\t\t\t\t\tvar word = \"\";\n\t\n\t\t\t\t\tif(rx_word.includes(ch)) {\n\t\t\t\t\t\tstream.next();\n\t\t\t\t\t\treturn null;\n\t\t\t\t\t}\n\t\n\t\t\t\t\twhile((ch = stream.peek()) != null && !rx_word.includes(ch)) {\n\t\t\t\t\t\tword += ch;\n\t\t\t\t\t\tstream.next();\n\t\t\t\t\t}\n\t\n\t\t\t\t\tif(CodeMirrorSpellChecker.typo && !CodeMirrorSpellChecker.typo.check(word))\n\t\t\t\t\t\treturn \"spell-error\"; // CSS class: cm-spell-error\n\t\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t};\n\t\n\t\t\tvar mode = options.codeMirrorInstance.getMode(\n\t\t\t\tconfig, config.backdrop || \"text/plain\"\n\t\t\t);\n\t\n\t\t\treturn options.codeMirrorInstance.overlayMode(mode, overlay, true);\n\t\t});\n\t}\n\t\n\t\n\t// Initialize data globally to reduce memory consumption\n\tCodeMirrorSpellChecker.num_loaded = 0;\n\tCodeMirrorSpellChecker.aff_loading = false;\n\tCodeMirrorSpellChecker.dic_loading = false;\n\tCodeMirrorSpellChecker.aff_data = \"\";\n\tCodeMirrorSpellChecker.dic_data = \"\";\n\tCodeMirrorSpellChecker.typo;\n\t\n\t\n\t// Export\n\tmodule.exports = CodeMirrorSpellChecker;\n\n/***/ },\n/* 390 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// CodeMirror, copyright (c) by Marijn Haverbeke and others\n\t// Distributed under an MIT license: http://codemirror.net/LICENSE\n\t\n\t(function(mod) {\n\t if (true) // CommonJS\n\t mod(__webpack_require__(23));\n\t else if (typeof define == \"function\" && define.amd) // AMD\n\t define([\"../../lib/codemirror\"], mod);\n\t else // Plain browser env\n\t mod(CodeMirror);\n\t})(function(CodeMirror) {\n\t \"use strict\";\n\t\n\t CodeMirror.defineOption(\"fullScreen\", false, function(cm, val, old) {\n\t if (old == CodeMirror.Init) old = false;\n\t if (!old == !val) return;\n\t if (val) setFullscreen(cm);\n\t else setNormal(cm);\n\t });\n\t\n\t function setFullscreen(cm) {\n\t var wrap = cm.getWrapperElement();\n\t cm.state.fullScreenRestore = {scrollTop: window.pageYOffset, scrollLeft: window.pageXOffset,\n\t width: wrap.style.width, height: wrap.style.height};\n\t wrap.style.width = \"\";\n\t wrap.style.height = \"auto\";\n\t wrap.className += \" CodeMirror-fullscreen\";\n\t document.documentElement.style.overflow = \"hidden\";\n\t cm.refresh();\n\t }\n\t\n\t function setNormal(cm) {\n\t var wrap = cm.getWrapperElement();\n\t wrap.className = wrap.className.replace(/\\s*CodeMirror-fullscreen\\b/, \"\");\n\t document.documentElement.style.overflow = \"\";\n\t var info = cm.state.fullScreenRestore;\n\t wrap.style.width = info.width; wrap.style.height = info.height;\n\t window.scrollTo(info.scrollLeft, info.scrollTop);\n\t cm.refresh();\n\t }\n\t});\n\n\n/***/ },\n/* 391 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// CodeMirror, copyright (c) by Marijn Haverbeke and others\n\t// Distributed under an MIT license: http://codemirror.net/LICENSE\n\t\n\t(function(mod) {\n\t if (true) // CommonJS\n\t mod(__webpack_require__(23));\n\t else if (typeof define == \"function\" && define.amd) // AMD\n\t define([\"../../lib/codemirror\"], mod);\n\t else // Plain browser env\n\t mod(CodeMirror);\n\t})(function(CodeMirror) {\n\t CodeMirror.defineOption(\"placeholder\", \"\", function(cm, val, old) {\n\t var prev = old && old != CodeMirror.Init;\n\t if (val && !prev) {\n\t cm.on(\"blur\", onBlur);\n\t cm.on(\"change\", onChange);\n\t cm.on(\"swapDoc\", onChange);\n\t onChange(cm);\n\t } else if (!val && prev) {\n\t cm.off(\"blur\", onBlur);\n\t cm.off(\"change\", onChange);\n\t cm.off(\"swapDoc\", onChange);\n\t clearPlaceholder(cm);\n\t var wrapper = cm.getWrapperElement();\n\t wrapper.className = wrapper.className.replace(\" CodeMirror-empty\", \"\");\n\t }\n\t\n\t if (val && !cm.hasFocus()) onBlur(cm);\n\t });\n\t\n\t function clearPlaceholder(cm) {\n\t if (cm.state.placeholder) {\n\t cm.state.placeholder.parentNode.removeChild(cm.state.placeholder);\n\t cm.state.placeholder = null;\n\t }\n\t }\n\t function setPlaceholder(cm) {\n\t clearPlaceholder(cm);\n\t var elt = cm.state.placeholder = document.createElement(\"pre\");\n\t elt.style.cssText = \"height: 0; overflow: visible\";\n\t elt.className = \"CodeMirror-placeholder\";\n\t var placeHolder = cm.getOption(\"placeholder\")\n\t if (typeof placeHolder == \"string\") placeHolder = document.createTextNode(placeHolder)\n\t elt.appendChild(placeHolder)\n\t cm.display.lineSpace.insertBefore(elt, cm.display.lineSpace.firstChild);\n\t }\n\t\n\t function onBlur(cm) {\n\t if (isEmpty(cm)) setPlaceholder(cm);\n\t }\n\t function onChange(cm) {\n\t var wrapper = cm.getWrapperElement(), empty = isEmpty(cm);\n\t wrapper.className = wrapper.className.replace(\" CodeMirror-empty\", \"\") + (empty ? \" CodeMirror-empty\" : \"\");\n\t\n\t if (empty) setPlaceholder(cm);\n\t else clearPlaceholder(cm);\n\t }\n\t\n\t function isEmpty(cm) {\n\t return (cm.lineCount() === 1) && (cm.getLine(0) === \"\");\n\t }\n\t});\n\n\n/***/ },\n/* 392 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// CodeMirror, copyright (c) by Marijn Haverbeke and others\n\t// Distributed under an MIT license: http://codemirror.net/LICENSE\n\t\n\t(function(mod) {\n\t if (true) // CommonJS\n\t mod(__webpack_require__(23));\n\t else if (typeof define == \"function\" && define.amd) // AMD\n\t define([\"../../lib/codemirror\"], mod);\n\t else // Plain browser env\n\t mod(CodeMirror);\n\t})(function(CodeMirror) {\n\t \"use strict\";\n\t\n\t var listRE = /^(\\s*)(>[> ]*|- \\[[x ]\\]\\s|[*+-]\\s|(\\d+)([.)]))(\\s*)/,\n\t emptyListRE = /^(\\s*)(>[> ]*|- \\[[x ]\\]|[*+-]|(\\d+)[.)])(\\s*)$/,\n\t unorderedListRE = /[*+-]\\s/;\n\t\n\t CodeMirror.commands.newlineAndIndentContinueMarkdownList = function(cm) {\n\t if (cm.getOption(\"disableInput\")) return CodeMirror.Pass;\n\t var ranges = cm.listSelections(), replacements = [];\n\t for (var i = 0; i < ranges.length; i++) {\n\t var pos = ranges[i].head;\n\t var eolState = cm.getStateAfter(pos.line);\n\t var inList = eolState.list !== false;\n\t var inQuote = eolState.quote !== 0;\n\t\n\t var line = cm.getLine(pos.line), match = listRE.exec(line);\n\t if (!ranges[i].empty() || (!inList && !inQuote) || !match) {\n\t cm.execCommand(\"newlineAndIndent\");\n\t return;\n\t }\n\t if (emptyListRE.test(line)) {\n\t cm.replaceRange(\"\", {\n\t line: pos.line, ch: 0\n\t }, {\n\t line: pos.line, ch: pos.ch + 1\n\t });\n\t replacements[i] = \"\\n\";\n\t } else {\n\t var indent = match[1], after = match[5];\n\t var bullet = unorderedListRE.test(match[2]) || match[2].indexOf(\">\") >= 0\n\t ? match[2].replace(\"x\", \" \")\n\t : (parseInt(match[3], 10) + 1) + match[4];\n\t\n\t replacements[i] = \"\\n\" + indent + bullet + after;\n\t }\n\t }\n\t\n\t cm.replaceSelections(replacements);\n\t };\n\t});\n\n\n/***/ },\n/* 393 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// CodeMirror, copyright (c) by Marijn Haverbeke and others\n\t// Distributed under an MIT license: http://codemirror.net/LICENSE\n\t\n\t// Because sometimes you need to mark the selected *text*.\n\t//\n\t// Adds an option 'styleSelectedText' which, when enabled, gives\n\t// selected text the CSS class given as option value, or\n\t// \"CodeMirror-selectedtext\" when the value is not a string.\n\t\n\t(function(mod) {\n\t if (true) // CommonJS\n\t mod(__webpack_require__(23));\n\t else if (typeof define == \"function\" && define.amd) // AMD\n\t define([\"../../lib/codemirror\"], mod);\n\t else // Plain browser env\n\t mod(CodeMirror);\n\t})(function(CodeMirror) {\n\t \"use strict\";\n\t\n\t CodeMirror.defineOption(\"styleSelectedText\", false, function(cm, val, old) {\n\t var prev = old && old != CodeMirror.Init;\n\t if (val && !prev) {\n\t cm.state.markedSelection = [];\n\t cm.state.markedSelectionStyle = typeof val == \"string\" ? val : \"CodeMirror-selectedtext\";\n\t reset(cm);\n\t cm.on(\"cursorActivity\", onCursorActivity);\n\t cm.on(\"change\", onChange);\n\t } else if (!val && prev) {\n\t cm.off(\"cursorActivity\", onCursorActivity);\n\t cm.off(\"change\", onChange);\n\t clear(cm);\n\t cm.state.markedSelection = cm.state.markedSelectionStyle = null;\n\t }\n\t });\n\t\n\t function onCursorActivity(cm) {\n\t cm.operation(function() { update(cm); });\n\t }\n\t\n\t function onChange(cm) {\n\t if (cm.state.markedSelection.length)\n\t cm.operation(function() { clear(cm); });\n\t }\n\t\n\t var CHUNK_SIZE = 8;\n\t var Pos = CodeMirror.Pos;\n\t var cmp = CodeMirror.cmpPos;\n\t\n\t function coverRange(cm, from, to, addAt) {\n\t if (cmp(from, to) == 0) return;\n\t var array = cm.state.markedSelection;\n\t var cls = cm.state.markedSelectionStyle;\n\t for (var line = from.line;;) {\n\t var start = line == from.line ? from : Pos(line, 0);\n\t var endLine = line + CHUNK_SIZE, atEnd = endLine >= to.line;\n\t var end = atEnd ? to : Pos(endLine, 0);\n\t var mark = cm.markText(start, end, {className: cls});\n\t if (addAt == null) array.push(mark);\n\t else array.splice(addAt++, 0, mark);\n\t if (atEnd) break;\n\t line = endLine;\n\t }\n\t }\n\t\n\t function clear(cm) {\n\t var array = cm.state.markedSelection;\n\t for (var i = 0; i < array.length; ++i) array[i].clear();\n\t array.length = 0;\n\t }\n\t\n\t function reset(cm) {\n\t clear(cm);\n\t var ranges = cm.listSelections();\n\t for (var i = 0; i < ranges.length; i++)\n\t coverRange(cm, ranges[i].from(), ranges[i].to());\n\t }\n\t\n\t function update(cm) {\n\t if (!cm.somethingSelected()) return clear(cm);\n\t if (cm.listSelections().length > 1) return reset(cm);\n\t\n\t var from = cm.getCursor(\"start\"), to = cm.getCursor(\"end\");\n\t\n\t var array = cm.state.markedSelection;\n\t if (!array.length) return coverRange(cm, from, to);\n\t\n\t var coverStart = array[0].find(), coverEnd = array[array.length - 1].find();\n\t if (!coverStart || !coverEnd || to.line - from.line < CHUNK_SIZE ||\n\t cmp(from, coverEnd.to) >= 0 || cmp(to, coverStart.from) <= 0)\n\t return reset(cm);\n\t\n\t while (cmp(from, coverStart.from) > 0) {\n\t array.shift().clear();\n\t coverStart = array[0].find();\n\t }\n\t if (cmp(from, coverStart.from) < 0) {\n\t if (coverStart.to.line - from.line < CHUNK_SIZE) {\n\t array.shift().clear();\n\t coverRange(cm, from, coverStart.to, 0);\n\t } else {\n\t coverRange(cm, from, coverStart.from, 0);\n\t }\n\t }\n\t\n\t while (cmp(to, coverEnd.to) < 0) {\n\t array.pop().clear();\n\t coverEnd = array[array.length - 1].find();\n\t }\n\t if (cmp(to, coverEnd.to) > 0) {\n\t if (to.line - coverEnd.from.line < CHUNK_SIZE) {\n\t array.pop().clear();\n\t coverRange(cm, coverEnd.from, to);\n\t } else {\n\t coverRange(cm, coverEnd.to, to);\n\t }\n\t }\n\t }\n\t});\n\n\n/***/ },\n/* 394 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// CodeMirror, copyright (c) by Marijn Haverbeke and others\n\t// Distributed under an MIT license: http://codemirror.net/LICENSE\n\t\n\t(function(mod) {\n\t if (true) // CommonJS\n\t mod(__webpack_require__(23), __webpack_require__(166), __webpack_require__(165));\n\t else if (typeof define == \"function\" && define.amd) // AMD\n\t define([\"../../lib/codemirror\", \"../markdown/markdown\", \"../../addon/mode/overlay\"], mod);\n\t else // Plain browser env\n\t mod(CodeMirror);\n\t})(function(CodeMirror) {\n\t\"use strict\";\n\t\n\tvar urlRE = /^((?:(?:aaas?|about|acap|adiumxtra|af[ps]|aim|apt|attachment|aw|beshare|bitcoin|bolo|callto|cap|chrome(?:-extension)?|cid|coap|com-eventbrite-attendee|content|crid|cvs|data|dav|dict|dlna-(?:playcontainer|playsingle)|dns|doi|dtn|dvb|ed2k|facetime|feed|file|finger|fish|ftp|geo|gg|git|gizmoproject|go|gopher|gtalk|h323|hcp|https?|iax|icap|icon|im|imap|info|ipn|ipp|irc[6s]?|iris(?:\\.beep|\\.lwz|\\.xpc|\\.xpcs)?|itms|jar|javascript|jms|keyparc|lastfm|ldaps?|magnet|mailto|maps|market|message|mid|mms|ms-help|msnim|msrps?|mtqp|mumble|mupdate|mvn|news|nfs|nih?|nntp|notes|oid|opaquelocktoken|palm|paparazzi|platform|pop|pres|proxy|psyc|query|res(?:ource)?|rmi|rsync|rtmp|rtsp|secondlife|service|session|sftp|sgn|shttp|sieve|sips?|skype|sm[bs]|snmp|soap\\.beeps?|soldat|spotify|ssh|steam|svn|tag|teamspeak|tel(?:net)?|tftp|things|thismessage|tip|tn3270|tv|udp|unreal|urn|ut2004|vemmi|ventrilo|view-source|webcal|wss?|wtai|wyciwyg|xcon(?:-userid)?|xfire|xmlrpc\\.beeps?|xmpp|xri|ymsgr|z39\\.50[rs]?):(?:\\/{1,3}|[a-z0-9%])|www\\d{0,3}[.]|[a-z0-9.\\-]+[.][a-z]{2,4}\\/)(?:[^\\s()<>]|\\([^\\s()<>]*\\))+(?:\\([^\\s()<>]*\\)|[^\\s`*!()\\[\\]{};:'\".,<>?«»“”‘’]))/i\n\t\n\tCodeMirror.defineMode(\"gfm\", function(config, modeConfig) {\n\t var codeDepth = 0;\n\t function blankLine(state) {\n\t state.code = false;\n\t return null;\n\t }\n\t var gfmOverlay = {\n\t startState: function() {\n\t return {\n\t code: false,\n\t codeBlock: false,\n\t ateSpace: false\n\t };\n\t },\n\t copyState: function(s) {\n\t return {\n\t code: s.code,\n\t codeBlock: s.codeBlock,\n\t ateSpace: s.ateSpace\n\t };\n\t },\n\t token: function(stream, state) {\n\t state.combineTokens = null;\n\t\n\t // Hack to prevent formatting override inside code blocks (block and inline)\n\t if (state.codeBlock) {\n\t if (stream.match(/^```+/)) {\n\t state.codeBlock = false;\n\t return null;\n\t }\n\t stream.skipToEnd();\n\t return null;\n\t }\n\t if (stream.sol()) {\n\t state.code = false;\n\t }\n\t if (stream.sol() && stream.match(/^```+/)) {\n\t stream.skipToEnd();\n\t state.codeBlock = true;\n\t return null;\n\t }\n\t // If this block is changed, it may need to be updated in Markdown mode\n\t if (stream.peek() === '`') {\n\t stream.next();\n\t var before = stream.pos;\n\t stream.eatWhile('`');\n\t var difference = 1 + stream.pos - before;\n\t if (!state.code) {\n\t codeDepth = difference;\n\t state.code = true;\n\t } else {\n\t if (difference === codeDepth) { // Must be exact\n\t state.code = false;\n\t }\n\t }\n\t return null;\n\t } else if (state.code) {\n\t stream.next();\n\t return null;\n\t }\n\t // Check if space. If so, links can be formatted later on\n\t if (stream.eatSpace()) {\n\t state.ateSpace = true;\n\t return null;\n\t }\n\t if (stream.sol() || state.ateSpace) {\n\t state.ateSpace = false;\n\t if (modeConfig.gitHubSpice !== false) {\n\t if(stream.match(/^(?:[a-zA-Z0-9\\-_]+\\/)?(?:[a-zA-Z0-9\\-_]+@)?(?:[a-f0-9]{7,40}\\b)/)) {\n\t // User/Project@SHA\n\t // User@SHA\n\t // SHA\n\t state.combineTokens = true;\n\t return \"link\";\n\t } else if (stream.match(/^(?:[a-zA-Z0-9\\-_]+\\/)?(?:[a-zA-Z0-9\\-_]+)?#[0-9]+\\b/)) {\n\t // User/Project#Num\n\t // User#Num\n\t // #Num\n\t state.combineTokens = true;\n\t return \"link\";\n\t }\n\t }\n\t }\n\t if (stream.match(urlRE) &&\n\t stream.string.slice(stream.start - 2, stream.start) != \"](\" &&\n\t (stream.start == 0 || /\\W/.test(stream.string.charAt(stream.start - 1)))) {\n\t // URLs\n\t // Taken from http://daringfireball.net/2010/07/improved_regex_for_matching_urls\n\t // And then (issue #1160) simplified to make it not crash the Chrome Regexp engine\n\t // And then limited url schemes to the CommonMark list, so foo:bar isn't matched as a URL\n\t state.combineTokens = true;\n\t return \"link\";\n\t }\n\t stream.next();\n\t return null;\n\t },\n\t blankLine: blankLine\n\t };\n\t\n\t var markdownConfig = {\n\t underscoresBreakWords: false,\n\t taskLists: true,\n\t fencedCodeBlocks: '```',\n\t strikethrough: true\n\t };\n\t for (var attr in modeConfig) {\n\t markdownConfig[attr] = modeConfig[attr];\n\t }\n\t markdownConfig.name = \"markdown\";\n\t return CodeMirror.overlayMode(CodeMirror.getMode(config, markdownConfig), gfmOverlay);\n\t\n\t}, \"markdown\");\n\t\n\t CodeMirror.defineMIME(\"text/x-gfm\", \"gfm\");\n\t});\n\n\n/***/ },\n/* 395 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// CodeMirror, copyright (c) by Marijn Haverbeke and others\n\t// Distributed under an MIT license: http://codemirror.net/LICENSE\n\t\n\t(function(mod) {\n\t if (true) // CommonJS\n\t mod(__webpack_require__(23));\n\t else if (typeof define == \"function\" && define.amd) // AMD\n\t define([\"../lib/codemirror\"], mod);\n\t else // Plain browser env\n\t mod(CodeMirror);\n\t})(function(CodeMirror) {\n\t \"use strict\";\n\t\n\t CodeMirror.modeInfo = [\n\t {name: \"APL\", mime: \"text/apl\", mode: \"apl\", ext: [\"dyalog\", \"apl\"]},\n\t {name: \"PGP\", mimes: [\"application/pgp\", \"application/pgp-keys\", \"application/pgp-signature\"], mode: \"asciiarmor\", ext: [\"pgp\"]},\n\t {name: \"ASN.1\", mime: \"text/x-ttcn-asn\", mode: \"asn.1\", ext: [\"asn\", \"asn1\"]},\n\t {name: \"Asterisk\", mime: \"text/x-asterisk\", mode: \"asterisk\", file: /^extensions\\.conf$/i},\n\t {name: \"Brainfuck\", mime: \"text/x-brainfuck\", mode: \"brainfuck\", ext: [\"b\", \"bf\"]},\n\t {name: \"C\", mime: \"text/x-csrc\", mode: \"clike\", ext: [\"c\", \"h\"]},\n\t {name: \"C++\", mime: \"text/x-c++src\", mode: \"clike\", ext: [\"cpp\", \"c++\", \"cc\", \"cxx\", \"hpp\", \"h++\", \"hh\", \"hxx\"], alias: [\"cpp\"]},\n\t {name: \"Cobol\", mime: \"text/x-cobol\", mode: \"cobol\", ext: [\"cob\", \"cpy\"]},\n\t {name: \"C#\", mime: \"text/x-csharp\", mode: \"clike\", ext: [\"cs\"], alias: [\"csharp\"]},\n\t {name: \"Clojure\", mime: \"text/x-clojure\", mode: \"clojure\", ext: [\"clj\", \"cljc\", \"cljx\"]},\n\t {name: \"ClojureScript\", mime: \"text/x-clojurescript\", mode: \"clojure\", ext: [\"cljs\"]},\n\t {name: \"Closure Stylesheets (GSS)\", mime: \"text/x-gss\", mode: \"css\", ext: [\"gss\"]},\n\t {name: \"CMake\", mime: \"text/x-cmake\", mode: \"cmake\", ext: [\"cmake\", \"cmake.in\"], file: /^CMakeLists.txt$/},\n\t {name: \"CoffeeScript\", mime: \"text/x-coffeescript\", mode: \"coffeescript\", ext: [\"coffee\"], alias: [\"coffee\", \"coffee-script\"]},\n\t {name: \"Common Lisp\", mime: \"text/x-common-lisp\", mode: \"commonlisp\", ext: [\"cl\", \"lisp\", \"el\"], alias: [\"lisp\"]},\n\t {name: \"Cypher\", mime: \"application/x-cypher-query\", mode: \"cypher\", ext: [\"cyp\", \"cypher\"]},\n\t {name: \"Cython\", mime: \"text/x-cython\", mode: \"python\", ext: [\"pyx\", \"pxd\", \"pxi\"]},\n\t {name: \"Crystal\", mime: \"text/x-crystal\", mode: \"crystal\", ext: [\"cr\"]},\n\t {name: \"CSS\", mime: \"text/css\", mode: \"css\", ext: [\"css\"]},\n\t {name: \"CQL\", mime: \"text/x-cassandra\", mode: \"sql\", ext: [\"cql\"]},\n\t {name: \"D\", mime: \"text/x-d\", mode: \"d\", ext: [\"d\"]},\n\t {name: \"Dart\", mimes: [\"application/dart\", \"text/x-dart\"], mode: \"dart\", ext: [\"dart\"]},\n\t {name: \"diff\", mime: \"text/x-diff\", mode: \"diff\", ext: [\"diff\", \"patch\"]},\n\t {name: \"Django\", mime: \"text/x-django\", mode: \"django\"},\n\t {name: \"Dockerfile\", mime: \"text/x-dockerfile\", mode: \"dockerfile\", file: /^Dockerfile$/},\n\t {name: \"DTD\", mime: \"application/xml-dtd\", mode: \"dtd\", ext: [\"dtd\"]},\n\t {name: \"Dylan\", mime: \"text/x-dylan\", mode: \"dylan\", ext: [\"dylan\", \"dyl\", \"intr\"]},\n\t {name: \"EBNF\", mime: \"text/x-ebnf\", mode: \"ebnf\"},\n\t {name: \"ECL\", mime: \"text/x-ecl\", mode: \"ecl\", ext: [\"ecl\"]},\n\t {name: \"edn\", mime: \"application/edn\", mode: \"clojure\", ext: [\"edn\"]},\n\t {name: \"Eiffel\", mime: \"text/x-eiffel\", mode: \"eiffel\", ext: [\"e\"]},\n\t {name: \"Elm\", mime: \"text/x-elm\", mode: \"elm\", ext: [\"elm\"]},\n\t {name: \"Embedded Javascript\", mime: \"application/x-ejs\", mode: \"htmlembedded\", ext: [\"ejs\"]},\n\t {name: \"Embedded Ruby\", mime: \"application/x-erb\", mode: \"htmlembedded\", ext: [\"erb\"]},\n\t {name: \"Erlang\", mime: \"text/x-erlang\", mode: \"erlang\", ext: [\"erl\"]},\n\t {name: \"Factor\", mime: \"text/x-factor\", mode: \"factor\", ext: [\"factor\"]},\n\t {name: \"FCL\", mime: \"text/x-fcl\", mode: \"fcl\"},\n\t {name: \"Forth\", mime: \"text/x-forth\", mode: \"forth\", ext: [\"forth\", \"fth\", \"4th\"]},\n\t {name: \"Fortran\", mime: \"text/x-fortran\", mode: \"fortran\", ext: [\"f\", \"for\", \"f77\", \"f90\"]},\n\t {name: \"F#\", mime: \"text/x-fsharp\", mode: \"mllike\", ext: [\"fs\"], alias: [\"fsharp\"]},\n\t {name: \"Gas\", mime: \"text/x-gas\", mode: \"gas\", ext: [\"s\"]},\n\t {name: \"Gherkin\", mime: \"text/x-feature\", mode: \"gherkin\", ext: [\"feature\"]},\n\t {name: \"GitHub Flavored Markdown\", mime: \"text/x-gfm\", mode: \"gfm\", file: /^(readme|contributing|history).md$/i},\n\t {name: \"Go\", mime: \"text/x-go\", mode: \"go\", ext: [\"go\"]},\n\t {name: \"Groovy\", mime: \"text/x-groovy\", mode: \"groovy\", ext: [\"groovy\", \"gradle\"], file: /^Jenkinsfile$/},\n\t {name: \"HAML\", mime: \"text/x-haml\", mode: \"haml\", ext: [\"haml\"]},\n\t {name: \"Haskell\", mime: \"text/x-haskell\", mode: \"haskell\", ext: [\"hs\"]},\n\t {name: \"Haskell (Literate)\", mime: \"text/x-literate-haskell\", mode: \"haskell-literate\", ext: [\"lhs\"]},\n\t {name: \"Haxe\", mime: \"text/x-haxe\", mode: \"haxe\", ext: [\"hx\"]},\n\t {name: \"HXML\", mime: \"text/x-hxml\", mode: \"haxe\", ext: [\"hxml\"]},\n\t {name: \"ASP.NET\", mime: \"application/x-aspx\", mode: \"htmlembedded\", ext: [\"aspx\"], alias: [\"asp\", \"aspx\"]},\n\t {name: \"HTML\", mime: \"text/html\", mode: \"htmlmixed\", ext: [\"html\", \"htm\"], alias: [\"xhtml\"]},\n\t {name: \"HTTP\", mime: \"message/http\", mode: \"http\"},\n\t {name: \"IDL\", mime: \"text/x-idl\", mode: \"idl\", ext: [\"pro\"]},\n\t {name: \"Pug\", mime: \"text/x-pug\", mode: \"pug\", ext: [\"jade\", \"pug\"], alias: [\"jade\"]},\n\t {name: \"Java\", mime: \"text/x-java\", mode: \"clike\", ext: [\"java\"]},\n\t {name: \"Java Server Pages\", mime: \"application/x-jsp\", mode: \"htmlembedded\", ext: [\"jsp\"], alias: [\"jsp\"]},\n\t {name: \"JavaScript\", mimes: [\"text/javascript\", \"text/ecmascript\", \"application/javascript\", \"application/x-javascript\", \"application/ecmascript\"],\n\t mode: \"javascript\", ext: [\"js\"], alias: [\"ecmascript\", \"js\", \"node\"]},\n\t {name: \"JSON\", mimes: [\"application/json\", \"application/x-json\"], mode: \"javascript\", ext: [\"json\", \"map\"], alias: [\"json5\"]},\n\t {name: \"JSON-LD\", mime: \"application/ld+json\", mode: \"javascript\", ext: [\"jsonld\"], alias: [\"jsonld\"]},\n\t {name: \"JSX\", mime: \"text/jsx\", mode: \"jsx\", ext: [\"jsx\"]},\n\t {name: \"Jinja2\", mime: \"null\", mode: \"jinja2\"},\n\t {name: \"Julia\", mime: \"text/x-julia\", mode: \"julia\", ext: [\"jl\"]},\n\t {name: \"Kotlin\", mime: \"text/x-kotlin\", mode: \"clike\", ext: [\"kt\"]},\n\t {name: \"LESS\", mime: \"text/x-less\", mode: \"css\", ext: [\"less\"]},\n\t {name: \"LiveScript\", mime: \"text/x-livescript\", mode: \"livescript\", ext: [\"ls\"], alias: [\"ls\"]},\n\t {name: \"Lua\", mime: \"text/x-lua\", mode: \"lua\", ext: [\"lua\"]},\n\t {name: \"Markdown\", mime: \"text/x-markdown\", mode: \"markdown\", ext: [\"markdown\", \"md\", \"mkd\"]},\n\t {name: \"mIRC\", mime: \"text/mirc\", mode: \"mirc\"},\n\t {name: \"MariaDB SQL\", mime: \"text/x-mariadb\", mode: \"sql\"},\n\t {name: \"Mathematica\", mime: \"text/x-mathematica\", mode: \"mathematica\", ext: [\"m\", \"nb\"]},\n\t {name: \"Modelica\", mime: \"text/x-modelica\", mode: \"modelica\", ext: [\"mo\"]},\n\t {name: \"MUMPS\", mime: \"text/x-mumps\", mode: \"mumps\", ext: [\"mps\"]},\n\t {name: \"MS SQL\", mime: \"text/x-mssql\", mode: \"sql\"},\n\t {name: \"mbox\", mime: \"application/mbox\", mode: \"mbox\", ext: [\"mbox\"]},\n\t {name: \"MySQL\", mime: \"text/x-mysql\", mode: \"sql\"},\n\t {name: \"Nginx\", mime: \"text/x-nginx-conf\", mode: \"nginx\", file: /nginx.*\\.conf$/i},\n\t {name: \"NSIS\", mime: \"text/x-nsis\", mode: \"nsis\", ext: [\"nsh\", \"nsi\"]},\n\t {name: \"NTriples\", mime: \"text/n-triples\", mode: \"ntriples\", ext: [\"nt\"]},\n\t {name: \"Objective C\", mime: \"text/x-objectivec\", mode: \"clike\", ext: [\"m\", \"mm\"], alias: [\"objective-c\", \"objc\"]},\n\t {name: \"OCaml\", mime: \"text/x-ocaml\", mode: \"mllike\", ext: [\"ml\", \"mli\", \"mll\", \"mly\"]},\n\t {name: \"Octave\", mime: \"text/x-octave\", mode: \"octave\", ext: [\"m\"]},\n\t {name: \"Oz\", mime: \"text/x-oz\", mode: \"oz\", ext: [\"oz\"]},\n\t {name: \"Pascal\", mime: \"text/x-pascal\", mode: \"pascal\", ext: [\"p\", \"pas\"]},\n\t {name: \"PEG.js\", mime: \"null\", mode: \"pegjs\", ext: [\"jsonld\"]},\n\t {name: \"Perl\", mime: \"text/x-perl\", mode: \"perl\", ext: [\"pl\", \"pm\"]},\n\t {name: \"PHP\", mime: \"application/x-httpd-php\", mode: \"php\", ext: [\"php\", \"php3\", \"php4\", \"php5\", \"phtml\"]},\n\t {name: \"Pig\", mime: \"text/x-pig\", mode: \"pig\", ext: [\"pig\"]},\n\t {name: \"Plain Text\", mime: \"text/plain\", mode: \"null\", ext: [\"txt\", \"text\", \"conf\", \"def\", \"list\", \"log\"]},\n\t {name: \"PLSQL\", mime: \"text/x-plsql\", mode: \"sql\", ext: [\"pls\"]},\n\t {name: \"PowerShell\", mime: \"application/x-powershell\", mode: \"powershell\", ext: [\"ps1\", \"psd1\", \"psm1\"]},\n\t {name: \"Properties files\", mime: \"text/x-properties\", mode: \"properties\", ext: [\"properties\", \"ini\", \"in\"], alias: [\"ini\", \"properties\"]},\n\t {name: \"ProtoBuf\", mime: \"text/x-protobuf\", mode: \"protobuf\", ext: [\"proto\"]},\n\t {name: \"Python\", mime: \"text/x-python\", mode: \"python\", ext: [\"BUILD\", \"bzl\", \"py\", \"pyw\"], file: /^(BUCK|BUILD)$/},\n\t {name: \"Puppet\", mime: \"text/x-puppet\", mode: \"puppet\", ext: [\"pp\"]},\n\t {name: \"Q\", mime: \"text/x-q\", mode: \"q\", ext: [\"q\"]},\n\t {name: \"R\", mime: \"text/x-rsrc\", mode: \"r\", ext: [\"r\", \"R\"], alias: [\"rscript\"]},\n\t {name: \"reStructuredText\", mime: \"text/x-rst\", mode: \"rst\", ext: [\"rst\"], alias: [\"rst\"]},\n\t {name: \"RPM Changes\", mime: \"text/x-rpm-changes\", mode: \"rpm\"},\n\t {name: \"RPM Spec\", mime: \"text/x-rpm-spec\", mode: \"rpm\", ext: [\"spec\"]},\n\t {name: \"Ruby\", mime: \"text/x-ruby\", mode: \"ruby\", ext: [\"rb\"], alias: [\"jruby\", \"macruby\", \"rake\", \"rb\", \"rbx\"]},\n\t {name: \"Rust\", mime: \"text/x-rustsrc\", mode: \"rust\", ext: [\"rs\"]},\n\t {name: \"SAS\", mime: \"text/x-sas\", mode: \"sas\", ext: [\"sas\"]},\n\t {name: \"Sass\", mime: \"text/x-sass\", mode: \"sass\", ext: [\"sass\"]},\n\t {name: \"Scala\", mime: \"text/x-scala\", mode: \"clike\", ext: [\"scala\"]},\n\t {name: \"Scheme\", mime: \"text/x-scheme\", mode: \"scheme\", ext: [\"scm\", \"ss\"]},\n\t {name: \"SCSS\", mime: \"text/x-scss\", mode: \"css\", ext: [\"scss\"]},\n\t {name: \"Shell\", mime: \"text/x-sh\", mode: \"shell\", ext: [\"sh\", \"ksh\", \"bash\"], alias: [\"bash\", \"sh\", \"zsh\"], file: /^PKGBUILD$/},\n\t {name: \"Sieve\", mime: \"application/sieve\", mode: \"sieve\", ext: [\"siv\", \"sieve\"]},\n\t {name: \"Slim\", mimes: [\"text/x-slim\", \"application/x-slim\"], mode: \"slim\", ext: [\"slim\"]},\n\t {name: \"Smalltalk\", mime: \"text/x-stsrc\", mode: \"smalltalk\", ext: [\"st\"]},\n\t {name: \"Smarty\", mime: \"text/x-smarty\", mode: \"smarty\", ext: [\"tpl\"]},\n\t {name: \"Solr\", mime: \"text/x-solr\", mode: \"solr\"},\n\t {name: \"Soy\", mime: \"text/x-soy\", mode: \"soy\", ext: [\"soy\"], alias: [\"closure template\"]},\n\t {name: \"SPARQL\", mime: \"application/sparql-query\", mode: \"sparql\", ext: [\"rq\", \"sparql\"], alias: [\"sparul\"]},\n\t {name: \"Spreadsheet\", mime: \"text/x-spreadsheet\", mode: \"spreadsheet\", alias: [\"excel\", \"formula\"]},\n\t {name: \"SQL\", mime: \"text/x-sql\", mode: \"sql\", ext: [\"sql\"]},\n\t {name: \"Squirrel\", mime: \"text/x-squirrel\", mode: \"clike\", ext: [\"nut\"]},\n\t {name: \"Stylus\", mime: \"text/x-styl\", mode: \"stylus\", ext: [\"styl\"]},\n\t {name: \"Swift\", mime: \"text/x-swift\", mode: \"swift\", ext: [\"swift\"]},\n\t {name: \"sTeX\", mime: \"text/x-stex\", mode: \"stex\"},\n\t {name: \"LaTeX\", mime: \"text/x-latex\", mode: \"stex\", ext: [\"text\", \"ltx\"], alias: [\"tex\"]},\n\t {name: \"SystemVerilog\", mime: \"text/x-systemverilog\", mode: \"verilog\", ext: [\"v\"]},\n\t {name: \"Tcl\", mime: \"text/x-tcl\", mode: \"tcl\", ext: [\"tcl\"]},\n\t {name: \"Textile\", mime: \"text/x-textile\", mode: \"textile\", ext: [\"textile\"]},\n\t {name: \"TiddlyWiki \", mime: \"text/x-tiddlywiki\", mode: \"tiddlywiki\"},\n\t {name: \"Tiki wiki\", mime: \"text/tiki\", mode: \"tiki\"},\n\t {name: \"TOML\", mime: \"text/x-toml\", mode: \"toml\", ext: [\"toml\"]},\n\t {name: \"Tornado\", mime: \"text/x-tornado\", mode: \"tornado\"},\n\t {name: \"troff\", mime: \"text/troff\", mode: \"troff\", ext: [\"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\"]},\n\t {name: \"TTCN\", mime: \"text/x-ttcn\", mode: \"ttcn\", ext: [\"ttcn\", \"ttcn3\", \"ttcnpp\"]},\n\t {name: \"TTCN_CFG\", mime: \"text/x-ttcn-cfg\", mode: \"ttcn-cfg\", ext: [\"cfg\"]},\n\t {name: \"Turtle\", mime: \"text/turtle\", mode: \"turtle\", ext: [\"ttl\"]},\n\t {name: \"TypeScript\", mime: \"application/typescript\", mode: \"javascript\", ext: [\"ts\"], alias: [\"ts\"]},\n\t {name: \"Twig\", mime: \"text/x-twig\", mode: \"twig\"},\n\t {name: \"Web IDL\", mime: \"text/x-webidl\", mode: \"webidl\", ext: [\"webidl\"]},\n\t {name: \"VB.NET\", mime: \"text/x-vb\", mode: \"vb\", ext: [\"vb\"]},\n\t {name: \"VBScript\", mime: \"text/vbscript\", mode: \"vbscript\", ext: [\"vbs\"]},\n\t {name: \"Velocity\", mime: \"text/velocity\", mode: \"velocity\", ext: [\"vtl\"]},\n\t {name: \"Verilog\", mime: \"text/x-verilog\", mode: \"verilog\", ext: [\"v\"]},\n\t {name: \"VHDL\", mime: \"text/x-vhdl\", mode: \"vhdl\", ext: [\"vhd\", \"vhdl\"]},\n\t {name: \"Vue.js Component\", mimes: [\"script/x-vue\", \"text/x-vue\"], mode: \"vue\", ext: [\"vue\"]},\n\t {name: \"XML\", mimes: [\"application/xml\", \"text/xml\"], mode: \"xml\", ext: [\"xml\", \"xsl\", \"xsd\"], alias: [\"rss\", \"wsdl\", \"xsd\"]},\n\t {name: \"XQuery\", mime: \"application/xquery\", mode: \"xquery\", ext: [\"xy\", \"xquery\"]},\n\t {name: \"Yacas\", mime: \"text/x-yacas\", mode: \"yacas\", ext: [\"ys\"]},\n\t {name: \"YAML\", mimes: [\"text/x-yaml\", \"text/yaml\"], mode: \"yaml\", ext: [\"yaml\", \"yml\"], alias: [\"yml\"]},\n\t {name: \"Z80\", mime: \"text/x-z80\", mode: \"z80\", ext: [\"z80\"]},\n\t {name: \"mscgen\", mime: \"text/x-mscgen\", mode: \"mscgen\", ext: [\"mscgen\", \"mscin\", \"msc\"]},\n\t {name: \"xu\", mime: \"text/x-xu\", mode: \"mscgen\", ext: [\"xu\"]},\n\t {name: \"msgenny\", mime: \"text/x-msgenny\", mode: \"mscgen\", ext: [\"msgenny\"]}\n\t ];\n\t // Ensure all modes have a mime property for backwards compatibility\n\t for (var i = 0; i < CodeMirror.modeInfo.length; i++) {\n\t var info = CodeMirror.modeInfo[i];\n\t if (info.mimes) info.mime = info.mimes[0];\n\t }\n\t\n\t CodeMirror.findModeByMIME = function(mime) {\n\t mime = mime.toLowerCase();\n\t for (var i = 0; i < CodeMirror.modeInfo.length; i++) {\n\t var info = CodeMirror.modeInfo[i];\n\t if (info.mime == mime) return info;\n\t if (info.mimes) for (var j = 0; j < info.mimes.length; j++)\n\t if (info.mimes[j] == mime) return info;\n\t }\n\t };\n\t\n\t CodeMirror.findModeByExtension = function(ext) {\n\t for (var i = 0; i < CodeMirror.modeInfo.length; i++) {\n\t var info = CodeMirror.modeInfo[i];\n\t if (info.ext) for (var j = 0; j < info.ext.length; j++)\n\t if (info.ext[j] == ext) return info;\n\t }\n\t };\n\t\n\t CodeMirror.findModeByFileName = function(filename) {\n\t for (var i = 0; i < CodeMirror.modeInfo.length; i++) {\n\t var info = CodeMirror.modeInfo[i];\n\t if (info.file && info.file.test(filename)) return info;\n\t }\n\t var dot = filename.lastIndexOf(\".\");\n\t var ext = dot > -1 && filename.substring(dot + 1, filename.length);\n\t if (ext) return CodeMirror.findModeByExtension(ext);\n\t };\n\t\n\t CodeMirror.findModeByName = function(name) {\n\t name = name.toLowerCase();\n\t for (var i = 0; i < CodeMirror.modeInfo.length; i++) {\n\t var info = CodeMirror.modeInfo[i];\n\t if (info.name.toLowerCase() == name) return info;\n\t if (info.alias) for (var j = 0; j < info.alias.length; j++)\n\t if (info.alias[j].toLowerCase() == name) return info;\n\t }\n\t };\n\t});\n\n\n/***/ },\n/* 396 */\n/***/ function(module, exports) {\n\n\tvar MILI = 'milliseconds'\n\t , SECONDS = 'seconds'\n\t , MINUTES = 'minutes'\n\t , HOURS = 'hours'\n\t , DAY = 'day'\n\t , WEEK = 'week'\n\t , MONTH = 'month'\n\t , YEAR = 'year'\n\t , DECADE = 'decade'\n\t , CENTURY = 'century';\n\t\n\tvar dates = module.exports = {\n\t\n\t add: function(date, num, unit) {\n\t date = new Date(date)\n\t\n\t switch (unit){\n\t case MILI:\n\t case SECONDS:\n\t case MINUTES:\n\t case HOURS:\n\t case YEAR:\n\t return dates[unit](date, dates[unit](date) + num)\n\t case DAY:\n\t return dates.date(date, dates.date(date) + num)\n\t case WEEK:\n\t return dates.date(date, dates.date(date) + (7 * num)) \n\t case MONTH:\n\t return monthMath(date, num)\n\t case DECADE:\n\t return dates.year(date, dates.year(date) + (num * 10))\n\t case CENTURY:\n\t return dates.year(date, dates.year(date) + (num * 100))\n\t }\n\t\n\t throw new TypeError('Invalid units: \"' + unit + '\"')\n\t },\n\t\n\t subtract: function(date, num, unit) {\n\t return dates.add(date, -num, unit)\n\t },\n\t\n\t startOf: function(date, unit, firstOfWeek) {\n\t date = new Date(date)\n\t\n\t switch (unit) {\n\t case 'century':\n\t case 'decade':\n\t case 'year':\n\t date = dates.month(date, 0);\n\t case 'month':\n\t date = dates.date(date, 1);\n\t case 'week':\n\t case 'day':\n\t date = dates.hours(date, 0);\n\t case 'hours':\n\t date = dates.minutes(date, 0);\n\t case 'minutes':\n\t date = dates.seconds(date, 0);\n\t case 'seconds':\n\t date = dates.milliseconds(date, 0);\n\t }\n\t\n\t if (unit === DECADE) \n\t date = dates.subtract(date, dates.year(date) % 10, 'year')\n\t \n\t if (unit === CENTURY) \n\t date = dates.subtract(date, dates.year(date) % 100, 'year')\n\t\n\t if (unit === WEEK) \n\t date = dates.weekday(date, 0, firstOfWeek);\n\t\n\t return date\n\t },\n\t\n\t\n\t endOf: function(date, unit, firstOfWeek){\n\t date = new Date(date)\n\t date = dates.startOf(date, unit, firstOfWeek)\n\t date = dates.add(date, 1, unit)\n\t date = dates.subtract(date, 1, MILI)\n\t return date\n\t },\n\t\n\t eq: createComparer(function(a, b){ return a === b }),\n\t neq: createComparer(function(a, b){ return a !== b }),\n\t gt: createComparer(function(a, b){ return a > b }),\n\t gte: createComparer(function(a, b){ return a >= b }),\n\t lt: createComparer(function(a, b){ return a < b }),\n\t lte: createComparer(function(a, b){ return a <= b }),\n\t\n\t min: function(){\n\t return new Date(Math.min.apply(Math, arguments))\n\t },\n\t\n\t max: function(){\n\t return new Date(Math.max.apply(Math, arguments))\n\t },\n\t \n\t inRange: function(day, min, max, unit){\n\t unit = unit || 'day'\n\t\n\t return (!min || dates.gte(day, min, unit))\n\t && (!max || dates.lte(day, max, unit))\n\t },\n\t\n\t milliseconds: createAccessor('Milliseconds'),\n\t seconds: createAccessor('Seconds'),\n\t minutes: createAccessor('Minutes'),\n\t hours: createAccessor('Hours'),\n\t day: createAccessor('Day'),\n\t date: createAccessor('Date'),\n\t month: createAccessor('Month'),\n\t year: createAccessor('FullYear'),\n\t\n\t decade: function (date, val) {\n\t return val === undefined \n\t ? dates.year(dates.startOf(date, DECADE))\n\t : dates.add(date, val + 10, YEAR);\n\t },\n\t\n\t century: function (date, val) {\n\t return val === undefined \n\t ? dates.year(dates.startOf(date, CENTURY))\n\t : dates.add(date, val + 100, YEAR);\n\t },\n\t\n\t weekday: function (date, val, firstDay) {\n\t var weekday = (dates.day(date) + 7 - (firstDay || 0) ) % 7;\n\t\n\t return val === undefined \n\t ? weekday \n\t : dates.add(date, val - weekday, DAY);\n\t },\n\t\n\t diff: function (date1, date2, unit, asFloat) {\n\t var dividend, divisor, result;\n\t\n\t switch (unit) {\n\t case MILI:\n\t case SECONDS:\n\t case MINUTES:\n\t case HOURS:\n\t case DAY:\n\t case WEEK:\n\t dividend = date2.getTime() - date1.getTime(); break;\n\t case MONTH:\n\t case YEAR:\n\t case DECADE:\n\t case CENTURY:\n\t dividend = (dates.year(date2) - dates.year(date1)) * 12 + dates.month(date2) - dates.month(date1); break;\n\t default:\n\t throw new TypeError('Invalid units: \"' + unit + '\"');\n\t }\n\t\n\t switch (unit) {\n\t case MILI:\n\t divisor = 1; break;\n\t case SECONDS:\n\t divisor = 1000; break;\n\t case MINUTES:\n\t divisor = 1000 * 60; break;\n\t case HOURS:\n\t divisor = 1000 * 60 * 60; break;\n\t case DAY:\n\t divisor = 1000 * 60 * 60 * 24; break;\n\t case WEEK:\n\t divisor = 1000 * 60 * 60 * 24 * 7; break;\n\t case MONTH:\n\t divisor = 1; break;\n\t case YEAR:\n\t divisor = 12; break;\n\t case DECADE:\n\t divisor = 120; break;\n\t case CENTURY:\n\t divisor = 1200; break;\n\t default:\n\t throw new TypeError('Invalid units: \"' + unit + '\"');\n\t }\n\t\n\t result = dividend / divisor;\n\t\n\t return asFloat ? result : absoluteFloor(result);\n\t }\n\t};\n\t\n\tfunction absoluteFloor(number) {\n\t return number < 0 ? Math.ceil(number) : Math.floor(number);\n\t}\n\t\n\tfunction monthMath(date, val){\n\t var current = dates.month(date)\n\t , newMonth = (current + val);\n\t\n\t date = dates.month(date, newMonth)\n\t\n\t while (newMonth < 0 ) newMonth = 12 + newMonth\n\t \n\t //month rollover\n\t if ( dates.month(date) !== ( newMonth % 12))\n\t date = dates.date(date, 0) //move to last of month\n\t\n\t return date\n\t}\n\t\n\tfunction createAccessor(method){\n\t return function(date, val){\n\t if (val === undefined)\n\t return date['get' + method]()\n\t\n\t date = new Date(date)\n\t date['set' + method](val)\n\t return date\n\t }\n\t}\n\t\n\tfunction createComparer(operator) {\n\t return function (a, b, unit) {\n\t return operator(+dates.startOf(a, unit), +dates.startOf(b, unit))\n\t };\n\t}\n\n\n/***/ },\n/* 397 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar babelHelpers = __webpack_require__(170);\n\t\n\texports.__esModule = true;\n\t\n\t/**\r\n\t * document.activeElement\r\n\t */\n\texports['default'] = activeElement;\n\t\n\tvar _ownerDocument = __webpack_require__(168);\n\t\n\tvar _ownerDocument2 = babelHelpers.interopRequireDefault(_ownerDocument);\n\t\n\tfunction activeElement() {\n\t var doc = arguments[0] === undefined ? document : arguments[0];\n\t\n\t try {\n\t return doc.activeElement;\n\t } catch (e) {}\n\t}\n\t\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 398 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\tvar canUseDOM = __webpack_require__(61);\n\tvar off = function off() {};\n\t\n\tif (canUseDOM) {\n\t\n\t off = (function () {\n\t\n\t if (document.addEventListener) return function (node, eventName, handler, capture) {\n\t return node.removeEventListener(eventName, handler, capture || false);\n\t };else if (document.attachEvent) return function (node, eventName, handler) {\n\t return node.detachEvent('on' + eventName, handler);\n\t };\n\t })();\n\t}\n\t\n\tmodule.exports = off;\n\n/***/ },\n/* 399 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\tvar canUseDOM = __webpack_require__(61);\n\tvar on = function on() {};\n\t\n\tif (canUseDOM) {\n\t on = (function () {\n\t\n\t if (document.addEventListener) return function (node, eventName, handler, capture) {\n\t return node.addEventListener(eventName, handler, capture || false);\n\t };else if (document.attachEvent) return function (node, eventName, handler) {\n\t return node.attachEvent('on' + eventName, handler);\n\t };\n\t })();\n\t}\n\t\n\tmodule.exports = on;\n\n/***/ },\n/* 400 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\tvar canUseDOM = __webpack_require__(61);\n\t\n\tvar contains = (function () {\n\t var root = canUseDOM && document.documentElement;\n\t\n\t return root && root.contains ? function (context, node) {\n\t return context.contains(node);\n\t } : root && root.compareDocumentPosition ? function (context, node) {\n\t return context === node || !!(context.compareDocumentPosition(node) & 16);\n\t } : function (context, node) {\n\t if (node) do {\n\t if (node === context) return true;\n\t } while (node = node.parentNode);\n\t\n\t return false;\n\t };\n\t})();\n\t\n\tmodule.exports = contains;\n\n/***/ },\n/* 401 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar css = __webpack_require__(60),\n\t height = __webpack_require__(82);\n\t\n\tmodule.exports = function scrollPrarent(node) {\n\t var position = css(node, 'position'),\n\t excludeStatic = position === 'absolute',\n\t ownerDoc = node.ownerDocument;\n\t\n\t if (position === 'fixed') return ownerDoc || document;\n\t\n\t while ((node = node.parentNode) && node.nodeType !== 9) {\n\t\n\t var isStatic = excludeStatic && css(node, 'position') === 'static',\n\t style = css(node, 'overflow') + css(node, 'overflow-y') + css(node, 'overflow-x');\n\t\n\t if (isStatic) continue;\n\t\n\t if (/(auto|scroll)/.test(style) && height(node) < node.scrollHeight) return node;\n\t }\n\t\n\t return document;\n\t};\n\n/***/ },\n/* 402 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\tvar getWindow = __webpack_require__(59);\n\t\n\tmodule.exports = function scrollTop(node, val) {\n\t var win = getWindow(node);\n\t\n\t if (val === undefined) return win ? 'pageYOffset' in win ? win.pageYOffset : win.document.documentElement.scrollTop : node.scrollTop;\n\t\n\t if (win) win.scrollTo('pageXOffset' in win ? win.pageXOffset : win.document.documentElement.scrollLeft, val);else node.scrollTop = val;\n\t};\n\n/***/ },\n/* 403 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar babelHelpers = __webpack_require__(170);\n\t\n\tvar _utilCamelizeStyle = __webpack_require__(110);\n\t\n\tvar _utilCamelizeStyle2 = babelHelpers.interopRequireDefault(_utilCamelizeStyle);\n\t\n\tvar rposition = /^(top|right|bottom|left)$/;\n\tvar rnumnonpx = /^([+-]?(?:\\d*\\.|)\\d+(?:[eE][+-]?\\d+|))(?!px)[a-z%]+$/i;\n\t\n\tmodule.exports = function _getComputedStyle(node) {\n\t if (!node) throw new TypeError('No Element passed to `getComputedStyle()`');\n\t var doc = node.ownerDocument;\n\t\n\t return 'defaultView' in doc ? doc.defaultView.opener ? node.ownerDocument.defaultView.getComputedStyle(node, null) : window.getComputedStyle(node, null) : { //ie 8 \"magic\" from: https://github.com/jquery/jquery/blob/1.11-stable/src/css/curCSS.js#L72\n\t getPropertyValue: function getPropertyValue(prop) {\n\t var style = node.style;\n\t\n\t prop = (0, _utilCamelizeStyle2['default'])(prop);\n\t\n\t if (prop == 'float') prop = 'styleFloat';\n\t\n\t var current = node.currentStyle[prop] || null;\n\t\n\t if (current == null && style && style[prop]) current = style[prop];\n\t\n\t if (rnumnonpx.test(current) && !rposition.test(prop)) {\n\t // Remember the original values\n\t var left = style.left;\n\t var runStyle = node.runtimeStyle;\n\t var rsLeft = runStyle && runStyle.left;\n\t\n\t // Put in the new values to get a computed value out\n\t if (rsLeft) runStyle.left = node.currentStyle.left;\n\t\n\t style.left = prop === 'fontSize' ? '1em' : current;\n\t current = style.pixelLeft + 'px';\n\t\n\t // Revert the changed values\n\t style.left = left;\n\t if (rsLeft) runStyle.left = rsLeft;\n\t }\n\t\n\t return current;\n\t }\n\t };\n\t};\n\n/***/ },\n/* 404 */\n/***/ function(module, exports) {\n\n\t'use strict';\n\t\n\tmodule.exports = function removeStyle(node, key) {\n\t return 'removeProperty' in node.style ? node.style.removeProperty(key) : node.style.removeAttribute(key);\n\t};\n\n/***/ },\n/* 405 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\tvar canUseDOM = __webpack_require__(61);\n\t\n\tvar has = Object.prototype.hasOwnProperty,\n\t transform = 'transform',\n\t transition = {},\n\t transitionTiming,\n\t transitionDuration,\n\t transitionProperty,\n\t transitionDelay;\n\t\n\tif (canUseDOM) {\n\t transition = getTransitionProperties();\n\t\n\t transform = transition.prefix + transform;\n\t\n\t transitionProperty = transition.prefix + 'transition-property';\n\t transitionDuration = transition.prefix + 'transition-duration';\n\t transitionDelay = transition.prefix + 'transition-delay';\n\t transitionTiming = transition.prefix + 'transition-timing-function';\n\t}\n\t\n\tmodule.exports = {\n\t transform: transform,\n\t end: transition.end,\n\t property: transitionProperty,\n\t timing: transitionTiming,\n\t delay: transitionDelay,\n\t duration: transitionDuration\n\t};\n\t\n\tfunction getTransitionProperties() {\n\t var endEvent,\n\t prefix = '',\n\t transitions = {\n\t O: 'otransitionend',\n\t Moz: 'transitionend',\n\t Webkit: 'webkitTransitionEnd',\n\t ms: 'MSTransitionEnd'\n\t };\n\t\n\t var element = document.createElement('div');\n\t\n\t for (var vendor in transitions) if (has.call(transitions, vendor)) {\n\t if (element.style[vendor + 'TransitionProperty'] !== undefined) {\n\t prefix = '-' + vendor.toLowerCase() + '-';\n\t endEvent = transitions[vendor];\n\t break;\n\t }\n\t }\n\t\n\t if (!endEvent && element.style.transitionProperty !== undefined) endEvent = 'transitionend';\n\t\n\t return { end: endEvent, prefix: prefix };\n\t}\n\n/***/ },\n/* 406 */\n/***/ function(module, exports) {\n\n\t\"use strict\";\n\t\n\tvar rHyphen = /-(.)/g;\n\t\n\tmodule.exports = function camelize(string) {\n\t return string.replace(rHyphen, function (_, chr) {\n\t return chr.toUpperCase();\n\t });\n\t};\n\n/***/ },\n/* 407 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\r\n\t * Copyright 2013-2014, Facebook, Inc.\r\n\t * All rights reserved.\r\n\t * https://github.com/facebook/react/blob/2aeb8a2a6beb00617a4217f7f8284924fa2ad819/src/vendor/core/hyphenateStyleName.js\r\n\t */\n\t\n\t\"use strict\";\n\t\n\tvar hyphenate = __webpack_require__(171);\n\tvar msPattern = /^ms-/;\n\t\n\tmodule.exports = function hyphenateStyleName(string) {\n\t return hyphenate(string).replace(msPattern, \"-ms-\");\n\t};\n\n/***/ },\n/* 408 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar canUseDOM = __webpack_require__(61);\n\t\n\tvar vendors = ['', 'webkit', 'moz', 'o', 'ms'],\n\t cancel = 'clearTimeout',\n\t raf = fallback,\n\t compatRaf;\n\t\n\tvar getKey = function getKey(vendor, k) {\n\t return vendor + (!vendor ? k : k[0].toUpperCase() + k.substr(1)) + 'AnimationFrame';\n\t};\n\t\n\tif (canUseDOM) {\n\t vendors.some(function (vendor) {\n\t var rafKey = getKey(vendor, 'request');\n\t\n\t if (rafKey in window) {\n\t cancel = getKey(vendor, 'cancel');\n\t return raf = function (cb) {\n\t return window[rafKey](cb);\n\t };\n\t }\n\t });\n\t}\n\t\n\t/* https://github.com/component/raf */\n\tvar prev = new Date().getTime();\n\t\n\tfunction fallback(fn) {\n\t var curr = new Date().getTime(),\n\t ms = Math.max(0, 16 - (curr - prev)),\n\t req = setTimeout(fn, ms);\n\t\n\t prev = curr;\n\t return req;\n\t}\n\t\n\tcompatRaf = function (cb) {\n\t return raf(cb);\n\t};\n\tcompatRaf.cancel = function (id) {\n\t return window[cancel](id);\n\t};\n\t\n\tmodule.exports = compatRaf;\n\n/***/ },\n/* 409 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\tvar getOffset = __webpack_require__(109),\n\t height = __webpack_require__(82),\n\t getScrollParent = __webpack_require__(401),\n\t scrollTop = __webpack_require__(402),\n\t raf = __webpack_require__(408),\n\t getWindow = __webpack_require__(59);\n\t\n\tmodule.exports = function scrollTo(selected, scrollParent) {\n\t var offset = getOffset(selected),\n\t poff = { top: 0, left: 0 },\n\t list,\n\t listScrollTop,\n\t selectedTop,\n\t isWin,\n\t selectedHeight,\n\t listHeight,\n\t bottom;\n\t\n\t if (!selected) return;\n\t\n\t list = scrollParent || getScrollParent(selected);\n\t isWin = getWindow(list);\n\t listScrollTop = scrollTop(list);\n\t\n\t listHeight = height(list, true);\n\t isWin = getWindow(list);\n\t\n\t if (!isWin) poff = getOffset(list);\n\t\n\t offset = {\n\t top: offset.top - poff.top,\n\t left: offset.left - poff.left,\n\t height: offset.height,\n\t width: offset.width\n\t };\n\t\n\t selectedHeight = offset.height;\n\t selectedTop = offset.top + (isWin ? 0 : listScrollTop);\n\t bottom = selectedTop + selectedHeight;\n\t\n\t listScrollTop = listScrollTop > selectedTop ? selectedTop : bottom > listScrollTop + listHeight ? bottom - listHeight : listScrollTop;\n\t\n\t var id = raf(function () {\n\t return scrollTop(list, listScrollTop);\n\t });\n\t\n\t return function () {\n\t return raf.cancel(id);\n\t };\n\t};\n\n/***/ },\n/* 410 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*\n\t Copyright (c) jQuery Foundation, Inc. and Contributors, All Rights Reserved.\n\t\n\t Redistribution and use in source and binary forms, with or without\n\t modification, are permitted provided that the following conditions are met:\n\t\n\t * Redistributions of source code must retain the above copyright\n\t notice, this list of conditions and the following disclaimer.\n\t * Redistributions in binary form must reproduce the above copyright\n\t notice, this list of conditions and the following disclaimer in the\n\t documentation and/or other materials provided with the distribution.\n\t\n\t THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\n\t AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n\t IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\n\t ARE DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY\n\t DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n\t (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\n\t LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND\n\t ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n\t (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF\n\t THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\t*/\n\t\n\t(function (root, factory) {\n\t 'use strict';\n\t\n\t // Universal Module Definition (UMD) to support AMD, CommonJS/Node.js,\n\t // Rhino, and plain browser loading.\n\t\n\t /* istanbul ignore next */\n\t if (true) {\n\t !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t } else if (typeof exports !== 'undefined') {\n\t factory(exports);\n\t } else {\n\t factory((root.esprima = {}));\n\t }\n\t}(this, function (exports) {\n\t 'use strict';\n\t\n\t var Token,\n\t TokenName,\n\t FnExprTokens,\n\t Syntax,\n\t PlaceHolders,\n\t Messages,\n\t Regex,\n\t source,\n\t strict,\n\t index,\n\t lineNumber,\n\t lineStart,\n\t hasLineTerminator,\n\t lastIndex,\n\t lastLineNumber,\n\t lastLineStart,\n\t startIndex,\n\t startLineNumber,\n\t startLineStart,\n\t scanning,\n\t length,\n\t lookahead,\n\t state,\n\t extra,\n\t isBindingElement,\n\t isAssignmentTarget,\n\t firstCoverInitializedNameError;\n\t\n\t Token = {\n\t BooleanLiteral: 1,\n\t EOF: 2,\n\t Identifier: 3,\n\t Keyword: 4,\n\t NullLiteral: 5,\n\t NumericLiteral: 6,\n\t Punctuator: 7,\n\t StringLiteral: 8,\n\t RegularExpression: 9,\n\t Template: 10\n\t };\n\t\n\t TokenName = {};\n\t TokenName[Token.BooleanLiteral] = 'Boolean';\n\t TokenName[Token.EOF] = '<end>';\n\t TokenName[Token.Identifier] = 'Identifier';\n\t TokenName[Token.Keyword] = 'Keyword';\n\t TokenName[Token.NullLiteral] = 'Null';\n\t TokenName[Token.NumericLiteral] = 'Numeric';\n\t TokenName[Token.Punctuator] = 'Punctuator';\n\t TokenName[Token.StringLiteral] = 'String';\n\t TokenName[Token.RegularExpression] = 'RegularExpression';\n\t TokenName[Token.Template] = 'Template';\n\t\n\t // A function following one of those tokens is an expression.\n\t FnExprTokens = ['(', '{', '[', 'in', 'typeof', 'instanceof', 'new',\n\t 'return', 'case', 'delete', 'throw', 'void',\n\t // assignment operators\n\t '=', '+=', '-=', '*=', '/=', '%=', '<<=', '>>=', '>>>=',\n\t '&=', '|=', '^=', ',',\n\t // binary/unary operators\n\t '+', '-', '*', '/', '%', '++', '--', '<<', '>>', '>>>', '&',\n\t '|', '^', '!', '~', '&&', '||', '?', ':', '===', '==', '>=',\n\t '<=', '<', '>', '!=', '!=='];\n\t\n\t Syntax = {\n\t AssignmentExpression: 'AssignmentExpression',\n\t AssignmentPattern: 'AssignmentPattern',\n\t ArrayExpression: 'ArrayExpression',\n\t ArrayPattern: 'ArrayPattern',\n\t ArrowFunctionExpression: 'ArrowFunctionExpression',\n\t BlockStatement: 'BlockStatement',\n\t BinaryExpression: 'BinaryExpression',\n\t BreakStatement: 'BreakStatement',\n\t CallExpression: 'CallExpression',\n\t CatchClause: 'CatchClause',\n\t ClassBody: 'ClassBody',\n\t ClassDeclaration: 'ClassDeclaration',\n\t ClassExpression: 'ClassExpression',\n\t ConditionalExpression: 'ConditionalExpression',\n\t ContinueStatement: 'ContinueStatement',\n\t DoWhileStatement: 'DoWhileStatement',\n\t DebuggerStatement: 'DebuggerStatement',\n\t EmptyStatement: 'EmptyStatement',\n\t ExportAllDeclaration: 'ExportAllDeclaration',\n\t ExportDefaultDeclaration: 'ExportDefaultDeclaration',\n\t ExportNamedDeclaration: 'ExportNamedDeclaration',\n\t ExportSpecifier: 'ExportSpecifier',\n\t ExpressionStatement: 'ExpressionStatement',\n\t ForStatement: 'ForStatement',\n\t ForOfStatement: 'ForOfStatement',\n\t ForInStatement: 'ForInStatement',\n\t FunctionDeclaration: 'FunctionDeclaration',\n\t FunctionExpression: 'FunctionExpression',\n\t Identifier: 'Identifier',\n\t IfStatement: 'IfStatement',\n\t ImportDeclaration: 'ImportDeclaration',\n\t ImportDefaultSpecifier: 'ImportDefaultSpecifier',\n\t ImportNamespaceSpecifier: 'ImportNamespaceSpecifier',\n\t ImportSpecifier: 'ImportSpecifier',\n\t Literal: 'Literal',\n\t LabeledStatement: 'LabeledStatement',\n\t LogicalExpression: 'LogicalExpression',\n\t MemberExpression: 'MemberExpression',\n\t MetaProperty: 'MetaProperty',\n\t MethodDefinition: 'MethodDefinition',\n\t NewExpression: 'NewExpression',\n\t ObjectExpression: 'ObjectExpression',\n\t ObjectPattern: 'ObjectPattern',\n\t Program: 'Program',\n\t Property: 'Property',\n\t RestElement: 'RestElement',\n\t ReturnStatement: 'ReturnStatement',\n\t SequenceExpression: 'SequenceExpression',\n\t SpreadElement: 'SpreadElement',\n\t Super: 'Super',\n\t SwitchCase: 'SwitchCase',\n\t SwitchStatement: 'SwitchStatement',\n\t TaggedTemplateExpression: 'TaggedTemplateExpression',\n\t TemplateElement: 'TemplateElement',\n\t TemplateLiteral: 'TemplateLiteral',\n\t ThisExpression: 'ThisExpression',\n\t ThrowStatement: 'ThrowStatement',\n\t TryStatement: 'TryStatement',\n\t UnaryExpression: 'UnaryExpression',\n\t UpdateExpression: 'UpdateExpression',\n\t VariableDeclaration: 'VariableDeclaration',\n\t VariableDeclarator: 'VariableDeclarator',\n\t WhileStatement: 'WhileStatement',\n\t WithStatement: 'WithStatement',\n\t YieldExpression: 'YieldExpression'\n\t };\n\t\n\t PlaceHolders = {\n\t ArrowParameterPlaceHolder: 'ArrowParameterPlaceHolder'\n\t };\n\t\n\t // Error messages should be identical to V8.\n\t Messages = {\n\t UnexpectedToken: 'Unexpected token %0',\n\t UnexpectedNumber: 'Unexpected number',\n\t UnexpectedString: 'Unexpected string',\n\t UnexpectedIdentifier: 'Unexpected identifier',\n\t UnexpectedReserved: 'Unexpected reserved word',\n\t UnexpectedTemplate: 'Unexpected quasi %0',\n\t UnexpectedEOS: 'Unexpected end of input',\n\t NewlineAfterThrow: 'Illegal newline after throw',\n\t InvalidRegExp: 'Invalid regular expression',\n\t UnterminatedRegExp: 'Invalid regular expression: missing /',\n\t InvalidLHSInAssignment: 'Invalid left-hand side in assignment',\n\t InvalidLHSInForIn: 'Invalid left-hand side in for-in',\n\t InvalidLHSInForLoop: 'Invalid left-hand side in for-loop',\n\t MultipleDefaultsInSwitch: 'More than one default clause in switch statement',\n\t NoCatchOrFinally: 'Missing catch or finally after try',\n\t UnknownLabel: 'Undefined label \\'%0\\'',\n\t Redeclaration: '%0 \\'%1\\' has already been declared',\n\t IllegalContinue: 'Illegal continue statement',\n\t IllegalBreak: 'Illegal break statement',\n\t IllegalReturn: 'Illegal return statement',\n\t StrictModeWith: 'Strict mode code may not include a with statement',\n\t StrictCatchVariable: 'Catch variable may not be eval or arguments in strict mode',\n\t StrictVarName: 'Variable name may not be eval or arguments in strict mode',\n\t StrictParamName: 'Parameter name eval or arguments is not allowed in strict mode',\n\t StrictParamDupe: 'Strict mode function may not have duplicate parameter names',\n\t StrictFunctionName: 'Function name may not be eval or arguments in strict mode',\n\t StrictOctalLiteral: 'Octal literals are not allowed in strict mode.',\n\t StrictDelete: 'Delete of an unqualified identifier in strict mode.',\n\t StrictLHSAssignment: 'Assignment to eval or arguments is not allowed in strict mode',\n\t StrictLHSPostfix: 'Postfix increment/decrement may not have eval or arguments operand in strict mode',\n\t StrictLHSPrefix: 'Prefix increment/decrement may not have eval or arguments operand in strict mode',\n\t StrictReservedWord: 'Use of future reserved word in strict mode',\n\t TemplateOctalLiteral: 'Octal literals are not allowed in template strings.',\n\t ParameterAfterRestParameter: 'Rest parameter must be last formal parameter',\n\t DefaultRestParameter: 'Unexpected token =',\n\t ObjectPatternAsRestParameter: 'Unexpected token {',\n\t DuplicateProtoProperty: 'Duplicate __proto__ fields are not allowed in object literals',\n\t ConstructorSpecialMethod: 'Class constructor may not be an accessor',\n\t DuplicateConstructor: 'A class may only have one constructor',\n\t StaticPrototype: 'Classes may not have static property named prototype',\n\t MissingFromClause: 'Unexpected token',\n\t NoAsAfterImportNamespace: 'Unexpected token',\n\t InvalidModuleSpecifier: 'Unexpected token',\n\t IllegalImportDeclaration: 'Unexpected token',\n\t IllegalExportDeclaration: 'Unexpected token',\n\t DuplicateBinding: 'Duplicate binding %0'\n\t };\n\t\n\t // See also tools/generate-unicode-regex.js.\n\t Regex = {\n\t // ECMAScript 6/Unicode v7.0.0 NonAsciiIdentifierStart:\n\t NonAsciiIdentifierStart: /[\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0620-\\u064A\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06E5\\u06E6\\u06EE\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA\\u07F4\\u07F5\\u07FA\\u0800-\\u0815\\u081A\\u0824\\u0828\\u0840-\\u0858\\u08A0-\\u08B2\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0980\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09F0\\u09F1\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D\\u0C58\\u0C59\\u0C60\\u0C61\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D60\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E46\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EDC-\\u0EDF\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u13A0-\\u13F4\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u1820-\\u1877\\u1880-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19C1-\\u19C7\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4B\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1CE9-\\u1CEC\\u1CEE-\\u1CF1\\u1CF5\\u1CF6\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2071\\u207F\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2118-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u3005-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u309B-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FCC\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B\\uA640-\\uA66E\\uA67F-\\uA69D\\uA6A0-\\uA6EF\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA78E\\uA790-\\uA7AD\\uA7B0\\uA7B1\\uA7F7-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF\\uA9E0-\\uA9E4\\uA9E6-\\uA9EF\\uA9FA-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB5F\\uAB64\\uAB65\\uABC0-\\uABE2\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]|\\uD800[\\uDC00-\\uDC0B\\uDC0D-\\uDC26\\uDC28-\\uDC3A\\uDC3C\\uDC3D\\uDC3F-\\uDC4D\\uDC50-\\uDC5D\\uDC80-\\uDCFA\\uDD40-\\uDD74\\uDE80-\\uDE9C\\uDEA0-\\uDED0\\uDF00-\\uDF1F\\uDF30-\\uDF4A\\uDF50-\\uDF75\\uDF80-\\uDF9D\\uDFA0-\\uDFC3\\uDFC8-\\uDFCF\\uDFD1-\\uDFD5]|\\uD801[\\uDC00-\\uDC9D\\uDD00-\\uDD27\\uDD30-\\uDD63\\uDE00-\\uDF36\\uDF40-\\uDF55\\uDF60-\\uDF67]|\\uD802[\\uDC00-\\uDC05\\uDC08\\uDC0A-\\uDC35\\uDC37\\uDC38\\uDC3C\\uDC3F-\\uDC55\\uDC60-\\uDC76\\uDC80-\\uDC9E\\uDD00-\\uDD15\\uDD20-\\uDD39\\uDD80-\\uDDB7\\uDDBE\\uDDBF\\uDE00\\uDE10-\\uDE13\\uDE15-\\uDE17\\uDE19-\\uDE33\\uDE60-\\uDE7C\\uDE80-\\uDE9C\\uDEC0-\\uDEC7\\uDEC9-\\uDEE4\\uDF00-\\uDF35\\uDF40-\\uDF55\\uDF60-\\uDF72\\uDF80-\\uDF91]|\\uD803[\\uDC00-\\uDC48]|\\uD804[\\uDC03-\\uDC37\\uDC83-\\uDCAF\\uDCD0-\\uDCE8\\uDD03-\\uDD26\\uDD50-\\uDD72\\uDD76\\uDD83-\\uDDB2\\uDDC1-\\uDDC4\\uDDDA\\uDE00-\\uDE11\\uDE13-\\uDE2B\\uDEB0-\\uDEDE\\uDF05-\\uDF0C\\uDF0F\\uDF10\\uDF13-\\uDF28\\uDF2A-\\uDF30\\uDF32\\uDF33\\uDF35-\\uDF39\\uDF3D\\uDF5D-\\uDF61]|\\uD805[\\uDC80-\\uDCAF\\uDCC4\\uDCC5\\uDCC7\\uDD80-\\uDDAE\\uDE00-\\uDE2F\\uDE44\\uDE80-\\uDEAA]|\\uD806[\\uDCA0-\\uDCDF\\uDCFF\\uDEC0-\\uDEF8]|\\uD808[\\uDC00-\\uDF98]|\\uD809[\\uDC00-\\uDC6E]|[\\uD80C\\uD840-\\uD868\\uD86A-\\uD86C][\\uDC00-\\uDFFF]|\\uD80D[\\uDC00-\\uDC2E]|\\uD81A[\\uDC00-\\uDE38\\uDE40-\\uDE5E\\uDED0-\\uDEED\\uDF00-\\uDF2F\\uDF40-\\uDF43\\uDF63-\\uDF77\\uDF7D-\\uDF8F]|\\uD81B[\\uDF00-\\uDF44\\uDF50\\uDF93-\\uDF9F]|\\uD82C[\\uDC00\\uDC01]|\\uD82F[\\uDC00-\\uDC6A\\uDC70-\\uDC7C\\uDC80-\\uDC88\\uDC90-\\uDC99]|\\uD835[\\uDC00-\\uDC54\\uDC56-\\uDC9C\\uDC9E\\uDC9F\\uDCA2\\uDCA5\\uDCA6\\uDCA9-\\uDCAC\\uDCAE-\\uDCB9\\uDCBB\\uDCBD-\\uDCC3\\uDCC5-\\uDD05\\uDD07-\\uDD0A\\uDD0D-\\uDD14\\uDD16-\\uDD1C\\uDD1E-\\uDD39\\uDD3B-\\uDD3E\\uDD40-\\uDD44\\uDD46\\uDD4A-\\uDD50\\uDD52-\\uDEA5\\uDEA8-\\uDEC0\\uDEC2-\\uDEDA\\uDEDC-\\uDEFA\\uDEFC-\\uDF14\\uDF16-\\uDF34\\uDF36-\\uDF4E\\uDF50-\\uDF6E\\uDF70-\\uDF88\\uDF8A-\\uDFA8\\uDFAA-\\uDFC2\\uDFC4-\\uDFCB]|\\uD83A[\\uDC00-\\uDCC4]|\\uD83B[\\uDE00-\\uDE03\\uDE05-\\uDE1F\\uDE21\\uDE22\\uDE24\\uDE27\\uDE29-\\uDE32\\uDE34-\\uDE37\\uDE39\\uDE3B\\uDE42\\uDE47\\uDE49\\uDE4B\\uDE4D-\\uDE4F\\uDE51\\uDE52\\uDE54\\uDE57\\uDE59\\uDE5B\\uDE5D\\uDE5F\\uDE61\\uDE62\\uDE64\\uDE67-\\uDE6A\\uDE6C-\\uDE72\\uDE74-\\uDE77\\uDE79-\\uDE7C\\uDE7E\\uDE80-\\uDE89\\uDE8B-\\uDE9B\\uDEA1-\\uDEA3\\uDEA5-\\uDEA9\\uDEAB-\\uDEBB]|\\uD869[\\uDC00-\\uDED6\\uDF00-\\uDFFF]|\\uD86D[\\uDC00-\\uDF34\\uDF40-\\uDFFF]|\\uD86E[\\uDC00-\\uDC1D]|\\uD87E[\\uDC00-\\uDE1D]/,\n\t\n\t // ECMAScript 6/Unicode v7.0.0 NonAsciiIdentifierPart:\n\t NonAsciiIdentifierPart: /[\\xAA\\xB5\\xB7\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0300-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u0483-\\u0487\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0610-\\u061A\\u0620-\\u0669\\u066E-\\u06D3\\u06D5-\\u06DC\\u06DF-\\u06E8\\u06EA-\\u06FC\\u06FF\\u0710-\\u074A\\u074D-\\u07B1\\u07C0-\\u07F5\\u07FA\\u0800-\\u082D\\u0840-\\u085B\\u08A0-\\u08B2\\u08E4-\\u0963\\u0966-\\u096F\\u0971-\\u0983\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BC-\\u09C4\\u09C7\\u09C8\\u09CB-\\u09CE\\u09D7\\u09DC\\u09DD\\u09DF-\\u09E3\\u09E6-\\u09F1\\u0A01-\\u0A03\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A3C\\u0A3E-\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A59-\\u0A5C\\u0A5E\\u0A66-\\u0A75\\u0A81-\\u0A83\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABC-\\u0AC5\\u0AC7-\\u0AC9\\u0ACB-\\u0ACD\\u0AD0\\u0AE0-\\u0AE3\\u0AE6-\\u0AEF\\u0B01-\\u0B03\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3C-\\u0B44\\u0B47\\u0B48\\u0B4B-\\u0B4D\\u0B56\\u0B57\\u0B5C\\u0B5D\\u0B5F-\\u0B63\\u0B66-\\u0B6F\\u0B71\\u0B82\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BBE-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCD\\u0BD0\\u0BD7\\u0BE6-\\u0BEF\\u0C00-\\u0C03\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D-\\u0C44\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C58\\u0C59\\u0C60-\\u0C63\\u0C66-\\u0C6F\\u0C81-\\u0C83\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBC-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA-\\u0CCD\\u0CD5\\u0CD6\\u0CDE\\u0CE0-\\u0CE3\\u0CE6-\\u0CEF\\u0CF1\\u0CF2\\u0D01-\\u0D03\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D-\\u0D44\\u0D46-\\u0D48\\u0D4A-\\u0D4E\\u0D57\\u0D60-\\u0D63\\u0D66-\\u0D6F\\u0D7A-\\u0D7F\\u0D82\\u0D83\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0DCA\\u0DCF-\\u0DD4\\u0DD6\\u0DD8-\\u0DDF\\u0DE6-\\u0DEF\\u0DF2\\u0DF3\\u0E01-\\u0E3A\\u0E40-\\u0E4E\\u0E50-\\u0E59\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB9\\u0EBB-\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EC8-\\u0ECD\\u0ED0-\\u0ED9\\u0EDC-\\u0EDF\\u0F00\\u0F18\\u0F19\\u0F20-\\u0F29\\u0F35\\u0F37\\u0F39\\u0F3E-\\u0F47\\u0F49-\\u0F6C\\u0F71-\\u0F84\\u0F86-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u1000-\\u1049\\u1050-\\u109D\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u135D-\\u135F\\u1369-\\u1371\\u1380-\\u138F\\u13A0-\\u13F4\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1714\\u1720-\\u1734\\u1740-\\u1753\\u1760-\\u176C\\u176E-\\u1770\\u1772\\u1773\\u1780-\\u17D3\\u17D7\\u17DC\\u17DD\\u17E0-\\u17E9\\u180B-\\u180D\\u1810-\\u1819\\u1820-\\u1877\\u1880-\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1920-\\u192B\\u1930-\\u193B\\u1946-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u19D0-\\u19DA\\u1A00-\\u1A1B\\u1A20-\\u1A5E\\u1A60-\\u1A7C\\u1A7F-\\u1A89\\u1A90-\\u1A99\\u1AA7\\u1AB0-\\u1ABD\\u1B00-\\u1B4B\\u1B50-\\u1B59\\u1B6B-\\u1B73\\u1B80-\\u1BF3\\u1C00-\\u1C37\\u1C40-\\u1C49\\u1C4D-\\u1C7D\\u1CD0-\\u1CD2\\u1CD4-\\u1CF6\\u1CF8\\u1CF9\\u1D00-\\u1DF5\\u1DFC-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u200C\\u200D\\u203F\\u2040\\u2054\\u2071\\u207F\\u2090-\\u209C\\u20D0-\\u20DC\\u20E1\\u20E5-\\u20F0\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2118-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D7F-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2DE0-\\u2DFF\\u3005-\\u3007\\u3021-\\u302F\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u3099-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FCC\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA62B\\uA640-\\uA66F\\uA674-\\uA67D\\uA67F-\\uA69D\\uA69F-\\uA6F1\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA78E\\uA790-\\uA7AD\\uA7B0\\uA7B1\\uA7F7-\\uA827\\uA840-\\uA873\\uA880-\\uA8C4\\uA8D0-\\uA8D9\\uA8E0-\\uA8F7\\uA8FB\\uA900-\\uA92D\\uA930-\\uA953\\uA960-\\uA97C\\uA980-\\uA9C0\\uA9CF-\\uA9D9\\uA9E0-\\uA9FE\\uAA00-\\uAA36\\uAA40-\\uAA4D\\uAA50-\\uAA59\\uAA60-\\uAA76\\uAA7A-\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEF\\uAAF2-\\uAAF6\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB5F\\uAB64\\uAB65\\uABC0-\\uABEA\\uABEC\\uABED\\uABF0-\\uABF9\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE00-\\uFE0F\\uFE20-\\uFE2D\\uFE33\\uFE34\\uFE4D-\\uFE4F\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF10-\\uFF19\\uFF21-\\uFF3A\\uFF3F\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]|\\uD800[\\uDC00-\\uDC0B\\uDC0D-\\uDC26\\uDC28-\\uDC3A\\uDC3C\\uDC3D\\uDC3F-\\uDC4D\\uDC50-\\uDC5D\\uDC80-\\uDCFA\\uDD40-\\uDD74\\uDDFD\\uDE80-\\uDE9C\\uDEA0-\\uDED0\\uDEE0\\uDF00-\\uDF1F\\uDF30-\\uDF4A\\uDF50-\\uDF7A\\uDF80-\\uDF9D\\uDFA0-\\uDFC3\\uDFC8-\\uDFCF\\uDFD1-\\uDFD5]|\\uD801[\\uDC00-\\uDC9D\\uDCA0-\\uDCA9\\uDD00-\\uDD27\\uDD30-\\uDD63\\uDE00-\\uDF36\\uDF40-\\uDF55\\uDF60-\\uDF67]|\\uD802[\\uDC00-\\uDC05\\uDC08\\uDC0A-\\uDC35\\uDC37\\uDC38\\uDC3C\\uDC3F-\\uDC55\\uDC60-\\uDC76\\uDC80-\\uDC9E\\uDD00-\\uDD15\\uDD20-\\uDD39\\uDD80-\\uDDB7\\uDDBE\\uDDBF\\uDE00-\\uDE03\\uDE05\\uDE06\\uDE0C-\\uDE13\\uDE15-\\uDE17\\uDE19-\\uDE33\\uDE38-\\uDE3A\\uDE3F\\uDE60-\\uDE7C\\uDE80-\\uDE9C\\uDEC0-\\uDEC7\\uDEC9-\\uDEE6\\uDF00-\\uDF35\\uDF40-\\uDF55\\uDF60-\\uDF72\\uDF80-\\uDF91]|\\uD803[\\uDC00-\\uDC48]|\\uD804[\\uDC00-\\uDC46\\uDC66-\\uDC6F\\uDC7F-\\uDCBA\\uDCD0-\\uDCE8\\uDCF0-\\uDCF9\\uDD00-\\uDD34\\uDD36-\\uDD3F\\uDD50-\\uDD73\\uDD76\\uDD80-\\uDDC4\\uDDD0-\\uDDDA\\uDE00-\\uDE11\\uDE13-\\uDE37\\uDEB0-\\uDEEA\\uDEF0-\\uDEF9\\uDF01-\\uDF03\\uDF05-\\uDF0C\\uDF0F\\uDF10\\uDF13-\\uDF28\\uDF2A-\\uDF30\\uDF32\\uDF33\\uDF35-\\uDF39\\uDF3C-\\uDF44\\uDF47\\uDF48\\uDF4B-\\uDF4D\\uDF57\\uDF5D-\\uDF63\\uDF66-\\uDF6C\\uDF70-\\uDF74]|\\uD805[\\uDC80-\\uDCC5\\uDCC7\\uDCD0-\\uDCD9\\uDD80-\\uDDB5\\uDDB8-\\uDDC0\\uDE00-\\uDE40\\uDE44\\uDE50-\\uDE59\\uDE80-\\uDEB7\\uDEC0-\\uDEC9]|\\uD806[\\uDCA0-\\uDCE9\\uDCFF\\uDEC0-\\uDEF8]|\\uD808[\\uDC00-\\uDF98]|\\uD809[\\uDC00-\\uDC6E]|[\\uD80C\\uD840-\\uD868\\uD86A-\\uD86C][\\uDC00-\\uDFFF]|\\uD80D[\\uDC00-\\uDC2E]|\\uD81A[\\uDC00-\\uDE38\\uDE40-\\uDE5E\\uDE60-\\uDE69\\uDED0-\\uDEED\\uDEF0-\\uDEF4\\uDF00-\\uDF36\\uDF40-\\uDF43\\uDF50-\\uDF59\\uDF63-\\uDF77\\uDF7D-\\uDF8F]|\\uD81B[\\uDF00-\\uDF44\\uDF50-\\uDF7E\\uDF8F-\\uDF9F]|\\uD82C[\\uDC00\\uDC01]|\\uD82F[\\uDC00-\\uDC6A\\uDC70-\\uDC7C\\uDC80-\\uDC88\\uDC90-\\uDC99\\uDC9D\\uDC9E]|\\uD834[\\uDD65-\\uDD69\\uDD6D-\\uDD72\\uDD7B-\\uDD82\\uDD85-\\uDD8B\\uDDAA-\\uDDAD\\uDE42-\\uDE44]|\\uD835[\\uDC00-\\uDC54\\uDC56-\\uDC9C\\uDC9E\\uDC9F\\uDCA2\\uDCA5\\uDCA6\\uDCA9-\\uDCAC\\uDCAE-\\uDCB9\\uDCBB\\uDCBD-\\uDCC3\\uDCC5-\\uDD05\\uDD07-\\uDD0A\\uDD0D-\\uDD14\\uDD16-\\uDD1C\\uDD1E-\\uDD39\\uDD3B-\\uDD3E\\uDD40-\\uDD44\\uDD46\\uDD4A-\\uDD50\\uDD52-\\uDEA5\\uDEA8-\\uDEC0\\uDEC2-\\uDEDA\\uDEDC-\\uDEFA\\uDEFC-\\uDF14\\uDF16-\\uDF34\\uDF36-\\uDF4E\\uDF50-\\uDF6E\\uDF70-\\uDF88\\uDF8A-\\uDFA8\\uDFAA-\\uDFC2\\uDFC4-\\uDFCB\\uDFCE-\\uDFFF]|\\uD83A[\\uDC00-\\uDCC4\\uDCD0-\\uDCD6]|\\uD83B[\\uDE00-\\uDE03\\uDE05-\\uDE1F\\uDE21\\uDE22\\uDE24\\uDE27\\uDE29-\\uDE32\\uDE34-\\uDE37\\uDE39\\uDE3B\\uDE42\\uDE47\\uDE49\\uDE4B\\uDE4D-\\uDE4F\\uDE51\\uDE52\\uDE54\\uDE57\\uDE59\\uDE5B\\uDE5D\\uDE5F\\uDE61\\uDE62\\uDE64\\uDE67-\\uDE6A\\uDE6C-\\uDE72\\uDE74-\\uDE77\\uDE79-\\uDE7C\\uDE7E\\uDE80-\\uDE89\\uDE8B-\\uDE9B\\uDEA1-\\uDEA3\\uDEA5-\\uDEA9\\uDEAB-\\uDEBB]|\\uD869[\\uDC00-\\uDED6\\uDF00-\\uDFFF]|\\uD86D[\\uDC00-\\uDF34\\uDF40-\\uDFFF]|\\uD86E[\\uDC00-\\uDC1D]|\\uD87E[\\uDC00-\\uDE1D]|\\uDB40[\\uDD00-\\uDDEF]/\n\t };\n\t\n\t // Ensure the condition is true, otherwise throw an error.\n\t // This is only to have a better contract semantic, i.e. another safety net\n\t // to catch a logic error. The condition shall be fulfilled in normal case.\n\t // Do NOT use this to enforce a certain condition on any user input.\n\t\n\t function assert(condition, message) {\n\t /* istanbul ignore if */\n\t if (!condition) {\n\t throw new Error('ASSERT: ' + message);\n\t }\n\t }\n\t\n\t function isDecimalDigit(ch) {\n\t return (ch >= 0x30 && ch <= 0x39); // 0..9\n\t }\n\t\n\t function isHexDigit(ch) {\n\t return '0123456789abcdefABCDEF'.indexOf(ch) >= 0;\n\t }\n\t\n\t function isOctalDigit(ch) {\n\t return '01234567'.indexOf(ch) >= 0;\n\t }\n\t\n\t function octalToDecimal(ch) {\n\t // \\0 is not octal escape sequence\n\t var octal = (ch !== '0'), code = '01234567'.indexOf(ch);\n\t\n\t if (index < length && isOctalDigit(source[index])) {\n\t octal = true;\n\t code = code * 8 + '01234567'.indexOf(source[index++]);\n\t\n\t // 3 digits are only allowed when string starts\n\t // with 0, 1, 2, 3\n\t if ('0123'.indexOf(ch) >= 0 &&\n\t index < length &&\n\t isOctalDigit(source[index])) {\n\t code = code * 8 + '01234567'.indexOf(source[index++]);\n\t }\n\t }\n\t\n\t return {\n\t code: code,\n\t octal: octal\n\t };\n\t }\n\t\n\t // ECMA-262 11.2 White Space\n\t\n\t function isWhiteSpace(ch) {\n\t return (ch === 0x20) || (ch === 0x09) || (ch === 0x0B) || (ch === 0x0C) || (ch === 0xA0) ||\n\t (ch >= 0x1680 && [0x1680, 0x180E, 0x2000, 0x2001, 0x2002, 0x2003, 0x2004, 0x2005, 0x2006, 0x2007, 0x2008, 0x2009, 0x200A, 0x202F, 0x205F, 0x3000, 0xFEFF].indexOf(ch) >= 0);\n\t }\n\t\n\t // ECMA-262 11.3 Line Terminators\n\t\n\t function isLineTerminator(ch) {\n\t return (ch === 0x0A) || (ch === 0x0D) || (ch === 0x2028) || (ch === 0x2029);\n\t }\n\t\n\t // ECMA-262 11.6 Identifier Names and Identifiers\n\t\n\t function fromCodePoint(cp) {\n\t return (cp < 0x10000) ? String.fromCharCode(cp) :\n\t String.fromCharCode(0xD800 + ((cp - 0x10000) >> 10)) +\n\t String.fromCharCode(0xDC00 + ((cp - 0x10000) & 1023));\n\t }\n\t\n\t function isIdentifierStart(ch) {\n\t return (ch === 0x24) || (ch === 0x5F) || // $ (dollar) and _ (underscore)\n\t (ch >= 0x41 && ch <= 0x5A) || // A..Z\n\t (ch >= 0x61 && ch <= 0x7A) || // a..z\n\t (ch === 0x5C) || // \\ (backslash)\n\t ((ch >= 0x80) && Regex.NonAsciiIdentifierStart.test(fromCodePoint(ch)));\n\t }\n\t\n\t function isIdentifierPart(ch) {\n\t return (ch === 0x24) || (ch === 0x5F) || // $ (dollar) and _ (underscore)\n\t (ch >= 0x41 && ch <= 0x5A) || // A..Z\n\t (ch >= 0x61 && ch <= 0x7A) || // a..z\n\t (ch >= 0x30 && ch <= 0x39) || // 0..9\n\t (ch === 0x5C) || // \\ (backslash)\n\t ((ch >= 0x80) && Regex.NonAsciiIdentifierPart.test(fromCodePoint(ch)));\n\t }\n\t\n\t // ECMA-262 11.6.2.2 Future Reserved Words\n\t\n\t function isFutureReservedWord(id) {\n\t switch (id) {\n\t case 'enum':\n\t case 'export':\n\t case 'import':\n\t case 'super':\n\t return true;\n\t default:\n\t return false;\n\t }\n\t }\n\t\n\t function isStrictModeReservedWord(id) {\n\t switch (id) {\n\t case 'implements':\n\t case 'interface':\n\t case 'package':\n\t case 'private':\n\t case 'protected':\n\t case 'public':\n\t case 'static':\n\t case 'yield':\n\t case 'let':\n\t return true;\n\t default:\n\t return false;\n\t }\n\t }\n\t\n\t function isRestrictedWord(id) {\n\t return id === 'eval' || id === 'arguments';\n\t }\n\t\n\t // ECMA-262 11.6.2.1 Keywords\n\t\n\t function isKeyword(id) {\n\t switch (id.length) {\n\t case 2:\n\t return (id === 'if') || (id === 'in') || (id === 'do');\n\t case 3:\n\t return (id === 'var') || (id === 'for') || (id === 'new') ||\n\t (id === 'try') || (id === 'let');\n\t case 4:\n\t return (id === 'this') || (id === 'else') || (id === 'case') ||\n\t (id === 'void') || (id === 'with') || (id === 'enum');\n\t case 5:\n\t return (id === 'while') || (id === 'break') || (id === 'catch') ||\n\t (id === 'throw') || (id === 'const') || (id === 'yield') ||\n\t (id === 'class') || (id === 'super');\n\t case 6:\n\t return (id === 'return') || (id === 'typeof') || (id === 'delete') ||\n\t (id === 'switch') || (id === 'export') || (id === 'import');\n\t case 7:\n\t return (id === 'default') || (id === 'finally') || (id === 'extends');\n\t case 8:\n\t return (id === 'function') || (id === 'continue') || (id === 'debugger');\n\t case 10:\n\t return (id === 'instanceof');\n\t default:\n\t return false;\n\t }\n\t }\n\t\n\t // ECMA-262 11.4 Comments\n\t\n\t function addComment(type, value, start, end, loc) {\n\t var comment;\n\t\n\t assert(typeof start === 'number', 'Comment must have valid position');\n\t\n\t state.lastCommentStart = start;\n\t\n\t comment = {\n\t type: type,\n\t value: value\n\t };\n\t if (extra.range) {\n\t comment.range = [start, end];\n\t }\n\t if (extra.loc) {\n\t comment.loc = loc;\n\t }\n\t extra.comments.push(comment);\n\t if (extra.attachComment) {\n\t extra.leadingComments.push(comment);\n\t extra.trailingComments.push(comment);\n\t }\n\t if (extra.tokenize) {\n\t comment.type = comment.type + 'Comment';\n\t if (extra.delegate) {\n\t comment = extra.delegate(comment);\n\t }\n\t extra.tokens.push(comment);\n\t }\n\t }\n\t\n\t function skipSingleLineComment(offset) {\n\t var start, loc, ch, comment;\n\t\n\t start = index - offset;\n\t loc = {\n\t start: {\n\t line: lineNumber,\n\t column: index - lineStart - offset\n\t }\n\t };\n\t\n\t while (index < length) {\n\t ch = source.charCodeAt(index);\n\t ++index;\n\t if (isLineTerminator(ch)) {\n\t hasLineTerminator = true;\n\t if (extra.comments) {\n\t comment = source.slice(start + offset, index - 1);\n\t loc.end = {\n\t line: lineNumber,\n\t column: index - lineStart - 1\n\t };\n\t addComment('Line', comment, start, index - 1, loc);\n\t }\n\t if (ch === 13 && source.charCodeAt(index) === 10) {\n\t ++index;\n\t }\n\t ++lineNumber;\n\t lineStart = index;\n\t return;\n\t }\n\t }\n\t\n\t if (extra.comments) {\n\t comment = source.slice(start + offset, index);\n\t loc.end = {\n\t line: lineNumber,\n\t column: index - lineStart\n\t };\n\t addComment('Line', comment, start, index, loc);\n\t }\n\t }\n\t\n\t function skipMultiLineComment() {\n\t var start, loc, ch, comment;\n\t\n\t if (extra.comments) {\n\t start = index - 2;\n\t loc = {\n\t start: {\n\t line: lineNumber,\n\t column: index - lineStart - 2\n\t }\n\t };\n\t }\n\t\n\t while (index < length) {\n\t ch = source.charCodeAt(index);\n\t if (isLineTerminator(ch)) {\n\t if (ch === 0x0D && source.charCodeAt(index + 1) === 0x0A) {\n\t ++index;\n\t }\n\t hasLineTerminator = true;\n\t ++lineNumber;\n\t ++index;\n\t lineStart = index;\n\t } else if (ch === 0x2A) {\n\t // Block comment ends with '*/'.\n\t if (source.charCodeAt(index + 1) === 0x2F) {\n\t ++index;\n\t ++index;\n\t if (extra.comments) {\n\t comment = source.slice(start + 2, index - 2);\n\t loc.end = {\n\t line: lineNumber,\n\t column: index - lineStart\n\t };\n\t addComment('Block', comment, start, index, loc);\n\t }\n\t return;\n\t }\n\t ++index;\n\t } else {\n\t ++index;\n\t }\n\t }\n\t\n\t // Ran off the end of the file - the whole thing is a comment\n\t if (extra.comments) {\n\t loc.end = {\n\t line: lineNumber,\n\t column: index - lineStart\n\t };\n\t comment = source.slice(start + 2, index);\n\t addComment('Block', comment, start, index, loc);\n\t }\n\t tolerateUnexpectedToken();\n\t }\n\t\n\t function skipComment() {\n\t var ch, start;\n\t hasLineTerminator = false;\n\t\n\t start = (index === 0);\n\t while (index < length) {\n\t ch = source.charCodeAt(index);\n\t\n\t if (isWhiteSpace(ch)) {\n\t ++index;\n\t } else if (isLineTerminator(ch)) {\n\t hasLineTerminator = true;\n\t ++index;\n\t if (ch === 0x0D && source.charCodeAt(index) === 0x0A) {\n\t ++index;\n\t }\n\t ++lineNumber;\n\t lineStart = index;\n\t start = true;\n\t } else if (ch === 0x2F) { // U+002F is '/'\n\t ch = source.charCodeAt(index + 1);\n\t if (ch === 0x2F) {\n\t ++index;\n\t ++index;\n\t skipSingleLineComment(2);\n\t start = true;\n\t } else if (ch === 0x2A) { // U+002A is '*'\n\t ++index;\n\t ++index;\n\t skipMultiLineComment();\n\t } else {\n\t break;\n\t }\n\t } else if (start && ch === 0x2D) { // U+002D is '-'\n\t // U+003E is '>'\n\t if ((source.charCodeAt(index + 1) === 0x2D) && (source.charCodeAt(index + 2) === 0x3E)) {\n\t // '-->' is a single-line comment\n\t index += 3;\n\t skipSingleLineComment(3);\n\t } else {\n\t break;\n\t }\n\t } else if (ch === 0x3C) { // U+003C is '<'\n\t if (source.slice(index + 1, index + 4) === '!--') {\n\t ++index; // `<`\n\t ++index; // `!`\n\t ++index; // `-`\n\t ++index; // `-`\n\t skipSingleLineComment(4);\n\t } else {\n\t break;\n\t }\n\t } else {\n\t break;\n\t }\n\t }\n\t }\n\t\n\t function scanHexEscape(prefix) {\n\t var i, len, ch, code = 0;\n\t\n\t len = (prefix === 'u') ? 4 : 2;\n\t for (i = 0; i < len; ++i) {\n\t if (index < length && isHexDigit(source[index])) {\n\t ch = source[index++];\n\t code = code * 16 + '0123456789abcdef'.indexOf(ch.toLowerCase());\n\t } else {\n\t return '';\n\t }\n\t }\n\t return String.fromCharCode(code);\n\t }\n\t\n\t function scanUnicodeCodePointEscape() {\n\t var ch, code;\n\t\n\t ch = source[index];\n\t code = 0;\n\t\n\t // At least, one hex digit is required.\n\t if (ch === '}') {\n\t throwUnexpectedToken();\n\t }\n\t\n\t while (index < length) {\n\t ch = source[index++];\n\t if (!isHexDigit(ch)) {\n\t break;\n\t }\n\t code = code * 16 + '0123456789abcdef'.indexOf(ch.toLowerCase());\n\t }\n\t\n\t if (code > 0x10FFFF || ch !== '}') {\n\t throwUnexpectedToken();\n\t }\n\t\n\t return fromCodePoint(code);\n\t }\n\t\n\t function codePointAt(i) {\n\t var cp, first, second;\n\t\n\t cp = source.charCodeAt(i);\n\t if (cp >= 0xD800 && cp <= 0xDBFF) {\n\t second = source.charCodeAt(i + 1);\n\t if (second >= 0xDC00 && second <= 0xDFFF) {\n\t first = cp;\n\t cp = (first - 0xD800) * 0x400 + second - 0xDC00 + 0x10000;\n\t }\n\t }\n\t\n\t return cp;\n\t }\n\t\n\t function getComplexIdentifier() {\n\t var cp, ch, id;\n\t\n\t cp = codePointAt(index);\n\t id = fromCodePoint(cp);\n\t index += id.length;\n\t\n\t // '\\u' (U+005C, U+0075) denotes an escaped character.\n\t if (cp === 0x5C) {\n\t if (source.charCodeAt(index) !== 0x75) {\n\t throwUnexpectedToken();\n\t }\n\t ++index;\n\t if (source[index] === '{') {\n\t ++index;\n\t ch = scanUnicodeCodePointEscape();\n\t } else {\n\t ch = scanHexEscape('u');\n\t cp = ch.charCodeAt(0);\n\t if (!ch || ch === '\\\\' || !isIdentifierStart(cp)) {\n\t throwUnexpectedToken();\n\t }\n\t }\n\t id = ch;\n\t }\n\t\n\t while (index < length) {\n\t cp = codePointAt(index);\n\t if (!isIdentifierPart(cp)) {\n\t break;\n\t }\n\t ch = fromCodePoint(cp);\n\t id += ch;\n\t index += ch.length;\n\t\n\t // '\\u' (U+005C, U+0075) denotes an escaped character.\n\t if (cp === 0x5C) {\n\t id = id.substr(0, id.length - 1);\n\t if (source.charCodeAt(index) !== 0x75) {\n\t throwUnexpectedToken();\n\t }\n\t ++index;\n\t if (source[index] === '{') {\n\t ++index;\n\t ch = scanUnicodeCodePointEscape();\n\t } else {\n\t ch = scanHexEscape('u');\n\t cp = ch.charCodeAt(0);\n\t if (!ch || ch === '\\\\' || !isIdentifierPart(cp)) {\n\t throwUnexpectedToken();\n\t }\n\t }\n\t id += ch;\n\t }\n\t }\n\t\n\t return id;\n\t }\n\t\n\t function getIdentifier() {\n\t var start, ch;\n\t\n\t start = index++;\n\t while (index < length) {\n\t ch = source.charCodeAt(index);\n\t if (ch === 0x5C) {\n\t // Blackslash (U+005C) marks Unicode escape sequence.\n\t index = start;\n\t return getComplexIdentifier();\n\t } else if (ch >= 0xD800 && ch < 0xDFFF) {\n\t // Need to handle surrogate pairs.\n\t index = start;\n\t return getComplexIdentifier();\n\t }\n\t if (isIdentifierPart(ch)) {\n\t ++index;\n\t } else {\n\t break;\n\t }\n\t }\n\t\n\t return source.slice(start, index);\n\t }\n\t\n\t function scanIdentifier() {\n\t var start, id, type;\n\t\n\t start = index;\n\t\n\t // Backslash (U+005C) starts an escaped character.\n\t id = (source.charCodeAt(index) === 0x5C) ? getComplexIdentifier() : getIdentifier();\n\t\n\t // There is no keyword or literal with only one character.\n\t // Thus, it must be an identifier.\n\t if (id.length === 1) {\n\t type = Token.Identifier;\n\t } else if (isKeyword(id)) {\n\t type = Token.Keyword;\n\t } else if (id === 'null') {\n\t type = Token.NullLiteral;\n\t } else if (id === 'true' || id === 'false') {\n\t type = Token.BooleanLiteral;\n\t } else {\n\t type = Token.Identifier;\n\t }\n\t\n\t return {\n\t type: type,\n\t value: id,\n\t lineNumber: lineNumber,\n\t lineStart: lineStart,\n\t start: start,\n\t end: index\n\t };\n\t }\n\t\n\t\n\t // ECMA-262 11.7 Punctuators\n\t\n\t function scanPunctuator() {\n\t var token, str;\n\t\n\t token = {\n\t type: Token.Punctuator,\n\t value: '',\n\t lineNumber: lineNumber,\n\t lineStart: lineStart,\n\t start: index,\n\t end: index\n\t };\n\t\n\t // Check for most common single-character punctuators.\n\t str = source[index];\n\t switch (str) {\n\t\n\t case '(':\n\t if (extra.tokenize) {\n\t extra.openParenToken = extra.tokenValues.length;\n\t }\n\t ++index;\n\t break;\n\t\n\t case '{':\n\t if (extra.tokenize) {\n\t extra.openCurlyToken = extra.tokenValues.length;\n\t }\n\t state.curlyStack.push('{');\n\t ++index;\n\t break;\n\t\n\t case '.':\n\t ++index;\n\t if (source[index] === '.' && source[index + 1] === '.') {\n\t // Spread operator: ...\n\t index += 2;\n\t str = '...';\n\t }\n\t break;\n\t\n\t case '}':\n\t ++index;\n\t state.curlyStack.pop();\n\t break;\n\t case ')':\n\t case ';':\n\t case ',':\n\t case '[':\n\t case ']':\n\t case ':':\n\t case '?':\n\t case '~':\n\t ++index;\n\t break;\n\t\n\t default:\n\t // 4-character punctuator.\n\t str = source.substr(index, 4);\n\t if (str === '>>>=') {\n\t index += 4;\n\t } else {\n\t\n\t // 3-character punctuators.\n\t str = str.substr(0, 3);\n\t if (str === '===' || str === '!==' || str === '>>>' ||\n\t str === '<<=' || str === '>>=') {\n\t index += 3;\n\t } else {\n\t\n\t // 2-character punctuators.\n\t str = str.substr(0, 2);\n\t if (str === '&&' || str === '||' || str === '==' || str === '!=' ||\n\t str === '+=' || str === '-=' || str === '*=' || str === '/=' ||\n\t str === '++' || str === '--' || str === '<<' || str === '>>' ||\n\t str === '&=' || str === '|=' || str === '^=' || str === '%=' ||\n\t str === '<=' || str === '>=' || str === '=>') {\n\t index += 2;\n\t } else {\n\t\n\t // 1-character punctuators.\n\t str = source[index];\n\t if ('<>=!+-*%&|^/'.indexOf(str) >= 0) {\n\t ++index;\n\t }\n\t }\n\t }\n\t }\n\t }\n\t\n\t if (index === token.start) {\n\t throwUnexpectedToken();\n\t }\n\t\n\t token.end = index;\n\t token.value = str;\n\t return token;\n\t }\n\t\n\t // ECMA-262 11.8.3 Numeric Literals\n\t\n\t function scanHexLiteral(start) {\n\t var number = '';\n\t\n\t while (index < length) {\n\t if (!isHexDigit(source[index])) {\n\t break;\n\t }\n\t number += source[index++];\n\t }\n\t\n\t if (number.length === 0) {\n\t throwUnexpectedToken();\n\t }\n\t\n\t if (isIdentifierStart(source.charCodeAt(index))) {\n\t throwUnexpectedToken();\n\t }\n\t\n\t return {\n\t type: Token.NumericLiteral,\n\t value: parseInt('0x' + number, 16),\n\t lineNumber: lineNumber,\n\t lineStart: lineStart,\n\t start: start,\n\t end: index\n\t };\n\t }\n\t\n\t function scanBinaryLiteral(start) {\n\t var ch, number;\n\t\n\t number = '';\n\t\n\t while (index < length) {\n\t ch = source[index];\n\t if (ch !== '0' && ch !== '1') {\n\t break;\n\t }\n\t number += source[index++];\n\t }\n\t\n\t if (number.length === 0) {\n\t // only 0b or 0B\n\t throwUnexpectedToken();\n\t }\n\t\n\t if (index < length) {\n\t ch = source.charCodeAt(index);\n\t /* istanbul ignore else */\n\t if (isIdentifierStart(ch) || isDecimalDigit(ch)) {\n\t throwUnexpectedToken();\n\t }\n\t }\n\t\n\t return {\n\t type: Token.NumericLiteral,\n\t value: parseInt(number, 2),\n\t lineNumber: lineNumber,\n\t lineStart: lineStart,\n\t start: start,\n\t end: index\n\t };\n\t }\n\t\n\t function scanOctalLiteral(prefix, start) {\n\t var number, octal;\n\t\n\t if (isOctalDigit(prefix)) {\n\t octal = true;\n\t number = '0' + source[index++];\n\t } else {\n\t octal = false;\n\t ++index;\n\t number = '';\n\t }\n\t\n\t while (index < length) {\n\t if (!isOctalDigit(source[index])) {\n\t break;\n\t }\n\t number += source[index++];\n\t }\n\t\n\t if (!octal && number.length === 0) {\n\t // only 0o or 0O\n\t throwUnexpectedToken();\n\t }\n\t\n\t if (isIdentifierStart(source.charCodeAt(index)) || isDecimalDigit(source.charCodeAt(index))) {\n\t throwUnexpectedToken();\n\t }\n\t\n\t return {\n\t type: Token.NumericLiteral,\n\t value: parseInt(number, 8),\n\t octal: octal,\n\t lineNumber: lineNumber,\n\t lineStart: lineStart,\n\t start: start,\n\t end: index\n\t };\n\t }\n\t\n\t function isImplicitOctalLiteral() {\n\t var i, ch;\n\t\n\t // Implicit octal, unless there is a non-octal digit.\n\t // (Annex B.1.1 on Numeric Literals)\n\t for (i = index + 1; i < length; ++i) {\n\t ch = source[i];\n\t if (ch === '8' || ch === '9') {\n\t return false;\n\t }\n\t if (!isOctalDigit(ch)) {\n\t return true;\n\t }\n\t }\n\t\n\t return true;\n\t }\n\t\n\t function scanNumericLiteral() {\n\t var number, start, ch;\n\t\n\t ch = source[index];\n\t assert(isDecimalDigit(ch.charCodeAt(0)) || (ch === '.'),\n\t 'Numeric literal must start with a decimal digit or a decimal point');\n\t\n\t start = index;\n\t number = '';\n\t if (ch !== '.') {\n\t number = source[index++];\n\t ch = source[index];\n\t\n\t // Hex number starts with '0x'.\n\t // Octal number starts with '0'.\n\t // Octal number in ES6 starts with '0o'.\n\t // Binary number in ES6 starts with '0b'.\n\t if (number === '0') {\n\t if (ch === 'x' || ch === 'X') {\n\t ++index;\n\t return scanHexLiteral(start);\n\t }\n\t if (ch === 'b' || ch === 'B') {\n\t ++index;\n\t return scanBinaryLiteral(start);\n\t }\n\t if (ch === 'o' || ch === 'O') {\n\t return scanOctalLiteral(ch, start);\n\t }\n\t\n\t if (isOctalDigit(ch)) {\n\t if (isImplicitOctalLiteral()) {\n\t return scanOctalLiteral(ch, start);\n\t }\n\t }\n\t }\n\t\n\t while (isDecimalDigit(source.charCodeAt(index))) {\n\t number += source[index++];\n\t }\n\t ch = source[index];\n\t }\n\t\n\t if (ch === '.') {\n\t number += source[index++];\n\t while (isDecimalDigit(source.charCodeAt(index))) {\n\t number += source[index++];\n\t }\n\t ch = source[index];\n\t }\n\t\n\t if (ch === 'e' || ch === 'E') {\n\t number += source[index++];\n\t\n\t ch = source[index];\n\t if (ch === '+' || ch === '-') {\n\t number += source[index++];\n\t }\n\t if (isDecimalDigit(source.charCodeAt(index))) {\n\t while (isDecimalDigit(source.charCodeAt(index))) {\n\t number += source[index++];\n\t }\n\t } else {\n\t throwUnexpectedToken();\n\t }\n\t }\n\t\n\t if (isIdentifierStart(source.charCodeAt(index))) {\n\t throwUnexpectedToken();\n\t }\n\t\n\t return {\n\t type: Token.NumericLiteral,\n\t value: parseFloat(number),\n\t lineNumber: lineNumber,\n\t lineStart: lineStart,\n\t start: start,\n\t end: index\n\t };\n\t }\n\t\n\t // ECMA-262 11.8.4 String Literals\n\t\n\t function scanStringLiteral() {\n\t var str = '', quote, start, ch, unescaped, octToDec, octal = false;\n\t\n\t quote = source[index];\n\t assert((quote === '\\'' || quote === '\"'),\n\t 'String literal must starts with a quote');\n\t\n\t start = index;\n\t ++index;\n\t\n\t while (index < length) {\n\t ch = source[index++];\n\t\n\t if (ch === quote) {\n\t quote = '';\n\t break;\n\t } else if (ch === '\\\\') {\n\t ch = source[index++];\n\t if (!ch || !isLineTerminator(ch.charCodeAt(0))) {\n\t switch (ch) {\n\t case 'u':\n\t case 'x':\n\t if (source[index] === '{') {\n\t ++index;\n\t str += scanUnicodeCodePointEscape();\n\t } else {\n\t unescaped = scanHexEscape(ch);\n\t if (!unescaped) {\n\t throw throwUnexpectedToken();\n\t }\n\t str += unescaped;\n\t }\n\t break;\n\t case 'n':\n\t str += '\\n';\n\t break;\n\t case 'r':\n\t str += '\\r';\n\t break;\n\t case 't':\n\t str += '\\t';\n\t break;\n\t case 'b':\n\t str += '\\b';\n\t break;\n\t case 'f':\n\t str += '\\f';\n\t break;\n\t case 'v':\n\t str += '\\x0B';\n\t break;\n\t case '8':\n\t case '9':\n\t str += ch;\n\t tolerateUnexpectedToken();\n\t break;\n\t\n\t default:\n\t if (isOctalDigit(ch)) {\n\t octToDec = octalToDecimal(ch);\n\t\n\t octal = octToDec.octal || octal;\n\t str += String.fromCharCode(octToDec.code);\n\t } else {\n\t str += ch;\n\t }\n\t break;\n\t }\n\t } else {\n\t ++lineNumber;\n\t if (ch === '\\r' && source[index] === '\\n') {\n\t ++index;\n\t }\n\t lineStart = index;\n\t }\n\t } else if (isLineTerminator(ch.charCodeAt(0))) {\n\t break;\n\t } else {\n\t str += ch;\n\t }\n\t }\n\t\n\t if (quote !== '') {\n\t index = start;\n\t throwUnexpectedToken();\n\t }\n\t\n\t return {\n\t type: Token.StringLiteral,\n\t value: str,\n\t octal: octal,\n\t lineNumber: startLineNumber,\n\t lineStart: startLineStart,\n\t start: start,\n\t end: index\n\t };\n\t }\n\t\n\t // ECMA-262 11.8.6 Template Literal Lexical Components\n\t\n\t function scanTemplate() {\n\t var cooked = '', ch, start, rawOffset, terminated, head, tail, restore, unescaped;\n\t\n\t terminated = false;\n\t tail = false;\n\t start = index;\n\t head = (source[index] === '`');\n\t rawOffset = 2;\n\t\n\t ++index;\n\t\n\t while (index < length) {\n\t ch = source[index++];\n\t if (ch === '`') {\n\t rawOffset = 1;\n\t tail = true;\n\t terminated = true;\n\t break;\n\t } else if (ch === '$') {\n\t if (source[index] === '{') {\n\t state.curlyStack.push('${');\n\t ++index;\n\t terminated = true;\n\t break;\n\t }\n\t cooked += ch;\n\t } else if (ch === '\\\\') {\n\t ch = source[index++];\n\t if (!isLineTerminator(ch.charCodeAt(0))) {\n\t switch (ch) {\n\t case 'n':\n\t cooked += '\\n';\n\t break;\n\t case 'r':\n\t cooked += '\\r';\n\t break;\n\t case 't':\n\t cooked += '\\t';\n\t break;\n\t case 'u':\n\t case 'x':\n\t if (source[index] === '{') {\n\t ++index;\n\t cooked += scanUnicodeCodePointEscape();\n\t } else {\n\t restore = index;\n\t unescaped = scanHexEscape(ch);\n\t if (unescaped) {\n\t cooked += unescaped;\n\t } else {\n\t index = restore;\n\t cooked += ch;\n\t }\n\t }\n\t break;\n\t case 'b':\n\t cooked += '\\b';\n\t break;\n\t case 'f':\n\t cooked += '\\f';\n\t break;\n\t case 'v':\n\t cooked += '\\v';\n\t break;\n\t\n\t default:\n\t if (ch === '0') {\n\t if (isDecimalDigit(source.charCodeAt(index))) {\n\t // Illegal: \\01 \\02 and so on\n\t throwError(Messages.TemplateOctalLiteral);\n\t }\n\t cooked += '\\0';\n\t } else if (isOctalDigit(ch)) {\n\t // Illegal: \\1 \\2\n\t throwError(Messages.TemplateOctalLiteral);\n\t } else {\n\t cooked += ch;\n\t }\n\t break;\n\t }\n\t } else {\n\t ++lineNumber;\n\t if (ch === '\\r' && source[index] === '\\n') {\n\t ++index;\n\t }\n\t lineStart = index;\n\t }\n\t } else if (isLineTerminator(ch.charCodeAt(0))) {\n\t ++lineNumber;\n\t if (ch === '\\r' && source[index] === '\\n') {\n\t ++index;\n\t }\n\t lineStart = index;\n\t cooked += '\\n';\n\t } else {\n\t cooked += ch;\n\t }\n\t }\n\t\n\t if (!terminated) {\n\t throwUnexpectedToken();\n\t }\n\t\n\t if (!head) {\n\t state.curlyStack.pop();\n\t }\n\t\n\t return {\n\t type: Token.Template,\n\t value: {\n\t cooked: cooked,\n\t raw: source.slice(start + 1, index - rawOffset)\n\t },\n\t head: head,\n\t tail: tail,\n\t lineNumber: lineNumber,\n\t lineStart: lineStart,\n\t start: start,\n\t end: index\n\t };\n\t }\n\t\n\t // ECMA-262 11.8.5 Regular Expression Literals\n\t\n\t function testRegExp(pattern, flags) {\n\t // The BMP character to use as a replacement for astral symbols when\n\t // translating an ES6 \"u\"-flagged pattern to an ES5-compatible\n\t // approximation.\n\t // Note: replacing with '\\uFFFF' enables false positives in unlikely\n\t // scenarios. For example, `[\\u{1044f}-\\u{10440}]` is an invalid\n\t // pattern that would not be detected by this substitution.\n\t var astralSubstitute = '\\uFFFF',\n\t tmp = pattern;\n\t\n\t if (flags.indexOf('u') >= 0) {\n\t tmp = tmp\n\t // Replace every Unicode escape sequence with the equivalent\n\t // BMP character or a constant ASCII code point in the case of\n\t // astral symbols. (See the above note on `astralSubstitute`\n\t // for more information.)\n\t .replace(/\\\\u\\{([0-9a-fA-F]+)\\}|\\\\u([a-fA-F0-9]{4})/g, function ($0, $1, $2) {\n\t var codePoint = parseInt($1 || $2, 16);\n\t if (codePoint > 0x10FFFF) {\n\t throwUnexpectedToken(null, Messages.InvalidRegExp);\n\t }\n\t if (codePoint <= 0xFFFF) {\n\t return String.fromCharCode(codePoint);\n\t }\n\t return astralSubstitute;\n\t })\n\t // Replace each paired surrogate with a single ASCII symbol to\n\t // avoid throwing on regular expressions that are only valid in\n\t // combination with the \"u\" flag.\n\t .replace(\n\t /[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]/g,\n\t astralSubstitute\n\t );\n\t }\n\t\n\t // First, detect invalid regular expressions.\n\t try {\n\t RegExp(tmp);\n\t } catch (e) {\n\t throwUnexpectedToken(null, Messages.InvalidRegExp);\n\t }\n\t\n\t // Return a regular expression object for this pattern-flag pair, or\n\t // `null` in case the current environment doesn't support the flags it\n\t // uses.\n\t try {\n\t return new RegExp(pattern, flags);\n\t } catch (exception) {\n\t /* istanbul ignore next */\n\t return null;\n\t }\n\t }\n\t\n\t function scanRegExpBody() {\n\t var ch, str, classMarker, terminated, body;\n\t\n\t ch = source[index];\n\t assert(ch === '/', 'Regular expression literal must start with a slash');\n\t str = source[index++];\n\t\n\t classMarker = false;\n\t terminated = false;\n\t while (index < length) {\n\t ch = source[index++];\n\t str += ch;\n\t if (ch === '\\\\') {\n\t ch = source[index++];\n\t // ECMA-262 7.8.5\n\t if (isLineTerminator(ch.charCodeAt(0))) {\n\t throwUnexpectedToken(null, Messages.UnterminatedRegExp);\n\t }\n\t str += ch;\n\t } else if (isLineTerminator(ch.charCodeAt(0))) {\n\t throwUnexpectedToken(null, Messages.UnterminatedRegExp);\n\t } else if (classMarker) {\n\t if (ch === ']') {\n\t classMarker = false;\n\t }\n\t } else {\n\t if (ch === '/') {\n\t terminated = true;\n\t break;\n\t } else if (ch === '[') {\n\t classMarker = true;\n\t }\n\t }\n\t }\n\t\n\t if (!terminated) {\n\t throwUnexpectedToken(null, Messages.UnterminatedRegExp);\n\t }\n\t\n\t // Exclude leading and trailing slash.\n\t body = str.substr(1, str.length - 2);\n\t return {\n\t value: body,\n\t literal: str\n\t };\n\t }\n\t\n\t function scanRegExpFlags() {\n\t var ch, str, flags, restore;\n\t\n\t str = '';\n\t flags = '';\n\t while (index < length) {\n\t ch = source[index];\n\t if (!isIdentifierPart(ch.charCodeAt(0))) {\n\t break;\n\t }\n\t\n\t ++index;\n\t if (ch === '\\\\' && index < length) {\n\t ch = source[index];\n\t if (ch === 'u') {\n\t ++index;\n\t restore = index;\n\t ch = scanHexEscape('u');\n\t if (ch) {\n\t flags += ch;\n\t for (str += '\\\\u'; restore < index; ++restore) {\n\t str += source[restore];\n\t }\n\t } else {\n\t index = restore;\n\t flags += 'u';\n\t str += '\\\\u';\n\t }\n\t tolerateUnexpectedToken();\n\t } else {\n\t str += '\\\\';\n\t tolerateUnexpectedToken();\n\t }\n\t } else {\n\t flags += ch;\n\t str += ch;\n\t }\n\t }\n\t\n\t return {\n\t value: flags,\n\t literal: str\n\t };\n\t }\n\t\n\t function scanRegExp() {\n\t var start, body, flags, value;\n\t scanning = true;\n\t\n\t lookahead = null;\n\t skipComment();\n\t start = index;\n\t\n\t body = scanRegExpBody();\n\t flags = scanRegExpFlags();\n\t value = testRegExp(body.value, flags.value);\n\t scanning = false;\n\t if (extra.tokenize) {\n\t return {\n\t type: Token.RegularExpression,\n\t value: value,\n\t regex: {\n\t pattern: body.value,\n\t flags: flags.value\n\t },\n\t lineNumber: lineNumber,\n\t lineStart: lineStart,\n\t start: start,\n\t end: index\n\t };\n\t }\n\t\n\t return {\n\t literal: body.literal + flags.literal,\n\t value: value,\n\t regex: {\n\t pattern: body.value,\n\t flags: flags.value\n\t },\n\t start: start,\n\t end: index\n\t };\n\t }\n\t\n\t function collectRegex() {\n\t var pos, loc, regex, token;\n\t\n\t skipComment();\n\t\n\t pos = index;\n\t loc = {\n\t start: {\n\t line: lineNumber,\n\t column: index - lineStart\n\t }\n\t };\n\t\n\t regex = scanRegExp();\n\t\n\t loc.end = {\n\t line: lineNumber,\n\t column: index - lineStart\n\t };\n\t\n\t /* istanbul ignore next */\n\t if (!extra.tokenize) {\n\t // Pop the previous token, which is likely '/' or '/='\n\t if (extra.tokens.length > 0) {\n\t token = extra.tokens[extra.tokens.length - 1];\n\t if (token.range[0] === pos && token.type === 'Punctuator') {\n\t if (token.value === '/' || token.value === '/=') {\n\t extra.tokens.pop();\n\t }\n\t }\n\t }\n\t\n\t extra.tokens.push({\n\t type: 'RegularExpression',\n\t value: regex.literal,\n\t regex: regex.regex,\n\t range: [pos, index],\n\t loc: loc\n\t });\n\t }\n\t\n\t return regex;\n\t }\n\t\n\t function isIdentifierName(token) {\n\t return token.type === Token.Identifier ||\n\t token.type === Token.Keyword ||\n\t token.type === Token.BooleanLiteral ||\n\t token.type === Token.NullLiteral;\n\t }\n\t\n\t // Using the following algorithm:\n\t // https://github.com/mozilla/sweet.js/wiki/design\n\t\n\t function advanceSlash() {\n\t var regex, previous, check;\n\t\n\t function testKeyword(value) {\n\t return value && (value.length > 1) && (value[0] >= 'a') && (value[0] <= 'z');\n\t }\n\t\n\t previous = extra.tokenValues[extra.tokenValues.length - 1];\n\t regex = (previous !== null);\n\t\n\t switch (previous) {\n\t case 'this':\n\t case ']':\n\t regex = false;\n\t break;\n\t\n\t case ')':\n\t check = extra.tokenValues[extra.openParenToken - 1];\n\t regex = (check === 'if' || check === 'while' || check === 'for' || check === 'with');\n\t break;\n\t\n\t case '}':\n\t // Dividing a function by anything makes little sense,\n\t // but we have to check for that.\n\t regex = false;\n\t if (testKeyword(extra.tokenValues[extra.openCurlyToken - 3])) {\n\t // Anonymous function, e.g. function(){} /42\n\t check = extra.tokenValues[extra.openCurlyToken - 4];\n\t regex = check ? (FnExprTokens.indexOf(check) < 0) : false;\n\t } else if (testKeyword(extra.tokenValues[extra.openCurlyToken - 4])) {\n\t // Named function, e.g. function f(){} /42/\n\t check = extra.tokenValues[extra.openCurlyToken - 5];\n\t regex = check ? (FnExprTokens.indexOf(check) < 0) : true;\n\t }\n\t }\n\t\n\t return regex ? collectRegex() : scanPunctuator();\n\t }\n\t\n\t function advance() {\n\t var cp, token;\n\t\n\t if (index >= length) {\n\t return {\n\t type: Token.EOF,\n\t lineNumber: lineNumber,\n\t lineStart: lineStart,\n\t start: index,\n\t end: index\n\t };\n\t }\n\t\n\t cp = source.charCodeAt(index);\n\t\n\t if (isIdentifierStart(cp)) {\n\t token = scanIdentifier();\n\t if (strict && isStrictModeReservedWord(token.value)) {\n\t token.type = Token.Keyword;\n\t }\n\t return token;\n\t }\n\t\n\t // Very common: ( and ) and ;\n\t if (cp === 0x28 || cp === 0x29 || cp === 0x3B) {\n\t return scanPunctuator();\n\t }\n\t\n\t // String literal starts with single quote (U+0027) or double quote (U+0022).\n\t if (cp === 0x27 || cp === 0x22) {\n\t return scanStringLiteral();\n\t }\n\t\n\t // Dot (.) U+002E can also start a floating-point number, hence the need\n\t // to check the next character.\n\t if (cp === 0x2E) {\n\t if (isDecimalDigit(source.charCodeAt(index + 1))) {\n\t return scanNumericLiteral();\n\t }\n\t return scanPunctuator();\n\t }\n\t\n\t if (isDecimalDigit(cp)) {\n\t return scanNumericLiteral();\n\t }\n\t\n\t // Slash (/) U+002F can also start a regex.\n\t if (extra.tokenize && cp === 0x2F) {\n\t return advanceSlash();\n\t }\n\t\n\t // Template literals start with ` (U+0060) for template head\n\t // or } (U+007D) for template middle or template tail.\n\t if (cp === 0x60 || (cp === 0x7D && state.curlyStack[state.curlyStack.length - 1] === '${')) {\n\t return scanTemplate();\n\t }\n\t\n\t // Possible identifier start in a surrogate pair.\n\t if (cp >= 0xD800 && cp < 0xDFFF) {\n\t cp = codePointAt(index);\n\t if (isIdentifierStart(cp)) {\n\t return scanIdentifier();\n\t }\n\t }\n\t\n\t return scanPunctuator();\n\t }\n\t\n\t function collectToken() {\n\t var loc, token, value, entry;\n\t\n\t loc = {\n\t start: {\n\t line: lineNumber,\n\t column: index - lineStart\n\t }\n\t };\n\t\n\t token = advance();\n\t loc.end = {\n\t line: lineNumber,\n\t column: index - lineStart\n\t };\n\t\n\t if (token.type !== Token.EOF) {\n\t value = source.slice(token.start, token.end);\n\t entry = {\n\t type: TokenName[token.type],\n\t value: value,\n\t range: [token.start, token.end],\n\t loc: loc\n\t };\n\t if (token.regex) {\n\t entry.regex = {\n\t pattern: token.regex.pattern,\n\t flags: token.regex.flags\n\t };\n\t }\n\t if (extra.tokenValues) {\n\t extra.tokenValues.push((entry.type === 'Punctuator' || entry.type === 'Keyword') ? entry.value : null);\n\t }\n\t if (extra.tokenize) {\n\t if (!extra.range) {\n\t delete entry.range;\n\t }\n\t if (!extra.loc) {\n\t delete entry.loc;\n\t }\n\t if (extra.delegate) {\n\t entry = extra.delegate(entry);\n\t }\n\t }\n\t extra.tokens.push(entry);\n\t }\n\t\n\t return token;\n\t }\n\t\n\t function lex() {\n\t var token;\n\t scanning = true;\n\t\n\t lastIndex = index;\n\t lastLineNumber = lineNumber;\n\t lastLineStart = lineStart;\n\t\n\t skipComment();\n\t\n\t token = lookahead;\n\t\n\t startIndex = index;\n\t startLineNumber = lineNumber;\n\t startLineStart = lineStart;\n\t\n\t lookahead = (typeof extra.tokens !== 'undefined') ? collectToken() : advance();\n\t scanning = false;\n\t return token;\n\t }\n\t\n\t function peek() {\n\t scanning = true;\n\t\n\t skipComment();\n\t\n\t lastIndex = index;\n\t lastLineNumber = lineNumber;\n\t lastLineStart = lineStart;\n\t\n\t startIndex = index;\n\t startLineNumber = lineNumber;\n\t startLineStart = lineStart;\n\t\n\t lookahead = (typeof extra.tokens !== 'undefined') ? collectToken() : advance();\n\t scanning = false;\n\t }\n\t\n\t function Position() {\n\t this.line = startLineNumber;\n\t this.column = startIndex - startLineStart;\n\t }\n\t\n\t function SourceLocation() {\n\t this.start = new Position();\n\t this.end = null;\n\t }\n\t\n\t function WrappingSourceLocation(startToken) {\n\t this.start = {\n\t line: startToken.lineNumber,\n\t column: startToken.start - startToken.lineStart\n\t };\n\t this.end = null;\n\t }\n\t\n\t function Node() {\n\t if (extra.range) {\n\t this.range = [startIndex, 0];\n\t }\n\t if (extra.loc) {\n\t this.loc = new SourceLocation();\n\t }\n\t }\n\t\n\t function WrappingNode(startToken) {\n\t if (extra.range) {\n\t this.range = [startToken.start, 0];\n\t }\n\t if (extra.loc) {\n\t this.loc = new WrappingSourceLocation(startToken);\n\t }\n\t }\n\t\n\t WrappingNode.prototype = Node.prototype = {\n\t\n\t processComment: function () {\n\t var lastChild,\n\t innerComments,\n\t leadingComments,\n\t trailingComments,\n\t bottomRight = extra.bottomRightStack,\n\t i,\n\t comment,\n\t last = bottomRight[bottomRight.length - 1];\n\t\n\t if (this.type === Syntax.Program) {\n\t if (this.body.length > 0) {\n\t return;\n\t }\n\t }\n\t /**\n\t * patch innnerComments for properties empty block\n\t * `function a() {/** comments **\\/}`\n\t */\n\t\n\t if (this.type === Syntax.BlockStatement && this.body.length === 0) {\n\t innerComments = [];\n\t for (i = extra.leadingComments.length - 1; i >= 0; --i) {\n\t comment = extra.leadingComments[i];\n\t if (this.range[1] >= comment.range[1]) {\n\t innerComments.unshift(comment);\n\t extra.leadingComments.splice(i, 1);\n\t extra.trailingComments.splice(i, 1);\n\t }\n\t }\n\t if (innerComments.length) {\n\t this.innerComments = innerComments;\n\t //bottomRight.push(this);\n\t return;\n\t }\n\t }\n\t\n\t if (extra.trailingComments.length > 0) {\n\t trailingComments = [];\n\t for (i = extra.trailingComments.length - 1; i >= 0; --i) {\n\t comment = extra.trailingComments[i];\n\t if (comment.range[0] >= this.range[1]) {\n\t trailingComments.unshift(comment);\n\t extra.trailingComments.splice(i, 1);\n\t }\n\t }\n\t extra.trailingComments = [];\n\t } else {\n\t if (last && last.trailingComments && last.trailingComments[0].range[0] >= this.range[1]) {\n\t trailingComments = last.trailingComments;\n\t delete last.trailingComments;\n\t }\n\t }\n\t\n\t // Eating the stack.\n\t while (last && last.range[0] >= this.range[0]) {\n\t lastChild = bottomRight.pop();\n\t last = bottomRight[bottomRight.length - 1];\n\t }\n\t\n\t if (lastChild) {\n\t if (lastChild.leadingComments) {\n\t leadingComments = [];\n\t for (i = lastChild.leadingComments.length - 1; i >= 0; --i) {\n\t comment = lastChild.leadingComments[i];\n\t if (comment.range[1] <= this.range[0]) {\n\t leadingComments.unshift(comment);\n\t lastChild.leadingComments.splice(i, 1);\n\t }\n\t }\n\t\n\t if (!lastChild.leadingComments.length) {\n\t lastChild.leadingComments = undefined;\n\t }\n\t }\n\t } else if (extra.leadingComments.length > 0) {\n\t leadingComments = [];\n\t for (i = extra.leadingComments.length - 1; i >= 0; --i) {\n\t comment = extra.leadingComments[i];\n\t if (comment.range[1] <= this.range[0]) {\n\t leadingComments.unshift(comment);\n\t extra.leadingComments.splice(i, 1);\n\t }\n\t }\n\t }\n\t\n\t\n\t if (leadingComments && leadingComments.length > 0) {\n\t this.leadingComments = leadingComments;\n\t }\n\t if (trailingComments && trailingComments.length > 0) {\n\t this.trailingComments = trailingComments;\n\t }\n\t\n\t bottomRight.push(this);\n\t },\n\t\n\t finish: function () {\n\t if (extra.range) {\n\t this.range[1] = lastIndex;\n\t }\n\t if (extra.loc) {\n\t this.loc.end = {\n\t line: lastLineNumber,\n\t column: lastIndex - lastLineStart\n\t };\n\t if (extra.source) {\n\t this.loc.source = extra.source;\n\t }\n\t }\n\t\n\t if (extra.attachComment) {\n\t this.processComment();\n\t }\n\t },\n\t\n\t finishArrayExpression: function (elements) {\n\t this.type = Syntax.ArrayExpression;\n\t this.elements = elements;\n\t this.finish();\n\t return this;\n\t },\n\t\n\t finishArrayPattern: function (elements) {\n\t this.type = Syntax.ArrayPattern;\n\t this.elements = elements;\n\t this.finish();\n\t return this;\n\t },\n\t\n\t finishArrowFunctionExpression: function (params, defaults, body, expression) {\n\t this.type = Syntax.ArrowFunctionExpression;\n\t this.id = null;\n\t this.params = params;\n\t this.defaults = defaults;\n\t this.body = body;\n\t this.generator = false;\n\t this.expression = expression;\n\t this.finish();\n\t return this;\n\t },\n\t\n\t finishAssignmentExpression: function (operator, left, right) {\n\t this.type = Syntax.AssignmentExpression;\n\t this.operator = operator;\n\t this.left = left;\n\t this.right = right;\n\t this.finish();\n\t return this;\n\t },\n\t\n\t finishAssignmentPattern: function (left, right) {\n\t this.type = Syntax.AssignmentPattern;\n\t this.left = left;\n\t this.right = right;\n\t this.finish();\n\t return this;\n\t },\n\t\n\t finishBinaryExpression: function (operator, left, right) {\n\t this.type = (operator === '||' || operator === '&&') ? Syntax.LogicalExpression : Syntax.BinaryExpression;\n\t this.operator = operator;\n\t this.left = left;\n\t this.right = right;\n\t this.finish();\n\t return this;\n\t },\n\t\n\t finishBlockStatement: function (body) {\n\t this.type = Syntax.BlockStatement;\n\t this.body = body;\n\t this.finish();\n\t return this;\n\t },\n\t\n\t finishBreakStatement: function (label) {\n\t this.type = Syntax.BreakStatement;\n\t this.label = label;\n\t this.finish();\n\t return this;\n\t },\n\t\n\t finishCallExpression: function (callee, args) {\n\t this.type = Syntax.CallExpression;\n\t this.callee = callee;\n\t this.arguments = args;\n\t this.finish();\n\t return this;\n\t },\n\t\n\t finishCatchClause: function (param, body) {\n\t this.type = Syntax.CatchClause;\n\t this.param = param;\n\t this.body = body;\n\t this.finish();\n\t return this;\n\t },\n\t\n\t finishClassBody: function (body) {\n\t this.type = Syntax.ClassBody;\n\t this.body = body;\n\t this.finish();\n\t return this;\n\t },\n\t\n\t finishClassDeclaration: function (id, superClass, body) {\n\t this.type = Syntax.ClassDeclaration;\n\t this.id = id;\n\t this.superClass = superClass;\n\t this.body = body;\n\t this.finish();\n\t return this;\n\t },\n\t\n\t finishClassExpression: function (id, superClass, body) {\n\t this.type = Syntax.ClassExpression;\n\t this.id = id;\n\t this.superClass = superClass;\n\t this.body = body;\n\t this.finish();\n\t return this;\n\t },\n\t\n\t finishConditionalExpression: function (test, consequent, alternate) {\n\t this.type = Syntax.ConditionalExpression;\n\t this.test = test;\n\t this.consequent = consequent;\n\t this.alternate = alternate;\n\t this.finish();\n\t return this;\n\t },\n\t\n\t finishContinueStatement: function (label) {\n\t this.type = Syntax.ContinueStatement;\n\t this.label = label;\n\t this.finish();\n\t return this;\n\t },\n\t\n\t finishDebuggerStatement: function () {\n\t this.type = Syntax.DebuggerStatement;\n\t this.finish();\n\t return this;\n\t },\n\t\n\t finishDoWhileStatement: function (body, test) {\n\t this.type = Syntax.DoWhileStatement;\n\t this.body = body;\n\t this.test = test;\n\t this.finish();\n\t return this;\n\t },\n\t\n\t finishEmptyStatement: function () {\n\t this.type = Syntax.EmptyStatement;\n\t this.finish();\n\t return this;\n\t },\n\t\n\t finishExpressionStatement: function (expression) {\n\t this.type = Syntax.ExpressionStatement;\n\t this.expression = expression;\n\t this.finish();\n\t return this;\n\t },\n\t\n\t finishForStatement: function (init, test, update, body) {\n\t this.type = Syntax.ForStatement;\n\t this.init = init;\n\t this.test = test;\n\t this.update = update;\n\t this.body = body;\n\t this.finish();\n\t return this;\n\t },\n\t\n\t finishForOfStatement: function (left, right, body) {\n\t this.type = Syntax.ForOfStatement;\n\t this.left = left;\n\t this.right = right;\n\t this.body = body;\n\t this.finish();\n\t return this;\n\t },\n\t\n\t finishForInStatement: function (left, right, body) {\n\t this.type = Syntax.ForInStatement;\n\t this.left = left;\n\t this.right = right;\n\t this.body = body;\n\t this.each = false;\n\t this.finish();\n\t return this;\n\t },\n\t\n\t finishFunctionDeclaration: function (id, params, defaults, body, generator) {\n\t this.type = Syntax.FunctionDeclaration;\n\t this.id = id;\n\t this.params = params;\n\t this.defaults = defaults;\n\t this.body = body;\n\t this.generator = generator;\n\t this.expression = false;\n\t this.finish();\n\t return this;\n\t },\n\t\n\t finishFunctionExpression: function (id, params, defaults, body, generator) {\n\t this.type = Syntax.FunctionExpression;\n\t this.id = id;\n\t this.params = params;\n\t this.defaults = defaults;\n\t this.body = body;\n\t this.generator = generator;\n\t this.expression = false;\n\t this.finish();\n\t return this;\n\t },\n\t\n\t finishIdentifier: function (name) {\n\t this.type = Syntax.Identifier;\n\t this.name = name;\n\t this.finish();\n\t return this;\n\t },\n\t\n\t finishIfStatement: function (test, consequent, alternate) {\n\t this.type = Syntax.IfStatement;\n\t this.test = test;\n\t this.consequent = consequent;\n\t this.alternate = alternate;\n\t this.finish();\n\t return this;\n\t },\n\t\n\t finishLabeledStatement: function (label, body) {\n\t this.type = Syntax.LabeledStatement;\n\t this.label = label;\n\t this.body = body;\n\t this.finish();\n\t return this;\n\t },\n\t\n\t finishLiteral: function (token) {\n\t this.type = Syntax.Literal;\n\t this.value = token.value;\n\t this.raw = source.slice(token.start, token.end);\n\t if (token.regex) {\n\t this.regex = token.regex;\n\t }\n\t this.finish();\n\t return this;\n\t },\n\t\n\t finishMemberExpression: function (accessor, object, property) {\n\t this.type = Syntax.MemberExpression;\n\t this.computed = accessor === '[';\n\t this.object = object;\n\t this.property = property;\n\t this.finish();\n\t return this;\n\t },\n\t\n\t finishMetaProperty: function (meta, property) {\n\t this.type = Syntax.MetaProperty;\n\t this.meta = meta;\n\t this.property = property;\n\t this.finish();\n\t return this;\n\t },\n\t\n\t finishNewExpression: function (callee, args) {\n\t this.type = Syntax.NewExpression;\n\t this.callee = callee;\n\t this.arguments = args;\n\t this.finish();\n\t return this;\n\t },\n\t\n\t finishObjectExpression: function (properties) {\n\t this.type = Syntax.ObjectExpression;\n\t this.properties = properties;\n\t this.finish();\n\t return this;\n\t },\n\t\n\t finishObjectPattern: function (properties) {\n\t this.type = Syntax.ObjectPattern;\n\t this.properties = properties;\n\t this.finish();\n\t return this;\n\t },\n\t\n\t finishPostfixExpression: function (operator, argument) {\n\t this.type = Syntax.UpdateExpression;\n\t this.operator = operator;\n\t this.argument = argument;\n\t this.prefix = false;\n\t this.finish();\n\t return this;\n\t },\n\t\n\t finishProgram: function (body, sourceType) {\n\t this.type = Syntax.Program;\n\t this.body = body;\n\t this.sourceType = sourceType;\n\t this.finish();\n\t return this;\n\t },\n\t\n\t finishProperty: function (kind, key, computed, value, method, shorthand) {\n\t this.type = Syntax.Property;\n\t this.key = key;\n\t this.computed = computed;\n\t this.value = value;\n\t this.kind = kind;\n\t this.method = method;\n\t this.shorthand = shorthand;\n\t this.finish();\n\t return this;\n\t },\n\t\n\t finishRestElement: function (argument) {\n\t this.type = Syntax.RestElement;\n\t this.argument = argument;\n\t this.finish();\n\t return this;\n\t },\n\t\n\t finishReturnStatement: function (argument) {\n\t this.type = Syntax.ReturnStatement;\n\t this.argument = argument;\n\t this.finish();\n\t return this;\n\t },\n\t\n\t finishSequenceExpression: function (expressions) {\n\t this.type = Syntax.SequenceExpression;\n\t this.expressions = expressions;\n\t this.finish();\n\t return this;\n\t },\n\t\n\t finishSpreadElement: function (argument) {\n\t this.type = Syntax.SpreadElement;\n\t this.argument = argument;\n\t this.finish();\n\t return this;\n\t },\n\t\n\t finishSwitchCase: function (test, consequent) {\n\t this.type = Syntax.SwitchCase;\n\t this.test = test;\n\t this.consequent = consequent;\n\t this.finish();\n\t return this;\n\t },\n\t\n\t finishSuper: function () {\n\t this.type = Syntax.Super;\n\t this.finish();\n\t return this;\n\t },\n\t\n\t finishSwitchStatement: function (discriminant, cases) {\n\t this.type = Syntax.SwitchStatement;\n\t this.discriminant = discriminant;\n\t this.cases = cases;\n\t this.finish();\n\t return this;\n\t },\n\t\n\t finishTaggedTemplateExpression: function (tag, quasi) {\n\t this.type = Syntax.TaggedTemplateExpression;\n\t this.tag = tag;\n\t this.quasi = quasi;\n\t this.finish();\n\t return this;\n\t },\n\t\n\t finishTemplateElement: function (value, tail) {\n\t this.type = Syntax.TemplateElement;\n\t this.value = value;\n\t this.tail = tail;\n\t this.finish();\n\t return this;\n\t },\n\t\n\t finishTemplateLiteral: function (quasis, expressions) {\n\t this.type = Syntax.TemplateLiteral;\n\t this.quasis = quasis;\n\t this.expressions = expressions;\n\t this.finish();\n\t return this;\n\t },\n\t\n\t finishThisExpression: function () {\n\t this.type = Syntax.ThisExpression;\n\t this.finish();\n\t return this;\n\t },\n\t\n\t finishThrowStatement: function (argument) {\n\t this.type = Syntax.ThrowStatement;\n\t this.argument = argument;\n\t this.finish();\n\t return this;\n\t },\n\t\n\t finishTryStatement: function (block, handler, finalizer) {\n\t this.type = Syntax.TryStatement;\n\t this.block = block;\n\t this.guardedHandlers = [];\n\t this.handlers = handler ? [handler] : [];\n\t this.handler = handler;\n\t this.finalizer = finalizer;\n\t this.finish();\n\t return this;\n\t },\n\t\n\t finishUnaryExpression: function (operator, argument) {\n\t this.type = (operator === '++' || operator === '--') ? Syntax.UpdateExpression : Syntax.UnaryExpression;\n\t this.operator = operator;\n\t this.argument = argument;\n\t this.prefix = true;\n\t this.finish();\n\t return this;\n\t },\n\t\n\t finishVariableDeclaration: function (declarations) {\n\t this.type = Syntax.VariableDeclaration;\n\t this.declarations = declarations;\n\t this.kind = 'var';\n\t this.finish();\n\t return this;\n\t },\n\t\n\t finishLexicalDeclaration: function (declarations, kind) {\n\t this.type = Syntax.VariableDeclaration;\n\t this.declarations = declarations;\n\t this.kind = kind;\n\t this.finish();\n\t return this;\n\t },\n\t\n\t finishVariableDeclarator: function (id, init) {\n\t this.type = Syntax.VariableDeclarator;\n\t this.id = id;\n\t this.init = init;\n\t this.finish();\n\t return this;\n\t },\n\t\n\t finishWhileStatement: function (test, body) {\n\t this.type = Syntax.WhileStatement;\n\t this.test = test;\n\t this.body = body;\n\t this.finish();\n\t return this;\n\t },\n\t\n\t finishWithStatement: function (object, body) {\n\t this.type = Syntax.WithStatement;\n\t this.object = object;\n\t this.body = body;\n\t this.finish();\n\t return this;\n\t },\n\t\n\t finishExportSpecifier: function (local, exported) {\n\t this.type = Syntax.ExportSpecifier;\n\t this.exported = exported || local;\n\t this.local = local;\n\t this.finish();\n\t return this;\n\t },\n\t\n\t finishImportDefaultSpecifier: function (local) {\n\t this.type = Syntax.ImportDefaultSpecifier;\n\t this.local = local;\n\t this.finish();\n\t return this;\n\t },\n\t\n\t finishImportNamespaceSpecifier: function (local) {\n\t this.type = Syntax.ImportNamespaceSpecifier;\n\t this.local = local;\n\t this.finish();\n\t return this;\n\t },\n\t\n\t finishExportNamedDeclaration: function (declaration, specifiers, src) {\n\t this.type = Syntax.ExportNamedDeclaration;\n\t this.declaration = declaration;\n\t this.specifiers = specifiers;\n\t this.source = src;\n\t this.finish();\n\t return this;\n\t },\n\t\n\t finishExportDefaultDeclaration: function (declaration) {\n\t this.type = Syntax.ExportDefaultDeclaration;\n\t this.declaration = declaration;\n\t this.finish();\n\t return this;\n\t },\n\t\n\t finishExportAllDeclaration: function (src) {\n\t this.type = Syntax.ExportAllDeclaration;\n\t this.source = src;\n\t this.finish();\n\t return this;\n\t },\n\t\n\t finishImportSpecifier: function (local, imported) {\n\t this.type = Syntax.ImportSpecifier;\n\t this.local = local || imported;\n\t this.imported = imported;\n\t this.finish();\n\t return this;\n\t },\n\t\n\t finishImportDeclaration: function (specifiers, src) {\n\t this.type = Syntax.ImportDeclaration;\n\t this.specifiers = specifiers;\n\t this.source = src;\n\t this.finish();\n\t return this;\n\t },\n\t\n\t finishYieldExpression: function (argument, delegate) {\n\t this.type = Syntax.YieldExpression;\n\t this.argument = argument;\n\t this.delegate = delegate;\n\t this.finish();\n\t return this;\n\t }\n\t };\n\t\n\t\n\t function recordError(error) {\n\t var e, existing;\n\t\n\t for (e = 0; e < extra.errors.length; e++) {\n\t existing = extra.errors[e];\n\t // Prevent duplicated error.\n\t /* istanbul ignore next */\n\t if (existing.index === error.index && existing.message === error.message) {\n\t return;\n\t }\n\t }\n\t\n\t extra.errors.push(error);\n\t }\n\t\n\t function constructError(msg, column) {\n\t var error = new Error(msg);\n\t try {\n\t throw error;\n\t } catch (base) {\n\t /* istanbul ignore else */\n\t if (Object.create && Object.defineProperty) {\n\t error = Object.create(base);\n\t Object.defineProperty(error, 'column', { value: column });\n\t }\n\t } finally {\n\t return error;\n\t }\n\t }\n\t\n\t function createError(line, pos, description) {\n\t var msg, column, error;\n\t\n\t msg = 'Line ' + line + ': ' + description;\n\t column = pos - (scanning ? lineStart : lastLineStart) + 1;\n\t error = constructError(msg, column);\n\t error.lineNumber = line;\n\t error.description = description;\n\t error.index = pos;\n\t return error;\n\t }\n\t\n\t // Throw an exception\n\t\n\t function throwError(messageFormat) {\n\t var args, msg;\n\t\n\t args = Array.prototype.slice.call(arguments, 1);\n\t msg = messageFormat.replace(/%(\\d)/g,\n\t function (whole, idx) {\n\t assert(idx < args.length, 'Message reference must be in range');\n\t return args[idx];\n\t }\n\t );\n\t\n\t throw createError(lastLineNumber, lastIndex, msg);\n\t }\n\t\n\t function tolerateError(messageFormat) {\n\t var args, msg, error;\n\t\n\t args = Array.prototype.slice.call(arguments, 1);\n\t /* istanbul ignore next */\n\t msg = messageFormat.replace(/%(\\d)/g,\n\t function (whole, idx) {\n\t assert(idx < args.length, 'Message reference must be in range');\n\t return args[idx];\n\t }\n\t );\n\t\n\t error = createError(lineNumber, lastIndex, msg);\n\t if (extra.errors) {\n\t recordError(error);\n\t } else {\n\t throw error;\n\t }\n\t }\n\t\n\t // Throw an exception because of the token.\n\t\n\t function unexpectedTokenError(token, message) {\n\t var value, msg = message || Messages.UnexpectedToken;\n\t\n\t if (token) {\n\t if (!message) {\n\t msg = (token.type === Token.EOF) ? Messages.UnexpectedEOS :\n\t (token.type === Token.Identifier) ? Messages.UnexpectedIdentifier :\n\t (token.type === Token.NumericLiteral) ? Messages.UnexpectedNumber :\n\t (token.type === Token.StringLiteral) ? Messages.UnexpectedString :\n\t (token.type === Token.Template) ? Messages.UnexpectedTemplate :\n\t Messages.UnexpectedToken;\n\t\n\t if (token.type === Token.Keyword) {\n\t if (isFutureReservedWord(token.value)) {\n\t msg = Messages.UnexpectedReserved;\n\t } else if (strict && isStrictModeReservedWord(token.value)) {\n\t msg = Messages.StrictReservedWord;\n\t }\n\t }\n\t }\n\t\n\t value = (token.type === Token.Template) ? token.value.raw : token.value;\n\t } else {\n\t value = 'ILLEGAL';\n\t }\n\t\n\t msg = msg.replace('%0', value);\n\t\n\t return (token && typeof token.lineNumber === 'number') ?\n\t createError(token.lineNumber, token.start, msg) :\n\t createError(scanning ? lineNumber : lastLineNumber, scanning ? index : lastIndex, msg);\n\t }\n\t\n\t function throwUnexpectedToken(token, message) {\n\t throw unexpectedTokenError(token, message);\n\t }\n\t\n\t function tolerateUnexpectedToken(token, message) {\n\t var error = unexpectedTokenError(token, message);\n\t if (extra.errors) {\n\t recordError(error);\n\t } else {\n\t throw error;\n\t }\n\t }\n\t\n\t // Expect the next token to match the specified punctuator.\n\t // If not, an exception will be thrown.\n\t\n\t function expect(value) {\n\t var token = lex();\n\t if (token.type !== Token.Punctuator || token.value !== value) {\n\t throwUnexpectedToken(token);\n\t }\n\t }\n\t\n\t /**\n\t * @name expectCommaSeparator\n\t * @description Quietly expect a comma when in tolerant mode, otherwise delegates\n\t * to <code>expect(value)</code>\n\t * @since 2.0\n\t */\n\t function expectCommaSeparator() {\n\t var token;\n\t\n\t if (extra.errors) {\n\t token = lookahead;\n\t if (token.type === Token.Punctuator && token.value === ',') {\n\t lex();\n\t } else if (token.type === Token.Punctuator && token.value === ';') {\n\t lex();\n\t tolerateUnexpectedToken(token);\n\t } else {\n\t tolerateUnexpectedToken(token, Messages.UnexpectedToken);\n\t }\n\t } else {\n\t expect(',');\n\t }\n\t }\n\t\n\t // Expect the next token to match the specified keyword.\n\t // If not, an exception will be thrown.\n\t\n\t function expectKeyword(keyword) {\n\t var token = lex();\n\t if (token.type !== Token.Keyword || token.value !== keyword) {\n\t throwUnexpectedToken(token);\n\t }\n\t }\n\t\n\t // Return true if the next token matches the specified punctuator.\n\t\n\t function match(value) {\n\t return lookahead.type === Token.Punctuator && lookahead.value === value;\n\t }\n\t\n\t // Return true if the next token matches the specified keyword\n\t\n\t function matchKeyword(keyword) {\n\t return lookahead.type === Token.Keyword && lookahead.value === keyword;\n\t }\n\t\n\t // Return true if the next token matches the specified contextual keyword\n\t // (where an identifier is sometimes a keyword depending on the context)\n\t\n\t function matchContextualKeyword(keyword) {\n\t return lookahead.type === Token.Identifier && lookahead.value === keyword;\n\t }\n\t\n\t // Return true if the next token is an assignment operator\n\t\n\t function matchAssign() {\n\t var op;\n\t\n\t if (lookahead.type !== Token.Punctuator) {\n\t return false;\n\t }\n\t op = lookahead.value;\n\t return op === '=' ||\n\t op === '*=' ||\n\t op === '/=' ||\n\t op === '%=' ||\n\t op === '+=' ||\n\t op === '-=' ||\n\t op === '<<=' ||\n\t op === '>>=' ||\n\t op === '>>>=' ||\n\t op === '&=' ||\n\t op === '^=' ||\n\t op === '|=';\n\t }\n\t\n\t function consumeSemicolon() {\n\t // Catch the very common case first: immediately a semicolon (U+003B).\n\t if (source.charCodeAt(startIndex) === 0x3B || match(';')) {\n\t lex();\n\t return;\n\t }\n\t\n\t if (hasLineTerminator) {\n\t return;\n\t }\n\t\n\t // FIXME(ikarienator): this is seemingly an issue in the previous location info convention.\n\t lastIndex = startIndex;\n\t lastLineNumber = startLineNumber;\n\t lastLineStart = startLineStart;\n\t\n\t if (lookahead.type !== Token.EOF && !match('}')) {\n\t throwUnexpectedToken(lookahead);\n\t }\n\t }\n\t\n\t // Cover grammar support.\n\t //\n\t // When an assignment expression position starts with an left parenthesis, the determination of the type\n\t // of the syntax is to be deferred arbitrarily long until the end of the parentheses pair (plus a lookahead)\n\t // or the first comma. This situation also defers the determination of all the expressions nested in the pair.\n\t //\n\t // There are three productions that can be parsed in a parentheses pair that needs to be determined\n\t // after the outermost pair is closed. They are:\n\t //\n\t // 1. AssignmentExpression\n\t // 2. BindingElements\n\t // 3. AssignmentTargets\n\t //\n\t // In order to avoid exponential backtracking, we use two flags to denote if the production can be\n\t // binding element or assignment target.\n\t //\n\t // The three productions have the relationship:\n\t //\n\t // BindingElements ⊆ AssignmentTargets ⊆ AssignmentExpression\n\t //\n\t // with a single exception that CoverInitializedName when used directly in an Expression, generates\n\t // an early error. Therefore, we need the third state, firstCoverInitializedNameError, to track the\n\t // first usage of CoverInitializedName and report it when we reached the end of the parentheses pair.\n\t //\n\t // isolateCoverGrammar function runs the given parser function with a new cover grammar context, and it does not\n\t // effect the current flags. This means the production the parser parses is only used as an expression. Therefore\n\t // the CoverInitializedName check is conducted.\n\t //\n\t // inheritCoverGrammar function runs the given parse function with a new cover grammar context, and it propagates\n\t // the flags outside of the parser. This means the production the parser parses is used as a part of a potential\n\t // pattern. The CoverInitializedName check is deferred.\n\t function isolateCoverGrammar(parser) {\n\t var oldIsBindingElement = isBindingElement,\n\t oldIsAssignmentTarget = isAssignmentTarget,\n\t oldFirstCoverInitializedNameError = firstCoverInitializedNameError,\n\t result;\n\t isBindingElement = true;\n\t isAssignmentTarget = true;\n\t firstCoverInitializedNameError = null;\n\t result = parser();\n\t if (firstCoverInitializedNameError !== null) {\n\t throwUnexpectedToken(firstCoverInitializedNameError);\n\t }\n\t isBindingElement = oldIsBindingElement;\n\t isAssignmentTarget = oldIsAssignmentTarget;\n\t firstCoverInitializedNameError = oldFirstCoverInitializedNameError;\n\t return result;\n\t }\n\t\n\t function inheritCoverGrammar(parser) {\n\t var oldIsBindingElement = isBindingElement,\n\t oldIsAssignmentTarget = isAssignmentTarget,\n\t oldFirstCoverInitializedNameError = firstCoverInitializedNameError,\n\t result;\n\t isBindingElement = true;\n\t isAssignmentTarget = true;\n\t firstCoverInitializedNameError = null;\n\t result = parser();\n\t isBindingElement = isBindingElement && oldIsBindingElement;\n\t isAssignmentTarget = isAssignmentTarget && oldIsAssignmentTarget;\n\t firstCoverInitializedNameError = oldFirstCoverInitializedNameError || firstCoverInitializedNameError;\n\t return result;\n\t }\n\t\n\t // ECMA-262 13.3.3 Destructuring Binding Patterns\n\t\n\t function parseArrayPattern(params, kind) {\n\t var node = new Node(), elements = [], rest, restNode;\n\t expect('[');\n\t\n\t while (!match(']')) {\n\t if (match(',')) {\n\t lex();\n\t elements.push(null);\n\t } else {\n\t if (match('...')) {\n\t restNode = new Node();\n\t lex();\n\t params.push(lookahead);\n\t rest = parseVariableIdentifier(kind);\n\t elements.push(restNode.finishRestElement(rest));\n\t break;\n\t } else {\n\t elements.push(parsePatternWithDefault(params, kind));\n\t }\n\t if (!match(']')) {\n\t expect(',');\n\t }\n\t }\n\t\n\t }\n\t\n\t expect(']');\n\t\n\t return node.finishArrayPattern(elements);\n\t }\n\t\n\t function parsePropertyPattern(params, kind) {\n\t var node = new Node(), key, keyToken, computed = match('['), init;\n\t if (lookahead.type === Token.Identifier) {\n\t keyToken = lookahead;\n\t key = parseVariableIdentifier();\n\t if (match('=')) {\n\t params.push(keyToken);\n\t lex();\n\t init = parseAssignmentExpression();\n\t\n\t return node.finishProperty(\n\t 'init', key, false,\n\t new WrappingNode(keyToken).finishAssignmentPattern(key, init), false, true);\n\t } else if (!match(':')) {\n\t params.push(keyToken);\n\t return node.finishProperty('init', key, false, key, false, true);\n\t }\n\t } else {\n\t key = parseObjectPropertyKey();\n\t }\n\t expect(':');\n\t init = parsePatternWithDefault(params, kind);\n\t return node.finishProperty('init', key, computed, init, false, false);\n\t }\n\t\n\t function parseObjectPattern(params, kind) {\n\t var node = new Node(), properties = [];\n\t\n\t expect('{');\n\t\n\t while (!match('}')) {\n\t properties.push(parsePropertyPattern(params, kind));\n\t if (!match('}')) {\n\t expect(',');\n\t }\n\t }\n\t\n\t lex();\n\t\n\t return node.finishObjectPattern(properties);\n\t }\n\t\n\t function parsePattern(params, kind) {\n\t if (match('[')) {\n\t return parseArrayPattern(params, kind);\n\t } else if (match('{')) {\n\t return parseObjectPattern(params, kind);\n\t } else if (matchKeyword('let')) {\n\t if (kind === 'const' || kind === 'let') {\n\t tolerateUnexpectedToken(lookahead, Messages.UnexpectedToken);\n\t }\n\t }\n\t\n\t params.push(lookahead);\n\t return parseVariableIdentifier(kind);\n\t }\n\t\n\t function parsePatternWithDefault(params, kind) {\n\t var startToken = lookahead, pattern, previousAllowYield, right;\n\t pattern = parsePattern(params, kind);\n\t if (match('=')) {\n\t lex();\n\t previousAllowYield = state.allowYield;\n\t state.allowYield = true;\n\t right = isolateCoverGrammar(parseAssignmentExpression);\n\t state.allowYield = previousAllowYield;\n\t pattern = new WrappingNode(startToken).finishAssignmentPattern(pattern, right);\n\t }\n\t return pattern;\n\t }\n\t\n\t // ECMA-262 12.2.5 Array Initializer\n\t\n\t function parseArrayInitializer() {\n\t var elements = [], node = new Node(), restSpread;\n\t\n\t expect('[');\n\t\n\t while (!match(']')) {\n\t if (match(',')) {\n\t lex();\n\t elements.push(null);\n\t } else if (match('...')) {\n\t restSpread = new Node();\n\t lex();\n\t restSpread.finishSpreadElement(inheritCoverGrammar(parseAssignmentExpression));\n\t\n\t if (!match(']')) {\n\t isAssignmentTarget = isBindingElement = false;\n\t expect(',');\n\t }\n\t elements.push(restSpread);\n\t } else {\n\t elements.push(inheritCoverGrammar(parseAssignmentExpression));\n\t\n\t if (!match(']')) {\n\t expect(',');\n\t }\n\t }\n\t }\n\t\n\t lex();\n\t\n\t return node.finishArrayExpression(elements);\n\t }\n\t\n\t // ECMA-262 12.2.6 Object Initializer\n\t\n\t function parsePropertyFunction(node, paramInfo, isGenerator) {\n\t var previousStrict, body;\n\t\n\t isAssignmentTarget = isBindingElement = false;\n\t\n\t previousStrict = strict;\n\t body = isolateCoverGrammar(parseFunctionSourceElements);\n\t\n\t if (strict && paramInfo.firstRestricted) {\n\t tolerateUnexpectedToken(paramInfo.firstRestricted, paramInfo.message);\n\t }\n\t if (strict && paramInfo.stricted) {\n\t tolerateUnexpectedToken(paramInfo.stricted, paramInfo.message);\n\t }\n\t\n\t strict = previousStrict;\n\t return node.finishFunctionExpression(null, paramInfo.params, paramInfo.defaults, body, isGenerator);\n\t }\n\t\n\t function parsePropertyMethodFunction() {\n\t var params, method, node = new Node(),\n\t previousAllowYield = state.allowYield;\n\t\n\t state.allowYield = false;\n\t params = parseParams();\n\t state.allowYield = previousAllowYield;\n\t\n\t state.allowYield = false;\n\t method = parsePropertyFunction(node, params, false);\n\t state.allowYield = previousAllowYield;\n\t\n\t return method;\n\t }\n\t\n\t function parseObjectPropertyKey() {\n\t var token, node = new Node(), expr;\n\t\n\t token = lex();\n\t\n\t // Note: This function is called only from parseObjectProperty(), where\n\t // EOF and Punctuator tokens are already filtered out.\n\t\n\t switch (token.type) {\n\t case Token.StringLiteral:\n\t case Token.NumericLiteral:\n\t if (strict && token.octal) {\n\t tolerateUnexpectedToken(token, Messages.StrictOctalLiteral);\n\t }\n\t return node.finishLiteral(token);\n\t case Token.Identifier:\n\t case Token.BooleanLiteral:\n\t case Token.NullLiteral:\n\t case Token.Keyword:\n\t return node.finishIdentifier(token.value);\n\t case Token.Punctuator:\n\t if (token.value === '[') {\n\t expr = isolateCoverGrammar(parseAssignmentExpression);\n\t expect(']');\n\t return expr;\n\t }\n\t break;\n\t }\n\t throwUnexpectedToken(token);\n\t }\n\t\n\t function lookaheadPropertyName() {\n\t switch (lookahead.type) {\n\t case Token.Identifier:\n\t case Token.StringLiteral:\n\t case Token.BooleanLiteral:\n\t case Token.NullLiteral:\n\t case Token.NumericLiteral:\n\t case Token.Keyword:\n\t return true;\n\t case Token.Punctuator:\n\t return lookahead.value === '[';\n\t }\n\t return false;\n\t }\n\t\n\t // This function is to try to parse a MethodDefinition as defined in 14.3. But in the case of object literals,\n\t // it might be called at a position where there is in fact a short hand identifier pattern or a data property.\n\t // This can only be determined after we consumed up to the left parentheses.\n\t //\n\t // In order to avoid back tracking, it returns `null` if the position is not a MethodDefinition and the caller\n\t // is responsible to visit other options.\n\t function tryParseMethodDefinition(token, key, computed, node) {\n\t var value, options, methodNode, params,\n\t previousAllowYield = state.allowYield;\n\t\n\t if (token.type === Token.Identifier) {\n\t // check for `get` and `set`;\n\t\n\t if (token.value === 'get' && lookaheadPropertyName()) {\n\t computed = match('[');\n\t key = parseObjectPropertyKey();\n\t methodNode = new Node();\n\t expect('(');\n\t expect(')');\n\t\n\t state.allowYield = false;\n\t value = parsePropertyFunction(methodNode, {\n\t params: [],\n\t defaults: [],\n\t stricted: null,\n\t firstRestricted: null,\n\t message: null\n\t }, false);\n\t state.allowYield = previousAllowYield;\n\t\n\t return node.finishProperty('get', key, computed, value, false, false);\n\t } else if (token.value === 'set' && lookaheadPropertyName()) {\n\t computed = match('[');\n\t key = parseObjectPropertyKey();\n\t methodNode = new Node();\n\t expect('(');\n\t\n\t options = {\n\t params: [],\n\t defaultCount: 0,\n\t defaults: [],\n\t firstRestricted: null,\n\t paramSet: {}\n\t };\n\t if (match(')')) {\n\t tolerateUnexpectedToken(lookahead);\n\t } else {\n\t state.allowYield = false;\n\t parseParam(options);\n\t state.allowYield = previousAllowYield;\n\t if (options.defaultCount === 0) {\n\t options.defaults = [];\n\t }\n\t }\n\t expect(')');\n\t\n\t state.allowYield = false;\n\t value = parsePropertyFunction(methodNode, options, false);\n\t state.allowYield = previousAllowYield;\n\t\n\t return node.finishProperty('set', key, computed, value, false, false);\n\t }\n\t } else if (token.type === Token.Punctuator && token.value === '*' && lookaheadPropertyName()) {\n\t computed = match('[');\n\t key = parseObjectPropertyKey();\n\t methodNode = new Node();\n\t\n\t state.allowYield = true;\n\t params = parseParams();\n\t state.allowYield = previousAllowYield;\n\t\n\t state.allowYield = false;\n\t value = parsePropertyFunction(methodNode, params, true);\n\t state.allowYield = previousAllowYield;\n\t\n\t return node.finishProperty('init', key, computed, value, true, false);\n\t }\n\t\n\t if (key && match('(')) {\n\t value = parsePropertyMethodFunction();\n\t return node.finishProperty('init', key, computed, value, true, false);\n\t }\n\t\n\t // Not a MethodDefinition.\n\t return null;\n\t }\n\t\n\t function parseObjectProperty(hasProto) {\n\t var token = lookahead, node = new Node(), computed, key, maybeMethod, proto, value;\n\t\n\t computed = match('[');\n\t if (match('*')) {\n\t lex();\n\t } else {\n\t key = parseObjectPropertyKey();\n\t }\n\t maybeMethod = tryParseMethodDefinition(token, key, computed, node);\n\t if (maybeMethod) {\n\t return maybeMethod;\n\t }\n\t\n\t if (!key) {\n\t throwUnexpectedToken(lookahead);\n\t }\n\t\n\t // Check for duplicated __proto__\n\t if (!computed) {\n\t proto = (key.type === Syntax.Identifier && key.name === '__proto__') ||\n\t (key.type === Syntax.Literal && key.value === '__proto__');\n\t if (hasProto.value && proto) {\n\t tolerateError(Messages.DuplicateProtoProperty);\n\t }\n\t hasProto.value |= proto;\n\t }\n\t\n\t if (match(':')) {\n\t lex();\n\t value = inheritCoverGrammar(parseAssignmentExpression);\n\t return node.finishProperty('init', key, computed, value, false, false);\n\t }\n\t\n\t if (token.type === Token.Identifier) {\n\t if (match('=')) {\n\t firstCoverInitializedNameError = lookahead;\n\t lex();\n\t value = isolateCoverGrammar(parseAssignmentExpression);\n\t return node.finishProperty('init', key, computed,\n\t new WrappingNode(token).finishAssignmentPattern(key, value), false, true);\n\t }\n\t return node.finishProperty('init', key, computed, key, false, true);\n\t }\n\t\n\t throwUnexpectedToken(lookahead);\n\t }\n\t\n\t function parseObjectInitializer() {\n\t var properties = [], hasProto = {value: false}, node = new Node();\n\t\n\t expect('{');\n\t\n\t while (!match('}')) {\n\t properties.push(parseObjectProperty(hasProto));\n\t\n\t if (!match('}')) {\n\t expectCommaSeparator();\n\t }\n\t }\n\t\n\t expect('}');\n\t\n\t return node.finishObjectExpression(properties);\n\t }\n\t\n\t function reinterpretExpressionAsPattern(expr) {\n\t var i;\n\t switch (expr.type) {\n\t case Syntax.Identifier:\n\t case Syntax.MemberExpression:\n\t case Syntax.RestElement:\n\t case Syntax.AssignmentPattern:\n\t break;\n\t case Syntax.SpreadElement:\n\t expr.type = Syntax.RestElement;\n\t reinterpretExpressionAsPattern(expr.argument);\n\t break;\n\t case Syntax.ArrayExpression:\n\t expr.type = Syntax.ArrayPattern;\n\t for (i = 0; i < expr.elements.length; i++) {\n\t if (expr.elements[i] !== null) {\n\t reinterpretExpressionAsPattern(expr.elements[i]);\n\t }\n\t }\n\t break;\n\t case Syntax.ObjectExpression:\n\t expr.type = Syntax.ObjectPattern;\n\t for (i = 0; i < expr.properties.length; i++) {\n\t reinterpretExpressionAsPattern(expr.properties[i].value);\n\t }\n\t break;\n\t case Syntax.AssignmentExpression:\n\t expr.type = Syntax.AssignmentPattern;\n\t reinterpretExpressionAsPattern(expr.left);\n\t break;\n\t default:\n\t // Allow other node type for tolerant parsing.\n\t break;\n\t }\n\t }\n\t\n\t // ECMA-262 12.2.9 Template Literals\n\t\n\t function parseTemplateElement(option) {\n\t var node, token;\n\t\n\t if (lookahead.type !== Token.Template || (option.head && !lookahead.head)) {\n\t throwUnexpectedToken();\n\t }\n\t\n\t node = new Node();\n\t token = lex();\n\t\n\t return node.finishTemplateElement({ raw: token.value.raw, cooked: token.value.cooked }, token.tail);\n\t }\n\t\n\t function parseTemplateLiteral() {\n\t var quasi, quasis, expressions, node = new Node();\n\t\n\t quasi = parseTemplateElement({ head: true });\n\t quasis = [quasi];\n\t expressions = [];\n\t\n\t while (!quasi.tail) {\n\t expressions.push(parseExpression());\n\t quasi = parseTemplateElement({ head: false });\n\t quasis.push(quasi);\n\t }\n\t\n\t return node.finishTemplateLiteral(quasis, expressions);\n\t }\n\t\n\t // ECMA-262 12.2.10 The Grouping Operator\n\t\n\t function parseGroupExpression() {\n\t var expr, expressions, startToken, i, params = [];\n\t\n\t expect('(');\n\t\n\t if (match(')')) {\n\t lex();\n\t if (!match('=>')) {\n\t expect('=>');\n\t }\n\t return {\n\t type: PlaceHolders.ArrowParameterPlaceHolder,\n\t params: [],\n\t rawParams: []\n\t };\n\t }\n\t\n\t startToken = lookahead;\n\t if (match('...')) {\n\t expr = parseRestElement(params);\n\t expect(')');\n\t if (!match('=>')) {\n\t expect('=>');\n\t }\n\t return {\n\t type: PlaceHolders.ArrowParameterPlaceHolder,\n\t params: [expr]\n\t };\n\t }\n\t\n\t isBindingElement = true;\n\t expr = inheritCoverGrammar(parseAssignmentExpression);\n\t\n\t if (match(',')) {\n\t isAssignmentTarget = false;\n\t expressions = [expr];\n\t\n\t while (startIndex < length) {\n\t if (!match(',')) {\n\t break;\n\t }\n\t lex();\n\t\n\t if (match('...')) {\n\t if (!isBindingElement) {\n\t throwUnexpectedToken(lookahead);\n\t }\n\t expressions.push(parseRestElement(params));\n\t expect(')');\n\t if (!match('=>')) {\n\t expect('=>');\n\t }\n\t isBindingElement = false;\n\t for (i = 0; i < expressions.length; i++) {\n\t reinterpretExpressionAsPattern(expressions[i]);\n\t }\n\t return {\n\t type: PlaceHolders.ArrowParameterPlaceHolder,\n\t params: expressions\n\t };\n\t }\n\t\n\t expressions.push(inheritCoverGrammar(parseAssignmentExpression));\n\t }\n\t\n\t expr = new WrappingNode(startToken).finishSequenceExpression(expressions);\n\t }\n\t\n\t\n\t expect(')');\n\t\n\t if (match('=>')) {\n\t if (expr.type === Syntax.Identifier && expr.name === 'yield') {\n\t return {\n\t type: PlaceHolders.ArrowParameterPlaceHolder,\n\t params: [expr]\n\t };\n\t }\n\t\n\t if (!isBindingElement) {\n\t throwUnexpectedToken(lookahead);\n\t }\n\t\n\t if (expr.type === Syntax.SequenceExpression) {\n\t for (i = 0; i < expr.expressions.length; i++) {\n\t reinterpretExpressionAsPattern(expr.expressions[i]);\n\t }\n\t } else {\n\t reinterpretExpressionAsPattern(expr);\n\t }\n\t\n\t expr = {\n\t type: PlaceHolders.ArrowParameterPlaceHolder,\n\t params: expr.type === Syntax.SequenceExpression ? expr.expressions : [expr]\n\t };\n\t }\n\t isBindingElement = false;\n\t return expr;\n\t }\n\t\n\t\n\t // ECMA-262 12.2 Primary Expressions\n\t\n\t function parsePrimaryExpression() {\n\t var type, token, expr, node;\n\t\n\t if (match('(')) {\n\t isBindingElement = false;\n\t return inheritCoverGrammar(parseGroupExpression);\n\t }\n\t\n\t if (match('[')) {\n\t return inheritCoverGrammar(parseArrayInitializer);\n\t }\n\t\n\t if (match('{')) {\n\t return inheritCoverGrammar(parseObjectInitializer);\n\t }\n\t\n\t type = lookahead.type;\n\t node = new Node();\n\t\n\t if (type === Token.Identifier) {\n\t if (state.sourceType === 'module' && lookahead.value === 'await') {\n\t tolerateUnexpectedToken(lookahead);\n\t }\n\t expr = node.finishIdentifier(lex().value);\n\t } else if (type === Token.StringLiteral || type === Token.NumericLiteral) {\n\t isAssignmentTarget = isBindingElement = false;\n\t if (strict && lookahead.octal) {\n\t tolerateUnexpectedToken(lookahead, Messages.StrictOctalLiteral);\n\t }\n\t expr = node.finishLiteral(lex());\n\t } else if (type === Token.Keyword) {\n\t if (!strict && state.allowYield && matchKeyword('yield')) {\n\t return parseNonComputedProperty();\n\t }\n\t if (!strict && matchKeyword('let')) {\n\t return node.finishIdentifier(lex().value);\n\t }\n\t isAssignmentTarget = isBindingElement = false;\n\t if (matchKeyword('function')) {\n\t return parseFunctionExpression();\n\t }\n\t if (matchKeyword('this')) {\n\t lex();\n\t return node.finishThisExpression();\n\t }\n\t if (matchKeyword('class')) {\n\t return parseClassExpression();\n\t }\n\t throwUnexpectedToken(lex());\n\t } else if (type === Token.BooleanLiteral) {\n\t isAssignmentTarget = isBindingElement = false;\n\t token = lex();\n\t token.value = (token.value === 'true');\n\t expr = node.finishLiteral(token);\n\t } else if (type === Token.NullLiteral) {\n\t isAssignmentTarget = isBindingElement = false;\n\t token = lex();\n\t token.value = null;\n\t expr = node.finishLiteral(token);\n\t } else if (match('/') || match('/=')) {\n\t isAssignmentTarget = isBindingElement = false;\n\t index = startIndex;\n\t\n\t if (typeof extra.tokens !== 'undefined') {\n\t token = collectRegex();\n\t } else {\n\t token = scanRegExp();\n\t }\n\t lex();\n\t expr = node.finishLiteral(token);\n\t } else if (type === Token.Template) {\n\t expr = parseTemplateLiteral();\n\t } else {\n\t throwUnexpectedToken(lex());\n\t }\n\t\n\t return expr;\n\t }\n\t\n\t // ECMA-262 12.3 Left-Hand-Side Expressions\n\t\n\t function parseArguments() {\n\t var args = [], expr;\n\t\n\t expect('(');\n\t\n\t if (!match(')')) {\n\t while (startIndex < length) {\n\t if (match('...')) {\n\t expr = new Node();\n\t lex();\n\t expr.finishSpreadElement(isolateCoverGrammar(parseAssignmentExpression));\n\t } else {\n\t expr = isolateCoverGrammar(parseAssignmentExpression);\n\t }\n\t args.push(expr);\n\t if (match(')')) {\n\t break;\n\t }\n\t expectCommaSeparator();\n\t }\n\t }\n\t\n\t expect(')');\n\t\n\t return args;\n\t }\n\t\n\t function parseNonComputedProperty() {\n\t var token, node = new Node();\n\t\n\t token = lex();\n\t\n\t if (!isIdentifierName(token)) {\n\t throwUnexpectedToken(token);\n\t }\n\t\n\t return node.finishIdentifier(token.value);\n\t }\n\t\n\t function parseNonComputedMember() {\n\t expect('.');\n\t\n\t return parseNonComputedProperty();\n\t }\n\t\n\t function parseComputedMember() {\n\t var expr;\n\t\n\t expect('[');\n\t\n\t expr = isolateCoverGrammar(parseExpression);\n\t\n\t expect(']');\n\t\n\t return expr;\n\t }\n\t\n\t // ECMA-262 12.3.3 The new Operator\n\t\n\t function parseNewExpression() {\n\t var callee, args, node = new Node();\n\t\n\t expectKeyword('new');\n\t\n\t if (match('.')) {\n\t lex();\n\t if (lookahead.type === Token.Identifier && lookahead.value === 'target') {\n\t if (state.inFunctionBody) {\n\t lex();\n\t return node.finishMetaProperty('new', 'target');\n\t }\n\t }\n\t throwUnexpectedToken(lookahead);\n\t }\n\t\n\t callee = isolateCoverGrammar(parseLeftHandSideExpression);\n\t args = match('(') ? parseArguments() : [];\n\t\n\t isAssignmentTarget = isBindingElement = false;\n\t\n\t return node.finishNewExpression(callee, args);\n\t }\n\t\n\t // ECMA-262 12.3.4 Function Calls\n\t\n\t function parseLeftHandSideExpressionAllowCall() {\n\t var quasi, expr, args, property, startToken, previousAllowIn = state.allowIn;\n\t\n\t startToken = lookahead;\n\t state.allowIn = true;\n\t\n\t if (matchKeyword('super') && state.inFunctionBody) {\n\t expr = new Node();\n\t lex();\n\t expr = expr.finishSuper();\n\t if (!match('(') && !match('.') && !match('[')) {\n\t throwUnexpectedToken(lookahead);\n\t }\n\t } else {\n\t expr = inheritCoverGrammar(matchKeyword('new') ? parseNewExpression : parsePrimaryExpression);\n\t }\n\t\n\t for (;;) {\n\t if (match('.')) {\n\t isBindingElement = false;\n\t isAssignmentTarget = true;\n\t property = parseNonComputedMember();\n\t expr = new WrappingNode(startToken).finishMemberExpression('.', expr, property);\n\t } else if (match('(')) {\n\t isBindingElement = false;\n\t isAssignmentTarget = false;\n\t args = parseArguments();\n\t expr = new WrappingNode(startToken).finishCallExpression(expr, args);\n\t } else if (match('[')) {\n\t isBindingElement = false;\n\t isAssignmentTarget = true;\n\t property = parseComputedMember();\n\t expr = new WrappingNode(startToken).finishMemberExpression('[', expr, property);\n\t } else if (lookahead.type === Token.Template && lookahead.head) {\n\t quasi = parseTemplateLiteral();\n\t expr = new WrappingNode(startToken).finishTaggedTemplateExpression(expr, quasi);\n\t } else {\n\t break;\n\t }\n\t }\n\t state.allowIn = previousAllowIn;\n\t\n\t return expr;\n\t }\n\t\n\t // ECMA-262 12.3 Left-Hand-Side Expressions\n\t\n\t function parseLeftHandSideExpression() {\n\t var quasi, expr, property, startToken;\n\t assert(state.allowIn, 'callee of new expression always allow in keyword.');\n\t\n\t startToken = lookahead;\n\t\n\t if (matchKeyword('super') && state.inFunctionBody) {\n\t expr = new Node();\n\t lex();\n\t expr = expr.finishSuper();\n\t if (!match('[') && !match('.')) {\n\t throwUnexpectedToken(lookahead);\n\t }\n\t } else {\n\t expr = inheritCoverGrammar(matchKeyword('new') ? parseNewExpression : parsePrimaryExpression);\n\t }\n\t\n\t for (;;) {\n\t if (match('[')) {\n\t isBindingElement = false;\n\t isAssignmentTarget = true;\n\t property = parseComputedMember();\n\t expr = new WrappingNode(startToken).finishMemberExpression('[', expr, property);\n\t } else if (match('.')) {\n\t isBindingElement = false;\n\t isAssignmentTarget = true;\n\t property = parseNonComputedMember();\n\t expr = new WrappingNode(startToken).finishMemberExpression('.', expr, property);\n\t } else if (lookahead.type === Token.Template && lookahead.head) {\n\t quasi = parseTemplateLiteral();\n\t expr = new WrappingNode(startToken).finishTaggedTemplateExpression(expr, quasi);\n\t } else {\n\t break;\n\t }\n\t }\n\t return expr;\n\t }\n\t\n\t // ECMA-262 12.4 Postfix Expressions\n\t\n\t function parsePostfixExpression() {\n\t var expr, token, startToken = lookahead;\n\t\n\t expr = inheritCoverGrammar(parseLeftHandSideExpressionAllowCall);\n\t\n\t if (!hasLineTerminator && lookahead.type === Token.Punctuator) {\n\t if (match('++') || match('--')) {\n\t // ECMA-262 11.3.1, 11.3.2\n\t if (strict && expr.type === Syntax.Identifier && isRestrictedWord(expr.name)) {\n\t tolerateError(Messages.StrictLHSPostfix);\n\t }\n\t\n\t if (!isAssignmentTarget) {\n\t tolerateError(Messages.InvalidLHSInAssignment);\n\t }\n\t\n\t isAssignmentTarget = isBindingElement = false;\n\t\n\t token = lex();\n\t expr = new WrappingNode(startToken).finishPostfixExpression(token.value, expr);\n\t }\n\t }\n\t\n\t return expr;\n\t }\n\t\n\t // ECMA-262 12.5 Unary Operators\n\t\n\t function parseUnaryExpression() {\n\t var token, expr, startToken;\n\t\n\t if (lookahead.type !== Token.Punctuator && lookahead.type !== Token.Keyword) {\n\t expr = parsePostfixExpression();\n\t } else if (match('++') || match('--')) {\n\t startToken = lookahead;\n\t token = lex();\n\t expr = inheritCoverGrammar(parseUnaryExpression);\n\t // ECMA-262 11.4.4, 11.4.5\n\t if (strict && expr.type === Syntax.Identifier && isRestrictedWord(expr.name)) {\n\t tolerateError(Messages.StrictLHSPrefix);\n\t }\n\t\n\t if (!isAssignmentTarget) {\n\t tolerateError(Messages.InvalidLHSInAssignment);\n\t }\n\t expr = new WrappingNode(startToken).finishUnaryExpression(token.value, expr);\n\t isAssignmentTarget = isBindingElement = false;\n\t } else if (match('+') || match('-') || match('~') || match('!')) {\n\t startToken = lookahead;\n\t token = lex();\n\t expr = inheritCoverGrammar(parseUnaryExpression);\n\t expr = new WrappingNode(startToken).finishUnaryExpression(token.value, expr);\n\t isAssignmentTarget = isBindingElement = false;\n\t } else if (matchKeyword('delete') || matchKeyword('void') || matchKeyword('typeof')) {\n\t startToken = lookahead;\n\t token = lex();\n\t expr = inheritCoverGrammar(parseUnaryExpression);\n\t expr = new WrappingNode(startToken).finishUnaryExpression(token.value, expr);\n\t if (strict && expr.operator === 'delete' && expr.argument.type === Syntax.Identifier) {\n\t tolerateError(Messages.StrictDelete);\n\t }\n\t isAssignmentTarget = isBindingElement = false;\n\t } else {\n\t expr = parsePostfixExpression();\n\t }\n\t\n\t return expr;\n\t }\n\t\n\t function binaryPrecedence(token, allowIn) {\n\t var prec = 0;\n\t\n\t if (token.type !== Token.Punctuator && token.type !== Token.Keyword) {\n\t return 0;\n\t }\n\t\n\t switch (token.value) {\n\t case '||':\n\t prec = 1;\n\t break;\n\t\n\t case '&&':\n\t prec = 2;\n\t break;\n\t\n\t case '|':\n\t prec = 3;\n\t break;\n\t\n\t case '^':\n\t prec = 4;\n\t break;\n\t\n\t case '&':\n\t prec = 5;\n\t break;\n\t\n\t case '==':\n\t case '!=':\n\t case '===':\n\t case '!==':\n\t prec = 6;\n\t break;\n\t\n\t case '<':\n\t case '>':\n\t case '<=':\n\t case '>=':\n\t case 'instanceof':\n\t prec = 7;\n\t break;\n\t\n\t case 'in':\n\t prec = allowIn ? 7 : 0;\n\t break;\n\t\n\t case '<<':\n\t case '>>':\n\t case '>>>':\n\t prec = 8;\n\t break;\n\t\n\t case '+':\n\t case '-':\n\t prec = 9;\n\t break;\n\t\n\t case '*':\n\t case '/':\n\t case '%':\n\t prec = 11;\n\t break;\n\t\n\t default:\n\t break;\n\t }\n\t\n\t return prec;\n\t }\n\t\n\t // ECMA-262 12.6 Multiplicative Operators\n\t // ECMA-262 12.7 Additive Operators\n\t // ECMA-262 12.8 Bitwise Shift Operators\n\t // ECMA-262 12.9 Relational Operators\n\t // ECMA-262 12.10 Equality Operators\n\t // ECMA-262 12.11 Binary Bitwise Operators\n\t // ECMA-262 12.12 Binary Logical Operators\n\t\n\t function parseBinaryExpression() {\n\t var marker, markers, expr, token, prec, stack, right, operator, left, i;\n\t\n\t marker = lookahead;\n\t left = inheritCoverGrammar(parseUnaryExpression);\n\t\n\t token = lookahead;\n\t prec = binaryPrecedence(token, state.allowIn);\n\t if (prec === 0) {\n\t return left;\n\t }\n\t isAssignmentTarget = isBindingElement = false;\n\t token.prec = prec;\n\t lex();\n\t\n\t markers = [marker, lookahead];\n\t right = isolateCoverGrammar(parseUnaryExpression);\n\t\n\t stack = [left, token, right];\n\t\n\t while ((prec = binaryPrecedence(lookahead, state.allowIn)) > 0) {\n\t\n\t // Reduce: make a binary expression from the three topmost entries.\n\t while ((stack.length > 2) && (prec <= stack[stack.length - 2].prec)) {\n\t right = stack.pop();\n\t operator = stack.pop().value;\n\t left = stack.pop();\n\t markers.pop();\n\t expr = new WrappingNode(markers[markers.length - 1]).finishBinaryExpression(operator, left, right);\n\t stack.push(expr);\n\t }\n\t\n\t // Shift.\n\t token = lex();\n\t token.prec = prec;\n\t stack.push(token);\n\t markers.push(lookahead);\n\t expr = isolateCoverGrammar(parseUnaryExpression);\n\t stack.push(expr);\n\t }\n\t\n\t // Final reduce to clean-up the stack.\n\t i = stack.length - 1;\n\t expr = stack[i];\n\t markers.pop();\n\t while (i > 1) {\n\t expr = new WrappingNode(markers.pop()).finishBinaryExpression(stack[i - 1].value, stack[i - 2], expr);\n\t i -= 2;\n\t }\n\t\n\t return expr;\n\t }\n\t\n\t\n\t // ECMA-262 12.13 Conditional Operator\n\t\n\t function parseConditionalExpression() {\n\t var expr, previousAllowIn, consequent, alternate, startToken;\n\t\n\t startToken = lookahead;\n\t\n\t expr = inheritCoverGrammar(parseBinaryExpression);\n\t if (match('?')) {\n\t lex();\n\t previousAllowIn = state.allowIn;\n\t state.allowIn = true;\n\t consequent = isolateCoverGrammar(parseAssignmentExpression);\n\t state.allowIn = previousAllowIn;\n\t expect(':');\n\t alternate = isolateCoverGrammar(parseAssignmentExpression);\n\t\n\t expr = new WrappingNode(startToken).finishConditionalExpression(expr, consequent, alternate);\n\t isAssignmentTarget = isBindingElement = false;\n\t }\n\t\n\t return expr;\n\t }\n\t\n\t // ECMA-262 14.2 Arrow Function Definitions\n\t\n\t function parseConciseBody() {\n\t if (match('{')) {\n\t return parseFunctionSourceElements();\n\t }\n\t return isolateCoverGrammar(parseAssignmentExpression);\n\t }\n\t\n\t function checkPatternParam(options, param) {\n\t var i;\n\t switch (param.type) {\n\t case Syntax.Identifier:\n\t validateParam(options, param, param.name);\n\t break;\n\t case Syntax.RestElement:\n\t checkPatternParam(options, param.argument);\n\t break;\n\t case Syntax.AssignmentPattern:\n\t checkPatternParam(options, param.left);\n\t break;\n\t case Syntax.ArrayPattern:\n\t for (i = 0; i < param.elements.length; i++) {\n\t if (param.elements[i] !== null) {\n\t checkPatternParam(options, param.elements[i]);\n\t }\n\t }\n\t break;\n\t case Syntax.YieldExpression:\n\t break;\n\t default:\n\t assert(param.type === Syntax.ObjectPattern, 'Invalid type');\n\t for (i = 0; i < param.properties.length; i++) {\n\t checkPatternParam(options, param.properties[i].value);\n\t }\n\t break;\n\t }\n\t }\n\t function reinterpretAsCoverFormalsList(expr) {\n\t var i, len, param, params, defaults, defaultCount, options, token;\n\t\n\t defaults = [];\n\t defaultCount = 0;\n\t params = [expr];\n\t\n\t switch (expr.type) {\n\t case Syntax.Identifier:\n\t break;\n\t case PlaceHolders.ArrowParameterPlaceHolder:\n\t params = expr.params;\n\t break;\n\t default:\n\t return null;\n\t }\n\t\n\t options = {\n\t paramSet: {}\n\t };\n\t\n\t for (i = 0, len = params.length; i < len; i += 1) {\n\t param = params[i];\n\t switch (param.type) {\n\t case Syntax.AssignmentPattern:\n\t params[i] = param.left;\n\t if (param.right.type === Syntax.YieldExpression) {\n\t if (param.right.argument) {\n\t throwUnexpectedToken(lookahead);\n\t }\n\t param.right.type = Syntax.Identifier;\n\t param.right.name = 'yield';\n\t delete param.right.argument;\n\t delete param.right.delegate;\n\t }\n\t defaults.push(param.right);\n\t ++defaultCount;\n\t checkPatternParam(options, param.left);\n\t break;\n\t default:\n\t checkPatternParam(options, param);\n\t params[i] = param;\n\t defaults.push(null);\n\t break;\n\t }\n\t }\n\t\n\t if (strict || !state.allowYield) {\n\t for (i = 0, len = params.length; i < len; i += 1) {\n\t param = params[i];\n\t if (param.type === Syntax.YieldExpression) {\n\t throwUnexpectedToken(lookahead);\n\t }\n\t }\n\t }\n\t\n\t if (options.message === Messages.StrictParamDupe) {\n\t token = strict ? options.stricted : options.firstRestricted;\n\t throwUnexpectedToken(token, options.message);\n\t }\n\t\n\t if (defaultCount === 0) {\n\t defaults = [];\n\t }\n\t\n\t return {\n\t params: params,\n\t defaults: defaults,\n\t stricted: options.stricted,\n\t firstRestricted: options.firstRestricted,\n\t message: options.message\n\t };\n\t }\n\t\n\t function parseArrowFunctionExpression(options, node) {\n\t var previousStrict, previousAllowYield, body;\n\t\n\t if (hasLineTerminator) {\n\t tolerateUnexpectedToken(lookahead);\n\t }\n\t expect('=>');\n\t\n\t previousStrict = strict;\n\t previousAllowYield = state.allowYield;\n\t state.allowYield = true;\n\t\n\t body = parseConciseBody();\n\t\n\t if (strict && options.firstRestricted) {\n\t throwUnexpectedToken(options.firstRestricted, options.message);\n\t }\n\t if (strict && options.stricted) {\n\t tolerateUnexpectedToken(options.stricted, options.message);\n\t }\n\t\n\t strict = previousStrict;\n\t state.allowYield = previousAllowYield;\n\t\n\t return node.finishArrowFunctionExpression(options.params, options.defaults, body, body.type !== Syntax.BlockStatement);\n\t }\n\t\n\t // ECMA-262 14.4 Yield expression\n\t\n\t function parseYieldExpression() {\n\t var argument, expr, delegate, previousAllowYield;\n\t\n\t argument = null;\n\t expr = new Node();\n\t delegate = false;\n\t\n\t expectKeyword('yield');\n\t\n\t if (!hasLineTerminator) {\n\t previousAllowYield = state.allowYield;\n\t state.allowYield = false;\n\t delegate = match('*');\n\t if (delegate) {\n\t lex();\n\t argument = parseAssignmentExpression();\n\t } else {\n\t if (!match(';') && !match('}') && !match(')') && lookahead.type !== Token.EOF) {\n\t argument = parseAssignmentExpression();\n\t }\n\t }\n\t state.allowYield = previousAllowYield;\n\t }\n\t\n\t return expr.finishYieldExpression(argument, delegate);\n\t }\n\t\n\t // ECMA-262 12.14 Assignment Operators\n\t\n\t function parseAssignmentExpression() {\n\t var token, expr, right, list, startToken;\n\t\n\t startToken = lookahead;\n\t token = lookahead;\n\t\n\t if (!state.allowYield && matchKeyword('yield')) {\n\t return parseYieldExpression();\n\t }\n\t\n\t expr = parseConditionalExpression();\n\t\n\t if (expr.type === PlaceHolders.ArrowParameterPlaceHolder || match('=>')) {\n\t isAssignmentTarget = isBindingElement = false;\n\t list = reinterpretAsCoverFormalsList(expr);\n\t\n\t if (list) {\n\t firstCoverInitializedNameError = null;\n\t return parseArrowFunctionExpression(list, new WrappingNode(startToken));\n\t }\n\t\n\t return expr;\n\t }\n\t\n\t if (matchAssign()) {\n\t if (!isAssignmentTarget) {\n\t tolerateError(Messages.InvalidLHSInAssignment);\n\t }\n\t\n\t // ECMA-262 12.1.1\n\t if (strict && expr.type === Syntax.Identifier) {\n\t if (isRestrictedWord(expr.name)) {\n\t tolerateUnexpectedToken(token, Messages.StrictLHSAssignment);\n\t }\n\t if (isStrictModeReservedWord(expr.name)) {\n\t tolerateUnexpectedToken(token, Messages.StrictReservedWord);\n\t }\n\t }\n\t\n\t if (!match('=')) {\n\t isAssignmentTarget = isBindingElement = false;\n\t } else {\n\t reinterpretExpressionAsPattern(expr);\n\t }\n\t\n\t token = lex();\n\t right = isolateCoverGrammar(parseAssignmentExpression);\n\t expr = new WrappingNode(startToken).finishAssignmentExpression(token.value, expr, right);\n\t firstCoverInitializedNameError = null;\n\t }\n\t\n\t return expr;\n\t }\n\t\n\t // ECMA-262 12.15 Comma Operator\n\t\n\t function parseExpression() {\n\t var expr, startToken = lookahead, expressions;\n\t\n\t expr = isolateCoverGrammar(parseAssignmentExpression);\n\t\n\t if (match(',')) {\n\t expressions = [expr];\n\t\n\t while (startIndex < length) {\n\t if (!match(',')) {\n\t break;\n\t }\n\t lex();\n\t expressions.push(isolateCoverGrammar(parseAssignmentExpression));\n\t }\n\t\n\t expr = new WrappingNode(startToken).finishSequenceExpression(expressions);\n\t }\n\t\n\t return expr;\n\t }\n\t\n\t // ECMA-262 13.2 Block\n\t\n\t function parseStatementListItem() {\n\t if (lookahead.type === Token.Keyword) {\n\t switch (lookahead.value) {\n\t case 'export':\n\t if (state.sourceType !== 'module') {\n\t tolerateUnexpectedToken(lookahead, Messages.IllegalExportDeclaration);\n\t }\n\t return parseExportDeclaration();\n\t case 'import':\n\t if (state.sourceType !== 'module') {\n\t tolerateUnexpectedToken(lookahead, Messages.IllegalImportDeclaration);\n\t }\n\t return parseImportDeclaration();\n\t case 'const':\n\t return parseLexicalDeclaration({inFor: false});\n\t case 'function':\n\t return parseFunctionDeclaration(new Node());\n\t case 'class':\n\t return parseClassDeclaration();\n\t }\n\t }\n\t\n\t if (matchKeyword('let') && isLexicalDeclaration()) {\n\t return parseLexicalDeclaration({inFor: false});\n\t }\n\t\n\t return parseStatement();\n\t }\n\t\n\t function parseStatementList() {\n\t var list = [];\n\t while (startIndex < length) {\n\t if (match('}')) {\n\t break;\n\t }\n\t list.push(parseStatementListItem());\n\t }\n\t\n\t return list;\n\t }\n\t\n\t function parseBlock() {\n\t var block, node = new Node();\n\t\n\t expect('{');\n\t\n\t block = parseStatementList();\n\t\n\t expect('}');\n\t\n\t return node.finishBlockStatement(block);\n\t }\n\t\n\t // ECMA-262 13.3.2 Variable Statement\n\t\n\t function parseVariableIdentifier(kind) {\n\t var token, node = new Node();\n\t\n\t token = lex();\n\t\n\t if (token.type === Token.Keyword && token.value === 'yield') {\n\t if (strict) {\n\t tolerateUnexpectedToken(token, Messages.StrictReservedWord);\n\t } if (!state.allowYield) {\n\t throwUnexpectedToken(token);\n\t }\n\t } else if (token.type !== Token.Identifier) {\n\t if (strict && token.type === Token.Keyword && isStrictModeReservedWord(token.value)) {\n\t tolerateUnexpectedToken(token, Messages.StrictReservedWord);\n\t } else {\n\t if (strict || token.value !== 'let' || kind !== 'var') {\n\t throwUnexpectedToken(token);\n\t }\n\t }\n\t } else if (state.sourceType === 'module' && token.type === Token.Identifier && token.value === 'await') {\n\t tolerateUnexpectedToken(token);\n\t }\n\t\n\t return node.finishIdentifier(token.value);\n\t }\n\t\n\t function parseVariableDeclaration(options) {\n\t var init = null, id, node = new Node(), params = [];\n\t\n\t id = parsePattern(params, 'var');\n\t\n\t // ECMA-262 12.2.1\n\t if (strict && isRestrictedWord(id.name)) {\n\t tolerateError(Messages.StrictVarName);\n\t }\n\t\n\t if (match('=')) {\n\t lex();\n\t init = isolateCoverGrammar(parseAssignmentExpression);\n\t } else if (id.type !== Syntax.Identifier && !options.inFor) {\n\t expect('=');\n\t }\n\t\n\t return node.finishVariableDeclarator(id, init);\n\t }\n\t\n\t function parseVariableDeclarationList(options) {\n\t var opt, list;\n\t\n\t opt = { inFor: options.inFor };\n\t list = [parseVariableDeclaration(opt)];\n\t\n\t while (match(',')) {\n\t lex();\n\t list.push(parseVariableDeclaration(opt));\n\t }\n\t\n\t return list;\n\t }\n\t\n\t function parseVariableStatement(node) {\n\t var declarations;\n\t\n\t expectKeyword('var');\n\t\n\t declarations = parseVariableDeclarationList({ inFor: false });\n\t\n\t consumeSemicolon();\n\t\n\t return node.finishVariableDeclaration(declarations);\n\t }\n\t\n\t // ECMA-262 13.3.1 Let and Const Declarations\n\t\n\t function parseLexicalBinding(kind, options) {\n\t var init = null, id, node = new Node(), params = [];\n\t\n\t id = parsePattern(params, kind);\n\t\n\t // ECMA-262 12.2.1\n\t if (strict && id.type === Syntax.Identifier && isRestrictedWord(id.name)) {\n\t tolerateError(Messages.StrictVarName);\n\t }\n\t\n\t if (kind === 'const') {\n\t if (!matchKeyword('in') && !matchContextualKeyword('of')) {\n\t expect('=');\n\t init = isolateCoverGrammar(parseAssignmentExpression);\n\t }\n\t } else if ((!options.inFor && id.type !== Syntax.Identifier) || match('=')) {\n\t expect('=');\n\t init = isolateCoverGrammar(parseAssignmentExpression);\n\t }\n\t\n\t return node.finishVariableDeclarator(id, init);\n\t }\n\t\n\t function parseBindingList(kind, options) {\n\t var list = [parseLexicalBinding(kind, options)];\n\t\n\t while (match(',')) {\n\t lex();\n\t list.push(parseLexicalBinding(kind, options));\n\t }\n\t\n\t return list;\n\t }\n\t\n\t\n\t function tokenizerState() {\n\t return {\n\t index: index,\n\t lineNumber: lineNumber,\n\t lineStart: lineStart,\n\t hasLineTerminator: hasLineTerminator,\n\t lastIndex: lastIndex,\n\t lastLineNumber: lastLineNumber,\n\t lastLineStart: lastLineStart,\n\t startIndex: startIndex,\n\t startLineNumber: startLineNumber,\n\t startLineStart: startLineStart,\n\t lookahead: lookahead,\n\t tokenCount: extra.tokens ? extra.tokens.length : 0\n\t };\n\t }\n\t\n\t function resetTokenizerState(ts) {\n\t index = ts.index;\n\t lineNumber = ts.lineNumber;\n\t lineStart = ts.lineStart;\n\t hasLineTerminator = ts.hasLineTerminator;\n\t lastIndex = ts.lastIndex;\n\t lastLineNumber = ts.lastLineNumber;\n\t lastLineStart = ts.lastLineStart;\n\t startIndex = ts.startIndex;\n\t startLineNumber = ts.startLineNumber;\n\t startLineStart = ts.startLineStart;\n\t lookahead = ts.lookahead;\n\t if (extra.tokens) {\n\t extra.tokens.splice(ts.tokenCount, extra.tokens.length);\n\t }\n\t }\n\t\n\t function isLexicalDeclaration() {\n\t var lexical, ts;\n\t\n\t ts = tokenizerState();\n\t\n\t lex();\n\t lexical = (lookahead.type === Token.Identifier) || match('[') || match('{') ||\n\t matchKeyword('let') || matchKeyword('yield');\n\t\n\t resetTokenizerState(ts);\n\t\n\t return lexical;\n\t }\n\t\n\t function parseLexicalDeclaration(options) {\n\t var kind, declarations, node = new Node();\n\t\n\t kind = lex().value;\n\t assert(kind === 'let' || kind === 'const', 'Lexical declaration must be either let or const');\n\t\n\t declarations = parseBindingList(kind, options);\n\t\n\t consumeSemicolon();\n\t\n\t return node.finishLexicalDeclaration(declarations, kind);\n\t }\n\t\n\t function parseRestElement(params) {\n\t var param, node = new Node();\n\t\n\t lex();\n\t\n\t if (match('{')) {\n\t throwError(Messages.ObjectPatternAsRestParameter);\n\t }\n\t\n\t params.push(lookahead);\n\t\n\t param = parseVariableIdentifier();\n\t\n\t if (match('=')) {\n\t throwError(Messages.DefaultRestParameter);\n\t }\n\t\n\t if (!match(')')) {\n\t throwError(Messages.ParameterAfterRestParameter);\n\t }\n\t\n\t return node.finishRestElement(param);\n\t }\n\t\n\t // ECMA-262 13.4 Empty Statement\n\t\n\t function parseEmptyStatement(node) {\n\t expect(';');\n\t return node.finishEmptyStatement();\n\t }\n\t\n\t // ECMA-262 12.4 Expression Statement\n\t\n\t function parseExpressionStatement(node) {\n\t var expr = parseExpression();\n\t consumeSemicolon();\n\t return node.finishExpressionStatement(expr);\n\t }\n\t\n\t // ECMA-262 13.6 If statement\n\t\n\t function parseIfStatement(node) {\n\t var test, consequent, alternate;\n\t\n\t expectKeyword('if');\n\t\n\t expect('(');\n\t\n\t test = parseExpression();\n\t\n\t expect(')');\n\t\n\t consequent = parseStatement();\n\t\n\t if (matchKeyword('else')) {\n\t lex();\n\t alternate = parseStatement();\n\t } else {\n\t alternate = null;\n\t }\n\t\n\t return node.finishIfStatement(test, consequent, alternate);\n\t }\n\t\n\t // ECMA-262 13.7 Iteration Statements\n\t\n\t function parseDoWhileStatement(node) {\n\t var body, test, oldInIteration;\n\t\n\t expectKeyword('do');\n\t\n\t oldInIteration = state.inIteration;\n\t state.inIteration = true;\n\t\n\t body = parseStatement();\n\t\n\t state.inIteration = oldInIteration;\n\t\n\t expectKeyword('while');\n\t\n\t expect('(');\n\t\n\t test = parseExpression();\n\t\n\t expect(')');\n\t\n\t if (match(';')) {\n\t lex();\n\t }\n\t\n\t return node.finishDoWhileStatement(body, test);\n\t }\n\t\n\t function parseWhileStatement(node) {\n\t var test, body, oldInIteration;\n\t\n\t expectKeyword('while');\n\t\n\t expect('(');\n\t\n\t test = parseExpression();\n\t\n\t expect(')');\n\t\n\t oldInIteration = state.inIteration;\n\t state.inIteration = true;\n\t\n\t body = parseStatement();\n\t\n\t state.inIteration = oldInIteration;\n\t\n\t return node.finishWhileStatement(test, body);\n\t }\n\t\n\t function parseForStatement(node) {\n\t var init, forIn, initSeq, initStartToken, test, update, left, right, kind, declarations,\n\t body, oldInIteration, previousAllowIn = state.allowIn;\n\t\n\t init = test = update = null;\n\t forIn = true;\n\t\n\t expectKeyword('for');\n\t\n\t expect('(');\n\t\n\t if (match(';')) {\n\t lex();\n\t } else {\n\t if (matchKeyword('var')) {\n\t init = new Node();\n\t lex();\n\t\n\t state.allowIn = false;\n\t declarations = parseVariableDeclarationList({ inFor: true });\n\t state.allowIn = previousAllowIn;\n\t\n\t if (declarations.length === 1 && matchKeyword('in')) {\n\t init = init.finishVariableDeclaration(declarations);\n\t lex();\n\t left = init;\n\t right = parseExpression();\n\t init = null;\n\t } else if (declarations.length === 1 && declarations[0].init === null && matchContextualKeyword('of')) {\n\t init = init.finishVariableDeclaration(declarations);\n\t lex();\n\t left = init;\n\t right = parseAssignmentExpression();\n\t init = null;\n\t forIn = false;\n\t } else {\n\t init = init.finishVariableDeclaration(declarations);\n\t expect(';');\n\t }\n\t } else if (matchKeyword('const') || matchKeyword('let')) {\n\t init = new Node();\n\t kind = lex().value;\n\t\n\t if (!strict && lookahead.value === 'in') {\n\t init = init.finishIdentifier(kind);\n\t lex();\n\t left = init;\n\t right = parseExpression();\n\t init = null;\n\t } else {\n\t state.allowIn = false;\n\t declarations = parseBindingList(kind, {inFor: true});\n\t state.allowIn = previousAllowIn;\n\t\n\t if (declarations.length === 1 && declarations[0].init === null && matchKeyword('in')) {\n\t init = init.finishLexicalDeclaration(declarations, kind);\n\t lex();\n\t left = init;\n\t right = parseExpression();\n\t init = null;\n\t } else if (declarations.length === 1 && declarations[0].init === null && matchContextualKeyword('of')) {\n\t init = init.finishLexicalDeclaration(declarations, kind);\n\t lex();\n\t left = init;\n\t right = parseAssignmentExpression();\n\t init = null;\n\t forIn = false;\n\t } else {\n\t consumeSemicolon();\n\t init = init.finishLexicalDeclaration(declarations, kind);\n\t }\n\t }\n\t } else {\n\t initStartToken = lookahead;\n\t state.allowIn = false;\n\t init = inheritCoverGrammar(parseAssignmentExpression);\n\t state.allowIn = previousAllowIn;\n\t\n\t if (matchKeyword('in')) {\n\t if (!isAssignmentTarget) {\n\t tolerateError(Messages.InvalidLHSInForIn);\n\t }\n\t\n\t lex();\n\t reinterpretExpressionAsPattern(init);\n\t left = init;\n\t right = parseExpression();\n\t init = null;\n\t } else if (matchContextualKeyword('of')) {\n\t if (!isAssignmentTarget) {\n\t tolerateError(Messages.InvalidLHSInForLoop);\n\t }\n\t\n\t lex();\n\t reinterpretExpressionAsPattern(init);\n\t left = init;\n\t right = parseAssignmentExpression();\n\t init = null;\n\t forIn = false;\n\t } else {\n\t if (match(',')) {\n\t initSeq = [init];\n\t while (match(',')) {\n\t lex();\n\t initSeq.push(isolateCoverGrammar(parseAssignmentExpression));\n\t }\n\t init = new WrappingNode(initStartToken).finishSequenceExpression(initSeq);\n\t }\n\t expect(';');\n\t }\n\t }\n\t }\n\t\n\t if (typeof left === 'undefined') {\n\t\n\t if (!match(';')) {\n\t test = parseExpression();\n\t }\n\t expect(';');\n\t\n\t if (!match(')')) {\n\t update = parseExpression();\n\t }\n\t }\n\t\n\t expect(')');\n\t\n\t oldInIteration = state.inIteration;\n\t state.inIteration = true;\n\t\n\t body = isolateCoverGrammar(parseStatement);\n\t\n\t state.inIteration = oldInIteration;\n\t\n\t return (typeof left === 'undefined') ?\n\t node.finishForStatement(init, test, update, body) :\n\t forIn ? node.finishForInStatement(left, right, body) :\n\t node.finishForOfStatement(left, right, body);\n\t }\n\t\n\t // ECMA-262 13.8 The continue statement\n\t\n\t function parseContinueStatement(node) {\n\t var label = null, key;\n\t\n\t expectKeyword('continue');\n\t\n\t // Optimize the most common form: 'continue;'.\n\t if (source.charCodeAt(startIndex) === 0x3B) {\n\t lex();\n\t\n\t if (!state.inIteration) {\n\t throwError(Messages.IllegalContinue);\n\t }\n\t\n\t return node.finishContinueStatement(null);\n\t }\n\t\n\t if (hasLineTerminator) {\n\t if (!state.inIteration) {\n\t throwError(Messages.IllegalContinue);\n\t }\n\t\n\t return node.finishContinueStatement(null);\n\t }\n\t\n\t if (lookahead.type === Token.Identifier) {\n\t label = parseVariableIdentifier();\n\t\n\t key = '$' + label.name;\n\t if (!Object.prototype.hasOwnProperty.call(state.labelSet, key)) {\n\t throwError(Messages.UnknownLabel, label.name);\n\t }\n\t }\n\t\n\t consumeSemicolon();\n\t\n\t if (label === null && !state.inIteration) {\n\t throwError(Messages.IllegalContinue);\n\t }\n\t\n\t return node.finishContinueStatement(label);\n\t }\n\t\n\t // ECMA-262 13.9 The break statement\n\t\n\t function parseBreakStatement(node) {\n\t var label = null, key;\n\t\n\t expectKeyword('break');\n\t\n\t // Catch the very common case first: immediately a semicolon (U+003B).\n\t if (source.charCodeAt(lastIndex) === 0x3B) {\n\t lex();\n\t\n\t if (!(state.inIteration || state.inSwitch)) {\n\t throwError(Messages.IllegalBreak);\n\t }\n\t\n\t return node.finishBreakStatement(null);\n\t }\n\t\n\t if (hasLineTerminator) {\n\t if (!(state.inIteration || state.inSwitch)) {\n\t throwError(Messages.IllegalBreak);\n\t }\n\t } else if (lookahead.type === Token.Identifier) {\n\t label = parseVariableIdentifier();\n\t\n\t key = '$' + label.name;\n\t if (!Object.prototype.hasOwnProperty.call(state.labelSet, key)) {\n\t throwError(Messages.UnknownLabel, label.name);\n\t }\n\t }\n\t\n\t consumeSemicolon();\n\t\n\t if (label === null && !(state.inIteration || state.inSwitch)) {\n\t throwError(Messages.IllegalBreak);\n\t }\n\t\n\t return node.finishBreakStatement(label);\n\t }\n\t\n\t // ECMA-262 13.10 The return statement\n\t\n\t function parseReturnStatement(node) {\n\t var argument = null;\n\t\n\t expectKeyword('return');\n\t\n\t if (!state.inFunctionBody) {\n\t tolerateError(Messages.IllegalReturn);\n\t }\n\t\n\t // 'return' followed by a space and an identifier is very common.\n\t if (source.charCodeAt(lastIndex) === 0x20) {\n\t if (isIdentifierStart(source.charCodeAt(lastIndex + 1))) {\n\t argument = parseExpression();\n\t consumeSemicolon();\n\t return node.finishReturnStatement(argument);\n\t }\n\t }\n\t\n\t if (hasLineTerminator) {\n\t // HACK\n\t return node.finishReturnStatement(null);\n\t }\n\t\n\t if (!match(';')) {\n\t if (!match('}') && lookahead.type !== Token.EOF) {\n\t argument = parseExpression();\n\t }\n\t }\n\t\n\t consumeSemicolon();\n\t\n\t return node.finishReturnStatement(argument);\n\t }\n\t\n\t // ECMA-262 13.11 The with statement\n\t\n\t function parseWithStatement(node) {\n\t var object, body;\n\t\n\t if (strict) {\n\t tolerateError(Messages.StrictModeWith);\n\t }\n\t\n\t expectKeyword('with');\n\t\n\t expect('(');\n\t\n\t object = parseExpression();\n\t\n\t expect(')');\n\t\n\t body = parseStatement();\n\t\n\t return node.finishWithStatement(object, body);\n\t }\n\t\n\t // ECMA-262 13.12 The switch statement\n\t\n\t function parseSwitchCase() {\n\t var test, consequent = [], statement, node = new Node();\n\t\n\t if (matchKeyword('default')) {\n\t lex();\n\t test = null;\n\t } else {\n\t expectKeyword('case');\n\t test = parseExpression();\n\t }\n\t expect(':');\n\t\n\t while (startIndex < length) {\n\t if (match('}') || matchKeyword('default') || matchKeyword('case')) {\n\t break;\n\t }\n\t statement = parseStatementListItem();\n\t consequent.push(statement);\n\t }\n\t\n\t return node.finishSwitchCase(test, consequent);\n\t }\n\t\n\t function parseSwitchStatement(node) {\n\t var discriminant, cases, clause, oldInSwitch, defaultFound;\n\t\n\t expectKeyword('switch');\n\t\n\t expect('(');\n\t\n\t discriminant = parseExpression();\n\t\n\t expect(')');\n\t\n\t expect('{');\n\t\n\t cases = [];\n\t\n\t if (match('}')) {\n\t lex();\n\t return node.finishSwitchStatement(discriminant, cases);\n\t }\n\t\n\t oldInSwitch = state.inSwitch;\n\t state.inSwitch = true;\n\t defaultFound = false;\n\t\n\t while (startIndex < length) {\n\t if (match('}')) {\n\t break;\n\t }\n\t clause = parseSwitchCase();\n\t if (clause.test === null) {\n\t if (defaultFound) {\n\t throwError(Messages.MultipleDefaultsInSwitch);\n\t }\n\t defaultFound = true;\n\t }\n\t cases.push(clause);\n\t }\n\t\n\t state.inSwitch = oldInSwitch;\n\t\n\t expect('}');\n\t\n\t return node.finishSwitchStatement(discriminant, cases);\n\t }\n\t\n\t // ECMA-262 13.14 The throw statement\n\t\n\t function parseThrowStatement(node) {\n\t var argument;\n\t\n\t expectKeyword('throw');\n\t\n\t if (hasLineTerminator) {\n\t throwError(Messages.NewlineAfterThrow);\n\t }\n\t\n\t argument = parseExpression();\n\t\n\t consumeSemicolon();\n\t\n\t return node.finishThrowStatement(argument);\n\t }\n\t\n\t // ECMA-262 13.15 The try statement\n\t\n\t function parseCatchClause() {\n\t var param, params = [], paramMap = {}, key, i, body, node = new Node();\n\t\n\t expectKeyword('catch');\n\t\n\t expect('(');\n\t if (match(')')) {\n\t throwUnexpectedToken(lookahead);\n\t }\n\t\n\t param = parsePattern(params);\n\t for (i = 0; i < params.length; i++) {\n\t key = '$' + params[i].value;\n\t if (Object.prototype.hasOwnProperty.call(paramMap, key)) {\n\t tolerateError(Messages.DuplicateBinding, params[i].value);\n\t }\n\t paramMap[key] = true;\n\t }\n\t\n\t // ECMA-262 12.14.1\n\t if (strict && isRestrictedWord(param.name)) {\n\t tolerateError(Messages.StrictCatchVariable);\n\t }\n\t\n\t expect(')');\n\t body = parseBlock();\n\t return node.finishCatchClause(param, body);\n\t }\n\t\n\t function parseTryStatement(node) {\n\t var block, handler = null, finalizer = null;\n\t\n\t expectKeyword('try');\n\t\n\t block = parseBlock();\n\t\n\t if (matchKeyword('catch')) {\n\t handler = parseCatchClause();\n\t }\n\t\n\t if (matchKeyword('finally')) {\n\t lex();\n\t finalizer = parseBlock();\n\t }\n\t\n\t if (!handler && !finalizer) {\n\t throwError(Messages.NoCatchOrFinally);\n\t }\n\t\n\t return node.finishTryStatement(block, handler, finalizer);\n\t }\n\t\n\t // ECMA-262 13.16 The debugger statement\n\t\n\t function parseDebuggerStatement(node) {\n\t expectKeyword('debugger');\n\t\n\t consumeSemicolon();\n\t\n\t return node.finishDebuggerStatement();\n\t }\n\t\n\t // 13 Statements\n\t\n\t function parseStatement() {\n\t var type = lookahead.type,\n\t expr,\n\t labeledBody,\n\t key,\n\t node;\n\t\n\t if (type === Token.EOF) {\n\t throwUnexpectedToken(lookahead);\n\t }\n\t\n\t if (type === Token.Punctuator && lookahead.value === '{') {\n\t return parseBlock();\n\t }\n\t isAssignmentTarget = isBindingElement = true;\n\t node = new Node();\n\t\n\t if (type === Token.Punctuator) {\n\t switch (lookahead.value) {\n\t case ';':\n\t return parseEmptyStatement(node);\n\t case '(':\n\t return parseExpressionStatement(node);\n\t default:\n\t break;\n\t }\n\t } else if (type === Token.Keyword) {\n\t switch (lookahead.value) {\n\t case 'break':\n\t return parseBreakStatement(node);\n\t case 'continue':\n\t return parseContinueStatement(node);\n\t case 'debugger':\n\t return parseDebuggerStatement(node);\n\t case 'do':\n\t return parseDoWhileStatement(node);\n\t case 'for':\n\t return parseForStatement(node);\n\t case 'function':\n\t return parseFunctionDeclaration(node);\n\t case 'if':\n\t return parseIfStatement(node);\n\t case 'return':\n\t return parseReturnStatement(node);\n\t case 'switch':\n\t return parseSwitchStatement(node);\n\t case 'throw':\n\t return parseThrowStatement(node);\n\t case 'try':\n\t return parseTryStatement(node);\n\t case 'var':\n\t return parseVariableStatement(node);\n\t case 'while':\n\t return parseWhileStatement(node);\n\t case 'with':\n\t return parseWithStatement(node);\n\t default:\n\t break;\n\t }\n\t }\n\t\n\t expr = parseExpression();\n\t\n\t // ECMA-262 12.12 Labelled Statements\n\t if ((expr.type === Syntax.Identifier) && match(':')) {\n\t lex();\n\t\n\t key = '$' + expr.name;\n\t if (Object.prototype.hasOwnProperty.call(state.labelSet, key)) {\n\t throwError(Messages.Redeclaration, 'Label', expr.name);\n\t }\n\t\n\t state.labelSet[key] = true;\n\t labeledBody = parseStatement();\n\t delete state.labelSet[key];\n\t return node.finishLabeledStatement(expr, labeledBody);\n\t }\n\t\n\t consumeSemicolon();\n\t\n\t return node.finishExpressionStatement(expr);\n\t }\n\t\n\t // ECMA-262 14.1 Function Definition\n\t\n\t function parseFunctionSourceElements() {\n\t var statement, body = [], token, directive, firstRestricted,\n\t oldLabelSet, oldInIteration, oldInSwitch, oldInFunctionBody,\n\t node = new Node();\n\t\n\t expect('{');\n\t\n\t while (startIndex < length) {\n\t if (lookahead.type !== Token.StringLiteral) {\n\t break;\n\t }\n\t token = lookahead;\n\t\n\t statement = parseStatementListItem();\n\t body.push(statement);\n\t if (statement.expression.type !== Syntax.Literal) {\n\t // this is not directive\n\t break;\n\t }\n\t directive = source.slice(token.start + 1, token.end - 1);\n\t if (directive === 'use strict') {\n\t strict = true;\n\t if (firstRestricted) {\n\t tolerateUnexpectedToken(firstRestricted, Messages.StrictOctalLiteral);\n\t }\n\t } else {\n\t if (!firstRestricted && token.octal) {\n\t firstRestricted = token;\n\t }\n\t }\n\t }\n\t\n\t oldLabelSet = state.labelSet;\n\t oldInIteration = state.inIteration;\n\t oldInSwitch = state.inSwitch;\n\t oldInFunctionBody = state.inFunctionBody;\n\t\n\t state.labelSet = {};\n\t state.inIteration = false;\n\t state.inSwitch = false;\n\t state.inFunctionBody = true;\n\t\n\t while (startIndex < length) {\n\t if (match('}')) {\n\t break;\n\t }\n\t body.push(parseStatementListItem());\n\t }\n\t\n\t expect('}');\n\t\n\t state.labelSet = oldLabelSet;\n\t state.inIteration = oldInIteration;\n\t state.inSwitch = oldInSwitch;\n\t state.inFunctionBody = oldInFunctionBody;\n\t\n\t return node.finishBlockStatement(body);\n\t }\n\t\n\t function validateParam(options, param, name) {\n\t var key = '$' + name;\n\t if (strict) {\n\t if (isRestrictedWord(name)) {\n\t options.stricted = param;\n\t options.message = Messages.StrictParamName;\n\t }\n\t if (Object.prototype.hasOwnProperty.call(options.paramSet, key)) {\n\t options.stricted = param;\n\t options.message = Messages.StrictParamDupe;\n\t }\n\t } else if (!options.firstRestricted) {\n\t if (isRestrictedWord(name)) {\n\t options.firstRestricted = param;\n\t options.message = Messages.StrictParamName;\n\t } else if (isStrictModeReservedWord(name)) {\n\t options.firstRestricted = param;\n\t options.message = Messages.StrictReservedWord;\n\t } else if (Object.prototype.hasOwnProperty.call(options.paramSet, key)) {\n\t options.stricted = param;\n\t options.message = Messages.StrictParamDupe;\n\t }\n\t }\n\t options.paramSet[key] = true;\n\t }\n\t\n\t function parseParam(options) {\n\t var token, param, params = [], i, def;\n\t\n\t token = lookahead;\n\t if (token.value === '...') {\n\t param = parseRestElement(params);\n\t validateParam(options, param.argument, param.argument.name);\n\t options.params.push(param);\n\t options.defaults.push(null);\n\t return false;\n\t }\n\t\n\t param = parsePatternWithDefault(params);\n\t for (i = 0; i < params.length; i++) {\n\t validateParam(options, params[i], params[i].value);\n\t }\n\t\n\t if (param.type === Syntax.AssignmentPattern) {\n\t def = param.right;\n\t param = param.left;\n\t ++options.defaultCount;\n\t }\n\t\n\t options.params.push(param);\n\t options.defaults.push(def);\n\t\n\t return !match(')');\n\t }\n\t\n\t function parseParams(firstRestricted) {\n\t var options;\n\t\n\t options = {\n\t params: [],\n\t defaultCount: 0,\n\t defaults: [],\n\t firstRestricted: firstRestricted\n\t };\n\t\n\t expect('(');\n\t\n\t if (!match(')')) {\n\t options.paramSet = {};\n\t while (startIndex < length) {\n\t if (!parseParam(options)) {\n\t break;\n\t }\n\t expect(',');\n\t }\n\t }\n\t\n\t expect(')');\n\t\n\t if (options.defaultCount === 0) {\n\t options.defaults = [];\n\t }\n\t\n\t return {\n\t params: options.params,\n\t defaults: options.defaults,\n\t stricted: options.stricted,\n\t firstRestricted: options.firstRestricted,\n\t message: options.message\n\t };\n\t }\n\t\n\t function parseFunctionDeclaration(node, identifierIsOptional) {\n\t var id = null, params = [], defaults = [], body, token, stricted, tmp, firstRestricted, message, previousStrict,\n\t isGenerator, previousAllowYield;\n\t\n\t previousAllowYield = state.allowYield;\n\t\n\t expectKeyword('function');\n\t\n\t isGenerator = match('*');\n\t if (isGenerator) {\n\t lex();\n\t }\n\t\n\t if (!identifierIsOptional || !match('(')) {\n\t token = lookahead;\n\t id = parseVariableIdentifier();\n\t if (strict) {\n\t if (isRestrictedWord(token.value)) {\n\t tolerateUnexpectedToken(token, Messages.StrictFunctionName);\n\t }\n\t } else {\n\t if (isRestrictedWord(token.value)) {\n\t firstRestricted = token;\n\t message = Messages.StrictFunctionName;\n\t } else if (isStrictModeReservedWord(token.value)) {\n\t firstRestricted = token;\n\t message = Messages.StrictReservedWord;\n\t }\n\t }\n\t }\n\t\n\t state.allowYield = !isGenerator;\n\t tmp = parseParams(firstRestricted);\n\t params = tmp.params;\n\t defaults = tmp.defaults;\n\t stricted = tmp.stricted;\n\t firstRestricted = tmp.firstRestricted;\n\t if (tmp.message) {\n\t message = tmp.message;\n\t }\n\t\n\t\n\t previousStrict = strict;\n\t body = parseFunctionSourceElements();\n\t if (strict && firstRestricted) {\n\t throwUnexpectedToken(firstRestricted, message);\n\t }\n\t if (strict && stricted) {\n\t tolerateUnexpectedToken(stricted, message);\n\t }\n\t\n\t strict = previousStrict;\n\t state.allowYield = previousAllowYield;\n\t\n\t return node.finishFunctionDeclaration(id, params, defaults, body, isGenerator);\n\t }\n\t\n\t function parseFunctionExpression() {\n\t var token, id = null, stricted, firstRestricted, message, tmp,\n\t params = [], defaults = [], body, previousStrict, node = new Node(),\n\t isGenerator, previousAllowYield;\n\t\n\t previousAllowYield = state.allowYield;\n\t\n\t expectKeyword('function');\n\t\n\t isGenerator = match('*');\n\t if (isGenerator) {\n\t lex();\n\t }\n\t\n\t state.allowYield = !isGenerator;\n\t if (!match('(')) {\n\t token = lookahead;\n\t id = (!strict && !isGenerator && matchKeyword('yield')) ? parseNonComputedProperty() : parseVariableIdentifier();\n\t if (strict) {\n\t if (isRestrictedWord(token.value)) {\n\t tolerateUnexpectedToken(token, Messages.StrictFunctionName);\n\t }\n\t } else {\n\t if (isRestrictedWord(token.value)) {\n\t firstRestricted = token;\n\t message = Messages.StrictFunctionName;\n\t } else if (isStrictModeReservedWord(token.value)) {\n\t firstRestricted = token;\n\t message = Messages.StrictReservedWord;\n\t }\n\t }\n\t }\n\t\n\t tmp = parseParams(firstRestricted);\n\t params = tmp.params;\n\t defaults = tmp.defaults;\n\t stricted = tmp.stricted;\n\t firstRestricted = tmp.firstRestricted;\n\t if (tmp.message) {\n\t message = tmp.message;\n\t }\n\t\n\t previousStrict = strict;\n\t body = parseFunctionSourceElements();\n\t if (strict && firstRestricted) {\n\t throwUnexpectedToken(firstRestricted, message);\n\t }\n\t if (strict && stricted) {\n\t tolerateUnexpectedToken(stricted, message);\n\t }\n\t strict = previousStrict;\n\t state.allowYield = previousAllowYield;\n\t\n\t return node.finishFunctionExpression(id, params, defaults, body, isGenerator);\n\t }\n\t\n\t // ECMA-262 14.5 Class Definitions\n\t\n\t function parseClassBody() {\n\t var classBody, token, isStatic, hasConstructor = false, body, method, computed, key;\n\t\n\t classBody = new Node();\n\t\n\t expect('{');\n\t body = [];\n\t while (!match('}')) {\n\t if (match(';')) {\n\t lex();\n\t } else {\n\t method = new Node();\n\t token = lookahead;\n\t isStatic = false;\n\t computed = match('[');\n\t if (match('*')) {\n\t lex();\n\t } else {\n\t key = parseObjectPropertyKey();\n\t if (key.name === 'static' && (lookaheadPropertyName() || match('*'))) {\n\t token = lookahead;\n\t isStatic = true;\n\t computed = match('[');\n\t if (match('*')) {\n\t lex();\n\t } else {\n\t key = parseObjectPropertyKey();\n\t }\n\t }\n\t }\n\t method = tryParseMethodDefinition(token, key, computed, method);\n\t if (method) {\n\t method['static'] = isStatic; // jscs:ignore requireDotNotation\n\t if (method.kind === 'init') {\n\t method.kind = 'method';\n\t }\n\t if (!isStatic) {\n\t if (!method.computed && (method.key.name || method.key.value.toString()) === 'constructor') {\n\t if (method.kind !== 'method' || !method.method || method.value.generator) {\n\t throwUnexpectedToken(token, Messages.ConstructorSpecialMethod);\n\t }\n\t if (hasConstructor) {\n\t throwUnexpectedToken(token, Messages.DuplicateConstructor);\n\t } else {\n\t hasConstructor = true;\n\t }\n\t method.kind = 'constructor';\n\t }\n\t } else {\n\t if (!method.computed && (method.key.name || method.key.value.toString()) === 'prototype') {\n\t throwUnexpectedToken(token, Messages.StaticPrototype);\n\t }\n\t }\n\t method.type = Syntax.MethodDefinition;\n\t delete method.method;\n\t delete method.shorthand;\n\t body.push(method);\n\t } else {\n\t throwUnexpectedToken(lookahead);\n\t }\n\t }\n\t }\n\t lex();\n\t return classBody.finishClassBody(body);\n\t }\n\t\n\t function parseClassDeclaration(identifierIsOptional) {\n\t var id = null, superClass = null, classNode = new Node(), classBody, previousStrict = strict;\n\t strict = true;\n\t\n\t expectKeyword('class');\n\t\n\t if (!identifierIsOptional || lookahead.type === Token.Identifier) {\n\t id = parseVariableIdentifier();\n\t }\n\t\n\t if (matchKeyword('extends')) {\n\t lex();\n\t superClass = isolateCoverGrammar(parseLeftHandSideExpressionAllowCall);\n\t }\n\t classBody = parseClassBody();\n\t strict = previousStrict;\n\t\n\t return classNode.finishClassDeclaration(id, superClass, classBody);\n\t }\n\t\n\t function parseClassExpression() {\n\t var id = null, superClass = null, classNode = new Node(), classBody, previousStrict = strict;\n\t strict = true;\n\t\n\t expectKeyword('class');\n\t\n\t if (lookahead.type === Token.Identifier) {\n\t id = parseVariableIdentifier();\n\t }\n\t\n\t if (matchKeyword('extends')) {\n\t lex();\n\t superClass = isolateCoverGrammar(parseLeftHandSideExpressionAllowCall);\n\t }\n\t classBody = parseClassBody();\n\t strict = previousStrict;\n\t\n\t return classNode.finishClassExpression(id, superClass, classBody);\n\t }\n\t\n\t // ECMA-262 15.2 Modules\n\t\n\t function parseModuleSpecifier() {\n\t var node = new Node();\n\t\n\t if (lookahead.type !== Token.StringLiteral) {\n\t throwError(Messages.InvalidModuleSpecifier);\n\t }\n\t return node.finishLiteral(lex());\n\t }\n\t\n\t // ECMA-262 15.2.3 Exports\n\t\n\t function parseExportSpecifier() {\n\t var exported, local, node = new Node(), def;\n\t if (matchKeyword('default')) {\n\t // export {default} from 'something';\n\t def = new Node();\n\t lex();\n\t local = def.finishIdentifier('default');\n\t } else {\n\t local = parseVariableIdentifier();\n\t }\n\t if (matchContextualKeyword('as')) {\n\t lex();\n\t exported = parseNonComputedProperty();\n\t }\n\t return node.finishExportSpecifier(local, exported);\n\t }\n\t\n\t function parseExportNamedDeclaration(node) {\n\t var declaration = null,\n\t isExportFromIdentifier,\n\t src = null, specifiers = [];\n\t\n\t // non-default export\n\t if (lookahead.type === Token.Keyword) {\n\t // covers:\n\t // export var f = 1;\n\t switch (lookahead.value) {\n\t case 'let':\n\t case 'const':\n\t declaration = parseLexicalDeclaration({inFor: false});\n\t return node.finishExportNamedDeclaration(declaration, specifiers, null);\n\t case 'var':\n\t case 'class':\n\t case 'function':\n\t declaration = parseStatementListItem();\n\t return node.finishExportNamedDeclaration(declaration, specifiers, null);\n\t }\n\t }\n\t\n\t expect('{');\n\t while (!match('}')) {\n\t isExportFromIdentifier = isExportFromIdentifier || matchKeyword('default');\n\t specifiers.push(parseExportSpecifier());\n\t if (!match('}')) {\n\t expect(',');\n\t if (match('}')) {\n\t break;\n\t }\n\t }\n\t }\n\t expect('}');\n\t\n\t if (matchContextualKeyword('from')) {\n\t // covering:\n\t // export {default} from 'foo';\n\t // export {foo} from 'foo';\n\t lex();\n\t src = parseModuleSpecifier();\n\t consumeSemicolon();\n\t } else if (isExportFromIdentifier) {\n\t // covering:\n\t // export {default}; // missing fromClause\n\t throwError(lookahead.value ?\n\t Messages.UnexpectedToken : Messages.MissingFromClause, lookahead.value);\n\t } else {\n\t // cover\n\t // export {foo};\n\t consumeSemicolon();\n\t }\n\t return node.finishExportNamedDeclaration(declaration, specifiers, src);\n\t }\n\t\n\t function parseExportDefaultDeclaration(node) {\n\t var declaration = null,\n\t expression = null;\n\t\n\t // covers:\n\t // export default ...\n\t expectKeyword('default');\n\t\n\t if (matchKeyword('function')) {\n\t // covers:\n\t // export default function foo () {}\n\t // export default function () {}\n\t declaration = parseFunctionDeclaration(new Node(), true);\n\t return node.finishExportDefaultDeclaration(declaration);\n\t }\n\t if (matchKeyword('class')) {\n\t declaration = parseClassDeclaration(true);\n\t return node.finishExportDefaultDeclaration(declaration);\n\t }\n\t\n\t if (matchContextualKeyword('from')) {\n\t throwError(Messages.UnexpectedToken, lookahead.value);\n\t }\n\t\n\t // covers:\n\t // export default {};\n\t // export default [];\n\t // export default (1 + 2);\n\t if (match('{')) {\n\t expression = parseObjectInitializer();\n\t } else if (match('[')) {\n\t expression = parseArrayInitializer();\n\t } else {\n\t expression = parseAssignmentExpression();\n\t }\n\t consumeSemicolon();\n\t return node.finishExportDefaultDeclaration(expression);\n\t }\n\t\n\t function parseExportAllDeclaration(node) {\n\t var src;\n\t\n\t // covers:\n\t // export * from 'foo';\n\t expect('*');\n\t if (!matchContextualKeyword('from')) {\n\t throwError(lookahead.value ?\n\t Messages.UnexpectedToken : Messages.MissingFromClause, lookahead.value);\n\t }\n\t lex();\n\t src = parseModuleSpecifier();\n\t consumeSemicolon();\n\t\n\t return node.finishExportAllDeclaration(src);\n\t }\n\t\n\t function parseExportDeclaration() {\n\t var node = new Node();\n\t if (state.inFunctionBody) {\n\t throwError(Messages.IllegalExportDeclaration);\n\t }\n\t\n\t expectKeyword('export');\n\t\n\t if (matchKeyword('default')) {\n\t return parseExportDefaultDeclaration(node);\n\t }\n\t if (match('*')) {\n\t return parseExportAllDeclaration(node);\n\t }\n\t return parseExportNamedDeclaration(node);\n\t }\n\t\n\t // ECMA-262 15.2.2 Imports\n\t\n\t function parseImportSpecifier() {\n\t // import {<foo as bar>} ...;\n\t var local, imported, node = new Node();\n\t\n\t imported = parseNonComputedProperty();\n\t if (matchContextualKeyword('as')) {\n\t lex();\n\t local = parseVariableIdentifier();\n\t }\n\t\n\t return node.finishImportSpecifier(local, imported);\n\t }\n\t\n\t function parseNamedImports() {\n\t var specifiers = [];\n\t // {foo, bar as bas}\n\t expect('{');\n\t while (!match('}')) {\n\t specifiers.push(parseImportSpecifier());\n\t if (!match('}')) {\n\t expect(',');\n\t if (match('}')) {\n\t break;\n\t }\n\t }\n\t }\n\t expect('}');\n\t return specifiers;\n\t }\n\t\n\t function parseImportDefaultSpecifier() {\n\t // import <foo> ...;\n\t var local, node = new Node();\n\t\n\t local = parseNonComputedProperty();\n\t\n\t return node.finishImportDefaultSpecifier(local);\n\t }\n\t\n\t function parseImportNamespaceSpecifier() {\n\t // import <* as foo> ...;\n\t var local, node = new Node();\n\t\n\t expect('*');\n\t if (!matchContextualKeyword('as')) {\n\t throwError(Messages.NoAsAfterImportNamespace);\n\t }\n\t lex();\n\t local = parseNonComputedProperty();\n\t\n\t return node.finishImportNamespaceSpecifier(local);\n\t }\n\t\n\t function parseImportDeclaration() {\n\t var specifiers = [], src, node = new Node();\n\t\n\t if (state.inFunctionBody) {\n\t throwError(Messages.IllegalImportDeclaration);\n\t }\n\t\n\t expectKeyword('import');\n\t\n\t if (lookahead.type === Token.StringLiteral) {\n\t // import 'foo';\n\t src = parseModuleSpecifier();\n\t } else {\n\t\n\t if (match('{')) {\n\t // import {bar}\n\t specifiers = specifiers.concat(parseNamedImports());\n\t } else if (match('*')) {\n\t // import * as foo\n\t specifiers.push(parseImportNamespaceSpecifier());\n\t } else if (isIdentifierName(lookahead) && !matchKeyword('default')) {\n\t // import foo\n\t specifiers.push(parseImportDefaultSpecifier());\n\t if (match(',')) {\n\t lex();\n\t if (match('*')) {\n\t // import foo, * as foo\n\t specifiers.push(parseImportNamespaceSpecifier());\n\t } else if (match('{')) {\n\t // import foo, {bar}\n\t specifiers = specifiers.concat(parseNamedImports());\n\t } else {\n\t throwUnexpectedToken(lookahead);\n\t }\n\t }\n\t } else {\n\t throwUnexpectedToken(lex());\n\t }\n\t\n\t if (!matchContextualKeyword('from')) {\n\t throwError(lookahead.value ?\n\t Messages.UnexpectedToken : Messages.MissingFromClause, lookahead.value);\n\t }\n\t lex();\n\t src = parseModuleSpecifier();\n\t }\n\t\n\t consumeSemicolon();\n\t return node.finishImportDeclaration(specifiers, src);\n\t }\n\t\n\t // ECMA-262 15.1 Scripts\n\t\n\t function parseScriptBody() {\n\t var statement, body = [], token, directive, firstRestricted;\n\t\n\t while (startIndex < length) {\n\t token = lookahead;\n\t if (token.type !== Token.StringLiteral) {\n\t break;\n\t }\n\t\n\t statement = parseStatementListItem();\n\t body.push(statement);\n\t if (statement.expression.type !== Syntax.Literal) {\n\t // this is not directive\n\t break;\n\t }\n\t directive = source.slice(token.start + 1, token.end - 1);\n\t if (directive === 'use strict') {\n\t strict = true;\n\t if (firstRestricted) {\n\t tolerateUnexpectedToken(firstRestricted, Messages.StrictOctalLiteral);\n\t }\n\t } else {\n\t if (!firstRestricted && token.octal) {\n\t firstRestricted = token;\n\t }\n\t }\n\t }\n\t\n\t while (startIndex < length) {\n\t statement = parseStatementListItem();\n\t /* istanbul ignore if */\n\t if (typeof statement === 'undefined') {\n\t break;\n\t }\n\t body.push(statement);\n\t }\n\t return body;\n\t }\n\t\n\t function parseProgram() {\n\t var body, node;\n\t\n\t peek();\n\t node = new Node();\n\t\n\t body = parseScriptBody();\n\t return node.finishProgram(body, state.sourceType);\n\t }\n\t\n\t function filterTokenLocation() {\n\t var i, entry, token, tokens = [];\n\t\n\t for (i = 0; i < extra.tokens.length; ++i) {\n\t entry = extra.tokens[i];\n\t token = {\n\t type: entry.type,\n\t value: entry.value\n\t };\n\t if (entry.regex) {\n\t token.regex = {\n\t pattern: entry.regex.pattern,\n\t flags: entry.regex.flags\n\t };\n\t }\n\t if (extra.range) {\n\t token.range = entry.range;\n\t }\n\t if (extra.loc) {\n\t token.loc = entry.loc;\n\t }\n\t tokens.push(token);\n\t }\n\t\n\t extra.tokens = tokens;\n\t }\n\t\n\t function tokenize(code, options, delegate) {\n\t var toString,\n\t tokens;\n\t\n\t toString = String;\n\t if (typeof code !== 'string' && !(code instanceof String)) {\n\t code = toString(code);\n\t }\n\t\n\t source = code;\n\t index = 0;\n\t lineNumber = (source.length > 0) ? 1 : 0;\n\t lineStart = 0;\n\t startIndex = index;\n\t startLineNumber = lineNumber;\n\t startLineStart = lineStart;\n\t length = source.length;\n\t lookahead = null;\n\t state = {\n\t allowIn: true,\n\t allowYield: true,\n\t labelSet: {},\n\t inFunctionBody: false,\n\t inIteration: false,\n\t inSwitch: false,\n\t lastCommentStart: -1,\n\t curlyStack: []\n\t };\n\t\n\t extra = {};\n\t\n\t // Options matching.\n\t options = options || {};\n\t\n\t // Of course we collect tokens here.\n\t options.tokens = true;\n\t extra.tokens = [];\n\t extra.tokenValues = [];\n\t extra.tokenize = true;\n\t extra.delegate = delegate;\n\t\n\t // The following two fields are necessary to compute the Regex tokens.\n\t extra.openParenToken = -1;\n\t extra.openCurlyToken = -1;\n\t\n\t extra.range = (typeof options.range === 'boolean') && options.range;\n\t extra.loc = (typeof options.loc === 'boolean') && options.loc;\n\t\n\t if (typeof options.comment === 'boolean' && options.comment) {\n\t extra.comments = [];\n\t }\n\t if (typeof options.tolerant === 'boolean' && options.tolerant) {\n\t extra.errors = [];\n\t }\n\t\n\t try {\n\t peek();\n\t if (lookahead.type === Token.EOF) {\n\t return extra.tokens;\n\t }\n\t\n\t lex();\n\t while (lookahead.type !== Token.EOF) {\n\t try {\n\t lex();\n\t } catch (lexError) {\n\t if (extra.errors) {\n\t recordError(lexError);\n\t // We have to break on the first error\n\t // to avoid infinite loops.\n\t break;\n\t } else {\n\t throw lexError;\n\t }\n\t }\n\t }\n\t\n\t tokens = extra.tokens;\n\t if (typeof extra.errors !== 'undefined') {\n\t tokens.errors = extra.errors;\n\t }\n\t } catch (e) {\n\t throw e;\n\t } finally {\n\t extra = {};\n\t }\n\t return tokens;\n\t }\n\t\n\t function parse(code, options) {\n\t var program, toString;\n\t\n\t toString = String;\n\t if (typeof code !== 'string' && !(code instanceof String)) {\n\t code = toString(code);\n\t }\n\t\n\t source = code;\n\t index = 0;\n\t lineNumber = (source.length > 0) ? 1 : 0;\n\t lineStart = 0;\n\t startIndex = index;\n\t startLineNumber = lineNumber;\n\t startLineStart = lineStart;\n\t length = source.length;\n\t lookahead = null;\n\t state = {\n\t allowIn: true,\n\t allowYield: true,\n\t labelSet: {},\n\t inFunctionBody: false,\n\t inIteration: false,\n\t inSwitch: false,\n\t lastCommentStart: -1,\n\t curlyStack: [],\n\t sourceType: 'script'\n\t };\n\t strict = false;\n\t\n\t extra = {};\n\t if (typeof options !== 'undefined') {\n\t extra.range = (typeof options.range === 'boolean') && options.range;\n\t extra.loc = (typeof options.loc === 'boolean') && options.loc;\n\t extra.attachComment = (typeof options.attachComment === 'boolean') && options.attachComment;\n\t\n\t if (extra.loc && options.source !== null && options.source !== undefined) {\n\t extra.source = toString(options.source);\n\t }\n\t\n\t if (typeof options.tokens === 'boolean' && options.tokens) {\n\t extra.tokens = [];\n\t }\n\t if (typeof options.comment === 'boolean' && options.comment) {\n\t extra.comments = [];\n\t }\n\t if (typeof options.tolerant === 'boolean' && options.tolerant) {\n\t extra.errors = [];\n\t }\n\t if (extra.attachComment) {\n\t extra.range = true;\n\t extra.comments = [];\n\t extra.bottomRightStack = [];\n\t extra.trailingComments = [];\n\t extra.leadingComments = [];\n\t }\n\t if (options.sourceType === 'module') {\n\t // very restrictive condition for now\n\t state.sourceType = options.sourceType;\n\t strict = true;\n\t }\n\t }\n\t\n\t try {\n\t program = parseProgram();\n\t if (typeof extra.comments !== 'undefined') {\n\t program.comments = extra.comments;\n\t }\n\t if (typeof extra.tokens !== 'undefined') {\n\t filterTokenLocation();\n\t program.tokens = extra.tokens;\n\t }\n\t if (typeof extra.errors !== 'undefined') {\n\t program.errors = extra.errors;\n\t }\n\t } catch (e) {\n\t throw e;\n\t } finally {\n\t extra = {};\n\t }\n\t\n\t return program;\n\t }\n\t\n\t // Sync with *.json manifests.\n\t exports.version = '2.7.3';\n\t\n\t exports.tokenize = tokenize;\n\t\n\t exports.parse = parse;\n\t\n\t // Deep copy.\n\t /* istanbul ignore next */\n\t exports.Syntax = (function () {\n\t var name, types = {};\n\t\n\t if (typeof Object.create === 'function') {\n\t types = Object.create(null);\n\t }\n\t\n\t for (name in Syntax) {\n\t if (Syntax.hasOwnProperty(name)) {\n\t types[name] = Syntax[name];\n\t }\n\t }\n\t\n\t if (typeof Object.freeze === 'function') {\n\t Object.freeze(types);\n\t }\n\t\n\t return types;\n\t }());\n\t\n\t}));\n\t/* vim: set sw=4 ts=4 et tw=80 : */\n\n\n/***/ },\n/* 411 */\n/***/ function(module, exports) {\n\n\t// removed by extract-text-webpack-plugin\n\n/***/ },\n/* 412 */\n411,\n/* 413 */\n/***/ function(module, exports) {\n\n\t\"use strict\";\n\t\n\t/**\n\t * Copyright (c) 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @typechecks\n\t */\n\t\n\tvar _hyphenPattern = /-(.)/g;\n\t\n\t/**\n\t * Camelcases a hyphenated string, for example:\n\t *\n\t * > camelize('background-color')\n\t * < \"backgroundColor\"\n\t *\n\t * @param {string} string\n\t * @return {string}\n\t */\n\tfunction camelize(string) {\n\t return string.replace(_hyphenPattern, function (_, character) {\n\t return character.toUpperCase();\n\t });\n\t}\n\t\n\tmodule.exports = camelize;\n\n/***/ },\n/* 414 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Copyright (c) 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @typechecks\n\t */\n\t\n\t'use strict';\n\t\n\tvar camelize = __webpack_require__(413);\n\t\n\tvar msPattern = /^-ms-/;\n\t\n\t/**\n\t * Camelcases a hyphenated CSS property name, for example:\n\t *\n\t * > camelizeStyleName('background-color')\n\t * < \"backgroundColor\"\n\t * > camelizeStyleName('-moz-transition')\n\t * < \"MozTransition\"\n\t * > camelizeStyleName('-ms-transition')\n\t * < \"msTransition\"\n\t *\n\t * As Andi Smith suggests\n\t * (http://www.andismith.com/blog/2012/02/modernizr-prefixed/), an `-ms` prefix\n\t * is converted to lowercase `ms`.\n\t *\n\t * @param {string} string\n\t * @return {string}\n\t */\n\tfunction camelizeStyleName(string) {\n\t return camelize(string.replace(msPattern, 'ms-'));\n\t}\n\t\n\tmodule.exports = camelizeStyleName;\n\n/***/ },\n/* 415 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\t/**\n\t * Copyright (c) 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * \n\t */\n\t\n\tvar isTextNode = __webpack_require__(423);\n\t\n\t/*eslint-disable no-bitwise */\n\t\n\t/**\n\t * Checks if a given DOM node contains or is another DOM node.\n\t */\n\tfunction containsNode(outerNode, innerNode) {\n\t if (!outerNode || !innerNode) {\n\t return false;\n\t } else if (outerNode === innerNode) {\n\t return true;\n\t } else if (isTextNode(outerNode)) {\n\t return false;\n\t } else if (isTextNode(innerNode)) {\n\t return containsNode(outerNode, innerNode.parentNode);\n\t } else if ('contains' in outerNode) {\n\t return outerNode.contains(innerNode);\n\t } else if (outerNode.compareDocumentPosition) {\n\t return !!(outerNode.compareDocumentPosition(innerNode) & 16);\n\t } else {\n\t return false;\n\t }\n\t}\n\t\n\tmodule.exports = containsNode;\n\n/***/ },\n/* 416 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\t/**\n\t * Copyright (c) 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @typechecks\n\t */\n\t\n\tvar invariant = __webpack_require__(3);\n\t\n\t/**\n\t * Convert array-like objects to arrays.\n\t *\n\t * This API assumes the caller knows the contents of the data type. For less\n\t * well defined inputs use createArrayFromMixed.\n\t *\n\t * @param {object|function|filelist} obj\n\t * @return {array}\n\t */\n\tfunction toArray(obj) {\n\t var length = obj.length;\n\t\n\t // Some browsers builtin objects can report typeof 'function' (e.g. NodeList\n\t // in old versions of Safari).\n\t !(!Array.isArray(obj) && (typeof obj === 'object' || typeof obj === 'function')) ? false ? invariant(false, 'toArray: Array-like object expected') : invariant(false) : void 0;\n\t\n\t !(typeof length === 'number') ? false ? invariant(false, 'toArray: Object needs a length property') : invariant(false) : void 0;\n\t\n\t !(length === 0 || length - 1 in obj) ? false ? invariant(false, 'toArray: Object should have keys for indices') : invariant(false) : void 0;\n\t\n\t !(typeof obj.callee !== 'function') ? false ? invariant(false, 'toArray: Object can\\'t be `arguments`. Use rest params ' + '(function(...args) {}) or Array.from() instead.') : invariant(false) : void 0;\n\t\n\t // Old IE doesn't give collections access to hasOwnProperty. Assume inputs\n\t // without method will throw during the slice call and skip straight to the\n\t // fallback.\n\t if (obj.hasOwnProperty) {\n\t try {\n\t return Array.prototype.slice.call(obj);\n\t } catch (e) {\n\t // IE < 9 does not support Array#slice on collections objects\n\t }\n\t }\n\t\n\t // Fall back to copying key by key. This assumes all keys have a value,\n\t // so will not preserve sparsely populated inputs.\n\t var ret = Array(length);\n\t for (var ii = 0; ii < length; ii++) {\n\t ret[ii] = obj[ii];\n\t }\n\t return ret;\n\t}\n\t\n\t/**\n\t * Perform a heuristic test to determine if an object is \"array-like\".\n\t *\n\t * A monk asked Joshu, a Zen master, \"Has a dog Buddha nature?\"\n\t * Joshu replied: \"Mu.\"\n\t *\n\t * This function determines if its argument has \"array nature\": it returns\n\t * true if the argument is an actual array, an `arguments' object, or an\n\t * HTMLCollection (e.g. node.childNodes or node.getElementsByTagName()).\n\t *\n\t * It will return false for other array-like objects like Filelist.\n\t *\n\t * @param {*} obj\n\t * @return {boolean}\n\t */\n\tfunction hasArrayNature(obj) {\n\t return (\n\t // not null/false\n\t !!obj && (\n\t // arrays are objects, NodeLists are functions in Safari\n\t typeof obj == 'object' || typeof obj == 'function') &&\n\t // quacks like an array\n\t 'length' in obj &&\n\t // not window\n\t !('setInterval' in obj) &&\n\t // no DOM node should be considered an array-like\n\t // a 'select' element has 'length' and 'item' properties on IE8\n\t typeof obj.nodeType != 'number' && (\n\t // a real array\n\t Array.isArray(obj) ||\n\t // arguments\n\t 'callee' in obj ||\n\t // HTMLCollection/NodeList\n\t 'item' in obj)\n\t );\n\t}\n\t\n\t/**\n\t * Ensure that the argument is an array by wrapping it in an array if it is not.\n\t * Creates a copy of the argument if it is already an array.\n\t *\n\t * This is mostly useful idiomatically:\n\t *\n\t * var createArrayFromMixed = require('createArrayFromMixed');\n\t *\n\t * function takesOneOrMoreThings(things) {\n\t * things = createArrayFromMixed(things);\n\t * ...\n\t * }\n\t *\n\t * This allows you to treat `things' as an array, but accept scalars in the API.\n\t *\n\t * If you need to convert an array-like object, like `arguments`, into an array\n\t * use toArray instead.\n\t *\n\t * @param {*} obj\n\t * @return {array}\n\t */\n\tfunction createArrayFromMixed(obj) {\n\t if (!hasArrayNature(obj)) {\n\t return [obj];\n\t } else if (Array.isArray(obj)) {\n\t return obj.slice();\n\t } else {\n\t return toArray(obj);\n\t }\n\t}\n\t\n\tmodule.exports = createArrayFromMixed;\n\n/***/ },\n/* 417 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\t/**\n\t * Copyright (c) 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @typechecks\n\t */\n\t\n\t/*eslint-disable fb-www/unsafe-html*/\n\t\n\tvar ExecutionEnvironment = __webpack_require__(18);\n\t\n\tvar createArrayFromMixed = __webpack_require__(416);\n\tvar getMarkupWrap = __webpack_require__(418);\n\tvar invariant = __webpack_require__(3);\n\t\n\t/**\n\t * Dummy container used to render all markup.\n\t */\n\tvar dummyNode = ExecutionEnvironment.canUseDOM ? document.createElement('div') : null;\n\t\n\t/**\n\t * Pattern used by `getNodeName`.\n\t */\n\tvar nodeNamePattern = /^\\s*<(\\w+)/;\n\t\n\t/**\n\t * Extracts the `nodeName` of the first element in a string of markup.\n\t *\n\t * @param {string} markup String of markup.\n\t * @return {?string} Node name of the supplied markup.\n\t */\n\tfunction getNodeName(markup) {\n\t var nodeNameMatch = markup.match(nodeNamePattern);\n\t return nodeNameMatch && nodeNameMatch[1].toLowerCase();\n\t}\n\t\n\t/**\n\t * Creates an array containing the nodes rendered from the supplied markup. The\n\t * optionally supplied `handleScript` function will be invoked once for each\n\t * <script> element that is rendered. If no `handleScript` function is supplied,\n\t * an exception is thrown if any <script> elements are rendered.\n\t *\n\t * @param {string} markup A string of valid HTML markup.\n\t * @param {?function} handleScript Invoked once for each rendered <script>.\n\t * @return {array<DOMElement|DOMTextNode>} An array of rendered nodes.\n\t */\n\tfunction createNodesFromMarkup(markup, handleScript) {\n\t var node = dummyNode;\n\t !!!dummyNode ? false ? invariant(false, 'createNodesFromMarkup dummy not initialized') : invariant(false) : void 0;\n\t var nodeName = getNodeName(markup);\n\t\n\t var wrap = nodeName && getMarkupWrap(nodeName);\n\t if (wrap) {\n\t node.innerHTML = wrap[1] + markup + wrap[2];\n\t\n\t var wrapDepth = wrap[0];\n\t while (wrapDepth--) {\n\t node = node.lastChild;\n\t }\n\t } else {\n\t node.innerHTML = markup;\n\t }\n\t\n\t var scripts = node.getElementsByTagName('script');\n\t if (scripts.length) {\n\t !handleScript ? false ? invariant(false, 'createNodesFromMarkup(...): Unexpected <script> element rendered.') : invariant(false) : void 0;\n\t createArrayFromMixed(scripts).forEach(handleScript);\n\t }\n\t\n\t var nodes = Array.from(node.childNodes);\n\t while (node.lastChild) {\n\t node.removeChild(node.lastChild);\n\t }\n\t return nodes;\n\t}\n\t\n\tmodule.exports = createNodesFromMarkup;\n\n/***/ },\n/* 418 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\t/**\n\t * Copyright (c) 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t */\n\t\n\t/*eslint-disable fb-www/unsafe-html */\n\t\n\tvar ExecutionEnvironment = __webpack_require__(18);\n\t\n\tvar invariant = __webpack_require__(3);\n\t\n\t/**\n\t * Dummy container used to detect which wraps are necessary.\n\t */\n\tvar dummyNode = ExecutionEnvironment.canUseDOM ? document.createElement('div') : null;\n\t\n\t/**\n\t * Some browsers cannot use `innerHTML` to render certain elements standalone,\n\t * so we wrap them, render the wrapped nodes, then extract the desired node.\n\t *\n\t * In IE8, certain elements cannot render alone, so wrap all elements ('*').\n\t */\n\t\n\tvar shouldWrap = {};\n\t\n\tvar selectWrap = [1, '<select multiple=\"true\">', '</select>'];\n\tvar tableWrap = [1, '<table>', '</table>'];\n\tvar trWrap = [3, '<table><tbody><tr>', '</tr></tbody></table>'];\n\t\n\tvar svgWrap = [1, '<svg xmlns=\"http://www.w3.org/2000/svg\">', '</svg>'];\n\t\n\tvar markupWrap = {\n\t '*': [1, '?<div>', '</div>'],\n\t\n\t 'area': [1, '<map>', '</map>'],\n\t 'col': [2, '<table><tbody></tbody><colgroup>', '</colgroup></table>'],\n\t 'legend': [1, '<fieldset>', '</fieldset>'],\n\t 'param': [1, '<object>', '</object>'],\n\t 'tr': [2, '<table><tbody>', '</tbody></table>'],\n\t\n\t 'optgroup': selectWrap,\n\t 'option': selectWrap,\n\t\n\t 'caption': tableWrap,\n\t 'colgroup': tableWrap,\n\t 'tbody': tableWrap,\n\t 'tfoot': tableWrap,\n\t 'thead': tableWrap,\n\t\n\t 'td': trWrap,\n\t 'th': trWrap\n\t};\n\t\n\t// Initialize the SVG elements since we know they'll always need to be wrapped\n\t// consistently. If they are created inside a <div> they will be initialized in\n\t// the wrong namespace (and will not display).\n\tvar svgElements = ['circle', 'clipPath', 'defs', 'ellipse', 'g', 'image', 'line', 'linearGradient', 'mask', 'path', 'pattern', 'polygon', 'polyline', 'radialGradient', 'rect', 'stop', 'text', 'tspan'];\n\tsvgElements.forEach(function (nodeName) {\n\t markupWrap[nodeName] = svgWrap;\n\t shouldWrap[nodeName] = true;\n\t});\n\t\n\t/**\n\t * Gets the markup wrap configuration for the supplied `nodeName`.\n\t *\n\t * NOTE: This lazily detects which wraps are necessary for the current browser.\n\t *\n\t * @param {string} nodeName Lowercase `nodeName`.\n\t * @return {?array} Markup wrap configuration, if applicable.\n\t */\n\tfunction getMarkupWrap(nodeName) {\n\t !!!dummyNode ? false ? invariant(false, 'Markup wrapping node not initialized') : invariant(false) : void 0;\n\t if (!markupWrap.hasOwnProperty(nodeName)) {\n\t nodeName = '*';\n\t }\n\t if (!shouldWrap.hasOwnProperty(nodeName)) {\n\t if (nodeName === '*') {\n\t dummyNode.innerHTML = '<link />';\n\t } else {\n\t dummyNode.innerHTML = '<' + nodeName + '></' + nodeName + '>';\n\t }\n\t shouldWrap[nodeName] = !dummyNode.firstChild;\n\t }\n\t return shouldWrap[nodeName] ? markupWrap[nodeName] : null;\n\t}\n\t\n\tmodule.exports = getMarkupWrap;\n\n/***/ },\n/* 419 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Copyright (c) 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @typechecks\n\t */\n\t\n\t'use strict';\n\t\n\t/**\n\t * Gets the scroll position of the supplied element or window.\n\t *\n\t * The return values are unbounded, unlike `getScrollPosition`. This means they\n\t * may be negative or exceed the element boundaries (which is possible using\n\t * inertial scrolling).\n\t *\n\t * @param {DOMWindow|DOMElement} scrollable\n\t * @return {object} Map with `x` and `y` keys.\n\t */\n\t\n\tfunction getUnboundedScrollPosition(scrollable) {\n\t if (scrollable === window) {\n\t return {\n\t x: window.pageXOffset || document.documentElement.scrollLeft,\n\t y: window.pageYOffset || document.documentElement.scrollTop\n\t };\n\t }\n\t return {\n\t x: scrollable.scrollLeft,\n\t y: scrollable.scrollTop\n\t };\n\t}\n\t\n\tmodule.exports = getUnboundedScrollPosition;\n\n/***/ },\n/* 420 */\n/***/ function(module, exports) {\n\n\t'use strict';\n\t\n\t/**\n\t * Copyright (c) 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @typechecks\n\t */\n\t\n\tvar _uppercasePattern = /([A-Z])/g;\n\t\n\t/**\n\t * Hyphenates a camelcased string, for example:\n\t *\n\t * > hyphenate('backgroundColor')\n\t * < \"background-color\"\n\t *\n\t * For CSS style names, use `hyphenateStyleName` instead which works properly\n\t * with all vendor prefixes, including `ms`.\n\t *\n\t * @param {string} string\n\t * @return {string}\n\t */\n\tfunction hyphenate(string) {\n\t return string.replace(_uppercasePattern, '-$1').toLowerCase();\n\t}\n\t\n\tmodule.exports = hyphenate;\n\n/***/ },\n/* 421 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Copyright (c) 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @typechecks\n\t */\n\t\n\t'use strict';\n\t\n\tvar hyphenate = __webpack_require__(420);\n\t\n\tvar msPattern = /^ms-/;\n\t\n\t/**\n\t * Hyphenates a camelcased CSS property name, for example:\n\t *\n\t * > hyphenateStyleName('backgroundColor')\n\t * < \"background-color\"\n\t * > hyphenateStyleName('MozTransition')\n\t * < \"-moz-transition\"\n\t * > hyphenateStyleName('msTransition')\n\t * < \"-ms-transition\"\n\t *\n\t * As Modernizr suggests (http://modernizr.com/docs/#prefixed), an `ms` prefix\n\t * is converted to `-ms-`.\n\t *\n\t * @param {string} string\n\t * @return {string}\n\t */\n\tfunction hyphenateStyleName(string) {\n\t return hyphenate(string).replace(msPattern, '-ms-');\n\t}\n\t\n\tmodule.exports = hyphenateStyleName;\n\n/***/ },\n/* 422 */\n/***/ function(module, exports) {\n\n\t'use strict';\n\t\n\t/**\n\t * Copyright (c) 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @typechecks\n\t */\n\t\n\t/**\n\t * @param {*} object The object to check.\n\t * @return {boolean} Whether or not the object is a DOM node.\n\t */\n\tfunction isNode(object) {\n\t return !!(object && (typeof Node === 'function' ? object instanceof Node : typeof object === 'object' && typeof object.nodeType === 'number' && typeof object.nodeName === 'string'));\n\t}\n\t\n\tmodule.exports = isNode;\n\n/***/ },\n/* 423 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\t/**\n\t * Copyright (c) 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @typechecks\n\t */\n\t\n\tvar isNode = __webpack_require__(422);\n\t\n\t/**\n\t * @param {*} object The object to check.\n\t * @return {boolean} Whether or not the object is a DOM text node.\n\t */\n\tfunction isTextNode(object) {\n\t return isNode(object) && object.nodeType == 3;\n\t}\n\t\n\tmodule.exports = isTextNode;\n\n/***/ },\n/* 424 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Copyright (c) 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * \n\t * @typechecks static-only\n\t */\n\t\n\t'use strict';\n\t\n\t/**\n\t * Memoizes the return value of a function that accepts one string argument.\n\t */\n\t\n\tfunction memoizeStringOnly(callback) {\n\t var cache = {};\n\t return function (string) {\n\t if (!cache.hasOwnProperty(string)) {\n\t cache[string] = callback.call(this, string);\n\t }\n\t return cache[string];\n\t };\n\t}\n\t\n\tmodule.exports = memoizeStringOnly;\n\n/***/ },\n/* 425 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tmodule.exports = __webpack_require__.p + \"c4c172d28f17a61e4476715c58640841.png\";\n\n/***/ },\n/* 426 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tmodule.exports = __webpack_require__.p + \"favicon.ico\";\n\n/***/ },\n/* 427 */\n/***/ function(module, exports) {\n\n\t\"use strict\";\n\t\n\texports.__esModule = true;\n\tvar loopAsync = exports.loopAsync = function loopAsync(turns, work, callback) {\n\t var currentTurn = 0,\n\t isDone = false;\n\t var isSync = false,\n\t hasNext = false,\n\t doneArgs = void 0;\n\t\n\t var done = function done() {\n\t for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n\t args[_key] = arguments[_key];\n\t }\n\t\n\t isDone = true;\n\t\n\t if (isSync) {\n\t // Iterate instead of recursing if possible.\n\t doneArgs = args;\n\t return;\n\t }\n\t\n\t callback.apply(undefined, args);\n\t };\n\t\n\t var next = function next() {\n\t if (isDone) return;\n\t\n\t hasNext = true;\n\t\n\t if (isSync) return; // Iterate instead of recursing if possible.\n\t\n\t isSync = true;\n\t\n\t while (!isDone && currentTurn < turns && hasNext) {\n\t hasNext = false;\n\t work(currentTurn++, next, done);\n\t }\n\t\n\t isSync = false;\n\t\n\t if (isDone) {\n\t // This means the loop finished synchronously.\n\t callback.apply(undefined, doneArgs);\n\t return;\n\t }\n\t\n\t if (currentTurn >= turns && hasNext) {\n\t isDone = true;\n\t callback();\n\t }\n\t };\n\t\n\t next();\n\t};\n\n/***/ },\n/* 428 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\texports.replaceLocation = exports.pushLocation = exports.startListener = exports.getCurrentLocation = exports.go = exports.getUserConfirmation = undefined;\n\t\n\tvar _BrowserProtocol = __webpack_require__(112);\n\t\n\tObject.defineProperty(exports, 'getUserConfirmation', {\n\t enumerable: true,\n\t get: function get() {\n\t return _BrowserProtocol.getUserConfirmation;\n\t }\n\t});\n\tObject.defineProperty(exports, 'go', {\n\t enumerable: true,\n\t get: function get() {\n\t return _BrowserProtocol.go;\n\t }\n\t});\n\t\n\tvar _warning = __webpack_require__(41);\n\t\n\tvar _warning2 = _interopRequireDefault(_warning);\n\t\n\tvar _LocationUtils = __webpack_require__(48);\n\t\n\tvar _DOMUtils = __webpack_require__(85);\n\t\n\tvar _DOMStateStorage = __webpack_require__(175);\n\t\n\tvar _PathUtils = __webpack_require__(35);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tvar HashChangeEvent = 'hashchange';\n\t\n\tvar getHashPath = function getHashPath() {\n\t // We can't use window.location.hash here because it's not\n\t // consistent across browsers - Firefox will pre-decode it!\n\t var href = window.location.href;\n\t var hashIndex = href.indexOf('#');\n\t return hashIndex === -1 ? '' : href.substring(hashIndex + 1);\n\t};\n\t\n\tvar pushHashPath = function pushHashPath(path) {\n\t return window.location.hash = path;\n\t};\n\t\n\tvar replaceHashPath = function replaceHashPath(path) {\n\t var hashIndex = window.location.href.indexOf('#');\n\t\n\t window.location.replace(window.location.href.slice(0, hashIndex >= 0 ? hashIndex : 0) + '#' + path);\n\t};\n\t\n\tvar getCurrentLocation = exports.getCurrentLocation = function getCurrentLocation(pathCoder, queryKey) {\n\t var path = pathCoder.decodePath(getHashPath());\n\t var key = (0, _PathUtils.getQueryStringValueFromPath)(path, queryKey);\n\t\n\t var state = void 0;\n\t if (key) {\n\t path = (0, _PathUtils.stripQueryStringValueFromPath)(path, queryKey);\n\t state = (0, _DOMStateStorage.readState)(key);\n\t }\n\t\n\t var init = (0, _PathUtils.parsePath)(path);\n\t init.state = state;\n\t\n\t return (0, _LocationUtils.createLocation)(init, undefined, key);\n\t};\n\t\n\tvar prevLocation = void 0;\n\t\n\tvar startListener = exports.startListener = function startListener(listener, pathCoder, queryKey) {\n\t var handleHashChange = function handleHashChange() {\n\t var path = getHashPath();\n\t var encodedPath = pathCoder.encodePath(path);\n\t\n\t if (path !== encodedPath) {\n\t // Always be sure we have a properly-encoded hash.\n\t replaceHashPath(encodedPath);\n\t } else {\n\t var currentLocation = getCurrentLocation(pathCoder, queryKey);\n\t\n\t if (prevLocation && currentLocation.key && prevLocation.key === currentLocation.key) return; // Ignore extraneous hashchange events\n\t\n\t prevLocation = currentLocation;\n\t\n\t listener(currentLocation);\n\t }\n\t };\n\t\n\t // Ensure the hash is encoded properly.\n\t var path = getHashPath();\n\t var encodedPath = pathCoder.encodePath(path);\n\t\n\t if (path !== encodedPath) replaceHashPath(encodedPath);\n\t\n\t (0, _DOMUtils.addEventListener)(window, HashChangeEvent, handleHashChange);\n\t\n\t return function () {\n\t return (0, _DOMUtils.removeEventListener)(window, HashChangeEvent, handleHashChange);\n\t };\n\t};\n\t\n\tvar updateLocation = function updateLocation(location, pathCoder, queryKey, updateHash) {\n\t var state = location.state;\n\t var key = location.key;\n\t\n\t\n\t var path = pathCoder.encodePath((0, _PathUtils.createPath)(location));\n\t\n\t if (state !== undefined) {\n\t path = (0, _PathUtils.addQueryStringValueToPath)(path, queryKey, key);\n\t (0, _DOMStateStorage.saveState)(key, state);\n\t }\n\t\n\t prevLocation = location;\n\t\n\t updateHash(path);\n\t};\n\t\n\tvar pushLocation = exports.pushLocation = function pushLocation(location, pathCoder, queryKey) {\n\t return updateLocation(location, pathCoder, queryKey, function (path) {\n\t if (getHashPath() !== path) {\n\t pushHashPath(path);\n\t } else {\n\t false ? (0, _warning2.default)(false, 'You cannot PUSH the same path using hash history') : void 0;\n\t }\n\t });\n\t};\n\t\n\tvar replaceLocation = exports.replaceLocation = function replaceLocation(location, pathCoder, queryKey) {\n\t return updateLocation(location, pathCoder, queryKey, function (path) {\n\t if (getHashPath() !== path) replaceHashPath(path);\n\t });\n\t};\n\n/***/ },\n/* 429 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\texports.replaceLocation = exports.pushLocation = exports.getCurrentLocation = exports.go = exports.getUserConfirmation = undefined;\n\t\n\tvar _BrowserProtocol = __webpack_require__(112);\n\t\n\tObject.defineProperty(exports, 'getUserConfirmation', {\n\t enumerable: true,\n\t get: function get() {\n\t return _BrowserProtocol.getUserConfirmation;\n\t }\n\t});\n\tObject.defineProperty(exports, 'go', {\n\t enumerable: true,\n\t get: function get() {\n\t return _BrowserProtocol.go;\n\t }\n\t});\n\t\n\tvar _LocationUtils = __webpack_require__(48);\n\t\n\tvar _PathUtils = __webpack_require__(35);\n\t\n\tvar getCurrentLocation = exports.getCurrentLocation = function getCurrentLocation() {\n\t return (0, _LocationUtils.createLocation)(window.location);\n\t};\n\t\n\tvar pushLocation = exports.pushLocation = function pushLocation(location) {\n\t window.location.href = (0, _PathUtils.createPath)(location);\n\t return false; // Don't update location\n\t};\n\t\n\tvar replaceLocation = exports.replaceLocation = function replaceLocation(location) {\n\t window.location.replace((0, _PathUtils.createPath)(location));\n\t return false; // Don't update location\n\t};\n\n/***/ },\n/* 430 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\t\n\tvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\t\n\tvar _invariant = __webpack_require__(10);\n\t\n\tvar _invariant2 = _interopRequireDefault(_invariant);\n\t\n\tvar _ExecutionEnvironment = __webpack_require__(113);\n\t\n\tvar _BrowserProtocol = __webpack_require__(112);\n\t\n\tvar BrowserProtocol = _interopRequireWildcard(_BrowserProtocol);\n\t\n\tvar _RefreshProtocol = __webpack_require__(429);\n\t\n\tvar RefreshProtocol = _interopRequireWildcard(_RefreshProtocol);\n\t\n\tvar _DOMUtils = __webpack_require__(85);\n\t\n\tvar _createHistory = __webpack_require__(114);\n\t\n\tvar _createHistory2 = _interopRequireDefault(_createHistory);\n\t\n\tfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\t/**\n\t * Creates and returns a history object that uses HTML5's history API\n\t * (pushState, replaceState, and the popstate event) to manage history.\n\t * This is the recommended method of managing history in browsers because\n\t * it provides the cleanest URLs.\n\t *\n\t * Note: In browsers that do not support the HTML5 history API full\n\t * page reloads will be used to preserve clean URLs. You can force this\n\t * behavior using { forceRefresh: true } in options.\n\t */\n\tvar createBrowserHistory = function createBrowserHistory() {\n\t var options = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];\n\t\n\t !_ExecutionEnvironment.canUseDOM ? false ? (0, _invariant2.default)(false, 'Browser history needs a DOM') : (0, _invariant2.default)(false) : void 0;\n\t\n\t var useRefresh = options.forceRefresh || !(0, _DOMUtils.supportsHistory)();\n\t var Protocol = useRefresh ? RefreshProtocol : BrowserProtocol;\n\t\n\t var getUserConfirmation = Protocol.getUserConfirmation;\n\t var getCurrentLocation = Protocol.getCurrentLocation;\n\t var pushLocation = Protocol.pushLocation;\n\t var replaceLocation = Protocol.replaceLocation;\n\t var go = Protocol.go;\n\t\n\t\n\t var history = (0, _createHistory2.default)(_extends({\n\t getUserConfirmation: getUserConfirmation }, options, {\n\t getCurrentLocation: getCurrentLocation,\n\t pushLocation: pushLocation,\n\t replaceLocation: replaceLocation,\n\t go: go\n\t }));\n\t\n\t var listenerCount = 0,\n\t stopListener = void 0;\n\t\n\t var startListener = function startListener(listener, before) {\n\t if (++listenerCount === 1) stopListener = BrowserProtocol.startListener(history.transitionTo);\n\t\n\t var unlisten = before ? history.listenBefore(listener) : history.listen(listener);\n\t\n\t return function () {\n\t unlisten();\n\t\n\t if (--listenerCount === 0) stopListener();\n\t };\n\t };\n\t\n\t var listenBefore = function listenBefore(listener) {\n\t return startListener(listener, true);\n\t };\n\t\n\t var listen = function listen(listener) {\n\t return startListener(listener, false);\n\t };\n\t\n\t return _extends({}, history, {\n\t listenBefore: listenBefore,\n\t listen: listen\n\t });\n\t};\n\t\n\texports.default = createBrowserHistory;\n\n/***/ },\n/* 431 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\t\n\tvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\t\n\tvar _warning = __webpack_require__(41);\n\t\n\tvar _warning2 = _interopRequireDefault(_warning);\n\t\n\tvar _invariant = __webpack_require__(10);\n\t\n\tvar _invariant2 = _interopRequireDefault(_invariant);\n\t\n\tvar _ExecutionEnvironment = __webpack_require__(113);\n\t\n\tvar _DOMUtils = __webpack_require__(85);\n\t\n\tvar _HashProtocol = __webpack_require__(428);\n\t\n\tvar HashProtocol = _interopRequireWildcard(_HashProtocol);\n\t\n\tvar _createHistory = __webpack_require__(114);\n\t\n\tvar _createHistory2 = _interopRequireDefault(_createHistory);\n\t\n\tfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tvar DefaultQueryKey = '_k';\n\t\n\tvar addLeadingSlash = function addLeadingSlash(path) {\n\t return path.charAt(0) === '/' ? path : '/' + path;\n\t};\n\t\n\tvar HashPathCoders = {\n\t hashbang: {\n\t encodePath: function encodePath(path) {\n\t return path.charAt(0) === '!' ? path : '!' + path;\n\t },\n\t decodePath: function decodePath(path) {\n\t return path.charAt(0) === '!' ? path.substring(1) : path;\n\t }\n\t },\n\t noslash: {\n\t encodePath: function encodePath(path) {\n\t return path.charAt(0) === '/' ? path.substring(1) : path;\n\t },\n\t decodePath: addLeadingSlash\n\t },\n\t slash: {\n\t encodePath: addLeadingSlash,\n\t decodePath: addLeadingSlash\n\t }\n\t};\n\t\n\tvar createHashHistory = function createHashHistory() {\n\t var options = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];\n\t\n\t !_ExecutionEnvironment.canUseDOM ? false ? (0, _invariant2.default)(false, 'Hash history needs a DOM') : (0, _invariant2.default)(false) : void 0;\n\t\n\t var queryKey = options.queryKey;\n\t var hashType = options.hashType;\n\t\n\t\n\t false ? (0, _warning2.default)(queryKey !== false, 'Using { queryKey: false } no longer works. Instead, just don\\'t ' + 'use location state if you don\\'t want a key in your URL query string') : void 0;\n\t\n\t if (typeof queryKey !== 'string') queryKey = DefaultQueryKey;\n\t\n\t if (hashType == null) hashType = 'slash';\n\t\n\t if (!(hashType in HashPathCoders)) {\n\t false ? (0, _warning2.default)(false, 'Invalid hash type: %s', hashType) : void 0;\n\t\n\t hashType = 'slash';\n\t }\n\t\n\t var pathCoder = HashPathCoders[hashType];\n\t\n\t var getUserConfirmation = HashProtocol.getUserConfirmation;\n\t\n\t\n\t var getCurrentLocation = function getCurrentLocation() {\n\t return HashProtocol.getCurrentLocation(pathCoder, queryKey);\n\t };\n\t\n\t var pushLocation = function pushLocation(location) {\n\t return HashProtocol.pushLocation(location, pathCoder, queryKey);\n\t };\n\t\n\t var replaceLocation = function replaceLocation(location) {\n\t return HashProtocol.replaceLocation(location, pathCoder, queryKey);\n\t };\n\t\n\t var history = (0, _createHistory2.default)(_extends({\n\t getUserConfirmation: getUserConfirmation }, options, {\n\t getCurrentLocation: getCurrentLocation,\n\t pushLocation: pushLocation,\n\t replaceLocation: replaceLocation,\n\t go: HashProtocol.go\n\t }));\n\t\n\t var listenerCount = 0,\n\t stopListener = void 0;\n\t\n\t var startListener = function startListener(listener, before) {\n\t if (++listenerCount === 1) stopListener = HashProtocol.startListener(history.transitionTo, pathCoder, queryKey);\n\t\n\t var unlisten = before ? history.listenBefore(listener) : history.listen(listener);\n\t\n\t return function () {\n\t unlisten();\n\t\n\t if (--listenerCount === 0) stopListener();\n\t };\n\t };\n\t\n\t var listenBefore = function listenBefore(listener) {\n\t return startListener(listener, true);\n\t };\n\t\n\t var listen = function listen(listener) {\n\t return startListener(listener, false);\n\t };\n\t\n\t var goIsSupportedWithoutReload = (0, _DOMUtils.supportsGoWithoutReloadUsingHash)();\n\t\n\t var go = function go(n) {\n\t false ? (0, _warning2.default)(goIsSupportedWithoutReload, 'Hash history go(n) causes a full page reload in this browser') : void 0;\n\t\n\t history.go(n);\n\t };\n\t\n\t var createHref = function createHref(path) {\n\t return '#' + pathCoder.encodePath(history.createHref(path));\n\t };\n\t\n\t return _extends({}, history, {\n\t listenBefore: listenBefore,\n\t listen: listen,\n\t go: go,\n\t createHref: createHref\n\t });\n\t};\n\t\n\texports.default = createHashHistory;\n\n/***/ },\n/* 432 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\t\n\tvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\t\n\tvar _warning = __webpack_require__(41);\n\t\n\tvar _warning2 = _interopRequireDefault(_warning);\n\t\n\tvar _invariant = __webpack_require__(10);\n\t\n\tvar _invariant2 = _interopRequireDefault(_invariant);\n\t\n\tvar _LocationUtils = __webpack_require__(48);\n\t\n\tvar _PathUtils = __webpack_require__(35);\n\t\n\tvar _createHistory = __webpack_require__(114);\n\t\n\tvar _createHistory2 = _interopRequireDefault(_createHistory);\n\t\n\tvar _Actions = __webpack_require__(84);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tvar createStateStorage = function createStateStorage(entries) {\n\t return entries.filter(function (entry) {\n\t return entry.state;\n\t }).reduce(function (memo, entry) {\n\t memo[entry.key] = entry.state;\n\t return memo;\n\t }, {});\n\t};\n\t\n\tvar createMemoryHistory = function createMemoryHistory() {\n\t var options = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];\n\t\n\t if (Array.isArray(options)) {\n\t options = { entries: options };\n\t } else if (typeof options === 'string') {\n\t options = { entries: [options] };\n\t }\n\t\n\t var getCurrentLocation = function getCurrentLocation() {\n\t var entry = entries[current];\n\t var path = (0, _PathUtils.createPath)(entry);\n\t\n\t var key = void 0,\n\t state = void 0;\n\t if (entry.key) {\n\t key = entry.key;\n\t state = readState(key);\n\t }\n\t\n\t var init = (0, _PathUtils.parsePath)(path);\n\t\n\t return (0, _LocationUtils.createLocation)(_extends({}, init, { state: state }), undefined, key);\n\t };\n\t\n\t var canGo = function canGo(n) {\n\t var index = current + n;\n\t return index >= 0 && index < entries.length;\n\t };\n\t\n\t var go = function go(n) {\n\t if (!n) return;\n\t\n\t if (!canGo(n)) {\n\t false ? (0, _warning2.default)(false, 'Cannot go(%s) there is not enough history', n) : void 0;\n\t\n\t return;\n\t }\n\t\n\t current += n;\n\t var currentLocation = getCurrentLocation();\n\t\n\t // Change action to POP\n\t history.transitionTo(_extends({}, currentLocation, { action: _Actions.POP }));\n\t };\n\t\n\t var pushLocation = function pushLocation(location) {\n\t current += 1;\n\t\n\t if (current < entries.length) entries.splice(current);\n\t\n\t entries.push(location);\n\t\n\t saveState(location.key, location.state);\n\t };\n\t\n\t var replaceLocation = function replaceLocation(location) {\n\t entries[current] = location;\n\t saveState(location.key, location.state);\n\t };\n\t\n\t var history = (0, _createHistory2.default)(_extends({}, options, {\n\t getCurrentLocation: getCurrentLocation,\n\t pushLocation: pushLocation,\n\t replaceLocation: replaceLocation,\n\t go: go\n\t }));\n\t\n\t var _options = options;\n\t var entries = _options.entries;\n\t var current = _options.current;\n\t\n\t\n\t if (typeof entries === 'string') {\n\t entries = [entries];\n\t } else if (!Array.isArray(entries)) {\n\t entries = ['/'];\n\t }\n\t\n\t entries = entries.map(function (entry) {\n\t return (0, _LocationUtils.createLocation)(entry);\n\t });\n\t\n\t if (current == null) {\n\t current = entries.length - 1;\n\t } else {\n\t !(current >= 0 && current < entries.length) ? false ? (0, _invariant2.default)(false, 'Current index must be >= 0 and < %s, was %s', entries.length, current) : (0, _invariant2.default)(false) : void 0;\n\t }\n\t\n\t var storage = createStateStorage(entries);\n\t\n\t var saveState = function saveState(key, state) {\n\t return storage[key] = state;\n\t };\n\t\n\t var readState = function readState(key) {\n\t return storage[key];\n\t };\n\t\n\t return _extends({}, history, {\n\t canGo: canGo\n\t });\n\t};\n\t\n\texports.default = createMemoryHistory;\n\n/***/ },\n/* 433 */\n/***/ function(module, exports) {\n\n\texports.read = function (buffer, offset, isLE, mLen, nBytes) {\n\t var e, m\n\t var eLen = nBytes * 8 - mLen - 1\n\t var eMax = (1 << eLen) - 1\n\t var eBias = eMax >> 1\n\t var nBits = -7\n\t var i = isLE ? (nBytes - 1) : 0\n\t var d = isLE ? -1 : 1\n\t var s = buffer[offset + i]\n\t\n\t i += d\n\t\n\t e = s & ((1 << (-nBits)) - 1)\n\t s >>= (-nBits)\n\t nBits += eLen\n\t for (; nBits > 0; e = e * 256 + buffer[offset + i], i += d, nBits -= 8) {}\n\t\n\t m = e & ((1 << (-nBits)) - 1)\n\t e >>= (-nBits)\n\t nBits += mLen\n\t for (; nBits > 0; m = m * 256 + buffer[offset + i], i += d, nBits -= 8) {}\n\t\n\t if (e === 0) {\n\t e = 1 - eBias\n\t } else if (e === eMax) {\n\t return m ? NaN : ((s ? -1 : 1) * Infinity)\n\t } else {\n\t m = m + Math.pow(2, mLen)\n\t e = e - eBias\n\t }\n\t return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n\t}\n\t\n\texports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n\t var e, m, c\n\t var eLen = nBytes * 8 - mLen - 1\n\t var eMax = (1 << eLen) - 1\n\t var eBias = eMax >> 1\n\t var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)\n\t var i = isLE ? 0 : (nBytes - 1)\n\t var d = isLE ? 1 : -1\n\t var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0\n\t\n\t value = Math.abs(value)\n\t\n\t if (isNaN(value) || value === Infinity) {\n\t m = isNaN(value) ? 1 : 0\n\t e = eMax\n\t } else {\n\t e = Math.floor(Math.log(value) / Math.LN2)\n\t if (value * (c = Math.pow(2, -e)) < 1) {\n\t e--\n\t c *= 2\n\t }\n\t if (e + eBias >= 1) {\n\t value += rt / c\n\t } else {\n\t value += rt * Math.pow(2, 1 - eBias)\n\t }\n\t if (value * c >= 2) {\n\t e++\n\t c /= 2\n\t }\n\t\n\t if (e + eBias >= eMax) {\n\t m = 0\n\t e = eMax\n\t } else if (e + eBias >= 1) {\n\t m = (value * c - 1) * Math.pow(2, mLen)\n\t e = e + eBias\n\t } else {\n\t m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)\n\t e = 0\n\t }\n\t }\n\t\n\t for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\t\n\t e = (e << mLen) | m\n\t eLen += mLen\n\t for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\t\n\t buffer[offset + i - d] |= s * 128\n\t}\n\n\n/***/ },\n/* 434 */\n/***/ function(module, exports) {\n\n\tvar toString = {}.toString;\n\t\n\tmodule.exports = Array.isArray || function (arr) {\n\t return toString.call(arr) == '[object Array]';\n\t};\n\n\n/***/ },\n/* 435 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// the whatwg-fetch polyfill installs the fetch() function\n\t// on the global object (window or self)\n\t//\n\t// Return that as the export for use in Webpack, Browserify etc.\n\t__webpack_require__(672);\n\tmodule.exports = self.fetch.bind(self);\n\n\n/***/ },\n/* 436 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\t\n\tvar yaml = __webpack_require__(437);\n\t\n\t\n\tmodule.exports = yaml;\n\n\n/***/ },\n/* 437 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\t\n\tvar loader = __webpack_require__(439);\n\tvar dumper = __webpack_require__(438);\n\t\n\t\n\tfunction deprecated(name) {\n\t return function () {\n\t throw new Error('Function ' + name + ' is deprecated and cannot be used.');\n\t };\n\t}\n\t\n\t\n\tmodule.exports.Type = __webpack_require__(11);\n\tmodule.exports.Schema = __webpack_require__(50);\n\tmodule.exports.FAILSAFE_SCHEMA = __webpack_require__(116);\n\tmodule.exports.JSON_SCHEMA = __webpack_require__(180);\n\tmodule.exports.CORE_SCHEMA = __webpack_require__(179);\n\tmodule.exports.DEFAULT_SAFE_SCHEMA = __webpack_require__(64);\n\tmodule.exports.DEFAULT_FULL_SCHEMA = __webpack_require__(86);\n\tmodule.exports.load = loader.load;\n\tmodule.exports.loadAll = loader.loadAll;\n\tmodule.exports.safeLoad = loader.safeLoad;\n\tmodule.exports.safeLoadAll = loader.safeLoadAll;\n\tmodule.exports.dump = dumper.dump;\n\tmodule.exports.safeDump = dumper.safeDump;\n\tmodule.exports.YAMLException = __webpack_require__(63);\n\t\n\t// Deprecated schema names from JS-YAML 2.0.x\n\tmodule.exports.MINIMAL_SCHEMA = __webpack_require__(116);\n\tmodule.exports.SAFE_SCHEMA = __webpack_require__(64);\n\tmodule.exports.DEFAULT_SCHEMA = __webpack_require__(86);\n\t\n\t// Deprecated functions from JS-YAML 1.x.x\n\tmodule.exports.scan = deprecated('scan');\n\tmodule.exports.parse = deprecated('parse');\n\tmodule.exports.compose = deprecated('compose');\n\tmodule.exports.addConstructor = deprecated('addConstructor');\n\n\n/***/ },\n/* 438 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\t/*eslint-disable no-use-before-define*/\n\t\n\tvar common = __webpack_require__(49);\n\tvar YAMLException = __webpack_require__(63);\n\tvar DEFAULT_FULL_SCHEMA = __webpack_require__(86);\n\tvar DEFAULT_SAFE_SCHEMA = __webpack_require__(64);\n\t\n\tvar _toString = Object.prototype.toString;\n\tvar _hasOwnProperty = Object.prototype.hasOwnProperty;\n\t\n\tvar CHAR_TAB = 0x09; /* Tab */\n\tvar CHAR_LINE_FEED = 0x0A; /* LF */\n\tvar CHAR_SPACE = 0x20; /* Space */\n\tvar CHAR_EXCLAMATION = 0x21; /* ! */\n\tvar CHAR_DOUBLE_QUOTE = 0x22; /* \" */\n\tvar CHAR_SHARP = 0x23; /* # */\n\tvar CHAR_PERCENT = 0x25; /* % */\n\tvar CHAR_AMPERSAND = 0x26; /* & */\n\tvar CHAR_SINGLE_QUOTE = 0x27; /* ' */\n\tvar CHAR_ASTERISK = 0x2A; /* * */\n\tvar CHAR_COMMA = 0x2C; /* , */\n\tvar CHAR_MINUS = 0x2D; /* - */\n\tvar CHAR_COLON = 0x3A; /* : */\n\tvar CHAR_GREATER_THAN = 0x3E; /* > */\n\tvar CHAR_QUESTION = 0x3F; /* ? */\n\tvar CHAR_COMMERCIAL_AT = 0x40; /* @ */\n\tvar CHAR_LEFT_SQUARE_BRACKET = 0x5B; /* [ */\n\tvar CHAR_RIGHT_SQUARE_BRACKET = 0x5D; /* ] */\n\tvar CHAR_GRAVE_ACCENT = 0x60; /* ` */\n\tvar CHAR_LEFT_CURLY_BRACKET = 0x7B; /* { */\n\tvar CHAR_VERTICAL_LINE = 0x7C; /* | */\n\tvar CHAR_RIGHT_CURLY_BRACKET = 0x7D; /* } */\n\t\n\tvar ESCAPE_SEQUENCES = {};\n\t\n\tESCAPE_SEQUENCES[0x00] = '\\\\0';\n\tESCAPE_SEQUENCES[0x07] = '\\\\a';\n\tESCAPE_SEQUENCES[0x08] = '\\\\b';\n\tESCAPE_SEQUENCES[0x09] = '\\\\t';\n\tESCAPE_SEQUENCES[0x0A] = '\\\\n';\n\tESCAPE_SEQUENCES[0x0B] = '\\\\v';\n\tESCAPE_SEQUENCES[0x0C] = '\\\\f';\n\tESCAPE_SEQUENCES[0x0D] = '\\\\r';\n\tESCAPE_SEQUENCES[0x1B] = '\\\\e';\n\tESCAPE_SEQUENCES[0x22] = '\\\\\"';\n\tESCAPE_SEQUENCES[0x5C] = '\\\\\\\\';\n\tESCAPE_SEQUENCES[0x85] = '\\\\N';\n\tESCAPE_SEQUENCES[0xA0] = '\\\\_';\n\tESCAPE_SEQUENCES[0x2028] = '\\\\L';\n\tESCAPE_SEQUENCES[0x2029] = '\\\\P';\n\t\n\tvar DEPRECATED_BOOLEANS_SYNTAX = [\n\t 'y', 'Y', 'yes', 'Yes', 'YES', 'on', 'On', 'ON',\n\t 'n', 'N', 'no', 'No', 'NO', 'off', 'Off', 'OFF'\n\t];\n\t\n\tfunction compileStyleMap(schema, map) {\n\t var result, keys, index, length, tag, style, type;\n\t\n\t if (map === null) return {};\n\t\n\t result = {};\n\t keys = Object.keys(map);\n\t\n\t for (index = 0, length = keys.length; index < length; index += 1) {\n\t tag = keys[index];\n\t style = String(map[tag]);\n\t\n\t if (tag.slice(0, 2) === '!!') {\n\t tag = 'tag:yaml.org,2002:' + tag.slice(2);\n\t }\n\t type = schema.compiledTypeMap['fallback'][tag];\n\t\n\t if (type && _hasOwnProperty.call(type.styleAliases, style)) {\n\t style = type.styleAliases[style];\n\t }\n\t\n\t result[tag] = style;\n\t }\n\t\n\t return result;\n\t}\n\t\n\tfunction encodeHex(character) {\n\t var string, handle, length;\n\t\n\t string = character.toString(16).toUpperCase();\n\t\n\t if (character <= 0xFF) {\n\t handle = 'x';\n\t length = 2;\n\t } else if (character <= 0xFFFF) {\n\t handle = 'u';\n\t length = 4;\n\t } else if (character <= 0xFFFFFFFF) {\n\t handle = 'U';\n\t length = 8;\n\t } else {\n\t throw new YAMLException('code point within a string may not be greater than 0xFFFFFFFF');\n\t }\n\t\n\t return '\\\\' + handle + common.repeat('0', length - string.length) + string;\n\t}\n\t\n\tfunction State(options) {\n\t this.schema = options['schema'] || DEFAULT_FULL_SCHEMA;\n\t this.indent = Math.max(1, (options['indent'] || 2));\n\t this.skipInvalid = options['skipInvalid'] || false;\n\t this.flowLevel = (common.isNothing(options['flowLevel']) ? -1 : options['flowLevel']);\n\t this.styleMap = compileStyleMap(this.schema, options['styles'] || null);\n\t this.sortKeys = options['sortKeys'] || false;\n\t this.lineWidth = options['lineWidth'] || 80;\n\t this.noRefs = options['noRefs'] || false;\n\t this.noCompatMode = options['noCompatMode'] || false;\n\t\n\t this.implicitTypes = this.schema.compiledImplicit;\n\t this.explicitTypes = this.schema.compiledExplicit;\n\t\n\t this.tag = null;\n\t this.result = '';\n\t\n\t this.duplicates = [];\n\t this.usedDuplicates = null;\n\t}\n\t\n\t// Indents every line in a string. Empty lines (\\n only) are not indented.\n\tfunction indentString(string, spaces) {\n\t var ind = common.repeat(' ', spaces),\n\t position = 0,\n\t next = -1,\n\t result = '',\n\t line,\n\t length = string.length;\n\t\n\t while (position < length) {\n\t next = string.indexOf('\\n', position);\n\t if (next === -1) {\n\t line = string.slice(position);\n\t position = length;\n\t } else {\n\t line = string.slice(position, next + 1);\n\t position = next + 1;\n\t }\n\t\n\t if (line.length && line !== '\\n') result += ind;\n\t\n\t result += line;\n\t }\n\t\n\t return result;\n\t}\n\t\n\tfunction generateNextLine(state, level) {\n\t return '\\n' + common.repeat(' ', state.indent * level);\n\t}\n\t\n\tfunction testImplicitResolving(state, str) {\n\t var index, length, type;\n\t\n\t for (index = 0, length = state.implicitTypes.length; index < length; index += 1) {\n\t type = state.implicitTypes[index];\n\t\n\t if (type.resolve(str)) {\n\t return true;\n\t }\n\t }\n\t\n\t return false;\n\t}\n\t\n\t// [33] s-white ::= s-space | s-tab\n\tfunction isWhitespace(c) {\n\t return c === CHAR_SPACE || c === CHAR_TAB;\n\t}\n\t\n\t// Returns true if the character can be printed without escaping.\n\t// From YAML 1.2: \"any allowed characters known to be non-printable\n\t// should also be escaped. [However,] This isn’t mandatory\"\n\t// Derived from nb-char - \\t - #x85 - #xA0 - #x2028 - #x2029.\n\tfunction isPrintable(c) {\n\t return (0x00020 <= c && c <= 0x00007E)\n\t || ((0x000A1 <= c && c <= 0x00D7FF) && c !== 0x2028 && c !== 0x2029)\n\t || ((0x0E000 <= c && c <= 0x00FFFD) && c !== 0xFEFF /* BOM */)\n\t || (0x10000 <= c && c <= 0x10FFFF);\n\t}\n\t\n\t// Simplified test for values allowed after the first character in plain style.\n\tfunction isPlainSafe(c) {\n\t // Uses a subset of nb-char - c-flow-indicator - \":\" - \"#\"\n\t // where nb-char ::= c-printable - b-char - c-byte-order-mark.\n\t return isPrintable(c) && c !== 0xFEFF\n\t // - c-flow-indicator\n\t && c !== CHAR_COMMA\n\t && c !== CHAR_LEFT_SQUARE_BRACKET\n\t && c !== CHAR_RIGHT_SQUARE_BRACKET\n\t && c !== CHAR_LEFT_CURLY_BRACKET\n\t && c !== CHAR_RIGHT_CURLY_BRACKET\n\t // - \":\" - \"#\"\n\t && c !== CHAR_COLON\n\t && c !== CHAR_SHARP;\n\t}\n\t\n\t// Simplified test for values allowed as the first character in plain style.\n\tfunction isPlainSafeFirst(c) {\n\t // Uses a subset of ns-char - c-indicator\n\t // where ns-char = nb-char - s-white.\n\t return isPrintable(c) && c !== 0xFEFF\n\t && !isWhitespace(c) // - s-white\n\t // - (c-indicator ::=\n\t // “-” | “?” | “:” | “,” | “[” | “]” | “{” | “}”\n\t && c !== CHAR_MINUS\n\t && c !== CHAR_QUESTION\n\t && c !== CHAR_COLON\n\t && c !== CHAR_COMMA\n\t && c !== CHAR_LEFT_SQUARE_BRACKET\n\t && c !== CHAR_RIGHT_SQUARE_BRACKET\n\t && c !== CHAR_LEFT_CURLY_BRACKET\n\t && c !== CHAR_RIGHT_CURLY_BRACKET\n\t // | “#” | “&” | “*” | “!” | “|” | “>” | “'” | “\"”\n\t && c !== CHAR_SHARP\n\t && c !== CHAR_AMPERSAND\n\t && c !== CHAR_ASTERISK\n\t && c !== CHAR_EXCLAMATION\n\t && c !== CHAR_VERTICAL_LINE\n\t && c !== CHAR_GREATER_THAN\n\t && c !== CHAR_SINGLE_QUOTE\n\t && c !== CHAR_DOUBLE_QUOTE\n\t // | “%” | “@” | “`”)\n\t && c !== CHAR_PERCENT\n\t && c !== CHAR_COMMERCIAL_AT\n\t && c !== CHAR_GRAVE_ACCENT;\n\t}\n\t\n\tvar STYLE_PLAIN = 1,\n\t STYLE_SINGLE = 2,\n\t STYLE_LITERAL = 3,\n\t STYLE_FOLDED = 4,\n\t STYLE_DOUBLE = 5;\n\t\n\t// Determines which scalar styles are possible and returns the preferred style.\n\t// lineWidth = -1 => no limit.\n\t// Pre-conditions: str.length > 0.\n\t// Post-conditions:\n\t// STYLE_PLAIN or STYLE_SINGLE => no \\n are in the string.\n\t// STYLE_LITERAL => no lines are suitable for folding (or lineWidth is -1).\n\t// STYLE_FOLDED => a line > lineWidth and can be folded (and lineWidth != -1).\n\tfunction chooseScalarStyle(string, singleLineOnly, indentPerLevel, lineWidth, testAmbiguousType) {\n\t var i;\n\t var char;\n\t var hasLineBreak = false;\n\t var hasFoldableLine = false; // only checked if shouldTrackWidth\n\t var shouldTrackWidth = lineWidth !== -1;\n\t var previousLineBreak = -1; // count the first line correctly\n\t var plain = isPlainSafeFirst(string.charCodeAt(0))\n\t && !isWhitespace(string.charCodeAt(string.length - 1));\n\t\n\t if (singleLineOnly) {\n\t // Case: no block styles.\n\t // Check for disallowed characters to rule out plain and single.\n\t for (i = 0; i < string.length; i++) {\n\t char = string.charCodeAt(i);\n\t if (!isPrintable(char)) {\n\t return STYLE_DOUBLE;\n\t }\n\t plain = plain && isPlainSafe(char);\n\t }\n\t } else {\n\t // Case: block styles permitted.\n\t for (i = 0; i < string.length; i++) {\n\t char = string.charCodeAt(i);\n\t if (char === CHAR_LINE_FEED) {\n\t hasLineBreak = true;\n\t // Check if any line can be folded.\n\t if (shouldTrackWidth) {\n\t hasFoldableLine = hasFoldableLine ||\n\t // Foldable line = too long, and not more-indented.\n\t (i - previousLineBreak - 1 > lineWidth &&\n\t string[previousLineBreak + 1] !== ' ');\n\t previousLineBreak = i;\n\t }\n\t } else if (!isPrintable(char)) {\n\t return STYLE_DOUBLE;\n\t }\n\t plain = plain && isPlainSafe(char);\n\t }\n\t // in case the end is missing a \\n\n\t hasFoldableLine = hasFoldableLine || (shouldTrackWidth &&\n\t (i - previousLineBreak - 1 > lineWidth &&\n\t string[previousLineBreak + 1] !== ' '));\n\t }\n\t // Although every style can represent \\n without escaping, prefer block styles\n\t // for multiline, since they're more readable and they don't add empty lines.\n\t // Also prefer folding a super-long line.\n\t if (!hasLineBreak && !hasFoldableLine) {\n\t // Strings interpretable as another type have to be quoted;\n\t // e.g. the string 'true' vs. the boolean true.\n\t return plain && !testAmbiguousType(string)\n\t ? STYLE_PLAIN : STYLE_SINGLE;\n\t }\n\t // Edge case: block indentation indicator can only have one digit.\n\t if (string[0] === ' ' && indentPerLevel > 9) {\n\t return STYLE_DOUBLE;\n\t }\n\t // At this point we know block styles are valid.\n\t // Prefer literal style unless we want to fold.\n\t return hasFoldableLine ? STYLE_FOLDED : STYLE_LITERAL;\n\t}\n\t\n\t// Note: line breaking/folding is implemented for only the folded style.\n\t// NB. We drop the last trailing newline (if any) of a returned block scalar\n\t// since the dumper adds its own newline. This always works:\n\t// • No ending newline => unaffected; already using strip \"-\" chomping.\n\t// • Ending newline => removed then restored.\n\t// Importantly, this keeps the \"+\" chomp indicator from gaining an extra line.\n\tfunction writeScalar(state, string, level, iskey) {\n\t state.dump = (function () {\n\t if (string.length === 0) {\n\t return \"''\";\n\t }\n\t if (!state.noCompatMode &&\n\t DEPRECATED_BOOLEANS_SYNTAX.indexOf(string) !== -1) {\n\t return \"'\" + string + \"'\";\n\t }\n\t\n\t var indent = state.indent * Math.max(1, level); // no 0-indent scalars\n\t // As indentation gets deeper, let the width decrease monotonically\n\t // to the lower bound min(state.lineWidth, 40).\n\t // Note that this implies\n\t // state.lineWidth ≤ 40 + state.indent: width is fixed at the lower bound.\n\t // state.lineWidth > 40 + state.indent: width decreases until the lower bound.\n\t // This behaves better than a constant minimum width which disallows narrower options,\n\t // or an indent threshold which causes the width to suddenly increase.\n\t var lineWidth = state.lineWidth === -1\n\t ? -1 : Math.max(Math.min(state.lineWidth, 40), state.lineWidth - indent);\n\t\n\t // Without knowing if keys are implicit/explicit, assume implicit for safety.\n\t var singleLineOnly = iskey\n\t // No block styles in flow mode.\n\t || (state.flowLevel > -1 && level >= state.flowLevel);\n\t function testAmbiguity(string) {\n\t return testImplicitResolving(state, string);\n\t }\n\t\n\t switch (chooseScalarStyle(string, singleLineOnly, state.indent, lineWidth, testAmbiguity)) {\n\t case STYLE_PLAIN:\n\t return string;\n\t case STYLE_SINGLE:\n\t return \"'\" + string.replace(/'/g, \"''\") + \"'\";\n\t case STYLE_LITERAL:\n\t return '|' + blockHeader(string, state.indent)\n\t + dropEndingNewline(indentString(string, indent));\n\t case STYLE_FOLDED:\n\t return '>' + blockHeader(string, state.indent)\n\t + dropEndingNewline(indentString(foldString(string, lineWidth), indent));\n\t case STYLE_DOUBLE:\n\t return '\"' + escapeString(string, lineWidth) + '\"';\n\t default:\n\t throw new YAMLException('impossible error: invalid scalar style');\n\t }\n\t }());\n\t}\n\t\n\t// Pre-conditions: string is valid for a block scalar, 1 <= indentPerLevel <= 9.\n\tfunction blockHeader(string, indentPerLevel) {\n\t var indentIndicator = (string[0] === ' ') ? String(indentPerLevel) : '';\n\t\n\t // note the special case: the string '\\n' counts as a \"trailing\" empty line.\n\t var clip = string[string.length - 1] === '\\n';\n\t var keep = clip && (string[string.length - 2] === '\\n' || string === '\\n');\n\t var chomp = keep ? '+' : (clip ? '' : '-');\n\t\n\t return indentIndicator + chomp + '\\n';\n\t}\n\t\n\t// (See the note for writeScalar.)\n\tfunction dropEndingNewline(string) {\n\t return string[string.length - 1] === '\\n' ? string.slice(0, -1) : string;\n\t}\n\t\n\t// Note: a long line without a suitable break point will exceed the width limit.\n\t// Pre-conditions: every char in str isPrintable, str.length > 0, width > 0.\n\tfunction foldString(string, width) {\n\t // In folded style, $k$ consecutive newlines output as $k+1$ newlines—\n\t // unless they're before or after a more-indented line, or at the very\n\t // beginning or end, in which case $k$ maps to $k$.\n\t // Therefore, parse each chunk as newline(s) followed by a content line.\n\t var lineRe = /(\\n+)([^\\n]*)/g;\n\t\n\t // first line (possibly an empty line)\n\t var result = (function () {\n\t var nextLF = string.indexOf('\\n');\n\t nextLF = nextLF !== -1 ? nextLF : string.length;\n\t lineRe.lastIndex = nextLF;\n\t return foldLine(string.slice(0, nextLF), width);\n\t }());\n\t // If we haven't reached the first content line yet, don't add an extra \\n.\n\t var prevMoreIndented = string[0] === '\\n' || string[0] === ' ';\n\t var moreIndented;\n\t\n\t // rest of the lines\n\t var match;\n\t while ((match = lineRe.exec(string))) {\n\t var prefix = match[1], line = match[2];\n\t moreIndented = (line[0] === ' ');\n\t result += prefix\n\t + (!prevMoreIndented && !moreIndented && line !== ''\n\t ? '\\n' : '')\n\t + foldLine(line, width);\n\t prevMoreIndented = moreIndented;\n\t }\n\t\n\t return result;\n\t}\n\t\n\t// Greedy line breaking.\n\t// Picks the longest line under the limit each time,\n\t// otherwise settles for the shortest line over the limit.\n\t// NB. More-indented lines *cannot* be folded, as that would add an extra \\n.\n\tfunction foldLine(line, width) {\n\t if (line === '' || line[0] === ' ') return line;\n\t\n\t // Since a more-indented line adds a \\n, breaks can't be followed by a space.\n\t var breakRe = / [^ ]/g; // note: the match index will always be <= length-2.\n\t var match;\n\t // start is an inclusive index. end, curr, and next are exclusive.\n\t var start = 0, end, curr = 0, next = 0;\n\t var result = '';\n\t\n\t // Invariants: 0 <= start <= length-1.\n\t // 0 <= curr <= next <= max(0, length-2). curr - start <= width.\n\t // Inside the loop:\n\t // A match implies length >= 2, so curr and next are <= length-2.\n\t while ((match = breakRe.exec(line))) {\n\t next = match.index;\n\t // maintain invariant: curr - start <= width\n\t if (next - start > width) {\n\t end = (curr > start) ? curr : next; // derive end <= length-2\n\t result += '\\n' + line.slice(start, end);\n\t // skip the space that was output as \\n\n\t start = end + 1; // derive start <= length-1\n\t }\n\t curr = next;\n\t }\n\t\n\t // By the invariants, start <= length-1, so there is something left over.\n\t // It is either the whole string or a part starting from non-whitespace.\n\t result += '\\n';\n\t // Insert a break if the remainder is too long and there is a break available.\n\t if (line.length - start > width && curr > start) {\n\t result += line.slice(start, curr) + '\\n' + line.slice(curr + 1);\n\t } else {\n\t result += line.slice(start);\n\t }\n\t\n\t return result.slice(1); // drop extra \\n joiner\n\t}\n\t\n\t// Escapes a double-quoted string.\n\tfunction escapeString(string) {\n\t var result = '';\n\t var char;\n\t var escapeSeq;\n\t\n\t for (var i = 0; i < string.length; i++) {\n\t char = string.charCodeAt(i);\n\t escapeSeq = ESCAPE_SEQUENCES[char];\n\t result += !escapeSeq && isPrintable(char)\n\t ? string[i]\n\t : escapeSeq || encodeHex(char);\n\t }\n\t\n\t return result;\n\t}\n\t\n\tfunction writeFlowSequence(state, level, object) {\n\t var _result = '',\n\t _tag = state.tag,\n\t index,\n\t length;\n\t\n\t for (index = 0, length = object.length; index < length; index += 1) {\n\t // Write only valid elements.\n\t if (writeNode(state, level, object[index], false, false)) {\n\t if (index !== 0) _result += ', ';\n\t _result += state.dump;\n\t }\n\t }\n\t\n\t state.tag = _tag;\n\t state.dump = '[' + _result + ']';\n\t}\n\t\n\tfunction writeBlockSequence(state, level, object, compact) {\n\t var _result = '',\n\t _tag = state.tag,\n\t index,\n\t length;\n\t\n\t for (index = 0, length = object.length; index < length; index += 1) {\n\t // Write only valid elements.\n\t if (writeNode(state, level + 1, object[index], true, true)) {\n\t if (!compact || index !== 0) {\n\t _result += generateNextLine(state, level);\n\t }\n\t _result += '- ' + state.dump;\n\t }\n\t }\n\t\n\t state.tag = _tag;\n\t state.dump = _result || '[]'; // Empty sequence if no valid values.\n\t}\n\t\n\tfunction writeFlowMapping(state, level, object) {\n\t var _result = '',\n\t _tag = state.tag,\n\t objectKeyList = Object.keys(object),\n\t index,\n\t length,\n\t objectKey,\n\t objectValue,\n\t pairBuffer;\n\t\n\t for (index = 0, length = objectKeyList.length; index < length; index += 1) {\n\t pairBuffer = '';\n\t\n\t if (index !== 0) pairBuffer += ', ';\n\t\n\t objectKey = objectKeyList[index];\n\t objectValue = object[objectKey];\n\t\n\t if (!writeNode(state, level, objectKey, false, false)) {\n\t continue; // Skip this pair because of invalid key;\n\t }\n\t\n\t if (state.dump.length > 1024) pairBuffer += '? ';\n\t\n\t pairBuffer += state.dump + ': ';\n\t\n\t if (!writeNode(state, level, objectValue, false, false)) {\n\t continue; // Skip this pair because of invalid value.\n\t }\n\t\n\t pairBuffer += state.dump;\n\t\n\t // Both key and value are valid.\n\t _result += pairBuffer;\n\t }\n\t\n\t state.tag = _tag;\n\t state.dump = '{' + _result + '}';\n\t}\n\t\n\tfunction writeBlockMapping(state, level, object, compact) {\n\t var _result = '',\n\t _tag = state.tag,\n\t objectKeyList = Object.keys(object),\n\t index,\n\t length,\n\t objectKey,\n\t objectValue,\n\t explicitPair,\n\t pairBuffer;\n\t\n\t // Allow sorting keys so that the output file is deterministic\n\t if (state.sortKeys === true) {\n\t // Default sorting\n\t objectKeyList.sort();\n\t } else if (typeof state.sortKeys === 'function') {\n\t // Custom sort function\n\t objectKeyList.sort(state.sortKeys);\n\t } else if (state.sortKeys) {\n\t // Something is wrong\n\t throw new YAMLException('sortKeys must be a boolean or a function');\n\t }\n\t\n\t for (index = 0, length = objectKeyList.length; index < length; index += 1) {\n\t pairBuffer = '';\n\t\n\t if (!compact || index !== 0) {\n\t pairBuffer += generateNextLine(state, level);\n\t }\n\t\n\t objectKey = objectKeyList[index];\n\t objectValue = object[objectKey];\n\t\n\t if (!writeNode(state, level + 1, objectKey, true, true, true)) {\n\t continue; // Skip this pair because of invalid key.\n\t }\n\t\n\t explicitPair = (state.tag !== null && state.tag !== '?') ||\n\t (state.dump && state.dump.length > 1024);\n\t\n\t if (explicitPair) {\n\t if (state.dump && CHAR_LINE_FEED === state.dump.charCodeAt(0)) {\n\t pairBuffer += '?';\n\t } else {\n\t pairBuffer += '? ';\n\t }\n\t }\n\t\n\t pairBuffer += state.dump;\n\t\n\t if (explicitPair) {\n\t pairBuffer += generateNextLine(state, level);\n\t }\n\t\n\t if (!writeNode(state, level + 1, objectValue, true, explicitPair)) {\n\t continue; // Skip this pair because of invalid value.\n\t }\n\t\n\t if (state.dump && CHAR_LINE_FEED === state.dump.charCodeAt(0)) {\n\t pairBuffer += ':';\n\t } else {\n\t pairBuffer += ': ';\n\t }\n\t\n\t pairBuffer += state.dump;\n\t\n\t // Both key and value are valid.\n\t _result += pairBuffer;\n\t }\n\t\n\t state.tag = _tag;\n\t state.dump = _result || '{}'; // Empty mapping if no valid pairs.\n\t}\n\t\n\tfunction detectType(state, object, explicit) {\n\t var _result, typeList, index, length, type, style;\n\t\n\t typeList = explicit ? state.explicitTypes : state.implicitTypes;\n\t\n\t for (index = 0, length = typeList.length; index < length; index += 1) {\n\t type = typeList[index];\n\t\n\t if ((type.instanceOf || type.predicate) &&\n\t (!type.instanceOf || ((typeof object === 'object') && (object instanceof type.instanceOf))) &&\n\t (!type.predicate || type.predicate(object))) {\n\t\n\t state.tag = explicit ? type.tag : '?';\n\t\n\t if (type.represent) {\n\t style = state.styleMap[type.tag] || type.defaultStyle;\n\t\n\t if (_toString.call(type.represent) === '[object Function]') {\n\t _result = type.represent(object, style);\n\t } else if (_hasOwnProperty.call(type.represent, style)) {\n\t _result = type.represent[style](object, style);\n\t } else {\n\t throw new YAMLException('!<' + type.tag + '> tag resolver accepts not \"' + style + '\" style');\n\t }\n\t\n\t state.dump = _result;\n\t }\n\t\n\t return true;\n\t }\n\t }\n\t\n\t return false;\n\t}\n\t\n\t// Serializes `object` and writes it to global `result`.\n\t// Returns true on success, or false on invalid object.\n\t//\n\tfunction writeNode(state, level, object, block, compact, iskey) {\n\t state.tag = null;\n\t state.dump = object;\n\t\n\t if (!detectType(state, object, false)) {\n\t detectType(state, object, true);\n\t }\n\t\n\t var type = _toString.call(state.dump);\n\t\n\t if (block) {\n\t block = (state.flowLevel < 0 || state.flowLevel > level);\n\t }\n\t\n\t var objectOrArray = type === '[object Object]' || type === '[object Array]',\n\t duplicateIndex,\n\t duplicate;\n\t\n\t if (objectOrArray) {\n\t duplicateIndex = state.duplicates.indexOf(object);\n\t duplicate = duplicateIndex !== -1;\n\t }\n\t\n\t if ((state.tag !== null && state.tag !== '?') || duplicate || (state.indent !== 2 && level > 0)) {\n\t compact = false;\n\t }\n\t\n\t if (duplicate && state.usedDuplicates[duplicateIndex]) {\n\t state.dump = '*ref_' + duplicateIndex;\n\t } else {\n\t if (objectOrArray && duplicate && !state.usedDuplicates[duplicateIndex]) {\n\t state.usedDuplicates[duplicateIndex] = true;\n\t }\n\t if (type === '[object Object]') {\n\t if (block && (Object.keys(state.dump).length !== 0)) {\n\t writeBlockMapping(state, level, state.dump, compact);\n\t if (duplicate) {\n\t state.dump = '&ref_' + duplicateIndex + state.dump;\n\t }\n\t } else {\n\t writeFlowMapping(state, level, state.dump);\n\t if (duplicate) {\n\t state.dump = '&ref_' + duplicateIndex + ' ' + state.dump;\n\t }\n\t }\n\t } else if (type === '[object Array]') {\n\t if (block && (state.dump.length !== 0)) {\n\t writeBlockSequence(state, level, state.dump, compact);\n\t if (duplicate) {\n\t state.dump = '&ref_' + duplicateIndex + state.dump;\n\t }\n\t } else {\n\t writeFlowSequence(state, level, state.dump);\n\t if (duplicate) {\n\t state.dump = '&ref_' + duplicateIndex + ' ' + state.dump;\n\t }\n\t }\n\t } else if (type === '[object String]') {\n\t if (state.tag !== '?') {\n\t writeScalar(state, state.dump, level, iskey);\n\t }\n\t } else {\n\t if (state.skipInvalid) return false;\n\t throw new YAMLException('unacceptable kind of an object to dump ' + type);\n\t }\n\t\n\t if (state.tag !== null && state.tag !== '?') {\n\t state.dump = '!<' + state.tag + '> ' + state.dump;\n\t }\n\t }\n\t\n\t return true;\n\t}\n\t\n\tfunction getDuplicateReferences(object, state) {\n\t var objects = [],\n\t duplicatesIndexes = [],\n\t index,\n\t length;\n\t\n\t inspectNode(object, objects, duplicatesIndexes);\n\t\n\t for (index = 0, length = duplicatesIndexes.length; index < length; index += 1) {\n\t state.duplicates.push(objects[duplicatesIndexes[index]]);\n\t }\n\t state.usedDuplicates = new Array(length);\n\t}\n\t\n\tfunction inspectNode(object, objects, duplicatesIndexes) {\n\t var objectKeyList,\n\t index,\n\t length;\n\t\n\t if (object !== null && typeof object === 'object') {\n\t index = objects.indexOf(object);\n\t if (index !== -1) {\n\t if (duplicatesIndexes.indexOf(index) === -1) {\n\t duplicatesIndexes.push(index);\n\t }\n\t } else {\n\t objects.push(object);\n\t\n\t if (Array.isArray(object)) {\n\t for (index = 0, length = object.length; index < length; index += 1) {\n\t inspectNode(object[index], objects, duplicatesIndexes);\n\t }\n\t } else {\n\t objectKeyList = Object.keys(object);\n\t\n\t for (index = 0, length = objectKeyList.length; index < length; index += 1) {\n\t inspectNode(object[objectKeyList[index]], objects, duplicatesIndexes);\n\t }\n\t }\n\t }\n\t }\n\t}\n\t\n\tfunction dump(input, options) {\n\t options = options || {};\n\t\n\t var state = new State(options);\n\t\n\t if (!state.noRefs) getDuplicateReferences(input, state);\n\t\n\t if (writeNode(state, 0, input, true, true)) return state.dump + '\\n';\n\t\n\t return '';\n\t}\n\t\n\tfunction safeDump(input, options) {\n\t return dump(input, common.extend({ schema: DEFAULT_SAFE_SCHEMA }, options));\n\t}\n\t\n\tmodule.exports.dump = dump;\n\tmodule.exports.safeDump = safeDump;\n\n\n/***/ },\n/* 439 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\t/*eslint-disable max-len,no-use-before-define*/\n\t\n\tvar common = __webpack_require__(49);\n\tvar YAMLException = __webpack_require__(63);\n\tvar Mark = __webpack_require__(440);\n\tvar DEFAULT_SAFE_SCHEMA = __webpack_require__(64);\n\tvar DEFAULT_FULL_SCHEMA = __webpack_require__(86);\n\t\n\t\n\tvar _hasOwnProperty = Object.prototype.hasOwnProperty;\n\t\n\t\n\tvar CONTEXT_FLOW_IN = 1;\n\tvar CONTEXT_FLOW_OUT = 2;\n\tvar CONTEXT_BLOCK_IN = 3;\n\tvar CONTEXT_BLOCK_OUT = 4;\n\t\n\t\n\tvar CHOMPING_CLIP = 1;\n\tvar CHOMPING_STRIP = 2;\n\tvar CHOMPING_KEEP = 3;\n\t\n\t\n\tvar PATTERN_NON_PRINTABLE = /[\\x00-\\x08\\x0B\\x0C\\x0E-\\x1F\\x7F-\\x84\\x86-\\x9F\\uFFFE\\uFFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF]/;\n\tvar PATTERN_NON_ASCII_LINE_BREAKS = /[\\x85\\u2028\\u2029]/;\n\tvar PATTERN_FLOW_INDICATORS = /[,\\[\\]\\{\\}]/;\n\tvar PATTERN_TAG_HANDLE = /^(?:!|!!|![a-z\\-]+!)$/i;\n\tvar PATTERN_TAG_URI = /^(?:!|[^,\\[\\]\\{\\}])(?:%[0-9a-f]{2}|[0-9a-z\\-#;\\/\\?:@&=\\+\\$,_\\.!~\\*'\\(\\)\\[\\]])*$/i;\n\t\n\t\n\tfunction is_EOL(c) {\n\t return (c === 0x0A/* LF */) || (c === 0x0D/* CR */);\n\t}\n\t\n\tfunction is_WHITE_SPACE(c) {\n\t return (c === 0x09/* Tab */) || (c === 0x20/* Space */);\n\t}\n\t\n\tfunction is_WS_OR_EOL(c) {\n\t return (c === 0x09/* Tab */) ||\n\t (c === 0x20/* Space */) ||\n\t (c === 0x0A/* LF */) ||\n\t (c === 0x0D/* CR */);\n\t}\n\t\n\tfunction is_FLOW_INDICATOR(c) {\n\t return c === 0x2C/* , */ ||\n\t c === 0x5B/* [ */ ||\n\t c === 0x5D/* ] */ ||\n\t c === 0x7B/* { */ ||\n\t c === 0x7D/* } */;\n\t}\n\t\n\tfunction fromHexCode(c) {\n\t var lc;\n\t\n\t if ((0x30/* 0 */ <= c) && (c <= 0x39/* 9 */)) {\n\t return c - 0x30;\n\t }\n\t\n\t /*eslint-disable no-bitwise*/\n\t lc = c | 0x20;\n\t\n\t if ((0x61/* a */ <= lc) && (lc <= 0x66/* f */)) {\n\t return lc - 0x61 + 10;\n\t }\n\t\n\t return -1;\n\t}\n\t\n\tfunction escapedHexLen(c) {\n\t if (c === 0x78/* x */) { return 2; }\n\t if (c === 0x75/* u */) { return 4; }\n\t if (c === 0x55/* U */) { return 8; }\n\t return 0;\n\t}\n\t\n\tfunction fromDecimalCode(c) {\n\t if ((0x30/* 0 */ <= c) && (c <= 0x39/* 9 */)) {\n\t return c - 0x30;\n\t }\n\t\n\t return -1;\n\t}\n\t\n\tfunction simpleEscapeSequence(c) {\n\t return (c === 0x30/* 0 */) ? '\\x00' :\n\t (c === 0x61/* a */) ? '\\x07' :\n\t (c === 0x62/* b */) ? '\\x08' :\n\t (c === 0x74/* t */) ? '\\x09' :\n\t (c === 0x09/* Tab */) ? '\\x09' :\n\t (c === 0x6E/* n */) ? '\\x0A' :\n\t (c === 0x76/* v */) ? '\\x0B' :\n\t (c === 0x66/* f */) ? '\\x0C' :\n\t (c === 0x72/* r */) ? '\\x0D' :\n\t (c === 0x65/* e */) ? '\\x1B' :\n\t (c === 0x20/* Space */) ? ' ' :\n\t (c === 0x22/* \" */) ? '\\x22' :\n\t (c === 0x2F/* / */) ? '/' :\n\t (c === 0x5C/* \\ */) ? '\\x5C' :\n\t (c === 0x4E/* N */) ? '\\x85' :\n\t (c === 0x5F/* _ */) ? '\\xA0' :\n\t (c === 0x4C/* L */) ? '\\u2028' :\n\t (c === 0x50/* P */) ? '\\u2029' : '';\n\t}\n\t\n\tfunction charFromCodepoint(c) {\n\t if (c <= 0xFFFF) {\n\t return String.fromCharCode(c);\n\t }\n\t // Encode UTF-16 surrogate pair\n\t // https://en.wikipedia.org/wiki/UTF-16#Code_points_U.2B010000_to_U.2B10FFFF\n\t return String.fromCharCode(((c - 0x010000) >> 10) + 0xD800,\n\t ((c - 0x010000) & 0x03FF) + 0xDC00);\n\t}\n\t\n\tvar simpleEscapeCheck = new Array(256); // integer, for fast access\n\tvar simpleEscapeMap = new Array(256);\n\tfor (var i = 0; i < 256; i++) {\n\t simpleEscapeCheck[i] = simpleEscapeSequence(i) ? 1 : 0;\n\t simpleEscapeMap[i] = simpleEscapeSequence(i);\n\t}\n\t\n\t\n\tfunction State(input, options) {\n\t this.input = input;\n\t\n\t this.filename = options['filename'] || null;\n\t this.schema = options['schema'] || DEFAULT_FULL_SCHEMA;\n\t this.onWarning = options['onWarning'] || null;\n\t this.legacy = options['legacy'] || false;\n\t this.json = options['json'] || false;\n\t this.listener = options['listener'] || null;\n\t\n\t this.implicitTypes = this.schema.compiledImplicit;\n\t this.typeMap = this.schema.compiledTypeMap;\n\t\n\t this.length = input.length;\n\t this.position = 0;\n\t this.line = 0;\n\t this.lineStart = 0;\n\t this.lineIndent = 0;\n\t\n\t this.documents = [];\n\t\n\t /*\n\t this.version;\n\t this.checkLineBreaks;\n\t this.tagMap;\n\t this.anchorMap;\n\t this.tag;\n\t this.anchor;\n\t this.kind;\n\t this.result;*/\n\t\n\t}\n\t\n\t\n\tfunction generateError(state, message) {\n\t return new YAMLException(\n\t message,\n\t new Mark(state.filename, state.input, state.position, state.line, (state.position - state.lineStart)));\n\t}\n\t\n\tfunction throwError(state, message) {\n\t throw generateError(state, message);\n\t}\n\t\n\tfunction throwWarning(state, message) {\n\t if (state.onWarning) {\n\t state.onWarning.call(null, generateError(state, message));\n\t }\n\t}\n\t\n\t\n\tvar directiveHandlers = {\n\t\n\t YAML: function handleYamlDirective(state, name, args) {\n\t\n\t var match, major, minor;\n\t\n\t if (state.version !== null) {\n\t throwError(state, 'duplication of %YAML directive');\n\t }\n\t\n\t if (args.length !== 1) {\n\t throwError(state, 'YAML directive accepts exactly one argument');\n\t }\n\t\n\t match = /^([0-9]+)\\.([0-9]+)$/.exec(args[0]);\n\t\n\t if (match === null) {\n\t throwError(state, 'ill-formed argument of the YAML directive');\n\t }\n\t\n\t major = parseInt(match[1], 10);\n\t minor = parseInt(match[2], 10);\n\t\n\t if (major !== 1) {\n\t throwError(state, 'unacceptable YAML version of the document');\n\t }\n\t\n\t state.version = args[0];\n\t state.checkLineBreaks = (minor < 2);\n\t\n\t if (minor !== 1 && minor !== 2) {\n\t throwWarning(state, 'unsupported YAML version of the document');\n\t }\n\t },\n\t\n\t TAG: function handleTagDirective(state, name, args) {\n\t\n\t var handle, prefix;\n\t\n\t if (args.length !== 2) {\n\t throwError(state, 'TAG directive accepts exactly two arguments');\n\t }\n\t\n\t handle = args[0];\n\t prefix = args[1];\n\t\n\t if (!PATTERN_TAG_HANDLE.test(handle)) {\n\t throwError(state, 'ill-formed tag handle (first argument) of the TAG directive');\n\t }\n\t\n\t if (_hasOwnProperty.call(state.tagMap, handle)) {\n\t throwError(state, 'there is a previously declared suffix for \"' + handle + '\" tag handle');\n\t }\n\t\n\t if (!PATTERN_TAG_URI.test(prefix)) {\n\t throwError(state, 'ill-formed tag prefix (second argument) of the TAG directive');\n\t }\n\t\n\t state.tagMap[handle] = prefix;\n\t }\n\t};\n\t\n\t\n\tfunction captureSegment(state, start, end, checkJson) {\n\t var _position, _length, _character, _result;\n\t\n\t if (start < end) {\n\t _result = state.input.slice(start, end);\n\t\n\t if (checkJson) {\n\t for (_position = 0, _length = _result.length;\n\t _position < _length;\n\t _position += 1) {\n\t _character = _result.charCodeAt(_position);\n\t if (!(_character === 0x09 ||\n\t (0x20 <= _character && _character <= 0x10FFFF))) {\n\t throwError(state, 'expected valid JSON character');\n\t }\n\t }\n\t } else if (PATTERN_NON_PRINTABLE.test(_result)) {\n\t throwError(state, 'the stream contains non-printable characters');\n\t }\n\t\n\t state.result += _result;\n\t }\n\t}\n\t\n\tfunction mergeMappings(state, destination, source, overridableKeys) {\n\t var sourceKeys, key, index, quantity;\n\t\n\t if (!common.isObject(source)) {\n\t throwError(state, 'cannot merge mappings; the provided source object is unacceptable');\n\t }\n\t\n\t sourceKeys = Object.keys(source);\n\t\n\t for (index = 0, quantity = sourceKeys.length; index < quantity; index += 1) {\n\t key = sourceKeys[index];\n\t\n\t if (!_hasOwnProperty.call(destination, key)) {\n\t destination[key] = source[key];\n\t overridableKeys[key] = true;\n\t }\n\t }\n\t}\n\t\n\tfunction storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, valueNode) {\n\t var index, quantity;\n\t\n\t keyNode = String(keyNode);\n\t\n\t if (_result === null) {\n\t _result = {};\n\t }\n\t\n\t if (keyTag === 'tag:yaml.org,2002:merge') {\n\t if (Array.isArray(valueNode)) {\n\t for (index = 0, quantity = valueNode.length; index < quantity; index += 1) {\n\t mergeMappings(state, _result, valueNode[index], overridableKeys);\n\t }\n\t } else {\n\t mergeMappings(state, _result, valueNode, overridableKeys);\n\t }\n\t } else {\n\t if (!state.json &&\n\t !_hasOwnProperty.call(overridableKeys, keyNode) &&\n\t _hasOwnProperty.call(_result, keyNode)) {\n\t throwError(state, 'duplicated mapping key');\n\t }\n\t _result[keyNode] = valueNode;\n\t delete overridableKeys[keyNode];\n\t }\n\t\n\t return _result;\n\t}\n\t\n\tfunction readLineBreak(state) {\n\t var ch;\n\t\n\t ch = state.input.charCodeAt(state.position);\n\t\n\t if (ch === 0x0A/* LF */) {\n\t state.position++;\n\t } else if (ch === 0x0D/* CR */) {\n\t state.position++;\n\t if (state.input.charCodeAt(state.position) === 0x0A/* LF */) {\n\t state.position++;\n\t }\n\t } else {\n\t throwError(state, 'a line break is expected');\n\t }\n\t\n\t state.line += 1;\n\t state.lineStart = state.position;\n\t}\n\t\n\tfunction skipSeparationSpace(state, allowComments, checkIndent) {\n\t var lineBreaks = 0,\n\t ch = state.input.charCodeAt(state.position);\n\t\n\t while (ch !== 0) {\n\t while (is_WHITE_SPACE(ch)) {\n\t ch = state.input.charCodeAt(++state.position);\n\t }\n\t\n\t if (allowComments && ch === 0x23/* # */) {\n\t do {\n\t ch = state.input.charCodeAt(++state.position);\n\t } while (ch !== 0x0A/* LF */ && ch !== 0x0D/* CR */ && ch !== 0);\n\t }\n\t\n\t if (is_EOL(ch)) {\n\t readLineBreak(state);\n\t\n\t ch = state.input.charCodeAt(state.position);\n\t lineBreaks++;\n\t state.lineIndent = 0;\n\t\n\t while (ch === 0x20/* Space */) {\n\t state.lineIndent++;\n\t ch = state.input.charCodeAt(++state.position);\n\t }\n\t } else {\n\t break;\n\t }\n\t }\n\t\n\t if (checkIndent !== -1 && lineBreaks !== 0 && state.lineIndent < checkIndent) {\n\t throwWarning(state, 'deficient indentation');\n\t }\n\t\n\t return lineBreaks;\n\t}\n\t\n\tfunction testDocumentSeparator(state) {\n\t var _position = state.position,\n\t ch;\n\t\n\t ch = state.input.charCodeAt(_position);\n\t\n\t // Condition state.position === state.lineStart is tested\n\t // in parent on each call, for efficiency. No needs to test here again.\n\t if ((ch === 0x2D/* - */ || ch === 0x2E/* . */) &&\n\t ch === state.input.charCodeAt(_position + 1) &&\n\t ch === state.input.charCodeAt(_position + 2)) {\n\t\n\t _position += 3;\n\t\n\t ch = state.input.charCodeAt(_position);\n\t\n\t if (ch === 0 || is_WS_OR_EOL(ch)) {\n\t return true;\n\t }\n\t }\n\t\n\t return false;\n\t}\n\t\n\tfunction writeFoldedLines(state, count) {\n\t if (count === 1) {\n\t state.result += ' ';\n\t } else if (count > 1) {\n\t state.result += common.repeat('\\n', count - 1);\n\t }\n\t}\n\t\n\t\n\tfunction readPlainScalar(state, nodeIndent, withinFlowCollection) {\n\t var preceding,\n\t following,\n\t captureStart,\n\t captureEnd,\n\t hasPendingContent,\n\t _line,\n\t _lineStart,\n\t _lineIndent,\n\t _kind = state.kind,\n\t _result = state.result,\n\t ch;\n\t\n\t ch = state.input.charCodeAt(state.position);\n\t\n\t if (is_WS_OR_EOL(ch) ||\n\t is_FLOW_INDICATOR(ch) ||\n\t ch === 0x23/* # */ ||\n\t ch === 0x26/* & */ ||\n\t ch === 0x2A/* * */ ||\n\t ch === 0x21/* ! */ ||\n\t ch === 0x7C/* | */ ||\n\t ch === 0x3E/* > */ ||\n\t ch === 0x27/* ' */ ||\n\t ch === 0x22/* \" */ ||\n\t ch === 0x25/* % */ ||\n\t ch === 0x40/* @ */ ||\n\t ch === 0x60/* ` */) {\n\t return false;\n\t }\n\t\n\t if (ch === 0x3F/* ? */ || ch === 0x2D/* - */) {\n\t following = state.input.charCodeAt(state.position + 1);\n\t\n\t if (is_WS_OR_EOL(following) ||\n\t withinFlowCollection && is_FLOW_INDICATOR(following)) {\n\t return false;\n\t }\n\t }\n\t\n\t state.kind = 'scalar';\n\t state.result = '';\n\t captureStart = captureEnd = state.position;\n\t hasPendingContent = false;\n\t\n\t while (ch !== 0) {\n\t if (ch === 0x3A/* : */) {\n\t following = state.input.charCodeAt(state.position + 1);\n\t\n\t if (is_WS_OR_EOL(following) ||\n\t withinFlowCollection && is_FLOW_INDICATOR(following)) {\n\t break;\n\t }\n\t\n\t } else if (ch === 0x23/* # */) {\n\t preceding = state.input.charCodeAt(state.position - 1);\n\t\n\t if (is_WS_OR_EOL(preceding)) {\n\t break;\n\t }\n\t\n\t } else if ((state.position === state.lineStart && testDocumentSeparator(state)) ||\n\t withinFlowCollection && is_FLOW_INDICATOR(ch)) {\n\t break;\n\t\n\t } else if (is_EOL(ch)) {\n\t _line = state.line;\n\t _lineStart = state.lineStart;\n\t _lineIndent = state.lineIndent;\n\t skipSeparationSpace(state, false, -1);\n\t\n\t if (state.lineIndent >= nodeIndent) {\n\t hasPendingContent = true;\n\t ch = state.input.charCodeAt(state.position);\n\t continue;\n\t } else {\n\t state.position = captureEnd;\n\t state.line = _line;\n\t state.lineStart = _lineStart;\n\t state.lineIndent = _lineIndent;\n\t break;\n\t }\n\t }\n\t\n\t if (hasPendingContent) {\n\t captureSegment(state, captureStart, captureEnd, false);\n\t writeFoldedLines(state, state.line - _line);\n\t captureStart = captureEnd = state.position;\n\t hasPendingContent = false;\n\t }\n\t\n\t if (!is_WHITE_SPACE(ch)) {\n\t captureEnd = state.position + 1;\n\t }\n\t\n\t ch = state.input.charCodeAt(++state.position);\n\t }\n\t\n\t captureSegment(state, captureStart, captureEnd, false);\n\t\n\t if (state.result) {\n\t return true;\n\t }\n\t\n\t state.kind = _kind;\n\t state.result = _result;\n\t return false;\n\t}\n\t\n\tfunction readSingleQuotedScalar(state, nodeIndent) {\n\t var ch,\n\t captureStart, captureEnd;\n\t\n\t ch = state.input.charCodeAt(state.position);\n\t\n\t if (ch !== 0x27/* ' */) {\n\t return false;\n\t }\n\t\n\t state.kind = 'scalar';\n\t state.result = '';\n\t state.position++;\n\t captureStart = captureEnd = state.position;\n\t\n\t while ((ch = state.input.charCodeAt(state.position)) !== 0) {\n\t if (ch === 0x27/* ' */) {\n\t captureSegment(state, captureStart, state.position, true);\n\t ch = state.input.charCodeAt(++state.position);\n\t\n\t if (ch === 0x27/* ' */) {\n\t captureStart = state.position;\n\t state.position++;\n\t captureEnd = state.position;\n\t } else {\n\t return true;\n\t }\n\t\n\t } else if (is_EOL(ch)) {\n\t captureSegment(state, captureStart, captureEnd, true);\n\t writeFoldedLines(state, skipSeparationSpace(state, false, nodeIndent));\n\t captureStart = captureEnd = state.position;\n\t\n\t } else if (state.position === state.lineStart && testDocumentSeparator(state)) {\n\t throwError(state, 'unexpected end of the document within a single quoted scalar');\n\t\n\t } else {\n\t state.position++;\n\t captureEnd = state.position;\n\t }\n\t }\n\t\n\t throwError(state, 'unexpected end of the stream within a single quoted scalar');\n\t}\n\t\n\tfunction readDoubleQuotedScalar(state, nodeIndent) {\n\t var captureStart,\n\t captureEnd,\n\t hexLength,\n\t hexResult,\n\t tmp,\n\t ch;\n\t\n\t ch = state.input.charCodeAt(state.position);\n\t\n\t if (ch !== 0x22/* \" */) {\n\t return false;\n\t }\n\t\n\t state.kind = 'scalar';\n\t state.result = '';\n\t state.position++;\n\t captureStart = captureEnd = state.position;\n\t\n\t while ((ch = state.input.charCodeAt(state.position)) !== 0) {\n\t if (ch === 0x22/* \" */) {\n\t captureSegment(state, captureStart, state.position, true);\n\t state.position++;\n\t return true;\n\t\n\t } else if (ch === 0x5C/* \\ */) {\n\t captureSegment(state, captureStart, state.position, true);\n\t ch = state.input.charCodeAt(++state.position);\n\t\n\t if (is_EOL(ch)) {\n\t skipSeparationSpace(state, false, nodeIndent);\n\t\n\t // TODO: rework to inline fn with no type cast?\n\t } else if (ch < 256 && simpleEscapeCheck[ch]) {\n\t state.result += simpleEscapeMap[ch];\n\t state.position++;\n\t\n\t } else if ((tmp = escapedHexLen(ch)) > 0) {\n\t hexLength = tmp;\n\t hexResult = 0;\n\t\n\t for (; hexLength > 0; hexLength--) {\n\t ch = state.input.charCodeAt(++state.position);\n\t\n\t if ((tmp = fromHexCode(ch)) >= 0) {\n\t hexResult = (hexResult << 4) + tmp;\n\t\n\t } else {\n\t throwError(state, 'expected hexadecimal character');\n\t }\n\t }\n\t\n\t state.result += charFromCodepoint(hexResult);\n\t\n\t state.position++;\n\t\n\t } else {\n\t throwError(state, 'unknown escape sequence');\n\t }\n\t\n\t captureStart = captureEnd = state.position;\n\t\n\t } else if (is_EOL(ch)) {\n\t captureSegment(state, captureStart, captureEnd, true);\n\t writeFoldedLines(state, skipSeparationSpace(state, false, nodeIndent));\n\t captureStart = captureEnd = state.position;\n\t\n\t } else if (state.position === state.lineStart && testDocumentSeparator(state)) {\n\t throwError(state, 'unexpected end of the document within a double quoted scalar');\n\t\n\t } else {\n\t state.position++;\n\t captureEnd = state.position;\n\t }\n\t }\n\t\n\t throwError(state, 'unexpected end of the stream within a double quoted scalar');\n\t}\n\t\n\tfunction readFlowCollection(state, nodeIndent) {\n\t var readNext = true,\n\t _line,\n\t _tag = state.tag,\n\t _result,\n\t _anchor = state.anchor,\n\t following,\n\t terminator,\n\t isPair,\n\t isExplicitPair,\n\t isMapping,\n\t overridableKeys = {},\n\t keyNode,\n\t keyTag,\n\t valueNode,\n\t ch;\n\t\n\t ch = state.input.charCodeAt(state.position);\n\t\n\t if (ch === 0x5B/* [ */) {\n\t terminator = 0x5D;/* ] */\n\t isMapping = false;\n\t _result = [];\n\t } else if (ch === 0x7B/* { */) {\n\t terminator = 0x7D;/* } */\n\t isMapping = true;\n\t _result = {};\n\t } else {\n\t return false;\n\t }\n\t\n\t if (state.anchor !== null) {\n\t state.anchorMap[state.anchor] = _result;\n\t }\n\t\n\t ch = state.input.charCodeAt(++state.position);\n\t\n\t while (ch !== 0) {\n\t skipSeparationSpace(state, true, nodeIndent);\n\t\n\t ch = state.input.charCodeAt(state.position);\n\t\n\t if (ch === terminator) {\n\t state.position++;\n\t state.tag = _tag;\n\t state.anchor = _anchor;\n\t state.kind = isMapping ? 'mapping' : 'sequence';\n\t state.result = _result;\n\t return true;\n\t } else if (!readNext) {\n\t throwError(state, 'missed comma between flow collection entries');\n\t }\n\t\n\t keyTag = keyNode = valueNode = null;\n\t isPair = isExplicitPair = false;\n\t\n\t if (ch === 0x3F/* ? */) {\n\t following = state.input.charCodeAt(state.position + 1);\n\t\n\t if (is_WS_OR_EOL(following)) {\n\t isPair = isExplicitPair = true;\n\t state.position++;\n\t skipSeparationSpace(state, true, nodeIndent);\n\t }\n\t }\n\t\n\t _line = state.line;\n\t composeNode(state, nodeIndent, CONTEXT_FLOW_IN, false, true);\n\t keyTag = state.tag;\n\t keyNode = state.result;\n\t skipSeparationSpace(state, true, nodeIndent);\n\t\n\t ch = state.input.charCodeAt(state.position);\n\t\n\t if ((isExplicitPair || state.line === _line) && ch === 0x3A/* : */) {\n\t isPair = true;\n\t ch = state.input.charCodeAt(++state.position);\n\t skipSeparationSpace(state, true, nodeIndent);\n\t composeNode(state, nodeIndent, CONTEXT_FLOW_IN, false, true);\n\t valueNode = state.result;\n\t }\n\t\n\t if (isMapping) {\n\t storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, valueNode);\n\t } else if (isPair) {\n\t _result.push(storeMappingPair(state, null, overridableKeys, keyTag, keyNode, valueNode));\n\t } else {\n\t _result.push(keyNode);\n\t }\n\t\n\t skipSeparationSpace(state, true, nodeIndent);\n\t\n\t ch = state.input.charCodeAt(state.position);\n\t\n\t if (ch === 0x2C/* , */) {\n\t readNext = true;\n\t ch = state.input.charCodeAt(++state.position);\n\t } else {\n\t readNext = false;\n\t }\n\t }\n\t\n\t throwError(state, 'unexpected end of the stream within a flow collection');\n\t}\n\t\n\tfunction readBlockScalar(state, nodeIndent) {\n\t var captureStart,\n\t folding,\n\t chomping = CHOMPING_CLIP,\n\t didReadContent = false,\n\t detectedIndent = false,\n\t textIndent = nodeIndent,\n\t emptyLines = 0,\n\t atMoreIndented = false,\n\t tmp,\n\t ch;\n\t\n\t ch = state.input.charCodeAt(state.position);\n\t\n\t if (ch === 0x7C/* | */) {\n\t folding = false;\n\t } else if (ch === 0x3E/* > */) {\n\t folding = true;\n\t } else {\n\t return false;\n\t }\n\t\n\t state.kind = 'scalar';\n\t state.result = '';\n\t\n\t while (ch !== 0) {\n\t ch = state.input.charCodeAt(++state.position);\n\t\n\t if (ch === 0x2B/* + */ || ch === 0x2D/* - */) {\n\t if (CHOMPING_CLIP === chomping) {\n\t chomping = (ch === 0x2B/* + */) ? CHOMPING_KEEP : CHOMPING_STRIP;\n\t } else {\n\t throwError(state, 'repeat of a chomping mode identifier');\n\t }\n\t\n\t } else if ((tmp = fromDecimalCode(ch)) >= 0) {\n\t if (tmp === 0) {\n\t throwError(state, 'bad explicit indentation width of a block scalar; it cannot be less than one');\n\t } else if (!detectedIndent) {\n\t textIndent = nodeIndent + tmp - 1;\n\t detectedIndent = true;\n\t } else {\n\t throwError(state, 'repeat of an indentation width identifier');\n\t }\n\t\n\t } else {\n\t break;\n\t }\n\t }\n\t\n\t if (is_WHITE_SPACE(ch)) {\n\t do { ch = state.input.charCodeAt(++state.position); }\n\t while (is_WHITE_SPACE(ch));\n\t\n\t if (ch === 0x23/* # */) {\n\t do { ch = state.input.charCodeAt(++state.position); }\n\t while (!is_EOL(ch) && (ch !== 0));\n\t }\n\t }\n\t\n\t while (ch !== 0) {\n\t readLineBreak(state);\n\t state.lineIndent = 0;\n\t\n\t ch = state.input.charCodeAt(state.position);\n\t\n\t while ((!detectedIndent || state.lineIndent < textIndent) &&\n\t (ch === 0x20/* Space */)) {\n\t state.lineIndent++;\n\t ch = state.input.charCodeAt(++state.position);\n\t }\n\t\n\t if (!detectedIndent && state.lineIndent > textIndent) {\n\t textIndent = state.lineIndent;\n\t }\n\t\n\t if (is_EOL(ch)) {\n\t emptyLines++;\n\t continue;\n\t }\n\t\n\t // End of the scalar.\n\t if (state.lineIndent < textIndent) {\n\t\n\t // Perform the chomping.\n\t if (chomping === CHOMPING_KEEP) {\n\t state.result += common.repeat('\\n', didReadContent ? 1 + emptyLines : emptyLines);\n\t } else if (chomping === CHOMPING_CLIP) {\n\t if (didReadContent) { // i.e. only if the scalar is not empty.\n\t state.result += '\\n';\n\t }\n\t }\n\t\n\t // Break this `while` cycle and go to the funciton's epilogue.\n\t break;\n\t }\n\t\n\t // Folded style: use fancy rules to handle line breaks.\n\t if (folding) {\n\t\n\t // Lines starting with white space characters (more-indented lines) are not folded.\n\t if (is_WHITE_SPACE(ch)) {\n\t atMoreIndented = true;\n\t // except for the first content line (cf. Example 8.1)\n\t state.result += common.repeat('\\n', didReadContent ? 1 + emptyLines : emptyLines);\n\t\n\t // End of more-indented block.\n\t } else if (atMoreIndented) {\n\t atMoreIndented = false;\n\t state.result += common.repeat('\\n', emptyLines + 1);\n\t\n\t // Just one line break - perceive as the same line.\n\t } else if (emptyLines === 0) {\n\t if (didReadContent) { // i.e. only if we have already read some scalar content.\n\t state.result += ' ';\n\t }\n\t\n\t // Several line breaks - perceive as different lines.\n\t } else {\n\t state.result += common.repeat('\\n', emptyLines);\n\t }\n\t\n\t // Literal style: just add exact number of line breaks between content lines.\n\t } else {\n\t // Keep all line breaks except the header line break.\n\t state.result += common.repeat('\\n', didReadContent ? 1 + emptyLines : emptyLines);\n\t }\n\t\n\t didReadContent = true;\n\t detectedIndent = true;\n\t emptyLines = 0;\n\t captureStart = state.position;\n\t\n\t while (!is_EOL(ch) && (ch !== 0)) {\n\t ch = state.input.charCodeAt(++state.position);\n\t }\n\t\n\t captureSegment(state, captureStart, state.position, false);\n\t }\n\t\n\t return true;\n\t}\n\t\n\tfunction readBlockSequence(state, nodeIndent) {\n\t var _line,\n\t _tag = state.tag,\n\t _anchor = state.anchor,\n\t _result = [],\n\t following,\n\t detected = false,\n\t ch;\n\t\n\t if (state.anchor !== null) {\n\t state.anchorMap[state.anchor] = _result;\n\t }\n\t\n\t ch = state.input.charCodeAt(state.position);\n\t\n\t while (ch !== 0) {\n\t\n\t if (ch !== 0x2D/* - */) {\n\t break;\n\t }\n\t\n\t following = state.input.charCodeAt(state.position + 1);\n\t\n\t if (!is_WS_OR_EOL(following)) {\n\t break;\n\t }\n\t\n\t detected = true;\n\t state.position++;\n\t\n\t if (skipSeparationSpace(state, true, -1)) {\n\t if (state.lineIndent <= nodeIndent) {\n\t _result.push(null);\n\t ch = state.input.charCodeAt(state.position);\n\t continue;\n\t }\n\t }\n\t\n\t _line = state.line;\n\t composeNode(state, nodeIndent, CONTEXT_BLOCK_IN, false, true);\n\t _result.push(state.result);\n\t skipSeparationSpace(state, true, -1);\n\t\n\t ch = state.input.charCodeAt(state.position);\n\t\n\t if ((state.line === _line || state.lineIndent > nodeIndent) && (ch !== 0)) {\n\t throwError(state, 'bad indentation of a sequence entry');\n\t } else if (state.lineIndent < nodeIndent) {\n\t break;\n\t }\n\t }\n\t\n\t if (detected) {\n\t state.tag = _tag;\n\t state.anchor = _anchor;\n\t state.kind = 'sequence';\n\t state.result = _result;\n\t return true;\n\t }\n\t return false;\n\t}\n\t\n\tfunction readBlockMapping(state, nodeIndent, flowIndent) {\n\t var following,\n\t allowCompact,\n\t _line,\n\t _tag = state.tag,\n\t _anchor = state.anchor,\n\t _result = {},\n\t overridableKeys = {},\n\t keyTag = null,\n\t keyNode = null,\n\t valueNode = null,\n\t atExplicitKey = false,\n\t detected = false,\n\t ch;\n\t\n\t if (state.anchor !== null) {\n\t state.anchorMap[state.anchor] = _result;\n\t }\n\t\n\t ch = state.input.charCodeAt(state.position);\n\t\n\t while (ch !== 0) {\n\t following = state.input.charCodeAt(state.position + 1);\n\t _line = state.line; // Save the current line.\n\t\n\t //\n\t // Explicit notation case. There are two separate blocks:\n\t // first for the key (denoted by \"?\") and second for the value (denoted by \":\")\n\t //\n\t if ((ch === 0x3F/* ? */ || ch === 0x3A/* : */) && is_WS_OR_EOL(following)) {\n\t\n\t if (ch === 0x3F/* ? */) {\n\t if (atExplicitKey) {\n\t storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, null);\n\t keyTag = keyNode = valueNode = null;\n\t }\n\t\n\t detected = true;\n\t atExplicitKey = true;\n\t allowCompact = true;\n\t\n\t } else if (atExplicitKey) {\n\t // i.e. 0x3A/* : */ === character after the explicit key.\n\t atExplicitKey = false;\n\t allowCompact = true;\n\t\n\t } else {\n\t throwError(state, 'incomplete explicit mapping pair; a key node is missed');\n\t }\n\t\n\t state.position += 1;\n\t ch = following;\n\t\n\t //\n\t // Implicit notation case. Flow-style node as the key first, then \":\", and the value.\n\t //\n\t } else if (composeNode(state, flowIndent, CONTEXT_FLOW_OUT, false, true)) {\n\t\n\t if (state.line === _line) {\n\t ch = state.input.charCodeAt(state.position);\n\t\n\t while (is_WHITE_SPACE(ch)) {\n\t ch = state.input.charCodeAt(++state.position);\n\t }\n\t\n\t if (ch === 0x3A/* : */) {\n\t ch = state.input.charCodeAt(++state.position);\n\t\n\t if (!is_WS_OR_EOL(ch)) {\n\t throwError(state, 'a whitespace character is expected after the key-value separator within a block mapping');\n\t }\n\t\n\t if (atExplicitKey) {\n\t storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, null);\n\t keyTag = keyNode = valueNode = null;\n\t }\n\t\n\t detected = true;\n\t atExplicitKey = false;\n\t allowCompact = false;\n\t keyTag = state.tag;\n\t keyNode = state.result;\n\t\n\t } else if (detected) {\n\t throwError(state, 'can not read an implicit mapping pair; a colon is missed');\n\t\n\t } else {\n\t state.tag = _tag;\n\t state.anchor = _anchor;\n\t return true; // Keep the result of `composeNode`.\n\t }\n\t\n\t } else if (detected) {\n\t throwError(state, 'can not read a block mapping entry; a multiline key may not be an implicit key');\n\t\n\t } else {\n\t state.tag = _tag;\n\t state.anchor = _anchor;\n\t return true; // Keep the result of `composeNode`.\n\t }\n\t\n\t } else {\n\t break; // Reading is done. Go to the epilogue.\n\t }\n\t\n\t //\n\t // Common reading code for both explicit and implicit notations.\n\t //\n\t if (state.line === _line || state.lineIndent > nodeIndent) {\n\t if (composeNode(state, nodeIndent, CONTEXT_BLOCK_OUT, true, allowCompact)) {\n\t if (atExplicitKey) {\n\t keyNode = state.result;\n\t } else {\n\t valueNode = state.result;\n\t }\n\t }\n\t\n\t if (!atExplicitKey) {\n\t storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, valueNode);\n\t keyTag = keyNode = valueNode = null;\n\t }\n\t\n\t skipSeparationSpace(state, true, -1);\n\t ch = state.input.charCodeAt(state.position);\n\t }\n\t\n\t if (state.lineIndent > nodeIndent && (ch !== 0)) {\n\t throwError(state, 'bad indentation of a mapping entry');\n\t } else if (state.lineIndent < nodeIndent) {\n\t break;\n\t }\n\t }\n\t\n\t //\n\t // Epilogue.\n\t //\n\t\n\t // Special case: last mapping's node contains only the key in explicit notation.\n\t if (atExplicitKey) {\n\t storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, null);\n\t }\n\t\n\t // Expose the resulting mapping.\n\t if (detected) {\n\t state.tag = _tag;\n\t state.anchor = _anchor;\n\t state.kind = 'mapping';\n\t state.result = _result;\n\t }\n\t\n\t return detected;\n\t}\n\t\n\tfunction readTagProperty(state) {\n\t var _position,\n\t isVerbatim = false,\n\t isNamed = false,\n\t tagHandle,\n\t tagName,\n\t ch;\n\t\n\t ch = state.input.charCodeAt(state.position);\n\t\n\t if (ch !== 0x21/* ! */) return false;\n\t\n\t if (state.tag !== null) {\n\t throwError(state, 'duplication of a tag property');\n\t }\n\t\n\t ch = state.input.charCodeAt(++state.position);\n\t\n\t if (ch === 0x3C/* < */) {\n\t isVerbatim = true;\n\t ch = state.input.charCodeAt(++state.position);\n\t\n\t } else if (ch === 0x21/* ! */) {\n\t isNamed = true;\n\t tagHandle = '!!';\n\t ch = state.input.charCodeAt(++state.position);\n\t\n\t } else {\n\t tagHandle = '!';\n\t }\n\t\n\t _position = state.position;\n\t\n\t if (isVerbatim) {\n\t do { ch = state.input.charCodeAt(++state.position); }\n\t while (ch !== 0 && ch !== 0x3E/* > */);\n\t\n\t if (state.position < state.length) {\n\t tagName = state.input.slice(_position, state.position);\n\t ch = state.input.charCodeAt(++state.position);\n\t } else {\n\t throwError(state, 'unexpected end of the stream within a verbatim tag');\n\t }\n\t } else {\n\t while (ch !== 0 && !is_WS_OR_EOL(ch)) {\n\t\n\t if (ch === 0x21/* ! */) {\n\t if (!isNamed) {\n\t tagHandle = state.input.slice(_position - 1, state.position + 1);\n\t\n\t if (!PATTERN_TAG_HANDLE.test(tagHandle)) {\n\t throwError(state, 'named tag handle cannot contain such characters');\n\t }\n\t\n\t isNamed = true;\n\t _position = state.position + 1;\n\t } else {\n\t throwError(state, 'tag suffix cannot contain exclamation marks');\n\t }\n\t }\n\t\n\t ch = state.input.charCodeAt(++state.position);\n\t }\n\t\n\t tagName = state.input.slice(_position, state.position);\n\t\n\t if (PATTERN_FLOW_INDICATORS.test(tagName)) {\n\t throwError(state, 'tag suffix cannot contain flow indicator characters');\n\t }\n\t }\n\t\n\t if (tagName && !PATTERN_TAG_URI.test(tagName)) {\n\t throwError(state, 'tag name cannot contain such characters: ' + tagName);\n\t }\n\t\n\t if (isVerbatim) {\n\t state.tag = tagName;\n\t\n\t } else if (_hasOwnProperty.call(state.tagMap, tagHandle)) {\n\t state.tag = state.tagMap[tagHandle] + tagName;\n\t\n\t } else if (tagHandle === '!') {\n\t state.tag = '!' + tagName;\n\t\n\t } else if (tagHandle === '!!') {\n\t state.tag = 'tag:yaml.org,2002:' + tagName;\n\t\n\t } else {\n\t throwError(state, 'undeclared tag handle \"' + tagHandle + '\"');\n\t }\n\t\n\t return true;\n\t}\n\t\n\tfunction readAnchorProperty(state) {\n\t var _position,\n\t ch;\n\t\n\t ch = state.input.charCodeAt(state.position);\n\t\n\t if (ch !== 0x26/* & */) return false;\n\t\n\t if (state.anchor !== null) {\n\t throwError(state, 'duplication of an anchor property');\n\t }\n\t\n\t ch = state.input.charCodeAt(++state.position);\n\t _position = state.position;\n\t\n\t while (ch !== 0 && !is_WS_OR_EOL(ch) && !is_FLOW_INDICATOR(ch)) {\n\t ch = state.input.charCodeAt(++state.position);\n\t }\n\t\n\t if (state.position === _position) {\n\t throwError(state, 'name of an anchor node must contain at least one character');\n\t }\n\t\n\t state.anchor = state.input.slice(_position, state.position);\n\t return true;\n\t}\n\t\n\tfunction readAlias(state) {\n\t var _position, alias,\n\t ch;\n\t\n\t ch = state.input.charCodeAt(state.position);\n\t\n\t if (ch !== 0x2A/* * */) return false;\n\t\n\t ch = state.input.charCodeAt(++state.position);\n\t _position = state.position;\n\t\n\t while (ch !== 0 && !is_WS_OR_EOL(ch) && !is_FLOW_INDICATOR(ch)) {\n\t ch = state.input.charCodeAt(++state.position);\n\t }\n\t\n\t if (state.position === _position) {\n\t throwError(state, 'name of an alias node must contain at least one character');\n\t }\n\t\n\t alias = state.input.slice(_position, state.position);\n\t\n\t if (!state.anchorMap.hasOwnProperty(alias)) {\n\t throwError(state, 'unidentified alias \"' + alias + '\"');\n\t }\n\t\n\t state.result = state.anchorMap[alias];\n\t skipSeparationSpace(state, true, -1);\n\t return true;\n\t}\n\t\n\tfunction composeNode(state, parentIndent, nodeContext, allowToSeek, allowCompact) {\n\t var allowBlockStyles,\n\t allowBlockScalars,\n\t allowBlockCollections,\n\t indentStatus = 1, // 1: this>parent, 0: this=parent, -1: this<parent\n\t atNewLine = false,\n\t hasContent = false,\n\t typeIndex,\n\t typeQuantity,\n\t type,\n\t flowIndent,\n\t blockIndent;\n\t\n\t if (state.listener !== null) {\n\t state.listener('open', state);\n\t }\n\t\n\t state.tag = null;\n\t state.anchor = null;\n\t state.kind = null;\n\t state.result = null;\n\t\n\t allowBlockStyles = allowBlockScalars = allowBlockCollections =\n\t CONTEXT_BLOCK_OUT === nodeContext ||\n\t CONTEXT_BLOCK_IN === nodeContext;\n\t\n\t if (allowToSeek) {\n\t if (skipSeparationSpace(state, true, -1)) {\n\t atNewLine = true;\n\t\n\t if (state.lineIndent > parentIndent) {\n\t indentStatus = 1;\n\t } else if (state.lineIndent === parentIndent) {\n\t indentStatus = 0;\n\t } else if (state.lineIndent < parentIndent) {\n\t indentStatus = -1;\n\t }\n\t }\n\t }\n\t\n\t if (indentStatus === 1) {\n\t while (readTagProperty(state) || readAnchorProperty(state)) {\n\t if (skipSeparationSpace(state, true, -1)) {\n\t atNewLine = true;\n\t allowBlockCollections = allowBlockStyles;\n\t\n\t if (state.lineIndent > parentIndent) {\n\t indentStatus = 1;\n\t } else if (state.lineIndent === parentIndent) {\n\t indentStatus = 0;\n\t } else if (state.lineIndent < parentIndent) {\n\t indentStatus = -1;\n\t }\n\t } else {\n\t allowBlockCollections = false;\n\t }\n\t }\n\t }\n\t\n\t if (allowBlockCollections) {\n\t allowBlockCollections = atNewLine || allowCompact;\n\t }\n\t\n\t if (indentStatus === 1 || CONTEXT_BLOCK_OUT === nodeContext) {\n\t if (CONTEXT_FLOW_IN === nodeContext || CONTEXT_FLOW_OUT === nodeContext) {\n\t flowIndent = parentIndent;\n\t } else {\n\t flowIndent = parentIndent + 1;\n\t }\n\t\n\t blockIndent = state.position - state.lineStart;\n\t\n\t if (indentStatus === 1) {\n\t if (allowBlockCollections &&\n\t (readBlockSequence(state, blockIndent) ||\n\t readBlockMapping(state, blockIndent, flowIndent)) ||\n\t readFlowCollection(state, flowIndent)) {\n\t hasContent = true;\n\t } else {\n\t if ((allowBlockScalars && readBlockScalar(state, flowIndent)) ||\n\t readSingleQuotedScalar(state, flowIndent) ||\n\t readDoubleQuotedScalar(state, flowIndent)) {\n\t hasContent = true;\n\t\n\t } else if (readAlias(state)) {\n\t hasContent = true;\n\t\n\t if (state.tag !== null || state.anchor !== null) {\n\t throwError(state, 'alias node should not have any properties');\n\t }\n\t\n\t } else if (readPlainScalar(state, flowIndent, CONTEXT_FLOW_IN === nodeContext)) {\n\t hasContent = true;\n\t\n\t if (state.tag === null) {\n\t state.tag = '?';\n\t }\n\t }\n\t\n\t if (state.anchor !== null) {\n\t state.anchorMap[state.anchor] = state.result;\n\t }\n\t }\n\t } else if (indentStatus === 0) {\n\t // Special case: block sequences are allowed to have same indentation level as the parent.\n\t // http://www.yaml.org/spec/1.2/spec.html#id2799784\n\t hasContent = allowBlockCollections && readBlockSequence(state, blockIndent);\n\t }\n\t }\n\t\n\t if (state.tag !== null && state.tag !== '!') {\n\t if (state.tag === '?') {\n\t for (typeIndex = 0, typeQuantity = state.implicitTypes.length;\n\t typeIndex < typeQuantity;\n\t typeIndex += 1) {\n\t type = state.implicitTypes[typeIndex];\n\t\n\t // Implicit resolving is not allowed for non-scalar types, and '?'\n\t // non-specific tag is only assigned to plain scalars. So, it isn't\n\t // needed to check for 'kind' conformity.\n\t\n\t if (type.resolve(state.result)) { // `state.result` updated in resolver if matched\n\t state.result = type.construct(state.result);\n\t state.tag = type.tag;\n\t if (state.anchor !== null) {\n\t state.anchorMap[state.anchor] = state.result;\n\t }\n\t break;\n\t }\n\t }\n\t } else if (_hasOwnProperty.call(state.typeMap[state.kind || 'fallback'], state.tag)) {\n\t type = state.typeMap[state.kind || 'fallback'][state.tag];\n\t\n\t if (state.result !== null && type.kind !== state.kind) {\n\t throwError(state, 'unacceptable node kind for !<' + state.tag + '> tag; it should be \"' + type.kind + '\", not \"' + state.kind + '\"');\n\t }\n\t\n\t if (!type.resolve(state.result)) { // `state.result` updated in resolver if matched\n\t throwError(state, 'cannot resolve a node with !<' + state.tag + '> explicit tag');\n\t } else {\n\t state.result = type.construct(state.result);\n\t if (state.anchor !== null) {\n\t state.anchorMap[state.anchor] = state.result;\n\t }\n\t }\n\t } else {\n\t throwError(state, 'unknown tag !<' + state.tag + '>');\n\t }\n\t }\n\t\n\t if (state.listener !== null) {\n\t state.listener('close', state);\n\t }\n\t return state.tag !== null || state.anchor !== null || hasContent;\n\t}\n\t\n\tfunction readDocument(state) {\n\t var documentStart = state.position,\n\t _position,\n\t directiveName,\n\t directiveArgs,\n\t hasDirectives = false,\n\t ch;\n\t\n\t state.version = null;\n\t state.checkLineBreaks = state.legacy;\n\t state.tagMap = {};\n\t state.anchorMap = {};\n\t\n\t while ((ch = state.input.charCodeAt(state.position)) !== 0) {\n\t skipSeparationSpace(state, true, -1);\n\t\n\t ch = state.input.charCodeAt(state.position);\n\t\n\t if (state.lineIndent > 0 || ch !== 0x25/* % */) {\n\t break;\n\t }\n\t\n\t hasDirectives = true;\n\t ch = state.input.charCodeAt(++state.position);\n\t _position = state.position;\n\t\n\t while (ch !== 0 && !is_WS_OR_EOL(ch)) {\n\t ch = state.input.charCodeAt(++state.position);\n\t }\n\t\n\t directiveName = state.input.slice(_position, state.position);\n\t directiveArgs = [];\n\t\n\t if (directiveName.length < 1) {\n\t throwError(state, 'directive name must not be less than one character in length');\n\t }\n\t\n\t while (ch !== 0) {\n\t while (is_WHITE_SPACE(ch)) {\n\t ch = state.input.charCodeAt(++state.position);\n\t }\n\t\n\t if (ch === 0x23/* # */) {\n\t do { ch = state.input.charCodeAt(++state.position); }\n\t while (ch !== 0 && !is_EOL(ch));\n\t break;\n\t }\n\t\n\t if (is_EOL(ch)) break;\n\t\n\t _position = state.position;\n\t\n\t while (ch !== 0 && !is_WS_OR_EOL(ch)) {\n\t ch = state.input.charCodeAt(++state.position);\n\t }\n\t\n\t directiveArgs.push(state.input.slice(_position, state.position));\n\t }\n\t\n\t if (ch !== 0) readLineBreak(state);\n\t\n\t if (_hasOwnProperty.call(directiveHandlers, directiveName)) {\n\t directiveHandlers[directiveName](state, directiveName, directiveArgs);\n\t } else {\n\t throwWarning(state, 'unknown document directive \"' + directiveName + '\"');\n\t }\n\t }\n\t\n\t skipSeparationSpace(state, true, -1);\n\t\n\t if (state.lineIndent === 0 &&\n\t state.input.charCodeAt(state.position) === 0x2D/* - */ &&\n\t state.input.charCodeAt(state.position + 1) === 0x2D/* - */ &&\n\t state.input.charCodeAt(state.position + 2) === 0x2D/* - */) {\n\t state.position += 3;\n\t skipSeparationSpace(state, true, -1);\n\t\n\t } else if (hasDirectives) {\n\t throwError(state, 'directives end mark is expected');\n\t }\n\t\n\t composeNode(state, state.lineIndent - 1, CONTEXT_BLOCK_OUT, false, true);\n\t skipSeparationSpace(state, true, -1);\n\t\n\t if (state.checkLineBreaks &&\n\t PATTERN_NON_ASCII_LINE_BREAKS.test(state.input.slice(documentStart, state.position))) {\n\t throwWarning(state, 'non-ASCII line breaks are interpreted as content');\n\t }\n\t\n\t state.documents.push(state.result);\n\t\n\t if (state.position === state.lineStart && testDocumentSeparator(state)) {\n\t\n\t if (state.input.charCodeAt(state.position) === 0x2E/* . */) {\n\t state.position += 3;\n\t skipSeparationSpace(state, true, -1);\n\t }\n\t return;\n\t }\n\t\n\t if (state.position < (state.length - 1)) {\n\t throwError(state, 'end of the stream or a document separator is expected');\n\t } else {\n\t return;\n\t }\n\t}\n\t\n\t\n\tfunction loadDocuments(input, options) {\n\t input = String(input);\n\t options = options || {};\n\t\n\t if (input.length !== 0) {\n\t\n\t // Add tailing `\\n` if not exists\n\t if (input.charCodeAt(input.length - 1) !== 0x0A/* LF */ &&\n\t input.charCodeAt(input.length - 1) !== 0x0D/* CR */) {\n\t input += '\\n';\n\t }\n\t\n\t // Strip BOM\n\t if (input.charCodeAt(0) === 0xFEFF) {\n\t input = input.slice(1);\n\t }\n\t }\n\t\n\t var state = new State(input, options);\n\t\n\t // Use 0 as string terminator. That significantly simplifies bounds check.\n\t state.input += '\\0';\n\t\n\t while (state.input.charCodeAt(state.position) === 0x20/* Space */) {\n\t state.lineIndent += 1;\n\t state.position += 1;\n\t }\n\t\n\t while (state.position < (state.length - 1)) {\n\t readDocument(state);\n\t }\n\t\n\t return state.documents;\n\t}\n\t\n\t\n\tfunction loadAll(input, iterator, options) {\n\t var documents = loadDocuments(input, options), index, length;\n\t\n\t for (index = 0, length = documents.length; index < length; index += 1) {\n\t iterator(documents[index]);\n\t }\n\t}\n\t\n\t\n\tfunction load(input, options) {\n\t var documents = loadDocuments(input, options);\n\t\n\t if (documents.length === 0) {\n\t /*eslint-disable no-undefined*/\n\t return undefined;\n\t } else if (documents.length === 1) {\n\t return documents[0];\n\t }\n\t throw new YAMLException('expected a single document in the stream, but found more');\n\t}\n\t\n\t\n\tfunction safeLoadAll(input, output, options) {\n\t loadAll(input, output, common.extend({ schema: DEFAULT_SAFE_SCHEMA }, options));\n\t}\n\t\n\t\n\tfunction safeLoad(input, options) {\n\t return load(input, common.extend({ schema: DEFAULT_SAFE_SCHEMA }, options));\n\t}\n\t\n\t\n\tmodule.exports.loadAll = loadAll;\n\tmodule.exports.load = load;\n\tmodule.exports.safeLoadAll = safeLoadAll;\n\tmodule.exports.safeLoad = safeLoad;\n\n\n/***/ },\n/* 440 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\t\n\tvar common = __webpack_require__(49);\n\t\n\t\n\tfunction Mark(name, buffer, position, line, column) {\n\t this.name = name;\n\t this.buffer = buffer;\n\t this.position = position;\n\t this.line = line;\n\t this.column = column;\n\t}\n\t\n\t\n\tMark.prototype.getSnippet = function getSnippet(indent, maxLength) {\n\t var head, start, tail, end, snippet;\n\t\n\t if (!this.buffer) return null;\n\t\n\t indent = indent || 4;\n\t maxLength = maxLength || 75;\n\t\n\t head = '';\n\t start = this.position;\n\t\n\t while (start > 0 && '\\x00\\r\\n\\x85\\u2028\\u2029'.indexOf(this.buffer.charAt(start - 1)) === -1) {\n\t start -= 1;\n\t if (this.position - start > (maxLength / 2 - 1)) {\n\t head = ' ... ';\n\t start += 5;\n\t break;\n\t }\n\t }\n\t\n\t tail = '';\n\t end = this.position;\n\t\n\t while (end < this.buffer.length && '\\x00\\r\\n\\x85\\u2028\\u2029'.indexOf(this.buffer.charAt(end)) === -1) {\n\t end += 1;\n\t if (end - this.position > (maxLength / 2 - 1)) {\n\t tail = ' ... ';\n\t end -= 5;\n\t break;\n\t }\n\t }\n\t\n\t snippet = this.buffer.slice(start, end);\n\t\n\t return common.repeat(' ', indent) + head + snippet + tail + '\\n' +\n\t common.repeat(' ', indent + this.position - start + head.length) + '^';\n\t};\n\t\n\t\n\tMark.prototype.toString = function toString(compact) {\n\t var snippet, where = '';\n\t\n\t if (this.name) {\n\t where += 'in \"' + this.name + '\" ';\n\t }\n\t\n\t where += 'at line ' + (this.line + 1) + ', column ' + (this.column + 1);\n\t\n\t if (!compact) {\n\t snippet = this.getSnippet();\n\t\n\t if (snippet) {\n\t where += ':\\n' + snippet;\n\t }\n\t }\n\t\n\t return where;\n\t};\n\t\n\t\n\tmodule.exports = Mark;\n\n\n/***/ },\n/* 441 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar require;'use strict';\n\t\n\t/*eslint-disable no-bitwise*/\n\t\n\tvar NodeBuffer;\n\t\n\ttry {\n\t // A trick for browserified version, to not include `Buffer` shim\n\t var _require = require;\n\t NodeBuffer = __webpack_require__(108).Buffer;\n\t} catch (__) {}\n\t\n\tvar Type = __webpack_require__(11);\n\t\n\t\n\t// [ 64, 65, 66 ] -> [ padding, CR, LF ]\n\tvar BASE64_MAP = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\\n\\r';\n\t\n\t\n\tfunction resolveYamlBinary(data) {\n\t if (data === null) return false;\n\t\n\t var code, idx, bitlen = 0, max = data.length, map = BASE64_MAP;\n\t\n\t // Convert one by one.\n\t for (idx = 0; idx < max; idx++) {\n\t code = map.indexOf(data.charAt(idx));\n\t\n\t // Skip CR/LF\n\t if (code > 64) continue;\n\t\n\t // Fail on illegal characters\n\t if (code < 0) return false;\n\t\n\t bitlen += 6;\n\t }\n\t\n\t // If there are any bits left, source was corrupted\n\t return (bitlen % 8) === 0;\n\t}\n\t\n\tfunction constructYamlBinary(data) {\n\t var idx, tailbits,\n\t input = data.replace(/[\\r\\n=]/g, ''), // remove CR/LF & padding to simplify scan\n\t max = input.length,\n\t map = BASE64_MAP,\n\t bits = 0,\n\t result = [];\n\t\n\t // Collect by 6*4 bits (3 bytes)\n\t\n\t for (idx = 0; idx < max; idx++) {\n\t if ((idx % 4 === 0) && idx) {\n\t result.push((bits >> 16) & 0xFF);\n\t result.push((bits >> 8) & 0xFF);\n\t result.push(bits & 0xFF);\n\t }\n\t\n\t bits = (bits << 6) | map.indexOf(input.charAt(idx));\n\t }\n\t\n\t // Dump tail\n\t\n\t tailbits = (max % 4) * 6;\n\t\n\t if (tailbits === 0) {\n\t result.push((bits >> 16) & 0xFF);\n\t result.push((bits >> 8) & 0xFF);\n\t result.push(bits & 0xFF);\n\t } else if (tailbits === 18) {\n\t result.push((bits >> 10) & 0xFF);\n\t result.push((bits >> 2) & 0xFF);\n\t } else if (tailbits === 12) {\n\t result.push((bits >> 4) & 0xFF);\n\t }\n\t\n\t // Wrap into Buffer for NodeJS and leave Array for browser\n\t if (NodeBuffer) return new NodeBuffer(result);\n\t\n\t return result;\n\t}\n\t\n\tfunction representYamlBinary(object /*, style*/) {\n\t var result = '', bits = 0, idx, tail,\n\t max = object.length,\n\t map = BASE64_MAP;\n\t\n\t // Convert every three bytes to 4 ASCII characters.\n\t\n\t for (idx = 0; idx < max; idx++) {\n\t if ((idx % 3 === 0) && idx) {\n\t result += map[(bits >> 18) & 0x3F];\n\t result += map[(bits >> 12) & 0x3F];\n\t result += map[(bits >> 6) & 0x3F];\n\t result += map[bits & 0x3F];\n\t }\n\t\n\t bits = (bits << 8) + object[idx];\n\t }\n\t\n\t // Dump tail\n\t\n\t tail = max % 3;\n\t\n\t if (tail === 0) {\n\t result += map[(bits >> 18) & 0x3F];\n\t result += map[(bits >> 12) & 0x3F];\n\t result += map[(bits >> 6) & 0x3F];\n\t result += map[bits & 0x3F];\n\t } else if (tail === 2) {\n\t result += map[(bits >> 10) & 0x3F];\n\t result += map[(bits >> 4) & 0x3F];\n\t result += map[(bits << 2) & 0x3F];\n\t result += map[64];\n\t } else if (tail === 1) {\n\t result += map[(bits >> 2) & 0x3F];\n\t result += map[(bits << 4) & 0x3F];\n\t result += map[64];\n\t result += map[64];\n\t }\n\t\n\t return result;\n\t}\n\t\n\tfunction isBinary(object) {\n\t return NodeBuffer && NodeBuffer.isBuffer(object);\n\t}\n\t\n\tmodule.exports = new Type('tag:yaml.org,2002:binary', {\n\t kind: 'scalar',\n\t resolve: resolveYamlBinary,\n\t construct: constructYamlBinary,\n\t predicate: isBinary,\n\t represent: representYamlBinary\n\t});\n\n\n/***/ },\n/* 442 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar Type = __webpack_require__(11);\n\t\n\tfunction resolveYamlBoolean(data) {\n\t if (data === null) return false;\n\t\n\t var max = data.length;\n\t\n\t return (max === 4 && (data === 'true' || data === 'True' || data === 'TRUE')) ||\n\t (max === 5 && (data === 'false' || data === 'False' || data === 'FALSE'));\n\t}\n\t\n\tfunction constructYamlBoolean(data) {\n\t return data === 'true' ||\n\t data === 'True' ||\n\t data === 'TRUE';\n\t}\n\t\n\tfunction isBoolean(object) {\n\t return Object.prototype.toString.call(object) === '[object Boolean]';\n\t}\n\t\n\tmodule.exports = new Type('tag:yaml.org,2002:bool', {\n\t kind: 'scalar',\n\t resolve: resolveYamlBoolean,\n\t construct: constructYamlBoolean,\n\t predicate: isBoolean,\n\t represent: {\n\t lowercase: function (object) { return object ? 'true' : 'false'; },\n\t uppercase: function (object) { return object ? 'TRUE' : 'FALSE'; },\n\t camelcase: function (object) { return object ? 'True' : 'False'; }\n\t },\n\t defaultStyle: 'lowercase'\n\t});\n\n\n/***/ },\n/* 443 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar common = __webpack_require__(49);\n\tvar Type = __webpack_require__(11);\n\t\n\tvar YAML_FLOAT_PATTERN = new RegExp(\n\t '^(?:[-+]?(?:[0-9][0-9_]*)\\\\.[0-9_]*(?:[eE][-+][0-9]+)?' +\n\t '|\\\\.[0-9_]+(?:[eE][-+][0-9]+)?' +\n\t '|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\\\\.[0-9_]*' +\n\t '|[-+]?\\\\.(?:inf|Inf|INF)' +\n\t '|\\\\.(?:nan|NaN|NAN))$');\n\t\n\tfunction resolveYamlFloat(data) {\n\t if (data === null) return false;\n\t\n\t if (!YAML_FLOAT_PATTERN.test(data)) return false;\n\t\n\t return true;\n\t}\n\t\n\tfunction constructYamlFloat(data) {\n\t var value, sign, base, digits;\n\t\n\t value = data.replace(/_/g, '').toLowerCase();\n\t sign = value[0] === '-' ? -1 : 1;\n\t digits = [];\n\t\n\t if ('+-'.indexOf(value[0]) >= 0) {\n\t value = value.slice(1);\n\t }\n\t\n\t if (value === '.inf') {\n\t return (sign === 1) ? Number.POSITIVE_INFINITY : Number.NEGATIVE_INFINITY;\n\t\n\t } else if (value === '.nan') {\n\t return NaN;\n\t\n\t } else if (value.indexOf(':') >= 0) {\n\t value.split(':').forEach(function (v) {\n\t digits.unshift(parseFloat(v, 10));\n\t });\n\t\n\t value = 0.0;\n\t base = 1;\n\t\n\t digits.forEach(function (d) {\n\t value += d * base;\n\t base *= 60;\n\t });\n\t\n\t return sign * value;\n\t\n\t }\n\t return sign * parseFloat(value, 10);\n\t}\n\t\n\t\n\tvar SCIENTIFIC_WITHOUT_DOT = /^[-+]?[0-9]+e/;\n\t\n\tfunction representYamlFloat(object, style) {\n\t var res;\n\t\n\t if (isNaN(object)) {\n\t switch (style) {\n\t case 'lowercase': return '.nan';\n\t case 'uppercase': return '.NAN';\n\t case 'camelcase': return '.NaN';\n\t }\n\t } else if (Number.POSITIVE_INFINITY === object) {\n\t switch (style) {\n\t case 'lowercase': return '.inf';\n\t case 'uppercase': return '.INF';\n\t case 'camelcase': return '.Inf';\n\t }\n\t } else if (Number.NEGATIVE_INFINITY === object) {\n\t switch (style) {\n\t case 'lowercase': return '-.inf';\n\t case 'uppercase': return '-.INF';\n\t case 'camelcase': return '-.Inf';\n\t }\n\t } else if (common.isNegativeZero(object)) {\n\t return '-0.0';\n\t }\n\t\n\t res = object.toString(10);\n\t\n\t // JS stringifier can build scientific format without dots: 5e-100,\n\t // while YAML requres dot: 5.e-100. Fix it with simple hack\n\t\n\t return SCIENTIFIC_WITHOUT_DOT.test(res) ? res.replace('e', '.e') : res;\n\t}\n\t\n\tfunction isFloat(object) {\n\t return (Object.prototype.toString.call(object) === '[object Number]') &&\n\t (object % 1 !== 0 || common.isNegativeZero(object));\n\t}\n\t\n\tmodule.exports = new Type('tag:yaml.org,2002:float', {\n\t kind: 'scalar',\n\t resolve: resolveYamlFloat,\n\t construct: constructYamlFloat,\n\t predicate: isFloat,\n\t represent: representYamlFloat,\n\t defaultStyle: 'lowercase'\n\t});\n\n\n/***/ },\n/* 444 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar common = __webpack_require__(49);\n\tvar Type = __webpack_require__(11);\n\t\n\tfunction isHexCode(c) {\n\t return ((0x30/* 0 */ <= c) && (c <= 0x39/* 9 */)) ||\n\t ((0x41/* A */ <= c) && (c <= 0x46/* F */)) ||\n\t ((0x61/* a */ <= c) && (c <= 0x66/* f */));\n\t}\n\t\n\tfunction isOctCode(c) {\n\t return ((0x30/* 0 */ <= c) && (c <= 0x37/* 7 */));\n\t}\n\t\n\tfunction isDecCode(c) {\n\t return ((0x30/* 0 */ <= c) && (c <= 0x39/* 9 */));\n\t}\n\t\n\tfunction resolveYamlInteger(data) {\n\t if (data === null) return false;\n\t\n\t var max = data.length,\n\t index = 0,\n\t hasDigits = false,\n\t ch;\n\t\n\t if (!max) return false;\n\t\n\t ch = data[index];\n\t\n\t // sign\n\t if (ch === '-' || ch === '+') {\n\t ch = data[++index];\n\t }\n\t\n\t if (ch === '0') {\n\t // 0\n\t if (index + 1 === max) return true;\n\t ch = data[++index];\n\t\n\t // base 2, base 8, base 16\n\t\n\t if (ch === 'b') {\n\t // base 2\n\t index++;\n\t\n\t for (; index < max; index++) {\n\t ch = data[index];\n\t if (ch === '_') continue;\n\t if (ch !== '0' && ch !== '1') return false;\n\t hasDigits = true;\n\t }\n\t return hasDigits;\n\t }\n\t\n\t\n\t if (ch === 'x') {\n\t // base 16\n\t index++;\n\t\n\t for (; index < max; index++) {\n\t ch = data[index];\n\t if (ch === '_') continue;\n\t if (!isHexCode(data.charCodeAt(index))) return false;\n\t hasDigits = true;\n\t }\n\t return hasDigits;\n\t }\n\t\n\t // base 8\n\t for (; index < max; index++) {\n\t ch = data[index];\n\t if (ch === '_') continue;\n\t if (!isOctCode(data.charCodeAt(index))) return false;\n\t hasDigits = true;\n\t }\n\t return hasDigits;\n\t }\n\t\n\t // base 10 (except 0) or base 60\n\t\n\t for (; index < max; index++) {\n\t ch = data[index];\n\t if (ch === '_') continue;\n\t if (ch === ':') break;\n\t if (!isDecCode(data.charCodeAt(index))) {\n\t return false;\n\t }\n\t hasDigits = true;\n\t }\n\t\n\t if (!hasDigits) return false;\n\t\n\t // if !base60 - done;\n\t if (ch !== ':') return true;\n\t\n\t // base60 almost not used, no needs to optimize\n\t return /^(:[0-5]?[0-9])+$/.test(data.slice(index));\n\t}\n\t\n\tfunction constructYamlInteger(data) {\n\t var value = data, sign = 1, ch, base, digits = [];\n\t\n\t if (value.indexOf('_') !== -1) {\n\t value = value.replace(/_/g, '');\n\t }\n\t\n\t ch = value[0];\n\t\n\t if (ch === '-' || ch === '+') {\n\t if (ch === '-') sign = -1;\n\t value = value.slice(1);\n\t ch = value[0];\n\t }\n\t\n\t if (value === '0') return 0;\n\t\n\t if (ch === '0') {\n\t if (value[1] === 'b') return sign * parseInt(value.slice(2), 2);\n\t if (value[1] === 'x') return sign * parseInt(value, 16);\n\t return sign * parseInt(value, 8);\n\t }\n\t\n\t if (value.indexOf(':') !== -1) {\n\t value.split(':').forEach(function (v) {\n\t digits.unshift(parseInt(v, 10));\n\t });\n\t\n\t value = 0;\n\t base = 1;\n\t\n\t digits.forEach(function (d) {\n\t value += (d * base);\n\t base *= 60;\n\t });\n\t\n\t return sign * value;\n\t\n\t }\n\t\n\t return sign * parseInt(value, 10);\n\t}\n\t\n\tfunction isInteger(object) {\n\t return (Object.prototype.toString.call(object)) === '[object Number]' &&\n\t (object % 1 === 0 && !common.isNegativeZero(object));\n\t}\n\t\n\tmodule.exports = new Type('tag:yaml.org,2002:int', {\n\t kind: 'scalar',\n\t resolve: resolveYamlInteger,\n\t construct: constructYamlInteger,\n\t predicate: isInteger,\n\t represent: {\n\t binary: function (object) { return '0b' + object.toString(2); },\n\t octal: function (object) { return '0' + object.toString(8); },\n\t decimal: function (object) { return object.toString(10); },\n\t hexadecimal: function (object) { return '0x' + object.toString(16).toUpperCase(); }\n\t },\n\t defaultStyle: 'decimal',\n\t styleAliases: {\n\t binary: [ 2, 'bin' ],\n\t octal: [ 8, 'oct' ],\n\t decimal: [ 10, 'dec' ],\n\t hexadecimal: [ 16, 'hex' ]\n\t }\n\t});\n\n\n/***/ },\n/* 445 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar require;'use strict';\n\t\n\tvar esprima;\n\t\n\t// Browserified version does not have esprima\n\t//\n\t// 1. For node.js just require module as deps\n\t// 2. For browser try to require mudule via external AMD system.\n\t// If not found - try to fallback to window.esprima. If not\n\t// found too - then fail to parse.\n\t//\n\ttry {\n\t // workaround to exclude package from browserify list.\n\t var _require = require;\n\t esprima = __webpack_require__(410);\n\t} catch (_) {\n\t /*global window */\n\t if (typeof window !== 'undefined') esprima = window.esprima;\n\t}\n\t\n\tvar Type = __webpack_require__(11);\n\t\n\tfunction resolveJavascriptFunction(data) {\n\t if (data === null) return false;\n\t\n\t try {\n\t var source = '(' + data + ')',\n\t ast = esprima.parse(source, { range: true });\n\t\n\t if (ast.type !== 'Program' ||\n\t ast.body.length !== 1 ||\n\t ast.body[0].type !== 'ExpressionStatement' ||\n\t ast.body[0].expression.type !== 'FunctionExpression') {\n\t return false;\n\t }\n\t\n\t return true;\n\t } catch (err) {\n\t return false;\n\t }\n\t}\n\t\n\tfunction constructJavascriptFunction(data) {\n\t /*jslint evil:true*/\n\t\n\t var source = '(' + data + ')',\n\t ast = esprima.parse(source, { range: true }),\n\t params = [],\n\t body;\n\t\n\t if (ast.type !== 'Program' ||\n\t ast.body.length !== 1 ||\n\t ast.body[0].type !== 'ExpressionStatement' ||\n\t ast.body[0].expression.type !== 'FunctionExpression') {\n\t throw new Error('Failed to resolve function');\n\t }\n\t\n\t ast.body[0].expression.params.forEach(function (param) {\n\t params.push(param.name);\n\t });\n\t\n\t body = ast.body[0].expression.body.range;\n\t\n\t // Esprima's ranges include the first '{' and the last '}' characters on\n\t // function expressions. So cut them out.\n\t /*eslint-disable no-new-func*/\n\t return new Function(params, source.slice(body[0] + 1, body[1] - 1));\n\t}\n\t\n\tfunction representJavascriptFunction(object /*, style*/) {\n\t return object.toString();\n\t}\n\t\n\tfunction isFunction(object) {\n\t return Object.prototype.toString.call(object) === '[object Function]';\n\t}\n\t\n\tmodule.exports = new Type('tag:yaml.org,2002:js/function', {\n\t kind: 'scalar',\n\t resolve: resolveJavascriptFunction,\n\t construct: constructJavascriptFunction,\n\t predicate: isFunction,\n\t represent: representJavascriptFunction\n\t});\n\n\n/***/ },\n/* 446 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar Type = __webpack_require__(11);\n\t\n\tfunction resolveJavascriptRegExp(data) {\n\t if (data === null) return false;\n\t if (data.length === 0) return false;\n\t\n\t var regexp = data,\n\t tail = /\\/([gim]*)$/.exec(data),\n\t modifiers = '';\n\t\n\t // if regexp starts with '/' it can have modifiers and must be properly closed\n\t // `/foo/gim` - modifiers tail can be maximum 3 chars\n\t if (regexp[0] === '/') {\n\t if (tail) modifiers = tail[1];\n\t\n\t if (modifiers.length > 3) return false;\n\t // if expression starts with /, is should be properly terminated\n\t if (regexp[regexp.length - modifiers.length - 1] !== '/') return false;\n\t }\n\t\n\t return true;\n\t}\n\t\n\tfunction constructJavascriptRegExp(data) {\n\t var regexp = data,\n\t tail = /\\/([gim]*)$/.exec(data),\n\t modifiers = '';\n\t\n\t // `/foo/gim` - tail can be maximum 4 chars\n\t if (regexp[0] === '/') {\n\t if (tail) modifiers = tail[1];\n\t regexp = regexp.slice(1, regexp.length - modifiers.length - 1);\n\t }\n\t\n\t return new RegExp(regexp, modifiers);\n\t}\n\t\n\tfunction representJavascriptRegExp(object /*, style*/) {\n\t var result = '/' + object.source + '/';\n\t\n\t if (object.global) result += 'g';\n\t if (object.multiline) result += 'm';\n\t if (object.ignoreCase) result += 'i';\n\t\n\t return result;\n\t}\n\t\n\tfunction isRegExp(object) {\n\t return Object.prototype.toString.call(object) === '[object RegExp]';\n\t}\n\t\n\tmodule.exports = new Type('tag:yaml.org,2002:js/regexp', {\n\t kind: 'scalar',\n\t resolve: resolveJavascriptRegExp,\n\t construct: constructJavascriptRegExp,\n\t predicate: isRegExp,\n\t represent: representJavascriptRegExp\n\t});\n\n\n/***/ },\n/* 447 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar Type = __webpack_require__(11);\n\t\n\tfunction resolveJavascriptUndefined() {\n\t return true;\n\t}\n\t\n\tfunction constructJavascriptUndefined() {\n\t /*eslint-disable no-undefined*/\n\t return undefined;\n\t}\n\t\n\tfunction representJavascriptUndefined() {\n\t return '';\n\t}\n\t\n\tfunction isUndefined(object) {\n\t return typeof object === 'undefined';\n\t}\n\t\n\tmodule.exports = new Type('tag:yaml.org,2002:js/undefined', {\n\t kind: 'scalar',\n\t resolve: resolveJavascriptUndefined,\n\t construct: constructJavascriptUndefined,\n\t predicate: isUndefined,\n\t represent: representJavascriptUndefined\n\t});\n\n\n/***/ },\n/* 448 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar Type = __webpack_require__(11);\n\t\n\tmodule.exports = new Type('tag:yaml.org,2002:map', {\n\t kind: 'mapping',\n\t construct: function (data) { return data !== null ? data : {}; }\n\t});\n\n\n/***/ },\n/* 449 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar Type = __webpack_require__(11);\n\t\n\tfunction resolveYamlMerge(data) {\n\t return data === '<<' || data === null;\n\t}\n\t\n\tmodule.exports = new Type('tag:yaml.org,2002:merge', {\n\t kind: 'scalar',\n\t resolve: resolveYamlMerge\n\t});\n\n\n/***/ },\n/* 450 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar Type = __webpack_require__(11);\n\t\n\tfunction resolveYamlNull(data) {\n\t if (data === null) return true;\n\t\n\t var max = data.length;\n\t\n\t return (max === 1 && data === '~') ||\n\t (max === 4 && (data === 'null' || data === 'Null' || data === 'NULL'));\n\t}\n\t\n\tfunction constructYamlNull() {\n\t return null;\n\t}\n\t\n\tfunction isNull(object) {\n\t return object === null;\n\t}\n\t\n\tmodule.exports = new Type('tag:yaml.org,2002:null', {\n\t kind: 'scalar',\n\t resolve: resolveYamlNull,\n\t construct: constructYamlNull,\n\t predicate: isNull,\n\t represent: {\n\t canonical: function () { return '~'; },\n\t lowercase: function () { return 'null'; },\n\t uppercase: function () { return 'NULL'; },\n\t camelcase: function () { return 'Null'; }\n\t },\n\t defaultStyle: 'lowercase'\n\t});\n\n\n/***/ },\n/* 451 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar Type = __webpack_require__(11);\n\t\n\tvar _hasOwnProperty = Object.prototype.hasOwnProperty;\n\tvar _toString = Object.prototype.toString;\n\t\n\tfunction resolveYamlOmap(data) {\n\t if (data === null) return true;\n\t\n\t var objectKeys = [], index, length, pair, pairKey, pairHasKey,\n\t object = data;\n\t\n\t for (index = 0, length = object.length; index < length; index += 1) {\n\t pair = object[index];\n\t pairHasKey = false;\n\t\n\t if (_toString.call(pair) !== '[object Object]') return false;\n\t\n\t for (pairKey in pair) {\n\t if (_hasOwnProperty.call(pair, pairKey)) {\n\t if (!pairHasKey) pairHasKey = true;\n\t else return false;\n\t }\n\t }\n\t\n\t if (!pairHasKey) return false;\n\t\n\t if (objectKeys.indexOf(pairKey) === -1) objectKeys.push(pairKey);\n\t else return false;\n\t }\n\t\n\t return true;\n\t}\n\t\n\tfunction constructYamlOmap(data) {\n\t return data !== null ? data : [];\n\t}\n\t\n\tmodule.exports = new Type('tag:yaml.org,2002:omap', {\n\t kind: 'sequence',\n\t resolve: resolveYamlOmap,\n\t construct: constructYamlOmap\n\t});\n\n\n/***/ },\n/* 452 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar Type = __webpack_require__(11);\n\t\n\tvar _toString = Object.prototype.toString;\n\t\n\tfunction resolveYamlPairs(data) {\n\t if (data === null) return true;\n\t\n\t var index, length, pair, keys, result,\n\t object = data;\n\t\n\t result = new Array(object.length);\n\t\n\t for (index = 0, length = object.length; index < length; index += 1) {\n\t pair = object[index];\n\t\n\t if (_toString.call(pair) !== '[object Object]') return false;\n\t\n\t keys = Object.keys(pair);\n\t\n\t if (keys.length !== 1) return false;\n\t\n\t result[index] = [ keys[0], pair[keys[0]] ];\n\t }\n\t\n\t return true;\n\t}\n\t\n\tfunction constructYamlPairs(data) {\n\t if (data === null) return [];\n\t\n\t var index, length, pair, keys, result,\n\t object = data;\n\t\n\t result = new Array(object.length);\n\t\n\t for (index = 0, length = object.length; index < length; index += 1) {\n\t pair = object[index];\n\t\n\t keys = Object.keys(pair);\n\t\n\t result[index] = [ keys[0], pair[keys[0]] ];\n\t }\n\t\n\t return result;\n\t}\n\t\n\tmodule.exports = new Type('tag:yaml.org,2002:pairs', {\n\t kind: 'sequence',\n\t resolve: resolveYamlPairs,\n\t construct: constructYamlPairs\n\t});\n\n\n/***/ },\n/* 453 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar Type = __webpack_require__(11);\n\t\n\tmodule.exports = new Type('tag:yaml.org,2002:seq', {\n\t kind: 'sequence',\n\t construct: function (data) { return data !== null ? data : []; }\n\t});\n\n\n/***/ },\n/* 454 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar Type = __webpack_require__(11);\n\t\n\tvar _hasOwnProperty = Object.prototype.hasOwnProperty;\n\t\n\tfunction resolveYamlSet(data) {\n\t if (data === null) return true;\n\t\n\t var key, object = data;\n\t\n\t for (key in object) {\n\t if (_hasOwnProperty.call(object, key)) {\n\t if (object[key] !== null) return false;\n\t }\n\t }\n\t\n\t return true;\n\t}\n\t\n\tfunction constructYamlSet(data) {\n\t return data !== null ? data : {};\n\t}\n\t\n\tmodule.exports = new Type('tag:yaml.org,2002:set', {\n\t kind: 'mapping',\n\t resolve: resolveYamlSet,\n\t construct: constructYamlSet\n\t});\n\n\n/***/ },\n/* 455 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar Type = __webpack_require__(11);\n\t\n\tmodule.exports = new Type('tag:yaml.org,2002:str', {\n\t kind: 'scalar',\n\t construct: function (data) { return data !== null ? data : ''; }\n\t});\n\n\n/***/ },\n/* 456 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar Type = __webpack_require__(11);\n\t\n\tvar YAML_DATE_REGEXP = new RegExp(\n\t '^([0-9][0-9][0-9][0-9])' + // [1] year\n\t '-([0-9][0-9])' + // [2] month\n\t '-([0-9][0-9])$'); // [3] day\n\t\n\tvar YAML_TIMESTAMP_REGEXP = new RegExp(\n\t '^([0-9][0-9][0-9][0-9])' + // [1] year\n\t '-([0-9][0-9]?)' + // [2] month\n\t '-([0-9][0-9]?)' + // [3] day\n\t '(?:[Tt]|[ \\\\t]+)' + // ...\n\t '([0-9][0-9]?)' + // [4] hour\n\t ':([0-9][0-9])' + // [5] minute\n\t ':([0-9][0-9])' + // [6] second\n\t '(?:\\\\.([0-9]*))?' + // [7] fraction\n\t '(?:[ \\\\t]*(Z|([-+])([0-9][0-9]?)' + // [8] tz [9] tz_sign [10] tz_hour\n\t '(?::([0-9][0-9]))?))?$'); // [11] tz_minute\n\t\n\tfunction resolveYamlTimestamp(data) {\n\t if (data === null) return false;\n\t if (YAML_DATE_REGEXP.exec(data) !== null) return true;\n\t if (YAML_TIMESTAMP_REGEXP.exec(data) !== null) return true;\n\t return false;\n\t}\n\t\n\tfunction constructYamlTimestamp(data) {\n\t var match, year, month, day, hour, minute, second, fraction = 0,\n\t delta = null, tz_hour, tz_minute, date;\n\t\n\t match = YAML_DATE_REGEXP.exec(data);\n\t if (match === null) match = YAML_TIMESTAMP_REGEXP.exec(data);\n\t\n\t if (match === null) throw new Error('Date resolve error');\n\t\n\t // match: [1] year [2] month [3] day\n\t\n\t year = +(match[1]);\n\t month = +(match[2]) - 1; // JS month starts with 0\n\t day = +(match[3]);\n\t\n\t if (!match[4]) { // no hour\n\t return new Date(Date.UTC(year, month, day));\n\t }\n\t\n\t // match: [4] hour [5] minute [6] second [7] fraction\n\t\n\t hour = +(match[4]);\n\t minute = +(match[5]);\n\t second = +(match[6]);\n\t\n\t if (match[7]) {\n\t fraction = match[7].slice(0, 3);\n\t while (fraction.length < 3) { // milli-seconds\n\t fraction += '0';\n\t }\n\t fraction = +fraction;\n\t }\n\t\n\t // match: [8] tz [9] tz_sign [10] tz_hour [11] tz_minute\n\t\n\t if (match[9]) {\n\t tz_hour = +(match[10]);\n\t tz_minute = +(match[11] || 0);\n\t delta = (tz_hour * 60 + tz_minute) * 60000; // delta in mili-seconds\n\t if (match[9] === '-') delta = -delta;\n\t }\n\t\n\t date = new Date(Date.UTC(year, month, day, hour, minute, second, fraction));\n\t\n\t if (delta) date.setTime(date.getTime() - delta);\n\t\n\t return date;\n\t}\n\t\n\tfunction representYamlTimestamp(object /*, style*/) {\n\t return object.toISOString();\n\t}\n\t\n\tmodule.exports = new Type('tag:yaml.org,2002:timestamp', {\n\t kind: 'scalar',\n\t resolve: resolveYamlTimestamp,\n\t construct: constructYamlTimestamp,\n\t instanceOf: Date,\n\t represent: representYamlTimestamp\n\t});\n\n\n/***/ },\n/* 457 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/* WEBPACK VAR INJECTION */(function(global, module) {/**\n\t * lodash (Custom Build) <https://lodash.com/>\n\t * Build: `lodash modularize exports=\"npm\" -o ./`\n\t * Copyright jQuery Foundation and other contributors <https://jquery.org/>\n\t * Released under MIT license <https://lodash.com/license>\n\t * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n\t * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n\t */\n\t\n\t/** Used as the size to enable large array optimizations. */\n\tvar LARGE_ARRAY_SIZE = 200;\n\t\n\t/** Used to stand-in for `undefined` hash values. */\n\tvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\t\n\t/** Used to compose bitmasks for comparison styles. */\n\tvar UNORDERED_COMPARE_FLAG = 1,\n\t PARTIAL_COMPARE_FLAG = 2;\n\t\n\t/** Used as references for various `Number` constants. */\n\tvar MAX_SAFE_INTEGER = 9007199254740991;\n\t\n\t/** `Object#toString` result references. */\n\tvar argsTag = '[object Arguments]',\n\t arrayTag = '[object Array]',\n\t boolTag = '[object Boolean]',\n\t dateTag = '[object Date]',\n\t errorTag = '[object Error]',\n\t funcTag = '[object Function]',\n\t genTag = '[object GeneratorFunction]',\n\t mapTag = '[object Map]',\n\t numberTag = '[object Number]',\n\t objectTag = '[object Object]',\n\t promiseTag = '[object Promise]',\n\t regexpTag = '[object RegExp]',\n\t setTag = '[object Set]',\n\t stringTag = '[object String]',\n\t symbolTag = '[object Symbol]',\n\t weakMapTag = '[object WeakMap]';\n\t\n\tvar arrayBufferTag = '[object ArrayBuffer]',\n\t dataViewTag = '[object DataView]',\n\t float32Tag = '[object Float32Array]',\n\t float64Tag = '[object Float64Array]',\n\t int8Tag = '[object Int8Array]',\n\t int16Tag = '[object Int16Array]',\n\t int32Tag = '[object Int32Array]',\n\t uint8Tag = '[object Uint8Array]',\n\t uint8ClampedTag = '[object Uint8ClampedArray]',\n\t uint16Tag = '[object Uint16Array]',\n\t uint32Tag = '[object Uint32Array]';\n\t\n\t/**\n\t * Used to match `RegExp`\n\t * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n\t */\n\tvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\t\n\t/** Used to detect host constructors (Safari). */\n\tvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\t\n\t/** Used to detect unsigned integer values. */\n\tvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\t\n\t/** Used to identify `toStringTag` values of typed arrays. */\n\tvar typedArrayTags = {};\n\ttypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\n\ttypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\n\ttypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\n\ttypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\n\ttypedArrayTags[uint32Tag] = true;\n\ttypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\n\ttypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\n\ttypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\n\ttypedArrayTags[errorTag] = typedArrayTags[funcTag] =\n\ttypedArrayTags[mapTag] = typedArrayTags[numberTag] =\n\ttypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\n\ttypedArrayTags[setTag] = typedArrayTags[stringTag] =\n\ttypedArrayTags[weakMapTag] = false;\n\t\n\t/** Detect free variable `global` from Node.js. */\n\tvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\t\n\t/** Detect free variable `self`. */\n\tvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\t\n\t/** Used as a reference to the global object. */\n\tvar root = freeGlobal || freeSelf || Function('return this')();\n\t\n\t/** Detect free variable `exports`. */\n\tvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\t\n\t/** Detect free variable `module`. */\n\tvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\t\n\t/** Detect the popular CommonJS extension `module.exports`. */\n\tvar moduleExports = freeModule && freeModule.exports === freeExports;\n\t\n\t/** Detect free variable `process` from Node.js. */\n\tvar freeProcess = moduleExports && freeGlobal.process;\n\t\n\t/** Used to access faster Node.js helpers. */\n\tvar nodeUtil = (function() {\n\t try {\n\t return freeProcess && freeProcess.binding('util');\n\t } catch (e) {}\n\t}());\n\t\n\t/* Node.js helper references. */\n\tvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\t\n\t/**\n\t * A specialized version of `_.some` for arrays without support for iteratee\n\t * shorthands.\n\t *\n\t * @private\n\t * @param {Array} [array] The array to iterate over.\n\t * @param {Function} predicate The function invoked per iteration.\n\t * @returns {boolean} Returns `true` if any element passes the predicate check,\n\t * else `false`.\n\t */\n\tfunction arraySome(array, predicate) {\n\t var index = -1,\n\t length = array ? array.length : 0;\n\t\n\t while (++index < length) {\n\t if (predicate(array[index], index, array)) {\n\t return true;\n\t }\n\t }\n\t return false;\n\t}\n\t\n\t/**\n\t * The base implementation of `_.times` without support for iteratee shorthands\n\t * or max array length checks.\n\t *\n\t * @private\n\t * @param {number} n The number of times to invoke `iteratee`.\n\t * @param {Function} iteratee The function invoked per iteration.\n\t * @returns {Array} Returns the array of results.\n\t */\n\tfunction baseTimes(n, iteratee) {\n\t var index = -1,\n\t result = Array(n);\n\t\n\t while (++index < n) {\n\t result[index] = iteratee(index);\n\t }\n\t return result;\n\t}\n\t\n\t/**\n\t * The base implementation of `_.unary` without support for storing metadata.\n\t *\n\t * @private\n\t * @param {Function} func The function to cap arguments for.\n\t * @returns {Function} Returns the new capped function.\n\t */\n\tfunction baseUnary(func) {\n\t return function(value) {\n\t return func(value);\n\t };\n\t}\n\t\n\t/**\n\t * Gets the value at `key` of `object`.\n\t *\n\t * @private\n\t * @param {Object} [object] The object to query.\n\t * @param {string} key The key of the property to get.\n\t * @returns {*} Returns the property value.\n\t */\n\tfunction getValue(object, key) {\n\t return object == null ? undefined : object[key];\n\t}\n\t\n\t/**\n\t * Checks if `value` is a host object in IE < 9.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is a host object, else `false`.\n\t */\n\tfunction isHostObject(value) {\n\t // Many host objects are `Object` objects that can coerce to strings\n\t // despite having improperly defined `toString` methods.\n\t var result = false;\n\t if (value != null && typeof value.toString != 'function') {\n\t try {\n\t result = !!(value + '');\n\t } catch (e) {}\n\t }\n\t return result;\n\t}\n\t\n\t/**\n\t * Converts `map` to its key-value pairs.\n\t *\n\t * @private\n\t * @param {Object} map The map to convert.\n\t * @returns {Array} Returns the key-value pairs.\n\t */\n\tfunction mapToArray(map) {\n\t var index = -1,\n\t result = Array(map.size);\n\t\n\t map.forEach(function(value, key) {\n\t result[++index] = [key, value];\n\t });\n\t return result;\n\t}\n\t\n\t/**\n\t * Creates a unary function that invokes `func` with its argument transformed.\n\t *\n\t * @private\n\t * @param {Function} func The function to wrap.\n\t * @param {Function} transform The argument transform.\n\t * @returns {Function} Returns the new function.\n\t */\n\tfunction overArg(func, transform) {\n\t return function(arg) {\n\t return func(transform(arg));\n\t };\n\t}\n\t\n\t/**\n\t * Converts `set` to an array of its values.\n\t *\n\t * @private\n\t * @param {Object} set The set to convert.\n\t * @returns {Array} Returns the values.\n\t */\n\tfunction setToArray(set) {\n\t var index = -1,\n\t result = Array(set.size);\n\t\n\t set.forEach(function(value) {\n\t result[++index] = value;\n\t });\n\t return result;\n\t}\n\t\n\t/** Used for built-in method references. */\n\tvar arrayProto = Array.prototype,\n\t funcProto = Function.prototype,\n\t objectProto = Object.prototype;\n\t\n\t/** Used to detect overreaching core-js shims. */\n\tvar coreJsData = root['__core-js_shared__'];\n\t\n\t/** Used to detect methods masquerading as native. */\n\tvar maskSrcKey = (function() {\n\t var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n\t return uid ? ('Symbol(src)_1.' + uid) : '';\n\t}());\n\t\n\t/** Used to resolve the decompiled source of functions. */\n\tvar funcToString = funcProto.toString;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * Used to resolve the\n\t * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar objectToString = objectProto.toString;\n\t\n\t/** Used to detect if a method is native. */\n\tvar reIsNative = RegExp('^' +\n\t funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n\t .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n\t);\n\t\n\t/** Built-in value references. */\n\tvar Symbol = root.Symbol,\n\t Uint8Array = root.Uint8Array,\n\t propertyIsEnumerable = objectProto.propertyIsEnumerable,\n\t splice = arrayProto.splice;\n\t\n\t/* Built-in method references for those with the same name as other `lodash` methods. */\n\tvar nativeKeys = overArg(Object.keys, Object);\n\t\n\t/* Built-in method references that are verified to be native. */\n\tvar DataView = getNative(root, 'DataView'),\n\t Map = getNative(root, 'Map'),\n\t Promise = getNative(root, 'Promise'),\n\t Set = getNative(root, 'Set'),\n\t WeakMap = getNative(root, 'WeakMap'),\n\t nativeCreate = getNative(Object, 'create');\n\t\n\t/** Used to detect maps, sets, and weakmaps. */\n\tvar dataViewCtorString = toSource(DataView),\n\t mapCtorString = toSource(Map),\n\t promiseCtorString = toSource(Promise),\n\t setCtorString = toSource(Set),\n\t weakMapCtorString = toSource(WeakMap);\n\t\n\t/** Used to convert symbols to primitives and strings. */\n\tvar symbolProto = Symbol ? Symbol.prototype : undefined,\n\t symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\t\n\t/**\n\t * Creates a hash object.\n\t *\n\t * @private\n\t * @constructor\n\t * @param {Array} [entries] The key-value pairs to cache.\n\t */\n\tfunction Hash(entries) {\n\t var index = -1,\n\t length = entries ? entries.length : 0;\n\t\n\t this.clear();\n\t while (++index < length) {\n\t var entry = entries[index];\n\t this.set(entry[0], entry[1]);\n\t }\n\t}\n\t\n\t/**\n\t * Removes all key-value entries from the hash.\n\t *\n\t * @private\n\t * @name clear\n\t * @memberOf Hash\n\t */\n\tfunction hashClear() {\n\t this.__data__ = nativeCreate ? nativeCreate(null) : {};\n\t}\n\t\n\t/**\n\t * Removes `key` and its value from the hash.\n\t *\n\t * @private\n\t * @name delete\n\t * @memberOf Hash\n\t * @param {Object} hash The hash to modify.\n\t * @param {string} key The key of the value to remove.\n\t * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n\t */\n\tfunction hashDelete(key) {\n\t return this.has(key) && delete this.__data__[key];\n\t}\n\t\n\t/**\n\t * Gets the hash value for `key`.\n\t *\n\t * @private\n\t * @name get\n\t * @memberOf Hash\n\t * @param {string} key The key of the value to get.\n\t * @returns {*} Returns the entry value.\n\t */\n\tfunction hashGet(key) {\n\t var data = this.__data__;\n\t if (nativeCreate) {\n\t var result = data[key];\n\t return result === HASH_UNDEFINED ? undefined : result;\n\t }\n\t return hasOwnProperty.call(data, key) ? data[key] : undefined;\n\t}\n\t\n\t/**\n\t * Checks if a hash value for `key` exists.\n\t *\n\t * @private\n\t * @name has\n\t * @memberOf Hash\n\t * @param {string} key The key of the entry to check.\n\t * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n\t */\n\tfunction hashHas(key) {\n\t var data = this.__data__;\n\t return nativeCreate ? data[key] !== undefined : hasOwnProperty.call(data, key);\n\t}\n\t\n\t/**\n\t * Sets the hash `key` to `value`.\n\t *\n\t * @private\n\t * @name set\n\t * @memberOf Hash\n\t * @param {string} key The key of the value to set.\n\t * @param {*} value The value to set.\n\t * @returns {Object} Returns the hash instance.\n\t */\n\tfunction hashSet(key, value) {\n\t var data = this.__data__;\n\t data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n\t return this;\n\t}\n\t\n\t// Add methods to `Hash`.\n\tHash.prototype.clear = hashClear;\n\tHash.prototype['delete'] = hashDelete;\n\tHash.prototype.get = hashGet;\n\tHash.prototype.has = hashHas;\n\tHash.prototype.set = hashSet;\n\t\n\t/**\n\t * Creates an list cache object.\n\t *\n\t * @private\n\t * @constructor\n\t * @param {Array} [entries] The key-value pairs to cache.\n\t */\n\tfunction ListCache(entries) {\n\t var index = -1,\n\t length = entries ? entries.length : 0;\n\t\n\t this.clear();\n\t while (++index < length) {\n\t var entry = entries[index];\n\t this.set(entry[0], entry[1]);\n\t }\n\t}\n\t\n\t/**\n\t * Removes all key-value entries from the list cache.\n\t *\n\t * @private\n\t * @name clear\n\t * @memberOf ListCache\n\t */\n\tfunction listCacheClear() {\n\t this.__data__ = [];\n\t}\n\t\n\t/**\n\t * Removes `key` and its value from the list cache.\n\t *\n\t * @private\n\t * @name delete\n\t * @memberOf ListCache\n\t * @param {string} key The key of the value to remove.\n\t * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n\t */\n\tfunction listCacheDelete(key) {\n\t var data = this.__data__,\n\t index = assocIndexOf(data, key);\n\t\n\t if (index < 0) {\n\t return false;\n\t }\n\t var lastIndex = data.length - 1;\n\t if (index == lastIndex) {\n\t data.pop();\n\t } else {\n\t splice.call(data, index, 1);\n\t }\n\t return true;\n\t}\n\t\n\t/**\n\t * Gets the list cache value for `key`.\n\t *\n\t * @private\n\t * @name get\n\t * @memberOf ListCache\n\t * @param {string} key The key of the value to get.\n\t * @returns {*} Returns the entry value.\n\t */\n\tfunction listCacheGet(key) {\n\t var data = this.__data__,\n\t index = assocIndexOf(data, key);\n\t\n\t return index < 0 ? undefined : data[index][1];\n\t}\n\t\n\t/**\n\t * Checks if a list cache value for `key` exists.\n\t *\n\t * @private\n\t * @name has\n\t * @memberOf ListCache\n\t * @param {string} key The key of the entry to check.\n\t * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n\t */\n\tfunction listCacheHas(key) {\n\t return assocIndexOf(this.__data__, key) > -1;\n\t}\n\t\n\t/**\n\t * Sets the list cache `key` to `value`.\n\t *\n\t * @private\n\t * @name set\n\t * @memberOf ListCache\n\t * @param {string} key The key of the value to set.\n\t * @param {*} value The value to set.\n\t * @returns {Object} Returns the list cache instance.\n\t */\n\tfunction listCacheSet(key, value) {\n\t var data = this.__data__,\n\t index = assocIndexOf(data, key);\n\t\n\t if (index < 0) {\n\t data.push([key, value]);\n\t } else {\n\t data[index][1] = value;\n\t }\n\t return this;\n\t}\n\t\n\t// Add methods to `ListCache`.\n\tListCache.prototype.clear = listCacheClear;\n\tListCache.prototype['delete'] = listCacheDelete;\n\tListCache.prototype.get = listCacheGet;\n\tListCache.prototype.has = listCacheHas;\n\tListCache.prototype.set = listCacheSet;\n\t\n\t/**\n\t * Creates a map cache object to store key-value pairs.\n\t *\n\t * @private\n\t * @constructor\n\t * @param {Array} [entries] The key-value pairs to cache.\n\t */\n\tfunction MapCache(entries) {\n\t var index = -1,\n\t length = entries ? entries.length : 0;\n\t\n\t this.clear();\n\t while (++index < length) {\n\t var entry = entries[index];\n\t this.set(entry[0], entry[1]);\n\t }\n\t}\n\t\n\t/**\n\t * Removes all key-value entries from the map.\n\t *\n\t * @private\n\t * @name clear\n\t * @memberOf MapCache\n\t */\n\tfunction mapCacheClear() {\n\t this.__data__ = {\n\t 'hash': new Hash,\n\t 'map': new (Map || ListCache),\n\t 'string': new Hash\n\t };\n\t}\n\t\n\t/**\n\t * Removes `key` and its value from the map.\n\t *\n\t * @private\n\t * @name delete\n\t * @memberOf MapCache\n\t * @param {string} key The key of the value to remove.\n\t * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n\t */\n\tfunction mapCacheDelete(key) {\n\t return getMapData(this, key)['delete'](key);\n\t}\n\t\n\t/**\n\t * Gets the map value for `key`.\n\t *\n\t * @private\n\t * @name get\n\t * @memberOf MapCache\n\t * @param {string} key The key of the value to get.\n\t * @returns {*} Returns the entry value.\n\t */\n\tfunction mapCacheGet(key) {\n\t return getMapData(this, key).get(key);\n\t}\n\t\n\t/**\n\t * Checks if a map value for `key` exists.\n\t *\n\t * @private\n\t * @name has\n\t * @memberOf MapCache\n\t * @param {string} key The key of the entry to check.\n\t * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n\t */\n\tfunction mapCacheHas(key) {\n\t return getMapData(this, key).has(key);\n\t}\n\t\n\t/**\n\t * Sets the map `key` to `value`.\n\t *\n\t * @private\n\t * @name set\n\t * @memberOf MapCache\n\t * @param {string} key The key of the value to set.\n\t * @param {*} value The value to set.\n\t * @returns {Object} Returns the map cache instance.\n\t */\n\tfunction mapCacheSet(key, value) {\n\t getMapData(this, key).set(key, value);\n\t return this;\n\t}\n\t\n\t// Add methods to `MapCache`.\n\tMapCache.prototype.clear = mapCacheClear;\n\tMapCache.prototype['delete'] = mapCacheDelete;\n\tMapCache.prototype.get = mapCacheGet;\n\tMapCache.prototype.has = mapCacheHas;\n\tMapCache.prototype.set = mapCacheSet;\n\t\n\t/**\n\t *\n\t * Creates an array cache object to store unique values.\n\t *\n\t * @private\n\t * @constructor\n\t * @param {Array} [values] The values to cache.\n\t */\n\tfunction SetCache(values) {\n\t var index = -1,\n\t length = values ? values.length : 0;\n\t\n\t this.__data__ = new MapCache;\n\t while (++index < length) {\n\t this.add(values[index]);\n\t }\n\t}\n\t\n\t/**\n\t * Adds `value` to the array cache.\n\t *\n\t * @private\n\t * @name add\n\t * @memberOf SetCache\n\t * @alias push\n\t * @param {*} value The value to cache.\n\t * @returns {Object} Returns the cache instance.\n\t */\n\tfunction setCacheAdd(value) {\n\t this.__data__.set(value, HASH_UNDEFINED);\n\t return this;\n\t}\n\t\n\t/**\n\t * Checks if `value` is in the array cache.\n\t *\n\t * @private\n\t * @name has\n\t * @memberOf SetCache\n\t * @param {*} value The value to search for.\n\t * @returns {number} Returns `true` if `value` is found, else `false`.\n\t */\n\tfunction setCacheHas(value) {\n\t return this.__data__.has(value);\n\t}\n\t\n\t// Add methods to `SetCache`.\n\tSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\n\tSetCache.prototype.has = setCacheHas;\n\t\n\t/**\n\t * Creates a stack cache object to store key-value pairs.\n\t *\n\t * @private\n\t * @constructor\n\t * @param {Array} [entries] The key-value pairs to cache.\n\t */\n\tfunction Stack(entries) {\n\t this.__data__ = new ListCache(entries);\n\t}\n\t\n\t/**\n\t * Removes all key-value entries from the stack.\n\t *\n\t * @private\n\t * @name clear\n\t * @memberOf Stack\n\t */\n\tfunction stackClear() {\n\t this.__data__ = new ListCache;\n\t}\n\t\n\t/**\n\t * Removes `key` and its value from the stack.\n\t *\n\t * @private\n\t * @name delete\n\t * @memberOf Stack\n\t * @param {string} key The key of the value to remove.\n\t * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n\t */\n\tfunction stackDelete(key) {\n\t return this.__data__['delete'](key);\n\t}\n\t\n\t/**\n\t * Gets the stack value for `key`.\n\t *\n\t * @private\n\t * @name get\n\t * @memberOf Stack\n\t * @param {string} key The key of the value to get.\n\t * @returns {*} Returns the entry value.\n\t */\n\tfunction stackGet(key) {\n\t return this.__data__.get(key);\n\t}\n\t\n\t/**\n\t * Checks if a stack value for `key` exists.\n\t *\n\t * @private\n\t * @name has\n\t * @memberOf Stack\n\t * @param {string} key The key of the entry to check.\n\t * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n\t */\n\tfunction stackHas(key) {\n\t return this.__data__.has(key);\n\t}\n\t\n\t/**\n\t * Sets the stack `key` to `value`.\n\t *\n\t * @private\n\t * @name set\n\t * @memberOf Stack\n\t * @param {string} key The key of the value to set.\n\t * @param {*} value The value to set.\n\t * @returns {Object} Returns the stack cache instance.\n\t */\n\tfunction stackSet(key, value) {\n\t var cache = this.__data__;\n\t if (cache instanceof ListCache) {\n\t var pairs = cache.__data__;\n\t if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n\t pairs.push([key, value]);\n\t return this;\n\t }\n\t cache = this.__data__ = new MapCache(pairs);\n\t }\n\t cache.set(key, value);\n\t return this;\n\t}\n\t\n\t// Add methods to `Stack`.\n\tStack.prototype.clear = stackClear;\n\tStack.prototype['delete'] = stackDelete;\n\tStack.prototype.get = stackGet;\n\tStack.prototype.has = stackHas;\n\tStack.prototype.set = stackSet;\n\t\n\t/**\n\t * Creates an array of the enumerable property names of the array-like `value`.\n\t *\n\t * @private\n\t * @param {*} value The value to query.\n\t * @param {boolean} inherited Specify returning inherited property names.\n\t * @returns {Array} Returns the array of property names.\n\t */\n\tfunction arrayLikeKeys(value, inherited) {\n\t // Safari 8.1 makes `arguments.callee` enumerable in strict mode.\n\t // Safari 9 makes `arguments.length` enumerable in strict mode.\n\t var result = (isArray(value) || isArguments(value))\n\t ? baseTimes(value.length, String)\n\t : [];\n\t\n\t var length = result.length,\n\t skipIndexes = !!length;\n\t\n\t for (var key in value) {\n\t if ((inherited || hasOwnProperty.call(value, key)) &&\n\t !(skipIndexes && (key == 'length' || isIndex(key, length)))) {\n\t result.push(key);\n\t }\n\t }\n\t return result;\n\t}\n\t\n\t/**\n\t * Gets the index at which the `key` is found in `array` of key-value pairs.\n\t *\n\t * @private\n\t * @param {Array} array The array to inspect.\n\t * @param {*} key The key to search for.\n\t * @returns {number} Returns the index of the matched value, else `-1`.\n\t */\n\tfunction assocIndexOf(array, key) {\n\t var length = array.length;\n\t while (length--) {\n\t if (eq(array[length][0], key)) {\n\t return length;\n\t }\n\t }\n\t return -1;\n\t}\n\t\n\t/**\n\t * The base implementation of `getTag`.\n\t *\n\t * @private\n\t * @param {*} value The value to query.\n\t * @returns {string} Returns the `toStringTag`.\n\t */\n\tfunction baseGetTag(value) {\n\t return objectToString.call(value);\n\t}\n\t\n\t/**\n\t * The base implementation of `_.isEqual` which supports partial comparisons\n\t * and tracks traversed objects.\n\t *\n\t * @private\n\t * @param {*} value The value to compare.\n\t * @param {*} other The other value to compare.\n\t * @param {Function} [customizer] The function to customize comparisons.\n\t * @param {boolean} [bitmask] The bitmask of comparison flags.\n\t * The bitmask may be composed of the following flags:\n\t * 1 - Unordered comparison\n\t * 2 - Partial comparison\n\t * @param {Object} [stack] Tracks traversed `value` and `other` objects.\n\t * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n\t */\n\tfunction baseIsEqual(value, other, customizer, bitmask, stack) {\n\t if (value === other) {\n\t return true;\n\t }\n\t if (value == null || other == null || (!isObject(value) && !isObjectLike(other))) {\n\t return value !== value && other !== other;\n\t }\n\t return baseIsEqualDeep(value, other, baseIsEqual, customizer, bitmask, stack);\n\t}\n\t\n\t/**\n\t * A specialized version of `baseIsEqual` for arrays and objects which performs\n\t * deep comparisons and tracks traversed objects enabling objects with circular\n\t * references to be compared.\n\t *\n\t * @private\n\t * @param {Object} object The object to compare.\n\t * @param {Object} other The other object to compare.\n\t * @param {Function} equalFunc The function to determine equivalents of values.\n\t * @param {Function} [customizer] The function to customize comparisons.\n\t * @param {number} [bitmask] The bitmask of comparison flags. See `baseIsEqual`\n\t * for more details.\n\t * @param {Object} [stack] Tracks traversed `object` and `other` objects.\n\t * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n\t */\n\tfunction baseIsEqualDeep(object, other, equalFunc, customizer, bitmask, stack) {\n\t var objIsArr = isArray(object),\n\t othIsArr = isArray(other),\n\t objTag = arrayTag,\n\t othTag = arrayTag;\n\t\n\t if (!objIsArr) {\n\t objTag = getTag(object);\n\t objTag = objTag == argsTag ? objectTag : objTag;\n\t }\n\t if (!othIsArr) {\n\t othTag = getTag(other);\n\t othTag = othTag == argsTag ? objectTag : othTag;\n\t }\n\t var objIsObj = objTag == objectTag && !isHostObject(object),\n\t othIsObj = othTag == objectTag && !isHostObject(other),\n\t isSameTag = objTag == othTag;\n\t\n\t if (isSameTag && !objIsObj) {\n\t stack || (stack = new Stack);\n\t return (objIsArr || isTypedArray(object))\n\t ? equalArrays(object, other, equalFunc, customizer, bitmask, stack)\n\t : equalByTag(object, other, objTag, equalFunc, customizer, bitmask, stack);\n\t }\n\t if (!(bitmask & PARTIAL_COMPARE_FLAG)) {\n\t var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n\t othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\t\n\t if (objIsWrapped || othIsWrapped) {\n\t var objUnwrapped = objIsWrapped ? object.value() : object,\n\t othUnwrapped = othIsWrapped ? other.value() : other;\n\t\n\t stack || (stack = new Stack);\n\t return equalFunc(objUnwrapped, othUnwrapped, customizer, bitmask, stack);\n\t }\n\t }\n\t if (!isSameTag) {\n\t return false;\n\t }\n\t stack || (stack = new Stack);\n\t return equalObjects(object, other, equalFunc, customizer, bitmask, stack);\n\t}\n\t\n\t/**\n\t * The base implementation of `_.isNative` without bad shim checks.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is a native function,\n\t * else `false`.\n\t */\n\tfunction baseIsNative(value) {\n\t if (!isObject(value) || isMasked(value)) {\n\t return false;\n\t }\n\t var pattern = (isFunction(value) || isHostObject(value)) ? reIsNative : reIsHostCtor;\n\t return pattern.test(toSource(value));\n\t}\n\t\n\t/**\n\t * The base implementation of `_.isTypedArray` without Node.js optimizations.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n\t */\n\tfunction baseIsTypedArray(value) {\n\t return isObjectLike(value) &&\n\t isLength(value.length) && !!typedArrayTags[objectToString.call(value)];\n\t}\n\t\n\t/**\n\t * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n\t *\n\t * @private\n\t * @param {Object} object The object to query.\n\t * @returns {Array} Returns the array of property names.\n\t */\n\tfunction baseKeys(object) {\n\t if (!isPrototype(object)) {\n\t return nativeKeys(object);\n\t }\n\t var result = [];\n\t for (var key in Object(object)) {\n\t if (hasOwnProperty.call(object, key) && key != 'constructor') {\n\t result.push(key);\n\t }\n\t }\n\t return result;\n\t}\n\t\n\t/**\n\t * A specialized version of `baseIsEqualDeep` for arrays with support for\n\t * partial deep comparisons.\n\t *\n\t * @private\n\t * @param {Array} array The array to compare.\n\t * @param {Array} other The other array to compare.\n\t * @param {Function} equalFunc The function to determine equivalents of values.\n\t * @param {Function} customizer The function to customize comparisons.\n\t * @param {number} bitmask The bitmask of comparison flags. See `baseIsEqual`\n\t * for more details.\n\t * @param {Object} stack Tracks traversed `array` and `other` objects.\n\t * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n\t */\n\tfunction equalArrays(array, other, equalFunc, customizer, bitmask, stack) {\n\t var isPartial = bitmask & PARTIAL_COMPARE_FLAG,\n\t arrLength = array.length,\n\t othLength = other.length;\n\t\n\t if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n\t return false;\n\t }\n\t // Assume cyclic values are equal.\n\t var stacked = stack.get(array);\n\t if (stacked && stack.get(other)) {\n\t return stacked == other;\n\t }\n\t var index = -1,\n\t result = true,\n\t seen = (bitmask & UNORDERED_COMPARE_FLAG) ? new SetCache : undefined;\n\t\n\t stack.set(array, other);\n\t stack.set(other, array);\n\t\n\t // Ignore non-index properties.\n\t while (++index < arrLength) {\n\t var arrValue = array[index],\n\t othValue = other[index];\n\t\n\t if (customizer) {\n\t var compared = isPartial\n\t ? customizer(othValue, arrValue, index, other, array, stack)\n\t : customizer(arrValue, othValue, index, array, other, stack);\n\t }\n\t if (compared !== undefined) {\n\t if (compared) {\n\t continue;\n\t }\n\t result = false;\n\t break;\n\t }\n\t // Recursively compare arrays (susceptible to call stack limits).\n\t if (seen) {\n\t if (!arraySome(other, function(othValue, othIndex) {\n\t if (!seen.has(othIndex) &&\n\t (arrValue === othValue || equalFunc(arrValue, othValue, customizer, bitmask, stack))) {\n\t return seen.add(othIndex);\n\t }\n\t })) {\n\t result = false;\n\t break;\n\t }\n\t } else if (!(\n\t arrValue === othValue ||\n\t equalFunc(arrValue, othValue, customizer, bitmask, stack)\n\t )) {\n\t result = false;\n\t break;\n\t }\n\t }\n\t stack['delete'](array);\n\t stack['delete'](other);\n\t return result;\n\t}\n\t\n\t/**\n\t * A specialized version of `baseIsEqualDeep` for comparing objects of\n\t * the same `toStringTag`.\n\t *\n\t * **Note:** This function only supports comparing values with tags of\n\t * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n\t *\n\t * @private\n\t * @param {Object} object The object to compare.\n\t * @param {Object} other The other object to compare.\n\t * @param {string} tag The `toStringTag` of the objects to compare.\n\t * @param {Function} equalFunc The function to determine equivalents of values.\n\t * @param {Function} customizer The function to customize comparisons.\n\t * @param {number} bitmask The bitmask of comparison flags. See `baseIsEqual`\n\t * for more details.\n\t * @param {Object} stack Tracks traversed `object` and `other` objects.\n\t * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n\t */\n\tfunction equalByTag(object, other, tag, equalFunc, customizer, bitmask, stack) {\n\t switch (tag) {\n\t case dataViewTag:\n\t if ((object.byteLength != other.byteLength) ||\n\t (object.byteOffset != other.byteOffset)) {\n\t return false;\n\t }\n\t object = object.buffer;\n\t other = other.buffer;\n\t\n\t case arrayBufferTag:\n\t if ((object.byteLength != other.byteLength) ||\n\t !equalFunc(new Uint8Array(object), new Uint8Array(other))) {\n\t return false;\n\t }\n\t return true;\n\t\n\t case boolTag:\n\t case dateTag:\n\t case numberTag:\n\t // Coerce booleans to `1` or `0` and dates to milliseconds.\n\t // Invalid dates are coerced to `NaN`.\n\t return eq(+object, +other);\n\t\n\t case errorTag:\n\t return object.name == other.name && object.message == other.message;\n\t\n\t case regexpTag:\n\t case stringTag:\n\t // Coerce regexes to strings and treat strings, primitives and objects,\n\t // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring\n\t // for more details.\n\t return object == (other + '');\n\t\n\t case mapTag:\n\t var convert = mapToArray;\n\t\n\t case setTag:\n\t var isPartial = bitmask & PARTIAL_COMPARE_FLAG;\n\t convert || (convert = setToArray);\n\t\n\t if (object.size != other.size && !isPartial) {\n\t return false;\n\t }\n\t // Assume cyclic values are equal.\n\t var stacked = stack.get(object);\n\t if (stacked) {\n\t return stacked == other;\n\t }\n\t bitmask |= UNORDERED_COMPARE_FLAG;\n\t\n\t // Recursively compare objects (susceptible to call stack limits).\n\t stack.set(object, other);\n\t var result = equalArrays(convert(object), convert(other), equalFunc, customizer, bitmask, stack);\n\t stack['delete'](object);\n\t return result;\n\t\n\t case symbolTag:\n\t if (symbolValueOf) {\n\t return symbolValueOf.call(object) == symbolValueOf.call(other);\n\t }\n\t }\n\t return false;\n\t}\n\t\n\t/**\n\t * A specialized version of `baseIsEqualDeep` for objects with support for\n\t * partial deep comparisons.\n\t *\n\t * @private\n\t * @param {Object} object The object to compare.\n\t * @param {Object} other The other object to compare.\n\t * @param {Function} equalFunc The function to determine equivalents of values.\n\t * @param {Function} customizer The function to customize comparisons.\n\t * @param {number} bitmask The bitmask of comparison flags. See `baseIsEqual`\n\t * for more details.\n\t * @param {Object} stack Tracks traversed `object` and `other` objects.\n\t * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n\t */\n\tfunction equalObjects(object, other, equalFunc, customizer, bitmask, stack) {\n\t var isPartial = bitmask & PARTIAL_COMPARE_FLAG,\n\t objProps = keys(object),\n\t objLength = objProps.length,\n\t othProps = keys(other),\n\t othLength = othProps.length;\n\t\n\t if (objLength != othLength && !isPartial) {\n\t return false;\n\t }\n\t var index = objLength;\n\t while (index--) {\n\t var key = objProps[index];\n\t if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {\n\t return false;\n\t }\n\t }\n\t // Assume cyclic values are equal.\n\t var stacked = stack.get(object);\n\t if (stacked && stack.get(other)) {\n\t return stacked == other;\n\t }\n\t var result = true;\n\t stack.set(object, other);\n\t stack.set(other, object);\n\t\n\t var skipCtor = isPartial;\n\t while (++index < objLength) {\n\t key = objProps[index];\n\t var objValue = object[key],\n\t othValue = other[key];\n\t\n\t if (customizer) {\n\t var compared = isPartial\n\t ? customizer(othValue, objValue, key, other, object, stack)\n\t : customizer(objValue, othValue, key, object, other, stack);\n\t }\n\t // Recursively compare objects (susceptible to call stack limits).\n\t if (!(compared === undefined\n\t ? (objValue === othValue || equalFunc(objValue, othValue, customizer, bitmask, stack))\n\t : compared\n\t )) {\n\t result = false;\n\t break;\n\t }\n\t skipCtor || (skipCtor = key == 'constructor');\n\t }\n\t if (result && !skipCtor) {\n\t var objCtor = object.constructor,\n\t othCtor = other.constructor;\n\t\n\t // Non `Object` object instances with different constructors are not equal.\n\t if (objCtor != othCtor &&\n\t ('constructor' in object && 'constructor' in other) &&\n\t !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n\t typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n\t result = false;\n\t }\n\t }\n\t stack['delete'](object);\n\t stack['delete'](other);\n\t return result;\n\t}\n\t\n\t/**\n\t * Gets the data for `map`.\n\t *\n\t * @private\n\t * @param {Object} map The map to query.\n\t * @param {string} key The reference key.\n\t * @returns {*} Returns the map data.\n\t */\n\tfunction getMapData(map, key) {\n\t var data = map.__data__;\n\t return isKeyable(key)\n\t ? data[typeof key == 'string' ? 'string' : 'hash']\n\t : data.map;\n\t}\n\t\n\t/**\n\t * Gets the native function at `key` of `object`.\n\t *\n\t * @private\n\t * @param {Object} object The object to query.\n\t * @param {string} key The key of the method to get.\n\t * @returns {*} Returns the function if it's native, else `undefined`.\n\t */\n\tfunction getNative(object, key) {\n\t var value = getValue(object, key);\n\t return baseIsNative(value) ? value : undefined;\n\t}\n\t\n\t/**\n\t * Gets the `toStringTag` of `value`.\n\t *\n\t * @private\n\t * @param {*} value The value to query.\n\t * @returns {string} Returns the `toStringTag`.\n\t */\n\tvar getTag = baseGetTag;\n\t\n\t// Fallback for data views, maps, sets, and weak maps in IE 11,\n\t// for data views in Edge < 14, and promises in Node.js.\n\tif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n\t (Map && getTag(new Map) != mapTag) ||\n\t (Promise && getTag(Promise.resolve()) != promiseTag) ||\n\t (Set && getTag(new Set) != setTag) ||\n\t (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n\t getTag = function(value) {\n\t var result = objectToString.call(value),\n\t Ctor = result == objectTag ? value.constructor : undefined,\n\t ctorString = Ctor ? toSource(Ctor) : undefined;\n\t\n\t if (ctorString) {\n\t switch (ctorString) {\n\t case dataViewCtorString: return dataViewTag;\n\t case mapCtorString: return mapTag;\n\t case promiseCtorString: return promiseTag;\n\t case setCtorString: return setTag;\n\t case weakMapCtorString: return weakMapTag;\n\t }\n\t }\n\t return result;\n\t };\n\t}\n\t\n\t/**\n\t * Checks if `value` is a valid array-like index.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n\t * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n\t */\n\tfunction isIndex(value, length) {\n\t length = length == null ? MAX_SAFE_INTEGER : length;\n\t return !!length &&\n\t (typeof value == 'number' || reIsUint.test(value)) &&\n\t (value > -1 && value % 1 == 0 && value < length);\n\t}\n\t\n\t/**\n\t * Checks if `value` is suitable for use as unique object key.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n\t */\n\tfunction isKeyable(value) {\n\t var type = typeof value;\n\t return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n\t ? (value !== '__proto__')\n\t : (value === null);\n\t}\n\t\n\t/**\n\t * Checks if `func` has its source masked.\n\t *\n\t * @private\n\t * @param {Function} func The function to check.\n\t * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n\t */\n\tfunction isMasked(func) {\n\t return !!maskSrcKey && (maskSrcKey in func);\n\t}\n\t\n\t/**\n\t * Checks if `value` is likely a prototype object.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n\t */\n\tfunction isPrototype(value) {\n\t var Ctor = value && value.constructor,\n\t proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\t\n\t return value === proto;\n\t}\n\t\n\t/**\n\t * Converts `func` to its source code.\n\t *\n\t * @private\n\t * @param {Function} func The function to process.\n\t * @returns {string} Returns the source code.\n\t */\n\tfunction toSource(func) {\n\t if (func != null) {\n\t try {\n\t return funcToString.call(func);\n\t } catch (e) {}\n\t try {\n\t return (func + '');\n\t } catch (e) {}\n\t }\n\t return '';\n\t}\n\t\n\t/**\n\t * Performs a\n\t * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n\t * comparison between two values to determine if they are equivalent.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 4.0.0\n\t * @category Lang\n\t * @param {*} value The value to compare.\n\t * @param {*} other The other value to compare.\n\t * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n\t * @example\n\t *\n\t * var object = { 'a': 1 };\n\t * var other = { 'a': 1 };\n\t *\n\t * _.eq(object, object);\n\t * // => true\n\t *\n\t * _.eq(object, other);\n\t * // => false\n\t *\n\t * _.eq('a', 'a');\n\t * // => true\n\t *\n\t * _.eq('a', Object('a'));\n\t * // => false\n\t *\n\t * _.eq(NaN, NaN);\n\t * // => true\n\t */\n\tfunction eq(value, other) {\n\t return value === other || (value !== value && other !== other);\n\t}\n\t\n\t/**\n\t * Checks if `value` is likely an `arguments` object.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 0.1.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n\t * else `false`.\n\t * @example\n\t *\n\t * _.isArguments(function() { return arguments; }());\n\t * // => true\n\t *\n\t * _.isArguments([1, 2, 3]);\n\t * // => false\n\t */\n\tfunction isArguments(value) {\n\t // Safari 8.1 makes `arguments.callee` enumerable in strict mode.\n\t return isArrayLikeObject(value) && hasOwnProperty.call(value, 'callee') &&\n\t (!propertyIsEnumerable.call(value, 'callee') || objectToString.call(value) == argsTag);\n\t}\n\t\n\t/**\n\t * Checks if `value` is classified as an `Array` object.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 0.1.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n\t * @example\n\t *\n\t * _.isArray([1, 2, 3]);\n\t * // => true\n\t *\n\t * _.isArray(document.body.children);\n\t * // => false\n\t *\n\t * _.isArray('abc');\n\t * // => false\n\t *\n\t * _.isArray(_.noop);\n\t * // => false\n\t */\n\tvar isArray = Array.isArray;\n\t\n\t/**\n\t * Checks if `value` is array-like. A value is considered array-like if it's\n\t * not a function and has a `value.length` that's an integer greater than or\n\t * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 4.0.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n\t * @example\n\t *\n\t * _.isArrayLike([1, 2, 3]);\n\t * // => true\n\t *\n\t * _.isArrayLike(document.body.children);\n\t * // => true\n\t *\n\t * _.isArrayLike('abc');\n\t * // => true\n\t *\n\t * _.isArrayLike(_.noop);\n\t * // => false\n\t */\n\tfunction isArrayLike(value) {\n\t return value != null && isLength(value.length) && !isFunction(value);\n\t}\n\t\n\t/**\n\t * This method is like `_.isArrayLike` except that it also checks if `value`\n\t * is an object.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 4.0.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is an array-like object,\n\t * else `false`.\n\t * @example\n\t *\n\t * _.isArrayLikeObject([1, 2, 3]);\n\t * // => true\n\t *\n\t * _.isArrayLikeObject(document.body.children);\n\t * // => true\n\t *\n\t * _.isArrayLikeObject('abc');\n\t * // => false\n\t *\n\t * _.isArrayLikeObject(_.noop);\n\t * // => false\n\t */\n\tfunction isArrayLikeObject(value) {\n\t return isObjectLike(value) && isArrayLike(value);\n\t}\n\t\n\t/**\n\t * Performs a deep comparison between two values to determine if they are\n\t * equivalent.\n\t *\n\t * **Note:** This method supports comparing arrays, array buffers, booleans,\n\t * date objects, error objects, maps, numbers, `Object` objects, regexes,\n\t * sets, strings, symbols, and typed arrays. `Object` objects are compared\n\t * by their own, not inherited, enumerable properties. Functions and DOM\n\t * nodes are **not** supported.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 0.1.0\n\t * @category Lang\n\t * @param {*} value The value to compare.\n\t * @param {*} other The other value to compare.\n\t * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n\t * @example\n\t *\n\t * var object = { 'a': 1 };\n\t * var other = { 'a': 1 };\n\t *\n\t * _.isEqual(object, other);\n\t * // => true\n\t *\n\t * object === other;\n\t * // => false\n\t */\n\tfunction isEqual(value, other) {\n\t return baseIsEqual(value, other);\n\t}\n\t\n\t/**\n\t * Checks if `value` is classified as a `Function` object.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 0.1.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n\t * @example\n\t *\n\t * _.isFunction(_);\n\t * // => true\n\t *\n\t * _.isFunction(/abc/);\n\t * // => false\n\t */\n\tfunction isFunction(value) {\n\t // The use of `Object#toString` avoids issues with the `typeof` operator\n\t // in Safari 8-9 which returns 'object' for typed array and other constructors.\n\t var tag = isObject(value) ? objectToString.call(value) : '';\n\t return tag == funcTag || tag == genTag;\n\t}\n\t\n\t/**\n\t * Checks if `value` is a valid array-like length.\n\t *\n\t * **Note:** This method is loosely based on\n\t * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 4.0.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n\t * @example\n\t *\n\t * _.isLength(3);\n\t * // => true\n\t *\n\t * _.isLength(Number.MIN_VALUE);\n\t * // => false\n\t *\n\t * _.isLength(Infinity);\n\t * // => false\n\t *\n\t * _.isLength('3');\n\t * // => false\n\t */\n\tfunction isLength(value) {\n\t return typeof value == 'number' &&\n\t value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n\t}\n\t\n\t/**\n\t * Checks if `value` is the\n\t * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n\t * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 0.1.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n\t * @example\n\t *\n\t * _.isObject({});\n\t * // => true\n\t *\n\t * _.isObject([1, 2, 3]);\n\t * // => true\n\t *\n\t * _.isObject(_.noop);\n\t * // => true\n\t *\n\t * _.isObject(null);\n\t * // => false\n\t */\n\tfunction isObject(value) {\n\t var type = typeof value;\n\t return !!value && (type == 'object' || type == 'function');\n\t}\n\t\n\t/**\n\t * Checks if `value` is object-like. A value is object-like if it's not `null`\n\t * and has a `typeof` result of \"object\".\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 4.0.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n\t * @example\n\t *\n\t * _.isObjectLike({});\n\t * // => true\n\t *\n\t * _.isObjectLike([1, 2, 3]);\n\t * // => true\n\t *\n\t * _.isObjectLike(_.noop);\n\t * // => false\n\t *\n\t * _.isObjectLike(null);\n\t * // => false\n\t */\n\tfunction isObjectLike(value) {\n\t return !!value && typeof value == 'object';\n\t}\n\t\n\t/**\n\t * Checks if `value` is classified as a typed array.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 3.0.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n\t * @example\n\t *\n\t * _.isTypedArray(new Uint8Array);\n\t * // => true\n\t *\n\t * _.isTypedArray([]);\n\t * // => false\n\t */\n\tvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\t\n\t/**\n\t * Creates an array of the own enumerable property names of `object`.\n\t *\n\t * **Note:** Non-object values are coerced to objects. See the\n\t * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n\t * for more details.\n\t *\n\t * @static\n\t * @since 0.1.0\n\t * @memberOf _\n\t * @category Object\n\t * @param {Object} object The object to query.\n\t * @returns {Array} Returns the array of property names.\n\t * @example\n\t *\n\t * function Foo() {\n\t * this.a = 1;\n\t * this.b = 2;\n\t * }\n\t *\n\t * Foo.prototype.c = 3;\n\t *\n\t * _.keys(new Foo);\n\t * // => ['a', 'b'] (iteration order is not guaranteed)\n\t *\n\t * _.keys('hi');\n\t * // => ['0', '1']\n\t */\n\tfunction keys(object) {\n\t return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n\t}\n\t\n\tmodule.exports = isEqual;\n\t\n\t/* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }()), __webpack_require__(76)(module)))\n\n/***/ },\n/* 458 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar getNative = __webpack_require__(42),\n\t root = __webpack_require__(27);\n\t\n\t/* Built-in method references that are verified to be native. */\n\tvar DataView = getNative(root, 'DataView');\n\t\n\tmodule.exports = DataView;\n\n\n/***/ },\n/* 459 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar hashClear = __webpack_require__(498),\n\t hashDelete = __webpack_require__(499),\n\t hashGet = __webpack_require__(500),\n\t hashHas = __webpack_require__(501),\n\t hashSet = __webpack_require__(502);\n\t\n\t/**\n\t * Creates a hash object.\n\t *\n\t * @private\n\t * @constructor\n\t * @param {Array} [entries] The key-value pairs to cache.\n\t */\n\tfunction Hash(entries) {\n\t var index = -1,\n\t length = entries == null ? 0 : entries.length;\n\t\n\t this.clear();\n\t while (++index < length) {\n\t var entry = entries[index];\n\t this.set(entry[0], entry[1]);\n\t }\n\t}\n\t\n\t// Add methods to `Hash`.\n\tHash.prototype.clear = hashClear;\n\tHash.prototype['delete'] = hashDelete;\n\tHash.prototype.get = hashGet;\n\tHash.prototype.has = hashHas;\n\tHash.prototype.set = hashSet;\n\t\n\tmodule.exports = Hash;\n\n\n/***/ },\n/* 460 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar mapCacheClear = __webpack_require__(514),\n\t mapCacheDelete = __webpack_require__(515),\n\t mapCacheGet = __webpack_require__(516),\n\t mapCacheHas = __webpack_require__(517),\n\t mapCacheSet = __webpack_require__(518);\n\t\n\t/**\n\t * Creates a map cache object to store key-value pairs.\n\t *\n\t * @private\n\t * @constructor\n\t * @param {Array} [entries] The key-value pairs to cache.\n\t */\n\tfunction MapCache(entries) {\n\t var index = -1,\n\t length = entries == null ? 0 : entries.length;\n\t\n\t this.clear();\n\t while (++index < length) {\n\t var entry = entries[index];\n\t this.set(entry[0], entry[1]);\n\t }\n\t}\n\t\n\t// Add methods to `MapCache`.\n\tMapCache.prototype.clear = mapCacheClear;\n\tMapCache.prototype['delete'] = mapCacheDelete;\n\tMapCache.prototype.get = mapCacheGet;\n\tMapCache.prototype.has = mapCacheHas;\n\tMapCache.prototype.set = mapCacheSet;\n\t\n\tmodule.exports = MapCache;\n\n\n/***/ },\n/* 461 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar getNative = __webpack_require__(42),\n\t root = __webpack_require__(27);\n\t\n\t/* Built-in method references that are verified to be native. */\n\tvar Promise = getNative(root, 'Promise');\n\t\n\tmodule.exports = Promise;\n\n\n/***/ },\n/* 462 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar getNative = __webpack_require__(42),\n\t root = __webpack_require__(27);\n\t\n\t/* Built-in method references that are verified to be native. */\n\tvar Set = getNative(root, 'Set');\n\t\n\tmodule.exports = Set;\n\n\n/***/ },\n/* 463 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar ListCache = __webpack_require__(87),\n\t stackClear = __webpack_require__(525),\n\t stackDelete = __webpack_require__(526),\n\t stackGet = __webpack_require__(527),\n\t stackHas = __webpack_require__(528),\n\t stackSet = __webpack_require__(529);\n\t\n\t/**\n\t * Creates a stack cache object to store key-value pairs.\n\t *\n\t * @private\n\t * @constructor\n\t * @param {Array} [entries] The key-value pairs to cache.\n\t */\n\tfunction Stack(entries) {\n\t var data = this.__data__ = new ListCache(entries);\n\t this.size = data.size;\n\t}\n\t\n\t// Add methods to `Stack`.\n\tStack.prototype.clear = stackClear;\n\tStack.prototype['delete'] = stackDelete;\n\tStack.prototype.get = stackGet;\n\tStack.prototype.has = stackHas;\n\tStack.prototype.set = stackSet;\n\t\n\tmodule.exports = Stack;\n\n\n/***/ },\n/* 464 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar root = __webpack_require__(27);\n\t\n\t/** Built-in value references. */\n\tvar Uint8Array = root.Uint8Array;\n\t\n\tmodule.exports = Uint8Array;\n\n\n/***/ },\n/* 465 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar getNative = __webpack_require__(42),\n\t root = __webpack_require__(27);\n\t\n\t/* Built-in method references that are verified to be native. */\n\tvar WeakMap = getNative(root, 'WeakMap');\n\t\n\tmodule.exports = WeakMap;\n\n\n/***/ },\n/* 466 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Adds the key-value `pair` to `map`.\n\t *\n\t * @private\n\t * @param {Object} map The map to modify.\n\t * @param {Array} pair The key-value pair to add.\n\t * @returns {Object} Returns `map`.\n\t */\n\tfunction addMapEntry(map, pair) {\n\t // Don't return `map.set` because it's not chainable in IE 11.\n\t map.set(pair[0], pair[1]);\n\t return map;\n\t}\n\t\n\tmodule.exports = addMapEntry;\n\n\n/***/ },\n/* 467 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Adds `value` to `set`.\n\t *\n\t * @private\n\t * @param {Object} set The set to modify.\n\t * @param {*} value The value to add.\n\t * @returns {Object} Returns `set`.\n\t */\n\tfunction addSetEntry(set, value) {\n\t // Don't return `set.add` because it's not chainable in IE 11.\n\t set.add(value);\n\t return set;\n\t}\n\t\n\tmodule.exports = addSetEntry;\n\n\n/***/ },\n/* 468 */\n/***/ function(module, exports) {\n\n\t/**\n\t * A specialized version of `_.forEach` for arrays without support for\n\t * iteratee shorthands.\n\t *\n\t * @private\n\t * @param {Array} [array] The array to iterate over.\n\t * @param {Function} iteratee The function invoked per iteration.\n\t * @returns {Array} Returns `array`.\n\t */\n\tfunction arrayEach(array, iteratee) {\n\t var index = -1,\n\t length = array == null ? 0 : array.length;\n\t\n\t while (++index < length) {\n\t if (iteratee(array[index], index, array) === false) {\n\t break;\n\t }\n\t }\n\t return array;\n\t}\n\t\n\tmodule.exports = arrayEach;\n\n\n/***/ },\n/* 469 */\n/***/ function(module, exports) {\n\n\t/**\n\t * A specialized version of `_.filter` for arrays without support for\n\t * iteratee shorthands.\n\t *\n\t * @private\n\t * @param {Array} [array] The array to iterate over.\n\t * @param {Function} predicate The function invoked per iteration.\n\t * @returns {Array} Returns the new filtered array.\n\t */\n\tfunction arrayFilter(array, predicate) {\n\t var index = -1,\n\t length = array == null ? 0 : array.length,\n\t resIndex = 0,\n\t result = [];\n\t\n\t while (++index < length) {\n\t var value = array[index];\n\t if (predicate(value, index, array)) {\n\t result[resIndex++] = value;\n\t }\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = arrayFilter;\n\n\n/***/ },\n/* 470 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar copyObject = __webpack_require__(89),\n\t keys = __webpack_require__(125);\n\t\n\t/**\n\t * The base implementation of `_.assign` without support for multiple sources\n\t * or `customizer` functions.\n\t *\n\t * @private\n\t * @param {Object} object The destination object.\n\t * @param {Object} source The source object.\n\t * @returns {Object} Returns `object`.\n\t */\n\tfunction baseAssign(object, source) {\n\t return object && copyObject(source, keys(source), object);\n\t}\n\t\n\tmodule.exports = baseAssign;\n\n\n/***/ },\n/* 471 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar copyObject = __webpack_require__(89),\n\t keysIn = __webpack_require__(196);\n\t\n\t/**\n\t * The base implementation of `_.assignIn` without support for multiple sources\n\t * or `customizer` functions.\n\t *\n\t * @private\n\t * @param {Object} object The destination object.\n\t * @param {Object} source The source object.\n\t * @returns {Object} Returns `object`.\n\t */\n\tfunction baseAssignIn(object, source) {\n\t return object && copyObject(source, keysIn(source), object);\n\t}\n\t\n\tmodule.exports = baseAssignIn;\n\n\n/***/ },\n/* 472 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar Stack = __webpack_require__(463),\n\t arrayEach = __webpack_require__(468),\n\t assignValue = __webpack_require__(184),\n\t baseAssign = __webpack_require__(470),\n\t baseAssignIn = __webpack_require__(471),\n\t cloneBuffer = __webpack_require__(481),\n\t copyArray = __webpack_require__(488),\n\t copySymbols = __webpack_require__(489),\n\t copySymbolsIn = __webpack_require__(490),\n\t getAllKeys = __webpack_require__(493),\n\t getAllKeysIn = __webpack_require__(494),\n\t getTag = __webpack_require__(496),\n\t initCloneArray = __webpack_require__(503),\n\t initCloneByTag = __webpack_require__(504),\n\t initCloneObject = __webpack_require__(505),\n\t isArray = __webpack_require__(123),\n\t isBuffer = __webpack_require__(193),\n\t isObject = __webpack_require__(66),\n\t keys = __webpack_require__(125);\n\t\n\t/** Used to compose bitmasks for cloning. */\n\tvar CLONE_DEEP_FLAG = 1,\n\t CLONE_FLAT_FLAG = 2,\n\t CLONE_SYMBOLS_FLAG = 4;\n\t\n\t/** `Object#toString` result references. */\n\tvar argsTag = '[object Arguments]',\n\t arrayTag = '[object Array]',\n\t boolTag = '[object Boolean]',\n\t dateTag = '[object Date]',\n\t errorTag = '[object Error]',\n\t funcTag = '[object Function]',\n\t genTag = '[object GeneratorFunction]',\n\t mapTag = '[object Map]',\n\t numberTag = '[object Number]',\n\t objectTag = '[object Object]',\n\t regexpTag = '[object RegExp]',\n\t setTag = '[object Set]',\n\t stringTag = '[object String]',\n\t symbolTag = '[object Symbol]',\n\t weakMapTag = '[object WeakMap]';\n\t\n\tvar arrayBufferTag = '[object ArrayBuffer]',\n\t dataViewTag = '[object DataView]',\n\t float32Tag = '[object Float32Array]',\n\t float64Tag = '[object Float64Array]',\n\t int8Tag = '[object Int8Array]',\n\t int16Tag = '[object Int16Array]',\n\t int32Tag = '[object Int32Array]',\n\t uint8Tag = '[object Uint8Array]',\n\t uint8ClampedTag = '[object Uint8ClampedArray]',\n\t uint16Tag = '[object Uint16Array]',\n\t uint32Tag = '[object Uint32Array]';\n\t\n\t/** Used to identify `toStringTag` values supported by `_.clone`. */\n\tvar cloneableTags = {};\n\tcloneableTags[argsTag] = cloneableTags[arrayTag] =\n\tcloneableTags[arrayBufferTag] = cloneableTags[dataViewTag] =\n\tcloneableTags[boolTag] = cloneableTags[dateTag] =\n\tcloneableTags[float32Tag] = cloneableTags[float64Tag] =\n\tcloneableTags[int8Tag] = cloneableTags[int16Tag] =\n\tcloneableTags[int32Tag] = cloneableTags[mapTag] =\n\tcloneableTags[numberTag] = cloneableTags[objectTag] =\n\tcloneableTags[regexpTag] = cloneableTags[setTag] =\n\tcloneableTags[stringTag] = cloneableTags[symbolTag] =\n\tcloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\n\tcloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\n\tcloneableTags[errorTag] = cloneableTags[funcTag] =\n\tcloneableTags[weakMapTag] = false;\n\t\n\t/**\n\t * The base implementation of `_.clone` and `_.cloneDeep` which tracks\n\t * traversed objects.\n\t *\n\t * @private\n\t * @param {*} value The value to clone.\n\t * @param {boolean} bitmask The bitmask flags.\n\t * 1 - Deep clone\n\t * 2 - Flatten inherited properties\n\t * 4 - Clone symbols\n\t * @param {Function} [customizer] The function to customize cloning.\n\t * @param {string} [key] The key of `value`.\n\t * @param {Object} [object] The parent object of `value`.\n\t * @param {Object} [stack] Tracks traversed objects and their clone counterparts.\n\t * @returns {*} Returns the cloned value.\n\t */\n\tfunction baseClone(value, bitmask, customizer, key, object, stack) {\n\t var result,\n\t isDeep = bitmask & CLONE_DEEP_FLAG,\n\t isFlat = bitmask & CLONE_FLAT_FLAG,\n\t isFull = bitmask & CLONE_SYMBOLS_FLAG;\n\t\n\t if (customizer) {\n\t result = object ? customizer(value, key, object, stack) : customizer(value);\n\t }\n\t if (result !== undefined) {\n\t return result;\n\t }\n\t if (!isObject(value)) {\n\t return value;\n\t }\n\t var isArr = isArray(value);\n\t if (isArr) {\n\t result = initCloneArray(value);\n\t if (!isDeep) {\n\t return copyArray(value, result);\n\t }\n\t } else {\n\t var tag = getTag(value),\n\t isFunc = tag == funcTag || tag == genTag;\n\t\n\t if (isBuffer(value)) {\n\t return cloneBuffer(value, isDeep);\n\t }\n\t if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n\t result = (isFlat || isFunc) ? {} : initCloneObject(value);\n\t if (!isDeep) {\n\t return isFlat\n\t ? copySymbolsIn(value, baseAssignIn(result, value))\n\t : copySymbols(value, baseAssign(result, value));\n\t }\n\t } else {\n\t if (!cloneableTags[tag]) {\n\t return object ? value : {};\n\t }\n\t result = initCloneByTag(value, tag, baseClone, isDeep);\n\t }\n\t }\n\t // Check for circular references and return its corresponding clone.\n\t stack || (stack = new Stack);\n\t var stacked = stack.get(value);\n\t if (stacked) {\n\t return stacked;\n\t }\n\t stack.set(value, result);\n\t\n\t var keysFunc = isFull\n\t ? (isFlat ? getAllKeysIn : getAllKeys)\n\t : (isFlat ? keysIn : keys);\n\t\n\t var props = isArr ? undefined : keysFunc(value);\n\t arrayEach(props || value, function(subValue, key) {\n\t if (props) {\n\t key = subValue;\n\t subValue = value[key];\n\t }\n\t // Recursively populate clone (susceptible to call stack limits).\n\t assignValue(result, key, baseClone(subValue, bitmask, customizer, key, value, stack));\n\t });\n\t return result;\n\t}\n\t\n\tmodule.exports = baseClone;\n\n\n/***/ },\n/* 473 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isObject = __webpack_require__(66);\n\t\n\t/** Built-in value references. */\n\tvar objectCreate = Object.create;\n\t\n\t/**\n\t * The base implementation of `_.create` without support for assigning\n\t * properties to the created object.\n\t *\n\t * @private\n\t * @param {Object} proto The object to inherit from.\n\t * @returns {Object} Returns the new object.\n\t */\n\tvar baseCreate = (function() {\n\t function object() {}\n\t return function(proto) {\n\t if (!isObject(proto)) {\n\t return {};\n\t }\n\t if (objectCreate) {\n\t return objectCreate(proto);\n\t }\n\t object.prototype = proto;\n\t var result = new object;\n\t object.prototype = undefined;\n\t return result;\n\t };\n\t}());\n\t\n\tmodule.exports = baseCreate;\n\n\n/***/ },\n/* 474 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseGetTag = __webpack_require__(65),\n\t isObjectLike = __webpack_require__(92);\n\t\n\t/** `Object#toString` result references. */\n\tvar argsTag = '[object Arguments]';\n\t\n\t/**\n\t * The base implementation of `_.isArguments`.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n\t */\n\tfunction baseIsArguments(value) {\n\t return isObjectLike(value) && baseGetTag(value) == argsTag;\n\t}\n\t\n\tmodule.exports = baseIsArguments;\n\n\n/***/ },\n/* 475 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isFunction = __webpack_require__(194),\n\t isMasked = __webpack_require__(508),\n\t isObject = __webpack_require__(66),\n\t toSource = __webpack_require__(190);\n\t\n\t/**\n\t * Used to match `RegExp`\n\t * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n\t */\n\tvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\t\n\t/** Used to detect host constructors (Safari). */\n\tvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\t\n\t/** Used for built-in method references. */\n\tvar funcProto = Function.prototype,\n\t objectProto = Object.prototype;\n\t\n\t/** Used to resolve the decompiled source of functions. */\n\tvar funcToString = funcProto.toString;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/** Used to detect if a method is native. */\n\tvar reIsNative = RegExp('^' +\n\t funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n\t .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n\t);\n\t\n\t/**\n\t * The base implementation of `_.isNative` without bad shim checks.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is a native function,\n\t * else `false`.\n\t */\n\tfunction baseIsNative(value) {\n\t if (!isObject(value) || isMasked(value)) {\n\t return false;\n\t }\n\t var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n\t return pattern.test(toSource(value));\n\t}\n\t\n\tmodule.exports = baseIsNative;\n\n\n/***/ },\n/* 476 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseGetTag = __webpack_require__(65),\n\t isLength = __webpack_require__(195),\n\t isObjectLike = __webpack_require__(92);\n\t\n\t/** `Object#toString` result references. */\n\tvar argsTag = '[object Arguments]',\n\t arrayTag = '[object Array]',\n\t boolTag = '[object Boolean]',\n\t dateTag = '[object Date]',\n\t errorTag = '[object Error]',\n\t funcTag = '[object Function]',\n\t mapTag = '[object Map]',\n\t numberTag = '[object Number]',\n\t objectTag = '[object Object]',\n\t regexpTag = '[object RegExp]',\n\t setTag = '[object Set]',\n\t stringTag = '[object String]',\n\t weakMapTag = '[object WeakMap]';\n\t\n\tvar arrayBufferTag = '[object ArrayBuffer]',\n\t dataViewTag = '[object DataView]',\n\t float32Tag = '[object Float32Array]',\n\t float64Tag = '[object Float64Array]',\n\t int8Tag = '[object Int8Array]',\n\t int16Tag = '[object Int16Array]',\n\t int32Tag = '[object Int32Array]',\n\t uint8Tag = '[object Uint8Array]',\n\t uint8ClampedTag = '[object Uint8ClampedArray]',\n\t uint16Tag = '[object Uint16Array]',\n\t uint32Tag = '[object Uint32Array]';\n\t\n\t/** Used to identify `toStringTag` values of typed arrays. */\n\tvar typedArrayTags = {};\n\ttypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\n\ttypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\n\ttypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\n\ttypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\n\ttypedArrayTags[uint32Tag] = true;\n\ttypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\n\ttypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\n\ttypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\n\ttypedArrayTags[errorTag] = typedArrayTags[funcTag] =\n\ttypedArrayTags[mapTag] = typedArrayTags[numberTag] =\n\ttypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\n\ttypedArrayTags[setTag] = typedArrayTags[stringTag] =\n\ttypedArrayTags[weakMapTag] = false;\n\t\n\t/**\n\t * The base implementation of `_.isTypedArray` without Node.js optimizations.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n\t */\n\tfunction baseIsTypedArray(value) {\n\t return isObjectLike(value) &&\n\t isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n\t}\n\t\n\tmodule.exports = baseIsTypedArray;\n\n\n/***/ },\n/* 477 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isPrototype = __webpack_require__(122),\n\t nativeKeys = __webpack_require__(520);\n\t\n\t/** Used for built-in method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n\t *\n\t * @private\n\t * @param {Object} object The object to query.\n\t * @returns {Array} Returns the array of property names.\n\t */\n\tfunction baseKeys(object) {\n\t if (!isPrototype(object)) {\n\t return nativeKeys(object);\n\t }\n\t var result = [];\n\t for (var key in Object(object)) {\n\t if (hasOwnProperty.call(object, key) && key != 'constructor') {\n\t result.push(key);\n\t }\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = baseKeys;\n\n\n/***/ },\n/* 478 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isObject = __webpack_require__(66),\n\t isPrototype = __webpack_require__(122),\n\t nativeKeysIn = __webpack_require__(521);\n\t\n\t/** Used for built-in method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense.\n\t *\n\t * @private\n\t * @param {Object} object The object to query.\n\t * @returns {Array} Returns the array of property names.\n\t */\n\tfunction baseKeysIn(object) {\n\t if (!isObject(object)) {\n\t return nativeKeysIn(object);\n\t }\n\t var isProto = isPrototype(object),\n\t result = [];\n\t\n\t for (var key in object) {\n\t if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n\t result.push(key);\n\t }\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = baseKeysIn;\n\n\n/***/ },\n/* 479 */\n/***/ function(module, exports) {\n\n\t/**\n\t * The base implementation of `_.times` without support for iteratee shorthands\n\t * or max array length checks.\n\t *\n\t * @private\n\t * @param {number} n The number of times to invoke `iteratee`.\n\t * @param {Function} iteratee The function invoked per iteration.\n\t * @returns {Array} Returns the array of results.\n\t */\n\tfunction baseTimes(n, iteratee) {\n\t var index = -1,\n\t result = Array(n);\n\t\n\t while (++index < n) {\n\t result[index] = iteratee(index);\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = baseTimes;\n\n\n/***/ },\n/* 480 */\n/***/ function(module, exports) {\n\n\t/**\n\t * The base implementation of `_.unary` without support for storing metadata.\n\t *\n\t * @private\n\t * @param {Function} func The function to cap arguments for.\n\t * @returns {Function} Returns the new capped function.\n\t */\n\tfunction baseUnary(func) {\n\t return function(value) {\n\t return func(value);\n\t };\n\t}\n\t\n\tmodule.exports = baseUnary;\n\n\n/***/ },\n/* 481 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/* WEBPACK VAR INJECTION */(function(module) {var root = __webpack_require__(27);\n\t\n\t/** Detect free variable `exports`. */\n\tvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\t\n\t/** Detect free variable `module`. */\n\tvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\t\n\t/** Detect the popular CommonJS extension `module.exports`. */\n\tvar moduleExports = freeModule && freeModule.exports === freeExports;\n\t\n\t/** Built-in value references. */\n\tvar Buffer = moduleExports ? root.Buffer : undefined,\n\t allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined;\n\t\n\t/**\n\t * Creates a clone of `buffer`.\n\t *\n\t * @private\n\t * @param {Buffer} buffer The buffer to clone.\n\t * @param {boolean} [isDeep] Specify a deep clone.\n\t * @returns {Buffer} Returns the cloned buffer.\n\t */\n\tfunction cloneBuffer(buffer, isDeep) {\n\t if (isDeep) {\n\t return buffer.slice();\n\t }\n\t var length = buffer.length,\n\t result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length);\n\t\n\t buffer.copy(result);\n\t return result;\n\t}\n\t\n\tmodule.exports = cloneBuffer;\n\t\n\t/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(76)(module)))\n\n/***/ },\n/* 482 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar cloneArrayBuffer = __webpack_require__(119);\n\t\n\t/**\n\t * Creates a clone of `dataView`.\n\t *\n\t * @private\n\t * @param {Object} dataView The data view to clone.\n\t * @param {boolean} [isDeep] Specify a deep clone.\n\t * @returns {Object} Returns the cloned data view.\n\t */\n\tfunction cloneDataView(dataView, isDeep) {\n\t var buffer = isDeep ? cloneArrayBuffer(dataView.buffer) : dataView.buffer;\n\t return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength);\n\t}\n\t\n\tmodule.exports = cloneDataView;\n\n\n/***/ },\n/* 483 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar addMapEntry = __webpack_require__(466),\n\t arrayReduce = __webpack_require__(183),\n\t mapToArray = __webpack_require__(519);\n\t\n\t/** Used to compose bitmasks for cloning. */\n\tvar CLONE_DEEP_FLAG = 1;\n\t\n\t/**\n\t * Creates a clone of `map`.\n\t *\n\t * @private\n\t * @param {Object} map The map to clone.\n\t * @param {Function} cloneFunc The function to clone values.\n\t * @param {boolean} [isDeep] Specify a deep clone.\n\t * @returns {Object} Returns the cloned map.\n\t */\n\tfunction cloneMap(map, isDeep, cloneFunc) {\n\t var array = isDeep ? cloneFunc(mapToArray(map), CLONE_DEEP_FLAG) : mapToArray(map);\n\t return arrayReduce(array, addMapEntry, new map.constructor);\n\t}\n\t\n\tmodule.exports = cloneMap;\n\n\n/***/ },\n/* 484 */\n/***/ function(module, exports) {\n\n\t/** Used to match `RegExp` flags from their coerced string values. */\n\tvar reFlags = /\\w*$/;\n\t\n\t/**\n\t * Creates a clone of `regexp`.\n\t *\n\t * @private\n\t * @param {Object} regexp The regexp to clone.\n\t * @returns {Object} Returns the cloned regexp.\n\t */\n\tfunction cloneRegExp(regexp) {\n\t var result = new regexp.constructor(regexp.source, reFlags.exec(regexp));\n\t result.lastIndex = regexp.lastIndex;\n\t return result;\n\t}\n\t\n\tmodule.exports = cloneRegExp;\n\n\n/***/ },\n/* 485 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar addSetEntry = __webpack_require__(467),\n\t arrayReduce = __webpack_require__(183),\n\t setToArray = __webpack_require__(524);\n\t\n\t/** Used to compose bitmasks for cloning. */\n\tvar CLONE_DEEP_FLAG = 1;\n\t\n\t/**\n\t * Creates a clone of `set`.\n\t *\n\t * @private\n\t * @param {Object} set The set to clone.\n\t * @param {Function} cloneFunc The function to clone values.\n\t * @param {boolean} [isDeep] Specify a deep clone.\n\t * @returns {Object} Returns the cloned set.\n\t */\n\tfunction cloneSet(set, isDeep, cloneFunc) {\n\t var array = isDeep ? cloneFunc(setToArray(set), CLONE_DEEP_FLAG) : setToArray(set);\n\t return arrayReduce(array, addSetEntry, new set.constructor);\n\t}\n\t\n\tmodule.exports = cloneSet;\n\n\n/***/ },\n/* 486 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar Symbol = __webpack_require__(118);\n\t\n\t/** Used to convert symbols to primitives and strings. */\n\tvar symbolProto = Symbol ? Symbol.prototype : undefined,\n\t symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\t\n\t/**\n\t * Creates a clone of the `symbol` object.\n\t *\n\t * @private\n\t * @param {Object} symbol The symbol object to clone.\n\t * @returns {Object} Returns the cloned symbol object.\n\t */\n\tfunction cloneSymbol(symbol) {\n\t return symbolValueOf ? Object(symbolValueOf.call(symbol)) : {};\n\t}\n\t\n\tmodule.exports = cloneSymbol;\n\n\n/***/ },\n/* 487 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar cloneArrayBuffer = __webpack_require__(119);\n\t\n\t/**\n\t * Creates a clone of `typedArray`.\n\t *\n\t * @private\n\t * @param {Object} typedArray The typed array to clone.\n\t * @param {boolean} [isDeep] Specify a deep clone.\n\t * @returns {Object} Returns the cloned typed array.\n\t */\n\tfunction cloneTypedArray(typedArray, isDeep) {\n\t var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;\n\t return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);\n\t}\n\t\n\tmodule.exports = cloneTypedArray;\n\n\n/***/ },\n/* 488 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Copies the values of `source` to `array`.\n\t *\n\t * @private\n\t * @param {Array} source The array to copy values from.\n\t * @param {Array} [array=[]] The array to copy values to.\n\t * @returns {Array} Returns `array`.\n\t */\n\tfunction copyArray(source, array) {\n\t var index = -1,\n\t length = source.length;\n\t\n\t array || (array = Array(length));\n\t while (++index < length) {\n\t array[index] = source[index];\n\t }\n\t return array;\n\t}\n\t\n\tmodule.exports = copyArray;\n\n\n/***/ },\n/* 489 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar copyObject = __webpack_require__(89),\n\t getSymbols = __webpack_require__(121);\n\t\n\t/**\n\t * Copies own symbols of `source` to `object`.\n\t *\n\t * @private\n\t * @param {Object} source The object to copy symbols from.\n\t * @param {Object} [object={}] The object to copy symbols to.\n\t * @returns {Object} Returns `object`.\n\t */\n\tfunction copySymbols(source, object) {\n\t return copyObject(source, getSymbols(source), object);\n\t}\n\t\n\tmodule.exports = copySymbols;\n\n\n/***/ },\n/* 490 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar copyObject = __webpack_require__(89),\n\t getSymbolsIn = __webpack_require__(188);\n\t\n\t/**\n\t * Copies own and inherited symbols of `source` to `object`.\n\t *\n\t * @private\n\t * @param {Object} source The object to copy symbols from.\n\t * @param {Object} [object={}] The object to copy symbols to.\n\t * @returns {Object} Returns `object`.\n\t */\n\tfunction copySymbolsIn(source, object) {\n\t return copyObject(source, getSymbolsIn(source), object);\n\t}\n\t\n\tmodule.exports = copySymbolsIn;\n\n\n/***/ },\n/* 491 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar root = __webpack_require__(27);\n\t\n\t/** Used to detect overreaching core-js shims. */\n\tvar coreJsData = root['__core-js_shared__'];\n\t\n\tmodule.exports = coreJsData;\n\n\n/***/ },\n/* 492 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar getNative = __webpack_require__(42);\n\t\n\tvar defineProperty = (function() {\n\t try {\n\t var func = getNative(Object, 'defineProperty');\n\t func({}, '', {});\n\t return func;\n\t } catch (e) {}\n\t}());\n\t\n\tmodule.exports = defineProperty;\n\n\n/***/ },\n/* 493 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseGetAllKeys = __webpack_require__(186),\n\t getSymbols = __webpack_require__(121),\n\t keys = __webpack_require__(125);\n\t\n\t/**\n\t * Creates an array of own enumerable property names and symbols of `object`.\n\t *\n\t * @private\n\t * @param {Object} object The object to query.\n\t * @returns {Array} Returns the array of property names and symbols.\n\t */\n\tfunction getAllKeys(object) {\n\t return baseGetAllKeys(object, keys, getSymbols);\n\t}\n\t\n\tmodule.exports = getAllKeys;\n\n\n/***/ },\n/* 494 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseGetAllKeys = __webpack_require__(186),\n\t getSymbolsIn = __webpack_require__(188),\n\t keysIn = __webpack_require__(196);\n\t\n\t/**\n\t * Creates an array of own and inherited enumerable property names and\n\t * symbols of `object`.\n\t *\n\t * @private\n\t * @param {Object} object The object to query.\n\t * @returns {Array} Returns the array of property names and symbols.\n\t */\n\tfunction getAllKeysIn(object) {\n\t return baseGetAllKeys(object, keysIn, getSymbolsIn);\n\t}\n\t\n\tmodule.exports = getAllKeysIn;\n\n\n/***/ },\n/* 495 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar Symbol = __webpack_require__(118);\n\t\n\t/** Used for built-in method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * Used to resolve the\n\t * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar nativeObjectToString = objectProto.toString;\n\t\n\t/** Built-in value references. */\n\tvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\t\n\t/**\n\t * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n\t *\n\t * @private\n\t * @param {*} value The value to query.\n\t * @returns {string} Returns the raw `toStringTag`.\n\t */\n\tfunction getRawTag(value) {\n\t var isOwn = hasOwnProperty.call(value, symToStringTag),\n\t tag = value[symToStringTag];\n\t\n\t try {\n\t value[symToStringTag] = undefined;\n\t var unmasked = true;\n\t } catch (e) {}\n\t\n\t var result = nativeObjectToString.call(value);\n\t if (unmasked) {\n\t if (isOwn) {\n\t value[symToStringTag] = tag;\n\t } else {\n\t delete value[symToStringTag];\n\t }\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = getRawTag;\n\n\n/***/ },\n/* 496 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar DataView = __webpack_require__(458),\n\t Map = __webpack_require__(117),\n\t Promise = __webpack_require__(461),\n\t Set = __webpack_require__(462),\n\t WeakMap = __webpack_require__(465),\n\t baseGetTag = __webpack_require__(65),\n\t toSource = __webpack_require__(190);\n\t\n\t/** `Object#toString` result references. */\n\tvar mapTag = '[object Map]',\n\t objectTag = '[object Object]',\n\t promiseTag = '[object Promise]',\n\t setTag = '[object Set]',\n\t weakMapTag = '[object WeakMap]';\n\t\n\tvar dataViewTag = '[object DataView]';\n\t\n\t/** Used to detect maps, sets, and weakmaps. */\n\tvar dataViewCtorString = toSource(DataView),\n\t mapCtorString = toSource(Map),\n\t promiseCtorString = toSource(Promise),\n\t setCtorString = toSource(Set),\n\t weakMapCtorString = toSource(WeakMap);\n\t\n\t/**\n\t * Gets the `toStringTag` of `value`.\n\t *\n\t * @private\n\t * @param {*} value The value to query.\n\t * @returns {string} Returns the `toStringTag`.\n\t */\n\tvar getTag = baseGetTag;\n\t\n\t// Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.\n\tif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n\t (Map && getTag(new Map) != mapTag) ||\n\t (Promise && getTag(Promise.resolve()) != promiseTag) ||\n\t (Set && getTag(new Set) != setTag) ||\n\t (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n\t getTag = function(value) {\n\t var result = baseGetTag(value),\n\t Ctor = result == objectTag ? value.constructor : undefined,\n\t ctorString = Ctor ? toSource(Ctor) : '';\n\t\n\t if (ctorString) {\n\t switch (ctorString) {\n\t case dataViewCtorString: return dataViewTag;\n\t case mapCtorString: return mapTag;\n\t case promiseCtorString: return promiseTag;\n\t case setCtorString: return setTag;\n\t case weakMapCtorString: return weakMapTag;\n\t }\n\t }\n\t return result;\n\t };\n\t}\n\t\n\tmodule.exports = getTag;\n\n\n/***/ },\n/* 497 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Gets the value at `key` of `object`.\n\t *\n\t * @private\n\t * @param {Object} [object] The object to query.\n\t * @param {string} key The key of the property to get.\n\t * @returns {*} Returns the property value.\n\t */\n\tfunction getValue(object, key) {\n\t return object == null ? undefined : object[key];\n\t}\n\t\n\tmodule.exports = getValue;\n\n\n/***/ },\n/* 498 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar nativeCreate = __webpack_require__(91);\n\t\n\t/**\n\t * Removes all key-value entries from the hash.\n\t *\n\t * @private\n\t * @name clear\n\t * @memberOf Hash\n\t */\n\tfunction hashClear() {\n\t this.__data__ = nativeCreate ? nativeCreate(null) : {};\n\t this.size = 0;\n\t}\n\t\n\tmodule.exports = hashClear;\n\n\n/***/ },\n/* 499 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Removes `key` and its value from the hash.\n\t *\n\t * @private\n\t * @name delete\n\t * @memberOf Hash\n\t * @param {Object} hash The hash to modify.\n\t * @param {string} key The key of the value to remove.\n\t * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n\t */\n\tfunction hashDelete(key) {\n\t var result = this.has(key) && delete this.__data__[key];\n\t this.size -= result ? 1 : 0;\n\t return result;\n\t}\n\t\n\tmodule.exports = hashDelete;\n\n\n/***/ },\n/* 500 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar nativeCreate = __webpack_require__(91);\n\t\n\t/** Used to stand-in for `undefined` hash values. */\n\tvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\t\n\t/** Used for built-in method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * Gets the hash value for `key`.\n\t *\n\t * @private\n\t * @name get\n\t * @memberOf Hash\n\t * @param {string} key The key of the value to get.\n\t * @returns {*} Returns the entry value.\n\t */\n\tfunction hashGet(key) {\n\t var data = this.__data__;\n\t if (nativeCreate) {\n\t var result = data[key];\n\t return result === HASH_UNDEFINED ? undefined : result;\n\t }\n\t return hasOwnProperty.call(data, key) ? data[key] : undefined;\n\t}\n\t\n\tmodule.exports = hashGet;\n\n\n/***/ },\n/* 501 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar nativeCreate = __webpack_require__(91);\n\t\n\t/** Used for built-in method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * Checks if a hash value for `key` exists.\n\t *\n\t * @private\n\t * @name has\n\t * @memberOf Hash\n\t * @param {string} key The key of the entry to check.\n\t * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n\t */\n\tfunction hashHas(key) {\n\t var data = this.__data__;\n\t return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n\t}\n\t\n\tmodule.exports = hashHas;\n\n\n/***/ },\n/* 502 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar nativeCreate = __webpack_require__(91);\n\t\n\t/** Used to stand-in for `undefined` hash values. */\n\tvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\t\n\t/**\n\t * Sets the hash `key` to `value`.\n\t *\n\t * @private\n\t * @name set\n\t * @memberOf Hash\n\t * @param {string} key The key of the value to set.\n\t * @param {*} value The value to set.\n\t * @returns {Object} Returns the hash instance.\n\t */\n\tfunction hashSet(key, value) {\n\t var data = this.__data__;\n\t this.size += this.has(key) ? 0 : 1;\n\t data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n\t return this;\n\t}\n\t\n\tmodule.exports = hashSet;\n\n\n/***/ },\n/* 503 */\n/***/ function(module, exports) {\n\n\t/** Used for built-in method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * Initializes an array clone.\n\t *\n\t * @private\n\t * @param {Array} array The array to clone.\n\t * @returns {Array} Returns the initialized clone.\n\t */\n\tfunction initCloneArray(array) {\n\t var length = array.length,\n\t result = array.constructor(length);\n\t\n\t // Add properties assigned by `RegExp#exec`.\n\t if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n\t result.index = array.index;\n\t result.input = array.input;\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = initCloneArray;\n\n\n/***/ },\n/* 504 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar cloneArrayBuffer = __webpack_require__(119),\n\t cloneDataView = __webpack_require__(482),\n\t cloneMap = __webpack_require__(483),\n\t cloneRegExp = __webpack_require__(484),\n\t cloneSet = __webpack_require__(485),\n\t cloneSymbol = __webpack_require__(486),\n\t cloneTypedArray = __webpack_require__(487);\n\t\n\t/** `Object#toString` result references. */\n\tvar boolTag = '[object Boolean]',\n\t dateTag = '[object Date]',\n\t mapTag = '[object Map]',\n\t numberTag = '[object Number]',\n\t regexpTag = '[object RegExp]',\n\t setTag = '[object Set]',\n\t stringTag = '[object String]',\n\t symbolTag = '[object Symbol]';\n\t\n\tvar arrayBufferTag = '[object ArrayBuffer]',\n\t dataViewTag = '[object DataView]',\n\t float32Tag = '[object Float32Array]',\n\t float64Tag = '[object Float64Array]',\n\t int8Tag = '[object Int8Array]',\n\t int16Tag = '[object Int16Array]',\n\t int32Tag = '[object Int32Array]',\n\t uint8Tag = '[object Uint8Array]',\n\t uint8ClampedTag = '[object Uint8ClampedArray]',\n\t uint16Tag = '[object Uint16Array]',\n\t uint32Tag = '[object Uint32Array]';\n\t\n\t/**\n\t * Initializes an object clone based on its `toStringTag`.\n\t *\n\t * **Note:** This function only supports cloning values with tags of\n\t * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n\t *\n\t * @private\n\t * @param {Object} object The object to clone.\n\t * @param {string} tag The `toStringTag` of the object to clone.\n\t * @param {Function} cloneFunc The function to clone values.\n\t * @param {boolean} [isDeep] Specify a deep clone.\n\t * @returns {Object} Returns the initialized clone.\n\t */\n\tfunction initCloneByTag(object, tag, cloneFunc, isDeep) {\n\t var Ctor = object.constructor;\n\t switch (tag) {\n\t case arrayBufferTag:\n\t return cloneArrayBuffer(object);\n\t\n\t case boolTag:\n\t case dateTag:\n\t return new Ctor(+object);\n\t\n\t case dataViewTag:\n\t return cloneDataView(object, isDeep);\n\t\n\t case float32Tag: case float64Tag:\n\t case int8Tag: case int16Tag: case int32Tag:\n\t case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n\t return cloneTypedArray(object, isDeep);\n\t\n\t case mapTag:\n\t return cloneMap(object, isDeep, cloneFunc);\n\t\n\t case numberTag:\n\t case stringTag:\n\t return new Ctor(object);\n\t\n\t case regexpTag:\n\t return cloneRegExp(object);\n\t\n\t case setTag:\n\t return cloneSet(object, isDeep, cloneFunc);\n\t\n\t case symbolTag:\n\t return cloneSymbol(object);\n\t }\n\t}\n\t\n\tmodule.exports = initCloneByTag;\n\n\n/***/ },\n/* 505 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseCreate = __webpack_require__(473),\n\t getPrototype = __webpack_require__(120),\n\t isPrototype = __webpack_require__(122);\n\t\n\t/**\n\t * Initializes an object clone.\n\t *\n\t * @private\n\t * @param {Object} object The object to clone.\n\t * @returns {Object} Returns the initialized clone.\n\t */\n\tfunction initCloneObject(object) {\n\t return (typeof object.constructor == 'function' && !isPrototype(object))\n\t ? baseCreate(getPrototype(object))\n\t : {};\n\t}\n\t\n\tmodule.exports = initCloneObject;\n\n\n/***/ },\n/* 506 */\n/***/ function(module, exports) {\n\n\t/** Used as references for various `Number` constants. */\n\tvar MAX_SAFE_INTEGER = 9007199254740991;\n\t\n\t/** Used to detect unsigned integer values. */\n\tvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\t\n\t/**\n\t * Checks if `value` is a valid array-like index.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n\t * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n\t */\n\tfunction isIndex(value, length) {\n\t length = length == null ? MAX_SAFE_INTEGER : length;\n\t return !!length &&\n\t (typeof value == 'number' || reIsUint.test(value)) &&\n\t (value > -1 && value % 1 == 0 && value < length);\n\t}\n\t\n\tmodule.exports = isIndex;\n\n\n/***/ },\n/* 507 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Checks if `value` is suitable for use as unique object key.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n\t */\n\tfunction isKeyable(value) {\n\t var type = typeof value;\n\t return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n\t ? (value !== '__proto__')\n\t : (value === null);\n\t}\n\t\n\tmodule.exports = isKeyable;\n\n\n/***/ },\n/* 508 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar coreJsData = __webpack_require__(491);\n\t\n\t/** Used to detect methods masquerading as native. */\n\tvar maskSrcKey = (function() {\n\t var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n\t return uid ? ('Symbol(src)_1.' + uid) : '';\n\t}());\n\t\n\t/**\n\t * Checks if `func` has its source masked.\n\t *\n\t * @private\n\t * @param {Function} func The function to check.\n\t * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n\t */\n\tfunction isMasked(func) {\n\t return !!maskSrcKey && (maskSrcKey in func);\n\t}\n\t\n\tmodule.exports = isMasked;\n\n\n/***/ },\n/* 509 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Removes all key-value entries from the list cache.\n\t *\n\t * @private\n\t * @name clear\n\t * @memberOf ListCache\n\t */\n\tfunction listCacheClear() {\n\t this.__data__ = [];\n\t this.size = 0;\n\t}\n\t\n\tmodule.exports = listCacheClear;\n\n\n/***/ },\n/* 510 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar assocIndexOf = __webpack_require__(88);\n\t\n\t/** Used for built-in method references. */\n\tvar arrayProto = Array.prototype;\n\t\n\t/** Built-in value references. */\n\tvar splice = arrayProto.splice;\n\t\n\t/**\n\t * Removes `key` and its value from the list cache.\n\t *\n\t * @private\n\t * @name delete\n\t * @memberOf ListCache\n\t * @param {string} key The key of the value to remove.\n\t * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n\t */\n\tfunction listCacheDelete(key) {\n\t var data = this.__data__,\n\t index = assocIndexOf(data, key);\n\t\n\t if (index < 0) {\n\t return false;\n\t }\n\t var lastIndex = data.length - 1;\n\t if (index == lastIndex) {\n\t data.pop();\n\t } else {\n\t splice.call(data, index, 1);\n\t }\n\t --this.size;\n\t return true;\n\t}\n\t\n\tmodule.exports = listCacheDelete;\n\n\n/***/ },\n/* 511 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar assocIndexOf = __webpack_require__(88);\n\t\n\t/**\n\t * Gets the list cache value for `key`.\n\t *\n\t * @private\n\t * @name get\n\t * @memberOf ListCache\n\t * @param {string} key The key of the value to get.\n\t * @returns {*} Returns the entry value.\n\t */\n\tfunction listCacheGet(key) {\n\t var data = this.__data__,\n\t index = assocIndexOf(data, key);\n\t\n\t return index < 0 ? undefined : data[index][1];\n\t}\n\t\n\tmodule.exports = listCacheGet;\n\n\n/***/ },\n/* 512 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar assocIndexOf = __webpack_require__(88);\n\t\n\t/**\n\t * Checks if a list cache value for `key` exists.\n\t *\n\t * @private\n\t * @name has\n\t * @memberOf ListCache\n\t * @param {string} key The key of the entry to check.\n\t * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n\t */\n\tfunction listCacheHas(key) {\n\t return assocIndexOf(this.__data__, key) > -1;\n\t}\n\t\n\tmodule.exports = listCacheHas;\n\n\n/***/ },\n/* 513 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar assocIndexOf = __webpack_require__(88);\n\t\n\t/**\n\t * Sets the list cache `key` to `value`.\n\t *\n\t * @private\n\t * @name set\n\t * @memberOf ListCache\n\t * @param {string} key The key of the value to set.\n\t * @param {*} value The value to set.\n\t * @returns {Object} Returns the list cache instance.\n\t */\n\tfunction listCacheSet(key, value) {\n\t var data = this.__data__,\n\t index = assocIndexOf(data, key);\n\t\n\t if (index < 0) {\n\t ++this.size;\n\t data.push([key, value]);\n\t } else {\n\t data[index][1] = value;\n\t }\n\t return this;\n\t}\n\t\n\tmodule.exports = listCacheSet;\n\n\n/***/ },\n/* 514 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar Hash = __webpack_require__(459),\n\t ListCache = __webpack_require__(87),\n\t Map = __webpack_require__(117);\n\t\n\t/**\n\t * Removes all key-value entries from the map.\n\t *\n\t * @private\n\t * @name clear\n\t * @memberOf MapCache\n\t */\n\tfunction mapCacheClear() {\n\t this.size = 0;\n\t this.__data__ = {\n\t 'hash': new Hash,\n\t 'map': new (Map || ListCache),\n\t 'string': new Hash\n\t };\n\t}\n\t\n\tmodule.exports = mapCacheClear;\n\n\n/***/ },\n/* 515 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar getMapData = __webpack_require__(90);\n\t\n\t/**\n\t * Removes `key` and its value from the map.\n\t *\n\t * @private\n\t * @name delete\n\t * @memberOf MapCache\n\t * @param {string} key The key of the value to remove.\n\t * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n\t */\n\tfunction mapCacheDelete(key) {\n\t var result = getMapData(this, key)['delete'](key);\n\t this.size -= result ? 1 : 0;\n\t return result;\n\t}\n\t\n\tmodule.exports = mapCacheDelete;\n\n\n/***/ },\n/* 516 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar getMapData = __webpack_require__(90);\n\t\n\t/**\n\t * Gets the map value for `key`.\n\t *\n\t * @private\n\t * @name get\n\t * @memberOf MapCache\n\t * @param {string} key The key of the value to get.\n\t * @returns {*} Returns the entry value.\n\t */\n\tfunction mapCacheGet(key) {\n\t return getMapData(this, key).get(key);\n\t}\n\t\n\tmodule.exports = mapCacheGet;\n\n\n/***/ },\n/* 517 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar getMapData = __webpack_require__(90);\n\t\n\t/**\n\t * Checks if a map value for `key` exists.\n\t *\n\t * @private\n\t * @name has\n\t * @memberOf MapCache\n\t * @param {string} key The key of the entry to check.\n\t * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n\t */\n\tfunction mapCacheHas(key) {\n\t return getMapData(this, key).has(key);\n\t}\n\t\n\tmodule.exports = mapCacheHas;\n\n\n/***/ },\n/* 518 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar getMapData = __webpack_require__(90);\n\t\n\t/**\n\t * Sets the map `key` to `value`.\n\t *\n\t * @private\n\t * @name set\n\t * @memberOf MapCache\n\t * @param {string} key The key of the value to set.\n\t * @param {*} value The value to set.\n\t * @returns {Object} Returns the map cache instance.\n\t */\n\tfunction mapCacheSet(key, value) {\n\t var data = getMapData(this, key),\n\t size = data.size;\n\t\n\t data.set(key, value);\n\t this.size += data.size == size ? 0 : 1;\n\t return this;\n\t}\n\t\n\tmodule.exports = mapCacheSet;\n\n\n/***/ },\n/* 519 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Converts `map` to its key-value pairs.\n\t *\n\t * @private\n\t * @param {Object} map The map to convert.\n\t * @returns {Array} Returns the key-value pairs.\n\t */\n\tfunction mapToArray(map) {\n\t var index = -1,\n\t result = Array(map.size);\n\t\n\t map.forEach(function(value, key) {\n\t result[++index] = [key, value];\n\t });\n\t return result;\n\t}\n\t\n\tmodule.exports = mapToArray;\n\n\n/***/ },\n/* 520 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar overArg = __webpack_require__(189);\n\t\n\t/* Built-in method references for those with the same name as other `lodash` methods. */\n\tvar nativeKeys = overArg(Object.keys, Object);\n\t\n\tmodule.exports = nativeKeys;\n\n\n/***/ },\n/* 521 */\n/***/ function(module, exports) {\n\n\t/**\n\t * This function is like\n\t * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n\t * except that it includes inherited enumerable properties.\n\t *\n\t * @private\n\t * @param {Object} object The object to query.\n\t * @returns {Array} Returns the array of property names.\n\t */\n\tfunction nativeKeysIn(object) {\n\t var result = [];\n\t if (object != null) {\n\t for (var key in Object(object)) {\n\t result.push(key);\n\t }\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = nativeKeysIn;\n\n\n/***/ },\n/* 522 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/* WEBPACK VAR INJECTION */(function(module) {var freeGlobal = __webpack_require__(187);\n\t\n\t/** Detect free variable `exports`. */\n\tvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\t\n\t/** Detect free variable `module`. */\n\tvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\t\n\t/** Detect the popular CommonJS extension `module.exports`. */\n\tvar moduleExports = freeModule && freeModule.exports === freeExports;\n\t\n\t/** Detect free variable `process` from Node.js. */\n\tvar freeProcess = moduleExports && freeGlobal.process;\n\t\n\t/** Used to access faster Node.js helpers. */\n\tvar nodeUtil = (function() {\n\t try {\n\t return freeProcess && freeProcess.binding && freeProcess.binding('util');\n\t } catch (e) {}\n\t}());\n\t\n\tmodule.exports = nodeUtil;\n\t\n\t/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(76)(module)))\n\n/***/ },\n/* 523 */\n/***/ function(module, exports) {\n\n\t/** Used for built-in method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/**\n\t * Used to resolve the\n\t * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar nativeObjectToString = objectProto.toString;\n\t\n\t/**\n\t * Converts `value` to a string using `Object.prototype.toString`.\n\t *\n\t * @private\n\t * @param {*} value The value to convert.\n\t * @returns {string} Returns the converted string.\n\t */\n\tfunction objectToString(value) {\n\t return nativeObjectToString.call(value);\n\t}\n\t\n\tmodule.exports = objectToString;\n\n\n/***/ },\n/* 524 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Converts `set` to an array of its values.\n\t *\n\t * @private\n\t * @param {Object} set The set to convert.\n\t * @returns {Array} Returns the values.\n\t */\n\tfunction setToArray(set) {\n\t var index = -1,\n\t result = Array(set.size);\n\t\n\t set.forEach(function(value) {\n\t result[++index] = value;\n\t });\n\t return result;\n\t}\n\t\n\tmodule.exports = setToArray;\n\n\n/***/ },\n/* 525 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar ListCache = __webpack_require__(87);\n\t\n\t/**\n\t * Removes all key-value entries from the stack.\n\t *\n\t * @private\n\t * @name clear\n\t * @memberOf Stack\n\t */\n\tfunction stackClear() {\n\t this.__data__ = new ListCache;\n\t this.size = 0;\n\t}\n\t\n\tmodule.exports = stackClear;\n\n\n/***/ },\n/* 526 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Removes `key` and its value from the stack.\n\t *\n\t * @private\n\t * @name delete\n\t * @memberOf Stack\n\t * @param {string} key The key of the value to remove.\n\t * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n\t */\n\tfunction stackDelete(key) {\n\t var data = this.__data__,\n\t result = data['delete'](key);\n\t\n\t this.size = data.size;\n\t return result;\n\t}\n\t\n\tmodule.exports = stackDelete;\n\n\n/***/ },\n/* 527 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Gets the stack value for `key`.\n\t *\n\t * @private\n\t * @name get\n\t * @memberOf Stack\n\t * @param {string} key The key of the value to get.\n\t * @returns {*} Returns the entry value.\n\t */\n\tfunction stackGet(key) {\n\t return this.__data__.get(key);\n\t}\n\t\n\tmodule.exports = stackGet;\n\n\n/***/ },\n/* 528 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Checks if a stack value for `key` exists.\n\t *\n\t * @private\n\t * @name has\n\t * @memberOf Stack\n\t * @param {string} key The key of the entry to check.\n\t * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n\t */\n\tfunction stackHas(key) {\n\t return this.__data__.has(key);\n\t}\n\t\n\tmodule.exports = stackHas;\n\n\n/***/ },\n/* 529 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar ListCache = __webpack_require__(87),\n\t Map = __webpack_require__(117),\n\t MapCache = __webpack_require__(460);\n\t\n\t/** Used as the size to enable large array optimizations. */\n\tvar LARGE_ARRAY_SIZE = 200;\n\t\n\t/**\n\t * Sets the stack `key` to `value`.\n\t *\n\t * @private\n\t * @name set\n\t * @memberOf Stack\n\t * @param {string} key The key of the value to set.\n\t * @param {*} value The value to set.\n\t * @returns {Object} Returns the stack cache instance.\n\t */\n\tfunction stackSet(key, value) {\n\t var data = this.__data__;\n\t if (data instanceof ListCache) {\n\t var pairs = data.__data__;\n\t if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n\t pairs.push([key, value]);\n\t this.size = ++data.size;\n\t return this;\n\t }\n\t data = this.__data__ = new MapCache(pairs);\n\t }\n\t data.set(key, value);\n\t this.size = data.size;\n\t return this;\n\t}\n\t\n\tmodule.exports = stackSet;\n\n\n/***/ },\n/* 530 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseClone = __webpack_require__(472);\n\t\n\t/** Used to compose bitmasks for cloning. */\n\tvar CLONE_DEEP_FLAG = 1,\n\t CLONE_SYMBOLS_FLAG = 4;\n\t\n\t/**\n\t * This method is like `_.clone` except that it recursively clones `value`.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 1.0.0\n\t * @category Lang\n\t * @param {*} value The value to recursively clone.\n\t * @returns {*} Returns the deep cloned value.\n\t * @see _.clone\n\t * @example\n\t *\n\t * var objects = [{ 'a': 1 }, { 'b': 2 }];\n\t *\n\t * var deep = _.cloneDeep(objects);\n\t * console.log(deep[0] === objects[0]);\n\t * // => false\n\t */\n\tfunction cloneDeep(value) {\n\t return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG);\n\t}\n\t\n\tmodule.exports = cloneDeep;\n\n\n/***/ },\n/* 531 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseIsArguments = __webpack_require__(474),\n\t isObjectLike = __webpack_require__(92);\n\t\n\t/** Used for built-in method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/** Built-in value references. */\n\tvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\t\n\t/**\n\t * Checks if `value` is likely an `arguments` object.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 0.1.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n\t * else `false`.\n\t * @example\n\t *\n\t * _.isArguments(function() { return arguments; }());\n\t * // => true\n\t *\n\t * _.isArguments([1, 2, 3]);\n\t * // => false\n\t */\n\tvar isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n\t return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n\t !propertyIsEnumerable.call(value, 'callee');\n\t};\n\t\n\tmodule.exports = isArguments;\n\n\n/***/ },\n/* 532 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseIsTypedArray = __webpack_require__(476),\n\t baseUnary = __webpack_require__(480),\n\t nodeUtil = __webpack_require__(522);\n\t\n\t/* Node.js helper references. */\n\tvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\t\n\t/**\n\t * Checks if `value` is classified as a typed array.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 3.0.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n\t * @example\n\t *\n\t * _.isTypedArray(new Uint8Array);\n\t * // => true\n\t *\n\t * _.isTypedArray([]);\n\t * // => false\n\t */\n\tvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\t\n\tmodule.exports = isTypedArray;\n\n\n/***/ },\n/* 533 */\n/***/ function(module, exports) {\n\n\t/**\n\t * This method returns `false`.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 4.13.0\n\t * @category Util\n\t * @returns {boolean} Returns `false`.\n\t * @example\n\t *\n\t * _.times(2, _.stubFalse);\n\t * // => [false, false]\n\t */\n\tfunction stubFalse() {\n\t return false;\n\t}\n\t\n\tmodule.exports = stubFalse;\n\n\n/***/ },\n/* 534 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/* WEBPACK VAR INJECTION */(function(global) {/**\n\t * marked - a markdown parser\n\t * Copyright (c) 2011-2014, Christopher Jeffrey. (MIT Licensed)\n\t * https://github.com/chjj/marked\n\t */\n\t\n\t;(function() {\n\t\n\t/**\n\t * Block-Level Grammar\n\t */\n\t\n\tvar block = {\n\t newline: /^\\n+/,\n\t code: /^( {4}[^\\n]+\\n*)+/,\n\t fences: noop,\n\t hr: /^( *[-*_]){3,} *(?:\\n+|$)/,\n\t heading: /^ *(#{1,6}) *([^\\n]+?) *#* *(?:\\n+|$)/,\n\t nptable: noop,\n\t lheading: /^([^\\n]+)\\n *(=|-){2,} *(?:\\n+|$)/,\n\t blockquote: /^( *>[^\\n]+(\\n(?!def)[^\\n]+)*\\n*)+/,\n\t list: /^( *)(bull) [\\s\\S]+?(?:hr|def|\\n{2,}(?! )(?!\\1bull )\\n*|\\s*$)/,\n\t html: /^ *(?:comment *(?:\\n|\\s*$)|closed *(?:\\n{2,}|\\s*$)|closing *(?:\\n{2,}|\\s*$))/,\n\t def: /^ *\\[([^\\]]+)\\]: *<?([^\\s>]+)>?(?: +[\"(]([^\\n]+)[\")])? *(?:\\n+|$)/,\n\t table: noop,\n\t paragraph: /^((?:[^\\n]+\\n?(?!hr|heading|lheading|blockquote|tag|def))+)\\n*/,\n\t text: /^[^\\n]+/\n\t};\n\t\n\tblock.bullet = /(?:[*+-]|\\d+\\.)/;\n\tblock.item = /^( *)(bull) [^\\n]*(?:\\n(?!\\1bull )[^\\n]*)*/;\n\tblock.item = replace(block.item, 'gm')\n\t (/bull/g, block.bullet)\n\t ();\n\t\n\tblock.list = replace(block.list)\n\t (/bull/g, block.bullet)\n\t ('hr', '\\\\n+(?=\\\\1?(?:[-*_] *){3,}(?:\\\\n+|$))')\n\t ('def', '\\\\n+(?=' + block.def.source + ')')\n\t ();\n\t\n\tblock.blockquote = replace(block.blockquote)\n\t ('def', block.def)\n\t ();\n\t\n\tblock._tag = '(?!(?:'\n\t + 'a|em|strong|small|s|cite|q|dfn|abbr|data|time|code'\n\t + '|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo'\n\t + '|span|br|wbr|ins|del|img)\\\\b)\\\\w+(?!:/|[^\\\\w\\\\s@]*@)\\\\b';\n\t\n\tblock.html = replace(block.html)\n\t ('comment', /<!--[\\s\\S]*?-->/)\n\t ('closed', /<(tag)[\\s\\S]+?<\\/\\1>/)\n\t ('closing', /<tag(?:\"[^\"]*\"|'[^']*'|[^'\">])*?>/)\n\t (/tag/g, block._tag)\n\t ();\n\t\n\tblock.paragraph = replace(block.paragraph)\n\t ('hr', block.hr)\n\t ('heading', block.heading)\n\t ('lheading', block.lheading)\n\t ('blockquote', block.blockquote)\n\t ('tag', '<' + block._tag)\n\t ('def', block.def)\n\t ();\n\t\n\t/**\n\t * Normal Block Grammar\n\t */\n\t\n\tblock.normal = merge({}, block);\n\t\n\t/**\n\t * GFM Block Grammar\n\t */\n\t\n\tblock.gfm = merge({}, block.normal, {\n\t fences: /^ *(`{3,}|~{3,})[ \\.]*(\\S+)? *\\n([\\s\\S]*?)\\s*\\1 *(?:\\n+|$)/,\n\t paragraph: /^/,\n\t heading: /^ *(#{1,6}) +([^\\n]+?) *#* *(?:\\n+|$)/\n\t});\n\t\n\tblock.gfm.paragraph = replace(block.paragraph)\n\t ('(?!', '(?!'\n\t + block.gfm.fences.source.replace('\\\\1', '\\\\2') + '|'\n\t + block.list.source.replace('\\\\1', '\\\\3') + '|')\n\t ();\n\t\n\t/**\n\t * GFM + Tables Block Grammar\n\t */\n\t\n\tblock.tables = merge({}, block.gfm, {\n\t nptable: /^ *(\\S.*\\|.*)\\n *([-:]+ *\\|[-| :]*)\\n((?:.*\\|.*(?:\\n|$))*)\\n*/,\n\t table: /^ *\\|(.+)\\n *\\|( *[-:]+[-| :]*)\\n((?: *\\|.*(?:\\n|$))*)\\n*/\n\t});\n\t\n\t/**\n\t * Block Lexer\n\t */\n\t\n\tfunction Lexer(options) {\n\t this.tokens = [];\n\t this.tokens.links = {};\n\t this.options = options || marked.defaults;\n\t this.rules = block.normal;\n\t\n\t if (this.options.gfm) {\n\t if (this.options.tables) {\n\t this.rules = block.tables;\n\t } else {\n\t this.rules = block.gfm;\n\t }\n\t }\n\t}\n\t\n\t/**\n\t * Expose Block Rules\n\t */\n\t\n\tLexer.rules = block;\n\t\n\t/**\n\t * Static Lex Method\n\t */\n\t\n\tLexer.lex = function(src, options) {\n\t var lexer = new Lexer(options);\n\t return lexer.lex(src);\n\t};\n\t\n\t/**\n\t * Preprocessing\n\t */\n\t\n\tLexer.prototype.lex = function(src) {\n\t src = src\n\t .replace(/\\r\\n|\\r/g, '\\n')\n\t .replace(/\\t/g, ' ')\n\t .replace(/\\u00a0/g, ' ')\n\t .replace(/\\u2424/g, '\\n');\n\t\n\t return this.token(src, true);\n\t};\n\t\n\t/**\n\t * Lexing\n\t */\n\t\n\tLexer.prototype.token = function(src, top, bq) {\n\t var src = src.replace(/^ +$/gm, '')\n\t , next\n\t , loose\n\t , cap\n\t , bull\n\t , b\n\t , item\n\t , space\n\t , i\n\t , l;\n\t\n\t while (src) {\n\t // newline\n\t if (cap = this.rules.newline.exec(src)) {\n\t src = src.substring(cap[0].length);\n\t if (cap[0].length > 1) {\n\t this.tokens.push({\n\t type: 'space'\n\t });\n\t }\n\t }\n\t\n\t // code\n\t if (cap = this.rules.code.exec(src)) {\n\t src = src.substring(cap[0].length);\n\t cap = cap[0].replace(/^ {4}/gm, '');\n\t this.tokens.push({\n\t type: 'code',\n\t text: !this.options.pedantic\n\t ? cap.replace(/\\n+$/, '')\n\t : cap\n\t });\n\t continue;\n\t }\n\t\n\t // fences (gfm)\n\t if (cap = this.rules.fences.exec(src)) {\n\t src = src.substring(cap[0].length);\n\t this.tokens.push({\n\t type: 'code',\n\t lang: cap[2],\n\t text: cap[3] || ''\n\t });\n\t continue;\n\t }\n\t\n\t // heading\n\t if (cap = this.rules.heading.exec(src)) {\n\t src = src.substring(cap[0].length);\n\t this.tokens.push({\n\t type: 'heading',\n\t depth: cap[1].length,\n\t text: cap[2]\n\t });\n\t continue;\n\t }\n\t\n\t // table no leading pipe (gfm)\n\t if (top && (cap = this.rules.nptable.exec(src))) {\n\t src = src.substring(cap[0].length);\n\t\n\t item = {\n\t type: 'table',\n\t header: cap[1].replace(/^ *| *\\| *$/g, '').split(/ *\\| */),\n\t align: cap[2].replace(/^ *|\\| *$/g, '').split(/ *\\| */),\n\t cells: cap[3].replace(/\\n$/, '').split('\\n')\n\t };\n\t\n\t for (i = 0; i < item.align.length; i++) {\n\t if (/^ *-+: *$/.test(item.align[i])) {\n\t item.align[i] = 'right';\n\t } else if (/^ *:-+: *$/.test(item.align[i])) {\n\t item.align[i] = 'center';\n\t } else if (/^ *:-+ *$/.test(item.align[i])) {\n\t item.align[i] = 'left';\n\t } else {\n\t item.align[i] = null;\n\t }\n\t }\n\t\n\t for (i = 0; i < item.cells.length; i++) {\n\t item.cells[i] = item.cells[i].split(/ *\\| */);\n\t }\n\t\n\t this.tokens.push(item);\n\t\n\t continue;\n\t }\n\t\n\t // lheading\n\t if (cap = this.rules.lheading.exec(src)) {\n\t src = src.substring(cap[0].length);\n\t this.tokens.push({\n\t type: 'heading',\n\t depth: cap[2] === '=' ? 1 : 2,\n\t text: cap[1]\n\t });\n\t continue;\n\t }\n\t\n\t // hr\n\t if (cap = this.rules.hr.exec(src)) {\n\t src = src.substring(cap[0].length);\n\t this.tokens.push({\n\t type: 'hr'\n\t });\n\t continue;\n\t }\n\t\n\t // blockquote\n\t if (cap = this.rules.blockquote.exec(src)) {\n\t src = src.substring(cap[0].length);\n\t\n\t this.tokens.push({\n\t type: 'blockquote_start'\n\t });\n\t\n\t cap = cap[0].replace(/^ *> ?/gm, '');\n\t\n\t // Pass `top` to keep the current\n\t // \"toplevel\" state. This is exactly\n\t // how markdown.pl works.\n\t this.token(cap, top, true);\n\t\n\t this.tokens.push({\n\t type: 'blockquote_end'\n\t });\n\t\n\t continue;\n\t }\n\t\n\t // list\n\t if (cap = this.rules.list.exec(src)) {\n\t src = src.substring(cap[0].length);\n\t bull = cap[2];\n\t\n\t this.tokens.push({\n\t type: 'list_start',\n\t ordered: bull.length > 1\n\t });\n\t\n\t // Get each top-level item.\n\t cap = cap[0].match(this.rules.item);\n\t\n\t next = false;\n\t l = cap.length;\n\t i = 0;\n\t\n\t for (; i < l; i++) {\n\t item = cap[i];\n\t\n\t // Remove the list item's bullet\n\t // so it is seen as the next token.\n\t space = item.length;\n\t item = item.replace(/^ *([*+-]|\\d+\\.) +/, '');\n\t\n\t // Outdent whatever the\n\t // list item contains. Hacky.\n\t if (~item.indexOf('\\n ')) {\n\t space -= item.length;\n\t item = !this.options.pedantic\n\t ? item.replace(new RegExp('^ {1,' + space + '}', 'gm'), '')\n\t : item.replace(/^ {1,4}/gm, '');\n\t }\n\t\n\t // Determine whether the next list item belongs here.\n\t // Backpedal if it does not belong in this list.\n\t if (this.options.smartLists && i !== l - 1) {\n\t b = block.bullet.exec(cap[i + 1])[0];\n\t if (bull !== b && !(bull.length > 1 && b.length > 1)) {\n\t src = cap.slice(i + 1).join('\\n') + src;\n\t i = l - 1;\n\t }\n\t }\n\t\n\t // Determine whether item is loose or not.\n\t // Use: /(^|\\n)(?! )[^\\n]+\\n\\n(?!\\s*$)/\n\t // for discount behavior.\n\t loose = next || /\\n\\n(?!\\s*$)/.test(item);\n\t if (i !== l - 1) {\n\t next = item.charAt(item.length - 1) === '\\n';\n\t if (!loose) loose = next;\n\t }\n\t\n\t this.tokens.push({\n\t type: loose\n\t ? 'loose_item_start'\n\t : 'list_item_start'\n\t });\n\t\n\t // Recurse.\n\t this.token(item, false, bq);\n\t\n\t this.tokens.push({\n\t type: 'list_item_end'\n\t });\n\t }\n\t\n\t this.tokens.push({\n\t type: 'list_end'\n\t });\n\t\n\t continue;\n\t }\n\t\n\t // html\n\t if (cap = this.rules.html.exec(src)) {\n\t src = src.substring(cap[0].length);\n\t this.tokens.push({\n\t type: this.options.sanitize\n\t ? 'paragraph'\n\t : 'html',\n\t pre: !this.options.sanitizer\n\t && (cap[1] === 'pre' || cap[1] === 'script' || cap[1] === 'style'),\n\t text: cap[0]\n\t });\n\t continue;\n\t }\n\t\n\t // def\n\t if ((!bq && top) && (cap = this.rules.def.exec(src))) {\n\t src = src.substring(cap[0].length);\n\t this.tokens.links[cap[1].toLowerCase()] = {\n\t href: cap[2],\n\t title: cap[3]\n\t };\n\t continue;\n\t }\n\t\n\t // table (gfm)\n\t if (top && (cap = this.rules.table.exec(src))) {\n\t src = src.substring(cap[0].length);\n\t\n\t item = {\n\t type: 'table',\n\t header: cap[1].replace(/^ *| *\\| *$/g, '').split(/ *\\| */),\n\t align: cap[2].replace(/^ *|\\| *$/g, '').split(/ *\\| */),\n\t cells: cap[3].replace(/(?: *\\| *)?\\n$/, '').split('\\n')\n\t };\n\t\n\t for (i = 0; i < item.align.length; i++) {\n\t if (/^ *-+: *$/.test(item.align[i])) {\n\t item.align[i] = 'right';\n\t } else if (/^ *:-+: *$/.test(item.align[i])) {\n\t item.align[i] = 'center';\n\t } else if (/^ *:-+ *$/.test(item.align[i])) {\n\t item.align[i] = 'left';\n\t } else {\n\t item.align[i] = null;\n\t }\n\t }\n\t\n\t for (i = 0; i < item.cells.length; i++) {\n\t item.cells[i] = item.cells[i]\n\t .replace(/^ *\\| *| *\\| *$/g, '')\n\t .split(/ *\\| */);\n\t }\n\t\n\t this.tokens.push(item);\n\t\n\t continue;\n\t }\n\t\n\t // top-level paragraph\n\t if (top && (cap = this.rules.paragraph.exec(src))) {\n\t src = src.substring(cap[0].length);\n\t this.tokens.push({\n\t type: 'paragraph',\n\t text: cap[1].charAt(cap[1].length - 1) === '\\n'\n\t ? cap[1].slice(0, -1)\n\t : cap[1]\n\t });\n\t continue;\n\t }\n\t\n\t // text\n\t if (cap = this.rules.text.exec(src)) {\n\t // Top-level should never reach here.\n\t src = src.substring(cap[0].length);\n\t this.tokens.push({\n\t type: 'text',\n\t text: cap[0]\n\t });\n\t continue;\n\t }\n\t\n\t if (src) {\n\t throw new\n\t Error('Infinite loop on byte: ' + src.charCodeAt(0));\n\t }\n\t }\n\t\n\t return this.tokens;\n\t};\n\t\n\t/**\n\t * Inline-Level Grammar\n\t */\n\t\n\tvar inline = {\n\t escape: /^\\\\([\\\\`*{}\\[\\]()#+\\-.!_>])/,\n\t autolink: /^<([^ >]+(@|:\\/)[^ >]+)>/,\n\t url: noop,\n\t tag: /^<!--[\\s\\S]*?-->|^<\\/?\\w+(?:\"[^\"]*\"|'[^']*'|[^'\">])*?>/,\n\t link: /^!?\\[(inside)\\]\\(href\\)/,\n\t reflink: /^!?\\[(inside)\\]\\s*\\[([^\\]]*)\\]/,\n\t nolink: /^!?\\[((?:\\[[^\\]]*\\]|[^\\[\\]])*)\\]/,\n\t strong: /^__([\\s\\S]+?)__(?!_)|^\\*\\*([\\s\\S]+?)\\*\\*(?!\\*)/,\n\t em: /^\\b_((?:[^_]|__)+?)_\\b|^\\*((?:\\*\\*|[\\s\\S])+?)\\*(?!\\*)/,\n\t code: /^(`+)\\s*([\\s\\S]*?[^`])\\s*\\1(?!`)/,\n\t br: /^ {2,}\\n(?!\\s*$)/,\n\t del: noop,\n\t text: /^[\\s\\S]+?(?=[\\\\<!\\[_*`]| {2,}\\n|$)/\n\t};\n\t\n\tinline._inside = /(?:\\[[^\\]]*\\]|[^\\[\\]]|\\](?=[^\\[]*\\]))*/;\n\tinline._href = /\\s*<?([\\s\\S]*?)>?(?:\\s+['\"]([\\s\\S]*?)['\"])?\\s*/;\n\t\n\tinline.link = replace(inline.link)\n\t ('inside', inline._inside)\n\t ('href', inline._href)\n\t ();\n\t\n\tinline.reflink = replace(inline.reflink)\n\t ('inside', inline._inside)\n\t ();\n\t\n\t/**\n\t * Normal Inline Grammar\n\t */\n\t\n\tinline.normal = merge({}, inline);\n\t\n\t/**\n\t * Pedantic Inline Grammar\n\t */\n\t\n\tinline.pedantic = merge({}, inline.normal, {\n\t strong: /^__(?=\\S)([\\s\\S]*?\\S)__(?!_)|^\\*\\*(?=\\S)([\\s\\S]*?\\S)\\*\\*(?!\\*)/,\n\t em: /^_(?=\\S)([\\s\\S]*?\\S)_(?!_)|^\\*(?=\\S)([\\s\\S]*?\\S)\\*(?!\\*)/\n\t});\n\t\n\t/**\n\t * GFM Inline Grammar\n\t */\n\t\n\tinline.gfm = merge({}, inline.normal, {\n\t escape: replace(inline.escape)('])', '~|])')(),\n\t url: /^(https?:\\/\\/[^\\s<]+[^<.,:;\"')\\]\\s])/,\n\t del: /^~~(?=\\S)([\\s\\S]*?\\S)~~/,\n\t text: replace(inline.text)\n\t (']|', '~]|')\n\t ('|', '|https?://|')\n\t ()\n\t});\n\t\n\t/**\n\t * GFM + Line Breaks Inline Grammar\n\t */\n\t\n\tinline.breaks = merge({}, inline.gfm, {\n\t br: replace(inline.br)('{2,}', '*')(),\n\t text: replace(inline.gfm.text)('{2,}', '*')()\n\t});\n\t\n\t/**\n\t * Inline Lexer & Compiler\n\t */\n\t\n\tfunction InlineLexer(links, options) {\n\t this.options = options || marked.defaults;\n\t this.links = links;\n\t this.rules = inline.normal;\n\t this.renderer = this.options.renderer || new Renderer;\n\t this.renderer.options = this.options;\n\t\n\t if (!this.links) {\n\t throw new\n\t Error('Tokens array requires a `links` property.');\n\t }\n\t\n\t if (this.options.gfm) {\n\t if (this.options.breaks) {\n\t this.rules = inline.breaks;\n\t } else {\n\t this.rules = inline.gfm;\n\t }\n\t } else if (this.options.pedantic) {\n\t this.rules = inline.pedantic;\n\t }\n\t}\n\t\n\t/**\n\t * Expose Inline Rules\n\t */\n\t\n\tInlineLexer.rules = inline;\n\t\n\t/**\n\t * Static Lexing/Compiling Method\n\t */\n\t\n\tInlineLexer.output = function(src, links, options) {\n\t var inline = new InlineLexer(links, options);\n\t return inline.output(src);\n\t};\n\t\n\t/**\n\t * Lexing/Compiling\n\t */\n\t\n\tInlineLexer.prototype.output = function(src) {\n\t var out = ''\n\t , link\n\t , text\n\t , href\n\t , cap;\n\t\n\t while (src) {\n\t // escape\n\t if (cap = this.rules.escape.exec(src)) {\n\t src = src.substring(cap[0].length);\n\t out += cap[1];\n\t continue;\n\t }\n\t\n\t // autolink\n\t if (cap = this.rules.autolink.exec(src)) {\n\t src = src.substring(cap[0].length);\n\t if (cap[2] === '@') {\n\t text = cap[1].charAt(6) === ':'\n\t ? this.mangle(cap[1].substring(7))\n\t : this.mangle(cap[1]);\n\t href = this.mangle('mailto:') + text;\n\t } else {\n\t text = escape(cap[1]);\n\t href = text;\n\t }\n\t out += this.renderer.link(href, null, text);\n\t continue;\n\t }\n\t\n\t // url (gfm)\n\t if (!this.inLink && (cap = this.rules.url.exec(src))) {\n\t src = src.substring(cap[0].length);\n\t text = escape(cap[1]);\n\t href = text;\n\t out += this.renderer.link(href, null, text);\n\t continue;\n\t }\n\t\n\t // tag\n\t if (cap = this.rules.tag.exec(src)) {\n\t if (!this.inLink && /^<a /i.test(cap[0])) {\n\t this.inLink = true;\n\t } else if (this.inLink && /^<\\/a>/i.test(cap[0])) {\n\t this.inLink = false;\n\t }\n\t src = src.substring(cap[0].length);\n\t out += this.options.sanitize\n\t ? this.options.sanitizer\n\t ? this.options.sanitizer(cap[0])\n\t : escape(cap[0])\n\t : cap[0]\n\t continue;\n\t }\n\t\n\t // link\n\t if (cap = this.rules.link.exec(src)) {\n\t src = src.substring(cap[0].length);\n\t this.inLink = true;\n\t out += this.outputLink(cap, {\n\t href: cap[2],\n\t title: cap[3]\n\t });\n\t this.inLink = false;\n\t continue;\n\t }\n\t\n\t // reflink, nolink\n\t if ((cap = this.rules.reflink.exec(src))\n\t || (cap = this.rules.nolink.exec(src))) {\n\t src = src.substring(cap[0].length);\n\t link = (cap[2] || cap[1]).replace(/\\s+/g, ' ');\n\t link = this.links[link.toLowerCase()];\n\t if (!link || !link.href) {\n\t out += cap[0].charAt(0);\n\t src = cap[0].substring(1) + src;\n\t continue;\n\t }\n\t this.inLink = true;\n\t out += this.outputLink(cap, link);\n\t this.inLink = false;\n\t continue;\n\t }\n\t\n\t // strong\n\t if (cap = this.rules.strong.exec(src)) {\n\t src = src.substring(cap[0].length);\n\t out += this.renderer.strong(this.output(cap[2] || cap[1]));\n\t continue;\n\t }\n\t\n\t // em\n\t if (cap = this.rules.em.exec(src)) {\n\t src = src.substring(cap[0].length);\n\t out += this.renderer.em(this.output(cap[2] || cap[1]));\n\t continue;\n\t }\n\t\n\t // code\n\t if (cap = this.rules.code.exec(src)) {\n\t src = src.substring(cap[0].length);\n\t out += this.renderer.codespan(escape(cap[2], true));\n\t continue;\n\t }\n\t\n\t // br\n\t if (cap = this.rules.br.exec(src)) {\n\t src = src.substring(cap[0].length);\n\t out += this.renderer.br();\n\t continue;\n\t }\n\t\n\t // del (gfm)\n\t if (cap = this.rules.del.exec(src)) {\n\t src = src.substring(cap[0].length);\n\t out += this.renderer.del(this.output(cap[1]));\n\t continue;\n\t }\n\t\n\t // text\n\t if (cap = this.rules.text.exec(src)) {\n\t src = src.substring(cap[0].length);\n\t out += this.renderer.text(escape(this.smartypants(cap[0])));\n\t continue;\n\t }\n\t\n\t if (src) {\n\t throw new\n\t Error('Infinite loop on byte: ' + src.charCodeAt(0));\n\t }\n\t }\n\t\n\t return out;\n\t};\n\t\n\t/**\n\t * Compile Link\n\t */\n\t\n\tInlineLexer.prototype.outputLink = function(cap, link) {\n\t var href = escape(link.href)\n\t , title = link.title ? escape(link.title) : null;\n\t\n\t return cap[0].charAt(0) !== '!'\n\t ? this.renderer.link(href, title, this.output(cap[1]))\n\t : this.renderer.image(href, title, escape(cap[1]));\n\t};\n\t\n\t/**\n\t * Smartypants Transformations\n\t */\n\t\n\tInlineLexer.prototype.smartypants = function(text) {\n\t if (!this.options.smartypants) return text;\n\t return text\n\t // em-dashes\n\t .replace(/---/g, '\\u2014')\n\t // en-dashes\n\t .replace(/--/g, '\\u2013')\n\t // opening singles\n\t .replace(/(^|[-\\u2014/(\\[{\"\\s])'/g, '$1\\u2018')\n\t // closing singles & apostrophes\n\t .replace(/'/g, '\\u2019')\n\t // opening doubles\n\t .replace(/(^|[-\\u2014/(\\[{\\u2018\\s])\"/g, '$1\\u201c')\n\t // closing doubles\n\t .replace(/\"/g, '\\u201d')\n\t // ellipses\n\t .replace(/\\.{3}/g, '\\u2026');\n\t};\n\t\n\t/**\n\t * Mangle Links\n\t */\n\t\n\tInlineLexer.prototype.mangle = function(text) {\n\t if (!this.options.mangle) return text;\n\t var out = ''\n\t , l = text.length\n\t , i = 0\n\t , ch;\n\t\n\t for (; i < l; i++) {\n\t ch = text.charCodeAt(i);\n\t if (Math.random() > 0.5) {\n\t ch = 'x' + ch.toString(16);\n\t }\n\t out += '&#' + ch + ';';\n\t }\n\t\n\t return out;\n\t};\n\t\n\t/**\n\t * Renderer\n\t */\n\t\n\tfunction Renderer(options) {\n\t this.options = options || {};\n\t}\n\t\n\tRenderer.prototype.code = function(code, lang, escaped) {\n\t if (this.options.highlight) {\n\t var out = this.options.highlight(code, lang);\n\t if (out != null && out !== code) {\n\t escaped = true;\n\t code = out;\n\t }\n\t }\n\t\n\t if (!lang) {\n\t return '<pre><code>'\n\t + (escaped ? code : escape(code, true))\n\t + '\\n</code></pre>';\n\t }\n\t\n\t return '<pre><code class=\"'\n\t + this.options.langPrefix\n\t + escape(lang, true)\n\t + '\">'\n\t + (escaped ? code : escape(code, true))\n\t + '\\n</code></pre>\\n';\n\t};\n\t\n\tRenderer.prototype.blockquote = function(quote) {\n\t return '<blockquote>\\n' + quote + '</blockquote>\\n';\n\t};\n\t\n\tRenderer.prototype.html = function(html) {\n\t return html;\n\t};\n\t\n\tRenderer.prototype.heading = function(text, level, raw) {\n\t return '<h'\n\t + level\n\t + ' id=\"'\n\t + this.options.headerPrefix\n\t + raw.toLowerCase().replace(/[^\\w]+/g, '-')\n\t + '\">'\n\t + text\n\t + '</h'\n\t + level\n\t + '>\\n';\n\t};\n\t\n\tRenderer.prototype.hr = function() {\n\t return this.options.xhtml ? '<hr/>\\n' : '<hr>\\n';\n\t};\n\t\n\tRenderer.prototype.list = function(body, ordered) {\n\t var type = ordered ? 'ol' : 'ul';\n\t return '<' + type + '>\\n' + body + '</' + type + '>\\n';\n\t};\n\t\n\tRenderer.prototype.listitem = function(text) {\n\t return '<li>' + text + '</li>\\n';\n\t};\n\t\n\tRenderer.prototype.paragraph = function(text) {\n\t return '<p>' + text + '</p>\\n';\n\t};\n\t\n\tRenderer.prototype.table = function(header, body) {\n\t return '<table>\\n'\n\t + '<thead>\\n'\n\t + header\n\t + '</thead>\\n'\n\t + '<tbody>\\n'\n\t + body\n\t + '</tbody>\\n'\n\t + '</table>\\n';\n\t};\n\t\n\tRenderer.prototype.tablerow = function(content) {\n\t return '<tr>\\n' + content + '</tr>\\n';\n\t};\n\t\n\tRenderer.prototype.tablecell = function(content, flags) {\n\t var type = flags.header ? 'th' : 'td';\n\t var tag = flags.align\n\t ? '<' + type + ' style=\"text-align:' + flags.align + '\">'\n\t : '<' + type + '>';\n\t return tag + content + '</' + type + '>\\n';\n\t};\n\t\n\t// span level renderer\n\tRenderer.prototype.strong = function(text) {\n\t return '<strong>' + text + '</strong>';\n\t};\n\t\n\tRenderer.prototype.em = function(text) {\n\t return '<em>' + text + '</em>';\n\t};\n\t\n\tRenderer.prototype.codespan = function(text) {\n\t return '<code>' + text + '</code>';\n\t};\n\t\n\tRenderer.prototype.br = function() {\n\t return this.options.xhtml ? '<br/>' : '<br>';\n\t};\n\t\n\tRenderer.prototype.del = function(text) {\n\t return '<del>' + text + '</del>';\n\t};\n\t\n\tRenderer.prototype.link = function(href, title, text) {\n\t if (this.options.sanitize) {\n\t try {\n\t var prot = decodeURIComponent(unescape(href))\n\t .replace(/[^\\w:]/g, '')\n\t .toLowerCase();\n\t } catch (e) {\n\t return '';\n\t }\n\t if (prot.indexOf('javascript:') === 0 || prot.indexOf('vbscript:') === 0) {\n\t return '';\n\t }\n\t }\n\t var out = '<a href=\"' + href + '\"';\n\t if (title) {\n\t out += ' title=\"' + title + '\"';\n\t }\n\t out += '>' + text + '</a>';\n\t return out;\n\t};\n\t\n\tRenderer.prototype.image = function(href, title, text) {\n\t var out = '<img src=\"' + href + '\" alt=\"' + text + '\"';\n\t if (title) {\n\t out += ' title=\"' + title + '\"';\n\t }\n\t out += this.options.xhtml ? '/>' : '>';\n\t return out;\n\t};\n\t\n\tRenderer.prototype.text = function(text) {\n\t return text;\n\t};\n\t\n\t/**\n\t * Parsing & Compiling\n\t */\n\t\n\tfunction Parser(options) {\n\t this.tokens = [];\n\t this.token = null;\n\t this.options = options || marked.defaults;\n\t this.options.renderer = this.options.renderer || new Renderer;\n\t this.renderer = this.options.renderer;\n\t this.renderer.options = this.options;\n\t}\n\t\n\t/**\n\t * Static Parse Method\n\t */\n\t\n\tParser.parse = function(src, options, renderer) {\n\t var parser = new Parser(options, renderer);\n\t return parser.parse(src);\n\t};\n\t\n\t/**\n\t * Parse Loop\n\t */\n\t\n\tParser.prototype.parse = function(src) {\n\t this.inline = new InlineLexer(src.links, this.options, this.renderer);\n\t this.tokens = src.reverse();\n\t\n\t var out = '';\n\t while (this.next()) {\n\t out += this.tok();\n\t }\n\t\n\t return out;\n\t};\n\t\n\t/**\n\t * Next Token\n\t */\n\t\n\tParser.prototype.next = function() {\n\t return this.token = this.tokens.pop();\n\t};\n\t\n\t/**\n\t * Preview Next Token\n\t */\n\t\n\tParser.prototype.peek = function() {\n\t return this.tokens[this.tokens.length - 1] || 0;\n\t};\n\t\n\t/**\n\t * Parse Text Tokens\n\t */\n\t\n\tParser.prototype.parseText = function() {\n\t var body = this.token.text;\n\t\n\t while (this.peek().type === 'text') {\n\t body += '\\n' + this.next().text;\n\t }\n\t\n\t return this.inline.output(body);\n\t};\n\t\n\t/**\n\t * Parse Current Token\n\t */\n\t\n\tParser.prototype.tok = function() {\n\t switch (this.token.type) {\n\t case 'space': {\n\t return '';\n\t }\n\t case 'hr': {\n\t return this.renderer.hr();\n\t }\n\t case 'heading': {\n\t return this.renderer.heading(\n\t this.inline.output(this.token.text),\n\t this.token.depth,\n\t this.token.text);\n\t }\n\t case 'code': {\n\t return this.renderer.code(this.token.text,\n\t this.token.lang,\n\t this.token.escaped);\n\t }\n\t case 'table': {\n\t var header = ''\n\t , body = ''\n\t , i\n\t , row\n\t , cell\n\t , flags\n\t , j;\n\t\n\t // header\n\t cell = '';\n\t for (i = 0; i < this.token.header.length; i++) {\n\t flags = { header: true, align: this.token.align[i] };\n\t cell += this.renderer.tablecell(\n\t this.inline.output(this.token.header[i]),\n\t { header: true, align: this.token.align[i] }\n\t );\n\t }\n\t header += this.renderer.tablerow(cell);\n\t\n\t for (i = 0; i < this.token.cells.length; i++) {\n\t row = this.token.cells[i];\n\t\n\t cell = '';\n\t for (j = 0; j < row.length; j++) {\n\t cell += this.renderer.tablecell(\n\t this.inline.output(row[j]),\n\t { header: false, align: this.token.align[j] }\n\t );\n\t }\n\t\n\t body += this.renderer.tablerow(cell);\n\t }\n\t return this.renderer.table(header, body);\n\t }\n\t case 'blockquote_start': {\n\t var body = '';\n\t\n\t while (this.next().type !== 'blockquote_end') {\n\t body += this.tok();\n\t }\n\t\n\t return this.renderer.blockquote(body);\n\t }\n\t case 'list_start': {\n\t var body = ''\n\t , ordered = this.token.ordered;\n\t\n\t while (this.next().type !== 'list_end') {\n\t body += this.tok();\n\t }\n\t\n\t return this.renderer.list(body, ordered);\n\t }\n\t case 'list_item_start': {\n\t var body = '';\n\t\n\t while (this.next().type !== 'list_item_end') {\n\t body += this.token.type === 'text'\n\t ? this.parseText()\n\t : this.tok();\n\t }\n\t\n\t return this.renderer.listitem(body);\n\t }\n\t case 'loose_item_start': {\n\t var body = '';\n\t\n\t while (this.next().type !== 'list_item_end') {\n\t body += this.tok();\n\t }\n\t\n\t return this.renderer.listitem(body);\n\t }\n\t case 'html': {\n\t var html = !this.token.pre && !this.options.pedantic\n\t ? this.inline.output(this.token.text)\n\t : this.token.text;\n\t return this.renderer.html(html);\n\t }\n\t case 'paragraph': {\n\t return this.renderer.paragraph(this.inline.output(this.token.text));\n\t }\n\t case 'text': {\n\t return this.renderer.paragraph(this.parseText());\n\t }\n\t }\n\t};\n\t\n\t/**\n\t * Helpers\n\t */\n\t\n\tfunction escape(html, encode) {\n\t return html\n\t .replace(!encode ? /&(?!#?\\w+;)/g : /&/g, '&')\n\t .replace(/</g, '<')\n\t .replace(/>/g, '>')\n\t .replace(/\"/g, '"')\n\t .replace(/'/g, ''');\n\t}\n\t\n\tfunction unescape(html) {\n\t\t// explicitly match decimal, hex, and named HTML entities \n\t return html.replace(/&(#(?:\\d+)|(?:#x[0-9A-Fa-f]+)|(?:\\w+));?/g, function(_, n) {\n\t n = n.toLowerCase();\n\t if (n === 'colon') return ':';\n\t if (n.charAt(0) === '#') {\n\t return n.charAt(1) === 'x'\n\t ? String.fromCharCode(parseInt(n.substring(2), 16))\n\t : String.fromCharCode(+n.substring(1));\n\t }\n\t return '';\n\t });\n\t}\n\t\n\tfunction replace(regex, opt) {\n\t regex = regex.source;\n\t opt = opt || '';\n\t return function self(name, val) {\n\t if (!name) return new RegExp(regex, opt);\n\t val = val.source || val;\n\t val = val.replace(/(^|[^\\[])\\^/g, '$1');\n\t regex = regex.replace(name, val);\n\t return self;\n\t };\n\t}\n\t\n\tfunction noop() {}\n\tnoop.exec = noop;\n\t\n\tfunction merge(obj) {\n\t var i = 1\n\t , target\n\t , key;\n\t\n\t for (; i < arguments.length; i++) {\n\t target = arguments[i];\n\t for (key in target) {\n\t if (Object.prototype.hasOwnProperty.call(target, key)) {\n\t obj[key] = target[key];\n\t }\n\t }\n\t }\n\t\n\t return obj;\n\t}\n\t\n\t\n\t/**\n\t * Marked\n\t */\n\t\n\tfunction marked(src, opt, callback) {\n\t if (callback || typeof opt === 'function') {\n\t if (!callback) {\n\t callback = opt;\n\t opt = null;\n\t }\n\t\n\t opt = merge({}, marked.defaults, opt || {});\n\t\n\t var highlight = opt.highlight\n\t , tokens\n\t , pending\n\t , i = 0;\n\t\n\t try {\n\t tokens = Lexer.lex(src, opt)\n\t } catch (e) {\n\t return callback(e);\n\t }\n\t\n\t pending = tokens.length;\n\t\n\t var done = function(err) {\n\t if (err) {\n\t opt.highlight = highlight;\n\t return callback(err);\n\t }\n\t\n\t var out;\n\t\n\t try {\n\t out = Parser.parse(tokens, opt);\n\t } catch (e) {\n\t err = e;\n\t }\n\t\n\t opt.highlight = highlight;\n\t\n\t return err\n\t ? callback(err)\n\t : callback(null, out);\n\t };\n\t\n\t if (!highlight || highlight.length < 3) {\n\t return done();\n\t }\n\t\n\t delete opt.highlight;\n\t\n\t if (!pending) return done();\n\t\n\t for (; i < tokens.length; i++) {\n\t (function(token) {\n\t if (token.type !== 'code') {\n\t return --pending || done();\n\t }\n\t return highlight(token.text, token.lang, function(err, code) {\n\t if (err) return done(err);\n\t if (code == null || code === token.text) {\n\t return --pending || done();\n\t }\n\t token.text = code;\n\t token.escaped = true;\n\t --pending || done();\n\t });\n\t })(tokens[i]);\n\t }\n\t\n\t return;\n\t }\n\t try {\n\t if (opt) opt = merge({}, marked.defaults, opt);\n\t return Parser.parse(Lexer.lex(src, opt), opt);\n\t } catch (e) {\n\t e.message += '\\nPlease report this to https://github.com/chjj/marked.';\n\t if ((opt || marked.defaults).silent) {\n\t return '<p>An error occured:</p><pre>'\n\t + escape(e.message + '', true)\n\t + '</pre>';\n\t }\n\t throw e;\n\t }\n\t}\n\t\n\t/**\n\t * Options\n\t */\n\t\n\tmarked.options =\n\tmarked.setOptions = function(opt) {\n\t merge(marked.defaults, opt);\n\t return marked;\n\t};\n\t\n\tmarked.defaults = {\n\t gfm: true,\n\t tables: true,\n\t breaks: false,\n\t pedantic: false,\n\t sanitize: false,\n\t sanitizer: null,\n\t mangle: true,\n\t smartLists: false,\n\t silent: false,\n\t highlight: null,\n\t langPrefix: 'lang-',\n\t smartypants: false,\n\t headerPrefix: '',\n\t renderer: new Renderer,\n\t xhtml: false\n\t};\n\t\n\t/**\n\t * Expose\n\t */\n\t\n\tmarked.Parser = Parser;\n\tmarked.parser = Parser.parse;\n\t\n\tmarked.Renderer = Renderer;\n\t\n\tmarked.Lexer = Lexer;\n\tmarked.lexer = Lexer.lex;\n\t\n\tmarked.InlineLexer = InlineLexer;\n\tmarked.inlineLexer = InlineLexer.output;\n\t\n\tmarked.parse = marked;\n\t\n\tif (true) {\n\t module.exports = marked;\n\t} else if (typeof define === 'function' && define.amd) {\n\t define(function() { return marked; });\n\t} else {\n\t this.marked = marked;\n\t}\n\t\n\t}).call(function() {\n\t return this || (typeof window !== 'undefined' ? window : global);\n\t}());\n\t\n\t/* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }())))\n\n/***/ },\n/* 535 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar map = {\n\t\t\"./af\": 198,\n\t\t\"./af.js\": 198,\n\t\t\"./ar\": 204,\n\t\t\"./ar-dz\": 199,\n\t\t\"./ar-dz.js\": 199,\n\t\t\"./ar-ly\": 200,\n\t\t\"./ar-ly.js\": 200,\n\t\t\"./ar-ma\": 201,\n\t\t\"./ar-ma.js\": 201,\n\t\t\"./ar-sa\": 202,\n\t\t\"./ar-sa.js\": 202,\n\t\t\"./ar-tn\": 203,\n\t\t\"./ar-tn.js\": 203,\n\t\t\"./ar.js\": 204,\n\t\t\"./az\": 205,\n\t\t\"./az.js\": 205,\n\t\t\"./be\": 206,\n\t\t\"./be.js\": 206,\n\t\t\"./bg\": 207,\n\t\t\"./bg.js\": 207,\n\t\t\"./bn\": 208,\n\t\t\"./bn.js\": 208,\n\t\t\"./bo\": 209,\n\t\t\"./bo.js\": 209,\n\t\t\"./br\": 210,\n\t\t\"./br.js\": 210,\n\t\t\"./bs\": 211,\n\t\t\"./bs.js\": 211,\n\t\t\"./ca\": 212,\n\t\t\"./ca.js\": 212,\n\t\t\"./cs\": 213,\n\t\t\"./cs.js\": 213,\n\t\t\"./cv\": 214,\n\t\t\"./cv.js\": 214,\n\t\t\"./cy\": 215,\n\t\t\"./cy.js\": 215,\n\t\t\"./da\": 216,\n\t\t\"./da.js\": 216,\n\t\t\"./de\": 218,\n\t\t\"./de-at\": 217,\n\t\t\"./de-at.js\": 217,\n\t\t\"./de.js\": 218,\n\t\t\"./dv\": 219,\n\t\t\"./dv.js\": 219,\n\t\t\"./el\": 220,\n\t\t\"./el.js\": 220,\n\t\t\"./en-au\": 221,\n\t\t\"./en-au.js\": 221,\n\t\t\"./en-ca\": 222,\n\t\t\"./en-ca.js\": 222,\n\t\t\"./en-gb\": 223,\n\t\t\"./en-gb.js\": 223,\n\t\t\"./en-ie\": 224,\n\t\t\"./en-ie.js\": 224,\n\t\t\"./en-nz\": 225,\n\t\t\"./en-nz.js\": 225,\n\t\t\"./eo\": 226,\n\t\t\"./eo.js\": 226,\n\t\t\"./es\": 228,\n\t\t\"./es-do\": 227,\n\t\t\"./es-do.js\": 227,\n\t\t\"./es.js\": 228,\n\t\t\"./et\": 229,\n\t\t\"./et.js\": 229,\n\t\t\"./eu\": 230,\n\t\t\"./eu.js\": 230,\n\t\t\"./fa\": 231,\n\t\t\"./fa.js\": 231,\n\t\t\"./fi\": 232,\n\t\t\"./fi.js\": 232,\n\t\t\"./fo\": 233,\n\t\t\"./fo.js\": 233,\n\t\t\"./fr\": 236,\n\t\t\"./fr-ca\": 234,\n\t\t\"./fr-ca.js\": 234,\n\t\t\"./fr-ch\": 235,\n\t\t\"./fr-ch.js\": 235,\n\t\t\"./fr.js\": 236,\n\t\t\"./fy\": 237,\n\t\t\"./fy.js\": 237,\n\t\t\"./gd\": 238,\n\t\t\"./gd.js\": 238,\n\t\t\"./gl\": 239,\n\t\t\"./gl.js\": 239,\n\t\t\"./he\": 240,\n\t\t\"./he.js\": 240,\n\t\t\"./hi\": 241,\n\t\t\"./hi.js\": 241,\n\t\t\"./hr\": 242,\n\t\t\"./hr.js\": 242,\n\t\t\"./hu\": 243,\n\t\t\"./hu.js\": 243,\n\t\t\"./hy-am\": 244,\n\t\t\"./hy-am.js\": 244,\n\t\t\"./id\": 245,\n\t\t\"./id.js\": 245,\n\t\t\"./is\": 246,\n\t\t\"./is.js\": 246,\n\t\t\"./it\": 247,\n\t\t\"./it.js\": 247,\n\t\t\"./ja\": 248,\n\t\t\"./ja.js\": 248,\n\t\t\"./jv\": 249,\n\t\t\"./jv.js\": 249,\n\t\t\"./ka\": 250,\n\t\t\"./ka.js\": 250,\n\t\t\"./kk\": 251,\n\t\t\"./kk.js\": 251,\n\t\t\"./km\": 252,\n\t\t\"./km.js\": 252,\n\t\t\"./ko\": 253,\n\t\t\"./ko.js\": 253,\n\t\t\"./ky\": 254,\n\t\t\"./ky.js\": 254,\n\t\t\"./lb\": 255,\n\t\t\"./lb.js\": 255,\n\t\t\"./lo\": 256,\n\t\t\"./lo.js\": 256,\n\t\t\"./lt\": 257,\n\t\t\"./lt.js\": 257,\n\t\t\"./lv\": 258,\n\t\t\"./lv.js\": 258,\n\t\t\"./me\": 259,\n\t\t\"./me.js\": 259,\n\t\t\"./mi\": 260,\n\t\t\"./mi.js\": 260,\n\t\t\"./mk\": 261,\n\t\t\"./mk.js\": 261,\n\t\t\"./ml\": 262,\n\t\t\"./ml.js\": 262,\n\t\t\"./mr\": 263,\n\t\t\"./mr.js\": 263,\n\t\t\"./ms\": 265,\n\t\t\"./ms-my\": 264,\n\t\t\"./ms-my.js\": 264,\n\t\t\"./ms.js\": 265,\n\t\t\"./my\": 266,\n\t\t\"./my.js\": 266,\n\t\t\"./nb\": 267,\n\t\t\"./nb.js\": 267,\n\t\t\"./ne\": 268,\n\t\t\"./ne.js\": 268,\n\t\t\"./nl\": 270,\n\t\t\"./nl-be\": 269,\n\t\t\"./nl-be.js\": 269,\n\t\t\"./nl.js\": 270,\n\t\t\"./nn\": 271,\n\t\t\"./nn.js\": 271,\n\t\t\"./pa-in\": 272,\n\t\t\"./pa-in.js\": 272,\n\t\t\"./pl\": 273,\n\t\t\"./pl.js\": 273,\n\t\t\"./pt\": 275,\n\t\t\"./pt-br\": 274,\n\t\t\"./pt-br.js\": 274,\n\t\t\"./pt.js\": 275,\n\t\t\"./ro\": 276,\n\t\t\"./ro.js\": 276,\n\t\t\"./ru\": 277,\n\t\t\"./ru.js\": 277,\n\t\t\"./se\": 278,\n\t\t\"./se.js\": 278,\n\t\t\"./si\": 279,\n\t\t\"./si.js\": 279,\n\t\t\"./sk\": 280,\n\t\t\"./sk.js\": 280,\n\t\t\"./sl\": 281,\n\t\t\"./sl.js\": 281,\n\t\t\"./sq\": 282,\n\t\t\"./sq.js\": 282,\n\t\t\"./sr\": 284,\n\t\t\"./sr-cyrl\": 283,\n\t\t\"./sr-cyrl.js\": 283,\n\t\t\"./sr.js\": 284,\n\t\t\"./ss\": 285,\n\t\t\"./ss.js\": 285,\n\t\t\"./sv\": 286,\n\t\t\"./sv.js\": 286,\n\t\t\"./sw\": 287,\n\t\t\"./sw.js\": 287,\n\t\t\"./ta\": 288,\n\t\t\"./ta.js\": 288,\n\t\t\"./te\": 289,\n\t\t\"./te.js\": 289,\n\t\t\"./tet\": 290,\n\t\t\"./tet.js\": 290,\n\t\t\"./th\": 291,\n\t\t\"./th.js\": 291,\n\t\t\"./tl-ph\": 292,\n\t\t\"./tl-ph.js\": 292,\n\t\t\"./tlh\": 293,\n\t\t\"./tlh.js\": 293,\n\t\t\"./tr\": 294,\n\t\t\"./tr.js\": 294,\n\t\t\"./tzl\": 295,\n\t\t\"./tzl.js\": 295,\n\t\t\"./tzm\": 297,\n\t\t\"./tzm-latn\": 296,\n\t\t\"./tzm-latn.js\": 296,\n\t\t\"./tzm.js\": 297,\n\t\t\"./uk\": 298,\n\t\t\"./uk.js\": 298,\n\t\t\"./uz\": 299,\n\t\t\"./uz.js\": 299,\n\t\t\"./vi\": 300,\n\t\t\"./vi.js\": 300,\n\t\t\"./x-pseudo\": 301,\n\t\t\"./x-pseudo.js\": 301,\n\t\t\"./yo\": 302,\n\t\t\"./yo.js\": 302,\n\t\t\"./zh-cn\": 303,\n\t\t\"./zh-cn.js\": 303,\n\t\t\"./zh-hk\": 304,\n\t\t\"./zh-hk.js\": 304,\n\t\t\"./zh-tw\": 305,\n\t\t\"./zh-tw.js\": 305\n\t};\n\tfunction webpackContext(req) {\n\t\treturn __webpack_require__(webpackContextResolve(req));\n\t};\n\tfunction webpackContextResolve(req) {\n\t\treturn map[req] || (function() { throw new Error(\"Cannot find module '\" + req + \"'.\") }());\n\t};\n\twebpackContext.keys = function webpackContextKeys() {\n\t\treturn Object.keys(map);\n\t};\n\twebpackContext.resolve = webpackContextResolve;\n\tmodule.exports = webpackContext;\n\twebpackContext.id = 535;\n\n\n/***/ },\n/* 536 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\tvar strictUriEncode = __webpack_require__(663);\n\tvar objectAssign = __webpack_require__(6);\n\t\n\tfunction encode(value, opts) {\n\t\tif (opts.encode) {\n\t\t\treturn opts.strict ? strictUriEncode(value) : encodeURIComponent(value);\n\t\t}\n\t\n\t\treturn value;\n\t}\n\t\n\texports.extract = function (str) {\n\t\treturn str.split('?')[1] || '';\n\t};\n\t\n\texports.parse = function (str) {\n\t\t// Create an object with no prototype\n\t\t// https://github.com/sindresorhus/query-string/issues/47\n\t\tvar ret = Object.create(null);\n\t\n\t\tif (typeof str !== 'string') {\n\t\t\treturn ret;\n\t\t}\n\t\n\t\tstr = str.trim().replace(/^(\\?|#|&)/, '');\n\t\n\t\tif (!str) {\n\t\t\treturn ret;\n\t\t}\n\t\n\t\tstr.split('&').forEach(function (param) {\n\t\t\tvar parts = param.replace(/\\+/g, ' ').split('=');\n\t\t\t// Firefox (pre 40) decodes `%3D` to `=`\n\t\t\t// https://github.com/sindresorhus/query-string/pull/37\n\t\t\tvar key = parts.shift();\n\t\t\tvar val = parts.length > 0 ? parts.join('=') : undefined;\n\t\n\t\t\tkey = decodeURIComponent(key);\n\t\n\t\t\t// missing `=` should be `null`:\n\t\t\t// http://w3.org/TR/2012/WD-url-20120524/#collect-url-parameters\n\t\t\tval = val === undefined ? null : decodeURIComponent(val);\n\t\n\t\t\tif (ret[key] === undefined) {\n\t\t\t\tret[key] = val;\n\t\t\t} else if (Array.isArray(ret[key])) {\n\t\t\t\tret[key].push(val);\n\t\t\t} else {\n\t\t\t\tret[key] = [ret[key], val];\n\t\t\t}\n\t\t});\n\t\n\t\treturn ret;\n\t};\n\t\n\texports.stringify = function (obj, opts) {\n\t\tvar defaults = {\n\t\t\tencode: true,\n\t\t\tstrict: true\n\t\t};\n\t\n\t\topts = objectAssign(defaults, opts);\n\t\n\t\treturn obj ? Object.keys(obj).sort().map(function (key) {\n\t\t\tvar val = obj[key];\n\t\n\t\t\tif (val === undefined) {\n\t\t\t\treturn '';\n\t\t\t}\n\t\n\t\t\tif (val === null) {\n\t\t\t\treturn encode(key, opts);\n\t\t\t}\n\t\n\t\t\tif (Array.isArray(val)) {\n\t\t\t\tvar result = [];\n\t\n\t\t\t\tval.slice().forEach(function (val2) {\n\t\t\t\t\tif (val2 === undefined) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\n\t\t\t\t\tif (val2 === null) {\n\t\t\t\t\t\tresult.push(encode(key, opts));\n\t\t\t\t\t} else {\n\t\t\t\t\t\tresult.push(encode(key, opts) + '=' + encode(val2, opts));\n\t\t\t\t\t}\n\t\t\t\t});\n\t\n\t\t\t\treturn result.join('&');\n\t\t\t}\n\t\n\t\t\treturn encode(key, opts) + '=' + encode(val, opts);\n\t\t}).filter(function (x) {\n\t\t\treturn x.length > 0;\n\t\t}).join('&') : '';\n\t};\n\n\n/***/ },\n/* 537 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\t\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\tvar _brace = __webpack_require__(538);\n\t\n\tvar _brace2 = _interopRequireDefault(_brace);\n\t\n\tvar _react = __webpack_require__(2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _lodash = __webpack_require__(457);\n\t\n\tvar _lodash2 = _interopRequireDefault(_lodash);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\tvar _ace$acequire = _brace2.default.acequire('ace/range'),\n\t Range = _ace$acequire.Range;\n\t\n\tvar editorOptions = ['minLines', 'maxLines', 'readOnly', 'highlightActiveLine', 'tabSize', 'enableBasicAutocompletion', 'enableLiveAutocompletion', 'enableSnippets'];\n\t\n\tvar ReactAce = function (_PureComponent) {\n\t _inherits(ReactAce, _PureComponent);\n\t\n\t function ReactAce(props) {\n\t _classCallCheck(this, ReactAce);\n\t\n\t var _this = _possibleConstructorReturn(this, (ReactAce.__proto__ || Object.getPrototypeOf(ReactAce)).call(this, props));\n\t\n\t ['onChange', 'onFocus', 'onBlur', 'onCopy', 'onPaste', 'onScroll', 'handleOptions'].forEach(function (method) {\n\t _this[method] = _this[method].bind(_this);\n\t });\n\t return _this;\n\t }\n\t\n\t _createClass(ReactAce, [{\n\t key: 'componentDidMount',\n\t value: function componentDidMount() {\n\t var _this2 = this;\n\t\n\t var _props = this.props,\n\t name = _props.name,\n\t className = _props.className,\n\t onBeforeLoad = _props.onBeforeLoad,\n\t mode = _props.mode,\n\t focus = _props.focus,\n\t theme = _props.theme,\n\t fontSize = _props.fontSize,\n\t value = _props.value,\n\t defaultValue = _props.defaultValue,\n\t cursorStart = _props.cursorStart,\n\t showGutter = _props.showGutter,\n\t wrapEnabled = _props.wrapEnabled,\n\t showPrintMargin = _props.showPrintMargin,\n\t keyboardHandler = _props.keyboardHandler,\n\t onLoad = _props.onLoad,\n\t commands = _props.commands,\n\t annotations = _props.annotations,\n\t markers = _props.markers;\n\t\n\t\n\t this.editor = _brace2.default.edit(this.refs.editor);\n\t\n\t if (onBeforeLoad) {\n\t onBeforeLoad(_brace2.default);\n\t }\n\t\n\t var editorProps = Object.keys(this.props.editorProps);\n\t for (var i = 0; i < editorProps.length; i++) {\n\t this.editor[editorProps[i]] = this.props.editorProps[editorProps[i]];\n\t }\n\t\n\t this.editor.getSession().setMode('ace/mode/' + mode);\n\t this.editor.setTheme('ace/theme/' + theme);\n\t this.editor.setFontSize(fontSize);\n\t this.editor.setValue(defaultValue === undefined ? value : defaultValue, cursorStart);\n\t this.editor.renderer.setShowGutter(showGutter);\n\t this.editor.getSession().setUseWrapMode(wrapEnabled);\n\t this.editor.setShowPrintMargin(showPrintMargin);\n\t this.editor.on('focus', this.onFocus);\n\t this.editor.on('blur', this.onBlur);\n\t this.editor.on('copy', this.onCopy);\n\t this.editor.on('paste', this.onPaste);\n\t this.editor.on('change', this.onChange);\n\t this.editor.session.on('changeScrollTop', this.onScroll);\n\t this.handleOptions(this.props);\n\t this.editor.getSession().setAnnotations(annotations || []);\n\t this.handleMarkers(markers || []);\n\t\n\t // get a list of possible options to avoid 'misspelled option errors'\n\t var availableOptions = this.editor.$options;\n\t for (var _i = 0; _i < editorOptions.length; _i++) {\n\t var option = editorOptions[_i];\n\t if (availableOptions.hasOwnProperty(option)) {\n\t this.editor.setOption(option, this.props[option]);\n\t }\n\t }\n\t\n\t if (Array.isArray(commands)) {\n\t commands.forEach(function (command) {\n\t _this2.editor.commands.addCommand(command);\n\t });\n\t }\n\t\n\t if (keyboardHandler) {\n\t this.editor.setKeyboardHandler('ace/keyboard/' + keyboardHandler);\n\t }\n\t\n\t if (className) {\n\t this.refs.editor.className += ' ' + className;\n\t }\n\t\n\t if (focus) {\n\t this.editor.focus();\n\t }\n\t\n\t if (onLoad) {\n\t onLoad(this.editor);\n\t }\n\t }\n\t }, {\n\t key: 'componentWillReceiveProps',\n\t value: function componentWillReceiveProps(nextProps) {\n\t var _this3 = this;\n\t\n\t var oldProps = this.props;\n\t\n\t for (var i = 0; i < editorOptions.length; i++) {\n\t var option = editorOptions[i];\n\t if (nextProps[option] !== oldProps[option]) {\n\t this.editor.setOption(option, nextProps[option]);\n\t }\n\t }\n\t\n\t if (nextProps.className !== oldProps.className) {\n\t (function () {\n\t var appliedClasses = _this3.refs.editor.className;\n\t var appliedClassesArray = appliedClasses.trim().split(' ');\n\t var oldClassesArray = oldProps.className.trim().split(' ');\n\t oldClassesArray.forEach(function (oldClass) {\n\t var index = appliedClassesArray.indexOf(oldClass);\n\t appliedClassesArray.splice(index, 1);\n\t });\n\t _this3.refs.editor.className = ' ' + nextProps.className + ' ' + appliedClassesArray.join(' ');\n\t })();\n\t }\n\t\n\t if (nextProps.mode !== oldProps.mode) {\n\t this.editor.getSession().setMode('ace/mode/' + nextProps.mode);\n\t }\n\t if (nextProps.theme !== oldProps.theme) {\n\t this.editor.setTheme('ace/theme/' + nextProps.theme);\n\t }\n\t if (nextProps.keyboardHandler !== oldProps.keyboardHandler) {\n\t if (nextProps.keyboardHandler) {\n\t this.editor.setKeyboardHandler('ace/keyboard/' + nextProps.keyboardHandler);\n\t } else {\n\t this.editor.setKeyboardHandler(null);\n\t }\n\t }\n\t if (nextProps.fontSize !== oldProps.fontSize) {\n\t this.editor.setFontSize(nextProps.fontSize);\n\t }\n\t if (nextProps.wrapEnabled !== oldProps.wrapEnabled) {\n\t this.editor.getSession().setUseWrapMode(nextProps.wrapEnabled);\n\t }\n\t if (nextProps.showPrintMargin !== oldProps.showPrintMargin) {\n\t this.editor.setShowPrintMargin(nextProps.showPrintMargin);\n\t }\n\t if (nextProps.showGutter !== oldProps.showGutter) {\n\t this.editor.renderer.setShowGutter(nextProps.showGutter);\n\t }\n\t if (!(0, _lodash2.default)(nextProps.setOptions, oldProps.setOptions)) {\n\t this.handleOptions(nextProps);\n\t }\n\t if (!(0, _lodash2.default)(nextProps.annotations, oldProps.annotations)) {\n\t this.editor.getSession().setAnnotations(nextProps.annotations || []);\n\t }\n\t if (!(0, _lodash2.default)(nextProps.markers, oldProps.markers)) {\n\t this.handleMarkers(nextProps.markers || []);\n\t }\n\t if (this.editor && this.editor.getValue() !== nextProps.value) {\n\t // editor.setValue is a synchronous function call, change event is emitted before setValue return.\n\t this.silent = true;\n\t var pos = this.editor.session.selection.toJSON();\n\t this.editor.setValue(nextProps.value, nextProps.cursorStart);\n\t this.editor.session.selection.fromJSON(pos);\n\t this.silent = false;\n\t }\n\t\n\t if (nextProps.focus && !oldProps.focus) {\n\t this.editor.focus();\n\t }\n\t if (nextProps.height !== this.props.height) {\n\t this.editor.resize();\n\t }\n\t }\n\t }, {\n\t key: 'componentWillUnmount',\n\t value: function componentWillUnmount() {\n\t this.editor.destroy();\n\t this.editor = null;\n\t }\n\t }, {\n\t key: 'onChange',\n\t value: function onChange() {\n\t if (this.props.onChange && !this.silent) {\n\t var value = this.editor.getValue();\n\t this.props.onChange(value);\n\t }\n\t }\n\t }, {\n\t key: 'onFocus',\n\t value: function onFocus() {\n\t if (this.props.onFocus) {\n\t this.props.onFocus();\n\t }\n\t }\n\t }, {\n\t key: 'onBlur',\n\t value: function onBlur() {\n\t if (this.props.onBlur) {\n\t this.props.onBlur();\n\t }\n\t }\n\t }, {\n\t key: 'onCopy',\n\t value: function onCopy(text) {\n\t if (this.props.onCopy) {\n\t this.props.onCopy(text);\n\t }\n\t }\n\t }, {\n\t key: 'onPaste',\n\t value: function onPaste(text) {\n\t if (this.props.onPaste) {\n\t this.props.onPaste(text);\n\t }\n\t }\n\t }, {\n\t key: 'onScroll',\n\t value: function onScroll() {\n\t if (this.props.onScroll) {\n\t this.props.onScroll(this.editor);\n\t }\n\t }\n\t }, {\n\t key: 'handleOptions',\n\t value: function handleOptions(props) {\n\t var setOptions = Object.keys(props.setOptions);\n\t for (var y = 0; y < setOptions.length; y++) {\n\t this.editor.setOption(setOptions[y], props.setOptions[setOptions[y]]);\n\t }\n\t }\n\t }, {\n\t key: 'handleMarkers',\n\t value: function handleMarkers(markers) {\n\t var _this4 = this;\n\t\n\t // remove foreground markers\n\t var currentMarkers = this.editor.getSession().getMarkers(true);\n\t for (var i in currentMarkers) {\n\t if (currentMarkers.hasOwnProperty(i)) {\n\t this.editor.getSession().removeMarker(currentMarkers[i].id);\n\t }\n\t }\n\t // remove background markers\n\t currentMarkers = this.editor.getSession().getMarkers(false);\n\t for (var _i2 in currentMarkers) {\n\t if (currentMarkers.hasOwnProperty(_i2)) {\n\t this.editor.getSession().removeMarker(currentMarkers[_i2].id);\n\t }\n\t }\n\t // add new markers\n\t markers.forEach(function (_ref) {\n\t var startRow = _ref.startRow,\n\t startCol = _ref.startCol,\n\t endRow = _ref.endRow,\n\t endCol = _ref.endCol,\n\t className = _ref.className,\n\t type = _ref.type,\n\t _ref$inFront = _ref.inFront,\n\t inFront = _ref$inFront === undefined ? false : _ref$inFront;\n\t\n\t var range = new Range(startRow, startCol, endRow, endCol);\n\t _this4.editor.getSession().addMarker(range, className, type, inFront);\n\t });\n\t }\n\t }, {\n\t key: 'render',\n\t value: function render() {\n\t var _props2 = this.props,\n\t name = _props2.name,\n\t width = _props2.width,\n\t height = _props2.height,\n\t style = _props2.style;\n\t\n\t var divStyle = _extends({ width: width, height: height }, style);\n\t return _react2.default.createElement('div', { ref: 'editor',\n\t id: name,\n\t style: divStyle\n\t });\n\t }\n\t }]);\n\t\n\t return ReactAce;\n\t}(_react.PureComponent);\n\t\n\texports.default = ReactAce;\n\t\n\t\n\tReactAce.propTypes = {\n\t mode: _react.PropTypes.string,\n\t focus: _react.PropTypes.bool,\n\t theme: _react.PropTypes.string,\n\t name: _react.PropTypes.string,\n\t className: _react.PropTypes.string,\n\t height: _react.PropTypes.string,\n\t width: _react.PropTypes.string,\n\t fontSize: _react.PropTypes.oneOfType([_react.PropTypes.number, _react.PropTypes.string]),\n\t showGutter: _react.PropTypes.bool,\n\t onChange: _react.PropTypes.func,\n\t onCopy: _react.PropTypes.func,\n\t onPaste: _react.PropTypes.func,\n\t onFocus: _react.PropTypes.func,\n\t onBlur: _react.PropTypes.func,\n\t onScroll: _react.PropTypes.func,\n\t value: _react.PropTypes.string,\n\t defaultValue: _react.PropTypes.string,\n\t onLoad: _react.PropTypes.func,\n\t onBeforeLoad: _react.PropTypes.func,\n\t minLines: _react.PropTypes.number,\n\t maxLines: _react.PropTypes.number,\n\t readOnly: _react.PropTypes.bool,\n\t highlightActiveLine: _react.PropTypes.bool,\n\t tabSize: _react.PropTypes.number,\n\t showPrintMargin: _react.PropTypes.bool,\n\t cursorStart: _react.PropTypes.number,\n\t editorProps: _react.PropTypes.object,\n\t setOptions: _react.PropTypes.object,\n\t annotations: _react.PropTypes.array,\n\t markers: _react.PropTypes.array,\n\t keyboardHandler: _react.PropTypes.string,\n\t wrapEnabled: _react.PropTypes.bool,\n\t enableBasicAutocompletion: _react.PropTypes.oneOfType([_react.PropTypes.bool, _react.PropTypes.array]),\n\t enableLiveAutocompletion: _react.PropTypes.oneOfType([_react.PropTypes.bool, _react.PropTypes.array]),\n\t commands: _react.PropTypes.array\n\t};\n\t\n\tReactAce.defaultProps = {\n\t name: 'brace-editor',\n\t focus: false,\n\t mode: '',\n\t theme: '',\n\t height: '500px',\n\t width: '500px',\n\t value: '',\n\t fontSize: 12,\n\t showGutter: true,\n\t onChange: null,\n\t onPaste: null,\n\t onLoad: null,\n\t onScroll: null,\n\t minLines: null,\n\t maxLines: null,\n\t readOnly: false,\n\t highlightActiveLine: true,\n\t showPrintMargin: true,\n\t tabSize: 4,\n\t cursorStart: 1,\n\t editorProps: {},\n\t setOptions: {},\n\t wrapEnabled: false,\n\t enableBasicAutocompletion: false,\n\t enableLiveAutocompletion: false\n\t};\n\n/***/ },\n/* 538 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/* ***** BEGIN LICENSE BLOCK *****\n\t * Distributed under the BSD license:\n\t *\n\t * Copyright (c) 2010, Ajax.org B.V.\n\t * All rights reserved.\n\t *\n\t * Redistribution and use in source and binary forms, with or without\n\t * modification, are permitted provided that the following conditions are met:\n\t * * Redistributions of source code must retain the above copyright\n\t * notice, this list of conditions and the following disclaimer.\n\t * * Redistributions in binary form must reproduce the above copyright\n\t * notice, this list of conditions and the following disclaimer in the\n\t * documentation and/or other materials provided with the distribution.\n\t * * Neither the name of Ajax.org B.V. nor the\n\t * names of its contributors may be used to endorse or promote products\n\t * derived from this software without specific prior written permission.\n\t *\n\t * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\n\t * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\n\t * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\n\t * DISCLAIMED. IN NO EVENT SHALL AJAX.ORG B.V. BE LIABLE FOR ANY\n\t * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n\t * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\n\t * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND\n\t * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n\t * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\n\t * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\t *\n\t * ***** END LICENSE BLOCK ***** */\n\t\n\t/**\n\t * Define a module along with a payload\n\t * @param module a name for the payload\n\t * @param payload a function to call with (acequire, exports, module) params\n\t */\n\t\n\t(function() {\n\t\n\tvar ACE_NAMESPACE = \"ace\";\n\t\n\tvar global = (function() { return this; })();\n\tif (!global && typeof window != \"undefined\") global = window; // strict mode\n\t\n\t\n\tif (!ACE_NAMESPACE && typeof acequirejs !== \"undefined\")\n\t return;\n\t\n\t\n\tvar define = function(module, deps, payload) {\n\t if (typeof module !== \"string\") {\n\t if (define.original)\n\t define.original.apply(this, arguments);\n\t else {\n\t console.error(\"dropping module because define wasn\\'t a string.\");\n\t console.trace();\n\t }\n\t return;\n\t }\n\t if (arguments.length == 2)\n\t payload = deps;\n\t if (!define.modules[module]) {\n\t define.payloads[module] = payload;\n\t define.modules[module] = null;\n\t }\n\t};\n\t\n\tdefine.modules = {};\n\tdefine.payloads = {};\n\t\n\t/**\n\t * Get at functionality define()ed using the function above\n\t */\n\tvar _acequire = function(parentId, module, callback) {\n\t if (typeof module === \"string\") {\n\t var payload = lookup(parentId, module);\n\t if (payload != undefined) {\n\t callback && callback();\n\t return payload;\n\t }\n\t } else if (Object.prototype.toString.call(module) === \"[object Array]\") {\n\t var params = [];\n\t for (var i = 0, l = module.length; i < l; ++i) {\n\t var dep = lookup(parentId, module[i]);\n\t if (dep == undefined && acequire.original)\n\t return;\n\t params.push(dep);\n\t }\n\t return callback && callback.apply(null, params) || true;\n\t }\n\t};\n\t\n\tvar acequire = function(module, callback) {\n\t var packagedModule = _acequire(\"\", module, callback);\n\t if (packagedModule == undefined && acequire.original)\n\t return acequire.original.apply(this, arguments);\n\t return packagedModule;\n\t};\n\t\n\tvar normalizeModule = function(parentId, moduleName) {\n\t // normalize plugin acequires\n\t if (moduleName.indexOf(\"!\") !== -1) {\n\t var chunks = moduleName.split(\"!\");\n\t return normalizeModule(parentId, chunks[0]) + \"!\" + normalizeModule(parentId, chunks[1]);\n\t }\n\t // normalize relative acequires\n\t if (moduleName.charAt(0) == \".\") {\n\t var base = parentId.split(\"/\").slice(0, -1).join(\"/\");\n\t moduleName = base + \"/\" + moduleName;\n\t\n\t while(moduleName.indexOf(\".\") !== -1 && previous != moduleName) {\n\t var previous = moduleName;\n\t moduleName = moduleName.replace(/\\/\\.\\//, \"/\").replace(/[^\\/]+\\/\\.\\.\\//, \"\");\n\t }\n\t }\n\t return moduleName;\n\t};\n\t\n\t/**\n\t * Internal function to lookup moduleNames and resolve them by calling the\n\t * definition function if needed.\n\t */\n\tvar lookup = function(parentId, moduleName) {\n\t moduleName = normalizeModule(parentId, moduleName);\n\t\n\t var module = define.modules[moduleName];\n\t if (!module) {\n\t module = define.payloads[moduleName];\n\t if (typeof module === 'function') {\n\t var exports = {};\n\t var mod = {\n\t id: moduleName,\n\t uri: '',\n\t exports: exports,\n\t packaged: true\n\t };\n\t\n\t var req = function(module, callback) {\n\t return _acequire(moduleName, module, callback);\n\t };\n\t\n\t var returnValue = module(req, exports, mod);\n\t exports = returnValue || mod.exports;\n\t define.modules[moduleName] = exports;\n\t delete define.payloads[moduleName];\n\t }\n\t module = define.modules[moduleName] = exports || module;\n\t }\n\t return module;\n\t};\n\t\n\tfunction exportAce(ns) {\n\t var root = global;\n\t if (ns) {\n\t if (!global[ns])\n\t global[ns] = {};\n\t root = global[ns];\n\t }\n\t\n\t if (!root.define || !root.define.packaged) {\n\t define.original = root.define;\n\t root.define = define;\n\t root.define.packaged = true;\n\t }\n\t\n\t if (!root.acequire || !root.acequire.packaged) {\n\t acequire.original = root.acequire;\n\t root.acequire = acequire;\n\t root.acequire.packaged = true;\n\t }\n\t}\n\t\n\texportAce(ACE_NAMESPACE);\n\t\n\t})();\n\t\n\tace.define(\"ace/lib/regexp\",[\"require\",\"exports\",\"module\"], function(acequire, exports, module) {\n\t\"use strict\";\n\t\n\t var real = {\n\t exec: RegExp.prototype.exec,\n\t test: RegExp.prototype.test,\n\t match: String.prototype.match,\n\t replace: String.prototype.replace,\n\t split: String.prototype.split\n\t },\n\t compliantExecNpcg = real.exec.call(/()??/, \"\")[1] === undefined, // check `exec` handling of nonparticipating capturing groups\n\t compliantLastIndexIncrement = function () {\n\t var x = /^/g;\n\t real.test.call(x, \"\");\n\t return !x.lastIndex;\n\t }();\n\t\n\t if (compliantLastIndexIncrement && compliantExecNpcg)\n\t return;\n\t RegExp.prototype.exec = function (str) {\n\t var match = real.exec.apply(this, arguments),\n\t name, r2;\n\t if ( typeof(str) == 'string' && match) {\n\t if (!compliantExecNpcg && match.length > 1 && indexOf(match, \"\") > -1) {\n\t r2 = RegExp(this.source, real.replace.call(getNativeFlags(this), \"g\", \"\"));\n\t real.replace.call(str.slice(match.index), r2, function () {\n\t for (var i = 1; i < arguments.length - 2; i++) {\n\t if (arguments[i] === undefined)\n\t match[i] = undefined;\n\t }\n\t });\n\t }\n\t if (this._xregexp && this._xregexp.captureNames) {\n\t for (var i = 1; i < match.length; i++) {\n\t name = this._xregexp.captureNames[i - 1];\n\t if (name)\n\t match[name] = match[i];\n\t }\n\t }\n\t if (!compliantLastIndexIncrement && this.global && !match[0].length && (this.lastIndex > match.index))\n\t this.lastIndex--;\n\t }\n\t return match;\n\t };\n\t if (!compliantLastIndexIncrement) {\n\t RegExp.prototype.test = function (str) {\n\t var match = real.exec.call(this, str);\n\t if (match && this.global && !match[0].length && (this.lastIndex > match.index))\n\t this.lastIndex--;\n\t return !!match;\n\t };\n\t }\n\t\n\t function getNativeFlags (regex) {\n\t return (regex.global ? \"g\" : \"\") +\n\t (regex.ignoreCase ? \"i\" : \"\") +\n\t (regex.multiline ? \"m\" : \"\") +\n\t (regex.extended ? \"x\" : \"\") + // Proposed for ES4; included in AS3\n\t (regex.sticky ? \"y\" : \"\");\n\t }\n\t\n\t function indexOf (array, item, from) {\n\t if (Array.prototype.indexOf) // Use the native array method if available\n\t return array.indexOf(item, from);\n\t for (var i = from || 0; i < array.length; i++) {\n\t if (array[i] === item)\n\t return i;\n\t }\n\t return -1;\n\t }\n\t\n\t});\n\t\n\tace.define(\"ace/lib/es5-shim\",[\"require\",\"exports\",\"module\"], function(acequire, exports, module) {\n\t\n\tfunction Empty() {}\n\t\n\tif (!Function.prototype.bind) {\n\t Function.prototype.bind = function bind(that) { // .length is 1\n\t var target = this;\n\t if (typeof target != \"function\") {\n\t throw new TypeError(\"Function.prototype.bind called on incompatible \" + target);\n\t }\n\t var args = slice.call(arguments, 1); // for normal call\n\t var bound = function () {\n\t\n\t if (this instanceof bound) {\n\t\n\t var result = target.apply(\n\t this,\n\t args.concat(slice.call(arguments))\n\t );\n\t if (Object(result) === result) {\n\t return result;\n\t }\n\t return this;\n\t\n\t } else {\n\t return target.apply(\n\t that,\n\t args.concat(slice.call(arguments))\n\t );\n\t\n\t }\n\t\n\t };\n\t if(target.prototype) {\n\t Empty.prototype = target.prototype;\n\t bound.prototype = new Empty();\n\t Empty.prototype = null;\n\t }\n\t return bound;\n\t };\n\t}\n\tvar call = Function.prototype.call;\n\tvar prototypeOfArray = Array.prototype;\n\tvar prototypeOfObject = Object.prototype;\n\tvar slice = prototypeOfArray.slice;\n\tvar _toString = call.bind(prototypeOfObject.toString);\n\tvar owns = call.bind(prototypeOfObject.hasOwnProperty);\n\tvar defineGetter;\n\tvar defineSetter;\n\tvar lookupGetter;\n\tvar lookupSetter;\n\tvar supportsAccessors;\n\tif ((supportsAccessors = owns(prototypeOfObject, \"__defineGetter__\"))) {\n\t defineGetter = call.bind(prototypeOfObject.__defineGetter__);\n\t defineSetter = call.bind(prototypeOfObject.__defineSetter__);\n\t lookupGetter = call.bind(prototypeOfObject.__lookupGetter__);\n\t lookupSetter = call.bind(prototypeOfObject.__lookupSetter__);\n\t}\n\tif ([1,2].splice(0).length != 2) {\n\t if(function() { // test IE < 9 to splice bug - see issue #138\n\t function makeArray(l) {\n\t var a = new Array(l+2);\n\t a[0] = a[1] = 0;\n\t return a;\n\t }\n\t var array = [], lengthBefore;\n\t \n\t array.splice.apply(array, makeArray(20));\n\t array.splice.apply(array, makeArray(26));\n\t\n\t lengthBefore = array.length; //46\n\t array.splice(5, 0, \"XXX\"); // add one element\n\t\n\t lengthBefore + 1 == array.length\n\t\n\t if (lengthBefore + 1 == array.length) {\n\t return true;// has right splice implementation without bugs\n\t }\n\t }()) {//IE 6/7\n\t var array_splice = Array.prototype.splice;\n\t Array.prototype.splice = function(start, deleteCount) {\n\t if (!arguments.length) {\n\t return [];\n\t } else {\n\t return array_splice.apply(this, [\n\t start === void 0 ? 0 : start,\n\t deleteCount === void 0 ? (this.length - start) : deleteCount\n\t ].concat(slice.call(arguments, 2)))\n\t }\n\t };\n\t } else {//IE8\n\t Array.prototype.splice = function(pos, removeCount){\n\t var length = this.length;\n\t if (pos > 0) {\n\t if (pos > length)\n\t pos = length;\n\t } else if (pos == void 0) {\n\t pos = 0;\n\t } else if (pos < 0) {\n\t pos = Math.max(length + pos, 0);\n\t }\n\t\n\t if (!(pos+removeCount < length))\n\t removeCount = length - pos;\n\t\n\t var removed = this.slice(pos, pos+removeCount);\n\t var insert = slice.call(arguments, 2);\n\t var add = insert.length; \n\t if (pos === length) {\n\t if (add) {\n\t this.push.apply(this, insert);\n\t }\n\t } else {\n\t var remove = Math.min(removeCount, length - pos);\n\t var tailOldPos = pos + remove;\n\t var tailNewPos = tailOldPos + add - remove;\n\t var tailCount = length - tailOldPos;\n\t var lengthAfterRemove = length - remove;\n\t\n\t if (tailNewPos < tailOldPos) { // case A\n\t for (var i = 0; i < tailCount; ++i) {\n\t this[tailNewPos+i] = this[tailOldPos+i];\n\t }\n\t } else if (tailNewPos > tailOldPos) { // case B\n\t for (i = tailCount; i--; ) {\n\t this[tailNewPos+i] = this[tailOldPos+i];\n\t }\n\t } // else, add == remove (nothing to do)\n\t\n\t if (add && pos === lengthAfterRemove) {\n\t this.length = lengthAfterRemove; // truncate array\n\t this.push.apply(this, insert);\n\t } else {\n\t this.length = lengthAfterRemove + add; // reserves space\n\t for (i = 0; i < add; ++i) {\n\t this[pos+i] = insert[i];\n\t }\n\t }\n\t }\n\t return removed;\n\t };\n\t }\n\t}\n\tif (!Array.isArray) {\n\t Array.isArray = function isArray(obj) {\n\t return _toString(obj) == \"[object Array]\";\n\t };\n\t}\n\tvar boxedString = Object(\"a\"),\n\t splitString = boxedString[0] != \"a\" || !(0 in boxedString);\n\t\n\tif (!Array.prototype.forEach) {\n\t Array.prototype.forEach = function forEach(fun /*, thisp*/) {\n\t var object = toObject(this),\n\t self = splitString && _toString(this) == \"[object String]\" ?\n\t this.split(\"\") :\n\t object,\n\t thisp = arguments[1],\n\t i = -1,\n\t length = self.length >>> 0;\n\t if (_toString(fun) != \"[object Function]\") {\n\t throw new TypeError(); // TODO message\n\t }\n\t\n\t while (++i < length) {\n\t if (i in self) {\n\t fun.call(thisp, self[i], i, object);\n\t }\n\t }\n\t };\n\t}\n\tif (!Array.prototype.map) {\n\t Array.prototype.map = function map(fun /*, thisp*/) {\n\t var object = toObject(this),\n\t self = splitString && _toString(this) == \"[object String]\" ?\n\t this.split(\"\") :\n\t object,\n\t length = self.length >>> 0,\n\t result = Array(length),\n\t thisp = arguments[1];\n\t if (_toString(fun) != \"[object Function]\") {\n\t throw new TypeError(fun + \" is not a function\");\n\t }\n\t\n\t for (var i = 0; i < length; i++) {\n\t if (i in self)\n\t result[i] = fun.call(thisp, self[i], i, object);\n\t }\n\t return result;\n\t };\n\t}\n\tif (!Array.prototype.filter) {\n\t Array.prototype.filter = function filter(fun /*, thisp */) {\n\t var object = toObject(this),\n\t self = splitString && _toString(this) == \"[object String]\" ?\n\t this.split(\"\") :\n\t object,\n\t length = self.length >>> 0,\n\t result = [],\n\t value,\n\t thisp = arguments[1];\n\t if (_toString(fun) != \"[object Function]\") {\n\t throw new TypeError(fun + \" is not a function\");\n\t }\n\t\n\t for (var i = 0; i < length; i++) {\n\t if (i in self) {\n\t value = self[i];\n\t if (fun.call(thisp, value, i, object)) {\n\t result.push(value);\n\t }\n\t }\n\t }\n\t return result;\n\t };\n\t}\n\tif (!Array.prototype.every) {\n\t Array.prototype.every = function every(fun /*, thisp */) {\n\t var object = toObject(this),\n\t self = splitString && _toString(this) == \"[object String]\" ?\n\t this.split(\"\") :\n\t object,\n\t length = self.length >>> 0,\n\t thisp = arguments[1];\n\t if (_toString(fun) != \"[object Function]\") {\n\t throw new TypeError(fun + \" is not a function\");\n\t }\n\t\n\t for (var i = 0; i < length; i++) {\n\t if (i in self && !fun.call(thisp, self[i], i, object)) {\n\t return false;\n\t }\n\t }\n\t return true;\n\t };\n\t}\n\tif (!Array.prototype.some) {\n\t Array.prototype.some = function some(fun /*, thisp */) {\n\t var object = toObject(this),\n\t self = splitString && _toString(this) == \"[object String]\" ?\n\t this.split(\"\") :\n\t object,\n\t length = self.length >>> 0,\n\t thisp = arguments[1];\n\t if (_toString(fun) != \"[object Function]\") {\n\t throw new TypeError(fun + \" is not a function\");\n\t }\n\t\n\t for (var i = 0; i < length; i++) {\n\t if (i in self && fun.call(thisp, self[i], i, object)) {\n\t return true;\n\t }\n\t }\n\t return false;\n\t };\n\t}\n\tif (!Array.prototype.reduce) {\n\t Array.prototype.reduce = function reduce(fun /*, initial*/) {\n\t var object = toObject(this),\n\t self = splitString && _toString(this) == \"[object String]\" ?\n\t this.split(\"\") :\n\t object,\n\t length = self.length >>> 0;\n\t if (_toString(fun) != \"[object Function]\") {\n\t throw new TypeError(fun + \" is not a function\");\n\t }\n\t if (!length && arguments.length == 1) {\n\t throw new TypeError(\"reduce of empty array with no initial value\");\n\t }\n\t\n\t var i = 0;\n\t var result;\n\t if (arguments.length >= 2) {\n\t result = arguments[1];\n\t } else {\n\t do {\n\t if (i in self) {\n\t result = self[i++];\n\t break;\n\t }\n\t if (++i >= length) {\n\t throw new TypeError(\"reduce of empty array with no initial value\");\n\t }\n\t } while (true);\n\t }\n\t\n\t for (; i < length; i++) {\n\t if (i in self) {\n\t result = fun.call(void 0, result, self[i], i, object);\n\t }\n\t }\n\t\n\t return result;\n\t };\n\t}\n\tif (!Array.prototype.reduceRight) {\n\t Array.prototype.reduceRight = function reduceRight(fun /*, initial*/) {\n\t var object = toObject(this),\n\t self = splitString && _toString(this) == \"[object String]\" ?\n\t this.split(\"\") :\n\t object,\n\t length = self.length >>> 0;\n\t if (_toString(fun) != \"[object Function]\") {\n\t throw new TypeError(fun + \" is not a function\");\n\t }\n\t if (!length && arguments.length == 1) {\n\t throw new TypeError(\"reduceRight of empty array with no initial value\");\n\t }\n\t\n\t var result, i = length - 1;\n\t if (arguments.length >= 2) {\n\t result = arguments[1];\n\t } else {\n\t do {\n\t if (i in self) {\n\t result = self[i--];\n\t break;\n\t }\n\t if (--i < 0) {\n\t throw new TypeError(\"reduceRight of empty array with no initial value\");\n\t }\n\t } while (true);\n\t }\n\t\n\t do {\n\t if (i in this) {\n\t result = fun.call(void 0, result, self[i], i, object);\n\t }\n\t } while (i--);\n\t\n\t return result;\n\t };\n\t}\n\tif (!Array.prototype.indexOf || ([0, 1].indexOf(1, 2) != -1)) {\n\t Array.prototype.indexOf = function indexOf(sought /*, fromIndex */ ) {\n\t var self = splitString && _toString(this) == \"[object String]\" ?\n\t this.split(\"\") :\n\t toObject(this),\n\t length = self.length >>> 0;\n\t\n\t if (!length) {\n\t return -1;\n\t }\n\t\n\t var i = 0;\n\t if (arguments.length > 1) {\n\t i = toInteger(arguments[1]);\n\t }\n\t i = i >= 0 ? i : Math.max(0, length + i);\n\t for (; i < length; i++) {\n\t if (i in self && self[i] === sought) {\n\t return i;\n\t }\n\t }\n\t return -1;\n\t };\n\t}\n\tif (!Array.prototype.lastIndexOf || ([0, 1].lastIndexOf(0, -3) != -1)) {\n\t Array.prototype.lastIndexOf = function lastIndexOf(sought /*, fromIndex */) {\n\t var self = splitString && _toString(this) == \"[object String]\" ?\n\t this.split(\"\") :\n\t toObject(this),\n\t length = self.length >>> 0;\n\t\n\t if (!length) {\n\t return -1;\n\t }\n\t var i = length - 1;\n\t if (arguments.length > 1) {\n\t i = Math.min(i, toInteger(arguments[1]));\n\t }\n\t i = i >= 0 ? i : length - Math.abs(i);\n\t for (; i >= 0; i--) {\n\t if (i in self && sought === self[i]) {\n\t return i;\n\t }\n\t }\n\t return -1;\n\t };\n\t}\n\tif (!Object.getPrototypeOf) {\n\t Object.getPrototypeOf = function getPrototypeOf(object) {\n\t return object.__proto__ || (\n\t object.constructor ?\n\t object.constructor.prototype :\n\t prototypeOfObject\n\t );\n\t };\n\t}\n\tif (!Object.getOwnPropertyDescriptor) {\n\t var ERR_NON_OBJECT = \"Object.getOwnPropertyDescriptor called on a \" +\n\t \"non-object: \";\n\t Object.getOwnPropertyDescriptor = function getOwnPropertyDescriptor(object, property) {\n\t if ((typeof object != \"object\" && typeof object != \"function\") || object === null)\n\t throw new TypeError(ERR_NON_OBJECT + object);\n\t if (!owns(object, property))\n\t return;\n\t\n\t var descriptor, getter, setter;\n\t descriptor = { enumerable: true, configurable: true };\n\t if (supportsAccessors) {\n\t var prototype = object.__proto__;\n\t object.__proto__ = prototypeOfObject;\n\t\n\t var getter = lookupGetter(object, property);\n\t var setter = lookupSetter(object, property);\n\t object.__proto__ = prototype;\n\t\n\t if (getter || setter) {\n\t if (getter) descriptor.get = getter;\n\t if (setter) descriptor.set = setter;\n\t return descriptor;\n\t }\n\t }\n\t descriptor.value = object[property];\n\t return descriptor;\n\t };\n\t}\n\tif (!Object.getOwnPropertyNames) {\n\t Object.getOwnPropertyNames = function getOwnPropertyNames(object) {\n\t return Object.keys(object);\n\t };\n\t}\n\tif (!Object.create) {\n\t var createEmpty;\n\t if (Object.prototype.__proto__ === null) {\n\t createEmpty = function () {\n\t return { \"__proto__\": null };\n\t };\n\t } else {\n\t createEmpty = function () {\n\t var empty = {};\n\t for (var i in empty)\n\t empty[i] = null;\n\t empty.constructor =\n\t empty.hasOwnProperty =\n\t empty.propertyIsEnumerable =\n\t empty.isPrototypeOf =\n\t empty.toLocaleString =\n\t empty.toString =\n\t empty.valueOf =\n\t empty.__proto__ = null;\n\t return empty;\n\t }\n\t }\n\t\n\t Object.create = function create(prototype, properties) {\n\t var object;\n\t if (prototype === null) {\n\t object = createEmpty();\n\t } else {\n\t if (typeof prototype != \"object\")\n\t throw new TypeError(\"typeof prototype[\"+(typeof prototype)+\"] != 'object'\");\n\t var Type = function () {};\n\t Type.prototype = prototype;\n\t object = new Type();\n\t object.__proto__ = prototype;\n\t }\n\t if (properties !== void 0)\n\t Object.defineProperties(object, properties);\n\t return object;\n\t };\n\t}\n\t\n\tfunction doesDefinePropertyWork(object) {\n\t try {\n\t Object.defineProperty(object, \"sentinel\", {});\n\t return \"sentinel\" in object;\n\t } catch (exception) {\n\t }\n\t}\n\tif (Object.defineProperty) {\n\t var definePropertyWorksOnObject = doesDefinePropertyWork({});\n\t var definePropertyWorksOnDom = typeof document == \"undefined\" ||\n\t doesDefinePropertyWork(document.createElement(\"div\"));\n\t if (!definePropertyWorksOnObject || !definePropertyWorksOnDom) {\n\t var definePropertyFallback = Object.defineProperty;\n\t }\n\t}\n\t\n\tif (!Object.defineProperty || definePropertyFallback) {\n\t var ERR_NON_OBJECT_DESCRIPTOR = \"Property description must be an object: \";\n\t var ERR_NON_OBJECT_TARGET = \"Object.defineProperty called on non-object: \"\n\t var ERR_ACCESSORS_NOT_SUPPORTED = \"getters & setters can not be defined \" +\n\t \"on this javascript engine\";\n\t\n\t Object.defineProperty = function defineProperty(object, property, descriptor) {\n\t if ((typeof object != \"object\" && typeof object != \"function\") || object === null)\n\t throw new TypeError(ERR_NON_OBJECT_TARGET + object);\n\t if ((typeof descriptor != \"object\" && typeof descriptor != \"function\") || descriptor === null)\n\t throw new TypeError(ERR_NON_OBJECT_DESCRIPTOR + descriptor);\n\t if (definePropertyFallback) {\n\t try {\n\t return definePropertyFallback.call(Object, object, property, descriptor);\n\t } catch (exception) {\n\t }\n\t }\n\t if (owns(descriptor, \"value\")) {\n\t\n\t if (supportsAccessors && (lookupGetter(object, property) ||\n\t lookupSetter(object, property)))\n\t {\n\t var prototype = object.__proto__;\n\t object.__proto__ = prototypeOfObject;\n\t delete object[property];\n\t object[property] = descriptor.value;\n\t object.__proto__ = prototype;\n\t } else {\n\t object[property] = descriptor.value;\n\t }\n\t } else {\n\t if (!supportsAccessors)\n\t throw new TypeError(ERR_ACCESSORS_NOT_SUPPORTED);\n\t if (owns(descriptor, \"get\"))\n\t defineGetter(object, property, descriptor.get);\n\t if (owns(descriptor, \"set\"))\n\t defineSetter(object, property, descriptor.set);\n\t }\n\t\n\t return object;\n\t };\n\t}\n\tif (!Object.defineProperties) {\n\t Object.defineProperties = function defineProperties(object, properties) {\n\t for (var property in properties) {\n\t if (owns(properties, property))\n\t Object.defineProperty(object, property, properties[property]);\n\t }\n\t return object;\n\t };\n\t}\n\tif (!Object.seal) {\n\t Object.seal = function seal(object) {\n\t return object;\n\t };\n\t}\n\tif (!Object.freeze) {\n\t Object.freeze = function freeze(object) {\n\t return object;\n\t };\n\t}\n\ttry {\n\t Object.freeze(function () {});\n\t} catch (exception) {\n\t Object.freeze = (function freeze(freezeObject) {\n\t return function freeze(object) {\n\t if (typeof object == \"function\") {\n\t return object;\n\t } else {\n\t return freezeObject(object);\n\t }\n\t };\n\t })(Object.freeze);\n\t}\n\tif (!Object.preventExtensions) {\n\t Object.preventExtensions = function preventExtensions(object) {\n\t return object;\n\t };\n\t}\n\tif (!Object.isSealed) {\n\t Object.isSealed = function isSealed(object) {\n\t return false;\n\t };\n\t}\n\tif (!Object.isFrozen) {\n\t Object.isFrozen = function isFrozen(object) {\n\t return false;\n\t };\n\t}\n\tif (!Object.isExtensible) {\n\t Object.isExtensible = function isExtensible(object) {\n\t if (Object(object) === object) {\n\t throw new TypeError(); // TODO message\n\t }\n\t var name = '';\n\t while (owns(object, name)) {\n\t name += '?';\n\t }\n\t object[name] = true;\n\t var returnValue = owns(object, name);\n\t delete object[name];\n\t return returnValue;\n\t };\n\t}\n\tif (!Object.keys) {\n\t var hasDontEnumBug = true,\n\t dontEnums = [\n\t \"toString\",\n\t \"toLocaleString\",\n\t \"valueOf\",\n\t \"hasOwnProperty\",\n\t \"isPrototypeOf\",\n\t \"propertyIsEnumerable\",\n\t \"constructor\"\n\t ],\n\t dontEnumsLength = dontEnums.length;\n\t\n\t for (var key in {\"toString\": null}) {\n\t hasDontEnumBug = false;\n\t }\n\t\n\t Object.keys = function keys(object) {\n\t\n\t if (\n\t (typeof object != \"object\" && typeof object != \"function\") ||\n\t object === null\n\t ) {\n\t throw new TypeError(\"Object.keys called on a non-object\");\n\t }\n\t\n\t var keys = [];\n\t for (var name in object) {\n\t if (owns(object, name)) {\n\t keys.push(name);\n\t }\n\t }\n\t\n\t if (hasDontEnumBug) {\n\t for (var i = 0, ii = dontEnumsLength; i < ii; i++) {\n\t var dontEnum = dontEnums[i];\n\t if (owns(object, dontEnum)) {\n\t keys.push(dontEnum);\n\t }\n\t }\n\t }\n\t return keys;\n\t };\n\t\n\t}\n\tif (!Date.now) {\n\t Date.now = function now() {\n\t return new Date().getTime();\n\t };\n\t}\n\tvar ws = \"\\x09\\x0A\\x0B\\x0C\\x0D\\x20\\xA0\\u1680\\u180E\\u2000\\u2001\\u2002\\u2003\" +\n\t \"\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\" +\n\t \"\\u2029\\uFEFF\";\n\tif (!String.prototype.trim || ws.trim()) {\n\t ws = \"[\" + ws + \"]\";\n\t var trimBeginRegexp = new RegExp(\"^\" + ws + ws + \"*\"),\n\t trimEndRegexp = new RegExp(ws + ws + \"*$\");\n\t String.prototype.trim = function trim() {\n\t return String(this).replace(trimBeginRegexp, \"\").replace(trimEndRegexp, \"\");\n\t };\n\t}\n\t\n\tfunction toInteger(n) {\n\t n = +n;\n\t if (n !== n) { // isNaN\n\t n = 0;\n\t } else if (n !== 0 && n !== (1/0) && n !== -(1/0)) {\n\t n = (n > 0 || -1) * Math.floor(Math.abs(n));\n\t }\n\t return n;\n\t}\n\t\n\tfunction isPrimitive(input) {\n\t var type = typeof input;\n\t return (\n\t input === null ||\n\t type === \"undefined\" ||\n\t type === \"boolean\" ||\n\t type === \"number\" ||\n\t type === \"string\"\n\t );\n\t}\n\t\n\tfunction toPrimitive(input) {\n\t var val, valueOf, toString;\n\t if (isPrimitive(input)) {\n\t return input;\n\t }\n\t valueOf = input.valueOf;\n\t if (typeof valueOf === \"function\") {\n\t val = valueOf.call(input);\n\t if (isPrimitive(val)) {\n\t return val;\n\t }\n\t }\n\t toString = input.toString;\n\t if (typeof toString === \"function\") {\n\t val = toString.call(input);\n\t if (isPrimitive(val)) {\n\t return val;\n\t }\n\t }\n\t throw new TypeError();\n\t}\n\tvar toObject = function (o) {\n\t if (o == null) { // this matches both null and undefined\n\t throw new TypeError(\"can't convert \"+o+\" to object\");\n\t }\n\t return Object(o);\n\t};\n\t\n\t});\n\t\n\tace.define(\"ace/lib/fixoldbrowsers\",[\"require\",\"exports\",\"module\",\"ace/lib/regexp\",\"ace/lib/es5-shim\"], function(acequire, exports, module) {\n\t\"use strict\";\n\t\n\tacequire(\"./regexp\");\n\tacequire(\"./es5-shim\");\n\t\n\t});\n\t\n\tace.define(\"ace/lib/dom\",[\"require\",\"exports\",\"module\"], function(acequire, exports, module) {\n\t\"use strict\";\n\t\n\tvar XHTML_NS = \"http://www.w3.org/1999/xhtml\";\n\t\n\texports.getDocumentHead = function(doc) {\n\t if (!doc)\n\t doc = document;\n\t return doc.head || doc.getElementsByTagName(\"head\")[0] || doc.documentElement;\n\t};\n\t\n\texports.createElement = function(tag, ns) {\n\t return document.createElementNS ?\n\t document.createElementNS(ns || XHTML_NS, tag) :\n\t document.createElement(tag);\n\t};\n\t\n\texports.hasCssClass = function(el, name) {\n\t var classes = (el.className || \"\").split(/\\s+/g);\n\t return classes.indexOf(name) !== -1;\n\t};\n\texports.addCssClass = function(el, name) {\n\t if (!exports.hasCssClass(el, name)) {\n\t el.className += \" \" + name;\n\t }\n\t};\n\texports.removeCssClass = function(el, name) {\n\t var classes = el.className.split(/\\s+/g);\n\t while (true) {\n\t var index = classes.indexOf(name);\n\t if (index == -1) {\n\t break;\n\t }\n\t classes.splice(index, 1);\n\t }\n\t el.className = classes.join(\" \");\n\t};\n\t\n\texports.toggleCssClass = function(el, name) {\n\t var classes = el.className.split(/\\s+/g), add = true;\n\t while (true) {\n\t var index = classes.indexOf(name);\n\t if (index == -1) {\n\t break;\n\t }\n\t add = false;\n\t classes.splice(index, 1);\n\t }\n\t if (add)\n\t classes.push(name);\n\t\n\t el.className = classes.join(\" \");\n\t return add;\n\t};\n\texports.setCssClass = function(node, className, include) {\n\t if (include) {\n\t exports.addCssClass(node, className);\n\t } else {\n\t exports.removeCssClass(node, className);\n\t }\n\t};\n\t\n\texports.hasCssString = function(id, doc) {\n\t var index = 0, sheets;\n\t doc = doc || document;\n\t\n\t if (doc.createStyleSheet && (sheets = doc.styleSheets)) {\n\t while (index < sheets.length)\n\t if (sheets[index++].owningElement.id === id) return true;\n\t } else if ((sheets = doc.getElementsByTagName(\"style\"))) {\n\t while (index < sheets.length)\n\t if (sheets[index++].id === id) return true;\n\t }\n\t\n\t return false;\n\t};\n\t\n\texports.importCssString = function importCssString(cssText, id, doc) {\n\t doc = doc || document;\n\t if (id && exports.hasCssString(id, doc))\n\t return null;\n\t \n\t var style;\n\t \n\t if (id)\n\t cssText += \"\\n/*# sourceURL=ace/css/\" + id + \" */\";\n\t \n\t if (doc.createStyleSheet) {\n\t style = doc.createStyleSheet();\n\t style.cssText = cssText;\n\t if (id)\n\t style.owningElement.id = id;\n\t } else {\n\t style = exports.createElement(\"style\");\n\t style.appendChild(doc.createTextNode(cssText));\n\t if (id)\n\t style.id = id;\n\t\n\t exports.getDocumentHead(doc).appendChild(style);\n\t }\n\t};\n\t\n\texports.importCssStylsheet = function(uri, doc) {\n\t if (doc.createStyleSheet) {\n\t doc.createStyleSheet(uri);\n\t } else {\n\t var link = exports.createElement('link');\n\t link.rel = 'stylesheet';\n\t link.href = uri;\n\t\n\t exports.getDocumentHead(doc).appendChild(link);\n\t }\n\t};\n\t\n\texports.getInnerWidth = function(element) {\n\t return (\n\t parseInt(exports.computedStyle(element, \"paddingLeft\"), 10) +\n\t parseInt(exports.computedStyle(element, \"paddingRight\"), 10) + \n\t element.clientWidth\n\t );\n\t};\n\t\n\texports.getInnerHeight = function(element) {\n\t return (\n\t parseInt(exports.computedStyle(element, \"paddingTop\"), 10) +\n\t parseInt(exports.computedStyle(element, \"paddingBottom\"), 10) +\n\t element.clientHeight\n\t );\n\t};\n\t\n\texports.scrollbarWidth = function(document) {\n\t var inner = exports.createElement(\"ace_inner\");\n\t inner.style.width = \"100%\";\n\t inner.style.minWidth = \"0px\";\n\t inner.style.height = \"200px\";\n\t inner.style.display = \"block\";\n\t\n\t var outer = exports.createElement(\"ace_outer\");\n\t var style = outer.style;\n\t\n\t style.position = \"absolute\";\n\t style.left = \"-10000px\";\n\t style.overflow = \"hidden\";\n\t style.width = \"200px\";\n\t style.minWidth = \"0px\";\n\t style.height = \"150px\";\n\t style.display = \"block\";\n\t\n\t outer.appendChild(inner);\n\t\n\t var body = document.documentElement;\n\t body.appendChild(outer);\n\t\n\t var noScrollbar = inner.offsetWidth;\n\t\n\t style.overflow = \"scroll\";\n\t var withScrollbar = inner.offsetWidth;\n\t\n\t if (noScrollbar == withScrollbar) {\n\t withScrollbar = outer.clientWidth;\n\t }\n\t\n\t body.removeChild(outer);\n\t\n\t return noScrollbar-withScrollbar;\n\t};\n\t\n\tif (typeof document == \"undefined\") {\n\t exports.importCssString = function() {};\n\t return;\n\t}\n\t\n\tif (window.pageYOffset !== undefined) {\n\t exports.getPageScrollTop = function() {\n\t return window.pageYOffset;\n\t };\n\t\n\t exports.getPageScrollLeft = function() {\n\t return window.pageXOffset;\n\t };\n\t}\n\telse {\n\t exports.getPageScrollTop = function() {\n\t return document.body.scrollTop;\n\t };\n\t\n\t exports.getPageScrollLeft = function() {\n\t return document.body.scrollLeft;\n\t };\n\t}\n\t\n\tif (window.getComputedStyle)\n\t exports.computedStyle = function(element, style) {\n\t if (style)\n\t return (window.getComputedStyle(element, \"\") || {})[style] || \"\";\n\t return window.getComputedStyle(element, \"\") || {};\n\t };\n\telse\n\t exports.computedStyle = function(element, style) {\n\t if (style)\n\t return element.currentStyle[style];\n\t return element.currentStyle;\n\t };\n\texports.setInnerHtml = function(el, innerHtml) {\n\t var element = el.cloneNode(false);//document.createElement(\"div\");\n\t element.innerHTML = innerHtml;\n\t el.parentNode.replaceChild(element, el);\n\t return element;\n\t};\n\t\n\tif (\"textContent\" in document.documentElement) {\n\t exports.setInnerText = function(el, innerText) {\n\t el.textContent = innerText;\n\t };\n\t\n\t exports.getInnerText = function(el) {\n\t return el.textContent;\n\t };\n\t}\n\telse {\n\t exports.setInnerText = function(el, innerText) {\n\t el.innerText = innerText;\n\t };\n\t\n\t exports.getInnerText = function(el) {\n\t return el.innerText;\n\t };\n\t}\n\t\n\texports.getParentWindow = function(document) {\n\t return document.defaultView || document.parentWindow;\n\t};\n\t\n\t});\n\t\n\tace.define(\"ace/lib/oop\",[\"require\",\"exports\",\"module\"], function(acequire, exports, module) {\n\t\"use strict\";\n\t\n\texports.inherits = function(ctor, superCtor) {\n\t ctor.super_ = superCtor;\n\t ctor.prototype = Object.create(superCtor.prototype, {\n\t constructor: {\n\t value: ctor,\n\t enumerable: false,\n\t writable: true,\n\t configurable: true\n\t }\n\t });\n\t};\n\t\n\texports.mixin = function(obj, mixin) {\n\t for (var key in mixin) {\n\t obj[key] = mixin[key];\n\t }\n\t return obj;\n\t};\n\t\n\texports.implement = function(proto, mixin) {\n\t exports.mixin(proto, mixin);\n\t};\n\t\n\t});\n\t\n\tace.define(\"ace/lib/keys\",[\"require\",\"exports\",\"module\",\"ace/lib/fixoldbrowsers\",\"ace/lib/oop\"], function(acequire, exports, module) {\n\t\"use strict\";\n\t\n\tacequire(\"./fixoldbrowsers\");\n\t\n\tvar oop = acequire(\"./oop\");\n\tvar Keys = (function() {\n\t var ret = {\n\t MODIFIER_KEYS: {\n\t 16: 'Shift', 17: 'Ctrl', 18: 'Alt', 224: 'Meta'\n\t },\n\t\n\t KEY_MODS: {\n\t \"ctrl\": 1, \"alt\": 2, \"option\" : 2, \"shift\": 4,\n\t \"super\": 8, \"meta\": 8, \"command\": 8, \"cmd\": 8\n\t },\n\t\n\t FUNCTION_KEYS : {\n\t 8 : \"Backspace\",\n\t 9 : \"Tab\",\n\t 13 : \"Return\",\n\t 19 : \"Pause\",\n\t 27 : \"Esc\",\n\t 32 : \"Space\",\n\t 33 : \"PageUp\",\n\t 34 : \"PageDown\",\n\t 35 : \"End\",\n\t 36 : \"Home\",\n\t 37 : \"Left\",\n\t 38 : \"Up\",\n\t 39 : \"Right\",\n\t 40 : \"Down\",\n\t 44 : \"Print\",\n\t 45 : \"Insert\",\n\t 46 : \"Delete\",\n\t 96 : \"Numpad0\",\n\t 97 : \"Numpad1\",\n\t 98 : \"Numpad2\",\n\t 99 : \"Numpad3\",\n\t 100: \"Numpad4\",\n\t 101: \"Numpad5\",\n\t 102: \"Numpad6\",\n\t 103: \"Numpad7\",\n\t 104: \"Numpad8\",\n\t 105: \"Numpad9\",\n\t '-13': \"NumpadEnter\",\n\t 112: \"F1\",\n\t 113: \"F2\",\n\t 114: \"F3\",\n\t 115: \"F4\",\n\t 116: \"F5\",\n\t 117: \"F6\",\n\t 118: \"F7\",\n\t 119: \"F8\",\n\t 120: \"F9\",\n\t 121: \"F10\",\n\t 122: \"F11\",\n\t 123: \"F12\",\n\t 144: \"Numlock\",\n\t 145: \"Scrolllock\"\n\t },\n\t\n\t PRINTABLE_KEYS: {\n\t 32: ' ', 48: '0', 49: '1', 50: '2', 51: '3', 52: '4', 53: '5',\n\t 54: '6', 55: '7', 56: '8', 57: '9', 59: ';', 61: '=', 65: 'a',\n\t 66: 'b', 67: 'c', 68: 'd', 69: 'e', 70: 'f', 71: 'g', 72: 'h',\n\t 73: 'i', 74: 'j', 75: 'k', 76: 'l', 77: 'm', 78: 'n', 79: 'o',\n\t 80: 'p', 81: 'q', 82: 'r', 83: 's', 84: 't', 85: 'u', 86: 'v',\n\t 87: 'w', 88: 'x', 89: 'y', 90: 'z', 107: '+', 109: '-', 110: '.',\n\t 186: ';', 187: '=', 188: ',', 189: '-', 190: '.', 191: '/', 192: '`',\n\t 219: '[', 220: '\\\\',221: ']', 222: \"'\", 111: '/', 106: '*'\n\t }\n\t };\n\t var name, i;\n\t for (i in ret.FUNCTION_KEYS) {\n\t name = ret.FUNCTION_KEYS[i].toLowerCase();\n\t ret[name] = parseInt(i, 10);\n\t }\n\t for (i in ret.PRINTABLE_KEYS) {\n\t name = ret.PRINTABLE_KEYS[i].toLowerCase();\n\t ret[name] = parseInt(i, 10);\n\t }\n\t oop.mixin(ret, ret.MODIFIER_KEYS);\n\t oop.mixin(ret, ret.PRINTABLE_KEYS);\n\t oop.mixin(ret, ret.FUNCTION_KEYS);\n\t ret.enter = ret[\"return\"];\n\t ret.escape = ret.esc;\n\t ret.del = ret[\"delete\"];\n\t ret[173] = '-';\n\t \n\t (function() {\n\t var mods = [\"cmd\", \"ctrl\", \"alt\", \"shift\"];\n\t for (var i = Math.pow(2, mods.length); i--;) { \n\t ret.KEY_MODS[i] = mods.filter(function(x) {\n\t return i & ret.KEY_MODS[x];\n\t }).join(\"-\") + \"-\";\n\t }\n\t })();\n\t\n\t ret.KEY_MODS[0] = \"\";\n\t ret.KEY_MODS[-1] = \"input-\";\n\t\n\t return ret;\n\t})();\n\toop.mixin(exports, Keys);\n\t\n\texports.keyCodeToString = function(keyCode) {\n\t var keyString = Keys[keyCode];\n\t if (typeof keyString != \"string\")\n\t keyString = String.fromCharCode(keyCode);\n\t return keyString.toLowerCase();\n\t};\n\t\n\t});\n\t\n\tace.define(\"ace/lib/useragent\",[\"require\",\"exports\",\"module\"], function(acequire, exports, module) {\n\t\"use strict\";\n\texports.OS = {\n\t LINUX: \"LINUX\",\n\t MAC: \"MAC\",\n\t WINDOWS: \"WINDOWS\"\n\t};\n\texports.getOS = function() {\n\t if (exports.isMac) {\n\t return exports.OS.MAC;\n\t } else if (exports.isLinux) {\n\t return exports.OS.LINUX;\n\t } else {\n\t return exports.OS.WINDOWS;\n\t }\n\t};\n\tif (typeof navigator != \"object\")\n\t return;\n\t\n\tvar os = (navigator.platform.match(/mac|win|linux/i) || [\"other\"])[0].toLowerCase();\n\tvar ua = navigator.userAgent;\n\texports.isWin = (os == \"win\");\n\texports.isMac = (os == \"mac\");\n\texports.isLinux = (os == \"linux\");\n\texports.isIE = \n\t (navigator.appName == \"Microsoft Internet Explorer\" || navigator.appName.indexOf(\"MSAppHost\") >= 0)\n\t ? parseFloat((ua.match(/(?:MSIE |Trident\\/[0-9]+[\\.0-9]+;.*rv:)([0-9]+[\\.0-9]+)/)||[])[1])\n\t : parseFloat((ua.match(/(?:Trident\\/[0-9]+[\\.0-9]+;.*rv:)([0-9]+[\\.0-9]+)/)||[])[1]); // for ie\n\t \n\texports.isOldIE = exports.isIE && exports.isIE < 9;\n\texports.isGecko = exports.isMozilla = (window.Controllers || window.controllers) && window.navigator.product === \"Gecko\";\n\texports.isOldGecko = exports.isGecko && parseInt((ua.match(/rv\\:(\\d+)/)||[])[1], 10) < 4;\n\texports.isOpera = window.opera && Object.prototype.toString.call(window.opera) == \"[object Opera]\";\n\texports.isWebKit = parseFloat(ua.split(\"WebKit/\")[1]) || undefined;\n\t\n\texports.isChrome = parseFloat(ua.split(\" Chrome/\")[1]) || undefined;\n\t\n\texports.isAIR = ua.indexOf(\"AdobeAIR\") >= 0;\n\t\n\texports.isIPad = ua.indexOf(\"iPad\") >= 0;\n\t\n\texports.isTouchPad = ua.indexOf(\"TouchPad\") >= 0;\n\t\n\texports.isChromeOS = ua.indexOf(\" CrOS \") >= 0;\n\t\n\t});\n\t\n\tace.define(\"ace/lib/event\",[\"require\",\"exports\",\"module\",\"ace/lib/keys\",\"ace/lib/useragent\"], function(acequire, exports, module) {\n\t\"use strict\";\n\t\n\tvar keys = acequire(\"./keys\");\n\tvar useragent = acequire(\"./useragent\");\n\t\n\tvar pressedKeys = null;\n\tvar ts = 0;\n\t\n\texports.addListener = function(elem, type, callback) {\n\t if (elem.addEventListener) {\n\t return elem.addEventListener(type, callback, false);\n\t }\n\t if (elem.attachEvent) {\n\t var wrapper = function() {\n\t callback.call(elem, window.event);\n\t };\n\t callback._wrapper = wrapper;\n\t elem.attachEvent(\"on\" + type, wrapper);\n\t }\n\t};\n\t\n\texports.removeListener = function(elem, type, callback) {\n\t if (elem.removeEventListener) {\n\t return elem.removeEventListener(type, callback, false);\n\t }\n\t if (elem.detachEvent) {\n\t elem.detachEvent(\"on\" + type, callback._wrapper || callback);\n\t }\n\t};\n\texports.stopEvent = function(e) {\n\t exports.stopPropagation(e);\n\t exports.preventDefault(e);\n\t return false;\n\t};\n\t\n\texports.stopPropagation = function(e) {\n\t if (e.stopPropagation)\n\t e.stopPropagation();\n\t else\n\t e.cancelBubble = true;\n\t};\n\t\n\texports.preventDefault = function(e) {\n\t if (e.preventDefault)\n\t e.preventDefault();\n\t else\n\t e.returnValue = false;\n\t};\n\texports.getButton = function(e) {\n\t if (e.type == \"dblclick\")\n\t return 0;\n\t if (e.type == \"contextmenu\" || (useragent.isMac && (e.ctrlKey && !e.altKey && !e.shiftKey)))\n\t return 2;\n\t if (e.preventDefault) {\n\t return e.button;\n\t }\n\t else {\n\t return {1:0, 2:2, 4:1}[e.button];\n\t }\n\t};\n\t\n\texports.capture = function(el, eventHandler, releaseCaptureHandler) {\n\t function onMouseUp(e) {\n\t eventHandler && eventHandler(e);\n\t releaseCaptureHandler && releaseCaptureHandler(e);\n\t\n\t exports.removeListener(document, \"mousemove\", eventHandler, true);\n\t exports.removeListener(document, \"mouseup\", onMouseUp, true);\n\t exports.removeListener(document, \"dragstart\", onMouseUp, true);\n\t }\n\t\n\t exports.addListener(document, \"mousemove\", eventHandler, true);\n\t exports.addListener(document, \"mouseup\", onMouseUp, true);\n\t exports.addListener(document, \"dragstart\", onMouseUp, true);\n\t \n\t return onMouseUp;\n\t};\n\t\n\texports.addTouchMoveListener = function (el, callback) {\n\t if (\"ontouchmove\" in el) {\n\t var startx, starty;\n\t exports.addListener(el, \"touchstart\", function (e) {\n\t var touchObj = e.changedTouches[0];\n\t startx = touchObj.clientX;\n\t starty = touchObj.clientY;\n\t });\n\t exports.addListener(el, \"touchmove\", function (e) {\n\t var factor = 1,\n\t touchObj = e.changedTouches[0];\n\t\n\t e.wheelX = -(touchObj.clientX - startx) / factor;\n\t e.wheelY = -(touchObj.clientY - starty) / factor;\n\t\n\t startx = touchObj.clientX;\n\t starty = touchObj.clientY;\n\t\n\t callback(e);\n\t });\n\t } \n\t};\n\t\n\texports.addMouseWheelListener = function(el, callback) {\n\t if (\"onmousewheel\" in el) {\n\t exports.addListener(el, \"mousewheel\", function(e) {\n\t var factor = 8;\n\t if (e.wheelDeltaX !== undefined) {\n\t e.wheelX = -e.wheelDeltaX / factor;\n\t e.wheelY = -e.wheelDeltaY / factor;\n\t } else {\n\t e.wheelX = 0;\n\t e.wheelY = -e.wheelDelta / factor;\n\t }\n\t callback(e);\n\t });\n\t } else if (\"onwheel\" in el) {\n\t exports.addListener(el, \"wheel\", function(e) {\n\t var factor = 0.35;\n\t switch (e.deltaMode) {\n\t case e.DOM_DELTA_PIXEL:\n\t e.wheelX = e.deltaX * factor || 0;\n\t e.wheelY = e.deltaY * factor || 0;\n\t break;\n\t case e.DOM_DELTA_LINE:\n\t case e.DOM_DELTA_PAGE:\n\t e.wheelX = (e.deltaX || 0) * 5;\n\t e.wheelY = (e.deltaY || 0) * 5;\n\t break;\n\t }\n\t \n\t callback(e);\n\t });\n\t } else {\n\t exports.addListener(el, \"DOMMouseScroll\", function(e) {\n\t if (e.axis && e.axis == e.HORIZONTAL_AXIS) {\n\t e.wheelX = (e.detail || 0) * 5;\n\t e.wheelY = 0;\n\t } else {\n\t e.wheelX = 0;\n\t e.wheelY = (e.detail || 0) * 5;\n\t }\n\t callback(e);\n\t });\n\t }\n\t};\n\t\n\texports.addMultiMouseDownListener = function(elements, timeouts, eventHandler, callbackName) {\n\t var clicks = 0;\n\t var startX, startY, timer; \n\t var eventNames = {\n\t 2: \"dblclick\",\n\t 3: \"tripleclick\",\n\t 4: \"quadclick\"\n\t };\n\t\n\t function onMousedown(e) {\n\t if (exports.getButton(e) !== 0) {\n\t clicks = 0;\n\t } else if (e.detail > 1) {\n\t clicks++;\n\t if (clicks > 4)\n\t clicks = 1;\n\t } else {\n\t clicks = 1;\n\t }\n\t if (useragent.isIE) {\n\t var isNewClick = Math.abs(e.clientX - startX) > 5 || Math.abs(e.clientY - startY) > 5;\n\t if (!timer || isNewClick)\n\t clicks = 1;\n\t if (timer)\n\t clearTimeout(timer);\n\t timer = setTimeout(function() {timer = null}, timeouts[clicks - 1] || 600);\n\t\n\t if (clicks == 1) {\n\t startX = e.clientX;\n\t startY = e.clientY;\n\t }\n\t }\n\t \n\t e._clicks = clicks;\n\t\n\t eventHandler[callbackName](\"mousedown\", e);\n\t\n\t if (clicks > 4)\n\t clicks = 0;\n\t else if (clicks > 1)\n\t return eventHandler[callbackName](eventNames[clicks], e);\n\t }\n\t function onDblclick(e) {\n\t clicks = 2;\n\t if (timer)\n\t clearTimeout(timer);\n\t timer = setTimeout(function() {timer = null}, timeouts[clicks - 1] || 600);\n\t eventHandler[callbackName](\"mousedown\", e);\n\t eventHandler[callbackName](eventNames[clicks], e);\n\t }\n\t if (!Array.isArray(elements))\n\t elements = [elements];\n\t elements.forEach(function(el) {\n\t exports.addListener(el, \"mousedown\", onMousedown);\n\t if (useragent.isOldIE)\n\t exports.addListener(el, \"dblclick\", onDblclick);\n\t });\n\t};\n\t\n\tvar getModifierHash = useragent.isMac && useragent.isOpera && !(\"KeyboardEvent\" in window)\n\t ? function(e) {\n\t return 0 | (e.metaKey ? 1 : 0) | (e.altKey ? 2 : 0) | (e.shiftKey ? 4 : 0) | (e.ctrlKey ? 8 : 0);\n\t }\n\t : function(e) {\n\t return 0 | (e.ctrlKey ? 1 : 0) | (e.altKey ? 2 : 0) | (e.shiftKey ? 4 : 0) | (e.metaKey ? 8 : 0);\n\t };\n\t\n\texports.getModifierString = function(e) {\n\t return keys.KEY_MODS[getModifierHash(e)];\n\t};\n\t\n\tfunction normalizeCommandKeys(callback, e, keyCode) {\n\t var hashId = getModifierHash(e);\n\t\n\t if (!useragent.isMac && pressedKeys) {\n\t if (pressedKeys.OSKey)\n\t hashId |= 8;\n\t if (pressedKeys.altGr) {\n\t if ((3 & hashId) != 3)\n\t pressedKeys.altGr = 0;\n\t else\n\t return;\n\t }\n\t if (keyCode === 18 || keyCode === 17) {\n\t var location = \"location\" in e ? e.location : e.keyLocation;\n\t if (keyCode === 17 && location === 1) {\n\t if (pressedKeys[keyCode] == 1)\n\t ts = e.timeStamp;\n\t } else if (keyCode === 18 && hashId === 3 && location === 2) {\n\t var dt = e.timeStamp - ts;\n\t if (dt < 50)\n\t pressedKeys.altGr = true;\n\t }\n\t }\n\t }\n\t \n\t if (keyCode in keys.MODIFIER_KEYS) {\n\t keyCode = -1;\n\t }\n\t if (hashId & 8 && (keyCode >= 91 && keyCode <= 93)) {\n\t keyCode = -1;\n\t }\n\t \n\t if (!hashId && keyCode === 13) {\n\t var location = \"location\" in e ? e.location : e.keyLocation;\n\t if (location === 3) {\n\t callback(e, hashId, -keyCode);\n\t if (e.defaultPrevented)\n\t return;\n\t }\n\t }\n\t \n\t if (useragent.isChromeOS && hashId & 8) {\n\t callback(e, hashId, keyCode);\n\t if (e.defaultPrevented)\n\t return;\n\t else\n\t hashId &= ~8;\n\t }\n\t if (!hashId && !(keyCode in keys.FUNCTION_KEYS) && !(keyCode in keys.PRINTABLE_KEYS)) {\n\t return false;\n\t }\n\t \n\t return callback(e, hashId, keyCode);\n\t}\n\t\n\t\n\texports.addCommandKeyListener = function(el, callback) {\n\t var addListener = exports.addListener;\n\t if (useragent.isOldGecko || (useragent.isOpera && !(\"KeyboardEvent\" in window))) {\n\t var lastKeyDownKeyCode = null;\n\t addListener(el, \"keydown\", function(e) {\n\t lastKeyDownKeyCode = e.keyCode;\n\t });\n\t addListener(el, \"keypress\", function(e) {\n\t return normalizeCommandKeys(callback, e, lastKeyDownKeyCode);\n\t });\n\t } else {\n\t var lastDefaultPrevented = null;\n\t\n\t addListener(el, \"keydown\", function(e) {\n\t var keyCode = e.keyCode;\n\t pressedKeys[keyCode] = (pressedKeys[keyCode] || 0) + 1;\n\t if (keyCode == 91 || keyCode == 92) {\n\t pressedKeys.OSKey = true;\n\t } else if (pressedKeys.OSKey) {\n\t if (e.timeStamp - pressedKeys.lastT > 200 && pressedKeys.count == 1)\n\t resetPressedKeys();\n\t }\n\t if (pressedKeys[keyCode] == 1)\n\t pressedKeys.count++;\n\t pressedKeys.lastT = e.timeStamp;\n\t var result = normalizeCommandKeys(callback, e, keyCode);\n\t lastDefaultPrevented = e.defaultPrevented;\n\t return result;\n\t });\n\t\n\t addListener(el, \"keypress\", function(e) {\n\t if (lastDefaultPrevented && (e.ctrlKey || e.altKey || e.shiftKey || e.metaKey)) {\n\t exports.stopEvent(e);\n\t lastDefaultPrevented = null;\n\t }\n\t });\n\t\n\t addListener(el, \"keyup\", function(e) {\n\t var keyCode = e.keyCode;\n\t if (!pressedKeys[keyCode]) {\n\t resetPressedKeys();\n\t } else {\n\t pressedKeys.count = Math.max(pressedKeys.count - 1, 0);\n\t }\n\t if (keyCode == 91 || keyCode == 92) {\n\t pressedKeys.OSKey = false;\n\t }\n\t pressedKeys[keyCode] = null;\n\t });\n\t\n\t if (!pressedKeys) {\n\t resetPressedKeys();\n\t addListener(window, \"focus\", resetPressedKeys);\n\t }\n\t }\n\t};\n\tfunction resetPressedKeys() {\n\t pressedKeys = Object.create(null);\n\t pressedKeys.count = 0;\n\t pressedKeys.lastT = 0;\n\t}\n\t\n\tif (typeof window == \"object\" && window.postMessage && !useragent.isOldIE) {\n\t var postMessageId = 1;\n\t exports.nextTick = function(callback, win) {\n\t win = win || window;\n\t var messageName = \"zero-timeout-message-\" + postMessageId;\n\t exports.addListener(win, \"message\", function listener(e) {\n\t if (e.data == messageName) {\n\t exports.stopPropagation(e);\n\t exports.removeListener(win, \"message\", listener);\n\t callback();\n\t }\n\t });\n\t win.postMessage(messageName, \"*\");\n\t };\n\t}\n\t\n\t\n\texports.nextFrame = typeof window == \"object\" && (window.requestAnimationFrame\n\t || window.mozRequestAnimationFrame\n\t || window.webkitRequestAnimationFrame\n\t || window.msRequestAnimationFrame\n\t || window.oRequestAnimationFrame);\n\t\n\tif (exports.nextFrame)\n\t exports.nextFrame = exports.nextFrame.bind(window);\n\telse\n\t exports.nextFrame = function(callback) {\n\t setTimeout(callback, 17);\n\t };\n\t});\n\t\n\tace.define(\"ace/lib/lang\",[\"require\",\"exports\",\"module\"], function(acequire, exports, module) {\n\t\"use strict\";\n\t\n\texports.last = function(a) {\n\t return a[a.length - 1];\n\t};\n\t\n\texports.stringReverse = function(string) {\n\t return string.split(\"\").reverse().join(\"\");\n\t};\n\t\n\texports.stringRepeat = function (string, count) {\n\t var result = '';\n\t while (count > 0) {\n\t if (count & 1)\n\t result += string;\n\t\n\t if (count >>= 1)\n\t string += string;\n\t }\n\t return result;\n\t};\n\t\n\tvar trimBeginRegexp = /^\\s\\s*/;\n\tvar trimEndRegexp = /\\s\\s*$/;\n\t\n\texports.stringTrimLeft = function (string) {\n\t return string.replace(trimBeginRegexp, '');\n\t};\n\t\n\texports.stringTrimRight = function (string) {\n\t return string.replace(trimEndRegexp, '');\n\t};\n\t\n\texports.copyObject = function(obj) {\n\t var copy = {};\n\t for (var key in obj) {\n\t copy[key] = obj[key];\n\t }\n\t return copy;\n\t};\n\t\n\texports.copyArray = function(array){\n\t var copy = [];\n\t for (var i=0, l=array.length; i<l; i++) {\n\t if (array[i] && typeof array[i] == \"object\")\n\t copy[i] = this.copyObject( array[i] );\n\t else \n\t copy[i] = array[i];\n\t }\n\t return copy;\n\t};\n\t\n\texports.deepCopy = function deepCopy(obj) {\n\t if (typeof obj !== \"object\" || !obj)\n\t return obj;\n\t var copy;\n\t if (Array.isArray(obj)) {\n\t copy = [];\n\t for (var key = 0; key < obj.length; key++) {\n\t copy[key] = deepCopy(obj[key]);\n\t }\n\t return copy;\n\t }\n\t var cons = obj.constructor;\n\t if (cons === RegExp)\n\t return obj;\n\t \n\t copy = cons();\n\t for (var key in obj) {\n\t copy[key] = deepCopy(obj[key]);\n\t }\n\t return copy;\n\t};\n\t\n\texports.arrayToMap = function(arr) {\n\t var map = {};\n\t for (var i=0; i<arr.length; i++) {\n\t map[arr[i]] = 1;\n\t }\n\t return map;\n\t\n\t};\n\t\n\texports.createMap = function(props) {\n\t var map = Object.create(null);\n\t for (var i in props) {\n\t map[i] = props[i];\n\t }\n\t return map;\n\t};\n\texports.arrayRemove = function(array, value) {\n\t for (var i = 0; i <= array.length; i++) {\n\t if (value === array[i]) {\n\t array.splice(i, 1);\n\t }\n\t }\n\t};\n\t\n\texports.escapeRegExp = function(str) {\n\t return str.replace(/([.*+?^${}()|[\\]\\/\\\\])/g, '\\\\$1');\n\t};\n\t\n\texports.escapeHTML = function(str) {\n\t return str.replace(/&/g, \"&\").replace(/\"/g, \""\").replace(/'/g, \"'\").replace(/</g, \"<\");\n\t};\n\t\n\texports.getMatchOffsets = function(string, regExp) {\n\t var matches = [];\n\t\n\t string.replace(regExp, function(str) {\n\t matches.push({\n\t offset: arguments[arguments.length-2],\n\t length: str.length\n\t });\n\t });\n\t\n\t return matches;\n\t};\n\texports.deferredCall = function(fcn) {\n\t var timer = null;\n\t var callback = function() {\n\t timer = null;\n\t fcn();\n\t };\n\t\n\t var deferred = function(timeout) {\n\t deferred.cancel();\n\t timer = setTimeout(callback, timeout || 0);\n\t return deferred;\n\t };\n\t\n\t deferred.schedule = deferred;\n\t\n\t deferred.call = function() {\n\t this.cancel();\n\t fcn();\n\t return deferred;\n\t };\n\t\n\t deferred.cancel = function() {\n\t clearTimeout(timer);\n\t timer = null;\n\t return deferred;\n\t };\n\t \n\t deferred.isPending = function() {\n\t return timer;\n\t };\n\t\n\t return deferred;\n\t};\n\t\n\t\n\texports.delayedCall = function(fcn, defaultTimeout) {\n\t var timer = null;\n\t var callback = function() {\n\t timer = null;\n\t fcn();\n\t };\n\t\n\t var _self = function(timeout) {\n\t if (timer == null)\n\t timer = setTimeout(callback, timeout || defaultTimeout);\n\t };\n\t\n\t _self.delay = function(timeout) {\n\t timer && clearTimeout(timer);\n\t timer = setTimeout(callback, timeout || defaultTimeout);\n\t };\n\t _self.schedule = _self;\n\t\n\t _self.call = function() {\n\t this.cancel();\n\t fcn();\n\t };\n\t\n\t _self.cancel = function() {\n\t timer && clearTimeout(timer);\n\t timer = null;\n\t };\n\t\n\t _self.isPending = function() {\n\t return timer;\n\t };\n\t\n\t return _self;\n\t};\n\t});\n\t\n\tace.define(\"ace/keyboard/textinput\",[\"require\",\"exports\",\"module\",\"ace/lib/event\",\"ace/lib/useragent\",\"ace/lib/dom\",\"ace/lib/lang\"], function(acequire, exports, module) {\n\t\"use strict\";\n\t\n\tvar event = acequire(\"../lib/event\");\n\tvar useragent = acequire(\"../lib/useragent\");\n\tvar dom = acequire(\"../lib/dom\");\n\tvar lang = acequire(\"../lib/lang\");\n\tvar BROKEN_SETDATA = useragent.isChrome < 18;\n\tvar USE_IE_MIME_TYPE = useragent.isIE;\n\t\n\tvar TextInput = function(parentNode, host) {\n\t var text = dom.createElement(\"textarea\");\n\t text.className = \"ace_text-input\";\n\t\n\t if (useragent.isTouchPad)\n\t text.setAttribute(\"x-palm-disable-auto-cap\", true);\n\t\n\t text.setAttribute(\"wrap\", \"off\");\n\t text.setAttribute(\"autocorrect\", \"off\");\n\t text.setAttribute(\"autocapitalize\", \"off\");\n\t text.setAttribute(\"spellcheck\", false);\n\t\n\t text.style.opacity = \"0\";\n\t if (useragent.isOldIE) text.style.top = \"-1000px\";\n\t parentNode.insertBefore(text, parentNode.firstChild);\n\t\n\t var PLACEHOLDER = \"\\x01\\x01\";\n\t\n\t var copied = false;\n\t var pasted = false;\n\t var inComposition = false;\n\t var tempStyle = '';\n\t var isSelectionEmpty = true;\n\t try { var isFocused = document.activeElement === text; } catch(e) {}\n\t \n\t event.addListener(text, \"blur\", function(e) {\n\t host.onBlur(e);\n\t isFocused = false;\n\t });\n\t event.addListener(text, \"focus\", function(e) {\n\t isFocused = true;\n\t host.onFocus(e);\n\t resetSelection();\n\t });\n\t this.focus = function() {\n\t if (tempStyle) return text.focus();\n\t var top = text.style.top;\n\t text.style.position = \"fixed\";\n\t text.style.top = \"0px\";\n\t text.focus();\n\t setTimeout(function() {\n\t text.style.position = \"\";\n\t if (text.style.top == \"0px\")\n\t text.style.top = top;\n\t }, 0);\n\t };\n\t this.blur = function() {\n\t text.blur();\n\t };\n\t this.isFocused = function() {\n\t return isFocused;\n\t };\n\t var syncSelection = lang.delayedCall(function() {\n\t isFocused && resetSelection(isSelectionEmpty);\n\t });\n\t var syncValue = lang.delayedCall(function() {\n\t if (!inComposition) {\n\t text.value = PLACEHOLDER;\n\t isFocused && resetSelection();\n\t }\n\t });\n\t\n\t function resetSelection(isEmpty) {\n\t if (inComposition)\n\t return;\n\t inComposition = true;\n\t \n\t if (inputHandler) {\n\t selectionStart = 0;\n\t selectionEnd = isEmpty ? 0 : text.value.length - 1;\n\t } else {\n\t var selectionStart = isEmpty ? 2 : 1;\n\t var selectionEnd = 2;\n\t }\n\t try {\n\t text.setSelectionRange(selectionStart, selectionEnd);\n\t } catch(e){}\n\t \n\t inComposition = false;\n\t }\n\t\n\t function resetValue() {\n\t if (inComposition)\n\t return;\n\t text.value = PLACEHOLDER;\n\t if (useragent.isWebKit)\n\t syncValue.schedule();\n\t }\n\t\n\t useragent.isWebKit || host.addEventListener('changeSelection', function() {\n\t if (host.selection.isEmpty() != isSelectionEmpty) {\n\t isSelectionEmpty = !isSelectionEmpty;\n\t syncSelection.schedule();\n\t }\n\t });\n\t\n\t resetValue();\n\t if (isFocused)\n\t host.onFocus();\n\t\n\t\n\t var isAllSelected = function(text) {\n\t return text.selectionStart === 0 && text.selectionEnd === text.value.length;\n\t };\n\t if (!text.setSelectionRange && text.createTextRange) {\n\t text.setSelectionRange = function(selectionStart, selectionEnd) {\n\t var range = this.createTextRange();\n\t range.collapse(true);\n\t range.moveStart('character', selectionStart);\n\t range.moveEnd('character', selectionEnd);\n\t range.select();\n\t };\n\t isAllSelected = function(text) {\n\t try {\n\t var range = text.ownerDocument.selection.createRange();\n\t }catch(e) {}\n\t if (!range || range.parentElement() != text) return false;\n\t return range.text == text.value;\n\t }\n\t }\n\t if (useragent.isOldIE) {\n\t var inPropertyChange = false;\n\t var onPropertyChange = function(e){\n\t if (inPropertyChange)\n\t return;\n\t var data = text.value;\n\t if (inComposition || !data || data == PLACEHOLDER)\n\t return;\n\t if (e && data == PLACEHOLDER[0])\n\t return syncProperty.schedule();\n\t\n\t sendText(data);\n\t inPropertyChange = true;\n\t resetValue();\n\t inPropertyChange = false;\n\t };\n\t var syncProperty = lang.delayedCall(onPropertyChange);\n\t event.addListener(text, \"propertychange\", onPropertyChange);\n\t\n\t var keytable = { 13:1, 27:1 };\n\t event.addListener(text, \"keyup\", function (e) {\n\t if (inComposition && (!text.value || keytable[e.keyCode]))\n\t setTimeout(onCompositionEnd, 0);\n\t if ((text.value.charCodeAt(0)||0) < 129) {\n\t return syncProperty.call();\n\t }\n\t inComposition ? onCompositionUpdate() : onCompositionStart();\n\t });\n\t event.addListener(text, \"keydown\", function (e) {\n\t syncProperty.schedule(50);\n\t });\n\t }\n\t\n\t var onSelect = function(e) {\n\t if (copied) {\n\t copied = false;\n\t } else if (isAllSelected(text)) {\n\t host.selectAll();\n\t resetSelection();\n\t } else if (inputHandler) {\n\t resetSelection(host.selection.isEmpty());\n\t }\n\t };\n\t\n\t var inputHandler = null;\n\t this.setInputHandler = function(cb) {inputHandler = cb};\n\t this.getInputHandler = function() {return inputHandler};\n\t var afterContextMenu = false;\n\t \n\t var sendText = function(data) {\n\t if (inputHandler) {\n\t data = inputHandler(data);\n\t inputHandler = null;\n\t }\n\t if (pasted) {\n\t resetSelection();\n\t if (data)\n\t host.onPaste(data);\n\t pasted = false;\n\t } else if (data == PLACEHOLDER.charAt(0)) {\n\t if (afterContextMenu)\n\t host.execCommand(\"del\", {source: \"ace\"});\n\t else // some versions of android do not fire keydown when pressing backspace\n\t host.execCommand(\"backspace\", {source: \"ace\"});\n\t } else {\n\t if (data.substring(0, 2) == PLACEHOLDER)\n\t data = data.substr(2);\n\t else if (data.charAt(0) == PLACEHOLDER.charAt(0))\n\t data = data.substr(1);\n\t else if (data.charAt(data.length - 1) == PLACEHOLDER.charAt(0))\n\t data = data.slice(0, -1);\n\t if (data.charAt(data.length - 1) == PLACEHOLDER.charAt(0))\n\t data = data.slice(0, -1);\n\t \n\t if (data)\n\t host.onTextInput(data);\n\t }\n\t if (afterContextMenu)\n\t afterContextMenu = false;\n\t };\n\t var onInput = function(e) {\n\t if (inComposition)\n\t return;\n\t var data = text.value;\n\t sendText(data);\n\t resetValue();\n\t };\n\t \n\t var handleClipboardData = function(e, data) {\n\t var clipboardData = e.clipboardData || window.clipboardData;\n\t if (!clipboardData || BROKEN_SETDATA)\n\t return;\n\t var mime = USE_IE_MIME_TYPE ? \"Text\" : \"text/plain\";\n\t if (data) {\n\t return clipboardData.setData(mime, data) !== false;\n\t } else {\n\t return clipboardData.getData(mime);\n\t }\n\t };\n\t\n\t var doCopy = function(e, isCut) {\n\t var data = host.getCopyText();\n\t if (!data)\n\t return event.preventDefault(e);\n\t\n\t if (handleClipboardData(e, data)) {\n\t isCut ? host.onCut() : host.onCopy();\n\t event.preventDefault(e);\n\t } else {\n\t copied = true;\n\t text.value = data;\n\t text.select();\n\t setTimeout(function(){\n\t copied = false;\n\t resetValue();\n\t resetSelection();\n\t isCut ? host.onCut() : host.onCopy();\n\t });\n\t }\n\t };\n\t \n\t var onCut = function(e) {\n\t doCopy(e, true);\n\t };\n\t \n\t var onCopy = function(e) {\n\t doCopy(e, false);\n\t };\n\t \n\t var onPaste = function(e) {\n\t var data = handleClipboardData(e);\n\t if (typeof data == \"string\") {\n\t if (data)\n\t host.onPaste(data, e);\n\t if (useragent.isIE)\n\t setTimeout(resetSelection);\n\t event.preventDefault(e);\n\t }\n\t else {\n\t text.value = \"\";\n\t pasted = true;\n\t }\n\t };\n\t\n\t event.addCommandKeyListener(text, host.onCommandKey.bind(host));\n\t\n\t event.addListener(text, \"select\", onSelect);\n\t\n\t event.addListener(text, \"input\", onInput);\n\t\n\t event.addListener(text, \"cut\", onCut);\n\t event.addListener(text, \"copy\", onCopy);\n\t event.addListener(text, \"paste\", onPaste);\n\t if (!('oncut' in text) || !('oncopy' in text) || !('onpaste' in text)){\n\t event.addListener(parentNode, \"keydown\", function(e) {\n\t if ((useragent.isMac && !e.metaKey) || !e.ctrlKey)\n\t return;\n\t\n\t switch (e.keyCode) {\n\t case 67:\n\t onCopy(e);\n\t break;\n\t case 86:\n\t onPaste(e);\n\t break;\n\t case 88:\n\t onCut(e);\n\t break;\n\t }\n\t });\n\t }\n\t var onCompositionStart = function(e) {\n\t if (inComposition || !host.onCompositionStart || host.$readOnly) \n\t return;\n\t inComposition = {};\n\t host.onCompositionStart();\n\t setTimeout(onCompositionUpdate, 0);\n\t host.on(\"mousedown\", onCompositionEnd);\n\t if (!host.selection.isEmpty()) {\n\t host.insert(\"\");\n\t host.session.markUndoGroup();\n\t host.selection.clearSelection();\n\t }\n\t host.session.markUndoGroup();\n\t };\n\t\n\t var onCompositionUpdate = function() {\n\t if (!inComposition || !host.onCompositionUpdate || host.$readOnly)\n\t return;\n\t var val = text.value.replace(/\\x01/g, \"\");\n\t if (inComposition.lastValue === val) return;\n\t \n\t host.onCompositionUpdate(val);\n\t if (inComposition.lastValue)\n\t host.undo();\n\t inComposition.lastValue = val;\n\t if (inComposition.lastValue) {\n\t var r = host.selection.getRange();\n\t host.insert(inComposition.lastValue);\n\t host.session.markUndoGroup();\n\t inComposition.range = host.selection.getRange();\n\t host.selection.setRange(r);\n\t host.selection.clearSelection();\n\t }\n\t };\n\t\n\t var onCompositionEnd = function(e) {\n\t if (!host.onCompositionEnd || host.$readOnly) return;\n\t var c = inComposition;\n\t inComposition = false;\n\t var timer = setTimeout(function() {\n\t timer = null;\n\t var str = text.value.replace(/\\x01/g, \"\");\n\t if (inComposition)\n\t return;\n\t else if (str == c.lastValue)\n\t resetValue();\n\t else if (!c.lastValue && str) {\n\t resetValue();\n\t sendText(str);\n\t }\n\t });\n\t inputHandler = function compositionInputHandler(str) {\n\t if (timer)\n\t clearTimeout(timer);\n\t str = str.replace(/\\x01/g, \"\");\n\t if (str == c.lastValue)\n\t return \"\";\n\t if (c.lastValue && timer)\n\t host.undo();\n\t return str;\n\t };\n\t host.onCompositionEnd();\n\t host.removeListener(\"mousedown\", onCompositionEnd);\n\t if (e.type == \"compositionend\" && c.range) {\n\t host.selection.setRange(c.range);\n\t }\n\t };\n\t \n\t \n\t\n\t var syncComposition = lang.delayedCall(onCompositionUpdate, 50);\n\t\n\t event.addListener(text, \"compositionstart\", onCompositionStart);\n\t if (useragent.isGecko) {\n\t event.addListener(text, \"text\", function(){syncComposition.schedule()});\n\t } else {\n\t event.addListener(text, \"keyup\", function(){syncComposition.schedule()});\n\t event.addListener(text, \"keydown\", function(){syncComposition.schedule()});\n\t }\n\t event.addListener(text, \"compositionend\", onCompositionEnd);\n\t\n\t this.getElement = function() {\n\t return text;\n\t };\n\t\n\t this.setReadOnly = function(readOnly) {\n\t text.readOnly = readOnly;\n\t };\n\t\n\t this.onContextMenu = function(e) {\n\t afterContextMenu = true;\n\t resetSelection(host.selection.isEmpty());\n\t host._emit(\"nativecontextmenu\", {target: host, domEvent: e});\n\t this.moveToMouse(e, true);\n\t };\n\t \n\t this.moveToMouse = function(e, bringToFront) {\n\t if (!bringToFront && useragent.isOldIE)\n\t return;\n\t if (!tempStyle)\n\t tempStyle = text.style.cssText;\n\t text.style.cssText = (bringToFront ? \"z-index:100000;\" : \"\")\n\t + \"height:\" + text.style.height + \";\"\n\t + (useragent.isIE ? \"opacity:0.1;\" : \"\");\n\t\n\t var rect = host.container.getBoundingClientRect();\n\t var style = dom.computedStyle(host.container);\n\t var top = rect.top + (parseInt(style.borderTopWidth) || 0);\n\t var left = rect.left + (parseInt(rect.borderLeftWidth) || 0);\n\t var maxTop = rect.bottom - top - text.clientHeight -2;\n\t var move = function(e) {\n\t text.style.left = e.clientX - left - 2 + \"px\";\n\t text.style.top = Math.min(e.clientY - top - 2, maxTop) + \"px\";\n\t }; \n\t move(e);\n\t\n\t if (e.type != \"mousedown\")\n\t return;\n\t\n\t if (host.renderer.$keepTextAreaAtCursor)\n\t host.renderer.$keepTextAreaAtCursor = null;\n\t\n\t clearTimeout(closeTimeout);\n\t if (useragent.isWin && !useragent.isOldIE)\n\t event.capture(host.container, move, onContextMenuClose);\n\t };\n\t\n\t this.onContextMenuClose = onContextMenuClose;\n\t var closeTimeout;\n\t function onContextMenuClose() {\n\t clearTimeout(closeTimeout);\n\t closeTimeout = setTimeout(function () {\n\t if (tempStyle) {\n\t text.style.cssText = tempStyle;\n\t tempStyle = '';\n\t }\n\t if (host.renderer.$keepTextAreaAtCursor == null) {\n\t host.renderer.$keepTextAreaAtCursor = true;\n\t host.renderer.$moveTextAreaToCursor();\n\t }\n\t }, useragent.isOldIE ? 200 : 0);\n\t }\n\t\n\t var onContextMenu = function(e) {\n\t host.textInput.onContextMenu(e);\n\t onContextMenuClose();\n\t };\n\t event.addListener(text, \"mouseup\", onContextMenu);\n\t event.addListener(text, \"mousedown\", function(e) {\n\t e.preventDefault();\n\t onContextMenuClose();\n\t });\n\t event.addListener(host.renderer.scroller, \"contextmenu\", onContextMenu);\n\t event.addListener(text, \"contextmenu\", onContextMenu);\n\t};\n\t\n\texports.TextInput = TextInput;\n\t});\n\t\n\tace.define(\"ace/mouse/default_handlers\",[\"require\",\"exports\",\"module\",\"ace/lib/dom\",\"ace/lib/event\",\"ace/lib/useragent\"], function(acequire, exports, module) {\n\t\"use strict\";\n\t\n\tvar dom = acequire(\"../lib/dom\");\n\tvar event = acequire(\"../lib/event\");\n\tvar useragent = acequire(\"../lib/useragent\");\n\t\n\tvar DRAG_OFFSET = 0; // pixels\n\t\n\tfunction DefaultHandlers(mouseHandler) {\n\t mouseHandler.$clickSelection = null;\n\t\n\t var editor = mouseHandler.editor;\n\t editor.setDefaultHandler(\"mousedown\", this.onMouseDown.bind(mouseHandler));\n\t editor.setDefaultHandler(\"dblclick\", this.onDoubleClick.bind(mouseHandler));\n\t editor.setDefaultHandler(\"tripleclick\", this.onTripleClick.bind(mouseHandler));\n\t editor.setDefaultHandler(\"quadclick\", this.onQuadClick.bind(mouseHandler));\n\t editor.setDefaultHandler(\"mousewheel\", this.onMouseWheel.bind(mouseHandler));\n\t editor.setDefaultHandler(\"touchmove\", this.onTouchMove.bind(mouseHandler));\n\t\n\t var exports = [\"select\", \"startSelect\", \"selectEnd\", \"selectAllEnd\", \"selectByWordsEnd\",\n\t \"selectByLinesEnd\", \"dragWait\", \"dragWaitEnd\", \"focusWait\"];\n\t\n\t exports.forEach(function(x) {\n\t mouseHandler[x] = this[x];\n\t }, this);\n\t\n\t mouseHandler.selectByLines = this.extendSelectionBy.bind(mouseHandler, \"getLineRange\");\n\t mouseHandler.selectByWords = this.extendSelectionBy.bind(mouseHandler, \"getWordRange\");\n\t}\n\t\n\t(function() {\n\t\n\t this.onMouseDown = function(ev) {\n\t var inSelection = ev.inSelection();\n\t var pos = ev.getDocumentPosition();\n\t this.mousedownEvent = ev;\n\t var editor = this.editor;\n\t\n\t var button = ev.getButton();\n\t if (button !== 0) {\n\t var selectionRange = editor.getSelectionRange();\n\t var selectionEmpty = selectionRange.isEmpty();\n\t editor.$blockScrolling++;\n\t if (selectionEmpty || button == 1)\n\t editor.selection.moveToPosition(pos);\n\t editor.$blockScrolling--;\n\t if (button == 2)\n\t editor.textInput.onContextMenu(ev.domEvent);\n\t return; // stopping event here breaks contextmenu on ff mac\n\t }\n\t\n\t this.mousedownEvent.time = Date.now();\n\t if (inSelection && !editor.isFocused()) {\n\t editor.focus();\n\t if (this.$focusTimout && !this.$clickSelection && !editor.inMultiSelectMode) {\n\t this.setState(\"focusWait\");\n\t this.captureMouse(ev);\n\t return;\n\t }\n\t }\n\t\n\t this.captureMouse(ev);\n\t this.startSelect(pos, ev.domEvent._clicks > 1);\n\t return ev.preventDefault();\n\t };\n\t\n\t this.startSelect = function(pos, waitForClickSelection) {\n\t pos = pos || this.editor.renderer.screenToTextCoordinates(this.x, this.y);\n\t var editor = this.editor;\n\t editor.$blockScrolling++;\n\t if (this.mousedownEvent.getShiftKey())\n\t editor.selection.selectToPosition(pos);\n\t else if (!waitForClickSelection)\n\t editor.selection.moveToPosition(pos);\n\t if (!waitForClickSelection)\n\t this.select();\n\t if (editor.renderer.scroller.setCapture) {\n\t editor.renderer.scroller.setCapture();\n\t }\n\t editor.setStyle(\"ace_selecting\");\n\t this.setState(\"select\");\n\t editor.$blockScrolling--;\n\t };\n\t\n\t this.select = function() {\n\t var anchor, editor = this.editor;\n\t var cursor = editor.renderer.screenToTextCoordinates(this.x, this.y);\n\t editor.$blockScrolling++;\n\t if (this.$clickSelection) {\n\t var cmp = this.$clickSelection.comparePoint(cursor);\n\t\n\t if (cmp == -1) {\n\t anchor = this.$clickSelection.end;\n\t } else if (cmp == 1) {\n\t anchor = this.$clickSelection.start;\n\t } else {\n\t var orientedRange = calcRangeOrientation(this.$clickSelection, cursor);\n\t cursor = orientedRange.cursor;\n\t anchor = orientedRange.anchor;\n\t }\n\t editor.selection.setSelectionAnchor(anchor.row, anchor.column);\n\t }\n\t editor.selection.selectToPosition(cursor);\n\t editor.$blockScrolling--;\n\t editor.renderer.scrollCursorIntoView();\n\t };\n\t\n\t this.extendSelectionBy = function(unitName) {\n\t var anchor, editor = this.editor;\n\t var cursor = editor.renderer.screenToTextCoordinates(this.x, this.y);\n\t var range = editor.selection[unitName](cursor.row, cursor.column);\n\t editor.$blockScrolling++;\n\t if (this.$clickSelection) {\n\t var cmpStart = this.$clickSelection.comparePoint(range.start);\n\t var cmpEnd = this.$clickSelection.comparePoint(range.end);\n\t\n\t if (cmpStart == -1 && cmpEnd <= 0) {\n\t anchor = this.$clickSelection.end;\n\t if (range.end.row != cursor.row || range.end.column != cursor.column)\n\t cursor = range.start;\n\t } else if (cmpEnd == 1 && cmpStart >= 0) {\n\t anchor = this.$clickSelection.start;\n\t if (range.start.row != cursor.row || range.start.column != cursor.column)\n\t cursor = range.end;\n\t } else if (cmpStart == -1 && cmpEnd == 1) {\n\t cursor = range.end;\n\t anchor = range.start;\n\t } else {\n\t var orientedRange = calcRangeOrientation(this.$clickSelection, cursor);\n\t cursor = orientedRange.cursor;\n\t anchor = orientedRange.anchor;\n\t }\n\t editor.selection.setSelectionAnchor(anchor.row, anchor.column);\n\t }\n\t editor.selection.selectToPosition(cursor);\n\t editor.$blockScrolling--;\n\t editor.renderer.scrollCursorIntoView();\n\t };\n\t\n\t this.selectEnd =\n\t this.selectAllEnd =\n\t this.selectByWordsEnd =\n\t this.selectByLinesEnd = function() {\n\t this.$clickSelection = null;\n\t this.editor.unsetStyle(\"ace_selecting\");\n\t if (this.editor.renderer.scroller.releaseCapture) {\n\t this.editor.renderer.scroller.releaseCapture();\n\t }\n\t };\n\t\n\t this.focusWait = function() {\n\t var distance = calcDistance(this.mousedownEvent.x, this.mousedownEvent.y, this.x, this.y);\n\t var time = Date.now();\n\t\n\t if (distance > DRAG_OFFSET || time - this.mousedownEvent.time > this.$focusTimout)\n\t this.startSelect(this.mousedownEvent.getDocumentPosition());\n\t };\n\t\n\t this.onDoubleClick = function(ev) {\n\t var pos = ev.getDocumentPosition();\n\t var editor = this.editor;\n\t var session = editor.session;\n\t\n\t var range = session.getBracketRange(pos);\n\t if (range) {\n\t if (range.isEmpty()) {\n\t range.start.column--;\n\t range.end.column++;\n\t }\n\t this.setState(\"select\");\n\t } else {\n\t range = editor.selection.getWordRange(pos.row, pos.column);\n\t this.setState(\"selectByWords\");\n\t }\n\t this.$clickSelection = range;\n\t this.select();\n\t };\n\t\n\t this.onTripleClick = function(ev) {\n\t var pos = ev.getDocumentPosition();\n\t var editor = this.editor;\n\t\n\t this.setState(\"selectByLines\");\n\t var range = editor.getSelectionRange();\n\t if (range.isMultiLine() && range.contains(pos.row, pos.column)) {\n\t this.$clickSelection = editor.selection.getLineRange(range.start.row);\n\t this.$clickSelection.end = editor.selection.getLineRange(range.end.row).end;\n\t } else {\n\t this.$clickSelection = editor.selection.getLineRange(pos.row);\n\t }\n\t this.select();\n\t };\n\t\n\t this.onQuadClick = function(ev) {\n\t var editor = this.editor;\n\t\n\t editor.selectAll();\n\t this.$clickSelection = editor.getSelectionRange();\n\t this.setState(\"selectAll\");\n\t };\n\t\n\t this.onMouseWheel = function(ev) {\n\t if (ev.getAccelKey())\n\t return;\n\t if (ev.getShiftKey() && ev.wheelY && !ev.wheelX) {\n\t ev.wheelX = ev.wheelY;\n\t ev.wheelY = 0;\n\t }\n\t\n\t var t = ev.domEvent.timeStamp;\n\t var dt = t - (this.$lastScrollTime||0);\n\t \n\t var editor = this.editor;\n\t var isScrolable = editor.renderer.isScrollableBy(ev.wheelX * ev.speed, ev.wheelY * ev.speed);\n\t if (isScrolable || dt < 200) {\n\t this.$lastScrollTime = t;\n\t editor.renderer.scrollBy(ev.wheelX * ev.speed, ev.wheelY * ev.speed);\n\t return ev.stop();\n\t }\n\t };\n\t \n\t this.onTouchMove = function (ev) {\n\t var t = ev.domEvent.timeStamp;\n\t var dt = t - (this.$lastScrollTime || 0);\n\t\n\t var editor = this.editor;\n\t var isScrolable = editor.renderer.isScrollableBy(ev.wheelX * ev.speed, ev.wheelY * ev.speed);\n\t if (isScrolable || dt < 200) {\n\t this.$lastScrollTime = t;\n\t editor.renderer.scrollBy(ev.wheelX * ev.speed, ev.wheelY * ev.speed);\n\t return ev.stop();\n\t }\n\t };\n\t\n\t}).call(DefaultHandlers.prototype);\n\t\n\texports.DefaultHandlers = DefaultHandlers;\n\t\n\tfunction calcDistance(ax, ay, bx, by) {\n\t return Math.sqrt(Math.pow(bx - ax, 2) + Math.pow(by - ay, 2));\n\t}\n\t\n\tfunction calcRangeOrientation(range, cursor) {\n\t if (range.start.row == range.end.row)\n\t var cmp = 2 * cursor.column - range.start.column - range.end.column;\n\t else if (range.start.row == range.end.row - 1 && !range.start.column && !range.end.column)\n\t var cmp = cursor.column - 4;\n\t else\n\t var cmp = 2 * cursor.row - range.start.row - range.end.row;\n\t\n\t if (cmp < 0)\n\t return {cursor: range.start, anchor: range.end};\n\t else\n\t return {cursor: range.end, anchor: range.start};\n\t}\n\t\n\t});\n\t\n\tace.define(\"ace/tooltip\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/lib/dom\"], function(acequire, exports, module) {\n\t\"use strict\";\n\t\n\tvar oop = acequire(\"./lib/oop\");\n\tvar dom = acequire(\"./lib/dom\");\n\tfunction Tooltip (parentNode) {\n\t this.isOpen = false;\n\t this.$element = null;\n\t this.$parentNode = parentNode;\n\t}\n\t\n\t(function() {\n\t this.$init = function() {\n\t this.$element = dom.createElement(\"div\");\n\t this.$element.className = \"ace_tooltip\";\n\t this.$element.style.display = \"none\";\n\t this.$parentNode.appendChild(this.$element);\n\t return this.$element;\n\t };\n\t this.getElement = function() {\n\t return this.$element || this.$init();\n\t };\n\t this.setText = function(text) {\n\t dom.setInnerText(this.getElement(), text);\n\t };\n\t this.setHtml = function(html) {\n\t this.getElement().innerHTML = html;\n\t };\n\t this.setPosition = function(x, y) {\n\t this.getElement().style.left = x + \"px\";\n\t this.getElement().style.top = y + \"px\";\n\t };\n\t this.setClassName = function(className) {\n\t dom.addCssClass(this.getElement(), className);\n\t };\n\t this.show = function(text, x, y) {\n\t if (text != null)\n\t this.setText(text);\n\t if (x != null && y != null)\n\t this.setPosition(x, y);\n\t if (!this.isOpen) {\n\t this.getElement().style.display = \"block\";\n\t this.isOpen = true;\n\t }\n\t };\n\t\n\t this.hide = function() {\n\t if (this.isOpen) {\n\t this.getElement().style.display = \"none\";\n\t this.isOpen = false;\n\t }\n\t };\n\t this.getHeight = function() {\n\t return this.getElement().offsetHeight;\n\t };\n\t this.getWidth = function() {\n\t return this.getElement().offsetWidth;\n\t };\n\t\n\t}).call(Tooltip.prototype);\n\t\n\texports.Tooltip = Tooltip;\n\t});\n\t\n\tace.define(\"ace/mouse/default_gutter_handler\",[\"require\",\"exports\",\"module\",\"ace/lib/dom\",\"ace/lib/oop\",\"ace/lib/event\",\"ace/tooltip\"], function(acequire, exports, module) {\n\t\"use strict\";\n\tvar dom = acequire(\"../lib/dom\");\n\tvar oop = acequire(\"../lib/oop\");\n\tvar event = acequire(\"../lib/event\");\n\tvar Tooltip = acequire(\"../tooltip\").Tooltip;\n\t\n\tfunction GutterHandler(mouseHandler) {\n\t var editor = mouseHandler.editor;\n\t var gutter = editor.renderer.$gutterLayer;\n\t var tooltip = new GutterTooltip(editor.container);\n\t\n\t mouseHandler.editor.setDefaultHandler(\"guttermousedown\", function(e) {\n\t if (!editor.isFocused() || e.getButton() != 0)\n\t return;\n\t var gutterRegion = gutter.getRegion(e);\n\t\n\t if (gutterRegion == \"foldWidgets\")\n\t return;\n\t\n\t var row = e.getDocumentPosition().row;\n\t var selection = editor.session.selection;\n\t\n\t if (e.getShiftKey())\n\t selection.selectTo(row, 0);\n\t else {\n\t if (e.domEvent.detail == 2) {\n\t editor.selectAll();\n\t return e.preventDefault();\n\t }\n\t mouseHandler.$clickSelection = editor.selection.getLineRange(row);\n\t }\n\t mouseHandler.setState(\"selectByLines\");\n\t mouseHandler.captureMouse(e);\n\t return e.preventDefault();\n\t });\n\t\n\t\n\t var tooltipTimeout, mouseEvent, tooltipAnnotation;\n\t\n\t function showTooltip() {\n\t var row = mouseEvent.getDocumentPosition().row;\n\t var annotation = gutter.$annotations[row];\n\t if (!annotation)\n\t return hideTooltip();\n\t\n\t var maxRow = editor.session.getLength();\n\t if (row == maxRow) {\n\t var screenRow = editor.renderer.pixelToScreenCoordinates(0, mouseEvent.y).row;\n\t var pos = mouseEvent.$pos;\n\t if (screenRow > editor.session.documentToScreenRow(pos.row, pos.column))\n\t return hideTooltip();\n\t }\n\t\n\t if (tooltipAnnotation == annotation)\n\t return;\n\t tooltipAnnotation = annotation.text.join(\"<br/>\");\n\t\n\t tooltip.setHtml(tooltipAnnotation);\n\t tooltip.show();\n\t editor.on(\"mousewheel\", hideTooltip);\n\t\n\t if (mouseHandler.$tooltipFollowsMouse) {\n\t moveTooltip(mouseEvent);\n\t } else {\n\t var gutterElement = mouseEvent.domEvent.target;\n\t var rect = gutterElement.getBoundingClientRect();\n\t var style = tooltip.getElement().style;\n\t style.left = rect.right + \"px\";\n\t style.top = rect.bottom + \"px\";\n\t }\n\t }\n\t\n\t function hideTooltip() {\n\t if (tooltipTimeout)\n\t tooltipTimeout = clearTimeout(tooltipTimeout);\n\t if (tooltipAnnotation) {\n\t tooltip.hide();\n\t tooltipAnnotation = null;\n\t editor.removeEventListener(\"mousewheel\", hideTooltip);\n\t }\n\t }\n\t\n\t function moveTooltip(e) {\n\t tooltip.setPosition(e.x, e.y);\n\t }\n\t\n\t mouseHandler.editor.setDefaultHandler(\"guttermousemove\", function(e) {\n\t var target = e.domEvent.target || e.domEvent.srcElement;\n\t if (dom.hasCssClass(target, \"ace_fold-widget\"))\n\t return hideTooltip();\n\t\n\t if (tooltipAnnotation && mouseHandler.$tooltipFollowsMouse)\n\t moveTooltip(e);\n\t\n\t mouseEvent = e;\n\t if (tooltipTimeout)\n\t return;\n\t tooltipTimeout = setTimeout(function() {\n\t tooltipTimeout = null;\n\t if (mouseEvent && !mouseHandler.isMousePressed)\n\t showTooltip();\n\t else\n\t hideTooltip();\n\t }, 50);\n\t });\n\t\n\t event.addListener(editor.renderer.$gutter, \"mouseout\", function(e) {\n\t mouseEvent = null;\n\t if (!tooltipAnnotation || tooltipTimeout)\n\t return;\n\t\n\t tooltipTimeout = setTimeout(function() {\n\t tooltipTimeout = null;\n\t hideTooltip();\n\t }, 50);\n\t });\n\t \n\t editor.on(\"changeSession\", hideTooltip);\n\t}\n\t\n\tfunction GutterTooltip(parentNode) {\n\t Tooltip.call(this, parentNode);\n\t}\n\t\n\toop.inherits(GutterTooltip, Tooltip);\n\t\n\t(function(){\n\t this.setPosition = function(x, y) {\n\t var windowWidth = window.innerWidth || document.documentElement.clientWidth;\n\t var windowHeight = window.innerHeight || document.documentElement.clientHeight;\n\t var width = this.getWidth();\n\t var height = this.getHeight();\n\t x += 15;\n\t y += 15;\n\t if (x + width > windowWidth) {\n\t x -= (x + width) - windowWidth;\n\t }\n\t if (y + height > windowHeight) {\n\t y -= 20 + height;\n\t }\n\t Tooltip.prototype.setPosition.call(this, x, y);\n\t };\n\t\n\t}).call(GutterTooltip.prototype);\n\t\n\t\n\t\n\texports.GutterHandler = GutterHandler;\n\t\n\t});\n\t\n\tace.define(\"ace/mouse/mouse_event\",[\"require\",\"exports\",\"module\",\"ace/lib/event\",\"ace/lib/useragent\"], function(acequire, exports, module) {\n\t\"use strict\";\n\t\n\tvar event = acequire(\"../lib/event\");\n\tvar useragent = acequire(\"../lib/useragent\");\n\tvar MouseEvent = exports.MouseEvent = function(domEvent, editor) {\n\t this.domEvent = domEvent;\n\t this.editor = editor;\n\t \n\t this.x = this.clientX = domEvent.clientX;\n\t this.y = this.clientY = domEvent.clientY;\n\t\n\t this.$pos = null;\n\t this.$inSelection = null;\n\t \n\t this.propagationStopped = false;\n\t this.defaultPrevented = false;\n\t};\n\t\n\t(function() { \n\t \n\t this.stopPropagation = function() {\n\t event.stopPropagation(this.domEvent);\n\t this.propagationStopped = true;\n\t };\n\t \n\t this.preventDefault = function() {\n\t event.preventDefault(this.domEvent);\n\t this.defaultPrevented = true;\n\t };\n\t \n\t this.stop = function() {\n\t this.stopPropagation();\n\t this.preventDefault();\n\t };\n\t this.getDocumentPosition = function() {\n\t if (this.$pos)\n\t return this.$pos;\n\t \n\t this.$pos = this.editor.renderer.screenToTextCoordinates(this.clientX, this.clientY);\n\t return this.$pos;\n\t };\n\t this.inSelection = function() {\n\t if (this.$inSelection !== null)\n\t return this.$inSelection;\n\t \n\t var editor = this.editor;\n\t \n\t\n\t var selectionRange = editor.getSelectionRange();\n\t if (selectionRange.isEmpty())\n\t this.$inSelection = false;\n\t else {\n\t var pos = this.getDocumentPosition();\n\t this.$inSelection = selectionRange.contains(pos.row, pos.column);\n\t }\n\t\n\t return this.$inSelection;\n\t };\n\t this.getButton = function() {\n\t return event.getButton(this.domEvent);\n\t };\n\t this.getShiftKey = function() {\n\t return this.domEvent.shiftKey;\n\t };\n\t \n\t this.getAccelKey = useragent.isMac\n\t ? function() { return this.domEvent.metaKey; }\n\t : function() { return this.domEvent.ctrlKey; };\n\t \n\t}).call(MouseEvent.prototype);\n\t\n\t});\n\t\n\tace.define(\"ace/mouse/dragdrop_handler\",[\"require\",\"exports\",\"module\",\"ace/lib/dom\",\"ace/lib/event\",\"ace/lib/useragent\"], function(acequire, exports, module) {\n\t\"use strict\";\n\t\n\tvar dom = acequire(\"../lib/dom\");\n\tvar event = acequire(\"../lib/event\");\n\tvar useragent = acequire(\"../lib/useragent\");\n\t\n\tvar AUTOSCROLL_DELAY = 200;\n\tvar SCROLL_CURSOR_DELAY = 200;\n\tvar SCROLL_CURSOR_HYSTERESIS = 5;\n\t\n\tfunction DragdropHandler(mouseHandler) {\n\t\n\t var editor = mouseHandler.editor;\n\t\n\t var blankImage = dom.createElement(\"img\");\n\t blankImage.src = \"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\";\n\t if (useragent.isOpera)\n\t blankImage.style.cssText = \"width:1px;height:1px;position:fixed;top:0;left:0;z-index:2147483647;opacity:0;\";\n\t\n\t var exports = [\"dragWait\", \"dragWaitEnd\", \"startDrag\", \"dragReadyEnd\", \"onMouseDrag\"];\n\t\n\t exports.forEach(function(x) {\n\t mouseHandler[x] = this[x];\n\t }, this);\n\t editor.addEventListener(\"mousedown\", this.onMouseDown.bind(mouseHandler));\n\t\n\t\n\t var mouseTarget = editor.container;\n\t var dragSelectionMarker, x, y;\n\t var timerId, range;\n\t var dragCursor, counter = 0;\n\t var dragOperation;\n\t var isInternal;\n\t var autoScrollStartTime;\n\t var cursorMovedTime;\n\t var cursorPointOnCaretMoved;\n\t\n\t this.onDragStart = function(e) {\n\t if (this.cancelDrag || !mouseTarget.draggable) {\n\t var self = this;\n\t setTimeout(function(){\n\t self.startSelect();\n\t self.captureMouse(e);\n\t }, 0);\n\t return e.preventDefault();\n\t }\n\t range = editor.getSelectionRange();\n\t\n\t var dataTransfer = e.dataTransfer;\n\t dataTransfer.effectAllowed = editor.getReadOnly() ? \"copy\" : \"copyMove\";\n\t if (useragent.isOpera) {\n\t editor.container.appendChild(blankImage);\n\t blankImage.scrollTop = 0;\n\t }\n\t dataTransfer.setDragImage && dataTransfer.setDragImage(blankImage, 0, 0);\n\t if (useragent.isOpera) {\n\t editor.container.removeChild(blankImage);\n\t }\n\t dataTransfer.clearData();\n\t dataTransfer.setData(\"Text\", editor.session.getTextRange());\n\t\n\t isInternal = true;\n\t this.setState(\"drag\");\n\t };\n\t\n\t this.onDragEnd = function(e) {\n\t mouseTarget.draggable = false;\n\t isInternal = false;\n\t this.setState(null);\n\t if (!editor.getReadOnly()) {\n\t var dropEffect = e.dataTransfer.dropEffect;\n\t if (!dragOperation && dropEffect == \"move\")\n\t editor.session.remove(editor.getSelectionRange());\n\t editor.renderer.$cursorLayer.setBlinking(true);\n\t }\n\t this.editor.unsetStyle(\"ace_dragging\");\n\t this.editor.renderer.setCursorStyle(\"\");\n\t };\n\t\n\t this.onDragEnter = function(e) {\n\t if (editor.getReadOnly() || !canAccept(e.dataTransfer))\n\t return;\n\t x = e.clientX;\n\t y = e.clientY;\n\t if (!dragSelectionMarker)\n\t addDragMarker();\n\t counter++;\n\t e.dataTransfer.dropEffect = dragOperation = getDropEffect(e);\n\t return event.preventDefault(e);\n\t };\n\t\n\t this.onDragOver = function(e) {\n\t if (editor.getReadOnly() || !canAccept(e.dataTransfer))\n\t return;\n\t x = e.clientX;\n\t y = e.clientY;\n\t if (!dragSelectionMarker) {\n\t addDragMarker();\n\t counter++;\n\t }\n\t if (onMouseMoveTimer !== null)\n\t onMouseMoveTimer = null;\n\t\n\t e.dataTransfer.dropEffect = dragOperation = getDropEffect(e);\n\t return event.preventDefault(e);\n\t };\n\t\n\t this.onDragLeave = function(e) {\n\t counter--;\n\t if (counter <= 0 && dragSelectionMarker) {\n\t clearDragMarker();\n\t dragOperation = null;\n\t return event.preventDefault(e);\n\t }\n\t };\n\t\n\t this.onDrop = function(e) {\n\t if (!dragCursor)\n\t return;\n\t var dataTransfer = e.dataTransfer;\n\t if (isInternal) {\n\t switch (dragOperation) {\n\t case \"move\":\n\t if (range.contains(dragCursor.row, dragCursor.column)) {\n\t range = {\n\t start: dragCursor,\n\t end: dragCursor\n\t };\n\t } else {\n\t range = editor.moveText(range, dragCursor);\n\t }\n\t break;\n\t case \"copy\":\n\t range = editor.moveText(range, dragCursor, true);\n\t break;\n\t }\n\t } else {\n\t var dropData = dataTransfer.getData('Text');\n\t range = {\n\t start: dragCursor,\n\t end: editor.session.insert(dragCursor, dropData)\n\t };\n\t editor.focus();\n\t dragOperation = null;\n\t }\n\t clearDragMarker();\n\t return event.preventDefault(e);\n\t };\n\t\n\t event.addListener(mouseTarget, \"dragstart\", this.onDragStart.bind(mouseHandler));\n\t event.addListener(mouseTarget, \"dragend\", this.onDragEnd.bind(mouseHandler));\n\t event.addListener(mouseTarget, \"dragenter\", this.onDragEnter.bind(mouseHandler));\n\t event.addListener(mouseTarget, \"dragover\", this.onDragOver.bind(mouseHandler));\n\t event.addListener(mouseTarget, \"dragleave\", this.onDragLeave.bind(mouseHandler));\n\t event.addListener(mouseTarget, \"drop\", this.onDrop.bind(mouseHandler));\n\t\n\t function scrollCursorIntoView(cursor, prevCursor) {\n\t var now = Date.now();\n\t var vMovement = !prevCursor || cursor.row != prevCursor.row;\n\t var hMovement = !prevCursor || cursor.column != prevCursor.column;\n\t if (!cursorMovedTime || vMovement || hMovement) {\n\t editor.$blockScrolling += 1;\n\t editor.moveCursorToPosition(cursor);\n\t editor.$blockScrolling -= 1;\n\t cursorMovedTime = now;\n\t cursorPointOnCaretMoved = {x: x, y: y};\n\t } else {\n\t var distance = calcDistance(cursorPointOnCaretMoved.x, cursorPointOnCaretMoved.y, x, y);\n\t if (distance > SCROLL_CURSOR_HYSTERESIS) {\n\t cursorMovedTime = null;\n\t } else if (now - cursorMovedTime >= SCROLL_CURSOR_DELAY) {\n\t editor.renderer.scrollCursorIntoView();\n\t cursorMovedTime = null;\n\t }\n\t }\n\t }\n\t\n\t function autoScroll(cursor, prevCursor) {\n\t var now = Date.now();\n\t var lineHeight = editor.renderer.layerConfig.lineHeight;\n\t var characterWidth = editor.renderer.layerConfig.characterWidth;\n\t var editorRect = editor.renderer.scroller.getBoundingClientRect();\n\t var offsets = {\n\t x: {\n\t left: x - editorRect.left,\n\t right: editorRect.right - x\n\t },\n\t y: {\n\t top: y - editorRect.top,\n\t bottom: editorRect.bottom - y\n\t }\n\t };\n\t var nearestXOffset = Math.min(offsets.x.left, offsets.x.right);\n\t var nearestYOffset = Math.min(offsets.y.top, offsets.y.bottom);\n\t var scrollCursor = {row: cursor.row, column: cursor.column};\n\t if (nearestXOffset / characterWidth <= 2) {\n\t scrollCursor.column += (offsets.x.left < offsets.x.right ? -3 : +2);\n\t }\n\t if (nearestYOffset / lineHeight <= 1) {\n\t scrollCursor.row += (offsets.y.top < offsets.y.bottom ? -1 : +1);\n\t }\n\t var vScroll = cursor.row != scrollCursor.row;\n\t var hScroll = cursor.column != scrollCursor.column;\n\t var vMovement = !prevCursor || cursor.row != prevCursor.row;\n\t if (vScroll || (hScroll && !vMovement)) {\n\t if (!autoScrollStartTime)\n\t autoScrollStartTime = now;\n\t else if (now - autoScrollStartTime >= AUTOSCROLL_DELAY)\n\t editor.renderer.scrollCursorIntoView(scrollCursor);\n\t } else {\n\t autoScrollStartTime = null;\n\t }\n\t }\n\t\n\t function onDragInterval() {\n\t var prevCursor = dragCursor;\n\t dragCursor = editor.renderer.screenToTextCoordinates(x, y);\n\t scrollCursorIntoView(dragCursor, prevCursor);\n\t autoScroll(dragCursor, prevCursor);\n\t }\n\t\n\t function addDragMarker() {\n\t range = editor.selection.toOrientedRange();\n\t dragSelectionMarker = editor.session.addMarker(range, \"ace_selection\", editor.getSelectionStyle());\n\t editor.clearSelection();\n\t if (editor.isFocused())\n\t editor.renderer.$cursorLayer.setBlinking(false);\n\t clearInterval(timerId);\n\t onDragInterval();\n\t timerId = setInterval(onDragInterval, 20);\n\t counter = 0;\n\t event.addListener(document, \"mousemove\", onMouseMove);\n\t }\n\t\n\t function clearDragMarker() {\n\t clearInterval(timerId);\n\t editor.session.removeMarker(dragSelectionMarker);\n\t dragSelectionMarker = null;\n\t editor.$blockScrolling += 1;\n\t editor.selection.fromOrientedRange(range);\n\t editor.$blockScrolling -= 1;\n\t if (editor.isFocused() && !isInternal)\n\t editor.renderer.$cursorLayer.setBlinking(!editor.getReadOnly());\n\t range = null;\n\t dragCursor = null;\n\t counter = 0;\n\t autoScrollStartTime = null;\n\t cursorMovedTime = null;\n\t event.removeListener(document, \"mousemove\", onMouseMove);\n\t }\n\t var onMouseMoveTimer = null;\n\t function onMouseMove() {\n\t if (onMouseMoveTimer == null) {\n\t onMouseMoveTimer = setTimeout(function() {\n\t if (onMouseMoveTimer != null && dragSelectionMarker)\n\t clearDragMarker();\n\t }, 20);\n\t }\n\t }\n\t\n\t function canAccept(dataTransfer) {\n\t var types = dataTransfer.types;\n\t return !types || Array.prototype.some.call(types, function(type) {\n\t return type == 'text/plain' || type == 'Text';\n\t });\n\t }\n\t\n\t function getDropEffect(e) {\n\t var copyAllowed = ['copy', 'copymove', 'all', 'uninitialized'];\n\t var moveAllowed = ['move', 'copymove', 'linkmove', 'all', 'uninitialized'];\n\t\n\t var copyModifierState = useragent.isMac ? e.altKey : e.ctrlKey;\n\t var effectAllowed = \"uninitialized\";\n\t try {\n\t effectAllowed = e.dataTransfer.effectAllowed.toLowerCase();\n\t } catch (e) {}\n\t var dropEffect = \"none\";\n\t\n\t if (copyModifierState && copyAllowed.indexOf(effectAllowed) >= 0)\n\t dropEffect = \"copy\";\n\t else if (moveAllowed.indexOf(effectAllowed) >= 0)\n\t dropEffect = \"move\";\n\t else if (copyAllowed.indexOf(effectAllowed) >= 0)\n\t dropEffect = \"copy\";\n\t\n\t return dropEffect;\n\t }\n\t}\n\t\n\t(function() {\n\t\n\t this.dragWait = function() {\n\t var interval = Date.now() - this.mousedownEvent.time;\n\t if (interval > this.editor.getDragDelay())\n\t this.startDrag();\n\t };\n\t\n\t this.dragWaitEnd = function() {\n\t var target = this.editor.container;\n\t target.draggable = false;\n\t this.startSelect(this.mousedownEvent.getDocumentPosition());\n\t this.selectEnd();\n\t };\n\t\n\t this.dragReadyEnd = function(e) {\n\t this.editor.renderer.$cursorLayer.setBlinking(!this.editor.getReadOnly());\n\t this.editor.unsetStyle(\"ace_dragging\");\n\t this.editor.renderer.setCursorStyle(\"\");\n\t this.dragWaitEnd();\n\t };\n\t\n\t this.startDrag = function(){\n\t this.cancelDrag = false;\n\t var editor = this.editor;\n\t var target = editor.container;\n\t target.draggable = true;\n\t editor.renderer.$cursorLayer.setBlinking(false);\n\t editor.setStyle(\"ace_dragging\");\n\t var cursorStyle = useragent.isWin ? \"default\" : \"move\";\n\t editor.renderer.setCursorStyle(cursorStyle);\n\t this.setState(\"dragReady\");\n\t };\n\t\n\t this.onMouseDrag = function(e) {\n\t var target = this.editor.container;\n\t if (useragent.isIE && this.state == \"dragReady\") {\n\t var distance = calcDistance(this.mousedownEvent.x, this.mousedownEvent.y, this.x, this.y);\n\t if (distance > 3)\n\t target.dragDrop();\n\t }\n\t if (this.state === \"dragWait\") {\n\t var distance = calcDistance(this.mousedownEvent.x, this.mousedownEvent.y, this.x, this.y);\n\t if (distance > 0) {\n\t target.draggable = false;\n\t this.startSelect(this.mousedownEvent.getDocumentPosition());\n\t }\n\t }\n\t };\n\t\n\t this.onMouseDown = function(e) {\n\t if (!this.$dragEnabled)\n\t return;\n\t this.mousedownEvent = e;\n\t var editor = this.editor;\n\t\n\t var inSelection = e.inSelection();\n\t var button = e.getButton();\n\t var clickCount = e.domEvent.detail || 1;\n\t if (clickCount === 1 && button === 0 && inSelection) {\n\t if (e.editor.inMultiSelectMode && (e.getAccelKey() || e.getShiftKey()))\n\t return;\n\t this.mousedownEvent.time = Date.now();\n\t var eventTarget = e.domEvent.target || e.domEvent.srcElement;\n\t if (\"unselectable\" in eventTarget)\n\t eventTarget.unselectable = \"on\";\n\t if (editor.getDragDelay()) {\n\t if (useragent.isWebKit) {\n\t this.cancelDrag = true;\n\t var mouseTarget = editor.container;\n\t mouseTarget.draggable = true;\n\t }\n\t this.setState(\"dragWait\");\n\t } else {\n\t this.startDrag();\n\t }\n\t this.captureMouse(e, this.onMouseDrag.bind(this));\n\t e.defaultPrevented = true;\n\t }\n\t };\n\t\n\t}).call(DragdropHandler.prototype);\n\t\n\t\n\tfunction calcDistance(ax, ay, bx, by) {\n\t return Math.sqrt(Math.pow(bx - ax, 2) + Math.pow(by - ay, 2));\n\t}\n\t\n\texports.DragdropHandler = DragdropHandler;\n\t\n\t});\n\t\n\tace.define(\"ace/lib/net\",[\"require\",\"exports\",\"module\",\"ace/lib/dom\"], function(acequire, exports, module) {\n\t\"use strict\";\n\tvar dom = acequire(\"./dom\");\n\t\n\texports.get = function (url, callback) {\n\t var xhr = new XMLHttpRequest();\n\t xhr.open('GET', url, true);\n\t xhr.onreadystatechange = function () {\n\t if (xhr.readyState === 4) {\n\t callback(xhr.responseText);\n\t }\n\t };\n\t xhr.send(null);\n\t};\n\t\n\texports.loadScript = function(path, callback) {\n\t var head = dom.getDocumentHead();\n\t var s = document.createElement('script');\n\t\n\t s.src = path;\n\t head.appendChild(s);\n\t\n\t s.onload = s.onreadystatechange = function(_, isAbort) {\n\t if (isAbort || !s.readyState || s.readyState == \"loaded\" || s.readyState == \"complete\") {\n\t s = s.onload = s.onreadystatechange = null;\n\t if (!isAbort)\n\t callback();\n\t }\n\t };\n\t};\n\texports.qualifyURL = function(url) {\n\t var a = document.createElement('a');\n\t a.href = url;\n\t return a.href;\n\t}\n\t\n\t});\n\t\n\tace.define(\"ace/lib/event_emitter\",[\"require\",\"exports\",\"module\"], function(acequire, exports, module) {\n\t\"use strict\";\n\t\n\tvar EventEmitter = {};\n\tvar stopPropagation = function() { this.propagationStopped = true; };\n\tvar preventDefault = function() { this.defaultPrevented = true; };\n\t\n\tEventEmitter._emit =\n\tEventEmitter._dispatchEvent = function(eventName, e) {\n\t this._eventRegistry || (this._eventRegistry = {});\n\t this._defaultHandlers || (this._defaultHandlers = {});\n\t\n\t var listeners = this._eventRegistry[eventName] || [];\n\t var defaultHandler = this._defaultHandlers[eventName];\n\t if (!listeners.length && !defaultHandler)\n\t return;\n\t\n\t if (typeof e != \"object\" || !e)\n\t e = {};\n\t\n\t if (!e.type)\n\t e.type = eventName;\n\t if (!e.stopPropagation)\n\t e.stopPropagation = stopPropagation;\n\t if (!e.preventDefault)\n\t e.preventDefault = preventDefault;\n\t\n\t listeners = listeners.slice();\n\t for (var i=0; i<listeners.length; i++) {\n\t listeners[i](e, this);\n\t if (e.propagationStopped)\n\t break;\n\t }\n\t \n\t if (defaultHandler && !e.defaultPrevented)\n\t return defaultHandler(e, this);\n\t};\n\t\n\t\n\tEventEmitter._signal = function(eventName, e) {\n\t var listeners = (this._eventRegistry || {})[eventName];\n\t if (!listeners)\n\t return;\n\t listeners = listeners.slice();\n\t for (var i=0; i<listeners.length; i++)\n\t listeners[i](e, this);\n\t};\n\t\n\tEventEmitter.once = function(eventName, callback) {\n\t var _self = this;\n\t callback && this.addEventListener(eventName, function newCallback() {\n\t _self.removeEventListener(eventName, newCallback);\n\t callback.apply(null, arguments);\n\t });\n\t};\n\t\n\t\n\tEventEmitter.setDefaultHandler = function(eventName, callback) {\n\t var handlers = this._defaultHandlers\n\t if (!handlers)\n\t handlers = this._defaultHandlers = {_disabled_: {}};\n\t \n\t if (handlers[eventName]) {\n\t var old = handlers[eventName];\n\t var disabled = handlers._disabled_[eventName];\n\t if (!disabled)\n\t handlers._disabled_[eventName] = disabled = [];\n\t disabled.push(old);\n\t var i = disabled.indexOf(callback);\n\t if (i != -1) \n\t disabled.splice(i, 1);\n\t }\n\t handlers[eventName] = callback;\n\t};\n\tEventEmitter.removeDefaultHandler = function(eventName, callback) {\n\t var handlers = this._defaultHandlers\n\t if (!handlers)\n\t return;\n\t var disabled = handlers._disabled_[eventName];\n\t \n\t if (handlers[eventName] == callback) {\n\t var old = handlers[eventName];\n\t if (disabled)\n\t this.setDefaultHandler(eventName, disabled.pop());\n\t } else if (disabled) {\n\t var i = disabled.indexOf(callback);\n\t if (i != -1)\n\t disabled.splice(i, 1);\n\t }\n\t};\n\t\n\tEventEmitter.on =\n\tEventEmitter.addEventListener = function(eventName, callback, capturing) {\n\t this._eventRegistry = this._eventRegistry || {};\n\t\n\t var listeners = this._eventRegistry[eventName];\n\t if (!listeners)\n\t listeners = this._eventRegistry[eventName] = [];\n\t\n\t if (listeners.indexOf(callback) == -1)\n\t listeners[capturing ? \"unshift\" : \"push\"](callback);\n\t return callback;\n\t};\n\t\n\tEventEmitter.off =\n\tEventEmitter.removeListener =\n\tEventEmitter.removeEventListener = function(eventName, callback) {\n\t this._eventRegistry = this._eventRegistry || {};\n\t\n\t var listeners = this._eventRegistry[eventName];\n\t if (!listeners)\n\t return;\n\t\n\t var index = listeners.indexOf(callback);\n\t if (index !== -1)\n\t listeners.splice(index, 1);\n\t};\n\t\n\tEventEmitter.removeAllListeners = function(eventName) {\n\t if (this._eventRegistry) this._eventRegistry[eventName] = [];\n\t};\n\t\n\texports.EventEmitter = EventEmitter;\n\t\n\t});\n\t\n\tace.define(\"ace/lib/app_config\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/lib/event_emitter\"], function(acequire, exports, module) {\n\t\"no use strict\";\n\t\n\tvar oop = acequire(\"./oop\");\n\tvar EventEmitter = acequire(\"./event_emitter\").EventEmitter;\n\t\n\tvar optionsProvider = {\n\t setOptions: function(optList) {\n\t Object.keys(optList).forEach(function(key) {\n\t this.setOption(key, optList[key]);\n\t }, this);\n\t },\n\t getOptions: function(optionNames) {\n\t var result = {};\n\t if (!optionNames) {\n\t optionNames = Object.keys(this.$options);\n\t } else if (!Array.isArray(optionNames)) {\n\t result = optionNames;\n\t optionNames = Object.keys(result);\n\t }\n\t optionNames.forEach(function(key) {\n\t result[key] = this.getOption(key);\n\t }, this);\n\t return result;\n\t },\n\t setOption: function(name, value) {\n\t if (this[\"$\" + name] === value)\n\t return;\n\t var opt = this.$options[name];\n\t if (!opt) {\n\t return warn('misspelled option \"' + name + '\"');\n\t }\n\t if (opt.forwardTo)\n\t return this[opt.forwardTo] && this[opt.forwardTo].setOption(name, value);\n\t\n\t if (!opt.handlesSet)\n\t this[\"$\" + name] = value;\n\t if (opt && opt.set)\n\t opt.set.call(this, value);\n\t },\n\t getOption: function(name) {\n\t var opt = this.$options[name];\n\t if (!opt) {\n\t return warn('misspelled option \"' + name + '\"');\n\t }\n\t if (opt.forwardTo)\n\t return this[opt.forwardTo] && this[opt.forwardTo].getOption(name);\n\t return opt && opt.get ? opt.get.call(this) : this[\"$\" + name];\n\t }\n\t};\n\t\n\tfunction warn(message) {\n\t if (typeof console != \"undefined\" && console.warn)\n\t console.warn.apply(console, arguments);\n\t}\n\t\n\tfunction reportError(msg, data) {\n\t var e = new Error(msg);\n\t e.data = data;\n\t if (typeof console == \"object\" && console.error)\n\t console.error(e);\n\t setTimeout(function() { throw e; });\n\t}\n\t\n\tvar AppConfig = function() {\n\t this.$defaultOptions = {};\n\t};\n\t\n\t(function() {\n\t oop.implement(this, EventEmitter);\n\t this.defineOptions = function(obj, path, options) {\n\t if (!obj.$options)\n\t this.$defaultOptions[path] = obj.$options = {};\n\t\n\t Object.keys(options).forEach(function(key) {\n\t var opt = options[key];\n\t if (typeof opt == \"string\")\n\t opt = {forwardTo: opt};\n\t\n\t opt.name || (opt.name = key);\n\t obj.$options[opt.name] = opt;\n\t if (\"initialValue\" in opt)\n\t obj[\"$\" + opt.name] = opt.initialValue;\n\t });\n\t oop.implement(obj, optionsProvider);\n\t\n\t return this;\n\t };\n\t\n\t this.resetOptions = function(obj) {\n\t Object.keys(obj.$options).forEach(function(key) {\n\t var opt = obj.$options[key];\n\t if (\"value\" in opt)\n\t obj.setOption(key, opt.value);\n\t });\n\t };\n\t\n\t this.setDefaultValue = function(path, name, value) {\n\t var opts = this.$defaultOptions[path] || (this.$defaultOptions[path] = {});\n\t if (opts[name]) {\n\t if (opts.forwardTo)\n\t this.setDefaultValue(opts.forwardTo, name, value);\n\t else\n\t opts[name].value = value;\n\t }\n\t };\n\t\n\t this.setDefaultValues = function(path, optionHash) {\n\t Object.keys(optionHash).forEach(function(key) {\n\t this.setDefaultValue(path, key, optionHash[key]);\n\t }, this);\n\t };\n\t \n\t this.warn = warn;\n\t this.reportError = reportError;\n\t \n\t}).call(AppConfig.prototype);\n\t\n\texports.AppConfig = AppConfig;\n\t\n\t});\n\t\n\tace.define(\"ace/config\",[\"require\",\"exports\",\"module\",\"ace/lib/lang\",\"ace/lib/oop\",\"ace/lib/net\",\"ace/lib/app_config\"], function(acequire, exports, module) {\n\t\"no use strict\";\n\t\n\tvar lang = acequire(\"./lib/lang\");\n\tvar oop = acequire(\"./lib/oop\");\n\tvar net = acequire(\"./lib/net\");\n\tvar AppConfig = acequire(\"./lib/app_config\").AppConfig;\n\t\n\tmodule.exports = exports = new AppConfig();\n\t\n\tvar global = (function() {\n\t return this || typeof window != \"undefined\" && window;\n\t})();\n\t\n\tvar options = {\n\t packaged: false,\n\t workerPath: null,\n\t modePath: null,\n\t themePath: null,\n\t basePath: \"\",\n\t suffix: \".js\",\n\t $moduleUrls: {}\n\t};\n\t\n\texports.get = function(key) {\n\t if (!options.hasOwnProperty(key))\n\t throw new Error(\"Unknown config key: \" + key);\n\t\n\t return options[key];\n\t};\n\t\n\texports.set = function(key, value) {\n\t if (!options.hasOwnProperty(key))\n\t throw new Error(\"Unknown config key: \" + key);\n\t\n\t options[key] = value;\n\t};\n\t\n\texports.all = function() {\n\t return lang.copyObject(options);\n\t};\n\texports.moduleUrl = function(name, component) {\n\t if (options.$moduleUrls[name])\n\t return options.$moduleUrls[name];\n\t\n\t var parts = name.split(\"/\");\n\t component = component || parts[parts.length - 2] || \"\";\n\t var sep = component == \"snippets\" ? \"/\" : \"-\";\n\t var base = parts[parts.length - 1];\n\t if (component == \"worker\" && sep == \"-\") {\n\t var re = new RegExp(\"^\" + component + \"[\\\\-_]|[\\\\-_]\" + component + \"$\", \"g\");\n\t base = base.replace(re, \"\");\n\t }\n\t\n\t if ((!base || base == component) && parts.length > 1)\n\t base = parts[parts.length - 2];\n\t var path = options[component + \"Path\"];\n\t if (path == null) {\n\t path = options.basePath;\n\t } else if (sep == \"/\") {\n\t component = sep = \"\";\n\t }\n\t if (path && path.slice(-1) != \"/\")\n\t path += \"/\";\n\t return path + component + sep + base + this.get(\"suffix\");\n\t};\n\t\n\texports.setModuleUrl = function(name, subst) {\n\t return options.$moduleUrls[name] = subst;\n\t};\n\t\n\texports.$loading = {};\n\texports.loadModule = function(moduleName, onLoad) {\n\t var module, moduleType;\n\t if (Array.isArray(moduleName)) {\n\t moduleType = moduleName[0];\n\t moduleName = moduleName[1];\n\t }\n\t\n\t try {\n\t module = acequire(moduleName);\n\t } catch (e) {}\n\t if (module && !exports.$loading[moduleName])\n\t return onLoad && onLoad(module);\n\t\n\t if (!exports.$loading[moduleName])\n\t exports.$loading[moduleName] = [];\n\t\n\t exports.$loading[moduleName].push(onLoad);\n\t\n\t if (exports.$loading[moduleName].length > 1)\n\t return;\n\t\n\t var afterLoad = function() {\n\t acequire([moduleName], function(module) {\n\t exports._emit(\"load.module\", {name: moduleName, module: module});\n\t var listeners = exports.$loading[moduleName];\n\t exports.$loading[moduleName] = null;\n\t listeners.forEach(function(onLoad) {\n\t onLoad && onLoad(module);\n\t });\n\t });\n\t };\n\t\n\t if (!exports.get(\"packaged\"))\n\t return afterLoad();\n\t net.loadScript(exports.moduleUrl(moduleName, moduleType), afterLoad);\n\t};\n\tinit(true);function init(packaged) {\n\t\n\t if (!global || !global.document)\n\t return;\n\t \n\t options.packaged = packaged || acequire.packaged || module.packaged || (global.define && __webpack_require__(671).packaged);\n\t\n\t var scriptOptions = {};\n\t var scriptUrl = \"\";\n\t var currentScript = (document.currentScript || document._currentScript ); // native or polyfill\n\t var currentDocument = currentScript && currentScript.ownerDocument || document;\n\t \n\t var scripts = currentDocument.getElementsByTagName(\"script\");\n\t for (var i=0; i<scripts.length; i++) {\n\t var script = scripts[i];\n\t\n\t var src = script.src || script.getAttribute(\"src\");\n\t if (!src)\n\t continue;\n\t\n\t var attributes = script.attributes;\n\t for (var j=0, l=attributes.length; j < l; j++) {\n\t var attr = attributes[j];\n\t if (attr.name.indexOf(\"data-ace-\") === 0) {\n\t scriptOptions[deHyphenate(attr.name.replace(/^data-ace-/, \"\"))] = attr.value;\n\t }\n\t }\n\t\n\t var m = src.match(/^(.*)\\/ace(\\-\\w+)?\\.js(\\?|$)/);\n\t if (m)\n\t scriptUrl = m[1];\n\t }\n\t\n\t if (scriptUrl) {\n\t scriptOptions.base = scriptOptions.base || scriptUrl;\n\t scriptOptions.packaged = true;\n\t }\n\t\n\t scriptOptions.basePath = scriptOptions.base;\n\t scriptOptions.workerPath = scriptOptions.workerPath || scriptOptions.base;\n\t scriptOptions.modePath = scriptOptions.modePath || scriptOptions.base;\n\t scriptOptions.themePath = scriptOptions.themePath || scriptOptions.base;\n\t delete scriptOptions.base;\n\t\n\t for (var key in scriptOptions)\n\t if (typeof scriptOptions[key] !== \"undefined\")\n\t exports.set(key, scriptOptions[key]);\n\t}\n\t\n\texports.init = init;\n\t\n\tfunction deHyphenate(str) {\n\t return str.replace(/-(.)/g, function(m, m1) { return m1.toUpperCase(); });\n\t}\n\t\n\t});\n\t\n\tace.define(\"ace/mouse/mouse_handler\",[\"require\",\"exports\",\"module\",\"ace/lib/event\",\"ace/lib/useragent\",\"ace/mouse/default_handlers\",\"ace/mouse/default_gutter_handler\",\"ace/mouse/mouse_event\",\"ace/mouse/dragdrop_handler\",\"ace/config\"], function(acequire, exports, module) {\n\t\"use strict\";\n\t\n\tvar event = acequire(\"../lib/event\");\n\tvar useragent = acequire(\"../lib/useragent\");\n\tvar DefaultHandlers = acequire(\"./default_handlers\").DefaultHandlers;\n\tvar DefaultGutterHandler = acequire(\"./default_gutter_handler\").GutterHandler;\n\tvar MouseEvent = acequire(\"./mouse_event\").MouseEvent;\n\tvar DragdropHandler = acequire(\"./dragdrop_handler\").DragdropHandler;\n\tvar config = acequire(\"../config\");\n\t\n\tvar MouseHandler = function(editor) {\n\t var _self = this;\n\t this.editor = editor;\n\t\n\t new DefaultHandlers(this);\n\t new DefaultGutterHandler(this);\n\t new DragdropHandler(this);\n\t\n\t var focusEditor = function(e) {\n\t var windowBlurred = !document.hasFocus || !document.hasFocus()\n\t || !editor.isFocused() && document.activeElement == (editor.textInput && editor.textInput.getElement())\n\t if (windowBlurred)\n\t window.focus();\n\t editor.focus();\n\t };\n\t\n\t var mouseTarget = editor.renderer.getMouseEventTarget();\n\t event.addListener(mouseTarget, \"click\", this.onMouseEvent.bind(this, \"click\"));\n\t event.addListener(mouseTarget, \"mousemove\", this.onMouseMove.bind(this, \"mousemove\"));\n\t event.addMultiMouseDownListener([\n\t mouseTarget,\n\t editor.renderer.scrollBarV && editor.renderer.scrollBarV.inner,\n\t editor.renderer.scrollBarH && editor.renderer.scrollBarH.inner,\n\t editor.textInput && editor.textInput.getElement()\n\t ].filter(Boolean), [400, 300, 250], this, \"onMouseEvent\");\n\t event.addMouseWheelListener(editor.container, this.onMouseWheel.bind(this, \"mousewheel\"));\n\t event.addTouchMoveListener(editor.container, this.onTouchMove.bind(this, \"touchmove\"));\n\t\n\t var gutterEl = editor.renderer.$gutter;\n\t event.addListener(gutterEl, \"mousedown\", this.onMouseEvent.bind(this, \"guttermousedown\"));\n\t event.addListener(gutterEl, \"click\", this.onMouseEvent.bind(this, \"gutterclick\"));\n\t event.addListener(gutterEl, \"dblclick\", this.onMouseEvent.bind(this, \"gutterdblclick\"));\n\t event.addListener(gutterEl, \"mousemove\", this.onMouseEvent.bind(this, \"guttermousemove\"));\n\t\n\t event.addListener(mouseTarget, \"mousedown\", focusEditor);\n\t event.addListener(gutterEl, \"mousedown\", focusEditor);\n\t if (useragent.isIE && editor.renderer.scrollBarV) {\n\t event.addListener(editor.renderer.scrollBarV.element, \"mousedown\", focusEditor);\n\t event.addListener(editor.renderer.scrollBarH.element, \"mousedown\", focusEditor);\n\t }\n\t\n\t editor.on(\"mousemove\", function(e){\n\t if (_self.state || _self.$dragDelay || !_self.$dragEnabled)\n\t return;\n\t\n\t var character = editor.renderer.screenToTextCoordinates(e.x, e.y);\n\t var range = editor.session.selection.getRange();\n\t var renderer = editor.renderer;\n\t\n\t if (!range.isEmpty() && range.insideStart(character.row, character.column)) {\n\t renderer.setCursorStyle(\"default\");\n\t } else {\n\t renderer.setCursorStyle(\"\");\n\t }\n\t });\n\t};\n\t\n\t(function() {\n\t this.onMouseEvent = function(name, e) {\n\t this.editor._emit(name, new MouseEvent(e, this.editor));\n\t };\n\t\n\t this.onMouseMove = function(name, e) {\n\t var listeners = this.editor._eventRegistry && this.editor._eventRegistry.mousemove;\n\t if (!listeners || !listeners.length)\n\t return;\n\t\n\t this.editor._emit(name, new MouseEvent(e, this.editor));\n\t };\n\t\n\t this.onMouseWheel = function(name, e) {\n\t var mouseEvent = new MouseEvent(e, this.editor);\n\t mouseEvent.speed = this.$scrollSpeed * 2;\n\t mouseEvent.wheelX = e.wheelX;\n\t mouseEvent.wheelY = e.wheelY;\n\t\n\t this.editor._emit(name, mouseEvent);\n\t };\n\t \n\t this.onTouchMove = function (name, e) {\n\t var mouseEvent = new MouseEvent(e, this.editor);\n\t mouseEvent.speed = 1;//this.$scrollSpeed * 2;\n\t mouseEvent.wheelX = e.wheelX;\n\t mouseEvent.wheelY = e.wheelY;\n\t this.editor._emit(name, mouseEvent);\n\t };\n\t\n\t this.setState = function(state) {\n\t this.state = state;\n\t };\n\t\n\t this.captureMouse = function(ev, mouseMoveHandler) {\n\t this.x = ev.x;\n\t this.y = ev.y;\n\t\n\t this.isMousePressed = true;\n\t var renderer = this.editor.renderer;\n\t if (renderer.$keepTextAreaAtCursor)\n\t renderer.$keepTextAreaAtCursor = null;\n\t\n\t var self = this;\n\t var onMouseMove = function(e) {\n\t if (!e) return;\n\t if (useragent.isWebKit && !e.which && self.releaseMouse)\n\t return self.releaseMouse();\n\t\n\t self.x = e.clientX;\n\t self.y = e.clientY;\n\t mouseMoveHandler && mouseMoveHandler(e);\n\t self.mouseEvent = new MouseEvent(e, self.editor);\n\t self.$mouseMoved = true;\n\t };\n\t\n\t var onCaptureEnd = function(e) {\n\t clearInterval(timerId);\n\t onCaptureInterval();\n\t self[self.state + \"End\"] && self[self.state + \"End\"](e);\n\t self.state = \"\";\n\t if (renderer.$keepTextAreaAtCursor == null) {\n\t renderer.$keepTextAreaAtCursor = true;\n\t renderer.$moveTextAreaToCursor();\n\t }\n\t self.isMousePressed = false;\n\t self.$onCaptureMouseMove = self.releaseMouse = null;\n\t e && self.onMouseEvent(\"mouseup\", e);\n\t };\n\t\n\t var onCaptureInterval = function() {\n\t self[self.state] && self[self.state]();\n\t self.$mouseMoved = false;\n\t };\n\t\n\t if (useragent.isOldIE && ev.domEvent.type == \"dblclick\") {\n\t return setTimeout(function() {onCaptureEnd(ev);});\n\t }\n\t\n\t self.$onCaptureMouseMove = onMouseMove;\n\t self.releaseMouse = event.capture(this.editor.container, onMouseMove, onCaptureEnd);\n\t var timerId = setInterval(onCaptureInterval, 20);\n\t };\n\t this.releaseMouse = null;\n\t this.cancelContextMenu = function() {\n\t var stop = function(e) {\n\t if (e && e.domEvent && e.domEvent.type != \"contextmenu\")\n\t return;\n\t this.editor.off(\"nativecontextmenu\", stop);\n\t if (e && e.domEvent)\n\t event.stopEvent(e.domEvent);\n\t }.bind(this);\n\t setTimeout(stop, 10);\n\t this.editor.on(\"nativecontextmenu\", stop);\n\t };\n\t}).call(MouseHandler.prototype);\n\t\n\tconfig.defineOptions(MouseHandler.prototype, \"mouseHandler\", {\n\t scrollSpeed: {initialValue: 2},\n\t dragDelay: {initialValue: (useragent.isMac ? 150 : 0)},\n\t dragEnabled: {initialValue: true},\n\t focusTimout: {initialValue: 0},\n\t tooltipFollowsMouse: {initialValue: true}\n\t});\n\t\n\t\n\texports.MouseHandler = MouseHandler;\n\t});\n\t\n\tace.define(\"ace/mouse/fold_handler\",[\"require\",\"exports\",\"module\"], function(acequire, exports, module) {\n\t\"use strict\";\n\t\n\tfunction FoldHandler(editor) {\n\t\n\t editor.on(\"click\", function(e) {\n\t var position = e.getDocumentPosition();\n\t var session = editor.session;\n\t var fold = session.getFoldAt(position.row, position.column, 1);\n\t if (fold) {\n\t if (e.getAccelKey())\n\t session.removeFold(fold);\n\t else\n\t session.expandFold(fold);\n\t\n\t e.stop();\n\t }\n\t });\n\t\n\t editor.on(\"gutterclick\", function(e) {\n\t var gutterRegion = editor.renderer.$gutterLayer.getRegion(e);\n\t\n\t if (gutterRegion == \"foldWidgets\") {\n\t var row = e.getDocumentPosition().row;\n\t var session = editor.session;\n\t if (session.foldWidgets && session.foldWidgets[row])\n\t editor.session.onFoldWidgetClick(row, e);\n\t if (!editor.isFocused())\n\t editor.focus();\n\t e.stop();\n\t }\n\t });\n\t\n\t editor.on(\"gutterdblclick\", function(e) {\n\t var gutterRegion = editor.renderer.$gutterLayer.getRegion(e);\n\t\n\t if (gutterRegion == \"foldWidgets\") {\n\t var row = e.getDocumentPosition().row;\n\t var session = editor.session;\n\t var data = session.getParentFoldRangeData(row, true);\n\t var range = data.range || data.firstRange;\n\t\n\t if (range) {\n\t row = range.start.row;\n\t var fold = session.getFoldAt(row, session.getLine(row).length, 1);\n\t\n\t if (fold) {\n\t session.removeFold(fold);\n\t } else {\n\t session.addFold(\"...\", range);\n\t editor.renderer.scrollCursorIntoView({row: range.start.row, column: 0});\n\t }\n\t }\n\t e.stop();\n\t }\n\t });\n\t}\n\t\n\texports.FoldHandler = FoldHandler;\n\t\n\t});\n\t\n\tace.define(\"ace/keyboard/keybinding\",[\"require\",\"exports\",\"module\",\"ace/lib/keys\",\"ace/lib/event\"], function(acequire, exports, module) {\n\t\"use strict\";\n\t\n\tvar keyUtil = acequire(\"../lib/keys\");\n\tvar event = acequire(\"../lib/event\");\n\t\n\tvar KeyBinding = function(editor) {\n\t this.$editor = editor;\n\t this.$data = {editor: editor};\n\t this.$handlers = [];\n\t this.setDefaultHandler(editor.commands);\n\t};\n\t\n\t(function() {\n\t this.setDefaultHandler = function(kb) {\n\t this.removeKeyboardHandler(this.$defaultHandler);\n\t this.$defaultHandler = kb;\n\t this.addKeyboardHandler(kb, 0);\n\t };\n\t\n\t this.setKeyboardHandler = function(kb) {\n\t var h = this.$handlers;\n\t if (h[h.length - 1] == kb)\n\t return;\n\t\n\t while (h[h.length - 1] && h[h.length - 1] != this.$defaultHandler)\n\t this.removeKeyboardHandler(h[h.length - 1]);\n\t\n\t this.addKeyboardHandler(kb, 1);\n\t };\n\t\n\t this.addKeyboardHandler = function(kb, pos) {\n\t if (!kb)\n\t return;\n\t if (typeof kb == \"function\" && !kb.handleKeyboard)\n\t kb.handleKeyboard = kb;\n\t var i = this.$handlers.indexOf(kb);\n\t if (i != -1)\n\t this.$handlers.splice(i, 1);\n\t\n\t if (pos == undefined)\n\t this.$handlers.push(kb);\n\t else\n\t this.$handlers.splice(pos, 0, kb);\n\t\n\t if (i == -1 && kb.attach)\n\t kb.attach(this.$editor);\n\t };\n\t\n\t this.removeKeyboardHandler = function(kb) {\n\t var i = this.$handlers.indexOf(kb);\n\t if (i == -1)\n\t return false;\n\t this.$handlers.splice(i, 1);\n\t kb.detach && kb.detach(this.$editor);\n\t return true;\n\t };\n\t\n\t this.getKeyboardHandler = function() {\n\t return this.$handlers[this.$handlers.length - 1];\n\t };\n\t \n\t this.getStatusText = function() {\n\t var data = this.$data;\n\t var editor = data.editor;\n\t return this.$handlers.map(function(h) {\n\t return h.getStatusText && h.getStatusText(editor, data) || \"\";\n\t }).filter(Boolean).join(\" \");\n\t };\n\t\n\t this.$callKeyboardHandlers = function(hashId, keyString, keyCode, e) {\n\t var toExecute;\n\t var success = false;\n\t var commands = this.$editor.commands;\n\t\n\t for (var i = this.$handlers.length; i--;) {\n\t toExecute = this.$handlers[i].handleKeyboard(\n\t this.$data, hashId, keyString, keyCode, e\n\t );\n\t if (!toExecute || !toExecute.command)\n\t continue;\n\t if (toExecute.command == \"null\") {\n\t success = true;\n\t } else {\n\t success = commands.exec(toExecute.command, this.$editor, toExecute.args, e);\n\t }\n\t if (success && e && hashId != -1 && \n\t toExecute.passEvent != true && toExecute.command.passEvent != true\n\t ) {\n\t event.stopEvent(e);\n\t }\n\t if (success)\n\t break;\n\t }\n\t \n\t if (!success && hashId == -1) {\n\t toExecute = {command: \"insertstring\"};\n\t success = commands.exec(\"insertstring\", this.$editor, keyString);\n\t }\n\t \n\t if (success)\n\t this.$editor._signal(\"keyboardActivity\", toExecute);\n\t \n\t return success;\n\t };\n\t\n\t this.onCommandKey = function(e, hashId, keyCode) {\n\t var keyString = keyUtil.keyCodeToString(keyCode);\n\t this.$callKeyboardHandlers(hashId, keyString, keyCode, e);\n\t };\n\t\n\t this.onTextInput = function(text) {\n\t this.$callKeyboardHandlers(-1, text);\n\t };\n\t\n\t}).call(KeyBinding.prototype);\n\t\n\texports.KeyBinding = KeyBinding;\n\t});\n\t\n\tace.define(\"ace/range\",[\"require\",\"exports\",\"module\"], function(acequire, exports, module) {\n\t\"use strict\";\n\tvar comparePoints = function(p1, p2) {\n\t return p1.row - p2.row || p1.column - p2.column;\n\t};\n\tvar Range = function(startRow, startColumn, endRow, endColumn) {\n\t this.start = {\n\t row: startRow,\n\t column: startColumn\n\t };\n\t\n\t this.end = {\n\t row: endRow,\n\t column: endColumn\n\t };\n\t};\n\t\n\t(function() {\n\t this.isEqual = function(range) {\n\t return this.start.row === range.start.row &&\n\t this.end.row === range.end.row &&\n\t this.start.column === range.start.column &&\n\t this.end.column === range.end.column;\n\t };\n\t this.toString = function() {\n\t return (\"Range: [\" + this.start.row + \"/\" + this.start.column +\n\t \"] -> [\" + this.end.row + \"/\" + this.end.column + \"]\");\n\t };\n\t\n\t this.contains = function(row, column) {\n\t return this.compare(row, column) == 0;\n\t };\n\t this.compareRange = function(range) {\n\t var cmp,\n\t end = range.end,\n\t start = range.start;\n\t\n\t cmp = this.compare(end.row, end.column);\n\t if (cmp == 1) {\n\t cmp = this.compare(start.row, start.column);\n\t if (cmp == 1) {\n\t return 2;\n\t } else if (cmp == 0) {\n\t return 1;\n\t } else {\n\t return 0;\n\t }\n\t } else if (cmp == -1) {\n\t return -2;\n\t } else {\n\t cmp = this.compare(start.row, start.column);\n\t if (cmp == -1) {\n\t return -1;\n\t } else if (cmp == 1) {\n\t return 42;\n\t } else {\n\t return 0;\n\t }\n\t }\n\t };\n\t this.comparePoint = function(p) {\n\t return this.compare(p.row, p.column);\n\t };\n\t this.containsRange = function(range) {\n\t return this.comparePoint(range.start) == 0 && this.comparePoint(range.end) == 0;\n\t };\n\t this.intersects = function(range) {\n\t var cmp = this.compareRange(range);\n\t return (cmp == -1 || cmp == 0 || cmp == 1);\n\t };\n\t this.isEnd = function(row, column) {\n\t return this.end.row == row && this.end.column == column;\n\t };\n\t this.isStart = function(row, column) {\n\t return this.start.row == row && this.start.column == column;\n\t };\n\t this.setStart = function(row, column) {\n\t if (typeof row == \"object\") {\n\t this.start.column = row.column;\n\t this.start.row = row.row;\n\t } else {\n\t this.start.row = row;\n\t this.start.column = column;\n\t }\n\t };\n\t this.setEnd = function(row, column) {\n\t if (typeof row == \"object\") {\n\t this.end.column = row.column;\n\t this.end.row = row.row;\n\t } else {\n\t this.end.row = row;\n\t this.end.column = column;\n\t }\n\t };\n\t this.inside = function(row, column) {\n\t if (this.compare(row, column) == 0) {\n\t if (this.isEnd(row, column) || this.isStart(row, column)) {\n\t return false;\n\t } else {\n\t return true;\n\t }\n\t }\n\t return false;\n\t };\n\t this.insideStart = function(row, column) {\n\t if (this.compare(row, column) == 0) {\n\t if (this.isEnd(row, column)) {\n\t return false;\n\t } else {\n\t return true;\n\t }\n\t }\n\t return false;\n\t };\n\t this.insideEnd = function(row, column) {\n\t if (this.compare(row, column) == 0) {\n\t if (this.isStart(row, column)) {\n\t return false;\n\t } else {\n\t return true;\n\t }\n\t }\n\t return false;\n\t };\n\t this.compare = function(row, column) {\n\t if (!this.isMultiLine()) {\n\t if (row === this.start.row) {\n\t return column < this.start.column ? -1 : (column > this.end.column ? 1 : 0);\n\t }\n\t }\n\t\n\t if (row < this.start.row)\n\t return -1;\n\t\n\t if (row > this.end.row)\n\t return 1;\n\t\n\t if (this.start.row === row)\n\t return column >= this.start.column ? 0 : -1;\n\t\n\t if (this.end.row === row)\n\t return column <= this.end.column ? 0 : 1;\n\t\n\t return 0;\n\t };\n\t this.compareStart = function(row, column) {\n\t if (this.start.row == row && this.start.column == column) {\n\t return -1;\n\t } else {\n\t return this.compare(row, column);\n\t }\n\t };\n\t this.compareEnd = function(row, column) {\n\t if (this.end.row == row && this.end.column == column) {\n\t return 1;\n\t } else {\n\t return this.compare(row, column);\n\t }\n\t };\n\t this.compareInside = function(row, column) {\n\t if (this.end.row == row && this.end.column == column) {\n\t return 1;\n\t } else if (this.start.row == row && this.start.column == column) {\n\t return -1;\n\t } else {\n\t return this.compare(row, column);\n\t }\n\t };\n\t this.clipRows = function(firstRow, lastRow) {\n\t if (this.end.row > lastRow)\n\t var end = {row: lastRow + 1, column: 0};\n\t else if (this.end.row < firstRow)\n\t var end = {row: firstRow, column: 0};\n\t\n\t if (this.start.row > lastRow)\n\t var start = {row: lastRow + 1, column: 0};\n\t else if (this.start.row < firstRow)\n\t var start = {row: firstRow, column: 0};\n\t\n\t return Range.fromPoints(start || this.start, end || this.end);\n\t };\n\t this.extend = function(row, column) {\n\t var cmp = this.compare(row, column);\n\t\n\t if (cmp == 0)\n\t return this;\n\t else if (cmp == -1)\n\t var start = {row: row, column: column};\n\t else\n\t var end = {row: row, column: column};\n\t\n\t return Range.fromPoints(start || this.start, end || this.end);\n\t };\n\t\n\t this.isEmpty = function() {\n\t return (this.start.row === this.end.row && this.start.column === this.end.column);\n\t };\n\t this.isMultiLine = function() {\n\t return (this.start.row !== this.end.row);\n\t };\n\t this.clone = function() {\n\t return Range.fromPoints(this.start, this.end);\n\t };\n\t this.collapseRows = function() {\n\t if (this.end.column == 0)\n\t return new Range(this.start.row, 0, Math.max(this.start.row, this.end.row-1), 0)\n\t else\n\t return new Range(this.start.row, 0, this.end.row, 0)\n\t };\n\t this.toScreenRange = function(session) {\n\t var screenPosStart = session.documentToScreenPosition(this.start);\n\t var screenPosEnd = session.documentToScreenPosition(this.end);\n\t\n\t return new Range(\n\t screenPosStart.row, screenPosStart.column,\n\t screenPosEnd.row, screenPosEnd.column\n\t );\n\t };\n\t this.moveBy = function(row, column) {\n\t this.start.row += row;\n\t this.start.column += column;\n\t this.end.row += row;\n\t this.end.column += column;\n\t };\n\t\n\t}).call(Range.prototype);\n\tRange.fromPoints = function(start, end) {\n\t return new Range(start.row, start.column, end.row, end.column);\n\t};\n\tRange.comparePoints = comparePoints;\n\t\n\tRange.comparePoints = function(p1, p2) {\n\t return p1.row - p2.row || p1.column - p2.column;\n\t};\n\t\n\t\n\texports.Range = Range;\n\t});\n\t\n\tace.define(\"ace/selection\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/lib/lang\",\"ace/lib/event_emitter\",\"ace/range\"], function(acequire, exports, module) {\n\t\"use strict\";\n\t\n\tvar oop = acequire(\"./lib/oop\");\n\tvar lang = acequire(\"./lib/lang\");\n\tvar EventEmitter = acequire(\"./lib/event_emitter\").EventEmitter;\n\tvar Range = acequire(\"./range\").Range;\n\tvar Selection = function(session) {\n\t this.session = session;\n\t this.doc = session.getDocument();\n\t\n\t this.clearSelection();\n\t this.lead = this.selectionLead = this.doc.createAnchor(0, 0);\n\t this.anchor = this.selectionAnchor = this.doc.createAnchor(0, 0);\n\t\n\t var self = this;\n\t this.lead.on(\"change\", function(e) {\n\t self._emit(\"changeCursor\");\n\t if (!self.$isEmpty)\n\t self._emit(\"changeSelection\");\n\t if (!self.$keepDesiredColumnOnChange && e.old.column != e.value.column)\n\t self.$desiredColumn = null;\n\t });\n\t\n\t this.selectionAnchor.on(\"change\", function() {\n\t if (!self.$isEmpty)\n\t self._emit(\"changeSelection\");\n\t });\n\t};\n\t\n\t(function() {\n\t\n\t oop.implement(this, EventEmitter);\n\t this.isEmpty = function() {\n\t return (this.$isEmpty || (\n\t this.anchor.row == this.lead.row &&\n\t this.anchor.column == this.lead.column\n\t ));\n\t };\n\t this.isMultiLine = function() {\n\t if (this.isEmpty()) {\n\t return false;\n\t }\n\t\n\t return this.getRange().isMultiLine();\n\t };\n\t this.getCursor = function() {\n\t return this.lead.getPosition();\n\t };\n\t this.setSelectionAnchor = function(row, column) {\n\t this.anchor.setPosition(row, column);\n\t\n\t if (this.$isEmpty) {\n\t this.$isEmpty = false;\n\t this._emit(\"changeSelection\");\n\t }\n\t };\n\t this.getSelectionAnchor = function() {\n\t if (this.$isEmpty)\n\t return this.getSelectionLead();\n\t else\n\t return this.anchor.getPosition();\n\t };\n\t this.getSelectionLead = function() {\n\t return this.lead.getPosition();\n\t };\n\t this.shiftSelection = function(columns) {\n\t if (this.$isEmpty) {\n\t this.moveCursorTo(this.lead.row, this.lead.column + columns);\n\t return;\n\t }\n\t\n\t var anchor = this.getSelectionAnchor();\n\t var lead = this.getSelectionLead();\n\t\n\t var isBackwards = this.isBackwards();\n\t\n\t if (!isBackwards || anchor.column !== 0)\n\t this.setSelectionAnchor(anchor.row, anchor.column + columns);\n\t\n\t if (isBackwards || lead.column !== 0) {\n\t this.$moveSelection(function() {\n\t this.moveCursorTo(lead.row, lead.column + columns);\n\t });\n\t }\n\t };\n\t this.isBackwards = function() {\n\t var anchor = this.anchor;\n\t var lead = this.lead;\n\t return (anchor.row > lead.row || (anchor.row == lead.row && anchor.column > lead.column));\n\t };\n\t this.getRange = function() {\n\t var anchor = this.anchor;\n\t var lead = this.lead;\n\t\n\t if (this.isEmpty())\n\t return Range.fromPoints(lead, lead);\n\t\n\t if (this.isBackwards()) {\n\t return Range.fromPoints(lead, anchor);\n\t }\n\t else {\n\t return Range.fromPoints(anchor, lead);\n\t }\n\t };\n\t this.clearSelection = function() {\n\t if (!this.$isEmpty) {\n\t this.$isEmpty = true;\n\t this._emit(\"changeSelection\");\n\t }\n\t };\n\t this.selectAll = function() {\n\t var lastRow = this.doc.getLength() - 1;\n\t this.setSelectionAnchor(0, 0);\n\t this.moveCursorTo(lastRow, this.doc.getLine(lastRow).length);\n\t };\n\t this.setRange =\n\t this.setSelectionRange = function(range, reverse) {\n\t if (reverse) {\n\t this.setSelectionAnchor(range.end.row, range.end.column);\n\t this.selectTo(range.start.row, range.start.column);\n\t } else {\n\t this.setSelectionAnchor(range.start.row, range.start.column);\n\t this.selectTo(range.end.row, range.end.column);\n\t }\n\t if (this.getRange().isEmpty())\n\t this.$isEmpty = true;\n\t this.$desiredColumn = null;\n\t };\n\t\n\t this.$moveSelection = function(mover) {\n\t var lead = this.lead;\n\t if (this.$isEmpty)\n\t this.setSelectionAnchor(lead.row, lead.column);\n\t\n\t mover.call(this);\n\t };\n\t this.selectTo = function(row, column) {\n\t this.$moveSelection(function() {\n\t this.moveCursorTo(row, column);\n\t });\n\t };\n\t this.selectToPosition = function(pos) {\n\t this.$moveSelection(function() {\n\t this.moveCursorToPosition(pos);\n\t });\n\t };\n\t this.moveTo = function(row, column) {\n\t this.clearSelection();\n\t this.moveCursorTo(row, column);\n\t };\n\t this.moveToPosition = function(pos) {\n\t this.clearSelection();\n\t this.moveCursorToPosition(pos);\n\t };\n\t this.selectUp = function() {\n\t this.$moveSelection(this.moveCursorUp);\n\t };\n\t this.selectDown = function() {\n\t this.$moveSelection(this.moveCursorDown);\n\t };\n\t this.selectRight = function() {\n\t this.$moveSelection(this.moveCursorRight);\n\t };\n\t this.selectLeft = function() {\n\t this.$moveSelection(this.moveCursorLeft);\n\t };\n\t this.selectLineStart = function() {\n\t this.$moveSelection(this.moveCursorLineStart);\n\t };\n\t this.selectLineEnd = function() {\n\t this.$moveSelection(this.moveCursorLineEnd);\n\t };\n\t this.selectFileEnd = function() {\n\t this.$moveSelection(this.moveCursorFileEnd);\n\t };\n\t this.selectFileStart = function() {\n\t this.$moveSelection(this.moveCursorFileStart);\n\t };\n\t this.selectWordRight = function() {\n\t this.$moveSelection(this.moveCursorWordRight);\n\t };\n\t this.selectWordLeft = function() {\n\t this.$moveSelection(this.moveCursorWordLeft);\n\t };\n\t this.getWordRange = function(row, column) {\n\t if (typeof column == \"undefined\") {\n\t var cursor = row || this.lead;\n\t row = cursor.row;\n\t column = cursor.column;\n\t }\n\t return this.session.getWordRange(row, column);\n\t };\n\t this.selectWord = function() {\n\t this.setSelectionRange(this.getWordRange());\n\t };\n\t this.selectAWord = function() {\n\t var cursor = this.getCursor();\n\t var range = this.session.getAWordRange(cursor.row, cursor.column);\n\t this.setSelectionRange(range);\n\t };\n\t\n\t this.getLineRange = function(row, excludeLastChar) {\n\t var rowStart = typeof row == \"number\" ? row : this.lead.row;\n\t var rowEnd;\n\t\n\t var foldLine = this.session.getFoldLine(rowStart);\n\t if (foldLine) {\n\t rowStart = foldLine.start.row;\n\t rowEnd = foldLine.end.row;\n\t } else {\n\t rowEnd = rowStart;\n\t }\n\t if (excludeLastChar === true)\n\t return new Range(rowStart, 0, rowEnd, this.session.getLine(rowEnd).length);\n\t else\n\t return new Range(rowStart, 0, rowEnd + 1, 0);\n\t };\n\t this.selectLine = function() {\n\t this.setSelectionRange(this.getLineRange());\n\t };\n\t this.moveCursorUp = function() {\n\t this.moveCursorBy(-1, 0);\n\t };\n\t this.moveCursorDown = function() {\n\t this.moveCursorBy(1, 0);\n\t };\n\t this.moveCursorLeft = function() {\n\t var cursor = this.lead.getPosition(),\n\t fold;\n\t\n\t if (fold = this.session.getFoldAt(cursor.row, cursor.column, -1)) {\n\t this.moveCursorTo(fold.start.row, fold.start.column);\n\t } else if (cursor.column === 0) {\n\t if (cursor.row > 0) {\n\t this.moveCursorTo(cursor.row - 1, this.doc.getLine(cursor.row - 1).length);\n\t }\n\t }\n\t else {\n\t var tabSize = this.session.getTabSize();\n\t if (this.session.isTabStop(cursor) && this.doc.getLine(cursor.row).slice(cursor.column-tabSize, cursor.column).split(\" \").length-1 == tabSize)\n\t this.moveCursorBy(0, -tabSize);\n\t else\n\t this.moveCursorBy(0, -1);\n\t }\n\t };\n\t this.moveCursorRight = function() {\n\t var cursor = this.lead.getPosition(),\n\t fold;\n\t if (fold = this.session.getFoldAt(cursor.row, cursor.column, 1)) {\n\t this.moveCursorTo(fold.end.row, fold.end.column);\n\t }\n\t else if (this.lead.column == this.doc.getLine(this.lead.row).length) {\n\t if (this.lead.row < this.doc.getLength() - 1) {\n\t this.moveCursorTo(this.lead.row + 1, 0);\n\t }\n\t }\n\t else {\n\t var tabSize = this.session.getTabSize();\n\t var cursor = this.lead;\n\t if (this.session.isTabStop(cursor) && this.doc.getLine(cursor.row).slice(cursor.column, cursor.column+tabSize).split(\" \").length-1 == tabSize)\n\t this.moveCursorBy(0, tabSize);\n\t else\n\t this.moveCursorBy(0, 1);\n\t }\n\t };\n\t this.moveCursorLineStart = function() {\n\t var row = this.lead.row;\n\t var column = this.lead.column;\n\t var screenRow = this.session.documentToScreenRow(row, column);\n\t var firstColumnPosition = this.session.screenToDocumentPosition(screenRow, 0);\n\t var beforeCursor = this.session.getDisplayLine(\n\t row, null, firstColumnPosition.row,\n\t firstColumnPosition.column\n\t );\n\t\n\t var leadingSpace = beforeCursor.match(/^\\s*/);\n\t if (leadingSpace[0].length != column && !this.session.$useEmacsStyleLineStart)\n\t firstColumnPosition.column += leadingSpace[0].length;\n\t this.moveCursorToPosition(firstColumnPosition);\n\t };\n\t this.moveCursorLineEnd = function() {\n\t var lead = this.lead;\n\t var lineEnd = this.session.getDocumentLastRowColumnPosition(lead.row, lead.column);\n\t if (this.lead.column == lineEnd.column) {\n\t var line = this.session.getLine(lineEnd.row);\n\t if (lineEnd.column == line.length) {\n\t var textEnd = line.search(/\\s+$/);\n\t if (textEnd > 0)\n\t lineEnd.column = textEnd;\n\t }\n\t }\n\t\n\t this.moveCursorTo(lineEnd.row, lineEnd.column);\n\t };\n\t this.moveCursorFileEnd = function() {\n\t var row = this.doc.getLength() - 1;\n\t var column = this.doc.getLine(row).length;\n\t this.moveCursorTo(row, column);\n\t };\n\t this.moveCursorFileStart = function() {\n\t this.moveCursorTo(0, 0);\n\t };\n\t this.moveCursorLongWordRight = function() {\n\t var row = this.lead.row;\n\t var column = this.lead.column;\n\t var line = this.doc.getLine(row);\n\t var rightOfCursor = line.substring(column);\n\t\n\t var match;\n\t this.session.nonTokenRe.lastIndex = 0;\n\t this.session.tokenRe.lastIndex = 0;\n\t var fold = this.session.getFoldAt(row, column, 1);\n\t if (fold) {\n\t this.moveCursorTo(fold.end.row, fold.end.column);\n\t return;\n\t }\n\t if (match = this.session.nonTokenRe.exec(rightOfCursor)) {\n\t column += this.session.nonTokenRe.lastIndex;\n\t this.session.nonTokenRe.lastIndex = 0;\n\t rightOfCursor = line.substring(column);\n\t }\n\t if (column >= line.length) {\n\t this.moveCursorTo(row, line.length);\n\t this.moveCursorRight();\n\t if (row < this.doc.getLength() - 1)\n\t this.moveCursorWordRight();\n\t return;\n\t }\n\t if (match = this.session.tokenRe.exec(rightOfCursor)) {\n\t column += this.session.tokenRe.lastIndex;\n\t this.session.tokenRe.lastIndex = 0;\n\t }\n\t\n\t this.moveCursorTo(row, column);\n\t };\n\t this.moveCursorLongWordLeft = function() {\n\t var row = this.lead.row;\n\t var column = this.lead.column;\n\t var fold;\n\t if (fold = this.session.getFoldAt(row, column, -1)) {\n\t this.moveCursorTo(fold.start.row, fold.start.column);\n\t return;\n\t }\n\t\n\t var str = this.session.getFoldStringAt(row, column, -1);\n\t if (str == null) {\n\t str = this.doc.getLine(row).substring(0, column);\n\t }\n\t\n\t var leftOfCursor = lang.stringReverse(str);\n\t var match;\n\t this.session.nonTokenRe.lastIndex = 0;\n\t this.session.tokenRe.lastIndex = 0;\n\t if (match = this.session.nonTokenRe.exec(leftOfCursor)) {\n\t column -= this.session.nonTokenRe.lastIndex;\n\t leftOfCursor = leftOfCursor.slice(this.session.nonTokenRe.lastIndex);\n\t this.session.nonTokenRe.lastIndex = 0;\n\t }\n\t if (column <= 0) {\n\t this.moveCursorTo(row, 0);\n\t this.moveCursorLeft();\n\t if (row > 0)\n\t this.moveCursorWordLeft();\n\t return;\n\t }\n\t if (match = this.session.tokenRe.exec(leftOfCursor)) {\n\t column -= this.session.tokenRe.lastIndex;\n\t this.session.tokenRe.lastIndex = 0;\n\t }\n\t\n\t this.moveCursorTo(row, column);\n\t };\n\t\n\t this.$shortWordEndIndex = function(rightOfCursor) {\n\t var match, index = 0, ch;\n\t var whitespaceRe = /\\s/;\n\t var tokenRe = this.session.tokenRe;\n\t\n\t tokenRe.lastIndex = 0;\n\t if (match = this.session.tokenRe.exec(rightOfCursor)) {\n\t index = this.session.tokenRe.lastIndex;\n\t } else {\n\t while ((ch = rightOfCursor[index]) && whitespaceRe.test(ch))\n\t index ++;\n\t\n\t if (index < 1) {\n\t tokenRe.lastIndex = 0;\n\t while ((ch = rightOfCursor[index]) && !tokenRe.test(ch)) {\n\t tokenRe.lastIndex = 0;\n\t index ++;\n\t if (whitespaceRe.test(ch)) {\n\t if (index > 2) {\n\t index--;\n\t break;\n\t } else {\n\t while ((ch = rightOfCursor[index]) && whitespaceRe.test(ch))\n\t index ++;\n\t if (index > 2)\n\t break;\n\t }\n\t }\n\t }\n\t }\n\t }\n\t tokenRe.lastIndex = 0;\n\t\n\t return index;\n\t };\n\t\n\t this.moveCursorShortWordRight = function() {\n\t var row = this.lead.row;\n\t var column = this.lead.column;\n\t var line = this.doc.getLine(row);\n\t var rightOfCursor = line.substring(column);\n\t\n\t var fold = this.session.getFoldAt(row, column, 1);\n\t if (fold)\n\t return this.moveCursorTo(fold.end.row, fold.end.column);\n\t\n\t if (column == line.length) {\n\t var l = this.doc.getLength();\n\t do {\n\t row++;\n\t rightOfCursor = this.doc.getLine(row);\n\t } while (row < l && /^\\s*$/.test(rightOfCursor));\n\t\n\t if (!/^\\s+/.test(rightOfCursor))\n\t rightOfCursor = \"\";\n\t column = 0;\n\t }\n\t\n\t var index = this.$shortWordEndIndex(rightOfCursor);\n\t\n\t this.moveCursorTo(row, column + index);\n\t };\n\t\n\t this.moveCursorShortWordLeft = function() {\n\t var row = this.lead.row;\n\t var column = this.lead.column;\n\t\n\t var fold;\n\t if (fold = this.session.getFoldAt(row, column, -1))\n\t return this.moveCursorTo(fold.start.row, fold.start.column);\n\t\n\t var line = this.session.getLine(row).substring(0, column);\n\t if (column === 0) {\n\t do {\n\t row--;\n\t line = this.doc.getLine(row);\n\t } while (row > 0 && /^\\s*$/.test(line));\n\t\n\t column = line.length;\n\t if (!/\\s+$/.test(line))\n\t line = \"\";\n\t }\n\t\n\t var leftOfCursor = lang.stringReverse(line);\n\t var index = this.$shortWordEndIndex(leftOfCursor);\n\t\n\t return this.moveCursorTo(row, column - index);\n\t };\n\t\n\t this.moveCursorWordRight = function() {\n\t if (this.session.$selectLongWords)\n\t this.moveCursorLongWordRight();\n\t else\n\t this.moveCursorShortWordRight();\n\t };\n\t\n\t this.moveCursorWordLeft = function() {\n\t if (this.session.$selectLongWords)\n\t this.moveCursorLongWordLeft();\n\t else\n\t this.moveCursorShortWordLeft();\n\t };\n\t this.moveCursorBy = function(rows, chars) {\n\t var screenPos = this.session.documentToScreenPosition(\n\t this.lead.row,\n\t this.lead.column\n\t );\n\t\n\t if (chars === 0) {\n\t if (this.$desiredColumn)\n\t screenPos.column = this.$desiredColumn;\n\t else\n\t this.$desiredColumn = screenPos.column;\n\t }\n\t\n\t var docPos = this.session.screenToDocumentPosition(screenPos.row + rows, screenPos.column);\n\t \n\t if (rows !== 0 && chars === 0 && docPos.row === this.lead.row && docPos.column === this.lead.column) {\n\t if (this.session.lineWidgets && this.session.lineWidgets[docPos.row]) {\n\t if (docPos.row > 0 || rows > 0)\n\t docPos.row++;\n\t }\n\t }\n\t this.moveCursorTo(docPos.row, docPos.column + chars, chars === 0);\n\t };\n\t this.moveCursorToPosition = function(position) {\n\t this.moveCursorTo(position.row, position.column);\n\t };\n\t this.moveCursorTo = function(row, column, keepDesiredColumn) {\n\t var fold = this.session.getFoldAt(row, column, 1);\n\t if (fold) {\n\t row = fold.start.row;\n\t column = fold.start.column;\n\t }\n\t\n\t this.$keepDesiredColumnOnChange = true;\n\t this.lead.setPosition(row, column);\n\t this.$keepDesiredColumnOnChange = false;\n\t\n\t if (!keepDesiredColumn)\n\t this.$desiredColumn = null;\n\t };\n\t this.moveCursorToScreen = function(row, column, keepDesiredColumn) {\n\t var pos = this.session.screenToDocumentPosition(row, column);\n\t this.moveCursorTo(pos.row, pos.column, keepDesiredColumn);\n\t };\n\t this.detach = function() {\n\t this.lead.detach();\n\t this.anchor.detach();\n\t this.session = this.doc = null;\n\t };\n\t\n\t this.fromOrientedRange = function(range) {\n\t this.setSelectionRange(range, range.cursor == range.start);\n\t this.$desiredColumn = range.desiredColumn || this.$desiredColumn;\n\t };\n\t\n\t this.toOrientedRange = function(range) {\n\t var r = this.getRange();\n\t if (range) {\n\t range.start.column = r.start.column;\n\t range.start.row = r.start.row;\n\t range.end.column = r.end.column;\n\t range.end.row = r.end.row;\n\t } else {\n\t range = r;\n\t }\n\t\n\t range.cursor = this.isBackwards() ? range.start : range.end;\n\t range.desiredColumn = this.$desiredColumn;\n\t return range;\n\t };\n\t this.getRangeOfMovements = function(func) {\n\t var start = this.getCursor();\n\t try {\n\t func(this);\n\t var end = this.getCursor();\n\t return Range.fromPoints(start,end);\n\t } catch(e) {\n\t return Range.fromPoints(start,start);\n\t } finally {\n\t this.moveCursorToPosition(start);\n\t }\n\t };\n\t\n\t this.toJSON = function() {\n\t if (this.rangeCount) {\n\t var data = this.ranges.map(function(r) {\n\t var r1 = r.clone();\n\t r1.isBackwards = r.cursor == r.start;\n\t return r1;\n\t });\n\t } else {\n\t var data = this.getRange();\n\t data.isBackwards = this.isBackwards();\n\t }\n\t return data;\n\t };\n\t\n\t this.fromJSON = function(data) {\n\t if (data.start == undefined) {\n\t if (this.rangeList) {\n\t this.toSingleRange(data[0]);\n\t for (var i = data.length; i--; ) {\n\t var r = Range.fromPoints(data[i].start, data[i].end);\n\t if (data[i].isBackwards)\n\t r.cursor = r.start;\n\t this.addRange(r, true);\n\t }\n\t return;\n\t } else\n\t data = data[0];\n\t }\n\t if (this.rangeList)\n\t this.toSingleRange(data);\n\t this.setSelectionRange(data, data.isBackwards);\n\t };\n\t\n\t this.isEqual = function(data) {\n\t if ((data.length || this.rangeCount) && data.length != this.rangeCount)\n\t return false;\n\t if (!data.length || !this.ranges)\n\t return this.getRange().isEqual(data);\n\t\n\t for (var i = this.ranges.length; i--; ) {\n\t if (!this.ranges[i].isEqual(data[i]))\n\t return false;\n\t }\n\t return true;\n\t };\n\t\n\t}).call(Selection.prototype);\n\t\n\texports.Selection = Selection;\n\t});\n\t\n\tace.define(\"ace/tokenizer\",[\"require\",\"exports\",\"module\",\"ace/config\"], function(acequire, exports, module) {\n\t\"use strict\";\n\t\n\tvar config = acequire(\"./config\");\n\tvar MAX_TOKEN_COUNT = 2000;\n\tvar Tokenizer = function(rules) {\n\t this.states = rules;\n\t\n\t this.regExps = {};\n\t this.matchMappings = {};\n\t for (var key in this.states) {\n\t var state = this.states[key];\n\t var ruleRegExps = [];\n\t var matchTotal = 0;\n\t var mapping = this.matchMappings[key] = {defaultToken: \"text\"};\n\t var flag = \"g\";\n\t\n\t var splitterRurles = [];\n\t for (var i = 0; i < state.length; i++) {\n\t var rule = state[i];\n\t if (rule.defaultToken)\n\t mapping.defaultToken = rule.defaultToken;\n\t if (rule.caseInsensitive)\n\t flag = \"gi\";\n\t if (rule.regex == null)\n\t continue;\n\t\n\t if (rule.regex instanceof RegExp)\n\t rule.regex = rule.regex.toString().slice(1, -1);\n\t var adjustedregex = rule.regex;\n\t var matchcount = new RegExp(\"(?:(\" + adjustedregex + \")|(.))\").exec(\"a\").length - 2;\n\t if (Array.isArray(rule.token)) {\n\t if (rule.token.length == 1 || matchcount == 1) {\n\t rule.token = rule.token[0];\n\t } else if (matchcount - 1 != rule.token.length) {\n\t this.reportError(\"number of classes and regexp groups doesn't match\", { \n\t rule: rule,\n\t groupCount: matchcount - 1\n\t });\n\t rule.token = rule.token[0];\n\t } else {\n\t rule.tokenArray = rule.token;\n\t rule.token = null;\n\t rule.onMatch = this.$arrayTokens;\n\t }\n\t } else if (typeof rule.token == \"function\" && !rule.onMatch) {\n\t if (matchcount > 1)\n\t rule.onMatch = this.$applyToken;\n\t else\n\t rule.onMatch = rule.token;\n\t }\n\t\n\t if (matchcount > 1) {\n\t if (/\\\\\\d/.test(rule.regex)) {\n\t adjustedregex = rule.regex.replace(/\\\\([0-9]+)/g, function(match, digit) {\n\t return \"\\\\\" + (parseInt(digit, 10) + matchTotal + 1);\n\t });\n\t } else {\n\t matchcount = 1;\n\t adjustedregex = this.removeCapturingGroups(rule.regex);\n\t }\n\t if (!rule.splitRegex && typeof rule.token != \"string\")\n\t splitterRurles.push(rule); // flag will be known only at the very end\n\t }\n\t\n\t mapping[matchTotal] = i;\n\t matchTotal += matchcount;\n\t\n\t ruleRegExps.push(adjustedregex);\n\t if (!rule.onMatch)\n\t rule.onMatch = null;\n\t }\n\t \n\t if (!ruleRegExps.length) {\n\t mapping[0] = 0;\n\t ruleRegExps.push(\"$\");\n\t }\n\t \n\t splitterRurles.forEach(function(rule) {\n\t rule.splitRegex = this.createSplitterRegexp(rule.regex, flag);\n\t }, this);\n\t\n\t this.regExps[key] = new RegExp(\"(\" + ruleRegExps.join(\")|(\") + \")|($)\", flag);\n\t }\n\t};\n\t\n\t(function() {\n\t this.$setMaxTokenCount = function(m) {\n\t MAX_TOKEN_COUNT = m | 0;\n\t };\n\t \n\t this.$applyToken = function(str) {\n\t var values = this.splitRegex.exec(str).slice(1);\n\t var types = this.token.apply(this, values);\n\t if (typeof types === \"string\")\n\t return [{type: types, value: str}];\n\t\n\t var tokens = [];\n\t for (var i = 0, l = types.length; i < l; i++) {\n\t if (values[i])\n\t tokens[tokens.length] = {\n\t type: types[i],\n\t value: values[i]\n\t };\n\t }\n\t return tokens;\n\t };\n\t\n\t this.$arrayTokens = function(str) {\n\t if (!str)\n\t return [];\n\t var values = this.splitRegex.exec(str);\n\t if (!values)\n\t return \"text\";\n\t var tokens = [];\n\t var types = this.tokenArray;\n\t for (var i = 0, l = types.length; i < l; i++) {\n\t if (values[i + 1])\n\t tokens[tokens.length] = {\n\t type: types[i],\n\t value: values[i + 1]\n\t };\n\t }\n\t return tokens;\n\t };\n\t\n\t this.removeCapturingGroups = function(src) {\n\t var r = src.replace(\n\t /\\[(?:\\\\.|[^\\]])*?\\]|\\\\.|\\(\\?[:=!]|(\\()/g,\n\t function(x, y) {return y ? \"(?:\" : x;}\n\t );\n\t return r;\n\t };\n\t\n\t this.createSplitterRegexp = function(src, flag) {\n\t if (src.indexOf(\"(?=\") != -1) {\n\t var stack = 0;\n\t var inChClass = false;\n\t var lastCapture = {};\n\t src.replace(/(\\\\.)|(\\((?:\\?[=!])?)|(\\))|([\\[\\]])/g, function(\n\t m, esc, parenOpen, parenClose, square, index\n\t ) {\n\t if (inChClass) {\n\t inChClass = square != \"]\";\n\t } else if (square) {\n\t inChClass = true;\n\t } else if (parenClose) {\n\t if (stack == lastCapture.stack) {\n\t lastCapture.end = index+1;\n\t lastCapture.stack = -1;\n\t }\n\t stack--;\n\t } else if (parenOpen) {\n\t stack++;\n\t if (parenOpen.length != 1) {\n\t lastCapture.stack = stack\n\t lastCapture.start = index;\n\t }\n\t }\n\t return m;\n\t });\n\t\n\t if (lastCapture.end != null && /^\\)*$/.test(src.substr(lastCapture.end)))\n\t src = src.substring(0, lastCapture.start) + src.substr(lastCapture.end);\n\t }\n\t if (src.charAt(0) != \"^\") src = \"^\" + src;\n\t if (src.charAt(src.length - 1) != \"$\") src += \"$\";\n\t \n\t return new RegExp(src, (flag||\"\").replace(\"g\", \"\"));\n\t };\n\t this.getLineTokens = function(line, startState) {\n\t if (startState && typeof startState != \"string\") {\n\t var stack = startState.slice(0);\n\t startState = stack[0];\n\t if (startState === \"#tmp\") {\n\t stack.shift()\n\t startState = stack.shift()\n\t }\n\t } else\n\t var stack = [];\n\t\n\t var currentState = startState || \"start\";\n\t var state = this.states[currentState];\n\t if (!state) {\n\t currentState = \"start\";\n\t state = this.states[currentState];\n\t }\n\t var mapping = this.matchMappings[currentState];\n\t var re = this.regExps[currentState];\n\t re.lastIndex = 0;\n\t\n\t var match, tokens = [];\n\t var lastIndex = 0;\n\t var matchAttempts = 0;\n\t\n\t var token = {type: null, value: \"\"};\n\t\n\t while (match = re.exec(line)) {\n\t var type = mapping.defaultToken;\n\t var rule = null;\n\t var value = match[0];\n\t var index = re.lastIndex;\n\t\n\t if (index - value.length > lastIndex) {\n\t var skipped = line.substring(lastIndex, index - value.length);\n\t if (token.type == type) {\n\t token.value += skipped;\n\t } else {\n\t if (token.type)\n\t tokens.push(token);\n\t token = {type: type, value: skipped};\n\t }\n\t }\n\t\n\t for (var i = 0; i < match.length-2; i++) {\n\t if (match[i + 1] === undefined)\n\t continue;\n\t\n\t rule = state[mapping[i]];\n\t\n\t if (rule.onMatch)\n\t type = rule.onMatch(value, currentState, stack);\n\t else\n\t type = rule.token;\n\t\n\t if (rule.next) {\n\t if (typeof rule.next == \"string\") {\n\t currentState = rule.next;\n\t } else {\n\t currentState = rule.next(currentState, stack);\n\t }\n\t \n\t state = this.states[currentState];\n\t if (!state) {\n\t this.reportError(\"state doesn't exist\", currentState);\n\t currentState = \"start\";\n\t state = this.states[currentState];\n\t }\n\t mapping = this.matchMappings[currentState];\n\t lastIndex = index;\n\t re = this.regExps[currentState];\n\t re.lastIndex = index;\n\t }\n\t break;\n\t }\n\t\n\t if (value) {\n\t if (typeof type === \"string\") {\n\t if ((!rule || rule.merge !== false) && token.type === type) {\n\t token.value += value;\n\t } else {\n\t if (token.type)\n\t tokens.push(token);\n\t token = {type: type, value: value};\n\t }\n\t } else if (type) {\n\t if (token.type)\n\t tokens.push(token);\n\t token = {type: null, value: \"\"};\n\t for (var i = 0; i < type.length; i++)\n\t tokens.push(type[i]);\n\t }\n\t }\n\t\n\t if (lastIndex == line.length)\n\t break;\n\t\n\t lastIndex = index;\n\t\n\t if (matchAttempts++ > MAX_TOKEN_COUNT) {\n\t if (matchAttempts > 2 * line.length) {\n\t this.reportError(\"infinite loop with in ace tokenizer\", {\n\t startState: startState,\n\t line: line\n\t });\n\t }\n\t while (lastIndex < line.length) {\n\t if (token.type)\n\t tokens.push(token);\n\t token = {\n\t value: line.substring(lastIndex, lastIndex += 2000),\n\t type: \"overflow\"\n\t };\n\t }\n\t currentState = \"start\";\n\t stack = [];\n\t break;\n\t }\n\t }\n\t\n\t if (token.type)\n\t tokens.push(token);\n\t \n\t if (stack.length > 1) {\n\t if (stack[0] !== currentState)\n\t stack.unshift(\"#tmp\", currentState);\n\t }\n\t return {\n\t tokens : tokens,\n\t state : stack.length ? stack : currentState\n\t };\n\t };\n\t \n\t this.reportError = config.reportError;\n\t \n\t}).call(Tokenizer.prototype);\n\t\n\texports.Tokenizer = Tokenizer;\n\t});\n\t\n\tace.define(\"ace/mode/text_highlight_rules\",[\"require\",\"exports\",\"module\",\"ace/lib/lang\"], function(acequire, exports, module) {\n\t\"use strict\";\n\t\n\tvar lang = acequire(\"../lib/lang\");\n\t\n\tvar TextHighlightRules = function() {\n\t\n\t this.$rules = {\n\t \"start\" : [{\n\t token : \"empty_line\",\n\t regex : '^$'\n\t }, {\n\t defaultToken : \"text\"\n\t }]\n\t };\n\t};\n\t\n\t(function() {\n\t\n\t this.addRules = function(rules, prefix) {\n\t if (!prefix) {\n\t for (var key in rules)\n\t this.$rules[key] = rules[key];\n\t return;\n\t }\n\t for (var key in rules) {\n\t var state = rules[key];\n\t for (var i = 0; i < state.length; i++) {\n\t var rule = state[i];\n\t if (rule.next || rule.onMatch) {\n\t if (typeof rule.next == \"string\") {\n\t if (rule.next.indexOf(prefix) !== 0)\n\t rule.next = prefix + rule.next;\n\t }\n\t if (rule.nextState && rule.nextState.indexOf(prefix) !== 0)\n\t rule.nextState = prefix + rule.nextState;\n\t }\n\t }\n\t this.$rules[prefix + key] = state;\n\t }\n\t };\n\t\n\t this.getRules = function() {\n\t return this.$rules;\n\t };\n\t\n\t this.embedRules = function (HighlightRules, prefix, escapeRules, states, append) {\n\t var embedRules = typeof HighlightRules == \"function\"\n\t ? new HighlightRules().getRules()\n\t : HighlightRules;\n\t if (states) {\n\t for (var i = 0; i < states.length; i++)\n\t states[i] = prefix + states[i];\n\t } else {\n\t states = [];\n\t for (var key in embedRules)\n\t states.push(prefix + key);\n\t }\n\t\n\t this.addRules(embedRules, prefix);\n\t\n\t if (escapeRules) {\n\t var addRules = Array.prototype[append ? \"push\" : \"unshift\"];\n\t for (var i = 0; i < states.length; i++)\n\t addRules.apply(this.$rules[states[i]], lang.deepCopy(escapeRules));\n\t }\n\t\n\t if (!this.$embeds)\n\t this.$embeds = [];\n\t this.$embeds.push(prefix);\n\t };\n\t\n\t this.getEmbeds = function() {\n\t return this.$embeds;\n\t };\n\t\n\t var pushState = function(currentState, stack) {\n\t if (currentState != \"start\" || stack.length)\n\t stack.unshift(this.nextState, currentState);\n\t return this.nextState;\n\t };\n\t var popState = function(currentState, stack) {\n\t stack.shift();\n\t return stack.shift() || \"start\";\n\t };\n\t\n\t this.normalizeRules = function() {\n\t var id = 0;\n\t var rules = this.$rules;\n\t function processState(key) {\n\t var state = rules[key];\n\t state.processed = true;\n\t for (var i = 0; i < state.length; i++) {\n\t var rule = state[i];\n\t if (!rule.regex && rule.start) {\n\t rule.regex = rule.start;\n\t if (!rule.next)\n\t rule.next = [];\n\t rule.next.push({\n\t defaultToken: rule.token\n\t }, {\n\t token: rule.token + \".end\",\n\t regex: rule.end || rule.start,\n\t next: \"pop\"\n\t });\n\t rule.token = rule.token + \".start\";\n\t rule.push = true;\n\t }\n\t var next = rule.next || rule.push;\n\t if (next && Array.isArray(next)) {\n\t var stateName = rule.stateName;\n\t if (!stateName) {\n\t stateName = rule.token;\n\t if (typeof stateName != \"string\")\n\t stateName = stateName[0] || \"\";\n\t if (rules[stateName])\n\t stateName += id++;\n\t }\n\t rules[stateName] = next;\n\t rule.next = stateName;\n\t processState(stateName);\n\t } else if (next == \"pop\") {\n\t rule.next = popState;\n\t }\n\t\n\t if (rule.push) {\n\t rule.nextState = rule.next || rule.push;\n\t rule.next = pushState;\n\t delete rule.push;\n\t }\n\t\n\t if (rule.rules) {\n\t for (var r in rule.rules) {\n\t if (rules[r]) {\n\t if (rules[r].push)\n\t rules[r].push.apply(rules[r], rule.rules[r]);\n\t } else {\n\t rules[r] = rule.rules[r];\n\t }\n\t }\n\t }\n\t if (rule.include || typeof rule == \"string\") {\n\t var includeName = rule.include || rule;\n\t var toInsert = rules[includeName];\n\t } else if (Array.isArray(rule))\n\t toInsert = rule;\n\t\n\t if (toInsert) {\n\t var args = [i, 1].concat(toInsert);\n\t if (rule.noEscape)\n\t args = args.filter(function(x) {return !x.next;});\n\t state.splice.apply(state, args);\n\t i--;\n\t toInsert = null;\n\t }\n\t \n\t if (rule.keywordMap) {\n\t rule.token = this.createKeywordMapper(\n\t rule.keywordMap, rule.defaultToken || \"text\", rule.caseInsensitive\n\t );\n\t delete rule.defaultToken;\n\t }\n\t }\n\t }\n\t Object.keys(rules).forEach(processState, this);\n\t };\n\t\n\t this.createKeywordMapper = function(map, defaultToken, ignoreCase, splitChar) {\n\t var keywords = Object.create(null);\n\t Object.keys(map).forEach(function(className) {\n\t var a = map[className];\n\t if (ignoreCase)\n\t a = a.toLowerCase();\n\t var list = a.split(splitChar || \"|\");\n\t for (var i = list.length; i--; )\n\t keywords[list[i]] = className;\n\t });\n\t if (Object.getPrototypeOf(keywords)) {\n\t keywords.__proto__ = null;\n\t }\n\t this.$keywordList = Object.keys(keywords);\n\t map = null;\n\t return ignoreCase\n\t ? function(value) {return keywords[value.toLowerCase()] || defaultToken }\n\t : function(value) {return keywords[value] || defaultToken };\n\t };\n\t\n\t this.getKeywords = function() {\n\t return this.$keywords;\n\t };\n\t\n\t}).call(TextHighlightRules.prototype);\n\t\n\texports.TextHighlightRules = TextHighlightRules;\n\t});\n\t\n\tace.define(\"ace/mode/behaviour\",[\"require\",\"exports\",\"module\"], function(acequire, exports, module) {\n\t\"use strict\";\n\t\n\tvar Behaviour = function() {\n\t this.$behaviours = {};\n\t};\n\t\n\t(function () {\n\t\n\t this.add = function (name, action, callback) {\n\t switch (undefined) {\n\t case this.$behaviours:\n\t this.$behaviours = {};\n\t case this.$behaviours[name]:\n\t this.$behaviours[name] = {};\n\t }\n\t this.$behaviours[name][action] = callback;\n\t }\n\t \n\t this.addBehaviours = function (behaviours) {\n\t for (var key in behaviours) {\n\t for (var action in behaviours[key]) {\n\t this.add(key, action, behaviours[key][action]);\n\t }\n\t }\n\t }\n\t \n\t this.remove = function (name) {\n\t if (this.$behaviours && this.$behaviours[name]) {\n\t delete this.$behaviours[name];\n\t }\n\t }\n\t \n\t this.inherit = function (mode, filter) {\n\t if (typeof mode === \"function\") {\n\t var behaviours = new mode().getBehaviours(filter);\n\t } else {\n\t var behaviours = mode.getBehaviours(filter);\n\t }\n\t this.addBehaviours(behaviours);\n\t }\n\t \n\t this.getBehaviours = function (filter) {\n\t if (!filter) {\n\t return this.$behaviours;\n\t } else {\n\t var ret = {}\n\t for (var i = 0; i < filter.length; i++) {\n\t if (this.$behaviours[filter[i]]) {\n\t ret[filter[i]] = this.$behaviours[filter[i]];\n\t }\n\t }\n\t return ret;\n\t }\n\t }\n\t\n\t}).call(Behaviour.prototype);\n\t\n\texports.Behaviour = Behaviour;\n\t});\n\t\n\tace.define(\"ace/unicode\",[\"require\",\"exports\",\"module\"], function(acequire, exports, module) {\n\t\"use strict\";\n\texports.packages = {};\n\t\n\taddUnicodePackage({\n\t L: \"0041-005A0061-007A00AA00B500BA00C0-00D600D8-00F600F8-02C102C6-02D102E0-02E402EC02EE0370-037403760377037A-037D03860388-038A038C038E-03A103A3-03F503F7-0481048A-05250531-055605590561-058705D0-05EA05F0-05F20621-064A066E066F0671-06D306D506E506E606EE06EF06FA-06FC06FF07100712-072F074D-07A507B107CA-07EA07F407F507FA0800-0815081A082408280904-0939093D09500958-0961097109720979-097F0985-098C098F09900993-09A809AA-09B009B209B6-09B909BD09CE09DC09DD09DF-09E109F009F10A05-0A0A0A0F0A100A13-0A280A2A-0A300A320A330A350A360A380A390A59-0A5C0A5E0A72-0A740A85-0A8D0A8F-0A910A93-0AA80AAA-0AB00AB20AB30AB5-0AB90ABD0AD00AE00AE10B05-0B0C0B0F0B100B13-0B280B2A-0B300B320B330B35-0B390B3D0B5C0B5D0B5F-0B610B710B830B85-0B8A0B8E-0B900B92-0B950B990B9A0B9C0B9E0B9F0BA30BA40BA8-0BAA0BAE-0BB90BD00C05-0C0C0C0E-0C100C12-0C280C2A-0C330C35-0C390C3D0C580C590C600C610C85-0C8C0C8E-0C900C92-0CA80CAA-0CB30CB5-0CB90CBD0CDE0CE00CE10D05-0D0C0D0E-0D100D12-0D280D2A-0D390D3D0D600D610D7A-0D7F0D85-0D960D9A-0DB10DB3-0DBB0DBD0DC0-0DC60E01-0E300E320E330E40-0E460E810E820E840E870E880E8A0E8D0E94-0E970E99-0E9F0EA1-0EA30EA50EA70EAA0EAB0EAD-0EB00EB20EB30EBD0EC0-0EC40EC60EDC0EDD0F000F40-0F470F49-0F6C0F88-0F8B1000-102A103F1050-1055105A-105D106110651066106E-10701075-1081108E10A0-10C510D0-10FA10FC1100-1248124A-124D1250-12561258125A-125D1260-1288128A-128D1290-12B012B2-12B512B8-12BE12C012C2-12C512C8-12D612D8-13101312-13151318-135A1380-138F13A0-13F41401-166C166F-167F1681-169A16A0-16EA1700-170C170E-17111720-17311740-17511760-176C176E-17701780-17B317D717DC1820-18771880-18A818AA18B0-18F51900-191C1950-196D1970-19741980-19AB19C1-19C71A00-1A161A20-1A541AA71B05-1B331B45-1B4B1B83-1BA01BAE1BAF1C00-1C231C4D-1C4F1C5A-1C7D1CE9-1CEC1CEE-1CF11D00-1DBF1E00-1F151F18-1F1D1F20-1F451F48-1F4D1F50-1F571F591F5B1F5D1F5F-1F7D1F80-1FB41FB6-1FBC1FBE1FC2-1FC41FC6-1FCC1FD0-1FD31FD6-1FDB1FE0-1FEC1FF2-1FF41FF6-1FFC2071207F2090-209421022107210A-211321152119-211D212421262128212A-212D212F-2139213C-213F2145-2149214E218321842C00-2C2E2C30-2C5E2C60-2CE42CEB-2CEE2D00-2D252D30-2D652D6F2D80-2D962DA0-2DA62DA8-2DAE2DB0-2DB62DB8-2DBE2DC0-2DC62DC8-2DCE2DD0-2DD62DD8-2DDE2E2F300530063031-3035303B303C3041-3096309D-309F30A1-30FA30FC-30FF3105-312D3131-318E31A0-31B731F0-31FF3400-4DB54E00-9FCBA000-A48CA4D0-A4FDA500-A60CA610-A61FA62AA62BA640-A65FA662-A66EA67F-A697A6A0-A6E5A717-A71FA722-A788A78BA78CA7FB-A801A803-A805A807-A80AA80C-A822A840-A873A882-A8B3A8F2-A8F7A8FBA90A-A925A930-A946A960-A97CA984-A9B2A9CFAA00-AA28AA40-AA42AA44-AA4BAA60-AA76AA7AAA80-AAAFAAB1AAB5AAB6AAB9-AABDAAC0AAC2AADB-AADDABC0-ABE2AC00-D7A3D7B0-D7C6D7CB-D7FBF900-FA2DFA30-FA6DFA70-FAD9FB00-FB06FB13-FB17FB1DFB1F-FB28FB2A-FB36FB38-FB3CFB3EFB40FB41FB43FB44FB46-FBB1FBD3-FD3DFD50-FD8FFD92-FDC7FDF0-FDFBFE70-FE74FE76-FEFCFF21-FF3AFF41-FF5AFF66-FFBEFFC2-FFC7FFCA-FFCFFFD2-FFD7FFDA-FFDC\",\n\t Ll: \"0061-007A00AA00B500BA00DF-00F600F8-00FF01010103010501070109010B010D010F01110113011501170119011B011D011F01210123012501270129012B012D012F01310133013501370138013A013C013E014001420144014601480149014B014D014F01510153015501570159015B015D015F01610163016501670169016B016D016F0171017301750177017A017C017E-0180018301850188018C018D019201950199-019B019E01A101A301A501A801AA01AB01AD01B001B401B601B901BA01BD-01BF01C601C901CC01CE01D001D201D401D601D801DA01DC01DD01DF01E101E301E501E701E901EB01ED01EF01F001F301F501F901FB01FD01FF02010203020502070209020B020D020F02110213021502170219021B021D021F02210223022502270229022B022D022F02310233-0239023C023F0240024202470249024B024D024F-02930295-02AF037103730377037B-037D039003AC-03CE03D003D103D5-03D703D903DB03DD03DF03E103E303E503E703E903EB03ED03EF-03F303F503F803FB03FC0430-045F04610463046504670469046B046D046F04710473047504770479047B047D047F0481048B048D048F04910493049504970499049B049D049F04A104A304A504A704A904AB04AD04AF04B104B304B504B704B904BB04BD04BF04C204C404C604C804CA04CC04CE04CF04D104D304D504D704D904DB04DD04DF04E104E304E504E704E904EB04ED04EF04F104F304F504F704F904FB04FD04FF05010503050505070509050B050D050F05110513051505170519051B051D051F0521052305250561-05871D00-1D2B1D62-1D771D79-1D9A1E011E031E051E071E091E0B1E0D1E0F1E111E131E151E171E191E1B1E1D1E1F1E211E231E251E271E291E2B1E2D1E2F1E311E331E351E371E391E3B1E3D1E3F1E411E431E451E471E491E4B1E4D1E4F1E511E531E551E571E591E5B1E5D1E5F1E611E631E651E671E691E6B1E6D1E6F1E711E731E751E771E791E7B1E7D1E7F1E811E831E851E871E891E8B1E8D1E8F1E911E931E95-1E9D1E9F1EA11EA31EA51EA71EA91EAB1EAD1EAF1EB11EB31EB51EB71EB91EBB1EBD1EBF1EC11EC31EC51EC71EC91ECB1ECD1ECF1ED11ED31ED51ED71ED91EDB1EDD1EDF1EE11EE31EE51EE71EE91EEB1EED1EEF1EF11EF31EF51EF71EF91EFB1EFD1EFF-1F071F10-1F151F20-1F271F30-1F371F40-1F451F50-1F571F60-1F671F70-1F7D1F80-1F871F90-1F971FA0-1FA71FB0-1FB41FB61FB71FBE1FC2-1FC41FC61FC71FD0-1FD31FD61FD71FE0-1FE71FF2-1FF41FF61FF7210A210E210F2113212F21342139213C213D2146-2149214E21842C30-2C5E2C612C652C662C682C6A2C6C2C712C732C742C76-2C7C2C812C832C852C872C892C8B2C8D2C8F2C912C932C952C972C992C9B2C9D2C9F2CA12CA32CA52CA72CA92CAB2CAD2CAF2CB12CB32CB52CB72CB92CBB2CBD2CBF2CC12CC32CC52CC72CC92CCB2CCD2CCF2CD12CD32CD52CD72CD92CDB2CDD2CDF2CE12CE32CE42CEC2CEE2D00-2D25A641A643A645A647A649A64BA64DA64FA651A653A655A657A659A65BA65DA65FA663A665A667A669A66BA66DA681A683A685A687A689A68BA68DA68FA691A693A695A697A723A725A727A729A72BA72DA72F-A731A733A735A737A739A73BA73DA73FA741A743A745A747A749A74BA74DA74FA751A753A755A757A759A75BA75DA75FA761A763A765A767A769A76BA76DA76FA771-A778A77AA77CA77FA781A783A785A787A78CFB00-FB06FB13-FB17FF41-FF5A\",\n\t Lu: \"0041-005A00C0-00D600D8-00DE01000102010401060108010A010C010E01100112011401160118011A011C011E01200122012401260128012A012C012E01300132013401360139013B013D013F0141014301450147014A014C014E01500152015401560158015A015C015E01600162016401660168016A016C016E017001720174017601780179017B017D018101820184018601870189-018B018E-0191019301940196-0198019C019D019F01A001A201A401A601A701A901AC01AE01AF01B1-01B301B501B701B801BC01C401C701CA01CD01CF01D101D301D501D701D901DB01DE01E001E201E401E601E801EA01EC01EE01F101F401F6-01F801FA01FC01FE02000202020402060208020A020C020E02100212021402160218021A021C021E02200222022402260228022A022C022E02300232023A023B023D023E02410243-02460248024A024C024E03700372037603860388-038A038C038E038F0391-03A103A3-03AB03CF03D2-03D403D803DA03DC03DE03E003E203E403E603E803EA03EC03EE03F403F703F903FA03FD-042F04600462046404660468046A046C046E04700472047404760478047A047C047E0480048A048C048E04900492049404960498049A049C049E04A004A204A404A604A804AA04AC04AE04B004B204B404B604B804BA04BC04BE04C004C104C304C504C704C904CB04CD04D004D204D404D604D804DA04DC04DE04E004E204E404E604E804EA04EC04EE04F004F204F404F604F804FA04FC04FE05000502050405060508050A050C050E05100512051405160518051A051C051E0520052205240531-055610A0-10C51E001E021E041E061E081E0A1E0C1E0E1E101E121E141E161E181E1A1E1C1E1E1E201E221E241E261E281E2A1E2C1E2E1E301E321E341E361E381E3A1E3C1E3E1E401E421E441E461E481E4A1E4C1E4E1E501E521E541E561E581E5A1E5C1E5E1E601E621E641E661E681E6A1E6C1E6E1E701E721E741E761E781E7A1E7C1E7E1E801E821E841E861E881E8A1E8C1E8E1E901E921E941E9E1EA01EA21EA41EA61EA81EAA1EAC1EAE1EB01EB21EB41EB61EB81EBA1EBC1EBE1EC01EC21EC41EC61EC81ECA1ECC1ECE1ED01ED21ED41ED61ED81EDA1EDC1EDE1EE01EE21EE41EE61EE81EEA1EEC1EEE1EF01EF21EF41EF61EF81EFA1EFC1EFE1F08-1F0F1F18-1F1D1F28-1F2F1F38-1F3F1F48-1F4D1F591F5B1F5D1F5F1F68-1F6F1FB8-1FBB1FC8-1FCB1FD8-1FDB1FE8-1FEC1FF8-1FFB21022107210B-210D2110-211221152119-211D212421262128212A-212D2130-2133213E213F214521832C00-2C2E2C602C62-2C642C672C692C6B2C6D-2C702C722C752C7E-2C802C822C842C862C882C8A2C8C2C8E2C902C922C942C962C982C9A2C9C2C9E2CA02CA22CA42CA62CA82CAA2CAC2CAE2CB02CB22CB42CB62CB82CBA2CBC2CBE2CC02CC22CC42CC62CC82CCA2CCC2CCE2CD02CD22CD42CD62CD82CDA2CDC2CDE2CE02CE22CEB2CEDA640A642A644A646A648A64AA64CA64EA650A652A654A656A658A65AA65CA65EA662A664A666A668A66AA66CA680A682A684A686A688A68AA68CA68EA690A692A694A696A722A724A726A728A72AA72CA72EA732A734A736A738A73AA73CA73EA740A742A744A746A748A74AA74CA74EA750A752A754A756A758A75AA75CA75EA760A762A764A766A768A76AA76CA76EA779A77BA77DA77EA780A782A784A786A78BFF21-FF3A\",\n\t Lt: \"01C501C801CB01F21F88-1F8F1F98-1F9F1FA8-1FAF1FBC1FCC1FFC\",\n\t Lm: \"02B0-02C102C6-02D102E0-02E402EC02EE0374037A0559064006E506E607F407F507FA081A0824082809710E460EC610FC17D718431AA71C78-1C7D1D2C-1D611D781D9B-1DBF2071207F2090-20942C7D2D6F2E2F30053031-3035303B309D309E30FC-30FEA015A4F8-A4FDA60CA67FA717-A71FA770A788A9CFAA70AADDFF70FF9EFF9F\",\n\t Lo: \"01BB01C0-01C3029405D0-05EA05F0-05F20621-063F0641-064A066E066F0671-06D306D506EE06EF06FA-06FC06FF07100712-072F074D-07A507B107CA-07EA0800-08150904-0939093D09500958-096109720979-097F0985-098C098F09900993-09A809AA-09B009B209B6-09B909BD09CE09DC09DD09DF-09E109F009F10A05-0A0A0A0F0A100A13-0A280A2A-0A300A320A330A350A360A380A390A59-0A5C0A5E0A72-0A740A85-0A8D0A8F-0A910A93-0AA80AAA-0AB00AB20AB30AB5-0AB90ABD0AD00AE00AE10B05-0B0C0B0F0B100B13-0B280B2A-0B300B320B330B35-0B390B3D0B5C0B5D0B5F-0B610B710B830B85-0B8A0B8E-0B900B92-0B950B990B9A0B9C0B9E0B9F0BA30BA40BA8-0BAA0BAE-0BB90BD00C05-0C0C0C0E-0C100C12-0C280C2A-0C330C35-0C390C3D0C580C590C600C610C85-0C8C0C8E-0C900C92-0CA80CAA-0CB30CB5-0CB90CBD0CDE0CE00CE10D05-0D0C0D0E-0D100D12-0D280D2A-0D390D3D0D600D610D7A-0D7F0D85-0D960D9A-0DB10DB3-0DBB0DBD0DC0-0DC60E01-0E300E320E330E40-0E450E810E820E840E870E880E8A0E8D0E94-0E970E99-0E9F0EA1-0EA30EA50EA70EAA0EAB0EAD-0EB00EB20EB30EBD0EC0-0EC40EDC0EDD0F000F40-0F470F49-0F6C0F88-0F8B1000-102A103F1050-1055105A-105D106110651066106E-10701075-1081108E10D0-10FA1100-1248124A-124D1250-12561258125A-125D1260-1288128A-128D1290-12B012B2-12B512B8-12BE12C012C2-12C512C8-12D612D8-13101312-13151318-135A1380-138F13A0-13F41401-166C166F-167F1681-169A16A0-16EA1700-170C170E-17111720-17311740-17511760-176C176E-17701780-17B317DC1820-18421844-18771880-18A818AA18B0-18F51900-191C1950-196D1970-19741980-19AB19C1-19C71A00-1A161A20-1A541B05-1B331B45-1B4B1B83-1BA01BAE1BAF1C00-1C231C4D-1C4F1C5A-1C771CE9-1CEC1CEE-1CF12135-21382D30-2D652D80-2D962DA0-2DA62DA8-2DAE2DB0-2DB62DB8-2DBE2DC0-2DC62DC8-2DCE2DD0-2DD62DD8-2DDE3006303C3041-3096309F30A1-30FA30FF3105-312D3131-318E31A0-31B731F0-31FF3400-4DB54E00-9FCBA000-A014A016-A48CA4D0-A4F7A500-A60BA610-A61FA62AA62BA66EA6A0-A6E5A7FB-A801A803-A805A807-A80AA80C-A822A840-A873A882-A8B3A8F2-A8F7A8FBA90A-A925A930-A946A960-A97CA984-A9B2AA00-AA28AA40-AA42AA44-AA4BAA60-AA6FAA71-AA76AA7AAA80-AAAFAAB1AAB5AAB6AAB9-AABDAAC0AAC2AADBAADCABC0-ABE2AC00-D7A3D7B0-D7C6D7CB-D7FBF900-FA2DFA30-FA6DFA70-FAD9FB1DFB1F-FB28FB2A-FB36FB38-FB3CFB3EFB40FB41FB43FB44FB46-FBB1FBD3-FD3DFD50-FD8FFD92-FDC7FDF0-FDFBFE70-FE74FE76-FEFCFF66-FF6FFF71-FF9DFFA0-FFBEFFC2-FFC7FFCA-FFCFFFD2-FFD7FFDA-FFDC\",\n\t M: \"0300-036F0483-04890591-05BD05BF05C105C205C405C505C70610-061A064B-065E067006D6-06DC06DE-06E406E706E806EA-06ED07110730-074A07A6-07B007EB-07F30816-0819081B-08230825-08270829-082D0900-0903093C093E-094E0951-0955096209630981-098309BC09BE-09C409C709C809CB-09CD09D709E209E30A01-0A030A3C0A3E-0A420A470A480A4B-0A4D0A510A700A710A750A81-0A830ABC0ABE-0AC50AC7-0AC90ACB-0ACD0AE20AE30B01-0B030B3C0B3E-0B440B470B480B4B-0B4D0B560B570B620B630B820BBE-0BC20BC6-0BC80BCA-0BCD0BD70C01-0C030C3E-0C440C46-0C480C4A-0C4D0C550C560C620C630C820C830CBC0CBE-0CC40CC6-0CC80CCA-0CCD0CD50CD60CE20CE30D020D030D3E-0D440D46-0D480D4A-0D4D0D570D620D630D820D830DCA0DCF-0DD40DD60DD8-0DDF0DF20DF30E310E34-0E3A0E47-0E4E0EB10EB4-0EB90EBB0EBC0EC8-0ECD0F180F190F350F370F390F3E0F3F0F71-0F840F860F870F90-0F970F99-0FBC0FC6102B-103E1056-1059105E-10601062-10641067-106D1071-10741082-108D108F109A-109D135F1712-17141732-1734175217531772177317B6-17D317DD180B-180D18A91920-192B1930-193B19B0-19C019C819C91A17-1A1B1A55-1A5E1A60-1A7C1A7F1B00-1B041B34-1B441B6B-1B731B80-1B821BA1-1BAA1C24-1C371CD0-1CD21CD4-1CE81CED1CF21DC0-1DE61DFD-1DFF20D0-20F02CEF-2CF12DE0-2DFF302A-302F3099309AA66F-A672A67CA67DA6F0A6F1A802A806A80BA823-A827A880A881A8B4-A8C4A8E0-A8F1A926-A92DA947-A953A980-A983A9B3-A9C0AA29-AA36AA43AA4CAA4DAA7BAAB0AAB2-AAB4AAB7AAB8AABEAABFAAC1ABE3-ABEAABECABEDFB1EFE00-FE0FFE20-FE26\",\n\t Mn: \"0300-036F0483-04870591-05BD05BF05C105C205C405C505C70610-061A064B-065E067006D6-06DC06DF-06E406E706E806EA-06ED07110730-074A07A6-07B007EB-07F30816-0819081B-08230825-08270829-082D0900-0902093C0941-0948094D0951-095509620963098109BC09C1-09C409CD09E209E30A010A020A3C0A410A420A470A480A4B-0A4D0A510A700A710A750A810A820ABC0AC1-0AC50AC70AC80ACD0AE20AE30B010B3C0B3F0B41-0B440B4D0B560B620B630B820BC00BCD0C3E-0C400C46-0C480C4A-0C4D0C550C560C620C630CBC0CBF0CC60CCC0CCD0CE20CE30D41-0D440D4D0D620D630DCA0DD2-0DD40DD60E310E34-0E3A0E47-0E4E0EB10EB4-0EB90EBB0EBC0EC8-0ECD0F180F190F350F370F390F71-0F7E0F80-0F840F860F870F90-0F970F99-0FBC0FC6102D-10301032-10371039103A103D103E10581059105E-10601071-1074108210851086108D109D135F1712-17141732-1734175217531772177317B7-17BD17C617C9-17D317DD180B-180D18A91920-19221927192819321939-193B1A171A181A561A58-1A5E1A601A621A65-1A6C1A73-1A7C1A7F1B00-1B031B341B36-1B3A1B3C1B421B6B-1B731B801B811BA2-1BA51BA81BA91C2C-1C331C361C371CD0-1CD21CD4-1CE01CE2-1CE81CED1DC0-1DE61DFD-1DFF20D0-20DC20E120E5-20F02CEF-2CF12DE0-2DFF302A-302F3099309AA66FA67CA67DA6F0A6F1A802A806A80BA825A826A8C4A8E0-A8F1A926-A92DA947-A951A980-A982A9B3A9B6-A9B9A9BCAA29-AA2EAA31AA32AA35AA36AA43AA4CAAB0AAB2-AAB4AAB7AAB8AABEAABFAAC1ABE5ABE8ABEDFB1EFE00-FE0FFE20-FE26\",\n\t Mc: \"0903093E-09400949-094C094E0982098309BE-09C009C709C809CB09CC09D70A030A3E-0A400A830ABE-0AC00AC90ACB0ACC0B020B030B3E0B400B470B480B4B0B4C0B570BBE0BBF0BC10BC20BC6-0BC80BCA-0BCC0BD70C01-0C030C41-0C440C820C830CBE0CC0-0CC40CC70CC80CCA0CCB0CD50CD60D020D030D3E-0D400D46-0D480D4A-0D4C0D570D820D830DCF-0DD10DD8-0DDF0DF20DF30F3E0F3F0F7F102B102C10311038103B103C105610571062-10641067-106D108310841087-108C108F109A-109C17B617BE-17C517C717C81923-19261929-192B193019311933-193819B0-19C019C819C91A19-1A1B1A551A571A611A631A641A6D-1A721B041B351B3B1B3D-1B411B431B441B821BA11BA61BA71BAA1C24-1C2B1C341C351CE11CF2A823A824A827A880A881A8B4-A8C3A952A953A983A9B4A9B5A9BAA9BBA9BD-A9C0AA2FAA30AA33AA34AA4DAA7BABE3ABE4ABE6ABE7ABE9ABEAABEC\",\n\t Me: \"0488048906DE20DD-20E020E2-20E4A670-A672\",\n\t N: \"0030-003900B200B300B900BC-00BE0660-066906F0-06F907C0-07C90966-096F09E6-09EF09F4-09F90A66-0A6F0AE6-0AEF0B66-0B6F0BE6-0BF20C66-0C6F0C78-0C7E0CE6-0CEF0D66-0D750E50-0E590ED0-0ED90F20-0F331040-10491090-10991369-137C16EE-16F017E0-17E917F0-17F91810-18191946-194F19D0-19DA1A80-1A891A90-1A991B50-1B591BB0-1BB91C40-1C491C50-1C5920702074-20792080-20892150-21822185-21892460-249B24EA-24FF2776-27932CFD30073021-30293038-303A3192-31953220-32293251-325F3280-328932B1-32BFA620-A629A6E6-A6EFA830-A835A8D0-A8D9A900-A909A9D0-A9D9AA50-AA59ABF0-ABF9FF10-FF19\",\n\t Nd: \"0030-00390660-066906F0-06F907C0-07C90966-096F09E6-09EF0A66-0A6F0AE6-0AEF0B66-0B6F0BE6-0BEF0C66-0C6F0CE6-0CEF0D66-0D6F0E50-0E590ED0-0ED90F20-0F291040-10491090-109917E0-17E91810-18191946-194F19D0-19DA1A80-1A891A90-1A991B50-1B591BB0-1BB91C40-1C491C50-1C59A620-A629A8D0-A8D9A900-A909A9D0-A9D9AA50-AA59ABF0-ABF9FF10-FF19\",\n\t Nl: \"16EE-16F02160-21822185-218830073021-30293038-303AA6E6-A6EF\",\n\t No: \"00B200B300B900BC-00BE09F4-09F90BF0-0BF20C78-0C7E0D70-0D750F2A-0F331369-137C17F0-17F920702074-20792080-20892150-215F21892460-249B24EA-24FF2776-27932CFD3192-31953220-32293251-325F3280-328932B1-32BFA830-A835\",\n\t P: \"0021-00230025-002A002C-002F003A003B003F0040005B-005D005F007B007D00A100AB00B700BB00BF037E0387055A-055F0589058A05BE05C005C305C605F305F40609060A060C060D061B061E061F066A-066D06D40700-070D07F7-07F90830-083E0964096509700DF40E4F0E5A0E5B0F04-0F120F3A-0F3D0F850FD0-0FD4104A-104F10FB1361-13681400166D166E169B169C16EB-16ED1735173617D4-17D617D8-17DA1800-180A1944194519DE19DF1A1E1A1F1AA0-1AA61AA8-1AAD1B5A-1B601C3B-1C3F1C7E1C7F1CD32010-20272030-20432045-20512053-205E207D207E208D208E2329232A2768-277527C527C627E6-27EF2983-299829D8-29DB29FC29FD2CF9-2CFC2CFE2CFF2E00-2E2E2E302E313001-30033008-30113014-301F3030303D30A030FBA4FEA4FFA60D-A60FA673A67EA6F2-A6F7A874-A877A8CEA8CFA8F8-A8FAA92EA92FA95FA9C1-A9CDA9DEA9DFAA5C-AA5FAADEAADFABEBFD3EFD3FFE10-FE19FE30-FE52FE54-FE61FE63FE68FE6AFE6BFF01-FF03FF05-FF0AFF0C-FF0FFF1AFF1BFF1FFF20FF3B-FF3DFF3FFF5BFF5DFF5F-FF65\",\n\t Pd: \"002D058A05BE140018062010-20152E172E1A301C303030A0FE31FE32FE58FE63FF0D\",\n\t Ps: \"0028005B007B0F3A0F3C169B201A201E2045207D208D23292768276A276C276E27702772277427C527E627E827EA27EC27EE2983298529872989298B298D298F299129932995299729D829DA29FC2E222E242E262E283008300A300C300E3010301430163018301A301DFD3EFE17FE35FE37FE39FE3BFE3DFE3FFE41FE43FE47FE59FE5BFE5DFF08FF3BFF5BFF5FFF62\",\n\t Pe: \"0029005D007D0F3B0F3D169C2046207E208E232A2769276B276D276F27712773277527C627E727E927EB27ED27EF298429862988298A298C298E2990299229942996299829D929DB29FD2E232E252E272E293009300B300D300F3011301530173019301B301E301FFD3FFE18FE36FE38FE3AFE3CFE3EFE40FE42FE44FE48FE5AFE5CFE5EFF09FF3DFF5DFF60FF63\",\n\t Pi: \"00AB2018201B201C201F20392E022E042E092E0C2E1C2E20\",\n\t Pf: \"00BB2019201D203A2E032E052E0A2E0D2E1D2E21\",\n\t Pc: \"005F203F20402054FE33FE34FE4D-FE4FFF3F\",\n\t Po: \"0021-00230025-0027002A002C002E002F003A003B003F0040005C00A100B700BF037E0387055A-055F058905C005C305C605F305F40609060A060C060D061B061E061F066A-066D06D40700-070D07F7-07F90830-083E0964096509700DF40E4F0E5A0E5B0F04-0F120F850FD0-0FD4104A-104F10FB1361-1368166D166E16EB-16ED1735173617D4-17D617D8-17DA1800-18051807-180A1944194519DE19DF1A1E1A1F1AA0-1AA61AA8-1AAD1B5A-1B601C3B-1C3F1C7E1C7F1CD3201620172020-20272030-2038203B-203E2041-20432047-205120532055-205E2CF9-2CFC2CFE2CFF2E002E012E06-2E082E0B2E0E-2E162E182E192E1B2E1E2E1F2E2A-2E2E2E302E313001-3003303D30FBA4FEA4FFA60D-A60FA673A67EA6F2-A6F7A874-A877A8CEA8CFA8F8-A8FAA92EA92FA95FA9C1-A9CDA9DEA9DFAA5C-AA5FAADEAADFABEBFE10-FE16FE19FE30FE45FE46FE49-FE4CFE50-FE52FE54-FE57FE5F-FE61FE68FE6AFE6BFF01-FF03FF05-FF07FF0AFF0CFF0EFF0FFF1AFF1BFF1FFF20FF3CFF61FF64FF65\",\n\t S: \"0024002B003C-003E005E0060007C007E00A2-00A900AC00AE-00B100B400B600B800D700F702C2-02C502D2-02DF02E5-02EB02ED02EF-02FF03750384038503F604820606-0608060B060E060F06E906FD06FE07F609F209F309FA09FB0AF10B700BF3-0BFA0C7F0CF10CF20D790E3F0F01-0F030F13-0F170F1A-0F1F0F340F360F380FBE-0FC50FC7-0FCC0FCE0FCF0FD5-0FD8109E109F13601390-139917DB194019E0-19FF1B61-1B6A1B74-1B7C1FBD1FBF-1FC11FCD-1FCF1FDD-1FDF1FED-1FEF1FFD1FFE20442052207A-207C208A-208C20A0-20B8210021012103-21062108210921142116-2118211E-2123212521272129212E213A213B2140-2144214A-214D214F2190-2328232B-23E82400-24262440-244A249C-24E92500-26CD26CF-26E126E326E8-26FF2701-27042706-2709270C-27272729-274B274D274F-27522756-275E2761-276727942798-27AF27B1-27BE27C0-27C427C7-27CA27CC27D0-27E527F0-29822999-29D729DC-29FB29FE-2B4C2B50-2B592CE5-2CEA2E80-2E992E9B-2EF32F00-2FD52FF0-2FFB300430123013302030363037303E303F309B309C319031913196-319F31C0-31E33200-321E322A-32503260-327F328A-32B032C0-32FE3300-33FF4DC0-4DFFA490-A4C6A700-A716A720A721A789A78AA828-A82BA836-A839AA77-AA79FB29FDFCFDFDFE62FE64-FE66FE69FF04FF0BFF1C-FF1EFF3EFF40FF5CFF5EFFE0-FFE6FFE8-FFEEFFFCFFFD\",\n\t Sm: \"002B003C-003E007C007E00AC00B100D700F703F60606-060820442052207A-207C208A-208C2140-2144214B2190-2194219A219B21A021A321A621AE21CE21CF21D221D421F4-22FF2308-230B23202321237C239B-23B323DC-23E125B725C125F8-25FF266F27C0-27C427C7-27CA27CC27D0-27E527F0-27FF2900-29822999-29D729DC-29FB29FE-2AFF2B30-2B442B47-2B4CFB29FE62FE64-FE66FF0BFF1C-FF1EFF5CFF5EFFE2FFE9-FFEC\",\n\t Sc: \"002400A2-00A5060B09F209F309FB0AF10BF90E3F17DB20A0-20B8A838FDFCFE69FF04FFE0FFE1FFE5FFE6\",\n\t Sk: \"005E006000A800AF00B400B802C2-02C502D2-02DF02E5-02EB02ED02EF-02FF0375038403851FBD1FBF-1FC11FCD-1FCF1FDD-1FDF1FED-1FEF1FFD1FFE309B309CA700-A716A720A721A789A78AFF3EFF40FFE3\",\n\t So: \"00A600A700A900AE00B000B60482060E060F06E906FD06FE07F609FA0B700BF3-0BF80BFA0C7F0CF10CF20D790F01-0F030F13-0F170F1A-0F1F0F340F360F380FBE-0FC50FC7-0FCC0FCE0FCF0FD5-0FD8109E109F13601390-1399194019E0-19FF1B61-1B6A1B74-1B7C210021012103-21062108210921142116-2118211E-2123212521272129212E213A213B214A214C214D214F2195-2199219C-219F21A121A221A421A521A7-21AD21AF-21CD21D021D121D321D5-21F32300-2307230C-231F2322-2328232B-237B237D-239A23B4-23DB23E2-23E82400-24262440-244A249C-24E92500-25B625B8-25C025C2-25F72600-266E2670-26CD26CF-26E126E326E8-26FF2701-27042706-2709270C-27272729-274B274D274F-27522756-275E2761-276727942798-27AF27B1-27BE2800-28FF2B00-2B2F2B452B462B50-2B592CE5-2CEA2E80-2E992E9B-2EF32F00-2FD52FF0-2FFB300430123013302030363037303E303F319031913196-319F31C0-31E33200-321E322A-32503260-327F328A-32B032C0-32FE3300-33FF4DC0-4DFFA490-A4C6A828-A82BA836A837A839AA77-AA79FDFDFFE4FFE8FFEDFFEEFFFCFFFD\",\n\t Z: \"002000A01680180E2000-200A20282029202F205F3000\",\n\t Zs: \"002000A01680180E2000-200A202F205F3000\",\n\t Zl: \"2028\",\n\t Zp: \"2029\",\n\t C: \"0000-001F007F-009F00AD03780379037F-0383038B038D03A20526-05300557055805600588058B-059005C8-05CF05EB-05EF05F5-0605061C061D0620065F06DD070E070F074B074C07B2-07BF07FB-07FF082E082F083F-08FF093A093B094F095609570973-097809800984098D098E0991099209A909B109B3-09B509BA09BB09C509C609C909CA09CF-09D609D8-09DB09DE09E409E509FC-0A000A040A0B-0A0E0A110A120A290A310A340A370A3A0A3B0A3D0A43-0A460A490A4A0A4E-0A500A52-0A580A5D0A5F-0A650A76-0A800A840A8E0A920AA90AB10AB40ABA0ABB0AC60ACA0ACE0ACF0AD1-0ADF0AE40AE50AF00AF2-0B000B040B0D0B0E0B110B120B290B310B340B3A0B3B0B450B460B490B4A0B4E-0B550B58-0B5B0B5E0B640B650B72-0B810B840B8B-0B8D0B910B96-0B980B9B0B9D0BA0-0BA20BA5-0BA70BAB-0BAD0BBA-0BBD0BC3-0BC50BC90BCE0BCF0BD1-0BD60BD8-0BE50BFB-0C000C040C0D0C110C290C340C3A-0C3C0C450C490C4E-0C540C570C5A-0C5F0C640C650C70-0C770C800C810C840C8D0C910CA90CB40CBA0CBB0CC50CC90CCE-0CD40CD7-0CDD0CDF0CE40CE50CF00CF3-0D010D040D0D0D110D290D3A-0D3C0D450D490D4E-0D560D58-0D5F0D640D650D76-0D780D800D810D840D97-0D990DB20DBC0DBE0DBF0DC7-0DC90DCB-0DCE0DD50DD70DE0-0DF10DF5-0E000E3B-0E3E0E5C-0E800E830E850E860E890E8B0E8C0E8E-0E930E980EA00EA40EA60EA80EA90EAC0EBA0EBE0EBF0EC50EC70ECE0ECF0EDA0EDB0EDE-0EFF0F480F6D-0F700F8C-0F8F0F980FBD0FCD0FD9-0FFF10C6-10CF10FD-10FF1249124E124F12571259125E125F1289128E128F12B112B612B712BF12C112C612C712D7131113161317135B-135E137D-137F139A-139F13F5-13FF169D-169F16F1-16FF170D1715-171F1737-173F1754-175F176D17711774-177F17B417B517DE17DF17EA-17EF17FA-17FF180F181A-181F1878-187F18AB-18AF18F6-18FF191D-191F192C-192F193C-193F1941-1943196E196F1975-197F19AC-19AF19CA-19CF19DB-19DD1A1C1A1D1A5F1A7D1A7E1A8A-1A8F1A9A-1A9F1AAE-1AFF1B4C-1B4F1B7D-1B7F1BAB-1BAD1BBA-1BFF1C38-1C3A1C4A-1C4C1C80-1CCF1CF3-1CFF1DE7-1DFC1F161F171F1E1F1F1F461F471F4E1F4F1F581F5A1F5C1F5E1F7E1F7F1FB51FC51FD41FD51FDC1FF01FF11FF51FFF200B-200F202A-202E2060-206F20722073208F2095-209F20B9-20CF20F1-20FF218A-218F23E9-23FF2427-243F244B-245F26CE26E226E4-26E727002705270A270B2728274C274E2753-2755275F27602795-279727B027BF27CB27CD-27CF2B4D-2B4F2B5A-2BFF2C2F2C5F2CF2-2CF82D26-2D2F2D66-2D6E2D70-2D7F2D97-2D9F2DA72DAF2DB72DBF2DC72DCF2DD72DDF2E32-2E7F2E9A2EF4-2EFF2FD6-2FEF2FFC-2FFF3040309730983100-3104312E-3130318F31B8-31BF31E4-31EF321F32FF4DB6-4DBF9FCC-9FFFA48D-A48FA4C7-A4CFA62C-A63FA660A661A674-A67BA698-A69FA6F8-A6FFA78D-A7FAA82C-A82FA83A-A83FA878-A87FA8C5-A8CDA8DA-A8DFA8FC-A8FFA954-A95EA97D-A97FA9CEA9DA-A9DDA9E0-A9FFAA37-AA3FAA4EAA4FAA5AAA5BAA7C-AA7FAAC3-AADAAAE0-ABBFABEEABEFABFA-ABFFD7A4-D7AFD7C7-D7CAD7FC-F8FFFA2EFA2FFA6EFA6FFADA-FAFFFB07-FB12FB18-FB1CFB37FB3DFB3FFB42FB45FBB2-FBD2FD40-FD4FFD90FD91FDC8-FDEFFDFEFDFFFE1A-FE1FFE27-FE2FFE53FE67FE6C-FE6FFE75FEFD-FF00FFBF-FFC1FFC8FFC9FFD0FFD1FFD8FFD9FFDD-FFDFFFE7FFEF-FFFBFFFEFFFF\",\n\t Cc: \"0000-001F007F-009F\",\n\t Cf: \"00AD0600-060306DD070F17B417B5200B-200F202A-202E2060-2064206A-206FFEFFFFF9-FFFB\",\n\t Co: \"E000-F8FF\",\n\t Cs: \"D800-DFFF\",\n\t Cn: \"03780379037F-0383038B038D03A20526-05300557055805600588058B-059005C8-05CF05EB-05EF05F5-05FF06040605061C061D0620065F070E074B074C07B2-07BF07FB-07FF082E082F083F-08FF093A093B094F095609570973-097809800984098D098E0991099209A909B109B3-09B509BA09BB09C509C609C909CA09CF-09D609D8-09DB09DE09E409E509FC-0A000A040A0B-0A0E0A110A120A290A310A340A370A3A0A3B0A3D0A43-0A460A490A4A0A4E-0A500A52-0A580A5D0A5F-0A650A76-0A800A840A8E0A920AA90AB10AB40ABA0ABB0AC60ACA0ACE0ACF0AD1-0ADF0AE40AE50AF00AF2-0B000B040B0D0B0E0B110B120B290B310B340B3A0B3B0B450B460B490B4A0B4E-0B550B58-0B5B0B5E0B640B650B72-0B810B840B8B-0B8D0B910B96-0B980B9B0B9D0BA0-0BA20BA5-0BA70BAB-0BAD0BBA-0BBD0BC3-0BC50BC90BCE0BCF0BD1-0BD60BD8-0BE50BFB-0C000C040C0D0C110C290C340C3A-0C3C0C450C490C4E-0C540C570C5A-0C5F0C640C650C70-0C770C800C810C840C8D0C910CA90CB40CBA0CBB0CC50CC90CCE-0CD40CD7-0CDD0CDF0CE40CE50CF00CF3-0D010D040D0D0D110D290D3A-0D3C0D450D490D4E-0D560D58-0D5F0D640D650D76-0D780D800D810D840D97-0D990DB20DBC0DBE0DBF0DC7-0DC90DCB-0DCE0DD50DD70DE0-0DF10DF5-0E000E3B-0E3E0E5C-0E800E830E850E860E890E8B0E8C0E8E-0E930E980EA00EA40EA60EA80EA90EAC0EBA0EBE0EBF0EC50EC70ECE0ECF0EDA0EDB0EDE-0EFF0F480F6D-0F700F8C-0F8F0F980FBD0FCD0FD9-0FFF10C6-10CF10FD-10FF1249124E124F12571259125E125F1289128E128F12B112B612B712BF12C112C612C712D7131113161317135B-135E137D-137F139A-139F13F5-13FF169D-169F16F1-16FF170D1715-171F1737-173F1754-175F176D17711774-177F17DE17DF17EA-17EF17FA-17FF180F181A-181F1878-187F18AB-18AF18F6-18FF191D-191F192C-192F193C-193F1941-1943196E196F1975-197F19AC-19AF19CA-19CF19DB-19DD1A1C1A1D1A5F1A7D1A7E1A8A-1A8F1A9A-1A9F1AAE-1AFF1B4C-1B4F1B7D-1B7F1BAB-1BAD1BBA-1BFF1C38-1C3A1C4A-1C4C1C80-1CCF1CF3-1CFF1DE7-1DFC1F161F171F1E1F1F1F461F471F4E1F4F1F581F5A1F5C1F5E1F7E1F7F1FB51FC51FD41FD51FDC1FF01FF11FF51FFF2065-206920722073208F2095-209F20B9-20CF20F1-20FF218A-218F23E9-23FF2427-243F244B-245F26CE26E226E4-26E727002705270A270B2728274C274E2753-2755275F27602795-279727B027BF27CB27CD-27CF2B4D-2B4F2B5A-2BFF2C2F2C5F2CF2-2CF82D26-2D2F2D66-2D6E2D70-2D7F2D97-2D9F2DA72DAF2DB72DBF2DC72DCF2DD72DDF2E32-2E7F2E9A2EF4-2EFF2FD6-2FEF2FFC-2FFF3040309730983100-3104312E-3130318F31B8-31BF31E4-31EF321F32FF4DB6-4DBF9FCC-9FFFA48D-A48FA4C7-A4CFA62C-A63FA660A661A674-A67BA698-A69FA6F8-A6FFA78D-A7FAA82C-A82FA83A-A83FA878-A87FA8C5-A8CDA8DA-A8DFA8FC-A8FFA954-A95EA97D-A97FA9CEA9DA-A9DDA9E0-A9FFAA37-AA3FAA4EAA4FAA5AAA5BAA7C-AA7FAAC3-AADAAAE0-ABBFABEEABEFABFA-ABFFD7A4-D7AFD7C7-D7CAD7FC-D7FFFA2EFA2FFA6EFA6FFADA-FAFFFB07-FB12FB18-FB1CFB37FB3DFB3FFB42FB45FBB2-FBD2FD40-FD4FFD90FD91FDC8-FDEFFDFEFDFFFE1A-FE1FFE27-FE2FFE53FE67FE6C-FE6FFE75FEFDFEFEFF00FFBF-FFC1FFC8FFC9FFD0FFD1FFD8FFD9FFDD-FFDFFFE7FFEF-FFF8FFFEFFFF\"\n\t});\n\t\n\tfunction addUnicodePackage (pack) {\n\t var codePoint = /\\w{4}/g;\n\t for (var name in pack)\n\t exports.packages[name] = pack[name].replace(codePoint, \"\\\\u$&\");\n\t}\n\t\n\t});\n\t\n\tace.define(\"ace/token_iterator\",[\"require\",\"exports\",\"module\"], function(acequire, exports, module) {\n\t\"use strict\";\n\tvar TokenIterator = function(session, initialRow, initialColumn) {\n\t this.$session = session;\n\t this.$row = initialRow;\n\t this.$rowTokens = session.getTokens(initialRow);\n\t\n\t var token = session.getTokenAt(initialRow, initialColumn);\n\t this.$tokenIndex = token ? token.index : -1;\n\t};\n\t\n\t(function() { \n\t this.stepBackward = function() {\n\t this.$tokenIndex -= 1;\n\t \n\t while (this.$tokenIndex < 0) {\n\t this.$row -= 1;\n\t if (this.$row < 0) {\n\t this.$row = 0;\n\t return null;\n\t }\n\t \n\t this.$rowTokens = this.$session.getTokens(this.$row);\n\t this.$tokenIndex = this.$rowTokens.length - 1;\n\t }\n\t \n\t return this.$rowTokens[this.$tokenIndex];\n\t }; \n\t this.stepForward = function() {\n\t this.$tokenIndex += 1;\n\t var rowCount;\n\t while (this.$tokenIndex >= this.$rowTokens.length) {\n\t this.$row += 1;\n\t if (!rowCount)\n\t rowCount = this.$session.getLength();\n\t if (this.$row >= rowCount) {\n\t this.$row = rowCount - 1;\n\t return null;\n\t }\n\t\n\t this.$rowTokens = this.$session.getTokens(this.$row);\n\t this.$tokenIndex = 0;\n\t }\n\t \n\t return this.$rowTokens[this.$tokenIndex];\n\t }; \n\t this.getCurrentToken = function () {\n\t return this.$rowTokens[this.$tokenIndex];\n\t }; \n\t this.getCurrentTokenRow = function () {\n\t return this.$row;\n\t }; \n\t this.getCurrentTokenColumn = function() {\n\t var rowTokens = this.$rowTokens;\n\t var tokenIndex = this.$tokenIndex;\n\t var column = rowTokens[tokenIndex].start;\n\t if (column !== undefined)\n\t return column;\n\t \n\t column = 0;\n\t while (tokenIndex > 0) {\n\t tokenIndex -= 1;\n\t column += rowTokens[tokenIndex].value.length;\n\t }\n\t \n\t return column; \n\t };\n\t this.getCurrentTokenPosition = function() {\n\t return {row: this.$row, column: this.getCurrentTokenColumn()};\n\t };\n\t \n\t}).call(TokenIterator.prototype);\n\t\n\texports.TokenIterator = TokenIterator;\n\t});\n\t\n\tace.define(\"ace/mode/text\",[\"require\",\"exports\",\"module\",\"ace/tokenizer\",\"ace/mode/text_highlight_rules\",\"ace/mode/behaviour\",\"ace/unicode\",\"ace/lib/lang\",\"ace/token_iterator\",\"ace/range\"], function(acequire, exports, module) {\n\t\"use strict\";\n\t\n\tvar Tokenizer = acequire(\"../tokenizer\").Tokenizer;\n\tvar TextHighlightRules = acequire(\"./text_highlight_rules\").TextHighlightRules;\n\tvar Behaviour = acequire(\"./behaviour\").Behaviour;\n\tvar unicode = acequire(\"../unicode\");\n\tvar lang = acequire(\"../lib/lang\");\n\tvar TokenIterator = acequire(\"../token_iterator\").TokenIterator;\n\tvar Range = acequire(\"../range\").Range;\n\t\n\tvar Mode = function() {\n\t this.HighlightRules = TextHighlightRules;\n\t this.$behaviour = new Behaviour();\n\t};\n\t\n\t(function() {\n\t\n\t this.tokenRe = new RegExp(\"^[\"\n\t + unicode.packages.L\n\t + unicode.packages.Mn + unicode.packages.Mc\n\t + unicode.packages.Nd\n\t + unicode.packages.Pc + \"\\\\$_]+\", \"g\"\n\t );\n\t\n\t this.nonTokenRe = new RegExp(\"^(?:[^\"\n\t + unicode.packages.L\n\t + unicode.packages.Mn + unicode.packages.Mc\n\t + unicode.packages.Nd\n\t + unicode.packages.Pc + \"\\\\$_]|\\\\s])+\", \"g\"\n\t );\n\t\n\t this.getTokenizer = function() {\n\t if (!this.$tokenizer) {\n\t this.$highlightRules = this.$highlightRules || new this.HighlightRules();\n\t this.$tokenizer = new Tokenizer(this.$highlightRules.getRules());\n\t }\n\t return this.$tokenizer;\n\t };\n\t\n\t this.lineCommentStart = \"\";\n\t this.blockComment = \"\";\n\t\n\t this.toggleCommentLines = function(state, session, startRow, endRow) {\n\t var doc = session.doc;\n\t\n\t var ignoreBlankLines = true;\n\t var shouldRemove = true;\n\t var minIndent = Infinity;\n\t var tabSize = session.getTabSize();\n\t var insertAtTabStop = false;\n\t\n\t if (!this.lineCommentStart) {\n\t if (!this.blockComment)\n\t return false;\n\t var lineCommentStart = this.blockComment.start;\n\t var lineCommentEnd = this.blockComment.end;\n\t var regexpStart = new RegExp(\"^(\\\\s*)(?:\" + lang.escapeRegExp(lineCommentStart) + \")\");\n\t var regexpEnd = new RegExp(\"(?:\" + lang.escapeRegExp(lineCommentEnd) + \")\\\\s*$\");\n\t\n\t var comment = function(line, i) {\n\t if (testRemove(line, i))\n\t return;\n\t if (!ignoreBlankLines || /\\S/.test(line)) {\n\t doc.insertInLine({row: i, column: line.length}, lineCommentEnd);\n\t doc.insertInLine({row: i, column: minIndent}, lineCommentStart);\n\t }\n\t };\n\t\n\t var uncomment = function(line, i) {\n\t var m;\n\t if (m = line.match(regexpEnd))\n\t doc.removeInLine(i, line.length - m[0].length, line.length);\n\t if (m = line.match(regexpStart))\n\t doc.removeInLine(i, m[1].length, m[0].length);\n\t };\n\t\n\t var testRemove = function(line, row) {\n\t if (regexpStart.test(line))\n\t return true;\n\t var tokens = session.getTokens(row);\n\t for (var i = 0; i < tokens.length; i++) {\n\t if (tokens[i].type === \"comment\")\n\t return true;\n\t }\n\t };\n\t } else {\n\t if (Array.isArray(this.lineCommentStart)) {\n\t var regexpStart = this.lineCommentStart.map(lang.escapeRegExp).join(\"|\");\n\t var lineCommentStart = this.lineCommentStart[0];\n\t } else {\n\t var regexpStart = lang.escapeRegExp(this.lineCommentStart);\n\t var lineCommentStart = this.lineCommentStart;\n\t }\n\t regexpStart = new RegExp(\"^(\\\\s*)(?:\" + regexpStart + \") ?\");\n\t \n\t insertAtTabStop = session.getUseSoftTabs();\n\t\n\t var uncomment = function(line, i) {\n\t var m = line.match(regexpStart);\n\t if (!m) return;\n\t var start = m[1].length, end = m[0].length;\n\t if (!shouldInsertSpace(line, start, end) && m[0][end - 1] == \" \")\n\t end--;\n\t doc.removeInLine(i, start, end);\n\t };\n\t var commentWithSpace = lineCommentStart + \" \";\n\t var comment = function(line, i) {\n\t if (!ignoreBlankLines || /\\S/.test(line)) {\n\t if (shouldInsertSpace(line, minIndent, minIndent))\n\t doc.insertInLine({row: i, column: minIndent}, commentWithSpace);\n\t else\n\t doc.insertInLine({row: i, column: minIndent}, lineCommentStart);\n\t }\n\t };\n\t var testRemove = function(line, i) {\n\t return regexpStart.test(line);\n\t };\n\t \n\t var shouldInsertSpace = function(line, before, after) {\n\t var spaces = 0;\n\t while (before-- && line.charAt(before) == \" \")\n\t spaces++;\n\t if (spaces % tabSize != 0)\n\t return false;\n\t var spaces = 0;\n\t while (line.charAt(after++) == \" \")\n\t spaces++;\n\t if (tabSize > 2)\n\t return spaces % tabSize != tabSize - 1;\n\t else\n\t return spaces % tabSize == 0;\n\t return true;\n\t };\n\t }\n\t\n\t function iter(fun) {\n\t for (var i = startRow; i <= endRow; i++)\n\t fun(doc.getLine(i), i);\n\t }\n\t\n\t\n\t var minEmptyLength = Infinity;\n\t iter(function(line, i) {\n\t var indent = line.search(/\\S/);\n\t if (indent !== -1) {\n\t if (indent < minIndent)\n\t minIndent = indent;\n\t if (shouldRemove && !testRemove(line, i))\n\t shouldRemove = false;\n\t } else if (minEmptyLength > line.length) {\n\t minEmptyLength = line.length;\n\t }\n\t });\n\t\n\t if (minIndent == Infinity) {\n\t minIndent = minEmptyLength;\n\t ignoreBlankLines = false;\n\t shouldRemove = false;\n\t }\n\t\n\t if (insertAtTabStop && minIndent % tabSize != 0)\n\t minIndent = Math.floor(minIndent / tabSize) * tabSize;\n\t\n\t iter(shouldRemove ? uncomment : comment);\n\t };\n\t\n\t this.toggleBlockComment = function(state, session, range, cursor) {\n\t var comment = this.blockComment;\n\t if (!comment)\n\t return;\n\t if (!comment.start && comment[0])\n\t comment = comment[0];\n\t\n\t var iterator = new TokenIterator(session, cursor.row, cursor.column);\n\t var token = iterator.getCurrentToken();\n\t\n\t var sel = session.selection;\n\t var initialRange = session.selection.toOrientedRange();\n\t var startRow, colDiff;\n\t\n\t if (token && /comment/.test(token.type)) {\n\t var startRange, endRange;\n\t while (token && /comment/.test(token.type)) {\n\t var i = token.value.indexOf(comment.start);\n\t if (i != -1) {\n\t var row = iterator.getCurrentTokenRow();\n\t var column = iterator.getCurrentTokenColumn() + i;\n\t startRange = new Range(row, column, row, column + comment.start.length);\n\t break;\n\t }\n\t token = iterator.stepBackward();\n\t }\n\t\n\t var iterator = new TokenIterator(session, cursor.row, cursor.column);\n\t var token = iterator.getCurrentToken();\n\t while (token && /comment/.test(token.type)) {\n\t var i = token.value.indexOf(comment.end);\n\t if (i != -1) {\n\t var row = iterator.getCurrentTokenRow();\n\t var column = iterator.getCurrentTokenColumn() + i;\n\t endRange = new Range(row, column, row, column + comment.end.length);\n\t break;\n\t }\n\t token = iterator.stepForward();\n\t }\n\t if (endRange)\n\t session.remove(endRange);\n\t if (startRange) {\n\t session.remove(startRange);\n\t startRow = startRange.start.row;\n\t colDiff = -comment.start.length;\n\t }\n\t } else {\n\t colDiff = comment.start.length;\n\t startRow = range.start.row;\n\t session.insert(range.end, comment.end);\n\t session.insert(range.start, comment.start);\n\t }\n\t if (initialRange.start.row == startRow)\n\t initialRange.start.column += colDiff;\n\t if (initialRange.end.row == startRow)\n\t initialRange.end.column += colDiff;\n\t session.selection.fromOrientedRange(initialRange);\n\t };\n\t\n\t this.getNextLineIndent = function(state, line, tab) {\n\t return this.$getIndent(line);\n\t };\n\t\n\t this.checkOutdent = function(state, line, input) {\n\t return false;\n\t };\n\t\n\t this.autoOutdent = function(state, doc, row) {\n\t };\n\t\n\t this.$getIndent = function(line) {\n\t return line.match(/^\\s*/)[0];\n\t };\n\t\n\t this.createWorker = function(session) {\n\t return null;\n\t };\n\t\n\t this.createModeDelegates = function (mapping) {\n\t this.$embeds = [];\n\t this.$modes = {};\n\t for (var i in mapping) {\n\t if (mapping[i]) {\n\t this.$embeds.push(i);\n\t this.$modes[i] = new mapping[i]();\n\t }\n\t }\n\t\n\t var delegations = [\"toggleBlockComment\", \"toggleCommentLines\", \"getNextLineIndent\", \n\t \"checkOutdent\", \"autoOutdent\", \"transformAction\", \"getCompletions\"];\n\t\n\t for (var i = 0; i < delegations.length; i++) {\n\t (function(scope) {\n\t var functionName = delegations[i];\n\t var defaultHandler = scope[functionName];\n\t scope[delegations[i]] = function() {\n\t return this.$delegator(functionName, arguments, defaultHandler);\n\t };\n\t }(this));\n\t }\n\t };\n\t\n\t this.$delegator = function(method, args, defaultHandler) {\n\t var state = args[0];\n\t if (typeof state != \"string\")\n\t state = state[0];\n\t for (var i = 0; i < this.$embeds.length; i++) {\n\t if (!this.$modes[this.$embeds[i]]) continue;\n\t\n\t var split = state.split(this.$embeds[i]);\n\t if (!split[0] && split[1]) {\n\t args[0] = split[1];\n\t var mode = this.$modes[this.$embeds[i]];\n\t return mode[method].apply(mode, args);\n\t }\n\t }\n\t var ret = defaultHandler.apply(this, args);\n\t return defaultHandler ? ret : undefined;\n\t };\n\t\n\t this.transformAction = function(state, action, editor, session, param) {\n\t if (this.$behaviour) {\n\t var behaviours = this.$behaviour.getBehaviours();\n\t for (var key in behaviours) {\n\t if (behaviours[key][action]) {\n\t var ret = behaviours[key][action].apply(this, arguments);\n\t if (ret) {\n\t return ret;\n\t }\n\t }\n\t }\n\t }\n\t };\n\t \n\t this.getKeywords = function(append) {\n\t if (!this.completionKeywords) {\n\t var rules = this.$tokenizer.rules;\n\t var completionKeywords = [];\n\t for (var rule in rules) {\n\t var ruleItr = rules[rule];\n\t for (var r = 0, l = ruleItr.length; r < l; r++) {\n\t if (typeof ruleItr[r].token === \"string\") {\n\t if (/keyword|support|storage/.test(ruleItr[r].token))\n\t completionKeywords.push(ruleItr[r].regex);\n\t }\n\t else if (typeof ruleItr[r].token === \"object\") {\n\t for (var a = 0, aLength = ruleItr[r].token.length; a < aLength; a++) { \n\t if (/keyword|support|storage/.test(ruleItr[r].token[a])) {\n\t var rule = ruleItr[r].regex.match(/\\(.+?\\)/g)[a];\n\t completionKeywords.push(rule.substr(1, rule.length - 2));\n\t }\n\t }\n\t }\n\t }\n\t }\n\t this.completionKeywords = completionKeywords;\n\t }\n\t if (!append)\n\t return this.$keywordList;\n\t return completionKeywords.concat(this.$keywordList || []);\n\t };\n\t \n\t this.$createKeywordList = function() {\n\t if (!this.$highlightRules)\n\t this.getTokenizer();\n\t return this.$keywordList = this.$highlightRules.$keywordList || [];\n\t };\n\t\n\t this.getCompletions = function(state, session, pos, prefix) {\n\t var keywords = this.$keywordList || this.$createKeywordList();\n\t return keywords.map(function(word) {\n\t return {\n\t name: word,\n\t value: word,\n\t score: 0,\n\t meta: \"keyword\"\n\t };\n\t });\n\t };\n\t\n\t this.$id = \"ace/mode/text\";\n\t}).call(Mode.prototype);\n\t\n\texports.Mode = Mode;\n\t});\n\t\n\tace.define(\"ace/apply_delta\",[\"require\",\"exports\",\"module\"], function(acequire, exports, module) {\n\t\"use strict\";\n\t\n\tfunction throwDeltaError(delta, errorText){\n\t console.log(\"Invalid Delta:\", delta);\n\t throw \"Invalid Delta: \" + errorText;\n\t}\n\t\n\tfunction positionInDocument(docLines, position) {\n\t return position.row >= 0 && position.row < docLines.length &&\n\t position.column >= 0 && position.column <= docLines[position.row].length;\n\t}\n\t\n\tfunction validateDelta(docLines, delta) {\n\t if (delta.action != \"insert\" && delta.action != \"remove\")\n\t throwDeltaError(delta, \"delta.action must be 'insert' or 'remove'\");\n\t if (!(delta.lines instanceof Array))\n\t throwDeltaError(delta, \"delta.lines must be an Array\");\n\t if (!delta.start || !delta.end)\n\t throwDeltaError(delta, \"delta.start/end must be an present\");\n\t var start = delta.start;\n\t if (!positionInDocument(docLines, delta.start))\n\t throwDeltaError(delta, \"delta.start must be contained in document\");\n\t var end = delta.end;\n\t if (delta.action == \"remove\" && !positionInDocument(docLines, end))\n\t throwDeltaError(delta, \"delta.end must contained in document for 'remove' actions\");\n\t var numRangeRows = end.row - start.row;\n\t var numRangeLastLineChars = (end.column - (numRangeRows == 0 ? start.column : 0));\n\t if (numRangeRows != delta.lines.length - 1 || delta.lines[numRangeRows].length != numRangeLastLineChars)\n\t throwDeltaError(delta, \"delta.range must match delta lines\");\n\t}\n\t\n\texports.applyDelta = function(docLines, delta, doNotValidate) {\n\t \n\t var row = delta.start.row;\n\t var startColumn = delta.start.column;\n\t var line = docLines[row] || \"\";\n\t switch (delta.action) {\n\t case \"insert\":\n\t var lines = delta.lines;\n\t if (lines.length === 1) {\n\t docLines[row] = line.substring(0, startColumn) + delta.lines[0] + line.substring(startColumn);\n\t } else {\n\t var args = [row, 1].concat(delta.lines);\n\t docLines.splice.apply(docLines, args);\n\t docLines[row] = line.substring(0, startColumn) + docLines[row];\n\t docLines[row + delta.lines.length - 1] += line.substring(startColumn);\n\t }\n\t break;\n\t case \"remove\":\n\t var endColumn = delta.end.column;\n\t var endRow = delta.end.row;\n\t if (row === endRow) {\n\t docLines[row] = line.substring(0, startColumn) + line.substring(endColumn);\n\t } else {\n\t docLines.splice(\n\t row, endRow - row + 1,\n\t line.substring(0, startColumn) + docLines[endRow].substring(endColumn)\n\t );\n\t }\n\t break;\n\t }\n\t}\n\t});\n\t\n\tace.define(\"ace/anchor\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/lib/event_emitter\"], function(acequire, exports, module) {\n\t\"use strict\";\n\t\n\tvar oop = acequire(\"./lib/oop\");\n\tvar EventEmitter = acequire(\"./lib/event_emitter\").EventEmitter;\n\t\n\tvar Anchor = exports.Anchor = function(doc, row, column) {\n\t this.$onChange = this.onChange.bind(this);\n\t this.attach(doc);\n\t \n\t if (typeof column == \"undefined\")\n\t this.setPosition(row.row, row.column);\n\t else\n\t this.setPosition(row, column);\n\t};\n\t\n\t(function() {\n\t\n\t oop.implement(this, EventEmitter);\n\t this.getPosition = function() {\n\t return this.$clipPositionToDocument(this.row, this.column);\n\t };\n\t this.getDocument = function() {\n\t return this.document;\n\t };\n\t this.$insertRight = false;\n\t this.onChange = function(delta) {\n\t if (delta.start.row == delta.end.row && delta.start.row != this.row)\n\t return;\n\t\n\t if (delta.start.row > this.row)\n\t return;\n\t \n\t var point = $getTransformedPoint(delta, {row: this.row, column: this.column}, this.$insertRight);\n\t this.setPosition(point.row, point.column, true);\n\t };\n\t \n\t function $pointsInOrder(point1, point2, equalPointsInOrder) {\n\t var bColIsAfter = equalPointsInOrder ? point1.column <= point2.column : point1.column < point2.column;\n\t return (point1.row < point2.row) || (point1.row == point2.row && bColIsAfter);\n\t }\n\t \n\t function $getTransformedPoint(delta, point, moveIfEqual) {\n\t var deltaIsInsert = delta.action == \"insert\";\n\t var deltaRowShift = (deltaIsInsert ? 1 : -1) * (delta.end.row - delta.start.row);\n\t var deltaColShift = (deltaIsInsert ? 1 : -1) * (delta.end.column - delta.start.column);\n\t var deltaStart = delta.start;\n\t var deltaEnd = deltaIsInsert ? deltaStart : delta.end; // Collapse insert range.\n\t if ($pointsInOrder(point, deltaStart, moveIfEqual)) {\n\t return {\n\t row: point.row,\n\t column: point.column\n\t };\n\t }\n\t if ($pointsInOrder(deltaEnd, point, !moveIfEqual)) {\n\t return {\n\t row: point.row + deltaRowShift,\n\t column: point.column + (point.row == deltaEnd.row ? deltaColShift : 0)\n\t };\n\t }\n\t \n\t return {\n\t row: deltaStart.row,\n\t column: deltaStart.column\n\t };\n\t }\n\t this.setPosition = function(row, column, noClip) {\n\t var pos;\n\t if (noClip) {\n\t pos = {\n\t row: row,\n\t column: column\n\t };\n\t } else {\n\t pos = this.$clipPositionToDocument(row, column);\n\t }\n\t\n\t if (this.row == pos.row && this.column == pos.column)\n\t return;\n\t\n\t var old = {\n\t row: this.row,\n\t column: this.column\n\t };\n\t\n\t this.row = pos.row;\n\t this.column = pos.column;\n\t this._signal(\"change\", {\n\t old: old,\n\t value: pos\n\t });\n\t };\n\t this.detach = function() {\n\t this.document.removeEventListener(\"change\", this.$onChange);\n\t };\n\t this.attach = function(doc) {\n\t this.document = doc || this.document;\n\t this.document.on(\"change\", this.$onChange);\n\t };\n\t this.$clipPositionToDocument = function(row, column) {\n\t var pos = {};\n\t\n\t if (row >= this.document.getLength()) {\n\t pos.row = Math.max(0, this.document.getLength() - 1);\n\t pos.column = this.document.getLine(pos.row).length;\n\t }\n\t else if (row < 0) {\n\t pos.row = 0;\n\t pos.column = 0;\n\t }\n\t else {\n\t pos.row = row;\n\t pos.column = Math.min(this.document.getLine(pos.row).length, Math.max(0, column));\n\t }\n\t\n\t if (column < 0)\n\t pos.column = 0;\n\t\n\t return pos;\n\t };\n\t\n\t}).call(Anchor.prototype);\n\t\n\t});\n\t\n\tace.define(\"ace/document\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/apply_delta\",\"ace/lib/event_emitter\",\"ace/range\",\"ace/anchor\"], function(acequire, exports, module) {\n\t\"use strict\";\n\t\n\tvar oop = acequire(\"./lib/oop\");\n\tvar applyDelta = acequire(\"./apply_delta\").applyDelta;\n\tvar EventEmitter = acequire(\"./lib/event_emitter\").EventEmitter;\n\tvar Range = acequire(\"./range\").Range;\n\tvar Anchor = acequire(\"./anchor\").Anchor;\n\t\n\tvar Document = function(textOrLines) {\n\t this.$lines = [\"\"];\n\t if (textOrLines.length === 0) {\n\t this.$lines = [\"\"];\n\t } else if (Array.isArray(textOrLines)) {\n\t this.insertMergedLines({row: 0, column: 0}, textOrLines);\n\t } else {\n\t this.insert({row: 0, column:0}, textOrLines);\n\t }\n\t};\n\t\n\t(function() {\n\t\n\t oop.implement(this, EventEmitter);\n\t this.setValue = function(text) {\n\t var len = this.getLength() - 1;\n\t this.remove(new Range(0, 0, len, this.getLine(len).length));\n\t this.insert({row: 0, column: 0}, text);\n\t };\n\t this.getValue = function() {\n\t return this.getAllLines().join(this.getNewLineCharacter());\n\t };\n\t this.createAnchor = function(row, column) {\n\t return new Anchor(this, row, column);\n\t };\n\t if (\"aaa\".split(/a/).length === 0) {\n\t this.$split = function(text) {\n\t return text.replace(/\\r\\n|\\r/g, \"\\n\").split(\"\\n\");\n\t };\n\t } else {\n\t this.$split = function(text) {\n\t return text.split(/\\r\\n|\\r|\\n/);\n\t };\n\t }\n\t\n\t\n\t this.$detectNewLine = function(text) {\n\t var match = text.match(/^.*?(\\r\\n|\\r|\\n)/m);\n\t this.$autoNewLine = match ? match[1] : \"\\n\";\n\t this._signal(\"changeNewLineMode\");\n\t };\n\t this.getNewLineCharacter = function() {\n\t switch (this.$newLineMode) {\n\t case \"windows\":\n\t return \"\\r\\n\";\n\t case \"unix\":\n\t return \"\\n\";\n\t default:\n\t return this.$autoNewLine || \"\\n\";\n\t }\n\t };\n\t\n\t this.$autoNewLine = \"\";\n\t this.$newLineMode = \"auto\";\n\t this.setNewLineMode = function(newLineMode) {\n\t if (this.$newLineMode === newLineMode)\n\t return;\n\t\n\t this.$newLineMode = newLineMode;\n\t this._signal(\"changeNewLineMode\");\n\t };\n\t this.getNewLineMode = function() {\n\t return this.$newLineMode;\n\t };\n\t this.isNewLine = function(text) {\n\t return (text == \"\\r\\n\" || text == \"\\r\" || text == \"\\n\");\n\t };\n\t this.getLine = function(row) {\n\t return this.$lines[row] || \"\";\n\t };\n\t this.getLines = function(firstRow, lastRow) {\n\t return this.$lines.slice(firstRow, lastRow + 1);\n\t };\n\t this.getAllLines = function() {\n\t return this.getLines(0, this.getLength());\n\t };\n\t this.getLength = function() {\n\t return this.$lines.length;\n\t };\n\t this.getTextRange = function(range) {\n\t return this.getLinesForRange(range).join(this.getNewLineCharacter());\n\t };\n\t this.getLinesForRange = function(range) {\n\t var lines;\n\t if (range.start.row === range.end.row) {\n\t lines = [this.getLine(range.start.row).substring(range.start.column, range.end.column)];\n\t } else {\n\t lines = this.getLines(range.start.row, range.end.row);\n\t lines[0] = (lines[0] || \"\").substring(range.start.column);\n\t var l = lines.length - 1;\n\t if (range.end.row - range.start.row == l)\n\t lines[l] = lines[l].substring(0, range.end.column);\n\t }\n\t return lines;\n\t };\n\t this.insertLines = function(row, lines) {\n\t console.warn(\"Use of document.insertLines is deprecated. Use the insertFullLines method instead.\");\n\t return this.insertFullLines(row, lines);\n\t };\n\t this.removeLines = function(firstRow, lastRow) {\n\t console.warn(\"Use of document.removeLines is deprecated. Use the removeFullLines method instead.\");\n\t return this.removeFullLines(firstRow, lastRow);\n\t };\n\t this.insertNewLine = function(position) {\n\t console.warn(\"Use of document.insertNewLine is deprecated. Use insertMergedLines(position, [\\'\\', \\'\\']) instead.\");\n\t return this.insertMergedLines(position, [\"\", \"\"]);\n\t };\n\t this.insert = function(position, text) {\n\t if (this.getLength() <= 1)\n\t this.$detectNewLine(text);\n\t \n\t return this.insertMergedLines(position, this.$split(text));\n\t };\n\t this.insertInLine = function(position, text) {\n\t var start = this.clippedPos(position.row, position.column);\n\t var end = this.pos(position.row, position.column + text.length);\n\t \n\t this.applyDelta({\n\t start: start,\n\t end: end,\n\t action: \"insert\",\n\t lines: [text]\n\t }, true);\n\t \n\t return this.clonePos(end);\n\t };\n\t \n\t this.clippedPos = function(row, column) {\n\t var length = this.getLength();\n\t if (row === undefined) {\n\t row = length;\n\t } else if (row < 0) {\n\t row = 0;\n\t } else if (row >= length) {\n\t row = length - 1;\n\t column = undefined;\n\t }\n\t var line = this.getLine(row);\n\t if (column == undefined)\n\t column = line.length;\n\t column = Math.min(Math.max(column, 0), line.length);\n\t return {row: row, column: column};\n\t };\n\t \n\t this.clonePos = function(pos) {\n\t return {row: pos.row, column: pos.column};\n\t };\n\t \n\t this.pos = function(row, column) {\n\t return {row: row, column: column};\n\t };\n\t \n\t this.$clipPosition = function(position) {\n\t var length = this.getLength();\n\t if (position.row >= length) {\n\t position.row = Math.max(0, length - 1);\n\t position.column = this.getLine(length - 1).length;\n\t } else {\n\t position.row = Math.max(0, position.row);\n\t position.column = Math.min(Math.max(position.column, 0), this.getLine(position.row).length);\n\t }\n\t return position;\n\t };\n\t this.insertFullLines = function(row, lines) {\n\t row = Math.min(Math.max(row, 0), this.getLength());\n\t var column = 0;\n\t if (row < this.getLength()) {\n\t lines = lines.concat([\"\"]);\n\t column = 0;\n\t } else {\n\t lines = [\"\"].concat(lines);\n\t row--;\n\t column = this.$lines[row].length;\n\t }\n\t this.insertMergedLines({row: row, column: column}, lines);\n\t }; \n\t this.insertMergedLines = function(position, lines) {\n\t var start = this.clippedPos(position.row, position.column);\n\t var end = {\n\t row: start.row + lines.length - 1,\n\t column: (lines.length == 1 ? start.column : 0) + lines[lines.length - 1].length\n\t };\n\t \n\t this.applyDelta({\n\t start: start,\n\t end: end,\n\t action: \"insert\",\n\t lines: lines\n\t });\n\t \n\t return this.clonePos(end);\n\t };\n\t this.remove = function(range) {\n\t var start = this.clippedPos(range.start.row, range.start.column);\n\t var end = this.clippedPos(range.end.row, range.end.column);\n\t this.applyDelta({\n\t start: start,\n\t end: end,\n\t action: \"remove\",\n\t lines: this.getLinesForRange({start: start, end: end})\n\t });\n\t return this.clonePos(start);\n\t };\n\t this.removeInLine = function(row, startColumn, endColumn) {\n\t var start = this.clippedPos(row, startColumn);\n\t var end = this.clippedPos(row, endColumn);\n\t \n\t this.applyDelta({\n\t start: start,\n\t end: end,\n\t action: \"remove\",\n\t lines: this.getLinesForRange({start: start, end: end})\n\t }, true);\n\t \n\t return this.clonePos(start);\n\t };\n\t this.removeFullLines = function(firstRow, lastRow) {\n\t firstRow = Math.min(Math.max(0, firstRow), this.getLength() - 1);\n\t lastRow = Math.min(Math.max(0, lastRow ), this.getLength() - 1);\n\t var deleteFirstNewLine = lastRow == this.getLength() - 1 && firstRow > 0;\n\t var deleteLastNewLine = lastRow < this.getLength() - 1;\n\t var startRow = ( deleteFirstNewLine ? firstRow - 1 : firstRow );\n\t var startCol = ( deleteFirstNewLine ? this.getLine(startRow).length : 0 );\n\t var endRow = ( deleteLastNewLine ? lastRow + 1 : lastRow );\n\t var endCol = ( deleteLastNewLine ? 0 : this.getLine(endRow).length ); \n\t var range = new Range(startRow, startCol, endRow, endCol);\n\t var deletedLines = this.$lines.slice(firstRow, lastRow + 1);\n\t \n\t this.applyDelta({\n\t start: range.start,\n\t end: range.end,\n\t action: \"remove\",\n\t lines: this.getLinesForRange(range)\n\t });\n\t return deletedLines;\n\t };\n\t this.removeNewLine = function(row) {\n\t if (row < this.getLength() - 1 && row >= 0) {\n\t this.applyDelta({\n\t start: this.pos(row, this.getLine(row).length),\n\t end: this.pos(row + 1, 0),\n\t action: \"remove\",\n\t lines: [\"\", \"\"]\n\t });\n\t }\n\t };\n\t this.replace = function(range, text) {\n\t if (!(range instanceof Range))\n\t range = Range.fromPoints(range.start, range.end);\n\t if (text.length === 0 && range.isEmpty())\n\t return range.start;\n\t if (text == this.getTextRange(range))\n\t return range.end;\n\t\n\t this.remove(range);\n\t var end;\n\t if (text) {\n\t end = this.insert(range.start, text);\n\t }\n\t else {\n\t end = range.start;\n\t }\n\t \n\t return end;\n\t };\n\t this.applyDeltas = function(deltas) {\n\t for (var i=0; i<deltas.length; i++) {\n\t this.applyDelta(deltas[i]);\n\t }\n\t };\n\t this.revertDeltas = function(deltas) {\n\t for (var i=deltas.length-1; i>=0; i--) {\n\t this.revertDelta(deltas[i]);\n\t }\n\t };\n\t this.applyDelta = function(delta, doNotValidate) {\n\t var isInsert = delta.action == \"insert\";\n\t if (isInsert ? delta.lines.length <= 1 && !delta.lines[0]\n\t : !Range.comparePoints(delta.start, delta.end)) {\n\t return;\n\t }\n\t \n\t if (isInsert && delta.lines.length > 20000)\n\t this.$splitAndapplyLargeDelta(delta, 20000);\n\t applyDelta(this.$lines, delta, doNotValidate);\n\t this._signal(\"change\", delta);\n\t };\n\t \n\t this.$splitAndapplyLargeDelta = function(delta, MAX) {\n\t var lines = delta.lines;\n\t var l = lines.length;\n\t var row = delta.start.row; \n\t var column = delta.start.column;\n\t var from = 0, to = 0;\n\t do {\n\t from = to;\n\t to += MAX - 1;\n\t var chunk = lines.slice(from, to);\n\t if (to > l) {\n\t delta.lines = chunk;\n\t delta.start.row = row + from;\n\t delta.start.column = column;\n\t break;\n\t }\n\t chunk.push(\"\");\n\t this.applyDelta({\n\t start: this.pos(row + from, column),\n\t end: this.pos(row + to, column = 0),\n\t action: delta.action,\n\t lines: chunk\n\t }, true);\n\t } while(true);\n\t };\n\t this.revertDelta = function(delta) {\n\t this.applyDelta({\n\t start: this.clonePos(delta.start),\n\t end: this.clonePos(delta.end),\n\t action: (delta.action == \"insert\" ? \"remove\" : \"insert\"),\n\t lines: delta.lines.slice()\n\t });\n\t };\n\t this.indexToPosition = function(index, startRow) {\n\t var lines = this.$lines || this.getAllLines();\n\t var newlineLength = this.getNewLineCharacter().length;\n\t for (var i = startRow || 0, l = lines.length; i < l; i++) {\n\t index -= lines[i].length + newlineLength;\n\t if (index < 0)\n\t return {row: i, column: index + lines[i].length + newlineLength};\n\t }\n\t return {row: l-1, column: lines[l-1].length};\n\t };\n\t this.positionToIndex = function(pos, startRow) {\n\t var lines = this.$lines || this.getAllLines();\n\t var newlineLength = this.getNewLineCharacter().length;\n\t var index = 0;\n\t var row = Math.min(pos.row, lines.length);\n\t for (var i = startRow || 0; i < row; ++i)\n\t index += lines[i].length + newlineLength;\n\t\n\t return index + pos.column;\n\t };\n\t\n\t}).call(Document.prototype);\n\t\n\texports.Document = Document;\n\t});\n\t\n\tace.define(\"ace/background_tokenizer\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/lib/event_emitter\"], function(acequire, exports, module) {\n\t\"use strict\";\n\t\n\tvar oop = acequire(\"./lib/oop\");\n\tvar EventEmitter = acequire(\"./lib/event_emitter\").EventEmitter;\n\t\n\tvar BackgroundTokenizer = function(tokenizer, editor) {\n\t this.running = false;\n\t this.lines = [];\n\t this.states = [];\n\t this.currentLine = 0;\n\t this.tokenizer = tokenizer;\n\t\n\t var self = this;\n\t\n\t this.$worker = function() {\n\t if (!self.running) { return; }\n\t\n\t var workerStart = new Date();\n\t var currentLine = self.currentLine;\n\t var endLine = -1;\n\t var doc = self.doc;\n\t\n\t var startLine = currentLine;\n\t while (self.lines[currentLine])\n\t currentLine++;\n\t \n\t var len = doc.getLength();\n\t var processedLines = 0;\n\t self.running = false;\n\t while (currentLine < len) {\n\t self.$tokenizeRow(currentLine);\n\t endLine = currentLine;\n\t do {\n\t currentLine++;\n\t } while (self.lines[currentLine]);\n\t processedLines ++;\n\t if ((processedLines % 5 === 0) && (new Date() - workerStart) > 20) { \n\t self.running = setTimeout(self.$worker, 20);\n\t break;\n\t }\n\t }\n\t self.currentLine = currentLine;\n\t \n\t if (startLine <= endLine)\n\t self.fireUpdateEvent(startLine, endLine);\n\t };\n\t};\n\t\n\t(function(){\n\t\n\t oop.implement(this, EventEmitter);\n\t this.setTokenizer = function(tokenizer) {\n\t this.tokenizer = tokenizer;\n\t this.lines = [];\n\t this.states = [];\n\t\n\t this.start(0);\n\t };\n\t this.setDocument = function(doc) {\n\t this.doc = doc;\n\t this.lines = [];\n\t this.states = [];\n\t\n\t this.stop();\n\t };\n\t this.fireUpdateEvent = function(firstRow, lastRow) {\n\t var data = {\n\t first: firstRow,\n\t last: lastRow\n\t };\n\t this._signal(\"update\", {data: data});\n\t };\n\t this.start = function(startRow) {\n\t this.currentLine = Math.min(startRow || 0, this.currentLine, this.doc.getLength());\n\t this.lines.splice(this.currentLine, this.lines.length);\n\t this.states.splice(this.currentLine, this.states.length);\n\t\n\t this.stop();\n\t this.running = setTimeout(this.$worker, 700);\n\t };\n\t \n\t this.scheduleStart = function() {\n\t if (!this.running)\n\t this.running = setTimeout(this.$worker, 700);\n\t }\n\t\n\t this.$updateOnChange = function(delta) {\n\t var startRow = delta.start.row;\n\t var len = delta.end.row - startRow;\n\t\n\t if (len === 0) {\n\t this.lines[startRow] = null;\n\t } else if (delta.action == \"remove\") {\n\t this.lines.splice(startRow, len + 1, null);\n\t this.states.splice(startRow, len + 1, null);\n\t } else {\n\t var args = Array(len + 1);\n\t args.unshift(startRow, 1);\n\t this.lines.splice.apply(this.lines, args);\n\t this.states.splice.apply(this.states, args);\n\t }\n\t\n\t this.currentLine = Math.min(startRow, this.currentLine, this.doc.getLength());\n\t\n\t this.stop();\n\t };\n\t this.stop = function() {\n\t if (this.running)\n\t clearTimeout(this.running);\n\t this.running = false;\n\t };\n\t this.getTokens = function(row) {\n\t return this.lines[row] || this.$tokenizeRow(row);\n\t };\n\t this.getState = function(row) {\n\t if (this.currentLine == row)\n\t this.$tokenizeRow(row);\n\t return this.states[row] || \"start\";\n\t };\n\t\n\t this.$tokenizeRow = function(row) {\n\t var line = this.doc.getLine(row);\n\t var state = this.states[row - 1];\n\t\n\t var data = this.tokenizer.getLineTokens(line, state, row);\n\t\n\t if (this.states[row] + \"\" !== data.state + \"\") {\n\t this.states[row] = data.state;\n\t this.lines[row + 1] = null;\n\t if (this.currentLine > row + 1)\n\t this.currentLine = row + 1;\n\t } else if (this.currentLine == row) {\n\t this.currentLine = row + 1;\n\t }\n\t\n\t return this.lines[row] = data.tokens;\n\t };\n\t\n\t}).call(BackgroundTokenizer.prototype);\n\t\n\texports.BackgroundTokenizer = BackgroundTokenizer;\n\t});\n\t\n\tace.define(\"ace/search_highlight\",[\"require\",\"exports\",\"module\",\"ace/lib/lang\",\"ace/lib/oop\",\"ace/range\"], function(acequire, exports, module) {\n\t\"use strict\";\n\t\n\tvar lang = acequire(\"./lib/lang\");\n\tvar oop = acequire(\"./lib/oop\");\n\tvar Range = acequire(\"./range\").Range;\n\t\n\tvar SearchHighlight = function(regExp, clazz, type) {\n\t this.setRegexp(regExp);\n\t this.clazz = clazz;\n\t this.type = type || \"text\";\n\t};\n\t\n\t(function() {\n\t this.MAX_RANGES = 500;\n\t \n\t this.setRegexp = function(regExp) {\n\t if (this.regExp+\"\" == regExp+\"\")\n\t return;\n\t this.regExp = regExp;\n\t this.cache = [];\n\t };\n\t\n\t this.update = function(html, markerLayer, session, config) {\n\t if (!this.regExp)\n\t return;\n\t var start = config.firstRow, end = config.lastRow;\n\t\n\t for (var i = start; i <= end; i++) {\n\t var ranges = this.cache[i];\n\t if (ranges == null) {\n\t ranges = lang.getMatchOffsets(session.getLine(i), this.regExp);\n\t if (ranges.length > this.MAX_RANGES)\n\t ranges = ranges.slice(0, this.MAX_RANGES);\n\t ranges = ranges.map(function(match) {\n\t return new Range(i, match.offset, i, match.offset + match.length);\n\t });\n\t this.cache[i] = ranges.length ? ranges : \"\";\n\t }\n\t\n\t for (var j = ranges.length; j --; ) {\n\t markerLayer.drawSingleLineMarker(\n\t html, ranges[j].toScreenRange(session), this.clazz, config);\n\t }\n\t }\n\t };\n\t\n\t}).call(SearchHighlight.prototype);\n\t\n\texports.SearchHighlight = SearchHighlight;\n\t});\n\t\n\tace.define(\"ace/edit_session/fold_line\",[\"require\",\"exports\",\"module\",\"ace/range\"], function(acequire, exports, module) {\n\t\"use strict\";\n\t\n\tvar Range = acequire(\"../range\").Range;\n\tfunction FoldLine(foldData, folds) {\n\t this.foldData = foldData;\n\t if (Array.isArray(folds)) {\n\t this.folds = folds;\n\t } else {\n\t folds = this.folds = [ folds ];\n\t }\n\t\n\t var last = folds[folds.length - 1];\n\t this.range = new Range(folds[0].start.row, folds[0].start.column,\n\t last.end.row, last.end.column);\n\t this.start = this.range.start;\n\t this.end = this.range.end;\n\t\n\t this.folds.forEach(function(fold) {\n\t fold.setFoldLine(this);\n\t }, this);\n\t}\n\t\n\t(function() {\n\t this.shiftRow = function(shift) {\n\t this.start.row += shift;\n\t this.end.row += shift;\n\t this.folds.forEach(function(fold) {\n\t fold.start.row += shift;\n\t fold.end.row += shift;\n\t });\n\t };\n\t\n\t this.addFold = function(fold) {\n\t if (fold.sameRow) {\n\t if (fold.start.row < this.startRow || fold.endRow > this.endRow) {\n\t throw new Error(\"Can't add a fold to this FoldLine as it has no connection\");\n\t }\n\t this.folds.push(fold);\n\t this.folds.sort(function(a, b) {\n\t return -a.range.compareEnd(b.start.row, b.start.column);\n\t });\n\t if (this.range.compareEnd(fold.start.row, fold.start.column) > 0) {\n\t this.end.row = fold.end.row;\n\t this.end.column = fold.end.column;\n\t } else if (this.range.compareStart(fold.end.row, fold.end.column) < 0) {\n\t this.start.row = fold.start.row;\n\t this.start.column = fold.start.column;\n\t }\n\t } else if (fold.start.row == this.end.row) {\n\t this.folds.push(fold);\n\t this.end.row = fold.end.row;\n\t this.end.column = fold.end.column;\n\t } else if (fold.end.row == this.start.row) {\n\t this.folds.unshift(fold);\n\t this.start.row = fold.start.row;\n\t this.start.column = fold.start.column;\n\t } else {\n\t throw new Error(\"Trying to add fold to FoldRow that doesn't have a matching row\");\n\t }\n\t fold.foldLine = this;\n\t };\n\t\n\t this.containsRow = function(row) {\n\t return row >= this.start.row && row <= this.end.row;\n\t };\n\t\n\t this.walk = function(callback, endRow, endColumn) {\n\t var lastEnd = 0,\n\t folds = this.folds,\n\t fold,\n\t cmp, stop, isNewRow = true;\n\t\n\t if (endRow == null) {\n\t endRow = this.end.row;\n\t endColumn = this.end.column;\n\t }\n\t\n\t for (var i = 0; i < folds.length; i++) {\n\t fold = folds[i];\n\t\n\t cmp = fold.range.compareStart(endRow, endColumn);\n\t if (cmp == -1) {\n\t callback(null, endRow, endColumn, lastEnd, isNewRow);\n\t return;\n\t }\n\t\n\t stop = callback(null, fold.start.row, fold.start.column, lastEnd, isNewRow);\n\t stop = !stop && callback(fold.placeholder, fold.start.row, fold.start.column, lastEnd);\n\t if (stop || cmp === 0) {\n\t return;\n\t }\n\t isNewRow = !fold.sameRow;\n\t lastEnd = fold.end.column;\n\t }\n\t callback(null, endRow, endColumn, lastEnd, isNewRow);\n\t };\n\t\n\t this.getNextFoldTo = function(row, column) {\n\t var fold, cmp;\n\t for (var i = 0; i < this.folds.length; i++) {\n\t fold = this.folds[i];\n\t cmp = fold.range.compareEnd(row, column);\n\t if (cmp == -1) {\n\t return {\n\t fold: fold,\n\t kind: \"after\"\n\t };\n\t } else if (cmp === 0) {\n\t return {\n\t fold: fold,\n\t kind: \"inside\"\n\t };\n\t }\n\t }\n\t return null;\n\t };\n\t\n\t this.addRemoveChars = function(row, column, len) {\n\t var ret = this.getNextFoldTo(row, column),\n\t fold, folds;\n\t if (ret) {\n\t fold = ret.fold;\n\t if (ret.kind == \"inside\"\n\t && fold.start.column != column\n\t && fold.start.row != row)\n\t {\n\t window.console && window.console.log(row, column, fold);\n\t } else if (fold.start.row == row) {\n\t folds = this.folds;\n\t var i = folds.indexOf(fold);\n\t if (i === 0) {\n\t this.start.column += len;\n\t }\n\t for (i; i < folds.length; i++) {\n\t fold = folds[i];\n\t fold.start.column += len;\n\t if (!fold.sameRow) {\n\t return;\n\t }\n\t fold.end.column += len;\n\t }\n\t this.end.column += len;\n\t }\n\t }\n\t };\n\t\n\t this.split = function(row, column) {\n\t var pos = this.getNextFoldTo(row, column);\n\t \n\t if (!pos || pos.kind == \"inside\")\n\t return null;\n\t \n\t var fold = pos.fold;\n\t var folds = this.folds;\n\t var foldData = this.foldData;\n\t \n\t var i = folds.indexOf(fold);\n\t var foldBefore = folds[i - 1];\n\t this.end.row = foldBefore.end.row;\n\t this.end.column = foldBefore.end.column;\n\t folds = folds.splice(i, folds.length - i);\n\t\n\t var newFoldLine = new FoldLine(foldData, folds);\n\t foldData.splice(foldData.indexOf(this) + 1, 0, newFoldLine);\n\t return newFoldLine;\n\t };\n\t\n\t this.merge = function(foldLineNext) {\n\t var folds = foldLineNext.folds;\n\t for (var i = 0; i < folds.length; i++) {\n\t this.addFold(folds[i]);\n\t }\n\t var foldData = this.foldData;\n\t foldData.splice(foldData.indexOf(foldLineNext), 1);\n\t };\n\t\n\t this.toString = function() {\n\t var ret = [this.range.toString() + \": [\" ];\n\t\n\t this.folds.forEach(function(fold) {\n\t ret.push(\" \" + fold.toString());\n\t });\n\t ret.push(\"]\");\n\t return ret.join(\"\\n\");\n\t };\n\t\n\t this.idxToPosition = function(idx) {\n\t var lastFoldEndColumn = 0;\n\t\n\t for (var i = 0; i < this.folds.length; i++) {\n\t var fold = this.folds[i];\n\t\n\t idx -= fold.start.column - lastFoldEndColumn;\n\t if (idx < 0) {\n\t return {\n\t row: fold.start.row,\n\t column: fold.start.column + idx\n\t };\n\t }\n\t\n\t idx -= fold.placeholder.length;\n\t if (idx < 0) {\n\t return fold.start;\n\t }\n\t\n\t lastFoldEndColumn = fold.end.column;\n\t }\n\t\n\t return {\n\t row: this.end.row,\n\t column: this.end.column + idx\n\t };\n\t };\n\t}).call(FoldLine.prototype);\n\t\n\texports.FoldLine = FoldLine;\n\t});\n\t\n\tace.define(\"ace/range_list\",[\"require\",\"exports\",\"module\",\"ace/range\"], function(acequire, exports, module) {\n\t\"use strict\";\n\tvar Range = acequire(\"./range\").Range;\n\tvar comparePoints = Range.comparePoints;\n\t\n\tvar RangeList = function() {\n\t this.ranges = [];\n\t};\n\t\n\t(function() {\n\t this.comparePoints = comparePoints;\n\t\n\t this.pointIndex = function(pos, excludeEdges, startIndex) {\n\t var list = this.ranges;\n\t\n\t for (var i = startIndex || 0; i < list.length; i++) {\n\t var range = list[i];\n\t var cmpEnd = comparePoints(pos, range.end);\n\t if (cmpEnd > 0)\n\t continue;\n\t var cmpStart = comparePoints(pos, range.start);\n\t if (cmpEnd === 0)\n\t return excludeEdges && cmpStart !== 0 ? -i-2 : i;\n\t if (cmpStart > 0 || (cmpStart === 0 && !excludeEdges))\n\t return i;\n\t\n\t return -i-1;\n\t }\n\t return -i - 1;\n\t };\n\t\n\t this.add = function(range) {\n\t var excludeEdges = !range.isEmpty();\n\t var startIndex = this.pointIndex(range.start, excludeEdges);\n\t if (startIndex < 0)\n\t startIndex = -startIndex - 1;\n\t\n\t var endIndex = this.pointIndex(range.end, excludeEdges, startIndex);\n\t\n\t if (endIndex < 0)\n\t endIndex = -endIndex - 1;\n\t else\n\t endIndex++;\n\t return this.ranges.splice(startIndex, endIndex - startIndex, range);\n\t };\n\t\n\t this.addList = function(list) {\n\t var removed = [];\n\t for (var i = list.length; i--; ) {\n\t removed.push.apply(removed, this.add(list[i]));\n\t }\n\t return removed;\n\t };\n\t\n\t this.substractPoint = function(pos) {\n\t var i = this.pointIndex(pos);\n\t\n\t if (i >= 0)\n\t return this.ranges.splice(i, 1);\n\t };\n\t this.merge = function() {\n\t var removed = [];\n\t var list = this.ranges;\n\t \n\t list = list.sort(function(a, b) {\n\t return comparePoints(a.start, b.start);\n\t });\n\t \n\t var next = list[0], range;\n\t for (var i = 1; i < list.length; i++) {\n\t range = next;\n\t next = list[i];\n\t var cmp = comparePoints(range.end, next.start);\n\t if (cmp < 0)\n\t continue;\n\t\n\t if (cmp == 0 && !range.isEmpty() && !next.isEmpty())\n\t continue;\n\t\n\t if (comparePoints(range.end, next.end) < 0) {\n\t range.end.row = next.end.row;\n\t range.end.column = next.end.column;\n\t }\n\t\n\t list.splice(i, 1);\n\t removed.push(next);\n\t next = range;\n\t i--;\n\t }\n\t \n\t this.ranges = list;\n\t\n\t return removed;\n\t };\n\t\n\t this.contains = function(row, column) {\n\t return this.pointIndex({row: row, column: column}) >= 0;\n\t };\n\t\n\t this.containsPoint = function(pos) {\n\t return this.pointIndex(pos) >= 0;\n\t };\n\t\n\t this.rangeAtPoint = function(pos) {\n\t var i = this.pointIndex(pos);\n\t if (i >= 0)\n\t return this.ranges[i];\n\t };\n\t\n\t\n\t this.clipRows = function(startRow, endRow) {\n\t var list = this.ranges;\n\t if (list[0].start.row > endRow || list[list.length - 1].start.row < startRow)\n\t return [];\n\t\n\t var startIndex = this.pointIndex({row: startRow, column: 0});\n\t if (startIndex < 0)\n\t startIndex = -startIndex - 1;\n\t var endIndex = this.pointIndex({row: endRow, column: 0}, startIndex);\n\t if (endIndex < 0)\n\t endIndex = -endIndex - 1;\n\t\n\t var clipped = [];\n\t for (var i = startIndex; i < endIndex; i++) {\n\t clipped.push(list[i]);\n\t }\n\t return clipped;\n\t };\n\t\n\t this.removeAll = function() {\n\t return this.ranges.splice(0, this.ranges.length);\n\t };\n\t\n\t this.attach = function(session) {\n\t if (this.session)\n\t this.detach();\n\t\n\t this.session = session;\n\t this.onChange = this.$onChange.bind(this);\n\t\n\t this.session.on('change', this.onChange);\n\t };\n\t\n\t this.detach = function() {\n\t if (!this.session)\n\t return;\n\t this.session.removeListener('change', this.onChange);\n\t this.session = null;\n\t };\n\t\n\t this.$onChange = function(delta) {\n\t if (delta.action == \"insert\"){\n\t var start = delta.start;\n\t var end = delta.end;\n\t } else {\n\t var end = delta.start;\n\t var start = delta.end;\n\t }\n\t var startRow = start.row;\n\t var endRow = end.row;\n\t var lineDif = endRow - startRow;\n\t\n\t var colDiff = -start.column + end.column;\n\t var ranges = this.ranges;\n\t\n\t for (var i = 0, n = ranges.length; i < n; i++) {\n\t var r = ranges[i];\n\t if (r.end.row < startRow)\n\t continue;\n\t if (r.start.row > startRow)\n\t break;\n\t\n\t if (r.start.row == startRow && r.start.column >= start.column ) {\n\t if (r.start.column == start.column && this.$insertRight) {\n\t } else {\n\t r.start.column += colDiff;\n\t r.start.row += lineDif;\n\t }\n\t }\n\t if (r.end.row == startRow && r.end.column >= start.column) {\n\t if (r.end.column == start.column && this.$insertRight) {\n\t continue;\n\t }\n\t if (r.end.column == start.column && colDiff > 0 && i < n - 1) { \n\t if (r.end.column > r.start.column && r.end.column == ranges[i+1].start.column)\n\t r.end.column -= colDiff;\n\t }\n\t r.end.column += colDiff;\n\t r.end.row += lineDif;\n\t }\n\t }\n\t\n\t if (lineDif != 0 && i < n) {\n\t for (; i < n; i++) {\n\t var r = ranges[i];\n\t r.start.row += lineDif;\n\t r.end.row += lineDif;\n\t }\n\t }\n\t };\n\t\n\t}).call(RangeList.prototype);\n\t\n\texports.RangeList = RangeList;\n\t});\n\t\n\tace.define(\"ace/edit_session/fold\",[\"require\",\"exports\",\"module\",\"ace/range\",\"ace/range_list\",\"ace/lib/oop\"], function(acequire, exports, module) {\n\t\"use strict\";\n\t\n\tvar Range = acequire(\"../range\").Range;\n\tvar RangeList = acequire(\"../range_list\").RangeList;\n\tvar oop = acequire(\"../lib/oop\")\n\tvar Fold = exports.Fold = function(range, placeholder) {\n\t this.foldLine = null;\n\t this.placeholder = placeholder;\n\t this.range = range;\n\t this.start = range.start;\n\t this.end = range.end;\n\t\n\t this.sameRow = range.start.row == range.end.row;\n\t this.subFolds = this.ranges = [];\n\t};\n\t\n\toop.inherits(Fold, RangeList);\n\t\n\t(function() {\n\t\n\t this.toString = function() {\n\t return '\"' + this.placeholder + '\" ' + this.range.toString();\n\t };\n\t\n\t this.setFoldLine = function(foldLine) {\n\t this.foldLine = foldLine;\n\t this.subFolds.forEach(function(fold) {\n\t fold.setFoldLine(foldLine);\n\t });\n\t };\n\t\n\t this.clone = function() {\n\t var range = this.range.clone();\n\t var fold = new Fold(range, this.placeholder);\n\t this.subFolds.forEach(function(subFold) {\n\t fold.subFolds.push(subFold.clone());\n\t });\n\t fold.collapseChildren = this.collapseChildren;\n\t return fold;\n\t };\n\t\n\t this.addSubFold = function(fold) {\n\t if (this.range.isEqual(fold))\n\t return;\n\t\n\t if (!this.range.containsRange(fold))\n\t throw new Error(\"A fold can't intersect already existing fold\" + fold.range + this.range);\n\t consumeRange(fold, this.start);\n\t\n\t var row = fold.start.row, column = fold.start.column;\n\t for (var i = 0, cmp = -1; i < this.subFolds.length; i++) {\n\t cmp = this.subFolds[i].range.compare(row, column);\n\t if (cmp != 1)\n\t break;\n\t }\n\t var afterStart = this.subFolds[i];\n\t\n\t if (cmp == 0)\n\t return afterStart.addSubFold(fold);\n\t var row = fold.range.end.row, column = fold.range.end.column;\n\t for (var j = i, cmp = -1; j < this.subFolds.length; j++) {\n\t cmp = this.subFolds[j].range.compare(row, column);\n\t if (cmp != 1)\n\t break;\n\t }\n\t var afterEnd = this.subFolds[j];\n\t\n\t if (cmp == 0)\n\t throw new Error(\"A fold can't intersect already existing fold\" + fold.range + this.range);\n\t\n\t var consumedFolds = this.subFolds.splice(i, j - i, fold);\n\t fold.setFoldLine(this.foldLine);\n\t\n\t return fold;\n\t };\n\t \n\t this.restoreRange = function(range) {\n\t return restoreRange(range, this.start);\n\t };\n\t\n\t}).call(Fold.prototype);\n\t\n\tfunction consumePoint(point, anchor) {\n\t point.row -= anchor.row;\n\t if (point.row == 0)\n\t point.column -= anchor.column;\n\t}\n\tfunction consumeRange(range, anchor) {\n\t consumePoint(range.start, anchor);\n\t consumePoint(range.end, anchor);\n\t}\n\tfunction restorePoint(point, anchor) {\n\t if (point.row == 0)\n\t point.column += anchor.column;\n\t point.row += anchor.row;\n\t}\n\tfunction restoreRange(range, anchor) {\n\t restorePoint(range.start, anchor);\n\t restorePoint(range.end, anchor);\n\t}\n\t\n\t});\n\t\n\tace.define(\"ace/edit_session/folding\",[\"require\",\"exports\",\"module\",\"ace/range\",\"ace/edit_session/fold_line\",\"ace/edit_session/fold\",\"ace/token_iterator\"], function(acequire, exports, module) {\n\t\"use strict\";\n\t\n\tvar Range = acequire(\"../range\").Range;\n\tvar FoldLine = acequire(\"./fold_line\").FoldLine;\n\tvar Fold = acequire(\"./fold\").Fold;\n\tvar TokenIterator = acequire(\"../token_iterator\").TokenIterator;\n\t\n\tfunction Folding() {\n\t this.getFoldAt = function(row, column, side) {\n\t var foldLine = this.getFoldLine(row);\n\t if (!foldLine)\n\t return null;\n\t\n\t var folds = foldLine.folds;\n\t for (var i = 0; i < folds.length; i++) {\n\t var fold = folds[i];\n\t if (fold.range.contains(row, column)) {\n\t if (side == 1 && fold.range.isEnd(row, column)) {\n\t continue;\n\t } else if (side == -1 && fold.range.isStart(row, column)) {\n\t continue;\n\t }\n\t return fold;\n\t }\n\t }\n\t };\n\t this.getFoldsInRange = function(range) {\n\t var start = range.start;\n\t var end = range.end;\n\t var foldLines = this.$foldData;\n\t var foundFolds = [];\n\t\n\t start.column += 1;\n\t end.column -= 1;\n\t\n\t for (var i = 0; i < foldLines.length; i++) {\n\t var cmp = foldLines[i].range.compareRange(range);\n\t if (cmp == 2) {\n\t continue;\n\t }\n\t else if (cmp == -2) {\n\t break;\n\t }\n\t\n\t var folds = foldLines[i].folds;\n\t for (var j = 0; j < folds.length; j++) {\n\t var fold = folds[j];\n\t cmp = fold.range.compareRange(range);\n\t if (cmp == -2) {\n\t break;\n\t } else if (cmp == 2) {\n\t continue;\n\t } else\n\t if (cmp == 42) {\n\t break;\n\t }\n\t foundFolds.push(fold);\n\t }\n\t }\n\t start.column -= 1;\n\t end.column += 1;\n\t\n\t return foundFolds;\n\t };\n\t\n\t this.getFoldsInRangeList = function(ranges) {\n\t if (Array.isArray(ranges)) {\n\t var folds = [];\n\t ranges.forEach(function(range) {\n\t folds = folds.concat(this.getFoldsInRange(range));\n\t }, this);\n\t } else {\n\t var folds = this.getFoldsInRange(ranges);\n\t }\n\t return folds;\n\t };\n\t this.getAllFolds = function() {\n\t var folds = [];\n\t var foldLines = this.$foldData;\n\t \n\t for (var i = 0; i < foldLines.length; i++)\n\t for (var j = 0; j < foldLines[i].folds.length; j++)\n\t folds.push(foldLines[i].folds[j]);\n\t\n\t return folds;\n\t };\n\t this.getFoldStringAt = function(row, column, trim, foldLine) {\n\t foldLine = foldLine || this.getFoldLine(row);\n\t if (!foldLine)\n\t return null;\n\t\n\t var lastFold = {\n\t end: { column: 0 }\n\t };\n\t var str, fold;\n\t for (var i = 0; i < foldLine.folds.length; i++) {\n\t fold = foldLine.folds[i];\n\t var cmp = fold.range.compareEnd(row, column);\n\t if (cmp == -1) {\n\t str = this\n\t .getLine(fold.start.row)\n\t .substring(lastFold.end.column, fold.start.column);\n\t break;\n\t }\n\t else if (cmp === 0) {\n\t return null;\n\t }\n\t lastFold = fold;\n\t }\n\t if (!str)\n\t str = this.getLine(fold.start.row).substring(lastFold.end.column);\n\t\n\t if (trim == -1)\n\t return str.substring(0, column - lastFold.end.column);\n\t else if (trim == 1)\n\t return str.substring(column - lastFold.end.column);\n\t else\n\t return str;\n\t };\n\t\n\t this.getFoldLine = function(docRow, startFoldLine) {\n\t var foldData = this.$foldData;\n\t var i = 0;\n\t if (startFoldLine)\n\t i = foldData.indexOf(startFoldLine);\n\t if (i == -1)\n\t i = 0;\n\t for (i; i < foldData.length; i++) {\n\t var foldLine = foldData[i];\n\t if (foldLine.start.row <= docRow && foldLine.end.row >= docRow) {\n\t return foldLine;\n\t } else if (foldLine.end.row > docRow) {\n\t return null;\n\t }\n\t }\n\t return null;\n\t };\n\t this.getNextFoldLine = function(docRow, startFoldLine) {\n\t var foldData = this.$foldData;\n\t var i = 0;\n\t if (startFoldLine)\n\t i = foldData.indexOf(startFoldLine);\n\t if (i == -1)\n\t i = 0;\n\t for (i; i < foldData.length; i++) {\n\t var foldLine = foldData[i];\n\t if (foldLine.end.row >= docRow) {\n\t return foldLine;\n\t }\n\t }\n\t return null;\n\t };\n\t\n\t this.getFoldedRowCount = function(first, last) {\n\t var foldData = this.$foldData, rowCount = last-first+1;\n\t for (var i = 0; i < foldData.length; i++) {\n\t var foldLine = foldData[i],\n\t end = foldLine.end.row,\n\t start = foldLine.start.row;\n\t if (end >= last) {\n\t if (start < last) {\n\t if (start >= first)\n\t rowCount -= last-start;\n\t else\n\t rowCount = 0; // in one fold\n\t }\n\t break;\n\t } else if (end >= first){\n\t if (start >= first) // fold inside range\n\t rowCount -= end-start;\n\t else\n\t rowCount -= end-first+1;\n\t }\n\t }\n\t return rowCount;\n\t };\n\t\n\t this.$addFoldLine = function(foldLine) {\n\t this.$foldData.push(foldLine);\n\t this.$foldData.sort(function(a, b) {\n\t return a.start.row - b.start.row;\n\t });\n\t return foldLine;\n\t };\n\t this.addFold = function(placeholder, range) {\n\t var foldData = this.$foldData;\n\t var added = false;\n\t var fold;\n\t \n\t if (placeholder instanceof Fold)\n\t fold = placeholder;\n\t else {\n\t fold = new Fold(range, placeholder);\n\t fold.collapseChildren = range.collapseChildren;\n\t }\n\t this.$clipRangeToDocument(fold.range);\n\t\n\t var startRow = fold.start.row;\n\t var startColumn = fold.start.column;\n\t var endRow = fold.end.row;\n\t var endColumn = fold.end.column;\n\t if (!(startRow < endRow || \n\t startRow == endRow && startColumn <= endColumn - 2))\n\t throw new Error(\"The range has to be at least 2 characters width\");\n\t\n\t var startFold = this.getFoldAt(startRow, startColumn, 1);\n\t var endFold = this.getFoldAt(endRow, endColumn, -1);\n\t if (startFold && endFold == startFold)\n\t return startFold.addSubFold(fold);\n\t\n\t if (startFold && !startFold.range.isStart(startRow, startColumn))\n\t this.removeFold(startFold);\n\t \n\t if (endFold && !endFold.range.isEnd(endRow, endColumn))\n\t this.removeFold(endFold);\n\t var folds = this.getFoldsInRange(fold.range);\n\t if (folds.length > 0) {\n\t this.removeFolds(folds);\n\t folds.forEach(function(subFold) {\n\t fold.addSubFold(subFold);\n\t });\n\t }\n\t\n\t for (var i = 0; i < foldData.length; i++) {\n\t var foldLine = foldData[i];\n\t if (endRow == foldLine.start.row) {\n\t foldLine.addFold(fold);\n\t added = true;\n\t break;\n\t } else if (startRow == foldLine.end.row) {\n\t foldLine.addFold(fold);\n\t added = true;\n\t if (!fold.sameRow) {\n\t var foldLineNext = foldData[i + 1];\n\t if (foldLineNext && foldLineNext.start.row == endRow) {\n\t foldLine.merge(foldLineNext);\n\t break;\n\t }\n\t }\n\t break;\n\t } else if (endRow <= foldLine.start.row) {\n\t break;\n\t }\n\t }\n\t\n\t if (!added)\n\t foldLine = this.$addFoldLine(new FoldLine(this.$foldData, fold));\n\t\n\t if (this.$useWrapMode)\n\t this.$updateWrapData(foldLine.start.row, foldLine.start.row);\n\t else\n\t this.$updateRowLengthCache(foldLine.start.row, foldLine.start.row);\n\t this.$modified = true;\n\t this._signal(\"changeFold\", { data: fold, action: \"add\" });\n\t\n\t return fold;\n\t };\n\t\n\t this.addFolds = function(folds) {\n\t folds.forEach(function(fold) {\n\t this.addFold(fold);\n\t }, this);\n\t };\n\t\n\t this.removeFold = function(fold) {\n\t var foldLine = fold.foldLine;\n\t var startRow = foldLine.start.row;\n\t var endRow = foldLine.end.row;\n\t\n\t var foldLines = this.$foldData;\n\t var folds = foldLine.folds;\n\t if (folds.length == 1) {\n\t foldLines.splice(foldLines.indexOf(foldLine), 1);\n\t } else\n\t if (foldLine.range.isEnd(fold.end.row, fold.end.column)) {\n\t folds.pop();\n\t foldLine.end.row = folds[folds.length - 1].end.row;\n\t foldLine.end.column = folds[folds.length - 1].end.column;\n\t } else\n\t if (foldLine.range.isStart(fold.start.row, fold.start.column)) {\n\t folds.shift();\n\t foldLine.start.row = folds[0].start.row;\n\t foldLine.start.column = folds[0].start.column;\n\t } else\n\t if (fold.sameRow) {\n\t folds.splice(folds.indexOf(fold), 1);\n\t } else\n\t {\n\t var newFoldLine = foldLine.split(fold.start.row, fold.start.column);\n\t folds = newFoldLine.folds;\n\t folds.shift();\n\t newFoldLine.start.row = folds[0].start.row;\n\t newFoldLine.start.column = folds[0].start.column;\n\t }\n\t\n\t if (!this.$updating) {\n\t if (this.$useWrapMode)\n\t this.$updateWrapData(startRow, endRow);\n\t else\n\t this.$updateRowLengthCache(startRow, endRow);\n\t }\n\t this.$modified = true;\n\t this._signal(\"changeFold\", { data: fold, action: \"remove\" });\n\t };\n\t\n\t this.removeFolds = function(folds) {\n\t var cloneFolds = [];\n\t for (var i = 0; i < folds.length; i++) {\n\t cloneFolds.push(folds[i]);\n\t }\n\t\n\t cloneFolds.forEach(function(fold) {\n\t this.removeFold(fold);\n\t }, this);\n\t this.$modified = true;\n\t };\n\t\n\t this.expandFold = function(fold) {\n\t this.removeFold(fold);\n\t fold.subFolds.forEach(function(subFold) {\n\t fold.restoreRange(subFold);\n\t this.addFold(subFold);\n\t }, this);\n\t if (fold.collapseChildren > 0) {\n\t this.foldAll(fold.start.row+1, fold.end.row, fold.collapseChildren-1);\n\t }\n\t fold.subFolds = [];\n\t };\n\t\n\t this.expandFolds = function(folds) {\n\t folds.forEach(function(fold) {\n\t this.expandFold(fold);\n\t }, this);\n\t };\n\t\n\t this.unfold = function(location, expandInner) {\n\t var range, folds;\n\t if (location == null) {\n\t range = new Range(0, 0, this.getLength(), 0);\n\t expandInner = true;\n\t } else if (typeof location == \"number\")\n\t range = new Range(location, 0, location, this.getLine(location).length);\n\t else if (\"row\" in location)\n\t range = Range.fromPoints(location, location);\n\t else\n\t range = location;\n\t \n\t folds = this.getFoldsInRangeList(range);\n\t if (expandInner) {\n\t this.removeFolds(folds);\n\t } else {\n\t var subFolds = folds;\n\t while (subFolds.length) {\n\t this.expandFolds(subFolds);\n\t subFolds = this.getFoldsInRangeList(range);\n\t }\n\t }\n\t if (folds.length)\n\t return folds;\n\t };\n\t this.isRowFolded = function(docRow, startFoldRow) {\n\t return !!this.getFoldLine(docRow, startFoldRow);\n\t };\n\t\n\t this.getRowFoldEnd = function(docRow, startFoldRow) {\n\t var foldLine = this.getFoldLine(docRow, startFoldRow);\n\t return foldLine ? foldLine.end.row : docRow;\n\t };\n\t\n\t this.getRowFoldStart = function(docRow, startFoldRow) {\n\t var foldLine = this.getFoldLine(docRow, startFoldRow);\n\t return foldLine ? foldLine.start.row : docRow;\n\t };\n\t\n\t this.getFoldDisplayLine = function(foldLine, endRow, endColumn, startRow, startColumn) {\n\t if (startRow == null)\n\t startRow = foldLine.start.row;\n\t if (startColumn == null)\n\t startColumn = 0;\n\t if (endRow == null)\n\t endRow = foldLine.end.row;\n\t if (endColumn == null)\n\t endColumn = this.getLine(endRow).length;\n\t var doc = this.doc;\n\t var textLine = \"\";\n\t\n\t foldLine.walk(function(placeholder, row, column, lastColumn) {\n\t if (row < startRow)\n\t return;\n\t if (row == startRow) {\n\t if (column < startColumn)\n\t return;\n\t lastColumn = Math.max(startColumn, lastColumn);\n\t }\n\t\n\t if (placeholder != null) {\n\t textLine += placeholder;\n\t } else {\n\t textLine += doc.getLine(row).substring(lastColumn, column);\n\t }\n\t }, endRow, endColumn);\n\t return textLine;\n\t };\n\t\n\t this.getDisplayLine = function(row, endColumn, startRow, startColumn) {\n\t var foldLine = this.getFoldLine(row);\n\t\n\t if (!foldLine) {\n\t var line;\n\t line = this.doc.getLine(row);\n\t return line.substring(startColumn || 0, endColumn || line.length);\n\t } else {\n\t return this.getFoldDisplayLine(\n\t foldLine, row, endColumn, startRow, startColumn);\n\t }\n\t };\n\t\n\t this.$cloneFoldData = function() {\n\t var fd = [];\n\t fd = this.$foldData.map(function(foldLine) {\n\t var folds = foldLine.folds.map(function(fold) {\n\t return fold.clone();\n\t });\n\t return new FoldLine(fd, folds);\n\t });\n\t\n\t return fd;\n\t };\n\t\n\t this.toggleFold = function(tryToUnfold) {\n\t var selection = this.selection;\n\t var range = selection.getRange();\n\t var fold;\n\t var bracketPos;\n\t\n\t if (range.isEmpty()) {\n\t var cursor = range.start;\n\t fold = this.getFoldAt(cursor.row, cursor.column);\n\t\n\t if (fold) {\n\t this.expandFold(fold);\n\t return;\n\t } else if (bracketPos = this.findMatchingBracket(cursor)) {\n\t if (range.comparePoint(bracketPos) == 1) {\n\t range.end = bracketPos;\n\t } else {\n\t range.start = bracketPos;\n\t range.start.column++;\n\t range.end.column--;\n\t }\n\t } else if (bracketPos = this.findMatchingBracket({row: cursor.row, column: cursor.column + 1})) {\n\t if (range.comparePoint(bracketPos) == 1)\n\t range.end = bracketPos;\n\t else\n\t range.start = bracketPos;\n\t\n\t range.start.column++;\n\t } else {\n\t range = this.getCommentFoldRange(cursor.row, cursor.column) || range;\n\t }\n\t } else {\n\t var folds = this.getFoldsInRange(range);\n\t if (tryToUnfold && folds.length) {\n\t this.expandFolds(folds);\n\t return;\n\t } else if (folds.length == 1 ) {\n\t fold = folds[0];\n\t }\n\t }\n\t\n\t if (!fold)\n\t fold = this.getFoldAt(range.start.row, range.start.column);\n\t\n\t if (fold && fold.range.toString() == range.toString()) {\n\t this.expandFold(fold);\n\t return;\n\t }\n\t\n\t var placeholder = \"...\";\n\t if (!range.isMultiLine()) {\n\t placeholder = this.getTextRange(range);\n\t if (placeholder.length < 4)\n\t return;\n\t placeholder = placeholder.trim().substring(0, 2) + \"..\";\n\t }\n\t\n\t this.addFold(placeholder, range);\n\t };\n\t\n\t this.getCommentFoldRange = function(row, column, dir) {\n\t var iterator = new TokenIterator(this, row, column);\n\t var token = iterator.getCurrentToken();\n\t if (token && /^comment|string/.test(token.type)) {\n\t var range = new Range();\n\t var re = new RegExp(token.type.replace(/\\..*/, \"\\\\.\"));\n\t if (dir != 1) {\n\t do {\n\t token = iterator.stepBackward();\n\t } while (token && re.test(token.type));\n\t iterator.stepForward();\n\t }\n\t \n\t range.start.row = iterator.getCurrentTokenRow();\n\t range.start.column = iterator.getCurrentTokenColumn() + 2;\n\t\n\t iterator = new TokenIterator(this, row, column);\n\t \n\t if (dir != -1) {\n\t do {\n\t token = iterator.stepForward();\n\t } while (token && re.test(token.type));\n\t token = iterator.stepBackward();\n\t } else\n\t token = iterator.getCurrentToken();\n\t\n\t range.end.row = iterator.getCurrentTokenRow();\n\t range.end.column = iterator.getCurrentTokenColumn() + token.value.length - 2;\n\t return range;\n\t }\n\t };\n\t\n\t this.foldAll = function(startRow, endRow, depth) {\n\t if (depth == undefined)\n\t depth = 100000; // JSON.stringify doesn't hanle Infinity\n\t var foldWidgets = this.foldWidgets;\n\t if (!foldWidgets)\n\t return; // mode doesn't support folding\n\t endRow = endRow || this.getLength();\n\t startRow = startRow || 0;\n\t for (var row = startRow; row < endRow; row++) {\n\t if (foldWidgets[row] == null)\n\t foldWidgets[row] = this.getFoldWidget(row);\n\t if (foldWidgets[row] != \"start\")\n\t continue;\n\t\n\t var range = this.getFoldWidgetRange(row);\n\t if (range && range.isMultiLine()\n\t && range.end.row <= endRow\n\t && range.start.row >= startRow\n\t ) {\n\t row = range.end.row;\n\t try {\n\t var fold = this.addFold(\"...\", range);\n\t if (fold)\n\t fold.collapseChildren = depth;\n\t } catch(e) {}\n\t }\n\t }\n\t };\n\t this.$foldStyles = {\n\t \"manual\": 1,\n\t \"markbegin\": 1,\n\t \"markbeginend\": 1\n\t };\n\t this.$foldStyle = \"markbegin\";\n\t this.setFoldStyle = function(style) {\n\t if (!this.$foldStyles[style])\n\t throw new Error(\"invalid fold style: \" + style + \"[\" + Object.keys(this.$foldStyles).join(\", \") + \"]\");\n\t \n\t if (this.$foldStyle == style)\n\t return;\n\t\n\t this.$foldStyle = style;\n\t \n\t if (style == \"manual\")\n\t this.unfold();\n\t var mode = this.$foldMode;\n\t this.$setFolding(null);\n\t this.$setFolding(mode);\n\t };\n\t\n\t this.$setFolding = function(foldMode) {\n\t if (this.$foldMode == foldMode)\n\t return;\n\t \n\t this.$foldMode = foldMode;\n\t \n\t this.off('change', this.$updateFoldWidgets);\n\t this.off('tokenizerUpdate', this.$tokenizerUpdateFoldWidgets);\n\t this._signal(\"changeAnnotation\");\n\t \n\t if (!foldMode || this.$foldStyle == \"manual\") {\n\t this.foldWidgets = null;\n\t return;\n\t }\n\t \n\t this.foldWidgets = [];\n\t this.getFoldWidget = foldMode.getFoldWidget.bind(foldMode, this, this.$foldStyle);\n\t this.getFoldWidgetRange = foldMode.getFoldWidgetRange.bind(foldMode, this, this.$foldStyle);\n\t \n\t this.$updateFoldWidgets = this.updateFoldWidgets.bind(this);\n\t this.$tokenizerUpdateFoldWidgets = this.tokenizerUpdateFoldWidgets.bind(this);\n\t this.on('change', this.$updateFoldWidgets);\n\t this.on('tokenizerUpdate', this.$tokenizerUpdateFoldWidgets);\n\t };\n\t\n\t this.getParentFoldRangeData = function (row, ignoreCurrent) {\n\t var fw = this.foldWidgets;\n\t if (!fw || (ignoreCurrent && fw[row]))\n\t return {};\n\t\n\t var i = row - 1, firstRange;\n\t while (i >= 0) {\n\t var c = fw[i];\n\t if (c == null)\n\t c = fw[i] = this.getFoldWidget(i);\n\t\n\t if (c == \"start\") {\n\t var range = this.getFoldWidgetRange(i);\n\t if (!firstRange)\n\t firstRange = range;\n\t if (range && range.end.row >= row)\n\t break;\n\t }\n\t i--;\n\t }\n\t\n\t return {\n\t range: i !== -1 && range,\n\t firstRange: firstRange\n\t };\n\t };\n\t\n\t this.onFoldWidgetClick = function(row, e) {\n\t e = e.domEvent;\n\t var options = {\n\t children: e.shiftKey,\n\t all: e.ctrlKey || e.metaKey,\n\t siblings: e.altKey\n\t };\n\t \n\t var range = this.$toggleFoldWidget(row, options);\n\t if (!range) {\n\t var el = (e.target || e.srcElement);\n\t if (el && /ace_fold-widget/.test(el.className))\n\t el.className += \" ace_invalid\";\n\t }\n\t };\n\t \n\t this.$toggleFoldWidget = function(row, options) {\n\t if (!this.getFoldWidget)\n\t return;\n\t var type = this.getFoldWidget(row);\n\t var line = this.getLine(row);\n\t\n\t var dir = type === \"end\" ? -1 : 1;\n\t var fold = this.getFoldAt(row, dir === -1 ? 0 : line.length, dir);\n\t\n\t if (fold) {\n\t if (options.children || options.all)\n\t this.removeFold(fold);\n\t else\n\t this.expandFold(fold);\n\t return;\n\t }\n\t\n\t var range = this.getFoldWidgetRange(row, true);\n\t if (range && !range.isMultiLine()) {\n\t fold = this.getFoldAt(range.start.row, range.start.column, 1);\n\t if (fold && range.isEqual(fold.range)) {\n\t this.removeFold(fold);\n\t return;\n\t }\n\t }\n\t \n\t if (options.siblings) {\n\t var data = this.getParentFoldRangeData(row);\n\t if (data.range) {\n\t var startRow = data.range.start.row + 1;\n\t var endRow = data.range.end.row;\n\t }\n\t this.foldAll(startRow, endRow, options.all ? 10000 : 0);\n\t } else if (options.children) {\n\t endRow = range ? range.end.row : this.getLength();\n\t this.foldAll(row + 1, endRow, options.all ? 10000 : 0);\n\t } else if (range) {\n\t if (options.all) \n\t range.collapseChildren = 10000;\n\t this.addFold(\"...\", range);\n\t }\n\t \n\t return range;\n\t };\n\t \n\t \n\t \n\t this.toggleFoldWidget = function(toggleParent) {\n\t var row = this.selection.getCursor().row;\n\t row = this.getRowFoldStart(row);\n\t var range = this.$toggleFoldWidget(row, {});\n\t \n\t if (range)\n\t return;\n\t var data = this.getParentFoldRangeData(row, true);\n\t range = data.range || data.firstRange;\n\t \n\t if (range) {\n\t row = range.start.row;\n\t var fold = this.getFoldAt(row, this.getLine(row).length, 1);\n\t\n\t if (fold) {\n\t this.removeFold(fold);\n\t } else {\n\t this.addFold(\"...\", range);\n\t }\n\t }\n\t };\n\t\n\t this.updateFoldWidgets = function(delta) {\n\t var firstRow = delta.start.row;\n\t var len = delta.end.row - firstRow;\n\t\n\t if (len === 0) {\n\t this.foldWidgets[firstRow] = null;\n\t } else if (delta.action == 'remove') {\n\t this.foldWidgets.splice(firstRow, len + 1, null);\n\t } else {\n\t var args = Array(len + 1);\n\t args.unshift(firstRow, 1);\n\t this.foldWidgets.splice.apply(this.foldWidgets, args);\n\t }\n\t };\n\t this.tokenizerUpdateFoldWidgets = function(e) {\n\t var rows = e.data;\n\t if (rows.first != rows.last) {\n\t if (this.foldWidgets.length > rows.first)\n\t this.foldWidgets.splice(rows.first, this.foldWidgets.length);\n\t }\n\t };\n\t}\n\t\n\texports.Folding = Folding;\n\t\n\t});\n\t\n\tace.define(\"ace/edit_session/bracket_match\",[\"require\",\"exports\",\"module\",\"ace/token_iterator\",\"ace/range\"], function(acequire, exports, module) {\n\t\"use strict\";\n\t\n\tvar TokenIterator = acequire(\"../token_iterator\").TokenIterator;\n\tvar Range = acequire(\"../range\").Range;\n\t\n\t\n\tfunction BracketMatch() {\n\t\n\t this.findMatchingBracket = function(position, chr) {\n\t if (position.column == 0) return null;\n\t\n\t var charBeforeCursor = chr || this.getLine(position.row).charAt(position.column-1);\n\t if (charBeforeCursor == \"\") return null;\n\t\n\t var match = charBeforeCursor.match(/([\\(\\[\\{])|([\\)\\]\\}])/);\n\t if (!match)\n\t return null;\n\t\n\t if (match[1])\n\t return this.$findClosingBracket(match[1], position);\n\t else\n\t return this.$findOpeningBracket(match[2], position);\n\t };\n\t \n\t this.getBracketRange = function(pos) {\n\t var line = this.getLine(pos.row);\n\t var before = true, range;\n\t\n\t var chr = line.charAt(pos.column-1);\n\t var match = chr && chr.match(/([\\(\\[\\{])|([\\)\\]\\}])/);\n\t if (!match) {\n\t chr = line.charAt(pos.column);\n\t pos = {row: pos.row, column: pos.column + 1};\n\t match = chr && chr.match(/([\\(\\[\\{])|([\\)\\]\\}])/);\n\t before = false;\n\t }\n\t if (!match)\n\t return null;\n\t\n\t if (match[1]) {\n\t var bracketPos = this.$findClosingBracket(match[1], pos);\n\t if (!bracketPos)\n\t return null;\n\t range = Range.fromPoints(pos, bracketPos);\n\t if (!before) {\n\t range.end.column++;\n\t range.start.column--;\n\t }\n\t range.cursor = range.end;\n\t } else {\n\t var bracketPos = this.$findOpeningBracket(match[2], pos);\n\t if (!bracketPos)\n\t return null;\n\t range = Range.fromPoints(bracketPos, pos);\n\t if (!before) {\n\t range.start.column++;\n\t range.end.column--;\n\t }\n\t range.cursor = range.start;\n\t }\n\t \n\t return range;\n\t };\n\t\n\t this.$brackets = {\n\t \")\": \"(\",\n\t \"(\": \")\",\n\t \"]\": \"[\",\n\t \"[\": \"]\",\n\t \"{\": \"}\",\n\t \"}\": \"{\"\n\t };\n\t\n\t this.$findOpeningBracket = function(bracket, position, typeRe) {\n\t var openBracket = this.$brackets[bracket];\n\t var depth = 1;\n\t\n\t var iterator = new TokenIterator(this, position.row, position.column);\n\t var token = iterator.getCurrentToken();\n\t if (!token)\n\t token = iterator.stepForward();\n\t if (!token)\n\t return;\n\t \n\t if (!typeRe){\n\t typeRe = new RegExp(\n\t \"(\\\\.?\" +\n\t token.type.replace(\".\", \"\\\\.\").replace(\"rparen\", \".paren\")\n\t .replace(/\\b(?:end)\\b/, \"(?:start|begin|end)\")\n\t + \")+\"\n\t );\n\t }\n\t var valueIndex = position.column - iterator.getCurrentTokenColumn() - 2;\n\t var value = token.value;\n\t \n\t while (true) {\n\t \n\t while (valueIndex >= 0) {\n\t var chr = value.charAt(valueIndex);\n\t if (chr == openBracket) {\n\t depth -= 1;\n\t if (depth == 0) {\n\t return {row: iterator.getCurrentTokenRow(),\n\t column: valueIndex + iterator.getCurrentTokenColumn()};\n\t }\n\t }\n\t else if (chr == bracket) {\n\t depth += 1;\n\t }\n\t valueIndex -= 1;\n\t }\n\t do {\n\t token = iterator.stepBackward();\n\t } while (token && !typeRe.test(token.type));\n\t\n\t if (token == null)\n\t break;\n\t \n\t value = token.value;\n\t valueIndex = value.length - 1;\n\t }\n\t \n\t return null;\n\t };\n\t\n\t this.$findClosingBracket = function(bracket, position, typeRe) {\n\t var closingBracket = this.$brackets[bracket];\n\t var depth = 1;\n\t\n\t var iterator = new TokenIterator(this, position.row, position.column);\n\t var token = iterator.getCurrentToken();\n\t if (!token)\n\t token = iterator.stepForward();\n\t if (!token)\n\t return;\n\t\n\t if (!typeRe){\n\t typeRe = new RegExp(\n\t \"(\\\\.?\" +\n\t token.type.replace(\".\", \"\\\\.\").replace(\"lparen\", \".paren\")\n\t .replace(/\\b(?:start|begin)\\b/, \"(?:start|begin|end)\")\n\t + \")+\"\n\t );\n\t }\n\t var valueIndex = position.column - iterator.getCurrentTokenColumn();\n\t\n\t while (true) {\n\t\n\t var value = token.value;\n\t var valueLength = value.length;\n\t while (valueIndex < valueLength) {\n\t var chr = value.charAt(valueIndex);\n\t if (chr == closingBracket) {\n\t depth -= 1;\n\t if (depth == 0) {\n\t return {row: iterator.getCurrentTokenRow(),\n\t column: valueIndex + iterator.getCurrentTokenColumn()};\n\t }\n\t }\n\t else if (chr == bracket) {\n\t depth += 1;\n\t }\n\t valueIndex += 1;\n\t }\n\t do {\n\t token = iterator.stepForward();\n\t } while (token && !typeRe.test(token.type));\n\t\n\t if (token == null)\n\t break;\n\t\n\t valueIndex = 0;\n\t }\n\t \n\t return null;\n\t };\n\t}\n\texports.BracketMatch = BracketMatch;\n\t\n\t});\n\t\n\tace.define(\"ace/edit_session\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/lib/lang\",\"ace/config\",\"ace/lib/event_emitter\",\"ace/selection\",\"ace/mode/text\",\"ace/range\",\"ace/document\",\"ace/background_tokenizer\",\"ace/search_highlight\",\"ace/edit_session/folding\",\"ace/edit_session/bracket_match\"], function(acequire, exports, module) {\n\t\"use strict\";\n\t\n\tvar oop = acequire(\"./lib/oop\");\n\tvar lang = acequire(\"./lib/lang\");\n\tvar config = acequire(\"./config\");\n\tvar EventEmitter = acequire(\"./lib/event_emitter\").EventEmitter;\n\tvar Selection = acequire(\"./selection\").Selection;\n\tvar TextMode = acequire(\"./mode/text\").Mode;\n\tvar Range = acequire(\"./range\").Range;\n\tvar Document = acequire(\"./document\").Document;\n\tvar BackgroundTokenizer = acequire(\"./background_tokenizer\").BackgroundTokenizer;\n\tvar SearchHighlight = acequire(\"./search_highlight\").SearchHighlight;\n\t\n\tvar EditSession = function(text, mode) {\n\t this.$breakpoints = [];\n\t this.$decorations = [];\n\t this.$frontMarkers = {};\n\t this.$backMarkers = {};\n\t this.$markerId = 1;\n\t this.$undoSelect = true;\n\t\n\t this.$foldData = [];\n\t this.$foldData.toString = function() {\n\t return this.join(\"\\n\");\n\t };\n\t this.on(\"changeFold\", this.onChangeFold.bind(this));\n\t this.$onChange = this.onChange.bind(this);\n\t\n\t if (typeof text != \"object\" || !text.getLine)\n\t text = new Document(text);\n\t\n\t this.setDocument(text);\n\t this.selection = new Selection(this);\n\t\n\t config.resetOptions(this);\n\t this.setMode(mode);\n\t config._signal(\"session\", this);\n\t};\n\t\n\t\n\t(function() {\n\t\n\t oop.implement(this, EventEmitter);\n\t this.setDocument = function(doc) {\n\t if (this.doc)\n\t this.doc.removeListener(\"change\", this.$onChange);\n\t\n\t this.doc = doc;\n\t doc.on(\"change\", this.$onChange);\n\t\n\t if (this.bgTokenizer)\n\t this.bgTokenizer.setDocument(this.getDocument());\n\t\n\t this.resetCaches();\n\t };\n\t this.getDocument = function() {\n\t return this.doc;\n\t };\n\t this.$resetRowCache = function(docRow) {\n\t if (!docRow) {\n\t this.$docRowCache = [];\n\t this.$screenRowCache = [];\n\t return;\n\t }\n\t var l = this.$docRowCache.length;\n\t var i = this.$getRowCacheIndex(this.$docRowCache, docRow) + 1;\n\t if (l > i) {\n\t this.$docRowCache.splice(i, l);\n\t this.$screenRowCache.splice(i, l);\n\t }\n\t };\n\t\n\t this.$getRowCacheIndex = function(cacheArray, val) {\n\t var low = 0;\n\t var hi = cacheArray.length - 1;\n\t\n\t while (low <= hi) {\n\t var mid = (low + hi) >> 1;\n\t var c = cacheArray[mid];\n\t\n\t if (val > c)\n\t low = mid + 1;\n\t else if (val < c)\n\t hi = mid - 1;\n\t else\n\t return mid;\n\t }\n\t\n\t return low -1;\n\t };\n\t\n\t this.resetCaches = function() {\n\t this.$modified = true;\n\t this.$wrapData = [];\n\t this.$rowLengthCache = [];\n\t this.$resetRowCache(0);\n\t if (this.bgTokenizer)\n\t this.bgTokenizer.start(0);\n\t };\n\t\n\t this.onChangeFold = function(e) {\n\t var fold = e.data;\n\t this.$resetRowCache(fold.start.row);\n\t };\n\t\n\t this.onChange = function(delta) {\n\t this.$modified = true;\n\t\n\t this.$resetRowCache(delta.start.row);\n\t\n\t var removedFolds = this.$updateInternalDataOnChange(delta);\n\t if (!this.$fromUndo && this.$undoManager && !delta.ignore) {\n\t this.$deltasDoc.push(delta);\n\t if (removedFolds && removedFolds.length != 0) {\n\t this.$deltasFold.push({\n\t action: \"removeFolds\",\n\t folds: removedFolds\n\t });\n\t }\n\t\n\t this.$informUndoManager.schedule();\n\t }\n\t\n\t this.bgTokenizer && this.bgTokenizer.$updateOnChange(delta);\n\t this._signal(\"change\", delta);\n\t };\n\t this.setValue = function(text) {\n\t this.doc.setValue(text);\n\t this.selection.moveTo(0, 0);\n\t\n\t this.$resetRowCache(0);\n\t this.$deltas = [];\n\t this.$deltasDoc = [];\n\t this.$deltasFold = [];\n\t this.setUndoManager(this.$undoManager);\n\t this.getUndoManager().reset();\n\t };\n\t this.getValue =\n\t this.toString = function() {\n\t return this.doc.getValue();\n\t };\n\t this.getSelection = function() {\n\t return this.selection;\n\t };\n\t this.getState = function(row) {\n\t return this.bgTokenizer.getState(row);\n\t };\n\t this.getTokens = function(row) {\n\t return this.bgTokenizer.getTokens(row);\n\t };\n\t this.getTokenAt = function(row, column) {\n\t var tokens = this.bgTokenizer.getTokens(row);\n\t var token, c = 0;\n\t if (column == null) {\n\t i = tokens.length - 1;\n\t c = this.getLine(row).length;\n\t } else {\n\t for (var i = 0; i < tokens.length; i++) {\n\t c += tokens[i].value.length;\n\t if (c >= column)\n\t break;\n\t }\n\t }\n\t token = tokens[i];\n\t if (!token)\n\t return null;\n\t token.index = i;\n\t token.start = c - token.value.length;\n\t return token;\n\t };\n\t this.setUndoManager = function(undoManager) {\n\t this.$undoManager = undoManager;\n\t this.$deltas = [];\n\t this.$deltasDoc = [];\n\t this.$deltasFold = [];\n\t\n\t if (this.$informUndoManager)\n\t this.$informUndoManager.cancel();\n\t\n\t if (undoManager) {\n\t var self = this;\n\t\n\t this.$syncInformUndoManager = function() {\n\t self.$informUndoManager.cancel();\n\t\n\t if (self.$deltasFold.length) {\n\t self.$deltas.push({\n\t group: \"fold\",\n\t deltas: self.$deltasFold\n\t });\n\t self.$deltasFold = [];\n\t }\n\t\n\t if (self.$deltasDoc.length) {\n\t self.$deltas.push({\n\t group: \"doc\",\n\t deltas: self.$deltasDoc\n\t });\n\t self.$deltasDoc = [];\n\t }\n\t\n\t if (self.$deltas.length > 0) {\n\t undoManager.execute({\n\t action: \"aceupdate\",\n\t args: [self.$deltas, self],\n\t merge: self.mergeUndoDeltas\n\t });\n\t }\n\t self.mergeUndoDeltas = false;\n\t self.$deltas = [];\n\t };\n\t this.$informUndoManager = lang.delayedCall(this.$syncInformUndoManager);\n\t }\n\t };\n\t this.markUndoGroup = function() {\n\t if (this.$syncInformUndoManager)\n\t this.$syncInformUndoManager();\n\t };\n\t \n\t this.$defaultUndoManager = {\n\t undo: function() {},\n\t redo: function() {},\n\t reset: function() {}\n\t };\n\t this.getUndoManager = function() {\n\t return this.$undoManager || this.$defaultUndoManager;\n\t };\n\t this.getTabString = function() {\n\t if (this.getUseSoftTabs()) {\n\t return lang.stringRepeat(\" \", this.getTabSize());\n\t } else {\n\t return \"\\t\";\n\t }\n\t };\n\t this.setUseSoftTabs = function(val) {\n\t this.setOption(\"useSoftTabs\", val);\n\t };\n\t this.getUseSoftTabs = function() {\n\t return this.$useSoftTabs && !this.$mode.$indentWithTabs;\n\t };\n\t this.setTabSize = function(tabSize) {\n\t this.setOption(\"tabSize\", tabSize);\n\t };\n\t this.getTabSize = function() {\n\t return this.$tabSize;\n\t };\n\t this.isTabStop = function(position) {\n\t return this.$useSoftTabs && (position.column % this.$tabSize === 0);\n\t };\n\t\n\t this.$overwrite = false;\n\t this.setOverwrite = function(overwrite) {\n\t this.setOption(\"overwrite\", overwrite);\n\t };\n\t this.getOverwrite = function() {\n\t return this.$overwrite;\n\t };\n\t this.toggleOverwrite = function() {\n\t this.setOverwrite(!this.$overwrite);\n\t };\n\t this.addGutterDecoration = function(row, className) {\n\t if (!this.$decorations[row])\n\t this.$decorations[row] = \"\";\n\t this.$decorations[row] += \" \" + className;\n\t this._signal(\"changeBreakpoint\", {});\n\t };\n\t this.removeGutterDecoration = function(row, className) {\n\t this.$decorations[row] = (this.$decorations[row] || \"\").replace(\" \" + className, \"\");\n\t this._signal(\"changeBreakpoint\", {});\n\t };\n\t this.getBreakpoints = function() {\n\t return this.$breakpoints;\n\t };\n\t this.setBreakpoints = function(rows) {\n\t this.$breakpoints = [];\n\t for (var i=0; i<rows.length; i++) {\n\t this.$breakpoints[rows[i]] = \"ace_breakpoint\";\n\t }\n\t this._signal(\"changeBreakpoint\", {});\n\t };\n\t this.clearBreakpoints = function() {\n\t this.$breakpoints = [];\n\t this._signal(\"changeBreakpoint\", {});\n\t };\n\t this.setBreakpoint = function(row, className) {\n\t if (className === undefined)\n\t className = \"ace_breakpoint\";\n\t if (className)\n\t this.$breakpoints[row] = className;\n\t else\n\t delete this.$breakpoints[row];\n\t this._signal(\"changeBreakpoint\", {});\n\t };\n\t this.clearBreakpoint = function(row) {\n\t delete this.$breakpoints[row];\n\t this._signal(\"changeBreakpoint\", {});\n\t };\n\t this.addMarker = function(range, clazz, type, inFront) {\n\t var id = this.$markerId++;\n\t\n\t var marker = {\n\t range : range,\n\t type : type || \"line\",\n\t renderer: typeof type == \"function\" ? type : null,\n\t clazz : clazz,\n\t inFront: !!inFront,\n\t id: id\n\t };\n\t\n\t if (inFront) {\n\t this.$frontMarkers[id] = marker;\n\t this._signal(\"changeFrontMarker\");\n\t } else {\n\t this.$backMarkers[id] = marker;\n\t this._signal(\"changeBackMarker\");\n\t }\n\t\n\t return id;\n\t };\n\t this.addDynamicMarker = function(marker, inFront) {\n\t if (!marker.update)\n\t return;\n\t var id = this.$markerId++;\n\t marker.id = id;\n\t marker.inFront = !!inFront;\n\t\n\t if (inFront) {\n\t this.$frontMarkers[id] = marker;\n\t this._signal(\"changeFrontMarker\");\n\t } else {\n\t this.$backMarkers[id] = marker;\n\t this._signal(\"changeBackMarker\");\n\t }\n\t\n\t return marker;\n\t };\n\t this.removeMarker = function(markerId) {\n\t var marker = this.$frontMarkers[markerId] || this.$backMarkers[markerId];\n\t if (!marker)\n\t return;\n\t\n\t var markers = marker.inFront ? this.$frontMarkers : this.$backMarkers;\n\t if (marker) {\n\t delete (markers[markerId]);\n\t this._signal(marker.inFront ? \"changeFrontMarker\" : \"changeBackMarker\");\n\t }\n\t };\n\t this.getMarkers = function(inFront) {\n\t return inFront ? this.$frontMarkers : this.$backMarkers;\n\t };\n\t\n\t this.highlight = function(re) {\n\t if (!this.$searchHighlight) {\n\t var highlight = new SearchHighlight(null, \"ace_selected-word\", \"text\");\n\t this.$searchHighlight = this.addDynamicMarker(highlight);\n\t }\n\t this.$searchHighlight.setRegexp(re);\n\t };\n\t this.highlightLines = function(startRow, endRow, clazz, inFront) {\n\t if (typeof endRow != \"number\") {\n\t clazz = endRow;\n\t endRow = startRow;\n\t }\n\t if (!clazz)\n\t clazz = \"ace_step\";\n\t\n\t var range = new Range(startRow, 0, endRow, Infinity);\n\t range.id = this.addMarker(range, clazz, \"fullLine\", inFront);\n\t return range;\n\t };\n\t this.setAnnotations = function(annotations) {\n\t this.$annotations = annotations;\n\t this._signal(\"changeAnnotation\", {});\n\t };\n\t this.getAnnotations = function() {\n\t return this.$annotations || [];\n\t };\n\t this.clearAnnotations = function() {\n\t this.setAnnotations([]);\n\t };\n\t this.$detectNewLine = function(text) {\n\t var match = text.match(/^.*?(\\r?\\n)/m);\n\t if (match) {\n\t this.$autoNewLine = match[1];\n\t } else {\n\t this.$autoNewLine = \"\\n\";\n\t }\n\t };\n\t this.getWordRange = function(row, column) {\n\t var line = this.getLine(row);\n\t\n\t var inToken = false;\n\t if (column > 0)\n\t inToken = !!line.charAt(column - 1).match(this.tokenRe);\n\t\n\t if (!inToken)\n\t inToken = !!line.charAt(column).match(this.tokenRe);\n\t\n\t if (inToken)\n\t var re = this.tokenRe;\n\t else if (/^\\s+$/.test(line.slice(column-1, column+1)))\n\t var re = /\\s/;\n\t else\n\t var re = this.nonTokenRe;\n\t\n\t var start = column;\n\t if (start > 0) {\n\t do {\n\t start--;\n\t }\n\t while (start >= 0 && line.charAt(start).match(re));\n\t start++;\n\t }\n\t\n\t var end = column;\n\t while (end < line.length && line.charAt(end).match(re)) {\n\t end++;\n\t }\n\t\n\t return new Range(row, start, row, end);\n\t };\n\t this.getAWordRange = function(row, column) {\n\t var wordRange = this.getWordRange(row, column);\n\t var line = this.getLine(wordRange.end.row);\n\t\n\t while (line.charAt(wordRange.end.column).match(/[ \\t]/)) {\n\t wordRange.end.column += 1;\n\t }\n\t return wordRange;\n\t };\n\t this.setNewLineMode = function(newLineMode) {\n\t this.doc.setNewLineMode(newLineMode);\n\t };\n\t this.getNewLineMode = function() {\n\t return this.doc.getNewLineMode();\n\t };\n\t this.setUseWorker = function(useWorker) { this.setOption(\"useWorker\", useWorker); };\n\t this.getUseWorker = function() { return this.$useWorker; };\n\t this.onReloadTokenizer = function(e) {\n\t var rows = e.data;\n\t this.bgTokenizer.start(rows.first);\n\t this._signal(\"tokenizerUpdate\", e);\n\t };\n\t\n\t this.$modes = {};\n\t this.$mode = null;\n\t this.$modeId = null;\n\t this.setMode = function(mode, cb) {\n\t if (mode && typeof mode === \"object\") {\n\t if (mode.getTokenizer)\n\t return this.$onChangeMode(mode);\n\t var options = mode;\n\t var path = options.path;\n\t } else {\n\t path = mode || \"ace/mode/text\";\n\t }\n\t if (!this.$modes[\"ace/mode/text\"])\n\t this.$modes[\"ace/mode/text\"] = new TextMode();\n\t\n\t if (this.$modes[path] && !options) {\n\t this.$onChangeMode(this.$modes[path]);\n\t cb && cb();\n\t return;\n\t }\n\t this.$modeId = path;\n\t config.loadModule([\"mode\", path], function(m) {\n\t if (this.$modeId !== path)\n\t return cb && cb();\n\t if (this.$modes[path] && !options) {\n\t this.$onChangeMode(this.$modes[path]);\n\t } else if (m && m.Mode) {\n\t m = new m.Mode(options);\n\t if (!options) {\n\t this.$modes[path] = m;\n\t m.$id = path;\n\t }\n\t this.$onChangeMode(m);\n\t }\n\t cb && cb();\n\t }.bind(this));\n\t if (!this.$mode)\n\t this.$onChangeMode(this.$modes[\"ace/mode/text\"], true);\n\t };\n\t\n\t this.$onChangeMode = function(mode, $isPlaceholder) {\n\t if (!$isPlaceholder)\n\t this.$modeId = mode.$id;\n\t if (this.$mode === mode) \n\t return;\n\t\n\t this.$mode = mode;\n\t\n\t this.$stopWorker();\n\t\n\t if (this.$useWorker)\n\t this.$startWorker();\n\t\n\t var tokenizer = mode.getTokenizer();\n\t\n\t if(tokenizer.addEventListener !== undefined) {\n\t var onReloadTokenizer = this.onReloadTokenizer.bind(this);\n\t tokenizer.addEventListener(\"update\", onReloadTokenizer);\n\t }\n\t\n\t if (!this.bgTokenizer) {\n\t this.bgTokenizer = new BackgroundTokenizer(tokenizer);\n\t var _self = this;\n\t this.bgTokenizer.addEventListener(\"update\", function(e) {\n\t _self._signal(\"tokenizerUpdate\", e);\n\t });\n\t } else {\n\t this.bgTokenizer.setTokenizer(tokenizer);\n\t }\n\t\n\t this.bgTokenizer.setDocument(this.getDocument());\n\t\n\t this.tokenRe = mode.tokenRe;\n\t this.nonTokenRe = mode.nonTokenRe;\n\t\n\t \n\t if (!$isPlaceholder) {\n\t if (mode.attachToSession)\n\t mode.attachToSession(this);\n\t this.$options.wrapMethod.set.call(this, this.$wrapMethod);\n\t this.$setFolding(mode.foldingRules);\n\t this.bgTokenizer.start(0);\n\t this._emit(\"changeMode\");\n\t }\n\t };\n\t\n\t this.$stopWorker = function() {\n\t if (this.$worker) {\n\t this.$worker.terminate();\n\t this.$worker = null;\n\t }\n\t };\n\t\n\t this.$startWorker = function() {\n\t try {\n\t this.$worker = this.$mode.createWorker(this);\n\t } catch (e) {\n\t config.warn(\"Could not load worker\", e);\n\t this.$worker = null;\n\t }\n\t };\n\t this.getMode = function() {\n\t return this.$mode;\n\t };\n\t\n\t this.$scrollTop = 0;\n\t this.setScrollTop = function(scrollTop) {\n\t if (this.$scrollTop === scrollTop || isNaN(scrollTop))\n\t return;\n\t\n\t this.$scrollTop = scrollTop;\n\t this._signal(\"changeScrollTop\", scrollTop);\n\t };\n\t this.getScrollTop = function() {\n\t return this.$scrollTop;\n\t };\n\t\n\t this.$scrollLeft = 0;\n\t this.setScrollLeft = function(scrollLeft) {\n\t if (this.$scrollLeft === scrollLeft || isNaN(scrollLeft))\n\t return;\n\t\n\t this.$scrollLeft = scrollLeft;\n\t this._signal(\"changeScrollLeft\", scrollLeft);\n\t };\n\t this.getScrollLeft = function() {\n\t return this.$scrollLeft;\n\t };\n\t this.getScreenWidth = function() {\n\t this.$computeWidth();\n\t if (this.lineWidgets) \n\t return Math.max(this.getLineWidgetMaxWidth(), this.screenWidth);\n\t return this.screenWidth;\n\t };\n\t \n\t this.getLineWidgetMaxWidth = function() {\n\t if (this.lineWidgetsWidth != null) return this.lineWidgetsWidth;\n\t var width = 0;\n\t this.lineWidgets.forEach(function(w) {\n\t if (w && w.screenWidth > width)\n\t width = w.screenWidth;\n\t });\n\t return this.lineWidgetWidth = width;\n\t };\n\t\n\t this.$computeWidth = function(force) {\n\t if (this.$modified || force) {\n\t this.$modified = false;\n\t\n\t if (this.$useWrapMode)\n\t return this.screenWidth = this.$wrapLimit;\n\t\n\t var lines = this.doc.getAllLines();\n\t var cache = this.$rowLengthCache;\n\t var longestScreenLine = 0;\n\t var foldIndex = 0;\n\t var foldLine = this.$foldData[foldIndex];\n\t var foldStart = foldLine ? foldLine.start.row : Infinity;\n\t var len = lines.length;\n\t\n\t for (var i = 0; i < len; i++) {\n\t if (i > foldStart) {\n\t i = foldLine.end.row + 1;\n\t if (i >= len)\n\t break;\n\t foldLine = this.$foldData[foldIndex++];\n\t foldStart = foldLine ? foldLine.start.row : Infinity;\n\t }\n\t\n\t if (cache[i] == null)\n\t cache[i] = this.$getStringScreenWidth(lines[i])[0];\n\t\n\t if (cache[i] > longestScreenLine)\n\t longestScreenLine = cache[i];\n\t }\n\t this.screenWidth = longestScreenLine;\n\t }\n\t };\n\t this.getLine = function(row) {\n\t return this.doc.getLine(row);\n\t };\n\t this.getLines = function(firstRow, lastRow) {\n\t return this.doc.getLines(firstRow, lastRow);\n\t };\n\t this.getLength = function() {\n\t return this.doc.getLength();\n\t };\n\t this.getTextRange = function(range) {\n\t return this.doc.getTextRange(range || this.selection.getRange());\n\t };\n\t this.insert = function(position, text) {\n\t return this.doc.insert(position, text);\n\t };\n\t this.remove = function(range) {\n\t return this.doc.remove(range);\n\t };\n\t this.removeFullLines = function(firstRow, lastRow){\n\t return this.doc.removeFullLines(firstRow, lastRow);\n\t };\n\t this.undoChanges = function(deltas, dontSelect) {\n\t if (!deltas.length)\n\t return;\n\t\n\t this.$fromUndo = true;\n\t var lastUndoRange = null;\n\t for (var i = deltas.length - 1; i != -1; i--) {\n\t var delta = deltas[i];\n\t if (delta.group == \"doc\") {\n\t this.doc.revertDeltas(delta.deltas);\n\t lastUndoRange =\n\t this.$getUndoSelection(delta.deltas, true, lastUndoRange);\n\t } else {\n\t delta.deltas.forEach(function(foldDelta) {\n\t this.addFolds(foldDelta.folds);\n\t }, this);\n\t }\n\t }\n\t this.$fromUndo = false;\n\t lastUndoRange &&\n\t this.$undoSelect &&\n\t !dontSelect &&\n\t this.selection.setSelectionRange(lastUndoRange);\n\t return lastUndoRange;\n\t };\n\t this.redoChanges = function(deltas, dontSelect) {\n\t if (!deltas.length)\n\t return;\n\t\n\t this.$fromUndo = true;\n\t var lastUndoRange = null;\n\t for (var i = 0; i < deltas.length; i++) {\n\t var delta = deltas[i];\n\t if (delta.group == \"doc\") {\n\t this.doc.applyDeltas(delta.deltas);\n\t lastUndoRange =\n\t this.$getUndoSelection(delta.deltas, false, lastUndoRange);\n\t }\n\t }\n\t this.$fromUndo = false;\n\t lastUndoRange &&\n\t this.$undoSelect &&\n\t !dontSelect &&\n\t this.selection.setSelectionRange(lastUndoRange);\n\t return lastUndoRange;\n\t };\n\t this.setUndoSelect = function(enable) {\n\t this.$undoSelect = enable;\n\t };\n\t\n\t this.$getUndoSelection = function(deltas, isUndo, lastUndoRange) {\n\t function isInsert(delta) {\n\t return isUndo ? delta.action !== \"insert\" : delta.action === \"insert\";\n\t }\n\t\n\t var delta = deltas[0];\n\t var range, point;\n\t var lastDeltaIsInsert = false;\n\t if (isInsert(delta)) {\n\t range = Range.fromPoints(delta.start, delta.end);\n\t lastDeltaIsInsert = true;\n\t } else {\n\t range = Range.fromPoints(delta.start, delta.start);\n\t lastDeltaIsInsert = false;\n\t }\n\t\n\t for (var i = 1; i < deltas.length; i++) {\n\t delta = deltas[i];\n\t if (isInsert(delta)) {\n\t point = delta.start;\n\t if (range.compare(point.row, point.column) == -1) {\n\t range.setStart(point);\n\t }\n\t point = delta.end;\n\t if (range.compare(point.row, point.column) == 1) {\n\t range.setEnd(point);\n\t }\n\t lastDeltaIsInsert = true;\n\t } else {\n\t point = delta.start;\n\t if (range.compare(point.row, point.column) == -1) {\n\t range = Range.fromPoints(delta.start, delta.start);\n\t }\n\t lastDeltaIsInsert = false;\n\t }\n\t }\n\t if (lastUndoRange != null) {\n\t if (Range.comparePoints(lastUndoRange.start, range.start) === 0) {\n\t lastUndoRange.start.column += range.end.column - range.start.column;\n\t lastUndoRange.end.column += range.end.column - range.start.column;\n\t }\n\t\n\t var cmp = lastUndoRange.compareRange(range);\n\t if (cmp == 1) {\n\t range.setStart(lastUndoRange.start);\n\t } else if (cmp == -1) {\n\t range.setEnd(lastUndoRange.end);\n\t }\n\t }\n\t\n\t return range;\n\t };\n\t this.replace = function(range, text) {\n\t return this.doc.replace(range, text);\n\t };\n\t this.moveText = function(fromRange, toPosition, copy) {\n\t var text = this.getTextRange(fromRange);\n\t var folds = this.getFoldsInRange(fromRange);\n\t\n\t var toRange = Range.fromPoints(toPosition, toPosition);\n\t if (!copy) {\n\t this.remove(fromRange);\n\t var rowDiff = fromRange.start.row - fromRange.end.row;\n\t var collDiff = rowDiff ? -fromRange.end.column : fromRange.start.column - fromRange.end.column;\n\t if (collDiff) {\n\t if (toRange.start.row == fromRange.end.row && toRange.start.column > fromRange.end.column)\n\t toRange.start.column += collDiff;\n\t if (toRange.end.row == fromRange.end.row && toRange.end.column > fromRange.end.column)\n\t toRange.end.column += collDiff;\n\t }\n\t if (rowDiff && toRange.start.row >= fromRange.end.row) {\n\t toRange.start.row += rowDiff;\n\t toRange.end.row += rowDiff;\n\t }\n\t }\n\t\n\t toRange.end = this.insert(toRange.start, text);\n\t if (folds.length) {\n\t var oldStart = fromRange.start;\n\t var newStart = toRange.start;\n\t var rowDiff = newStart.row - oldStart.row;\n\t var collDiff = newStart.column - oldStart.column;\n\t this.addFolds(folds.map(function(x) {\n\t x = x.clone();\n\t if (x.start.row == oldStart.row)\n\t x.start.column += collDiff;\n\t if (x.end.row == oldStart.row)\n\t x.end.column += collDiff;\n\t x.start.row += rowDiff;\n\t x.end.row += rowDiff;\n\t return x;\n\t }));\n\t }\n\t\n\t return toRange;\n\t };\n\t this.indentRows = function(startRow, endRow, indentString) {\n\t indentString = indentString.replace(/\\t/g, this.getTabString());\n\t for (var row=startRow; row<=endRow; row++)\n\t this.doc.insertInLine({row: row, column: 0}, indentString);\n\t };\n\t this.outdentRows = function (range) {\n\t var rowRange = range.collapseRows();\n\t var deleteRange = new Range(0, 0, 0, 0);\n\t var size = this.getTabSize();\n\t\n\t for (var i = rowRange.start.row; i <= rowRange.end.row; ++i) {\n\t var line = this.getLine(i);\n\t\n\t deleteRange.start.row = i;\n\t deleteRange.end.row = i;\n\t for (var j = 0; j < size; ++j)\n\t if (line.charAt(j) != ' ')\n\t break;\n\t if (j < size && line.charAt(j) == '\\t') {\n\t deleteRange.start.column = j;\n\t deleteRange.end.column = j + 1;\n\t } else {\n\t deleteRange.start.column = 0;\n\t deleteRange.end.column = j;\n\t }\n\t this.remove(deleteRange);\n\t }\n\t };\n\t\n\t this.$moveLines = function(firstRow, lastRow, dir) {\n\t firstRow = this.getRowFoldStart(firstRow);\n\t lastRow = this.getRowFoldEnd(lastRow);\n\t if (dir < 0) {\n\t var row = this.getRowFoldStart(firstRow + dir);\n\t if (row < 0) return 0;\n\t var diff = row-firstRow;\n\t } else if (dir > 0) {\n\t var row = this.getRowFoldEnd(lastRow + dir);\n\t if (row > this.doc.getLength()-1) return 0;\n\t var diff = row-lastRow;\n\t } else {\n\t firstRow = this.$clipRowToDocument(firstRow);\n\t lastRow = this.$clipRowToDocument(lastRow);\n\t var diff = lastRow - firstRow + 1;\n\t }\n\t\n\t var range = new Range(firstRow, 0, lastRow, Number.MAX_VALUE);\n\t var folds = this.getFoldsInRange(range).map(function(x){\n\t x = x.clone();\n\t x.start.row += diff;\n\t x.end.row += diff;\n\t return x;\n\t });\n\t \n\t var lines = dir == 0\n\t ? this.doc.getLines(firstRow, lastRow)\n\t : this.doc.removeFullLines(firstRow, lastRow);\n\t this.doc.insertFullLines(firstRow+diff, lines);\n\t folds.length && this.addFolds(folds);\n\t return diff;\n\t };\n\t this.moveLinesUp = function(firstRow, lastRow) {\n\t return this.$moveLines(firstRow, lastRow, -1);\n\t };\n\t this.moveLinesDown = function(firstRow, lastRow) {\n\t return this.$moveLines(firstRow, lastRow, 1);\n\t };\n\t this.duplicateLines = function(firstRow, lastRow) {\n\t return this.$moveLines(firstRow, lastRow, 0);\n\t };\n\t\n\t\n\t this.$clipRowToDocument = function(row) {\n\t return Math.max(0, Math.min(row, this.doc.getLength()-1));\n\t };\n\t\n\t this.$clipColumnToRow = function(row, column) {\n\t if (column < 0)\n\t return 0;\n\t return Math.min(this.doc.getLine(row).length, column);\n\t };\n\t\n\t\n\t this.$clipPositionToDocument = function(row, column) {\n\t column = Math.max(0, column);\n\t\n\t if (row < 0) {\n\t row = 0;\n\t column = 0;\n\t } else {\n\t var len = this.doc.getLength();\n\t if (row >= len) {\n\t row = len - 1;\n\t column = this.doc.getLine(len-1).length;\n\t } else {\n\t column = Math.min(this.doc.getLine(row).length, column);\n\t }\n\t }\n\t\n\t return {\n\t row: row,\n\t column: column\n\t };\n\t };\n\t\n\t this.$clipRangeToDocument = function(range) {\n\t if (range.start.row < 0) {\n\t range.start.row = 0;\n\t range.start.column = 0;\n\t } else {\n\t range.start.column = this.$clipColumnToRow(\n\t range.start.row,\n\t range.start.column\n\t );\n\t }\n\t\n\t var len = this.doc.getLength() - 1;\n\t if (range.end.row > len) {\n\t range.end.row = len;\n\t range.end.column = this.doc.getLine(len).length;\n\t } else {\n\t range.end.column = this.$clipColumnToRow(\n\t range.end.row,\n\t range.end.column\n\t );\n\t }\n\t return range;\n\t };\n\t this.$wrapLimit = 80;\n\t this.$useWrapMode = false;\n\t this.$wrapLimitRange = {\n\t min : null,\n\t max : null\n\t };\n\t this.setUseWrapMode = function(useWrapMode) {\n\t if (useWrapMode != this.$useWrapMode) {\n\t this.$useWrapMode = useWrapMode;\n\t this.$modified = true;\n\t this.$resetRowCache(0);\n\t if (useWrapMode) {\n\t var len = this.getLength();\n\t this.$wrapData = Array(len);\n\t this.$updateWrapData(0, len - 1);\n\t }\n\t\n\t this._signal(\"changeWrapMode\");\n\t }\n\t };\n\t this.getUseWrapMode = function() {\n\t return this.$useWrapMode;\n\t };\n\t this.setWrapLimitRange = function(min, max) {\n\t if (this.$wrapLimitRange.min !== min || this.$wrapLimitRange.max !== max) {\n\t this.$wrapLimitRange = { min: min, max: max };\n\t this.$modified = true;\n\t if (this.$useWrapMode)\n\t this._signal(\"changeWrapMode\");\n\t }\n\t };\n\t this.adjustWrapLimit = function(desiredLimit, $printMargin) {\n\t var limits = this.$wrapLimitRange;\n\t if (limits.max < 0)\n\t limits = {min: $printMargin, max: $printMargin};\n\t var wrapLimit = this.$constrainWrapLimit(desiredLimit, limits.min, limits.max);\n\t if (wrapLimit != this.$wrapLimit && wrapLimit > 1) {\n\t this.$wrapLimit = wrapLimit;\n\t this.$modified = true;\n\t if (this.$useWrapMode) {\n\t this.$updateWrapData(0, this.getLength() - 1);\n\t this.$resetRowCache(0);\n\t this._signal(\"changeWrapLimit\");\n\t }\n\t return true;\n\t }\n\t return false;\n\t };\n\t\n\t this.$constrainWrapLimit = function(wrapLimit, min, max) {\n\t if (min)\n\t wrapLimit = Math.max(min, wrapLimit);\n\t\n\t if (max)\n\t wrapLimit = Math.min(max, wrapLimit);\n\t\n\t return wrapLimit;\n\t };\n\t this.getWrapLimit = function() {\n\t return this.$wrapLimit;\n\t };\n\t this.setWrapLimit = function (limit) {\n\t this.setWrapLimitRange(limit, limit);\n\t };\n\t this.getWrapLimitRange = function() {\n\t return {\n\t min : this.$wrapLimitRange.min,\n\t max : this.$wrapLimitRange.max\n\t };\n\t };\n\t\n\t this.$updateInternalDataOnChange = function(delta) {\n\t var useWrapMode = this.$useWrapMode;\n\t var action = delta.action;\n\t var start = delta.start;\n\t var end = delta.end;\n\t var firstRow = start.row;\n\t var lastRow = end.row;\n\t var len = lastRow - firstRow;\n\t var removedFolds = null;\n\t \n\t this.$updating = true;\n\t if (len != 0) {\n\t if (action === \"remove\") {\n\t this[useWrapMode ? \"$wrapData\" : \"$rowLengthCache\"].splice(firstRow, len);\n\t\n\t var foldLines = this.$foldData;\n\t removedFolds = this.getFoldsInRange(delta);\n\t this.removeFolds(removedFolds);\n\t\n\t var foldLine = this.getFoldLine(end.row);\n\t var idx = 0;\n\t if (foldLine) {\n\t foldLine.addRemoveChars(end.row, end.column, start.column - end.column);\n\t foldLine.shiftRow(-len);\n\t\n\t var foldLineBefore = this.getFoldLine(firstRow);\n\t if (foldLineBefore && foldLineBefore !== foldLine) {\n\t foldLineBefore.merge(foldLine);\n\t foldLine = foldLineBefore;\n\t }\n\t idx = foldLines.indexOf(foldLine) + 1;\n\t }\n\t\n\t for (idx; idx < foldLines.length; idx++) {\n\t var foldLine = foldLines[idx];\n\t if (foldLine.start.row >= end.row) {\n\t foldLine.shiftRow(-len);\n\t }\n\t }\n\t\n\t lastRow = firstRow;\n\t } else {\n\t var args = Array(len);\n\t args.unshift(firstRow, 0);\n\t var arr = useWrapMode ? this.$wrapData : this.$rowLengthCache\n\t arr.splice.apply(arr, args);\n\t var foldLines = this.$foldData;\n\t var foldLine = this.getFoldLine(firstRow);\n\t var idx = 0;\n\t if (foldLine) {\n\t var cmp = foldLine.range.compareInside(start.row, start.column);\n\t if (cmp == 0) {\n\t foldLine = foldLine.split(start.row, start.column);\n\t if (foldLine) {\n\t foldLine.shiftRow(len);\n\t foldLine.addRemoveChars(lastRow, 0, end.column - start.column);\n\t }\n\t } else\n\t if (cmp == -1) {\n\t foldLine.addRemoveChars(firstRow, 0, end.column - start.column);\n\t foldLine.shiftRow(len);\n\t }\n\t idx = foldLines.indexOf(foldLine) + 1;\n\t }\n\t\n\t for (idx; idx < foldLines.length; idx++) {\n\t var foldLine = foldLines[idx];\n\t if (foldLine.start.row >= firstRow) {\n\t foldLine.shiftRow(len);\n\t }\n\t }\n\t }\n\t } else {\n\t len = Math.abs(delta.start.column - delta.end.column);\n\t if (action === \"remove\") {\n\t removedFolds = this.getFoldsInRange(delta);\n\t this.removeFolds(removedFolds);\n\t\n\t len = -len;\n\t }\n\t var foldLine = this.getFoldLine(firstRow);\n\t if (foldLine) {\n\t foldLine.addRemoveChars(firstRow, start.column, len);\n\t }\n\t }\n\t\n\t if (useWrapMode && this.$wrapData.length != this.doc.getLength()) {\n\t console.error(\"doc.getLength() and $wrapData.length have to be the same!\");\n\t }\n\t this.$updating = false;\n\t\n\t if (useWrapMode)\n\t this.$updateWrapData(firstRow, lastRow);\n\t else\n\t this.$updateRowLengthCache(firstRow, lastRow);\n\t\n\t return removedFolds;\n\t };\n\t\n\t this.$updateRowLengthCache = function(firstRow, lastRow, b) {\n\t this.$rowLengthCache[firstRow] = null;\n\t this.$rowLengthCache[lastRow] = null;\n\t };\n\t\n\t this.$updateWrapData = function(firstRow, lastRow) {\n\t var lines = this.doc.getAllLines();\n\t var tabSize = this.getTabSize();\n\t var wrapData = this.$wrapData;\n\t var wrapLimit = this.$wrapLimit;\n\t var tokens;\n\t var foldLine;\n\t\n\t var row = firstRow;\n\t lastRow = Math.min(lastRow, lines.length - 1);\n\t while (row <= lastRow) {\n\t foldLine = this.getFoldLine(row, foldLine);\n\t if (!foldLine) {\n\t tokens = this.$getDisplayTokens(lines[row]);\n\t wrapData[row] = this.$computeWrapSplits(tokens, wrapLimit, tabSize);\n\t row ++;\n\t } else {\n\t tokens = [];\n\t foldLine.walk(function(placeholder, row, column, lastColumn) {\n\t var walkTokens;\n\t if (placeholder != null) {\n\t walkTokens = this.$getDisplayTokens(\n\t placeholder, tokens.length);\n\t walkTokens[0] = PLACEHOLDER_START;\n\t for (var i = 1; i < walkTokens.length; i++) {\n\t walkTokens[i] = PLACEHOLDER_BODY;\n\t }\n\t } else {\n\t walkTokens = this.$getDisplayTokens(\n\t lines[row].substring(lastColumn, column),\n\t tokens.length);\n\t }\n\t tokens = tokens.concat(walkTokens);\n\t }.bind(this),\n\t foldLine.end.row,\n\t lines[foldLine.end.row].length + 1\n\t );\n\t\n\t wrapData[foldLine.start.row] = this.$computeWrapSplits(tokens, wrapLimit, tabSize);\n\t row = foldLine.end.row + 1;\n\t }\n\t }\n\t };\n\t var CHAR = 1,\n\t CHAR_EXT = 2,\n\t PLACEHOLDER_START = 3,\n\t PLACEHOLDER_BODY = 4,\n\t PUNCTUATION = 9,\n\t SPACE = 10,\n\t TAB = 11,\n\t TAB_SPACE = 12;\n\t\n\t\n\t this.$computeWrapSplits = function(tokens, wrapLimit, tabSize) {\n\t if (tokens.length == 0) {\n\t return [];\n\t }\n\t\n\t var splits = [];\n\t var displayLength = tokens.length;\n\t var lastSplit = 0, lastDocSplit = 0;\n\t\n\t var isCode = this.$wrapAsCode;\n\t\n\t var indentedSoftWrap = this.$indentedSoftWrap;\n\t var maxIndent = wrapLimit <= Math.max(2 * tabSize, 8)\n\t || indentedSoftWrap === false ? 0 : Math.floor(wrapLimit / 2);\n\t\n\t function getWrapIndent() {\n\t var indentation = 0;\n\t if (maxIndent === 0)\n\t return indentation;\n\t if (indentedSoftWrap) {\n\t for (var i = 0; i < tokens.length; i++) {\n\t var token = tokens[i];\n\t if (token == SPACE)\n\t indentation += 1;\n\t else if (token == TAB)\n\t indentation += tabSize;\n\t else if (token == TAB_SPACE)\n\t continue;\n\t else\n\t break;\n\t }\n\t }\n\t if (isCode && indentedSoftWrap !== false)\n\t indentation += tabSize;\n\t return Math.min(indentation, maxIndent);\n\t }\n\t function addSplit(screenPos) {\n\t var displayed = tokens.slice(lastSplit, screenPos);\n\t var len = displayed.length;\n\t displayed.join(\"\")\n\t .replace(/12/g, function() {\n\t len -= 1;\n\t })\n\t .replace(/2/g, function() {\n\t len -= 1;\n\t });\n\t\n\t if (!splits.length) {\n\t indent = getWrapIndent();\n\t splits.indent = indent;\n\t }\n\t lastDocSplit += len;\n\t splits.push(lastDocSplit);\n\t lastSplit = screenPos;\n\t }\n\t var indent = 0;\n\t while (displayLength - lastSplit > wrapLimit - indent) {\n\t var split = lastSplit + wrapLimit - indent;\n\t if (tokens[split - 1] >= SPACE && tokens[split] >= SPACE) {\n\t addSplit(split);\n\t continue;\n\t }\n\t if (tokens[split] == PLACEHOLDER_START || tokens[split] == PLACEHOLDER_BODY) {\n\t for (split; split != lastSplit - 1; split--) {\n\t if (tokens[split] == PLACEHOLDER_START) {\n\t break;\n\t }\n\t }\n\t if (split > lastSplit) {\n\t addSplit(split);\n\t continue;\n\t }\n\t split = lastSplit + wrapLimit;\n\t for (split; split < tokens.length; split++) {\n\t if (tokens[split] != PLACEHOLDER_BODY) {\n\t break;\n\t }\n\t }\n\t if (split == tokens.length) {\n\t break; // Breaks the while-loop.\n\t }\n\t addSplit(split);\n\t continue;\n\t }\n\t var minSplit = Math.max(split - (wrapLimit -(wrapLimit>>2)), lastSplit - 1);\n\t while (split > minSplit && tokens[split] < PLACEHOLDER_START) {\n\t split --;\n\t }\n\t if (isCode) {\n\t while (split > minSplit && tokens[split] < PLACEHOLDER_START) {\n\t split --;\n\t }\n\t while (split > minSplit && tokens[split] == PUNCTUATION) {\n\t split --;\n\t }\n\t } else {\n\t while (split > minSplit && tokens[split] < SPACE) {\n\t split --;\n\t }\n\t }\n\t if (split > minSplit) {\n\t addSplit(++split);\n\t continue;\n\t }\n\t split = lastSplit + wrapLimit;\n\t if (tokens[split] == CHAR_EXT)\n\t split--;\n\t addSplit(split - indent);\n\t }\n\t return splits;\n\t };\n\t this.$getDisplayTokens = function(str, offset) {\n\t var arr = [];\n\t var tabSize;\n\t offset = offset || 0;\n\t\n\t for (var i = 0; i < str.length; i++) {\n\t var c = str.charCodeAt(i);\n\t if (c == 9) {\n\t tabSize = this.getScreenTabSize(arr.length + offset);\n\t arr.push(TAB);\n\t for (var n = 1; n < tabSize; n++) {\n\t arr.push(TAB_SPACE);\n\t }\n\t }\n\t else if (c == 32) {\n\t arr.push(SPACE);\n\t } else if((c > 39 && c < 48) || (c > 57 && c < 64)) {\n\t arr.push(PUNCTUATION);\n\t }\n\t else if (c >= 0x1100 && isFullWidth(c)) {\n\t arr.push(CHAR, CHAR_EXT);\n\t } else {\n\t arr.push(CHAR);\n\t }\n\t }\n\t return arr;\n\t };\n\t this.$getStringScreenWidth = function(str, maxScreenColumn, screenColumn) {\n\t if (maxScreenColumn == 0)\n\t return [0, 0];\n\t if (maxScreenColumn == null)\n\t maxScreenColumn = Infinity;\n\t screenColumn = screenColumn || 0;\n\t\n\t var c, column;\n\t for (column = 0; column < str.length; column++) {\n\t c = str.charCodeAt(column);\n\t if (c == 9) {\n\t screenColumn += this.getScreenTabSize(screenColumn);\n\t }\n\t else if (c >= 0x1100 && isFullWidth(c)) {\n\t screenColumn += 2;\n\t } else {\n\t screenColumn += 1;\n\t }\n\t if (screenColumn > maxScreenColumn) {\n\t break;\n\t }\n\t }\n\t\n\t return [screenColumn, column];\n\t };\n\t\n\t this.lineWidgets = null;\n\t this.getRowLength = function(row) {\n\t if (this.lineWidgets)\n\t var h = this.lineWidgets[row] && this.lineWidgets[row].rowCount || 0;\n\t else \n\t h = 0\n\t if (!this.$useWrapMode || !this.$wrapData[row]) {\n\t return 1 + h;\n\t } else {\n\t return this.$wrapData[row].length + 1 + h;\n\t }\n\t };\n\t this.getRowLineCount = function(row) {\n\t if (!this.$useWrapMode || !this.$wrapData[row]) {\n\t return 1;\n\t } else {\n\t return this.$wrapData[row].length + 1;\n\t }\n\t };\n\t\n\t this.getRowWrapIndent = function(screenRow) {\n\t if (this.$useWrapMode) {\n\t var pos = this.screenToDocumentPosition(screenRow, Number.MAX_VALUE);\n\t var splits = this.$wrapData[pos.row];\n\t return splits.length && splits[0] < pos.column ? splits.indent : 0;\n\t } else {\n\t return 0;\n\t }\n\t }\n\t this.getScreenLastRowColumn = function(screenRow) {\n\t var pos = this.screenToDocumentPosition(screenRow, Number.MAX_VALUE);\n\t return this.documentToScreenColumn(pos.row, pos.column);\n\t };\n\t this.getDocumentLastRowColumn = function(docRow, docColumn) {\n\t var screenRow = this.documentToScreenRow(docRow, docColumn);\n\t return this.getScreenLastRowColumn(screenRow);\n\t };\n\t this.getDocumentLastRowColumnPosition = function(docRow, docColumn) {\n\t var screenRow = this.documentToScreenRow(docRow, docColumn);\n\t return this.screenToDocumentPosition(screenRow, Number.MAX_VALUE / 10);\n\t };\n\t this.getRowSplitData = function(row) {\n\t if (!this.$useWrapMode) {\n\t return undefined;\n\t } else {\n\t return this.$wrapData[row];\n\t }\n\t };\n\t this.getScreenTabSize = function(screenColumn) {\n\t return this.$tabSize - screenColumn % this.$tabSize;\n\t };\n\t\n\t\n\t this.screenToDocumentRow = function(screenRow, screenColumn) {\n\t return this.screenToDocumentPosition(screenRow, screenColumn).row;\n\t };\n\t\n\t\n\t this.screenToDocumentColumn = function(screenRow, screenColumn) {\n\t return this.screenToDocumentPosition(screenRow, screenColumn).column;\n\t };\n\t this.screenToDocumentPosition = function(screenRow, screenColumn) {\n\t if (screenRow < 0)\n\t return {row: 0, column: 0};\n\t\n\t var line;\n\t var docRow = 0;\n\t var docColumn = 0;\n\t var column;\n\t var row = 0;\n\t var rowLength = 0;\n\t\n\t var rowCache = this.$screenRowCache;\n\t var i = this.$getRowCacheIndex(rowCache, screenRow);\n\t var l = rowCache.length;\n\t if (l && i >= 0) {\n\t var row = rowCache[i];\n\t var docRow = this.$docRowCache[i];\n\t var doCache = screenRow > rowCache[l - 1];\n\t } else {\n\t var doCache = !l;\n\t }\n\t\n\t var maxRow = this.getLength() - 1;\n\t var foldLine = this.getNextFoldLine(docRow);\n\t var foldStart = foldLine ? foldLine.start.row : Infinity;\n\t\n\t while (row <= screenRow) {\n\t rowLength = this.getRowLength(docRow);\n\t if (row + rowLength > screenRow || docRow >= maxRow) {\n\t break;\n\t } else {\n\t row += rowLength;\n\t docRow++;\n\t if (docRow > foldStart) {\n\t docRow = foldLine.end.row+1;\n\t foldLine = this.getNextFoldLine(docRow, foldLine);\n\t foldStart = foldLine ? foldLine.start.row : Infinity;\n\t }\n\t }\n\t\n\t if (doCache) {\n\t this.$docRowCache.push(docRow);\n\t this.$screenRowCache.push(row);\n\t }\n\t }\n\t\n\t if (foldLine && foldLine.start.row <= docRow) {\n\t line = this.getFoldDisplayLine(foldLine);\n\t docRow = foldLine.start.row;\n\t } else if (row + rowLength <= screenRow || docRow > maxRow) {\n\t return {\n\t row: maxRow,\n\t column: this.getLine(maxRow).length\n\t };\n\t } else {\n\t line = this.getLine(docRow);\n\t foldLine = null;\n\t }\n\t var wrapIndent = 0;\n\t if (this.$useWrapMode) {\n\t var splits = this.$wrapData[docRow];\n\t if (splits) {\n\t var splitIndex = Math.floor(screenRow - row);\n\t column = splits[splitIndex];\n\t if(splitIndex > 0 && splits.length) {\n\t wrapIndent = splits.indent;\n\t docColumn = splits[splitIndex - 1] || splits[splits.length - 1];\n\t line = line.substring(docColumn);\n\t }\n\t }\n\t }\n\t\n\t docColumn += this.$getStringScreenWidth(line, screenColumn - wrapIndent)[1];\n\t if (this.$useWrapMode && docColumn >= column)\n\t docColumn = column - 1;\n\t\n\t if (foldLine)\n\t return foldLine.idxToPosition(docColumn);\n\t\n\t return {row: docRow, column: docColumn};\n\t };\n\t this.documentToScreenPosition = function(docRow, docColumn) {\n\t if (typeof docColumn === \"undefined\")\n\t var pos = this.$clipPositionToDocument(docRow.row, docRow.column);\n\t else\n\t pos = this.$clipPositionToDocument(docRow, docColumn);\n\t\n\t docRow = pos.row;\n\t docColumn = pos.column;\n\t\n\t var screenRow = 0;\n\t var foldStartRow = null;\n\t var fold = null;\n\t fold = this.getFoldAt(docRow, docColumn, 1);\n\t if (fold) {\n\t docRow = fold.start.row;\n\t docColumn = fold.start.column;\n\t }\n\t\n\t var rowEnd, row = 0;\n\t\n\t\n\t var rowCache = this.$docRowCache;\n\t var i = this.$getRowCacheIndex(rowCache, docRow);\n\t var l = rowCache.length;\n\t if (l && i >= 0) {\n\t var row = rowCache[i];\n\t var screenRow = this.$screenRowCache[i];\n\t var doCache = docRow > rowCache[l - 1];\n\t } else {\n\t var doCache = !l;\n\t }\n\t\n\t var foldLine = this.getNextFoldLine(row);\n\t var foldStart = foldLine ?foldLine.start.row :Infinity;\n\t\n\t while (row < docRow) {\n\t if (row >= foldStart) {\n\t rowEnd = foldLine.end.row + 1;\n\t if (rowEnd > docRow)\n\t break;\n\t foldLine = this.getNextFoldLine(rowEnd, foldLine);\n\t foldStart = foldLine ?foldLine.start.row :Infinity;\n\t }\n\t else {\n\t rowEnd = row + 1;\n\t }\n\t\n\t screenRow += this.getRowLength(row);\n\t row = rowEnd;\n\t\n\t if (doCache) {\n\t this.$docRowCache.push(row);\n\t this.$screenRowCache.push(screenRow);\n\t }\n\t }\n\t var textLine = \"\";\n\t if (foldLine && row >= foldStart) {\n\t textLine = this.getFoldDisplayLine(foldLine, docRow, docColumn);\n\t foldStartRow = foldLine.start.row;\n\t } else {\n\t textLine = this.getLine(docRow).substring(0, docColumn);\n\t foldStartRow = docRow;\n\t }\n\t var wrapIndent = 0;\n\t if (this.$useWrapMode) {\n\t var wrapRow = this.$wrapData[foldStartRow];\n\t if (wrapRow) {\n\t var screenRowOffset = 0;\n\t while (textLine.length >= wrapRow[screenRowOffset]) {\n\t screenRow ++;\n\t screenRowOffset++;\n\t }\n\t textLine = textLine.substring(\n\t wrapRow[screenRowOffset - 1] || 0, textLine.length\n\t );\n\t wrapIndent = screenRowOffset > 0 ? wrapRow.indent : 0;\n\t }\n\t }\n\t\n\t return {\n\t row: screenRow,\n\t column: wrapIndent + this.$getStringScreenWidth(textLine)[0]\n\t };\n\t };\n\t this.documentToScreenColumn = function(row, docColumn) {\n\t return this.documentToScreenPosition(row, docColumn).column;\n\t };\n\t this.documentToScreenRow = function(docRow, docColumn) {\n\t return this.documentToScreenPosition(docRow, docColumn).row;\n\t };\n\t this.getScreenLength = function() {\n\t var screenRows = 0;\n\t var fold = null;\n\t if (!this.$useWrapMode) {\n\t screenRows = this.getLength();\n\t var foldData = this.$foldData;\n\t for (var i = 0; i < foldData.length; i++) {\n\t fold = foldData[i];\n\t screenRows -= fold.end.row - fold.start.row;\n\t }\n\t } else {\n\t var lastRow = this.$wrapData.length;\n\t var row = 0, i = 0;\n\t var fold = this.$foldData[i++];\n\t var foldStart = fold ? fold.start.row :Infinity;\n\t\n\t while (row < lastRow) {\n\t var splits = this.$wrapData[row];\n\t screenRows += splits ? splits.length + 1 : 1;\n\t row ++;\n\t if (row > foldStart) {\n\t row = fold.end.row+1;\n\t fold = this.$foldData[i++];\n\t foldStart = fold ?fold.start.row :Infinity;\n\t }\n\t }\n\t }\n\t if (this.lineWidgets)\n\t screenRows += this.$getWidgetScreenLength();\n\t\n\t return screenRows;\n\t };\n\t this.$setFontMetrics = function(fm) {\n\t if (!this.$enableVarChar) return;\n\t this.$getStringScreenWidth = function(str, maxScreenColumn, screenColumn) {\n\t if (maxScreenColumn === 0)\n\t return [0, 0];\n\t if (!maxScreenColumn)\n\t maxScreenColumn = Infinity;\n\t screenColumn = screenColumn || 0;\n\t \n\t var c, column;\n\t for (column = 0; column < str.length; column++) {\n\t c = str.charAt(column);\n\t if (c === \"\\t\") {\n\t screenColumn += this.getScreenTabSize(screenColumn);\n\t } else {\n\t screenColumn += fm.getCharacterWidth(c);\n\t }\n\t if (screenColumn > maxScreenColumn) {\n\t break;\n\t }\n\t }\n\t \n\t return [screenColumn, column];\n\t };\n\t };\n\t \n\t this.destroy = function() {\n\t if (this.bgTokenizer) {\n\t this.bgTokenizer.setDocument(null);\n\t this.bgTokenizer = null;\n\t }\n\t this.$stopWorker();\n\t };\n\t function isFullWidth(c) {\n\t if (c < 0x1100)\n\t return false;\n\t return c >= 0x1100 && c <= 0x115F ||\n\t c >= 0x11A3 && c <= 0x11A7 ||\n\t c >= 0x11FA && c <= 0x11FF ||\n\t c >= 0x2329 && c <= 0x232A ||\n\t c >= 0x2E80 && c <= 0x2E99 ||\n\t c >= 0x2E9B && c <= 0x2EF3 ||\n\t c >= 0x2F00 && c <= 0x2FD5 ||\n\t c >= 0x2FF0 && c <= 0x2FFB ||\n\t c >= 0x3000 && c <= 0x303E ||\n\t c >= 0x3041 && c <= 0x3096 ||\n\t c >= 0x3099 && c <= 0x30FF ||\n\t c >= 0x3105 && c <= 0x312D ||\n\t c >= 0x3131 && c <= 0x318E ||\n\t c >= 0x3190 && c <= 0x31BA ||\n\t c >= 0x31C0 && c <= 0x31E3 ||\n\t c >= 0x31F0 && c <= 0x321E ||\n\t c >= 0x3220 && c <= 0x3247 ||\n\t c >= 0x3250 && c <= 0x32FE ||\n\t c >= 0x3300 && c <= 0x4DBF ||\n\t c >= 0x4E00 && c <= 0xA48C ||\n\t c >= 0xA490 && c <= 0xA4C6 ||\n\t c >= 0xA960 && c <= 0xA97C ||\n\t c >= 0xAC00 && c <= 0xD7A3 ||\n\t c >= 0xD7B0 && c <= 0xD7C6 ||\n\t c >= 0xD7CB && c <= 0xD7FB ||\n\t c >= 0xF900 && c <= 0xFAFF ||\n\t c >= 0xFE10 && c <= 0xFE19 ||\n\t c >= 0xFE30 && c <= 0xFE52 ||\n\t c >= 0xFE54 && c <= 0xFE66 ||\n\t c >= 0xFE68 && c <= 0xFE6B ||\n\t c >= 0xFF01 && c <= 0xFF60 ||\n\t c >= 0xFFE0 && c <= 0xFFE6;\n\t }\n\t\n\t}).call(EditSession.prototype);\n\t\n\tacequire(\"./edit_session/folding\").Folding.call(EditSession.prototype);\n\tacequire(\"./edit_session/bracket_match\").BracketMatch.call(EditSession.prototype);\n\t\n\t\n\tconfig.defineOptions(EditSession.prototype, \"session\", {\n\t wrap: {\n\t set: function(value) {\n\t if (!value || value == \"off\")\n\t value = false;\n\t else if (value == \"free\")\n\t value = true;\n\t else if (value == \"printMargin\")\n\t value = -1;\n\t else if (typeof value == \"string\")\n\t value = parseInt(value, 10) || false;\n\t\n\t if (this.$wrap == value)\n\t return;\n\t this.$wrap = value;\n\t if (!value) {\n\t this.setUseWrapMode(false);\n\t } else {\n\t var col = typeof value == \"number\" ? value : null;\n\t this.setWrapLimitRange(col, col);\n\t this.setUseWrapMode(true);\n\t }\n\t },\n\t get: function() {\n\t if (this.getUseWrapMode()) {\n\t if (this.$wrap == -1)\n\t return \"printMargin\";\n\t if (!this.getWrapLimitRange().min)\n\t return \"free\";\n\t return this.$wrap;\n\t }\n\t return \"off\";\n\t },\n\t handlesSet: true\n\t }, \n\t wrapMethod: {\n\t set: function(val) {\n\t val = val == \"auto\"\n\t ? this.$mode.type != \"text\"\n\t : val != \"text\";\n\t if (val != this.$wrapAsCode) {\n\t this.$wrapAsCode = val;\n\t if (this.$useWrapMode) {\n\t this.$modified = true;\n\t this.$resetRowCache(0);\n\t this.$updateWrapData(0, this.getLength() - 1);\n\t }\n\t }\n\t },\n\t initialValue: \"auto\"\n\t },\n\t indentedSoftWrap: { initialValue: true },\n\t firstLineNumber: {\n\t set: function() {this._signal(\"changeBreakpoint\");},\n\t initialValue: 1\n\t },\n\t useWorker: {\n\t set: function(useWorker) {\n\t this.$useWorker = useWorker;\n\t\n\t this.$stopWorker();\n\t if (useWorker)\n\t this.$startWorker();\n\t },\n\t initialValue: true\n\t },\n\t useSoftTabs: {initialValue: true},\n\t tabSize: {\n\t set: function(tabSize) {\n\t if (isNaN(tabSize) || this.$tabSize === tabSize) return;\n\t\n\t this.$modified = true;\n\t this.$rowLengthCache = [];\n\t this.$tabSize = tabSize;\n\t this._signal(\"changeTabSize\");\n\t },\n\t initialValue: 4,\n\t handlesSet: true\n\t },\n\t overwrite: {\n\t set: function(val) {this._signal(\"changeOverwrite\");},\n\t initialValue: false\n\t },\n\t newLineMode: {\n\t set: function(val) {this.doc.setNewLineMode(val)},\n\t get: function() {return this.doc.getNewLineMode()},\n\t handlesSet: true\n\t },\n\t mode: {\n\t set: function(val) { this.setMode(val) },\n\t get: function() { return this.$modeId }\n\t }\n\t});\n\t\n\texports.EditSession = EditSession;\n\t});\n\t\n\tace.define(\"ace/search\",[\"require\",\"exports\",\"module\",\"ace/lib/lang\",\"ace/lib/oop\",\"ace/range\"], function(acequire, exports, module) {\n\t\"use strict\";\n\t\n\tvar lang = acequire(\"./lib/lang\");\n\tvar oop = acequire(\"./lib/oop\");\n\tvar Range = acequire(\"./range\").Range;\n\t\n\tvar Search = function() {\n\t this.$options = {};\n\t};\n\t\n\t(function() {\n\t this.set = function(options) {\n\t oop.mixin(this.$options, options);\n\t return this;\n\t };\n\t this.getOptions = function() {\n\t return lang.copyObject(this.$options);\n\t };\n\t this.setOptions = function(options) {\n\t this.$options = options;\n\t };\n\t this.find = function(session) {\n\t var options = this.$options;\n\t var iterator = this.$matchIterator(session, options);\n\t if (!iterator)\n\t return false;\n\t\n\t var firstRange = null;\n\t iterator.forEach(function(range, row, offset) {\n\t if (!range.start) {\n\t var column = range.offset + (offset || 0);\n\t firstRange = new Range(row, column, row, column + range.length);\n\t if (!range.length && options.start && options.start.start\n\t && options.skipCurrent != false && firstRange.isEqual(options.start)\n\t ) {\n\t firstRange = null;\n\t return false;\n\t }\n\t } else\n\t firstRange = range;\n\t return true;\n\t });\n\t\n\t return firstRange;\n\t };\n\t this.findAll = function(session) {\n\t var options = this.$options;\n\t if (!options.needle)\n\t return [];\n\t this.$assembleRegExp(options);\n\t\n\t var range = options.range;\n\t var lines = range\n\t ? session.getLines(range.start.row, range.end.row)\n\t : session.doc.getAllLines();\n\t\n\t var ranges = [];\n\t var re = options.re;\n\t if (options.$isMultiLine) {\n\t var len = re.length;\n\t var maxRow = lines.length - len;\n\t var prevRange;\n\t outer: for (var row = re.offset || 0; row <= maxRow; row++) {\n\t for (var j = 0; j < len; j++)\n\t if (lines[row + j].search(re[j]) == -1)\n\t continue outer;\n\t \n\t var startLine = lines[row];\n\t var line = lines[row + len - 1];\n\t var startIndex = startLine.length - startLine.match(re[0])[0].length;\n\t var endIndex = line.match(re[len - 1])[0].length;\n\t \n\t if (prevRange && prevRange.end.row === row &&\n\t prevRange.end.column > startIndex\n\t ) {\n\t continue;\n\t }\n\t ranges.push(prevRange = new Range(\n\t row, startIndex, row + len - 1, endIndex\n\t ));\n\t if (len > 2)\n\t row = row + len - 2;\n\t }\n\t } else {\n\t for (var i = 0; i < lines.length; i++) {\n\t var matches = lang.getMatchOffsets(lines[i], re);\n\t for (var j = 0; j < matches.length; j++) {\n\t var match = matches[j];\n\t ranges.push(new Range(i, match.offset, i, match.offset + match.length));\n\t }\n\t }\n\t }\n\t\n\t if (range) {\n\t var startColumn = range.start.column;\n\t var endColumn = range.start.column;\n\t var i = 0, j = ranges.length - 1;\n\t while (i < j && ranges[i].start.column < startColumn && ranges[i].start.row == range.start.row)\n\t i++;\n\t\n\t while (i < j && ranges[j].end.column > endColumn && ranges[j].end.row == range.end.row)\n\t j--;\n\t \n\t ranges = ranges.slice(i, j + 1);\n\t for (i = 0, j = ranges.length; i < j; i++) {\n\t ranges[i].start.row += range.start.row;\n\t ranges[i].end.row += range.start.row;\n\t }\n\t }\n\t\n\t return ranges;\n\t };\n\t this.replace = function(input, replacement) {\n\t var options = this.$options;\n\t\n\t var re = this.$assembleRegExp(options);\n\t if (options.$isMultiLine)\n\t return replacement;\n\t\n\t if (!re)\n\t return;\n\t\n\t var match = re.exec(input);\n\t if (!match || match[0].length != input.length)\n\t return null;\n\t \n\t replacement = input.replace(re, replacement);\n\t if (options.preserveCase) {\n\t replacement = replacement.split(\"\");\n\t for (var i = Math.min(input.length, input.length); i--; ) {\n\t var ch = input[i];\n\t if (ch && ch.toLowerCase() != ch)\n\t replacement[i] = replacement[i].toUpperCase();\n\t else\n\t replacement[i] = replacement[i].toLowerCase();\n\t }\n\t replacement = replacement.join(\"\");\n\t }\n\t \n\t return replacement;\n\t };\n\t\n\t this.$matchIterator = function(session, options) {\n\t var re = this.$assembleRegExp(options);\n\t if (!re)\n\t return false;\n\t\n\t var callback;\n\t if (options.$isMultiLine) {\n\t var len = re.length;\n\t var matchIterator = function(line, row, offset) {\n\t var startIndex = line.search(re[0]);\n\t if (startIndex == -1)\n\t return;\n\t for (var i = 1; i < len; i++) {\n\t line = session.getLine(row + i);\n\t if (line.search(re[i]) == -1)\n\t return;\n\t }\n\t\n\t var endIndex = line.match(re[len - 1])[0].length;\n\t\n\t var range = new Range(row, startIndex, row + len - 1, endIndex);\n\t if (re.offset == 1) {\n\t range.start.row--;\n\t range.start.column = Number.MAX_VALUE;\n\t } else if (offset)\n\t range.start.column += offset;\n\t\n\t if (callback(range))\n\t return true;\n\t };\n\t } else if (options.backwards) {\n\t var matchIterator = function(line, row, startIndex) {\n\t var matches = lang.getMatchOffsets(line, re);\n\t for (var i = matches.length-1; i >= 0; i--)\n\t if (callback(matches[i], row, startIndex))\n\t return true;\n\t };\n\t } else {\n\t var matchIterator = function(line, row, startIndex) {\n\t var matches = lang.getMatchOffsets(line, re);\n\t for (var i = 0; i < matches.length; i++)\n\t if (callback(matches[i], row, startIndex))\n\t return true;\n\t };\n\t }\n\t \n\t var lineIterator = this.$lineIterator(session, options);\n\t\n\t return {\n\t forEach: function(_callback) {\n\t callback = _callback;\n\t lineIterator.forEach(matchIterator);\n\t }\n\t };\n\t };\n\t\n\t this.$assembleRegExp = function(options, $disableFakeMultiline) {\n\t if (options.needle instanceof RegExp)\n\t return options.re = options.needle;\n\t\n\t var needle = options.needle;\n\t\n\t if (!options.needle)\n\t return options.re = false;\n\t\n\t if (!options.regExp)\n\t needle = lang.escapeRegExp(needle);\n\t\n\t if (options.wholeWord)\n\t needle = \"\\\\b\" + needle + \"\\\\b\";\n\t\n\t var modifier = options.caseSensitive ? \"gm\" : \"gmi\";\n\t\n\t options.$isMultiLine = !$disableFakeMultiline && /[\\n\\r]/.test(needle);\n\t if (options.$isMultiLine)\n\t return options.re = this.$assembleMultilineRegExp(needle, modifier);\n\t\n\t try {\n\t var re = new RegExp(needle, modifier);\n\t } catch(e) {\n\t re = false;\n\t }\n\t return options.re = re;\n\t };\n\t\n\t this.$assembleMultilineRegExp = function(needle, modifier) {\n\t var parts = needle.replace(/\\r\\n|\\r|\\n/g, \"$\\n^\").split(\"\\n\");\n\t var re = [];\n\t for (var i = 0; i < parts.length; i++) try {\n\t re.push(new RegExp(parts[i], modifier));\n\t } catch(e) {\n\t return false;\n\t }\n\t if (parts[0] == \"\") {\n\t re.shift();\n\t re.offset = 1;\n\t } else {\n\t re.offset = 0;\n\t }\n\t return re;\n\t };\n\t\n\t this.$lineIterator = function(session, options) {\n\t var backwards = options.backwards == true;\n\t var skipCurrent = options.skipCurrent != false;\n\t\n\t var range = options.range;\n\t var start = options.start;\n\t if (!start)\n\t start = range ? range[backwards ? \"end\" : \"start\"] : session.selection.getRange();\n\t \n\t if (start.start)\n\t start = start[skipCurrent != backwards ? \"end\" : \"start\"];\n\t\n\t var firstRow = range ? range.start.row : 0;\n\t var lastRow = range ? range.end.row : session.getLength() - 1;\n\t\n\t var forEach = backwards ? function(callback) {\n\t var row = start.row;\n\t\n\t var line = session.getLine(row).substring(0, start.column);\n\t if (callback(line, row))\n\t return;\n\t\n\t for (row--; row >= firstRow; row--)\n\t if (callback(session.getLine(row), row))\n\t return;\n\t\n\t if (options.wrap == false)\n\t return;\n\t\n\t for (row = lastRow, firstRow = start.row; row >= firstRow; row--)\n\t if (callback(session.getLine(row), row))\n\t return;\n\t } : function(callback) {\n\t var row = start.row;\n\t\n\t var line = session.getLine(row).substr(start.column);\n\t if (callback(line, row, start.column))\n\t return;\n\t\n\t for (row = row+1; row <= lastRow; row++)\n\t if (callback(session.getLine(row), row))\n\t return;\n\t\n\t if (options.wrap == false)\n\t return;\n\t\n\t for (row = firstRow, lastRow = start.row; row <= lastRow; row++)\n\t if (callback(session.getLine(row), row))\n\t return;\n\t };\n\t \n\t return {forEach: forEach};\n\t };\n\t\n\t}).call(Search.prototype);\n\t\n\texports.Search = Search;\n\t});\n\t\n\tace.define(\"ace/keyboard/hash_handler\",[\"require\",\"exports\",\"module\",\"ace/lib/keys\",\"ace/lib/useragent\"], function(acequire, exports, module) {\n\t\"use strict\";\n\t\n\tvar keyUtil = acequire(\"../lib/keys\");\n\tvar useragent = acequire(\"../lib/useragent\");\n\tvar KEY_MODS = keyUtil.KEY_MODS;\n\t\n\tfunction HashHandler(config, platform) {\n\t this.platform = platform || (useragent.isMac ? \"mac\" : \"win\");\n\t this.commands = {};\n\t this.commandKeyBinding = {};\n\t this.addCommands(config);\n\t this.$singleCommand = true;\n\t}\n\t\n\tfunction MultiHashHandler(config, platform) {\n\t HashHandler.call(this, config, platform);\n\t this.$singleCommand = false;\n\t}\n\t\n\tMultiHashHandler.prototype = HashHandler.prototype;\n\t\n\t(function() {\n\t \n\t\n\t this.addCommand = function(command) {\n\t if (this.commands[command.name])\n\t this.removeCommand(command);\n\t\n\t this.commands[command.name] = command;\n\t\n\t if (command.bindKey)\n\t this._buildKeyHash(command);\n\t };\n\t\n\t this.removeCommand = function(command, keepCommand) {\n\t var name = command && (typeof command === 'string' ? command : command.name);\n\t command = this.commands[name];\n\t if (!keepCommand)\n\t delete this.commands[name];\n\t var ckb = this.commandKeyBinding;\n\t for (var keyId in ckb) {\n\t var cmdGroup = ckb[keyId];\n\t if (cmdGroup == command) {\n\t delete ckb[keyId];\n\t } else if (Array.isArray(cmdGroup)) {\n\t var i = cmdGroup.indexOf(command);\n\t if (i != -1) {\n\t cmdGroup.splice(i, 1);\n\t if (cmdGroup.length == 1)\n\t ckb[keyId] = cmdGroup[0];\n\t }\n\t }\n\t }\n\t };\n\t\n\t this.bindKey = function(key, command, position) {\n\t if (typeof key == \"object\" && key) {\n\t if (position == undefined)\n\t position = key.position;\n\t key = key[this.platform];\n\t }\n\t if (!key)\n\t return;\n\t if (typeof command == \"function\")\n\t return this.addCommand({exec: command, bindKey: key, name: command.name || key});\n\t \n\t key.split(\"|\").forEach(function(keyPart) {\n\t var chain = \"\";\n\t if (keyPart.indexOf(\" \") != -1) {\n\t var parts = keyPart.split(/\\s+/);\n\t keyPart = parts.pop();\n\t parts.forEach(function(keyPart) {\n\t var binding = this.parseKeys(keyPart);\n\t var id = KEY_MODS[binding.hashId] + binding.key;\n\t chain += (chain ? \" \" : \"\") + id;\n\t this._addCommandToBinding(chain, \"chainKeys\");\n\t }, this);\n\t chain += \" \";\n\t }\n\t var binding = this.parseKeys(keyPart);\n\t var id = KEY_MODS[binding.hashId] + binding.key;\n\t this._addCommandToBinding(chain + id, command, position);\n\t }, this);\n\t };\n\t \n\t function getPosition(command) {\n\t return typeof command == \"object\" && command.bindKey\n\t && command.bindKey.position || 0;\n\t }\n\t this._addCommandToBinding = function(keyId, command, position) {\n\t var ckb = this.commandKeyBinding, i;\n\t if (!command) {\n\t delete ckb[keyId];\n\t } else if (!ckb[keyId] || this.$singleCommand) {\n\t ckb[keyId] = command;\n\t } else {\n\t if (!Array.isArray(ckb[keyId])) {\n\t ckb[keyId] = [ckb[keyId]];\n\t } else if ((i = ckb[keyId].indexOf(command)) != -1) {\n\t ckb[keyId].splice(i, 1);\n\t }\n\t\n\t if (typeof position != \"number\") {\n\t if (position || command.isDefault)\n\t position = -100;\n\t else\n\t position = getPosition(command);\n\t }\n\t var commands = ckb[keyId];\n\t for (i = 0; i < commands.length; i++) {\n\t var other = commands[i];\n\t var otherPos = getPosition(other);\n\t if (otherPos > position)\n\t break;\n\t }\n\t commands.splice(i, 0, command);\n\t }\n\t };\n\t\n\t this.addCommands = function(commands) {\n\t commands && Object.keys(commands).forEach(function(name) {\n\t var command = commands[name];\n\t if (!command)\n\t return;\n\t \n\t if (typeof command === \"string\")\n\t return this.bindKey(command, name);\n\t\n\t if (typeof command === \"function\")\n\t command = { exec: command };\n\t\n\t if (typeof command !== \"object\")\n\t return;\n\t\n\t if (!command.name)\n\t command.name = name;\n\t\n\t this.addCommand(command);\n\t }, this);\n\t };\n\t\n\t this.removeCommands = function(commands) {\n\t Object.keys(commands).forEach(function(name) {\n\t this.removeCommand(commands[name]);\n\t }, this);\n\t };\n\t\n\t this.bindKeys = function(keyList) {\n\t Object.keys(keyList).forEach(function(key) {\n\t this.bindKey(key, keyList[key]);\n\t }, this);\n\t };\n\t\n\t this._buildKeyHash = function(command) {\n\t this.bindKey(command.bindKey, command);\n\t };\n\t this.parseKeys = function(keys) {\n\t var parts = keys.toLowerCase().split(/[\\-\\+]([\\-\\+])?/).filter(function(x){return x});\n\t var key = parts.pop();\n\t\n\t var keyCode = keyUtil[key];\n\t if (keyUtil.FUNCTION_KEYS[keyCode])\n\t key = keyUtil.FUNCTION_KEYS[keyCode].toLowerCase();\n\t else if (!parts.length)\n\t return {key: key, hashId: -1};\n\t else if (parts.length == 1 && parts[0] == \"shift\")\n\t return {key: key.toUpperCase(), hashId: -1};\n\t\n\t var hashId = 0;\n\t for (var i = parts.length; i--;) {\n\t var modifier = keyUtil.KEY_MODS[parts[i]];\n\t if (modifier == null) {\n\t if (typeof console != \"undefined\")\n\t console.error(\"invalid modifier \" + parts[i] + \" in \" + keys);\n\t return false;\n\t }\n\t hashId |= modifier;\n\t }\n\t return {key: key, hashId: hashId};\n\t };\n\t\n\t this.findKeyCommand = function findKeyCommand(hashId, keyString) {\n\t var key = KEY_MODS[hashId] + keyString;\n\t return this.commandKeyBinding[key];\n\t };\n\t\n\t this.handleKeyboard = function(data, hashId, keyString, keyCode) {\n\t if (keyCode < 0) return;\n\t var key = KEY_MODS[hashId] + keyString;\n\t var command = this.commandKeyBinding[key];\n\t if (data.$keyChain) {\n\t data.$keyChain += \" \" + key;\n\t command = this.commandKeyBinding[data.$keyChain] || command;\n\t }\n\t \n\t if (command) {\n\t if (command == \"chainKeys\" || command[command.length - 1] == \"chainKeys\") {\n\t data.$keyChain = data.$keyChain || key;\n\t return {command: \"null\"};\n\t }\n\t }\n\t \n\t if (data.$keyChain) {\n\t if ((!hashId || hashId == 4) && keyString.length == 1)\n\t data.$keyChain = data.$keyChain.slice(0, -key.length - 1); // wait for input\n\t else if (hashId == -1 || keyCode > 0)\n\t data.$keyChain = \"\"; // reset keyChain\n\t }\n\t return {command: command};\n\t };\n\t \n\t this.getStatusText = function(editor, data) {\n\t return data.$keyChain || \"\";\n\t };\n\t\n\t}).call(HashHandler.prototype);\n\t\n\texports.HashHandler = HashHandler;\n\texports.MultiHashHandler = MultiHashHandler;\n\t});\n\t\n\tace.define(\"ace/commands/command_manager\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/keyboard/hash_handler\",\"ace/lib/event_emitter\"], function(acequire, exports, module) {\n\t\"use strict\";\n\t\n\tvar oop = acequire(\"../lib/oop\");\n\tvar MultiHashHandler = acequire(\"../keyboard/hash_handler\").MultiHashHandler;\n\tvar EventEmitter = acequire(\"../lib/event_emitter\").EventEmitter;\n\t\n\tvar CommandManager = function(platform, commands) {\n\t MultiHashHandler.call(this, commands, platform);\n\t this.byName = this.commands;\n\t this.setDefaultHandler(\"exec\", function(e) {\n\t return e.command.exec(e.editor, e.args || {});\n\t });\n\t};\n\t\n\toop.inherits(CommandManager, MultiHashHandler);\n\t\n\t(function() {\n\t\n\t oop.implement(this, EventEmitter);\n\t\n\t this.exec = function(command, editor, args) {\n\t if (Array.isArray(command)) {\n\t for (var i = command.length; i--; ) {\n\t if (this.exec(command[i], editor, args)) return true;\n\t }\n\t return false;\n\t }\n\t \n\t if (typeof command === \"string\")\n\t command = this.commands[command];\n\t\n\t if (!command)\n\t return false;\n\t\n\t if (editor && editor.$readOnly && !command.readOnly)\n\t return false;\n\t\n\t var e = {editor: editor, command: command, args: args};\n\t e.returnValue = this._emit(\"exec\", e);\n\t this._signal(\"afterExec\", e);\n\t\n\t return e.returnValue === false ? false : true;\n\t };\n\t\n\t this.toggleRecording = function(editor) {\n\t if (this.$inReplay)\n\t return;\n\t\n\t editor && editor._emit(\"changeStatus\");\n\t if (this.recording) {\n\t this.macro.pop();\n\t this.removeEventListener(\"exec\", this.$addCommandToMacro);\n\t\n\t if (!this.macro.length)\n\t this.macro = this.oldMacro;\n\t\n\t return this.recording = false;\n\t }\n\t if (!this.$addCommandToMacro) {\n\t this.$addCommandToMacro = function(e) {\n\t this.macro.push([e.command, e.args]);\n\t }.bind(this);\n\t }\n\t\n\t this.oldMacro = this.macro;\n\t this.macro = [];\n\t this.on(\"exec\", this.$addCommandToMacro);\n\t return this.recording = true;\n\t };\n\t\n\t this.replay = function(editor) {\n\t if (this.$inReplay || !this.macro)\n\t return;\n\t\n\t if (this.recording)\n\t return this.toggleRecording(editor);\n\t\n\t try {\n\t this.$inReplay = true;\n\t this.macro.forEach(function(x) {\n\t if (typeof x == \"string\")\n\t this.exec(x, editor);\n\t else\n\t this.exec(x[0], editor, x[1]);\n\t }, this);\n\t } finally {\n\t this.$inReplay = false;\n\t }\n\t };\n\t\n\t this.trimMacro = function(m) {\n\t return m.map(function(x){\n\t if (typeof x[0] != \"string\")\n\t x[0] = x[0].name;\n\t if (!x[1])\n\t x = x[0];\n\t return x;\n\t });\n\t };\n\t\n\t}).call(CommandManager.prototype);\n\t\n\texports.CommandManager = CommandManager;\n\t\n\t});\n\t\n\tace.define(\"ace/commands/default_commands\",[\"require\",\"exports\",\"module\",\"ace/lib/lang\",\"ace/config\",\"ace/range\"], function(acequire, exports, module) {\n\t\"use strict\";\n\t\n\tvar lang = acequire(\"../lib/lang\");\n\tvar config = acequire(\"../config\");\n\tvar Range = acequire(\"../range\").Range;\n\t\n\tfunction bindKey(win, mac) {\n\t return {win: win, mac: mac};\n\t}\n\texports.commands = [{\n\t name: \"showSettingsMenu\",\n\t bindKey: bindKey(\"Ctrl-,\", \"Command-,\"),\n\t exec: function(editor) {\n\t config.loadModule(\"ace/ext/settings_menu\", function(module) {\n\t module.init(editor);\n\t editor.showSettingsMenu();\n\t });\n\t },\n\t readOnly: true\n\t}, {\n\t name: \"goToNextError\",\n\t bindKey: bindKey(\"Alt-E\", \"Ctrl-E\"),\n\t exec: function(editor) {\n\t config.loadModule(\"ace/ext/error_marker\", function(module) {\n\t module.showErrorMarker(editor, 1);\n\t });\n\t },\n\t scrollIntoView: \"animate\",\n\t readOnly: true\n\t}, {\n\t name: \"goToPreviousError\",\n\t bindKey: bindKey(\"Alt-Shift-E\", \"Ctrl-Shift-E\"),\n\t exec: function(editor) {\n\t config.loadModule(\"ace/ext/error_marker\", function(module) {\n\t module.showErrorMarker(editor, -1);\n\t });\n\t },\n\t scrollIntoView: \"animate\",\n\t readOnly: true\n\t}, {\n\t name: \"selectall\",\n\t bindKey: bindKey(\"Ctrl-A\", \"Command-A\"),\n\t exec: function(editor) { editor.selectAll(); },\n\t readOnly: true\n\t}, {\n\t name: \"centerselection\",\n\t bindKey: bindKey(null, \"Ctrl-L\"),\n\t exec: function(editor) { editor.centerSelection(); },\n\t readOnly: true\n\t}, {\n\t name: \"gotoline\",\n\t bindKey: bindKey(\"Ctrl-L\", \"Command-L\"),\n\t exec: function(editor) {\n\t var line = parseInt(prompt(\"Enter line number:\"), 10);\n\t if (!isNaN(line)) {\n\t editor.gotoLine(line);\n\t }\n\t },\n\t readOnly: true\n\t}, {\n\t name: \"fold\",\n\t bindKey: bindKey(\"Alt-L|Ctrl-F1\", \"Command-Alt-L|Command-F1\"),\n\t exec: function(editor) { editor.session.toggleFold(false); },\n\t multiSelectAction: \"forEach\",\n\t scrollIntoView: \"center\",\n\t readOnly: true\n\t}, {\n\t name: \"unfold\",\n\t bindKey: bindKey(\"Alt-Shift-L|Ctrl-Shift-F1\", \"Command-Alt-Shift-L|Command-Shift-F1\"),\n\t exec: function(editor) { editor.session.toggleFold(true); },\n\t multiSelectAction: \"forEach\",\n\t scrollIntoView: \"center\",\n\t readOnly: true\n\t}, {\n\t name: \"toggleFoldWidget\",\n\t bindKey: bindKey(\"F2\", \"F2\"),\n\t exec: function(editor) { editor.session.toggleFoldWidget(); },\n\t multiSelectAction: \"forEach\",\n\t scrollIntoView: \"center\",\n\t readOnly: true\n\t}, {\n\t name: \"toggleParentFoldWidget\",\n\t bindKey: bindKey(\"Alt-F2\", \"Alt-F2\"),\n\t exec: function(editor) { editor.session.toggleFoldWidget(true); },\n\t multiSelectAction: \"forEach\",\n\t scrollIntoView: \"center\",\n\t readOnly: true\n\t}, {\n\t name: \"foldall\",\n\t bindKey: bindKey(null, \"Ctrl-Command-Option-0\"),\n\t exec: function(editor) { editor.session.foldAll(); },\n\t scrollIntoView: \"center\",\n\t readOnly: true\n\t}, {\n\t name: \"foldOther\",\n\t bindKey: bindKey(\"Alt-0\", \"Command-Option-0\"),\n\t exec: function(editor) { \n\t editor.session.foldAll();\n\t editor.session.unfold(editor.selection.getAllRanges());\n\t },\n\t scrollIntoView: \"center\",\n\t readOnly: true\n\t}, {\n\t name: \"unfoldall\",\n\t bindKey: bindKey(\"Alt-Shift-0\", \"Command-Option-Shift-0\"),\n\t exec: function(editor) { editor.session.unfold(); },\n\t scrollIntoView: \"center\",\n\t readOnly: true\n\t}, {\n\t name: \"findnext\",\n\t bindKey: bindKey(\"Ctrl-K\", \"Command-G\"),\n\t exec: function(editor) { editor.findNext(); },\n\t multiSelectAction: \"forEach\",\n\t scrollIntoView: \"center\",\n\t readOnly: true\n\t}, {\n\t name: \"findprevious\",\n\t bindKey: bindKey(\"Ctrl-Shift-K\", \"Command-Shift-G\"),\n\t exec: function(editor) { editor.findPrevious(); },\n\t multiSelectAction: \"forEach\",\n\t scrollIntoView: \"center\",\n\t readOnly: true\n\t}, {\n\t name: \"selectOrFindNext\",\n\t bindKey: bindKey(\"Alt-K\", \"Ctrl-G\"),\n\t exec: function(editor) {\n\t if (editor.selection.isEmpty())\n\t editor.selection.selectWord();\n\t else\n\t editor.findNext(); \n\t },\n\t readOnly: true\n\t}, {\n\t name: \"selectOrFindPrevious\",\n\t bindKey: bindKey(\"Alt-Shift-K\", \"Ctrl-Shift-G\"),\n\t exec: function(editor) { \n\t if (editor.selection.isEmpty())\n\t editor.selection.selectWord();\n\t else\n\t editor.findPrevious();\n\t },\n\t readOnly: true\n\t}, {\n\t name: \"find\",\n\t bindKey: bindKey(\"Ctrl-F\", \"Command-F\"),\n\t exec: function(editor) {\n\t config.loadModule(\"ace/ext/searchbox\", function(e) {e.Search(editor)});\n\t },\n\t readOnly: true\n\t}, {\n\t name: \"overwrite\",\n\t bindKey: \"Insert\",\n\t exec: function(editor) { editor.toggleOverwrite(); },\n\t readOnly: true\n\t}, {\n\t name: \"selecttostart\",\n\t bindKey: bindKey(\"Ctrl-Shift-Home\", \"Command-Shift-Up\"),\n\t exec: function(editor) { editor.getSelection().selectFileStart(); },\n\t multiSelectAction: \"forEach\",\n\t readOnly: true,\n\t scrollIntoView: \"animate\",\n\t aceCommandGroup: \"fileJump\"\n\t}, {\n\t name: \"gotostart\",\n\t bindKey: bindKey(\"Ctrl-Home\", \"Command-Home|Command-Up\"),\n\t exec: function(editor) { editor.navigateFileStart(); },\n\t multiSelectAction: \"forEach\",\n\t readOnly: true,\n\t scrollIntoView: \"animate\",\n\t aceCommandGroup: \"fileJump\"\n\t}, {\n\t name: \"selectup\",\n\t bindKey: bindKey(\"Shift-Up\", \"Shift-Up\"),\n\t exec: function(editor) { editor.getSelection().selectUp(); },\n\t multiSelectAction: \"forEach\",\n\t scrollIntoView: \"cursor\",\n\t readOnly: true\n\t}, {\n\t name: \"golineup\",\n\t bindKey: bindKey(\"Up\", \"Up|Ctrl-P\"),\n\t exec: function(editor, args) { editor.navigateUp(args.times); },\n\t multiSelectAction: \"forEach\",\n\t scrollIntoView: \"cursor\",\n\t readOnly: true\n\t}, {\n\t name: \"selecttoend\",\n\t bindKey: bindKey(\"Ctrl-Shift-End\", \"Command-Shift-Down\"),\n\t exec: function(editor) { editor.getSelection().selectFileEnd(); },\n\t multiSelectAction: \"forEach\",\n\t readOnly: true,\n\t scrollIntoView: \"animate\",\n\t aceCommandGroup: \"fileJump\"\n\t}, {\n\t name: \"gotoend\",\n\t bindKey: bindKey(\"Ctrl-End\", \"Command-End|Command-Down\"),\n\t exec: function(editor) { editor.navigateFileEnd(); },\n\t multiSelectAction: \"forEach\",\n\t readOnly: true,\n\t scrollIntoView: \"animate\",\n\t aceCommandGroup: \"fileJump\"\n\t}, {\n\t name: \"selectdown\",\n\t bindKey: bindKey(\"Shift-Down\", \"Shift-Down\"),\n\t exec: function(editor) { editor.getSelection().selectDown(); },\n\t multiSelectAction: \"forEach\",\n\t scrollIntoView: \"cursor\",\n\t readOnly: true\n\t}, {\n\t name: \"golinedown\",\n\t bindKey: bindKey(\"Down\", \"Down|Ctrl-N\"),\n\t exec: function(editor, args) { editor.navigateDown(args.times); },\n\t multiSelectAction: \"forEach\",\n\t scrollIntoView: \"cursor\",\n\t readOnly: true\n\t}, {\n\t name: \"selectwordleft\",\n\t bindKey: bindKey(\"Ctrl-Shift-Left\", \"Option-Shift-Left\"),\n\t exec: function(editor) { editor.getSelection().selectWordLeft(); },\n\t multiSelectAction: \"forEach\",\n\t scrollIntoView: \"cursor\",\n\t readOnly: true\n\t}, {\n\t name: \"gotowordleft\",\n\t bindKey: bindKey(\"Ctrl-Left\", \"Option-Left\"),\n\t exec: function(editor) { editor.navigateWordLeft(); },\n\t multiSelectAction: \"forEach\",\n\t scrollIntoView: \"cursor\",\n\t readOnly: true\n\t}, {\n\t name: \"selecttolinestart\",\n\t bindKey: bindKey(\"Alt-Shift-Left\", \"Command-Shift-Left\"),\n\t exec: function(editor) { editor.getSelection().selectLineStart(); },\n\t multiSelectAction: \"forEach\",\n\t scrollIntoView: \"cursor\",\n\t readOnly: true\n\t}, {\n\t name: \"gotolinestart\",\n\t bindKey: bindKey(\"Alt-Left|Home\", \"Command-Left|Home|Ctrl-A\"),\n\t exec: function(editor) { editor.navigateLineStart(); },\n\t multiSelectAction: \"forEach\",\n\t scrollIntoView: \"cursor\",\n\t readOnly: true\n\t}, {\n\t name: \"selectleft\",\n\t bindKey: bindKey(\"Shift-Left\", \"Shift-Left\"),\n\t exec: function(editor) { editor.getSelection().selectLeft(); },\n\t multiSelectAction: \"forEach\",\n\t scrollIntoView: \"cursor\",\n\t readOnly: true\n\t}, {\n\t name: \"gotoleft\",\n\t bindKey: bindKey(\"Left\", \"Left|Ctrl-B\"),\n\t exec: function(editor, args) { editor.navigateLeft(args.times); },\n\t multiSelectAction: \"forEach\",\n\t scrollIntoView: \"cursor\",\n\t readOnly: true\n\t}, {\n\t name: \"selectwordright\",\n\t bindKey: bindKey(\"Ctrl-Shift-Right\", \"Option-Shift-Right\"),\n\t exec: function(editor) { editor.getSelection().selectWordRight(); },\n\t multiSelectAction: \"forEach\",\n\t scrollIntoView: \"cursor\",\n\t readOnly: true\n\t}, {\n\t name: \"gotowordright\",\n\t bindKey: bindKey(\"Ctrl-Right\", \"Option-Right\"),\n\t exec: function(editor) { editor.navigateWordRight(); },\n\t multiSelectAction: \"forEach\",\n\t scrollIntoView: \"cursor\",\n\t readOnly: true\n\t}, {\n\t name: \"selecttolineend\",\n\t bindKey: bindKey(\"Alt-Shift-Right\", \"Command-Shift-Right\"),\n\t exec: function(editor) { editor.getSelection().selectLineEnd(); },\n\t multiSelectAction: \"forEach\",\n\t scrollIntoView: \"cursor\",\n\t readOnly: true\n\t}, {\n\t name: \"gotolineend\",\n\t bindKey: bindKey(\"Alt-Right|End\", \"Command-Right|End|Ctrl-E\"),\n\t exec: function(editor) { editor.navigateLineEnd(); },\n\t multiSelectAction: \"forEach\",\n\t scrollIntoView: \"cursor\",\n\t readOnly: true\n\t}, {\n\t name: \"selectright\",\n\t bindKey: bindKey(\"Shift-Right\", \"Shift-Right\"),\n\t exec: function(editor) { editor.getSelection().selectRight(); },\n\t multiSelectAction: \"forEach\",\n\t scrollIntoView: \"cursor\",\n\t readOnly: true\n\t}, {\n\t name: \"gotoright\",\n\t bindKey: bindKey(\"Right\", \"Right|Ctrl-F\"),\n\t exec: function(editor, args) { editor.navigateRight(args.times); },\n\t multiSelectAction: \"forEach\",\n\t scrollIntoView: \"cursor\",\n\t readOnly: true\n\t}, {\n\t name: \"selectpagedown\",\n\t bindKey: \"Shift-PageDown\",\n\t exec: function(editor) { editor.selectPageDown(); },\n\t readOnly: true\n\t}, {\n\t name: \"pagedown\",\n\t bindKey: bindKey(null, \"Option-PageDown\"),\n\t exec: function(editor) { editor.scrollPageDown(); },\n\t readOnly: true\n\t}, {\n\t name: \"gotopagedown\",\n\t bindKey: bindKey(\"PageDown\", \"PageDown|Ctrl-V\"),\n\t exec: function(editor) { editor.gotoPageDown(); },\n\t readOnly: true\n\t}, {\n\t name: \"selectpageup\",\n\t bindKey: \"Shift-PageUp\",\n\t exec: function(editor) { editor.selectPageUp(); },\n\t readOnly: true\n\t}, {\n\t name: \"pageup\",\n\t bindKey: bindKey(null, \"Option-PageUp\"),\n\t exec: function(editor) { editor.scrollPageUp(); },\n\t readOnly: true\n\t}, {\n\t name: \"gotopageup\",\n\t bindKey: \"PageUp\",\n\t exec: function(editor) { editor.gotoPageUp(); },\n\t readOnly: true\n\t}, {\n\t name: \"scrollup\",\n\t bindKey: bindKey(\"Ctrl-Up\", null),\n\t exec: function(e) { e.renderer.scrollBy(0, -2 * e.renderer.layerConfig.lineHeight); },\n\t readOnly: true\n\t}, {\n\t name: \"scrolldown\",\n\t bindKey: bindKey(\"Ctrl-Down\", null),\n\t exec: function(e) { e.renderer.scrollBy(0, 2 * e.renderer.layerConfig.lineHeight); },\n\t readOnly: true\n\t}, {\n\t name: \"selectlinestart\",\n\t bindKey: \"Shift-Home\",\n\t exec: function(editor) { editor.getSelection().selectLineStart(); },\n\t multiSelectAction: \"forEach\",\n\t scrollIntoView: \"cursor\",\n\t readOnly: true\n\t}, {\n\t name: \"selectlineend\",\n\t bindKey: \"Shift-End\",\n\t exec: function(editor) { editor.getSelection().selectLineEnd(); },\n\t multiSelectAction: \"forEach\",\n\t scrollIntoView: \"cursor\",\n\t readOnly: true\n\t}, {\n\t name: \"togglerecording\",\n\t bindKey: bindKey(\"Ctrl-Alt-E\", \"Command-Option-E\"),\n\t exec: function(editor) { editor.commands.toggleRecording(editor); },\n\t readOnly: true\n\t}, {\n\t name: \"replaymacro\",\n\t bindKey: bindKey(\"Ctrl-Shift-E\", \"Command-Shift-E\"),\n\t exec: function(editor) { editor.commands.replay(editor); },\n\t readOnly: true\n\t}, {\n\t name: \"jumptomatching\",\n\t bindKey: bindKey(\"Ctrl-P\", \"Ctrl-P\"),\n\t exec: function(editor) { editor.jumpToMatching(); },\n\t multiSelectAction: \"forEach\",\n\t scrollIntoView: \"animate\",\n\t readOnly: true\n\t}, {\n\t name: \"selecttomatching\",\n\t bindKey: bindKey(\"Ctrl-Shift-P\", \"Ctrl-Shift-P\"),\n\t exec: function(editor) { editor.jumpToMatching(true); },\n\t multiSelectAction: \"forEach\",\n\t scrollIntoView: \"animate\",\n\t readOnly: true\n\t}, {\n\t name: \"expandToMatching\",\n\t bindKey: bindKey(\"Ctrl-Shift-M\", \"Ctrl-Shift-M\"),\n\t exec: function(editor) { editor.jumpToMatching(true, true); },\n\t multiSelectAction: \"forEach\",\n\t scrollIntoView: \"animate\",\n\t readOnly: true\n\t}, {\n\t name: \"passKeysToBrowser\",\n\t bindKey: bindKey(null, null),\n\t exec: function() {},\n\t passEvent: true,\n\t readOnly: true\n\t}, {\n\t name: \"copy\",\n\t exec: function(editor) {\n\t },\n\t readOnly: true\n\t},\n\t{\n\t name: \"cut\",\n\t exec: function(editor) {\n\t var range = editor.getSelectionRange();\n\t editor._emit(\"cut\", range);\n\t\n\t if (!editor.selection.isEmpty()) {\n\t editor.session.remove(range);\n\t editor.clearSelection();\n\t }\n\t },\n\t scrollIntoView: \"cursor\",\n\t multiSelectAction: \"forEach\"\n\t}, {\n\t name: \"paste\",\n\t exec: function(editor, args) {\n\t editor.$handlePaste(args);\n\t },\n\t scrollIntoView: \"cursor\"\n\t}, {\n\t name: \"removeline\",\n\t bindKey: bindKey(\"Ctrl-D\", \"Command-D\"),\n\t exec: function(editor) { editor.removeLines(); },\n\t scrollIntoView: \"cursor\",\n\t multiSelectAction: \"forEachLine\"\n\t}, {\n\t name: \"duplicateSelection\",\n\t bindKey: bindKey(\"Ctrl-Shift-D\", \"Command-Shift-D\"),\n\t exec: function(editor) { editor.duplicateSelection(); },\n\t scrollIntoView: \"cursor\",\n\t multiSelectAction: \"forEach\"\n\t}, {\n\t name: \"sortlines\",\n\t bindKey: bindKey(\"Ctrl-Alt-S\", \"Command-Alt-S\"),\n\t exec: function(editor) { editor.sortLines(); },\n\t scrollIntoView: \"selection\",\n\t multiSelectAction: \"forEachLine\"\n\t}, {\n\t name: \"togglecomment\",\n\t bindKey: bindKey(\"Ctrl-/\", \"Command-/\"),\n\t exec: function(editor) { editor.toggleCommentLines(); },\n\t multiSelectAction: \"forEachLine\",\n\t scrollIntoView: \"selectionPart\"\n\t}, {\n\t name: \"toggleBlockComment\",\n\t bindKey: bindKey(\"Ctrl-Shift-/\", \"Command-Shift-/\"),\n\t exec: function(editor) { editor.toggleBlockComment(); },\n\t multiSelectAction: \"forEach\",\n\t scrollIntoView: \"selectionPart\"\n\t}, {\n\t name: \"modifyNumberUp\",\n\t bindKey: bindKey(\"Ctrl-Shift-Up\", \"Alt-Shift-Up\"),\n\t exec: function(editor) { editor.modifyNumber(1); },\n\t scrollIntoView: \"cursor\",\n\t multiSelectAction: \"forEach\"\n\t}, {\n\t name: \"modifyNumberDown\",\n\t bindKey: bindKey(\"Ctrl-Shift-Down\", \"Alt-Shift-Down\"),\n\t exec: function(editor) { editor.modifyNumber(-1); },\n\t scrollIntoView: \"cursor\",\n\t multiSelectAction: \"forEach\"\n\t}, {\n\t name: \"replace\",\n\t bindKey: bindKey(\"Ctrl-H\", \"Command-Option-F\"),\n\t exec: function(editor) {\n\t config.loadModule(\"ace/ext/searchbox\", function(e) {e.Search(editor, true)});\n\t }\n\t}, {\n\t name: \"undo\",\n\t bindKey: bindKey(\"Ctrl-Z\", \"Command-Z\"),\n\t exec: function(editor) { editor.undo(); }\n\t}, {\n\t name: \"redo\",\n\t bindKey: bindKey(\"Ctrl-Shift-Z|Ctrl-Y\", \"Command-Shift-Z|Command-Y\"),\n\t exec: function(editor) { editor.redo(); }\n\t}, {\n\t name: \"copylinesup\",\n\t bindKey: bindKey(\"Alt-Shift-Up\", \"Command-Option-Up\"),\n\t exec: function(editor) { editor.copyLinesUp(); },\n\t scrollIntoView: \"cursor\"\n\t}, {\n\t name: \"movelinesup\",\n\t bindKey: bindKey(\"Alt-Up\", \"Option-Up\"),\n\t exec: function(editor) { editor.moveLinesUp(); },\n\t scrollIntoView: \"cursor\"\n\t}, {\n\t name: \"copylinesdown\",\n\t bindKey: bindKey(\"Alt-Shift-Down\", \"Command-Option-Down\"),\n\t exec: function(editor) { editor.copyLinesDown(); },\n\t scrollIntoView: \"cursor\"\n\t}, {\n\t name: \"movelinesdown\",\n\t bindKey: bindKey(\"Alt-Down\", \"Option-Down\"),\n\t exec: function(editor) { editor.moveLinesDown(); },\n\t scrollIntoView: \"cursor\"\n\t}, {\n\t name: \"del\",\n\t bindKey: bindKey(\"Delete\", \"Delete|Ctrl-D|Shift-Delete\"),\n\t exec: function(editor) { editor.remove(\"right\"); },\n\t multiSelectAction: \"forEach\",\n\t scrollIntoView: \"cursor\"\n\t}, {\n\t name: \"backspace\",\n\t bindKey: bindKey(\n\t \"Shift-Backspace|Backspace\",\n\t \"Ctrl-Backspace|Shift-Backspace|Backspace|Ctrl-H\"\n\t ),\n\t exec: function(editor) { editor.remove(\"left\"); },\n\t multiSelectAction: \"forEach\",\n\t scrollIntoView: \"cursor\"\n\t}, {\n\t name: \"cut_or_delete\",\n\t bindKey: bindKey(\"Shift-Delete\", null),\n\t exec: function(editor) { \n\t if (editor.selection.isEmpty()) {\n\t editor.remove(\"left\");\n\t } else {\n\t return false;\n\t }\n\t },\n\t multiSelectAction: \"forEach\",\n\t scrollIntoView: \"cursor\"\n\t}, {\n\t name: \"removetolinestart\",\n\t bindKey: bindKey(\"Alt-Backspace\", \"Command-Backspace\"),\n\t exec: function(editor) { editor.removeToLineStart(); },\n\t multiSelectAction: \"forEach\",\n\t scrollIntoView: \"cursor\"\n\t}, {\n\t name: \"removetolineend\",\n\t bindKey: bindKey(\"Alt-Delete\", \"Ctrl-K\"),\n\t exec: function(editor) { editor.removeToLineEnd(); },\n\t multiSelectAction: \"forEach\",\n\t scrollIntoView: \"cursor\"\n\t}, {\n\t name: \"removewordleft\",\n\t bindKey: bindKey(\"Ctrl-Backspace\", \"Alt-Backspace|Ctrl-Alt-Backspace\"),\n\t exec: function(editor) { editor.removeWordLeft(); },\n\t multiSelectAction: \"forEach\",\n\t scrollIntoView: \"cursor\"\n\t}, {\n\t name: \"removewordright\",\n\t bindKey: bindKey(\"Ctrl-Delete\", \"Alt-Delete\"),\n\t exec: function(editor) { editor.removeWordRight(); },\n\t multiSelectAction: \"forEach\",\n\t scrollIntoView: \"cursor\"\n\t}, {\n\t name: \"outdent\",\n\t bindKey: bindKey(\"Shift-Tab\", \"Shift-Tab\"),\n\t exec: function(editor) { editor.blockOutdent(); },\n\t multiSelectAction: \"forEach\",\n\t scrollIntoView: \"selectionPart\"\n\t}, {\n\t name: \"indent\",\n\t bindKey: bindKey(\"Tab\", \"Tab\"),\n\t exec: function(editor) { editor.indent(); },\n\t multiSelectAction: \"forEach\",\n\t scrollIntoView: \"selectionPart\"\n\t}, {\n\t name: \"blockoutdent\",\n\t bindKey: bindKey(\"Ctrl-[\", \"Ctrl-[\"),\n\t exec: function(editor) { editor.blockOutdent(); },\n\t multiSelectAction: \"forEachLine\",\n\t scrollIntoView: \"selectionPart\"\n\t}, {\n\t name: \"blockindent\",\n\t bindKey: bindKey(\"Ctrl-]\", \"Ctrl-]\"),\n\t exec: function(editor) { editor.blockIndent(); },\n\t multiSelectAction: \"forEachLine\",\n\t scrollIntoView: \"selectionPart\"\n\t}, {\n\t name: \"insertstring\",\n\t exec: function(editor, str) { editor.insert(str); },\n\t multiSelectAction: \"forEach\",\n\t scrollIntoView: \"cursor\"\n\t}, {\n\t name: \"inserttext\",\n\t exec: function(editor, args) {\n\t editor.insert(lang.stringRepeat(args.text || \"\", args.times || 1));\n\t },\n\t multiSelectAction: \"forEach\",\n\t scrollIntoView: \"cursor\"\n\t}, {\n\t name: \"splitline\",\n\t bindKey: bindKey(null, \"Ctrl-O\"),\n\t exec: function(editor) { editor.splitLine(); },\n\t multiSelectAction: \"forEach\",\n\t scrollIntoView: \"cursor\"\n\t}, {\n\t name: \"transposeletters\",\n\t bindKey: bindKey(\"Ctrl-T\", \"Ctrl-T\"),\n\t exec: function(editor) { editor.transposeLetters(); },\n\t multiSelectAction: function(editor) {editor.transposeSelections(1); },\n\t scrollIntoView: \"cursor\"\n\t}, {\n\t name: \"touppercase\",\n\t bindKey: bindKey(\"Ctrl-U\", \"Ctrl-U\"),\n\t exec: function(editor) { editor.toUpperCase(); },\n\t multiSelectAction: \"forEach\",\n\t scrollIntoView: \"cursor\"\n\t}, {\n\t name: \"tolowercase\",\n\t bindKey: bindKey(\"Ctrl-Shift-U\", \"Ctrl-Shift-U\"),\n\t exec: function(editor) { editor.toLowerCase(); },\n\t multiSelectAction: \"forEach\",\n\t scrollIntoView: \"cursor\"\n\t}, {\n\t name: \"expandtoline\",\n\t bindKey: bindKey(\"Ctrl-Shift-L\", \"Command-Shift-L\"),\n\t exec: function(editor) {\n\t var range = editor.selection.getRange();\n\t\n\t range.start.column = range.end.column = 0;\n\t range.end.row++;\n\t editor.selection.setRange(range, false);\n\t },\n\t multiSelectAction: \"forEach\",\n\t scrollIntoView: \"cursor\",\n\t readOnly: true\n\t}, {\n\t name: \"joinlines\",\n\t bindKey: bindKey(null, null),\n\t exec: function(editor) {\n\t var isBackwards = editor.selection.isBackwards();\n\t var selectionStart = isBackwards ? editor.selection.getSelectionLead() : editor.selection.getSelectionAnchor();\n\t var selectionEnd = isBackwards ? editor.selection.getSelectionAnchor() : editor.selection.getSelectionLead();\n\t var firstLineEndCol = editor.session.doc.getLine(selectionStart.row).length;\n\t var selectedText = editor.session.doc.getTextRange(editor.selection.getRange());\n\t var selectedCount = selectedText.replace(/\\n\\s*/, \" \").length;\n\t var insertLine = editor.session.doc.getLine(selectionStart.row);\n\t\n\t for (var i = selectionStart.row + 1; i <= selectionEnd.row + 1; i++) {\n\t var curLine = lang.stringTrimLeft(lang.stringTrimRight(editor.session.doc.getLine(i)));\n\t if (curLine.length !== 0) {\n\t curLine = \" \" + curLine;\n\t }\n\t insertLine += curLine;\n\t }\n\t\n\t if (selectionEnd.row + 1 < (editor.session.doc.getLength() - 1)) {\n\t insertLine += editor.session.doc.getNewLineCharacter();\n\t }\n\t\n\t editor.clearSelection();\n\t editor.session.doc.replace(new Range(selectionStart.row, 0, selectionEnd.row + 2, 0), insertLine);\n\t\n\t if (selectedCount > 0) {\n\t editor.selection.moveCursorTo(selectionStart.row, selectionStart.column);\n\t editor.selection.selectTo(selectionStart.row, selectionStart.column + selectedCount);\n\t } else {\n\t firstLineEndCol = editor.session.doc.getLine(selectionStart.row).length > firstLineEndCol ? (firstLineEndCol + 1) : firstLineEndCol;\n\t editor.selection.moveCursorTo(selectionStart.row, firstLineEndCol);\n\t }\n\t },\n\t multiSelectAction: \"forEach\",\n\t readOnly: true\n\t}, {\n\t name: \"invertSelection\",\n\t bindKey: bindKey(null, null),\n\t exec: function(editor) {\n\t var endRow = editor.session.doc.getLength() - 1;\n\t var endCol = editor.session.doc.getLine(endRow).length;\n\t var ranges = editor.selection.rangeList.ranges;\n\t var newRanges = [];\n\t if (ranges.length < 1) {\n\t ranges = [editor.selection.getRange()];\n\t }\n\t\n\t for (var i = 0; i < ranges.length; i++) {\n\t if (i == (ranges.length - 1)) {\n\t if (!(ranges[i].end.row === endRow && ranges[i].end.column === endCol)) {\n\t newRanges.push(new Range(ranges[i].end.row, ranges[i].end.column, endRow, endCol));\n\t }\n\t }\n\t\n\t if (i === 0) {\n\t if (!(ranges[i].start.row === 0 && ranges[i].start.column === 0)) {\n\t newRanges.push(new Range(0, 0, ranges[i].start.row, ranges[i].start.column));\n\t }\n\t } else {\n\t newRanges.push(new Range(ranges[i-1].end.row, ranges[i-1].end.column, ranges[i].start.row, ranges[i].start.column));\n\t }\n\t }\n\t\n\t editor.exitMultiSelectMode();\n\t editor.clearSelection();\n\t\n\t for(var i = 0; i < newRanges.length; i++) {\n\t editor.selection.addRange(newRanges[i], false);\n\t }\n\t },\n\t readOnly: true,\n\t scrollIntoView: \"none\"\n\t}];\n\t\n\t});\n\t\n\tace.define(\"ace/editor\",[\"require\",\"exports\",\"module\",\"ace/lib/fixoldbrowsers\",\"ace/lib/oop\",\"ace/lib/dom\",\"ace/lib/lang\",\"ace/lib/useragent\",\"ace/keyboard/textinput\",\"ace/mouse/mouse_handler\",\"ace/mouse/fold_handler\",\"ace/keyboard/keybinding\",\"ace/edit_session\",\"ace/search\",\"ace/range\",\"ace/lib/event_emitter\",\"ace/commands/command_manager\",\"ace/commands/default_commands\",\"ace/config\",\"ace/token_iterator\"], function(acequire, exports, module) {\n\t\"use strict\";\n\t\n\tacequire(\"./lib/fixoldbrowsers\");\n\t\n\tvar oop = acequire(\"./lib/oop\");\n\tvar dom = acequire(\"./lib/dom\");\n\tvar lang = acequire(\"./lib/lang\");\n\tvar useragent = acequire(\"./lib/useragent\");\n\tvar TextInput = acequire(\"./keyboard/textinput\").TextInput;\n\tvar MouseHandler = acequire(\"./mouse/mouse_handler\").MouseHandler;\n\tvar FoldHandler = acequire(\"./mouse/fold_handler\").FoldHandler;\n\tvar KeyBinding = acequire(\"./keyboard/keybinding\").KeyBinding;\n\tvar EditSession = acequire(\"./edit_session\").EditSession;\n\tvar Search = acequire(\"./search\").Search;\n\tvar Range = acequire(\"./range\").Range;\n\tvar EventEmitter = acequire(\"./lib/event_emitter\").EventEmitter;\n\tvar CommandManager = acequire(\"./commands/command_manager\").CommandManager;\n\tvar defaultCommands = acequire(\"./commands/default_commands\").commands;\n\tvar config = acequire(\"./config\");\n\tvar TokenIterator = acequire(\"./token_iterator\").TokenIterator;\n\tvar Editor = function(renderer, session) {\n\t var container = renderer.getContainerElement();\n\t this.container = container;\n\t this.renderer = renderer;\n\t\n\t this.commands = new CommandManager(useragent.isMac ? \"mac\" : \"win\", defaultCommands);\n\t this.textInput = new TextInput(renderer.getTextAreaContainer(), this);\n\t this.renderer.textarea = this.textInput.getElement();\n\t this.keyBinding = new KeyBinding(this);\n\t this.$mouseHandler = new MouseHandler(this);\n\t new FoldHandler(this);\n\t\n\t this.$blockScrolling = 0;\n\t this.$search = new Search().set({\n\t wrap: true\n\t });\n\t\n\t this.$historyTracker = this.$historyTracker.bind(this);\n\t this.commands.on(\"exec\", this.$historyTracker);\n\t\n\t this.$initOperationListeners();\n\t \n\t this._$emitInputEvent = lang.delayedCall(function() {\n\t this._signal(\"input\", {});\n\t if (this.session && this.session.bgTokenizer)\n\t this.session.bgTokenizer.scheduleStart();\n\t }.bind(this));\n\t \n\t this.on(\"change\", function(_, _self) {\n\t _self._$emitInputEvent.schedule(31);\n\t });\n\t\n\t this.setSession(session || new EditSession(\"\"));\n\t config.resetOptions(this);\n\t config._signal(\"editor\", this);\n\t};\n\t\n\t(function(){\n\t\n\t oop.implement(this, EventEmitter);\n\t\n\t this.$initOperationListeners = function() {\n\t function last(a) {return a[a.length - 1]}\n\t\n\t this.selections = [];\n\t this.commands.on(\"exec\", this.startOperation.bind(this), true);\n\t this.commands.on(\"afterExec\", this.endOperation.bind(this), true);\n\t\n\t this.$opResetTimer = lang.delayedCall(this.endOperation.bind(this));\n\t\n\t this.on(\"change\", function() {\n\t this.curOp || this.startOperation();\n\t this.curOp.docChanged = true;\n\t }.bind(this), true);\n\t\n\t this.on(\"changeSelection\", function() {\n\t this.curOp || this.startOperation();\n\t this.curOp.selectionChanged = true;\n\t }.bind(this), true);\n\t };\n\t\n\t this.curOp = null;\n\t this.prevOp = {};\n\t this.startOperation = function(commadEvent) {\n\t if (this.curOp) {\n\t if (!commadEvent || this.curOp.command)\n\t return;\n\t this.prevOp = this.curOp;\n\t }\n\t if (!commadEvent) {\n\t this.previousCommand = null;\n\t commadEvent = {};\n\t }\n\t\n\t this.$opResetTimer.schedule();\n\t this.curOp = {\n\t command: commadEvent.command || {},\n\t args: commadEvent.args,\n\t scrollTop: this.renderer.scrollTop\n\t };\n\t if (this.curOp.command.name && this.curOp.command.scrollIntoView !== undefined)\n\t this.$blockScrolling++;\n\t };\n\t\n\t this.endOperation = function(e) {\n\t if (this.curOp) {\n\t if (e && e.returnValue === false)\n\t return this.curOp = null;\n\t this._signal(\"beforeEndOperation\");\n\t var command = this.curOp.command;\n\t if (command.name && this.$blockScrolling > 0)\n\t this.$blockScrolling--;\n\t var scrollIntoView = command && command.scrollIntoView;\n\t if (scrollIntoView) {\n\t switch (scrollIntoView) {\n\t case \"center-animate\":\n\t scrollIntoView = \"animate\";\n\t case \"center\":\n\t this.renderer.scrollCursorIntoView(null, 0.5);\n\t break;\n\t case \"animate\":\n\t case \"cursor\":\n\t this.renderer.scrollCursorIntoView();\n\t break;\n\t case \"selectionPart\":\n\t var range = this.selection.getRange();\n\t var config = this.renderer.layerConfig;\n\t if (range.start.row >= config.lastRow || range.end.row <= config.firstRow) {\n\t this.renderer.scrollSelectionIntoView(this.selection.anchor, this.selection.lead);\n\t }\n\t break;\n\t default:\n\t break;\n\t }\n\t if (scrollIntoView == \"animate\")\n\t this.renderer.animateScrolling(this.curOp.scrollTop);\n\t }\n\t \n\t this.prevOp = this.curOp;\n\t this.curOp = null;\n\t }\n\t };\n\t this.$mergeableCommands = [\"backspace\", \"del\", \"insertstring\"];\n\t this.$historyTracker = function(e) {\n\t if (!this.$mergeUndoDeltas)\n\t return;\n\t\n\t var prev = this.prevOp;\n\t var mergeableCommands = this.$mergeableCommands;\n\t var shouldMerge = prev.command && (e.command.name == prev.command.name);\n\t if (e.command.name == \"insertstring\") {\n\t var text = e.args;\n\t if (this.mergeNextCommand === undefined)\n\t this.mergeNextCommand = true;\n\t\n\t shouldMerge = shouldMerge\n\t && this.mergeNextCommand // previous command allows to coalesce with\n\t && (!/\\s/.test(text) || /\\s/.test(prev.args)); // previous insertion was of same type\n\t\n\t this.mergeNextCommand = true;\n\t } else {\n\t shouldMerge = shouldMerge\n\t && mergeableCommands.indexOf(e.command.name) !== -1; // the command is mergeable\n\t }\n\t\n\t if (\n\t this.$mergeUndoDeltas != \"always\"\n\t && Date.now() - this.sequenceStartTime > 2000\n\t ) {\n\t shouldMerge = false; // the sequence is too long\n\t }\n\t\n\t if (shouldMerge)\n\t this.session.mergeUndoDeltas = true;\n\t else if (mergeableCommands.indexOf(e.command.name) !== -1)\n\t this.sequenceStartTime = Date.now();\n\t };\n\t this.setKeyboardHandler = function(keyboardHandler, cb) {\n\t if (keyboardHandler && typeof keyboardHandler === \"string\") {\n\t this.$keybindingId = keyboardHandler;\n\t var _self = this;\n\t config.loadModule([\"keybinding\", keyboardHandler], function(module) {\n\t if (_self.$keybindingId == keyboardHandler)\n\t _self.keyBinding.setKeyboardHandler(module && module.handler);\n\t cb && cb();\n\t });\n\t } else {\n\t this.$keybindingId = null;\n\t this.keyBinding.setKeyboardHandler(keyboardHandler);\n\t cb && cb();\n\t }\n\t };\n\t this.getKeyboardHandler = function() {\n\t return this.keyBinding.getKeyboardHandler();\n\t };\n\t this.setSession = function(session) {\n\t if (this.session == session)\n\t return;\n\t if (this.curOp) this.endOperation();\n\t this.curOp = {};\n\t\n\t var oldSession = this.session;\n\t if (oldSession) {\n\t this.session.off(\"change\", this.$onDocumentChange);\n\t this.session.off(\"changeMode\", this.$onChangeMode);\n\t this.session.off(\"tokenizerUpdate\", this.$onTokenizerUpdate);\n\t this.session.off(\"changeTabSize\", this.$onChangeTabSize);\n\t this.session.off(\"changeWrapLimit\", this.$onChangeWrapLimit);\n\t this.session.off(\"changeWrapMode\", this.$onChangeWrapMode);\n\t this.session.off(\"changeFold\", this.$onChangeFold);\n\t this.session.off(\"changeFrontMarker\", this.$onChangeFrontMarker);\n\t this.session.off(\"changeBackMarker\", this.$onChangeBackMarker);\n\t this.session.off(\"changeBreakpoint\", this.$onChangeBreakpoint);\n\t this.session.off(\"changeAnnotation\", this.$onChangeAnnotation);\n\t this.session.off(\"changeOverwrite\", this.$onCursorChange);\n\t this.session.off(\"changeScrollTop\", this.$onScrollTopChange);\n\t this.session.off(\"changeScrollLeft\", this.$onScrollLeftChange);\n\t\n\t var selection = this.session.getSelection();\n\t selection.off(\"changeCursor\", this.$onCursorChange);\n\t selection.off(\"changeSelection\", this.$onSelectionChange);\n\t }\n\t\n\t this.session = session;\n\t if (session) {\n\t this.$onDocumentChange = this.onDocumentChange.bind(this);\n\t session.on(\"change\", this.$onDocumentChange);\n\t this.renderer.setSession(session);\n\t \n\t this.$onChangeMode = this.onChangeMode.bind(this);\n\t session.on(\"changeMode\", this.$onChangeMode);\n\t \n\t this.$onTokenizerUpdate = this.onTokenizerUpdate.bind(this);\n\t session.on(\"tokenizerUpdate\", this.$onTokenizerUpdate);\n\t \n\t this.$onChangeTabSize = this.renderer.onChangeTabSize.bind(this.renderer);\n\t session.on(\"changeTabSize\", this.$onChangeTabSize);\n\t \n\t this.$onChangeWrapLimit = this.onChangeWrapLimit.bind(this);\n\t session.on(\"changeWrapLimit\", this.$onChangeWrapLimit);\n\t \n\t this.$onChangeWrapMode = this.onChangeWrapMode.bind(this);\n\t session.on(\"changeWrapMode\", this.$onChangeWrapMode);\n\t \n\t this.$onChangeFold = this.onChangeFold.bind(this);\n\t session.on(\"changeFold\", this.$onChangeFold);\n\t \n\t this.$onChangeFrontMarker = this.onChangeFrontMarker.bind(this);\n\t this.session.on(\"changeFrontMarker\", this.$onChangeFrontMarker);\n\t \n\t this.$onChangeBackMarker = this.onChangeBackMarker.bind(this);\n\t this.session.on(\"changeBackMarker\", this.$onChangeBackMarker);\n\t \n\t this.$onChangeBreakpoint = this.onChangeBreakpoint.bind(this);\n\t this.session.on(\"changeBreakpoint\", this.$onChangeBreakpoint);\n\t \n\t this.$onChangeAnnotation = this.onChangeAnnotation.bind(this);\n\t this.session.on(\"changeAnnotation\", this.$onChangeAnnotation);\n\t \n\t this.$onCursorChange = this.onCursorChange.bind(this);\n\t this.session.on(\"changeOverwrite\", this.$onCursorChange);\n\t \n\t this.$onScrollTopChange = this.onScrollTopChange.bind(this);\n\t this.session.on(\"changeScrollTop\", this.$onScrollTopChange);\n\t \n\t this.$onScrollLeftChange = this.onScrollLeftChange.bind(this);\n\t this.session.on(\"changeScrollLeft\", this.$onScrollLeftChange);\n\t \n\t this.selection = session.getSelection();\n\t this.selection.on(\"changeCursor\", this.$onCursorChange);\n\t \n\t this.$onSelectionChange = this.onSelectionChange.bind(this);\n\t this.selection.on(\"changeSelection\", this.$onSelectionChange);\n\t \n\t this.onChangeMode();\n\t \n\t this.$blockScrolling += 1;\n\t this.onCursorChange();\n\t this.$blockScrolling -= 1;\n\t \n\t this.onScrollTopChange();\n\t this.onScrollLeftChange();\n\t this.onSelectionChange();\n\t this.onChangeFrontMarker();\n\t this.onChangeBackMarker();\n\t this.onChangeBreakpoint();\n\t this.onChangeAnnotation();\n\t this.session.getUseWrapMode() && this.renderer.adjustWrapLimit();\n\t this.renderer.updateFull();\n\t } else {\n\t this.selection = null;\n\t this.renderer.setSession(session);\n\t }\n\t\n\t this._signal(\"changeSession\", {\n\t session: session,\n\t oldSession: oldSession\n\t });\n\t \n\t this.curOp = null;\n\t \n\t oldSession && oldSession._signal(\"changeEditor\", {oldEditor: this});\n\t session && session._signal(\"changeEditor\", {editor: this});\n\t };\n\t this.getSession = function() {\n\t return this.session;\n\t };\n\t this.setValue = function(val, cursorPos) {\n\t this.session.doc.setValue(val);\n\t\n\t if (!cursorPos)\n\t this.selectAll();\n\t else if (cursorPos == 1)\n\t this.navigateFileEnd();\n\t else if (cursorPos == -1)\n\t this.navigateFileStart();\n\t\n\t return val;\n\t };\n\t this.getValue = function() {\n\t return this.session.getValue();\n\t };\n\t this.getSelection = function() {\n\t return this.selection;\n\t };\n\t this.resize = function(force) {\n\t this.renderer.onResize(force);\n\t };\n\t this.setTheme = function(theme, cb) {\n\t this.renderer.setTheme(theme, cb);\n\t };\n\t this.getTheme = function() {\n\t return this.renderer.getTheme();\n\t };\n\t this.setStyle = function(style) {\n\t this.renderer.setStyle(style);\n\t };\n\t this.unsetStyle = function(style) {\n\t this.renderer.unsetStyle(style);\n\t };\n\t this.getFontSize = function () {\n\t return this.getOption(\"fontSize\") ||\n\t dom.computedStyle(this.container, \"fontSize\");\n\t };\n\t this.setFontSize = function(size) {\n\t this.setOption(\"fontSize\", size);\n\t };\n\t\n\t this.$highlightBrackets = function() {\n\t if (this.session.$bracketHighlight) {\n\t this.session.removeMarker(this.session.$bracketHighlight);\n\t this.session.$bracketHighlight = null;\n\t }\n\t\n\t if (this.$highlightPending) {\n\t return;\n\t }\n\t var self = this;\n\t this.$highlightPending = true;\n\t setTimeout(function() {\n\t self.$highlightPending = false;\n\t var session = self.session;\n\t if (!session || !session.bgTokenizer) return;\n\t var pos = session.findMatchingBracket(self.getCursorPosition());\n\t if (pos) {\n\t var range = new Range(pos.row, pos.column, pos.row, pos.column + 1);\n\t } else if (session.$mode.getMatching) {\n\t var range = session.$mode.getMatching(self.session);\n\t }\n\t if (range)\n\t session.$bracketHighlight = session.addMarker(range, \"ace_bracket\", \"text\");\n\t }, 50);\n\t };\n\t this.$highlightTags = function() {\n\t if (this.$highlightTagPending)\n\t return;\n\t var self = this;\n\t this.$highlightTagPending = true;\n\t setTimeout(function() {\n\t self.$highlightTagPending = false;\n\t \n\t var session = self.session;\n\t if (!session || !session.bgTokenizer) return;\n\t \n\t var pos = self.getCursorPosition();\n\t var iterator = new TokenIterator(self.session, pos.row, pos.column);\n\t var token = iterator.getCurrentToken();\n\t \n\t if (!token || !/\\b(?:tag-open|tag-name)/.test(token.type)) {\n\t session.removeMarker(session.$tagHighlight);\n\t session.$tagHighlight = null;\n\t return;\n\t }\n\t \n\t if (token.type.indexOf(\"tag-open\") != -1) {\n\t token = iterator.stepForward();\n\t if (!token)\n\t return;\n\t }\n\t \n\t var tag = token.value;\n\t var depth = 0;\n\t var prevToken = iterator.stepBackward();\n\t \n\t if (prevToken.value == '<'){\n\t do {\n\t prevToken = token;\n\t token = iterator.stepForward();\n\t \n\t if (token && token.value === tag && token.type.indexOf('tag-name') !== -1) {\n\t if (prevToken.value === '<'){\n\t depth++;\n\t } else if (prevToken.value === '</'){\n\t depth--;\n\t }\n\t }\n\t \n\t } while (token && depth >= 0);\n\t } else {\n\t do {\n\t token = prevToken;\n\t prevToken = iterator.stepBackward();\n\t \n\t if (token && token.value === tag && token.type.indexOf('tag-name') !== -1) {\n\t if (prevToken.value === '<') {\n\t depth++;\n\t } else if (prevToken.value === '</') {\n\t depth--;\n\t }\n\t }\n\t } while (prevToken && depth <= 0);\n\t iterator.stepForward();\n\t }\n\t \n\t if (!token) {\n\t session.removeMarker(session.$tagHighlight);\n\t session.$tagHighlight = null;\n\t return;\n\t }\n\t \n\t var row = iterator.getCurrentTokenRow();\n\t var column = iterator.getCurrentTokenColumn();\n\t var range = new Range(row, column, row, column+token.value.length);\n\t if (session.$tagHighlight && range.compareRange(session.$backMarkers[session.$tagHighlight].range)!==0) {\n\t session.removeMarker(session.$tagHighlight);\n\t session.$tagHighlight = null;\n\t }\n\t \n\t if (range && !session.$tagHighlight)\n\t session.$tagHighlight = session.addMarker(range, \"ace_bracket\", \"text\");\n\t }, 50);\n\t };\n\t this.focus = function() {\n\t var _self = this;\n\t setTimeout(function() {\n\t _self.textInput.focus();\n\t });\n\t this.textInput.focus();\n\t };\n\t this.isFocused = function() {\n\t return this.textInput.isFocused();\n\t };\n\t this.blur = function() {\n\t this.textInput.blur();\n\t };\n\t this.onFocus = function(e) {\n\t if (this.$isFocused)\n\t return;\n\t this.$isFocused = true;\n\t this.renderer.showCursor();\n\t this.renderer.visualizeFocus();\n\t this._emit(\"focus\", e);\n\t };\n\t this.onBlur = function(e) {\n\t if (!this.$isFocused)\n\t return;\n\t this.$isFocused = false;\n\t this.renderer.hideCursor();\n\t this.renderer.visualizeBlur();\n\t this._emit(\"blur\", e);\n\t };\n\t\n\t this.$cursorChange = function() {\n\t this.renderer.updateCursor();\n\t };\n\t this.onDocumentChange = function(delta) {\n\t var wrap = this.session.$useWrapMode;\n\t var lastRow = (delta.start.row == delta.end.row ? delta.end.row : Infinity);\n\t this.renderer.updateLines(delta.start.row, lastRow, wrap);\n\t\n\t this._signal(\"change\", delta);\n\t this.$cursorChange();\n\t this.$updateHighlightActiveLine();\n\t };\n\t\n\t this.onTokenizerUpdate = function(e) {\n\t var rows = e.data;\n\t this.renderer.updateLines(rows.first, rows.last);\n\t };\n\t\n\t\n\t this.onScrollTopChange = function() {\n\t this.renderer.scrollToY(this.session.getScrollTop());\n\t };\n\t\n\t this.onScrollLeftChange = function() {\n\t this.renderer.scrollToX(this.session.getScrollLeft());\n\t };\n\t this.onCursorChange = function() {\n\t this.$cursorChange();\n\t\n\t if (!this.$blockScrolling) {\n\t config.warn(\"Automatically scrolling cursor into view after selection change\",\n\t \"this will be disabled in the next version\",\n\t \"set editor.$blockScrolling = Infinity to disable this message\"\n\t );\n\t this.renderer.scrollCursorIntoView();\n\t }\n\t\n\t this.$highlightBrackets();\n\t this.$highlightTags();\n\t this.$updateHighlightActiveLine();\n\t this._signal(\"changeSelection\");\n\t };\n\t\n\t this.$updateHighlightActiveLine = function() {\n\t var session = this.getSession();\n\t\n\t var highlight;\n\t if (this.$highlightActiveLine) {\n\t if ((this.$selectionStyle != \"line\" || !this.selection.isMultiLine()))\n\t highlight = this.getCursorPosition();\n\t if (this.renderer.$maxLines && this.session.getLength() === 1 && !(this.renderer.$minLines > 1))\n\t highlight = false;\n\t }\n\t\n\t if (session.$highlightLineMarker && !highlight) {\n\t session.removeMarker(session.$highlightLineMarker.id);\n\t session.$highlightLineMarker = null;\n\t } else if (!session.$highlightLineMarker && highlight) {\n\t var range = new Range(highlight.row, highlight.column, highlight.row, Infinity);\n\t range.id = session.addMarker(range, \"ace_active-line\", \"screenLine\");\n\t session.$highlightLineMarker = range;\n\t } else if (highlight) {\n\t session.$highlightLineMarker.start.row = highlight.row;\n\t session.$highlightLineMarker.end.row = highlight.row;\n\t session.$highlightLineMarker.start.column = highlight.column;\n\t session._signal(\"changeBackMarker\");\n\t }\n\t };\n\t\n\t this.onSelectionChange = function(e) {\n\t var session = this.session;\n\t\n\t if (session.$selectionMarker) {\n\t session.removeMarker(session.$selectionMarker);\n\t }\n\t session.$selectionMarker = null;\n\t\n\t if (!this.selection.isEmpty()) {\n\t var range = this.selection.getRange();\n\t var style = this.getSelectionStyle();\n\t session.$selectionMarker = session.addMarker(range, \"ace_selection\", style);\n\t } else {\n\t this.$updateHighlightActiveLine();\n\t }\n\t\n\t var re = this.$highlightSelectedWord && this.$getSelectionHighLightRegexp();\n\t this.session.highlight(re);\n\t\n\t this._signal(\"changeSelection\");\n\t };\n\t\n\t this.$getSelectionHighLightRegexp = function() {\n\t var session = this.session;\n\t\n\t var selection = this.getSelectionRange();\n\t if (selection.isEmpty() || selection.isMultiLine())\n\t return;\n\t\n\t var startOuter = selection.start.column - 1;\n\t var endOuter = selection.end.column + 1;\n\t var line = session.getLine(selection.start.row);\n\t var lineCols = line.length;\n\t var needle = line.substring(Math.max(startOuter, 0),\n\t Math.min(endOuter, lineCols));\n\t if ((startOuter >= 0 && /^[\\w\\d]/.test(needle)) ||\n\t (endOuter <= lineCols && /[\\w\\d]$/.test(needle)))\n\t return;\n\t\n\t needle = line.substring(selection.start.column, selection.end.column);\n\t if (!/^[\\w\\d]+$/.test(needle))\n\t return;\n\t\n\t var re = this.$search.$assembleRegExp({\n\t wholeWord: true,\n\t caseSensitive: true,\n\t needle: needle\n\t });\n\t\n\t return re;\n\t };\n\t\n\t\n\t this.onChangeFrontMarker = function() {\n\t this.renderer.updateFrontMarkers();\n\t };\n\t\n\t this.onChangeBackMarker = function() {\n\t this.renderer.updateBackMarkers();\n\t };\n\t\n\t\n\t this.onChangeBreakpoint = function() {\n\t this.renderer.updateBreakpoints();\n\t };\n\t\n\t this.onChangeAnnotation = function() {\n\t this.renderer.setAnnotations(this.session.getAnnotations());\n\t };\n\t\n\t\n\t this.onChangeMode = function(e) {\n\t this.renderer.updateText();\n\t this._emit(\"changeMode\", e);\n\t };\n\t\n\t\n\t this.onChangeWrapLimit = function() {\n\t this.renderer.updateFull();\n\t };\n\t\n\t this.onChangeWrapMode = function() {\n\t this.renderer.onResize(true);\n\t };\n\t\n\t\n\t this.onChangeFold = function() {\n\t this.$updateHighlightActiveLine();\n\t this.renderer.updateFull();\n\t };\n\t this.getSelectedText = function() {\n\t return this.session.getTextRange(this.getSelectionRange());\n\t };\n\t this.getCopyText = function() {\n\t var text = this.getSelectedText();\n\t this._signal(\"copy\", text);\n\t return text;\n\t };\n\t this.onCopy = function() {\n\t this.commands.exec(\"copy\", this);\n\t };\n\t this.onCut = function() {\n\t this.commands.exec(\"cut\", this);\n\t };\n\t this.onPaste = function(text, event) {\n\t var e = {text: text, event: event};\n\t this.commands.exec(\"paste\", this, e);\n\t };\n\t \n\t this.$handlePaste = function(e) {\n\t if (typeof e == \"string\") \n\t e = {text: e};\n\t this._signal(\"paste\", e);\n\t var text = e.text;\n\t if (!this.inMultiSelectMode || this.inVirtualSelectionMode) {\n\t this.insert(text);\n\t } else {\n\t var lines = text.split(/\\r\\n|\\r|\\n/);\n\t var ranges = this.selection.rangeList.ranges;\n\t \n\t if (lines.length > ranges.length || lines.length < 2 || !lines[1])\n\t return this.commands.exec(\"insertstring\", this, text);\n\t \n\t for (var i = ranges.length; i--;) {\n\t var range = ranges[i];\n\t if (!range.isEmpty())\n\t this.session.remove(range);\n\t \n\t this.session.insert(range.start, lines[i]);\n\t }\n\t }\n\t };\n\t\n\t this.execCommand = function(command, args) {\n\t return this.commands.exec(command, this, args);\n\t };\n\t this.insert = function(text, pasted) {\n\t var session = this.session;\n\t var mode = session.getMode();\n\t var cursor = this.getCursorPosition();\n\t\n\t if (this.getBehavioursEnabled() && !pasted) {\n\t var transform = mode.transformAction(session.getState(cursor.row), 'insertion', this, session, text);\n\t if (transform) {\n\t if (text !== transform.text) {\n\t this.session.mergeUndoDeltas = false;\n\t this.$mergeNextCommand = false;\n\t }\n\t text = transform.text;\n\t\n\t }\n\t }\n\t \n\t if (text == \"\\t\")\n\t text = this.session.getTabString();\n\t if (!this.selection.isEmpty()) {\n\t var range = this.getSelectionRange();\n\t cursor = this.session.remove(range);\n\t this.clearSelection();\n\t }\n\t else if (this.session.getOverwrite()) {\n\t var range = new Range.fromPoints(cursor, cursor);\n\t range.end.column += text.length;\n\t this.session.remove(range);\n\t }\n\t\n\t if (text == \"\\n\" || text == \"\\r\\n\") {\n\t var line = session.getLine(cursor.row);\n\t if (cursor.column > line.search(/\\S|$/)) {\n\t var d = line.substr(cursor.column).search(/\\S|$/);\n\t session.doc.removeInLine(cursor.row, cursor.column, cursor.column + d);\n\t }\n\t }\n\t this.clearSelection();\n\t\n\t var start = cursor.column;\n\t var lineState = session.getState(cursor.row);\n\t var line = session.getLine(cursor.row);\n\t var shouldOutdent = mode.checkOutdent(lineState, line, text);\n\t var end = session.insert(cursor, text);\n\t\n\t if (transform && transform.selection) {\n\t if (transform.selection.length == 2) { // Transform relative to the current column\n\t this.selection.setSelectionRange(\n\t new Range(cursor.row, start + transform.selection[0],\n\t cursor.row, start + transform.selection[1]));\n\t } else { // Transform relative to the current row.\n\t this.selection.setSelectionRange(\n\t new Range(cursor.row + transform.selection[0],\n\t transform.selection[1],\n\t cursor.row + transform.selection[2],\n\t transform.selection[3]));\n\t }\n\t }\n\t\n\t if (session.getDocument().isNewLine(text)) {\n\t var lineIndent = mode.getNextLineIndent(lineState, line.slice(0, cursor.column), session.getTabString());\n\t\n\t session.insert({row: cursor.row+1, column: 0}, lineIndent);\n\t }\n\t if (shouldOutdent)\n\t mode.autoOutdent(lineState, session, cursor.row);\n\t };\n\t\n\t this.onTextInput = function(text) {\n\t this.keyBinding.onTextInput(text);\n\t };\n\t\n\t this.onCommandKey = function(e, hashId, keyCode) {\n\t this.keyBinding.onCommandKey(e, hashId, keyCode);\n\t };\n\t this.setOverwrite = function(overwrite) {\n\t this.session.setOverwrite(overwrite);\n\t };\n\t this.getOverwrite = function() {\n\t return this.session.getOverwrite();\n\t };\n\t this.toggleOverwrite = function() {\n\t this.session.toggleOverwrite();\n\t };\n\t this.setScrollSpeed = function(speed) {\n\t this.setOption(\"scrollSpeed\", speed);\n\t };\n\t this.getScrollSpeed = function() {\n\t return this.getOption(\"scrollSpeed\");\n\t };\n\t this.setDragDelay = function(dragDelay) {\n\t this.setOption(\"dragDelay\", dragDelay);\n\t };\n\t this.getDragDelay = function() {\n\t return this.getOption(\"dragDelay\");\n\t };\n\t this.setSelectionStyle = function(val) {\n\t this.setOption(\"selectionStyle\", val);\n\t };\n\t this.getSelectionStyle = function() {\n\t return this.getOption(\"selectionStyle\");\n\t };\n\t this.setHighlightActiveLine = function(shouldHighlight) {\n\t this.setOption(\"highlightActiveLine\", shouldHighlight);\n\t };\n\t this.getHighlightActiveLine = function() {\n\t return this.getOption(\"highlightActiveLine\");\n\t };\n\t this.setHighlightGutterLine = function(shouldHighlight) {\n\t this.setOption(\"highlightGutterLine\", shouldHighlight);\n\t };\n\t\n\t this.getHighlightGutterLine = function() {\n\t return this.getOption(\"highlightGutterLine\");\n\t };\n\t this.setHighlightSelectedWord = function(shouldHighlight) {\n\t this.setOption(\"highlightSelectedWord\", shouldHighlight);\n\t };\n\t this.getHighlightSelectedWord = function() {\n\t return this.$highlightSelectedWord;\n\t };\n\t\n\t this.setAnimatedScroll = function(shouldAnimate){\n\t this.renderer.setAnimatedScroll(shouldAnimate);\n\t };\n\t\n\t this.getAnimatedScroll = function(){\n\t return this.renderer.getAnimatedScroll();\n\t };\n\t this.setShowInvisibles = function(showInvisibles) {\n\t this.renderer.setShowInvisibles(showInvisibles);\n\t };\n\t this.getShowInvisibles = function() {\n\t return this.renderer.getShowInvisibles();\n\t };\n\t\n\t this.setDisplayIndentGuides = function(display) {\n\t this.renderer.setDisplayIndentGuides(display);\n\t };\n\t\n\t this.getDisplayIndentGuides = function() {\n\t return this.renderer.getDisplayIndentGuides();\n\t };\n\t this.setShowPrintMargin = function(showPrintMargin) {\n\t this.renderer.setShowPrintMargin(showPrintMargin);\n\t };\n\t this.getShowPrintMargin = function() {\n\t return this.renderer.getShowPrintMargin();\n\t };\n\t this.setPrintMarginColumn = function(showPrintMargin) {\n\t this.renderer.setPrintMarginColumn(showPrintMargin);\n\t };\n\t this.getPrintMarginColumn = function() {\n\t return this.renderer.getPrintMarginColumn();\n\t };\n\t this.setReadOnly = function(readOnly) {\n\t this.setOption(\"readOnly\", readOnly);\n\t };\n\t this.getReadOnly = function() {\n\t return this.getOption(\"readOnly\");\n\t };\n\t this.setBehavioursEnabled = function (enabled) {\n\t this.setOption(\"behavioursEnabled\", enabled);\n\t };\n\t this.getBehavioursEnabled = function () {\n\t return this.getOption(\"behavioursEnabled\");\n\t };\n\t this.setWrapBehavioursEnabled = function (enabled) {\n\t this.setOption(\"wrapBehavioursEnabled\", enabled);\n\t };\n\t this.getWrapBehavioursEnabled = function () {\n\t return this.getOption(\"wrapBehavioursEnabled\");\n\t };\n\t this.setShowFoldWidgets = function(show) {\n\t this.setOption(\"showFoldWidgets\", show);\n\t\n\t };\n\t this.getShowFoldWidgets = function() {\n\t return this.getOption(\"showFoldWidgets\");\n\t };\n\t\n\t this.setFadeFoldWidgets = function(fade) {\n\t this.setOption(\"fadeFoldWidgets\", fade);\n\t };\n\t\n\t this.getFadeFoldWidgets = function() {\n\t return this.getOption(\"fadeFoldWidgets\");\n\t };\n\t this.remove = function(dir) {\n\t if (this.selection.isEmpty()){\n\t if (dir == \"left\")\n\t this.selection.selectLeft();\n\t else\n\t this.selection.selectRight();\n\t }\n\t\n\t var range = this.getSelectionRange();\n\t if (this.getBehavioursEnabled()) {\n\t var session = this.session;\n\t var state = session.getState(range.start.row);\n\t var new_range = session.getMode().transformAction(state, 'deletion', this, session, range);\n\t\n\t if (range.end.column === 0) {\n\t var text = session.getTextRange(range);\n\t if (text[text.length - 1] == \"\\n\") {\n\t var line = session.getLine(range.end.row);\n\t if (/^\\s+$/.test(line)) {\n\t range.end.column = line.length;\n\t }\n\t }\n\t }\n\t if (new_range)\n\t range = new_range;\n\t }\n\t\n\t this.session.remove(range);\n\t this.clearSelection();\n\t };\n\t this.removeWordRight = function() {\n\t if (this.selection.isEmpty())\n\t this.selection.selectWordRight();\n\t\n\t this.session.remove(this.getSelectionRange());\n\t this.clearSelection();\n\t };\n\t this.removeWordLeft = function() {\n\t if (this.selection.isEmpty())\n\t this.selection.selectWordLeft();\n\t\n\t this.session.remove(this.getSelectionRange());\n\t this.clearSelection();\n\t };\n\t this.removeToLineStart = function() {\n\t if (this.selection.isEmpty())\n\t this.selection.selectLineStart();\n\t\n\t this.session.remove(this.getSelectionRange());\n\t this.clearSelection();\n\t };\n\t this.removeToLineEnd = function() {\n\t if (this.selection.isEmpty())\n\t this.selection.selectLineEnd();\n\t\n\t var range = this.getSelectionRange();\n\t if (range.start.column == range.end.column && range.start.row == range.end.row) {\n\t range.end.column = 0;\n\t range.end.row++;\n\t }\n\t\n\t this.session.remove(range);\n\t this.clearSelection();\n\t };\n\t this.splitLine = function() {\n\t if (!this.selection.isEmpty()) {\n\t this.session.remove(this.getSelectionRange());\n\t this.clearSelection();\n\t }\n\t\n\t var cursor = this.getCursorPosition();\n\t this.insert(\"\\n\");\n\t this.moveCursorToPosition(cursor);\n\t };\n\t this.transposeLetters = function() {\n\t if (!this.selection.isEmpty()) {\n\t return;\n\t }\n\t\n\t var cursor = this.getCursorPosition();\n\t var column = cursor.column;\n\t if (column === 0)\n\t return;\n\t\n\t var line = this.session.getLine(cursor.row);\n\t var swap, range;\n\t if (column < line.length) {\n\t swap = line.charAt(column) + line.charAt(column-1);\n\t range = new Range(cursor.row, column-1, cursor.row, column+1);\n\t }\n\t else {\n\t swap = line.charAt(column-1) + line.charAt(column-2);\n\t range = new Range(cursor.row, column-2, cursor.row, column);\n\t }\n\t this.session.replace(range, swap);\n\t };\n\t this.toLowerCase = function() {\n\t var originalRange = this.getSelectionRange();\n\t if (this.selection.isEmpty()) {\n\t this.selection.selectWord();\n\t }\n\t\n\t var range = this.getSelectionRange();\n\t var text = this.session.getTextRange(range);\n\t this.session.replace(range, text.toLowerCase());\n\t this.selection.setSelectionRange(originalRange);\n\t };\n\t this.toUpperCase = function() {\n\t var originalRange = this.getSelectionRange();\n\t if (this.selection.isEmpty()) {\n\t this.selection.selectWord();\n\t }\n\t\n\t var range = this.getSelectionRange();\n\t var text = this.session.getTextRange(range);\n\t this.session.replace(range, text.toUpperCase());\n\t this.selection.setSelectionRange(originalRange);\n\t };\n\t this.indent = function() {\n\t var session = this.session;\n\t var range = this.getSelectionRange();\n\t\n\t if (range.start.row < range.end.row) {\n\t var rows = this.$getSelectedRows();\n\t session.indentRows(rows.first, rows.last, \"\\t\");\n\t return;\n\t } else if (range.start.column < range.end.column) {\n\t var text = session.getTextRange(range);\n\t if (!/^\\s+$/.test(text)) {\n\t var rows = this.$getSelectedRows();\n\t session.indentRows(rows.first, rows.last, \"\\t\");\n\t return;\n\t }\n\t }\n\t \n\t var line = session.getLine(range.start.row);\n\t var position = range.start;\n\t var size = session.getTabSize();\n\t var column = session.documentToScreenColumn(position.row, position.column);\n\t\n\t if (this.session.getUseSoftTabs()) {\n\t var count = (size - column % size);\n\t var indentString = lang.stringRepeat(\" \", count);\n\t } else {\n\t var count = column % size;\n\t while (line[range.start.column] == \" \" && count) {\n\t range.start.column--;\n\t count--;\n\t }\n\t this.selection.setSelectionRange(range);\n\t indentString = \"\\t\";\n\t }\n\t return this.insert(indentString);\n\t };\n\t this.blockIndent = function() {\n\t var rows = this.$getSelectedRows();\n\t this.session.indentRows(rows.first, rows.last, \"\\t\");\n\t };\n\t this.blockOutdent = function() {\n\t var selection = this.session.getSelection();\n\t this.session.outdentRows(selection.getRange());\n\t };\n\t this.sortLines = function() {\n\t var rows = this.$getSelectedRows();\n\t var session = this.session;\n\t\n\t var lines = [];\n\t for (i = rows.first; i <= rows.last; i++)\n\t lines.push(session.getLine(i));\n\t\n\t lines.sort(function(a, b) {\n\t if (a.toLowerCase() < b.toLowerCase()) return -1;\n\t if (a.toLowerCase() > b.toLowerCase()) return 1;\n\t return 0;\n\t });\n\t\n\t var deleteRange = new Range(0, 0, 0, 0);\n\t for (var i = rows.first; i <= rows.last; i++) {\n\t var line = session.getLine(i);\n\t deleteRange.start.row = i;\n\t deleteRange.end.row = i;\n\t deleteRange.end.column = line.length;\n\t session.replace(deleteRange, lines[i-rows.first]);\n\t }\n\t };\n\t this.toggleCommentLines = function() {\n\t var state = this.session.getState(this.getCursorPosition().row);\n\t var rows = this.$getSelectedRows();\n\t this.session.getMode().toggleCommentLines(state, this.session, rows.first, rows.last);\n\t };\n\t\n\t this.toggleBlockComment = function() {\n\t var cursor = this.getCursorPosition();\n\t var state = this.session.getState(cursor.row);\n\t var range = this.getSelectionRange();\n\t this.session.getMode().toggleBlockComment(state, this.session, range, cursor);\n\t };\n\t this.getNumberAt = function(row, column) {\n\t var _numberRx = /[\\-]?[0-9]+(?:\\.[0-9]+)?/g;\n\t _numberRx.lastIndex = 0;\n\t\n\t var s = this.session.getLine(row);\n\t while (_numberRx.lastIndex < column) {\n\t var m = _numberRx.exec(s);\n\t if(m.index <= column && m.index+m[0].length >= column){\n\t var number = {\n\t value: m[0],\n\t start: m.index,\n\t end: m.index+m[0].length\n\t };\n\t return number;\n\t }\n\t }\n\t return null;\n\t };\n\t this.modifyNumber = function(amount) {\n\t var row = this.selection.getCursor().row;\n\t var column = this.selection.getCursor().column;\n\t var charRange = new Range(row, column-1, row, column);\n\t\n\t var c = this.session.getTextRange(charRange);\n\t if (!isNaN(parseFloat(c)) && isFinite(c)) {\n\t var nr = this.getNumberAt(row, column);\n\t if (nr) {\n\t var fp = nr.value.indexOf(\".\") >= 0 ? nr.start + nr.value.indexOf(\".\") + 1 : nr.end;\n\t var decimals = nr.start + nr.value.length - fp;\n\t\n\t var t = parseFloat(nr.value);\n\t t *= Math.pow(10, decimals);\n\t\n\t\n\t if(fp !== nr.end && column < fp){\n\t amount *= Math.pow(10, nr.end - column - 1);\n\t } else {\n\t amount *= Math.pow(10, nr.end - column);\n\t }\n\t\n\t t += amount;\n\t t /= Math.pow(10, decimals);\n\t var nnr = t.toFixed(decimals);\n\t var replaceRange = new Range(row, nr.start, row, nr.end);\n\t this.session.replace(replaceRange, nnr);\n\t this.moveCursorTo(row, Math.max(nr.start +1, column + nnr.length - nr.value.length));\n\t\n\t }\n\t }\n\t };\n\t this.removeLines = function() {\n\t var rows = this.$getSelectedRows();\n\t this.session.removeFullLines(rows.first, rows.last);\n\t this.clearSelection();\n\t };\n\t\n\t this.duplicateSelection = function() {\n\t var sel = this.selection;\n\t var doc = this.session;\n\t var range = sel.getRange();\n\t var reverse = sel.isBackwards();\n\t if (range.isEmpty()) {\n\t var row = range.start.row;\n\t doc.duplicateLines(row, row);\n\t } else {\n\t var point = reverse ? range.start : range.end;\n\t var endPoint = doc.insert(point, doc.getTextRange(range), false);\n\t range.start = point;\n\t range.end = endPoint;\n\t\n\t sel.setSelectionRange(range, reverse);\n\t }\n\t };\n\t this.moveLinesDown = function() {\n\t this.$moveLines(1, false);\n\t };\n\t this.moveLinesUp = function() {\n\t this.$moveLines(-1, false);\n\t };\n\t this.moveText = function(range, toPosition, copy) {\n\t return this.session.moveText(range, toPosition, copy);\n\t };\n\t this.copyLinesUp = function() {\n\t this.$moveLines(-1, true);\n\t };\n\t this.copyLinesDown = function() {\n\t this.$moveLines(1, true);\n\t };\n\t this.$moveLines = function(dir, copy) {\n\t var rows, moved;\n\t var selection = this.selection;\n\t if (!selection.inMultiSelectMode || this.inVirtualSelectionMode) {\n\t var range = selection.toOrientedRange();\n\t rows = this.$getSelectedRows(range);\n\t moved = this.session.$moveLines(rows.first, rows.last, copy ? 0 : dir);\n\t if (copy && dir == -1) moved = 0;\n\t range.moveBy(moved, 0);\n\t selection.fromOrientedRange(range);\n\t } else {\n\t var ranges = selection.rangeList.ranges;\n\t selection.rangeList.detach(this.session);\n\t this.inVirtualSelectionMode = true;\n\t \n\t var diff = 0;\n\t var totalDiff = 0;\n\t var l = ranges.length;\n\t for (var i = 0; i < l; i++) {\n\t var rangeIndex = i;\n\t ranges[i].moveBy(diff, 0);\n\t rows = this.$getSelectedRows(ranges[i]);\n\t var first = rows.first;\n\t var last = rows.last;\n\t while (++i < l) {\n\t if (totalDiff) ranges[i].moveBy(totalDiff, 0);\n\t var subRows = this.$getSelectedRows(ranges[i]);\n\t if (copy && subRows.first != last)\n\t break;\n\t else if (!copy && subRows.first > last + 1)\n\t break;\n\t last = subRows.last;\n\t }\n\t i--;\n\t diff = this.session.$moveLines(first, last, copy ? 0 : dir);\n\t if (copy && dir == -1) rangeIndex = i + 1;\n\t while (rangeIndex <= i) {\n\t ranges[rangeIndex].moveBy(diff, 0);\n\t rangeIndex++;\n\t }\n\t if (!copy) diff = 0;\n\t totalDiff += diff;\n\t }\n\t \n\t selection.fromOrientedRange(selection.ranges[0]);\n\t selection.rangeList.attach(this.session);\n\t this.inVirtualSelectionMode = false;\n\t }\n\t };\n\t this.$getSelectedRows = function(range) {\n\t range = (range || this.getSelectionRange()).collapseRows();\n\t\n\t return {\n\t first: this.session.getRowFoldStart(range.start.row),\n\t last: this.session.getRowFoldEnd(range.end.row)\n\t };\n\t };\n\t\n\t this.onCompositionStart = function(text) {\n\t this.renderer.showComposition(this.getCursorPosition());\n\t };\n\t\n\t this.onCompositionUpdate = function(text) {\n\t this.renderer.setCompositionText(text);\n\t };\n\t\n\t this.onCompositionEnd = function() {\n\t this.renderer.hideComposition();\n\t };\n\t this.getFirstVisibleRow = function() {\n\t return this.renderer.getFirstVisibleRow();\n\t };\n\t this.getLastVisibleRow = function() {\n\t return this.renderer.getLastVisibleRow();\n\t };\n\t this.isRowVisible = function(row) {\n\t return (row >= this.getFirstVisibleRow() && row <= this.getLastVisibleRow());\n\t };\n\t this.isRowFullyVisible = function(row) {\n\t return (row >= this.renderer.getFirstFullyVisibleRow() && row <= this.renderer.getLastFullyVisibleRow());\n\t };\n\t this.$getVisibleRowCount = function() {\n\t return this.renderer.getScrollBottomRow() - this.renderer.getScrollTopRow() + 1;\n\t };\n\t\n\t this.$moveByPage = function(dir, select) {\n\t var renderer = this.renderer;\n\t var config = this.renderer.layerConfig;\n\t var rows = dir * Math.floor(config.height / config.lineHeight);\n\t\n\t this.$blockScrolling++;\n\t if (select === true) {\n\t this.selection.$moveSelection(function(){\n\t this.moveCursorBy(rows, 0);\n\t });\n\t } else if (select === false) {\n\t this.selection.moveCursorBy(rows, 0);\n\t this.selection.clearSelection();\n\t }\n\t this.$blockScrolling--;\n\t\n\t var scrollTop = renderer.scrollTop;\n\t\n\t renderer.scrollBy(0, rows * config.lineHeight);\n\t if (select != null)\n\t renderer.scrollCursorIntoView(null, 0.5);\n\t\n\t renderer.animateScrolling(scrollTop);\n\t };\n\t this.selectPageDown = function() {\n\t this.$moveByPage(1, true);\n\t };\n\t this.selectPageUp = function() {\n\t this.$moveByPage(-1, true);\n\t };\n\t this.gotoPageDown = function() {\n\t this.$moveByPage(1, false);\n\t };\n\t this.gotoPageUp = function() {\n\t this.$moveByPage(-1, false);\n\t };\n\t this.scrollPageDown = function() {\n\t this.$moveByPage(1);\n\t };\n\t this.scrollPageUp = function() {\n\t this.$moveByPage(-1);\n\t };\n\t this.scrollToRow = function(row) {\n\t this.renderer.scrollToRow(row);\n\t };\n\t this.scrollToLine = function(line, center, animate, callback) {\n\t this.renderer.scrollToLine(line, center, animate, callback);\n\t };\n\t this.centerSelection = function() {\n\t var range = this.getSelectionRange();\n\t var pos = {\n\t row: Math.floor(range.start.row + (range.end.row - range.start.row) / 2),\n\t column: Math.floor(range.start.column + (range.end.column - range.start.column) / 2)\n\t };\n\t this.renderer.alignCursor(pos, 0.5);\n\t };\n\t this.getCursorPosition = function() {\n\t return this.selection.getCursor();\n\t };\n\t this.getCursorPositionScreen = function() {\n\t return this.session.documentToScreenPosition(this.getCursorPosition());\n\t };\n\t this.getSelectionRange = function() {\n\t return this.selection.getRange();\n\t };\n\t this.selectAll = function() {\n\t this.$blockScrolling += 1;\n\t this.selection.selectAll();\n\t this.$blockScrolling -= 1;\n\t };\n\t this.clearSelection = function() {\n\t this.selection.clearSelection();\n\t };\n\t this.moveCursorTo = function(row, column) {\n\t this.selection.moveCursorTo(row, column);\n\t };\n\t this.moveCursorToPosition = function(pos) {\n\t this.selection.moveCursorToPosition(pos);\n\t };\n\t this.jumpToMatching = function(select, expand) {\n\t var cursor = this.getCursorPosition();\n\t var iterator = new TokenIterator(this.session, cursor.row, cursor.column);\n\t var prevToken = iterator.getCurrentToken();\n\t var token = prevToken || iterator.stepForward();\n\t\n\t if (!token) return;\n\t var matchType;\n\t var found = false;\n\t var depth = {};\n\t var i = cursor.column - token.start;\n\t var bracketType;\n\t var brackets = {\n\t \")\": \"(\",\n\t \"(\": \"(\",\n\t \"]\": \"[\",\n\t \"[\": \"[\",\n\t \"{\": \"{\",\n\t \"}\": \"{\"\n\t };\n\t \n\t do {\n\t if (token.value.match(/[{}()\\[\\]]/g)) {\n\t for (; i < token.value.length && !found; i++) {\n\t if (!brackets[token.value[i]]) {\n\t continue;\n\t }\n\t\n\t bracketType = brackets[token.value[i]] + '.' + token.type.replace(\"rparen\", \"lparen\");\n\t\n\t if (isNaN(depth[bracketType])) {\n\t depth[bracketType] = 0;\n\t }\n\t\n\t switch (token.value[i]) {\n\t case '(':\n\t case '[':\n\t case '{':\n\t depth[bracketType]++;\n\t break;\n\t case ')':\n\t case ']':\n\t case '}':\n\t depth[bracketType]--;\n\t\n\t if (depth[bracketType] === -1) {\n\t matchType = 'bracket';\n\t found = true;\n\t }\n\t break;\n\t }\n\t }\n\t }\n\t else if (token && token.type.indexOf('tag-name') !== -1) {\n\t if (isNaN(depth[token.value])) {\n\t depth[token.value] = 0;\n\t }\n\t \n\t if (prevToken.value === '<') {\n\t depth[token.value]++;\n\t }\n\t else if (prevToken.value === '</') {\n\t depth[token.value]--;\n\t }\n\t \n\t if (depth[token.value] === -1) {\n\t matchType = 'tag';\n\t found = true;\n\t }\n\t }\n\t\n\t if (!found) {\n\t prevToken = token;\n\t token = iterator.stepForward();\n\t i = 0;\n\t }\n\t } while (token && !found);\n\t if (!matchType)\n\t return;\n\t\n\t var range, pos;\n\t if (matchType === 'bracket') {\n\t range = this.session.getBracketRange(cursor);\n\t if (!range) {\n\t range = new Range(\n\t iterator.getCurrentTokenRow(),\n\t iterator.getCurrentTokenColumn() + i - 1,\n\t iterator.getCurrentTokenRow(),\n\t iterator.getCurrentTokenColumn() + i - 1\n\t );\n\t pos = range.start;\n\t if (expand || pos.row === cursor.row && Math.abs(pos.column - cursor.column) < 2)\n\t range = this.session.getBracketRange(pos);\n\t }\n\t }\n\t else if (matchType === 'tag') {\n\t if (token && token.type.indexOf('tag-name') !== -1) \n\t var tag = token.value;\n\t else\n\t return;\n\t\n\t range = new Range(\n\t iterator.getCurrentTokenRow(),\n\t iterator.getCurrentTokenColumn() - 2,\n\t iterator.getCurrentTokenRow(),\n\t iterator.getCurrentTokenColumn() - 2\n\t );\n\t if (range.compare(cursor.row, cursor.column) === 0) {\n\t found = false;\n\t do {\n\t token = prevToken;\n\t prevToken = iterator.stepBackward();\n\t \n\t if (prevToken) {\n\t if (prevToken.type.indexOf('tag-close') !== -1) {\n\t range.setEnd(iterator.getCurrentTokenRow(), iterator.getCurrentTokenColumn() + 1);\n\t }\n\t\n\t if (token.value === tag && token.type.indexOf('tag-name') !== -1) {\n\t if (prevToken.value === '<') {\n\t depth[tag]++;\n\t }\n\t else if (prevToken.value === '</') {\n\t depth[tag]--;\n\t }\n\t \n\t if (depth[tag] === 0)\n\t found = true;\n\t }\n\t }\n\t } while (prevToken && !found);\n\t }\n\t if (token && token.type.indexOf('tag-name')) {\n\t pos = range.start;\n\t if (pos.row == cursor.row && Math.abs(pos.column - cursor.column) < 2)\n\t pos = range.end;\n\t }\n\t }\n\t\n\t pos = range && range.cursor || pos;\n\t if (pos) {\n\t if (select) {\n\t if (range && expand) {\n\t this.selection.setRange(range);\n\t } else if (range && range.isEqual(this.getSelectionRange())) {\n\t this.clearSelection();\n\t } else {\n\t this.selection.selectTo(pos.row, pos.column);\n\t }\n\t } else {\n\t this.selection.moveTo(pos.row, pos.column);\n\t }\n\t }\n\t };\n\t this.gotoLine = function(lineNumber, column, animate) {\n\t this.selection.clearSelection();\n\t this.session.unfold({row: lineNumber - 1, column: column || 0});\n\t\n\t this.$blockScrolling += 1;\n\t this.exitMultiSelectMode && this.exitMultiSelectMode();\n\t this.moveCursorTo(lineNumber - 1, column || 0);\n\t this.$blockScrolling -= 1;\n\t\n\t if (!this.isRowFullyVisible(lineNumber - 1))\n\t this.scrollToLine(lineNumber - 1, true, animate);\n\t };\n\t this.navigateTo = function(row, column) {\n\t this.selection.moveTo(row, column);\n\t };\n\t this.navigateUp = function(times) {\n\t if (this.selection.isMultiLine() && !this.selection.isBackwards()) {\n\t var selectionStart = this.selection.anchor.getPosition();\n\t return this.moveCursorToPosition(selectionStart);\n\t }\n\t this.selection.clearSelection();\n\t this.selection.moveCursorBy(-times || -1, 0);\n\t };\n\t this.navigateDown = function(times) {\n\t if (this.selection.isMultiLine() && this.selection.isBackwards()) {\n\t var selectionEnd = this.selection.anchor.getPosition();\n\t return this.moveCursorToPosition(selectionEnd);\n\t }\n\t this.selection.clearSelection();\n\t this.selection.moveCursorBy(times || 1, 0);\n\t };\n\t this.navigateLeft = function(times) {\n\t if (!this.selection.isEmpty()) {\n\t var selectionStart = this.getSelectionRange().start;\n\t this.moveCursorToPosition(selectionStart);\n\t }\n\t else {\n\t times = times || 1;\n\t while (times--) {\n\t this.selection.moveCursorLeft();\n\t }\n\t }\n\t this.clearSelection();\n\t };\n\t this.navigateRight = function(times) {\n\t if (!this.selection.isEmpty()) {\n\t var selectionEnd = this.getSelectionRange().end;\n\t this.moveCursorToPosition(selectionEnd);\n\t }\n\t else {\n\t times = times || 1;\n\t while (times--) {\n\t this.selection.moveCursorRight();\n\t }\n\t }\n\t this.clearSelection();\n\t };\n\t this.navigateLineStart = function() {\n\t this.selection.moveCursorLineStart();\n\t this.clearSelection();\n\t };\n\t this.navigateLineEnd = function() {\n\t this.selection.moveCursorLineEnd();\n\t this.clearSelection();\n\t };\n\t this.navigateFileEnd = function() {\n\t this.selection.moveCursorFileEnd();\n\t this.clearSelection();\n\t };\n\t this.navigateFileStart = function() {\n\t this.selection.moveCursorFileStart();\n\t this.clearSelection();\n\t };\n\t this.navigateWordRight = function() {\n\t this.selection.moveCursorWordRight();\n\t this.clearSelection();\n\t };\n\t this.navigateWordLeft = function() {\n\t this.selection.moveCursorWordLeft();\n\t this.clearSelection();\n\t };\n\t this.replace = function(replacement, options) {\n\t if (options)\n\t this.$search.set(options);\n\t\n\t var range = this.$search.find(this.session);\n\t var replaced = 0;\n\t if (!range)\n\t return replaced;\n\t\n\t if (this.$tryReplace(range, replacement)) {\n\t replaced = 1;\n\t }\n\t if (range !== null) {\n\t this.selection.setSelectionRange(range);\n\t this.renderer.scrollSelectionIntoView(range.start, range.end);\n\t }\n\t\n\t return replaced;\n\t };\n\t this.replaceAll = function(replacement, options) {\n\t if (options) {\n\t this.$search.set(options);\n\t }\n\t\n\t var ranges = this.$search.findAll(this.session);\n\t var replaced = 0;\n\t if (!ranges.length)\n\t return replaced;\n\t\n\t this.$blockScrolling += 1;\n\t\n\t var selection = this.getSelectionRange();\n\t this.selection.moveTo(0, 0);\n\t\n\t for (var i = ranges.length - 1; i >= 0; --i) {\n\t if(this.$tryReplace(ranges[i], replacement)) {\n\t replaced++;\n\t }\n\t }\n\t\n\t this.selection.setSelectionRange(selection);\n\t this.$blockScrolling -= 1;\n\t\n\t return replaced;\n\t };\n\t\n\t this.$tryReplace = function(range, replacement) {\n\t var input = this.session.getTextRange(range);\n\t replacement = this.$search.replace(input, replacement);\n\t if (replacement !== null) {\n\t range.end = this.session.replace(range, replacement);\n\t return range;\n\t } else {\n\t return null;\n\t }\n\t };\n\t this.getLastSearchOptions = function() {\n\t return this.$search.getOptions();\n\t };\n\t this.find = function(needle, options, animate) {\n\t if (!options)\n\t options = {};\n\t\n\t if (typeof needle == \"string\" || needle instanceof RegExp)\n\t options.needle = needle;\n\t else if (typeof needle == \"object\")\n\t oop.mixin(options, needle);\n\t\n\t var range = this.selection.getRange();\n\t if (options.needle == null) {\n\t needle = this.session.getTextRange(range)\n\t || this.$search.$options.needle;\n\t if (!needle) {\n\t range = this.session.getWordRange(range.start.row, range.start.column);\n\t needle = this.session.getTextRange(range);\n\t }\n\t this.$search.set({needle: needle});\n\t }\n\t\n\t this.$search.set(options);\n\t if (!options.start)\n\t this.$search.set({start: range});\n\t\n\t var newRange = this.$search.find(this.session);\n\t if (options.preventScroll)\n\t return newRange;\n\t if (newRange) {\n\t this.revealRange(newRange, animate);\n\t return newRange;\n\t }\n\t if (options.backwards)\n\t range.start = range.end;\n\t else\n\t range.end = range.start;\n\t this.selection.setRange(range);\n\t };\n\t this.findNext = function(options, animate) {\n\t this.find({skipCurrent: true, backwards: false}, options, animate);\n\t };\n\t this.findPrevious = function(options, animate) {\n\t this.find(options, {skipCurrent: true, backwards: true}, animate);\n\t };\n\t\n\t this.revealRange = function(range, animate) {\n\t this.$blockScrolling += 1;\n\t this.session.unfold(range);\n\t this.selection.setSelectionRange(range);\n\t this.$blockScrolling -= 1;\n\t\n\t var scrollTop = this.renderer.scrollTop;\n\t this.renderer.scrollSelectionIntoView(range.start, range.end, 0.5);\n\t if (animate !== false)\n\t this.renderer.animateScrolling(scrollTop);\n\t };\n\t this.undo = function() {\n\t this.$blockScrolling++;\n\t this.session.getUndoManager().undo();\n\t this.$blockScrolling--;\n\t this.renderer.scrollCursorIntoView(null, 0.5);\n\t };\n\t this.redo = function() {\n\t this.$blockScrolling++;\n\t this.session.getUndoManager().redo();\n\t this.$blockScrolling--;\n\t this.renderer.scrollCursorIntoView(null, 0.5);\n\t };\n\t this.destroy = function() {\n\t this.renderer.destroy();\n\t this._signal(\"destroy\", this);\n\t if (this.session) {\n\t this.session.destroy();\n\t }\n\t };\n\t this.setAutoScrollEditorIntoView = function(enable) {\n\t if (!enable)\n\t return;\n\t var rect;\n\t var self = this;\n\t var shouldScroll = false;\n\t if (!this.$scrollAnchor)\n\t this.$scrollAnchor = document.createElement(\"div\");\n\t var scrollAnchor = this.$scrollAnchor;\n\t scrollAnchor.style.cssText = \"position:absolute\";\n\t this.container.insertBefore(scrollAnchor, this.container.firstChild);\n\t var onChangeSelection = this.on(\"changeSelection\", function() {\n\t shouldScroll = true;\n\t });\n\t var onBeforeRender = this.renderer.on(\"beforeRender\", function() {\n\t if (shouldScroll)\n\t rect = self.renderer.container.getBoundingClientRect();\n\t });\n\t var onAfterRender = this.renderer.on(\"afterRender\", function() {\n\t if (shouldScroll && rect && (self.isFocused()\n\t || self.searchBox && self.searchBox.isFocused())\n\t ) {\n\t var renderer = self.renderer;\n\t var pos = renderer.$cursorLayer.$pixelPos;\n\t var config = renderer.layerConfig;\n\t var top = pos.top - config.offset;\n\t if (pos.top >= 0 && top + rect.top < 0) {\n\t shouldScroll = true;\n\t } else if (pos.top < config.height &&\n\t pos.top + rect.top + config.lineHeight > window.innerHeight) {\n\t shouldScroll = false;\n\t } else {\n\t shouldScroll = null;\n\t }\n\t if (shouldScroll != null) {\n\t scrollAnchor.style.top = top + \"px\";\n\t scrollAnchor.style.left = pos.left + \"px\";\n\t scrollAnchor.style.height = config.lineHeight + \"px\";\n\t scrollAnchor.scrollIntoView(shouldScroll);\n\t }\n\t shouldScroll = rect = null;\n\t }\n\t });\n\t this.setAutoScrollEditorIntoView = function(enable) {\n\t if (enable)\n\t return;\n\t delete this.setAutoScrollEditorIntoView;\n\t this.off(\"changeSelection\", onChangeSelection);\n\t this.renderer.off(\"afterRender\", onAfterRender);\n\t this.renderer.off(\"beforeRender\", onBeforeRender);\n\t };\n\t };\n\t\n\t\n\t this.$resetCursorStyle = function() {\n\t var style = this.$cursorStyle || \"ace\";\n\t var cursorLayer = this.renderer.$cursorLayer;\n\t if (!cursorLayer)\n\t return;\n\t cursorLayer.setSmoothBlinking(/smooth/.test(style));\n\t cursorLayer.isBlinking = !this.$readOnly && style != \"wide\";\n\t dom.setCssClass(cursorLayer.element, \"ace_slim-cursors\", /slim/.test(style));\n\t };\n\t\n\t}).call(Editor.prototype);\n\t\n\t\n\t\n\tconfig.defineOptions(Editor.prototype, \"editor\", {\n\t selectionStyle: {\n\t set: function(style) {\n\t this.onSelectionChange();\n\t this._signal(\"changeSelectionStyle\", {data: style});\n\t },\n\t initialValue: \"line\"\n\t },\n\t highlightActiveLine: {\n\t set: function() {this.$updateHighlightActiveLine();},\n\t initialValue: true\n\t },\n\t highlightSelectedWord: {\n\t set: function(shouldHighlight) {this.$onSelectionChange();},\n\t initialValue: true\n\t },\n\t readOnly: {\n\t set: function(readOnly) {\n\t this.$resetCursorStyle(); \n\t },\n\t initialValue: false\n\t },\n\t cursorStyle: {\n\t set: function(val) { this.$resetCursorStyle(); },\n\t values: [\"ace\", \"slim\", \"smooth\", \"wide\"],\n\t initialValue: \"ace\"\n\t },\n\t mergeUndoDeltas: {\n\t values: [false, true, \"always\"],\n\t initialValue: true\n\t },\n\t behavioursEnabled: {initialValue: true},\n\t wrapBehavioursEnabled: {initialValue: true},\n\t autoScrollEditorIntoView: {\n\t set: function(val) {this.setAutoScrollEditorIntoView(val)}\n\t },\n\t keyboardHandler: {\n\t set: function(val) { this.setKeyboardHandler(val); },\n\t get: function() { return this.keybindingId; },\n\t handlesSet: true\n\t },\n\t\n\t hScrollBarAlwaysVisible: \"renderer\",\n\t vScrollBarAlwaysVisible: \"renderer\",\n\t highlightGutterLine: \"renderer\",\n\t animatedScroll: \"renderer\",\n\t showInvisibles: \"renderer\",\n\t showPrintMargin: \"renderer\",\n\t printMarginColumn: \"renderer\",\n\t printMargin: \"renderer\",\n\t fadeFoldWidgets: \"renderer\",\n\t showFoldWidgets: \"renderer\",\n\t showLineNumbers: \"renderer\",\n\t showGutter: \"renderer\",\n\t displayIndentGuides: \"renderer\",\n\t fontSize: \"renderer\",\n\t fontFamily: \"renderer\",\n\t maxLines: \"renderer\",\n\t minLines: \"renderer\",\n\t scrollPastEnd: \"renderer\",\n\t fixedWidthGutter: \"renderer\",\n\t theme: \"renderer\",\n\t\n\t scrollSpeed: \"$mouseHandler\",\n\t dragDelay: \"$mouseHandler\",\n\t dragEnabled: \"$mouseHandler\",\n\t focusTimout: \"$mouseHandler\",\n\t tooltipFollowsMouse: \"$mouseHandler\",\n\t\n\t firstLineNumber: \"session\",\n\t overwrite: \"session\",\n\t newLineMode: \"session\",\n\t useWorker: \"session\",\n\t useSoftTabs: \"session\",\n\t tabSize: \"session\",\n\t wrap: \"session\",\n\t indentedSoftWrap: \"session\",\n\t foldStyle: \"session\",\n\t mode: \"session\"\n\t});\n\t\n\texports.Editor = Editor;\n\t});\n\t\n\tace.define(\"ace/undomanager\",[\"require\",\"exports\",\"module\"], function(acequire, exports, module) {\n\t\"use strict\";\n\tvar UndoManager = function() {\n\t this.reset();\n\t};\n\t\n\t(function() {\n\t this.execute = function(options) {\n\t var deltaSets = options.args[0];\n\t this.$doc = options.args[1];\n\t if (options.merge && this.hasUndo()){\n\t this.dirtyCounter--;\n\t deltaSets = this.$undoStack.pop().concat(deltaSets);\n\t }\n\t this.$undoStack.push(deltaSets);\n\t this.$redoStack = [];\n\t if (this.dirtyCounter < 0) {\n\t this.dirtyCounter = NaN;\n\t }\n\t this.dirtyCounter++;\n\t };\n\t this.undo = function(dontSelect) {\n\t var deltaSets = this.$undoStack.pop();\n\t var undoSelectionRange = null;\n\t if (deltaSets) {\n\t undoSelectionRange = this.$doc.undoChanges(deltaSets, dontSelect);\n\t this.$redoStack.push(deltaSets);\n\t this.dirtyCounter--;\n\t }\n\t\n\t return undoSelectionRange;\n\t };\n\t this.redo = function(dontSelect) {\n\t var deltaSets = this.$redoStack.pop();\n\t var redoSelectionRange = null;\n\t if (deltaSets) {\n\t redoSelectionRange =\n\t this.$doc.redoChanges(this.$deserializeDeltas(deltaSets), dontSelect);\n\t this.$undoStack.push(deltaSets);\n\t this.dirtyCounter++;\n\t }\n\t return redoSelectionRange;\n\t };\n\t this.reset = function() {\n\t this.$undoStack = [];\n\t this.$redoStack = [];\n\t this.dirtyCounter = 0;\n\t };\n\t this.hasUndo = function() {\n\t return this.$undoStack.length > 0;\n\t };\n\t this.hasRedo = function() {\n\t return this.$redoStack.length > 0;\n\t };\n\t this.markClean = function() {\n\t this.dirtyCounter = 0;\n\t };\n\t this.isClean = function() {\n\t return this.dirtyCounter === 0;\n\t };\n\t this.$serializeDeltas = function(deltaSets) {\n\t return cloneDeltaSetsObj(deltaSets, $serializeDelta);\n\t };\n\t this.$deserializeDeltas = function(deltaSets) {\n\t return cloneDeltaSetsObj(deltaSets, $deserializeDelta);\n\t };\n\t \n\t function $serializeDelta(delta){\n\t return {\n\t action: delta.action,\n\t start: delta.start,\n\t end: delta.end,\n\t lines: delta.lines.length == 1 ? null : delta.lines,\n\t text: delta.lines.length == 1 ? delta.lines[0] : null\n\t };\n\t }\n\t \n\t function $deserializeDelta(delta) {\n\t return {\n\t action: delta.action,\n\t start: delta.start,\n\t end: delta.end,\n\t lines: delta.lines || [delta.text]\n\t };\n\t }\n\t \n\t function cloneDeltaSetsObj(deltaSets_old, fnGetModifiedDelta) {\n\t var deltaSets_new = new Array(deltaSets_old.length);\n\t for (var i = 0; i < deltaSets_old.length; i++) {\n\t var deltaSet_old = deltaSets_old[i];\n\t var deltaSet_new = { group: deltaSet_old.group, deltas: new Array(deltaSet_old.length)};\n\t \n\t for (var j = 0; j < deltaSet_old.deltas.length; j++) {\n\t var delta_old = deltaSet_old.deltas[j];\n\t deltaSet_new.deltas[j] = fnGetModifiedDelta(delta_old);\n\t }\n\t \n\t deltaSets_new[i] = deltaSet_new;\n\t }\n\t return deltaSets_new;\n\t }\n\t \n\t}).call(UndoManager.prototype);\n\t\n\texports.UndoManager = UndoManager;\n\t});\n\t\n\tace.define(\"ace/layer/gutter\",[\"require\",\"exports\",\"module\",\"ace/lib/dom\",\"ace/lib/oop\",\"ace/lib/lang\",\"ace/lib/event_emitter\"], function(acequire, exports, module) {\n\t\"use strict\";\n\t\n\tvar dom = acequire(\"../lib/dom\");\n\tvar oop = acequire(\"../lib/oop\");\n\tvar lang = acequire(\"../lib/lang\");\n\tvar EventEmitter = acequire(\"../lib/event_emitter\").EventEmitter;\n\t\n\tvar Gutter = function(parentEl) {\n\t this.element = dom.createElement(\"div\");\n\t this.element.className = \"ace_layer ace_gutter-layer\";\n\t parentEl.appendChild(this.element);\n\t this.setShowFoldWidgets(this.$showFoldWidgets);\n\t \n\t this.gutterWidth = 0;\n\t\n\t this.$annotations = [];\n\t this.$updateAnnotations = this.$updateAnnotations.bind(this);\n\t\n\t this.$cells = [];\n\t};\n\t\n\t(function() {\n\t\n\t oop.implement(this, EventEmitter);\n\t\n\t this.setSession = function(session) {\n\t if (this.session)\n\t this.session.removeEventListener(\"change\", this.$updateAnnotations);\n\t this.session = session;\n\t if (session)\n\t session.on(\"change\", this.$updateAnnotations);\n\t };\n\t\n\t this.addGutterDecoration = function(row, className){\n\t if (window.console)\n\t console.warn && console.warn(\"deprecated use session.addGutterDecoration\");\n\t this.session.addGutterDecoration(row, className);\n\t };\n\t\n\t this.removeGutterDecoration = function(row, className){\n\t if (window.console)\n\t console.warn && console.warn(\"deprecated use session.removeGutterDecoration\");\n\t this.session.removeGutterDecoration(row, className);\n\t };\n\t\n\t this.setAnnotations = function(annotations) {\n\t this.$annotations = [];\n\t for (var i = 0; i < annotations.length; i++) {\n\t var annotation = annotations[i];\n\t var row = annotation.row;\n\t var rowInfo = this.$annotations[row];\n\t if (!rowInfo)\n\t rowInfo = this.$annotations[row] = {text: []};\n\t \n\t var annoText = annotation.text;\n\t annoText = annoText ? lang.escapeHTML(annoText) : annotation.html || \"\";\n\t\n\t if (rowInfo.text.indexOf(annoText) === -1)\n\t rowInfo.text.push(annoText);\n\t\n\t var type = annotation.type;\n\t if (type == \"error\")\n\t rowInfo.className = \" ace_error\";\n\t else if (type == \"warning\" && rowInfo.className != \" ace_error\")\n\t rowInfo.className = \" ace_warning\";\n\t else if (type == \"info\" && (!rowInfo.className))\n\t rowInfo.className = \" ace_info\";\n\t }\n\t };\n\t\n\t this.$updateAnnotations = function (delta) {\n\t if (!this.$annotations.length)\n\t return;\n\t var firstRow = delta.start.row;\n\t var len = delta.end.row - firstRow;\n\t if (len === 0) {\n\t } else if (delta.action == 'remove') {\n\t this.$annotations.splice(firstRow, len + 1, null);\n\t } else {\n\t var args = new Array(len + 1);\n\t args.unshift(firstRow, 1);\n\t this.$annotations.splice.apply(this.$annotations, args);\n\t }\n\t };\n\t\n\t this.update = function(config) {\n\t var session = this.session;\n\t var firstRow = config.firstRow;\n\t var lastRow = Math.min(config.lastRow + config.gutterOffset, // needed to compensate for hor scollbar\n\t session.getLength() - 1);\n\t var fold = session.getNextFoldLine(firstRow);\n\t var foldStart = fold ? fold.start.row : Infinity;\n\t var foldWidgets = this.$showFoldWidgets && session.foldWidgets;\n\t var breakpoints = session.$breakpoints;\n\t var decorations = session.$decorations;\n\t var firstLineNumber = session.$firstLineNumber;\n\t var lastLineNumber = 0;\n\t \n\t var gutterRenderer = session.gutterRenderer || this.$renderer;\n\t\n\t var cell = null;\n\t var index = -1;\n\t var row = firstRow;\n\t while (true) {\n\t if (row > foldStart) {\n\t row = fold.end.row + 1;\n\t fold = session.getNextFoldLine(row, fold);\n\t foldStart = fold ? fold.start.row : Infinity;\n\t }\n\t if (row > lastRow) {\n\t while (this.$cells.length > index + 1) {\n\t cell = this.$cells.pop();\n\t this.element.removeChild(cell.element);\n\t }\n\t break;\n\t }\n\t\n\t cell = this.$cells[++index];\n\t if (!cell) {\n\t cell = {element: null, textNode: null, foldWidget: null};\n\t cell.element = dom.createElement(\"div\");\n\t cell.textNode = document.createTextNode('');\n\t cell.element.appendChild(cell.textNode);\n\t this.element.appendChild(cell.element);\n\t this.$cells[index] = cell;\n\t }\n\t\n\t var className = \"ace_gutter-cell \";\n\t if (breakpoints[row])\n\t className += breakpoints[row];\n\t if (decorations[row])\n\t className += decorations[row];\n\t if (this.$annotations[row])\n\t className += this.$annotations[row].className;\n\t if (cell.element.className != className)\n\t cell.element.className = className;\n\t\n\t var height = session.getRowLength(row) * config.lineHeight + \"px\";\n\t if (height != cell.element.style.height)\n\t cell.element.style.height = height;\n\t\n\t if (foldWidgets) {\n\t var c = foldWidgets[row];\n\t if (c == null)\n\t c = foldWidgets[row] = session.getFoldWidget(row);\n\t }\n\t\n\t if (c) {\n\t if (!cell.foldWidget) {\n\t cell.foldWidget = dom.createElement(\"span\");\n\t cell.element.appendChild(cell.foldWidget);\n\t }\n\t var className = \"ace_fold-widget ace_\" + c;\n\t if (c == \"start\" && row == foldStart && row < fold.end.row)\n\t className += \" ace_closed\";\n\t else\n\t className += \" ace_open\";\n\t if (cell.foldWidget.className != className)\n\t cell.foldWidget.className = className;\n\t\n\t var height = config.lineHeight + \"px\";\n\t if (cell.foldWidget.style.height != height)\n\t cell.foldWidget.style.height = height;\n\t } else {\n\t if (cell.foldWidget) {\n\t cell.element.removeChild(cell.foldWidget);\n\t cell.foldWidget = null;\n\t }\n\t }\n\t \n\t var text = lastLineNumber = gutterRenderer\n\t ? gutterRenderer.getText(session, row)\n\t : row + firstLineNumber;\n\t if (text != cell.textNode.data)\n\t cell.textNode.data = text;\n\t\n\t row++;\n\t }\n\t\n\t this.element.style.height = config.minHeight + \"px\";\n\t\n\t if (this.$fixedWidth || session.$useWrapMode)\n\t lastLineNumber = session.getLength() + firstLineNumber;\n\t\n\t var gutterWidth = gutterRenderer \n\t ? gutterRenderer.getWidth(session, lastLineNumber, config)\n\t : lastLineNumber.toString().length * config.characterWidth;\n\t \n\t var padding = this.$padding || this.$computePadding();\n\t gutterWidth += padding.left + padding.right;\n\t if (gutterWidth !== this.gutterWidth && !isNaN(gutterWidth)) {\n\t this.gutterWidth = gutterWidth;\n\t this.element.style.width = Math.ceil(this.gutterWidth) + \"px\";\n\t this._emit(\"changeGutterWidth\", gutterWidth);\n\t }\n\t };\n\t\n\t this.$fixedWidth = false;\n\t \n\t this.$showLineNumbers = true;\n\t this.$renderer = \"\";\n\t this.setShowLineNumbers = function(show) {\n\t this.$renderer = !show && {\n\t getWidth: function() {return \"\"},\n\t getText: function() {return \"\"}\n\t };\n\t };\n\t \n\t this.getShowLineNumbers = function() {\n\t return this.$showLineNumbers;\n\t };\n\t \n\t this.$showFoldWidgets = true;\n\t this.setShowFoldWidgets = function(show) {\n\t if (show)\n\t dom.addCssClass(this.element, \"ace_folding-enabled\");\n\t else\n\t dom.removeCssClass(this.element, \"ace_folding-enabled\");\n\t\n\t this.$showFoldWidgets = show;\n\t this.$padding = null;\n\t };\n\t \n\t this.getShowFoldWidgets = function() {\n\t return this.$showFoldWidgets;\n\t };\n\t\n\t this.$computePadding = function() {\n\t if (!this.element.firstChild)\n\t return {left: 0, right: 0};\n\t var style = dom.computedStyle(this.element.firstChild);\n\t this.$padding = {};\n\t this.$padding.left = parseInt(style.paddingLeft) + 1 || 0;\n\t this.$padding.right = parseInt(style.paddingRight) || 0;\n\t return this.$padding;\n\t };\n\t\n\t this.getRegion = function(point) {\n\t var padding = this.$padding || this.$computePadding();\n\t var rect = this.element.getBoundingClientRect();\n\t if (point.x < padding.left + rect.left)\n\t return \"markers\";\n\t if (this.$showFoldWidgets && point.x > rect.right - padding.right)\n\t return \"foldWidgets\";\n\t };\n\t\n\t}).call(Gutter.prototype);\n\t\n\texports.Gutter = Gutter;\n\t\n\t});\n\t\n\tace.define(\"ace/layer/marker\",[\"require\",\"exports\",\"module\",\"ace/range\",\"ace/lib/dom\"], function(acequire, exports, module) {\n\t\"use strict\";\n\t\n\tvar Range = acequire(\"../range\").Range;\n\tvar dom = acequire(\"../lib/dom\");\n\t\n\tvar Marker = function(parentEl) {\n\t this.element = dom.createElement(\"div\");\n\t this.element.className = \"ace_layer ace_marker-layer\";\n\t parentEl.appendChild(this.element);\n\t};\n\t\n\t(function() {\n\t\n\t this.$padding = 0;\n\t\n\t this.setPadding = function(padding) {\n\t this.$padding = padding;\n\t };\n\t this.setSession = function(session) {\n\t this.session = session;\n\t };\n\t \n\t this.setMarkers = function(markers) {\n\t this.markers = markers;\n\t };\n\t\n\t this.update = function(config) {\n\t var config = config || this.config;\n\t if (!config)\n\t return;\n\t\n\t this.config = config;\n\t\n\t\n\t var html = [];\n\t for (var key in this.markers) {\n\t var marker = this.markers[key];\n\t\n\t if (!marker.range) {\n\t marker.update(html, this, this.session, config);\n\t continue;\n\t }\n\t\n\t var range = marker.range.clipRows(config.firstRow, config.lastRow);\n\t if (range.isEmpty()) continue;\n\t\n\t range = range.toScreenRange(this.session);\n\t if (marker.renderer) {\n\t var top = this.$getTop(range.start.row, config);\n\t var left = this.$padding + range.start.column * config.characterWidth;\n\t marker.renderer(html, range, left, top, config);\n\t } else if (marker.type == \"fullLine\") {\n\t this.drawFullLineMarker(html, range, marker.clazz, config);\n\t } else if (marker.type == \"screenLine\") {\n\t this.drawScreenLineMarker(html, range, marker.clazz, config);\n\t } else if (range.isMultiLine()) {\n\t if (marker.type == \"text\")\n\t this.drawTextMarker(html, range, marker.clazz, config);\n\t else\n\t this.drawMultiLineMarker(html, range, marker.clazz, config);\n\t } else {\n\t this.drawSingleLineMarker(html, range, marker.clazz + \" ace_start\" + \" ace_br15\", config);\n\t }\n\t }\n\t this.element.innerHTML = html.join(\"\");\n\t };\n\t\n\t this.$getTop = function(row, layerConfig) {\n\t return (row - layerConfig.firstRowScreen) * layerConfig.lineHeight;\n\t };\n\t\n\t function getBorderClass(tl, tr, br, bl) {\n\t return (tl ? 1 : 0) | (tr ? 2 : 0) | (br ? 4 : 0) | (bl ? 8 : 0);\n\t }\n\t this.drawTextMarker = function(stringBuilder, range, clazz, layerConfig, extraStyle) {\n\t var session = this.session;\n\t var start = range.start.row;\n\t var end = range.end.row;\n\t var row = start;\n\t var prev = 0; \n\t var curr = 0;\n\t var next = session.getScreenLastRowColumn(row);\n\t var lineRange = new Range(row, range.start.column, row, curr);\n\t for (; row <= end; row++) {\n\t lineRange.start.row = lineRange.end.row = row;\n\t lineRange.start.column = row == start ? range.start.column : session.getRowWrapIndent(row);\n\t lineRange.end.column = next;\n\t prev = curr;\n\t curr = next;\n\t next = row + 1 < end ? session.getScreenLastRowColumn(row + 1) : row == end ? 0 : range.end.column;\n\t this.drawSingleLineMarker(stringBuilder, lineRange, \n\t clazz + (row == start ? \" ace_start\" : \"\") + \" ace_br\"\n\t + getBorderClass(row == start || row == start + 1 && range.start.column, prev < curr, curr > next, row == end),\n\t layerConfig, row == end ? 0 : 1, extraStyle);\n\t }\n\t };\n\t this.drawMultiLineMarker = function(stringBuilder, range, clazz, config, extraStyle) {\n\t var padding = this.$padding;\n\t var height = config.lineHeight;\n\t var top = this.$getTop(range.start.row, config);\n\t var left = padding + range.start.column * config.characterWidth;\n\t extraStyle = extraStyle || \"\";\n\t\n\t stringBuilder.push(\n\t \"<div class='\", clazz, \" ace_br1 ace_start' style='\",\n\t \"height:\", height, \"px;\",\n\t \"right:0;\",\n\t \"top:\", top, \"px;\",\n\t \"left:\", left, \"px;\", extraStyle, \"'></div>\"\n\t );\n\t top = this.$getTop(range.end.row, config);\n\t var width = range.end.column * config.characterWidth;\n\t\n\t stringBuilder.push(\n\t \"<div class='\", clazz, \" ace_br12' style='\",\n\t \"height:\", height, \"px;\",\n\t \"width:\", width, \"px;\",\n\t \"top:\", top, \"px;\",\n\t \"left:\", padding, \"px;\", extraStyle, \"'></div>\"\n\t );\n\t height = (range.end.row - range.start.row - 1) * config.lineHeight;\n\t if (height <= 0)\n\t return;\n\t top = this.$getTop(range.start.row + 1, config);\n\t \n\t var radiusClass = (range.start.column ? 1 : 0) | (range.end.column ? 0 : 8);\n\t\n\t stringBuilder.push(\n\t \"<div class='\", clazz, (radiusClass ? \" ace_br\" + radiusClass : \"\"), \"' style='\",\n\t \"height:\", height, \"px;\",\n\t \"right:0;\",\n\t \"top:\", top, \"px;\",\n\t \"left:\", padding, \"px;\", extraStyle, \"'></div>\"\n\t );\n\t };\n\t this.drawSingleLineMarker = function(stringBuilder, range, clazz, config, extraLength, extraStyle) {\n\t var height = config.lineHeight;\n\t var width = (range.end.column + (extraLength || 0) - range.start.column) * config.characterWidth;\n\t\n\t var top = this.$getTop(range.start.row, config);\n\t var left = this.$padding + range.start.column * config.characterWidth;\n\t\n\t stringBuilder.push(\n\t \"<div class='\", clazz, \"' style='\",\n\t \"height:\", height, \"px;\",\n\t \"width:\", width, \"px;\",\n\t \"top:\", top, \"px;\",\n\t \"left:\", left, \"px;\", extraStyle || \"\", \"'></div>\"\n\t );\n\t };\n\t\n\t this.drawFullLineMarker = function(stringBuilder, range, clazz, config, extraStyle) {\n\t var top = this.$getTop(range.start.row, config);\n\t var height = config.lineHeight;\n\t if (range.start.row != range.end.row)\n\t height += this.$getTop(range.end.row, config) - top;\n\t\n\t stringBuilder.push(\n\t \"<div class='\", clazz, \"' style='\",\n\t \"height:\", height, \"px;\",\n\t \"top:\", top, \"px;\",\n\t \"left:0;right:0;\", extraStyle || \"\", \"'></div>\"\n\t );\n\t };\n\t \n\t this.drawScreenLineMarker = function(stringBuilder, range, clazz, config, extraStyle) {\n\t var top = this.$getTop(range.start.row, config);\n\t var height = config.lineHeight;\n\t\n\t stringBuilder.push(\n\t \"<div class='\", clazz, \"' style='\",\n\t \"height:\", height, \"px;\",\n\t \"top:\", top, \"px;\",\n\t \"left:0;right:0;\", extraStyle || \"\", \"'></div>\"\n\t );\n\t };\n\t\n\t}).call(Marker.prototype);\n\t\n\texports.Marker = Marker;\n\t\n\t});\n\t\n\tace.define(\"ace/layer/text\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/lib/dom\",\"ace/lib/lang\",\"ace/lib/useragent\",\"ace/lib/event_emitter\"], function(acequire, exports, module) {\n\t\"use strict\";\n\t\n\tvar oop = acequire(\"../lib/oop\");\n\tvar dom = acequire(\"../lib/dom\");\n\tvar lang = acequire(\"../lib/lang\");\n\tvar useragent = acequire(\"../lib/useragent\");\n\tvar EventEmitter = acequire(\"../lib/event_emitter\").EventEmitter;\n\t\n\tvar Text = function(parentEl) {\n\t this.element = dom.createElement(\"div\");\n\t this.element.className = \"ace_layer ace_text-layer\";\n\t parentEl.appendChild(this.element);\n\t this.$updateEolChar = this.$updateEolChar.bind(this);\n\t};\n\t\n\t(function() {\n\t\n\t oop.implement(this, EventEmitter);\n\t\n\t this.EOF_CHAR = \"\\xB6\";\n\t this.EOL_CHAR_LF = \"\\xAC\";\n\t this.EOL_CHAR_CRLF = \"\\xa4\";\n\t this.EOL_CHAR = this.EOL_CHAR_LF;\n\t this.TAB_CHAR = \"\\u2014\"; //\"\\u21E5\";\n\t this.SPACE_CHAR = \"\\xB7\";\n\t this.$padding = 0;\n\t\n\t this.$updateEolChar = function() {\n\t var EOL_CHAR = this.session.doc.getNewLineCharacter() == \"\\n\"\n\t ? this.EOL_CHAR_LF\n\t : this.EOL_CHAR_CRLF;\n\t if (this.EOL_CHAR != EOL_CHAR) {\n\t this.EOL_CHAR = EOL_CHAR;\n\t return true;\n\t }\n\t }\n\t\n\t this.setPadding = function(padding) {\n\t this.$padding = padding;\n\t this.element.style.padding = \"0 \" + padding + \"px\";\n\t };\n\t\n\t this.getLineHeight = function() {\n\t return this.$fontMetrics.$characterSize.height || 0;\n\t };\n\t\n\t this.getCharacterWidth = function() {\n\t return this.$fontMetrics.$characterSize.width || 0;\n\t };\n\t \n\t this.$setFontMetrics = function(measure) {\n\t this.$fontMetrics = measure;\n\t this.$fontMetrics.on(\"changeCharacterSize\", function(e) {\n\t this._signal(\"changeCharacterSize\", e);\n\t }.bind(this));\n\t this.$pollSizeChanges();\n\t }\n\t\n\t this.checkForSizeChanges = function() {\n\t this.$fontMetrics.checkForSizeChanges();\n\t };\n\t this.$pollSizeChanges = function() {\n\t return this.$pollSizeChangesTimer = this.$fontMetrics.$pollSizeChanges();\n\t };\n\t this.setSession = function(session) {\n\t this.session = session;\n\t if (session)\n\t this.$computeTabString();\n\t };\n\t\n\t this.showInvisibles = false;\n\t this.setShowInvisibles = function(showInvisibles) {\n\t if (this.showInvisibles == showInvisibles)\n\t return false;\n\t\n\t this.showInvisibles = showInvisibles;\n\t this.$computeTabString();\n\t return true;\n\t };\n\t\n\t this.displayIndentGuides = true;\n\t this.setDisplayIndentGuides = function(display) {\n\t if (this.displayIndentGuides == display)\n\t return false;\n\t\n\t this.displayIndentGuides = display;\n\t this.$computeTabString();\n\t return true;\n\t };\n\t\n\t this.$tabStrings = [];\n\t this.onChangeTabSize =\n\t this.$computeTabString = function() {\n\t var tabSize = this.session.getTabSize();\n\t this.tabSize = tabSize;\n\t var tabStr = this.$tabStrings = [0];\n\t for (var i = 1; i < tabSize + 1; i++) {\n\t if (this.showInvisibles) {\n\t tabStr.push(\"<span class='ace_invisible ace_invisible_tab'>\"\n\t + lang.stringRepeat(this.TAB_CHAR, i)\n\t + \"</span>\");\n\t } else {\n\t tabStr.push(lang.stringRepeat(\" \", i));\n\t }\n\t }\n\t if (this.displayIndentGuides) {\n\t this.$indentGuideRe = /\\s\\S| \\t|\\t |\\s$/;\n\t var className = \"ace_indent-guide\";\n\t var spaceClass = \"\";\n\t var tabClass = \"\";\n\t if (this.showInvisibles) {\n\t className += \" ace_invisible\";\n\t spaceClass = \" ace_invisible_space\";\n\t tabClass = \" ace_invisible_tab\";\n\t var spaceContent = lang.stringRepeat(this.SPACE_CHAR, this.tabSize);\n\t var tabContent = lang.stringRepeat(this.TAB_CHAR, this.tabSize);\n\t } else{\n\t var spaceContent = lang.stringRepeat(\" \", this.tabSize);\n\t var tabContent = spaceContent;\n\t }\n\t\n\t this.$tabStrings[\" \"] = \"<span class='\" + className + spaceClass + \"'>\" + spaceContent + \"</span>\";\n\t this.$tabStrings[\"\\t\"] = \"<span class='\" + className + tabClass + \"'>\" + tabContent + \"</span>\";\n\t }\n\t };\n\t\n\t this.updateLines = function(config, firstRow, lastRow) {\n\t if (this.config.lastRow != config.lastRow ||\n\t this.config.firstRow != config.firstRow) {\n\t this.scrollLines(config);\n\t }\n\t this.config = config;\n\t\n\t var first = Math.max(firstRow, config.firstRow);\n\t var last = Math.min(lastRow, config.lastRow);\n\t\n\t var lineElements = this.element.childNodes;\n\t var lineElementsIdx = 0;\n\t\n\t for (var row = config.firstRow; row < first; row++) {\n\t var foldLine = this.session.getFoldLine(row);\n\t if (foldLine) {\n\t if (foldLine.containsRow(first)) {\n\t first = foldLine.start.row;\n\t break;\n\t } else {\n\t row = foldLine.end.row;\n\t }\n\t }\n\t lineElementsIdx ++;\n\t }\n\t\n\t var row = first;\n\t var foldLine = this.session.getNextFoldLine(row);\n\t var foldStart = foldLine ? foldLine.start.row : Infinity;\n\t\n\t while (true) {\n\t if (row > foldStart) {\n\t row = foldLine.end.row+1;\n\t foldLine = this.session.getNextFoldLine(row, foldLine);\n\t foldStart = foldLine ? foldLine.start.row :Infinity;\n\t }\n\t if (row > last)\n\t break;\n\t\n\t var lineElement = lineElements[lineElementsIdx++];\n\t if (lineElement) {\n\t var html = [];\n\t this.$renderLine(\n\t html, row, !this.$useLineGroups(), row == foldStart ? foldLine : false\n\t );\n\t lineElement.style.height = config.lineHeight * this.session.getRowLength(row) + \"px\";\n\t lineElement.innerHTML = html.join(\"\");\n\t }\n\t row++;\n\t }\n\t };\n\t\n\t this.scrollLines = function(config) {\n\t var oldConfig = this.config;\n\t this.config = config;\n\t\n\t if (!oldConfig || oldConfig.lastRow < config.firstRow)\n\t return this.update(config);\n\t\n\t if (config.lastRow < oldConfig.firstRow)\n\t return this.update(config);\n\t\n\t var el = this.element;\n\t if (oldConfig.firstRow < config.firstRow)\n\t for (var row=this.session.getFoldedRowCount(oldConfig.firstRow, config.firstRow - 1); row>0; row--)\n\t el.removeChild(el.firstChild);\n\t\n\t if (oldConfig.lastRow > config.lastRow)\n\t for (var row=this.session.getFoldedRowCount(config.lastRow + 1, oldConfig.lastRow); row>0; row--)\n\t el.removeChild(el.lastChild);\n\t\n\t if (config.firstRow < oldConfig.firstRow) {\n\t var fragment = this.$renderLinesFragment(config, config.firstRow, oldConfig.firstRow - 1);\n\t if (el.firstChild)\n\t el.insertBefore(fragment, el.firstChild);\n\t else\n\t el.appendChild(fragment);\n\t }\n\t\n\t if (config.lastRow > oldConfig.lastRow) {\n\t var fragment = this.$renderLinesFragment(config, oldConfig.lastRow + 1, config.lastRow);\n\t el.appendChild(fragment);\n\t }\n\t };\n\t\n\t this.$renderLinesFragment = function(config, firstRow, lastRow) {\n\t var fragment = this.element.ownerDocument.createDocumentFragment();\n\t var row = firstRow;\n\t var foldLine = this.session.getNextFoldLine(row);\n\t var foldStart = foldLine ? foldLine.start.row : Infinity;\n\t\n\t while (true) {\n\t if (row > foldStart) {\n\t row = foldLine.end.row+1;\n\t foldLine = this.session.getNextFoldLine(row, foldLine);\n\t foldStart = foldLine ? foldLine.start.row : Infinity;\n\t }\n\t if (row > lastRow)\n\t break;\n\t\n\t var container = dom.createElement(\"div\");\n\t\n\t var html = [];\n\t this.$renderLine(html, row, false, row == foldStart ? foldLine : false);\n\t container.innerHTML = html.join(\"\");\n\t if (this.$useLineGroups()) {\n\t container.className = 'ace_line_group';\n\t fragment.appendChild(container);\n\t container.style.height = config.lineHeight * this.session.getRowLength(row) + \"px\";\n\t\n\t } else {\n\t while(container.firstChild)\n\t fragment.appendChild(container.firstChild);\n\t }\n\t\n\t row++;\n\t }\n\t return fragment;\n\t };\n\t\n\t this.update = function(config) {\n\t this.config = config;\n\t\n\t var html = [];\n\t var firstRow = config.firstRow, lastRow = config.lastRow;\n\t\n\t var row = firstRow;\n\t var foldLine = this.session.getNextFoldLine(row);\n\t var foldStart = foldLine ? foldLine.start.row : Infinity;\n\t\n\t while (true) {\n\t if (row > foldStart) {\n\t row = foldLine.end.row+1;\n\t foldLine = this.session.getNextFoldLine(row, foldLine);\n\t foldStart = foldLine ? foldLine.start.row :Infinity;\n\t }\n\t if (row > lastRow)\n\t break;\n\t\n\t if (this.$useLineGroups())\n\t html.push(\"<div class='ace_line_group' style='height:\", config.lineHeight*this.session.getRowLength(row), \"px'>\")\n\t\n\t this.$renderLine(html, row, false, row == foldStart ? foldLine : false);\n\t\n\t if (this.$useLineGroups())\n\t html.push(\"</div>\"); // end the line group\n\t\n\t row++;\n\t }\n\t this.element.innerHTML = html.join(\"\");\n\t };\n\t\n\t this.$textToken = {\n\t \"text\": true,\n\t \"rparen\": true,\n\t \"lparen\": true\n\t };\n\t\n\t this.$renderToken = function(stringBuilder, screenColumn, token, value) {\n\t var self = this;\n\t var replaceReg = /\\t|&|<|>|( +)|([\\x00-\\x1f\\x80-\\xa0\\xad\\u1680\\u180E\\u2000-\\u200f\\u2028\\u2029\\u202F\\u205F\\u3000\\uFEFF\\uFFF9-\\uFFFC])|[\\u1100-\\u115F\\u11A3-\\u11A7\\u11FA-\\u11FF\\u2329-\\u232A\\u2E80-\\u2E99\\u2E9B-\\u2EF3\\u2F00-\\u2FD5\\u2FF0-\\u2FFB\\u3000-\\u303E\\u3041-\\u3096\\u3099-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u3190-\\u31BA\\u31C0-\\u31E3\\u31F0-\\u321E\\u3220-\\u3247\\u3250-\\u32FE\\u3300-\\u4DBF\\u4E00-\\uA48C\\uA490-\\uA4C6\\uA960-\\uA97C\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFAFF\\uFE10-\\uFE19\\uFE30-\\uFE52\\uFE54-\\uFE66\\uFE68-\\uFE6B\\uFF01-\\uFF60\\uFFE0-\\uFFE6]/g;\n\t var replaceFunc = function(c, a, b, tabIdx, idx4) {\n\t if (a) {\n\t return self.showInvisibles\n\t ? \"<span class='ace_invisible ace_invisible_space'>\" + lang.stringRepeat(self.SPACE_CHAR, c.length) + \"</span>\"\n\t : c;\n\t } else if (c == \"&\") {\n\t return \"&\";\n\t } else if (c == \"<\") {\n\t return \"<\";\n\t } else if (c == \">\") {\n\t return \">\";\n\t } else if (c == \"\\t\") {\n\t var tabSize = self.session.getScreenTabSize(screenColumn + tabIdx);\n\t screenColumn += tabSize - 1;\n\t return self.$tabStrings[tabSize];\n\t } else if (c == \"\\u3000\") {\n\t var classToUse = self.showInvisibles ? \"ace_cjk ace_invisible ace_invisible_space\" : \"ace_cjk\";\n\t var space = self.showInvisibles ? self.SPACE_CHAR : \"\";\n\t screenColumn += 1;\n\t return \"<span class='\" + classToUse + \"' style='width:\" +\n\t (self.config.characterWidth * 2) +\n\t \"px'>\" + space + \"</span>\";\n\t } else if (b) {\n\t return \"<span class='ace_invisible ace_invisible_space ace_invalid'>\" + self.SPACE_CHAR + \"</span>\";\n\t } else {\n\t screenColumn += 1;\n\t return \"<span class='ace_cjk' style='width:\" +\n\t (self.config.characterWidth * 2) +\n\t \"px'>\" + c + \"</span>\";\n\t }\n\t };\n\t\n\t var output = value.replace(replaceReg, replaceFunc);\n\t\n\t if (!this.$textToken[token.type]) {\n\t var classes = \"ace_\" + token.type.replace(/\\./g, \" ace_\");\n\t var style = \"\";\n\t if (token.type == \"fold\")\n\t style = \" style='width:\" + (token.value.length * this.config.characterWidth) + \"px;' \";\n\t stringBuilder.push(\"<span class='\", classes, \"'\", style, \">\", output, \"</span>\");\n\t }\n\t else {\n\t stringBuilder.push(output);\n\t }\n\t return screenColumn + value.length;\n\t };\n\t\n\t this.renderIndentGuide = function(stringBuilder, value, max) {\n\t var cols = value.search(this.$indentGuideRe);\n\t if (cols <= 0 || cols >= max)\n\t return value;\n\t if (value[0] == \" \") {\n\t cols -= cols % this.tabSize;\n\t stringBuilder.push(lang.stringRepeat(this.$tabStrings[\" \"], cols/this.tabSize));\n\t return value.substr(cols);\n\t } else if (value[0] == \"\\t\") {\n\t stringBuilder.push(lang.stringRepeat(this.$tabStrings[\"\\t\"], cols));\n\t return value.substr(cols);\n\t }\n\t return value;\n\t };\n\t\n\t this.$renderWrappedLine = function(stringBuilder, tokens, splits, onlyContents) {\n\t var chars = 0;\n\t var split = 0;\n\t var splitChars = splits[0];\n\t var screenColumn = 0;\n\t\n\t for (var i = 0; i < tokens.length; i++) {\n\t var token = tokens[i];\n\t var value = token.value;\n\t if (i == 0 && this.displayIndentGuides) {\n\t chars = value.length;\n\t value = this.renderIndentGuide(stringBuilder, value, splitChars);\n\t if (!value)\n\t continue;\n\t chars -= value.length;\n\t }\n\t\n\t if (chars + value.length < splitChars) {\n\t screenColumn = this.$renderToken(stringBuilder, screenColumn, token, value);\n\t chars += value.length;\n\t } else {\n\t while (chars + value.length >= splitChars) {\n\t screenColumn = this.$renderToken(\n\t stringBuilder, screenColumn,\n\t token, value.substring(0, splitChars - chars)\n\t );\n\t value = value.substring(splitChars - chars);\n\t chars = splitChars;\n\t\n\t if (!onlyContents) {\n\t stringBuilder.push(\"</div>\",\n\t \"<div class='ace_line' style='height:\",\n\t this.config.lineHeight, \"px'>\"\n\t );\n\t }\n\t\n\t stringBuilder.push(lang.stringRepeat(\"\\xa0\", splits.indent));\n\t\n\t split ++;\n\t screenColumn = 0;\n\t splitChars = splits[split] || Number.MAX_VALUE;\n\t }\n\t if (value.length != 0) {\n\t chars += value.length;\n\t screenColumn = this.$renderToken(\n\t stringBuilder, screenColumn, token, value\n\t );\n\t }\n\t }\n\t }\n\t };\n\t\n\t this.$renderSimpleLine = function(stringBuilder, tokens) {\n\t var screenColumn = 0;\n\t var token = tokens[0];\n\t var value = token.value;\n\t if (this.displayIndentGuides)\n\t value = this.renderIndentGuide(stringBuilder, value);\n\t if (value)\n\t screenColumn = this.$renderToken(stringBuilder, screenColumn, token, value);\n\t for (var i = 1; i < tokens.length; i++) {\n\t token = tokens[i];\n\t value = token.value;\n\t screenColumn = this.$renderToken(stringBuilder, screenColumn, token, value);\n\t }\n\t };\n\t this.$renderLine = function(stringBuilder, row, onlyContents, foldLine) {\n\t if (!foldLine && foldLine != false)\n\t foldLine = this.session.getFoldLine(row);\n\t\n\t if (foldLine)\n\t var tokens = this.$getFoldLineTokens(row, foldLine);\n\t else\n\t var tokens = this.session.getTokens(row);\n\t\n\t\n\t if (!onlyContents) {\n\t stringBuilder.push(\n\t \"<div class='ace_line' style='height:\", \n\t this.config.lineHeight * (\n\t this.$useLineGroups() ? 1 :this.session.getRowLength(row)\n\t ), \"px'>\"\n\t );\n\t }\n\t\n\t if (tokens.length) {\n\t var splits = this.session.getRowSplitData(row);\n\t if (splits && splits.length)\n\t this.$renderWrappedLine(stringBuilder, tokens, splits, onlyContents);\n\t else\n\t this.$renderSimpleLine(stringBuilder, tokens);\n\t }\n\t\n\t if (this.showInvisibles) {\n\t if (foldLine)\n\t row = foldLine.end.row\n\t\n\t stringBuilder.push(\n\t \"<span class='ace_invisible ace_invisible_eol'>\",\n\t row == this.session.getLength() - 1 ? this.EOF_CHAR : this.EOL_CHAR,\n\t \"</span>\"\n\t );\n\t }\n\t if (!onlyContents)\n\t stringBuilder.push(\"</div>\");\n\t };\n\t\n\t this.$getFoldLineTokens = function(row, foldLine) {\n\t var session = this.session;\n\t var renderTokens = [];\n\t\n\t function addTokens(tokens, from, to) {\n\t var idx = 0, col = 0;\n\t while ((col + tokens[idx].value.length) < from) {\n\t col += tokens[idx].value.length;\n\t idx++;\n\t\n\t if (idx == tokens.length)\n\t return;\n\t }\n\t if (col != from) {\n\t var value = tokens[idx].value.substring(from - col);\n\t if (value.length > (to - from))\n\t value = value.substring(0, to - from);\n\t\n\t renderTokens.push({\n\t type: tokens[idx].type,\n\t value: value\n\t });\n\t\n\t col = from + value.length;\n\t idx += 1;\n\t }\n\t\n\t while (col < to && idx < tokens.length) {\n\t var value = tokens[idx].value;\n\t if (value.length + col > to) {\n\t renderTokens.push({\n\t type: tokens[idx].type,\n\t value: value.substring(0, to - col)\n\t });\n\t } else\n\t renderTokens.push(tokens[idx]);\n\t col += value.length;\n\t idx += 1;\n\t }\n\t }\n\t\n\t var tokens = session.getTokens(row);\n\t foldLine.walk(function(placeholder, row, column, lastColumn, isNewRow) {\n\t if (placeholder != null) {\n\t renderTokens.push({\n\t type: \"fold\",\n\t value: placeholder\n\t });\n\t } else {\n\t if (isNewRow)\n\t tokens = session.getTokens(row);\n\t\n\t if (tokens.length)\n\t addTokens(tokens, lastColumn, column);\n\t }\n\t }, foldLine.end.row, this.session.getLine(foldLine.end.row).length);\n\t\n\t return renderTokens;\n\t };\n\t\n\t this.$useLineGroups = function() {\n\t return this.session.getUseWrapMode();\n\t };\n\t\n\t this.destroy = function() {\n\t clearInterval(this.$pollSizeChangesTimer);\n\t if (this.$measureNode)\n\t this.$measureNode.parentNode.removeChild(this.$measureNode);\n\t delete this.$measureNode;\n\t };\n\t\n\t}).call(Text.prototype);\n\t\n\texports.Text = Text;\n\t\n\t});\n\t\n\tace.define(\"ace/layer/cursor\",[\"require\",\"exports\",\"module\",\"ace/lib/dom\"], function(acequire, exports, module) {\n\t\"use strict\";\n\t\n\tvar dom = acequire(\"../lib/dom\");\n\tvar isIE8;\n\t\n\tvar Cursor = function(parentEl) {\n\t this.element = dom.createElement(\"div\");\n\t this.element.className = \"ace_layer ace_cursor-layer\";\n\t parentEl.appendChild(this.element);\n\t \n\t if (isIE8 === undefined)\n\t isIE8 = !(\"opacity\" in this.element.style);\n\t\n\t this.isVisible = false;\n\t this.isBlinking = true;\n\t this.blinkInterval = 1000;\n\t this.smoothBlinking = false;\n\t\n\t this.cursors = [];\n\t this.cursor = this.addCursor();\n\t dom.addCssClass(this.element, \"ace_hidden-cursors\");\n\t this.$updateCursors = (isIE8\n\t ? this.$updateVisibility\n\t : this.$updateOpacity).bind(this);\n\t};\n\t\n\t(function() {\n\t \n\t this.$updateVisibility = function(val) {\n\t var cursors = this.cursors;\n\t for (var i = cursors.length; i--; )\n\t cursors[i].style.visibility = val ? \"\" : \"hidden\";\n\t };\n\t this.$updateOpacity = function(val) {\n\t var cursors = this.cursors;\n\t for (var i = cursors.length; i--; )\n\t cursors[i].style.opacity = val ? \"\" : \"0\";\n\t };\n\t \n\t\n\t this.$padding = 0;\n\t this.setPadding = function(padding) {\n\t this.$padding = padding;\n\t };\n\t\n\t this.setSession = function(session) {\n\t this.session = session;\n\t };\n\t\n\t this.setBlinking = function(blinking) {\n\t if (blinking != this.isBlinking){\n\t this.isBlinking = blinking;\n\t this.restartTimer();\n\t }\n\t };\n\t\n\t this.setBlinkInterval = function(blinkInterval) {\n\t if (blinkInterval != this.blinkInterval){\n\t this.blinkInterval = blinkInterval;\n\t this.restartTimer();\n\t }\n\t };\n\t\n\t this.setSmoothBlinking = function(smoothBlinking) {\n\t if (smoothBlinking != this.smoothBlinking && !isIE8) {\n\t this.smoothBlinking = smoothBlinking;\n\t dom.setCssClass(this.element, \"ace_smooth-blinking\", smoothBlinking);\n\t this.$updateCursors(true);\n\t this.$updateCursors = (this.$updateOpacity).bind(this);\n\t this.restartTimer();\n\t }\n\t };\n\t\n\t this.addCursor = function() {\n\t var el = dom.createElement(\"div\");\n\t el.className = \"ace_cursor\";\n\t this.element.appendChild(el);\n\t this.cursors.push(el);\n\t return el;\n\t };\n\t\n\t this.removeCursor = function() {\n\t if (this.cursors.length > 1) {\n\t var el = this.cursors.pop();\n\t el.parentNode.removeChild(el);\n\t return el;\n\t }\n\t };\n\t\n\t this.hideCursor = function() {\n\t this.isVisible = false;\n\t dom.addCssClass(this.element, \"ace_hidden-cursors\");\n\t this.restartTimer();\n\t };\n\t\n\t this.showCursor = function() {\n\t this.isVisible = true;\n\t dom.removeCssClass(this.element, \"ace_hidden-cursors\");\n\t this.restartTimer();\n\t };\n\t\n\t this.restartTimer = function() {\n\t var update = this.$updateCursors;\n\t clearInterval(this.intervalId);\n\t clearTimeout(this.timeoutId);\n\t if (this.smoothBlinking) {\n\t dom.removeCssClass(this.element, \"ace_smooth-blinking\");\n\t }\n\t \n\t update(true);\n\t\n\t if (!this.isBlinking || !this.blinkInterval || !this.isVisible)\n\t return;\n\t\n\t if (this.smoothBlinking) {\n\t setTimeout(function(){\n\t dom.addCssClass(this.element, \"ace_smooth-blinking\");\n\t }.bind(this));\n\t }\n\t \n\t var blink = function(){\n\t this.timeoutId = setTimeout(function() {\n\t update(false);\n\t }, 0.6 * this.blinkInterval);\n\t }.bind(this);\n\t\n\t this.intervalId = setInterval(function() {\n\t update(true);\n\t blink();\n\t }, this.blinkInterval);\n\t\n\t blink();\n\t };\n\t\n\t this.getPixelPosition = function(position, onScreen) {\n\t if (!this.config || !this.session)\n\t return {left : 0, top : 0};\n\t\n\t if (!position)\n\t position = this.session.selection.getCursor();\n\t var pos = this.session.documentToScreenPosition(position);\n\t var cursorLeft = this.$padding + pos.column * this.config.characterWidth;\n\t var cursorTop = (pos.row - (onScreen ? this.config.firstRowScreen : 0)) *\n\t this.config.lineHeight;\n\t\n\t return {left : cursorLeft, top : cursorTop};\n\t };\n\t\n\t this.update = function(config) {\n\t this.config = config;\n\t\n\t var selections = this.session.$selectionMarkers;\n\t var i = 0, cursorIndex = 0;\n\t\n\t if (selections === undefined || selections.length === 0){\n\t selections = [{cursor: null}];\n\t }\n\t\n\t for (var i = 0, n = selections.length; i < n; i++) {\n\t var pixelPos = this.getPixelPosition(selections[i].cursor, true);\n\t if ((pixelPos.top > config.height + config.offset ||\n\t pixelPos.top < 0) && i > 1) {\n\t continue;\n\t }\n\t\n\t var style = (this.cursors[cursorIndex++] || this.addCursor()).style;\n\t \n\t if (!this.drawCursor) {\n\t style.left = pixelPos.left + \"px\";\n\t style.top = pixelPos.top + \"px\";\n\t style.width = config.characterWidth + \"px\";\n\t style.height = config.lineHeight + \"px\";\n\t } else {\n\t this.drawCursor(style, pixelPos, config, selections[i], this.session);\n\t }\n\t }\n\t while (this.cursors.length > cursorIndex)\n\t this.removeCursor();\n\t\n\t var overwrite = this.session.getOverwrite();\n\t this.$setOverwrite(overwrite);\n\t this.$pixelPos = pixelPos;\n\t this.restartTimer();\n\t };\n\t \n\t this.drawCursor = null;\n\t\n\t this.$setOverwrite = function(overwrite) {\n\t if (overwrite != this.overwrite) {\n\t this.overwrite = overwrite;\n\t if (overwrite)\n\t dom.addCssClass(this.element, \"ace_overwrite-cursors\");\n\t else\n\t dom.removeCssClass(this.element, \"ace_overwrite-cursors\");\n\t }\n\t };\n\t\n\t this.destroy = function() {\n\t clearInterval(this.intervalId);\n\t clearTimeout(this.timeoutId);\n\t };\n\t\n\t}).call(Cursor.prototype);\n\t\n\texports.Cursor = Cursor;\n\t\n\t});\n\t\n\tace.define(\"ace/scrollbar\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/lib/dom\",\"ace/lib/event\",\"ace/lib/event_emitter\"], function(acequire, exports, module) {\n\t\"use strict\";\n\t\n\tvar oop = acequire(\"./lib/oop\");\n\tvar dom = acequire(\"./lib/dom\");\n\tvar event = acequire(\"./lib/event\");\n\tvar EventEmitter = acequire(\"./lib/event_emitter\").EventEmitter;\n\tvar ScrollBar = function(parent) {\n\t this.element = dom.createElement(\"div\");\n\t this.element.className = \"ace_scrollbar ace_scrollbar\" + this.classSuffix;\n\t\n\t this.inner = dom.createElement(\"div\");\n\t this.inner.className = \"ace_scrollbar-inner\";\n\t this.element.appendChild(this.inner);\n\t\n\t parent.appendChild(this.element);\n\t\n\t this.setVisible(false);\n\t this.skipEvent = false;\n\t\n\t event.addListener(this.element, \"scroll\", this.onScroll.bind(this));\n\t event.addListener(this.element, \"mousedown\", event.preventDefault);\n\t};\n\t\n\t(function() {\n\t oop.implement(this, EventEmitter);\n\t\n\t this.setVisible = function(isVisible) {\n\t this.element.style.display = isVisible ? \"\" : \"none\";\n\t this.isVisible = isVisible;\n\t };\n\t}).call(ScrollBar.prototype);\n\tvar VScrollBar = function(parent, renderer) {\n\t ScrollBar.call(this, parent);\n\t this.scrollTop = 0;\n\t renderer.$scrollbarWidth = \n\t this.width = dom.scrollbarWidth(parent.ownerDocument);\n\t this.inner.style.width =\n\t this.element.style.width = (this.width || 15) + 5 + \"px\";\n\t};\n\t\n\toop.inherits(VScrollBar, ScrollBar);\n\t\n\t(function() {\n\t\n\t this.classSuffix = '-v';\n\t this.onScroll = function() {\n\t if (!this.skipEvent) {\n\t this.scrollTop = this.element.scrollTop;\n\t this._emit(\"scroll\", {data: this.scrollTop});\n\t }\n\t this.skipEvent = false;\n\t };\n\t this.getWidth = function() {\n\t return this.isVisible ? this.width : 0;\n\t };\n\t this.setHeight = function(height) {\n\t this.element.style.height = height + \"px\";\n\t };\n\t this.setInnerHeight = function(height) {\n\t this.inner.style.height = height + \"px\";\n\t };\n\t this.setScrollHeight = function(height) {\n\t this.inner.style.height = height + \"px\";\n\t };\n\t this.setScrollTop = function(scrollTop) {\n\t if (this.scrollTop != scrollTop) {\n\t this.skipEvent = true;\n\t this.scrollTop = this.element.scrollTop = scrollTop;\n\t }\n\t };\n\t\n\t}).call(VScrollBar.prototype);\n\tvar HScrollBar = function(parent, renderer) {\n\t ScrollBar.call(this, parent);\n\t this.scrollLeft = 0;\n\t this.height = renderer.$scrollbarWidth;\n\t this.inner.style.height =\n\t this.element.style.height = (this.height || 15) + 5 + \"px\";\n\t};\n\t\n\toop.inherits(HScrollBar, ScrollBar);\n\t\n\t(function() {\n\t\n\t this.classSuffix = '-h';\n\t this.onScroll = function() {\n\t if (!this.skipEvent) {\n\t this.scrollLeft = this.element.scrollLeft;\n\t this._emit(\"scroll\", {data: this.scrollLeft});\n\t }\n\t this.skipEvent = false;\n\t };\n\t this.getHeight = function() {\n\t return this.isVisible ? this.height : 0;\n\t };\n\t this.setWidth = function(width) {\n\t this.element.style.width = width + \"px\";\n\t };\n\t this.setInnerWidth = function(width) {\n\t this.inner.style.width = width + \"px\";\n\t };\n\t this.setScrollWidth = function(width) {\n\t this.inner.style.width = width + \"px\";\n\t };\n\t this.setScrollLeft = function(scrollLeft) {\n\t if (this.scrollLeft != scrollLeft) {\n\t this.skipEvent = true;\n\t this.scrollLeft = this.element.scrollLeft = scrollLeft;\n\t }\n\t };\n\t\n\t}).call(HScrollBar.prototype);\n\t\n\t\n\texports.ScrollBar = VScrollBar; // backward compatibility\n\texports.ScrollBarV = VScrollBar; // backward compatibility\n\texports.ScrollBarH = HScrollBar; // backward compatibility\n\t\n\texports.VScrollBar = VScrollBar;\n\texports.HScrollBar = HScrollBar;\n\t});\n\t\n\tace.define(\"ace/renderloop\",[\"require\",\"exports\",\"module\",\"ace/lib/event\"], function(acequire, exports, module) {\n\t\"use strict\";\n\t\n\tvar event = acequire(\"./lib/event\");\n\t\n\t\n\tvar RenderLoop = function(onRender, win) {\n\t this.onRender = onRender;\n\t this.pending = false;\n\t this.changes = 0;\n\t this.window = win || window;\n\t};\n\t\n\t(function() {\n\t\n\t\n\t this.schedule = function(change) {\n\t this.changes = this.changes | change;\n\t if (!this.pending && this.changes) {\n\t this.pending = true;\n\t var _self = this;\n\t event.nextFrame(function() {\n\t _self.pending = false;\n\t var changes;\n\t while (changes = _self.changes) {\n\t _self.changes = 0;\n\t _self.onRender(changes);\n\t }\n\t }, this.window);\n\t }\n\t };\n\t\n\t}).call(RenderLoop.prototype);\n\t\n\texports.RenderLoop = RenderLoop;\n\t});\n\t\n\tace.define(\"ace/layer/font_metrics\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/lib/dom\",\"ace/lib/lang\",\"ace/lib/useragent\",\"ace/lib/event_emitter\"], function(acequire, exports, module) {\n\t\n\tvar oop = acequire(\"../lib/oop\");\n\tvar dom = acequire(\"../lib/dom\");\n\tvar lang = acequire(\"../lib/lang\");\n\tvar useragent = acequire(\"../lib/useragent\");\n\tvar EventEmitter = acequire(\"../lib/event_emitter\").EventEmitter;\n\t\n\tvar CHAR_COUNT = 0;\n\t\n\tvar FontMetrics = exports.FontMetrics = function(parentEl) {\n\t this.el = dom.createElement(\"div\");\n\t this.$setMeasureNodeStyles(this.el.style, true);\n\t \n\t this.$main = dom.createElement(\"div\");\n\t this.$setMeasureNodeStyles(this.$main.style);\n\t \n\t this.$measureNode = dom.createElement(\"div\");\n\t this.$setMeasureNodeStyles(this.$measureNode.style);\n\t \n\t \n\t this.el.appendChild(this.$main);\n\t this.el.appendChild(this.$measureNode);\n\t parentEl.appendChild(this.el);\n\t \n\t if (!CHAR_COUNT)\n\t this.$testFractionalRect();\n\t this.$measureNode.innerHTML = lang.stringRepeat(\"X\", CHAR_COUNT);\n\t \n\t this.$characterSize = {width: 0, height: 0};\n\t this.checkForSizeChanges();\n\t};\n\t\n\t(function() {\n\t\n\t oop.implement(this, EventEmitter);\n\t \n\t this.$characterSize = {width: 0, height: 0};\n\t \n\t this.$testFractionalRect = function() {\n\t var el = dom.createElement(\"div\");\n\t this.$setMeasureNodeStyles(el.style);\n\t el.style.width = \"0.2px\";\n\t document.documentElement.appendChild(el);\n\t var w = el.getBoundingClientRect().width;\n\t if (w > 0 && w < 1)\n\t CHAR_COUNT = 50;\n\t else\n\t CHAR_COUNT = 100;\n\t el.parentNode.removeChild(el);\n\t };\n\t \n\t this.$setMeasureNodeStyles = function(style, isRoot) {\n\t style.width = style.height = \"auto\";\n\t style.left = style.top = \"0px\";\n\t style.visibility = \"hidden\";\n\t style.position = \"absolute\";\n\t style.whiteSpace = \"pre\";\n\t\n\t if (useragent.isIE < 8) {\n\t style[\"font-family\"] = \"inherit\";\n\t } else {\n\t style.font = \"inherit\";\n\t }\n\t style.overflow = isRoot ? \"hidden\" : \"visible\";\n\t };\n\t\n\t this.checkForSizeChanges = function() {\n\t var size = this.$measureSizes();\n\t if (size && (this.$characterSize.width !== size.width || this.$characterSize.height !== size.height)) {\n\t this.$measureNode.style.fontWeight = \"bold\";\n\t var boldSize = this.$measureSizes();\n\t this.$measureNode.style.fontWeight = \"\";\n\t this.$characterSize = size;\n\t this.charSizes = Object.create(null);\n\t this.allowBoldFonts = boldSize && boldSize.width === size.width && boldSize.height === size.height;\n\t this._emit(\"changeCharacterSize\", {data: size});\n\t }\n\t };\n\t\n\t this.$pollSizeChanges = function() {\n\t if (this.$pollSizeChangesTimer)\n\t return this.$pollSizeChangesTimer;\n\t var self = this;\n\t return this.$pollSizeChangesTimer = setInterval(function() {\n\t self.checkForSizeChanges();\n\t }, 500);\n\t };\n\t \n\t this.setPolling = function(val) {\n\t if (val) {\n\t this.$pollSizeChanges();\n\t } else if (this.$pollSizeChangesTimer) {\n\t clearInterval(this.$pollSizeChangesTimer);\n\t this.$pollSizeChangesTimer = 0;\n\t }\n\t };\n\t\n\t this.$measureSizes = function() {\n\t if (CHAR_COUNT === 50) {\n\t var rect = null;\n\t try { \n\t rect = this.$measureNode.getBoundingClientRect();\n\t } catch(e) {\n\t rect = {width: 0, height:0 };\n\t }\n\t var size = {\n\t height: rect.height,\n\t width: rect.width / CHAR_COUNT\n\t };\n\t } else {\n\t var size = {\n\t height: this.$measureNode.clientHeight,\n\t width: this.$measureNode.clientWidth / CHAR_COUNT\n\t };\n\t }\n\t if (size.width === 0 || size.height === 0)\n\t return null;\n\t return size;\n\t };\n\t\n\t this.$measureCharWidth = function(ch) {\n\t this.$main.innerHTML = lang.stringRepeat(ch, CHAR_COUNT);\n\t var rect = this.$main.getBoundingClientRect();\n\t return rect.width / CHAR_COUNT;\n\t };\n\t \n\t this.getCharacterWidth = function(ch) {\n\t var w = this.charSizes[ch];\n\t if (w === undefined) {\n\t w = this.charSizes[ch] = this.$measureCharWidth(ch) / this.$characterSize.width;\n\t }\n\t return w;\n\t };\n\t\n\t this.destroy = function() {\n\t clearInterval(this.$pollSizeChangesTimer);\n\t if (this.el && this.el.parentNode)\n\t this.el.parentNode.removeChild(this.el);\n\t };\n\t\n\t}).call(FontMetrics.prototype);\n\t\n\t});\n\t\n\tace.define(\"ace/virtual_renderer\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/lib/dom\",\"ace/config\",\"ace/lib/useragent\",\"ace/layer/gutter\",\"ace/layer/marker\",\"ace/layer/text\",\"ace/layer/cursor\",\"ace/scrollbar\",\"ace/scrollbar\",\"ace/renderloop\",\"ace/layer/font_metrics\",\"ace/lib/event_emitter\"], function(acequire, exports, module) {\n\t\"use strict\";\n\t\n\tvar oop = acequire(\"./lib/oop\");\n\tvar dom = acequire(\"./lib/dom\");\n\tvar config = acequire(\"./config\");\n\tvar useragent = acequire(\"./lib/useragent\");\n\tvar GutterLayer = acequire(\"./layer/gutter\").Gutter;\n\tvar MarkerLayer = acequire(\"./layer/marker\").Marker;\n\tvar TextLayer = acequire(\"./layer/text\").Text;\n\tvar CursorLayer = acequire(\"./layer/cursor\").Cursor;\n\tvar HScrollBar = acequire(\"./scrollbar\").HScrollBar;\n\tvar VScrollBar = acequire(\"./scrollbar\").VScrollBar;\n\tvar RenderLoop = acequire(\"./renderloop\").RenderLoop;\n\tvar FontMetrics = acequire(\"./layer/font_metrics\").FontMetrics;\n\tvar EventEmitter = acequire(\"./lib/event_emitter\").EventEmitter;\n\tvar editorCss = \".ace_editor {\\\n\tposition: relative;\\\n\toverflow: hidden;\\\n\tfont: 12px/normal 'Monaco', 'Menlo', 'Ubuntu Mono', 'Consolas', 'source-code-pro', monospace;\\\n\tdirection: ltr;\\\n\t}\\\n\t.ace_scroller {\\\n\tposition: absolute;\\\n\toverflow: hidden;\\\n\ttop: 0;\\\n\tbottom: 0;\\\n\tbackground-color: inherit;\\\n\t-ms-user-select: none;\\\n\t-moz-user-select: none;\\\n\t-webkit-user-select: none;\\\n\tuser-select: none;\\\n\tcursor: text;\\\n\t}\\\n\t.ace_content {\\\n\tposition: absolute;\\\n\t-moz-box-sizing: border-box;\\\n\t-webkit-box-sizing: border-box;\\\n\tbox-sizing: border-box;\\\n\tmin-width: 100%;\\\n\t}\\\n\t.ace_dragging .ace_scroller:before{\\\n\tposition: absolute;\\\n\ttop: 0;\\\n\tleft: 0;\\\n\tright: 0;\\\n\tbottom: 0;\\\n\tcontent: '';\\\n\tbackground: rgba(250, 250, 250, 0.01);\\\n\tz-index: 1000;\\\n\t}\\\n\t.ace_dragging.ace_dark .ace_scroller:before{\\\n\tbackground: rgba(0, 0, 0, 0.01);\\\n\t}\\\n\t.ace_selecting, .ace_selecting * {\\\n\tcursor: text !important;\\\n\t}\\\n\t.ace_gutter {\\\n\tposition: absolute;\\\n\toverflow : hidden;\\\n\twidth: auto;\\\n\ttop: 0;\\\n\tbottom: 0;\\\n\tleft: 0;\\\n\tcursor: default;\\\n\tz-index: 4;\\\n\t-ms-user-select: none;\\\n\t-moz-user-select: none;\\\n\t-webkit-user-select: none;\\\n\tuser-select: none;\\\n\t}\\\n\t.ace_gutter-active-line {\\\n\tposition: absolute;\\\n\tleft: 0;\\\n\tright: 0;\\\n\t}\\\n\t.ace_scroller.ace_scroll-left {\\\n\tbox-shadow: 17px 0 16px -16px rgba(0, 0, 0, 0.4) inset;\\\n\t}\\\n\t.ace_gutter-cell {\\\n\tpadding-left: 19px;\\\n\tpadding-right: 6px;\\\n\tbackground-repeat: no-repeat;\\\n\t}\\\n\t.ace_gutter-cell.ace_error {\\\n\tbackground-image: url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAABOFBMVEX/////////QRswFAb/Ui4wFAYwFAYwFAaWGAfDRymzOSH/PxswFAb/SiUwFAYwFAbUPRvjQiDllog5HhHdRybsTi3/Tyv9Tir+Syj/UC3////XurebMBIwFAb/RSHbPx/gUzfdwL3kzMivKBAwFAbbvbnhPx66NhowFAYwFAaZJg8wFAaxKBDZurf/RB6mMxb/SCMwFAYwFAbxQB3+RB4wFAb/Qhy4Oh+4QifbNRcwFAYwFAYwFAb/QRzdNhgwFAYwFAbav7v/Uy7oaE68MBK5LxLewr/r2NXewLswFAaxJw4wFAbkPRy2PyYwFAaxKhLm1tMwFAazPiQwFAaUGAb/QBrfOx3bvrv/VC/maE4wFAbRPBq6MRO8Qynew8Dp2tjfwb0wFAbx6eju5+by6uns4uH9/f36+vr/GkHjAAAAYnRSTlMAGt+64rnWu/bo8eAA4InH3+DwoN7j4eLi4xP99Nfg4+b+/u9B/eDs1MD1mO7+4PHg2MXa347g7vDizMLN4eG+Pv7i5evs/v79yu7S3/DV7/498Yv24eH+4ufQ3Ozu/v7+y13sRqwAAADLSURBVHjaZc/XDsFgGIBhtDrshlitmk2IrbHFqL2pvXf/+78DPokj7+Fz9qpU/9UXJIlhmPaTaQ6QPaz0mm+5gwkgovcV6GZzd5JtCQwgsxoHOvJO15kleRLAnMgHFIESUEPmawB9ngmelTtipwwfASilxOLyiV5UVUyVAfbG0cCPHig+GBkzAENHS0AstVF6bacZIOzgLmxsHbt2OecNgJC83JERmePUYq8ARGkJx6XtFsdddBQgZE2nPR6CICZhawjA4Fb/chv+399kfR+MMMDGOQAAAABJRU5ErkJggg==\\\");\\\n\tbackground-repeat: no-repeat;\\\n\tbackground-position: 2px center;\\\n\t}\\\n\t.ace_gutter-cell.ace_warning {\\\n\tbackground-image: url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAmVBMVEX///8AAAD///8AAAAAAABPSzb/5sAAAAB/blH/73z/ulkAAAAAAAD85pkAAAAAAAACAgP/vGz/rkDerGbGrV7/pkQICAf////e0IsAAAD/oED/qTvhrnUAAAD/yHD/njcAAADuv2r/nz//oTj/p064oGf/zHAAAAA9Nir/tFIAAAD/tlTiuWf/tkIAAACynXEAAAAAAAAtIRW7zBpBAAAAM3RSTlMAABR1m7RXO8Ln31Z36zT+neXe5OzooRDfn+TZ4p3h2hTf4t3k3ucyrN1K5+Xaks52Sfs9CXgrAAAAjklEQVR42o3PbQ+CIBQFYEwboPhSYgoYunIqqLn6/z8uYdH8Vmdnu9vz4WwXgN/xTPRD2+sgOcZjsge/whXZgUaYYvT8QnuJaUrjrHUQreGczuEafQCO/SJTufTbroWsPgsllVhq3wJEk2jUSzX3CUEDJC84707djRc5MTAQxoLgupWRwW6UB5fS++NV8AbOZgnsC7BpEAAAAABJRU5ErkJggg==\\\");\\\n\tbackground-position: 2px center;\\\n\t}\\\n\t.ace_gutter-cell.ace_info {\\\n\tbackground-image: url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAAAAAA6mKC9AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAAJ0Uk5TAAB2k804AAAAPklEQVQY02NgIB68QuO3tiLznjAwpKTgNyDbMegwisCHZUETUZV0ZqOquBpXj2rtnpSJT1AEnnRmL2OgGgAAIKkRQap2htgAAAAASUVORK5CYII=\\\");\\\n\tbackground-position: 2px center;\\\n\t}\\\n\t.ace_dark .ace_gutter-cell.ace_info {\\\n\tbackground-image: url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAJFBMVEUAAAChoaGAgIAqKiq+vr6tra1ZWVmUlJSbm5s8PDxubm56enrdgzg3AAAAAXRSTlMAQObYZgAAAClJREFUeNpjYMAPdsMYHegyJZFQBlsUlMFVCWUYKkAZMxZAGdxlDMQBAG+TBP4B6RyJAAAAAElFTkSuQmCC\\\");\\\n\t}\\\n\t.ace_scrollbar {\\\n\tposition: absolute;\\\n\tright: 0;\\\n\tbottom: 0;\\\n\tz-index: 6;\\\n\t}\\\n\t.ace_scrollbar-inner {\\\n\tposition: absolute;\\\n\tcursor: text;\\\n\tleft: 0;\\\n\ttop: 0;\\\n\t}\\\n\t.ace_scrollbar-v{\\\n\toverflow-x: hidden;\\\n\toverflow-y: scroll;\\\n\ttop: 0;\\\n\t}\\\n\t.ace_scrollbar-h {\\\n\toverflow-x: scroll;\\\n\toverflow-y: hidden;\\\n\tleft: 0;\\\n\t}\\\n\t.ace_print-margin {\\\n\tposition: absolute;\\\n\theight: 100%;\\\n\t}\\\n\t.ace_text-input {\\\n\tposition: absolute;\\\n\tz-index: 0;\\\n\twidth: 0.5em;\\\n\theight: 1em;\\\n\topacity: 0;\\\n\tbackground: transparent;\\\n\t-moz-appearance: none;\\\n\tappearance: none;\\\n\tborder: none;\\\n\tresize: none;\\\n\toutline: none;\\\n\toverflow: hidden;\\\n\tfont: inherit;\\\n\tpadding: 0 1px;\\\n\tmargin: 0 -1px;\\\n\ttext-indent: -1em;\\\n\t-ms-user-select: text;\\\n\t-moz-user-select: text;\\\n\t-webkit-user-select: text;\\\n\tuser-select: text;\\\n\twhite-space: pre!important;\\\n\t}\\\n\t.ace_text-input.ace_composition {\\\n\tbackground: inherit;\\\n\tcolor: inherit;\\\n\tz-index: 1000;\\\n\topacity: 1;\\\n\ttext-indent: 0;\\\n\t}\\\n\t.ace_layer {\\\n\tz-index: 1;\\\n\tposition: absolute;\\\n\toverflow: hidden;\\\n\tword-wrap: normal;\\\n\twhite-space: pre;\\\n\theight: 100%;\\\n\twidth: 100%;\\\n\t-moz-box-sizing: border-box;\\\n\t-webkit-box-sizing: border-box;\\\n\tbox-sizing: border-box;\\\n\tpointer-events: none;\\\n\t}\\\n\t.ace_gutter-layer {\\\n\tposition: relative;\\\n\twidth: auto;\\\n\ttext-align: right;\\\n\tpointer-events: auto;\\\n\t}\\\n\t.ace_text-layer {\\\n\tfont: inherit !important;\\\n\t}\\\n\t.ace_cjk {\\\n\tdisplay: inline-block;\\\n\ttext-align: center;\\\n\t}\\\n\t.ace_cursor-layer {\\\n\tz-index: 4;\\\n\t}\\\n\t.ace_cursor {\\\n\tz-index: 4;\\\n\tposition: absolute;\\\n\t-moz-box-sizing: border-box;\\\n\t-webkit-box-sizing: border-box;\\\n\tbox-sizing: border-box;\\\n\tborder-left: 2px solid;\\\n\ttransform: translatez(0);\\\n\t}\\\n\t.ace_slim-cursors .ace_cursor {\\\n\tborder-left-width: 1px;\\\n\t}\\\n\t.ace_overwrite-cursors .ace_cursor {\\\n\tborder-left-width: 0;\\\n\tborder-bottom: 1px solid;\\\n\t}\\\n\t.ace_hidden-cursors .ace_cursor {\\\n\topacity: 0.2;\\\n\t}\\\n\t.ace_smooth-blinking .ace_cursor {\\\n\t-webkit-transition: opacity 0.18s;\\\n\ttransition: opacity 0.18s;\\\n\t}\\\n\t.ace_editor.ace_multiselect .ace_cursor {\\\n\tborder-left-width: 1px;\\\n\t}\\\n\t.ace_marker-layer .ace_step, .ace_marker-layer .ace_stack {\\\n\tposition: absolute;\\\n\tz-index: 3;\\\n\t}\\\n\t.ace_marker-layer .ace_selection {\\\n\tposition: absolute;\\\n\tz-index: 5;\\\n\t}\\\n\t.ace_marker-layer .ace_bracket {\\\n\tposition: absolute;\\\n\tz-index: 6;\\\n\t}\\\n\t.ace_marker-layer .ace_active-line {\\\n\tposition: absolute;\\\n\tz-index: 2;\\\n\t}\\\n\t.ace_marker-layer .ace_selected-word {\\\n\tposition: absolute;\\\n\tz-index: 4;\\\n\t-moz-box-sizing: border-box;\\\n\t-webkit-box-sizing: border-box;\\\n\tbox-sizing: border-box;\\\n\t}\\\n\t.ace_line .ace_fold {\\\n\t-moz-box-sizing: border-box;\\\n\t-webkit-box-sizing: border-box;\\\n\tbox-sizing: border-box;\\\n\tdisplay: inline-block;\\\n\theight: 11px;\\\n\tmargin-top: -2px;\\\n\tvertical-align: middle;\\\n\tbackground-image:\\\n\turl(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAJCAYAAADU6McMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJpJREFUeNpi/P//PwOlgAXGYGRklAVSokD8GmjwY1wasKljQpYACtpCFeADcHVQfQyMQAwzwAZI3wJKvCLkfKBaMSClBlR7BOQikCFGQEErIH0VqkabiGCAqwUadAzZJRxQr/0gwiXIal8zQQPnNVTgJ1TdawL0T5gBIP1MUJNhBv2HKoQHHjqNrA4WO4zY0glyNKLT2KIfIMAAQsdgGiXvgnYAAAAASUVORK5CYII=\\\"),\\\n\turl(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAA3CAYAAADNNiA5AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACJJREFUeNpi+P//fxgTAwPDBxDxD078RSX+YeEyDFMCIMAAI3INmXiwf2YAAAAASUVORK5CYII=\\\");\\\n\tbackground-repeat: no-repeat, repeat-x;\\\n\tbackground-position: center center, top left;\\\n\tcolor: transparent;\\\n\tborder: 1px solid black;\\\n\tborder-radius: 2px;\\\n\tcursor: pointer;\\\n\tpointer-events: auto;\\\n\t}\\\n\t.ace_dark .ace_fold {\\\n\t}\\\n\t.ace_fold:hover{\\\n\tbackground-image:\\\n\turl(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAJCAYAAADU6McMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJpJREFUeNpi/P//PwOlgAXGYGRklAVSokD8GmjwY1wasKljQpYACtpCFeADcHVQfQyMQAwzwAZI3wJKvCLkfKBaMSClBlR7BOQikCFGQEErIH0VqkabiGCAqwUadAzZJRxQr/0gwiXIal8zQQPnNVTgJ1TdawL0T5gBIP1MUJNhBv2HKoQHHjqNrA4WO4zY0glyNKLT2KIfIMAAQsdgGiXvgnYAAAAASUVORK5CYII=\\\"),\\\n\turl(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAA3CAYAAADNNiA5AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACBJREFUeNpi+P//fz4TAwPDZxDxD5X4i5fLMEwJgAADAEPVDbjNw87ZAAAAAElFTkSuQmCC\\\");\\\n\t}\\\n\t.ace_tooltip {\\\n\tbackground-color: #FFF;\\\n\tbackground-image: -webkit-linear-gradient(top, transparent, rgba(0, 0, 0, 0.1));\\\n\tbackground-image: linear-gradient(to bottom, transparent, rgba(0, 0, 0, 0.1));\\\n\tborder: 1px solid gray;\\\n\tborder-radius: 1px;\\\n\tbox-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);\\\n\tcolor: black;\\\n\tmax-width: 100%;\\\n\tpadding: 3px 4px;\\\n\tposition: fixed;\\\n\tz-index: 999999;\\\n\t-moz-box-sizing: border-box;\\\n\t-webkit-box-sizing: border-box;\\\n\tbox-sizing: border-box;\\\n\tcursor: default;\\\n\twhite-space: pre;\\\n\tword-wrap: break-word;\\\n\tline-height: normal;\\\n\tfont-style: normal;\\\n\tfont-weight: normal;\\\n\tletter-spacing: normal;\\\n\tpointer-events: none;\\\n\t}\\\n\t.ace_folding-enabled > .ace_gutter-cell {\\\n\tpadding-right: 13px;\\\n\t}\\\n\t.ace_fold-widget {\\\n\t-moz-box-sizing: border-box;\\\n\t-webkit-box-sizing: border-box;\\\n\tbox-sizing: border-box;\\\n\tmargin: 0 -12px 0 1px;\\\n\tdisplay: none;\\\n\twidth: 11px;\\\n\tvertical-align: top;\\\n\tbackground-image: url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAANElEQVR42mWKsQ0AMAzC8ixLlrzQjzmBiEjp0A6WwBCSPgKAXoLkqSot7nN3yMwR7pZ32NzpKkVoDBUxKAAAAABJRU5ErkJggg==\\\");\\\n\tbackground-repeat: no-repeat;\\\n\tbackground-position: center;\\\n\tborder-radius: 3px;\\\n\tborder: 1px solid transparent;\\\n\tcursor: pointer;\\\n\t}\\\n\t.ace_folding-enabled .ace_fold-widget {\\\n\tdisplay: inline-block; \\\n\t}\\\n\t.ace_fold-widget.ace_end {\\\n\tbackground-image: url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAANElEQVR42m3HwQkAMAhD0YzsRchFKI7sAikeWkrxwScEB0nh5e7KTPWimZki4tYfVbX+MNl4pyZXejUO1QAAAABJRU5ErkJggg==\\\");\\\n\t}\\\n\t.ace_fold-widget.ace_closed {\\\n\tbackground-image: url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAGCAYAAAAG5SQMAAAAOUlEQVR42jXKwQkAMAgDwKwqKD4EwQ26sSOkVWjgIIHAzPiCgaqiqnJHZnKICBERHN194O5b9vbLuAVRL+l0YWnZAAAAAElFTkSuQmCCXA==\\\");\\\n\t}\\\n\t.ace_fold-widget:hover {\\\n\tborder: 1px solid rgba(0, 0, 0, 0.3);\\\n\tbackground-color: rgba(255, 255, 255, 0.2);\\\n\tbox-shadow: 0 1px 1px rgba(255, 255, 255, 0.7);\\\n\t}\\\n\t.ace_fold-widget:active {\\\n\tborder: 1px solid rgba(0, 0, 0, 0.4);\\\n\tbackground-color: rgba(0, 0, 0, 0.05);\\\n\tbox-shadow: 0 1px 1px rgba(255, 255, 255, 0.8);\\\n\t}\\\n\t.ace_dark .ace_fold-widget {\\\n\tbackground-image: url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHklEQVQIW2P4//8/AzoGEQ7oGCaLLAhWiSwB146BAQCSTPYocqT0AAAAAElFTkSuQmCC\\\");\\\n\t}\\\n\t.ace_dark .ace_fold-widget.ace_end {\\\n\tbackground-image: url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAH0lEQVQIW2P4//8/AxQ7wNjIAjDMgC4AxjCVKBirIAAF0kz2rlhxpAAAAABJRU5ErkJggg==\\\");\\\n\t}\\\n\t.ace_dark .ace_fold-widget.ace_closed {\\\n\tbackground-image: url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAFCAYAAACAcVaiAAAAHElEQVQIW2P4//+/AxAzgDADlOOAznHAKgPWAwARji8UIDTfQQAAAABJRU5ErkJggg==\\\");\\\n\t}\\\n\t.ace_dark .ace_fold-widget:hover {\\\n\tbox-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);\\\n\tbackground-color: rgba(255, 255, 255, 0.1);\\\n\t}\\\n\t.ace_dark .ace_fold-widget:active {\\\n\tbox-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);\\\n\t}\\\n\t.ace_fold-widget.ace_invalid {\\\n\tbackground-color: #FFB4B4;\\\n\tborder-color: #DE5555;\\\n\t}\\\n\t.ace_fade-fold-widgets .ace_fold-widget {\\\n\t-webkit-transition: opacity 0.4s ease 0.05s;\\\n\ttransition: opacity 0.4s ease 0.05s;\\\n\topacity: 0;\\\n\t}\\\n\t.ace_fade-fold-widgets:hover .ace_fold-widget {\\\n\t-webkit-transition: opacity 0.05s ease 0.05s;\\\n\ttransition: opacity 0.05s ease 0.05s;\\\n\topacity:1;\\\n\t}\\\n\t.ace_underline {\\\n\ttext-decoration: underline;\\\n\t}\\\n\t.ace_bold {\\\n\tfont-weight: bold;\\\n\t}\\\n\t.ace_nobold .ace_bold {\\\n\tfont-weight: normal;\\\n\t}\\\n\t.ace_italic {\\\n\tfont-style: italic;\\\n\t}\\\n\t.ace_error-marker {\\\n\tbackground-color: rgba(255, 0, 0,0.2);\\\n\tposition: absolute;\\\n\tz-index: 9;\\\n\t}\\\n\t.ace_highlight-marker {\\\n\tbackground-color: rgba(255, 255, 0,0.2);\\\n\tposition: absolute;\\\n\tz-index: 8;\\\n\t}\\\n\t.ace_br1 {border-top-left-radius : 3px;}\\\n\t.ace_br2 {border-top-right-radius : 3px;}\\\n\t.ace_br3 {border-top-left-radius : 3px; border-top-right-radius: 3px;}\\\n\t.ace_br4 {border-bottom-right-radius: 3px;}\\\n\t.ace_br5 {border-top-left-radius : 3px; border-bottom-right-radius: 3px;}\\\n\t.ace_br6 {border-top-right-radius : 3px; border-bottom-right-radius: 3px;}\\\n\t.ace_br7 {border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px;}\\\n\t.ace_br8 {border-bottom-left-radius : 3px;}\\\n\t.ace_br9 {border-top-left-radius : 3px; border-bottom-left-radius: 3px;}\\\n\t.ace_br10{border-top-right-radius : 3px; border-bottom-left-radius: 3px;}\\\n\t.ace_br11{border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-left-radius: 3px;}\\\n\t.ace_br12{border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}\\\n\t.ace_br13{border-top-left-radius : 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}\\\n\t.ace_br14{border-top-right-radius : 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}\\\n\t.ace_br15{border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}\\\n\t\";\n\t\n\tdom.importCssString(editorCss, \"ace_editor.css\");\n\t\n\tvar VirtualRenderer = function(container, theme) {\n\t var _self = this;\n\t\n\t this.container = container || dom.createElement(\"div\");\n\t this.$keepTextAreaAtCursor = !useragent.isOldIE;\n\t\n\t dom.addCssClass(this.container, \"ace_editor\");\n\t\n\t this.setTheme(theme);\n\t\n\t this.$gutter = dom.createElement(\"div\");\n\t this.$gutter.className = \"ace_gutter\";\n\t this.container.appendChild(this.$gutter);\n\t\n\t this.scroller = dom.createElement(\"div\");\n\t this.scroller.className = \"ace_scroller\";\n\t this.container.appendChild(this.scroller);\n\t\n\t this.content = dom.createElement(\"div\");\n\t this.content.className = \"ace_content\";\n\t this.scroller.appendChild(this.content);\n\t\n\t this.$gutterLayer = new GutterLayer(this.$gutter);\n\t this.$gutterLayer.on(\"changeGutterWidth\", this.onGutterResize.bind(this));\n\t\n\t this.$markerBack = new MarkerLayer(this.content);\n\t\n\t var textLayer = this.$textLayer = new TextLayer(this.content);\n\t this.canvas = textLayer.element;\n\t\n\t this.$markerFront = new MarkerLayer(this.content);\n\t\n\t this.$cursorLayer = new CursorLayer(this.content);\n\t this.$horizScroll = false;\n\t this.$vScroll = false;\n\t\n\t this.scrollBar = \n\t this.scrollBarV = new VScrollBar(this.container, this);\n\t this.scrollBarH = new HScrollBar(this.container, this);\n\t this.scrollBarV.addEventListener(\"scroll\", function(e) {\n\t if (!_self.$scrollAnimation)\n\t _self.session.setScrollTop(e.data - _self.scrollMargin.top);\n\t });\n\t this.scrollBarH.addEventListener(\"scroll\", function(e) {\n\t if (!_self.$scrollAnimation)\n\t _self.session.setScrollLeft(e.data - _self.scrollMargin.left);\n\t });\n\t\n\t this.scrollTop = 0;\n\t this.scrollLeft = 0;\n\t\n\t this.cursorPos = {\n\t row : 0,\n\t column : 0\n\t };\n\t\n\t this.$fontMetrics = new FontMetrics(this.container);\n\t this.$textLayer.$setFontMetrics(this.$fontMetrics);\n\t this.$textLayer.addEventListener(\"changeCharacterSize\", function(e) {\n\t _self.updateCharacterSize();\n\t _self.onResize(true, _self.gutterWidth, _self.$size.width, _self.$size.height);\n\t _self._signal(\"changeCharacterSize\", e);\n\t });\n\t\n\t this.$size = {\n\t width: 0,\n\t height: 0,\n\t scrollerHeight: 0,\n\t scrollerWidth: 0,\n\t $dirty: true\n\t };\n\t\n\t this.layerConfig = {\n\t width : 1,\n\t padding : 0,\n\t firstRow : 0,\n\t firstRowScreen: 0,\n\t lastRow : 0,\n\t lineHeight : 0,\n\t characterWidth : 0,\n\t minHeight : 1,\n\t maxHeight : 1,\n\t offset : 0,\n\t height : 1,\n\t gutterOffset: 1\n\t };\n\t \n\t this.scrollMargin = {\n\t left: 0,\n\t right: 0,\n\t top: 0,\n\t bottom: 0,\n\t v: 0,\n\t h: 0\n\t };\n\t\n\t this.$loop = new RenderLoop(\n\t this.$renderChanges.bind(this),\n\t this.container.ownerDocument.defaultView\n\t );\n\t this.$loop.schedule(this.CHANGE_FULL);\n\t\n\t this.updateCharacterSize();\n\t this.setPadding(4);\n\t config.resetOptions(this);\n\t config._emit(\"renderer\", this);\n\t};\n\t\n\t(function() {\n\t\n\t this.CHANGE_CURSOR = 1;\n\t this.CHANGE_MARKER = 2;\n\t this.CHANGE_GUTTER = 4;\n\t this.CHANGE_SCROLL = 8;\n\t this.CHANGE_LINES = 16;\n\t this.CHANGE_TEXT = 32;\n\t this.CHANGE_SIZE = 64;\n\t this.CHANGE_MARKER_BACK = 128;\n\t this.CHANGE_MARKER_FRONT = 256;\n\t this.CHANGE_FULL = 512;\n\t this.CHANGE_H_SCROLL = 1024;\n\t\n\t oop.implement(this, EventEmitter);\n\t\n\t this.updateCharacterSize = function() {\n\t if (this.$textLayer.allowBoldFonts != this.$allowBoldFonts) {\n\t this.$allowBoldFonts = this.$textLayer.allowBoldFonts;\n\t this.setStyle(\"ace_nobold\", !this.$allowBoldFonts);\n\t }\n\t\n\t this.layerConfig.characterWidth =\n\t this.characterWidth = this.$textLayer.getCharacterWidth();\n\t this.layerConfig.lineHeight =\n\t this.lineHeight = this.$textLayer.getLineHeight();\n\t this.$updatePrintMargin();\n\t };\n\t this.setSession = function(session) {\n\t if (this.session)\n\t this.session.doc.off(\"changeNewLineMode\", this.onChangeNewLineMode);\n\t \n\t this.session = session;\n\t if (session && this.scrollMargin.top && session.getScrollTop() <= 0)\n\t session.setScrollTop(-this.scrollMargin.top);\n\t\n\t this.$cursorLayer.setSession(session);\n\t this.$markerBack.setSession(session);\n\t this.$markerFront.setSession(session);\n\t this.$gutterLayer.setSession(session);\n\t this.$textLayer.setSession(session);\n\t if (!session)\n\t return;\n\t \n\t this.$loop.schedule(this.CHANGE_FULL);\n\t this.session.$setFontMetrics(this.$fontMetrics);\n\t \n\t this.onChangeNewLineMode = this.onChangeNewLineMode.bind(this);\n\t this.onChangeNewLineMode()\n\t this.session.doc.on(\"changeNewLineMode\", this.onChangeNewLineMode);\n\t };\n\t this.updateLines = function(firstRow, lastRow, force) {\n\t if (lastRow === undefined)\n\t lastRow = Infinity;\n\t\n\t if (!this.$changedLines) {\n\t this.$changedLines = {\n\t firstRow: firstRow,\n\t lastRow: lastRow\n\t };\n\t }\n\t else {\n\t if (this.$changedLines.firstRow > firstRow)\n\t this.$changedLines.firstRow = firstRow;\n\t\n\t if (this.$changedLines.lastRow < lastRow)\n\t this.$changedLines.lastRow = lastRow;\n\t }\n\t if (this.$changedLines.lastRow < this.layerConfig.firstRow) {\n\t if (force)\n\t this.$changedLines.lastRow = this.layerConfig.lastRow;\n\t else\n\t return;\n\t }\n\t if (this.$changedLines.firstRow > this.layerConfig.lastRow)\n\t return;\n\t this.$loop.schedule(this.CHANGE_LINES);\n\t };\n\t\n\t this.onChangeNewLineMode = function() {\n\t this.$loop.schedule(this.CHANGE_TEXT);\n\t this.$textLayer.$updateEolChar();\n\t };\n\t \n\t this.onChangeTabSize = function() {\n\t this.$loop.schedule(this.CHANGE_TEXT | this.CHANGE_MARKER);\n\t this.$textLayer.onChangeTabSize();\n\t };\n\t this.updateText = function() {\n\t this.$loop.schedule(this.CHANGE_TEXT);\n\t };\n\t this.updateFull = function(force) {\n\t if (force)\n\t this.$renderChanges(this.CHANGE_FULL, true);\n\t else\n\t this.$loop.schedule(this.CHANGE_FULL);\n\t };\n\t this.updateFontSize = function() {\n\t this.$textLayer.checkForSizeChanges();\n\t };\n\t\n\t this.$changes = 0;\n\t this.$updateSizeAsync = function() {\n\t if (this.$loop.pending)\n\t this.$size.$dirty = true;\n\t else\n\t this.onResize();\n\t };\n\t this.onResize = function(force, gutterWidth, width, height) {\n\t if (this.resizing > 2)\n\t return;\n\t else if (this.resizing > 0)\n\t this.resizing++;\n\t else\n\t this.resizing = force ? 1 : 0;\n\t var el = this.container;\n\t if (!height)\n\t height = el.clientHeight || el.scrollHeight;\n\t if (!width)\n\t width = el.clientWidth || el.scrollWidth;\n\t var changes = this.$updateCachedSize(force, gutterWidth, width, height);\n\t\n\t \n\t if (!this.$size.scrollerHeight || (!width && !height))\n\t return this.resizing = 0;\n\t\n\t if (force)\n\t this.$gutterLayer.$padding = null;\n\t\n\t if (force)\n\t this.$renderChanges(changes | this.$changes, true);\n\t else\n\t this.$loop.schedule(changes | this.$changes);\n\t\n\t if (this.resizing)\n\t this.resizing = 0;\n\t this.scrollBarV.scrollLeft = this.scrollBarV.scrollTop = null;\n\t };\n\t \n\t this.$updateCachedSize = function(force, gutterWidth, width, height) {\n\t height -= (this.$extraHeight || 0);\n\t var changes = 0;\n\t var size = this.$size;\n\t var oldSize = {\n\t width: size.width,\n\t height: size.height,\n\t scrollerHeight: size.scrollerHeight,\n\t scrollerWidth: size.scrollerWidth\n\t };\n\t if (height && (force || size.height != height)) {\n\t size.height = height;\n\t changes |= this.CHANGE_SIZE;\n\t\n\t size.scrollerHeight = size.height;\n\t if (this.$horizScroll)\n\t size.scrollerHeight -= this.scrollBarH.getHeight();\n\t this.scrollBarV.element.style.bottom = this.scrollBarH.getHeight() + \"px\";\n\t\n\t changes = changes | this.CHANGE_SCROLL;\n\t }\n\t\n\t if (width && (force || size.width != width)) {\n\t changes |= this.CHANGE_SIZE;\n\t size.width = width;\n\t \n\t if (gutterWidth == null)\n\t gutterWidth = this.$showGutter ? this.$gutter.offsetWidth : 0;\n\t \n\t this.gutterWidth = gutterWidth;\n\t \n\t this.scrollBarH.element.style.left = \n\t this.scroller.style.left = gutterWidth + \"px\";\n\t size.scrollerWidth = Math.max(0, width - gutterWidth - this.scrollBarV.getWidth()); \n\t \n\t this.scrollBarH.element.style.right = \n\t this.scroller.style.right = this.scrollBarV.getWidth() + \"px\";\n\t this.scroller.style.bottom = this.scrollBarH.getHeight() + \"px\";\n\t\n\t if (this.session && this.session.getUseWrapMode() && this.adjustWrapLimit() || force)\n\t changes |= this.CHANGE_FULL;\n\t }\n\t \n\t size.$dirty = !width || !height;\n\t\n\t if (changes)\n\t this._signal(\"resize\", oldSize);\n\t\n\t return changes;\n\t };\n\t\n\t this.onGutterResize = function() {\n\t var gutterWidth = this.$showGutter ? this.$gutter.offsetWidth : 0;\n\t if (gutterWidth != this.gutterWidth)\n\t this.$changes |= this.$updateCachedSize(true, gutterWidth, this.$size.width, this.$size.height);\n\t\n\t if (this.session.getUseWrapMode() && this.adjustWrapLimit()) {\n\t this.$loop.schedule(this.CHANGE_FULL);\n\t } else if (this.$size.$dirty) {\n\t this.$loop.schedule(this.CHANGE_FULL);\n\t } else {\n\t this.$computeLayerConfig();\n\t this.$loop.schedule(this.CHANGE_MARKER);\n\t }\n\t };\n\t this.adjustWrapLimit = function() {\n\t var availableWidth = this.$size.scrollerWidth - this.$padding * 2;\n\t var limit = Math.floor(availableWidth / this.characterWidth);\n\t return this.session.adjustWrapLimit(limit, this.$showPrintMargin && this.$printMarginColumn);\n\t };\n\t this.setAnimatedScroll = function(shouldAnimate){\n\t this.setOption(\"animatedScroll\", shouldAnimate);\n\t };\n\t this.getAnimatedScroll = function() {\n\t return this.$animatedScroll;\n\t };\n\t this.setShowInvisibles = function(showInvisibles) {\n\t this.setOption(\"showInvisibles\", showInvisibles);\n\t };\n\t this.getShowInvisibles = function() {\n\t return this.getOption(\"showInvisibles\");\n\t };\n\t this.getDisplayIndentGuides = function() {\n\t return this.getOption(\"displayIndentGuides\");\n\t };\n\t\n\t this.setDisplayIndentGuides = function(display) {\n\t this.setOption(\"displayIndentGuides\", display);\n\t };\n\t this.setShowPrintMargin = function(showPrintMargin) {\n\t this.setOption(\"showPrintMargin\", showPrintMargin);\n\t };\n\t this.getShowPrintMargin = function() {\n\t return this.getOption(\"showPrintMargin\");\n\t };\n\t this.setPrintMarginColumn = function(showPrintMargin) {\n\t this.setOption(\"printMarginColumn\", showPrintMargin);\n\t };\n\t this.getPrintMarginColumn = function() {\n\t return this.getOption(\"printMarginColumn\");\n\t };\n\t this.getShowGutter = function(){\n\t return this.getOption(\"showGutter\");\n\t };\n\t this.setShowGutter = function(show){\n\t return this.setOption(\"showGutter\", show);\n\t };\n\t\n\t this.getFadeFoldWidgets = function(){\n\t return this.getOption(\"fadeFoldWidgets\")\n\t };\n\t\n\t this.setFadeFoldWidgets = function(show) {\n\t this.setOption(\"fadeFoldWidgets\", show);\n\t };\n\t\n\t this.setHighlightGutterLine = function(shouldHighlight) {\n\t this.setOption(\"highlightGutterLine\", shouldHighlight);\n\t };\n\t\n\t this.getHighlightGutterLine = function() {\n\t return this.getOption(\"highlightGutterLine\");\n\t };\n\t\n\t this.$updateGutterLineHighlight = function() {\n\t var pos = this.$cursorLayer.$pixelPos;\n\t var height = this.layerConfig.lineHeight;\n\t if (this.session.getUseWrapMode()) {\n\t var cursor = this.session.selection.getCursor();\n\t cursor.column = 0;\n\t pos = this.$cursorLayer.getPixelPosition(cursor, true);\n\t height *= this.session.getRowLength(cursor.row);\n\t }\n\t this.$gutterLineHighlight.style.top = pos.top - this.layerConfig.offset + \"px\";\n\t this.$gutterLineHighlight.style.height = height + \"px\";\n\t };\n\t\n\t this.$updatePrintMargin = function() {\n\t if (!this.$showPrintMargin && !this.$printMarginEl)\n\t return;\n\t\n\t if (!this.$printMarginEl) {\n\t var containerEl = dom.createElement(\"div\");\n\t containerEl.className = \"ace_layer ace_print-margin-layer\";\n\t this.$printMarginEl = dom.createElement(\"div\");\n\t this.$printMarginEl.className = \"ace_print-margin\";\n\t containerEl.appendChild(this.$printMarginEl);\n\t this.content.insertBefore(containerEl, this.content.firstChild);\n\t }\n\t\n\t var style = this.$printMarginEl.style;\n\t style.left = ((this.characterWidth * this.$printMarginColumn) + this.$padding) + \"px\";\n\t style.visibility = this.$showPrintMargin ? \"visible\" : \"hidden\";\n\t \n\t if (this.session && this.session.$wrap == -1)\n\t this.adjustWrapLimit();\n\t };\n\t this.getContainerElement = function() {\n\t return this.container;\n\t };\n\t this.getMouseEventTarget = function() {\n\t return this.scroller;\n\t };\n\t this.getTextAreaContainer = function() {\n\t return this.container;\n\t };\n\t this.$moveTextAreaToCursor = function() {\n\t if (!this.$keepTextAreaAtCursor)\n\t return;\n\t var config = this.layerConfig;\n\t var posTop = this.$cursorLayer.$pixelPos.top;\n\t var posLeft = this.$cursorLayer.$pixelPos.left;\n\t posTop -= config.offset;\n\t\n\t var style = this.textarea.style;\n\t var h = this.lineHeight;\n\t if (posTop < 0 || posTop > config.height - h) {\n\t style.top = style.left = \"0\";\n\t return;\n\t }\n\t\n\t var w = this.characterWidth;\n\t if (this.$composition) {\n\t var val = this.textarea.value.replace(/^\\x01+/, \"\");\n\t w *= (this.session.$getStringScreenWidth(val)[0]+2);\n\t h += 2;\n\t }\n\t posLeft -= this.scrollLeft;\n\t if (posLeft > this.$size.scrollerWidth - w)\n\t posLeft = this.$size.scrollerWidth - w;\n\t\n\t posLeft += this.gutterWidth;\n\t style.height = h + \"px\";\n\t style.width = w + \"px\";\n\t style.left = Math.min(posLeft, this.$size.scrollerWidth - w) + \"px\";\n\t style.top = Math.min(posTop, this.$size.height - h) + \"px\";\n\t };\n\t this.getFirstVisibleRow = function() {\n\t return this.layerConfig.firstRow;\n\t };\n\t this.getFirstFullyVisibleRow = function() {\n\t return this.layerConfig.firstRow + (this.layerConfig.offset === 0 ? 0 : 1);\n\t };\n\t this.getLastFullyVisibleRow = function() {\n\t var config = this.layerConfig;\n\t var lastRow = config.lastRow\n\t var top = this.session.documentToScreenRow(lastRow, 0) * config.lineHeight;\n\t if (top - this.session.getScrollTop() > config.height - config.lineHeight)\n\t return lastRow - 1;\n\t return lastRow;\n\t };\n\t this.getLastVisibleRow = function() {\n\t return this.layerConfig.lastRow;\n\t };\n\t\n\t this.$padding = null;\n\t this.setPadding = function(padding) {\n\t this.$padding = padding;\n\t this.$textLayer.setPadding(padding);\n\t this.$cursorLayer.setPadding(padding);\n\t this.$markerFront.setPadding(padding);\n\t this.$markerBack.setPadding(padding);\n\t this.$loop.schedule(this.CHANGE_FULL);\n\t this.$updatePrintMargin();\n\t };\n\t \n\t this.setScrollMargin = function(top, bottom, left, right) {\n\t var sm = this.scrollMargin;\n\t sm.top = top|0;\n\t sm.bottom = bottom|0;\n\t sm.right = right|0;\n\t sm.left = left|0;\n\t sm.v = sm.top + sm.bottom;\n\t sm.h = sm.left + sm.right;\n\t if (sm.top && this.scrollTop <= 0 && this.session)\n\t this.session.setScrollTop(-sm.top);\n\t this.updateFull();\n\t };\n\t this.getHScrollBarAlwaysVisible = function() {\n\t return this.$hScrollBarAlwaysVisible;\n\t };\n\t this.setHScrollBarAlwaysVisible = function(alwaysVisible) {\n\t this.setOption(\"hScrollBarAlwaysVisible\", alwaysVisible);\n\t };\n\t this.getVScrollBarAlwaysVisible = function() {\n\t return this.$vScrollBarAlwaysVisible;\n\t };\n\t this.setVScrollBarAlwaysVisible = function(alwaysVisible) {\n\t this.setOption(\"vScrollBarAlwaysVisible\", alwaysVisible);\n\t };\n\t\n\t this.$updateScrollBarV = function() {\n\t var scrollHeight = this.layerConfig.maxHeight;\n\t var scrollerHeight = this.$size.scrollerHeight;\n\t if (!this.$maxLines && this.$scrollPastEnd) {\n\t scrollHeight -= (scrollerHeight - this.lineHeight) * this.$scrollPastEnd;\n\t if (this.scrollTop > scrollHeight - scrollerHeight) {\n\t scrollHeight = this.scrollTop + scrollerHeight;\n\t this.scrollBarV.scrollTop = null;\n\t }\n\t }\n\t this.scrollBarV.setScrollHeight(scrollHeight + this.scrollMargin.v);\n\t this.scrollBarV.setScrollTop(this.scrollTop + this.scrollMargin.top);\n\t };\n\t this.$updateScrollBarH = function() {\n\t this.scrollBarH.setScrollWidth(this.layerConfig.width + 2 * this.$padding + this.scrollMargin.h);\n\t this.scrollBarH.setScrollLeft(this.scrollLeft + this.scrollMargin.left);\n\t };\n\t \n\t this.$frozen = false;\n\t this.freeze = function() {\n\t this.$frozen = true;\n\t };\n\t \n\t this.unfreeze = function() {\n\t this.$frozen = false;\n\t };\n\t\n\t this.$renderChanges = function(changes, force) {\n\t if (this.$changes) {\n\t changes |= this.$changes;\n\t this.$changes = 0;\n\t }\n\t if ((!this.session || !this.container.offsetWidth || this.$frozen) || (!changes && !force)) {\n\t this.$changes |= changes;\n\t return; \n\t } \n\t if (this.$size.$dirty) {\n\t this.$changes |= changes;\n\t return this.onResize(true);\n\t }\n\t if (!this.lineHeight) {\n\t this.$textLayer.checkForSizeChanges();\n\t }\n\t \n\t this._signal(\"beforeRender\");\n\t var config = this.layerConfig;\n\t if (changes & this.CHANGE_FULL ||\n\t changes & this.CHANGE_SIZE ||\n\t changes & this.CHANGE_TEXT ||\n\t changes & this.CHANGE_LINES ||\n\t changes & this.CHANGE_SCROLL ||\n\t changes & this.CHANGE_H_SCROLL\n\t ) {\n\t changes |= this.$computeLayerConfig();\n\t if (config.firstRow != this.layerConfig.firstRow && config.firstRowScreen == this.layerConfig.firstRowScreen) {\n\t var st = this.scrollTop + (config.firstRow - this.layerConfig.firstRow) * this.lineHeight;\n\t if (st > 0) {\n\t this.scrollTop = st;\n\t changes = changes | this.CHANGE_SCROLL;\n\t changes |= this.$computeLayerConfig();\n\t }\n\t }\n\t config = this.layerConfig;\n\t this.$updateScrollBarV();\n\t if (changes & this.CHANGE_H_SCROLL)\n\t this.$updateScrollBarH();\n\t this.$gutterLayer.element.style.marginTop = (-config.offset) + \"px\";\n\t this.content.style.marginTop = (-config.offset) + \"px\";\n\t this.content.style.width = config.width + 2 * this.$padding + \"px\";\n\t this.content.style.height = config.minHeight + \"px\";\n\t }\n\t if (changes & this.CHANGE_H_SCROLL) {\n\t this.content.style.marginLeft = -this.scrollLeft + \"px\";\n\t this.scroller.className = this.scrollLeft <= 0 ? \"ace_scroller\" : \"ace_scroller ace_scroll-left\";\n\t }\n\t if (changes & this.CHANGE_FULL) {\n\t this.$textLayer.update(config);\n\t if (this.$showGutter)\n\t this.$gutterLayer.update(config);\n\t this.$markerBack.update(config);\n\t this.$markerFront.update(config);\n\t this.$cursorLayer.update(config);\n\t this.$moveTextAreaToCursor();\n\t this.$highlightGutterLine && this.$updateGutterLineHighlight();\n\t this._signal(\"afterRender\");\n\t return;\n\t }\n\t if (changes & this.CHANGE_SCROLL) {\n\t if (changes & this.CHANGE_TEXT || changes & this.CHANGE_LINES)\n\t this.$textLayer.update(config);\n\t else\n\t this.$textLayer.scrollLines(config);\n\t\n\t if (this.$showGutter)\n\t this.$gutterLayer.update(config);\n\t this.$markerBack.update(config);\n\t this.$markerFront.update(config);\n\t this.$cursorLayer.update(config);\n\t this.$highlightGutterLine && this.$updateGutterLineHighlight();\n\t this.$moveTextAreaToCursor();\n\t this._signal(\"afterRender\");\n\t return;\n\t }\n\t\n\t if (changes & this.CHANGE_TEXT) {\n\t this.$textLayer.update(config);\n\t if (this.$showGutter)\n\t this.$gutterLayer.update(config);\n\t }\n\t else if (changes & this.CHANGE_LINES) {\n\t if (this.$updateLines() || (changes & this.CHANGE_GUTTER) && this.$showGutter)\n\t this.$gutterLayer.update(config);\n\t }\n\t else if (changes & this.CHANGE_TEXT || changes & this.CHANGE_GUTTER) {\n\t if (this.$showGutter)\n\t this.$gutterLayer.update(config);\n\t }\n\t\n\t if (changes & this.CHANGE_CURSOR) {\n\t this.$cursorLayer.update(config);\n\t this.$moveTextAreaToCursor();\n\t this.$highlightGutterLine && this.$updateGutterLineHighlight();\n\t }\n\t\n\t if (changes & (this.CHANGE_MARKER | this.CHANGE_MARKER_FRONT)) {\n\t this.$markerFront.update(config);\n\t }\n\t\n\t if (changes & (this.CHANGE_MARKER | this.CHANGE_MARKER_BACK)) {\n\t this.$markerBack.update(config);\n\t }\n\t\n\t this._signal(\"afterRender\");\n\t };\n\t\n\t \n\t this.$autosize = function() {\n\t var height = this.session.getScreenLength() * this.lineHeight;\n\t var maxHeight = this.$maxLines * this.lineHeight;\n\t var desiredHeight = Math.max(\n\t (this.$minLines||1) * this.lineHeight,\n\t Math.min(maxHeight, height)\n\t ) + this.scrollMargin.v + (this.$extraHeight || 0);\n\t if (this.$horizScroll)\n\t desiredHeight += this.scrollBarH.getHeight();\n\t var vScroll = height > maxHeight;\n\t \n\t if (desiredHeight != this.desiredHeight ||\n\t this.$size.height != this.desiredHeight || vScroll != this.$vScroll) {\n\t if (vScroll != this.$vScroll) {\n\t this.$vScroll = vScroll;\n\t this.scrollBarV.setVisible(vScroll);\n\t }\n\t \n\t var w = this.container.clientWidth;\n\t this.container.style.height = desiredHeight + \"px\";\n\t this.$updateCachedSize(true, this.$gutterWidth, w, desiredHeight);\n\t this.desiredHeight = desiredHeight;\n\t \n\t this._signal(\"autosize\");\n\t }\n\t };\n\t \n\t this.$computeLayerConfig = function() {\n\t var session = this.session;\n\t var size = this.$size;\n\t \n\t var hideScrollbars = size.height <= 2 * this.lineHeight;\n\t var screenLines = this.session.getScreenLength();\n\t var maxHeight = screenLines * this.lineHeight;\n\t\n\t var longestLine = this.$getLongestLine();\n\t \n\t var horizScroll = !hideScrollbars && (this.$hScrollBarAlwaysVisible ||\n\t size.scrollerWidth - longestLine - 2 * this.$padding < 0);\n\t\n\t var hScrollChanged = this.$horizScroll !== horizScroll;\n\t if (hScrollChanged) {\n\t this.$horizScroll = horizScroll;\n\t this.scrollBarH.setVisible(horizScroll);\n\t }\n\t var vScrollBefore = this.$vScroll; // autosize can change vscroll value in which case we need to update longestLine\n\t if (this.$maxLines && this.lineHeight > 1)\n\t this.$autosize();\n\t\n\t var offset = this.scrollTop % this.lineHeight;\n\t var minHeight = size.scrollerHeight + this.lineHeight;\n\t \n\t var scrollPastEnd = !this.$maxLines && this.$scrollPastEnd\n\t ? (size.scrollerHeight - this.lineHeight) * this.$scrollPastEnd\n\t : 0;\n\t maxHeight += scrollPastEnd;\n\t \n\t var sm = this.scrollMargin;\n\t this.session.setScrollTop(Math.max(-sm.top,\n\t Math.min(this.scrollTop, maxHeight - size.scrollerHeight + sm.bottom)));\n\t\n\t this.session.setScrollLeft(Math.max(-sm.left, Math.min(this.scrollLeft, \n\t longestLine + 2 * this.$padding - size.scrollerWidth + sm.right)));\n\t \n\t var vScroll = !hideScrollbars && (this.$vScrollBarAlwaysVisible ||\n\t size.scrollerHeight - maxHeight + scrollPastEnd < 0 || this.scrollTop > sm.top);\n\t var vScrollChanged = vScrollBefore !== vScroll;\n\t if (vScrollChanged) {\n\t this.$vScroll = vScroll;\n\t this.scrollBarV.setVisible(vScroll);\n\t }\n\t\n\t var lineCount = Math.ceil(minHeight / this.lineHeight) - 1;\n\t var firstRow = Math.max(0, Math.round((this.scrollTop - offset) / this.lineHeight));\n\t var lastRow = firstRow + lineCount;\n\t var firstRowScreen, firstRowHeight;\n\t var lineHeight = this.lineHeight;\n\t firstRow = session.screenToDocumentRow(firstRow, 0);\n\t var foldLine = session.getFoldLine(firstRow);\n\t if (foldLine) {\n\t firstRow = foldLine.start.row;\n\t }\n\t\n\t firstRowScreen = session.documentToScreenRow(firstRow, 0);\n\t firstRowHeight = session.getRowLength(firstRow) * lineHeight;\n\t\n\t lastRow = Math.min(session.screenToDocumentRow(lastRow, 0), session.getLength() - 1);\n\t minHeight = size.scrollerHeight + session.getRowLength(lastRow) * lineHeight +\n\t firstRowHeight;\n\t\n\t offset = this.scrollTop - firstRowScreen * lineHeight;\n\t\n\t var changes = 0;\n\t if (this.layerConfig.width != longestLine) \n\t changes = this.CHANGE_H_SCROLL;\n\t if (hScrollChanged || vScrollChanged) {\n\t changes = this.$updateCachedSize(true, this.gutterWidth, size.width, size.height);\n\t this._signal(\"scrollbarVisibilityChanged\");\n\t if (vScrollChanged)\n\t longestLine = this.$getLongestLine();\n\t }\n\t \n\t this.layerConfig = {\n\t width : longestLine,\n\t padding : this.$padding,\n\t firstRow : firstRow,\n\t firstRowScreen: firstRowScreen,\n\t lastRow : lastRow,\n\t lineHeight : lineHeight,\n\t characterWidth : this.characterWidth,\n\t minHeight : minHeight,\n\t maxHeight : maxHeight,\n\t offset : offset,\n\t gutterOffset : Math.max(0, Math.ceil((offset + size.height - size.scrollerHeight) / lineHeight)),\n\t height : this.$size.scrollerHeight\n\t };\n\t\n\t return changes;\n\t };\n\t\n\t this.$updateLines = function() {\n\t var firstRow = this.$changedLines.firstRow;\n\t var lastRow = this.$changedLines.lastRow;\n\t this.$changedLines = null;\n\t\n\t var layerConfig = this.layerConfig;\n\t\n\t if (firstRow > layerConfig.lastRow + 1) { return; }\n\t if (lastRow < layerConfig.firstRow) { return; }\n\t if (lastRow === Infinity) {\n\t if (this.$showGutter)\n\t this.$gutterLayer.update(layerConfig);\n\t this.$textLayer.update(layerConfig);\n\t return;\n\t }\n\t this.$textLayer.updateLines(layerConfig, firstRow, lastRow);\n\t return true;\n\t };\n\t\n\t this.$getLongestLine = function() {\n\t var charCount = this.session.getScreenWidth();\n\t if (this.showInvisibles && !this.session.$useWrapMode)\n\t charCount += 1;\n\t\n\t return Math.max(this.$size.scrollerWidth - 2 * this.$padding, Math.round(charCount * this.characterWidth));\n\t };\n\t this.updateFrontMarkers = function() {\n\t this.$markerFront.setMarkers(this.session.getMarkers(true));\n\t this.$loop.schedule(this.CHANGE_MARKER_FRONT);\n\t };\n\t this.updateBackMarkers = function() {\n\t this.$markerBack.setMarkers(this.session.getMarkers());\n\t this.$loop.schedule(this.CHANGE_MARKER_BACK);\n\t };\n\t this.addGutterDecoration = function(row, className){\n\t this.$gutterLayer.addGutterDecoration(row, className);\n\t };\n\t this.removeGutterDecoration = function(row, className){\n\t this.$gutterLayer.removeGutterDecoration(row, className);\n\t };\n\t this.updateBreakpoints = function(rows) {\n\t this.$loop.schedule(this.CHANGE_GUTTER);\n\t };\n\t this.setAnnotations = function(annotations) {\n\t this.$gutterLayer.setAnnotations(annotations);\n\t this.$loop.schedule(this.CHANGE_GUTTER);\n\t };\n\t this.updateCursor = function() {\n\t this.$loop.schedule(this.CHANGE_CURSOR);\n\t };\n\t this.hideCursor = function() {\n\t this.$cursorLayer.hideCursor();\n\t };\n\t this.showCursor = function() {\n\t this.$cursorLayer.showCursor();\n\t };\n\t\n\t this.scrollSelectionIntoView = function(anchor, lead, offset) {\n\t this.scrollCursorIntoView(anchor, offset);\n\t this.scrollCursorIntoView(lead, offset);\n\t };\n\t this.scrollCursorIntoView = function(cursor, offset, $viewMargin) {\n\t if (this.$size.scrollerHeight === 0)\n\t return;\n\t\n\t var pos = this.$cursorLayer.getPixelPosition(cursor);\n\t\n\t var left = pos.left;\n\t var top = pos.top;\n\t \n\t var topMargin = $viewMargin && $viewMargin.top || 0;\n\t var bottomMargin = $viewMargin && $viewMargin.bottom || 0;\n\t \n\t var scrollTop = this.$scrollAnimation ? this.session.getScrollTop() : this.scrollTop;\n\t \n\t if (scrollTop + topMargin > top) {\n\t if (offset && scrollTop + topMargin > top + this.lineHeight)\n\t top -= offset * this.$size.scrollerHeight;\n\t if (top === 0)\n\t top = -this.scrollMargin.top;\n\t this.session.setScrollTop(top);\n\t } else if (scrollTop + this.$size.scrollerHeight - bottomMargin < top + this.lineHeight) {\n\t if (offset && scrollTop + this.$size.scrollerHeight - bottomMargin < top - this.lineHeight)\n\t top += offset * this.$size.scrollerHeight;\n\t this.session.setScrollTop(top + this.lineHeight - this.$size.scrollerHeight);\n\t }\n\t\n\t var scrollLeft = this.scrollLeft;\n\t\n\t if (scrollLeft > left) {\n\t if (left < this.$padding + 2 * this.layerConfig.characterWidth)\n\t left = -this.scrollMargin.left;\n\t this.session.setScrollLeft(left);\n\t } else if (scrollLeft + this.$size.scrollerWidth < left + this.characterWidth) {\n\t this.session.setScrollLeft(Math.round(left + this.characterWidth - this.$size.scrollerWidth));\n\t } else if (scrollLeft <= this.$padding && left - scrollLeft < this.characterWidth) {\n\t this.session.setScrollLeft(0);\n\t }\n\t };\n\t this.getScrollTop = function() {\n\t return this.session.getScrollTop();\n\t };\n\t this.getScrollLeft = function() {\n\t return this.session.getScrollLeft();\n\t };\n\t this.getScrollTopRow = function() {\n\t return this.scrollTop / this.lineHeight;\n\t };\n\t this.getScrollBottomRow = function() {\n\t return Math.max(0, Math.floor((this.scrollTop + this.$size.scrollerHeight) / this.lineHeight) - 1);\n\t };\n\t this.scrollToRow = function(row) {\n\t this.session.setScrollTop(row * this.lineHeight);\n\t };\n\t\n\t this.alignCursor = function(cursor, alignment) {\n\t if (typeof cursor == \"number\")\n\t cursor = {row: cursor, column: 0};\n\t\n\t var pos = this.$cursorLayer.getPixelPosition(cursor);\n\t var h = this.$size.scrollerHeight - this.lineHeight;\n\t var offset = pos.top - h * (alignment || 0);\n\t\n\t this.session.setScrollTop(offset);\n\t return offset;\n\t };\n\t\n\t this.STEPS = 8;\n\t this.$calcSteps = function(fromValue, toValue){\n\t var i = 0;\n\t var l = this.STEPS;\n\t var steps = [];\n\t\n\t var func = function(t, x_min, dx) {\n\t return dx * (Math.pow(t - 1, 3) + 1) + x_min;\n\t };\n\t\n\t for (i = 0; i < l; ++i)\n\t steps.push(func(i / this.STEPS, fromValue, toValue - fromValue));\n\t\n\t return steps;\n\t };\n\t this.scrollToLine = function(line, center, animate, callback) {\n\t var pos = this.$cursorLayer.getPixelPosition({row: line, column: 0});\n\t var offset = pos.top;\n\t if (center)\n\t offset -= this.$size.scrollerHeight / 2;\n\t\n\t var initialScroll = this.scrollTop;\n\t this.session.setScrollTop(offset);\n\t if (animate !== false)\n\t this.animateScrolling(initialScroll, callback);\n\t };\n\t\n\t this.animateScrolling = function(fromValue, callback) {\n\t var toValue = this.scrollTop;\n\t if (!this.$animatedScroll)\n\t return;\n\t var _self = this;\n\t \n\t if (fromValue == toValue)\n\t return;\n\t \n\t if (this.$scrollAnimation) {\n\t var oldSteps = this.$scrollAnimation.steps;\n\t if (oldSteps.length) {\n\t fromValue = oldSteps[0];\n\t if (fromValue == toValue)\n\t return;\n\t }\n\t }\n\t \n\t var steps = _self.$calcSteps(fromValue, toValue);\n\t this.$scrollAnimation = {from: fromValue, to: toValue, steps: steps};\n\t\n\t clearInterval(this.$timer);\n\t\n\t _self.session.setScrollTop(steps.shift());\n\t _self.session.$scrollTop = toValue;\n\t this.$timer = setInterval(function() {\n\t if (steps.length) {\n\t _self.session.setScrollTop(steps.shift());\n\t _self.session.$scrollTop = toValue;\n\t } else if (toValue != null) {\n\t _self.session.$scrollTop = -1;\n\t _self.session.setScrollTop(toValue);\n\t toValue = null;\n\t } else {\n\t _self.$timer = clearInterval(_self.$timer);\n\t _self.$scrollAnimation = null;\n\t callback && callback();\n\t }\n\t }, 10);\n\t };\n\t this.scrollToY = function(scrollTop) {\n\t if (this.scrollTop !== scrollTop) {\n\t this.$loop.schedule(this.CHANGE_SCROLL);\n\t this.scrollTop = scrollTop;\n\t }\n\t };\n\t this.scrollToX = function(scrollLeft) {\n\t if (this.scrollLeft !== scrollLeft)\n\t this.scrollLeft = scrollLeft;\n\t this.$loop.schedule(this.CHANGE_H_SCROLL);\n\t };\n\t this.scrollTo = function(x, y) {\n\t this.session.setScrollTop(y);\n\t this.session.setScrollLeft(y);\n\t };\n\t this.scrollBy = function(deltaX, deltaY) {\n\t deltaY && this.session.setScrollTop(this.session.getScrollTop() + deltaY);\n\t deltaX && this.session.setScrollLeft(this.session.getScrollLeft() + deltaX);\n\t };\n\t this.isScrollableBy = function(deltaX, deltaY) {\n\t if (deltaY < 0 && this.session.getScrollTop() >= 1 - this.scrollMargin.top)\n\t return true;\n\t if (deltaY > 0 && this.session.getScrollTop() + this.$size.scrollerHeight\n\t - this.layerConfig.maxHeight < -1 + this.scrollMargin.bottom)\n\t return true;\n\t if (deltaX < 0 && this.session.getScrollLeft() >= 1 - this.scrollMargin.left)\n\t return true;\n\t if (deltaX > 0 && this.session.getScrollLeft() + this.$size.scrollerWidth\n\t - this.layerConfig.width < -1 + this.scrollMargin.right)\n\t return true;\n\t };\n\t\n\t this.pixelToScreenCoordinates = function(x, y) {\n\t var canvasPos = this.scroller.getBoundingClientRect();\n\t\n\t var offset = (x + this.scrollLeft - canvasPos.left - this.$padding) / this.characterWidth;\n\t var row = Math.floor((y + this.scrollTop - canvasPos.top) / this.lineHeight);\n\t var col = Math.round(offset);\n\t\n\t return {row: row, column: col, side: offset - col > 0 ? 1 : -1};\n\t };\n\t\n\t this.screenToTextCoordinates = function(x, y) {\n\t var canvasPos = this.scroller.getBoundingClientRect();\n\t\n\t var col = Math.round(\n\t (x + this.scrollLeft - canvasPos.left - this.$padding) / this.characterWidth\n\t );\n\t\n\t var row = (y + this.scrollTop - canvasPos.top) / this.lineHeight;\n\t\n\t return this.session.screenToDocumentPosition(row, Math.max(col, 0));\n\t };\n\t this.textToScreenCoordinates = function(row, column) {\n\t var canvasPos = this.scroller.getBoundingClientRect();\n\t var pos = this.session.documentToScreenPosition(row, column);\n\t\n\t var x = this.$padding + Math.round(pos.column * this.characterWidth);\n\t var y = pos.row * this.lineHeight;\n\t\n\t return {\n\t pageX: canvasPos.left + x - this.scrollLeft,\n\t pageY: canvasPos.top + y - this.scrollTop\n\t };\n\t };\n\t this.visualizeFocus = function() {\n\t dom.addCssClass(this.container, \"ace_focus\");\n\t };\n\t this.visualizeBlur = function() {\n\t dom.removeCssClass(this.container, \"ace_focus\");\n\t };\n\t this.showComposition = function(position) {\n\t if (!this.$composition)\n\t this.$composition = {\n\t keepTextAreaAtCursor: this.$keepTextAreaAtCursor,\n\t cssText: this.textarea.style.cssText\n\t };\n\t\n\t this.$keepTextAreaAtCursor = true;\n\t dom.addCssClass(this.textarea, \"ace_composition\");\n\t this.textarea.style.cssText = \"\";\n\t this.$moveTextAreaToCursor();\n\t };\n\t this.setCompositionText = function(text) {\n\t this.$moveTextAreaToCursor();\n\t };\n\t this.hideComposition = function() {\n\t if (!this.$composition)\n\t return;\n\t\n\t dom.removeCssClass(this.textarea, \"ace_composition\");\n\t this.$keepTextAreaAtCursor = this.$composition.keepTextAreaAtCursor;\n\t this.textarea.style.cssText = this.$composition.cssText;\n\t this.$composition = null;\n\t };\n\t this.setTheme = function(theme, cb) {\n\t var _self = this;\n\t this.$themeId = theme;\n\t _self._dispatchEvent('themeChange',{theme:theme});\n\t\n\t if (!theme || typeof theme == \"string\") {\n\t var moduleName = theme || this.$options.theme.initialValue;\n\t config.loadModule([\"theme\", moduleName], afterLoad);\n\t } else {\n\t afterLoad(theme);\n\t }\n\t\n\t function afterLoad(module) {\n\t if (_self.$themeId != theme)\n\t return cb && cb();\n\t if (!module.cssClass)\n\t return;\n\t dom.importCssString(\n\t module.cssText,\n\t module.cssClass,\n\t _self.container.ownerDocument\n\t );\n\t\n\t if (_self.theme)\n\t dom.removeCssClass(_self.container, _self.theme.cssClass);\n\t\n\t var padding = \"padding\" in module ? module.padding \n\t : \"padding\" in (_self.theme || {}) ? 4 : _self.$padding;\n\t if (_self.$padding && padding != _self.$padding)\n\t _self.setPadding(padding);\n\t _self.$theme = module.cssClass;\n\t\n\t _self.theme = module;\n\t dom.addCssClass(_self.container, module.cssClass);\n\t dom.setCssClass(_self.container, \"ace_dark\", module.isDark);\n\t if (_self.$size) {\n\t _self.$size.width = 0;\n\t _self.$updateSizeAsync();\n\t }\n\t\n\t _self._dispatchEvent('themeLoaded', {theme:module});\n\t cb && cb();\n\t }\n\t };\n\t this.getTheme = function() {\n\t return this.$themeId;\n\t };\n\t this.setStyle = function(style, include) {\n\t dom.setCssClass(this.container, style, include !== false);\n\t };\n\t this.unsetStyle = function(style) {\n\t dom.removeCssClass(this.container, style);\n\t };\n\t \n\t this.setCursorStyle = function(style) {\n\t if (this.scroller.style.cursor != style)\n\t this.scroller.style.cursor = style;\n\t };\n\t this.setMouseCursor = function(cursorStyle) {\n\t this.scroller.style.cursor = cursorStyle;\n\t };\n\t this.destroy = function() {\n\t this.$textLayer.destroy();\n\t this.$cursorLayer.destroy();\n\t };\n\t\n\t}).call(VirtualRenderer.prototype);\n\t\n\t\n\tconfig.defineOptions(VirtualRenderer.prototype, \"renderer\", {\n\t animatedScroll: {initialValue: false},\n\t showInvisibles: {\n\t set: function(value) {\n\t if (this.$textLayer.setShowInvisibles(value))\n\t this.$loop.schedule(this.CHANGE_TEXT);\n\t },\n\t initialValue: false\n\t },\n\t showPrintMargin: {\n\t set: function() { this.$updatePrintMargin(); },\n\t initialValue: true\n\t },\n\t printMarginColumn: {\n\t set: function() { this.$updatePrintMargin(); },\n\t initialValue: 80\n\t },\n\t printMargin: {\n\t set: function(val) {\n\t if (typeof val == \"number\")\n\t this.$printMarginColumn = val;\n\t this.$showPrintMargin = !!val;\n\t this.$updatePrintMargin();\n\t },\n\t get: function() {\n\t return this.$showPrintMargin && this.$printMarginColumn; \n\t }\n\t },\n\t showGutter: {\n\t set: function(show){\n\t this.$gutter.style.display = show ? \"block\" : \"none\";\n\t this.$loop.schedule(this.CHANGE_FULL);\n\t this.onGutterResize();\n\t },\n\t initialValue: true\n\t },\n\t fadeFoldWidgets: {\n\t set: function(show) {\n\t dom.setCssClass(this.$gutter, \"ace_fade-fold-widgets\", show);\n\t },\n\t initialValue: false\n\t },\n\t showFoldWidgets: {\n\t set: function(show) {this.$gutterLayer.setShowFoldWidgets(show)},\n\t initialValue: true\n\t },\n\t showLineNumbers: {\n\t set: function(show) {\n\t this.$gutterLayer.setShowLineNumbers(show);\n\t this.$loop.schedule(this.CHANGE_GUTTER);\n\t },\n\t initialValue: true\n\t },\n\t displayIndentGuides: {\n\t set: function(show) {\n\t if (this.$textLayer.setDisplayIndentGuides(show))\n\t this.$loop.schedule(this.CHANGE_TEXT);\n\t },\n\t initialValue: true\n\t },\n\t highlightGutterLine: {\n\t set: function(shouldHighlight) {\n\t if (!this.$gutterLineHighlight) {\n\t this.$gutterLineHighlight = dom.createElement(\"div\");\n\t this.$gutterLineHighlight.className = \"ace_gutter-active-line\";\n\t this.$gutter.appendChild(this.$gutterLineHighlight);\n\t return;\n\t }\n\t\n\t this.$gutterLineHighlight.style.display = shouldHighlight ? \"\" : \"none\";\n\t if (this.$cursorLayer.$pixelPos)\n\t this.$updateGutterLineHighlight();\n\t },\n\t initialValue: false,\n\t value: true\n\t },\n\t hScrollBarAlwaysVisible: {\n\t set: function(val) {\n\t if (!this.$hScrollBarAlwaysVisible || !this.$horizScroll)\n\t this.$loop.schedule(this.CHANGE_SCROLL);\n\t },\n\t initialValue: false\n\t },\n\t vScrollBarAlwaysVisible: {\n\t set: function(val) {\n\t if (!this.$vScrollBarAlwaysVisible || !this.$vScroll)\n\t this.$loop.schedule(this.CHANGE_SCROLL);\n\t },\n\t initialValue: false\n\t },\n\t fontSize: {\n\t set: function(size) {\n\t if (typeof size == \"number\")\n\t size = size + \"px\";\n\t this.container.style.fontSize = size;\n\t this.updateFontSize();\n\t },\n\t initialValue: 12\n\t },\n\t fontFamily: {\n\t set: function(name) {\n\t this.container.style.fontFamily = name;\n\t this.updateFontSize();\n\t }\n\t },\n\t maxLines: {\n\t set: function(val) {\n\t this.updateFull();\n\t }\n\t },\n\t minLines: {\n\t set: function(val) {\n\t this.updateFull();\n\t }\n\t },\n\t scrollPastEnd: {\n\t set: function(val) {\n\t val = +val || 0;\n\t if (this.$scrollPastEnd == val)\n\t return;\n\t this.$scrollPastEnd = val;\n\t this.$loop.schedule(this.CHANGE_SCROLL);\n\t },\n\t initialValue: 0,\n\t handlesSet: true\n\t },\n\t fixedWidthGutter: {\n\t set: function(val) {\n\t this.$gutterLayer.$fixedWidth = !!val;\n\t this.$loop.schedule(this.CHANGE_GUTTER);\n\t }\n\t },\n\t theme: {\n\t set: function(val) { this.setTheme(val) },\n\t get: function() { return this.$themeId || this.theme; },\n\t initialValue: \"./theme/textmate\",\n\t handlesSet: true\n\t }\n\t});\n\t\n\texports.VirtualRenderer = VirtualRenderer;\n\t});\n\t\n\tace.define(\"ace/worker/worker_client\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/lib/net\",\"ace/lib/event_emitter\",\"ace/config\"], function(acequire, exports, module) {\n\t\"use strict\";\n\t\n\tvar oop = acequire(\"../lib/oop\");\n\tvar net = acequire(\"../lib/net\");\n\tvar EventEmitter = acequire(\"../lib/event_emitter\").EventEmitter;\n\tvar config = acequire(\"../config\");\n\t\n\tvar WorkerClient = function(topLevelNamespaces, mod, classname, workerUrl) {\n\t this.$sendDeltaQueue = this.$sendDeltaQueue.bind(this);\n\t this.changeListener = this.changeListener.bind(this);\n\t this.onMessage = this.onMessage.bind(this);\n\t if (acequire.nameToUrl && !acequire.toUrl)\n\t acequire.toUrl = acequire.nameToUrl;\n\t \n\t if (config.get(\"packaged\") || !acequire.toUrl) {\n\t workerUrl = workerUrl || config.moduleUrl(mod.id, \"worker\")\n\t } else {\n\t var normalizePath = this.$normalizePath;\n\t workerUrl = workerUrl || normalizePath(acequire.toUrl(\"ace/worker/worker.js\", null, \"_\"));\n\t\n\t var tlns = {};\n\t topLevelNamespaces.forEach(function(ns) {\n\t tlns[ns] = normalizePath(acequire.toUrl(ns, null, \"_\").replace(/(\\.js)?(\\?.*)?$/, \"\"));\n\t });\n\t }\n\t\n\t try {\n\t var workerSrc = mod.src;\n\t var Blob = __webpack_require__(670);\n\t var blob = new Blob([ workerSrc ], { type: 'application/javascript' });\n\t var blobUrl = (window.URL || window.webkitURL).createObjectURL(blob);\n\t\n\t this.$worker = new Worker(blobUrl);\n\t\n\t } catch(e) {\n\t if (e instanceof window.DOMException) {\n\t var blob = this.$workerBlob(workerUrl);\n\t var URL = window.URL || window.webkitURL;\n\t var blobURL = URL.createObjectURL(blob);\n\t\n\t this.$worker = new Worker(blobURL);\n\t URL.revokeObjectURL(blobURL);\n\t } else {\n\t throw e;\n\t }\n\t }\n\t this.$worker.postMessage({\n\t init : true,\n\t tlns : tlns,\n\t module : mod.id,\n\t classname : classname\n\t });\n\t\n\t this.callbackId = 1;\n\t this.callbacks = {};\n\t\n\t this.$worker.onmessage = this.onMessage;\n\t};\n\t\n\t(function(){\n\t\n\t oop.implement(this, EventEmitter);\n\t\n\t this.onMessage = function(e) {\n\t var msg = e.data;\n\t switch(msg.type) {\n\t case \"event\":\n\t this._signal(msg.name, {data: msg.data});\n\t break;\n\t case \"call\":\n\t var callback = this.callbacks[msg.id];\n\t if (callback) {\n\t callback(msg.data);\n\t delete this.callbacks[msg.id];\n\t }\n\t break;\n\t case \"error\":\n\t this.reportError(msg.data);\n\t break;\n\t case \"log\":\n\t window.console && console.log && console.log.apply(console, msg.data);\n\t break;\n\t }\n\t };\n\t \n\t this.reportError = function(err) {\n\t window.console && console.error && console.error(err);\n\t };\n\t\n\t this.$normalizePath = function(path) {\n\t return net.qualifyURL(path);\n\t };\n\t\n\t this.terminate = function() {\n\t this._signal(\"terminate\", {});\n\t this.deltaQueue = null;\n\t this.$worker.terminate();\n\t this.$worker = null;\n\t if (this.$doc)\n\t this.$doc.off(\"change\", this.changeListener);\n\t this.$doc = null;\n\t };\n\t\n\t this.send = function(cmd, args) {\n\t this.$worker.postMessage({command: cmd, args: args});\n\t };\n\t\n\t this.call = function(cmd, args, callback) {\n\t if (callback) {\n\t var id = this.callbackId++;\n\t this.callbacks[id] = callback;\n\t args.push(id);\n\t }\n\t this.send(cmd, args);\n\t };\n\t\n\t this.emit = function(event, data) {\n\t try {\n\t this.$worker.postMessage({event: event, data: {data: data.data}});\n\t }\n\t catch(ex) {\n\t console.error(ex.stack);\n\t }\n\t };\n\t\n\t this.attachToDocument = function(doc) {\n\t if(this.$doc)\n\t this.terminate();\n\t\n\t this.$doc = doc;\n\t this.call(\"setValue\", [doc.getValue()]);\n\t doc.on(\"change\", this.changeListener);\n\t };\n\t\n\t this.changeListener = function(delta) {\n\t if (!this.deltaQueue) {\n\t this.deltaQueue = [];\n\t setTimeout(this.$sendDeltaQueue, 0);\n\t }\n\t if (delta.action == \"insert\")\n\t this.deltaQueue.push(delta.start, delta.lines);\n\t else\n\t this.deltaQueue.push(delta.start, delta.end);\n\t };\n\t\n\t this.$sendDeltaQueue = function() {\n\t var q = this.deltaQueue;\n\t if (!q) return;\n\t this.deltaQueue = null;\n\t if (q.length > 50 && q.length > this.$doc.getLength() >> 1) {\n\t this.call(\"setValue\", [this.$doc.getValue()]);\n\t } else\n\t this.emit(\"change\", {data: q});\n\t };\n\t\n\t this.$workerBlob = function(workerUrl) {\n\t var script = \"importScripts('\" + net.qualifyURL(workerUrl) + \"');\";\n\t try {\n\t return new Blob([script], {\"type\": \"application/javascript\"});\n\t } catch (e) { // Backwards-compatibility\n\t var BlobBuilder = window.BlobBuilder || window.WebKitBlobBuilder || window.MozBlobBuilder;\n\t var blobBuilder = new BlobBuilder();\n\t blobBuilder.append(script);\n\t return blobBuilder.getBlob(\"application/javascript\");\n\t }\n\t };\n\t\n\t}).call(WorkerClient.prototype);\n\t\n\t\n\tvar UIWorkerClient = function(topLevelNamespaces, mod, classname) {\n\t this.$sendDeltaQueue = this.$sendDeltaQueue.bind(this);\n\t this.changeListener = this.changeListener.bind(this);\n\t this.callbackId = 1;\n\t this.callbacks = {};\n\t this.messageBuffer = [];\n\t\n\t var main = null;\n\t var emitSync = false;\n\t var sender = Object.create(EventEmitter);\n\t var _self = this;\n\t\n\t this.$worker = {};\n\t this.$worker.terminate = function() {};\n\t this.$worker.postMessage = function(e) {\n\t _self.messageBuffer.push(e);\n\t if (main) {\n\t if (emitSync)\n\t setTimeout(processNext);\n\t else\n\t processNext();\n\t }\n\t };\n\t this.setEmitSync = function(val) { emitSync = val };\n\t\n\t var processNext = function() {\n\t var msg = _self.messageBuffer.shift();\n\t if (msg.command)\n\t main[msg.command].apply(main, msg.args);\n\t else if (msg.event)\n\t sender._signal(msg.event, msg.data);\n\t };\n\t\n\t sender.postMessage = function(msg) {\n\t _self.onMessage({data: msg});\n\t };\n\t sender.callback = function(data, callbackId) {\n\t this.postMessage({type: \"call\", id: callbackId, data: data});\n\t };\n\t sender.emit = function(name, data) {\n\t this.postMessage({type: \"event\", name: name, data: data});\n\t };\n\t\n\t config.loadModule([\"worker\", mod], function(Main) {\n\t main = new Main[classname](sender);\n\t while (_self.messageBuffer.length)\n\t processNext();\n\t });\n\t};\n\t\n\tUIWorkerClient.prototype = WorkerClient.prototype;\n\t\n\texports.UIWorkerClient = UIWorkerClient;\n\texports.WorkerClient = WorkerClient;\n\t\n\t});\n\t\n\tace.define(\"ace/placeholder\",[\"require\",\"exports\",\"module\",\"ace/range\",\"ace/lib/event_emitter\",\"ace/lib/oop\"], function(acequire, exports, module) {\n\t\"use strict\";\n\t\n\tvar Range = acequire(\"./range\").Range;\n\tvar EventEmitter = acequire(\"./lib/event_emitter\").EventEmitter;\n\tvar oop = acequire(\"./lib/oop\");\n\t\n\tvar PlaceHolder = function(session, length, pos, others, mainClass, othersClass) {\n\t var _self = this;\n\t this.length = length;\n\t this.session = session;\n\t this.doc = session.getDocument();\n\t this.mainClass = mainClass;\n\t this.othersClass = othersClass;\n\t this.$onUpdate = this.onUpdate.bind(this);\n\t this.doc.on(\"change\", this.$onUpdate);\n\t this.$others = others;\n\t \n\t this.$onCursorChange = function() {\n\t setTimeout(function() {\n\t _self.onCursorChange();\n\t });\n\t };\n\t \n\t this.$pos = pos;\n\t var undoStack = session.getUndoManager().$undoStack || session.getUndoManager().$undostack || {length: -1};\n\t this.$undoStackDepth = undoStack.length;\n\t this.setup();\n\t\n\t session.selection.on(\"changeCursor\", this.$onCursorChange);\n\t};\n\t\n\t(function() {\n\t\n\t oop.implement(this, EventEmitter);\n\t this.setup = function() {\n\t var _self = this;\n\t var doc = this.doc;\n\t var session = this.session;\n\t \n\t this.selectionBefore = session.selection.toJSON();\n\t if (session.selection.inMultiSelectMode)\n\t session.selection.toSingleRange();\n\t\n\t this.pos = doc.createAnchor(this.$pos.row, this.$pos.column);\n\t var pos = this.pos;\n\t pos.$insertRight = true;\n\t pos.detach();\n\t pos.markerId = session.addMarker(new Range(pos.row, pos.column, pos.row, pos.column + this.length), this.mainClass, null, false);\n\t this.others = [];\n\t this.$others.forEach(function(other) {\n\t var anchor = doc.createAnchor(other.row, other.column);\n\t anchor.$insertRight = true;\n\t anchor.detach();\n\t _self.others.push(anchor);\n\t });\n\t session.setUndoSelect(false);\n\t };\n\t this.showOtherMarkers = function() {\n\t if (this.othersActive) return;\n\t var session = this.session;\n\t var _self = this;\n\t this.othersActive = true;\n\t this.others.forEach(function(anchor) {\n\t anchor.markerId = session.addMarker(new Range(anchor.row, anchor.column, anchor.row, anchor.column+_self.length), _self.othersClass, null, false);\n\t });\n\t };\n\t this.hideOtherMarkers = function() {\n\t if (!this.othersActive) return;\n\t this.othersActive = false;\n\t for (var i = 0; i < this.others.length; i++) {\n\t this.session.removeMarker(this.others[i].markerId);\n\t }\n\t };\n\t this.onUpdate = function(delta) {\n\t if (this.$updating)\n\t return this.updateAnchors(delta);\n\t \n\t var range = delta;\n\t if (range.start.row !== range.end.row) return;\n\t if (range.start.row !== this.pos.row) return;\n\t this.$updating = true;\n\t var lengthDiff = delta.action === \"insert\" ? range.end.column - range.start.column : range.start.column - range.end.column;\n\t var inMainRange = range.start.column >= this.pos.column && range.start.column <= this.pos.column + this.length + 1;\n\t var distanceFromStart = range.start.column - this.pos.column;\n\t \n\t this.updateAnchors(delta);\n\t \n\t if (inMainRange)\n\t this.length += lengthDiff;\n\t\n\t if (inMainRange && !this.session.$fromUndo) {\n\t if (delta.action === 'insert') {\n\t for (var i = this.others.length - 1; i >= 0; i--) {\n\t var otherPos = this.others[i];\n\t var newPos = {row: otherPos.row, column: otherPos.column + distanceFromStart};\n\t this.doc.insertMergedLines(newPos, delta.lines);\n\t }\n\t } else if (delta.action === 'remove') {\n\t for (var i = this.others.length - 1; i >= 0; i--) {\n\t var otherPos = this.others[i];\n\t var newPos = {row: otherPos.row, column: otherPos.column + distanceFromStart};\n\t this.doc.remove(new Range(newPos.row, newPos.column, newPos.row, newPos.column - lengthDiff));\n\t }\n\t }\n\t }\n\t \n\t this.$updating = false;\n\t this.updateMarkers();\n\t };\n\t \n\t this.updateAnchors = function(delta) {\n\t this.pos.onChange(delta);\n\t for (var i = this.others.length; i--;)\n\t this.others[i].onChange(delta);\n\t this.updateMarkers();\n\t };\n\t \n\t this.updateMarkers = function() {\n\t if (this.$updating)\n\t return;\n\t var _self = this;\n\t var session = this.session;\n\t var updateMarker = function(pos, className) {\n\t session.removeMarker(pos.markerId);\n\t pos.markerId = session.addMarker(new Range(pos.row, pos.column, pos.row, pos.column+_self.length), className, null, false);\n\t };\n\t updateMarker(this.pos, this.mainClass);\n\t for (var i = this.others.length; i--;)\n\t updateMarker(this.others[i], this.othersClass);\n\t };\n\t\n\t this.onCursorChange = function(event) {\n\t if (this.$updating || !this.session) return;\n\t var pos = this.session.selection.getCursor();\n\t if (pos.row === this.pos.row && pos.column >= this.pos.column && pos.column <= this.pos.column + this.length) {\n\t this.showOtherMarkers();\n\t this._emit(\"cursorEnter\", event);\n\t } else {\n\t this.hideOtherMarkers();\n\t this._emit(\"cursorLeave\", event);\n\t }\n\t }; \n\t this.detach = function() {\n\t this.session.removeMarker(this.pos && this.pos.markerId);\n\t this.hideOtherMarkers();\n\t this.doc.removeEventListener(\"change\", this.$onUpdate);\n\t this.session.selection.removeEventListener(\"changeCursor\", this.$onCursorChange);\n\t this.session.setUndoSelect(true);\n\t this.session = null;\n\t };\n\t this.cancel = function() {\n\t if (this.$undoStackDepth === -1)\n\t return;\n\t var undoManager = this.session.getUndoManager();\n\t var undosRequired = (undoManager.$undoStack || undoManager.$undostack).length - this.$undoStackDepth;\n\t for (var i = 0; i < undosRequired; i++) {\n\t undoManager.undo(true);\n\t }\n\t if (this.selectionBefore)\n\t this.session.selection.fromJSON(this.selectionBefore);\n\t };\n\t}).call(PlaceHolder.prototype);\n\t\n\t\n\texports.PlaceHolder = PlaceHolder;\n\t});\n\t\n\tace.define(\"ace/mouse/multi_select_handler\",[\"require\",\"exports\",\"module\",\"ace/lib/event\",\"ace/lib/useragent\"], function(acequire, exports, module) {\n\t\n\tvar event = acequire(\"../lib/event\");\n\tvar useragent = acequire(\"../lib/useragent\");\n\tfunction isSamePoint(p1, p2) {\n\t return p1.row == p2.row && p1.column == p2.column;\n\t}\n\t\n\tfunction onMouseDown(e) {\n\t var ev = e.domEvent;\n\t var alt = ev.altKey;\n\t var shift = ev.shiftKey;\n\t var ctrl = ev.ctrlKey;\n\t var accel = e.getAccelKey();\n\t var button = e.getButton();\n\t \n\t if (ctrl && useragent.isMac)\n\t button = ev.button;\n\t\n\t if (e.editor.inMultiSelectMode && button == 2) {\n\t e.editor.textInput.onContextMenu(e.domEvent);\n\t return;\n\t }\n\t \n\t if (!ctrl && !alt && !accel) {\n\t if (button === 0 && e.editor.inMultiSelectMode)\n\t e.editor.exitMultiSelectMode();\n\t return;\n\t }\n\t \n\t if (button !== 0)\n\t return;\n\t\n\t var editor = e.editor;\n\t var selection = editor.selection;\n\t var isMultiSelect = editor.inMultiSelectMode;\n\t var pos = e.getDocumentPosition();\n\t var cursor = selection.getCursor();\n\t var inSelection = e.inSelection() || (selection.isEmpty() && isSamePoint(pos, cursor));\n\t\n\t var mouseX = e.x, mouseY = e.y;\n\t var onMouseSelection = function(e) {\n\t mouseX = e.clientX;\n\t mouseY = e.clientY;\n\t };\n\t \n\t var session = editor.session;\n\t var screenAnchor = editor.renderer.pixelToScreenCoordinates(mouseX, mouseY);\n\t var screenCursor = screenAnchor;\n\t \n\t var selectionMode;\n\t if (editor.$mouseHandler.$enableJumpToDef) {\n\t if (ctrl && alt || accel && alt)\n\t selectionMode = shift ? \"block\" : \"add\";\n\t else if (alt && editor.$blockSelectEnabled)\n\t selectionMode = \"block\";\n\t } else {\n\t if (accel && !alt) {\n\t selectionMode = \"add\";\n\t if (!isMultiSelect && shift)\n\t return;\n\t } else if (alt && editor.$blockSelectEnabled) {\n\t selectionMode = \"block\";\n\t }\n\t }\n\t \n\t if (selectionMode && useragent.isMac && ev.ctrlKey) {\n\t editor.$mouseHandler.cancelContextMenu();\n\t }\n\t\n\t if (selectionMode == \"add\") {\n\t if (!isMultiSelect && inSelection)\n\t return; // dragging\n\t\n\t if (!isMultiSelect) {\n\t var range = selection.toOrientedRange();\n\t editor.addSelectionMarker(range);\n\t }\n\t\n\t var oldRange = selection.rangeList.rangeAtPoint(pos);\n\t \n\t \n\t editor.$blockScrolling++;\n\t editor.inVirtualSelectionMode = true;\n\t \n\t if (shift) {\n\t oldRange = null;\n\t range = selection.ranges[0] || range;\n\t editor.removeSelectionMarker(range);\n\t }\n\t editor.once(\"mouseup\", function() {\n\t var tmpSel = selection.toOrientedRange();\n\t\n\t if (oldRange && tmpSel.isEmpty() && isSamePoint(oldRange.cursor, tmpSel.cursor))\n\t selection.substractPoint(tmpSel.cursor);\n\t else {\n\t if (shift) {\n\t selection.substractPoint(range.cursor);\n\t } else if (range) {\n\t editor.removeSelectionMarker(range);\n\t selection.addRange(range);\n\t }\n\t selection.addRange(tmpSel);\n\t }\n\t editor.$blockScrolling--;\n\t editor.inVirtualSelectionMode = false;\n\t });\n\t\n\t } else if (selectionMode == \"block\") {\n\t e.stop();\n\t editor.inVirtualSelectionMode = true; \n\t var initialRange;\n\t var rectSel = [];\n\t var blockSelect = function() {\n\t var newCursor = editor.renderer.pixelToScreenCoordinates(mouseX, mouseY);\n\t var cursor = session.screenToDocumentPosition(newCursor.row, newCursor.column);\n\t\n\t if (isSamePoint(screenCursor, newCursor) && isSamePoint(cursor, selection.lead))\n\t return;\n\t screenCursor = newCursor;\n\t \n\t editor.$blockScrolling++;\n\t editor.selection.moveToPosition(cursor);\n\t editor.renderer.scrollCursorIntoView();\n\t\n\t editor.removeSelectionMarkers(rectSel);\n\t rectSel = selection.rectangularRangeBlock(screenCursor, screenAnchor);\n\t if (editor.$mouseHandler.$clickSelection && rectSel.length == 1 && rectSel[0].isEmpty())\n\t rectSel[0] = editor.$mouseHandler.$clickSelection.clone();\n\t rectSel.forEach(editor.addSelectionMarker, editor);\n\t editor.updateSelectionMarkers();\n\t editor.$blockScrolling--;\n\t };\n\t editor.$blockScrolling++;\n\t if (isMultiSelect && !accel) {\n\t selection.toSingleRange();\n\t } else if (!isMultiSelect && accel) {\n\t initialRange = selection.toOrientedRange();\n\t editor.addSelectionMarker(initialRange);\n\t }\n\t \n\t if (shift)\n\t screenAnchor = session.documentToScreenPosition(selection.lead); \n\t else\n\t selection.moveToPosition(pos);\n\t editor.$blockScrolling--;\n\t \n\t screenCursor = {row: -1, column: -1};\n\t\n\t var onMouseSelectionEnd = function(e) {\n\t clearInterval(timerId);\n\t editor.removeSelectionMarkers(rectSel);\n\t if (!rectSel.length)\n\t rectSel = [selection.toOrientedRange()];\n\t editor.$blockScrolling++;\n\t if (initialRange) {\n\t editor.removeSelectionMarker(initialRange);\n\t selection.toSingleRange(initialRange);\n\t }\n\t for (var i = 0; i < rectSel.length; i++)\n\t selection.addRange(rectSel[i]);\n\t editor.inVirtualSelectionMode = false;\n\t editor.$mouseHandler.$clickSelection = null;\n\t editor.$blockScrolling--;\n\t };\n\t\n\t var onSelectionInterval = blockSelect;\n\t\n\t event.capture(editor.container, onMouseSelection, onMouseSelectionEnd);\n\t var timerId = setInterval(function() {onSelectionInterval();}, 20);\n\t\n\t return e.preventDefault();\n\t }\n\t}\n\t\n\t\n\texports.onMouseDown = onMouseDown;\n\t\n\t});\n\t\n\tace.define(\"ace/commands/multi_select_commands\",[\"require\",\"exports\",\"module\",\"ace/keyboard/hash_handler\"], function(acequire, exports, module) {\n\texports.defaultCommands = [{\n\t name: \"addCursorAbove\",\n\t exec: function(editor) { editor.selectMoreLines(-1); },\n\t bindKey: {win: \"Ctrl-Alt-Up\", mac: \"Ctrl-Alt-Up\"},\n\t scrollIntoView: \"cursor\",\n\t readOnly: true\n\t}, {\n\t name: \"addCursorBelow\",\n\t exec: function(editor) { editor.selectMoreLines(1); },\n\t bindKey: {win: \"Ctrl-Alt-Down\", mac: \"Ctrl-Alt-Down\"},\n\t scrollIntoView: \"cursor\",\n\t readOnly: true\n\t}, {\n\t name: \"addCursorAboveSkipCurrent\",\n\t exec: function(editor) { editor.selectMoreLines(-1, true); },\n\t bindKey: {win: \"Ctrl-Alt-Shift-Up\", mac: \"Ctrl-Alt-Shift-Up\"},\n\t scrollIntoView: \"cursor\",\n\t readOnly: true\n\t}, {\n\t name: \"addCursorBelowSkipCurrent\",\n\t exec: function(editor) { editor.selectMoreLines(1, true); },\n\t bindKey: {win: \"Ctrl-Alt-Shift-Down\", mac: \"Ctrl-Alt-Shift-Down\"},\n\t scrollIntoView: \"cursor\",\n\t readOnly: true\n\t}, {\n\t name: \"selectMoreBefore\",\n\t exec: function(editor) { editor.selectMore(-1); },\n\t bindKey: {win: \"Ctrl-Alt-Left\", mac: \"Ctrl-Alt-Left\"},\n\t scrollIntoView: \"cursor\",\n\t readOnly: true\n\t}, {\n\t name: \"selectMoreAfter\",\n\t exec: function(editor) { editor.selectMore(1); },\n\t bindKey: {win: \"Ctrl-Alt-Right\", mac: \"Ctrl-Alt-Right\"},\n\t scrollIntoView: \"cursor\",\n\t readOnly: true\n\t}, {\n\t name: \"selectNextBefore\",\n\t exec: function(editor) { editor.selectMore(-1, true); },\n\t bindKey: {win: \"Ctrl-Alt-Shift-Left\", mac: \"Ctrl-Alt-Shift-Left\"},\n\t scrollIntoView: \"cursor\",\n\t readOnly: true\n\t}, {\n\t name: \"selectNextAfter\",\n\t exec: function(editor) { editor.selectMore(1, true); },\n\t bindKey: {win: \"Ctrl-Alt-Shift-Right\", mac: \"Ctrl-Alt-Shift-Right\"},\n\t scrollIntoView: \"cursor\",\n\t readOnly: true\n\t}, {\n\t name: \"splitIntoLines\",\n\t exec: function(editor) { editor.multiSelect.splitIntoLines(); },\n\t bindKey: {win: \"Ctrl-Alt-L\", mac: \"Ctrl-Alt-L\"},\n\t readOnly: true\n\t}, {\n\t name: \"alignCursors\",\n\t exec: function(editor) { editor.alignCursors(); },\n\t bindKey: {win: \"Ctrl-Alt-A\", mac: \"Ctrl-Alt-A\"},\n\t scrollIntoView: \"cursor\"\n\t}, {\n\t name: \"findAll\",\n\t exec: function(editor) { editor.findAll(); },\n\t bindKey: {win: \"Ctrl-Alt-K\", mac: \"Ctrl-Alt-G\"},\n\t scrollIntoView: \"cursor\",\n\t readOnly: true\n\t}];\n\texports.multiSelectCommands = [{\n\t name: \"singleSelection\",\n\t bindKey: \"esc\",\n\t exec: function(editor) { editor.exitMultiSelectMode(); },\n\t scrollIntoView: \"cursor\",\n\t readOnly: true,\n\t isAvailable: function(editor) {return editor && editor.inMultiSelectMode}\n\t}];\n\t\n\tvar HashHandler = acequire(\"../keyboard/hash_handler\").HashHandler;\n\texports.keyboardHandler = new HashHandler(exports.multiSelectCommands);\n\t\n\t});\n\t\n\tace.define(\"ace/multi_select\",[\"require\",\"exports\",\"module\",\"ace/range_list\",\"ace/range\",\"ace/selection\",\"ace/mouse/multi_select_handler\",\"ace/lib/event\",\"ace/lib/lang\",\"ace/commands/multi_select_commands\",\"ace/search\",\"ace/edit_session\",\"ace/editor\",\"ace/config\"], function(acequire, exports, module) {\n\t\n\tvar RangeList = acequire(\"./range_list\").RangeList;\n\tvar Range = acequire(\"./range\").Range;\n\tvar Selection = acequire(\"./selection\").Selection;\n\tvar onMouseDown = acequire(\"./mouse/multi_select_handler\").onMouseDown;\n\tvar event = acequire(\"./lib/event\");\n\tvar lang = acequire(\"./lib/lang\");\n\tvar commands = acequire(\"./commands/multi_select_commands\");\n\texports.commands = commands.defaultCommands.concat(commands.multiSelectCommands);\n\tvar Search = acequire(\"./search\").Search;\n\tvar search = new Search();\n\t\n\tfunction find(session, needle, dir) {\n\t search.$options.wrap = true;\n\t search.$options.needle = needle;\n\t search.$options.backwards = dir == -1;\n\t return search.find(session);\n\t}\n\tvar EditSession = acequire(\"./edit_session\").EditSession;\n\t(function() {\n\t this.getSelectionMarkers = function() {\n\t return this.$selectionMarkers;\n\t };\n\t}).call(EditSession.prototype);\n\t(function() {\n\t this.ranges = null;\n\t this.rangeList = null;\n\t this.addRange = function(range, $blockChangeEvents) {\n\t if (!range)\n\t return;\n\t\n\t if (!this.inMultiSelectMode && this.rangeCount === 0) {\n\t var oldRange = this.toOrientedRange();\n\t this.rangeList.add(oldRange);\n\t this.rangeList.add(range);\n\t if (this.rangeList.ranges.length != 2) {\n\t this.rangeList.removeAll();\n\t return $blockChangeEvents || this.fromOrientedRange(range);\n\t }\n\t this.rangeList.removeAll();\n\t this.rangeList.add(oldRange);\n\t this.$onAddRange(oldRange);\n\t }\n\t\n\t if (!range.cursor)\n\t range.cursor = range.end;\n\t\n\t var removed = this.rangeList.add(range);\n\t\n\t this.$onAddRange(range);\n\t\n\t if (removed.length)\n\t this.$onRemoveRange(removed);\n\t\n\t if (this.rangeCount > 1 && !this.inMultiSelectMode) {\n\t this._signal(\"multiSelect\");\n\t this.inMultiSelectMode = true;\n\t this.session.$undoSelect = false;\n\t this.rangeList.attach(this.session);\n\t }\n\t\n\t return $blockChangeEvents || this.fromOrientedRange(range);\n\t };\n\t\n\t this.toSingleRange = function(range) {\n\t range = range || this.ranges[0];\n\t var removed = this.rangeList.removeAll();\n\t if (removed.length)\n\t this.$onRemoveRange(removed);\n\t\n\t range && this.fromOrientedRange(range);\n\t };\n\t this.substractPoint = function(pos) {\n\t var removed = this.rangeList.substractPoint(pos);\n\t if (removed) {\n\t this.$onRemoveRange(removed);\n\t return removed[0];\n\t }\n\t };\n\t this.mergeOverlappingRanges = function() {\n\t var removed = this.rangeList.merge();\n\t if (removed.length)\n\t this.$onRemoveRange(removed);\n\t else if(this.ranges[0])\n\t this.fromOrientedRange(this.ranges[0]);\n\t };\n\t\n\t this.$onAddRange = function(range) {\n\t this.rangeCount = this.rangeList.ranges.length;\n\t this.ranges.unshift(range);\n\t this._signal(\"addRange\", {range: range});\n\t };\n\t\n\t this.$onRemoveRange = function(removed) {\n\t this.rangeCount = this.rangeList.ranges.length;\n\t if (this.rangeCount == 1 && this.inMultiSelectMode) {\n\t var lastRange = this.rangeList.ranges.pop();\n\t removed.push(lastRange);\n\t this.rangeCount = 0;\n\t }\n\t\n\t for (var i = removed.length; i--; ) {\n\t var index = this.ranges.indexOf(removed[i]);\n\t this.ranges.splice(index, 1);\n\t }\n\t\n\t this._signal(\"removeRange\", {ranges: removed});\n\t\n\t if (this.rangeCount === 0 && this.inMultiSelectMode) {\n\t this.inMultiSelectMode = false;\n\t this._signal(\"singleSelect\");\n\t this.session.$undoSelect = true;\n\t this.rangeList.detach(this.session);\n\t }\n\t\n\t lastRange = lastRange || this.ranges[0];\n\t if (lastRange && !lastRange.isEqual(this.getRange()))\n\t this.fromOrientedRange(lastRange);\n\t };\n\t this.$initRangeList = function() {\n\t if (this.rangeList)\n\t return;\n\t\n\t this.rangeList = new RangeList();\n\t this.ranges = [];\n\t this.rangeCount = 0;\n\t };\n\t this.getAllRanges = function() {\n\t return this.rangeCount ? this.rangeList.ranges.concat() : [this.getRange()];\n\t };\n\t\n\t this.splitIntoLines = function () {\n\t if (this.rangeCount > 1) {\n\t var ranges = this.rangeList.ranges;\n\t var lastRange = ranges[ranges.length - 1];\n\t var range = Range.fromPoints(ranges[0].start, lastRange.end);\n\t\n\t this.toSingleRange();\n\t this.setSelectionRange(range, lastRange.cursor == lastRange.start);\n\t } else {\n\t var range = this.getRange();\n\t var isBackwards = this.isBackwards();\n\t var startRow = range.start.row;\n\t var endRow = range.end.row;\n\t if (startRow == endRow) {\n\t if (isBackwards)\n\t var start = range.end, end = range.start;\n\t else\n\t var start = range.start, end = range.end;\n\t \n\t this.addRange(Range.fromPoints(end, end));\n\t this.addRange(Range.fromPoints(start, start));\n\t return;\n\t }\n\t\n\t var rectSel = [];\n\t var r = this.getLineRange(startRow, true);\n\t r.start.column = range.start.column;\n\t rectSel.push(r);\n\t\n\t for (var i = startRow + 1; i < endRow; i++)\n\t rectSel.push(this.getLineRange(i, true));\n\t\n\t r = this.getLineRange(endRow, true);\n\t r.end.column = range.end.column;\n\t rectSel.push(r);\n\t\n\t rectSel.forEach(this.addRange, this);\n\t }\n\t };\n\t this.toggleBlockSelection = function () {\n\t if (this.rangeCount > 1) {\n\t var ranges = this.rangeList.ranges;\n\t var lastRange = ranges[ranges.length - 1];\n\t var range = Range.fromPoints(ranges[0].start, lastRange.end);\n\t\n\t this.toSingleRange();\n\t this.setSelectionRange(range, lastRange.cursor == lastRange.start);\n\t } else {\n\t var cursor = this.session.documentToScreenPosition(this.selectionLead);\n\t var anchor = this.session.documentToScreenPosition(this.selectionAnchor);\n\t\n\t var rectSel = this.rectangularRangeBlock(cursor, anchor);\n\t rectSel.forEach(this.addRange, this);\n\t }\n\t };\n\t this.rectangularRangeBlock = function(screenCursor, screenAnchor, includeEmptyLines) {\n\t var rectSel = [];\n\t\n\t var xBackwards = screenCursor.column < screenAnchor.column;\n\t if (xBackwards) {\n\t var startColumn = screenCursor.column;\n\t var endColumn = screenAnchor.column;\n\t } else {\n\t var startColumn = screenAnchor.column;\n\t var endColumn = screenCursor.column;\n\t }\n\t\n\t var yBackwards = screenCursor.row < screenAnchor.row;\n\t if (yBackwards) {\n\t var startRow = screenCursor.row;\n\t var endRow = screenAnchor.row;\n\t } else {\n\t var startRow = screenAnchor.row;\n\t var endRow = screenCursor.row;\n\t }\n\t\n\t if (startColumn < 0)\n\t startColumn = 0;\n\t if (startRow < 0)\n\t startRow = 0;\n\t\n\t if (startRow == endRow)\n\t includeEmptyLines = true;\n\t\n\t for (var row = startRow; row <= endRow; row++) {\n\t var range = Range.fromPoints(\n\t this.session.screenToDocumentPosition(row, startColumn),\n\t this.session.screenToDocumentPosition(row, endColumn)\n\t );\n\t if (range.isEmpty()) {\n\t if (docEnd && isSamePoint(range.end, docEnd))\n\t break;\n\t var docEnd = range.end;\n\t }\n\t range.cursor = xBackwards ? range.start : range.end;\n\t rectSel.push(range);\n\t }\n\t\n\t if (yBackwards)\n\t rectSel.reverse();\n\t\n\t if (!includeEmptyLines) {\n\t var end = rectSel.length - 1;\n\t while (rectSel[end].isEmpty() && end > 0)\n\t end--;\n\t if (end > 0) {\n\t var start = 0;\n\t while (rectSel[start].isEmpty())\n\t start++;\n\t }\n\t for (var i = end; i >= start; i--) {\n\t if (rectSel[i].isEmpty())\n\t rectSel.splice(i, 1);\n\t }\n\t }\n\t\n\t return rectSel;\n\t };\n\t}).call(Selection.prototype);\n\tvar Editor = acequire(\"./editor\").Editor;\n\t(function() {\n\t this.updateSelectionMarkers = function() {\n\t this.renderer.updateCursor();\n\t this.renderer.updateBackMarkers();\n\t };\n\t this.addSelectionMarker = function(orientedRange) {\n\t if (!orientedRange.cursor)\n\t orientedRange.cursor = orientedRange.end;\n\t\n\t var style = this.getSelectionStyle();\n\t orientedRange.marker = this.session.addMarker(orientedRange, \"ace_selection\", style);\n\t\n\t this.session.$selectionMarkers.push(orientedRange);\n\t this.session.selectionMarkerCount = this.session.$selectionMarkers.length;\n\t return orientedRange;\n\t };\n\t this.removeSelectionMarker = function(range) {\n\t if (!range.marker)\n\t return;\n\t this.session.removeMarker(range.marker);\n\t var index = this.session.$selectionMarkers.indexOf(range);\n\t if (index != -1)\n\t this.session.$selectionMarkers.splice(index, 1);\n\t this.session.selectionMarkerCount = this.session.$selectionMarkers.length;\n\t };\n\t\n\t this.removeSelectionMarkers = function(ranges) {\n\t var markerList = this.session.$selectionMarkers;\n\t for (var i = ranges.length; i--; ) {\n\t var range = ranges[i];\n\t if (!range.marker)\n\t continue;\n\t this.session.removeMarker(range.marker);\n\t var index = markerList.indexOf(range);\n\t if (index != -1)\n\t markerList.splice(index, 1);\n\t }\n\t this.session.selectionMarkerCount = markerList.length;\n\t };\n\t\n\t this.$onAddRange = function(e) {\n\t this.addSelectionMarker(e.range);\n\t this.renderer.updateCursor();\n\t this.renderer.updateBackMarkers();\n\t };\n\t\n\t this.$onRemoveRange = function(e) {\n\t this.removeSelectionMarkers(e.ranges);\n\t this.renderer.updateCursor();\n\t this.renderer.updateBackMarkers();\n\t };\n\t\n\t this.$onMultiSelect = function(e) {\n\t if (this.inMultiSelectMode)\n\t return;\n\t this.inMultiSelectMode = true;\n\t\n\t this.setStyle(\"ace_multiselect\");\n\t this.keyBinding.addKeyboardHandler(commands.keyboardHandler);\n\t this.commands.setDefaultHandler(\"exec\", this.$onMultiSelectExec);\n\t\n\t this.renderer.updateCursor();\n\t this.renderer.updateBackMarkers();\n\t };\n\t\n\t this.$onSingleSelect = function(e) {\n\t if (this.session.multiSelect.inVirtualMode)\n\t return;\n\t this.inMultiSelectMode = false;\n\t\n\t this.unsetStyle(\"ace_multiselect\");\n\t this.keyBinding.removeKeyboardHandler(commands.keyboardHandler);\n\t\n\t this.commands.removeDefaultHandler(\"exec\", this.$onMultiSelectExec);\n\t this.renderer.updateCursor();\n\t this.renderer.updateBackMarkers();\n\t this._emit(\"changeSelection\");\n\t };\n\t\n\t this.$onMultiSelectExec = function(e) {\n\t var command = e.command;\n\t var editor = e.editor;\n\t if (!editor.multiSelect)\n\t return;\n\t if (!command.multiSelectAction) {\n\t var result = command.exec(editor, e.args || {});\n\t editor.multiSelect.addRange(editor.multiSelect.toOrientedRange());\n\t editor.multiSelect.mergeOverlappingRanges();\n\t } else if (command.multiSelectAction == \"forEach\") {\n\t result = editor.forEachSelection(command, e.args);\n\t } else if (command.multiSelectAction == \"forEachLine\") {\n\t result = editor.forEachSelection(command, e.args, true);\n\t } else if (command.multiSelectAction == \"single\") {\n\t editor.exitMultiSelectMode();\n\t result = command.exec(editor, e.args || {});\n\t } else {\n\t result = command.multiSelectAction(editor, e.args || {});\n\t }\n\t return result;\n\t }; \n\t this.forEachSelection = function(cmd, args, options) {\n\t if (this.inVirtualSelectionMode)\n\t return;\n\t var keepOrder = options && options.keepOrder;\n\t var $byLines = options == true || options && options.$byLines\n\t var session = this.session;\n\t var selection = this.selection;\n\t var rangeList = selection.rangeList;\n\t var ranges = (keepOrder ? selection : rangeList).ranges;\n\t var result;\n\t \n\t if (!ranges.length)\n\t return cmd.exec ? cmd.exec(this, args || {}) : cmd(this, args || {});\n\t \n\t var reg = selection._eventRegistry;\n\t selection._eventRegistry = {};\n\t\n\t var tmpSel = new Selection(session);\n\t this.inVirtualSelectionMode = true;\n\t for (var i = ranges.length; i--;) {\n\t if ($byLines) {\n\t while (i > 0 && ranges[i].start.row == ranges[i - 1].end.row)\n\t i--;\n\t }\n\t tmpSel.fromOrientedRange(ranges[i]);\n\t tmpSel.index = i;\n\t this.selection = session.selection = tmpSel;\n\t var cmdResult = cmd.exec ? cmd.exec(this, args || {}) : cmd(this, args || {});\n\t if (!result && cmdResult !== undefined)\n\t result = cmdResult;\n\t tmpSel.toOrientedRange(ranges[i]);\n\t }\n\t tmpSel.detach();\n\t\n\t this.selection = session.selection = selection;\n\t this.inVirtualSelectionMode = false;\n\t selection._eventRegistry = reg;\n\t selection.mergeOverlappingRanges();\n\t \n\t var anim = this.renderer.$scrollAnimation;\n\t this.onCursorChange();\n\t this.onSelectionChange();\n\t if (anim && anim.from == anim.to)\n\t this.renderer.animateScrolling(anim.from);\n\t \n\t return result;\n\t };\n\t this.exitMultiSelectMode = function() {\n\t if (!this.inMultiSelectMode || this.inVirtualSelectionMode)\n\t return;\n\t this.multiSelect.toSingleRange();\n\t };\n\t\n\t this.getSelectedText = function() {\n\t var text = \"\";\n\t if (this.inMultiSelectMode && !this.inVirtualSelectionMode) {\n\t var ranges = this.multiSelect.rangeList.ranges;\n\t var buf = [];\n\t for (var i = 0; i < ranges.length; i++) {\n\t buf.push(this.session.getTextRange(ranges[i]));\n\t }\n\t var nl = this.session.getDocument().getNewLineCharacter();\n\t text = buf.join(nl);\n\t if (text.length == (buf.length - 1) * nl.length)\n\t text = \"\";\n\t } else if (!this.selection.isEmpty()) {\n\t text = this.session.getTextRange(this.getSelectionRange());\n\t }\n\t return text;\n\t };\n\t \n\t this.$checkMultiselectChange = function(e, anchor) {\n\t if (this.inMultiSelectMode && !this.inVirtualSelectionMode) {\n\t var range = this.multiSelect.ranges[0];\n\t if (this.multiSelect.isEmpty() && anchor == this.multiSelect.anchor)\n\t return;\n\t var pos = anchor == this.multiSelect.anchor\n\t ? range.cursor == range.start ? range.end : range.start\n\t : range.cursor;\n\t if (pos.row != anchor.row \n\t || this.session.$clipPositionToDocument(pos.row, pos.column).column != anchor.column)\n\t this.multiSelect.toSingleRange(this.multiSelect.toOrientedRange());\n\t }\n\t };\n\t this.findAll = function(needle, options, additive) {\n\t options = options || {};\n\t options.needle = needle || options.needle;\n\t if (options.needle == undefined) {\n\t var range = this.selection.isEmpty()\n\t ? this.selection.getWordRange()\n\t : this.selection.getRange();\n\t options.needle = this.session.getTextRange(range);\n\t } \n\t this.$search.set(options);\n\t \n\t var ranges = this.$search.findAll(this.session);\n\t if (!ranges.length)\n\t return 0;\n\t\n\t this.$blockScrolling += 1;\n\t var selection = this.multiSelect;\n\t\n\t if (!additive)\n\t selection.toSingleRange(ranges[0]);\n\t\n\t for (var i = ranges.length; i--; )\n\t selection.addRange(ranges[i], true);\n\t if (range && selection.rangeList.rangeAtPoint(range.start))\n\t selection.addRange(range, true);\n\t \n\t this.$blockScrolling -= 1;\n\t\n\t return ranges.length;\n\t };\n\t this.selectMoreLines = function(dir, skip) {\n\t var range = this.selection.toOrientedRange();\n\t var isBackwards = range.cursor == range.end;\n\t\n\t var screenLead = this.session.documentToScreenPosition(range.cursor);\n\t if (this.selection.$desiredColumn)\n\t screenLead.column = this.selection.$desiredColumn;\n\t\n\t var lead = this.session.screenToDocumentPosition(screenLead.row + dir, screenLead.column);\n\t\n\t if (!range.isEmpty()) {\n\t var screenAnchor = this.session.documentToScreenPosition(isBackwards ? range.end : range.start);\n\t var anchor = this.session.screenToDocumentPosition(screenAnchor.row + dir, screenAnchor.column);\n\t } else {\n\t var anchor = lead;\n\t }\n\t\n\t if (isBackwards) {\n\t var newRange = Range.fromPoints(lead, anchor);\n\t newRange.cursor = newRange.start;\n\t } else {\n\t var newRange = Range.fromPoints(anchor, lead);\n\t newRange.cursor = newRange.end;\n\t }\n\t\n\t newRange.desiredColumn = screenLead.column;\n\t if (!this.selection.inMultiSelectMode) {\n\t this.selection.addRange(range);\n\t } else {\n\t if (skip)\n\t var toRemove = range.cursor;\n\t }\n\t\n\t this.selection.addRange(newRange);\n\t if (toRemove)\n\t this.selection.substractPoint(toRemove);\n\t };\n\t this.transposeSelections = function(dir) {\n\t var session = this.session;\n\t var sel = session.multiSelect;\n\t var all = sel.ranges;\n\t\n\t for (var i = all.length; i--; ) {\n\t var range = all[i];\n\t if (range.isEmpty()) {\n\t var tmp = session.getWordRange(range.start.row, range.start.column);\n\t range.start.row = tmp.start.row;\n\t range.start.column = tmp.start.column;\n\t range.end.row = tmp.end.row;\n\t range.end.column = tmp.end.column;\n\t }\n\t }\n\t sel.mergeOverlappingRanges();\n\t\n\t var words = [];\n\t for (var i = all.length; i--; ) {\n\t var range = all[i];\n\t words.unshift(session.getTextRange(range));\n\t }\n\t\n\t if (dir < 0)\n\t words.unshift(words.pop());\n\t else\n\t words.push(words.shift());\n\t\n\t for (var i = all.length; i--; ) {\n\t var range = all[i];\n\t var tmp = range.clone();\n\t session.replace(range, words[i]);\n\t range.start.row = tmp.start.row;\n\t range.start.column = tmp.start.column;\n\t }\n\t };\n\t this.selectMore = function(dir, skip, stopAtFirst) {\n\t var session = this.session;\n\t var sel = session.multiSelect;\n\t\n\t var range = sel.toOrientedRange();\n\t if (range.isEmpty()) {\n\t range = session.getWordRange(range.start.row, range.start.column);\n\t range.cursor = dir == -1 ? range.start : range.end;\n\t this.multiSelect.addRange(range);\n\t if (stopAtFirst)\n\t return;\n\t }\n\t var needle = session.getTextRange(range);\n\t\n\t var newRange = find(session, needle, dir);\n\t if (newRange) {\n\t newRange.cursor = dir == -1 ? newRange.start : newRange.end;\n\t this.$blockScrolling += 1;\n\t this.session.unfold(newRange);\n\t this.multiSelect.addRange(newRange);\n\t this.$blockScrolling -= 1;\n\t this.renderer.scrollCursorIntoView(null, 0.5);\n\t }\n\t if (skip)\n\t this.multiSelect.substractPoint(range.cursor);\n\t };\n\t this.alignCursors = function() {\n\t var session = this.session;\n\t var sel = session.multiSelect;\n\t var ranges = sel.ranges;\n\t var row = -1;\n\t var sameRowRanges = ranges.filter(function(r) {\n\t if (r.cursor.row == row)\n\t return true;\n\t row = r.cursor.row;\n\t });\n\t \n\t if (!ranges.length || sameRowRanges.length == ranges.length - 1) {\n\t var range = this.selection.getRange();\n\t var fr = range.start.row, lr = range.end.row;\n\t var guessRange = fr == lr;\n\t if (guessRange) {\n\t var max = this.session.getLength();\n\t var line;\n\t do {\n\t line = this.session.getLine(lr);\n\t } while (/[=:]/.test(line) && ++lr < max);\n\t do {\n\t line = this.session.getLine(fr);\n\t } while (/[=:]/.test(line) && --fr > 0);\n\t \n\t if (fr < 0) fr = 0;\n\t if (lr >= max) lr = max - 1;\n\t }\n\t var lines = this.session.removeFullLines(fr, lr);\n\t lines = this.$reAlignText(lines, guessRange);\n\t this.session.insert({row: fr, column: 0}, lines.join(\"\\n\") + \"\\n\");\n\t if (!guessRange) {\n\t range.start.column = 0;\n\t range.end.column = lines[lines.length - 1].length;\n\t }\n\t this.selection.setRange(range);\n\t } else {\n\t sameRowRanges.forEach(function(r) {\n\t sel.substractPoint(r.cursor);\n\t });\n\t\n\t var maxCol = 0;\n\t var minSpace = Infinity;\n\t var spaceOffsets = ranges.map(function(r) {\n\t var p = r.cursor;\n\t var line = session.getLine(p.row);\n\t var spaceOffset = line.substr(p.column).search(/\\S/g);\n\t if (spaceOffset == -1)\n\t spaceOffset = 0;\n\t\n\t if (p.column > maxCol)\n\t maxCol = p.column;\n\t if (spaceOffset < minSpace)\n\t minSpace = spaceOffset;\n\t return spaceOffset;\n\t });\n\t ranges.forEach(function(r, i) {\n\t var p = r.cursor;\n\t var l = maxCol - p.column;\n\t var d = spaceOffsets[i] - minSpace;\n\t if (l > d)\n\t session.insert(p, lang.stringRepeat(\" \", l - d));\n\t else\n\t session.remove(new Range(p.row, p.column, p.row, p.column - l + d));\n\t\n\t r.start.column = r.end.column = maxCol;\n\t r.start.row = r.end.row = p.row;\n\t r.cursor = r.end;\n\t });\n\t sel.fromOrientedRange(ranges[0]);\n\t this.renderer.updateCursor();\n\t this.renderer.updateBackMarkers();\n\t }\n\t };\n\t\n\t this.$reAlignText = function(lines, forceLeft) {\n\t var isLeftAligned = true, isRightAligned = true;\n\t var startW, textW, endW;\n\t\n\t return lines.map(function(line) {\n\t var m = line.match(/(\\s*)(.*?)(\\s*)([=:].*)/);\n\t if (!m)\n\t return [line];\n\t\n\t if (startW == null) {\n\t startW = m[1].length;\n\t textW = m[2].length;\n\t endW = m[3].length;\n\t return m;\n\t }\n\t\n\t if (startW + textW + endW != m[1].length + m[2].length + m[3].length)\n\t isRightAligned = false;\n\t if (startW != m[1].length)\n\t isLeftAligned = false;\n\t\n\t if (startW > m[1].length)\n\t startW = m[1].length;\n\t if (textW < m[2].length)\n\t textW = m[2].length;\n\t if (endW > m[3].length)\n\t endW = m[3].length;\n\t\n\t return m;\n\t }).map(forceLeft ? alignLeft :\n\t isLeftAligned ? isRightAligned ? alignRight : alignLeft : unAlign);\n\t\n\t function spaces(n) {\n\t return lang.stringRepeat(\" \", n);\n\t }\n\t\n\t function alignLeft(m) {\n\t return !m[2] ? m[0] : spaces(startW) + m[2]\n\t + spaces(textW - m[2].length + endW)\n\t + m[4].replace(/^([=:])\\s+/, \"$1 \");\n\t }\n\t function alignRight(m) {\n\t return !m[2] ? m[0] : spaces(startW + textW - m[2].length) + m[2]\n\t + spaces(endW, \" \")\n\t + m[4].replace(/^([=:])\\s+/, \"$1 \");\n\t }\n\t function unAlign(m) {\n\t return !m[2] ? m[0] : spaces(startW) + m[2]\n\t + spaces(endW)\n\t + m[4].replace(/^([=:])\\s+/, \"$1 \");\n\t }\n\t };\n\t}).call(Editor.prototype);\n\t\n\t\n\tfunction isSamePoint(p1, p2) {\n\t return p1.row == p2.row && p1.column == p2.column;\n\t}\n\texports.onSessionChange = function(e) {\n\t var session = e.session;\n\t if (session && !session.multiSelect) {\n\t session.$selectionMarkers = [];\n\t session.selection.$initRangeList();\n\t session.multiSelect = session.selection;\n\t }\n\t this.multiSelect = session && session.multiSelect;\n\t\n\t var oldSession = e.oldSession;\n\t if (oldSession) {\n\t oldSession.multiSelect.off(\"addRange\", this.$onAddRange);\n\t oldSession.multiSelect.off(\"removeRange\", this.$onRemoveRange);\n\t oldSession.multiSelect.off(\"multiSelect\", this.$onMultiSelect);\n\t oldSession.multiSelect.off(\"singleSelect\", this.$onSingleSelect);\n\t oldSession.multiSelect.lead.off(\"change\", this.$checkMultiselectChange);\n\t oldSession.multiSelect.anchor.off(\"change\", this.$checkMultiselectChange);\n\t }\n\t\n\t if (session) {\n\t session.multiSelect.on(\"addRange\", this.$onAddRange);\n\t session.multiSelect.on(\"removeRange\", this.$onRemoveRange);\n\t session.multiSelect.on(\"multiSelect\", this.$onMultiSelect);\n\t session.multiSelect.on(\"singleSelect\", this.$onSingleSelect);\n\t session.multiSelect.lead.on(\"change\", this.$checkMultiselectChange);\n\t session.multiSelect.anchor.on(\"change\", this.$checkMultiselectChange);\n\t }\n\t\n\t if (session && this.inMultiSelectMode != session.selection.inMultiSelectMode) {\n\t if (session.selection.inMultiSelectMode)\n\t this.$onMultiSelect();\n\t else\n\t this.$onSingleSelect();\n\t }\n\t};\n\tfunction MultiSelect(editor) {\n\t if (editor.$multiselectOnSessionChange)\n\t return;\n\t editor.$onAddRange = editor.$onAddRange.bind(editor);\n\t editor.$onRemoveRange = editor.$onRemoveRange.bind(editor);\n\t editor.$onMultiSelect = editor.$onMultiSelect.bind(editor);\n\t editor.$onSingleSelect = editor.$onSingleSelect.bind(editor);\n\t editor.$multiselectOnSessionChange = exports.onSessionChange.bind(editor);\n\t editor.$checkMultiselectChange = editor.$checkMultiselectChange.bind(editor);\n\t\n\t editor.$multiselectOnSessionChange(editor);\n\t editor.on(\"changeSession\", editor.$multiselectOnSessionChange);\n\t\n\t editor.on(\"mousedown\", onMouseDown);\n\t editor.commands.addCommands(commands.defaultCommands);\n\t\n\t addAltCursorListeners(editor);\n\t}\n\t\n\tfunction addAltCursorListeners(editor){\n\t var el = editor.textInput.getElement();\n\t var altCursor = false;\n\t event.addListener(el, \"keydown\", function(e) {\n\t var altDown = e.keyCode == 18 && !(e.ctrlKey || e.shiftKey || e.metaKey);\n\t if (editor.$blockSelectEnabled && altDown) {\n\t if (!altCursor) {\n\t editor.renderer.setMouseCursor(\"crosshair\");\n\t altCursor = true;\n\t }\n\t } else if (altCursor) {\n\t reset();\n\t }\n\t });\n\t\n\t event.addListener(el, \"keyup\", reset);\n\t event.addListener(el, \"blur\", reset);\n\t function reset(e) {\n\t if (altCursor) {\n\t editor.renderer.setMouseCursor(\"\");\n\t altCursor = false;\n\t }\n\t }\n\t}\n\t\n\texports.MultiSelect = MultiSelect;\n\t\n\t\n\tacequire(\"./config\").defineOptions(Editor.prototype, \"editor\", {\n\t enableMultiselect: {\n\t set: function(val) {\n\t MultiSelect(this);\n\t if (val) {\n\t this.on(\"changeSession\", this.$multiselectOnSessionChange);\n\t this.on(\"mousedown\", onMouseDown);\n\t } else {\n\t this.off(\"changeSession\", this.$multiselectOnSessionChange);\n\t this.off(\"mousedown\", onMouseDown);\n\t }\n\t },\n\t value: true\n\t },\n\t enableBlockSelect: {\n\t set: function(val) {\n\t this.$blockSelectEnabled = val;\n\t },\n\t value: true\n\t }\n\t});\n\t\n\t\n\t\n\t});\n\t\n\tace.define(\"ace/mode/folding/fold_mode\",[\"require\",\"exports\",\"module\",\"ace/range\"], function(acequire, exports, module) {\n\t\"use strict\";\n\t\n\tvar Range = acequire(\"../../range\").Range;\n\t\n\tvar FoldMode = exports.FoldMode = function() {};\n\t\n\t(function() {\n\t\n\t this.foldingStartMarker = null;\n\t this.foldingStopMarker = null;\n\t this.getFoldWidget = function(session, foldStyle, row) {\n\t var line = session.getLine(row);\n\t if (this.foldingStartMarker.test(line))\n\t return \"start\";\n\t if (foldStyle == \"markbeginend\"\n\t && this.foldingStopMarker\n\t && this.foldingStopMarker.test(line))\n\t return \"end\";\n\t return \"\";\n\t };\n\t\n\t this.getFoldWidgetRange = function(session, foldStyle, row) {\n\t return null;\n\t };\n\t\n\t this.indentationBlock = function(session, row, column) {\n\t var re = /\\S/;\n\t var line = session.getLine(row);\n\t var startLevel = line.search(re);\n\t if (startLevel == -1)\n\t return;\n\t\n\t var startColumn = column || line.length;\n\t var maxRow = session.getLength();\n\t var startRow = row;\n\t var endRow = row;\n\t\n\t while (++row < maxRow) {\n\t var level = session.getLine(row).search(re);\n\t\n\t if (level == -1)\n\t continue;\n\t\n\t if (level <= startLevel)\n\t break;\n\t\n\t endRow = row;\n\t }\n\t\n\t if (endRow > startRow) {\n\t var endColumn = session.getLine(endRow).length;\n\t return new Range(startRow, startColumn, endRow, endColumn);\n\t }\n\t };\n\t\n\t this.openingBracketBlock = function(session, bracket, row, column, typeRe) {\n\t var start = {row: row, column: column + 1};\n\t var end = session.$findClosingBracket(bracket, start, typeRe);\n\t if (!end)\n\t return;\n\t\n\t var fw = session.foldWidgets[end.row];\n\t if (fw == null)\n\t fw = session.getFoldWidget(end.row);\n\t\n\t if (fw == \"start\" && end.row > start.row) {\n\t end.row --;\n\t end.column = session.getLine(end.row).length;\n\t }\n\t return Range.fromPoints(start, end);\n\t };\n\t\n\t this.closingBracketBlock = function(session, bracket, row, column, typeRe) {\n\t var end = {row: row, column: column};\n\t var start = session.$findOpeningBracket(bracket, end);\n\t\n\t if (!start)\n\t return;\n\t\n\t start.column++;\n\t end.column--;\n\t\n\t return Range.fromPoints(start, end);\n\t };\n\t}).call(FoldMode.prototype);\n\t\n\t});\n\t\n\tace.define(\"ace/theme/textmate\",[\"require\",\"exports\",\"module\",\"ace/lib/dom\"], function(acequire, exports, module) {\n\t\"use strict\";\n\t\n\texports.isDark = false;\n\texports.cssClass = \"ace-tm\";\n\texports.cssText = \".ace-tm .ace_gutter {\\\n\tbackground: #f0f0f0;\\\n\tcolor: #333;\\\n\t}\\\n\t.ace-tm .ace_print-margin {\\\n\twidth: 1px;\\\n\tbackground: #e8e8e8;\\\n\t}\\\n\t.ace-tm .ace_fold {\\\n\tbackground-color: #6B72E6;\\\n\t}\\\n\t.ace-tm {\\\n\tbackground-color: #FFFFFF;\\\n\tcolor: black;\\\n\t}\\\n\t.ace-tm .ace_cursor {\\\n\tcolor: black;\\\n\t}\\\n\t.ace-tm .ace_invisible {\\\n\tcolor: rgb(191, 191, 191);\\\n\t}\\\n\t.ace-tm .ace_storage,\\\n\t.ace-tm .ace_keyword {\\\n\tcolor: blue;\\\n\t}\\\n\t.ace-tm .ace_constant {\\\n\tcolor: rgb(197, 6, 11);\\\n\t}\\\n\t.ace-tm .ace_constant.ace_buildin {\\\n\tcolor: rgb(88, 72, 246);\\\n\t}\\\n\t.ace-tm .ace_constant.ace_language {\\\n\tcolor: rgb(88, 92, 246);\\\n\t}\\\n\t.ace-tm .ace_constant.ace_library {\\\n\tcolor: rgb(6, 150, 14);\\\n\t}\\\n\t.ace-tm .ace_invalid {\\\n\tbackground-color: rgba(255, 0, 0, 0.1);\\\n\tcolor: red;\\\n\t}\\\n\t.ace-tm .ace_support.ace_function {\\\n\tcolor: rgb(60, 76, 114);\\\n\t}\\\n\t.ace-tm .ace_support.ace_constant {\\\n\tcolor: rgb(6, 150, 14);\\\n\t}\\\n\t.ace-tm .ace_support.ace_type,\\\n\t.ace-tm .ace_support.ace_class {\\\n\tcolor: rgb(109, 121, 222);\\\n\t}\\\n\t.ace-tm .ace_keyword.ace_operator {\\\n\tcolor: rgb(104, 118, 135);\\\n\t}\\\n\t.ace-tm .ace_string {\\\n\tcolor: rgb(3, 106, 7);\\\n\t}\\\n\t.ace-tm .ace_comment {\\\n\tcolor: rgb(76, 136, 107);\\\n\t}\\\n\t.ace-tm .ace_comment.ace_doc {\\\n\tcolor: rgb(0, 102, 255);\\\n\t}\\\n\t.ace-tm .ace_comment.ace_doc.ace_tag {\\\n\tcolor: rgb(128, 159, 191);\\\n\t}\\\n\t.ace-tm .ace_constant.ace_numeric {\\\n\tcolor: rgb(0, 0, 205);\\\n\t}\\\n\t.ace-tm .ace_variable {\\\n\tcolor: rgb(49, 132, 149);\\\n\t}\\\n\t.ace-tm .ace_xml-pe {\\\n\tcolor: rgb(104, 104, 91);\\\n\t}\\\n\t.ace-tm .ace_entity.ace_name.ace_function {\\\n\tcolor: #0000A2;\\\n\t}\\\n\t.ace-tm .ace_heading {\\\n\tcolor: rgb(12, 7, 255);\\\n\t}\\\n\t.ace-tm .ace_list {\\\n\tcolor:rgb(185, 6, 144);\\\n\t}\\\n\t.ace-tm .ace_meta.ace_tag {\\\n\tcolor:rgb(0, 22, 142);\\\n\t}\\\n\t.ace-tm .ace_string.ace_regex {\\\n\tcolor: rgb(255, 0, 0)\\\n\t}\\\n\t.ace-tm .ace_marker-layer .ace_selection {\\\n\tbackground: rgb(181, 213, 255);\\\n\t}\\\n\t.ace-tm.ace_multiselect .ace_selection.ace_start {\\\n\tbox-shadow: 0 0 3px 0px white;\\\n\t}\\\n\t.ace-tm .ace_marker-layer .ace_step {\\\n\tbackground: rgb(252, 255, 0);\\\n\t}\\\n\t.ace-tm .ace_marker-layer .ace_stack {\\\n\tbackground: rgb(164, 229, 101);\\\n\t}\\\n\t.ace-tm .ace_marker-layer .ace_bracket {\\\n\tmargin: -1px 0 0 -1px;\\\n\tborder: 1px solid rgb(192, 192, 192);\\\n\t}\\\n\t.ace-tm .ace_marker-layer .ace_active-line {\\\n\tbackground: rgba(0, 0, 0, 0.07);\\\n\t}\\\n\t.ace-tm .ace_gutter-active-line {\\\n\tbackground-color : #dcdcdc;\\\n\t}\\\n\t.ace-tm .ace_marker-layer .ace_selected-word {\\\n\tbackground: rgb(250, 250, 255);\\\n\tborder: 1px solid rgb(200, 200, 250);\\\n\t}\\\n\t.ace-tm .ace_indent-guide {\\\n\tbackground: url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==\\\") right repeat-y;\\\n\t}\\\n\t\";\n\t\n\tvar dom = acequire(\"../lib/dom\");\n\tdom.importCssString(exports.cssText, exports.cssClass);\n\t});\n\t\n\tace.define(\"ace/line_widgets\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/lib/dom\",\"ace/range\"], function(acequire, exports, module) {\n\t\"use strict\";\n\t\n\tvar oop = acequire(\"./lib/oop\");\n\tvar dom = acequire(\"./lib/dom\");\n\tvar Range = acequire(\"./range\").Range;\n\t\n\t\n\tfunction LineWidgets(session) {\n\t this.session = session;\n\t this.session.widgetManager = this;\n\t this.session.getRowLength = this.getRowLength;\n\t this.session.$getWidgetScreenLength = this.$getWidgetScreenLength;\n\t this.updateOnChange = this.updateOnChange.bind(this);\n\t this.renderWidgets = this.renderWidgets.bind(this);\n\t this.measureWidgets = this.measureWidgets.bind(this);\n\t this.session._changedWidgets = [];\n\t this.$onChangeEditor = this.$onChangeEditor.bind(this);\n\t \n\t this.session.on(\"change\", this.updateOnChange);\n\t this.session.on(\"changeFold\", this.updateOnFold);\n\t this.session.on(\"changeEditor\", this.$onChangeEditor);\n\t}\n\t\n\t(function() {\n\t this.getRowLength = function(row) {\n\t var h;\n\t if (this.lineWidgets)\n\t h = this.lineWidgets[row] && this.lineWidgets[row].rowCount || 0;\n\t else \n\t h = 0;\n\t if (!this.$useWrapMode || !this.$wrapData[row]) {\n\t return 1 + h;\n\t } else {\n\t return this.$wrapData[row].length + 1 + h;\n\t }\n\t };\n\t\n\t this.$getWidgetScreenLength = function() {\n\t var screenRows = 0;\n\t this.lineWidgets.forEach(function(w){\n\t if (w && w.rowCount && !w.hidden)\n\t screenRows += w.rowCount;\n\t });\n\t return screenRows;\n\t }; \n\t \n\t this.$onChangeEditor = function(e) {\n\t this.attach(e.editor);\n\t };\n\t \n\t this.attach = function(editor) {\n\t if (editor && editor.widgetManager && editor.widgetManager != this)\n\t editor.widgetManager.detach();\n\t\n\t if (this.editor == editor)\n\t return;\n\t\n\t this.detach();\n\t this.editor = editor;\n\t \n\t if (editor) {\n\t editor.widgetManager = this;\n\t editor.renderer.on(\"beforeRender\", this.measureWidgets);\n\t editor.renderer.on(\"afterRender\", this.renderWidgets);\n\t }\n\t };\n\t this.detach = function(e) {\n\t var editor = this.editor;\n\t if (!editor)\n\t return;\n\t \n\t this.editor = null;\n\t editor.widgetManager = null;\n\t \n\t editor.renderer.off(\"beforeRender\", this.measureWidgets);\n\t editor.renderer.off(\"afterRender\", this.renderWidgets);\n\t var lineWidgets = this.session.lineWidgets;\n\t lineWidgets && lineWidgets.forEach(function(w) {\n\t if (w && w.el && w.el.parentNode) {\n\t w._inDocument = false;\n\t w.el.parentNode.removeChild(w.el);\n\t }\n\t });\n\t };\n\t\n\t this.updateOnFold = function(e, session) {\n\t var lineWidgets = session.lineWidgets;\n\t if (!lineWidgets || !e.action)\n\t return;\n\t var fold = e.data;\n\t var start = fold.start.row;\n\t var end = fold.end.row;\n\t var hide = e.action == \"add\";\n\t for (var i = start + 1; i < end; i++) {\n\t if (lineWidgets[i])\n\t lineWidgets[i].hidden = hide;\n\t }\n\t if (lineWidgets[end]) {\n\t if (hide) {\n\t if (!lineWidgets[start])\n\t lineWidgets[start] = lineWidgets[end];\n\t else\n\t lineWidgets[end].hidden = hide;\n\t } else {\n\t if (lineWidgets[start] == lineWidgets[end])\n\t lineWidgets[start] = undefined;\n\t lineWidgets[end].hidden = hide;\n\t }\n\t }\n\t };\n\t \n\t this.updateOnChange = function(delta) {\n\t var lineWidgets = this.session.lineWidgets;\n\t if (!lineWidgets) return;\n\t \n\t var startRow = delta.start.row;\n\t var len = delta.end.row - startRow;\n\t\n\t if (len === 0) {\n\t } else if (delta.action == 'remove') {\n\t var removed = lineWidgets.splice(startRow + 1, len);\n\t removed.forEach(function(w) {\n\t w && this.removeLineWidget(w);\n\t }, this);\n\t this.$updateRows();\n\t } else {\n\t var args = new Array(len);\n\t args.unshift(startRow, 0);\n\t lineWidgets.splice.apply(lineWidgets, args);\n\t this.$updateRows();\n\t }\n\t };\n\t \n\t this.$updateRows = function() {\n\t var lineWidgets = this.session.lineWidgets;\n\t if (!lineWidgets) return;\n\t var noWidgets = true;\n\t lineWidgets.forEach(function(w, i) {\n\t if (w) {\n\t noWidgets = false;\n\t w.row = i;\n\t while (w.$oldWidget) {\n\t w.$oldWidget.row = i;\n\t w = w.$oldWidget;\n\t }\n\t }\n\t });\n\t if (noWidgets)\n\t this.session.lineWidgets = null;\n\t };\n\t\n\t this.addLineWidget = function(w) {\n\t if (!this.session.lineWidgets)\n\t this.session.lineWidgets = new Array(this.session.getLength());\n\t \n\t var old = this.session.lineWidgets[w.row];\n\t if (old) {\n\t w.$oldWidget = old;\n\t if (old.el && old.el.parentNode) {\n\t old.el.parentNode.removeChild(old.el);\n\t old._inDocument = false;\n\t }\n\t }\n\t \n\t this.session.lineWidgets[w.row] = w;\n\t \n\t w.session = this.session;\n\t \n\t var renderer = this.editor.renderer;\n\t if (w.html && !w.el) {\n\t w.el = dom.createElement(\"div\");\n\t w.el.innerHTML = w.html;\n\t }\n\t if (w.el) {\n\t dom.addCssClass(w.el, \"ace_lineWidgetContainer\");\n\t w.el.style.position = \"absolute\";\n\t w.el.style.zIndex = 5;\n\t renderer.container.appendChild(w.el);\n\t w._inDocument = true;\n\t }\n\t \n\t if (!w.coverGutter) {\n\t w.el.style.zIndex = 3;\n\t }\n\t if (!w.pixelHeight) {\n\t w.pixelHeight = w.el.offsetHeight;\n\t }\n\t if (w.rowCount == null) {\n\t w.rowCount = w.pixelHeight / renderer.layerConfig.lineHeight;\n\t }\n\t \n\t var fold = this.session.getFoldAt(w.row, 0);\n\t w.$fold = fold;\n\t if (fold) {\n\t var lineWidgets = this.session.lineWidgets;\n\t if (w.row == fold.end.row && !lineWidgets[fold.start.row])\n\t lineWidgets[fold.start.row] = w;\n\t else\n\t w.hidden = true;\n\t }\n\t \n\t this.session._emit(\"changeFold\", {data:{start:{row: w.row}}});\n\t \n\t this.$updateRows();\n\t this.renderWidgets(null, renderer);\n\t this.onWidgetChanged(w);\n\t return w;\n\t };\n\t \n\t this.removeLineWidget = function(w) {\n\t w._inDocument = false;\n\t w.session = null;\n\t if (w.el && w.el.parentNode)\n\t w.el.parentNode.removeChild(w.el);\n\t if (w.editor && w.editor.destroy) try {\n\t w.editor.destroy();\n\t } catch(e){}\n\t if (this.session.lineWidgets) {\n\t var w1 = this.session.lineWidgets[w.row]\n\t if (w1 == w) {\n\t this.session.lineWidgets[w.row] = w.$oldWidget;\n\t if (w.$oldWidget)\n\t this.onWidgetChanged(w.$oldWidget);\n\t } else {\n\t while (w1) {\n\t if (w1.$oldWidget == w) {\n\t w1.$oldWidget = w.$oldWidget;\n\t break;\n\t }\n\t w1 = w1.$oldWidget;\n\t }\n\t }\n\t }\n\t this.session._emit(\"changeFold\", {data:{start:{row: w.row}}});\n\t this.$updateRows();\n\t };\n\t \n\t this.getWidgetsAtRow = function(row) {\n\t var lineWidgets = this.session.lineWidgets;\n\t var w = lineWidgets && lineWidgets[row];\n\t var list = [];\n\t while (w) {\n\t list.push(w);\n\t w = w.$oldWidget;\n\t }\n\t return list;\n\t };\n\t \n\t this.onWidgetChanged = function(w) {\n\t this.session._changedWidgets.push(w);\n\t this.editor && this.editor.renderer.updateFull();\n\t };\n\t \n\t this.measureWidgets = function(e, renderer) {\n\t var changedWidgets = this.session._changedWidgets;\n\t var config = renderer.layerConfig;\n\t \n\t if (!changedWidgets || !changedWidgets.length) return;\n\t var min = Infinity;\n\t for (var i = 0; i < changedWidgets.length; i++) {\n\t var w = changedWidgets[i];\n\t if (!w || !w.el) continue;\n\t if (w.session != this.session) continue;\n\t if (!w._inDocument) {\n\t if (this.session.lineWidgets[w.row] != w)\n\t continue;\n\t w._inDocument = true;\n\t renderer.container.appendChild(w.el);\n\t }\n\t \n\t w.h = w.el.offsetHeight;\n\t \n\t if (!w.fixedWidth) {\n\t w.w = w.el.offsetWidth;\n\t w.screenWidth = Math.ceil(w.w / config.characterWidth);\n\t }\n\t \n\t var rowCount = w.h / config.lineHeight;\n\t if (w.coverLine) {\n\t rowCount -= this.session.getRowLineCount(w.row);\n\t if (rowCount < 0)\n\t rowCount = 0;\n\t }\n\t if (w.rowCount != rowCount) {\n\t w.rowCount = rowCount;\n\t if (w.row < min)\n\t min = w.row;\n\t }\n\t }\n\t if (min != Infinity) {\n\t this.session._emit(\"changeFold\", {data:{start:{row: min}}});\n\t this.session.lineWidgetWidth = null;\n\t }\n\t this.session._changedWidgets = [];\n\t };\n\t \n\t this.renderWidgets = function(e, renderer) {\n\t var config = renderer.layerConfig;\n\t var lineWidgets = this.session.lineWidgets;\n\t if (!lineWidgets)\n\t return;\n\t var first = Math.min(this.firstRow, config.firstRow);\n\t var last = Math.max(this.lastRow, config.lastRow, lineWidgets.length);\n\t \n\t while (first > 0 && !lineWidgets[first])\n\t first--;\n\t \n\t this.firstRow = config.firstRow;\n\t this.lastRow = config.lastRow;\n\t\n\t renderer.$cursorLayer.config = config;\n\t for (var i = first; i <= last; i++) {\n\t var w = lineWidgets[i];\n\t if (!w || !w.el) continue;\n\t if (w.hidden) {\n\t w.el.style.top = -100 - (w.pixelHeight || 0) + \"px\";\n\t continue;\n\t }\n\t if (!w._inDocument) {\n\t w._inDocument = true;\n\t renderer.container.appendChild(w.el);\n\t }\n\t var top = renderer.$cursorLayer.getPixelPosition({row: i, column:0}, true).top;\n\t if (!w.coverLine)\n\t top += config.lineHeight * this.session.getRowLineCount(w.row);\n\t w.el.style.top = top - config.offset + \"px\";\n\t \n\t var left = w.coverGutter ? 0 : renderer.gutterWidth;\n\t if (!w.fixedWidth)\n\t left -= renderer.scrollLeft;\n\t w.el.style.left = left + \"px\";\n\t \n\t if (w.fullWidth && w.screenWidth) {\n\t w.el.style.minWidth = config.width + 2 * config.padding + \"px\";\n\t }\n\t \n\t if (w.fixedWidth) {\n\t w.el.style.right = renderer.scrollBar.getWidth() + \"px\";\n\t } else {\n\t w.el.style.right = \"\";\n\t }\n\t }\n\t };\n\t \n\t}).call(LineWidgets.prototype);\n\t\n\t\n\texports.LineWidgets = LineWidgets;\n\t\n\t});\n\t\n\tace.define(\"ace/ext/error_marker\",[\"require\",\"exports\",\"module\",\"ace/line_widgets\",\"ace/lib/dom\",\"ace/range\"], function(acequire, exports, module) {\n\t\"use strict\";\n\tvar LineWidgets = acequire(\"../line_widgets\").LineWidgets;\n\tvar dom = acequire(\"../lib/dom\");\n\tvar Range = acequire(\"../range\").Range;\n\t\n\tfunction binarySearch(array, needle, comparator) {\n\t var first = 0;\n\t var last = array.length - 1;\n\t\n\t while (first <= last) {\n\t var mid = (first + last) >> 1;\n\t var c = comparator(needle, array[mid]);\n\t if (c > 0)\n\t first = mid + 1;\n\t else if (c < 0)\n\t last = mid - 1;\n\t else\n\t return mid;\n\t }\n\t return -(first + 1);\n\t}\n\t\n\tfunction findAnnotations(session, row, dir) {\n\t var annotations = session.getAnnotations().sort(Range.comparePoints);\n\t if (!annotations.length)\n\t return;\n\t \n\t var i = binarySearch(annotations, {row: row, column: -1}, Range.comparePoints);\n\t if (i < 0)\n\t i = -i - 1;\n\t \n\t if (i >= annotations.length)\n\t i = dir > 0 ? 0 : annotations.length - 1;\n\t else if (i === 0 && dir < 0)\n\t i = annotations.length - 1;\n\t \n\t var annotation = annotations[i];\n\t if (!annotation || !dir)\n\t return;\n\t\n\t if (annotation.row === row) {\n\t do {\n\t annotation = annotations[i += dir];\n\t } while (annotation && annotation.row === row);\n\t if (!annotation)\n\t return annotations.slice();\n\t }\n\t \n\t \n\t var matched = [];\n\t row = annotation.row;\n\t do {\n\t matched[dir < 0 ? \"unshift\" : \"push\"](annotation);\n\t annotation = annotations[i += dir];\n\t } while (annotation && annotation.row == row);\n\t return matched.length && matched;\n\t}\n\t\n\texports.showErrorMarker = function(editor, dir) {\n\t var session = editor.session;\n\t if (!session.widgetManager) {\n\t session.widgetManager = new LineWidgets(session);\n\t session.widgetManager.attach(editor);\n\t }\n\t \n\t var pos = editor.getCursorPosition();\n\t var row = pos.row;\n\t var oldWidget = session.widgetManager.getWidgetsAtRow(row).filter(function(w) {\n\t return w.type == \"errorMarker\";\n\t })[0];\n\t if (oldWidget) {\n\t oldWidget.destroy();\n\t } else {\n\t row -= dir;\n\t }\n\t var annotations = findAnnotations(session, row, dir);\n\t var gutterAnno;\n\t if (annotations) {\n\t var annotation = annotations[0];\n\t pos.column = (annotation.pos && typeof annotation.column != \"number\"\n\t ? annotation.pos.sc\n\t : annotation.column) || 0;\n\t pos.row = annotation.row;\n\t gutterAnno = editor.renderer.$gutterLayer.$annotations[pos.row];\n\t } else if (oldWidget) {\n\t return;\n\t } else {\n\t gutterAnno = {\n\t text: [\"Looks good!\"],\n\t className: \"ace_ok\"\n\t };\n\t }\n\t editor.session.unfold(pos.row);\n\t editor.selection.moveToPosition(pos);\n\t \n\t var w = {\n\t row: pos.row, \n\t fixedWidth: true,\n\t coverGutter: true,\n\t el: dom.createElement(\"div\"),\n\t type: \"errorMarker\"\n\t };\n\t var el = w.el.appendChild(dom.createElement(\"div\"));\n\t var arrow = w.el.appendChild(dom.createElement(\"div\"));\n\t arrow.className = \"error_widget_arrow \" + gutterAnno.className;\n\t \n\t var left = editor.renderer.$cursorLayer\n\t .getPixelPosition(pos).left;\n\t arrow.style.left = left + editor.renderer.gutterWidth - 5 + \"px\";\n\t \n\t w.el.className = \"error_widget_wrapper\";\n\t el.className = \"error_widget \" + gutterAnno.className;\n\t el.innerHTML = gutterAnno.text.join(\"<br>\");\n\t \n\t el.appendChild(dom.createElement(\"div\"));\n\t \n\t var kb = function(_, hashId, keyString) {\n\t if (hashId === 0 && (keyString === \"esc\" || keyString === \"return\")) {\n\t w.destroy();\n\t return {command: \"null\"};\n\t }\n\t };\n\t \n\t w.destroy = function() {\n\t if (editor.$mouseHandler.isMousePressed)\n\t return;\n\t editor.keyBinding.removeKeyboardHandler(kb);\n\t session.widgetManager.removeLineWidget(w);\n\t editor.off(\"changeSelection\", w.destroy);\n\t editor.off(\"changeSession\", w.destroy);\n\t editor.off(\"mouseup\", w.destroy);\n\t editor.off(\"change\", w.destroy);\n\t };\n\t \n\t editor.keyBinding.addKeyboardHandler(kb);\n\t editor.on(\"changeSelection\", w.destroy);\n\t editor.on(\"changeSession\", w.destroy);\n\t editor.on(\"mouseup\", w.destroy);\n\t editor.on(\"change\", w.destroy);\n\t \n\t editor.session.widgetManager.addLineWidget(w);\n\t \n\t w.el.onmousedown = editor.focus.bind(editor);\n\t \n\t editor.renderer.scrollCursorIntoView(null, 0.5, {bottom: w.el.offsetHeight});\n\t};\n\t\n\t\n\tdom.importCssString(\"\\\n\t .error_widget_wrapper {\\\n\t background: inherit;\\\n\t color: inherit;\\\n\t border:none\\\n\t }\\\n\t .error_widget {\\\n\t border-top: solid 2px;\\\n\t border-bottom: solid 2px;\\\n\t margin: 5px 0;\\\n\t padding: 10px 40px;\\\n\t white-space: pre-wrap;\\\n\t }\\\n\t .error_widget.ace_error, .error_widget_arrow.ace_error{\\\n\t border-color: #ff5a5a\\\n\t }\\\n\t .error_widget.ace_warning, .error_widget_arrow.ace_warning{\\\n\t border-color: #F1D817\\\n\t }\\\n\t .error_widget.ace_info, .error_widget_arrow.ace_info{\\\n\t border-color: #5a5a5a\\\n\t }\\\n\t .error_widget.ace_ok, .error_widget_arrow.ace_ok{\\\n\t border-color: #5aaa5a\\\n\t }\\\n\t .error_widget_arrow {\\\n\t position: absolute;\\\n\t border: solid 5px;\\\n\t border-top-color: transparent!important;\\\n\t border-right-color: transparent!important;\\\n\t border-left-color: transparent!important;\\\n\t top: -5px;\\\n\t }\\\n\t\", \"\");\n\t\n\t});\n\t\n\tace.define(\"ace/ace\",[\"require\",\"exports\",\"module\",\"ace/lib/fixoldbrowsers\",\"ace/lib/dom\",\"ace/lib/event\",\"ace/editor\",\"ace/edit_session\",\"ace/undomanager\",\"ace/virtual_renderer\",\"ace/worker/worker_client\",\"ace/keyboard/hash_handler\",\"ace/placeholder\",\"ace/multi_select\",\"ace/mode/folding/fold_mode\",\"ace/theme/textmate\",\"ace/ext/error_marker\",\"ace/config\"], function(acequire, exports, module) {\n\t\"use strict\";\n\t\n\tacequire(\"./lib/fixoldbrowsers\");\n\t\n\tvar dom = acequire(\"./lib/dom\");\n\tvar event = acequire(\"./lib/event\");\n\t\n\tvar Editor = acequire(\"./editor\").Editor;\n\tvar EditSession = acequire(\"./edit_session\").EditSession;\n\tvar UndoManager = acequire(\"./undomanager\").UndoManager;\n\tvar Renderer = acequire(\"./virtual_renderer\").VirtualRenderer;\n\tacequire(\"./worker/worker_client\");\n\tacequire(\"./keyboard/hash_handler\");\n\tacequire(\"./placeholder\");\n\tacequire(\"./multi_select\");\n\tacequire(\"./mode/folding/fold_mode\");\n\tacequire(\"./theme/textmate\");\n\tacequire(\"./ext/error_marker\");\n\t\n\texports.config = acequire(\"./config\");\n\texports.acequire = acequire;\n\texports.edit = function(el) {\n\t if (typeof el == \"string\") {\n\t var _id = el;\n\t el = document.getElementById(_id);\n\t if (!el)\n\t throw new Error(\"ace.edit can't find div #\" + _id);\n\t }\n\t\n\t if (el && el.env && el.env.editor instanceof Editor)\n\t return el.env.editor;\n\t\n\t var value = \"\";\n\t if (el && /input|textarea/i.test(el.tagName)) {\n\t var oldNode = el;\n\t value = oldNode.value;\n\t el = dom.createElement(\"pre\");\n\t oldNode.parentNode.replaceChild(el, oldNode);\n\t } else if (el) {\n\t value = dom.getInnerText(el);\n\t el.innerHTML = \"\";\n\t }\n\t\n\t var doc = exports.createEditSession(value);\n\t\n\t var editor = new Editor(new Renderer(el));\n\t editor.setSession(doc);\n\t\n\t var env = {\n\t document: doc,\n\t editor: editor,\n\t onResize: editor.resize.bind(editor, null)\n\t };\n\t if (oldNode) env.textarea = oldNode;\n\t event.addListener(window, \"resize\", env.onResize);\n\t editor.on(\"destroy\", function() {\n\t event.removeListener(window, \"resize\", env.onResize);\n\t env.editor.container.env = null; // prevent memory leak on old ie\n\t });\n\t editor.container.env = editor.env = env;\n\t return editor;\n\t};\n\texports.createEditSession = function(text, mode) {\n\t var doc = new EditSession(text, mode);\n\t doc.setUndoManager(new UndoManager());\n\t return doc;\n\t}\n\texports.EditSession = EditSession;\n\texports.UndoManager = UndoManager;\n\texports.version = \"1.2.3\";\n\t});\n\t (function() {\n\t ace.acequire([\"ace/ace\"], function(a) {\n\t a && a.config.init(true);\n\t if (!window.ace)\n\t window.ace = a;\n\t for (var key in a) if (a.hasOwnProperty(key))\n\t window.ace[key] = a[key];\n\t });\n\t })();\n\t \n\tmodule.exports = window.ace.acequire(\"ace/ace\");\n\n/***/ },\n/* 539 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t(function webpackUniversalModuleDefinition(root, factory) {\n\t\tif(true)\n\t\t\tmodule.exports = factory(__webpack_require__(2));\n\t\telse if(typeof define === 'function' && define.amd)\n\t\t\tdefine([\"react\"], factory);\n\t\telse if(typeof exports === 'object')\n\t\t\texports[\"Dropzone\"] = factory(require(\"react\"));\n\t\telse\n\t\t\troot[\"Dropzone\"] = factory(root[\"react\"]);\n\t})(this, function(__WEBPACK_EXTERNAL_MODULE_1__) {\n\treturn /******/ (function(modules) { // webpackBootstrap\n\t/******/ \t// The module cache\n\t/******/ \tvar installedModules = {};\n\t/******/\n\t/******/ \t// The require function\n\t/******/ \tfunction __webpack_require__(moduleId) {\n\t/******/\n\t/******/ \t\t// Check if module is in cache\n\t/******/ \t\tif(installedModules[moduleId])\n\t/******/ \t\t\treturn installedModules[moduleId].exports;\n\t/******/\n\t/******/ \t\t// Create a new module (and put it into the cache)\n\t/******/ \t\tvar module = installedModules[moduleId] = {\n\t/******/ \t\t\texports: {},\n\t/******/ \t\t\tid: moduleId,\n\t/******/ \t\t\tloaded: false\n\t/******/ \t\t};\n\t/******/\n\t/******/ \t\t// Execute the module function\n\t/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\t/******/\n\t/******/ \t\t// Flag the module as loaded\n\t/******/ \t\tmodule.loaded = true;\n\t/******/\n\t/******/ \t\t// Return the exports of the module\n\t/******/ \t\treturn module.exports;\n\t/******/ \t}\n\t/******/\n\t/******/\n\t/******/ \t// expose the modules object (__webpack_modules__)\n\t/******/ \t__webpack_require__.m = modules;\n\t/******/\n\t/******/ \t// expose the module cache\n\t/******/ \t__webpack_require__.c = installedModules;\n\t/******/\n\t/******/ \t// __webpack_public_path__\n\t/******/ \t__webpack_require__.p = \"\";\n\t/******/\n\t/******/ \t// Load entry module and return exports\n\t/******/ \treturn __webpack_require__(0);\n\t/******/ })\n\t/************************************************************************/\n\t/******/ ([\n\t/* 0 */\n\t/***/ function(module, exports, __webpack_require__) {\n\t\n\t\t'use strict';\n\t\t\n\t\tObject.defineProperty(exports, \"__esModule\", {\n\t\t value: true\n\t\t});\n\t\t\n\t\tvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\t\t\n\t\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\t\n\t\tvar _react = __webpack_require__(1);\n\t\t\n\t\tvar _react2 = _interopRequireDefault(_react);\n\t\t\n\t\tvar _attrAccept = __webpack_require__(2);\n\t\t\n\t\tvar _attrAccept2 = _interopRequireDefault(_attrAccept);\n\t\t\n\t\tvar _getDataTransferItems = __webpack_require__(3);\n\t\t\n\t\tvar _getDataTransferItems2 = _interopRequireDefault(_getDataTransferItems);\n\t\t\n\t\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\t\n\t\tfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\t\t\n\t\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\t\n\t\tfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\t\t\n\t\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /* eslint prefer-template: 0 */\n\t\t\n\t\t\n\t\tvar supportMultiple = typeof document !== 'undefined' && document && document.createElement ? 'multiple' in document.createElement('input') : true;\n\t\t\n\t\tvar Dropzone = function (_React$Component) {\n\t\t _inherits(Dropzone, _React$Component);\n\t\t\n\t\t function Dropzone(props, context) {\n\t\t _classCallCheck(this, Dropzone);\n\t\t\n\t\t var _this = _possibleConstructorReturn(this, (Dropzone.__proto__ || Object.getPrototypeOf(Dropzone)).call(this, props, context));\n\t\t\n\t\t _this.onClick = _this.onClick.bind(_this);\n\t\t _this.onDragStart = _this.onDragStart.bind(_this);\n\t\t _this.onDragEnter = _this.onDragEnter.bind(_this);\n\t\t _this.onDragLeave = _this.onDragLeave.bind(_this);\n\t\t _this.onDragOver = _this.onDragOver.bind(_this);\n\t\t _this.onDrop = _this.onDrop.bind(_this);\n\t\t _this.onFileDialogCancel = _this.onFileDialogCancel.bind(_this);\n\t\t _this.fileAccepted = _this.fileAccepted.bind(_this);\n\t\t _this.isFileDialogActive = false;\n\t\t _this.state = {\n\t\t isDragActive: false\n\t\t };\n\t\t return _this;\n\t\t }\n\t\t\n\t\t _createClass(Dropzone, [{\n\t\t key: 'componentDidMount',\n\t\t value: function componentDidMount() {\n\t\t this.enterCounter = 0;\n\t\t // Tried implementing addEventListener, but didn't work out\n\t\t document.body.onfocus = this.onFileDialogCancel;\n\t\t }\n\t\t }, {\n\t\t key: 'componentWillUnmount',\n\t\t value: function componentWillUnmount() {\n\t\t // Can be replaced with removeEventListener, if addEventListener works\n\t\t document.body.onfocus = null;\n\t\t }\n\t\t }, {\n\t\t key: 'onDragStart',\n\t\t value: function onDragStart(e) {\n\t\t if (this.props.onDragStart) {\n\t\t this.props.onDragStart.call(this, e);\n\t\t }\n\t\t }\n\t\t }, {\n\t\t key: 'onDragEnter',\n\t\t value: function onDragEnter(e) {\n\t\t e.preventDefault();\n\t\t\n\t\t // Count the dropzone and any children that are entered.\n\t\t ++this.enterCounter;\n\t\t\n\t\t var allFilesAccepted = this.allFilesAccepted((0, _getDataTransferItems2.default)(e, this.props.multiple));\n\t\t\n\t\t this.setState({\n\t\t isDragActive: allFilesAccepted,\n\t\t isDragReject: !allFilesAccepted\n\t\t });\n\t\t\n\t\t if (this.props.onDragEnter) {\n\t\t this.props.onDragEnter.call(this, e);\n\t\t }\n\t\t }\n\t\t }, {\n\t\t key: 'onDragOver',\n\t\t value: function onDragOver(e) {\n\t\t // eslint-disable-line class-methods-use-this\n\t\t e.preventDefault();\n\t\t e.stopPropagation();\n\t\t try {\n\t\t e.dataTransfer.dropEffect = 'copy'; // eslint-disable-line no-param-reassign\n\t\t } catch (err) {\n\t\t // continue regardless of error\n\t\t }\n\t\t return false;\n\t\t }\n\t\t }, {\n\t\t key: 'onDragLeave',\n\t\t value: function onDragLeave(e) {\n\t\t e.preventDefault();\n\t\t\n\t\t // Only deactivate once the dropzone and all children was left.\n\t\t if (--this.enterCounter > 0) {\n\t\t return;\n\t\t }\n\t\t\n\t\t this.setState({\n\t\t isDragActive: false,\n\t\t isDragReject: false\n\t\t });\n\t\t\n\t\t if (this.props.onDragLeave) {\n\t\t this.props.onDragLeave.call(this, e);\n\t\t }\n\t\t }\n\t\t }, {\n\t\t key: 'onDrop',\n\t\t value: function onDrop(e) {\n\t\t var _this2 = this;\n\t\t\n\t\t var _props = this.props,\n\t\t onDrop = _props.onDrop,\n\t\t onDropAccepted = _props.onDropAccepted,\n\t\t onDropRejected = _props.onDropRejected,\n\t\t multiple = _props.multiple,\n\t\t disablePreview = _props.disablePreview;\n\t\t\n\t\t var fileList = (0, _getDataTransferItems2.default)(e, multiple);\n\t\t var acceptedFiles = [];\n\t\t var rejectedFiles = [];\n\t\t\n\t\t // Stop default browser behavior\n\t\t e.preventDefault();\n\t\t\n\t\t // Reset the counter along with the drag on a drop.\n\t\t this.enterCounter = 0;\n\t\t this.isFileDialogActive = false;\n\t\t\n\t\t fileList.forEach(function (file) {\n\t\t if (!disablePreview && (0, _attrAccept2.default)(file, 'image/*')) {\n\t\t file.preview = window.URL.createObjectURL(file); // eslint-disable-line no-param-reassign\n\t\t }\n\t\t\n\t\t if (_this2.fileAccepted(file) && _this2.fileMatchSize(file)) {\n\t\t acceptedFiles.push(file);\n\t\t } else {\n\t\t rejectedFiles.push(file);\n\t\t }\n\t\t });\n\t\t\n\t\t if (onDrop) {\n\t\t onDrop.call(this, acceptedFiles, rejectedFiles, e);\n\t\t }\n\t\t\n\t\t if (rejectedFiles.length > 0 && onDropRejected) {\n\t\t onDropRejected.call(this, rejectedFiles, e);\n\t\t }\n\t\t\n\t\t if (acceptedFiles.length > 0 && onDropAccepted) {\n\t\t onDropAccepted.call(this, acceptedFiles, e);\n\t\t }\n\t\t\n\t\t // Reset drag state\n\t\t this.setState({\n\t\t isDragActive: false,\n\t\t isDragReject: false\n\t\t });\n\t\t }\n\t\t }, {\n\t\t key: 'onClick',\n\t\t value: function onClick(e) {\n\t\t e.stopPropagation();\n\t\t var _props2 = this.props,\n\t\t onClick = _props2.onClick,\n\t\t disableClick = _props2.disableClick;\n\t\t\n\t\t if (!disableClick) {\n\t\t this.open();\n\t\t if (onClick) {\n\t\t onClick.call(this, e);\n\t\t }\n\t\t }\n\t\t }\n\t\t }, {\n\t\t key: 'onFileDialogCancel',\n\t\t value: function onFileDialogCancel() {\n\t\t // timeout will not recognize context of this method\n\t\t var onFileDialogCancel = this.props.onFileDialogCancel;\n\t\t var fileInputEl = this.fileInputEl;\n\t\t var isFileDialogActive = this.isFileDialogActive;\n\t\t // execute the timeout only if the onFileDialogCancel is defined and FileDialog\n\t\t // is opened in the browser\n\t\t\n\t\t if (onFileDialogCancel && isFileDialogActive) {\n\t\t setTimeout(function () {\n\t\t // Returns an object as FileList\n\t\t var FileList = fileInputEl.files;\n\t\t if (!FileList.length) {\n\t\t isFileDialogActive = false;\n\t\t onFileDialogCancel();\n\t\t }\n\t\t }, 300);\n\t\t }\n\t\t }\n\t\t }, {\n\t\t key: 'fileAccepted',\n\t\t value: function fileAccepted(file) {\n\t\t return (0, _attrAccept2.default)(file, this.props.accept);\n\t\t }\n\t\t }, {\n\t\t key: 'fileMatchSize',\n\t\t value: function fileMatchSize(file) {\n\t\t return file.size <= this.props.maxSize && file.size >= this.props.minSize;\n\t\t }\n\t\t }, {\n\t\t key: 'allFilesAccepted',\n\t\t value: function allFilesAccepted(files) {\n\t\t return files.every(this.fileAccepted);\n\t\t }\n\t\t }, {\n\t\t key: 'open',\n\t\t value: function open() {\n\t\t this.isFileDialogActive = true;\n\t\t this.fileInputEl.value = null;\n\t\t this.fileInputEl.click();\n\t\t }\n\t\t }, {\n\t\t key: 'render',\n\t\t value: function render() {\n\t\t var _this3 = this;\n\t\t\n\t\t var _props3 = this.props,\n\t\t accept = _props3.accept,\n\t\t activeClassName = _props3.activeClassName,\n\t\t inputProps = _props3.inputProps,\n\t\t multiple = _props3.multiple,\n\t\t name = _props3.name,\n\t\t rejectClassName = _props3.rejectClassName,\n\t\t rest = _objectWithoutProperties(_props3, ['accept', 'activeClassName', 'inputProps', 'multiple', 'name', 'rejectClassName']);\n\t\t\n\t\t var activeStyle = rest.activeStyle,\n\t\t className = rest.className,\n\t\t rejectStyle = rest.rejectStyle,\n\t\t style = rest.style,\n\t\t props = _objectWithoutProperties(rest, ['activeStyle', 'className', 'rejectStyle', 'style']);\n\t\t\n\t\t var _state = this.state,\n\t\t isDragActive = _state.isDragActive,\n\t\t isDragReject = _state.isDragReject;\n\t\t\n\t\t\n\t\t className = className || '';\n\t\t\n\t\t if (isDragActive && activeClassName) {\n\t\t className += ' ' + activeClassName;\n\t\t }\n\t\t if (isDragReject && rejectClassName) {\n\t\t className += ' ' + rejectClassName;\n\t\t }\n\t\t\n\t\t if (!className && !style && !activeStyle && !rejectStyle) {\n\t\t style = {\n\t\t width: 200,\n\t\t height: 200,\n\t\t borderWidth: 2,\n\t\t borderColor: '#666',\n\t\t borderStyle: 'dashed',\n\t\t borderRadius: 5\n\t\t };\n\t\t activeStyle = {\n\t\t borderStyle: 'solid',\n\t\t backgroundColor: '#eee'\n\t\t };\n\t\t rejectStyle = {\n\t\t borderStyle: 'solid',\n\t\t backgroundColor: '#ffdddd'\n\t\t };\n\t\t }\n\t\t\n\t\t var appliedStyle = void 0;\n\t\t if (activeStyle && isDragActive) {\n\t\t appliedStyle = _extends({}, style, activeStyle);\n\t\t } else if (rejectStyle && isDragReject) {\n\t\t appliedStyle = _extends({}, style, rejectStyle);\n\t\t } else {\n\t\t appliedStyle = _extends({}, style);\n\t\t }\n\t\t\n\t\t var inputAttributes = {\n\t\t accept: accept,\n\t\t type: 'file',\n\t\t style: { display: 'none' },\n\t\t multiple: supportMultiple && multiple,\n\t\t ref: function ref(el) {\n\t\t return _this3.fileInputEl = el;\n\t\t }, // eslint-disable-line\n\t\t onChange: this.onDrop\n\t\t };\n\t\t\n\t\t if (name && name.length) {\n\t\t inputAttributes.name = name;\n\t\t }\n\t\t\n\t\t // Remove custom properties before passing them to the wrapper div element\n\t\t var customProps = ['acceptedFiles', 'disablePreview', 'disableClick', 'onDropAccepted', 'onDropRejected', 'onFileDialogCancel', 'maxSize', 'minSize'];\n\t\t var divProps = _extends({}, props);\n\t\t customProps.forEach(function (prop) {\n\t\t return delete divProps[prop];\n\t\t });\n\t\t\n\t\t return _react2.default.createElement(\n\t\t 'div',\n\t\t _extends({\n\t\t className: className,\n\t\t style: appliedStyle\n\t\t }, divProps /* expand user provided props first so event handlers are never overridden */, {\n\t\t onClick: this.onClick,\n\t\t onDragStart: this.onDragStart,\n\t\t onDragEnter: this.onDragEnter,\n\t\t onDragOver: this.onDragOver,\n\t\t onDragLeave: this.onDragLeave,\n\t\t onDrop: this.onDrop\n\t\t }),\n\t\t this.props.children,\n\t\t _react2.default.createElement('input', _extends({}, inputProps /* expand user provided inputProps first so inputAttributes override them */, inputAttributes))\n\t\t );\n\t\t }\n\t\t }]);\n\t\t\n\t\t return Dropzone;\n\t\t}(_react2.default.Component);\n\t\t\n\t\tDropzone.defaultProps = {\n\t\t disablePreview: false,\n\t\t disableClick: false,\n\t\t multiple: true,\n\t\t maxSize: Infinity,\n\t\t minSize: 0\n\t\t};\n\t\t\n\t\tDropzone.propTypes = {\n\t\t onClick: _react2.default.PropTypes.func,\n\t\t onDrop: _react2.default.PropTypes.func,\n\t\t onDropAccepted: _react2.default.PropTypes.func,\n\t\t onDropRejected: _react2.default.PropTypes.func,\n\t\t onDragStart: _react2.default.PropTypes.func,\n\t\t onDragEnter: _react2.default.PropTypes.func,\n\t\t onDragLeave: _react2.default.PropTypes.func,\n\t\t\n\t\t children: _react2.default.PropTypes.node, // Contents of the dropzone\n\t\t style: _react2.default.PropTypes.object, // CSS styles to apply\n\t\t activeStyle: _react2.default.PropTypes.object, // CSS styles to apply when drop will be accepted\n\t\t rejectStyle: _react2.default.PropTypes.object, // CSS styles to apply when drop will be rejected\n\t\t className: _react2.default.PropTypes.string, // Optional className\n\t\t activeClassName: _react2.default.PropTypes.string, // className for accepted state\n\t\t rejectClassName: _react2.default.PropTypes.string, // className for rejected state\n\t\t\n\t\t disablePreview: _react2.default.PropTypes.bool, // Enable/disable preview generation\n\t\t disableClick: _react2.default.PropTypes.bool, // Disallow clicking on the dropzone container to open file dialog\n\t\t onFileDialogCancel: _react2.default.PropTypes.func, // Provide a callback on clicking the cancel button of the file dialog\n\t\t\n\t\t inputProps: _react2.default.PropTypes.object, // Pass additional attributes to the <input type=\"file\"/> tag\n\t\t multiple: _react2.default.PropTypes.bool, // Allow dropping multiple files\n\t\t accept: _react2.default.PropTypes.string, // Allow specific types of files. See https://github.com/okonet/attr-accept for more information\n\t\t name: _react2.default.PropTypes.string, // name attribute for the input tag\n\t\t maxSize: _react2.default.PropTypes.number,\n\t\t minSize: _react2.default.PropTypes.number\n\t\t};\n\t\t\n\t\texports.default = Dropzone;\n\t\tmodule.exports = exports['default'];\n\t\n\t/***/ },\n\t/* 1 */\n\t/***/ function(module, exports) {\n\t\n\t\tmodule.exports = __WEBPACK_EXTERNAL_MODULE_1__;\n\t\n\t/***/ },\n\t/* 2 */\n\t/***/ function(module, exports) {\n\t\n\t\tmodule.exports=function(t){function n(e){if(r[e])return r[e].exports;var o=r[e]={exports:{},id:e,loaded:!1};return t[e].call(o.exports,o,o.exports,n),o.loaded=!0,o.exports}var r={};return n.m=t,n.c=r,n.p=\"\",n(0)}([function(t,n,r){\"use strict\";n.__esModule=!0,r(8),r(9),n[\"default\"]=function(t,n){if(t&&n){var r=function(){var r=Array.isArray(n)?n:n.split(\",\"),e=t.name||\"\",o=t.type||\"\",i=o.replace(/\\/.*$/,\"\");return{v:r.some(function(t){var n=t.trim();return\".\"===n.charAt(0)?e.toLowerCase().endsWith(n.toLowerCase()):/\\/\\*$/.test(n)?i===n.replace(/\\/.*$/,\"\"):o===n})}}();if(\"object\"==typeof r)return r.v}return!0},t.exports=n[\"default\"]},function(t,n){var r=t.exports={version:\"1.2.2\"};\"number\"==typeof __e&&(__e=r)},function(t,n){var r=t.exports=\"undefined\"!=typeof window&&window.Math==Math?window:\"undefined\"!=typeof self&&self.Math==Math?self:Function(\"return this\")();\"number\"==typeof __g&&(__g=r)},function(t,n,r){var e=r(2),o=r(1),i=r(4),u=r(19),c=\"prototype\",f=function(t,n){return function(){return t.apply(n,arguments)}},s=function(t,n,r){var a,p,l,y,d=t&s.G,h=t&s.P,v=d?e:t&s.S?e[n]||(e[n]={}):(e[n]||{})[c],x=d?o:o[n]||(o[n]={});d&&(r=n);for(a in r)p=!(t&s.F)&&v&&a in v,l=(p?v:r)[a],y=t&s.B&&p?f(l,e):h&&\"function\"==typeof l?f(Function.call,l):l,v&&!p&&u(v,a,l),x[a]!=l&&i(x,a,y),h&&((x[c]||(x[c]={}))[a]=l)};e.core=o,s.F=1,s.G=2,s.S=4,s.P=8,s.B=16,s.W=32,t.exports=s},function(t,n,r){var e=r(5),o=r(18);t.exports=r(22)?function(t,n,r){return e.setDesc(t,n,o(1,r))}:function(t,n,r){return t[n]=r,t}},function(t,n){var r=Object;t.exports={create:r.create,getProto:r.getPrototypeOf,isEnum:{}.propertyIsEnumerable,getDesc:r.getOwnPropertyDescriptor,setDesc:r.defineProperty,setDescs:r.defineProperties,getKeys:r.keys,getNames:r.getOwnPropertyNames,getSymbols:r.getOwnPropertySymbols,each:[].forEach}},function(t,n){var r=0,e=Math.random();t.exports=function(t){return\"Symbol(\".concat(void 0===t?\"\":t,\")_\",(++r+e).toString(36))}},function(t,n,r){var e=r(20)(\"wks\"),o=r(2).Symbol;t.exports=function(t){return e[t]||(e[t]=o&&o[t]||(o||r(6))(\"Symbol.\"+t))}},function(t,n,r){r(26),t.exports=r(1).Array.some},function(t,n,r){r(25),t.exports=r(1).String.endsWith},function(t,n){t.exports=function(t){if(\"function\"!=typeof t)throw TypeError(t+\" is not a function!\");return t}},function(t,n){var r={}.toString;t.exports=function(t){return r.call(t).slice(8,-1)}},function(t,n,r){var e=r(10);t.exports=function(t,n,r){if(e(t),void 0===n)return t;switch(r){case 1:return function(r){return t.call(n,r)};case 2:return function(r,e){return t.call(n,r,e)};case 3:return function(r,e,o){return t.call(n,r,e,o)}}return function(){return t.apply(n,arguments)}}},function(t,n){t.exports=function(t){if(void 0==t)throw TypeError(\"Can't call method on \"+t);return t}},function(t,n,r){t.exports=function(t){var n=/./;try{\"/./\"[t](n)}catch(e){try{return n[r(7)(\"match\")]=!1,!\"/./\"[t](n)}catch(o){}}return!0}},function(t,n){t.exports=function(t){try{return!!t()}catch(n){return!0}}},function(t,n){t.exports=function(t){return\"object\"==typeof t?null!==t:\"function\"==typeof t}},function(t,n,r){var e=r(16),o=r(11),i=r(7)(\"match\");t.exports=function(t){var n;return e(t)&&(void 0!==(n=t[i])?!!n:\"RegExp\"==o(t))}},function(t,n){t.exports=function(t,n){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:n}}},function(t,n,r){var e=r(2),o=r(4),i=r(6)(\"src\"),u=\"toString\",c=Function[u],f=(\"\"+c).split(u);r(1).inspectSource=function(t){return c.call(t)},(t.exports=function(t,n,r,u){\"function\"==typeof r&&(o(r,i,t[n]?\"\"+t[n]:f.join(String(n))),\"name\"in r||(r.name=n)),t===e?t[n]=r:(u||delete t[n],o(t,n,r))})(Function.prototype,u,function(){return\"function\"==typeof this&&this[i]||c.call(this)})},function(t,n,r){var e=r(2),o=\"__core-js_shared__\",i=e[o]||(e[o]={});t.exports=function(t){return i[t]||(i[t]={})}},function(t,n,r){var e=r(17),o=r(13);t.exports=function(t,n,r){if(e(n))throw TypeError(\"String#\"+r+\" doesn't accept regex!\");return String(o(t))}},function(t,n,r){t.exports=!r(15)(function(){return 7!=Object.defineProperty({},\"a\",{get:function(){return 7}}).a})},function(t,n){var r=Math.ceil,e=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?e:r)(t)}},function(t,n,r){var e=r(23),o=Math.min;t.exports=function(t){return t>0?o(e(t),9007199254740991):0}},function(t,n,r){\"use strict\";var e=r(3),o=r(24),i=r(21),u=\"endsWith\",c=\"\"[u];e(e.P+e.F*r(14)(u),\"String\",{endsWith:function(t){var n=i(this,t,u),r=arguments,e=r.length>1?r[1]:void 0,f=o(n.length),s=void 0===e?f:Math.min(o(e),f),a=String(t);return c?c.call(n,a,s):n.slice(s-a.length,s)===a}})},function(t,n,r){var e=r(5),o=r(3),i=r(1).Array||Array,u={},c=function(t,n){e.each.call(t.split(\",\"),function(t){void 0==n&&t in i?u[t]=i[t]:t in[]&&(u[t]=r(12)(Function.call,[][t],n))})};c(\"pop,reverse,shift,keys,values,entries\",1),c(\"indexOf,every,some,forEach,map,filter,find,findIndex,includes\",3),c(\"join,slice,concat,push,splice,unshift,sort,lastIndexOf,reduce,reduceRight,copyWithin,fill\"),o(o.S,\"Array\",u)}]);\n\t\n\t/***/ },\n\t/* 3 */\n\t/***/ function(module, exports) {\n\t\n\t\t\"use strict\";\n\t\t\n\t\tObject.defineProperty(exports, \"__esModule\", {\n\t\t value: true\n\t\t});\n\t\texports.default = getDataTransferFiles;\n\t\tfunction getDataTransferFiles(event) {\n\t\t var isMultipleAllowed = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\t\t\n\t\t var dataTransferItemsList = [];\n\t\t if (event.dataTransfer) {\n\t\t var dt = event.dataTransfer;\n\t\t if (dt.files && dt.files.length) {\n\t\t dataTransferItemsList = dt.files;\n\t\t } else if (dt.items && dt.items.length) {\n\t\t // During the drag even the dataTransfer.files is null\n\t\t // but Chrome implements some drag store, which is accesible via dataTransfer.items\n\t\t dataTransferItemsList = dt.items;\n\t\t }\n\t\t } else if (event.target && event.target.files) {\n\t\t dataTransferItemsList = event.target.files;\n\t\t }\n\t\t\n\t\t if (dataTransferItemsList.length > 0) {\n\t\t dataTransferItemsList = isMultipleAllowed ? dataTransferItemsList : [dataTransferItemsList[0]];\n\t\t }\n\t\t\n\t\t // Convert from DataTransferItemsList to the native Array\n\t\t return Array.prototype.slice.call(dataTransferItemsList);\n\t\t}\n\t\tmodule.exports = exports[\"default\"];\n\t\n\t/***/ }\n\t/******/ ])\n\t});\n\t;\n\t//# sourceMappingURL=index.js.map\n\n/***/ },\n/* 540 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar React = __webpack_require__(2);\n\tvar NotificationItem = __webpack_require__(541);\n\tvar Constants = __webpack_require__(127);\n\t\n\tvar NotificationContainer = React.createClass({displayName: \"NotificationContainer\",\n\t\n\t propTypes: {\n\t position: React.PropTypes.string.isRequired,\n\t notifications: React.PropTypes.array.isRequired,\n\t getStyles: React.PropTypes.object\n\t },\n\t\n\t _style: {},\n\t\n\t componentWillMount: function() {\n\t // Fix position if width is overrided\n\t this._style = this.props.getStyles.container(this.props.position);\n\t\n\t if (this.props.getStyles.overrideWidth && (this.props.position === Constants.positions.tc || this.props.position === Constants.positions.bc)) {\n\t this._style.marginLeft = -(this.props.getStyles.overrideWidth / 2);\n\t }\n\t },\n\t\n\t render: function() {\n\t var self = this;\n\t var notifications;\n\t\n\t if ([Constants.positions.bl, Constants.positions.br, Constants.positions.bc].indexOf(this.props.position) > -1) {\n\t this.props.notifications.reverse();\n\t }\n\t\n\t notifications = this.props.notifications.map(function(notification) {\n\t return (\n\t React.createElement(NotificationItem, {\n\t ref: 'notification-' + notification.uid, \n\t key: notification.uid, \n\t notification: notification, \n\t getStyles: self.props.getStyles, \n\t onRemove: self.props.onRemove, \n\t noAnimation: self.props.noAnimation, \n\t allowHTML: self.props.allowHTML, \n\t children: self.props.children}\n\t )\n\t );\n\t });\n\t\n\t return (\n\t React.createElement(\"div\", {className: 'notifications-' + this.props.position, style: this._style}, \n\t notifications \n\t )\n\t );\n\t }\n\t});\n\t\n\t\n\tmodule.exports = NotificationContainer;\n\n\n/***/ },\n/* 541 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar React = __webpack_require__(2);\n\tvar ReactDOM = __webpack_require__(43);\n\tvar Constants = __webpack_require__(127);\n\tvar Helpers = __webpack_require__(543);\n\tvar merge = __webpack_require__(6);\n\t\n\t/* From Modernizr */\n\tvar whichTransitionEvent = function() {\n\t var el = document.createElement('fakeelement');\n\t var transition;\n\t var transitions = {\n\t transition: 'transitionend',\n\t OTransition: 'oTransitionEnd',\n\t MozTransition: 'transitionend',\n\t WebkitTransition: 'webkitTransitionEnd'\n\t };\n\t\n\t Object.keys(transitions).forEach(function(transitionKey) {\n\t if (el.style[transitionKey] !== undefined) {\n\t transition = transitions[transitionKey];\n\t }\n\t });\n\t\n\t return transition;\n\t};\n\t\n\tvar NotificationItem = React.createClass({displayName: \"NotificationItem\",\n\t\n\t propTypes: {\n\t notification: React.PropTypes.object,\n\t getStyles: React.PropTypes.object,\n\t onRemove: React.PropTypes.func,\n\t allowHTML: React.PropTypes.bool,\n\t noAnimation: React.PropTypes.bool,\n\t children: React.PropTypes.oneOfType([\n\t React.PropTypes.string,\n\t React.PropTypes.element\n\t ])\n\t },\n\t\n\t getDefaultProps: function() {\n\t return {\n\t noAnimation: false,\n\t onRemove: function() {},\n\t allowHTML: false\n\t };\n\t },\n\t\n\t getInitialState: function() {\n\t return {\n\t visible: false,\n\t removed: false\n\t };\n\t },\n\t\n\t componentWillMount: function() {\n\t var getStyles = this.props.getStyles;\n\t var level = this.props.notification.level;\n\t\n\t this._noAnimation = this.props.noAnimation;\n\t\n\t this._styles = {\n\t notification: getStyles.byElement('notification')(level),\n\t title: getStyles.byElement('title')(level),\n\t dismiss: getStyles.byElement('dismiss')(level),\n\t messageWrapper: getStyles.byElement('messageWrapper')(level),\n\t actionWrapper: getStyles.byElement('actionWrapper')(level),\n\t action: getStyles.byElement('action')(level)\n\t };\n\t\n\t if (!this.props.notification.dismissible) {\n\t this._styles.notification.cursor = 'default';\n\t }\n\t },\n\t\n\t _styles: {},\n\t\n\t _notificationTimer: null,\n\t\n\t _height: 0,\n\t\n\t _noAnimation: null,\n\t\n\t _isMounted: false,\n\t\n\t _removeCount: 0,\n\t\n\t _getCssPropertyByPosition: function() {\n\t var position = this.props.notification.position;\n\t var css = {};\n\t\n\t switch (position) {\n\t case Constants.positions.tl:\n\t case Constants.positions.bl:\n\t css = {\n\t property: 'left',\n\t value: -200\n\t };\n\t break;\n\t\n\t case Constants.positions.tr:\n\t case Constants.positions.br:\n\t css = {\n\t property: 'right',\n\t value: -200\n\t };\n\t break;\n\t\n\t case Constants.positions.tc:\n\t css = {\n\t property: 'top',\n\t value: -100\n\t };\n\t break;\n\t\n\t case Constants.positions.bc:\n\t css = {\n\t property: 'bottom',\n\t value: -100\n\t };\n\t break;\n\t\n\t default:\n\t }\n\t\n\t return css;\n\t },\n\t\n\t _defaultAction: function(event) {\n\t var notification = this.props.notification;\n\t\n\t event.preventDefault();\n\t this._hideNotification();\n\t if (typeof notification.action.callback === 'function') {\n\t notification.action.callback();\n\t }\n\t },\n\t\n\t _hideNotification: function() {\n\t if (this._notificationTimer) {\n\t this._notificationTimer.clear();\n\t }\n\t\n\t if (this._isMounted) {\n\t this.setState({\n\t visible: false,\n\t removed: true\n\t });\n\t }\n\t\n\t if (this._noAnimation) {\n\t this._removeNotification();\n\t }\n\t },\n\t\n\t _removeNotification: function() {\n\t this.props.onRemove(this.props.notification.uid);\n\t },\n\t\n\t _dismiss: function() {\n\t if (!this.props.notification.dismissible) {\n\t return;\n\t }\n\t\n\t this._hideNotification();\n\t },\n\t\n\t _showNotification: function() {\n\t var self = this;\n\t setTimeout(function() {\n\t if (self._isMounted) {\n\t self.setState({\n\t visible: true\n\t });\n\t }\n\t }, 50);\n\t },\n\t\n\t _onTransitionEnd: function() {\n\t if (this._removeCount > 0) return;\n\t if (this.state.removed) {\n\t this._removeCount++;\n\t this._removeNotification();\n\t }\n\t },\n\t\n\t componentDidMount: function() {\n\t var self = this;\n\t var transitionEvent = whichTransitionEvent();\n\t var notification = this.props.notification;\n\t var element = ReactDOM.findDOMNode(this);\n\t\n\t this._height = element.offsetHeight;\n\t\n\t this._isMounted = true;\n\t\n\t // Watch for transition end\n\t if (!this._noAnimation) {\n\t if (transitionEvent) {\n\t element.addEventListener(transitionEvent, this._onTransitionEnd);\n\t } else {\n\t this._noAnimation = true;\n\t }\n\t }\n\t\n\t\n\t if (notification.autoDismiss) {\n\t this._notificationTimer = new Helpers.Timer(function() {\n\t self._hideNotification();\n\t }, notification.autoDismiss * 1000);\n\t }\n\t\n\t this._showNotification();\n\t },\n\t\n\t _handleMouseEnter: function() {\n\t var notification = this.props.notification;\n\t if (notification.autoDismiss) {\n\t this._notificationTimer.pause();\n\t }\n\t },\n\t\n\t _handleMouseLeave: function() {\n\t var notification = this.props.notification;\n\t if (notification.autoDismiss) {\n\t this._notificationTimer.resume();\n\t }\n\t },\n\t\n\t componentWillUnmount: function() {\n\t var element = ReactDOM.findDOMNode(this);\n\t var transitionEvent = whichTransitionEvent();\n\t element.removeEventListener(transitionEvent, this._onTransitionEnd);\n\t this._isMounted = false;\n\t },\n\t\n\t _allowHTML: function(string) {\n\t return { __html: string };\n\t },\n\t\n\t render: function() {\n\t var notification = this.props.notification;\n\t var className = 'notification notification-' + notification.level;\n\t var notificationStyle = merge({}, this._styles.notification);\n\t var cssByPos = this._getCssPropertyByPosition();\n\t var dismiss = null;\n\t var actionButton = null;\n\t var title = null;\n\t var message = null;\n\t\n\t if (this.state.visible) {\n\t className += ' notification-visible';\n\t } else {\n\t className += ' notification-hidden';\n\t }\n\t\n\t if (!notification.dismissible) {\n\t className += ' notification-not-dismissible';\n\t }\n\t\n\t if (this.props.getStyles.overrideStyle) {\n\t if (!this.state.visible && !this.state.removed) {\n\t notificationStyle[cssByPos.property] = cssByPos.value;\n\t }\n\t\n\t if (this.state.visible && !this.state.removed) {\n\t notificationStyle.height = this._height;\n\t notificationStyle[cssByPos.property] = 0;\n\t }\n\t\n\t if (this.state.removed) {\n\t notificationStyle.overlay = 'hidden';\n\t notificationStyle.height = 0;\n\t notificationStyle.marginTop = 0;\n\t notificationStyle.paddingTop = 0;\n\t notificationStyle.paddingBottom = 0;\n\t }\n\t notificationStyle.opacity = this.state.visible ? this._styles.notification.isVisible.opacity : this._styles.notification.isHidden.opacity;\n\t }\n\t\n\t if (notification.title) {\n\t title = React.createElement(\"h4\", {className: \"notification-title\", style: this._styles.title}, notification.title);\n\t }\n\t\n\t if (notification.message) {\n\t if (this.props.allowHTML) {\n\t message = (\n\t React.createElement(\"div\", {className: \"notification-message\", style: this._styles.messageWrapper, dangerouslySetInnerHTML: this._allowHTML(notification.message) })\n\t );\n\t } else {\n\t message = (\n\t React.createElement(\"div\", {className: \"notification-message\", style: this._styles.messageWrapper}, notification.message)\n\t );\n\t }\n\t }\n\t\n\t if (notification.dismissible) {\n\t dismiss = React.createElement(\"span\", {className: \"notification-dismiss\", style: this._styles.dismiss}, \"×\");\n\t }\n\t\n\t if (notification.action) {\n\t actionButton = (\n\t React.createElement(\"div\", {className: \"notification-action-wrapper\", style: this._styles.actionWrapper}, \n\t React.createElement(\"button\", {className: \"notification-action-button\", \n\t onClick: this._defaultAction, \n\t style: this._styles.action}, \n\t notification.action.label\n\t )\n\t )\n\t );\n\t }\n\t\n\t if (notification.children) {\n\t actionButton = notification.children;\n\t }\n\t\n\t return (\n\t React.createElement(\"div\", {className: className, onClick: this._dismiss, onMouseEnter: this._handleMouseEnter, onMouseLeave: this._handleMouseLeave, style: notificationStyle }, \n\t title, \n\t message, \n\t dismiss, \n\t actionButton \n\t )\n\t );\n\t }\n\t\n\t});\n\t\n\tmodule.exports = NotificationItem;\n\n\n/***/ },\n/* 542 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar React = __webpack_require__(2);\n\tvar merge = __webpack_require__(6);\n\tvar NotificationContainer = __webpack_require__(540);\n\tvar Constants = __webpack_require__(127);\n\tvar Styles = __webpack_require__(544);\n\t\n\tvar NotificationSystem = React.createClass({displayName: \"NotificationSystem\",\n\t\n\t uid: 3400,\n\t\n\t _isMounted: false,\n\t\n\t _getStyles: {\n\t overrideStyle: {},\n\t\n\t overrideWidth: null,\n\t\n\t setOverrideStyle: function(style) {\n\t this.overrideStyle = style;\n\t },\n\t\n\t wrapper: function() {\n\t if (!this.overrideStyle) return {};\n\t return merge({}, Styles.Wrapper, this.overrideStyle.Wrapper);\n\t },\n\t\n\t container: function(position) {\n\t var override = this.overrideStyle.Containers || {};\n\t if (!this.overrideStyle) return {};\n\t\n\t this.overrideWidth = Styles.Containers.DefaultStyle.width;\n\t\n\t if (override.DefaultStyle && override.DefaultStyle.width) {\n\t this.overrideWidth = override.DefaultStyle.width;\n\t }\n\t\n\t if (override[position] && override[position].width) {\n\t this.overrideWidth = override[position].width;\n\t }\n\t\n\t return merge({}, Styles.Containers.DefaultStyle, Styles.Containers[position], override.DefaultStyle, override[position]);\n\t },\n\t\n\t elements: {\n\t notification: 'NotificationItem',\n\t title: 'Title',\n\t messageWrapper: 'MessageWrapper',\n\t dismiss: 'Dismiss',\n\t action: 'Action',\n\t actionWrapper: 'ActionWrapper'\n\t },\n\t\n\t byElement: function(element) {\n\t var self = this;\n\t return function(level) {\n\t var _element = self.elements[element];\n\t var override = self.overrideStyle[_element] || {};\n\t if (!self.overrideStyle) return {};\n\t return merge({}, Styles[_element].DefaultStyle, Styles[_element][level], override.DefaultStyle, override[level]);\n\t };\n\t }\n\t },\n\t\n\t _didNotificationRemoved: function(uid) {\n\t var notification;\n\t var notifications = this.state.notifications.filter(function(toCheck) {\n\t if (toCheck.uid === uid) {\n\t notification = toCheck;\n\t }\n\t return toCheck.uid !== uid;\n\t });\n\t\n\t if (notification && notification.onRemove) {\n\t notification.onRemove(notification);\n\t }\n\t\n\t if (this._isMounted) {\n\t this.setState({ notifications: notifications });\n\t }\n\t },\n\t\n\t getInitialState: function() {\n\t return {\n\t notifications: []\n\t };\n\t },\n\t\n\t propTypes: {\n\t style: React.PropTypes.oneOfType([\n\t React.PropTypes.bool,\n\t React.PropTypes.object\n\t ]),\n\t noAnimation: React.PropTypes.bool,\n\t allowHTML: React.PropTypes.bool\n\t },\n\t\n\t getDefaultProps: function() {\n\t return {\n\t style: {},\n\t noAnimation: false,\n\t allowHTML: false\n\t };\n\t },\n\t\n\t addNotification: function(notification) {\n\t var _notification = merge({}, Constants.notification, notification);\n\t var notifications = this.state.notifications;\n\t var i;\n\t\n\t if (!_notification.level) {\n\t throw new Error('notification level is required.');\n\t }\n\t\n\t if (Object.keys(Constants.levels).indexOf(_notification.level) === -1) {\n\t throw new Error('\\'' + _notification.level + '\\' is not a valid level.');\n\t }\n\t\n\t if (isNaN(_notification.autoDismiss)) {\n\t throw new Error('\\'autoDismiss\\' must be a number.');\n\t }\n\t\n\t if (Object.keys(Constants.positions).indexOf(_notification.position) === -1) {\n\t throw new Error('\\'' + _notification.position + '\\' is not a valid position.');\n\t }\n\t\n\t // Some preparations\n\t _notification.position = _notification.position.toLowerCase();\n\t _notification.level = _notification.level.toLowerCase();\n\t _notification.autoDismiss = parseInt(_notification.autoDismiss, 10);\n\t\n\t _notification.uid = _notification.uid || this.uid;\n\t _notification.ref = 'notification-' + _notification.uid;\n\t this.uid += 1;\n\t\n\t // do not add if the notification already exists based on supplied uid\n\t for (i = 0; i < notifications.length; i++) {\n\t if (notifications[i].uid === _notification.uid) {\n\t return false;\n\t }\n\t }\n\t\n\t notifications.push(_notification);\n\t\n\t if (typeof _notification.onAdd === 'function') {\n\t notification.onAdd(_notification);\n\t }\n\t\n\t this.setState({\n\t notifications: notifications\n\t });\n\t\n\t return _notification;\n\t },\n\t\n\t removeNotification: function(notification) {\n\t var self = this;\n\t Object.keys(this.refs).forEach(function(container) {\n\t if (container.indexOf('container') > -1) {\n\t Object.keys(self.refs[container].refs).forEach(function(_notification) {\n\t var uid = notification.uid ? notification.uid : notification;\n\t if (_notification === 'notification-' + uid) {\n\t self.refs[container].refs[_notification]._hideNotification();\n\t }\n\t });\n\t }\n\t });\n\t },\n\t\n\t clearNotifications: function() {\n\t var self = this;\n\t Object.keys(this.refs).forEach(function(container) {\n\t if (container.indexOf('container') > -1) {\n\t Object.keys(self.refs[container].refs).forEach(function(_notification) {\n\t self.refs[container].refs[_notification]._hideNotification();\n\t });\n\t }\n\t });\n\t },\n\t\n\t componentDidMount: function() {\n\t this._getStyles.setOverrideStyle(this.props.style);\n\t this._isMounted = true;\n\t },\n\t\n\t componentWillUnmount: function() {\n\t this._isMounted = false;\n\t },\n\t\n\t render: function() {\n\t var self = this;\n\t var containers = null;\n\t var notifications = this.state.notifications;\n\t\n\t if (notifications.length) {\n\t containers = Object.keys(Constants.positions).map(function(position) {\n\t var _notifications = notifications.filter(function(notification) {\n\t return position === notification.position;\n\t });\n\t\n\t if (!_notifications.length) {\n\t return null;\n\t }\n\t\n\t return (\n\t React.createElement(NotificationContainer, {\n\t ref: 'container-' + position, \n\t key: position, \n\t position: position, \n\t notifications: _notifications, \n\t getStyles: self._getStyles, \n\t onRemove: self._didNotificationRemoved, \n\t noAnimation: self.props.noAnimation, \n\t allowHTML: self.props.allowHTML}\n\t )\n\t );\n\t });\n\t }\n\t\n\t\n\t return (\n\t React.createElement(\"div\", {className: \"notifications-wrapper\", style: this._getStyles.wrapper() }, \n\t containers \n\t )\n\t\n\t );\n\t }\n\t});\n\t\n\tmodule.exports = NotificationSystem;\n\n\n/***/ },\n/* 543 */\n/***/ function(module, exports) {\n\n\tvar Helpers = {\n\t Timer: function(callback, delay) {\n\t var timerId;\n\t var start;\n\t var remaining = delay;\n\t\n\t this.pause = function() {\n\t clearTimeout(timerId);\n\t remaining -= new Date() - start;\n\t };\n\t\n\t this.resume = function() {\n\t start = new Date();\n\t clearTimeout(timerId);\n\t timerId = setTimeout(callback, remaining);\n\t };\n\t\n\t this.clear = function() {\n\t clearTimeout(timerId);\n\t };\n\t\n\t this.resume();\n\t }\n\t};\n\t\n\tmodule.exports = Helpers;\n\n\n/***/ },\n/* 544 */\n/***/ function(module, exports) {\n\n\t// Used for calculations\n\tvar defaultWidth = 320;\n\tvar defaultColors = {\n\t success: {\n\t rgb: '94, 164, 0',\n\t hex: '#5ea400'\n\t },\n\t error: {\n\t rgb: '236, 61, 61',\n\t hex: '#ec3d3d'\n\t },\n\t warning: {\n\t rgb: '235, 173, 23',\n\t hex: '#ebad1a'\n\t },\n\t info: {\n\t rgb: '54, 156, 199',\n\t hex: '#369cc7'\n\t }\n\t};\n\tvar defaultShadowOpacity = '0.9';\n\t\n\tvar STYLES = {\n\t\n\t Wrapper: {},\n\t Containers: {\n\t DefaultStyle: {\n\t fontFamily: 'inherit',\n\t position: 'fixed',\n\t width: defaultWidth,\n\t padding: '0 10px 10px 10px',\n\t zIndex: 9998,\n\t WebkitBoxSizing: 'border-box',\n\t MozBoxSizing: 'border-box',\n\t boxSizing: 'border-box',\n\t height: 'auto'\n\t },\n\t\n\t tl: {\n\t top: '0px',\n\t bottom: 'auto',\n\t left: '0px',\n\t right: 'auto'\n\t },\n\t\n\t tr: {\n\t top: '0px',\n\t bottom: 'auto',\n\t left: 'auto',\n\t right: '0px'\n\t },\n\t\n\t tc: {\n\t top: '0px',\n\t bottom: 'auto',\n\t margin: '0 auto',\n\t left: '50%',\n\t marginLeft: -(defaultWidth / 2)\n\t },\n\t\n\t bl: {\n\t top: 'auto',\n\t bottom: '0px',\n\t left: '0px',\n\t right: 'auto'\n\t },\n\t\n\t br: {\n\t top: 'auto',\n\t bottom: '0px',\n\t left: 'auto',\n\t right: '0px'\n\t },\n\t\n\t bc: {\n\t top: 'auto',\n\t bottom: '0px',\n\t margin: '0 auto',\n\t left: '50%',\n\t marginLeft: -(defaultWidth / 2)\n\t }\n\t\n\t },\n\t\n\t NotificationItem: {\n\t DefaultStyle: {\n\t position: 'relative',\n\t width: '100%',\n\t cursor: 'pointer',\n\t borderRadius: '2px',\n\t fontSize: '13px',\n\t margin: '10px 0 0',\n\t padding: '10px',\n\t display: 'block',\n\t WebkitBoxSizing: 'border-box',\n\t MozBoxSizing: 'border-box',\n\t boxSizing: 'border-box',\n\t opacity: 0,\n\t transition: '0.3s ease-in-out',\n\t WebkitTransform: 'translate3d(0, 0, 0)',\n\t transform: 'translate3d(0, 0, 0)',\n\t willChange: 'transform, opacity',\n\t\n\t isHidden: {\n\t opacity: 0\n\t },\n\t\n\t isVisible: {\n\t opacity: 1\n\t }\n\t },\n\t\n\t success: {\n\t borderTop: '2px solid ' + defaultColors.success.hex,\n\t backgroundColor: '#f0f5ea',\n\t color: '#4b583a',\n\t WebkitBoxShadow: '0 0 1px rgba(' + defaultColors.success.rgb + ',' + defaultShadowOpacity + ')',\n\t MozBoxShadow: '0 0 1px rgba(' + defaultColors.success.rgb + ',' + defaultShadowOpacity + ')',\n\t boxShadow: '0 0 1px rgba(' + defaultColors.success.rgb + ',' + defaultShadowOpacity + ')'\n\t },\n\t\n\t error: {\n\t borderTop: '2px solid ' + defaultColors.error.hex,\n\t backgroundColor: '#f4e9e9',\n\t color: '#412f2f',\n\t WebkitBoxShadow: '0 0 1px rgba(' + defaultColors.error.rgb + ',' + defaultShadowOpacity + ')',\n\t MozBoxShadow: '0 0 1px rgba(' + defaultColors.error.rgb + ',' + defaultShadowOpacity + ')',\n\t boxShadow: '0 0 1px rgba(' + defaultColors.error.rgb + ',' + defaultShadowOpacity + ')'\n\t },\n\t\n\t warning: {\n\t borderTop: '2px solid ' + defaultColors.warning.hex,\n\t backgroundColor: '#f9f6f0',\n\t color: '#5a5343',\n\t WebkitBoxShadow: '0 0 1px rgba(' + defaultColors.warning.rgb + ',' + defaultShadowOpacity + ')',\n\t MozBoxShadow: '0 0 1px rgba(' + defaultColors.warning.rgb + ',' + defaultShadowOpacity + ')',\n\t boxShadow: '0 0 1px rgba(' + defaultColors.warning.rgb + ',' + defaultShadowOpacity + ')'\n\t },\n\t\n\t info: {\n\t borderTop: '2px solid ' + defaultColors.info.hex,\n\t backgroundColor: '#e8f0f4',\n\t color: '#41555d',\n\t WebkitBoxShadow: '0 0 1px rgba(' + defaultColors.info.rgb + ',' + defaultShadowOpacity + ')',\n\t MozBoxShadow: '0 0 1px rgba(' + defaultColors.info.rgb + ',' + defaultShadowOpacity + ')',\n\t boxShadow: '0 0 1px rgba(' + defaultColors.info.rgb + ',' + defaultShadowOpacity + ')'\n\t }\n\t },\n\t\n\t Title: {\n\t DefaultStyle: {\n\t fontSize: '14px',\n\t margin: '0 0 5px 0',\n\t padding: 0,\n\t fontWeight: 'bold'\n\t },\n\t\n\t success: {\n\t color: defaultColors.success.hex\n\t },\n\t\n\t error: {\n\t color: defaultColors.error.hex\n\t },\n\t\n\t warning: {\n\t color: defaultColors.warning.hex\n\t },\n\t\n\t info: {\n\t color: defaultColors.info.hex\n\t }\n\t\n\t },\n\t\n\t MessageWrapper: {\n\t DefaultStyle: {\n\t margin: 0,\n\t padding: 0\n\t }\n\t },\n\t\n\t Dismiss: {\n\t DefaultStyle: {\n\t fontFamily: 'Arial',\n\t fontSize: '17px',\n\t position: 'absolute',\n\t top: '4px',\n\t right: '5px',\n\t lineHeight: '15px',\n\t backgroundColor: '#dededf',\n\t color: '#ffffff',\n\t borderRadius: '50%',\n\t width: '14px',\n\t height: '14px',\n\t fontWeight: 'bold',\n\t textAlign: 'center'\n\t },\n\t\n\t success: {\n\t color: '#f0f5ea',\n\t backgroundColor: '#b0ca92'\n\t },\n\t\n\t error: {\n\t color: '#f4e9e9',\n\t backgroundColor: '#e4bebe'\n\t },\n\t\n\t warning: {\n\t color: '#f9f6f0',\n\t backgroundColor: '#e1cfac'\n\t },\n\t\n\t info: {\n\t color: '#e8f0f4',\n\t backgroundColor: '#a4becb'\n\t }\n\t },\n\t\n\t Action: {\n\t DefaultStyle: {\n\t background: '#ffffff',\n\t borderRadius: '2px',\n\t padding: '6px 20px',\n\t fontWeight: 'bold',\n\t margin: '10px 0 0 0',\n\t border: 0\n\t },\n\t\n\t success: {\n\t backgroundColor: defaultColors.success.hex,\n\t color: '#ffffff'\n\t },\n\t\n\t error: {\n\t backgroundColor: defaultColors.error.hex,\n\t color: '#ffffff'\n\t },\n\t\n\t warning: {\n\t backgroundColor: defaultColors.warning.hex,\n\t color: '#ffffff'\n\t },\n\t\n\t info: {\n\t backgroundColor: defaultColors.info.hex,\n\t color: '#ffffff'\n\t }\n\t },\n\t\n\t ActionWrapper: {\n\t DefaultStyle: {\n\t margin: 0,\n\t padding: 0\n\t }\n\t }\n\t};\n\t\n\tmodule.exports = STYLES;\n\n\n/***/ },\n/* 545 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\texports[\"default\"] = undefined;\n\t\n\tvar _react = __webpack_require__(2);\n\t\n\tvar _storeShape = __webpack_require__(306);\n\t\n\tvar _storeShape2 = _interopRequireDefault(_storeShape);\n\t\n\tvar _warning = __webpack_require__(307);\n\t\n\tvar _warning2 = _interopRequireDefault(_warning);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\tvar didWarnAboutReceivingStore = false;\n\tfunction warnAboutReceivingStore() {\n\t if (didWarnAboutReceivingStore) {\n\t return;\n\t }\n\t didWarnAboutReceivingStore = true;\n\t\n\t (0, _warning2[\"default\"])('<Provider> does not support changing `store` on the fly. ' + 'It is most likely that you see this error because you updated to ' + 'Redux 2.x and React Redux 2.x which no longer hot reload reducers ' + 'automatically. See https://github.com/reactjs/react-redux/releases/' + 'tag/v2.0.0 for the migration instructions.');\n\t}\n\t\n\tvar Provider = function (_Component) {\n\t _inherits(Provider, _Component);\n\t\n\t Provider.prototype.getChildContext = function getChildContext() {\n\t return { store: this.store };\n\t };\n\t\n\t function Provider(props, context) {\n\t _classCallCheck(this, Provider);\n\t\n\t var _this = _possibleConstructorReturn(this, _Component.call(this, props, context));\n\t\n\t _this.store = props.store;\n\t return _this;\n\t }\n\t\n\t Provider.prototype.render = function render() {\n\t var children = this.props.children;\n\t\n\t return _react.Children.only(children);\n\t };\n\t\n\t return Provider;\n\t}(_react.Component);\n\t\n\texports[\"default\"] = Provider;\n\t\n\tif (false) {\n\t Provider.prototype.componentWillReceiveProps = function (nextProps) {\n\t var store = this.store;\n\t var nextStore = nextProps.store;\n\t\n\t if (store !== nextStore) {\n\t warnAboutReceivingStore();\n\t }\n\t };\n\t}\n\t\n\tProvider.propTypes = {\n\t store: _storeShape2[\"default\"].isRequired,\n\t children: _react.PropTypes.element.isRequired\n\t};\n\tProvider.childContextTypes = {\n\t store: _storeShape2[\"default\"].isRequired\n\t};\n\n/***/ },\n/* 546 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\t\n\texports.__esModule = true;\n\texports[\"default\"] = connect;\n\t\n\tvar _react = __webpack_require__(2);\n\t\n\tvar _storeShape = __webpack_require__(306);\n\t\n\tvar _storeShape2 = _interopRequireDefault(_storeShape);\n\t\n\tvar _shallowEqual = __webpack_require__(547);\n\t\n\tvar _shallowEqual2 = _interopRequireDefault(_shallowEqual);\n\t\n\tvar _wrapActionCreators = __webpack_require__(548);\n\t\n\tvar _wrapActionCreators2 = _interopRequireDefault(_wrapActionCreators);\n\t\n\tvar _warning = __webpack_require__(307);\n\t\n\tvar _warning2 = _interopRequireDefault(_warning);\n\t\n\tvar _isPlainObject = __webpack_require__(124);\n\t\n\tvar _isPlainObject2 = _interopRequireDefault(_isPlainObject);\n\t\n\tvar _hoistNonReactStatics = __webpack_require__(178);\n\t\n\tvar _hoistNonReactStatics2 = _interopRequireDefault(_hoistNonReactStatics);\n\t\n\tvar _invariant = __webpack_require__(10);\n\t\n\tvar _invariant2 = _interopRequireDefault(_invariant);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\tvar defaultMapStateToProps = function defaultMapStateToProps(state) {\n\t return {};\n\t}; // eslint-disable-line no-unused-vars\n\tvar defaultMapDispatchToProps = function defaultMapDispatchToProps(dispatch) {\n\t return { dispatch: dispatch };\n\t};\n\tvar defaultMergeProps = function defaultMergeProps(stateProps, dispatchProps, parentProps) {\n\t return _extends({}, parentProps, stateProps, dispatchProps);\n\t};\n\t\n\tfunction getDisplayName(WrappedComponent) {\n\t return WrappedComponent.displayName || WrappedComponent.name || 'Component';\n\t}\n\t\n\tvar errorObject = { value: null };\n\tfunction tryCatch(fn, ctx) {\n\t try {\n\t return fn.apply(ctx);\n\t } catch (e) {\n\t errorObject.value = e;\n\t return errorObject;\n\t }\n\t}\n\t\n\t// Helps track hot reloading.\n\tvar nextVersion = 0;\n\t\n\tfunction connect(mapStateToProps, mapDispatchToProps, mergeProps) {\n\t var options = arguments.length <= 3 || arguments[3] === undefined ? {} : arguments[3];\n\t\n\t var shouldSubscribe = Boolean(mapStateToProps);\n\t var mapState = mapStateToProps || defaultMapStateToProps;\n\t\n\t var mapDispatch = undefined;\n\t if (typeof mapDispatchToProps === 'function') {\n\t mapDispatch = mapDispatchToProps;\n\t } else if (!mapDispatchToProps) {\n\t mapDispatch = defaultMapDispatchToProps;\n\t } else {\n\t mapDispatch = (0, _wrapActionCreators2[\"default\"])(mapDispatchToProps);\n\t }\n\t\n\t var finalMergeProps = mergeProps || defaultMergeProps;\n\t var _options$pure = options.pure;\n\t var pure = _options$pure === undefined ? true : _options$pure;\n\t var _options$withRef = options.withRef;\n\t var withRef = _options$withRef === undefined ? false : _options$withRef;\n\t\n\t var checkMergedEquals = pure && finalMergeProps !== defaultMergeProps;\n\t\n\t // Helps track hot reloading.\n\t var version = nextVersion++;\n\t\n\t return function wrapWithConnect(WrappedComponent) {\n\t var connectDisplayName = 'Connect(' + getDisplayName(WrappedComponent) + ')';\n\t\n\t function checkStateShape(props, methodName) {\n\t if (!(0, _isPlainObject2[\"default\"])(props)) {\n\t (0, _warning2[\"default\"])(methodName + '() in ' + connectDisplayName + ' must return a plain object. ' + ('Instead received ' + props + '.'));\n\t }\n\t }\n\t\n\t function computeMergedProps(stateProps, dispatchProps, parentProps) {\n\t var mergedProps = finalMergeProps(stateProps, dispatchProps, parentProps);\n\t if (false) {\n\t checkStateShape(mergedProps, 'mergeProps');\n\t }\n\t return mergedProps;\n\t }\n\t\n\t var Connect = function (_Component) {\n\t _inherits(Connect, _Component);\n\t\n\t Connect.prototype.shouldComponentUpdate = function shouldComponentUpdate() {\n\t return !pure || this.haveOwnPropsChanged || this.hasStoreStateChanged;\n\t };\n\t\n\t function Connect(props, context) {\n\t _classCallCheck(this, Connect);\n\t\n\t var _this = _possibleConstructorReturn(this, _Component.call(this, props, context));\n\t\n\t _this.version = version;\n\t _this.store = props.store || context.store;\n\t\n\t (0, _invariant2[\"default\"])(_this.store, 'Could not find \"store\" in either the context or ' + ('props of \"' + connectDisplayName + '\". ') + 'Either wrap the root component in a <Provider>, ' + ('or explicitly pass \"store\" as a prop to \"' + connectDisplayName + '\".'));\n\t\n\t var storeState = _this.store.getState();\n\t _this.state = { storeState: storeState };\n\t _this.clearCache();\n\t return _this;\n\t }\n\t\n\t Connect.prototype.computeStateProps = function computeStateProps(store, props) {\n\t if (!this.finalMapStateToProps) {\n\t return this.configureFinalMapState(store, props);\n\t }\n\t\n\t var state = store.getState();\n\t var stateProps = this.doStatePropsDependOnOwnProps ? this.finalMapStateToProps(state, props) : this.finalMapStateToProps(state);\n\t\n\t if (false) {\n\t checkStateShape(stateProps, 'mapStateToProps');\n\t }\n\t return stateProps;\n\t };\n\t\n\t Connect.prototype.configureFinalMapState = function configureFinalMapState(store, props) {\n\t var mappedState = mapState(store.getState(), props);\n\t var isFactory = typeof mappedState === 'function';\n\t\n\t this.finalMapStateToProps = isFactory ? mappedState : mapState;\n\t this.doStatePropsDependOnOwnProps = this.finalMapStateToProps.length !== 1;\n\t\n\t if (isFactory) {\n\t return this.computeStateProps(store, props);\n\t }\n\t\n\t if (false) {\n\t checkStateShape(mappedState, 'mapStateToProps');\n\t }\n\t return mappedState;\n\t };\n\t\n\t Connect.prototype.computeDispatchProps = function computeDispatchProps(store, props) {\n\t if (!this.finalMapDispatchToProps) {\n\t return this.configureFinalMapDispatch(store, props);\n\t }\n\t\n\t var dispatch = store.dispatch;\n\t\n\t var dispatchProps = this.doDispatchPropsDependOnOwnProps ? this.finalMapDispatchToProps(dispatch, props) : this.finalMapDispatchToProps(dispatch);\n\t\n\t if (false) {\n\t checkStateShape(dispatchProps, 'mapDispatchToProps');\n\t }\n\t return dispatchProps;\n\t };\n\t\n\t Connect.prototype.configureFinalMapDispatch = function configureFinalMapDispatch(store, props) {\n\t var mappedDispatch = mapDispatch(store.dispatch, props);\n\t var isFactory = typeof mappedDispatch === 'function';\n\t\n\t this.finalMapDispatchToProps = isFactory ? mappedDispatch : mapDispatch;\n\t this.doDispatchPropsDependOnOwnProps = this.finalMapDispatchToProps.length !== 1;\n\t\n\t if (isFactory) {\n\t return this.computeDispatchProps(store, props);\n\t }\n\t\n\t if (false) {\n\t checkStateShape(mappedDispatch, 'mapDispatchToProps');\n\t }\n\t return mappedDispatch;\n\t };\n\t\n\t Connect.prototype.updateStatePropsIfNeeded = function updateStatePropsIfNeeded() {\n\t var nextStateProps = this.computeStateProps(this.store, this.props);\n\t if (this.stateProps && (0, _shallowEqual2[\"default\"])(nextStateProps, this.stateProps)) {\n\t return false;\n\t }\n\t\n\t this.stateProps = nextStateProps;\n\t return true;\n\t };\n\t\n\t Connect.prototype.updateDispatchPropsIfNeeded = function updateDispatchPropsIfNeeded() {\n\t var nextDispatchProps = this.computeDispatchProps(this.store, this.props);\n\t if (this.dispatchProps && (0, _shallowEqual2[\"default\"])(nextDispatchProps, this.dispatchProps)) {\n\t return false;\n\t }\n\t\n\t this.dispatchProps = nextDispatchProps;\n\t return true;\n\t };\n\t\n\t Connect.prototype.updateMergedPropsIfNeeded = function updateMergedPropsIfNeeded() {\n\t var nextMergedProps = computeMergedProps(this.stateProps, this.dispatchProps, this.props);\n\t if (this.mergedProps && checkMergedEquals && (0, _shallowEqual2[\"default\"])(nextMergedProps, this.mergedProps)) {\n\t return false;\n\t }\n\t\n\t this.mergedProps = nextMergedProps;\n\t return true;\n\t };\n\t\n\t Connect.prototype.isSubscribed = function isSubscribed() {\n\t return typeof this.unsubscribe === 'function';\n\t };\n\t\n\t Connect.prototype.trySubscribe = function trySubscribe() {\n\t if (shouldSubscribe && !this.unsubscribe) {\n\t this.unsubscribe = this.store.subscribe(this.handleChange.bind(this));\n\t this.handleChange();\n\t }\n\t };\n\t\n\t Connect.prototype.tryUnsubscribe = function tryUnsubscribe() {\n\t if (this.unsubscribe) {\n\t this.unsubscribe();\n\t this.unsubscribe = null;\n\t }\n\t };\n\t\n\t Connect.prototype.componentDidMount = function componentDidMount() {\n\t this.trySubscribe();\n\t };\n\t\n\t Connect.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n\t if (!pure || !(0, _shallowEqual2[\"default\"])(nextProps, this.props)) {\n\t this.haveOwnPropsChanged = true;\n\t }\n\t };\n\t\n\t Connect.prototype.componentWillUnmount = function componentWillUnmount() {\n\t this.tryUnsubscribe();\n\t this.clearCache();\n\t };\n\t\n\t Connect.prototype.clearCache = function clearCache() {\n\t this.dispatchProps = null;\n\t this.stateProps = null;\n\t this.mergedProps = null;\n\t this.haveOwnPropsChanged = true;\n\t this.hasStoreStateChanged = true;\n\t this.haveStatePropsBeenPrecalculated = false;\n\t this.statePropsPrecalculationError = null;\n\t this.renderedElement = null;\n\t this.finalMapDispatchToProps = null;\n\t this.finalMapStateToProps = null;\n\t };\n\t\n\t Connect.prototype.handleChange = function handleChange() {\n\t if (!this.unsubscribe) {\n\t return;\n\t }\n\t\n\t var storeState = this.store.getState();\n\t var prevStoreState = this.state.storeState;\n\t if (pure && prevStoreState === storeState) {\n\t return;\n\t }\n\t\n\t if (pure && !this.doStatePropsDependOnOwnProps) {\n\t var haveStatePropsChanged = tryCatch(this.updateStatePropsIfNeeded, this);\n\t if (!haveStatePropsChanged) {\n\t return;\n\t }\n\t if (haveStatePropsChanged === errorObject) {\n\t this.statePropsPrecalculationError = errorObject.value;\n\t }\n\t this.haveStatePropsBeenPrecalculated = true;\n\t }\n\t\n\t this.hasStoreStateChanged = true;\n\t this.setState({ storeState: storeState });\n\t };\n\t\n\t Connect.prototype.getWrappedInstance = function getWrappedInstance() {\n\t (0, _invariant2[\"default\"])(withRef, 'To access the wrapped instance, you need to specify ' + '{ withRef: true } as the fourth argument of the connect() call.');\n\t\n\t return this.refs.wrappedInstance;\n\t };\n\t\n\t Connect.prototype.render = function render() {\n\t var haveOwnPropsChanged = this.haveOwnPropsChanged;\n\t var hasStoreStateChanged = this.hasStoreStateChanged;\n\t var haveStatePropsBeenPrecalculated = this.haveStatePropsBeenPrecalculated;\n\t var statePropsPrecalculationError = this.statePropsPrecalculationError;\n\t var renderedElement = this.renderedElement;\n\t\n\t this.haveOwnPropsChanged = false;\n\t this.hasStoreStateChanged = false;\n\t this.haveStatePropsBeenPrecalculated = false;\n\t this.statePropsPrecalculationError = null;\n\t\n\t if (statePropsPrecalculationError) {\n\t throw statePropsPrecalculationError;\n\t }\n\t\n\t var shouldUpdateStateProps = true;\n\t var shouldUpdateDispatchProps = true;\n\t if (pure && renderedElement) {\n\t shouldUpdateStateProps = hasStoreStateChanged || haveOwnPropsChanged && this.doStatePropsDependOnOwnProps;\n\t shouldUpdateDispatchProps = haveOwnPropsChanged && this.doDispatchPropsDependOnOwnProps;\n\t }\n\t\n\t var haveStatePropsChanged = false;\n\t var haveDispatchPropsChanged = false;\n\t if (haveStatePropsBeenPrecalculated) {\n\t haveStatePropsChanged = true;\n\t } else if (shouldUpdateStateProps) {\n\t haveStatePropsChanged = this.updateStatePropsIfNeeded();\n\t }\n\t if (shouldUpdateDispatchProps) {\n\t haveDispatchPropsChanged = this.updateDispatchPropsIfNeeded();\n\t }\n\t\n\t var haveMergedPropsChanged = true;\n\t if (haveStatePropsChanged || haveDispatchPropsChanged || haveOwnPropsChanged) {\n\t haveMergedPropsChanged = this.updateMergedPropsIfNeeded();\n\t } else {\n\t haveMergedPropsChanged = false;\n\t }\n\t\n\t if (!haveMergedPropsChanged && renderedElement) {\n\t return renderedElement;\n\t }\n\t\n\t if (withRef) {\n\t this.renderedElement = (0, _react.createElement)(WrappedComponent, _extends({}, this.mergedProps, {\n\t ref: 'wrappedInstance'\n\t }));\n\t } else {\n\t this.renderedElement = (0, _react.createElement)(WrappedComponent, this.mergedProps);\n\t }\n\t\n\t return this.renderedElement;\n\t };\n\t\n\t return Connect;\n\t }(_react.Component);\n\t\n\t Connect.displayName = connectDisplayName;\n\t Connect.WrappedComponent = WrappedComponent;\n\t Connect.contextTypes = {\n\t store: _storeShape2[\"default\"]\n\t };\n\t Connect.propTypes = {\n\t store: _storeShape2[\"default\"]\n\t };\n\t\n\t if (false) {\n\t Connect.prototype.componentWillUpdate = function componentWillUpdate() {\n\t if (this.version === version) {\n\t return;\n\t }\n\t\n\t // We are hot reloading!\n\t this.version = version;\n\t this.trySubscribe();\n\t this.clearCache();\n\t };\n\t }\n\t\n\t return (0, _hoistNonReactStatics2[\"default\"])(Connect, WrappedComponent);\n\t };\n\t}\n\n/***/ },\n/* 547 */\n/***/ function(module, exports) {\n\n\t\"use strict\";\n\t\n\texports.__esModule = true;\n\texports[\"default\"] = shallowEqual;\n\tfunction shallowEqual(objA, objB) {\n\t if (objA === objB) {\n\t return true;\n\t }\n\t\n\t var keysA = Object.keys(objA);\n\t var keysB = Object.keys(objB);\n\t\n\t if (keysA.length !== keysB.length) {\n\t return false;\n\t }\n\t\n\t // Test for A's keys different from B.\n\t var hasOwn = Object.prototype.hasOwnProperty;\n\t for (var i = 0; i < keysA.length; i++) {\n\t if (!hasOwn.call(objB, keysA[i]) || objA[keysA[i]] !== objB[keysA[i]]) {\n\t return false;\n\t }\n\t }\n\t\n\t return true;\n\t}\n\n/***/ },\n/* 548 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\texports[\"default\"] = wrapActionCreators;\n\t\n\tvar _redux = __webpack_require__(13);\n\t\n\tfunction wrapActionCreators(actionCreators) {\n\t return function (dispatch) {\n\t return (0, _redux.bindActionCreators)(actionCreators, dispatch);\n\t };\n\t}\n\n/***/ },\n/* 549 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\texports['default'] = routerMiddleware;\n\t\n\tvar _actions = __webpack_require__(308);\n\t\n\tfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\t\n\t/**\n\t * This middleware captures CALL_HISTORY_METHOD actions to redirect to the\n\t * provided history object. This will prevent these actions from reaching your\n\t * reducer or any middleware that comes after this one.\n\t */\n\tfunction routerMiddleware(history) {\n\t return function () {\n\t return function (next) {\n\t return function (action) {\n\t if (action.type !== _actions.CALL_HISTORY_METHOD) {\n\t return next(action);\n\t }\n\t\n\t var _action$payload = action.payload,\n\t method = _action$payload.method,\n\t args = _action$payload.args;\n\t\n\t history[method].apply(history, _toConsumableArray(args));\n\t };\n\t };\n\t };\n\t}\n\n/***/ },\n/* 550 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\t\n\texports['default'] = syncHistoryWithStore;\n\t\n\tvar _reducer = __webpack_require__(310);\n\t\n\tvar defaultSelectLocationState = function defaultSelectLocationState(state) {\n\t return state.routing;\n\t};\n\t\n\t/**\n\t * This function synchronizes your history state with the Redux store.\n\t * Location changes flow from history to the store. An enhanced history is\n\t * returned with a listen method that responds to store updates for location.\n\t *\n\t * When this history is provided to the router, this means the location data\n\t * will flow like this:\n\t * history.push -> store.dispatch -> enhancedHistory.listen -> router\n\t * This ensures that when the store state changes due to a replay or other\n\t * event, the router will be updated appropriately and can transition to the\n\t * correct router state.\n\t */\n\tfunction syncHistoryWithStore(history, store) {\n\t var _ref = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},\n\t _ref$selectLocationSt = _ref.selectLocationState,\n\t selectLocationState = _ref$selectLocationSt === undefined ? defaultSelectLocationState : _ref$selectLocationSt,\n\t _ref$adjustUrlOnRepla = _ref.adjustUrlOnReplay,\n\t adjustUrlOnReplay = _ref$adjustUrlOnRepla === undefined ? true : _ref$adjustUrlOnRepla;\n\t\n\t // Ensure that the reducer is mounted on the store and functioning properly.\n\t if (typeof selectLocationState(store.getState()) === 'undefined') {\n\t throw new Error('Expected the routing state to be available either as `state.routing` ' + 'or as the custom expression you can specify as `selectLocationState` ' + 'in the `syncHistoryWithStore()` options. ' + 'Ensure you have added the `routerReducer` to your store\\'s ' + 'reducers via `combineReducers` or whatever method you use to isolate ' + 'your reducers.');\n\t }\n\t\n\t var initialLocation = void 0;\n\t var isTimeTraveling = void 0;\n\t var unsubscribeFromStore = void 0;\n\t var unsubscribeFromHistory = void 0;\n\t var currentLocation = void 0;\n\t\n\t // What does the store say about current location?\n\t var getLocationInStore = function getLocationInStore(useInitialIfEmpty) {\n\t var locationState = selectLocationState(store.getState());\n\t return locationState.locationBeforeTransitions || (useInitialIfEmpty ? initialLocation : undefined);\n\t };\n\t\n\t // Init initialLocation with potential location in store\n\t initialLocation = getLocationInStore();\n\t\n\t // If the store is replayed, update the URL in the browser to match.\n\t if (adjustUrlOnReplay) {\n\t var handleStoreChange = function handleStoreChange() {\n\t var locationInStore = getLocationInStore(true);\n\t if (currentLocation === locationInStore || initialLocation === locationInStore) {\n\t return;\n\t }\n\t\n\t // Update address bar to reflect store state\n\t isTimeTraveling = true;\n\t currentLocation = locationInStore;\n\t history.transitionTo(_extends({}, locationInStore, {\n\t action: 'PUSH'\n\t }));\n\t isTimeTraveling = false;\n\t };\n\t\n\t unsubscribeFromStore = store.subscribe(handleStoreChange);\n\t handleStoreChange();\n\t }\n\t\n\t // Whenever location changes, dispatch an action to get it in the store\n\t var handleLocationChange = function handleLocationChange(location) {\n\t // ... unless we just caused that location change\n\t if (isTimeTraveling) {\n\t return;\n\t }\n\t\n\t // Remember where we are\n\t currentLocation = location;\n\t\n\t // Are we being called for the first time?\n\t if (!initialLocation) {\n\t // Remember as a fallback in case state is reset\n\t initialLocation = location;\n\t\n\t // Respect persisted location, if any\n\t if (getLocationInStore()) {\n\t return;\n\t }\n\t }\n\t\n\t // Tell the store to update by dispatching an action\n\t store.dispatch({\n\t type: _reducer.LOCATION_CHANGE,\n\t payload: location\n\t });\n\t };\n\t unsubscribeFromHistory = history.listen(handleLocationChange);\n\t\n\t // support history 3.x\n\t if (history.getCurrentLocation) {\n\t handleLocationChange(history.getCurrentLocation());\n\t }\n\t\n\t // The enhanced history uses store as source of truth\n\t return _extends({}, history, {\n\t // The listeners are subscribed to the store instead of history\n\t listen: function listen(listener) {\n\t // Copy of last location.\n\t var lastPublishedLocation = getLocationInStore(true);\n\t\n\t // Keep track of whether we unsubscribed, as Redux store\n\t // only applies changes in subscriptions on next dispatch\n\t var unsubscribed = false;\n\t var unsubscribeFromStore = store.subscribe(function () {\n\t var currentLocation = getLocationInStore(true);\n\t if (currentLocation === lastPublishedLocation) {\n\t return;\n\t }\n\t lastPublishedLocation = currentLocation;\n\t if (!unsubscribed) {\n\t listener(lastPublishedLocation);\n\t }\n\t });\n\t\n\t // History listeners expect a synchronous call. Make the first call to the\n\t // listener after subscribing to the store, in case the listener causes a\n\t // location change (e.g. when it redirects)\n\t listener(lastPublishedLocation);\n\t\n\t // Let user unsubscribe later\n\t return function () {\n\t unsubscribed = true;\n\t unsubscribeFromStore();\n\t };\n\t },\n\t\n\t\n\t // It also provides a way to destroy internal listeners\n\t unsubscribe: function unsubscribe() {\n\t if (adjustUrlOnReplay) {\n\t unsubscribeFromStore();\n\t }\n\t unsubscribeFromHistory();\n\t }\n\t });\n\t}\n\n/***/ },\n/* 551 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\t\n\tvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\t\n\tvar _react = __webpack_require__(2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _Link = __webpack_require__(311);\n\t\n\tvar _Link2 = _interopRequireDefault(_Link);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\t/**\n\t * An <IndexLink> is used to link to an <IndexRoute>.\n\t */\n\tvar IndexLink = _react2.default.createClass({\n\t displayName: 'IndexLink',\n\t render: function render() {\n\t return _react2.default.createElement(_Link2.default, _extends({}, this.props, { onlyActiveOnIndex: true }));\n\t }\n\t});\n\t\n\texports.default = IndexLink;\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 552 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\t\n\tvar _react = __webpack_require__(2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _routerWarning = __webpack_require__(52);\n\t\n\tvar _routerWarning2 = _interopRequireDefault(_routerWarning);\n\t\n\tvar _invariant = __webpack_require__(10);\n\t\n\tvar _invariant2 = _interopRequireDefault(_invariant);\n\t\n\tvar _Redirect = __webpack_require__(313);\n\t\n\tvar _Redirect2 = _interopRequireDefault(_Redirect);\n\t\n\tvar _InternalPropTypes = __webpack_require__(67);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tvar _React$PropTypes = _react2.default.PropTypes,\n\t string = _React$PropTypes.string,\n\t object = _React$PropTypes.object;\n\t\n\t/**\n\t * An <IndexRedirect> is used to redirect from an indexRoute.\n\t */\n\t/* eslint-disable react/require-render-return */\n\t\n\tvar IndexRedirect = _react2.default.createClass({\n\t displayName: 'IndexRedirect',\n\t\n\t\n\t statics: {\n\t createRouteFromReactElement: function createRouteFromReactElement(element, parentRoute) {\n\t /* istanbul ignore else: sanity check */\n\t if (parentRoute) {\n\t parentRoute.indexRoute = _Redirect2.default.createRouteFromReactElement(element);\n\t } else {\n\t false ? (0, _routerWarning2.default)(false, 'An <IndexRedirect> does not make sense at the root of your route config') : void 0;\n\t }\n\t }\n\t },\n\t\n\t propTypes: {\n\t to: string.isRequired,\n\t query: object,\n\t state: object,\n\t onEnter: _InternalPropTypes.falsy,\n\t children: _InternalPropTypes.falsy\n\t },\n\t\n\t /* istanbul ignore next: sanity check */\n\t render: function render() {\n\t true ? false ? (0, _invariant2.default)(false, '<IndexRedirect> elements are for router configuration only and should not be rendered') : (0, _invariant2.default)(false) : void 0;\n\t }\n\t});\n\t\n\texports.default = IndexRedirect;\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 553 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\t\n\tvar _react = __webpack_require__(2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _routerWarning = __webpack_require__(52);\n\t\n\tvar _routerWarning2 = _interopRequireDefault(_routerWarning);\n\t\n\tvar _invariant = __webpack_require__(10);\n\t\n\tvar _invariant2 = _interopRequireDefault(_invariant);\n\t\n\tvar _RouteUtils = __webpack_require__(36);\n\t\n\tvar _InternalPropTypes = __webpack_require__(67);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tvar func = _react2.default.PropTypes.func;\n\t\n\t/**\n\t * An <IndexRoute> is used to specify its parent's <Route indexRoute> in\n\t * a JSX route config.\n\t */\n\t/* eslint-disable react/require-render-return */\n\t\n\tvar IndexRoute = _react2.default.createClass({\n\t displayName: 'IndexRoute',\n\t\n\t\n\t statics: {\n\t createRouteFromReactElement: function createRouteFromReactElement(element, parentRoute) {\n\t /* istanbul ignore else: sanity check */\n\t if (parentRoute) {\n\t parentRoute.indexRoute = (0, _RouteUtils.createRouteFromReactElement)(element);\n\t } else {\n\t false ? (0, _routerWarning2.default)(false, 'An <IndexRoute> does not make sense at the root of your route config') : void 0;\n\t }\n\t }\n\t },\n\t\n\t propTypes: {\n\t path: _InternalPropTypes.falsy,\n\t component: _InternalPropTypes.component,\n\t components: _InternalPropTypes.components,\n\t getComponent: func,\n\t getComponents: func\n\t },\n\t\n\t /* istanbul ignore next: sanity check */\n\t render: function render() {\n\t true ? false ? (0, _invariant2.default)(false, '<IndexRoute> elements are for router configuration only and should not be rendered') : (0, _invariant2.default)(false) : void 0;\n\t }\n\t});\n\t\n\texports.default = IndexRoute;\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 554 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\t\n\tvar _react = __webpack_require__(2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _invariant = __webpack_require__(10);\n\t\n\tvar _invariant2 = _interopRequireDefault(_invariant);\n\t\n\tvar _RouteUtils = __webpack_require__(36);\n\t\n\tvar _InternalPropTypes = __webpack_require__(67);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tvar _React$PropTypes = _react2.default.PropTypes,\n\t string = _React$PropTypes.string,\n\t func = _React$PropTypes.func;\n\t\n\t/**\n\t * A <Route> is used to declare which components are rendered to the\n\t * page when the URL matches a given pattern.\n\t *\n\t * Routes are arranged in a nested tree structure. When a new URL is\n\t * requested, the tree is searched depth-first to find a route whose\n\t * path matches the URL. When one is found, all routes in the tree\n\t * that lead to it are considered \"active\" and their components are\n\t * rendered into the DOM, nested in the same order as in the tree.\n\t */\n\t/* eslint-disable react/require-render-return */\n\t\n\tvar Route = _react2.default.createClass({\n\t displayName: 'Route',\n\t\n\t\n\t statics: {\n\t createRouteFromReactElement: _RouteUtils.createRouteFromReactElement\n\t },\n\t\n\t propTypes: {\n\t path: string,\n\t component: _InternalPropTypes.component,\n\t components: _InternalPropTypes.components,\n\t getComponent: func,\n\t getComponents: func\n\t },\n\t\n\t /* istanbul ignore next: sanity check */\n\t render: function render() {\n\t true ? false ? (0, _invariant2.default)(false, '<Route> elements are for router configuration only and should not be rendered') : (0, _invariant2.default)(false) : void 0;\n\t }\n\t});\n\t\n\texports.default = Route;\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 555 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\t\n\tvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\t\n\tvar _invariant = __webpack_require__(10);\n\t\n\tvar _invariant2 = _interopRequireDefault(_invariant);\n\t\n\tvar _react = __webpack_require__(2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _createTransitionManager2 = __webpack_require__(317);\n\t\n\tvar _createTransitionManager3 = _interopRequireDefault(_createTransitionManager2);\n\t\n\tvar _InternalPropTypes = __webpack_require__(67);\n\t\n\tvar _RouterContext = __webpack_require__(131);\n\t\n\tvar _RouterContext2 = _interopRequireDefault(_RouterContext);\n\t\n\tvar _RouteUtils = __webpack_require__(36);\n\t\n\tvar _RouterUtils = __webpack_require__(314);\n\t\n\tvar _routerWarning = __webpack_require__(52);\n\t\n\tvar _routerWarning2 = _interopRequireDefault(_routerWarning);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\t\n\tvar _React$PropTypes = _react2.default.PropTypes,\n\t func = _React$PropTypes.func,\n\t object = _React$PropTypes.object;\n\t\n\t/**\n\t * A <Router> is a high-level API for automatically setting up\n\t * a router that renders a <RouterContext> with all the props\n\t * it needs each time the URL changes.\n\t */\n\t\n\tvar Router = _react2.default.createClass({\n\t displayName: 'Router',\n\t\n\t\n\t propTypes: {\n\t history: object,\n\t children: _InternalPropTypes.routes,\n\t routes: _InternalPropTypes.routes, // alias for children\n\t render: func,\n\t createElement: func,\n\t onError: func,\n\t onUpdate: func,\n\t\n\t // PRIVATE: For client-side rehydration of server match.\n\t matchContext: object\n\t },\n\t\n\t getDefaultProps: function getDefaultProps() {\n\t return {\n\t render: function render(props) {\n\t return _react2.default.createElement(_RouterContext2.default, props);\n\t }\n\t };\n\t },\n\t getInitialState: function getInitialState() {\n\t return {\n\t location: null,\n\t routes: null,\n\t params: null,\n\t components: null\n\t };\n\t },\n\t handleError: function handleError(error) {\n\t if (this.props.onError) {\n\t this.props.onError.call(this, error);\n\t } else {\n\t // Throw errors by default so we don't silently swallow them!\n\t throw error; // This error probably occurred in getChildRoutes or getComponents.\n\t }\n\t },\n\t createRouterObject: function createRouterObject(state) {\n\t var matchContext = this.props.matchContext;\n\t\n\t if (matchContext) {\n\t return matchContext.router;\n\t }\n\t\n\t var history = this.props.history;\n\t\n\t return (0, _RouterUtils.createRouterObject)(history, this.transitionManager, state);\n\t },\n\t createTransitionManager: function createTransitionManager() {\n\t var matchContext = this.props.matchContext;\n\t\n\t if (matchContext) {\n\t return matchContext.transitionManager;\n\t }\n\t\n\t var history = this.props.history;\n\t var _props = this.props,\n\t routes = _props.routes,\n\t children = _props.children;\n\t\n\t\n\t !history.getCurrentLocation ? false ? (0, _invariant2.default)(false, 'You have provided a history object created with history v2.x or ' + 'earlier. This version of React Router is only compatible with v3 ' + 'history objects. Please upgrade to history v3.x.') : (0, _invariant2.default)(false) : void 0;\n\t\n\t return (0, _createTransitionManager3.default)(history, (0, _RouteUtils.createRoutes)(routes || children));\n\t },\n\t componentWillMount: function componentWillMount() {\n\t var _this = this;\n\t\n\t this.transitionManager = this.createTransitionManager();\n\t this.router = this.createRouterObject(this.state);\n\t\n\t this._unlisten = this.transitionManager.listen(function (error, state) {\n\t if (error) {\n\t _this.handleError(error);\n\t } else {\n\t // Keep the identity of this.router because of a caveat in ContextUtils:\n\t // they only work if the object identity is preserved.\n\t (0, _RouterUtils.assignRouterState)(_this.router, state);\n\t _this.setState(state, _this.props.onUpdate);\n\t }\n\t });\n\t },\n\t\n\t\n\t /* istanbul ignore next: sanity check */\n\t componentWillReceiveProps: function componentWillReceiveProps(nextProps) {\n\t false ? (0, _routerWarning2.default)(nextProps.history === this.props.history, 'You cannot change <Router history>; it will be ignored') : void 0;\n\t\n\t false ? (0, _routerWarning2.default)((nextProps.routes || nextProps.children) === (this.props.routes || this.props.children), 'You cannot change <Router routes>; it will be ignored') : void 0;\n\t },\n\t componentWillUnmount: function componentWillUnmount() {\n\t if (this._unlisten) this._unlisten();\n\t },\n\t render: function render() {\n\t var _state = this.state,\n\t location = _state.location,\n\t routes = _state.routes,\n\t params = _state.params,\n\t components = _state.components;\n\t\n\t var _props2 = this.props,\n\t createElement = _props2.createElement,\n\t render = _props2.render,\n\t props = _objectWithoutProperties(_props2, ['createElement', 'render']);\n\t\n\t if (location == null) return null; // Async match\n\t\n\t // Only forward non-Router-specific props to routing context, as those are\n\t // the only ones that might be custom routing context props.\n\t Object.keys(Router.propTypes).forEach(function (propType) {\n\t return delete props[propType];\n\t });\n\t\n\t return render(_extends({}, props, {\n\t router: this.router,\n\t location: location,\n\t routes: routes,\n\t params: params,\n\t components: components,\n\t createElement: createElement\n\t }));\n\t }\n\t});\n\t\n\texports.default = Router;\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 556 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\texports.runEnterHooks = runEnterHooks;\n\texports.runChangeHooks = runChangeHooks;\n\texports.runLeaveHooks = runLeaveHooks;\n\t\n\tvar _AsyncUtils = __webpack_require__(128);\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tvar PendingHooks = function PendingHooks() {\n\t var _this = this;\n\t\n\t _classCallCheck(this, PendingHooks);\n\t\n\t this.hooks = [];\n\t\n\t this.add = function (hook) {\n\t return _this.hooks.push(hook);\n\t };\n\t\n\t this.remove = function (hook) {\n\t return _this.hooks = _this.hooks.filter(function (h) {\n\t return h !== hook;\n\t });\n\t };\n\t\n\t this.has = function (hook) {\n\t return _this.hooks.indexOf(hook) !== -1;\n\t };\n\t\n\t this.clear = function () {\n\t return _this.hooks = [];\n\t };\n\t};\n\t\n\tvar enterHooks = new PendingHooks();\n\tvar changeHooks = new PendingHooks();\n\t\n\tfunction createTransitionHook(hook, route, asyncArity, pendingHooks) {\n\t var isSync = hook.length < asyncArity;\n\t\n\t var transitionHook = function transitionHook() {\n\t for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n\t args[_key] = arguments[_key];\n\t }\n\t\n\t hook.apply(route, args);\n\t\n\t if (isSync) {\n\t var callback = args[args.length - 1];\n\t // Assume hook executes synchronously and\n\t // automatically call the callback.\n\t callback();\n\t }\n\t };\n\t\n\t pendingHooks.add(transitionHook);\n\t\n\t return transitionHook;\n\t}\n\t\n\tfunction getEnterHooks(routes) {\n\t return routes.reduce(function (hooks, route) {\n\t if (route.onEnter) hooks.push(createTransitionHook(route.onEnter, route, 3, enterHooks));\n\t return hooks;\n\t }, []);\n\t}\n\t\n\tfunction getChangeHooks(routes) {\n\t return routes.reduce(function (hooks, route) {\n\t if (route.onChange) hooks.push(createTransitionHook(route.onChange, route, 4, changeHooks));\n\t return hooks;\n\t }, []);\n\t}\n\t\n\tfunction runTransitionHooks(length, iter, callback) {\n\t if (!length) {\n\t callback();\n\t return;\n\t }\n\t\n\t var redirectInfo = void 0;\n\t function replace(location) {\n\t redirectInfo = location;\n\t }\n\t\n\t (0, _AsyncUtils.loopAsync)(length, function (index, next, done) {\n\t iter(index, replace, function (error) {\n\t if (error || redirectInfo) {\n\t done(error, redirectInfo); // No need to continue.\n\t } else {\n\t next();\n\t }\n\t });\n\t }, callback);\n\t}\n\t\n\t/**\n\t * Runs all onEnter hooks in the given array of routes in order\n\t * with onEnter(nextState, replace, callback) and calls\n\t * callback(error, redirectInfo) when finished. The first hook\n\t * to use replace short-circuits the loop.\n\t *\n\t * If a hook needs to run asynchronously, it may use the callback\n\t * function. However, doing so will cause the transition to pause,\n\t * which could lead to a non-responsive UI if the hook is slow.\n\t */\n\tfunction runEnterHooks(routes, nextState, callback) {\n\t enterHooks.clear();\n\t var hooks = getEnterHooks(routes);\n\t return runTransitionHooks(hooks.length, function (index, replace, next) {\n\t var wrappedNext = function wrappedNext() {\n\t if (enterHooks.has(hooks[index])) {\n\t next();\n\t enterHooks.remove(hooks[index]);\n\t }\n\t };\n\t hooks[index](nextState, replace, wrappedNext);\n\t }, callback);\n\t}\n\t\n\t/**\n\t * Runs all onChange hooks in the given array of routes in order\n\t * with onChange(prevState, nextState, replace, callback) and calls\n\t * callback(error, redirectInfo) when finished. The first hook\n\t * to use replace short-circuits the loop.\n\t *\n\t * If a hook needs to run asynchronously, it may use the callback\n\t * function. However, doing so will cause the transition to pause,\n\t * which could lead to a non-responsive UI if the hook is slow.\n\t */\n\tfunction runChangeHooks(routes, state, nextState, callback) {\n\t changeHooks.clear();\n\t var hooks = getChangeHooks(routes);\n\t return runTransitionHooks(hooks.length, function (index, replace, next) {\n\t var wrappedNext = function wrappedNext() {\n\t if (changeHooks.has(hooks[index])) {\n\t next();\n\t changeHooks.remove(hooks[index]);\n\t }\n\t };\n\t hooks[index](state, nextState, replace, wrappedNext);\n\t }, callback);\n\t}\n\t\n\t/**\n\t * Runs all onLeave hooks in the given array of routes in order.\n\t */\n\tfunction runLeaveHooks(routes, prevState) {\n\t for (var i = 0, len = routes.length; i < len; ++i) {\n\t if (routes[i].onLeave) routes[i].onLeave.call(routes[i], prevState);\n\t }\n\t}\n\n/***/ },\n/* 557 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\t\n\tvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\t\n\tvar _react = __webpack_require__(2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _RouterContext = __webpack_require__(131);\n\t\n\tvar _RouterContext2 = _interopRequireDefault(_RouterContext);\n\t\n\tvar _routerWarning = __webpack_require__(52);\n\t\n\tvar _routerWarning2 = _interopRequireDefault(_routerWarning);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\texports.default = function () {\n\t for (var _len = arguments.length, middlewares = Array(_len), _key = 0; _key < _len; _key++) {\n\t middlewares[_key] = arguments[_key];\n\t }\n\t\n\t if (false) {\n\t middlewares.forEach(function (middleware, index) {\n\t process.env.NODE_ENV !== 'production' ? (0, _routerWarning2.default)(middleware.renderRouterContext || middleware.renderRouteComponent, 'The middleware specified at index ' + index + ' does not appear to be ' + 'a valid React Router middleware.') : void 0;\n\t });\n\t }\n\t\n\t var withContext = middlewares.map(function (middleware) {\n\t return middleware.renderRouterContext;\n\t }).filter(Boolean);\n\t var withComponent = middlewares.map(function (middleware) {\n\t return middleware.renderRouteComponent;\n\t }).filter(Boolean);\n\t\n\t var makeCreateElement = function makeCreateElement() {\n\t var baseCreateElement = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _react.createElement;\n\t return function (Component, props) {\n\t return withComponent.reduceRight(function (previous, renderRouteComponent) {\n\t return renderRouteComponent(previous, props);\n\t }, baseCreateElement(Component, props));\n\t };\n\t };\n\t\n\t return function (renderProps) {\n\t return withContext.reduceRight(function (previous, renderRouterContext) {\n\t return renderRouterContext(previous, renderProps);\n\t }, _react2.default.createElement(_RouterContext2.default, _extends({}, renderProps, {\n\t createElement: makeCreateElement(renderProps.createElement)\n\t })));\n\t };\n\t};\n\t\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 558 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\t\n\tvar _createBrowserHistory = __webpack_require__(430);\n\t\n\tvar _createBrowserHistory2 = _interopRequireDefault(_createBrowserHistory);\n\t\n\tvar _createRouterHistory = __webpack_require__(316);\n\t\n\tvar _createRouterHistory2 = _interopRequireDefault(_createRouterHistory);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\texports.default = (0, _createRouterHistory2.default)(_createBrowserHistory2.default);\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 559 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\t\n\tvar _PatternUtils = __webpack_require__(51);\n\t\n\tfunction routeParamsChanged(route, prevState, nextState) {\n\t if (!route.path) return false;\n\t\n\t var paramNames = (0, _PatternUtils.getParamNames)(route.path);\n\t\n\t return paramNames.some(function (paramName) {\n\t return prevState.params[paramName] !== nextState.params[paramName];\n\t });\n\t}\n\t\n\t/**\n\t * Returns an object of { leaveRoutes, changeRoutes, enterRoutes } determined by\n\t * the change from prevState to nextState. We leave routes if either\n\t * 1) they are not in the next state or 2) they are in the next state\n\t * but their params have changed (i.e. /users/123 => /users/456).\n\t *\n\t * leaveRoutes are ordered starting at the leaf route of the tree\n\t * we're leaving up to the common parent route. enterRoutes are ordered\n\t * from the top of the tree we're entering down to the leaf route.\n\t *\n\t * changeRoutes are any routes that didn't leave or enter during\n\t * the transition.\n\t */\n\tfunction computeChangedRoutes(prevState, nextState) {\n\t var prevRoutes = prevState && prevState.routes;\n\t var nextRoutes = nextState.routes;\n\t\n\t var leaveRoutes = void 0,\n\t changeRoutes = void 0,\n\t enterRoutes = void 0;\n\t if (prevRoutes) {\n\t (function () {\n\t var parentIsLeaving = false;\n\t leaveRoutes = prevRoutes.filter(function (route) {\n\t if (parentIsLeaving) {\n\t return true;\n\t } else {\n\t var isLeaving = nextRoutes.indexOf(route) === -1 || routeParamsChanged(route, prevState, nextState);\n\t if (isLeaving) parentIsLeaving = true;\n\t return isLeaving;\n\t }\n\t });\n\t\n\t // onLeave hooks start at the leaf route.\n\t leaveRoutes.reverse();\n\t\n\t enterRoutes = [];\n\t changeRoutes = [];\n\t\n\t nextRoutes.forEach(function (route) {\n\t var isNew = prevRoutes.indexOf(route) === -1;\n\t var paramsChanged = leaveRoutes.indexOf(route) !== -1;\n\t\n\t if (isNew || paramsChanged) enterRoutes.push(route);else changeRoutes.push(route);\n\t });\n\t })();\n\t } else {\n\t leaveRoutes = [];\n\t changeRoutes = [];\n\t enterRoutes = nextRoutes;\n\t }\n\t\n\t return {\n\t leaveRoutes: leaveRoutes,\n\t changeRoutes: changeRoutes,\n\t enterRoutes: enterRoutes\n\t };\n\t}\n\t\n\texports.default = computeChangedRoutes;\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 560 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\t\n\tvar _AsyncUtils = __webpack_require__(128);\n\t\n\tvar _PromiseUtils = __webpack_require__(312);\n\t\n\tfunction getComponentsForRoute(nextState, route, callback) {\n\t if (route.component || route.components) {\n\t callback(null, route.component || route.components);\n\t return;\n\t }\n\t\n\t var getComponent = route.getComponent || route.getComponents;\n\t if (getComponent) {\n\t var componentReturn = getComponent.call(route, nextState, callback);\n\t if ((0, _PromiseUtils.isPromise)(componentReturn)) componentReturn.then(function (component) {\n\t return callback(null, component);\n\t }, callback);\n\t } else {\n\t callback();\n\t }\n\t}\n\t\n\t/**\n\t * Asynchronously fetches all components needed for the given router\n\t * state and calls callback(error, components) when finished.\n\t *\n\t * Note: This operation may finish synchronously if no routes have an\n\t * asynchronous getComponents method.\n\t */\n\tfunction getComponents(nextState, callback) {\n\t (0, _AsyncUtils.mapAsync)(nextState.routes, function (route, index, callback) {\n\t getComponentsForRoute(nextState, route, callback);\n\t }, callback);\n\t}\n\t\n\texports.default = getComponents;\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 561 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\t\n\tvar _PatternUtils = __webpack_require__(51);\n\t\n\t/**\n\t * Extracts an object of params the given route cares about from\n\t * the given params object.\n\t */\n\tfunction getRouteParams(route, params) {\n\t var routeParams = {};\n\t\n\t if (!route.path) return routeParams;\n\t\n\t (0, _PatternUtils.getParamNames)(route.path).forEach(function (p) {\n\t if (Object.prototype.hasOwnProperty.call(params, p)) {\n\t routeParams[p] = params[p];\n\t }\n\t });\n\t\n\t return routeParams;\n\t}\n\t\n\texports.default = getRouteParams;\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 562 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\t\n\tvar _createHashHistory = __webpack_require__(431);\n\t\n\tvar _createHashHistory2 = _interopRequireDefault(_createHashHistory);\n\t\n\tvar _createRouterHistory = __webpack_require__(316);\n\t\n\tvar _createRouterHistory2 = _interopRequireDefault(_createRouterHistory);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\texports.default = (0, _createRouterHistory2.default)(_createHashHistory2.default);\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 563 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\t\n\tvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\t\n\texports.default = isActive;\n\t\n\tvar _PatternUtils = __webpack_require__(51);\n\t\n\tfunction deepEqual(a, b) {\n\t if (a == b) return true;\n\t\n\t if (a == null || b == null) return false;\n\t\n\t if (Array.isArray(a)) {\n\t return Array.isArray(b) && a.length === b.length && a.every(function (item, index) {\n\t return deepEqual(item, b[index]);\n\t });\n\t }\n\t\n\t if ((typeof a === 'undefined' ? 'undefined' : _typeof(a)) === 'object') {\n\t for (var p in a) {\n\t if (!Object.prototype.hasOwnProperty.call(a, p)) {\n\t continue;\n\t }\n\t\n\t if (a[p] === undefined) {\n\t if (b[p] !== undefined) {\n\t return false;\n\t }\n\t } else if (!Object.prototype.hasOwnProperty.call(b, p)) {\n\t return false;\n\t } else if (!deepEqual(a[p], b[p])) {\n\t return false;\n\t }\n\t }\n\t\n\t return true;\n\t }\n\t\n\t return String(a) === String(b);\n\t}\n\t\n\t/**\n\t * Returns true if the current pathname matches the supplied one, net of\n\t * leading and trailing slash normalization. This is sufficient for an\n\t * indexOnly route match.\n\t */\n\tfunction pathIsActive(pathname, currentPathname) {\n\t // Normalize leading slash for consistency. Leading slash on pathname has\n\t // already been normalized in isActive. See caveat there.\n\t if (currentPathname.charAt(0) !== '/') {\n\t currentPathname = '/' + currentPathname;\n\t }\n\t\n\t // Normalize the end of both path names too. Maybe `/foo/` shouldn't show\n\t // `/foo` as active, but in this case, we would already have failed the\n\t // match.\n\t if (pathname.charAt(pathname.length - 1) !== '/') {\n\t pathname += '/';\n\t }\n\t if (currentPathname.charAt(currentPathname.length - 1) !== '/') {\n\t currentPathname += '/';\n\t }\n\t\n\t return currentPathname === pathname;\n\t}\n\t\n\t/**\n\t * Returns true if the given pathname matches the active routes and params.\n\t */\n\tfunction routeIsActive(pathname, routes, params) {\n\t var remainingPathname = pathname,\n\t paramNames = [],\n\t paramValues = [];\n\t\n\t // for...of would work here but it's probably slower post-transpilation.\n\t for (var i = 0, len = routes.length; i < len; ++i) {\n\t var route = routes[i];\n\t var pattern = route.path || '';\n\t\n\t if (pattern.charAt(0) === '/') {\n\t remainingPathname = pathname;\n\t paramNames = [];\n\t paramValues = [];\n\t }\n\t\n\t if (remainingPathname !== null && pattern) {\n\t var matched = (0, _PatternUtils.matchPattern)(pattern, remainingPathname);\n\t if (matched) {\n\t remainingPathname = matched.remainingPathname;\n\t paramNames = [].concat(paramNames, matched.paramNames);\n\t paramValues = [].concat(paramValues, matched.paramValues);\n\t } else {\n\t remainingPathname = null;\n\t }\n\t\n\t if (remainingPathname === '') {\n\t // We have an exact match on the route. Just check that all the params\n\t // match.\n\t // FIXME: This doesn't work on repeated params.\n\t return paramNames.every(function (paramName, index) {\n\t return String(paramValues[index]) === String(params[paramName]);\n\t });\n\t }\n\t }\n\t }\n\t\n\t return false;\n\t}\n\t\n\t/**\n\t * Returns true if all key/value pairs in the given query are\n\t * currently active.\n\t */\n\tfunction queryIsActive(query, activeQuery) {\n\t if (activeQuery == null) return query == null;\n\t\n\t if (query == null) return true;\n\t\n\t return deepEqual(query, activeQuery);\n\t}\n\t\n\t/**\n\t * Returns true if a <Link> to the given pathname/query combination is\n\t * currently active.\n\t */\n\tfunction isActive(_ref, indexOnly, currentLocation, routes, params) {\n\t var pathname = _ref.pathname,\n\t query = _ref.query;\n\t\n\t if (currentLocation == null) return false;\n\t\n\t // TODO: This is a bit ugly. It keeps around support for treating pathnames\n\t // without preceding slashes as absolute paths, but possibly also works\n\t // around the same quirks with basenames as in matchRoutes.\n\t if (pathname.charAt(0) !== '/') {\n\t pathname = '/' + pathname;\n\t }\n\t\n\t if (!pathIsActive(pathname, currentLocation.pathname)) {\n\t // The path check is necessary and sufficient for indexOnly, but otherwise\n\t // we still need to check the routes.\n\t if (indexOnly || !routeIsActive(pathname, routes, params)) {\n\t return false;\n\t }\n\t }\n\t\n\t return queryIsActive(query, currentLocation.query);\n\t}\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 564 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\t\n\tvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\t\n\tvar _Actions = __webpack_require__(84);\n\t\n\tvar _invariant = __webpack_require__(10);\n\t\n\tvar _invariant2 = _interopRequireDefault(_invariant);\n\t\n\tvar _createMemoryHistory = __webpack_require__(315);\n\t\n\tvar _createMemoryHistory2 = _interopRequireDefault(_createMemoryHistory);\n\t\n\tvar _createTransitionManager = __webpack_require__(317);\n\t\n\tvar _createTransitionManager2 = _interopRequireDefault(_createTransitionManager);\n\t\n\tvar _RouteUtils = __webpack_require__(36);\n\t\n\tvar _RouterUtils = __webpack_require__(314);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\t\n\t/**\n\t * A high-level API to be used for server-side rendering.\n\t *\n\t * This function matches a location to a set of routes and calls\n\t * callback(error, redirectLocation, renderProps) when finished.\n\t *\n\t * Note: You probably don't want to use this in a browser unless you're using\n\t * server-side rendering with async routes.\n\t */\n\tfunction match(_ref, callback) {\n\t var history = _ref.history,\n\t routes = _ref.routes,\n\t location = _ref.location,\n\t options = _objectWithoutProperties(_ref, ['history', 'routes', 'location']);\n\t\n\t !(history || location) ? false ? (0, _invariant2.default)(false, 'match needs a history or a location') : (0, _invariant2.default)(false) : void 0;\n\t\n\t history = history ? history : (0, _createMemoryHistory2.default)(options);\n\t var transitionManager = (0, _createTransitionManager2.default)(history, (0, _RouteUtils.createRoutes)(routes));\n\t\n\t if (location) {\n\t // Allow match({ location: '/the/path', ... })\n\t location = history.createLocation(location);\n\t } else {\n\t location = history.getCurrentLocation();\n\t }\n\t\n\t transitionManager.match(location, function (error, redirectLocation, nextState) {\n\t var renderProps = void 0;\n\t\n\t if (nextState) {\n\t var router = (0, _RouterUtils.createRouterObject)(history, transitionManager, nextState);\n\t renderProps = _extends({}, nextState, {\n\t router: router,\n\t matchContext: { transitionManager: transitionManager, router: router }\n\t });\n\t }\n\t\n\t callback(error, redirectLocation && history.createLocation(redirectLocation, _Actions.REPLACE), renderProps);\n\t });\n\t}\n\t\n\texports.default = match;\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 565 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\t\n\tvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\t\n\tvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\t\n\texports.default = matchRoutes;\n\t\n\tvar _AsyncUtils = __webpack_require__(128);\n\t\n\tvar _PromiseUtils = __webpack_require__(312);\n\t\n\tvar _PatternUtils = __webpack_require__(51);\n\t\n\tvar _routerWarning = __webpack_require__(52);\n\t\n\tvar _routerWarning2 = _interopRequireDefault(_routerWarning);\n\t\n\tvar _RouteUtils = __webpack_require__(36);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction getChildRoutes(route, location, paramNames, paramValues, callback) {\n\t if (route.childRoutes) {\n\t return [null, route.childRoutes];\n\t }\n\t if (!route.getChildRoutes) {\n\t return [];\n\t }\n\t\n\t var sync = true,\n\t result = void 0;\n\t\n\t var partialNextState = {\n\t location: location,\n\t params: createParams(paramNames, paramValues)\n\t };\n\t\n\t var childRoutesReturn = route.getChildRoutes(partialNextState, function (error, childRoutes) {\n\t childRoutes = !error && (0, _RouteUtils.createRoutes)(childRoutes);\n\t if (sync) {\n\t result = [error, childRoutes];\n\t return;\n\t }\n\t\n\t callback(error, childRoutes);\n\t });\n\t\n\t if ((0, _PromiseUtils.isPromise)(childRoutesReturn)) childRoutesReturn.then(function (childRoutes) {\n\t return callback(null, (0, _RouteUtils.createRoutes)(childRoutes));\n\t }, callback);\n\t\n\t sync = false;\n\t return result; // Might be undefined.\n\t}\n\t\n\tfunction getIndexRoute(route, location, paramNames, paramValues, callback) {\n\t if (route.indexRoute) {\n\t callback(null, route.indexRoute);\n\t } else if (route.getIndexRoute) {\n\t var partialNextState = {\n\t location: location,\n\t params: createParams(paramNames, paramValues)\n\t };\n\t\n\t var indexRoutesReturn = route.getIndexRoute(partialNextState, function (error, indexRoute) {\n\t callback(error, !error && (0, _RouteUtils.createRoutes)(indexRoute)[0]);\n\t });\n\t\n\t if ((0, _PromiseUtils.isPromise)(indexRoutesReturn)) indexRoutesReturn.then(function (indexRoute) {\n\t return callback(null, (0, _RouteUtils.createRoutes)(indexRoute)[0]);\n\t }, callback);\n\t } else if (route.childRoutes) {\n\t (function () {\n\t var pathless = route.childRoutes.filter(function (childRoute) {\n\t return !childRoute.path;\n\t });\n\t\n\t (0, _AsyncUtils.loopAsync)(pathless.length, function (index, next, done) {\n\t getIndexRoute(pathless[index], location, paramNames, paramValues, function (error, indexRoute) {\n\t if (error || indexRoute) {\n\t var routes = [pathless[index]].concat(Array.isArray(indexRoute) ? indexRoute : [indexRoute]);\n\t done(error, routes);\n\t } else {\n\t next();\n\t }\n\t });\n\t }, function (err, routes) {\n\t callback(null, routes);\n\t });\n\t })();\n\t } else {\n\t callback();\n\t }\n\t}\n\t\n\tfunction assignParams(params, paramNames, paramValues) {\n\t return paramNames.reduce(function (params, paramName, index) {\n\t var paramValue = paramValues && paramValues[index];\n\t\n\t if (Array.isArray(params[paramName])) {\n\t params[paramName].push(paramValue);\n\t } else if (paramName in params) {\n\t params[paramName] = [params[paramName], paramValue];\n\t } else {\n\t params[paramName] = paramValue;\n\t }\n\t\n\t return params;\n\t }, params);\n\t}\n\t\n\tfunction createParams(paramNames, paramValues) {\n\t return assignParams({}, paramNames, paramValues);\n\t}\n\t\n\tfunction matchRouteDeep(route, location, remainingPathname, paramNames, paramValues, callback) {\n\t var pattern = route.path || '';\n\t\n\t if (pattern.charAt(0) === '/') {\n\t remainingPathname = location.pathname;\n\t paramNames = [];\n\t paramValues = [];\n\t }\n\t\n\t // Only try to match the path if the route actually has a pattern, and if\n\t // we're not just searching for potential nested absolute paths.\n\t if (remainingPathname !== null && pattern) {\n\t try {\n\t var matched = (0, _PatternUtils.matchPattern)(pattern, remainingPathname);\n\t if (matched) {\n\t remainingPathname = matched.remainingPathname;\n\t paramNames = [].concat(paramNames, matched.paramNames);\n\t paramValues = [].concat(paramValues, matched.paramValues);\n\t } else {\n\t remainingPathname = null;\n\t }\n\t } catch (error) {\n\t callback(error);\n\t }\n\t\n\t // By assumption, pattern is non-empty here, which is the prerequisite for\n\t // actually terminating a match.\n\t if (remainingPathname === '') {\n\t var _ret2 = function () {\n\t var match = {\n\t routes: [route],\n\t params: createParams(paramNames, paramValues)\n\t };\n\t\n\t getIndexRoute(route, location, paramNames, paramValues, function (error, indexRoute) {\n\t if (error) {\n\t callback(error);\n\t } else {\n\t if (Array.isArray(indexRoute)) {\n\t var _match$routes;\n\t\n\t false ? (0, _routerWarning2.default)(indexRoute.every(function (route) {\n\t return !route.path;\n\t }), 'Index routes should not have paths') : void 0;\n\t (_match$routes = match.routes).push.apply(_match$routes, indexRoute);\n\t } else if (indexRoute) {\n\t false ? (0, _routerWarning2.default)(!indexRoute.path, 'Index routes should not have paths') : void 0;\n\t match.routes.push(indexRoute);\n\t }\n\t\n\t callback(null, match);\n\t }\n\t });\n\t\n\t return {\n\t v: void 0\n\t };\n\t }();\n\t\n\t if ((typeof _ret2 === 'undefined' ? 'undefined' : _typeof(_ret2)) === \"object\") return _ret2.v;\n\t }\n\t }\n\t\n\t if (remainingPathname != null || route.childRoutes) {\n\t // Either a) this route matched at least some of the path or b)\n\t // we don't have to load this route's children asynchronously. In\n\t // either case continue checking for matches in the subtree.\n\t var onChildRoutes = function onChildRoutes(error, childRoutes) {\n\t if (error) {\n\t callback(error);\n\t } else if (childRoutes) {\n\t // Check the child routes to see if any of them match.\n\t matchRoutes(childRoutes, location, function (error, match) {\n\t if (error) {\n\t callback(error);\n\t } else if (match) {\n\t // A child route matched! Augment the match and pass it up the stack.\n\t match.routes.unshift(route);\n\t callback(null, match);\n\t } else {\n\t callback();\n\t }\n\t }, remainingPathname, paramNames, paramValues);\n\t } else {\n\t callback();\n\t }\n\t };\n\t\n\t var result = getChildRoutes(route, location, paramNames, paramValues, onChildRoutes);\n\t if (result) {\n\t onChildRoutes.apply(undefined, result);\n\t }\n\t } else {\n\t callback();\n\t }\n\t}\n\t\n\t/**\n\t * Asynchronously matches the given location to a set of routes and calls\n\t * callback(error, state) when finished. The state object will have the\n\t * following properties:\n\t *\n\t * - routes An array of routes that matched, in hierarchical order\n\t * - params An object of URL parameters\n\t *\n\t * Note: This operation may finish synchronously if no routes have an\n\t * asynchronous getChildRoutes method.\n\t */\n\tfunction matchRoutes(routes, location, callback, remainingPathname) {\n\t var paramNames = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : [];\n\t var paramValues = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : [];\n\t\n\t if (remainingPathname === undefined) {\n\t // TODO: This is a little bit ugly, but it works around a quirk in history\n\t // that strips the leading slash from pathnames when using basenames with\n\t // trailing slashes.\n\t if (location.pathname.charAt(0) !== '/') {\n\t location = _extends({}, location, {\n\t pathname: '/' + location.pathname\n\t });\n\t }\n\t remainingPathname = location.pathname;\n\t }\n\t\n\t (0, _AsyncUtils.loopAsync)(routes.length, function (index, next, done) {\n\t matchRouteDeep(routes[index], location, remainingPathname, paramNames, paramValues, function (error, match) {\n\t if (error || match) {\n\t done(error, match);\n\t } else {\n\t next();\n\t }\n\t });\n\t }, callback);\n\t}\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 566 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\t\n\tvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\t\n\texports.default = withRouter;\n\t\n\tvar _invariant = __webpack_require__(10);\n\t\n\tvar _invariant2 = _interopRequireDefault(_invariant);\n\t\n\tvar _react = __webpack_require__(2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _hoistNonReactStatics = __webpack_require__(178);\n\t\n\tvar _hoistNonReactStatics2 = _interopRequireDefault(_hoistNonReactStatics);\n\t\n\tvar _ContextUtils = __webpack_require__(129);\n\t\n\tvar _PropTypes = __webpack_require__(130);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction getDisplayName(WrappedComponent) {\n\t return WrappedComponent.displayName || WrappedComponent.name || 'Component';\n\t}\n\t\n\tfunction withRouter(WrappedComponent, options) {\n\t var withRef = options && options.withRef;\n\t\n\t var WithRouter = _react2.default.createClass({\n\t displayName: 'WithRouter',\n\t\n\t mixins: [(0, _ContextUtils.ContextSubscriber)('router')],\n\t\n\t contextTypes: { router: _PropTypes.routerShape },\n\t propTypes: { router: _PropTypes.routerShape },\n\t\n\t getWrappedInstance: function getWrappedInstance() {\n\t !withRef ? false ? (0, _invariant2.default)(false, 'To access the wrapped instance, you need to specify ' + '`{ withRef: true }` as the second argument of the withRouter() call.') : (0, _invariant2.default)(false) : void 0;\n\t\n\t return this.wrappedInstance;\n\t },\n\t render: function render() {\n\t var _this = this;\n\t\n\t var router = this.props.router || this.context.router;\n\t var params = router.params,\n\t location = router.location,\n\t routes = router.routes;\n\t\n\t var props = _extends({}, this.props, { router: router, params: params, location: location, routes: routes });\n\t\n\t if (withRef) {\n\t props.ref = function (c) {\n\t _this.wrappedInstance = c;\n\t };\n\t }\n\t\n\t return _react2.default.createElement(WrappedComponent, props);\n\t }\n\t });\n\t\n\t WithRouter.displayName = 'withRouter(' + getDisplayName(WrappedComponent) + ')';\n\t WithRouter.WrappedComponent = WrappedComponent;\n\t\n\t return (0, _hoistNonReactStatics2.default)(WithRouter, WrappedComponent);\n\t}\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 567 */\n41,\n/* 568 */\n/***/ function(module, exports) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\texports.default = calculateNodeHeight;\n\t/**\n\t * calculateNodeHeight(uiTextNode, useCache = false)\n\t */\n\t\n\tvar HIDDEN_TEXTAREA_STYLE = '\\n min-height:0 !important;\\n max-height:none !important;\\n height:0 !important;\\n visibility:hidden !important;\\n overflow:hidden !important;\\n position:absolute !important;\\n z-index:-1000 !important;\\n top:0 !important;\\n right:0 !important\\n';\n\t\n\tvar SIZING_STYLE = ['letter-spacing', 'line-height', 'padding-top', 'padding-bottom', 'font-family', 'font-weight', 'font-size', 'text-rendering', 'text-transform', 'width', 'text-indent', 'padding-left', 'padding-right', 'border-width', 'box-sizing'];\n\t\n\tvar computedStyleCache = {};\n\tvar hiddenTextarea = void 0;\n\t\n\tfunction calculateNodeHeight(uiTextNode) {\n\t var useCache = arguments.length <= 1 || arguments[1] === undefined ? false : arguments[1];\n\t var minRows = arguments.length <= 2 || arguments[2] === undefined ? null : arguments[2];\n\t var maxRows = arguments.length <= 3 || arguments[3] === undefined ? null : arguments[3];\n\t\n\t if (!hiddenTextarea) {\n\t hiddenTextarea = document.createElement('textarea');\n\t document.body.appendChild(hiddenTextarea);\n\t }\n\t\n\t // Copy all CSS properties that have an impact on the height of the content in\n\t // the textbox\n\t\n\t var _calculateNodeStyling = calculateNodeStyling(uiTextNode, useCache);\n\t\n\t var paddingSize = _calculateNodeStyling.paddingSize;\n\t var borderSize = _calculateNodeStyling.borderSize;\n\t var boxSizing = _calculateNodeStyling.boxSizing;\n\t var sizingStyle = _calculateNodeStyling.sizingStyle;\n\t\n\t // Need to have the overflow attribute to hide the scrollbar otherwise\n\t // text-lines will not calculated properly as the shadow will technically be\n\t // narrower for content\n\t\n\t hiddenTextarea.setAttribute('style', sizingStyle + ';' + HIDDEN_TEXTAREA_STYLE);\n\t hiddenTextarea.value = uiTextNode.value || uiTextNode.placeholder || 'x';\n\t\n\t var minHeight = -Infinity;\n\t var maxHeight = Infinity;\n\t var height = hiddenTextarea.scrollHeight;\n\t\n\t if (boxSizing === 'border-box') {\n\t // border-box: add border, since height = content + padding + border\n\t height = height + borderSize;\n\t } else if (boxSizing === 'content-box') {\n\t // remove padding, since height = content\n\t height = height - paddingSize;\n\t }\n\t\n\t if (minRows !== null || maxRows !== null) {\n\t // measure height of a textarea with a single row\n\t hiddenTextarea.value = 'x';\n\t var singleRowHeight = hiddenTextarea.scrollHeight - paddingSize;\n\t if (minRows !== null) {\n\t minHeight = singleRowHeight * minRows;\n\t if (boxSizing === 'border-box') {\n\t minHeight = minHeight + paddingSize + borderSize;\n\t }\n\t height = Math.max(minHeight, height);\n\t }\n\t if (maxRows !== null) {\n\t maxHeight = singleRowHeight * maxRows;\n\t if (boxSizing === 'border-box') {\n\t maxHeight = maxHeight + paddingSize + borderSize;\n\t }\n\t height = Math.min(maxHeight, height);\n\t }\n\t }\n\t return { height: height, minHeight: minHeight, maxHeight: maxHeight };\n\t}\n\t\n\tfunction calculateNodeStyling(node) {\n\t var useCache = arguments.length <= 1 || arguments[1] === undefined ? false : arguments[1];\n\t\n\t var nodeRef = node.getAttribute('id') || node.getAttribute('data-reactid') || node.getAttribute('name');\n\t\n\t if (useCache && computedStyleCache[nodeRef]) {\n\t return computedStyleCache[nodeRef];\n\t }\n\t\n\t var style = window.getComputedStyle(node);\n\t\n\t var boxSizing = style.getPropertyValue('box-sizing') || style.getPropertyValue('-moz-box-sizing') || style.getPropertyValue('-webkit-box-sizing');\n\t\n\t var paddingSize = parseFloat(style.getPropertyValue('padding-bottom')) + parseFloat(style.getPropertyValue('padding-top'));\n\t\n\t var borderSize = parseFloat(style.getPropertyValue('border-bottom-width')) + parseFloat(style.getPropertyValue('border-top-width'));\n\t\n\t var sizingStyle = SIZING_STYLE.map(function (name) {\n\t return name + ':' + style.getPropertyValue(name);\n\t }).join(';');\n\t\n\t var nodeInfo = {\n\t sizingStyle: sizingStyle,\n\t paddingSize: paddingSize,\n\t borderSize: borderSize,\n\t boxSizing: boxSizing\n\t };\n\t\n\t if (useCache && nodeRef) {\n\t computedStyleCache[nodeRef] = nodeInfo;\n\t }\n\t\n\t return nodeInfo;\n\t}\n\n\n/***/ },\n/* 569 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\t\n\tvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\t\n\tvar _VIEW, _OPPOSITE_DIRECTION, _MULTIPLIER, _desc, _value2, _obj; //values, omit\n\t\n\t\n\tvar _react = __webpack_require__(2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _classnames = __webpack_require__(26);\n\t\n\tvar _classnames2 = _interopRequireDefault(_classnames);\n\t\n\tvar _compat = __webpack_require__(31);\n\t\n\tvar _compat2 = _interopRequireDefault(_compat);\n\t\n\tvar _Widget = __webpack_require__(320);\n\t\n\tvar _Widget2 = _interopRequireDefault(_Widget);\n\t\n\tvar _Header = __webpack_require__(575);\n\t\n\tvar _Header2 = _interopRequireDefault(_Header);\n\t\n\tvar _Footer = __webpack_require__(574);\n\t\n\tvar _Footer2 = _interopRequireDefault(_Footer);\n\t\n\tvar _Month = __webpack_require__(579);\n\t\n\tvar _Month2 = _interopRequireDefault(_Month);\n\t\n\tvar _Year = __webpack_require__(584);\n\t\n\tvar _Year2 = _interopRequireDefault(_Year);\n\t\n\tvar _Decade = __webpack_require__(573);\n\t\n\tvar _Decade2 = _interopRequireDefault(_Decade);\n\t\n\tvar _Century = __webpack_require__(570);\n\t\n\tvar _Century2 = _interopRequireDefault(_Century);\n\t\n\tvar _localizers = __webpack_require__(21);\n\t\n\tvar _propTypes = __webpack_require__(28);\n\t\n\tvar _propTypes2 = _interopRequireDefault(_propTypes);\n\t\n\tvar _uncontrollable = __webpack_require__(353);\n\t\n\tvar _uncontrollable2 = _interopRequireDefault(_uncontrollable);\n\t\n\tvar _SlideTransition = __webpack_require__(582);\n\t\n\tvar _SlideTransition2 = _interopRequireDefault(_SlideTransition);\n\t\n\tvar _dates = __webpack_require__(37);\n\t\n\tvar _dates2 = _interopRequireDefault(_dates);\n\t\n\tvar _constants = __webpack_require__(135);\n\t\n\tvar constants = _interopRequireWildcard(_constants);\n\t\n\tvar _2 = __webpack_require__(12);\n\t\n\tvar _3 = _interopRequireDefault(_2);\n\t\n\tvar _widgetHelpers = __webpack_require__(38);\n\t\n\tvar _interaction = __webpack_require__(70);\n\t\n\tfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\t\n\tfunction _applyDecoratedDescriptor(target, property, decorators, descriptor, context) {\n\t var desc = {};\n\t Object['ke' + 'ys'](descriptor).forEach(function (key) {\n\t desc[key] = descriptor[key];\n\t });\n\t desc.enumerable = !!desc.enumerable;\n\t desc.configurable = !!desc.configurable;\n\t\n\t if ('value' in desc || desc.initializer) {\n\t desc.writable = true;\n\t }\n\t\n\t desc = decorators.slice().reverse().reduce(function (desc, decorator) {\n\t return decorator(target, property, desc) || desc;\n\t }, desc);\n\t\n\t if (context && desc.initializer !== void 0) {\n\t desc.value = desc.initializer ? desc.initializer.call(context) : void 0;\n\t desc.initializer = undefined;\n\t }\n\t\n\t if (desc.initializer === void 0) {\n\t Object['define' + 'Property'](target, property, desc);\n\t desc = null;\n\t }\n\t\n\t return desc;\n\t}\n\t\n\tvar dir = constants.directions,\n\t values = function values(obj) {\n\t return Object.keys(obj).map(function (k) {\n\t return obj[k];\n\t });\n\t},\n\t invert = function invert(obj) {\n\t return _3.default.transform(obj, function (o, val, key) {\n\t o[val] = key;\n\t }, {});\n\t};\n\t\n\tvar views = constants.calendarViews,\n\t VIEW_OPTIONS = values(views),\n\t ALT_VIEW = invert(constants.calendarViewHierarchy),\n\t NEXT_VIEW = constants.calendarViewHierarchy,\n\t VIEW_UNIT = constants.calendarViewUnits,\n\t VIEW = (_VIEW = {}, _VIEW[views.MONTH] = _Month2.default, _VIEW[views.YEAR] = _Year2.default, _VIEW[views.DECADE] = _Decade2.default, _VIEW[views.CENTURY] = _Century2.default, _VIEW);\n\t\n\tvar ARROWS_TO_DIRECTION = {\n\t ArrowDown: dir.DOWN,\n\t ArrowUp: dir.UP,\n\t ArrowRight: dir.RIGHT,\n\t ArrowLeft: dir.LEFT\n\t};\n\t\n\tvar OPPOSITE_DIRECTION = (_OPPOSITE_DIRECTION = {}, _OPPOSITE_DIRECTION[dir.LEFT] = dir.RIGHT, _OPPOSITE_DIRECTION[dir.RIGHT] = dir.LEFT, _OPPOSITE_DIRECTION);\n\t\n\tvar MULTIPLIER = (_MULTIPLIER = {}, _MULTIPLIER[views.YEAR] = 1, _MULTIPLIER[views.DECADE] = 10, _MULTIPLIER[views.CENTURY] = 100, _MULTIPLIER);\n\t\n\tvar format = function format(props, f) {\n\t return _localizers.date.getFormat(f, props[f + 'Format']);\n\t};\n\t\n\tvar propTypes = {\n\t\n\t disabled: _propTypes2.default.disabled,\n\t readOnly: _propTypes2.default.readOnly,\n\t\n\t onChange: _react2.default.PropTypes.func,\n\t value: _react2.default.PropTypes.instanceOf(Date),\n\t\n\t min: _react2.default.PropTypes.instanceOf(Date),\n\t max: _react2.default.PropTypes.instanceOf(Date),\n\t\n\t currentDate: _react2.default.PropTypes.instanceOf(Date),\n\t onCurrentDateChange: _react2.default.PropTypes.func,\n\t\n\t view: _react2.default.PropTypes.oneOf(VIEW_OPTIONS),\n\t initialView: _react2.default.PropTypes.oneOf(VIEW_OPTIONS),\n\t\n\t finalView: function finalView(props, propName, componentName) {\n\t for (var _len = arguments.length, args = Array(_len > 3 ? _len - 3 : 0), _key = 3; _key < _len; _key++) {\n\t args[_key - 3] = arguments[_key];\n\t }\n\t\n\t var err = _react2.default.PropTypes.oneOf(VIEW_OPTIONS).apply(undefined, [props, propName, componentName].concat(args));\n\t\n\t if (err) return err;\n\t if (VIEW_OPTIONS.indexOf(props[propName]) < VIEW_OPTIONS.indexOf(props.initialView)) return new Error(('The `' + propName + '` prop: `' + props[propName] + '` cannot be \\'lower\\' than the `initialView`\\n prop. This creates a range that cannot be rendered.').replace(/\\n\\t/g, ''));\n\t },\n\t\n\t\n\t onViewChange: _react2.default.PropTypes.func,\n\t onNavigate: _react2.default.PropTypes.func,\n\t culture: _react2.default.PropTypes.string,\n\t footer: _react2.default.PropTypes.bool,\n\t\n\t dayComponent: _propTypes2.default.elementType,\n\t headerFormat: _propTypes2.default.dateFormat,\n\t footerFormat: _propTypes2.default.dateFormat,\n\t\n\t dayFormat: _propTypes2.default.dateFormat,\n\t dateFormat: _propTypes2.default.dateFormat,\n\t monthFormat: _propTypes2.default.dateFormat,\n\t yearFormat: _propTypes2.default.dateFormat,\n\t decadeFormat: _propTypes2.default.dateFormat,\n\t centuryFormat: _propTypes2.default.dateFormat,\n\t\n\t messages: _react2.default.PropTypes.shape({\n\t moveBack: _react2.default.PropTypes.string,\n\t moveForward: _react2.default.PropTypes.string\n\t })\n\t};\n\t\n\tvar Calendar = _react2.default.createClass((_obj = {\n\t\n\t displayName: 'Calendar',\n\t\n\t mixins: [__webpack_require__(133), __webpack_require__(587), __webpack_require__(68), __webpack_require__(322), __webpack_require__(44)(), __webpack_require__(321)({\n\t willHandle: function willHandle() {\n\t if (+this.props.tabIndex === -1) return false;\n\t }\n\t })],\n\t\n\t propTypes: propTypes,\n\t\n\t getInitialState: function getInitialState() {\n\t return {\n\t selectedIndex: 0,\n\t view: this.props.initialView || 'month'\n\t };\n\t },\n\t getDefaultProps: function getDefaultProps() {\n\t return {\n\t\n\t value: null,\n\t min: new Date(1900, 0, 1),\n\t max: new Date(2099, 11, 31),\n\t currentDate: new Date(),\n\t\n\t initialView: 'month',\n\t finalView: 'century',\n\t\n\t tabIndex: '0',\n\t footer: false,\n\t\n\t ariaActiveDescendantKey: 'calendar',\n\t messages: msgs({})\n\t };\n\t },\n\t componentWillMount: function componentWillMount() {\n\t this.changeCurrentDate(this.props.value);\n\t },\n\t componentWillReceiveProps: function componentWillReceiveProps(nextProps) {\n\t var bottom = VIEW_OPTIONS.indexOf(nextProps.initialView),\n\t top = VIEW_OPTIONS.indexOf(nextProps.finalView),\n\t current = VIEW_OPTIONS.indexOf(this.state.view),\n\t view = this.state.view,\n\t val = this.inRangeValue(nextProps.value);\n\t\n\t if (current < bottom) this.setState({ view: view = nextProps.initialView });else if (current > top) this.setState({ view: view = nextProps.finalView });\n\t\n\t //if the value changes reset views to the new one\n\t if (!_dates2.default.eq(val, dateOrNull(this.props.value), VIEW_UNIT[view])) {\n\t this.changeCurrentDate(val, nextProps.currentDate);\n\t }\n\t },\n\t render: function render() {\n\t var _this = this;\n\t\n\t var _props = this.props,\n\t className = _props.className,\n\t value = _props.value,\n\t footerFormat = _props.footerFormat,\n\t disabled = _props.disabled,\n\t readOnly = _props.readOnly,\n\t finalView = _props.finalView,\n\t footer = _props.footer,\n\t messages = _props.messages,\n\t min = _props.min,\n\t max = _props.max,\n\t culture = _props.culture,\n\t duration = _props.duration,\n\t tabIndex = _props.tabIndex,\n\t currentDate = _props.currentDate;\n\t var _state = this.state,\n\t view = _state.view,\n\t slideDirection = _state.slideDirection,\n\t focused = _state.focused;\n\t\n\t\n\t var View = VIEW[view],\n\t unit = VIEW_UNIT[view],\n\t todaysDate = new Date(),\n\t todayNotInRange = !_dates2.default.inRange(todaysDate, min, max, view);\n\t\n\t unit = unit === 'day' ? 'date' : unit;\n\t\n\t var viewID = (0, _widgetHelpers.instanceId)(this, '_calendar'),\n\t labelID = (0, _widgetHelpers.instanceId)(this, '_calendar_label'),\n\t key = view + '_' + _dates2.default[view](currentDate);\n\t\n\t var elementProps = _3.default.omitOwnProps(this),\n\t viewProps = _3.default.pickProps(this.props, View);\n\t\n\t var isDisabled = disabled || readOnly;\n\t\n\t messages = msgs(this.props.messages);\n\t\n\t return _react2.default.createElement(\n\t _Widget2.default,\n\t _extends({}, elementProps, {\n\t role: 'group',\n\t focused: focused,\n\t disabled: disabled,\n\t readOnly: readOnly,\n\t tabIndex: tabIndex || 0,\n\t onBlur: this.handleBlur,\n\t onFocus: this.handleFocus,\n\t onKeyDown: this.handleKeyDown,\n\t className: (0, _classnames2.default)(className, 'rw-calendar')\n\t }),\n\t _react2.default.createElement(_Header2.default, {\n\t label: this._label(),\n\t labelId: labelID,\n\t messages: messages,\n\t upDisabled: isDisabled || view === finalView,\n\t prevDisabled: isDisabled || !_dates2.default.inRange(this.nextDate(dir.LEFT), min, max, view),\n\t nextDisabled: isDisabled || !_dates2.default.inRange(this.nextDate(dir.RIGHT), min, max, view),\n\t onViewChange: this.navigate.bind(null, dir.UP, null),\n\t onMoveLeft: this.navigate.bind(null, dir.LEFT, null),\n\t onMoveRight: this.navigate.bind(null, dir.RIGHT, null)\n\t }),\n\t _react2.default.createElement(\n\t _SlideTransition2.default,\n\t {\n\t ref: 'animation',\n\t duration: duration,\n\t direction: slideDirection,\n\t onAnimate: function onAnimate() {\n\t return focused && _this.focus();\n\t }\n\t },\n\t _react2.default.createElement(View, _extends({}, viewProps, {\n\t key: key,\n\t id: viewID,\n\t value: value,\n\t today: todaysDate,\n\t focused: currentDate,\n\t onChange: this.change,\n\t onKeyDown: this.handleKeyDown,\n\t 'aria-labelledby': labelID,\n\t ariaActiveDescendantKey: 'calendarView'\n\t }))\n\t ),\n\t footer && _react2.default.createElement(_Footer2.default, {\n\t value: todaysDate,\n\t format: footerFormat,\n\t culture: culture,\n\t disabled: disabled || todayNotInRange,\n\t readOnly: readOnly,\n\t onClick: this.select\n\t })\n\t );\n\t },\n\t navigate: function navigate(direction, date) {\n\t var view = this.state.view,\n\t slideDir = direction === dir.LEFT || direction === dir.UP ? 'right' : 'left';\n\t\n\t if (!date) date = [dir.LEFT, dir.RIGHT].indexOf(direction) !== -1 ? this.nextDate(direction) : this.props.currentDate;\n\t\n\t if (direction === dir.DOWN) view = ALT_VIEW[view] || view;\n\t\n\t if (direction === dir.UP) view = NEXT_VIEW[view] || view;\n\t\n\t if (this.isValidView(view) && _dates2.default.inRange(date, this.props.min, this.props.max, view)) {\n\t (0, _widgetHelpers.notify)(this.props.onNavigate, [date, slideDir, view]);\n\t this.focus(true);\n\t\n\t this.changeCurrentDate(date);\n\t\n\t this.setState({\n\t slideDirection: slideDir,\n\t view: view\n\t });\n\t }\n\t },\n\t focus: function focus() {\n\t if (+this.props.tabIndex > -1) _compat2.default.findDOMNode(this).focus();\n\t },\n\t change: function change(date) {\n\t if (this.state.view === this.props.initialView) {\n\t this.changeCurrentDate(date);\n\t (0, _widgetHelpers.notify)(this.props.onChange, date);\n\t this.focus();\n\t return;\n\t }\n\t\n\t this.navigate(dir.DOWN, date);\n\t },\n\t changeCurrentDate: function changeCurrentDate(date) {\n\t var currentDate = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.props.currentDate;\n\t\n\t var inRangeDate = this.inRangeValue(date ? new Date(date) : currentDate);\n\t if (_dates2.default.eq(inRangeDate, dateOrNull(currentDate), VIEW_UNIT[this.state.view])) return;\n\t (0, _widgetHelpers.notify)(this.props.onCurrentDateChange, inRangeDate);\n\t },\n\t select: function select(date) {\n\t var view = this.props.initialView,\n\t slideDir = view !== this.state.view || _dates2.default.gt(date, this.state.currentDate) ? 'left' // move down to a the view\n\t : 'right';\n\t\n\t (0, _widgetHelpers.notify)(this.props.onChange, date);\n\t\n\t if (this.isValidView(view) && _dates2.default.inRange(date, this.props.min, this.props.max, view)) {\n\t this.focus();\n\t\n\t this.changeCurrentDate(date);\n\t\n\t this.setState({\n\t slideDirection: slideDir,\n\t view: view\n\t });\n\t }\n\t },\n\t nextDate: function nextDate(direction) {\n\t var method = direction === dir.LEFT ? 'subtract' : 'add',\n\t view = this.state.view,\n\t unit = view === views.MONTH ? view : views.YEAR,\n\t multi = MULTIPLIER[view] || 1;\n\t\n\t return _dates2.default[method](this.props.currentDate, 1 * multi, unit);\n\t },\n\t handleKeyDown: function handleKeyDown(e) {\n\t var ctrl = e.ctrlKey,\n\t key = e.key,\n\t direction = ARROWS_TO_DIRECTION[key],\n\t current = this.props.currentDate,\n\t view = this.state.view,\n\t unit = VIEW_UNIT[view],\n\t currentDate = current;\n\t\n\t if (key === 'Enter') {\n\t e.preventDefault();\n\t return this.change(current);\n\t }\n\t\n\t if (direction) {\n\t if (ctrl) {\n\t e.preventDefault();\n\t this.navigate(direction);\n\t } else {\n\t if (this.isRtl() && OPPOSITE_DIRECTION[direction]) direction = OPPOSITE_DIRECTION[direction];\n\t\n\t currentDate = _dates2.default.move(currentDate, this.props.min, this.props.max, view, direction);\n\t\n\t if (!_dates2.default.eq(current, currentDate, unit)) {\n\t e.preventDefault();\n\t\n\t if (_dates2.default.gt(currentDate, current, view)) this.navigate(dir.RIGHT, currentDate);else if (_dates2.default.lt(currentDate, current, view)) this.navigate(dir.LEFT, currentDate);else this.changeCurrentDate(currentDate);\n\t }\n\t }\n\t }\n\t\n\t (0, _widgetHelpers.notify)(this.props.onKeyDown, [e]);\n\t },\n\t _label: function _label() {\n\t var _props2 = this.props,\n\t culture = _props2.culture,\n\t props = _objectWithoutProperties(_props2, ['culture']),\n\t view = this.state.view,\n\t dt = this.props.currentDate;\n\t\n\t if (view === 'month') return _localizers.date.format(dt, format(props, 'header'), culture);else if (view === 'year') return _localizers.date.format(dt, format(props, 'year'), culture);else if (view === 'decade') return _localizers.date.format(_dates2.default.startOf(dt, 'decade'), format(props, 'decade'), culture);else if (view === 'century') return _localizers.date.format(_dates2.default.startOf(dt, 'century'), format(props, 'century'), culture);\n\t },\n\t inRangeValue: function inRangeValue(_value) {\n\t var value = dateOrNull(_value);\n\t\n\t if (value === null) return value;\n\t\n\t return _dates2.default.max(_dates2.default.min(value, this.props.max), this.props.min);\n\t },\n\t isValidView: function isValidView(next) {\n\t var bottom = VIEW_OPTIONS.indexOf(this.props.initialView),\n\t top = VIEW_OPTIONS.indexOf(this.props.finalView),\n\t current = VIEW_OPTIONS.indexOf(next);\n\t\n\t return current >= bottom && current <= top;\n\t }\n\t}, (_applyDecoratedDescriptor(_obj, 'navigate', [_interaction.widgetEditable], Object.getOwnPropertyDescriptor(_obj, 'navigate'), _obj), _applyDecoratedDescriptor(_obj, 'change', [_interaction.widgetEditable], Object.getOwnPropertyDescriptor(_obj, 'change'), _obj), _applyDecoratedDescriptor(_obj, 'select', [_interaction.widgetEditable], Object.getOwnPropertyDescriptor(_obj, 'select'), _obj), _applyDecoratedDescriptor(_obj, 'handleKeyDown', [_interaction.widgetEditable], Object.getOwnPropertyDescriptor(_obj, 'handleKeyDown'), _obj)), _obj));\n\t\n\tfunction dateOrNull(dt) {\n\t if (dt && !isNaN(dt.getTime())) return dt;\n\t return null;\n\t}\n\t\n\tfunction msgs(msgs) {\n\t return _extends({\n\t moveBack: 'navigate back',\n\t moveForward: 'navigate forward'\n\t }, msgs);\n\t}\n\t\n\texports.default = (0, _uncontrollable2.default)(Calendar, {\n\t value: 'onChange',\n\t currentDate: 'onCurrentDateChange',\n\t view: 'onViewChange'\n\t}, ['focus']);\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 570 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\t\n\tvar _react = __webpack_require__(2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _CalendarView = __webpack_require__(93);\n\t\n\tvar _CalendarView2 = _interopRequireDefault(_CalendarView);\n\t\n\tvar _dates = __webpack_require__(37);\n\t\n\tvar _dates2 = _interopRequireDefault(_dates);\n\t\n\tvar _localizers = __webpack_require__(21);\n\t\n\tvar _2 = __webpack_require__(12);\n\t\n\tvar _3 = _interopRequireDefault(_2);\n\t\n\tvar _propTypes = __webpack_require__(28);\n\t\n\tvar _propTypes2 = _interopRequireDefault(_propTypes);\n\t\n\tvar _widgetHelpers = __webpack_require__(38);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tvar format = function format(props) {\n\t return _localizers.date.getFormat('decade', props.decadeFormat);\n\t};\n\t\n\tvar optionId = function optionId(id, date) {\n\t return id + '__century_' + _dates2.default.year(date);\n\t};\n\t\n\tvar propTypes = {\n\t culture: _react2.default.PropTypes.string,\n\t today: _react2.default.PropTypes.instanceOf(Date),\n\t value: _react2.default.PropTypes.instanceOf(Date),\n\t focused: _react2.default.PropTypes.instanceOf(Date),\n\t min: _react2.default.PropTypes.instanceOf(Date),\n\t max: _react2.default.PropTypes.instanceOf(Date),\n\t onChange: _react2.default.PropTypes.func.isRequired,\n\t decadeFormat: _propTypes2.default.dateFormat\n\t};\n\t\n\texports.default = _react2.default.createClass({\n\t\n\t displayName: 'CenturyView',\n\t\n\t mixins: [__webpack_require__(68), __webpack_require__(69), __webpack_require__(44)()],\n\t\n\t propTypes: propTypes,\n\t\n\t componentDidUpdate: function componentDidUpdate() {\n\t var activeId = optionId((0, _widgetHelpers.instanceId)(this), this.props.focused);\n\t this.ariaActiveDescendant(activeId);\n\t },\n\t render: function render() {\n\t var focused = this.props.focused;\n\t\n\t\n\t return _react2.default.createElement(\n\t _CalendarView2.default,\n\t _3.default.omitOwnProps(this),\n\t _react2.default.createElement(\n\t 'tbody',\n\t null,\n\t _3.default.chunk(getCenturyDecades(focused), 4).map(this.renderRow)\n\t )\n\t );\n\t },\n\t renderRow: function renderRow(row, rowIdx) {\n\t var _this = this;\n\t\n\t var _props = this.props,\n\t focused = _props.focused,\n\t disabled = _props.disabled,\n\t onChange = _props.onChange,\n\t value = _props.value,\n\t today = _props.today,\n\t culture = _props.culture,\n\t min = _props.min,\n\t max = _props.max;\n\t\n\t\n\t var id = (0, _widgetHelpers.instanceId)(this, '_century');\n\t\n\t return _react2.default.createElement(\n\t _CalendarView2.default.Row,\n\t { key: rowIdx },\n\t row.map(function (date, colIdx) {\n\t var label = _localizers.date.format(_dates2.default.startOf(date, 'decade'), format(_this.props), culture);\n\t\n\t return _react2.default.createElement(\n\t _CalendarView2.default.Cell,\n\t {\n\t key: colIdx,\n\t unit: 'decade',\n\t id: optionId(id, date),\n\t label: label,\n\t date: date,\n\t now: today,\n\t min: min,\n\t max: max,\n\t onChange: onChange,\n\t focused: focused,\n\t selected: value,\n\t disabled: disabled\n\t },\n\t label\n\t );\n\t })\n\t );\n\t }\n\t});\n\t\n\t\n\tfunction getCenturyDecades(_date) {\n\t var days = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12],\n\t date = _dates2.default.add(_dates2.default.startOf(_date, 'century'), -20, 'year');\n\t\n\t return days.map(function () {\n\t return date = _dates2.default.add(date, 10, 'year');\n\t });\n\t}\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 571 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\t\n\tvar _desc, _value, _obj;\n\t\n\tvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; //pick, omit, has\n\t\n\tvar _react = __webpack_require__(2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _invariant = __webpack_require__(10);\n\t\n\tvar _invariant2 = _interopRequireDefault(_invariant);\n\t\n\tvar _activeElement = __webpack_require__(397);\n\t\n\tvar _activeElement2 = _interopRequireDefault(_activeElement);\n\t\n\tvar _classnames = __webpack_require__(26);\n\t\n\tvar _classnames2 = _interopRequireDefault(_classnames);\n\t\n\tvar _compat = __webpack_require__(31);\n\t\n\tvar _compat2 = _interopRequireDefault(_compat);\n\t\n\tvar _2 = __webpack_require__(12);\n\t\n\tvar _3 = _interopRequireDefault(_2);\n\t\n\tvar _dates = __webpack_require__(37);\n\t\n\tvar _dates2 = _interopRequireDefault(_dates);\n\t\n\tvar _localizers = __webpack_require__(21);\n\t\n\tvar _constants = __webpack_require__(135);\n\t\n\tvar _Widget = __webpack_require__(320);\n\t\n\tvar _Widget2 = _interopRequireDefault(_Widget);\n\t\n\tvar _Popup = __webpack_require__(580);\n\t\n\tvar _Popup2 = _interopRequireDefault(_Popup);\n\t\n\tvar _Calendar = __webpack_require__(569);\n\t\n\tvar _Calendar2 = _interopRequireDefault(_Calendar);\n\t\n\tvar _TimeList = __webpack_require__(583);\n\t\n\tvar _TimeList2 = _interopRequireDefault(_TimeList);\n\t\n\tvar _DateTimePickerInput = __webpack_require__(572);\n\t\n\tvar _DateTimePickerInput2 = _interopRequireDefault(_DateTimePickerInput);\n\t\n\tvar _Button = __webpack_require__(132);\n\t\n\tvar _Button2 = _interopRequireDefault(_Button);\n\t\n\tvar _propTypes = __webpack_require__(28);\n\t\n\tvar _propTypes2 = _interopRequireDefault(_propTypes);\n\t\n\tvar _uncontrollable = __webpack_require__(353);\n\t\n\tvar _uncontrollable2 = _interopRequireDefault(_uncontrollable);\n\t\n\tvar _interaction = __webpack_require__(70);\n\t\n\tvar _widgetHelpers = __webpack_require__(38);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _applyDecoratedDescriptor(target, property, decorators, descriptor, context) {\n\t var desc = {};\n\t Object['ke' + 'ys'](descriptor).forEach(function (key) {\n\t desc[key] = descriptor[key];\n\t });\n\t desc.enumerable = !!desc.enumerable;\n\t desc.configurable = !!desc.configurable;\n\t\n\t if ('value' in desc || desc.initializer) {\n\t desc.writable = true;\n\t }\n\t\n\t desc = decorators.slice().reverse().reduce(function (desc, decorator) {\n\t return decorator(target, property, desc) || desc;\n\t }, desc);\n\t\n\t if (context && desc.initializer !== void 0) {\n\t desc.value = desc.initializer ? desc.initializer.call(context) : void 0;\n\t desc.initializer = undefined;\n\t }\n\t\n\t if (desc.initializer === void 0) {\n\t Object['define' + 'Property'](target, property, desc);\n\t desc = null;\n\t }\n\t\n\t return desc;\n\t}\n\t\n\tvar Calendar = _Calendar2.default.ControlledComponent;\n\t\n\tvar viewEnum = Object.keys(_constants.calendarViews).map(function (k) {\n\t return _constants.calendarViews[k];\n\t});\n\t\n\tvar propTypes = _extends({}, Calendar.propTypes, {\n\t\n\t //-- controlled props -----------\n\t value: _react2.default.PropTypes.instanceOf(Date),\n\t onChange: _react2.default.PropTypes.func,\n\t open: _react2.default.PropTypes.oneOf([false, _constants.datePopups.TIME, _constants.datePopups.CALENDAR]),\n\t onToggle: _react2.default.PropTypes.func,\n\t currentDate: _react2.default.PropTypes.instanceOf(Date),\n\t onCurrentDateChange: _react2.default.PropTypes.func,\n\t //------------------------------------\n\t\n\t onSelect: _react2.default.PropTypes.func,\n\t\n\t min: _react2.default.PropTypes.instanceOf(Date),\n\t max: _react2.default.PropTypes.instanceOf(Date),\n\t\n\t culture: _react2.default.PropTypes.string,\n\t\n\t format: _propTypes2.default.dateFormat,\n\t timeFormat: _propTypes2.default.dateFormat,\n\t editFormat: _propTypes2.default.dateFormat,\n\t\n\t calendar: _react2.default.PropTypes.bool,\n\t time: _react2.default.PropTypes.bool,\n\t\n\t timeComponent: _propTypes2.default.elementType,\n\t\n\t //popup\n\t dropUp: _react2.default.PropTypes.bool,\n\t duration: _react2.default.PropTypes.number,\n\t\n\t placeholder: _react2.default.PropTypes.string,\n\t name: _react2.default.PropTypes.string,\n\t\n\t initialView: _react2.default.PropTypes.oneOf(viewEnum),\n\t finalView: _react2.default.PropTypes.oneOf(viewEnum),\n\t\n\t autoFocus: _react2.default.PropTypes.bool,\n\t disabled: _propTypes2.default.disabled,\n\t readOnly: _propTypes2.default.readOnly,\n\t\n\t parse: _react2.default.PropTypes.oneOfType([_react2.default.PropTypes.arrayOf(_react2.default.PropTypes.string), _react2.default.PropTypes.string, _react2.default.PropTypes.func]),\n\t\n\t 'aria-labelledby': _react2.default.PropTypes.string,\n\t\n\t messages: _react2.default.PropTypes.shape({\n\t calendarButton: _react2.default.PropTypes.string,\n\t timeButton: _react2.default.PropTypes.string\n\t })\n\t});\n\t\n\tvar DateTimePicker = _react2.default.createClass((_obj = {\n\t\n\t displayName: 'DateTimePicker',\n\t\n\t mixins: [__webpack_require__(133), __webpack_require__(68), __webpack_require__(589), __webpack_require__(322), __webpack_require__(321)({\n\t didHandle: function didHandle(focused) {\n\t if (!focused) this.close();\n\t }\n\t }), __webpack_require__(44)('valueInput', function (key, id) {\n\t var open = this.props.open,\n\t current = this.ariaActiveDescendant(),\n\t calIsActive = open === _constants.datePopups.CALENDAR && key === 'calendar',\n\t timeIsActive = open === _constants.datePopups.TIME && key === 'timelist';\n\t\n\t\n\t if (!current || timeIsActive || calIsActive) return id;\n\t })],\n\t\n\t propTypes: propTypes,\n\t\n\t getInitialState: function getInitialState() {\n\t return {\n\t focused: false\n\t };\n\t },\n\t getDefaultProps: function getDefaultProps() {\n\t\n\t return {\n\t value: null,\n\t currentDate: new Date(),\n\t min: new Date(1900, 0, 1),\n\t max: new Date(2099, 11, 31),\n\t calendar: true,\n\t time: true,\n\t open: false,\n\t\n\t //calendar override\n\t footer: true,\n\t\n\t messages: {\n\t calendarButton: 'Select Date',\n\t timeButton: 'Select Time'\n\t },\n\t\n\t ariaActiveDescendantKey: 'dropdownlist'\n\t };\n\t },\n\t renderInput: function renderInput(id, owns) {\n\t var _props = this.props,\n\t open = _props.open,\n\t value = _props.value,\n\t editFormat = _props.editFormat,\n\t culture = _props.culture,\n\t busy = _props.busy,\n\t placeholder = _props.placeholder,\n\t disabled = _props.disabled,\n\t readOnly = _props.readOnly,\n\t name = _props.name,\n\t tabIndex = _props.tabIndex,\n\t autoFocus = _props.autoFocus,\n\t ariaLabelledby = _props['aria-labelledby'],\n\t ariaDescribedby = _props['aria-describedby'];\n\t var focused = this.state.focused;\n\t\n\t\n\t return _react2.default.createElement(_DateTimePickerInput2.default, {\n\t id: id,\n\t ref: 'valueInput',\n\t role: 'combobox',\n\t name: name,\n\t tabIndex: tabIndex,\n\t autoFocus: autoFocus,\n\t placeholder: placeholder,\n\t disabled: disabled,\n\t readOnly: readOnly,\n\t value: value,\n\t format: getFormat(this.props),\n\t editFormat: editFormat,\n\t editing: focused,\n\t culture: culture,\n\t parse: this._parse,\n\t onChange: this.handleChange,\n\t 'aria-haspopup': true,\n\t 'aria-labelledby': ariaLabelledby,\n\t 'aria-describedby': ariaDescribedby,\n\t 'aria-expanded': !!open,\n\t 'aria-busy': !!busy,\n\t 'aria-owns': owns\n\t });\n\t },\n\t renderButtons: function renderButtons(messages) {\n\t var _props2 = this.props,\n\t calendar = _props2.calendar,\n\t time = _props2.time,\n\t disabled = _props2.disabled,\n\t readOnly = _props2.readOnly;\n\t\n\t\n\t if (!calendar && !time) {\n\t return null;\n\t }\n\t\n\t return _react2.default.createElement(\n\t 'span',\n\t { className: 'rw-select' },\n\t calendar && _react2.default.createElement(_Button2.default, {\n\t icon: 'calendar',\n\t className: 'rw-btn-calendar',\n\t label: messages.calendarButton,\n\t disabled: !!(disabled || readOnly),\n\t onClick: this._click.bind(null, _constants.datePopups.CALENDAR)\n\t }),\n\t time && _react2.default.createElement(_Button2.default, {\n\t icon: 'clock-o',\n\t className: 'rw-btn-time',\n\t label: messages.timeButton,\n\t disabled: !!(disabled || readOnly),\n\t onClick: this._click.bind(null, _constants.datePopups.TIME)\n\t })\n\t );\n\t },\n\t renderCalendar: function renderCalendar(id, inputID) {\n\t var _this = this;\n\t\n\t var _props3 = this.props,\n\t open = _props3.open,\n\t value = _props3.value,\n\t duration = _props3.duration,\n\t dropUp = _props3.dropUp;\n\t\n\t\n\t var calendarProps = _3.default.pickProps(this.props, Calendar);\n\t\n\t return _react2.default.createElement(\n\t _Popup2.default,\n\t {\n\t dropUp: dropUp,\n\t duration: duration,\n\t open: open === _constants.datePopups.CALENDAR,\n\t className: 'rw-calendar-popup'\n\t },\n\t _react2.default.createElement(Calendar, _extends({}, calendarProps, {\n\t ref: 'calPopup',\n\t id: id,\n\t tabIndex: '-1',\n\t value: value,\n\t autoFocus: false,\n\t onChange: this.handleDateSelect\n\t // #75: need to aggressively reclaim focus from the calendar otherwise\n\t // disabled header/footer buttons will drop focus completely from the widget\n\t , onNavigate: function onNavigate() {\n\t return _this.focus();\n\t },\n\t currentDate: this.props.currentDate,\n\t onCurrentDateChange: this.props.onCurrentDateChange,\n\t 'aria-hidden': !open,\n\t 'aria-live': 'polite',\n\t 'aria-labelledby': inputID,\n\t ariaActiveDescendantKey: 'calendar'\n\t }))\n\t );\n\t },\n\t renderTimeList: function renderTimeList(id, inputID) {\n\t var _this2 = this;\n\t\n\t var _props4 = this.props,\n\t open = _props4.open,\n\t value = _props4.value,\n\t duration = _props4.duration,\n\t dropUp = _props4.dropUp,\n\t calendar = _props4.calendar,\n\t timeFormat = _props4.timeFormat,\n\t timeComponent = _props4.timeComponent;\n\t\n\t\n\t var timeListProps = _3.default.pickProps(this.props, _TimeList2.default);\n\t\n\t return _react2.default.createElement(\n\t _Popup2.default,\n\t {\n\t dropUp: dropUp,\n\t duration: duration,\n\t open: open === _constants.datePopups.TIME,\n\t onOpening: function onOpening() {\n\t return _this2.refs.timePopup.forceUpdate();\n\t }\n\t },\n\t _react2.default.createElement(\n\t 'div',\n\t null,\n\t _react2.default.createElement(_TimeList2.default, _extends({}, timeListProps, {\n\t ref: 'timePopup',\n\t id: id,\n\t format: timeFormat,\n\t value: dateOrNull(value),\n\t onMove: this._scrollTo,\n\t onSelect: this.handleTimeSelect,\n\t preserveDate: !!calendar,\n\t itemComponent: timeComponent,\n\t 'aria-labelledby': inputID,\n\t 'aria-live': open && 'polite',\n\t 'aria-hidden': !open,\n\t ariaActiveDescendantKey: 'timelist'\n\t }))\n\t )\n\t );\n\t },\n\t render: function render() {\n\t var _props5 = this.props,\n\t className = _props5.className,\n\t calendar = _props5.calendar,\n\t time = _props5.time,\n\t open = _props5.open,\n\t messages = _props5.messages,\n\t disabled = _props5.disabled,\n\t readOnly = _props5.readOnly,\n\t dropUp = _props5.dropUp;\n\t var focused = this.state.focused;\n\t\n\t\n\t var inputID = (0, _widgetHelpers.instanceId)(this, '_input'),\n\t timeListID = (0, _widgetHelpers.instanceId)(this, '_time_listbox'),\n\t dateListID = (0, _widgetHelpers.instanceId)(this, '_cal'),\n\t owns = '';\n\t\n\t var elementProps = _3.default.omitOwnProps(this, Calendar, _TimeList2.default);\n\t\n\t var shouldRenderList = open || (0, _widgetHelpers.isFirstFocusedRender)(this);\n\t\n\t if (calendar) owns += dateListID;\n\t if (time) owns += ' ' + timeListID;\n\t\n\t return _react2.default.createElement(\n\t _Widget2.default,\n\t _extends({}, elementProps, {\n\t open: !!open,\n\t dropUp: dropUp,\n\t focused: focused,\n\t disabled: disabled,\n\t readOnly: readOnly,\n\t onBlur: this.handleBlur,\n\t onFocus: this.handleFocus,\n\t onKeyDown: this.handleKeyDown,\n\t onKeyPress: this.handleKeyPress,\n\t className: (0, _classnames2.default)(className, 'rw-datetimepicker', calendar && time && 'rw-has-both', !calendar && !time && 'rw-has-neither')\n\t }),\n\t this.renderInput(inputID, owns.trim()),\n\t this.renderButtons(messages),\n\t shouldRenderList && this.renderTimeList(timeListID, inputID),\n\t shouldRenderList && this.renderCalendar(dateListID, inputID)\n\t );\n\t },\n\t handleChange: function handleChange(date, str, constrain) {\n\t var _props6 = this.props,\n\t onChange = _props6.onChange,\n\t value = _props6.value;\n\t\n\t\n\t if (constrain) date = this.inRangeValue(date);\n\t\n\t if (onChange) {\n\t if (date == null || value == null) {\n\t if (date != value) //eslint-disable-line eqeqeq\n\t onChange(date, str);\n\t } else if (!_dates2.default.eq(date, value)) {\n\t onChange(date, str);\n\t }\n\t }\n\t },\n\t handleKeyDown: function handleKeyDown(e) {\n\t var _props7 = this.props,\n\t open = _props7.open,\n\t calendar = _props7.calendar,\n\t time = _props7.time;\n\t\n\t\n\t (0, _widgetHelpers.notify)(this.props.onKeyDown, [e]);\n\t\n\t if (e.defaultPrevented) return;\n\t\n\t if (e.key === 'Escape' && open) this.close();else if (e.altKey) {\n\t e.preventDefault();\n\t\n\t if (e.key === 'ArrowDown') {\n\t if (calendar && time) this.open(open === _constants.datePopups.CALENDAR ? _constants.datePopups.TIME : _constants.datePopups.CALENDAR);else if (time) this.open(_constants.datePopups.TIME);else if (calendar) this.open(_constants.datePopups.CALENDAR);\n\t } else if (e.key === 'ArrowUp') this.close();\n\t } else if (open) {\n\t if (open === _constants.datePopups.CALENDAR) this.refs.calPopup.handleKeyDown(e);\n\t if (open === _constants.datePopups.TIME) this.refs.timePopup.handleKeyDown(e);\n\t }\n\t },\n\t handleKeyPress: function handleKeyPress(e) {\n\t (0, _widgetHelpers.notify)(this.props.onKeyPress, [e]);\n\t\n\t if (e.defaultPrevented) return;\n\t\n\t if (this.props.open === _constants.datePopups.TIME) this.refs.timePopup.handleKeyPress(e);\n\t },\n\t focus: function focus() {\n\t var valueInput = this.refs.valueInput;\n\t\n\t\n\t if (valueInput && (0, _activeElement2.default)() !== _compat2.default.findDOMNode(valueInput)) valueInput.focus();\n\t },\n\t handleDateSelect: function handleDateSelect(date) {\n\t var format = getFormat(this.props),\n\t dateTime = _dates2.default.merge(date, this.props.value, this.props.currentDate),\n\t dateStr = formatDate(date, format, this.props.culture);\n\t\n\t this.close();\n\t (0, _widgetHelpers.notify)(this.props.onSelect, [dateTime, dateStr]);\n\t this.handleChange(dateTime, dateStr, true);\n\t this.focus();\n\t },\n\t handleTimeSelect: function handleTimeSelect(datum) {\n\t var format = getFormat(this.props),\n\t dateTime = _dates2.default.merge(this.props.value, datum.date, this.props.currentDate),\n\t dateStr = formatDate(datum.date, format, this.props.culture);\n\t\n\t this.close();\n\t (0, _widgetHelpers.notify)(this.props.onSelect, [dateTime, dateStr]);\n\t this.handleChange(dateTime, dateStr, true);\n\t this.focus();\n\t },\n\t _click: function _click(view, e) {\n\t this.focus();\n\t this.toggle(view, e);\n\t },\n\t _parse: function _parse(string) {\n\t var format = getFormat(this.props, true),\n\t editFormat = this.props.editFormat,\n\t parse = this.props.parse,\n\t formats = [];\n\t\n\t if (typeof parse === 'function') return parse(string, this.props.culture);\n\t\n\t if (typeof format === 'string') formats.push(format);\n\t\n\t if (typeof editFormat === 'string') formats.push(editFormat);\n\t\n\t if (parse) formats = formats.concat(this.props.parse);\n\t\n\t (0, _invariant2.default)(formats.length, 'React Widgets: there are no specified `parse` formats provided and the `format` prop is a function. ' + 'the DateTimePicker is unable to parse `%s` into a dateTime, ' + 'please provide either a parse function or Globalize.js compatible string for `format`', string);\n\t\n\t return formatsParser(formats, this.props.culture, string);\n\t },\n\t toggle: function toggle(view) {\n\t this.props.open ? this.props.open !== view ? this.open(view) : this.close(view) : this.open(view);\n\t },\n\t open: function open(view) {\n\t if (this.props.open !== view && this.props[view] === true) (0, _widgetHelpers.notify)(this.props.onToggle, view);\n\t },\n\t close: function close() {\n\t if (this.props.open) (0, _widgetHelpers.notify)(this.props.onToggle, false);\n\t },\n\t inRangeValue: function inRangeValue(value) {\n\t if (value == null) return value;\n\t\n\t return _dates2.default.max(_dates2.default.min(value, this.props.max), this.props.min);\n\t }\n\t}, (_applyDecoratedDescriptor(_obj, 'handleChange', [_interaction.widgetEditable], Object.getOwnPropertyDescriptor(_obj, 'handleChange'), _obj), _applyDecoratedDescriptor(_obj, 'handleKeyDown', [_interaction.widgetEditable], Object.getOwnPropertyDescriptor(_obj, 'handleKeyDown'), _obj), _applyDecoratedDescriptor(_obj, 'handleKeyPress', [_interaction.widgetEditable], Object.getOwnPropertyDescriptor(_obj, 'handleKeyPress'), _obj), _applyDecoratedDescriptor(_obj, 'handleDateSelect', [_interaction.widgetEditable], Object.getOwnPropertyDescriptor(_obj, 'handleDateSelect'), _obj), _applyDecoratedDescriptor(_obj, 'handleTimeSelect', [_interaction.widgetEditable], Object.getOwnPropertyDescriptor(_obj, 'handleTimeSelect'), _obj), _applyDecoratedDescriptor(_obj, '_click', [_interaction.widgetEditable], Object.getOwnPropertyDescriptor(_obj, '_click'), _obj)), _obj));\n\t\n\texports.default = (0, _uncontrollable2.default)(DateTimePicker, {\n\t open: 'onToggle',\n\t value: 'onChange',\n\t currentDate: 'onCurrentDateChange'\n\t}, ['focus']);\n\t\n\t\n\tfunction getFormat(props) {\n\t var cal = props[_constants.datePopups.CALENDAR] != null ? props.calendar : true,\n\t time = props[_constants.datePopups.TIME] != null ? props.time : true;\n\t\n\t return props.format ? props.format : cal && time || !cal && !time ? _localizers.date.getFormat('default') : _localizers.date.getFormat(cal ? 'date' : 'time');\n\t}\n\t\n\tfunction formatDate(date, format, culture) {\n\t var val = '';\n\t\n\t if (date instanceof Date && !isNaN(date.getTime())) val = _localizers.date.format(date, format, culture);\n\t\n\t return val;\n\t}\n\t\n\tfunction formatsParser(formats, culture, str) {\n\t var date;\n\t\n\t for (var i = 0; i < formats.length; i++) {\n\t date = _localizers.date.parse(str, formats[i], culture);\n\t if (date) return date;\n\t }\n\t return null;\n\t}\n\t\n\tfunction dateOrNull(dt) {\n\t if (dt && !isNaN(dt.getTime())) return dt;\n\t return null;\n\t}\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 572 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\t\n\tvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\t\n\tvar _react = __webpack_require__(2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _2 = __webpack_require__(12);\n\t\n\tvar _3 = _interopRequireDefault(_2);\n\t\n\tvar _Input = __webpack_require__(576);\n\t\n\tvar _Input2 = _interopRequireDefault(_Input);\n\t\n\tvar _compat = __webpack_require__(31);\n\t\n\tvar _compat2 = _interopRequireDefault(_compat);\n\t\n\tvar _localizers = __webpack_require__(21);\n\t\n\tvar _propTypes = __webpack_require__(28);\n\t\n\tvar _propTypes2 = _interopRequireDefault(_propTypes);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\texports.default = _react2.default.createClass({\n\t\n\t displayName: 'DateTimePickerInput',\n\t\n\t propTypes: {\n\t format: _propTypes2.default.dateFormat.isRequired,\n\t editing: _react2.default.PropTypes.bool,\n\t editFormat: _propTypes2.default.dateFormat,\n\t parse: _react2.default.PropTypes.func.isRequired,\n\t\n\t value: _react2.default.PropTypes.instanceOf(Date),\n\t onChange: _react2.default.PropTypes.func.isRequired,\n\t culture: _react2.default.PropTypes.string\n\t },\n\t\n\t componentWillReceiveProps: function componentWillReceiveProps(nextProps) {\n\t var value = nextProps.value,\n\t editing = nextProps.editing,\n\t editFormat = nextProps.editFormat,\n\t format = nextProps.format,\n\t culture = nextProps.culture;\n\t\n\t\n\t this.setState({\n\t textValue: formatDate(value, editing && editFormat ? editFormat : format, culture)\n\t });\n\t },\n\t getInitialState: function getInitialState() {\n\t var _props = this.props,\n\t value = _props.value,\n\t editing = _props.editing,\n\t editFormat = _props.editFormat,\n\t format = _props.format,\n\t culture = _props.culture;\n\t\n\t\n\t return {\n\t textValue: formatDate(value, editing && editFormat ? editFormat : format, culture)\n\t };\n\t },\n\t render: function render() {\n\t var _props2 = this.props,\n\t disabled = _props2.disabled,\n\t readOnly = _props2.readOnly;\n\t var textValue = this.state.textValue;\n\t\n\t\n\t var props = _3.default.omitOwnProps(this);\n\t\n\t return _react2.default.createElement(_Input2.default, _extends({}, props, {\n\t type: 'text',\n\t value: textValue,\n\t disabled: disabled,\n\t readOnly: readOnly,\n\t onChange: this.handleChange,\n\t onBlur: this.handleBlur\n\t }));\n\t },\n\t handleChange: function handleChange(_ref) {\n\t var value = _ref.target.value;\n\t\n\t this._needsFlush = true;\n\t this.setState({ textValue: value });\n\t },\n\t handleBlur: function handleBlur(event) {\n\t var _props3 = this.props,\n\t format = _props3.format,\n\t culture = _props3.culture,\n\t parse = _props3.parse,\n\t onChange = _props3.onChange,\n\t onBlur = _props3.onBlur;\n\t\n\t\n\t onBlur && onBlur(event);\n\t\n\t if (this._needsFlush) {\n\t var date = parse(event.target.value);\n\t\n\t this._needsFlush = false;\n\t onChange(date, formatDate(date, format, culture));\n\t }\n\t },\n\t focus: function focus() {\n\t _compat2.default.findDOMNode(this).focus();\n\t }\n\t});\n\t\n\t\n\tfunction isValid(d) {\n\t return !isNaN(d.getTime());\n\t}\n\t\n\tfunction formatDate(date, format, culture) {\n\t var val = '';\n\t\n\t if (date instanceof Date && isValid(date)) val = _localizers.date.format(date, format, culture);\n\t\n\t return val;\n\t}\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 573 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\t\n\tvar _react = __webpack_require__(2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _CalendarView = __webpack_require__(93);\n\t\n\tvar _CalendarView2 = _interopRequireDefault(_CalendarView);\n\t\n\tvar _dates = __webpack_require__(37);\n\t\n\tvar _dates2 = _interopRequireDefault(_dates);\n\t\n\tvar _localizers = __webpack_require__(21);\n\t\n\tvar _2 = __webpack_require__(12);\n\t\n\tvar _3 = _interopRequireDefault(_2);\n\t\n\tvar _propTypes = __webpack_require__(28);\n\t\n\tvar _propTypes2 = _interopRequireDefault(_propTypes);\n\t\n\tvar _widgetHelpers = __webpack_require__(38);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tvar propTypes = {\n\t culture: _react2.default.PropTypes.string,\n\t today: _react2.default.PropTypes.instanceOf(Date),\n\t value: _react2.default.PropTypes.instanceOf(Date),\n\t focused: _react2.default.PropTypes.instanceOf(Date),\n\t min: _react2.default.PropTypes.instanceOf(Date),\n\t max: _react2.default.PropTypes.instanceOf(Date),\n\t onChange: _react2.default.PropTypes.func.isRequired,\n\t\n\t yearFormat: _propTypes2.default.dateFormat\n\t};\n\t\n\tvar optionId = function optionId(id, date) {\n\t return id + '__decade_' + _dates2.default.year(date);\n\t};\n\t\n\texports.default = _react2.default.createClass({\n\t\n\t displayName: 'DecadeView',\n\t\n\t mixins: [__webpack_require__(68), __webpack_require__(69), __webpack_require__(44)()],\n\t\n\t propTypes: propTypes,\n\t\n\t componentDidUpdate: function componentDidUpdate() {\n\t var activeId = optionId((0, _widgetHelpers.instanceId)(this), this.props.focused);\n\t this.ariaActiveDescendant(activeId);\n\t },\n\t render: function render() {\n\t var focused = this.props.focused;\n\t\n\t\n\t return _react2.default.createElement(\n\t _CalendarView2.default,\n\t _3.default.omitOwnProps(this),\n\t _react2.default.createElement(\n\t 'tbody',\n\t null,\n\t _3.default.chunk(getDecadeYears(focused), 4).map(this.renderRow)\n\t )\n\t );\n\t },\n\t renderRow: function renderRow(row, rowIdx) {\n\t var _props = this.props,\n\t focused = _props.focused,\n\t disabled = _props.disabled,\n\t onChange = _props.onChange,\n\t yearFormat = _props.yearFormat,\n\t value = _props.value,\n\t today = _props.today,\n\t culture = _props.culture,\n\t min = _props.min,\n\t max = _props.max;\n\t\n\t\n\t var id = (0, _widgetHelpers.instanceId)(this);\n\t\n\t return _react2.default.createElement(\n\t _CalendarView2.default.Row,\n\t { key: rowIdx },\n\t row.map(function (date, colIdx) {\n\t var label = _localizers.date.format(date, _localizers.date.getFormat('year', yearFormat), culture);\n\t\n\t return _react2.default.createElement(\n\t _CalendarView2.default.Cell,\n\t {\n\t key: colIdx,\n\t unit: 'year',\n\t id: optionId(id, date),\n\t label: label,\n\t date: date,\n\t now: today,\n\t min: min,\n\t max: max,\n\t onChange: onChange,\n\t focused: focused,\n\t selected: value,\n\t disabled: disabled\n\t },\n\t label\n\t );\n\t })\n\t );\n\t }\n\t});\n\t\n\t\n\tfunction getDecadeYears(_date) {\n\t var days = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12],\n\t date = _dates2.default.add(_dates2.default.startOf(_date, 'decade'), -2, 'year');\n\t\n\t return days.map(function () {\n\t return date = _dates2.default.add(date, 1, 'year');\n\t });\n\t}\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 574 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar _react = __webpack_require__(2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _Button = __webpack_require__(132);\n\t\n\tvar _Button2 = _interopRequireDefault(_Button);\n\t\n\tvar _localizers = __webpack_require__(21);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tvar format = function format(props) {\n\t return _localizers.date.getFormat('footer', props.format);\n\t};\n\t\n\tmodule.exports = _react2.default.createClass({\n\t\n\t displayName: 'Footer',\n\t\n\t render: function render() {\n\t var _props = this.props,\n\t disabled = _props.disabled,\n\t readOnly = _props.readOnly,\n\t value = _props.value;\n\t\n\t\n\t return _react2.default.createElement(\n\t 'div',\n\t { className: 'rw-footer' },\n\t _react2.default.createElement(\n\t _Button2.default,\n\t {\n\t disabled: !!(disabled || readOnly),\n\t onClick: this.props.onClick.bind(null, value)\n\t },\n\t _localizers.date.format(value, format(this.props), this.props.culture)\n\t )\n\t );\n\t }\n\t});\n\n/***/ },\n/* 575 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\t\n\tvar _react = __webpack_require__(2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _Button = __webpack_require__(132);\n\t\n\tvar _Button2 = _interopRequireDefault(_Button);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\texports.default = _react2.default.createClass({\n\t displayName: 'Header',\n\t propTypes: {\n\t label: _react2.default.PropTypes.string.isRequired,\n\t labelId: _react2.default.PropTypes.string,\n\t\n\t upDisabled: _react2.default.PropTypes.bool.isRequired,\n\t prevDisabled: _react2.default.PropTypes.bool.isRequired,\n\t nextDisabled: _react2.default.PropTypes.bool.isRequired,\n\t onViewChange: _react2.default.PropTypes.func.isRequired,\n\t onMoveLeft: _react2.default.PropTypes.func.isRequired,\n\t onMoveRight: _react2.default.PropTypes.func.isRequired,\n\t\n\t messages: _react2.default.PropTypes.shape({\n\t moveBack: _react2.default.PropTypes.string,\n\t moveForward: _react2.default.PropTypes.string\n\t })\n\t },\n\t\n\t mixins: [__webpack_require__(68), __webpack_require__(69)],\n\t\n\t getDefaultProps: function getDefaultProps() {\n\t return {\n\t messages: {\n\t moveBack: 'navigate back',\n\t moveForward: 'navigate forward'\n\t }\n\t };\n\t },\n\t render: function render() {\n\t var _props = this.props,\n\t messages = _props.messages,\n\t label = _props.label,\n\t labelId = _props.labelId,\n\t onMoveRight = _props.onMoveRight,\n\t onMoveLeft = _props.onMoveLeft,\n\t onViewChange = _props.onViewChange,\n\t prevDisabled = _props.prevDisabled,\n\t upDisabled = _props.upDisabled,\n\t nextDisabled = _props.nextDisabled;\n\t\n\t\n\t var rtl = this.isRtl();\n\t\n\t return _react2.default.createElement(\n\t 'div',\n\t { className: 'rw-header' },\n\t _react2.default.createElement(_Button2.default, {\n\t className: 'rw-btn-left',\n\t onClick: onMoveLeft,\n\t disabled: prevDisabled,\n\t label: messages.moveBack,\n\t icon: 'caret-' + (rtl ? 'right' : 'left')\n\t }),\n\t _react2.default.createElement(\n\t _Button2.default,\n\t {\n\t id: labelId,\n\t onClick: onViewChange,\n\t className: 'rw-btn-view',\n\t disabled: upDisabled,\n\t 'aria-live': 'polite',\n\t 'aria-atomic': 'true'\n\t },\n\t label\n\t ),\n\t _react2.default.createElement(_Button2.default, {\n\t className: 'rw-btn-right',\n\t onClick: onMoveRight,\n\t disabled: nextDisabled,\n\t label: messages.moveForward,\n\t icon: 'caret-' + (rtl ? 'left' : 'right')\n\t })\n\t );\n\t }\n\t});\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 576 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\t\n\tvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\t\n\tvar _react = __webpack_require__(2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _classnames = __webpack_require__(26);\n\t\n\tvar _classnames2 = _interopRequireDefault(_classnames);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\tvar Input = function (_React$Component) {\n\t _inherits(Input, _React$Component);\n\t\n\t function Input() {\n\t _classCallCheck(this, Input);\n\t\n\t return _possibleConstructorReturn(this, _React$Component.apply(this, arguments));\n\t }\n\t\n\t Input.prototype.render = function render() {\n\t var _props = this.props,\n\t className = _props.className,\n\t disabled = _props.disabled,\n\t readOnly = _props.readOnly,\n\t value = _props.value,\n\t tabIndex = _props.tabIndex,\n\t _props$component = _props.component,\n\t Component = _props$component === undefined ? 'input' : _props$component,\n\t props = _objectWithoutProperties(_props, ['className', 'disabled', 'readOnly', 'value', 'tabIndex', 'component']);\n\t\n\t return _react2.default.createElement(Component, _extends({}, props, {\n\t type: 'text',\n\t tabIndex: tabIndex || 0,\n\t autoComplete: 'off',\n\t disabled: disabled,\n\t readOnly: readOnly,\n\t 'aria-disabled': disabled,\n\t 'aria-readonly': readOnly,\n\t value: value == null ? '' : value,\n\t className: (0, _classnames2.default)(className, 'rw-input')\n\t }));\n\t };\n\t\n\t return Input;\n\t}(_react2.default.Component);\n\t\n\texports.default = Input;\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 577 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\t\n\tvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\t\n\tvar _react = __webpack_require__(2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _ListOption = __webpack_require__(578);\n\t\n\tvar _ListOption2 = _interopRequireDefault(_ListOption);\n\t\n\tvar _propTypes = __webpack_require__(28);\n\t\n\tvar _propTypes2 = _interopRequireDefault(_propTypes);\n\t\n\tvar _compat = __webpack_require__(31);\n\t\n\tvar _compat2 = _interopRequireDefault(_compat);\n\t\n\tvar _classnames = __webpack_require__(26);\n\t\n\tvar _classnames2 = _interopRequireDefault(_classnames);\n\t\n\tvar _2 = __webpack_require__(12);\n\t\n\tvar _3 = _interopRequireDefault(_2);\n\t\n\tvar _dataHelpers = __webpack_require__(136);\n\t\n\tvar _widgetHelpers = __webpack_require__(38);\n\t\n\tvar _interaction = __webpack_require__(70);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tvar optionId = function optionId(id, idx) {\n\t return id + '__option__' + idx;\n\t};\n\t\n\texports.default = _react2.default.createClass({\n\t\n\t displayName: 'List',\n\t\n\t mixins: [__webpack_require__(588), __webpack_require__(44)()],\n\t\n\t propTypes: {\n\t data: _react2.default.PropTypes.array,\n\t onSelect: _react2.default.PropTypes.func,\n\t onMove: _react2.default.PropTypes.func,\n\t\n\t optionComponent: _propTypes2.default.elementType,\n\t itemComponent: _propTypes2.default.elementType,\n\t\n\t selected: _react2.default.PropTypes.any,\n\t focused: _react2.default.PropTypes.any,\n\t valueField: _propTypes2.default.accessor,\n\t textField: _propTypes2.default.accessor,\n\t\n\t disabled: _propTypes2.default.disabled.acceptsArray,\n\t readOnly: _propTypes2.default.readOnly.acceptsArray,\n\t\n\t messages: _react2.default.PropTypes.shape({\n\t emptyList: _propTypes2.default.message\n\t })\n\t },\n\t\n\t getDefaultProps: function getDefaultProps() {\n\t return {\n\t onSelect: function onSelect() {},\n\t optionComponent: _ListOption2.default,\n\t ariaActiveDescendantKey: 'list',\n\t data: [],\n\t messages: {\n\t emptyList: 'There are no items in this list'\n\t }\n\t };\n\t },\n\t componentDidMount: function componentDidMount() {\n\t this.move();\n\t },\n\t componentDidUpdate: function componentDidUpdate() {\n\t var _props = this.props,\n\t data = _props.data,\n\t focused = _props.focused,\n\t idx = data.indexOf(focused),\n\t activeId = optionId((0, _widgetHelpers.instanceId)(this), idx);\n\t\n\t\n\t this.ariaActiveDescendant(idx !== -1 ? activeId : null);\n\t\n\t this.move();\n\t },\n\t render: function render() {\n\t var _this = this;\n\t\n\t var _props2 = this.props,\n\t className = _props2.className,\n\t role = _props2.role,\n\t data = _props2.data,\n\t textField = _props2.textField,\n\t valueField = _props2.valueField,\n\t focused = _props2.focused,\n\t selected = _props2.selected,\n\t messages = _props2.messages,\n\t onSelect = _props2.onSelect,\n\t ItemComponent = _props2.itemComponent,\n\t Option = _props2.optionComponent;\n\t\n\t\n\t var id = (0, _widgetHelpers.instanceId)(this),\n\t items = void 0;\n\t\n\t var elementProps = _3.default.omitOwnProps(this);\n\t\n\t items = !data.length ? _react2.default.createElement(\n\t 'li',\n\t { className: 'rw-list-empty' },\n\t _3.default.result(messages.emptyList, this.props)\n\t ) : data.map(function (item, idx) {\n\t var currentId = optionId(id, idx),\n\t isDisabled = (0, _interaction.isDisabledItem)(item, _this.props),\n\t isReadOnly = (0, _interaction.isReadOnlyItem)(item, _this.props);\n\t\n\t return _react2.default.createElement(\n\t Option,\n\t {\n\t key: 'item_' + idx,\n\t id: currentId,\n\t dataItem: item,\n\t disabled: isDisabled,\n\t readOnly: isReadOnly,\n\t focused: focused === item,\n\t selected: selected === item,\n\t onClick: isDisabled || isReadOnly ? undefined : onSelect.bind(null, item)\n\t },\n\t ItemComponent ? _react2.default.createElement(ItemComponent, {\n\t item: item,\n\t value: (0, _dataHelpers.dataValue)(item, valueField),\n\t text: (0, _dataHelpers.dataText)(item, textField),\n\t disabled: isDisabled,\n\t readOnly: isReadOnly\n\t }) : (0, _dataHelpers.dataText)(item, textField)\n\t );\n\t });\n\t\n\t return _react2.default.createElement(\n\t 'ul',\n\t _extends({\n\t id: id,\n\t tabIndex: '-1',\n\t className: (0, _classnames2.default)(className, 'rw-list'),\n\t role: role === undefined ? 'listbox' : role\n\t }, elementProps),\n\t items\n\t );\n\t },\n\t _data: function _data() {\n\t return this.props.data;\n\t },\n\t move: function move() {\n\t var list = _compat2.default.findDOMNode(this),\n\t idx = this._data().indexOf(this.props.focused),\n\t selected = list.children[idx];\n\t\n\t if (!selected) return;\n\t\n\t (0, _widgetHelpers.notify)(this.props.onMove, [selected, list, this.props.focused]);\n\t }\n\t});\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 578 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\t\n\tvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\t\n\tvar _react = __webpack_require__(2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _classnames = __webpack_require__(26);\n\t\n\tvar _classnames2 = _interopRequireDefault(_classnames);\n\t\n\tvar _2 = __webpack_require__(12);\n\t\n\tvar _3 = _interopRequireDefault(_2);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tvar ListOption = _react2.default.createClass({\n\t displayName: 'ListOption',\n\t\n\t propTypes: {\n\t dataItem: _react2.default.PropTypes.any,\n\t focused: _react2.default.PropTypes.bool,\n\t selected: _react2.default.PropTypes.bool,\n\t disabled: _react2.default.PropTypes.bool,\n\t readOnly: _react2.default.PropTypes.bool\n\t },\n\t\n\t render: function render() {\n\t var _props = this.props,\n\t className = _props.className,\n\t children = _props.children,\n\t focused = _props.focused,\n\t selected = _props.selected,\n\t disabled = _props.disabled,\n\t readOnly = _props.readOnly;\n\t\n\t\n\t var props = _3.default.omitOwnProps(this);\n\t\n\t var classes = {\n\t 'rw-state-focus': focused,\n\t 'rw-state-selected': selected,\n\t 'rw-state-disabled': disabled,\n\t 'rw-state-readonly': readOnly\n\t };\n\t\n\t return _react2.default.createElement(\n\t 'li',\n\t _extends({\n\t role: 'option',\n\t tabIndex: !(disabled || readOnly) ? '-1' : undefined,\n\t 'aria-selected': !!selected,\n\t className: (0, _classnames2.default)('rw-list-option', className, classes)\n\t }, props),\n\t children\n\t );\n\t }\n\t});\n\t\n\texports.default = ListOption;\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 579 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\t\n\tvar _react = __webpack_require__(2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _CalendarView = __webpack_require__(93);\n\t\n\tvar _CalendarView2 = _interopRequireDefault(_CalendarView);\n\t\n\tvar _dates = __webpack_require__(37);\n\t\n\tvar _dates2 = _interopRequireDefault(_dates);\n\t\n\tvar _localizers = __webpack_require__(21);\n\t\n\tvar _propTypes = __webpack_require__(28);\n\t\n\tvar _propTypes2 = _interopRequireDefault(_propTypes);\n\t\n\tvar _2 = __webpack_require__(12);\n\t\n\tvar _3 = _interopRequireDefault(_2);\n\t\n\tvar _widgetHelpers = __webpack_require__(38);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tvar dayFormat = function dayFormat(props) {\n\t return _localizers.date.getFormat('weekday', props.dayFormat);\n\t},\n\t dateFormat = function dateFormat(props) {\n\t return _localizers.date.getFormat('dayOfMonth', props.dateFormat);\n\t};\n\t\n\tvar optionId = function optionId(id, date) {\n\t return id + '__month_' + _dates2.default.month(date) + '-' + _dates2.default.date(date);\n\t};\n\t\n\tvar propTypes = {\n\t culture: _react2.default.PropTypes.string,\n\t today: _react2.default.PropTypes.instanceOf(Date),\n\t value: _react2.default.PropTypes.instanceOf(Date),\n\t focused: _react2.default.PropTypes.instanceOf(Date),\n\t min: _react2.default.PropTypes.instanceOf(Date),\n\t max: _react2.default.PropTypes.instanceOf(Date),\n\t onChange: _react2.default.PropTypes.func.isRequired,\n\t\n\t dayComponent: _propTypes2.default.elementType,\n\t dayFormat: _propTypes2.default.dateFormat,\n\t dateFormat: _propTypes2.default.dateFormat\n\t};\n\t\n\tvar isEqual = function isEqual(dateA, dateB) {\n\t return _dates2.default.eq(dateA, dateB, 'day');\n\t};\n\t\n\tvar MonthView = _react2.default.createClass({\n\t\n\t displayName: 'MonthView',\n\t\n\t statics: {\n\t isEqual: isEqual\n\t },\n\t\n\t mixins: [__webpack_require__(69), __webpack_require__(44)()],\n\t\n\t propTypes: propTypes,\n\t\n\t componentDidUpdate: function componentDidUpdate() {\n\t var activeId = optionId((0, _widgetHelpers.instanceId)(this), this.props.focused);\n\t this.ariaActiveDescendant(activeId, null);\n\t },\n\t render: function render() {\n\t var _props = this.props,\n\t focused = _props.focused,\n\t culture = _props.culture,\n\t month = _dates2.default.visibleDays(focused, culture),\n\t rows = _3.default.chunk(month, 7);\n\t\n\t return _react2.default.createElement(\n\t _CalendarView2.default,\n\t _3.default.omitOwnProps(this),\n\t _react2.default.createElement(\n\t 'thead',\n\t null,\n\t _react2.default.createElement(\n\t 'tr',\n\t null,\n\t this.renderHeaders(rows[0], dayFormat(this.props), culture)\n\t )\n\t ),\n\t _react2.default.createElement(\n\t 'tbody',\n\t null,\n\t rows.map(this.renderRow)\n\t )\n\t );\n\t },\n\t renderRow: function renderRow(row, rowIdx) {\n\t var _this = this;\n\t\n\t var _props2 = this.props,\n\t focused = _props2.focused,\n\t today = _props2.today,\n\t disabled = _props2.disabled,\n\t onChange = _props2.onChange,\n\t value = _props2.value,\n\t culture = _props2.culture,\n\t min = _props2.min,\n\t max = _props2.max,\n\t Day = _props2.dayComponent,\n\t id = (0, _widgetHelpers.instanceId)(this),\n\t labelFormat = _localizers.date.getFormat('footer');\n\t\n\t return _react2.default.createElement(\n\t _CalendarView2.default.Row,\n\t { key: rowIdx },\n\t row.map(function (date, colIdx) {\n\t var formattedDate = _localizers.date.format(date, dateFormat(_this.props), culture),\n\t label = _localizers.date.format(date, labelFormat, culture);\n\t\n\t return _react2.default.createElement(\n\t _CalendarView2.default.Cell,\n\t {\n\t key: colIdx,\n\t id: optionId(id, date),\n\t label: label,\n\t date: date,\n\t now: today,\n\t min: min,\n\t max: max,\n\t unit: 'day',\n\t viewUnit: 'month',\n\t onChange: onChange,\n\t focused: focused,\n\t selected: value,\n\t disabled: disabled\n\t },\n\t Day ? _react2.default.createElement(Day, { date: date, label: formattedDate }) : formattedDate\n\t );\n\t })\n\t );\n\t },\n\t renderHeaders: function renderHeaders(week, format, culture) {\n\t return week.map(function (date) {\n\t return _react2.default.createElement(\n\t 'th',\n\t { key: 'header_' + _dates2.default.weekday(date, undefined, _localizers.date.startOfWeek(culture)) },\n\t _localizers.date.format(date, format, culture)\n\t );\n\t });\n\t }\n\t});\n\t\n\texports.default = MonthView;\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 580 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\t\n\tvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\t\n\tvar _OVERFLOW;\n\t\n\tvar _react = __webpack_require__(2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _2 = __webpack_require__(12);\n\t\n\tvar _3 = _interopRequireDefault(_2);\n\t\n\tvar _style = __webpack_require__(60);\n\t\n\tvar _style2 = _interopRequireDefault(_style);\n\t\n\tvar _height = __webpack_require__(82);\n\t\n\tvar _height2 = _interopRequireDefault(_height);\n\t\n\tvar _camelizeStyle = __webpack_require__(110);\n\t\n\tvar _camelizeStyle2 = _interopRequireDefault(_camelizeStyle);\n\t\n\tvar _configuration = __webpack_require__(134);\n\t\n\tvar _configuration2 = _interopRequireDefault(_configuration);\n\t\n\tvar _classnames = __webpack_require__(26);\n\t\n\tvar _classnames2 = _interopRequireDefault(_classnames);\n\t\n\tvar _compat = __webpack_require__(31);\n\t\n\tvar _compat2 = _interopRequireDefault(_compat);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tvar transform = (0, _camelizeStyle2.default)(_configuration2.default.animate.transform);\n\t\n\tvar CLOSING = 0,\n\t CLOSED = 1,\n\t OPENING = 2,\n\t OPEN = 3;\n\t\n\tfunction properties(prop, value) {\n\t var _ref, _ref2;\n\t\n\t var TRANSLATION_MAP = _configuration2.default.animate.TRANSLATION_MAP;\n\t\n\t if (TRANSLATION_MAP && TRANSLATION_MAP[prop]) return _ref = {}, _ref[transform] = TRANSLATION_MAP[prop] + '(' + value + ')', _ref;\n\t\n\t return _ref2 = {}, _ref2[prop] = value, _ref2;\n\t}\n\t\n\tvar OVERFLOW = (_OVERFLOW = {}, _OVERFLOW[CLOSED] = 'hidden', _OVERFLOW[CLOSING] = 'hidden', _OVERFLOW[OPENING] = 'hidden', _OVERFLOW);\n\t\n\tvar propTypes = {\n\t open: _react2.default.PropTypes.bool,\n\t dropUp: _react2.default.PropTypes.bool,\n\t duration: _react2.default.PropTypes.number,\n\t\n\t onClosing: _react2.default.PropTypes.func,\n\t onOpening: _react2.default.PropTypes.func,\n\t onClose: _react2.default.PropTypes.func,\n\t onOpen: _react2.default.PropTypes.func\n\t};\n\t\n\texports.default = _react2.default.createClass({\n\t\n\t displayName: 'Popup',\n\t\n\t propTypes: propTypes,\n\t\n\t getInitialState: function getInitialState() {\n\t return {\n\t initialRender: true,\n\t status: this.props.open ? OPENING : CLOSED\n\t };\n\t },\n\t getDefaultProps: function getDefaultProps() {\n\t return {\n\t duration: 200,\n\t open: false,\n\t onClosing: function onClosing() {},\n\t onOpening: function onOpening() {},\n\t onClose: function onClose() {},\n\t onOpen: function onOpen() {}\n\t };\n\t },\n\t componentWillReceiveProps: function componentWillReceiveProps(nextProps) {\n\t this.setState({\n\t contentChanged: childKey(nextProps.children) !== childKey(this.props.children)\n\t });\n\t },\n\t componentDidMount: function componentDidMount() {\n\t var _this = this;\n\t\n\t var isOpen = this.state.status === OPENING;\n\t\n\t _compat2.default.batchedUpdates(function () {\n\t _this.setState({ initialRender: false });\n\t if (isOpen) {\n\t _this.open();\n\t }\n\t });\n\t },\n\t componentDidUpdate: function componentDidUpdate(pvProps) {\n\t var closing = pvProps.open && !this.props.open,\n\t opening = !pvProps.open && this.props.open,\n\t open = this.props.open,\n\t status = this.state.status;\n\t\n\t if (!!pvProps.dropUp !== !!this.props.dropUp) {\n\t this.cancelNextCallback();\n\t if (status === OPENING) this.open();\n\t if (status === CLOSING) this.close();\n\t return;\n\t }\n\t\n\t if (opening) this.open();else if (closing) this.close();else if (open) {\n\t // this.height() returns a floating point number with the desired height\n\t // for this popup. Because of potential rounding errors in floating point\n\t // aritmetic we must allow an error margin when comparing to the current\n\t // state, otherwise we can end up in an infinite loop where the height\n\t // is never exactly equal to our target value.\n\t var height = this.height(),\n\t diff = Math.abs(height - this.state.height);\n\t if (isNaN(diff) || diff > 0.1) this.setState({ height: height });\n\t }\n\t },\n\t render: function render() {\n\t var _props = this.props,\n\t className = _props.className,\n\t dropUp = _props.dropUp,\n\t style = _props.style,\n\t _state = this.state,\n\t status = _state.status,\n\t height = _state.height;\n\t\n\t\n\t var overflow = OVERFLOW[status] || 'visible',\n\t display = status === CLOSED ? 'none' : 'block';\n\t\n\t return _react2.default.createElement(\n\t 'div',\n\t {\n\t style: _extends({\n\t display: display,\n\t overflow: overflow,\n\t height: height\n\t }, style),\n\t className: (0, _classnames2.default)(className, 'rw-popup-container', dropUp && 'rw-dropup', this.isTransitioning() && 'rw-popup-animating')\n\t },\n\t this.renderChildren()\n\t );\n\t },\n\t renderChildren: function renderChildren() {\n\t if (!this.props.children) return _react2.default.createElement('span', { className: 'rw-popup rw-widget' });\n\t\n\t var offset = this.getOffsetForStatus(this.state.status),\n\t child = _react2.default.Children.only(this.props.children);\n\t\n\t return (0, _react.cloneElement)(child, {\n\t style: _extends({}, child.props.style, offset, {\n\t position: this.isTransitioning() ? 'absolute' : undefined\n\t }),\n\t className: (0, _classnames2.default)(child.props.className, 'rw-popup rw-widget')\n\t });\n\t },\n\t open: function open() {\n\t var _this2 = this;\n\t\n\t this.cancelNextCallback();\n\t var el = _compat2.default.findDOMNode(this).firstChild,\n\t height = this.height();\n\t\n\t this.props.onOpening();\n\t\n\t this.safeSetState({ status: OPENING, height: height }, function () {\n\t var offset = _this2.getOffsetForStatus(OPEN),\n\t duration = _this2.props.duration;\n\t\n\t _this2.animate(el, offset, duration, 'ease', function () {\n\t _this2.safeSetState({ status: OPEN }, function () {\n\t _this2.props.onOpen();\n\t });\n\t });\n\t });\n\t },\n\t close: function close() {\n\t var _this3 = this;\n\t\n\t this.cancelNextCallback();\n\t var el = _compat2.default.findDOMNode(this).firstChild,\n\t height = this.height();\n\t\n\t this.props.onClosing();\n\t\n\t this.safeSetState({ status: CLOSING, height: height }, function () {\n\t var offset = _this3.getOffsetForStatus(CLOSED),\n\t duration = _this3.props.duration;\n\t\n\t _this3.animate(el, offset, duration, 'ease', function () {\n\t return _this3.safeSetState({ status: CLOSED }, function () {\n\t _this3.props.onClose();\n\t });\n\t });\n\t });\n\t },\n\t getOffsetForStatus: function getOffsetForStatus(status) {\n\t var _CLOSED$CLOSING$OPENI;\n\t\n\t if (this.state.initialRender) return {};\n\t\n\t var _in = properties('top', this.props.dropUp ? '100%' : '-100%'),\n\t out = properties('top', 0);\n\t return (_CLOSED$CLOSING$OPENI = {}, _CLOSED$CLOSING$OPENI[CLOSED] = _in, _CLOSED$CLOSING$OPENI[CLOSING] = out, _CLOSED$CLOSING$OPENI[OPENING] = _in, _CLOSED$CLOSING$OPENI[OPEN] = out, _CLOSED$CLOSING$OPENI)[status] || {};\n\t },\n\t height: function height() {\n\t var container = _compat2.default.findDOMNode(this),\n\t content = container.firstChild,\n\t margin = parseInt((0, _style2.default)(content, 'margin-top'), 10) + parseInt((0, _style2.default)(content, 'margin-bottom'), 10);\n\t\n\t var old = container.style.display,\n\t height = void 0;\n\t\n\t container.style.display = 'block';\n\t height = ((0, _height2.default)(content) || 0) + (isNaN(margin) ? 0 : margin);\n\t container.style.display = old;\n\t return height;\n\t },\n\t isTransitioning: function isTransitioning() {\n\t return this.state.status === OPENING || this.state.status === CLOSED;\n\t },\n\t animate: function animate(el, props, dur, easing, cb) {\n\t this._transition = _configuration2.default.animate(el, props, dur, easing, this.setNextCallback(cb));\n\t },\n\t cancelNextCallback: function cancelNextCallback() {\n\t if (this._transition && this._transition.cancel) {\n\t this._transition.cancel();\n\t this._transition = null;\n\t }\n\t if (this.nextCallback) {\n\t this.nextCallback.cancel();\n\t this.nextCallback = null;\n\t }\n\t },\n\t safeSetState: function safeSetState(nextState, callback) {\n\t this.setState(nextState, this.setNextCallback(callback));\n\t },\n\t setNextCallback: function setNextCallback(callback) {\n\t var _this4 = this;\n\t\n\t var active = true;\n\t\n\t this.nextCallback = function (event) {\n\t if (active) {\n\t active = false;\n\t _this4.nextCallback = null;\n\t callback(event);\n\t }\n\t };\n\t\n\t this.nextCallback.cancel = function () {\n\t return active = false;\n\t };\n\t return this.nextCallback;\n\t }\n\t});\n\t\n\t\n\tfunction childKey(children) {\n\t var nextChildMapping = _react2.default.Children.map(children, function (c) {\n\t return c;\n\t });\n\t for (var key in nextChildMapping) {\n\t return key;\n\t }\n\t}\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 581 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\t\n\tvar _react = __webpack_require__(2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _style = __webpack_require__(60);\n\t\n\tvar _style2 = _interopRequireDefault(_style);\n\t\n\tvar _height = __webpack_require__(82);\n\t\n\tvar _height2 = _interopRequireDefault(_height);\n\t\n\tvar _width = __webpack_require__(169);\n\t\n\tvar _width2 = _interopRequireDefault(_width);\n\t\n\tvar _compat = __webpack_require__(31);\n\t\n\tvar _compat2 = _interopRequireDefault(_compat);\n\t\n\tvar _2 = __webpack_require__(12);\n\t\n\tvar _3 = _interopRequireDefault(_2);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\t/**\n\t * A streamlined version of TransitionGroup built for managing at most two active children\n\t * also provides additional hooks for animation start/end\n\t * https://github.com/facebook/react/blob/master/src/addons/transitions/ReactTransitionGroup.js\n\t * relevent code is licensed accordingly\n\t */\n\tfunction getChild(children) {\n\t return _react2.default.Children.only(children);\n\t}\n\t\n\tfunction key(child) {\n\t return child && child.key;\n\t}\n\t\n\texports.default = _react2.default.createClass({\n\t\n\t displayName: 'ReplaceTransitionGroup',\n\t\n\t propTypes: {\n\t component: _react2.default.PropTypes.oneOfType([_react2.default.PropTypes.element, _react2.default.PropTypes.string]),\n\t childFactory: _react2.default.PropTypes.func,\n\t onAnimating: _react2.default.PropTypes.func,\n\t onAnimate: _react2.default.PropTypes.func\n\t },\n\t\n\t getDefaultProps: function getDefaultProps() {\n\t return {\n\t component: 'span',\n\t childFactory: function childFactory(a) {\n\t return a;\n\t },\n\t onAnimating: _3.default.noop,\n\t onAnimate: _3.default.noop\n\t };\n\t },\n\t getInitialState: function getInitialState() {\n\t return {\n\t children: _3.default.splat(this.props.children)\n\t };\n\t },\n\t componentWillReceiveProps: function componentWillReceiveProps(nextProps) {\n\t var nextChild = getChild(nextProps.children),\n\t stack = this.state.children.slice(),\n\t next = stack[1],\n\t last = stack[0];\n\t\n\t var isLastChild = last && key(last) === key(nextChild),\n\t isNextChild = next && key(next) === key(nextChild);\n\t\n\t //no children\n\t if (!last) {\n\t stack.push(nextChild);\n\t this.entering = nextChild;\n\t } else if (last && !next && !isLastChild) {\n\t //new child\n\t stack.push(nextChild);\n\t this.leaving = last;\n\t this.entering = nextChild;\n\t } else if (last && next && !isLastChild && !isNextChild) {\n\t // the child is not the current one, exit the current one, add the new one\n\t // - shift the stack down\n\t stack.shift();\n\t stack.push(nextChild);\n\t this.leaving = next;\n\t this.entering = nextChild;\n\t }\n\t //new child that just needs to be re-rendered\n\t else if (isLastChild) stack.splice(0, 1, nextChild);else if (isNextChild) stack.splice(1, 1, nextChild);\n\t\n\t if (this.state.children[0] !== stack[0] || this.state.children[1] !== stack[1]) this.setState({ children: stack });\n\t },\n\t componentWillMount: function componentWillMount() {\n\t this.animatingKeys = {};\n\t this.leaving = null;\n\t this.entering = null;\n\t },\n\t componentDidUpdate: function componentDidUpdate() {\n\t var entering = this.entering,\n\t leaving = this.leaving,\n\t first = this.refs[key(entering) || key(leaving)],\n\t node = _compat2.default.findDOMNode(this),\n\t el = first && _compat2.default.findDOMNode(first);\n\t\n\t if (el) (0, _style2.default)(node, {\n\t overflow: 'hidden',\n\t height: (0, _height2.default)(el) + 'px',\n\t width: (0, _width2.default)(el) + 'px'\n\t });\n\t\n\t this.props.onAnimating();\n\t\n\t this.entering = null;\n\t this.leaving = null;\n\t\n\t if (entering) this.performEnter(key(entering));\n\t if (leaving) this.performLeave(key(leaving));\n\t },\n\t performEnter: function performEnter(key) {\n\t var component = this.refs[key];\n\t\n\t if (!component) return;\n\t\n\t this.animatingKeys[key] = true;\n\t\n\t if (component.componentWillEnter) component.componentWillEnter(this._handleDoneEntering.bind(this, key));else this._handleDoneEntering(key);\n\t },\n\t _tryFinish: function _tryFinish() {\n\t\n\t if (this.isTransitioning()) return;\n\t\n\t if (this.isMounted()) (0, _style2.default)(_compat2.default.findDOMNode(this), { overflow: 'visible', height: '', width: '' });\n\t\n\t this.props.onAnimate();\n\t },\n\t _handleDoneEntering: function _handleDoneEntering(enterkey) {\n\t var component = this.refs[enterkey];\n\t\n\t if (component && component.componentDidEnter) component.componentDidEnter();\n\t\n\t delete this.animatingKeys[enterkey];\n\t\n\t if (key(this.props.children) !== enterkey) this.performLeave(enterkey); // This was removed before it had fully entered. Remove it.\n\t\n\t this._tryFinish();\n\t },\n\t performLeave: function performLeave(key) {\n\t var component = this.refs[key];\n\t\n\t if (!component) return;\n\t\n\t this.animatingKeys[key] = true;\n\t\n\t if (component.componentWillLeave) component.componentWillLeave(this._handleDoneLeaving.bind(this, key));else this._handleDoneLeaving(key);\n\t },\n\t _handleDoneLeaving: function _handleDoneLeaving(leavekey) {\n\t var component = this.refs[leavekey];\n\t\n\t if (component && component.componentDidLeave) component.componentDidLeave();\n\t\n\t delete this.animatingKeys[leavekey];\n\t\n\t if (key(this.props.children) === leavekey) this.performEnter(leavekey); // This entered again before it fully left. Add it again.\n\t\n\t else if (this.isMounted()) this.setState({\n\t children: this.state.children.filter(function (c) {\n\t return key(c) !== leavekey;\n\t })\n\t });\n\t\n\t this._tryFinish();\n\t },\n\t isTransitioning: function isTransitioning() {\n\t return !!Object.keys(this.animatingKeys).length;\n\t },\n\t render: function render() {\n\t var _this = this;\n\t\n\t var Component = this.props.component;\n\t\n\t return _react2.default.createElement(\n\t Component,\n\t _3.default.omitOwnProps(this),\n\t this.state.children.map(function (c) {\n\t return _this.props.childFactory(c, key(c));\n\t })\n\t );\n\t }\n\t});\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 582 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\t\n\tvar _react = __webpack_require__(2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _ReplaceTransitionGroup = __webpack_require__(581);\n\t\n\tvar _ReplaceTransitionGroup2 = _interopRequireDefault(_ReplaceTransitionGroup);\n\t\n\tvar _compat = __webpack_require__(31);\n\t\n\tvar _compat2 = _interopRequireDefault(_compat);\n\t\n\tvar _style = __webpack_require__(60);\n\t\n\tvar _style2 = _interopRequireDefault(_style);\n\t\n\tvar _width = __webpack_require__(169);\n\t\n\tvar _width2 = _interopRequireDefault(_width);\n\t\n\tvar _configuration = __webpack_require__(134);\n\t\n\tvar _configuration2 = _interopRequireDefault(_configuration);\n\t\n\tvar _2 = __webpack_require__(12);\n\t\n\tvar _3 = _interopRequireDefault(_2);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tvar SlideChildGroup = _react2.default.createClass({\n\t displayName: 'SlideChildGroup',\n\t\n\t\n\t propTypes: {\n\t direction: _react2.default.PropTypes.oneOf(['left', 'right']),\n\t duration: _react2.default.PropTypes.number\n\t },\n\t\n\t componentWillEnter: function componentWillEnter(done) {\n\t var _this = this;\n\t\n\t var node = _compat2.default.findDOMNode(this),\n\t width = (0, _width2.default)(node),\n\t direction = this.props.direction;\n\t\n\t width = direction === 'left' ? width : -width;\n\t\n\t this.ORGINAL_POSITION = node.style.position;\n\t\n\t (0, _style2.default)(node, { position: 'absolute', left: width + 'px', top: 0 });\n\t\n\t _configuration2.default.animate(node, { left: 0 }, this.props.duration, function () {\n\t\n\t (0, _style2.default)(node, {\n\t position: _this.ORGINAL_POSITION,\n\t overflow: 'hidden'\n\t });\n\t\n\t _this.ORGINAL_POSITION = null;\n\t done && done();\n\t });\n\t },\n\t componentWillLeave: function componentWillLeave(done) {\n\t var _this2 = this;\n\t\n\t var node = _compat2.default.findDOMNode(this),\n\t width = (0, _width2.default)(node),\n\t direction = this.props.direction;\n\t\n\t width = direction === 'left' ? -width : width;\n\t\n\t this.ORGINAL_POSITION = node.style.position;\n\t\n\t (0, _style2.default)(node, { position: 'absolute', top: 0, left: 0 });\n\t\n\t _configuration2.default.animate(node, { left: width + 'px' }, this.props.duration, function () {\n\t (0, _style2.default)(node, {\n\t position: _this2.ORGINAL_POSITION,\n\t overflow: 'hidden'\n\t });\n\t\n\t _this2.ORGINAL_POSITION = null;\n\t done && done();\n\t });\n\t },\n\t render: function render() {\n\t return _react2.default.Children.only(this.props.children);\n\t }\n\t});\n\t\n\tmodule.exports = _react2.default.createClass({\n\t displayName: 'exports',\n\t\n\t\n\t propTypes: {\n\t direction: _react2.default.PropTypes.oneOf(['left', 'right']),\n\t duration: _react2.default.PropTypes.number\n\t },\n\t\n\t getDefaultProps: function getDefaultProps() {\n\t return {\n\t direction: 'left',\n\t duration: 250\n\t };\n\t },\n\t _wrapChild: function _wrapChild(child, ref) {\n\t return _react2.default.createElement(\n\t SlideChildGroup,\n\t { key: child.key, ref: ref,\n\t direction: this.props.direction,\n\t duration: this.props.duration },\n\t child\n\t );\n\t },\n\t render: function render() {\n\t var _props = this.props,\n\t style = _props.style,\n\t children = _props.children;\n\t\n\t\n\t style = _extends({}, style, {\n\t position: 'relative',\n\t overflow: 'hidden'\n\t });\n\t\n\t return _react2.default.createElement(\n\t _ReplaceTransitionGroup2.default,\n\t _extends({}, _3.default.omitOwnProps(this), {\n\t ref: 'container',\n\t component: 'div',\n\t childFactory: this._wrapChild,\n\t style: style\n\t }),\n\t children\n\t );\n\t }\n\t});\n\n/***/ },\n/* 583 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\t\n\tvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\t\n\tvar _react = __webpack_require__(2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _dates2 = __webpack_require__(37);\n\t\n\tvar _dates3 = _interopRequireDefault(_dates2);\n\t\n\tvar _List = __webpack_require__(577);\n\t\n\tvar _List2 = _interopRequireDefault(_List);\n\t\n\tvar _localizers = __webpack_require__(21);\n\t\n\tvar _propTypes = __webpack_require__(28);\n\t\n\tvar _propTypes2 = _interopRequireDefault(_propTypes);\n\t\n\tvar _2 = __webpack_require__(12);\n\t\n\tvar _3 = _interopRequireDefault(_2);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tvar format = function format(props) {\n\t return _localizers.date.getFormat('time', props.format);\n\t};\n\t\n\texports.default = _react2.default.createClass({\n\t\n\t displayName: 'TimeList',\n\t\n\t propTypes: {\n\t value: _react2.default.PropTypes.instanceOf(Date),\n\t step: _react2.default.PropTypes.number,\n\t min: _react2.default.PropTypes.instanceOf(Date),\n\t max: _react2.default.PropTypes.instanceOf(Date),\n\t currentDate: _react2.default.PropTypes.instanceOf(Date),\n\t\n\t itemComponent: _propTypes2.default.elementType,\n\t format: _propTypes2.default.dateFormat,\n\t onSelect: _react2.default.PropTypes.func,\n\t preserveDate: _react2.default.PropTypes.bool,\n\t culture: _react2.default.PropTypes.string,\n\t delay: _react2.default.PropTypes.number\n\t },\n\t\n\t mixins: [__webpack_require__(133)],\n\t\n\t getDefaultProps: function getDefaultProps() {\n\t return {\n\t step: 30,\n\t onSelect: function onSelect() {},\n\t min: new Date(1900, 0, 1),\n\t max: new Date(2099, 11, 31),\n\t preserveDate: true,\n\t delay: 300,\n\t ariaActiveDescendantKey: 'timelist'\n\t };\n\t },\n\t getInitialState: function getInitialState() {\n\t var data = this._dates(this.props),\n\t focusedItem = this._closestDate(data, this.props.value || this.props.currentDate);\n\t\n\t return {\n\t focusedItem: focusedItem || data[0],\n\t dates: data\n\t };\n\t },\n\t componentWillReceiveProps: function componentWillReceiveProps(nextProps) {\n\t var data = this._dates(nextProps),\n\t focusedItem = this._closestDate(data, nextProps.value || this.props.currentDate),\n\t valChanged = !_dates3.default.eq(nextProps.value, this.props.value, 'minutes'),\n\t minChanged = !_dates3.default.eq(nextProps.min, this.props.min, 'minutes'),\n\t maxChanged = !_dates3.default.eq(nextProps.max, this.props.max, 'minutes'),\n\t localeChanged = this.props.format !== nextProps.format || this.props.culture !== nextProps.culture;\n\t\n\t if (valChanged || minChanged || maxChanged || localeChanged) {\n\t this.setState({\n\t focusedItem: focusedItem || data[0],\n\t dates: data\n\t });\n\t }\n\t },\n\t render: function render() {\n\t var _props = this.props,\n\t value = _props.value,\n\t onSelect = _props.onSelect;\n\t\n\t\n\t var times = this.state.dates,\n\t date = this._closestDate(times, value);\n\t\n\t return _react2.default.createElement(_List2.default, _extends({}, _3.default.omitOwnProps(this), {\n\t ref: 'list',\n\t data: times,\n\t textField: 'label',\n\t valueField: 'date',\n\t selected: date,\n\t onSelect: onSelect,\n\t focused: this.state.focusedItem\n\t }));\n\t },\n\t _closestDate: function _closestDate(times, date) {\n\t var roundTo = 1000 * 60 * this.props.step,\n\t inst = null,\n\t label;\n\t\n\t if (!date) return null;\n\t\n\t date = new Date(Math.floor(date.getTime() / roundTo) * roundTo);\n\t label = _localizers.date.format(date, format(this.props), this.props.culture);\n\t\n\t times.some(function (time) {\n\t if (time.label === label) return inst = time;\n\t });\n\t\n\t return inst;\n\t },\n\t _data: function _data() {\n\t return this.state.dates;\n\t },\n\t _dates: function _dates(props) {\n\t var times = [],\n\t i = 0,\n\t values = this._dateValues(props),\n\t start = values.min,\n\t startDay = _dates3.default.date(start);\n\t\n\t while (_dates3.default.date(start) === startDay && _dates3.default.lte(start, values.max)) {\n\t i++;\n\t times.push({ date: start, label: _localizers.date.format(start, format(props), props.culture) });\n\t start = _dates3.default.add(start, props.step || 30, 'minutes');\n\t }\n\t return times;\n\t },\n\t _dateValues: function _dateValues(props) {\n\t var value = props.value || props.currentDate || _dates3.default.today(),\n\t useDate = props.preserveDate,\n\t min = props.min,\n\t max = props.max,\n\t start,\n\t end;\n\t\n\t //compare just the time regradless of whether they fall on the same day\n\t if (!useDate) {\n\t start = _dates3.default.startOf(_dates3.default.merge(new Date(), min, props.currentDate), 'minutes');\n\t end = _dates3.default.startOf(_dates3.default.merge(new Date(), max, props.currentDate), 'minutes');\n\t\n\t if (_dates3.default.lte(end, start) && _dates3.default.gt(max, min, 'day')) end = _dates3.default.tomorrow();\n\t\n\t return {\n\t min: start,\n\t max: end\n\t };\n\t }\n\t\n\t start = _dates3.default.today();\n\t end = _dates3.default.tomorrow();\n\t //date parts are equal\n\t return {\n\t min: _dates3.default.eq(value, min, 'day') ? _dates3.default.merge(start, min, props.currentDate) : start,\n\t max: _dates3.default.eq(value, max, 'day') ? _dates3.default.merge(start, max, props.currentDate) : end\n\t };\n\t },\n\t handleKeyDown: function handleKeyDown(e) {\n\t var key = e.key,\n\t focusedItem = this.state.focusedItem,\n\t list = this.refs.list;\n\t\n\t if (key === 'End') {\n\t e.preventDefault();\n\t this.setState({ focusedItem: list.last() });\n\t } else if (key === 'Home') {\n\t e.preventDefault();\n\t this.setState({ focusedItem: list.first() });\n\t } else if (key === 'Enter') this.props.onSelect(focusedItem);else if (key === 'ArrowDown') {\n\t e.preventDefault();\n\t this.setState({ focusedItem: list.next(focusedItem) });\n\t } else if (key === 'ArrowUp') {\n\t e.preventDefault();\n\t this.setState({ focusedItem: list.prev(focusedItem) });\n\t }\n\t },\n\t handleKeyPress: function handleKeyPress(e) {\n\t var _this = this;\n\t\n\t e.preventDefault();\n\t\n\t this.search(String.fromCharCode(e.which), function (item) {\n\t _this.isMounted() && _this.setState({ focusedItem: item });\n\t });\n\t },\n\t scrollTo: function scrollTo() {\n\t this.refs.list.move && this.refs.list.move();\n\t },\n\t search: function search(character, cb) {\n\t var _this2 = this;\n\t\n\t var word = ((this._searchTerm || '') + character).toLowerCase();\n\t\n\t this._searchTerm = word;\n\t\n\t this.setTimeout('search', function () {\n\t var list = _this2.refs.list,\n\t item = list.next(_this2.state.focusedItem, word);\n\t\n\t _this2._searchTerm = '';\n\t if (item) cb(item);\n\t }, this.props.delay);\n\t }\n\t});\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 584 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\t\n\tvar _react = __webpack_require__(2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _CalendarView = __webpack_require__(93);\n\t\n\tvar _CalendarView2 = _interopRequireDefault(_CalendarView);\n\t\n\tvar _dates = __webpack_require__(37);\n\t\n\tvar _dates2 = _interopRequireDefault(_dates);\n\t\n\tvar _localizers = __webpack_require__(21);\n\t\n\tvar _2 = __webpack_require__(12);\n\t\n\tvar _3 = _interopRequireDefault(_2);\n\t\n\tvar _propTypes = __webpack_require__(28);\n\t\n\tvar _propTypes2 = _interopRequireDefault(_propTypes);\n\t\n\tvar _widgetHelpers = __webpack_require__(38);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tvar format = function format(props) {\n\t return _localizers.date.getFormat('month', props.monthFormat);\n\t};\n\t\n\tvar propTypes = {\n\t culture: _react2.default.PropTypes.string,\n\t today: _react2.default.PropTypes.instanceOf(Date),\n\t value: _react2.default.PropTypes.instanceOf(Date),\n\t focused: _react2.default.PropTypes.instanceOf(Date),\n\t min: _react2.default.PropTypes.instanceOf(Date),\n\t max: _react2.default.PropTypes.instanceOf(Date),\n\t onChange: _react2.default.PropTypes.func.isRequired,\n\t\n\t monthFormat: _propTypes2.default.dateFormat\n\t};\n\t\n\tvar optionId = function optionId(id, date) {\n\t return id + '__year_' + _dates2.default.year(date) + '-' + _dates2.default.month(date);\n\t};\n\t\n\tvar YearView = _react2.default.createClass({\n\t\n\t displayName: 'YearView',\n\t\n\t mixins: [__webpack_require__(69), __webpack_require__(44)()],\n\t\n\t propTypes: propTypes,\n\t\n\t componentDidUpdate: function componentDidUpdate() {\n\t var activeId = optionId((0, _widgetHelpers.instanceId)(this), this.props.focused);\n\t this.ariaActiveDescendant(activeId);\n\t },\n\t render: function render() {\n\t var focused = this.props.focused,\n\t months = _dates2.default.monthsInYear(_dates2.default.year(focused));\n\t\n\t\n\t return _react2.default.createElement(\n\t _CalendarView2.default,\n\t _3.default.omitOwnProps(this),\n\t _react2.default.createElement(\n\t 'tbody',\n\t null,\n\t _3.default.chunk(months, 4).map(this.renderRow)\n\t )\n\t );\n\t },\n\t renderRow: function renderRow(row, rowIdx) {\n\t var _this = this;\n\t\n\t var _props = this.props,\n\t focused = _props.focused,\n\t disabled = _props.disabled,\n\t onChange = _props.onChange,\n\t value = _props.value,\n\t today = _props.today,\n\t culture = _props.culture,\n\t min = _props.min,\n\t max = _props.max;\n\t\n\t\n\t var id = (0, _widgetHelpers.instanceId)(this),\n\t labelFormat = _localizers.date.getFormat('header');\n\t\n\t return _react2.default.createElement(\n\t _CalendarView2.default.Row,\n\t { key: rowIdx },\n\t row.map(function (date, colIdx) {\n\t var label = _localizers.date.format(date, labelFormat, culture);\n\t\n\t return _react2.default.createElement(\n\t _CalendarView2.default.Cell,\n\t {\n\t key: colIdx,\n\t id: optionId(id, date),\n\t label: label,\n\t date: date,\n\t now: today,\n\t min: min,\n\t max: max,\n\t unit: 'month',\n\t onChange: onChange,\n\t focused: focused,\n\t selected: value,\n\t disabled: disabled\n\t },\n\t _localizers.date.format(date, format(_this.props), culture)\n\t );\n\t })\n\t );\n\t }\n\t});\n\t\n\texports.default = YearView;\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 585 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\t\n\tvar _configuration = __webpack_require__(134);\n\t\n\tvar _configuration2 = _interopRequireDefault(_configuration);\n\t\n\tvar _localizers = __webpack_require__(21);\n\t\n\tvar localizers = _interopRequireWildcard(_localizers);\n\t\n\tfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\texports.default = {\n\t setAnimate: function setAnimate(animatefn) {\n\t _configuration2.default.animate = animatefn;\n\t },\n\t setLocalizers: function setLocalizers(_ref) {\n\t var date = _ref.date,\n\t number = _ref.number;\n\t\n\t date && this.setDateLocalizer(date);\n\t number && this.setNumberLocalizer(number);\n\t },\n\t\n\t\n\t setDateLocalizer: localizers.setDate,\n\t\n\t setNumberLocalizer: localizers.setNumber\n\t};\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 586 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\t\n\texports.default = function (moment) {\n\t if (typeof moment !== 'function') throw new TypeError('You must provide a valid moment object');\n\t\n\t var localField = typeof moment().locale === 'function' ? 'locale' : 'lang',\n\t hasLocaleData = !!moment.localeData;\n\t\n\t if (!hasLocaleData) throw new TypeError('The Moment localizer depends on the `localeData` api, please provide a moment object v2.2.0 or higher');\n\t\n\t function getMoment(culture, value, format) {\n\t return culture ? moment(value, format)[localField](culture) : moment(value, format);\n\t }\n\t\n\t function endOfDecade(date) {\n\t return moment(date).add(10, 'year').add(-1, 'millisecond').toDate();\n\t }\n\t\n\t function endOfCentury(date) {\n\t return moment(date).add(100, 'year').add(-1, 'millisecond').toDate();\n\t }\n\t\n\t var localizer = {\n\t formats: {\n\t date: 'L',\n\t time: 'LT',\n\t default: 'lll',\n\t header: 'MMMM YYYY',\n\t footer: 'LL',\n\t weekday: 'dd',\n\t dayOfMonth: 'DD',\n\t month: 'MMM',\n\t year: 'YYYY',\n\t\n\t decade: function decade(date, culture, localizer) {\n\t return localizer.format(date, 'YYYY', culture) + ' - ' + localizer.format(endOfDecade(date), 'YYYY', culture);\n\t },\n\t century: function century(date, culture, localizer) {\n\t return localizer.format(date, 'YYYY', culture) + ' - ' + localizer.format(endOfCentury(date), 'YYYY', culture);\n\t }\n\t },\n\t\n\t firstOfWeek: function firstOfWeek(culture) {\n\t return moment.localeData(culture).firstDayOfWeek();\n\t },\n\t parse: function parse(value, format, culture) {\n\t if (!value) return null;\n\t var m = getMoment(culture, value, format);\n\t if (m.isValid()) return m.toDate();\n\t return null;\n\t },\n\t format: function format(value, _format, culture) {\n\t return getMoment(culture, value).format(_format);\n\t }\n\t };\n\t\n\t _configure2.default.setDateLocalizer(localizer);\n\t\n\t return localizer;\n\t};\n\t\n\tvar _configure = __webpack_require__(585);\n\t\n\tvar _configure2 = _interopRequireDefault(_configure);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 587 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\t\n\tvar _react = __webpack_require__(2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _reactDom = __webpack_require__(43);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\texports.default = {\n\t propTypes: {\n\t autoFocus: _react2.default.PropTypes.bool\n\t },\n\t\n\t componentDidMount: function componentDidMount() {\n\t var autoFocus = this.props.autoFocus;\n\t\n\t\n\t if (autoFocus) this.focus ? this.focus() : (0, _reactDom.findDOMNode)(this).focus();\n\t }\n\t};\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 588 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\t\n\tvar _filter = __webpack_require__(323);\n\t\n\tvar _filter2 = _interopRequireDefault(_filter);\n\t\n\tvar _dataHelpers = __webpack_require__(136);\n\t\n\tvar _propTypes = __webpack_require__(28);\n\t\n\tvar _propTypes2 = _interopRequireDefault(_propTypes);\n\t\n\tvar _interaction = __webpack_require__(70);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tvar EMPTY_VALUE = {};\n\t\n\tvar isDisabledOrReadonly = function isDisabledOrReadonly(item, props) {\n\t return (0, _interaction.isDisabledItem)(item, props) || (0, _interaction.isReadOnlyItem)(item, props);\n\t};\n\t\n\texports.default = {\n\t\n\t propTypes: {\n\t textField: _propTypes2.default.accessor,\n\t valueField: _propTypes2.default.accessor,\n\t disabled: _propTypes2.default.disabled.acceptsArray,\n\t readOnly: _propTypes2.default.readOnly.acceptsArray\n\t },\n\t\n\t first: function first() {\n\t return this.next(EMPTY_VALUE);\n\t },\n\t last: function last() {\n\t var data = this._data(),\n\t item = data[data.length - 1];\n\t\n\t return isDisabledOrReadonly(item, this.props) ? this.prev(item) : item;\n\t },\n\t prev: function prev(item, word) {\n\t var data = this._data(),\n\t nextIdx = data.indexOf(item),\n\t matches = matcher(word, item, this.props.textField);\n\t\n\t if (nextIdx < 0 || nextIdx == null) nextIdx = 0;\n\t\n\t nextIdx--;\n\t\n\t while (nextIdx > -1 && (isDisabledOrReadonly(data[nextIdx], this.props) || !matches(data[nextIdx]))) {\n\t nextIdx--;\n\t }return nextIdx >= 0 ? data[nextIdx] : item;\n\t },\n\t next: function next(item, word) {\n\t var data = this._data(),\n\t nextIdx = data.indexOf(item) + 1,\n\t len = data.length,\n\t matches = matcher(word, item, this.props.textField);\n\t\n\t while (nextIdx < len && (isDisabledOrReadonly(data[nextIdx], this.props) || !matches(data[nextIdx]))) {\n\t nextIdx++;\n\t }return nextIdx < len ? data[nextIdx] : item;\n\t }\n\t};\n\t\n\t\n\tfunction matcher(word, item, textField) {\n\t if (!word) return function () {\n\t return true;\n\t };\n\t\n\t word = word.toLowerCase();\n\t return function (item) {\n\t return _filter2.default.startsWith((0, _dataHelpers.dataText)(item, textField).toLowerCase(), word);\n\t };\n\t}\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 589 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\t\n\tvar _scrollTo2 = __webpack_require__(409);\n\t\n\tvar _scrollTo3 = _interopRequireDefault(_scrollTo2);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\texports.default = {\n\t _scrollTo: function _scrollTo(selected, list, focused) {\n\t var state = this._scrollState || (this._scrollState = {}),\n\t handler = this.props.onMove,\n\t lastVisible = state.visible,\n\t lastItem = state.focused,\n\t shown,\n\t changed;\n\t\n\t state.visible = !(!list.offsetWidth || !list.offsetHeight);\n\t state.focused = focused;\n\t\n\t changed = lastItem !== focused;\n\t shown = state.visible && !lastVisible;\n\t\n\t if (shown || state.visible && changed) {\n\t if (handler) handler(selected, list, focused);else {\n\t state.scrollCancel && state.scrollCancel();\n\t state.scrollCancel = (0, _scrollTo3.default)(selected, list);\n\t }\n\t }\n\t }\n\t};\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 590 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\texports.default = animate;\n\t\n\tvar _hyphenate = __webpack_require__(171);\n\t\n\tvar _hyphenate2 = _interopRequireDefault(_hyphenate);\n\t\n\tvar _style = __webpack_require__(60);\n\t\n\tvar _style2 = _interopRequireDefault(_style);\n\t\n\tvar _on = __webpack_require__(399);\n\t\n\tvar _on2 = _interopRequireDefault(_on);\n\t\n\tvar _off = __webpack_require__(398);\n\t\n\tvar _off2 = _interopRequireDefault(_off);\n\t\n\tvar _properties = __webpack_require__(405);\n\t\n\tvar _properties2 = _interopRequireDefault(_properties);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tvar has = Object.prototype.hasOwnProperty,\n\t reset = {},\n\t TRANSLATION_MAP = {\n\t left: 'translateX',\n\t right: 'translateX',\n\t top: 'translateY',\n\t bottom: 'translateY'\n\t};\n\t\n\treset[_properties2.default.property] = reset[_properties2.default.duration] = reset[_properties2.default.delay] = reset[_properties2.default.timing] = '';\n\t\n\tanimate.endEvent = _properties2.default.end;\n\tanimate.transform = _properties2.default.transform;\n\tanimate.TRANSLATION_MAP = TRANSLATION_MAP;\n\t\n\t// super lean animate function for transitions\n\t// doesn't support all translations to keep it matching the jquery API\n\t/**\n\t * code in part from: Zepto 1.1.4 | zeptojs.com/license\n\t */\n\tfunction animate(node, properties, duration, easing, callback) {\n\t var cssProperties = [],\n\t fakeEvent = { target: node, currentTarget: node },\n\t cssValues = {},\n\t transforms = '',\n\t fired;\n\t\n\t if (typeof easing === 'function') callback = easing, easing = null;\n\t\n\t if (!_properties2.default.end) duration = 0;\n\t if (duration === undefined) duration = 200;\n\t\n\t for (var key in properties) {\n\t if (has.call(properties, key)) {\n\t if (/(top|bottom)/.test(key)) transforms += TRANSLATION_MAP[key] + '(' + properties[key] + ') ';else {\n\t cssValues[key] = properties[key];\n\t cssProperties.push((0, _hyphenate2.default)(key));\n\t }\n\t }\n\t }if (transforms) {\n\t cssValues[_properties2.default.transform] = transforms;\n\t cssProperties.push(_properties2.default.transform);\n\t }\n\t\n\t if (duration > 0) {\n\t cssValues[_properties2.default.property] = cssProperties.join(', ');\n\t cssValues[_properties2.default.duration] = duration / 1000 + 's';\n\t cssValues[_properties2.default.delay] = 0 + 's';\n\t cssValues[_properties2.default.timing] = easing || 'linear';\n\t\n\t (0, _on2.default)(node, _properties2.default.end, done);\n\t\n\t setTimeout(function () {\n\t if (!fired) done(fakeEvent);\n\t }, duration + 500);\n\t }\n\t\n\t node.clientLeft; // trigger page reflow\n\t (0, _style2.default)(node, cssValues);\n\t\n\t if (duration <= 0) setTimeout(done.bind(null, fakeEvent), 0);\n\t\n\t return {\n\t cancel: function cancel() {\n\t if (fired) return;\n\t fired = true;\n\t (0, _off2.default)(node, _properties2.default.end, done);\n\t (0, _style2.default)(node, reset);\n\t }\n\t };\n\t\n\t function done(event) {\n\t if (event.target !== event.currentTarget) return;\n\t\n\t fired = true;\n\t (0, _off2.default)(event.target, _properties2.default.end, done);\n\t (0, _style2.default)(node, reset);\n\t callback && callback.call(this);\n\t }\n\t}\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 591 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Copyright 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @providesModule AutoFocusUtils\n\t */\n\t\n\t'use strict';\n\t\n\tvar ReactDOMComponentTree = __webpack_require__(9);\n\t\n\tvar focusNode = __webpack_require__(173);\n\t\n\tvar AutoFocusUtils = {\n\t focusDOMComponent: function () {\n\t focusNode(ReactDOMComponentTree.getNodeFromInstance(this));\n\t }\n\t};\n\t\n\tmodule.exports = AutoFocusUtils;\n\n/***/ },\n/* 592 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Copyright 2013-present Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @providesModule BeforeInputEventPlugin\n\t */\n\t\n\t'use strict';\n\t\n\tvar EventConstants = __webpack_require__(32);\n\tvar EventPropagators = __webpack_require__(72);\n\tvar ExecutionEnvironment = __webpack_require__(18);\n\tvar FallbackCompositionState = __webpack_require__(598);\n\tvar SyntheticCompositionEvent = __webpack_require__(636);\n\tvar SyntheticInputEvent = __webpack_require__(639);\n\t\n\tvar keyOf = __webpack_require__(34);\n\t\n\tvar END_KEYCODES = [9, 13, 27, 32]; // Tab, Return, Esc, Space\n\tvar START_KEYCODE = 229;\n\t\n\tvar canUseCompositionEvent = ExecutionEnvironment.canUseDOM && 'CompositionEvent' in window;\n\t\n\tvar documentMode = null;\n\tif (ExecutionEnvironment.canUseDOM && 'documentMode' in document) {\n\t documentMode = document.documentMode;\n\t}\n\t\n\t// Webkit offers a very useful `textInput` event that can be used to\n\t// directly represent `beforeInput`. The IE `textinput` event is not as\n\t// useful, so we don't use it.\n\tvar canUseTextInputEvent = ExecutionEnvironment.canUseDOM && 'TextEvent' in window && !documentMode && !isPresto();\n\t\n\t// In IE9+, we have access to composition events, but the data supplied\n\t// by the native compositionend event may be incorrect. Japanese ideographic\n\t// spaces, for instance (\\u3000) are not recorded correctly.\n\tvar useFallbackCompositionData = ExecutionEnvironment.canUseDOM && (!canUseCompositionEvent || documentMode && documentMode > 8 && documentMode <= 11);\n\t\n\t/**\n\t * Opera <= 12 includes TextEvent in window, but does not fire\n\t * text input events. Rely on keypress instead.\n\t */\n\tfunction isPresto() {\n\t var opera = window.opera;\n\t return typeof opera === 'object' && typeof opera.version === 'function' && parseInt(opera.version(), 10) <= 12;\n\t}\n\t\n\tvar SPACEBAR_CODE = 32;\n\tvar SPACEBAR_CHAR = String.fromCharCode(SPACEBAR_CODE);\n\t\n\tvar topLevelTypes = EventConstants.topLevelTypes;\n\t\n\t// Events and their corresponding property names.\n\tvar eventTypes = {\n\t beforeInput: {\n\t phasedRegistrationNames: {\n\t bubbled: keyOf({ onBeforeInput: null }),\n\t captured: keyOf({ onBeforeInputCapture: null })\n\t },\n\t dependencies: [topLevelTypes.topCompositionEnd, topLevelTypes.topKeyPress, topLevelTypes.topTextInput, topLevelTypes.topPaste]\n\t },\n\t compositionEnd: {\n\t phasedRegistrationNames: {\n\t bubbled: keyOf({ onCompositionEnd: null }),\n\t captured: keyOf({ onCompositionEndCapture: null })\n\t },\n\t dependencies: [topLevelTypes.topBlur, topLevelTypes.topCompositionEnd, topLevelTypes.topKeyDown, topLevelTypes.topKeyPress, topLevelTypes.topKeyUp, topLevelTypes.topMouseDown]\n\t },\n\t compositionStart: {\n\t phasedRegistrationNames: {\n\t bubbled: keyOf({ onCompositionStart: null }),\n\t captured: keyOf({ onCompositionStartCapture: null })\n\t },\n\t dependencies: [topLevelTypes.topBlur, topLevelTypes.topCompositionStart, topLevelTypes.topKeyDown, topLevelTypes.topKeyPress, topLevelTypes.topKeyUp, topLevelTypes.topMouseDown]\n\t },\n\t compositionUpdate: {\n\t phasedRegistrationNames: {\n\t bubbled: keyOf({ onCompositionUpdate: null }),\n\t captured: keyOf({ onCompositionUpdateCapture: null })\n\t },\n\t dependencies: [topLevelTypes.topBlur, topLevelTypes.topCompositionUpdate, topLevelTypes.topKeyDown, topLevelTypes.topKeyPress, topLevelTypes.topKeyUp, topLevelTypes.topMouseDown]\n\t }\n\t};\n\t\n\t// Track whether we've ever handled a keypress on the space key.\n\tvar hasSpaceKeypress = false;\n\t\n\t/**\n\t * Return whether a native keypress event is assumed to be a command.\n\t * This is required because Firefox fires `keypress` events for key commands\n\t * (cut, copy, select-all, etc.) even though no character is inserted.\n\t */\n\tfunction isKeypressCommand(nativeEvent) {\n\t return (nativeEvent.ctrlKey || nativeEvent.altKey || nativeEvent.metaKey) &&\n\t // ctrlKey && altKey is equivalent to AltGr, and is not a command.\n\t !(nativeEvent.ctrlKey && nativeEvent.altKey);\n\t}\n\t\n\t/**\n\t * Translate native top level events into event types.\n\t *\n\t * @param {string} topLevelType\n\t * @return {object}\n\t */\n\tfunction getCompositionEventType(topLevelType) {\n\t switch (topLevelType) {\n\t case topLevelTypes.topCompositionStart:\n\t return eventTypes.compositionStart;\n\t case topLevelTypes.topCompositionEnd:\n\t return eventTypes.compositionEnd;\n\t case topLevelTypes.topCompositionUpdate:\n\t return eventTypes.compositionUpdate;\n\t }\n\t}\n\t\n\t/**\n\t * Does our fallback best-guess model think this event signifies that\n\t * composition has begun?\n\t *\n\t * @param {string} topLevelType\n\t * @param {object} nativeEvent\n\t * @return {boolean}\n\t */\n\tfunction isFallbackCompositionStart(topLevelType, nativeEvent) {\n\t return topLevelType === topLevelTypes.topKeyDown && nativeEvent.keyCode === START_KEYCODE;\n\t}\n\t\n\t/**\n\t * Does our fallback mode think that this event is the end of composition?\n\t *\n\t * @param {string} topLevelType\n\t * @param {object} nativeEvent\n\t * @return {boolean}\n\t */\n\tfunction isFallbackCompositionEnd(topLevelType, nativeEvent) {\n\t switch (topLevelType) {\n\t case topLevelTypes.topKeyUp:\n\t // Command keys insert or clear IME input.\n\t return END_KEYCODES.indexOf(nativeEvent.keyCode) !== -1;\n\t case topLevelTypes.topKeyDown:\n\t // Expect IME keyCode on each keydown. If we get any other\n\t // code we must have exited earlier.\n\t return nativeEvent.keyCode !== START_KEYCODE;\n\t case topLevelTypes.topKeyPress:\n\t case topLevelTypes.topMouseDown:\n\t case topLevelTypes.topBlur:\n\t // Events are not possible without cancelling IME.\n\t return true;\n\t default:\n\t return false;\n\t }\n\t}\n\t\n\t/**\n\t * Google Input Tools provides composition data via a CustomEvent,\n\t * with the `data` property populated in the `detail` object. If this\n\t * is available on the event object, use it. If not, this is a plain\n\t * composition event and we have nothing special to extract.\n\t *\n\t * @param {object} nativeEvent\n\t * @return {?string}\n\t */\n\tfunction getDataFromCustomEvent(nativeEvent) {\n\t var detail = nativeEvent.detail;\n\t if (typeof detail === 'object' && 'data' in detail) {\n\t return detail.data;\n\t }\n\t return null;\n\t}\n\t\n\t// Track the current IME composition fallback object, if any.\n\tvar currentComposition = null;\n\t\n\t/**\n\t * @return {?object} A SyntheticCompositionEvent.\n\t */\n\tfunction extractCompositionEvent(topLevelType, targetInst, nativeEvent, nativeEventTarget) {\n\t var eventType;\n\t var fallbackData;\n\t\n\t if (canUseCompositionEvent) {\n\t eventType = getCompositionEventType(topLevelType);\n\t } else if (!currentComposition) {\n\t if (isFallbackCompositionStart(topLevelType, nativeEvent)) {\n\t eventType = eventTypes.compositionStart;\n\t }\n\t } else if (isFallbackCompositionEnd(topLevelType, nativeEvent)) {\n\t eventType = eventTypes.compositionEnd;\n\t }\n\t\n\t if (!eventType) {\n\t return null;\n\t }\n\t\n\t if (useFallbackCompositionData) {\n\t // The current composition is stored statically and must not be\n\t // overwritten while composition continues.\n\t if (!currentComposition && eventType === eventTypes.compositionStart) {\n\t currentComposition = FallbackCompositionState.getPooled(nativeEventTarget);\n\t } else if (eventType === eventTypes.compositionEnd) {\n\t if (currentComposition) {\n\t fallbackData = currentComposition.getData();\n\t }\n\t }\n\t }\n\t\n\t var event = SyntheticCompositionEvent.getPooled(eventType, targetInst, nativeEvent, nativeEventTarget);\n\t\n\t if (fallbackData) {\n\t // Inject data generated from fallback path into the synthetic event.\n\t // This matches the property of native CompositionEventInterface.\n\t event.data = fallbackData;\n\t } else {\n\t var customData = getDataFromCustomEvent(nativeEvent);\n\t if (customData !== null) {\n\t event.data = customData;\n\t }\n\t }\n\t\n\t EventPropagators.accumulateTwoPhaseDispatches(event);\n\t return event;\n\t}\n\t\n\t/**\n\t * @param {string} topLevelType Record from `EventConstants`.\n\t * @param {object} nativeEvent Native browser event.\n\t * @return {?string} The string corresponding to this `beforeInput` event.\n\t */\n\tfunction getNativeBeforeInputChars(topLevelType, nativeEvent) {\n\t switch (topLevelType) {\n\t case topLevelTypes.topCompositionEnd:\n\t return getDataFromCustomEvent(nativeEvent);\n\t case topLevelTypes.topKeyPress:\n\t /**\n\t * If native `textInput` events are available, our goal is to make\n\t * use of them. However, there is a special case: the spacebar key.\n\t * In Webkit, preventing default on a spacebar `textInput` event\n\t * cancels character insertion, but it *also* causes the browser\n\t * to fall back to its default spacebar behavior of scrolling the\n\t * page.\n\t *\n\t * Tracking at:\n\t * https://code.google.com/p/chromium/issues/detail?id=355103\n\t *\n\t * To avoid this issue, use the keypress event as if no `textInput`\n\t * event is available.\n\t */\n\t var which = nativeEvent.which;\n\t if (which !== SPACEBAR_CODE) {\n\t return null;\n\t }\n\t\n\t hasSpaceKeypress = true;\n\t return SPACEBAR_CHAR;\n\t\n\t case topLevelTypes.topTextInput:\n\t // Record the characters to be added to the DOM.\n\t var chars = nativeEvent.data;\n\t\n\t // If it's a spacebar character, assume that we have already handled\n\t // it at the keypress level and bail immediately. Android Chrome\n\t // doesn't give us keycodes, so we need to blacklist it.\n\t if (chars === SPACEBAR_CHAR && hasSpaceKeypress) {\n\t return null;\n\t }\n\t\n\t return chars;\n\t\n\t default:\n\t // For other native event types, do nothing.\n\t return null;\n\t }\n\t}\n\t\n\t/**\n\t * For browsers that do not provide the `textInput` event, extract the\n\t * appropriate string to use for SyntheticInputEvent.\n\t *\n\t * @param {string} topLevelType Record from `EventConstants`.\n\t * @param {object} nativeEvent Native browser event.\n\t * @return {?string} The fallback string for this `beforeInput` event.\n\t */\n\tfunction getFallbackBeforeInputChars(topLevelType, nativeEvent) {\n\t // If we are currently composing (IME) and using a fallback to do so,\n\t // try to extract the composed characters from the fallback object.\n\t // If composition event is available, we extract a string only at\n\t // compositionevent, otherwise extract it at fallback events.\n\t if (currentComposition) {\n\t if (topLevelType === topLevelTypes.topCompositionEnd || !canUseCompositionEvent && isFallbackCompositionEnd(topLevelType, nativeEvent)) {\n\t var chars = currentComposition.getData();\n\t FallbackCompositionState.release(currentComposition);\n\t currentComposition = null;\n\t return chars;\n\t }\n\t return null;\n\t }\n\t\n\t switch (topLevelType) {\n\t case topLevelTypes.topPaste:\n\t // If a paste event occurs after a keypress, throw out the input\n\t // chars. Paste events should not lead to BeforeInput events.\n\t return null;\n\t case topLevelTypes.topKeyPress:\n\t /**\n\t * As of v27, Firefox may fire keypress events even when no character\n\t * will be inserted. A few possibilities:\n\t *\n\t * - `which` is `0`. Arrow keys, Esc key, etc.\n\t *\n\t * - `which` is the pressed key code, but no char is available.\n\t * Ex: 'AltGr + d` in Polish. There is no modified character for\n\t * this key combination and no character is inserted into the\n\t * document, but FF fires the keypress for char code `100` anyway.\n\t * No `input` event will occur.\n\t *\n\t * - `which` is the pressed key code, but a command combination is\n\t * being used. Ex: `Cmd+C`. No character is inserted, and no\n\t * `input` event will occur.\n\t */\n\t if (nativeEvent.which && !isKeypressCommand(nativeEvent)) {\n\t return String.fromCharCode(nativeEvent.which);\n\t }\n\t return null;\n\t case topLevelTypes.topCompositionEnd:\n\t return useFallbackCompositionData ? null : nativeEvent.data;\n\t default:\n\t return null;\n\t }\n\t}\n\t\n\t/**\n\t * Extract a SyntheticInputEvent for `beforeInput`, based on either native\n\t * `textInput` or fallback behavior.\n\t *\n\t * @return {?object} A SyntheticInputEvent.\n\t */\n\tfunction extractBeforeInputEvent(topLevelType, targetInst, nativeEvent, nativeEventTarget) {\n\t var chars;\n\t\n\t if (canUseTextInputEvent) {\n\t chars = getNativeBeforeInputChars(topLevelType, nativeEvent);\n\t } else {\n\t chars = getFallbackBeforeInputChars(topLevelType, nativeEvent);\n\t }\n\t\n\t // If no characters are being inserted, no BeforeInput event should\n\t // be fired.\n\t if (!chars) {\n\t return null;\n\t }\n\t\n\t var event = SyntheticInputEvent.getPooled(eventTypes.beforeInput, targetInst, nativeEvent, nativeEventTarget);\n\t\n\t event.data = chars;\n\t EventPropagators.accumulateTwoPhaseDispatches(event);\n\t return event;\n\t}\n\t\n\t/**\n\t * Create an `onBeforeInput` event to match\n\t * http://www.w3.org/TR/2013/WD-DOM-Level-3-Events-20131105/#events-inputevents.\n\t *\n\t * This event plugin is based on the native `textInput` event\n\t * available in Chrome, Safari, Opera, and IE. This event fires after\n\t * `onKeyPress` and `onCompositionEnd`, but before `onInput`.\n\t *\n\t * `beforeInput` is spec'd but not implemented in any browsers, and\n\t * the `input` event does not provide any useful information about what has\n\t * actually been added, contrary to the spec. Thus, `textInput` is the best\n\t * available event to identify the characters that have actually been inserted\n\t * into the target node.\n\t *\n\t * This plugin is also responsible for emitting `composition` events, thus\n\t * allowing us to share composition fallback code for both `beforeInput` and\n\t * `composition` event types.\n\t */\n\tvar BeforeInputEventPlugin = {\n\t\n\t eventTypes: eventTypes,\n\t\n\t extractEvents: function (topLevelType, targetInst, nativeEvent, nativeEventTarget) {\n\t return [extractCompositionEvent(topLevelType, targetInst, nativeEvent, nativeEventTarget), extractBeforeInputEvent(topLevelType, targetInst, nativeEvent, nativeEventTarget)];\n\t }\n\t};\n\t\n\tmodule.exports = BeforeInputEventPlugin;\n\n/***/ },\n/* 593 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Copyright 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @providesModule CSSPropertyOperations\n\t */\n\t\n\t'use strict';\n\t\n\tvar CSSProperty = __webpack_require__(324);\n\tvar ExecutionEnvironment = __webpack_require__(18);\n\tvar ReactInstrumentation = __webpack_require__(25);\n\t\n\tvar camelizeStyleName = __webpack_require__(414);\n\tvar dangerousStyleValue = __webpack_require__(646);\n\tvar hyphenateStyleName = __webpack_require__(421);\n\tvar memoizeStringOnly = __webpack_require__(424);\n\tvar warning = __webpack_require__(5);\n\t\n\tvar processStyleName = memoizeStringOnly(function (styleName) {\n\t return hyphenateStyleName(styleName);\n\t});\n\t\n\tvar hasShorthandPropertyBug = false;\n\tvar styleFloatAccessor = 'cssFloat';\n\tif (ExecutionEnvironment.canUseDOM) {\n\t var tempStyle = document.createElement('div').style;\n\t try {\n\t // IE8 throws \"Invalid argument.\" if resetting shorthand style properties.\n\t tempStyle.font = '';\n\t } catch (e) {\n\t hasShorthandPropertyBug = true;\n\t }\n\t // IE8 only supports accessing cssFloat (standard) as styleFloat\n\t if (document.documentElement.style.cssFloat === undefined) {\n\t styleFloatAccessor = 'styleFloat';\n\t }\n\t}\n\t\n\tif (false) {\n\t // 'msTransform' is correct, but the other prefixes should be capitalized\n\t var badVendoredStyleNamePattern = /^(?:webkit|moz|o)[A-Z]/;\n\t\n\t // style values shouldn't contain a semicolon\n\t var badStyleValueWithSemicolonPattern = /;\\s*$/;\n\t\n\t var warnedStyleNames = {};\n\t var warnedStyleValues = {};\n\t var warnedForNaNValue = false;\n\t\n\t var warnHyphenatedStyleName = function (name, owner) {\n\t if (warnedStyleNames.hasOwnProperty(name) && warnedStyleNames[name]) {\n\t return;\n\t }\n\t\n\t warnedStyleNames[name] = true;\n\t process.env.NODE_ENV !== 'production' ? warning(false, 'Unsupported style property %s. Did you mean %s?%s', name, camelizeStyleName(name), checkRenderMessage(owner)) : void 0;\n\t };\n\t\n\t var warnBadVendoredStyleName = function (name, owner) {\n\t if (warnedStyleNames.hasOwnProperty(name) && warnedStyleNames[name]) {\n\t return;\n\t }\n\t\n\t warnedStyleNames[name] = true;\n\t process.env.NODE_ENV !== 'production' ? warning(false, 'Unsupported vendor-prefixed style property %s. Did you mean %s?%s', name, name.charAt(0).toUpperCase() + name.slice(1), checkRenderMessage(owner)) : void 0;\n\t };\n\t\n\t var warnStyleValueWithSemicolon = function (name, value, owner) {\n\t if (warnedStyleValues.hasOwnProperty(value) && warnedStyleValues[value]) {\n\t return;\n\t }\n\t\n\t warnedStyleValues[value] = true;\n\t process.env.NODE_ENV !== 'production' ? warning(false, 'Style property values shouldn\\'t contain a semicolon.%s ' + 'Try \"%s: %s\" instead.', checkRenderMessage(owner), name, value.replace(badStyleValueWithSemicolonPattern, '')) : void 0;\n\t };\n\t\n\t var warnStyleValueIsNaN = function (name, value, owner) {\n\t if (warnedForNaNValue) {\n\t return;\n\t }\n\t\n\t warnedForNaNValue = true;\n\t process.env.NODE_ENV !== 'production' ? warning(false, '`NaN` is an invalid value for the `%s` css style property.%s', name, checkRenderMessage(owner)) : void 0;\n\t };\n\t\n\t var checkRenderMessage = function (owner) {\n\t if (owner) {\n\t var name = owner.getName();\n\t if (name) {\n\t return ' Check the render method of `' + name + '`.';\n\t }\n\t }\n\t return '';\n\t };\n\t\n\t /**\n\t * @param {string} name\n\t * @param {*} value\n\t * @param {ReactDOMComponent} component\n\t */\n\t var warnValidStyle = function (name, value, component) {\n\t var owner;\n\t if (component) {\n\t owner = component._currentElement._owner;\n\t }\n\t if (name.indexOf('-') > -1) {\n\t warnHyphenatedStyleName(name, owner);\n\t } else if (badVendoredStyleNamePattern.test(name)) {\n\t warnBadVendoredStyleName(name, owner);\n\t } else if (badStyleValueWithSemicolonPattern.test(value)) {\n\t warnStyleValueWithSemicolon(name, value, owner);\n\t }\n\t\n\t if (typeof value === 'number' && isNaN(value)) {\n\t warnStyleValueIsNaN(name, value, owner);\n\t }\n\t };\n\t}\n\t\n\t/**\n\t * Operations for dealing with CSS properties.\n\t */\n\tvar CSSPropertyOperations = {\n\t\n\t /**\n\t * Serializes a mapping of style properties for use as inline styles:\n\t *\n\t * > createMarkupForStyles({width: '200px', height: 0})\n\t * \"width:200px;height:0;\"\n\t *\n\t * Undefined values are ignored so that declarative programming is easier.\n\t * The result should be HTML-escaped before insertion into the DOM.\n\t *\n\t * @param {object} styles\n\t * @param {ReactDOMComponent} component\n\t * @return {?string}\n\t */\n\t createMarkupForStyles: function (styles, component) {\n\t var serialized = '';\n\t for (var styleName in styles) {\n\t if (!styles.hasOwnProperty(styleName)) {\n\t continue;\n\t }\n\t var styleValue = styles[styleName];\n\t if (false) {\n\t warnValidStyle(styleName, styleValue, component);\n\t }\n\t if (styleValue != null) {\n\t serialized += processStyleName(styleName) + ':';\n\t serialized += dangerousStyleValue(styleName, styleValue, component) + ';';\n\t }\n\t }\n\t return serialized || null;\n\t },\n\t\n\t /**\n\t * Sets the value for multiple styles on a node. If a value is specified as\n\t * '' (empty string), the corresponding style property will be unset.\n\t *\n\t * @param {DOMElement} node\n\t * @param {object} styles\n\t * @param {ReactDOMComponent} component\n\t */\n\t setValueForStyles: function (node, styles, component) {\n\t if (false) {\n\t ReactInstrumentation.debugTool.onHostOperation(component._debugID, 'update styles', styles);\n\t }\n\t\n\t var style = node.style;\n\t for (var styleName in styles) {\n\t if (!styles.hasOwnProperty(styleName)) {\n\t continue;\n\t }\n\t if (false) {\n\t warnValidStyle(styleName, styles[styleName], component);\n\t }\n\t var styleValue = dangerousStyleValue(styleName, styles[styleName], component);\n\t if (styleName === 'float' || styleName === 'cssFloat') {\n\t styleName = styleFloatAccessor;\n\t }\n\t if (styleValue) {\n\t style[styleName] = styleValue;\n\t } else {\n\t var expansion = hasShorthandPropertyBug && CSSProperty.shorthandPropertyExpansions[styleName];\n\t if (expansion) {\n\t // Shorthand property that IE8 won't like unsetting, so unset each\n\t // component to placate it\n\t for (var individualStyleName in expansion) {\n\t style[individualStyleName] = '';\n\t }\n\t } else {\n\t style[styleName] = '';\n\t }\n\t }\n\t }\n\t }\n\t\n\t};\n\t\n\tmodule.exports = CSSPropertyOperations;\n\n/***/ },\n/* 594 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Copyright 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @providesModule ChangeEventPlugin\n\t */\n\t\n\t'use strict';\n\t\n\tvar EventConstants = __webpack_require__(32);\n\tvar EventPluginHub = __webpack_require__(71);\n\tvar EventPropagators = __webpack_require__(72);\n\tvar ExecutionEnvironment = __webpack_require__(18);\n\tvar ReactDOMComponentTree = __webpack_require__(9);\n\tvar ReactUpdates = __webpack_require__(30);\n\tvar SyntheticEvent = __webpack_require__(33);\n\t\n\tvar getEventTarget = __webpack_require__(155);\n\tvar isEventSupported = __webpack_require__(156);\n\tvar isTextInputElement = __webpack_require__(348);\n\tvar keyOf = __webpack_require__(34);\n\t\n\tvar topLevelTypes = EventConstants.topLevelTypes;\n\t\n\tvar eventTypes = {\n\t change: {\n\t phasedRegistrationNames: {\n\t bubbled: keyOf({ onChange: null }),\n\t captured: keyOf({ onChangeCapture: null })\n\t },\n\t dependencies: [topLevelTypes.topBlur, topLevelTypes.topChange, topLevelTypes.topClick, topLevelTypes.topFocus, topLevelTypes.topInput, topLevelTypes.topKeyDown, topLevelTypes.topKeyUp, topLevelTypes.topSelectionChange]\n\t }\n\t};\n\t\n\t/**\n\t * For IE shims\n\t */\n\tvar activeElement = null;\n\tvar activeElementInst = null;\n\tvar activeElementValue = null;\n\tvar activeElementValueProp = null;\n\t\n\t/**\n\t * SECTION: handle `change` event\n\t */\n\tfunction shouldUseChangeEvent(elem) {\n\t var nodeName = elem.nodeName && elem.nodeName.toLowerCase();\n\t return nodeName === 'select' || nodeName === 'input' && elem.type === 'file';\n\t}\n\t\n\tvar doesChangeEventBubble = false;\n\tif (ExecutionEnvironment.canUseDOM) {\n\t // See `handleChange` comment below\n\t doesChangeEventBubble = isEventSupported('change') && (!document.documentMode || document.documentMode > 8);\n\t}\n\t\n\tfunction manualDispatchChangeEvent(nativeEvent) {\n\t var event = SyntheticEvent.getPooled(eventTypes.change, activeElementInst, nativeEvent, getEventTarget(nativeEvent));\n\t EventPropagators.accumulateTwoPhaseDispatches(event);\n\t\n\t // If change and propertychange bubbled, we'd just bind to it like all the\n\t // other events and have it go through ReactBrowserEventEmitter. Since it\n\t // doesn't, we manually listen for the events and so we have to enqueue and\n\t // process the abstract event manually.\n\t //\n\t // Batching is necessary here in order to ensure that all event handlers run\n\t // before the next rerender (including event handlers attached to ancestor\n\t // elements instead of directly on the input). Without this, controlled\n\t // components don't work properly in conjunction with event bubbling because\n\t // the component is rerendered and the value reverted before all the event\n\t // handlers can run. See https://github.com/facebook/react/issues/708.\n\t ReactUpdates.batchedUpdates(runEventInBatch, event);\n\t}\n\t\n\tfunction runEventInBatch(event) {\n\t EventPluginHub.enqueueEvents(event);\n\t EventPluginHub.processEventQueue(false);\n\t}\n\t\n\tfunction startWatchingForChangeEventIE8(target, targetInst) {\n\t activeElement = target;\n\t activeElementInst = targetInst;\n\t activeElement.attachEvent('onchange', manualDispatchChangeEvent);\n\t}\n\t\n\tfunction stopWatchingForChangeEventIE8() {\n\t if (!activeElement) {\n\t return;\n\t }\n\t activeElement.detachEvent('onchange', manualDispatchChangeEvent);\n\t activeElement = null;\n\t activeElementInst = null;\n\t}\n\t\n\tfunction getTargetInstForChangeEvent(topLevelType, targetInst) {\n\t if (topLevelType === topLevelTypes.topChange) {\n\t return targetInst;\n\t }\n\t}\n\tfunction handleEventsForChangeEventIE8(topLevelType, target, targetInst) {\n\t if (topLevelType === topLevelTypes.topFocus) {\n\t // stopWatching() should be a noop here but we call it just in case we\n\t // missed a blur event somehow.\n\t stopWatchingForChangeEventIE8();\n\t startWatchingForChangeEventIE8(target, targetInst);\n\t } else if (topLevelType === topLevelTypes.topBlur) {\n\t stopWatchingForChangeEventIE8();\n\t }\n\t}\n\t\n\t/**\n\t * SECTION: handle `input` event\n\t */\n\tvar isInputEventSupported = false;\n\tif (ExecutionEnvironment.canUseDOM) {\n\t // IE9 claims to support the input event but fails to trigger it when\n\t // deleting text, so we ignore its input events.\n\t // IE10+ fire input events to often, such when a placeholder\n\t // changes or when an input with a placeholder is focused.\n\t isInputEventSupported = isEventSupported('input') && (!document.documentMode || document.documentMode > 11);\n\t}\n\t\n\t/**\n\t * (For IE <=11) Replacement getter/setter for the `value` property that gets\n\t * set on the active element.\n\t */\n\tvar newValueProp = {\n\t get: function () {\n\t return activeElementValueProp.get.call(this);\n\t },\n\t set: function (val) {\n\t // Cast to a string so we can do equality checks.\n\t activeElementValue = '' + val;\n\t activeElementValueProp.set.call(this, val);\n\t }\n\t};\n\t\n\t/**\n\t * (For IE <=11) Starts tracking propertychange events on the passed-in element\n\t * and override the value property so that we can distinguish user events from\n\t * value changes in JS.\n\t */\n\tfunction startWatchingForValueChange(target, targetInst) {\n\t activeElement = target;\n\t activeElementInst = targetInst;\n\t activeElementValue = target.value;\n\t activeElementValueProp = Object.getOwnPropertyDescriptor(target.constructor.prototype, 'value');\n\t\n\t // Not guarded in a canDefineProperty check: IE8 supports defineProperty only\n\t // on DOM elements\n\t Object.defineProperty(activeElement, 'value', newValueProp);\n\t if (activeElement.attachEvent) {\n\t activeElement.attachEvent('onpropertychange', handlePropertyChange);\n\t } else {\n\t activeElement.addEventListener('propertychange', handlePropertyChange, false);\n\t }\n\t}\n\t\n\t/**\n\t * (For IE <=11) Removes the event listeners from the currently-tracked element,\n\t * if any exists.\n\t */\n\tfunction stopWatchingForValueChange() {\n\t if (!activeElement) {\n\t return;\n\t }\n\t\n\t // delete restores the original property definition\n\t delete activeElement.value;\n\t\n\t if (activeElement.detachEvent) {\n\t activeElement.detachEvent('onpropertychange', handlePropertyChange);\n\t } else {\n\t activeElement.removeEventListener('propertychange', handlePropertyChange, false);\n\t }\n\t\n\t activeElement = null;\n\t activeElementInst = null;\n\t activeElementValue = null;\n\t activeElementValueProp = null;\n\t}\n\t\n\t/**\n\t * (For IE <=11) Handles a propertychange event, sending a `change` event if\n\t * the value of the active element has changed.\n\t */\n\tfunction handlePropertyChange(nativeEvent) {\n\t if (nativeEvent.propertyName !== 'value') {\n\t return;\n\t }\n\t var value = nativeEvent.srcElement.value;\n\t if (value === activeElementValue) {\n\t return;\n\t }\n\t activeElementValue = value;\n\t\n\t manualDispatchChangeEvent(nativeEvent);\n\t}\n\t\n\t/**\n\t * If a `change` event should be fired, returns the target's ID.\n\t */\n\tfunction getTargetInstForInputEvent(topLevelType, targetInst) {\n\t if (topLevelType === topLevelTypes.topInput) {\n\t // In modern browsers (i.e., not IE8 or IE9), the input event is exactly\n\t // what we want so fall through here and trigger an abstract event\n\t return targetInst;\n\t }\n\t}\n\t\n\tfunction handleEventsForInputEventIE(topLevelType, target, targetInst) {\n\t if (topLevelType === topLevelTypes.topFocus) {\n\t // In IE8, we can capture almost all .value changes by adding a\n\t // propertychange handler and looking for events with propertyName\n\t // equal to 'value'\n\t // In IE9-11, propertychange fires for most input events but is buggy and\n\t // doesn't fire when text is deleted, but conveniently, selectionchange\n\t // appears to fire in all of the remaining cases so we catch those and\n\t // forward the event if the value has changed\n\t // In either case, we don't want to call the event handler if the value\n\t // is changed from JS so we redefine a setter for `.value` that updates\n\t // our activeElementValue variable, allowing us to ignore those changes\n\t //\n\t // stopWatching() should be a noop here but we call it just in case we\n\t // missed a blur event somehow.\n\t stopWatchingForValueChange();\n\t startWatchingForValueChange(target, targetInst);\n\t } else if (topLevelType === topLevelTypes.topBlur) {\n\t stopWatchingForValueChange();\n\t }\n\t}\n\t\n\t// For IE8 and IE9.\n\tfunction getTargetInstForInputEventIE(topLevelType, targetInst) {\n\t if (topLevelType === topLevelTypes.topSelectionChange || topLevelType === topLevelTypes.topKeyUp || topLevelType === topLevelTypes.topKeyDown) {\n\t // On the selectionchange event, the target is just document which isn't\n\t // helpful for us so just check activeElement instead.\n\t //\n\t // 99% of the time, keydown and keyup aren't necessary. IE8 fails to fire\n\t // propertychange on the first input event after setting `value` from a\n\t // script and fires only keydown, keypress, keyup. Catching keyup usually\n\t // gets it and catching keydown lets us fire an event for the first\n\t // keystroke if user does a key repeat (it'll be a little delayed: right\n\t // before the second keystroke). Other input methods (e.g., paste) seem to\n\t // fire selectionchange normally.\n\t if (activeElement && activeElement.value !== activeElementValue) {\n\t activeElementValue = activeElement.value;\n\t return activeElementInst;\n\t }\n\t }\n\t}\n\t\n\t/**\n\t * SECTION: handle `click` event\n\t */\n\tfunction shouldUseClickEvent(elem) {\n\t // Use the `click` event to detect changes to checkbox and radio inputs.\n\t // This approach works across all browsers, whereas `change` does not fire\n\t // until `blur` in IE8.\n\t return elem.nodeName && elem.nodeName.toLowerCase() === 'input' && (elem.type === 'checkbox' || elem.type === 'radio');\n\t}\n\t\n\tfunction getTargetInstForClickEvent(topLevelType, targetInst) {\n\t if (topLevelType === topLevelTypes.topClick) {\n\t return targetInst;\n\t }\n\t}\n\t\n\t/**\n\t * This plugin creates an `onChange` event that normalizes change events\n\t * across form elements. This event fires at a time when it's possible to\n\t * change the element's value without seeing a flicker.\n\t *\n\t * Supported elements are:\n\t * - input (see `isTextInputElement`)\n\t * - textarea\n\t * - select\n\t */\n\tvar ChangeEventPlugin = {\n\t\n\t eventTypes: eventTypes,\n\t\n\t extractEvents: function (topLevelType, targetInst, nativeEvent, nativeEventTarget) {\n\t var targetNode = targetInst ? ReactDOMComponentTree.getNodeFromInstance(targetInst) : window;\n\t\n\t var getTargetInstFunc, handleEventFunc;\n\t if (shouldUseChangeEvent(targetNode)) {\n\t if (doesChangeEventBubble) {\n\t getTargetInstFunc = getTargetInstForChangeEvent;\n\t } else {\n\t handleEventFunc = handleEventsForChangeEventIE8;\n\t }\n\t } else if (isTextInputElement(targetNode)) {\n\t if (isInputEventSupported) {\n\t getTargetInstFunc = getTargetInstForInputEvent;\n\t } else {\n\t getTargetInstFunc = getTargetInstForInputEventIE;\n\t handleEventFunc = handleEventsForInputEventIE;\n\t }\n\t } else if (shouldUseClickEvent(targetNode)) {\n\t getTargetInstFunc = getTargetInstForClickEvent;\n\t }\n\t\n\t if (getTargetInstFunc) {\n\t var inst = getTargetInstFunc(topLevelType, targetInst);\n\t if (inst) {\n\t var event = SyntheticEvent.getPooled(eventTypes.change, inst, nativeEvent, nativeEventTarget);\n\t event.type = 'change';\n\t EventPropagators.accumulateTwoPhaseDispatches(event);\n\t return event;\n\t }\n\t }\n\t\n\t if (handleEventFunc) {\n\t handleEventFunc(topLevelType, targetNode, targetInst);\n\t }\n\t }\n\t\n\t};\n\t\n\tmodule.exports = ChangeEventPlugin;\n\n/***/ },\n/* 595 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Copyright 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @providesModule Danger\n\t */\n\t\n\t'use strict';\n\t\n\tvar _prodInvariant = __webpack_require__(4);\n\t\n\tvar DOMLazyTree = __webpack_require__(53);\n\tvar ExecutionEnvironment = __webpack_require__(18);\n\t\n\tvar createNodesFromMarkup = __webpack_require__(417);\n\tvar emptyFunction = __webpack_require__(24);\n\tvar invariant = __webpack_require__(3);\n\t\n\tvar Danger = {\n\t\n\t /**\n\t * Replaces a node with a string of markup at its current position within its\n\t * parent. The markup must render into a single root node.\n\t *\n\t * @param {DOMElement} oldChild Child node to replace.\n\t * @param {string} markup Markup to render in place of the child node.\n\t * @internal\n\t */\n\t dangerouslyReplaceNodeWithMarkup: function (oldChild, markup) {\n\t !ExecutionEnvironment.canUseDOM ? false ? invariant(false, 'dangerouslyReplaceNodeWithMarkup(...): Cannot render markup in a worker thread. Make sure `window` and `document` are available globally before requiring React when unit testing or use ReactDOMServer.renderToString() for server rendering.') : _prodInvariant('56') : void 0;\n\t !markup ? false ? invariant(false, 'dangerouslyReplaceNodeWithMarkup(...): Missing markup.') : _prodInvariant('57') : void 0;\n\t !(oldChild.nodeName !== 'HTML') ? false ? invariant(false, 'dangerouslyReplaceNodeWithMarkup(...): Cannot replace markup of the <html> node. This is because browser quirks make this unreliable and/or slow. If you want to render to the root you must use server rendering. See ReactDOMServer.renderToString().') : _prodInvariant('58') : void 0;\n\t\n\t if (typeof markup === 'string') {\n\t var newChild = createNodesFromMarkup(markup, emptyFunction)[0];\n\t oldChild.parentNode.replaceChild(newChild, oldChild);\n\t } else {\n\t DOMLazyTree.replaceChildWithTree(oldChild, markup);\n\t }\n\t }\n\t\n\t};\n\t\n\tmodule.exports = Danger;\n\n/***/ },\n/* 596 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Copyright 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @providesModule DefaultEventPluginOrder\n\t */\n\t\n\t'use strict';\n\t\n\tvar keyOf = __webpack_require__(34);\n\t\n\t/**\n\t * Module that is injectable into `EventPluginHub`, that specifies a\n\t * deterministic ordering of `EventPlugin`s. A convenient way to reason about\n\t * plugins, without having to package every one of them. This is better than\n\t * having plugins be ordered in the same order that they are injected because\n\t * that ordering would be influenced by the packaging order.\n\t * `ResponderEventPlugin` must occur before `SimpleEventPlugin` so that\n\t * preventing default on events is convenient in `SimpleEventPlugin` handlers.\n\t */\n\tvar DefaultEventPluginOrder = [keyOf({ ResponderEventPlugin: null }), keyOf({ SimpleEventPlugin: null }), keyOf({ TapEventPlugin: null }), keyOf({ EnterLeaveEventPlugin: null }), keyOf({ ChangeEventPlugin: null }), keyOf({ SelectEventPlugin: null }), keyOf({ BeforeInputEventPlugin: null })];\n\t\n\tmodule.exports = DefaultEventPluginOrder;\n\n/***/ },\n/* 597 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Copyright 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @providesModule EnterLeaveEventPlugin\n\t */\n\t\n\t'use strict';\n\t\n\tvar EventConstants = __webpack_require__(32);\n\tvar EventPropagators = __webpack_require__(72);\n\tvar ReactDOMComponentTree = __webpack_require__(9);\n\tvar SyntheticMouseEvent = __webpack_require__(96);\n\t\n\tvar keyOf = __webpack_require__(34);\n\t\n\tvar topLevelTypes = EventConstants.topLevelTypes;\n\t\n\tvar eventTypes = {\n\t mouseEnter: {\n\t registrationName: keyOf({ onMouseEnter: null }),\n\t dependencies: [topLevelTypes.topMouseOut, topLevelTypes.topMouseOver]\n\t },\n\t mouseLeave: {\n\t registrationName: keyOf({ onMouseLeave: null }),\n\t dependencies: [topLevelTypes.topMouseOut, topLevelTypes.topMouseOver]\n\t }\n\t};\n\t\n\tvar EnterLeaveEventPlugin = {\n\t\n\t eventTypes: eventTypes,\n\t\n\t /**\n\t * For almost every interaction we care about, there will be both a top-level\n\t * `mouseover` and `mouseout` event that occurs. Only use `mouseout` so that\n\t * we do not extract duplicate events. However, moving the mouse into the\n\t * browser from outside will not fire a `mouseout` event. In this case, we use\n\t * the `mouseover` top-level event.\n\t */\n\t extractEvents: function (topLevelType, targetInst, nativeEvent, nativeEventTarget) {\n\t if (topLevelType === topLevelTypes.topMouseOver && (nativeEvent.relatedTarget || nativeEvent.fromElement)) {\n\t return null;\n\t }\n\t if (topLevelType !== topLevelTypes.topMouseOut && topLevelType !== topLevelTypes.topMouseOver) {\n\t // Must not be a mouse in or mouse out - ignoring.\n\t return null;\n\t }\n\t\n\t var win;\n\t if (nativeEventTarget.window === nativeEventTarget) {\n\t // `nativeEventTarget` is probably a window object.\n\t win = nativeEventTarget;\n\t } else {\n\t // TODO: Figure out why `ownerDocument` is sometimes undefined in IE8.\n\t var doc = nativeEventTarget.ownerDocument;\n\t if (doc) {\n\t win = doc.defaultView || doc.parentWindow;\n\t } else {\n\t win = window;\n\t }\n\t }\n\t\n\t var from;\n\t var to;\n\t if (topLevelType === topLevelTypes.topMouseOut) {\n\t from = targetInst;\n\t var related = nativeEvent.relatedTarget || nativeEvent.toElement;\n\t to = related ? ReactDOMComponentTree.getClosestInstanceFromNode(related) : null;\n\t } else {\n\t // Moving to a node from outside the window.\n\t from = null;\n\t to = targetInst;\n\t }\n\t\n\t if (from === to) {\n\t // Nothing pertains to our managed components.\n\t return null;\n\t }\n\t\n\t var fromNode = from == null ? win : ReactDOMComponentTree.getNodeFromInstance(from);\n\t var toNode = to == null ? win : ReactDOMComponentTree.getNodeFromInstance(to);\n\t\n\t var leave = SyntheticMouseEvent.getPooled(eventTypes.mouseLeave, from, nativeEvent, nativeEventTarget);\n\t leave.type = 'mouseleave';\n\t leave.target = fromNode;\n\t leave.relatedTarget = toNode;\n\t\n\t var enter = SyntheticMouseEvent.getPooled(eventTypes.mouseEnter, to, nativeEvent, nativeEventTarget);\n\t enter.type = 'mouseenter';\n\t enter.target = toNode;\n\t enter.relatedTarget = fromNode;\n\t\n\t EventPropagators.accumulateEnterLeaveDispatches(leave, enter, from, to);\n\t\n\t return [leave, enter];\n\t }\n\t\n\t};\n\t\n\tmodule.exports = EnterLeaveEventPlugin;\n\n/***/ },\n/* 598 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Copyright 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @providesModule FallbackCompositionState\n\t */\n\t\n\t'use strict';\n\t\n\tvar _assign = __webpack_require__(6);\n\t\n\tvar PooledClass = __webpack_require__(39);\n\t\n\tvar getTextContentAccessor = __webpack_require__(346);\n\t\n\t/**\n\t * This helper class stores information about text content of a target node,\n\t * allowing comparison of content before and after a given event.\n\t *\n\t * Identify the node where selection currently begins, then observe\n\t * both its text content and its current position in the DOM. Since the\n\t * browser may natively replace the target node during composition, we can\n\t * use its position to find its replacement.\n\t *\n\t * @param {DOMEventTarget} root\n\t */\n\tfunction FallbackCompositionState(root) {\n\t this._root = root;\n\t this._startText = this.getText();\n\t this._fallbackText = null;\n\t}\n\t\n\t_assign(FallbackCompositionState.prototype, {\n\t destructor: function () {\n\t this._root = null;\n\t this._startText = null;\n\t this._fallbackText = null;\n\t },\n\t\n\t /**\n\t * Get current text of input.\n\t *\n\t * @return {string}\n\t */\n\t getText: function () {\n\t if ('value' in this._root) {\n\t return this._root.value;\n\t }\n\t return this._root[getTextContentAccessor()];\n\t },\n\t\n\t /**\n\t * Determine the differing substring between the initially stored\n\t * text content and the current content.\n\t *\n\t * @return {string}\n\t */\n\t getData: function () {\n\t if (this._fallbackText) {\n\t return this._fallbackText;\n\t }\n\t\n\t var start;\n\t var startValue = this._startText;\n\t var startLength = startValue.length;\n\t var end;\n\t var endValue = this.getText();\n\t var endLength = endValue.length;\n\t\n\t for (start = 0; start < startLength; start++) {\n\t if (startValue[start] !== endValue[start]) {\n\t break;\n\t }\n\t }\n\t\n\t var minEnd = startLength - start;\n\t for (end = 1; end <= minEnd; end++) {\n\t if (startValue[startLength - end] !== endValue[endLength - end]) {\n\t break;\n\t }\n\t }\n\t\n\t var sliceTail = end > 1 ? 1 - end : undefined;\n\t this._fallbackText = endValue.slice(start, sliceTail);\n\t return this._fallbackText;\n\t }\n\t});\n\t\n\tPooledClass.addPoolingTo(FallbackCompositionState);\n\t\n\tmodule.exports = FallbackCompositionState;\n\n/***/ },\n/* 599 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Copyright 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @providesModule HTMLDOMPropertyConfig\n\t */\n\t\n\t'use strict';\n\t\n\tvar DOMProperty = __webpack_require__(54);\n\t\n\tvar MUST_USE_PROPERTY = DOMProperty.injection.MUST_USE_PROPERTY;\n\tvar HAS_BOOLEAN_VALUE = DOMProperty.injection.HAS_BOOLEAN_VALUE;\n\tvar HAS_NUMERIC_VALUE = DOMProperty.injection.HAS_NUMERIC_VALUE;\n\tvar HAS_POSITIVE_NUMERIC_VALUE = DOMProperty.injection.HAS_POSITIVE_NUMERIC_VALUE;\n\tvar HAS_OVERLOADED_BOOLEAN_VALUE = DOMProperty.injection.HAS_OVERLOADED_BOOLEAN_VALUE;\n\t\n\tvar HTMLDOMPropertyConfig = {\n\t isCustomAttribute: RegExp.prototype.test.bind(new RegExp('^(data|aria)-[' + DOMProperty.ATTRIBUTE_NAME_CHAR + ']*$')),\n\t Properties: {\n\t /**\n\t * Standard Properties\n\t */\n\t accept: 0,\n\t acceptCharset: 0,\n\t accessKey: 0,\n\t action: 0,\n\t allowFullScreen: HAS_BOOLEAN_VALUE,\n\t allowTransparency: 0,\n\t alt: 0,\n\t // specifies target context for links with `preload` type\n\t as: 0,\n\t async: HAS_BOOLEAN_VALUE,\n\t autoComplete: 0,\n\t // autoFocus is polyfilled/normalized by AutoFocusUtils\n\t // autoFocus: HAS_BOOLEAN_VALUE,\n\t autoPlay: HAS_BOOLEAN_VALUE,\n\t capture: HAS_BOOLEAN_VALUE,\n\t cellPadding: 0,\n\t cellSpacing: 0,\n\t charSet: 0,\n\t challenge: 0,\n\t checked: MUST_USE_PROPERTY | HAS_BOOLEAN_VALUE,\n\t cite: 0,\n\t classID: 0,\n\t className: 0,\n\t cols: HAS_POSITIVE_NUMERIC_VALUE,\n\t colSpan: 0,\n\t content: 0,\n\t contentEditable: 0,\n\t contextMenu: 0,\n\t controls: HAS_BOOLEAN_VALUE,\n\t coords: 0,\n\t crossOrigin: 0,\n\t data: 0, // For `<object />` acts as `src`.\n\t dateTime: 0,\n\t 'default': HAS_BOOLEAN_VALUE,\n\t defer: HAS_BOOLEAN_VALUE,\n\t dir: 0,\n\t disabled: HAS_BOOLEAN_VALUE,\n\t download: HAS_OVERLOADED_BOOLEAN_VALUE,\n\t draggable: 0,\n\t encType: 0,\n\t form: 0,\n\t formAction: 0,\n\t formEncType: 0,\n\t formMethod: 0,\n\t formNoValidate: HAS_BOOLEAN_VALUE,\n\t formTarget: 0,\n\t frameBorder: 0,\n\t headers: 0,\n\t height: 0,\n\t hidden: HAS_BOOLEAN_VALUE,\n\t high: 0,\n\t href: 0,\n\t hrefLang: 0,\n\t htmlFor: 0,\n\t httpEquiv: 0,\n\t icon: 0,\n\t id: 0,\n\t inputMode: 0,\n\t integrity: 0,\n\t is: 0,\n\t keyParams: 0,\n\t keyType: 0,\n\t kind: 0,\n\t label: 0,\n\t lang: 0,\n\t list: 0,\n\t loop: HAS_BOOLEAN_VALUE,\n\t low: 0,\n\t manifest: 0,\n\t marginHeight: 0,\n\t marginWidth: 0,\n\t max: 0,\n\t maxLength: 0,\n\t media: 0,\n\t mediaGroup: 0,\n\t method: 0,\n\t min: 0,\n\t minLength: 0,\n\t // Caution; `option.selected` is not updated if `select.multiple` is\n\t // disabled with `removeAttribute`.\n\t multiple: MUST_USE_PROPERTY | HAS_BOOLEAN_VALUE,\n\t muted: MUST_USE_PROPERTY | HAS_BOOLEAN_VALUE,\n\t name: 0,\n\t nonce: 0,\n\t noValidate: HAS_BOOLEAN_VALUE,\n\t open: HAS_BOOLEAN_VALUE,\n\t optimum: 0,\n\t pattern: 0,\n\t placeholder: 0,\n\t playsInline: HAS_BOOLEAN_VALUE,\n\t poster: 0,\n\t preload: 0,\n\t profile: 0,\n\t radioGroup: 0,\n\t readOnly: HAS_BOOLEAN_VALUE,\n\t referrerPolicy: 0,\n\t rel: 0,\n\t required: HAS_BOOLEAN_VALUE,\n\t reversed: HAS_BOOLEAN_VALUE,\n\t role: 0,\n\t rows: HAS_POSITIVE_NUMERIC_VALUE,\n\t rowSpan: HAS_NUMERIC_VALUE,\n\t sandbox: 0,\n\t scope: 0,\n\t scoped: HAS_BOOLEAN_VALUE,\n\t scrolling: 0,\n\t seamless: HAS_BOOLEAN_VALUE,\n\t selected: MUST_USE_PROPERTY | HAS_BOOLEAN_VALUE,\n\t shape: 0,\n\t size: HAS_POSITIVE_NUMERIC_VALUE,\n\t sizes: 0,\n\t span: HAS_POSITIVE_NUMERIC_VALUE,\n\t spellCheck: 0,\n\t src: 0,\n\t srcDoc: 0,\n\t srcLang: 0,\n\t srcSet: 0,\n\t start: HAS_NUMERIC_VALUE,\n\t step: 0,\n\t style: 0,\n\t summary: 0,\n\t tabIndex: 0,\n\t target: 0,\n\t title: 0,\n\t // Setting .type throws on non-<input> tags\n\t type: 0,\n\t useMap: 0,\n\t value: 0,\n\t width: 0,\n\t wmode: 0,\n\t wrap: 0,\n\t\n\t /**\n\t * RDFa Properties\n\t */\n\t about: 0,\n\t datatype: 0,\n\t inlist: 0,\n\t prefix: 0,\n\t // property is also supported for OpenGraph in meta tags.\n\t property: 0,\n\t resource: 0,\n\t 'typeof': 0,\n\t vocab: 0,\n\t\n\t /**\n\t * Non-standard Properties\n\t */\n\t // autoCapitalize and autoCorrect are supported in Mobile Safari for\n\t // keyboard hints.\n\t autoCapitalize: 0,\n\t autoCorrect: 0,\n\t // autoSave allows WebKit/Blink to persist values of input fields on page reloads\n\t autoSave: 0,\n\t // color is for Safari mask-icon link\n\t color: 0,\n\t // itemProp, itemScope, itemType are for\n\t // Microdata support. See http://schema.org/docs/gs.html\n\t itemProp: 0,\n\t itemScope: HAS_BOOLEAN_VALUE,\n\t itemType: 0,\n\t // itemID and itemRef are for Microdata support as well but\n\t // only specified in the WHATWG spec document. See\n\t // https://html.spec.whatwg.org/multipage/microdata.html#microdata-dom-api\n\t itemID: 0,\n\t itemRef: 0,\n\t // results show looking glass icon and recent searches on input\n\t // search fields in WebKit/Blink\n\t results: 0,\n\t // IE-only attribute that specifies security restrictions on an iframe\n\t // as an alternative to the sandbox attribute on IE<10\n\t security: 0,\n\t // IE-only attribute that controls focus behavior\n\t unselectable: 0\n\t },\n\t DOMAttributeNames: {\n\t acceptCharset: 'accept-charset',\n\t className: 'class',\n\t htmlFor: 'for',\n\t httpEquiv: 'http-equiv'\n\t },\n\t DOMPropertyNames: {}\n\t};\n\t\n\tmodule.exports = HTMLDOMPropertyConfig;\n\n/***/ },\n/* 600 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Copyright 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @providesModule React\n\t */\n\t\n\t'use strict';\n\t\n\tvar _assign = __webpack_require__(6);\n\t\n\tvar ReactChildren = __webpack_require__(327);\n\tvar ReactComponent = __webpack_require__(143);\n\tvar ReactPureComponent = __webpack_require__(626);\n\tvar ReactClass = __webpack_require__(328);\n\tvar ReactDOMFactories = __webpack_require__(609);\n\tvar ReactElement = __webpack_require__(29);\n\tvar ReactPropTypes = __webpack_require__(338);\n\tvar ReactVersion = __webpack_require__(339);\n\t\n\tvar onlyChild = __webpack_require__(652);\n\tvar warning = __webpack_require__(5);\n\t\n\tvar createElement = ReactElement.createElement;\n\tvar createFactory = ReactElement.createFactory;\n\tvar cloneElement = ReactElement.cloneElement;\n\t\n\tif (false) {\n\t var ReactElementValidator = require('./ReactElementValidator');\n\t createElement = ReactElementValidator.createElement;\n\t createFactory = ReactElementValidator.createFactory;\n\t cloneElement = ReactElementValidator.cloneElement;\n\t}\n\t\n\tvar __spread = _assign;\n\t\n\tif (false) {\n\t var warned = false;\n\t __spread = function () {\n\t process.env.NODE_ENV !== 'production' ? warning(warned, 'React.__spread is deprecated and should not be used. Use ' + 'Object.assign directly or another helper function with similar ' + 'semantics. You may be seeing this warning due to your compiler. ' + 'See https://fb.me/react-spread-deprecation for more details.') : void 0;\n\t warned = true;\n\t return _assign.apply(null, arguments);\n\t };\n\t}\n\t\n\tvar React = {\n\t\n\t // Modern\n\t\n\t Children: {\n\t map: ReactChildren.map,\n\t forEach: ReactChildren.forEach,\n\t count: ReactChildren.count,\n\t toArray: ReactChildren.toArray,\n\t only: onlyChild\n\t },\n\t\n\t Component: ReactComponent,\n\t PureComponent: ReactPureComponent,\n\t\n\t createElement: createElement,\n\t cloneElement: cloneElement,\n\t isValidElement: ReactElement.isValidElement,\n\t\n\t // Classic\n\t\n\t PropTypes: ReactPropTypes,\n\t createClass: ReactClass.createClass,\n\t createFactory: createFactory,\n\t createMixin: function (mixin) {\n\t // Currently a noop. Will be used to validate and trace mixins.\n\t return mixin;\n\t },\n\t\n\t // This looks DOM specific but these are actually isomorphic helpers\n\t // since they are just generating DOM strings.\n\t DOM: ReactDOMFactories,\n\t\n\t version: ReactVersion,\n\t\n\t // Deprecated hook for JSX spread, don't use this for anything.\n\t __spread: __spread\n\t};\n\t\n\tmodule.exports = React;\n\n/***/ },\n/* 601 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/* WEBPACK VAR INJECTION */(function(process) {/**\n\t * Copyright 2014-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @providesModule ReactChildReconciler\n\t */\n\t\n\t'use strict';\n\t\n\tvar ReactReconciler = __webpack_require__(55);\n\t\n\tvar instantiateReactComponent = __webpack_require__(347);\n\tvar KeyEscapeUtils = __webpack_require__(141);\n\tvar shouldUpdateReactComponent = __webpack_require__(157);\n\tvar traverseAllChildren = __webpack_require__(158);\n\tvar warning = __webpack_require__(5);\n\t\n\tvar ReactComponentTreeHook;\n\t\n\tif (typeof process !== 'undefined' && process.env && (\"production\") === 'test') {\n\t // Temporary hack.\n\t // Inline requires don't work well with Jest:\n\t // https://github.com/facebook/react/issues/7240\n\t // Remove the inline requires when we don't need them anymore:\n\t // https://github.com/facebook/react/pull/7178\n\t ReactComponentTreeHook = __webpack_require__(145);\n\t}\n\t\n\tfunction instantiateChild(childInstances, child, name, selfDebugID) {\n\t // We found a component instance.\n\t var keyUnique = childInstances[name] === undefined;\n\t if (false) {\n\t if (!ReactComponentTreeHook) {\n\t ReactComponentTreeHook = require('./ReactComponentTreeHook');\n\t }\n\t if (!keyUnique) {\n\t process.env.NODE_ENV !== 'production' ? warning(false, 'flattenChildren(...): Encountered two children with the same key, ' + '`%s`. Child keys must be unique; when two children share a key, only ' + 'the first child will be used.%s', KeyEscapeUtils.unescape(name), ReactComponentTreeHook.getStackAddendumByID(selfDebugID)) : void 0;\n\t }\n\t }\n\t if (child != null && keyUnique) {\n\t childInstances[name] = instantiateReactComponent(child, true);\n\t }\n\t}\n\t\n\t/**\n\t * ReactChildReconciler provides helpers for initializing or updating a set of\n\t * children. Its output is suitable for passing it onto ReactMultiChild which\n\t * does diffed reordering and insertion.\n\t */\n\tvar ReactChildReconciler = {\n\t /**\n\t * Generates a \"mount image\" for each of the supplied children. In the case\n\t * of `ReactDOMComponent`, a mount image is a string of markup.\n\t *\n\t * @param {?object} nestedChildNodes Nested child maps.\n\t * @return {?object} A set of child instances.\n\t * @internal\n\t */\n\t instantiateChildren: function (nestedChildNodes, transaction, context, selfDebugID // 0 in production and for roots\n\t ) {\n\t if (nestedChildNodes == null) {\n\t return null;\n\t }\n\t var childInstances = {};\n\t\n\t if (false) {\n\t traverseAllChildren(nestedChildNodes, function (childInsts, child, name) {\n\t return instantiateChild(childInsts, child, name, selfDebugID);\n\t }, childInstances);\n\t } else {\n\t traverseAllChildren(nestedChildNodes, instantiateChild, childInstances);\n\t }\n\t return childInstances;\n\t },\n\t\n\t /**\n\t * Updates the rendered children and returns a new set of children.\n\t *\n\t * @param {?object} prevChildren Previously initialized set of children.\n\t * @param {?object} nextChildren Flat child element maps.\n\t * @param {ReactReconcileTransaction} transaction\n\t * @param {object} context\n\t * @return {?object} A new set of child instances.\n\t * @internal\n\t */\n\t updateChildren: function (prevChildren, nextChildren, mountImages, removedNodes, transaction, hostParent, hostContainerInfo, context, selfDebugID // 0 in production and for roots\n\t ) {\n\t // We currently don't have a way to track moves here but if we use iterators\n\t // instead of for..in we can zip the iterators and check if an item has\n\t // moved.\n\t // TODO: If nothing has changed, return the prevChildren object so that we\n\t // can quickly bailout if nothing has changed.\n\t if (!nextChildren && !prevChildren) {\n\t return;\n\t }\n\t var name;\n\t var prevChild;\n\t for (name in nextChildren) {\n\t if (!nextChildren.hasOwnProperty(name)) {\n\t continue;\n\t }\n\t prevChild = prevChildren && prevChildren[name];\n\t var prevElement = prevChild && prevChild._currentElement;\n\t var nextElement = nextChildren[name];\n\t if (prevChild != null && shouldUpdateReactComponent(prevElement, nextElement)) {\n\t ReactReconciler.receiveComponent(prevChild, nextElement, transaction, context);\n\t nextChildren[name] = prevChild;\n\t } else {\n\t if (prevChild) {\n\t removedNodes[name] = ReactReconciler.getHostNode(prevChild);\n\t ReactReconciler.unmountComponent(prevChild, false);\n\t }\n\t // The child must be instantiated before it's mounted.\n\t var nextChildInstance = instantiateReactComponent(nextElement, true);\n\t nextChildren[name] = nextChildInstance;\n\t // Creating mount image now ensures refs are resolved in right order\n\t // (see https://github.com/facebook/react/pull/7101 for explanation).\n\t var nextChildMountImage = ReactReconciler.mountComponent(nextChildInstance, transaction, hostParent, hostContainerInfo, context, selfDebugID);\n\t mountImages.push(nextChildMountImage);\n\t }\n\t }\n\t // Unmount children that are no longer present.\n\t for (name in prevChildren) {\n\t if (prevChildren.hasOwnProperty(name) && !(nextChildren && nextChildren.hasOwnProperty(name))) {\n\t prevChild = prevChildren[name];\n\t removedNodes[name] = ReactReconciler.getHostNode(prevChild);\n\t ReactReconciler.unmountComponent(prevChild, false);\n\t }\n\t }\n\t },\n\t\n\t /**\n\t * Unmounts all rendered children. This should be used to clean up children\n\t * when this component is unmounted.\n\t *\n\t * @param {?object} renderedChildren Previously initialized set of children.\n\t * @internal\n\t */\n\t unmountChildren: function (renderedChildren, safely) {\n\t for (var name in renderedChildren) {\n\t if (renderedChildren.hasOwnProperty(name)) {\n\t var renderedChild = renderedChildren[name];\n\t ReactReconciler.unmountComponent(renderedChild, safely);\n\t }\n\t }\n\t }\n\t\n\t};\n\t\n\tmodule.exports = ReactChildReconciler;\n\t/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(126)))\n\n/***/ },\n/* 602 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Copyright 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @providesModule ReactComponentBrowserEnvironment\n\t */\n\t\n\t'use strict';\n\t\n\tvar DOMChildrenOperations = __webpack_require__(137);\n\tvar ReactDOMIDOperations = __webpack_require__(611);\n\t\n\t/**\n\t * Abstracts away all functionality of the reconciler that requires knowledge of\n\t * the browser context. TODO: These callers should be refactored to avoid the\n\t * need for this injection.\n\t */\n\tvar ReactComponentBrowserEnvironment = {\n\t\n\t processChildrenUpdates: ReactDOMIDOperations.dangerouslyProcessChildrenUpdates,\n\t\n\t replaceNodeWithMarkup: DOMChildrenOperations.dangerouslyReplaceNodeWithMarkup\n\t\n\t};\n\t\n\tmodule.exports = ReactComponentBrowserEnvironment;\n\n/***/ },\n/* 603 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Copyright 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @providesModule ReactCompositeComponent\n\t */\n\t\n\t'use strict';\n\t\n\tvar _prodInvariant = __webpack_require__(4),\n\t _assign = __webpack_require__(6);\n\t\n\tvar ReactComponentEnvironment = __webpack_require__(144);\n\tvar ReactCurrentOwner = __webpack_require__(40);\n\tvar ReactElement = __webpack_require__(29);\n\tvar ReactErrorUtils = __webpack_require__(146);\n\tvar ReactInstanceMap = __webpack_require__(73);\n\tvar ReactInstrumentation = __webpack_require__(25);\n\tvar ReactNodeTypes = __webpack_require__(337);\n\tvar ReactPropTypeLocations = __webpack_require__(149);\n\tvar ReactReconciler = __webpack_require__(55);\n\t\n\tvar checkReactTypeSpec = __webpack_require__(645);\n\tvar emptyObject = __webpack_require__(62);\n\tvar invariant = __webpack_require__(3);\n\tvar shallowEqual = __webpack_require__(111);\n\tvar shouldUpdateReactComponent = __webpack_require__(157);\n\tvar warning = __webpack_require__(5);\n\t\n\tvar CompositeTypes = {\n\t ImpureClass: 0,\n\t PureClass: 1,\n\t StatelessFunctional: 2\n\t};\n\t\n\tfunction StatelessComponent(Component) {}\n\tStatelessComponent.prototype.render = function () {\n\t var Component = ReactInstanceMap.get(this)._currentElement.type;\n\t var element = Component(this.props, this.context, this.updater);\n\t warnIfInvalidElement(Component, element);\n\t return element;\n\t};\n\t\n\tfunction warnIfInvalidElement(Component, element) {\n\t if (false) {\n\t process.env.NODE_ENV !== 'production' ? warning(element === null || element === false || ReactElement.isValidElement(element), '%s(...): A valid React element (or null) must be returned. You may have ' + 'returned undefined, an array or some other invalid object.', Component.displayName || Component.name || 'Component') : void 0;\n\t process.env.NODE_ENV !== 'production' ? warning(!Component.childContextTypes, '%s(...): childContextTypes cannot be defined on a functional component.', Component.displayName || Component.name || 'Component') : void 0;\n\t }\n\t}\n\t\n\tfunction shouldConstruct(Component) {\n\t return !!(Component.prototype && Component.prototype.isReactComponent);\n\t}\n\t\n\tfunction isPureComponent(Component) {\n\t return !!(Component.prototype && Component.prototype.isPureReactComponent);\n\t}\n\t\n\t// Separated into a function to contain deoptimizations caused by try/finally.\n\tfunction measureLifeCyclePerf(fn, debugID, timerType) {\n\t if (debugID === 0) {\n\t // Top-level wrappers (see ReactMount) and empty components (see\n\t // ReactDOMEmptyComponent) are invisible to hooks and devtools.\n\t // Both are implementation details that should go away in the future.\n\t return fn();\n\t }\n\t\n\t ReactInstrumentation.debugTool.onBeginLifeCycleTimer(debugID, timerType);\n\t try {\n\t return fn();\n\t } finally {\n\t ReactInstrumentation.debugTool.onEndLifeCycleTimer(debugID, timerType);\n\t }\n\t}\n\t\n\t/**\n\t * ------------------ The Life-Cycle of a Composite Component ------------------\n\t *\n\t * - constructor: Initialization of state. The instance is now retained.\n\t * - componentWillMount\n\t * - render\n\t * - [children's constructors]\n\t * - [children's componentWillMount and render]\n\t * - [children's componentDidMount]\n\t * - componentDidMount\n\t *\n\t * Update Phases:\n\t * - componentWillReceiveProps (only called if parent updated)\n\t * - shouldComponentUpdate\n\t * - componentWillUpdate\n\t * - render\n\t * - [children's constructors or receive props phases]\n\t * - componentDidUpdate\n\t *\n\t * - componentWillUnmount\n\t * - [children's componentWillUnmount]\n\t * - [children destroyed]\n\t * - (destroyed): The instance is now blank, released by React and ready for GC.\n\t *\n\t * -----------------------------------------------------------------------------\n\t */\n\t\n\t/**\n\t * An incrementing ID assigned to each component when it is mounted. This is\n\t * used to enforce the order in which `ReactUpdates` updates dirty components.\n\t *\n\t * @private\n\t */\n\tvar nextMountID = 1;\n\t\n\t/**\n\t * @lends {ReactCompositeComponent.prototype}\n\t */\n\tvar ReactCompositeComponentMixin = {\n\t\n\t /**\n\t * Base constructor for all composite component.\n\t *\n\t * @param {ReactElement} element\n\t * @final\n\t * @internal\n\t */\n\t construct: function (element) {\n\t this._currentElement = element;\n\t this._rootNodeID = 0;\n\t this._compositeType = null;\n\t this._instance = null;\n\t this._hostParent = null;\n\t this._hostContainerInfo = null;\n\t\n\t // See ReactUpdateQueue\n\t this._updateBatchNumber = null;\n\t this._pendingElement = null;\n\t this._pendingStateQueue = null;\n\t this._pendingReplaceState = false;\n\t this._pendingForceUpdate = false;\n\t\n\t this._renderedNodeType = null;\n\t this._renderedComponent = null;\n\t this._context = null;\n\t this._mountOrder = 0;\n\t this._topLevelWrapper = null;\n\t\n\t // See ReactUpdates and ReactUpdateQueue.\n\t this._pendingCallbacks = null;\n\t\n\t // ComponentWillUnmount shall only be called once\n\t this._calledComponentWillUnmount = false;\n\t\n\t if (false) {\n\t this._warnedAboutRefsInRender = false;\n\t }\n\t },\n\t\n\t /**\n\t * Initializes the component, renders markup, and registers event listeners.\n\t *\n\t * @param {ReactReconcileTransaction|ReactServerRenderingTransaction} transaction\n\t * @param {?object} hostParent\n\t * @param {?object} hostContainerInfo\n\t * @param {?object} context\n\t * @return {?string} Rendered markup to be inserted into the DOM.\n\t * @final\n\t * @internal\n\t */\n\t mountComponent: function (transaction, hostParent, hostContainerInfo, context) {\n\t var _this = this;\n\t\n\t this._context = context;\n\t this._mountOrder = nextMountID++;\n\t this._hostParent = hostParent;\n\t this._hostContainerInfo = hostContainerInfo;\n\t\n\t var publicProps = this._currentElement.props;\n\t var publicContext = this._processContext(context);\n\t\n\t var Component = this._currentElement.type;\n\t\n\t var updateQueue = transaction.getUpdateQueue();\n\t\n\t // Initialize the public class\n\t var doConstruct = shouldConstruct(Component);\n\t var inst = this._constructComponent(doConstruct, publicProps, publicContext, updateQueue);\n\t var renderedElement;\n\t\n\t // Support functional components\n\t if (!doConstruct && (inst == null || inst.render == null)) {\n\t renderedElement = inst;\n\t warnIfInvalidElement(Component, renderedElement);\n\t !(inst === null || inst === false || ReactElement.isValidElement(inst)) ? false ? invariant(false, '%s(...): A valid React element (or null) must be returned. You may have returned undefined, an array or some other invalid object.', Component.displayName || Component.name || 'Component') : _prodInvariant('105', Component.displayName || Component.name || 'Component') : void 0;\n\t inst = new StatelessComponent(Component);\n\t this._compositeType = CompositeTypes.StatelessFunctional;\n\t } else {\n\t if (isPureComponent(Component)) {\n\t this._compositeType = CompositeTypes.PureClass;\n\t } else {\n\t this._compositeType = CompositeTypes.ImpureClass;\n\t }\n\t }\n\t\n\t if (false) {\n\t // This will throw later in _renderValidatedComponent, but add an early\n\t // warning now to help debugging\n\t if (inst.render == null) {\n\t process.env.NODE_ENV !== 'production' ? warning(false, '%s(...): No `render` method found on the returned component ' + 'instance: you may have forgotten to define `render`.', Component.displayName || Component.name || 'Component') : void 0;\n\t }\n\t\n\t var propsMutated = inst.props !== publicProps;\n\t var componentName = Component.displayName || Component.name || 'Component';\n\t\n\t process.env.NODE_ENV !== 'production' ? warning(inst.props === undefined || !propsMutated, '%s(...): When calling super() in `%s`, make sure to pass ' + 'up the same props that your component\\'s constructor was passed.', componentName, componentName) : void 0;\n\t }\n\t\n\t // These should be set up in the constructor, but as a convenience for\n\t // simpler class abstractions, we set them up after the fact.\n\t inst.props = publicProps;\n\t inst.context = publicContext;\n\t inst.refs = emptyObject;\n\t inst.updater = updateQueue;\n\t\n\t this._instance = inst;\n\t\n\t // Store a reference from the instance back to the internal representation\n\t ReactInstanceMap.set(inst, this);\n\t\n\t if (false) {\n\t // Since plain JS classes are defined without any special initialization\n\t // logic, we can not catch common errors early. Therefore, we have to\n\t // catch them here, at initialization time, instead.\n\t process.env.NODE_ENV !== 'production' ? warning(!inst.getInitialState || inst.getInitialState.isReactClassApproved, 'getInitialState was defined on %s, a plain JavaScript class. ' + 'This is only supported for classes created using React.createClass. ' + 'Did you mean to define a state property instead?', this.getName() || 'a component') : void 0;\n\t process.env.NODE_ENV !== 'production' ? warning(!inst.getDefaultProps || inst.getDefaultProps.isReactClassApproved, 'getDefaultProps was defined on %s, a plain JavaScript class. ' + 'This is only supported for classes created using React.createClass. ' + 'Use a static property to define defaultProps instead.', this.getName() || 'a component') : void 0;\n\t process.env.NODE_ENV !== 'production' ? warning(!inst.propTypes, 'propTypes was defined as an instance property on %s. Use a static ' + 'property to define propTypes instead.', this.getName() || 'a component') : void 0;\n\t process.env.NODE_ENV !== 'production' ? warning(!inst.contextTypes, 'contextTypes was defined as an instance property on %s. Use a ' + 'static property to define contextTypes instead.', this.getName() || 'a component') : void 0;\n\t process.env.NODE_ENV !== 'production' ? warning(typeof inst.componentShouldUpdate !== 'function', '%s has a method called ' + 'componentShouldUpdate(). Did you mean shouldComponentUpdate()? ' + 'The name is phrased as a question because the function is ' + 'expected to return a value.', this.getName() || 'A component') : void 0;\n\t process.env.NODE_ENV !== 'production' ? warning(typeof inst.componentDidUnmount !== 'function', '%s has a method called ' + 'componentDidUnmount(). But there is no such lifecycle method. ' + 'Did you mean componentWillUnmount()?', this.getName() || 'A component') : void 0;\n\t process.env.NODE_ENV !== 'production' ? warning(typeof inst.componentWillRecieveProps !== 'function', '%s has a method called ' + 'componentWillRecieveProps(). Did you mean componentWillReceiveProps()?', this.getName() || 'A component') : void 0;\n\t }\n\t\n\t var initialState = inst.state;\n\t if (initialState === undefined) {\n\t inst.state = initialState = null;\n\t }\n\t !(typeof initialState === 'object' && !Array.isArray(initialState)) ? false ? invariant(false, '%s.state: must be set to an object or null', this.getName() || 'ReactCompositeComponent') : _prodInvariant('106', this.getName() || 'ReactCompositeComponent') : void 0;\n\t\n\t this._pendingStateQueue = null;\n\t this._pendingReplaceState = false;\n\t this._pendingForceUpdate = false;\n\t\n\t var markup;\n\t if (inst.unstable_handleError) {\n\t markup = this.performInitialMountWithErrorHandling(renderedElement, hostParent, hostContainerInfo, transaction, context);\n\t } else {\n\t markup = this.performInitialMount(renderedElement, hostParent, hostContainerInfo, transaction, context);\n\t }\n\t\n\t if (inst.componentDidMount) {\n\t if (false) {\n\t transaction.getReactMountReady().enqueue(function () {\n\t measureLifeCyclePerf(function () {\n\t return inst.componentDidMount();\n\t }, _this._debugID, 'componentDidMount');\n\t });\n\t } else {\n\t transaction.getReactMountReady().enqueue(inst.componentDidMount, inst);\n\t }\n\t }\n\t\n\t return markup;\n\t },\n\t\n\t _constructComponent: function (doConstruct, publicProps, publicContext, updateQueue) {\n\t if (false) {\n\t ReactCurrentOwner.current = this;\n\t try {\n\t return this._constructComponentWithoutOwner(doConstruct, publicProps, publicContext, updateQueue);\n\t } finally {\n\t ReactCurrentOwner.current = null;\n\t }\n\t } else {\n\t return this._constructComponentWithoutOwner(doConstruct, publicProps, publicContext, updateQueue);\n\t }\n\t },\n\t\n\t _constructComponentWithoutOwner: function (doConstruct, publicProps, publicContext, updateQueue) {\n\t var Component = this._currentElement.type;\n\t\n\t if (doConstruct) {\n\t if (false) {\n\t return measureLifeCyclePerf(function () {\n\t return new Component(publicProps, publicContext, updateQueue);\n\t }, this._debugID, 'ctor');\n\t } else {\n\t return new Component(publicProps, publicContext, updateQueue);\n\t }\n\t }\n\t\n\t // This can still be an instance in case of factory components\n\t // but we'll count this as time spent rendering as the more common case.\n\t if (false) {\n\t return measureLifeCyclePerf(function () {\n\t return Component(publicProps, publicContext, updateQueue);\n\t }, this._debugID, 'render');\n\t } else {\n\t return Component(publicProps, publicContext, updateQueue);\n\t }\n\t },\n\t\n\t performInitialMountWithErrorHandling: function (renderedElement, hostParent, hostContainerInfo, transaction, context) {\n\t var markup;\n\t var checkpoint = transaction.checkpoint();\n\t try {\n\t markup = this.performInitialMount(renderedElement, hostParent, hostContainerInfo, transaction, context);\n\t } catch (e) {\n\t // Roll back to checkpoint, handle error (which may add items to the transaction), and take a new checkpoint\n\t transaction.rollback(checkpoint);\n\t this._instance.unstable_handleError(e);\n\t if (this._pendingStateQueue) {\n\t this._instance.state = this._processPendingState(this._instance.props, this._instance.context);\n\t }\n\t checkpoint = transaction.checkpoint();\n\t\n\t this._renderedComponent.unmountComponent(true);\n\t transaction.rollback(checkpoint);\n\t\n\t // Try again - we've informed the component about the error, so they can render an error message this time.\n\t // If this throws again, the error will bubble up (and can be caught by a higher error boundary).\n\t markup = this.performInitialMount(renderedElement, hostParent, hostContainerInfo, transaction, context);\n\t }\n\t return markup;\n\t },\n\t\n\t performInitialMount: function (renderedElement, hostParent, hostContainerInfo, transaction, context) {\n\t var inst = this._instance;\n\t\n\t var debugID = 0;\n\t if (false) {\n\t debugID = this._debugID;\n\t }\n\t\n\t if (inst.componentWillMount) {\n\t if (false) {\n\t measureLifeCyclePerf(function () {\n\t return inst.componentWillMount();\n\t }, debugID, 'componentWillMount');\n\t } else {\n\t inst.componentWillMount();\n\t }\n\t // When mounting, calls to `setState` by `componentWillMount` will set\n\t // `this._pendingStateQueue` without triggering a re-render.\n\t if (this._pendingStateQueue) {\n\t inst.state = this._processPendingState(inst.props, inst.context);\n\t }\n\t }\n\t\n\t // If not a stateless component, we now render\n\t if (renderedElement === undefined) {\n\t renderedElement = this._renderValidatedComponent();\n\t }\n\t\n\t var nodeType = ReactNodeTypes.getType(renderedElement);\n\t this._renderedNodeType = nodeType;\n\t var child = this._instantiateReactComponent(renderedElement, nodeType !== ReactNodeTypes.EMPTY /* shouldHaveDebugID */\n\t );\n\t this._renderedComponent = child;\n\t\n\t var markup = ReactReconciler.mountComponent(child, transaction, hostParent, hostContainerInfo, this._processChildContext(context), debugID);\n\t\n\t if (false) {\n\t if (debugID !== 0) {\n\t var childDebugIDs = child._debugID !== 0 ? [child._debugID] : [];\n\t ReactInstrumentation.debugTool.onSetChildren(debugID, childDebugIDs);\n\t }\n\t }\n\t\n\t return markup;\n\t },\n\t\n\t getHostNode: function () {\n\t return ReactReconciler.getHostNode(this._renderedComponent);\n\t },\n\t\n\t /**\n\t * Releases any resources allocated by `mountComponent`.\n\t *\n\t * @final\n\t * @internal\n\t */\n\t unmountComponent: function (safely) {\n\t if (!this._renderedComponent) {\n\t return;\n\t }\n\t\n\t var inst = this._instance;\n\t\n\t if (inst.componentWillUnmount && !inst._calledComponentWillUnmount) {\n\t inst._calledComponentWillUnmount = true;\n\t\n\t if (safely) {\n\t var name = this.getName() + '.componentWillUnmount()';\n\t ReactErrorUtils.invokeGuardedCallback(name, inst.componentWillUnmount.bind(inst));\n\t } else {\n\t if (false) {\n\t measureLifeCyclePerf(function () {\n\t return inst.componentWillUnmount();\n\t }, this._debugID, 'componentWillUnmount');\n\t } else {\n\t inst.componentWillUnmount();\n\t }\n\t }\n\t }\n\t\n\t if (this._renderedComponent) {\n\t ReactReconciler.unmountComponent(this._renderedComponent, safely);\n\t this._renderedNodeType = null;\n\t this._renderedComponent = null;\n\t this._instance = null;\n\t }\n\t\n\t // Reset pending fields\n\t // Even if this component is scheduled for another update in ReactUpdates,\n\t // it would still be ignored because these fields are reset.\n\t this._pendingStateQueue = null;\n\t this._pendingReplaceState = false;\n\t this._pendingForceUpdate = false;\n\t this._pendingCallbacks = null;\n\t this._pendingElement = null;\n\t\n\t // These fields do not really need to be reset since this object is no\n\t // longer accessible.\n\t this._context = null;\n\t this._rootNodeID = 0;\n\t this._topLevelWrapper = null;\n\t\n\t // Delete the reference from the instance to this internal representation\n\t // which allow the internals to be properly cleaned up even if the user\n\t // leaks a reference to the public instance.\n\t ReactInstanceMap.remove(inst);\n\t\n\t // Some existing components rely on inst.props even after they've been\n\t // destroyed (in event handlers).\n\t // TODO: inst.props = null;\n\t // TODO: inst.state = null;\n\t // TODO: inst.context = null;\n\t },\n\t\n\t /**\n\t * Filters the context object to only contain keys specified in\n\t * `contextTypes`\n\t *\n\t * @param {object} context\n\t * @return {?object}\n\t * @private\n\t */\n\t _maskContext: function (context) {\n\t var Component = this._currentElement.type;\n\t var contextTypes = Component.contextTypes;\n\t if (!contextTypes) {\n\t return emptyObject;\n\t }\n\t var maskedContext = {};\n\t for (var contextName in contextTypes) {\n\t maskedContext[contextName] = context[contextName];\n\t }\n\t return maskedContext;\n\t },\n\t\n\t /**\n\t * Filters the context object to only contain keys specified in\n\t * `contextTypes`, and asserts that they are valid.\n\t *\n\t * @param {object} context\n\t * @return {?object}\n\t * @private\n\t */\n\t _processContext: function (context) {\n\t var maskedContext = this._maskContext(context);\n\t if (false) {\n\t var Component = this._currentElement.type;\n\t if (Component.contextTypes) {\n\t this._checkContextTypes(Component.contextTypes, maskedContext, ReactPropTypeLocations.context);\n\t }\n\t }\n\t return maskedContext;\n\t },\n\t\n\t /**\n\t * @param {object} currentContext\n\t * @return {object}\n\t * @private\n\t */\n\t _processChildContext: function (currentContext) {\n\t var Component = this._currentElement.type;\n\t var inst = this._instance;\n\t var childContext;\n\t\n\t if (inst.getChildContext) {\n\t if (false) {\n\t ReactInstrumentation.debugTool.onBeginProcessingChildContext();\n\t try {\n\t childContext = inst.getChildContext();\n\t } finally {\n\t ReactInstrumentation.debugTool.onEndProcessingChildContext();\n\t }\n\t } else {\n\t childContext = inst.getChildContext();\n\t }\n\t }\n\t\n\t if (childContext) {\n\t !(typeof Component.childContextTypes === 'object') ? false ? invariant(false, '%s.getChildContext(): childContextTypes must be defined in order to use getChildContext().', this.getName() || 'ReactCompositeComponent') : _prodInvariant('107', this.getName() || 'ReactCompositeComponent') : void 0;\n\t if (false) {\n\t this._checkContextTypes(Component.childContextTypes, childContext, ReactPropTypeLocations.childContext);\n\t }\n\t for (var name in childContext) {\n\t !(name in Component.childContextTypes) ? false ? invariant(false, '%s.getChildContext(): key \"%s\" is not defined in childContextTypes.', this.getName() || 'ReactCompositeComponent', name) : _prodInvariant('108', this.getName() || 'ReactCompositeComponent', name) : void 0;\n\t }\n\t return _assign({}, currentContext, childContext);\n\t }\n\t return currentContext;\n\t },\n\t\n\t /**\n\t * Assert that the context types are valid\n\t *\n\t * @param {object} typeSpecs Map of context field to a ReactPropType\n\t * @param {object} values Runtime values that need to be type-checked\n\t * @param {string} location e.g. \"prop\", \"context\", \"child context\"\n\t * @private\n\t */\n\t _checkContextTypes: function (typeSpecs, values, location) {\n\t checkReactTypeSpec(typeSpecs, values, location, this.getName(), null, this._debugID);\n\t },\n\t\n\t receiveComponent: function (nextElement, transaction, nextContext) {\n\t var prevElement = this._currentElement;\n\t var prevContext = this._context;\n\t\n\t this._pendingElement = null;\n\t\n\t this.updateComponent(transaction, prevElement, nextElement, prevContext, nextContext);\n\t },\n\t\n\t /**\n\t * If any of `_pendingElement`, `_pendingStateQueue`, or `_pendingForceUpdate`\n\t * is set, update the component.\n\t *\n\t * @param {ReactReconcileTransaction} transaction\n\t * @internal\n\t */\n\t performUpdateIfNecessary: function (transaction) {\n\t if (this._pendingElement != null) {\n\t ReactReconciler.receiveComponent(this, this._pendingElement, transaction, this._context);\n\t } else if (this._pendingStateQueue !== null || this._pendingForceUpdate) {\n\t this.updateComponent(transaction, this._currentElement, this._currentElement, this._context, this._context);\n\t } else {\n\t this._updateBatchNumber = null;\n\t }\n\t },\n\t\n\t /**\n\t * Perform an update to a mounted component. The componentWillReceiveProps and\n\t * shouldComponentUpdate methods are called, then (assuming the update isn't\n\t * skipped) the remaining update lifecycle methods are called and the DOM\n\t * representation is updated.\n\t *\n\t * By default, this implements React's rendering and reconciliation algorithm.\n\t * Sophisticated clients may wish to override this.\n\t *\n\t * @param {ReactReconcileTransaction} transaction\n\t * @param {ReactElement} prevParentElement\n\t * @param {ReactElement} nextParentElement\n\t * @internal\n\t * @overridable\n\t */\n\t updateComponent: function (transaction, prevParentElement, nextParentElement, prevUnmaskedContext, nextUnmaskedContext) {\n\t var inst = this._instance;\n\t !(inst != null) ? false ? invariant(false, 'Attempted to update component `%s` that has already been unmounted (or failed to mount).', this.getName() || 'ReactCompositeComponent') : _prodInvariant('136', this.getName() || 'ReactCompositeComponent') : void 0;\n\t\n\t var willReceive = false;\n\t var nextContext;\n\t\n\t // Determine if the context has changed or not\n\t if (this._context === nextUnmaskedContext) {\n\t nextContext = inst.context;\n\t } else {\n\t nextContext = this._processContext(nextUnmaskedContext);\n\t willReceive = true;\n\t }\n\t\n\t var prevProps = prevParentElement.props;\n\t var nextProps = nextParentElement.props;\n\t\n\t // Not a simple state update but a props update\n\t if (prevParentElement !== nextParentElement) {\n\t willReceive = true;\n\t }\n\t\n\t // An update here will schedule an update but immediately set\n\t // _pendingStateQueue which will ensure that any state updates gets\n\t // immediately reconciled instead of waiting for the next batch.\n\t if (willReceive && inst.componentWillReceiveProps) {\n\t if (false) {\n\t measureLifeCyclePerf(function () {\n\t return inst.componentWillReceiveProps(nextProps, nextContext);\n\t }, this._debugID, 'componentWillReceiveProps');\n\t } else {\n\t inst.componentWillReceiveProps(nextProps, nextContext);\n\t }\n\t }\n\t\n\t var nextState = this._processPendingState(nextProps, nextContext);\n\t var shouldUpdate = true;\n\t\n\t if (!this._pendingForceUpdate) {\n\t if (inst.shouldComponentUpdate) {\n\t if (false) {\n\t shouldUpdate = measureLifeCyclePerf(function () {\n\t return inst.shouldComponentUpdate(nextProps, nextState, nextContext);\n\t }, this._debugID, 'shouldComponentUpdate');\n\t } else {\n\t shouldUpdate = inst.shouldComponentUpdate(nextProps, nextState, nextContext);\n\t }\n\t } else {\n\t if (this._compositeType === CompositeTypes.PureClass) {\n\t shouldUpdate = !shallowEqual(prevProps, nextProps) || !shallowEqual(inst.state, nextState);\n\t }\n\t }\n\t }\n\t\n\t if (false) {\n\t process.env.NODE_ENV !== 'production' ? warning(shouldUpdate !== undefined, '%s.shouldComponentUpdate(): Returned undefined instead of a ' + 'boolean value. Make sure to return true or false.', this.getName() || 'ReactCompositeComponent') : void 0;\n\t }\n\t\n\t this._updateBatchNumber = null;\n\t if (shouldUpdate) {\n\t this._pendingForceUpdate = false;\n\t // Will set `this.props`, `this.state` and `this.context`.\n\t this._performComponentUpdate(nextParentElement, nextProps, nextState, nextContext, transaction, nextUnmaskedContext);\n\t } else {\n\t // If it's determined that a component should not update, we still want\n\t // to set props and state but we shortcut the rest of the update.\n\t this._currentElement = nextParentElement;\n\t this._context = nextUnmaskedContext;\n\t inst.props = nextProps;\n\t inst.state = nextState;\n\t inst.context = nextContext;\n\t }\n\t },\n\t\n\t _processPendingState: function (props, context) {\n\t var inst = this._instance;\n\t var queue = this._pendingStateQueue;\n\t var replace = this._pendingReplaceState;\n\t this._pendingReplaceState = false;\n\t this._pendingStateQueue = null;\n\t\n\t if (!queue) {\n\t return inst.state;\n\t }\n\t\n\t if (replace && queue.length === 1) {\n\t return queue[0];\n\t }\n\t\n\t var nextState = _assign({}, replace ? queue[0] : inst.state);\n\t for (var i = replace ? 1 : 0; i < queue.length; i++) {\n\t var partial = queue[i];\n\t _assign(nextState, typeof partial === 'function' ? partial.call(inst, nextState, props, context) : partial);\n\t }\n\t\n\t return nextState;\n\t },\n\t\n\t /**\n\t * Merges new props and state, notifies delegate methods of update and\n\t * performs update.\n\t *\n\t * @param {ReactElement} nextElement Next element\n\t * @param {object} nextProps Next public object to set as properties.\n\t * @param {?object} nextState Next object to set as state.\n\t * @param {?object} nextContext Next public object to set as context.\n\t * @param {ReactReconcileTransaction} transaction\n\t * @param {?object} unmaskedContext\n\t * @private\n\t */\n\t _performComponentUpdate: function (nextElement, nextProps, nextState, nextContext, transaction, unmaskedContext) {\n\t var _this2 = this;\n\t\n\t var inst = this._instance;\n\t\n\t var hasComponentDidUpdate = Boolean(inst.componentDidUpdate);\n\t var prevProps;\n\t var prevState;\n\t var prevContext;\n\t if (hasComponentDidUpdate) {\n\t prevProps = inst.props;\n\t prevState = inst.state;\n\t prevContext = inst.context;\n\t }\n\t\n\t if (inst.componentWillUpdate) {\n\t if (false) {\n\t measureLifeCyclePerf(function () {\n\t return inst.componentWillUpdate(nextProps, nextState, nextContext);\n\t }, this._debugID, 'componentWillUpdate');\n\t } else {\n\t inst.componentWillUpdate(nextProps, nextState, nextContext);\n\t }\n\t }\n\t\n\t this._currentElement = nextElement;\n\t this._context = unmaskedContext;\n\t inst.props = nextProps;\n\t inst.state = nextState;\n\t inst.context = nextContext;\n\t\n\t this._updateRenderedComponent(transaction, unmaskedContext);\n\t\n\t if (hasComponentDidUpdate) {\n\t if (false) {\n\t transaction.getReactMountReady().enqueue(function () {\n\t measureLifeCyclePerf(inst.componentDidUpdate.bind(inst, prevProps, prevState, prevContext), _this2._debugID, 'componentDidUpdate');\n\t });\n\t } else {\n\t transaction.getReactMountReady().enqueue(inst.componentDidUpdate.bind(inst, prevProps, prevState, prevContext), inst);\n\t }\n\t }\n\t },\n\t\n\t /**\n\t * Call the component's `render` method and update the DOM accordingly.\n\t *\n\t * @param {ReactReconcileTransaction} transaction\n\t * @internal\n\t */\n\t _updateRenderedComponent: function (transaction, context) {\n\t var prevComponentInstance = this._renderedComponent;\n\t var prevRenderedElement = prevComponentInstance._currentElement;\n\t var nextRenderedElement = this._renderValidatedComponent();\n\t\n\t var debugID = 0;\n\t if (false) {\n\t debugID = this._debugID;\n\t }\n\t\n\t if (shouldUpdateReactComponent(prevRenderedElement, nextRenderedElement)) {\n\t ReactReconciler.receiveComponent(prevComponentInstance, nextRenderedElement, transaction, this._processChildContext(context));\n\t } else {\n\t var oldHostNode = ReactReconciler.getHostNode(prevComponentInstance);\n\t ReactReconciler.unmountComponent(prevComponentInstance, false);\n\t\n\t var nodeType = ReactNodeTypes.getType(nextRenderedElement);\n\t this._renderedNodeType = nodeType;\n\t var child = this._instantiateReactComponent(nextRenderedElement, nodeType !== ReactNodeTypes.EMPTY /* shouldHaveDebugID */\n\t );\n\t this._renderedComponent = child;\n\t\n\t var nextMarkup = ReactReconciler.mountComponent(child, transaction, this._hostParent, this._hostContainerInfo, this._processChildContext(context), debugID);\n\t\n\t if (false) {\n\t if (debugID !== 0) {\n\t var childDebugIDs = child._debugID !== 0 ? [child._debugID] : [];\n\t ReactInstrumentation.debugTool.onSetChildren(debugID, childDebugIDs);\n\t }\n\t }\n\t\n\t this._replaceNodeWithMarkup(oldHostNode, nextMarkup, prevComponentInstance);\n\t }\n\t },\n\t\n\t /**\n\t * Overridden in shallow rendering.\n\t *\n\t * @protected\n\t */\n\t _replaceNodeWithMarkup: function (oldHostNode, nextMarkup, prevInstance) {\n\t ReactComponentEnvironment.replaceNodeWithMarkup(oldHostNode, nextMarkup, prevInstance);\n\t },\n\t\n\t /**\n\t * @protected\n\t */\n\t _renderValidatedComponentWithoutOwnerOrContext: function () {\n\t var inst = this._instance;\n\t var renderedComponent;\n\t\n\t if (false) {\n\t renderedComponent = measureLifeCyclePerf(function () {\n\t return inst.render();\n\t }, this._debugID, 'render');\n\t } else {\n\t renderedComponent = inst.render();\n\t }\n\t\n\t if (false) {\n\t // We allow auto-mocks to proceed as if they're returning null.\n\t if (renderedComponent === undefined && inst.render._isMockFunction) {\n\t // This is probably bad practice. Consider warning here and\n\t // deprecating this convenience.\n\t renderedComponent = null;\n\t }\n\t }\n\t\n\t return renderedComponent;\n\t },\n\t\n\t /**\n\t * @private\n\t */\n\t _renderValidatedComponent: function () {\n\t var renderedComponent;\n\t if ((\"production\") !== 'production' || this._compositeType !== CompositeTypes.StatelessFunctional) {\n\t ReactCurrentOwner.current = this;\n\t try {\n\t renderedComponent = this._renderValidatedComponentWithoutOwnerOrContext();\n\t } finally {\n\t ReactCurrentOwner.current = null;\n\t }\n\t } else {\n\t renderedComponent = this._renderValidatedComponentWithoutOwnerOrContext();\n\t }\n\t !(\n\t // TODO: An `isValidNode` function would probably be more appropriate\n\t renderedComponent === null || renderedComponent === false || ReactElement.isValidElement(renderedComponent)) ? false ? invariant(false, '%s.render(): A valid React element (or null) must be returned. You may have returned undefined, an array or some other invalid object.', this.getName() || 'ReactCompositeComponent') : _prodInvariant('109', this.getName() || 'ReactCompositeComponent') : void 0;\n\t\n\t return renderedComponent;\n\t },\n\t\n\t /**\n\t * Lazily allocates the refs object and stores `component` as `ref`.\n\t *\n\t * @param {string} ref Reference name.\n\t * @param {component} component Component to store as `ref`.\n\t * @final\n\t * @private\n\t */\n\t attachRef: function (ref, component) {\n\t var inst = this.getPublicInstance();\n\t !(inst != null) ? false ? invariant(false, 'Stateless function components cannot have refs.') : _prodInvariant('110') : void 0;\n\t var publicComponentInstance = component.getPublicInstance();\n\t if (false) {\n\t var componentName = component && component.getName ? component.getName() : 'a component';\n\t process.env.NODE_ENV !== 'production' ? warning(publicComponentInstance != null || component._compositeType !== CompositeTypes.StatelessFunctional, 'Stateless function components cannot be given refs ' + '(See ref \"%s\" in %s created by %s). ' + 'Attempts to access this ref will fail.', ref, componentName, this.getName()) : void 0;\n\t }\n\t var refs = inst.refs === emptyObject ? inst.refs = {} : inst.refs;\n\t refs[ref] = publicComponentInstance;\n\t },\n\t\n\t /**\n\t * Detaches a reference name.\n\t *\n\t * @param {string} ref Name to dereference.\n\t * @final\n\t * @private\n\t */\n\t detachRef: function (ref) {\n\t var refs = this.getPublicInstance().refs;\n\t delete refs[ref];\n\t },\n\t\n\t /**\n\t * Get a text description of the component that can be used to identify it\n\t * in error messages.\n\t * @return {string} The name or null.\n\t * @internal\n\t */\n\t getName: function () {\n\t var type = this._currentElement.type;\n\t var constructor = this._instance && this._instance.constructor;\n\t return type.displayName || constructor && constructor.displayName || type.name || constructor && constructor.name || null;\n\t },\n\t\n\t /**\n\t * Get the publicly accessible representation of this component - i.e. what\n\t * is exposed by refs and returned by render. Can be null for stateless\n\t * components.\n\t *\n\t * @return {ReactComponent} the public component instance.\n\t * @internal\n\t */\n\t getPublicInstance: function () {\n\t var inst = this._instance;\n\t if (this._compositeType === CompositeTypes.StatelessFunctional) {\n\t return null;\n\t }\n\t return inst;\n\t },\n\t\n\t // Stub\n\t _instantiateReactComponent: null\n\t\n\t};\n\t\n\tvar ReactCompositeComponent = {\n\t\n\t Mixin: ReactCompositeComponentMixin\n\t\n\t};\n\t\n\tmodule.exports = ReactCompositeComponent;\n\n/***/ },\n/* 604 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Copyright 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @providesModule ReactDOM\n\t */\n\t\n\t/* globals __REACT_DEVTOOLS_GLOBAL_HOOK__*/\n\t\n\t'use strict';\n\t\n\tvar ReactDOMComponentTree = __webpack_require__(9);\n\tvar ReactDefaultInjection = __webpack_require__(619);\n\tvar ReactMount = __webpack_require__(335);\n\tvar ReactReconciler = __webpack_require__(55);\n\tvar ReactUpdates = __webpack_require__(30);\n\tvar ReactVersion = __webpack_require__(339);\n\t\n\tvar findDOMNode = __webpack_require__(647);\n\tvar getHostComponentFromComposite = __webpack_require__(344);\n\tvar renderSubtreeIntoContainer = __webpack_require__(654);\n\tvar warning = __webpack_require__(5);\n\t\n\tReactDefaultInjection.inject();\n\t\n\tvar ReactDOM = {\n\t findDOMNode: findDOMNode,\n\t render: ReactMount.render,\n\t unmountComponentAtNode: ReactMount.unmountComponentAtNode,\n\t version: ReactVersion,\n\t\n\t /* eslint-disable camelcase */\n\t unstable_batchedUpdates: ReactUpdates.batchedUpdates,\n\t unstable_renderSubtreeIntoContainer: renderSubtreeIntoContainer\n\t};\n\t\n\t// Inject the runtime into a devtools global hook regardless of browser.\n\t// Allows for debugging when the hook is injected on the page.\n\t/* eslint-enable camelcase */\n\tif (typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' && typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.inject === 'function') {\n\t __REACT_DEVTOOLS_GLOBAL_HOOK__.inject({\n\t ComponentTree: {\n\t getClosestInstanceFromNode: ReactDOMComponentTree.getClosestInstanceFromNode,\n\t getNodeFromInstance: function (inst) {\n\t // inst is an internal instance (but could be a composite)\n\t if (inst._renderedComponent) {\n\t inst = getHostComponentFromComposite(inst);\n\t }\n\t if (inst) {\n\t return ReactDOMComponentTree.getNodeFromInstance(inst);\n\t } else {\n\t return null;\n\t }\n\t }\n\t },\n\t Mount: ReactMount,\n\t Reconciler: ReactReconciler\n\t });\n\t}\n\t\n\tif (false) {\n\t var ExecutionEnvironment = require('fbjs/lib/ExecutionEnvironment');\n\t if (ExecutionEnvironment.canUseDOM && window.top === window.self) {\n\t\n\t // First check if devtools is not installed\n\t if (typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined') {\n\t // If we're in Chrome or Firefox, provide a download link if not installed.\n\t if (navigator.userAgent.indexOf('Chrome') > -1 && navigator.userAgent.indexOf('Edge') === -1 || navigator.userAgent.indexOf('Firefox') > -1) {\n\t // Firefox does not have the issue with devtools loaded over file://\n\t var showFileUrlMessage = window.location.protocol.indexOf('http') === -1 && navigator.userAgent.indexOf('Firefox') === -1;\n\t console.debug('Download the React DevTools ' + (showFileUrlMessage ? 'and use an HTTP server (instead of a file: URL) ' : '') + 'for a better development experience: ' + 'https://fb.me/react-devtools');\n\t }\n\t }\n\t\n\t var testFunc = function testFn() {};\n\t process.env.NODE_ENV !== 'production' ? warning((testFunc.name || testFunc.toString()).indexOf('testFn') !== -1, 'It looks like you\\'re using a minified copy of the development build ' + 'of React. When deploying React apps to production, make sure to use ' + 'the production build which skips development warnings and is faster. ' + 'See https://fb.me/react-minification for more details.') : void 0;\n\t\n\t // If we're in IE8, check to see if we are in compatibility mode and provide\n\t // information on preventing compatibility mode\n\t var ieCompatibilityMode = document.documentMode && document.documentMode < 8;\n\t\n\t process.env.NODE_ENV !== 'production' ? warning(!ieCompatibilityMode, 'Internet Explorer is running in compatibility mode; please add the ' + 'following tag to your HTML to prevent this from happening: ' + '<meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\" />') : void 0;\n\t\n\t var expectedFeatures = [\n\t // shims\n\t Array.isArray, Array.prototype.every, Array.prototype.forEach, Array.prototype.indexOf, Array.prototype.map, Date.now, Function.prototype.bind, Object.keys, String.prototype.split, String.prototype.trim];\n\t\n\t for (var i = 0; i < expectedFeatures.length; i++) {\n\t if (!expectedFeatures[i]) {\n\t process.env.NODE_ENV !== 'production' ? warning(false, 'One or more ES5 shims expected by React are not available: ' + 'https://fb.me/react-warning-polyfills') : void 0;\n\t break;\n\t }\n\t }\n\t }\n\t}\n\t\n\tif (false) {\n\t var ReactInstrumentation = require('./ReactInstrumentation');\n\t var ReactDOMUnknownPropertyHook = require('./ReactDOMUnknownPropertyHook');\n\t var ReactDOMNullInputValuePropHook = require('./ReactDOMNullInputValuePropHook');\n\t\n\t ReactInstrumentation.debugTool.addHook(ReactDOMUnknownPropertyHook);\n\t ReactInstrumentation.debugTool.addHook(ReactDOMNullInputValuePropHook);\n\t}\n\t\n\tmodule.exports = ReactDOM;\n\n/***/ },\n/* 605 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Copyright 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @providesModule ReactDOMButton\n\t */\n\t\n\t'use strict';\n\t\n\tvar DisabledInputUtils = __webpack_require__(94);\n\t\n\t/**\n\t * Implements a <button> host component that does not receive mouse events\n\t * when `disabled` is set.\n\t */\n\tvar ReactDOMButton = {\n\t getHostProps: DisabledInputUtils.getHostProps\n\t};\n\t\n\tmodule.exports = ReactDOMButton;\n\n/***/ },\n/* 606 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Copyright 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @providesModule ReactDOMComponent\n\t */\n\t\n\t/* global hasOwnProperty:true */\n\t\n\t'use strict';\n\t\n\tvar _prodInvariant = __webpack_require__(4),\n\t _assign = __webpack_require__(6);\n\t\n\tvar AutoFocusUtils = __webpack_require__(591);\n\tvar CSSPropertyOperations = __webpack_require__(593);\n\tvar DOMLazyTree = __webpack_require__(53);\n\tvar DOMNamespaces = __webpack_require__(138);\n\tvar DOMProperty = __webpack_require__(54);\n\tvar DOMPropertyOperations = __webpack_require__(326);\n\tvar EventConstants = __webpack_require__(32);\n\tvar EventPluginHub = __webpack_require__(71);\n\tvar EventPluginRegistry = __webpack_require__(139);\n\tvar ReactBrowserEventEmitter = __webpack_require__(95);\n\tvar ReactDOMButton = __webpack_require__(605);\n\tvar ReactDOMComponentFlags = __webpack_require__(329);\n\tvar ReactDOMComponentTree = __webpack_require__(9);\n\tvar ReactDOMInput = __webpack_require__(612);\n\tvar ReactDOMOption = __webpack_require__(613);\n\tvar ReactDOMSelect = __webpack_require__(330);\n\tvar ReactDOMTextarea = __webpack_require__(616);\n\tvar ReactInstrumentation = __webpack_require__(25);\n\tvar ReactMultiChild = __webpack_require__(624);\n\tvar ReactServerRenderingTransaction = __webpack_require__(629);\n\t\n\tvar emptyFunction = __webpack_require__(24);\n\tvar escapeTextContentForBrowser = __webpack_require__(97);\n\tvar invariant = __webpack_require__(3);\n\tvar isEventSupported = __webpack_require__(156);\n\tvar keyOf = __webpack_require__(34);\n\tvar shallowEqual = __webpack_require__(111);\n\tvar validateDOMNesting = __webpack_require__(159);\n\tvar warning = __webpack_require__(5);\n\t\n\tvar Flags = ReactDOMComponentFlags;\n\tvar deleteListener = EventPluginHub.deleteListener;\n\tvar getNode = ReactDOMComponentTree.getNodeFromInstance;\n\tvar listenTo = ReactBrowserEventEmitter.listenTo;\n\tvar registrationNameModules = EventPluginRegistry.registrationNameModules;\n\t\n\t// For quickly matching children type, to test if can be treated as content.\n\tvar CONTENT_TYPES = { 'string': true, 'number': true };\n\t\n\tvar STYLE = keyOf({ style: null });\n\tvar HTML = keyOf({ __html: null });\n\tvar RESERVED_PROPS = {\n\t children: null,\n\t dangerouslySetInnerHTML: null,\n\t suppressContentEditableWarning: null\n\t};\n\t\n\t// Node type for document fragments (Node.DOCUMENT_FRAGMENT_NODE).\n\tvar DOC_FRAGMENT_TYPE = 11;\n\t\n\tfunction getDeclarationErrorAddendum(internalInstance) {\n\t if (internalInstance) {\n\t var owner = internalInstance._currentElement._owner || null;\n\t if (owner) {\n\t var name = owner.getName();\n\t if (name) {\n\t return ' This DOM node was rendered by `' + name + '`.';\n\t }\n\t }\n\t }\n\t return '';\n\t}\n\t\n\tfunction friendlyStringify(obj) {\n\t if (typeof obj === 'object') {\n\t if (Array.isArray(obj)) {\n\t return '[' + obj.map(friendlyStringify).join(', ') + ']';\n\t } else {\n\t var pairs = [];\n\t for (var key in obj) {\n\t if (Object.prototype.hasOwnProperty.call(obj, key)) {\n\t var keyEscaped = /^[a-z$_][\\w$_]*$/i.test(key) ? key : JSON.stringify(key);\n\t pairs.push(keyEscaped + ': ' + friendlyStringify(obj[key]));\n\t }\n\t }\n\t return '{' + pairs.join(', ') + '}';\n\t }\n\t } else if (typeof obj === 'string') {\n\t return JSON.stringify(obj);\n\t } else if (typeof obj === 'function') {\n\t return '[function object]';\n\t }\n\t // Differs from JSON.stringify in that undefined because undefined and that\n\t // inf and nan don't become null\n\t return String(obj);\n\t}\n\t\n\tvar styleMutationWarning = {};\n\t\n\tfunction checkAndWarnForMutatedStyle(style1, style2, component) {\n\t if (style1 == null || style2 == null) {\n\t return;\n\t }\n\t if (shallowEqual(style1, style2)) {\n\t return;\n\t }\n\t\n\t var componentName = component._tag;\n\t var owner = component._currentElement._owner;\n\t var ownerName;\n\t if (owner) {\n\t ownerName = owner.getName();\n\t }\n\t\n\t var hash = ownerName + '|' + componentName;\n\t\n\t if (styleMutationWarning.hasOwnProperty(hash)) {\n\t return;\n\t }\n\t\n\t styleMutationWarning[hash] = true;\n\t\n\t false ? warning(false, '`%s` was passed a style object that has previously been mutated. ' + 'Mutating `style` is deprecated. Consider cloning it beforehand. Check ' + 'the `render` %s. Previous style: %s. Mutated style: %s.', componentName, owner ? 'of `' + ownerName + '`' : 'using <' + componentName + '>', friendlyStringify(style1), friendlyStringify(style2)) : void 0;\n\t}\n\t\n\t/**\n\t * @param {object} component\n\t * @param {?object} props\n\t */\n\tfunction assertValidProps(component, props) {\n\t if (!props) {\n\t return;\n\t }\n\t // Note the use of `==` which checks for null or undefined.\n\t if (voidElementTags[component._tag]) {\n\t !(props.children == null && props.dangerouslySetInnerHTML == null) ? false ? invariant(false, '%s is a void element tag and must neither have `children` nor use `dangerouslySetInnerHTML`.%s', component._tag, component._currentElement._owner ? ' Check the render method of ' + component._currentElement._owner.getName() + '.' : '') : _prodInvariant('137', component._tag, component._currentElement._owner ? ' Check the render method of ' + component._currentElement._owner.getName() + '.' : '') : void 0;\n\t }\n\t if (props.dangerouslySetInnerHTML != null) {\n\t !(props.children == null) ? false ? invariant(false, 'Can only set one of `children` or `props.dangerouslySetInnerHTML`.') : _prodInvariant('60') : void 0;\n\t !(typeof props.dangerouslySetInnerHTML === 'object' && HTML in props.dangerouslySetInnerHTML) ? false ? invariant(false, '`props.dangerouslySetInnerHTML` must be in the form `{__html: ...}`. Please visit https://fb.me/react-invariant-dangerously-set-inner-html for more information.') : _prodInvariant('61') : void 0;\n\t }\n\t if (false) {\n\t process.env.NODE_ENV !== 'production' ? warning(props.innerHTML == null, 'Directly setting property `innerHTML` is not permitted. ' + 'For more information, lookup documentation on `dangerouslySetInnerHTML`.') : void 0;\n\t process.env.NODE_ENV !== 'production' ? warning(props.suppressContentEditableWarning || !props.contentEditable || props.children == null, 'A component is `contentEditable` and contains `children` managed by ' + 'React. It is now your responsibility to guarantee that none of ' + 'those nodes are unexpectedly modified or duplicated. This is ' + 'probably not intentional.') : void 0;\n\t process.env.NODE_ENV !== 'production' ? warning(props.onFocusIn == null && props.onFocusOut == null, 'React uses onFocus and onBlur instead of onFocusIn and onFocusOut. ' + 'All React events are normalized to bubble, so onFocusIn and onFocusOut ' + 'are not needed/supported by React.') : void 0;\n\t }\n\t !(props.style == null || typeof props.style === 'object') ? false ? invariant(false, 'The `style` prop expects a mapping from style properties to values, not a string. For example, style={{marginRight: spacing + \\'em\\'}} when using JSX.%s', getDeclarationErrorAddendum(component)) : _prodInvariant('62', getDeclarationErrorAddendum(component)) : void 0;\n\t}\n\t\n\tfunction enqueuePutListener(inst, registrationName, listener, transaction) {\n\t if (transaction instanceof ReactServerRenderingTransaction) {\n\t return;\n\t }\n\t if (false) {\n\t // IE8 has no API for event capturing and the `onScroll` event doesn't\n\t // bubble.\n\t process.env.NODE_ENV !== 'production' ? warning(registrationName !== 'onScroll' || isEventSupported('scroll', true), 'This browser doesn\\'t support the `onScroll` event') : void 0;\n\t }\n\t var containerInfo = inst._hostContainerInfo;\n\t var isDocumentFragment = containerInfo._node && containerInfo._node.nodeType === DOC_FRAGMENT_TYPE;\n\t var doc = isDocumentFragment ? containerInfo._node : containerInfo._ownerDocument;\n\t listenTo(registrationName, doc);\n\t transaction.getReactMountReady().enqueue(putListener, {\n\t inst: inst,\n\t registrationName: registrationName,\n\t listener: listener\n\t });\n\t}\n\t\n\tfunction putListener() {\n\t var listenerToPut = this;\n\t EventPluginHub.putListener(listenerToPut.inst, listenerToPut.registrationName, listenerToPut.listener);\n\t}\n\t\n\tfunction inputPostMount() {\n\t var inst = this;\n\t ReactDOMInput.postMountWrapper(inst);\n\t}\n\t\n\tfunction textareaPostMount() {\n\t var inst = this;\n\t ReactDOMTextarea.postMountWrapper(inst);\n\t}\n\t\n\tfunction optionPostMount() {\n\t var inst = this;\n\t ReactDOMOption.postMountWrapper(inst);\n\t}\n\t\n\tvar setAndValidateContentChildDev = emptyFunction;\n\tif (false) {\n\t setAndValidateContentChildDev = function (content) {\n\t var hasExistingContent = this._contentDebugID != null;\n\t var debugID = this._debugID;\n\t // This ID represents the inlined child that has no backing instance:\n\t var contentDebugID = -debugID;\n\t\n\t if (content == null) {\n\t if (hasExistingContent) {\n\t ReactInstrumentation.debugTool.onUnmountComponent(this._contentDebugID);\n\t }\n\t this._contentDebugID = null;\n\t return;\n\t }\n\t\n\t validateDOMNesting(null, String(content), this, this._ancestorInfo);\n\t this._contentDebugID = contentDebugID;\n\t if (hasExistingContent) {\n\t ReactInstrumentation.debugTool.onBeforeUpdateComponent(contentDebugID, content);\n\t ReactInstrumentation.debugTool.onUpdateComponent(contentDebugID);\n\t } else {\n\t ReactInstrumentation.debugTool.onBeforeMountComponent(contentDebugID, content, debugID);\n\t ReactInstrumentation.debugTool.onMountComponent(contentDebugID);\n\t ReactInstrumentation.debugTool.onSetChildren(debugID, [contentDebugID]);\n\t }\n\t };\n\t}\n\t\n\t// There are so many media events, it makes sense to just\n\t// maintain a list rather than create a `trapBubbledEvent` for each\n\tvar mediaEvents = {\n\t topAbort: 'abort',\n\t topCanPlay: 'canplay',\n\t topCanPlayThrough: 'canplaythrough',\n\t topDurationChange: 'durationchange',\n\t topEmptied: 'emptied',\n\t topEncrypted: 'encrypted',\n\t topEnded: 'ended',\n\t topError: 'error',\n\t topLoadedData: 'loadeddata',\n\t topLoadedMetadata: 'loadedmetadata',\n\t topLoadStart: 'loadstart',\n\t topPause: 'pause',\n\t topPlay: 'play',\n\t topPlaying: 'playing',\n\t topProgress: 'progress',\n\t topRateChange: 'ratechange',\n\t topSeeked: 'seeked',\n\t topSeeking: 'seeking',\n\t topStalled: 'stalled',\n\t topSuspend: 'suspend',\n\t topTimeUpdate: 'timeupdate',\n\t topVolumeChange: 'volumechange',\n\t topWaiting: 'waiting'\n\t};\n\t\n\tfunction trapBubbledEventsLocal() {\n\t var inst = this;\n\t // If a component renders to null or if another component fatals and causes\n\t // the state of the tree to be corrupted, `node` here can be null.\n\t !inst._rootNodeID ? false ? invariant(false, 'Must be mounted to trap events') : _prodInvariant('63') : void 0;\n\t var node = getNode(inst);\n\t !node ? false ? invariant(false, 'trapBubbledEvent(...): Requires node to be rendered.') : _prodInvariant('64') : void 0;\n\t\n\t switch (inst._tag) {\n\t case 'iframe':\n\t case 'object':\n\t inst._wrapperState.listeners = [ReactBrowserEventEmitter.trapBubbledEvent(EventConstants.topLevelTypes.topLoad, 'load', node)];\n\t break;\n\t case 'video':\n\t case 'audio':\n\t\n\t inst._wrapperState.listeners = [];\n\t // Create listener for each media event\n\t for (var event in mediaEvents) {\n\t if (mediaEvents.hasOwnProperty(event)) {\n\t inst._wrapperState.listeners.push(ReactBrowserEventEmitter.trapBubbledEvent(EventConstants.topLevelTypes[event], mediaEvents[event], node));\n\t }\n\t }\n\t break;\n\t case 'source':\n\t inst._wrapperState.listeners = [ReactBrowserEventEmitter.trapBubbledEvent(EventConstants.topLevelTypes.topError, 'error', node)];\n\t break;\n\t case 'img':\n\t inst._wrapperState.listeners = [ReactBrowserEventEmitter.trapBubbledEvent(EventConstants.topLevelTypes.topError, 'error', node), ReactBrowserEventEmitter.trapBubbledEvent(EventConstants.topLevelTypes.topLoad, 'load', node)];\n\t break;\n\t case 'form':\n\t inst._wrapperState.listeners = [ReactBrowserEventEmitter.trapBubbledEvent(EventConstants.topLevelTypes.topReset, 'reset', node), ReactBrowserEventEmitter.trapBubbledEvent(EventConstants.topLevelTypes.topSubmit, 'submit', node)];\n\t break;\n\t case 'input':\n\t case 'select':\n\t case 'textarea':\n\t inst._wrapperState.listeners = [ReactBrowserEventEmitter.trapBubbledEvent(EventConstants.topLevelTypes.topInvalid, 'invalid', node)];\n\t break;\n\t }\n\t}\n\t\n\tfunction postUpdateSelectWrapper() {\n\t ReactDOMSelect.postUpdateWrapper(this);\n\t}\n\t\n\t// For HTML, certain tags should omit their close tag. We keep a whitelist for\n\t// those special-case tags.\n\t\n\tvar omittedCloseTags = {\n\t 'area': true,\n\t 'base': true,\n\t 'br': true,\n\t 'col': true,\n\t 'embed': true,\n\t 'hr': true,\n\t 'img': true,\n\t 'input': true,\n\t 'keygen': true,\n\t 'link': true,\n\t 'meta': true,\n\t 'param': true,\n\t 'source': true,\n\t 'track': true,\n\t 'wbr': true\n\t};\n\t\n\t// NOTE: menuitem's close tag should be omitted, but that causes problems.\n\tvar newlineEatingTags = {\n\t 'listing': true,\n\t 'pre': true,\n\t 'textarea': true\n\t};\n\t\n\t// For HTML, certain tags cannot have children. This has the same purpose as\n\t// `omittedCloseTags` except that `menuitem` should still have its closing tag.\n\t\n\tvar voidElementTags = _assign({\n\t 'menuitem': true\n\t}, omittedCloseTags);\n\t\n\t// We accept any tag to be rendered but since this gets injected into arbitrary\n\t// HTML, we want to make sure that it's a safe tag.\n\t// http://www.w3.org/TR/REC-xml/#NT-Name\n\t\n\tvar VALID_TAG_REGEX = /^[a-zA-Z][a-zA-Z:_\\.\\-\\d]*$/; // Simplified subset\n\tvar validatedTagCache = {};\n\tvar hasOwnProperty = {}.hasOwnProperty;\n\t\n\tfunction validateDangerousTag(tag) {\n\t if (!hasOwnProperty.call(validatedTagCache, tag)) {\n\t !VALID_TAG_REGEX.test(tag) ? false ? invariant(false, 'Invalid tag: %s', tag) : _prodInvariant('65', tag) : void 0;\n\t validatedTagCache[tag] = true;\n\t }\n\t}\n\t\n\tfunction isCustomComponent(tagName, props) {\n\t return tagName.indexOf('-') >= 0 || props.is != null;\n\t}\n\t\n\tvar globalIdCounter = 1;\n\t\n\t/**\n\t * Creates a new React class that is idempotent and capable of containing other\n\t * React components. It accepts event listeners and DOM properties that are\n\t * valid according to `DOMProperty`.\n\t *\n\t * - Event listeners: `onClick`, `onMouseDown`, etc.\n\t * - DOM properties: `className`, `name`, `title`, etc.\n\t *\n\t * The `style` property functions differently from the DOM API. It accepts an\n\t * object mapping of style properties to values.\n\t *\n\t * @constructor ReactDOMComponent\n\t * @extends ReactMultiChild\n\t */\n\tfunction ReactDOMComponent(element) {\n\t var tag = element.type;\n\t validateDangerousTag(tag);\n\t this._currentElement = element;\n\t this._tag = tag.toLowerCase();\n\t this._namespaceURI = null;\n\t this._renderedChildren = null;\n\t this._previousStyle = null;\n\t this._previousStyleCopy = null;\n\t this._hostNode = null;\n\t this._hostParent = null;\n\t this._rootNodeID = 0;\n\t this._domID = 0;\n\t this._hostContainerInfo = null;\n\t this._wrapperState = null;\n\t this._topLevelWrapper = null;\n\t this._flags = 0;\n\t if (false) {\n\t this._ancestorInfo = null;\n\t setAndValidateContentChildDev.call(this, null);\n\t }\n\t}\n\t\n\tReactDOMComponent.displayName = 'ReactDOMComponent';\n\t\n\tReactDOMComponent.Mixin = {\n\t\n\t /**\n\t * Generates root tag markup then recurses. This method has side effects and\n\t * is not idempotent.\n\t *\n\t * @internal\n\t * @param {ReactReconcileTransaction|ReactServerRenderingTransaction} transaction\n\t * @param {?ReactDOMComponent} the parent component instance\n\t * @param {?object} info about the host container\n\t * @param {object} context\n\t * @return {string} The computed markup.\n\t */\n\t mountComponent: function (transaction, hostParent, hostContainerInfo, context) {\n\t this._rootNodeID = globalIdCounter++;\n\t this._domID = hostContainerInfo._idCounter++;\n\t this._hostParent = hostParent;\n\t this._hostContainerInfo = hostContainerInfo;\n\t\n\t var props = this._currentElement.props;\n\t\n\t switch (this._tag) {\n\t case 'audio':\n\t case 'form':\n\t case 'iframe':\n\t case 'img':\n\t case 'link':\n\t case 'object':\n\t case 'source':\n\t case 'video':\n\t this._wrapperState = {\n\t listeners: null\n\t };\n\t transaction.getReactMountReady().enqueue(trapBubbledEventsLocal, this);\n\t break;\n\t case 'button':\n\t props = ReactDOMButton.getHostProps(this, props, hostParent);\n\t break;\n\t case 'input':\n\t ReactDOMInput.mountWrapper(this, props, hostParent);\n\t props = ReactDOMInput.getHostProps(this, props);\n\t transaction.getReactMountReady().enqueue(trapBubbledEventsLocal, this);\n\t break;\n\t case 'option':\n\t ReactDOMOption.mountWrapper(this, props, hostParent);\n\t props = ReactDOMOption.getHostProps(this, props);\n\t break;\n\t case 'select':\n\t ReactDOMSelect.mountWrapper(this, props, hostParent);\n\t props = ReactDOMSelect.getHostProps(this, props);\n\t transaction.getReactMountReady().enqueue(trapBubbledEventsLocal, this);\n\t break;\n\t case 'textarea':\n\t ReactDOMTextarea.mountWrapper(this, props, hostParent);\n\t props = ReactDOMTextarea.getHostProps(this, props);\n\t transaction.getReactMountReady().enqueue(trapBubbledEventsLocal, this);\n\t break;\n\t }\n\t\n\t assertValidProps(this, props);\n\t\n\t // We create tags in the namespace of their parent container, except HTML\n\t // tags get no namespace.\n\t var namespaceURI;\n\t var parentTag;\n\t if (hostParent != null) {\n\t namespaceURI = hostParent._namespaceURI;\n\t parentTag = hostParent._tag;\n\t } else if (hostContainerInfo._tag) {\n\t namespaceURI = hostContainerInfo._namespaceURI;\n\t parentTag = hostContainerInfo._tag;\n\t }\n\t if (namespaceURI == null || namespaceURI === DOMNamespaces.svg && parentTag === 'foreignobject') {\n\t namespaceURI = DOMNamespaces.html;\n\t }\n\t if (namespaceURI === DOMNamespaces.html) {\n\t if (this._tag === 'svg') {\n\t namespaceURI = DOMNamespaces.svg;\n\t } else if (this._tag === 'math') {\n\t namespaceURI = DOMNamespaces.mathml;\n\t }\n\t }\n\t this._namespaceURI = namespaceURI;\n\t\n\t if (false) {\n\t var parentInfo;\n\t if (hostParent != null) {\n\t parentInfo = hostParent._ancestorInfo;\n\t } else if (hostContainerInfo._tag) {\n\t parentInfo = hostContainerInfo._ancestorInfo;\n\t }\n\t if (parentInfo) {\n\t // parentInfo should always be present except for the top-level\n\t // component when server rendering\n\t validateDOMNesting(this._tag, null, this, parentInfo);\n\t }\n\t this._ancestorInfo = validateDOMNesting.updatedAncestorInfo(parentInfo, this._tag, this);\n\t }\n\t\n\t var mountImage;\n\t if (transaction.useCreateElement) {\n\t var ownerDocument = hostContainerInfo._ownerDocument;\n\t var el;\n\t if (namespaceURI === DOMNamespaces.html) {\n\t if (this._tag === 'script') {\n\t // Create the script via .innerHTML so its \"parser-inserted\" flag is\n\t // set to true and it does not execute\n\t var div = ownerDocument.createElement('div');\n\t var type = this._currentElement.type;\n\t div.innerHTML = '<' + type + '></' + type + '>';\n\t el = div.removeChild(div.firstChild);\n\t } else if (props.is) {\n\t el = ownerDocument.createElement(this._currentElement.type, props.is);\n\t } else {\n\t // Separate else branch instead of using `props.is || undefined` above becuase of a Firefox bug.\n\t // See discussion in https://github.com/facebook/react/pull/6896\n\t // and discussion in https://bugzilla.mozilla.org/show_bug.cgi?id=1276240\n\t el = ownerDocument.createElement(this._currentElement.type);\n\t }\n\t } else {\n\t el = ownerDocument.createElementNS(namespaceURI, this._currentElement.type);\n\t }\n\t ReactDOMComponentTree.precacheNode(this, el);\n\t this._flags |= Flags.hasCachedChildNodes;\n\t if (!this._hostParent) {\n\t DOMPropertyOperations.setAttributeForRoot(el);\n\t }\n\t this._updateDOMProperties(null, props, transaction);\n\t var lazyTree = DOMLazyTree(el);\n\t this._createInitialChildren(transaction, props, context, lazyTree);\n\t mountImage = lazyTree;\n\t } else {\n\t var tagOpen = this._createOpenTagMarkupAndPutListeners(transaction, props);\n\t var tagContent = this._createContentMarkup(transaction, props, context);\n\t if (!tagContent && omittedCloseTags[this._tag]) {\n\t mountImage = tagOpen + '/>';\n\t } else {\n\t mountImage = tagOpen + '>' + tagContent + '</' + this._currentElement.type + '>';\n\t }\n\t }\n\t\n\t switch (this._tag) {\n\t case 'input':\n\t transaction.getReactMountReady().enqueue(inputPostMount, this);\n\t if (props.autoFocus) {\n\t transaction.getReactMountReady().enqueue(AutoFocusUtils.focusDOMComponent, this);\n\t }\n\t break;\n\t case 'textarea':\n\t transaction.getReactMountReady().enqueue(textareaPostMount, this);\n\t if (props.autoFocus) {\n\t transaction.getReactMountReady().enqueue(AutoFocusUtils.focusDOMComponent, this);\n\t }\n\t break;\n\t case 'select':\n\t if (props.autoFocus) {\n\t transaction.getReactMountReady().enqueue(AutoFocusUtils.focusDOMComponent, this);\n\t }\n\t break;\n\t case 'button':\n\t if (props.autoFocus) {\n\t transaction.getReactMountReady().enqueue(AutoFocusUtils.focusDOMComponent, this);\n\t }\n\t break;\n\t case 'option':\n\t transaction.getReactMountReady().enqueue(optionPostMount, this);\n\t break;\n\t }\n\t\n\t return mountImage;\n\t },\n\t\n\t /**\n\t * Creates markup for the open tag and all attributes.\n\t *\n\t * This method has side effects because events get registered.\n\t *\n\t * Iterating over object properties is faster than iterating over arrays.\n\t * @see http://jsperf.com/obj-vs-arr-iteration\n\t *\n\t * @private\n\t * @param {ReactReconcileTransaction|ReactServerRenderingTransaction} transaction\n\t * @param {object} props\n\t * @return {string} Markup of opening tag.\n\t */\n\t _createOpenTagMarkupAndPutListeners: function (transaction, props) {\n\t var ret = '<' + this._currentElement.type;\n\t\n\t for (var propKey in props) {\n\t if (!props.hasOwnProperty(propKey)) {\n\t continue;\n\t }\n\t var propValue = props[propKey];\n\t if (propValue == null) {\n\t continue;\n\t }\n\t if (registrationNameModules.hasOwnProperty(propKey)) {\n\t if (propValue) {\n\t enqueuePutListener(this, propKey, propValue, transaction);\n\t }\n\t } else {\n\t if (propKey === STYLE) {\n\t if (propValue) {\n\t if (false) {\n\t // See `_updateDOMProperties`. style block\n\t this._previousStyle = propValue;\n\t }\n\t propValue = this._previousStyleCopy = _assign({}, props.style);\n\t }\n\t propValue = CSSPropertyOperations.createMarkupForStyles(propValue, this);\n\t }\n\t var markup = null;\n\t if (this._tag != null && isCustomComponent(this._tag, props)) {\n\t if (!RESERVED_PROPS.hasOwnProperty(propKey)) {\n\t markup = DOMPropertyOperations.createMarkupForCustomAttribute(propKey, propValue);\n\t }\n\t } else {\n\t markup = DOMPropertyOperations.createMarkupForProperty(propKey, propValue);\n\t }\n\t if (markup) {\n\t ret += ' ' + markup;\n\t }\n\t }\n\t }\n\t\n\t // For static pages, no need to put React ID and checksum. Saves lots of\n\t // bytes.\n\t if (transaction.renderToStaticMarkup) {\n\t return ret;\n\t }\n\t\n\t if (!this._hostParent) {\n\t ret += ' ' + DOMPropertyOperations.createMarkupForRoot();\n\t }\n\t ret += ' ' + DOMPropertyOperations.createMarkupForID(this._domID);\n\t return ret;\n\t },\n\t\n\t /**\n\t * Creates markup for the content between the tags.\n\t *\n\t * @private\n\t * @param {ReactReconcileTransaction|ReactServerRenderingTransaction} transaction\n\t * @param {object} props\n\t * @param {object} context\n\t * @return {string} Content markup.\n\t */\n\t _createContentMarkup: function (transaction, props, context) {\n\t var ret = '';\n\t\n\t // Intentional use of != to avoid catching zero/false.\n\t var innerHTML = props.dangerouslySetInnerHTML;\n\t if (innerHTML != null) {\n\t if (innerHTML.__html != null) {\n\t ret = innerHTML.__html;\n\t }\n\t } else {\n\t var contentToUse = CONTENT_TYPES[typeof props.children] ? props.children : null;\n\t var childrenToUse = contentToUse != null ? null : props.children;\n\t if (contentToUse != null) {\n\t // TODO: Validate that text is allowed as a child of this node\n\t ret = escapeTextContentForBrowser(contentToUse);\n\t if (false) {\n\t setAndValidateContentChildDev.call(this, contentToUse);\n\t }\n\t } else if (childrenToUse != null) {\n\t var mountImages = this.mountChildren(childrenToUse, transaction, context);\n\t ret = mountImages.join('');\n\t }\n\t }\n\t if (newlineEatingTags[this._tag] && ret.charAt(0) === '\\n') {\n\t // text/html ignores the first character in these tags if it's a newline\n\t // Prefer to break application/xml over text/html (for now) by adding\n\t // a newline specifically to get eaten by the parser. (Alternately for\n\t // textareas, replacing \"^\\n\" with \"\\r\\n\" doesn't get eaten, and the first\n\t // \\r is normalized out by HTMLTextAreaElement#value.)\n\t // See: <http://www.w3.org/TR/html-polyglot/#newlines-in-textarea-and-pre>\n\t // See: <http://www.w3.org/TR/html5/syntax.html#element-restrictions>\n\t // See: <http://www.w3.org/TR/html5/syntax.html#newlines>\n\t // See: Parsing of \"textarea\" \"listing\" and \"pre\" elements\n\t // from <http://www.w3.org/TR/html5/syntax.html#parsing-main-inbody>\n\t return '\\n' + ret;\n\t } else {\n\t return ret;\n\t }\n\t },\n\t\n\t _createInitialChildren: function (transaction, props, context, lazyTree) {\n\t // Intentional use of != to avoid catching zero/false.\n\t var innerHTML = props.dangerouslySetInnerHTML;\n\t if (innerHTML != null) {\n\t if (innerHTML.__html != null) {\n\t DOMLazyTree.queueHTML(lazyTree, innerHTML.__html);\n\t }\n\t } else {\n\t var contentToUse = CONTENT_TYPES[typeof props.children] ? props.children : null;\n\t var childrenToUse = contentToUse != null ? null : props.children;\n\t if (contentToUse != null) {\n\t // TODO: Validate that text is allowed as a child of this node\n\t if (false) {\n\t setAndValidateContentChildDev.call(this, contentToUse);\n\t }\n\t DOMLazyTree.queueText(lazyTree, contentToUse);\n\t } else if (childrenToUse != null) {\n\t var mountImages = this.mountChildren(childrenToUse, transaction, context);\n\t for (var i = 0; i < mountImages.length; i++) {\n\t DOMLazyTree.queueChild(lazyTree, mountImages[i]);\n\t }\n\t }\n\t }\n\t },\n\t\n\t /**\n\t * Receives a next element and updates the component.\n\t *\n\t * @internal\n\t * @param {ReactElement} nextElement\n\t * @param {ReactReconcileTransaction|ReactServerRenderingTransaction} transaction\n\t * @param {object} context\n\t */\n\t receiveComponent: function (nextElement, transaction, context) {\n\t var prevElement = this._currentElement;\n\t this._currentElement = nextElement;\n\t this.updateComponent(transaction, prevElement, nextElement, context);\n\t },\n\t\n\t /**\n\t * Updates a DOM component after it has already been allocated and\n\t * attached to the DOM. Reconciles the root DOM node, then recurses.\n\t *\n\t * @param {ReactReconcileTransaction} transaction\n\t * @param {ReactElement} prevElement\n\t * @param {ReactElement} nextElement\n\t * @internal\n\t * @overridable\n\t */\n\t updateComponent: function (transaction, prevElement, nextElement, context) {\n\t var lastProps = prevElement.props;\n\t var nextProps = this._currentElement.props;\n\t\n\t switch (this._tag) {\n\t case 'button':\n\t lastProps = ReactDOMButton.getHostProps(this, lastProps);\n\t nextProps = ReactDOMButton.getHostProps(this, nextProps);\n\t break;\n\t case 'input':\n\t lastProps = ReactDOMInput.getHostProps(this, lastProps);\n\t nextProps = ReactDOMInput.getHostProps(this, nextProps);\n\t break;\n\t case 'option':\n\t lastProps = ReactDOMOption.getHostProps(this, lastProps);\n\t nextProps = ReactDOMOption.getHostProps(this, nextProps);\n\t break;\n\t case 'select':\n\t lastProps = ReactDOMSelect.getHostProps(this, lastProps);\n\t nextProps = ReactDOMSelect.getHostProps(this, nextProps);\n\t break;\n\t case 'textarea':\n\t lastProps = ReactDOMTextarea.getHostProps(this, lastProps);\n\t nextProps = ReactDOMTextarea.getHostProps(this, nextProps);\n\t break;\n\t }\n\t\n\t assertValidProps(this, nextProps);\n\t this._updateDOMProperties(lastProps, nextProps, transaction);\n\t this._updateDOMChildren(lastProps, nextProps, transaction, context);\n\t\n\t switch (this._tag) {\n\t case 'input':\n\t // Update the wrapper around inputs *after* updating props. This has to\n\t // happen after `_updateDOMProperties`. Otherwise HTML5 input validations\n\t // raise warnings and prevent the new value from being assigned.\n\t ReactDOMInput.updateWrapper(this);\n\t break;\n\t case 'textarea':\n\t ReactDOMTextarea.updateWrapper(this);\n\t break;\n\t case 'select':\n\t // <select> value update needs to occur after <option> children\n\t // reconciliation\n\t transaction.getReactMountReady().enqueue(postUpdateSelectWrapper, this);\n\t break;\n\t }\n\t },\n\t\n\t /**\n\t * Reconciles the properties by detecting differences in property values and\n\t * updating the DOM as necessary. This function is probably the single most\n\t * critical path for performance optimization.\n\t *\n\t * TODO: Benchmark whether checking for changed values in memory actually\n\t * improves performance (especially statically positioned elements).\n\t * TODO: Benchmark the effects of putting this at the top since 99% of props\n\t * do not change for a given reconciliation.\n\t * TODO: Benchmark areas that can be improved with caching.\n\t *\n\t * @private\n\t * @param {object} lastProps\n\t * @param {object} nextProps\n\t * @param {?DOMElement} node\n\t */\n\t _updateDOMProperties: function (lastProps, nextProps, transaction) {\n\t var propKey;\n\t var styleName;\n\t var styleUpdates;\n\t for (propKey in lastProps) {\n\t if (nextProps.hasOwnProperty(propKey) || !lastProps.hasOwnProperty(propKey) || lastProps[propKey] == null) {\n\t continue;\n\t }\n\t if (propKey === STYLE) {\n\t var lastStyle = this._previousStyleCopy;\n\t for (styleName in lastStyle) {\n\t if (lastStyle.hasOwnProperty(styleName)) {\n\t styleUpdates = styleUpdates || {};\n\t styleUpdates[styleName] = '';\n\t }\n\t }\n\t this._previousStyleCopy = null;\n\t } else if (registrationNameModules.hasOwnProperty(propKey)) {\n\t if (lastProps[propKey]) {\n\t // Only call deleteListener if there was a listener previously or\n\t // else willDeleteListener gets called when there wasn't actually a\n\t // listener (e.g., onClick={null})\n\t deleteListener(this, propKey);\n\t }\n\t } else if (isCustomComponent(this._tag, lastProps)) {\n\t if (!RESERVED_PROPS.hasOwnProperty(propKey)) {\n\t DOMPropertyOperations.deleteValueForAttribute(getNode(this), propKey);\n\t }\n\t } else if (DOMProperty.properties[propKey] || DOMProperty.isCustomAttribute(propKey)) {\n\t DOMPropertyOperations.deleteValueForProperty(getNode(this), propKey);\n\t }\n\t }\n\t for (propKey in nextProps) {\n\t var nextProp = nextProps[propKey];\n\t var lastProp = propKey === STYLE ? this._previousStyleCopy : lastProps != null ? lastProps[propKey] : undefined;\n\t if (!nextProps.hasOwnProperty(propKey) || nextProp === lastProp || nextProp == null && lastProp == null) {\n\t continue;\n\t }\n\t if (propKey === STYLE) {\n\t if (nextProp) {\n\t if (false) {\n\t checkAndWarnForMutatedStyle(this._previousStyleCopy, this._previousStyle, this);\n\t this._previousStyle = nextProp;\n\t }\n\t nextProp = this._previousStyleCopy = _assign({}, nextProp);\n\t } else {\n\t this._previousStyleCopy = null;\n\t }\n\t if (lastProp) {\n\t // Unset styles on `lastProp` but not on `nextProp`.\n\t for (styleName in lastProp) {\n\t if (lastProp.hasOwnProperty(styleName) && (!nextProp || !nextProp.hasOwnProperty(styleName))) {\n\t styleUpdates = styleUpdates || {};\n\t styleUpdates[styleName] = '';\n\t }\n\t }\n\t // Update styles that changed since `lastProp`.\n\t for (styleName in nextProp) {\n\t if (nextProp.hasOwnProperty(styleName) && lastProp[styleName] !== nextProp[styleName]) {\n\t styleUpdates = styleUpdates || {};\n\t styleUpdates[styleName] = nextProp[styleName];\n\t }\n\t }\n\t } else {\n\t // Relies on `updateStylesByID` not mutating `styleUpdates`.\n\t styleUpdates = nextProp;\n\t }\n\t } else if (registrationNameModules.hasOwnProperty(propKey)) {\n\t if (nextProp) {\n\t enqueuePutListener(this, propKey, nextProp, transaction);\n\t } else if (lastProp) {\n\t deleteListener(this, propKey);\n\t }\n\t } else if (isCustomComponent(this._tag, nextProps)) {\n\t if (!RESERVED_PROPS.hasOwnProperty(propKey)) {\n\t DOMPropertyOperations.setValueForAttribute(getNode(this), propKey, nextProp);\n\t }\n\t } else if (DOMProperty.properties[propKey] || DOMProperty.isCustomAttribute(propKey)) {\n\t var node = getNode(this);\n\t // If we're updating to null or undefined, we should remove the property\n\t // from the DOM node instead of inadvertently setting to a string. This\n\t // brings us in line with the same behavior we have on initial render.\n\t if (nextProp != null) {\n\t DOMPropertyOperations.setValueForProperty(node, propKey, nextProp);\n\t } else {\n\t DOMPropertyOperations.deleteValueForProperty(node, propKey);\n\t }\n\t }\n\t }\n\t if (styleUpdates) {\n\t CSSPropertyOperations.setValueForStyles(getNode(this), styleUpdates, this);\n\t }\n\t },\n\t\n\t /**\n\t * Reconciles the children with the various properties that affect the\n\t * children content.\n\t *\n\t * @param {object} lastProps\n\t * @param {object} nextProps\n\t * @param {ReactReconcileTransaction} transaction\n\t * @param {object} context\n\t */\n\t _updateDOMChildren: function (lastProps, nextProps, transaction, context) {\n\t var lastContent = CONTENT_TYPES[typeof lastProps.children] ? lastProps.children : null;\n\t var nextContent = CONTENT_TYPES[typeof nextProps.children] ? nextProps.children : null;\n\t\n\t var lastHtml = lastProps.dangerouslySetInnerHTML && lastProps.dangerouslySetInnerHTML.__html;\n\t var nextHtml = nextProps.dangerouslySetInnerHTML && nextProps.dangerouslySetInnerHTML.__html;\n\t\n\t // Note the use of `!=` which checks for null or undefined.\n\t var lastChildren = lastContent != null ? null : lastProps.children;\n\t var nextChildren = nextContent != null ? null : nextProps.children;\n\t\n\t // If we're switching from children to content/html or vice versa, remove\n\t // the old content\n\t var lastHasContentOrHtml = lastContent != null || lastHtml != null;\n\t var nextHasContentOrHtml = nextContent != null || nextHtml != null;\n\t if (lastChildren != null && nextChildren == null) {\n\t this.updateChildren(null, transaction, context);\n\t } else if (lastHasContentOrHtml && !nextHasContentOrHtml) {\n\t this.updateTextContent('');\n\t if (false) {\n\t ReactInstrumentation.debugTool.onSetChildren(this._debugID, []);\n\t }\n\t }\n\t\n\t if (nextContent != null) {\n\t if (lastContent !== nextContent) {\n\t this.updateTextContent('' + nextContent);\n\t if (false) {\n\t setAndValidateContentChildDev.call(this, nextContent);\n\t }\n\t }\n\t } else if (nextHtml != null) {\n\t if (lastHtml !== nextHtml) {\n\t this.updateMarkup('' + nextHtml);\n\t }\n\t if (false) {\n\t ReactInstrumentation.debugTool.onSetChildren(this._debugID, []);\n\t }\n\t } else if (nextChildren != null) {\n\t if (false) {\n\t setAndValidateContentChildDev.call(this, null);\n\t }\n\t\n\t this.updateChildren(nextChildren, transaction, context);\n\t }\n\t },\n\t\n\t getHostNode: function () {\n\t return getNode(this);\n\t },\n\t\n\t /**\n\t * Destroys all event registrations for this instance. Does not remove from\n\t * the DOM. That must be done by the parent.\n\t *\n\t * @internal\n\t */\n\t unmountComponent: function (safely) {\n\t switch (this._tag) {\n\t case 'audio':\n\t case 'form':\n\t case 'iframe':\n\t case 'img':\n\t case 'link':\n\t case 'object':\n\t case 'source':\n\t case 'video':\n\t var listeners = this._wrapperState.listeners;\n\t if (listeners) {\n\t for (var i = 0; i < listeners.length; i++) {\n\t listeners[i].remove();\n\t }\n\t }\n\t break;\n\t case 'html':\n\t case 'head':\n\t case 'body':\n\t /**\n\t * Components like <html> <head> and <body> can't be removed or added\n\t * easily in a cross-browser way, however it's valuable to be able to\n\t * take advantage of React's reconciliation for styling and <title>\n\t * management. So we just document it and throw in dangerous cases.\n\t */\n\t true ? false ? invariant(false, '<%s> tried to unmount. Because of cross-browser quirks it is impossible to unmount some top-level components (eg <html>, <head>, and <body>) reliably and efficiently. To fix this, have a single top-level component that never unmounts render these elements.', this._tag) : _prodInvariant('66', this._tag) : void 0;\n\t break;\n\t }\n\t\n\t this.unmountChildren(safely);\n\t ReactDOMComponentTree.uncacheNode(this);\n\t EventPluginHub.deleteAllListeners(this);\n\t this._rootNodeID = 0;\n\t this._domID = 0;\n\t this._wrapperState = null;\n\t\n\t if (false) {\n\t setAndValidateContentChildDev.call(this, null);\n\t }\n\t },\n\t\n\t getPublicInstance: function () {\n\t return getNode(this);\n\t }\n\t\n\t};\n\t\n\t_assign(ReactDOMComponent.prototype, ReactDOMComponent.Mixin, ReactMultiChild.Mixin);\n\t\n\tmodule.exports = ReactDOMComponent;\n\n/***/ },\n/* 607 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Copyright 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @providesModule ReactDOMContainerInfo\n\t */\n\t\n\t'use strict';\n\t\n\tvar validateDOMNesting = __webpack_require__(159);\n\t\n\tvar DOC_NODE_TYPE = 9;\n\t\n\tfunction ReactDOMContainerInfo(topLevelWrapper, node) {\n\t var info = {\n\t _topLevelWrapper: topLevelWrapper,\n\t _idCounter: 1,\n\t _ownerDocument: node ? node.nodeType === DOC_NODE_TYPE ? node : node.ownerDocument : null,\n\t _node: node,\n\t _tag: node ? node.nodeName.toLowerCase() : null,\n\t _namespaceURI: node ? node.namespaceURI : null\n\t };\n\t if (false) {\n\t info._ancestorInfo = node ? validateDOMNesting.updatedAncestorInfo(null, info._tag, null) : null;\n\t }\n\t return info;\n\t}\n\t\n\tmodule.exports = ReactDOMContainerInfo;\n\n/***/ },\n/* 608 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Copyright 2014-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @providesModule ReactDOMEmptyComponent\n\t */\n\t\n\t'use strict';\n\t\n\tvar _assign = __webpack_require__(6);\n\t\n\tvar DOMLazyTree = __webpack_require__(53);\n\tvar ReactDOMComponentTree = __webpack_require__(9);\n\t\n\tvar ReactDOMEmptyComponent = function (instantiate) {\n\t // ReactCompositeComponent uses this:\n\t this._currentElement = null;\n\t // ReactDOMComponentTree uses these:\n\t this._hostNode = null;\n\t this._hostParent = null;\n\t this._hostContainerInfo = null;\n\t this._domID = 0;\n\t};\n\t_assign(ReactDOMEmptyComponent.prototype, {\n\t mountComponent: function (transaction, hostParent, hostContainerInfo, context) {\n\t var domID = hostContainerInfo._idCounter++;\n\t this._domID = domID;\n\t this._hostParent = hostParent;\n\t this._hostContainerInfo = hostContainerInfo;\n\t\n\t var nodeValue = ' react-empty: ' + this._domID + ' ';\n\t if (transaction.useCreateElement) {\n\t var ownerDocument = hostContainerInfo._ownerDocument;\n\t var node = ownerDocument.createComment(nodeValue);\n\t ReactDOMComponentTree.precacheNode(this, node);\n\t return DOMLazyTree(node);\n\t } else {\n\t if (transaction.renderToStaticMarkup) {\n\t // Normally we'd insert a comment node, but since this is a situation\n\t // where React won't take over (static pages), we can simply return\n\t // nothing.\n\t return '';\n\t }\n\t return '<!--' + nodeValue + '-->';\n\t }\n\t },\n\t receiveComponent: function () {},\n\t getHostNode: function () {\n\t return ReactDOMComponentTree.getNodeFromInstance(this);\n\t },\n\t unmountComponent: function () {\n\t ReactDOMComponentTree.uncacheNode(this);\n\t }\n\t});\n\t\n\tmodule.exports = ReactDOMEmptyComponent;\n\n/***/ },\n/* 609 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Copyright 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @providesModule ReactDOMFactories\n\t */\n\t\n\t'use strict';\n\t\n\tvar ReactElement = __webpack_require__(29);\n\t\n\t/**\n\t * Create a factory that creates HTML tag elements.\n\t *\n\t * @private\n\t */\n\tvar createDOMFactory = ReactElement.createFactory;\n\tif (false) {\n\t var ReactElementValidator = require('./ReactElementValidator');\n\t createDOMFactory = ReactElementValidator.createFactory;\n\t}\n\t\n\t/**\n\t * Creates a mapping from supported HTML tags to `ReactDOMComponent` classes.\n\t * This is also accessible via `React.DOM`.\n\t *\n\t * @public\n\t */\n\tvar ReactDOMFactories = {\n\t a: createDOMFactory('a'),\n\t abbr: createDOMFactory('abbr'),\n\t address: createDOMFactory('address'),\n\t area: createDOMFactory('area'),\n\t article: createDOMFactory('article'),\n\t aside: createDOMFactory('aside'),\n\t audio: createDOMFactory('audio'),\n\t b: createDOMFactory('b'),\n\t base: createDOMFactory('base'),\n\t bdi: createDOMFactory('bdi'),\n\t bdo: createDOMFactory('bdo'),\n\t big: createDOMFactory('big'),\n\t blockquote: createDOMFactory('blockquote'),\n\t body: createDOMFactory('body'),\n\t br: createDOMFactory('br'),\n\t button: createDOMFactory('button'),\n\t canvas: createDOMFactory('canvas'),\n\t caption: createDOMFactory('caption'),\n\t cite: createDOMFactory('cite'),\n\t code: createDOMFactory('code'),\n\t col: createDOMFactory('col'),\n\t colgroup: createDOMFactory('colgroup'),\n\t data: createDOMFactory('data'),\n\t datalist: createDOMFactory('datalist'),\n\t dd: createDOMFactory('dd'),\n\t del: createDOMFactory('del'),\n\t details: createDOMFactory('details'),\n\t dfn: createDOMFactory('dfn'),\n\t dialog: createDOMFactory('dialog'),\n\t div: createDOMFactory('div'),\n\t dl: createDOMFactory('dl'),\n\t dt: createDOMFactory('dt'),\n\t em: createDOMFactory('em'),\n\t embed: createDOMFactory('embed'),\n\t fieldset: createDOMFactory('fieldset'),\n\t figcaption: createDOMFactory('figcaption'),\n\t figure: createDOMFactory('figure'),\n\t footer: createDOMFactory('footer'),\n\t form: createDOMFactory('form'),\n\t h1: createDOMFactory('h1'),\n\t h2: createDOMFactory('h2'),\n\t h3: createDOMFactory('h3'),\n\t h4: createDOMFactory('h4'),\n\t h5: createDOMFactory('h5'),\n\t h6: createDOMFactory('h6'),\n\t head: createDOMFactory('head'),\n\t header: createDOMFactory('header'),\n\t hgroup: createDOMFactory('hgroup'),\n\t hr: createDOMFactory('hr'),\n\t html: createDOMFactory('html'),\n\t i: createDOMFactory('i'),\n\t iframe: createDOMFactory('iframe'),\n\t img: createDOMFactory('img'),\n\t input: createDOMFactory('input'),\n\t ins: createDOMFactory('ins'),\n\t kbd: createDOMFactory('kbd'),\n\t keygen: createDOMFactory('keygen'),\n\t label: createDOMFactory('label'),\n\t legend: createDOMFactory('legend'),\n\t li: createDOMFactory('li'),\n\t link: createDOMFactory('link'),\n\t main: createDOMFactory('main'),\n\t map: createDOMFactory('map'),\n\t mark: createDOMFactory('mark'),\n\t menu: createDOMFactory('menu'),\n\t menuitem: createDOMFactory('menuitem'),\n\t meta: createDOMFactory('meta'),\n\t meter: createDOMFactory('meter'),\n\t nav: createDOMFactory('nav'),\n\t noscript: createDOMFactory('noscript'),\n\t object: createDOMFactory('object'),\n\t ol: createDOMFactory('ol'),\n\t optgroup: createDOMFactory('optgroup'),\n\t option: createDOMFactory('option'),\n\t output: createDOMFactory('output'),\n\t p: createDOMFactory('p'),\n\t param: createDOMFactory('param'),\n\t picture: createDOMFactory('picture'),\n\t pre: createDOMFactory('pre'),\n\t progress: createDOMFactory('progress'),\n\t q: createDOMFactory('q'),\n\t rp: createDOMFactory('rp'),\n\t rt: createDOMFactory('rt'),\n\t ruby: createDOMFactory('ruby'),\n\t s: createDOMFactory('s'),\n\t samp: createDOMFactory('samp'),\n\t script: createDOMFactory('script'),\n\t section: createDOMFactory('section'),\n\t select: createDOMFactory('select'),\n\t small: createDOMFactory('small'),\n\t source: createDOMFactory('source'),\n\t span: createDOMFactory('span'),\n\t strong: createDOMFactory('strong'),\n\t style: createDOMFactory('style'),\n\t sub: createDOMFactory('sub'),\n\t summary: createDOMFactory('summary'),\n\t sup: createDOMFactory('sup'),\n\t table: createDOMFactory('table'),\n\t tbody: createDOMFactory('tbody'),\n\t td: createDOMFactory('td'),\n\t textarea: createDOMFactory('textarea'),\n\t tfoot: createDOMFactory('tfoot'),\n\t th: createDOMFactory('th'),\n\t thead: createDOMFactory('thead'),\n\t time: createDOMFactory('time'),\n\t title: createDOMFactory('title'),\n\t tr: createDOMFactory('tr'),\n\t track: createDOMFactory('track'),\n\t u: createDOMFactory('u'),\n\t ul: createDOMFactory('ul'),\n\t 'var': createDOMFactory('var'),\n\t video: createDOMFactory('video'),\n\t wbr: createDOMFactory('wbr'),\n\t\n\t // SVG\n\t circle: createDOMFactory('circle'),\n\t clipPath: createDOMFactory('clipPath'),\n\t defs: createDOMFactory('defs'),\n\t ellipse: createDOMFactory('ellipse'),\n\t g: createDOMFactory('g'),\n\t image: createDOMFactory('image'),\n\t line: createDOMFactory('line'),\n\t linearGradient: createDOMFactory('linearGradient'),\n\t mask: createDOMFactory('mask'),\n\t path: createDOMFactory('path'),\n\t pattern: createDOMFactory('pattern'),\n\t polygon: createDOMFactory('polygon'),\n\t polyline: createDOMFactory('polyline'),\n\t radialGradient: createDOMFactory('radialGradient'),\n\t rect: createDOMFactory('rect'),\n\t stop: createDOMFactory('stop'),\n\t svg: createDOMFactory('svg'),\n\t text: createDOMFactory('text'),\n\t tspan: createDOMFactory('tspan')\n\t};\n\t\n\tmodule.exports = ReactDOMFactories;\n\n/***/ },\n/* 610 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Copyright 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @providesModule ReactDOMFeatureFlags\n\t */\n\t\n\t'use strict';\n\t\n\tvar ReactDOMFeatureFlags = {\n\t useCreateElement: true\n\t};\n\t\n\tmodule.exports = ReactDOMFeatureFlags;\n\n/***/ },\n/* 611 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Copyright 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @providesModule ReactDOMIDOperations\n\t */\n\t\n\t'use strict';\n\t\n\tvar DOMChildrenOperations = __webpack_require__(137);\n\tvar ReactDOMComponentTree = __webpack_require__(9);\n\t\n\t/**\n\t * Operations used to process updates to DOM nodes.\n\t */\n\tvar ReactDOMIDOperations = {\n\t\n\t /**\n\t * Updates a component's children by processing a series of updates.\n\t *\n\t * @param {array<object>} updates List of update configurations.\n\t * @internal\n\t */\n\t dangerouslyProcessChildrenUpdates: function (parentInst, updates) {\n\t var node = ReactDOMComponentTree.getNodeFromInstance(parentInst);\n\t DOMChildrenOperations.processUpdates(node, updates);\n\t }\n\t};\n\t\n\tmodule.exports = ReactDOMIDOperations;\n\n/***/ },\n/* 612 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Copyright 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @providesModule ReactDOMInput\n\t */\n\t\n\t'use strict';\n\t\n\tvar _prodInvariant = __webpack_require__(4),\n\t _assign = __webpack_require__(6);\n\t\n\tvar DisabledInputUtils = __webpack_require__(94);\n\tvar DOMPropertyOperations = __webpack_require__(326);\n\tvar LinkedValueUtils = __webpack_require__(142);\n\tvar ReactDOMComponentTree = __webpack_require__(9);\n\tvar ReactUpdates = __webpack_require__(30);\n\t\n\tvar invariant = __webpack_require__(3);\n\tvar warning = __webpack_require__(5);\n\t\n\tvar didWarnValueLink = false;\n\tvar didWarnCheckedLink = false;\n\tvar didWarnValueDefaultValue = false;\n\tvar didWarnCheckedDefaultChecked = false;\n\tvar didWarnControlledToUncontrolled = false;\n\tvar didWarnUncontrolledToControlled = false;\n\t\n\tfunction forceUpdateIfMounted() {\n\t if (this._rootNodeID) {\n\t // DOM component is still mounted; update\n\t ReactDOMInput.updateWrapper(this);\n\t }\n\t}\n\t\n\tfunction isControlled(props) {\n\t var usesChecked = props.type === 'checkbox' || props.type === 'radio';\n\t return usesChecked ? props.checked != null : props.value != null;\n\t}\n\t\n\t/**\n\t * Implements an <input> host component that allows setting these optional\n\t * props: `checked`, `value`, `defaultChecked`, and `defaultValue`.\n\t *\n\t * If `checked` or `value` are not supplied (or null/undefined), user actions\n\t * that affect the checked state or value will trigger updates to the element.\n\t *\n\t * If they are supplied (and not null/undefined), the rendered element will not\n\t * trigger updates to the element. Instead, the props must change in order for\n\t * the rendered element to be updated.\n\t *\n\t * The rendered element will be initialized as unchecked (or `defaultChecked`)\n\t * with an empty value (or `defaultValue`).\n\t *\n\t * @see http://www.w3.org/TR/2012/WD-html5-20121025/the-input-element.html\n\t */\n\tvar ReactDOMInput = {\n\t getHostProps: function (inst, props) {\n\t var value = LinkedValueUtils.getValue(props);\n\t var checked = LinkedValueUtils.getChecked(props);\n\t\n\t var hostProps = _assign({\n\t // Make sure we set .type before any other properties (setting .value\n\t // before .type means .value is lost in IE11 and below)\n\t type: undefined,\n\t // Make sure we set .step before .value (setting .value before .step\n\t // means .value is rounded on mount, based upon step precision)\n\t step: undefined,\n\t // Make sure we set .min & .max before .value (to ensure proper order\n\t // in corner cases such as min or max deriving from value, e.g. Issue #7170)\n\t min: undefined,\n\t max: undefined\n\t }, DisabledInputUtils.getHostProps(inst, props), {\n\t defaultChecked: undefined,\n\t defaultValue: undefined,\n\t value: value != null ? value : inst._wrapperState.initialValue,\n\t checked: checked != null ? checked : inst._wrapperState.initialChecked,\n\t onChange: inst._wrapperState.onChange\n\t });\n\t\n\t return hostProps;\n\t },\n\t\n\t mountWrapper: function (inst, props) {\n\t if (false) {\n\t LinkedValueUtils.checkPropTypes('input', props, inst._currentElement._owner);\n\t\n\t var owner = inst._currentElement._owner;\n\t\n\t if (props.valueLink !== undefined && !didWarnValueLink) {\n\t process.env.NODE_ENV !== 'production' ? warning(false, '`valueLink` prop on `input` is deprecated; set `value` and `onChange` instead.') : void 0;\n\t didWarnValueLink = true;\n\t }\n\t if (props.checkedLink !== undefined && !didWarnCheckedLink) {\n\t process.env.NODE_ENV !== 'production' ? warning(false, '`checkedLink` prop on `input` is deprecated; set `value` and `onChange` instead.') : void 0;\n\t didWarnCheckedLink = true;\n\t }\n\t if (props.checked !== undefined && props.defaultChecked !== undefined && !didWarnCheckedDefaultChecked) {\n\t process.env.NODE_ENV !== 'production' ? warning(false, '%s contains an input of type %s with both checked and defaultChecked props. ' + 'Input elements must be either controlled or uncontrolled ' + '(specify either the checked prop, or the defaultChecked prop, but not ' + 'both). Decide between using a controlled or uncontrolled input ' + 'element and remove one of these props. More info: ' + 'https://fb.me/react-controlled-components', owner && owner.getName() || 'A component', props.type) : void 0;\n\t didWarnCheckedDefaultChecked = true;\n\t }\n\t if (props.value !== undefined && props.defaultValue !== undefined && !didWarnValueDefaultValue) {\n\t process.env.NODE_ENV !== 'production' ? warning(false, '%s contains an input of type %s with both value and defaultValue props. ' + 'Input elements must be either controlled or uncontrolled ' + '(specify either the value prop, or the defaultValue prop, but not ' + 'both). Decide between using a controlled or uncontrolled input ' + 'element and remove one of these props. More info: ' + 'https://fb.me/react-controlled-components', owner && owner.getName() || 'A component', props.type) : void 0;\n\t didWarnValueDefaultValue = true;\n\t }\n\t }\n\t\n\t var defaultValue = props.defaultValue;\n\t inst._wrapperState = {\n\t initialChecked: props.checked != null ? props.checked : props.defaultChecked,\n\t initialValue: props.value != null ? props.value : defaultValue,\n\t listeners: null,\n\t onChange: _handleChange.bind(inst)\n\t };\n\t\n\t if (false) {\n\t inst._wrapperState.controlled = isControlled(props);\n\t }\n\t },\n\t\n\t updateWrapper: function (inst) {\n\t var props = inst._currentElement.props;\n\t\n\t if (false) {\n\t var controlled = isControlled(props);\n\t var owner = inst._currentElement._owner;\n\t\n\t if (!inst._wrapperState.controlled && controlled && !didWarnUncontrolledToControlled) {\n\t process.env.NODE_ENV !== 'production' ? warning(false, '%s is changing an uncontrolled input of type %s to be controlled. ' + 'Input elements should not switch from uncontrolled to controlled (or vice versa). ' + 'Decide between using a controlled or uncontrolled input ' + 'element for the lifetime of the component. More info: https://fb.me/react-controlled-components', owner && owner.getName() || 'A component', props.type) : void 0;\n\t didWarnUncontrolledToControlled = true;\n\t }\n\t if (inst._wrapperState.controlled && !controlled && !didWarnControlledToUncontrolled) {\n\t process.env.NODE_ENV !== 'production' ? warning(false, '%s is changing a controlled input of type %s to be uncontrolled. ' + 'Input elements should not switch from controlled to uncontrolled (or vice versa). ' + 'Decide between using a controlled or uncontrolled input ' + 'element for the lifetime of the component. More info: https://fb.me/react-controlled-components', owner && owner.getName() || 'A component', props.type) : void 0;\n\t didWarnControlledToUncontrolled = true;\n\t }\n\t }\n\t\n\t // TODO: Shouldn't this be getChecked(props)?\n\t var checked = props.checked;\n\t if (checked != null) {\n\t DOMPropertyOperations.setValueForProperty(ReactDOMComponentTree.getNodeFromInstance(inst), 'checked', checked || false);\n\t }\n\t\n\t var node = ReactDOMComponentTree.getNodeFromInstance(inst);\n\t var value = LinkedValueUtils.getValue(props);\n\t if (value != null) {\n\t\n\t // Cast `value` to a string to ensure the value is set correctly. While\n\t // browsers typically do this as necessary, jsdom doesn't.\n\t var newValue = '' + value;\n\t\n\t // To avoid side effects (such as losing text selection), only set value if changed\n\t if (newValue !== node.value) {\n\t node.value = newValue;\n\t }\n\t } else {\n\t if (props.value == null && props.defaultValue != null) {\n\t node.defaultValue = '' + props.defaultValue;\n\t }\n\t if (props.checked == null && props.defaultChecked != null) {\n\t node.defaultChecked = !!props.defaultChecked;\n\t }\n\t }\n\t },\n\t\n\t postMountWrapper: function (inst) {\n\t var props = inst._currentElement.props;\n\t\n\t // This is in postMount because we need access to the DOM node, which is not\n\t // available until after the component has mounted.\n\t var node = ReactDOMComponentTree.getNodeFromInstance(inst);\n\t\n\t // Detach value from defaultValue. We won't do anything if we're working on\n\t // submit or reset inputs as those values & defaultValues are linked. They\n\t // are not resetable nodes so this operation doesn't matter and actually\n\t // removes browser-default values (eg \"Submit Query\") when no value is\n\t // provided.\n\t\n\t switch (props.type) {\n\t case 'submit':\n\t case 'reset':\n\t break;\n\t case 'color':\n\t case 'date':\n\t case 'datetime':\n\t case 'datetime-local':\n\t case 'month':\n\t case 'time':\n\t case 'week':\n\t // This fixes the no-show issue on iOS Safari and Android Chrome:\n\t // https://github.com/facebook/react/issues/7233\n\t node.value = '';\n\t node.value = node.defaultValue;\n\t break;\n\t default:\n\t node.value = node.value;\n\t break;\n\t }\n\t\n\t // Normally, we'd just do `node.checked = node.checked` upon initial mount, less this bug\n\t // this is needed to work around a chrome bug where setting defaultChecked\n\t // will sometimes influence the value of checked (even after detachment).\n\t // Reference: https://bugs.chromium.org/p/chromium/issues/detail?id=608416\n\t // We need to temporarily unset name to avoid disrupting radio button groups.\n\t var name = node.name;\n\t if (name !== '') {\n\t node.name = '';\n\t }\n\t node.defaultChecked = !node.defaultChecked;\n\t node.defaultChecked = !node.defaultChecked;\n\t if (name !== '') {\n\t node.name = name;\n\t }\n\t }\n\t};\n\t\n\tfunction _handleChange(event) {\n\t var props = this._currentElement.props;\n\t\n\t var returnValue = LinkedValueUtils.executeOnChange(props, event);\n\t\n\t // Here we use asap to wait until all updates have propagated, which\n\t // is important when using controlled components within layers:\n\t // https://github.com/facebook/react/issues/1698\n\t ReactUpdates.asap(forceUpdateIfMounted, this);\n\t\n\t var name = props.name;\n\t if (props.type === 'radio' && name != null) {\n\t var rootNode = ReactDOMComponentTree.getNodeFromInstance(this);\n\t var queryRoot = rootNode;\n\t\n\t while (queryRoot.parentNode) {\n\t queryRoot = queryRoot.parentNode;\n\t }\n\t\n\t // If `rootNode.form` was non-null, then we could try `form.elements`,\n\t // but that sometimes behaves strangely in IE8. We could also try using\n\t // `form.getElementsByName`, but that will only return direct children\n\t // and won't include inputs that use the HTML5 `form=` attribute. Since\n\t // the input might not even be in a form, let's just use the global\n\t // `querySelectorAll` to ensure we don't miss anything.\n\t var group = queryRoot.querySelectorAll('input[name=' + JSON.stringify('' + name) + '][type=\"radio\"]');\n\t\n\t for (var i = 0; i < group.length; i++) {\n\t var otherNode = group[i];\n\t if (otherNode === rootNode || otherNode.form !== rootNode.form) {\n\t continue;\n\t }\n\t // This will throw if radio buttons rendered by different copies of React\n\t // and the same name are rendered into the same form (same as #1939).\n\t // That's probably okay; we don't support it just as we don't support\n\t // mixing React radio buttons with non-React ones.\n\t var otherInstance = ReactDOMComponentTree.getInstanceFromNode(otherNode);\n\t !otherInstance ? false ? invariant(false, 'ReactDOMInput: Mixing React and non-React radio inputs with the same `name` is not supported.') : _prodInvariant('90') : void 0;\n\t // If this is a controlled radio button group, forcing the input that\n\t // was previously checked to update will cause it to be come re-checked\n\t // as appropriate.\n\t ReactUpdates.asap(forceUpdateIfMounted, otherInstance);\n\t }\n\t }\n\t\n\t return returnValue;\n\t}\n\t\n\tmodule.exports = ReactDOMInput;\n\n/***/ },\n/* 613 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Copyright 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @providesModule ReactDOMOption\n\t */\n\t\n\t'use strict';\n\t\n\tvar _assign = __webpack_require__(6);\n\t\n\tvar ReactChildren = __webpack_require__(327);\n\tvar ReactDOMComponentTree = __webpack_require__(9);\n\tvar ReactDOMSelect = __webpack_require__(330);\n\t\n\tvar warning = __webpack_require__(5);\n\tvar didWarnInvalidOptionChildren = false;\n\t\n\tfunction flattenChildren(children) {\n\t var content = '';\n\t\n\t // Flatten children and warn if they aren't strings or numbers;\n\t // invalid types are ignored.\n\t ReactChildren.forEach(children, function (child) {\n\t if (child == null) {\n\t return;\n\t }\n\t if (typeof child === 'string' || typeof child === 'number') {\n\t content += child;\n\t } else if (!didWarnInvalidOptionChildren) {\n\t didWarnInvalidOptionChildren = true;\n\t false ? warning(false, 'Only strings and numbers are supported as <option> children.') : void 0;\n\t }\n\t });\n\t\n\t return content;\n\t}\n\t\n\t/**\n\t * Implements an <option> host component that warns when `selected` is set.\n\t */\n\tvar ReactDOMOption = {\n\t mountWrapper: function (inst, props, hostParent) {\n\t // TODO (yungsters): Remove support for `selected` in <option>.\n\t if (false) {\n\t process.env.NODE_ENV !== 'production' ? warning(props.selected == null, 'Use the `defaultValue` or `value` props on <select> instead of ' + 'setting `selected` on <option>.') : void 0;\n\t }\n\t\n\t // Look up whether this option is 'selected'\n\t var selectValue = null;\n\t if (hostParent != null) {\n\t var selectParent = hostParent;\n\t\n\t if (selectParent._tag === 'optgroup') {\n\t selectParent = selectParent._hostParent;\n\t }\n\t\n\t if (selectParent != null && selectParent._tag === 'select') {\n\t selectValue = ReactDOMSelect.getSelectValueContext(selectParent);\n\t }\n\t }\n\t\n\t // If the value is null (e.g., no specified value or after initial mount)\n\t // or missing (e.g., for <datalist>), we don't change props.selected\n\t var selected = null;\n\t if (selectValue != null) {\n\t var value;\n\t if (props.value != null) {\n\t value = props.value + '';\n\t } else {\n\t value = flattenChildren(props.children);\n\t }\n\t selected = false;\n\t if (Array.isArray(selectValue)) {\n\t // multiple\n\t for (var i = 0; i < selectValue.length; i++) {\n\t if ('' + selectValue[i] === value) {\n\t selected = true;\n\t break;\n\t }\n\t }\n\t } else {\n\t selected = '' + selectValue === value;\n\t }\n\t }\n\t\n\t inst._wrapperState = { selected: selected };\n\t },\n\t\n\t postMountWrapper: function (inst) {\n\t // value=\"\" should make a value attribute (#6219)\n\t var props = inst._currentElement.props;\n\t if (props.value != null) {\n\t var node = ReactDOMComponentTree.getNodeFromInstance(inst);\n\t node.setAttribute('value', props.value);\n\t }\n\t },\n\t\n\t getHostProps: function (inst, props) {\n\t var hostProps = _assign({ selected: undefined, children: undefined }, props);\n\t\n\t // Read state only from initial mount because <select> updates value\n\t // manually; we need the initial state only for server rendering\n\t if (inst._wrapperState.selected != null) {\n\t hostProps.selected = inst._wrapperState.selected;\n\t }\n\t\n\t var content = flattenChildren(props.children);\n\t\n\t if (content) {\n\t hostProps.children = content;\n\t }\n\t\n\t return hostProps;\n\t }\n\t\n\t};\n\t\n\tmodule.exports = ReactDOMOption;\n\n/***/ },\n/* 614 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Copyright 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @providesModule ReactDOMSelection\n\t */\n\t\n\t'use strict';\n\t\n\tvar ExecutionEnvironment = __webpack_require__(18);\n\t\n\tvar getNodeForCharacterOffset = __webpack_require__(650);\n\tvar getTextContentAccessor = __webpack_require__(346);\n\t\n\t/**\n\t * While `isCollapsed` is available on the Selection object and `collapsed`\n\t * is available on the Range object, IE11 sometimes gets them wrong.\n\t * If the anchor/focus nodes and offsets are the same, the range is collapsed.\n\t */\n\tfunction isCollapsed(anchorNode, anchorOffset, focusNode, focusOffset) {\n\t return anchorNode === focusNode && anchorOffset === focusOffset;\n\t}\n\t\n\t/**\n\t * Get the appropriate anchor and focus node/offset pairs for IE.\n\t *\n\t * The catch here is that IE's selection API doesn't provide information\n\t * about whether the selection is forward or backward, so we have to\n\t * behave as though it's always forward.\n\t *\n\t * IE text differs from modern selection in that it behaves as though\n\t * block elements end with a new line. This means character offsets will\n\t * differ between the two APIs.\n\t *\n\t * @param {DOMElement} node\n\t * @return {object}\n\t */\n\tfunction getIEOffsets(node) {\n\t var selection = document.selection;\n\t var selectedRange = selection.createRange();\n\t var selectedLength = selectedRange.text.length;\n\t\n\t // Duplicate selection so we can move range without breaking user selection.\n\t var fromStart = selectedRange.duplicate();\n\t fromStart.moveToElementText(node);\n\t fromStart.setEndPoint('EndToStart', selectedRange);\n\t\n\t var startOffset = fromStart.text.length;\n\t var endOffset = startOffset + selectedLength;\n\t\n\t return {\n\t start: startOffset,\n\t end: endOffset\n\t };\n\t}\n\t\n\t/**\n\t * @param {DOMElement} node\n\t * @return {?object}\n\t */\n\tfunction getModernOffsets(node) {\n\t var selection = window.getSelection && window.getSelection();\n\t\n\t if (!selection || selection.rangeCount === 0) {\n\t return null;\n\t }\n\t\n\t var anchorNode = selection.anchorNode;\n\t var anchorOffset = selection.anchorOffset;\n\t var focusNode = selection.focusNode;\n\t var focusOffset = selection.focusOffset;\n\t\n\t var currentRange = selection.getRangeAt(0);\n\t\n\t // In Firefox, range.startContainer and range.endContainer can be \"anonymous\n\t // divs\", e.g. the up/down buttons on an <input type=\"number\">. Anonymous\n\t // divs do not seem to expose properties, triggering a \"Permission denied\n\t // error\" if any of its properties are accessed. The only seemingly possible\n\t // way to avoid erroring is to access a property that typically works for\n\t // non-anonymous divs and catch any error that may otherwise arise. See\n\t // https://bugzilla.mozilla.org/show_bug.cgi?id=208427\n\t try {\n\t /* eslint-disable no-unused-expressions */\n\t currentRange.startContainer.nodeType;\n\t currentRange.endContainer.nodeType;\n\t /* eslint-enable no-unused-expressions */\n\t } catch (e) {\n\t return null;\n\t }\n\t\n\t // If the node and offset values are the same, the selection is collapsed.\n\t // `Selection.isCollapsed` is available natively, but IE sometimes gets\n\t // this value wrong.\n\t var isSelectionCollapsed = isCollapsed(selection.anchorNode, selection.anchorOffset, selection.focusNode, selection.focusOffset);\n\t\n\t var rangeLength = isSelectionCollapsed ? 0 : currentRange.toString().length;\n\t\n\t var tempRange = currentRange.cloneRange();\n\t tempRange.selectNodeContents(node);\n\t tempRange.setEnd(currentRange.startContainer, currentRange.startOffset);\n\t\n\t var isTempRangeCollapsed = isCollapsed(tempRange.startContainer, tempRange.startOffset, tempRange.endContainer, tempRange.endOffset);\n\t\n\t var start = isTempRangeCollapsed ? 0 : tempRange.toString().length;\n\t var end = start + rangeLength;\n\t\n\t // Detect whether the selection is backward.\n\t var detectionRange = document.createRange();\n\t detectionRange.setStart(anchorNode, anchorOffset);\n\t detectionRange.setEnd(focusNode, focusOffset);\n\t var isBackward = detectionRange.collapsed;\n\t\n\t return {\n\t start: isBackward ? end : start,\n\t end: isBackward ? start : end\n\t };\n\t}\n\t\n\t/**\n\t * @param {DOMElement|DOMTextNode} node\n\t * @param {object} offsets\n\t */\n\tfunction setIEOffsets(node, offsets) {\n\t var range = document.selection.createRange().duplicate();\n\t var start, end;\n\t\n\t if (offsets.end === undefined) {\n\t start = offsets.start;\n\t end = start;\n\t } else if (offsets.start > offsets.end) {\n\t start = offsets.end;\n\t end = offsets.start;\n\t } else {\n\t start = offsets.start;\n\t end = offsets.end;\n\t }\n\t\n\t range.moveToElementText(node);\n\t range.moveStart('character', start);\n\t range.setEndPoint('EndToStart', range);\n\t range.moveEnd('character', end - start);\n\t range.select();\n\t}\n\t\n\t/**\n\t * In modern non-IE browsers, we can support both forward and backward\n\t * selections.\n\t *\n\t * Note: IE10+ supports the Selection object, but it does not support\n\t * the `extend` method, which means that even in modern IE, it's not possible\n\t * to programmatically create a backward selection. Thus, for all IE\n\t * versions, we use the old IE API to create our selections.\n\t *\n\t * @param {DOMElement|DOMTextNode} node\n\t * @param {object} offsets\n\t */\n\tfunction setModernOffsets(node, offsets) {\n\t if (!window.getSelection) {\n\t return;\n\t }\n\t\n\t var selection = window.getSelection();\n\t var length = node[getTextContentAccessor()].length;\n\t var start = Math.min(offsets.start, length);\n\t var end = offsets.end === undefined ? start : Math.min(offsets.end, length);\n\t\n\t // IE 11 uses modern selection, but doesn't support the extend method.\n\t // Flip backward selections, so we can set with a single range.\n\t if (!selection.extend && start > end) {\n\t var temp = end;\n\t end = start;\n\t start = temp;\n\t }\n\t\n\t var startMarker = getNodeForCharacterOffset(node, start);\n\t var endMarker = getNodeForCharacterOffset(node, end);\n\t\n\t if (startMarker && endMarker) {\n\t var range = document.createRange();\n\t range.setStart(startMarker.node, startMarker.offset);\n\t selection.removeAllRanges();\n\t\n\t if (start > end) {\n\t selection.addRange(range);\n\t selection.extend(endMarker.node, endMarker.offset);\n\t } else {\n\t range.setEnd(endMarker.node, endMarker.offset);\n\t selection.addRange(range);\n\t }\n\t }\n\t}\n\t\n\tvar useIEOffsets = ExecutionEnvironment.canUseDOM && 'selection' in document && !('getSelection' in window);\n\t\n\tvar ReactDOMSelection = {\n\t /**\n\t * @param {DOMElement} node\n\t */\n\t getOffsets: useIEOffsets ? getIEOffsets : getModernOffsets,\n\t\n\t /**\n\t * @param {DOMElement|DOMTextNode} node\n\t * @param {object} offsets\n\t */\n\t setOffsets: useIEOffsets ? setIEOffsets : setModernOffsets\n\t};\n\t\n\tmodule.exports = ReactDOMSelection;\n\n/***/ },\n/* 615 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Copyright 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @providesModule ReactDOMTextComponent\n\t */\n\t\n\t'use strict';\n\t\n\tvar _prodInvariant = __webpack_require__(4),\n\t _assign = __webpack_require__(6);\n\t\n\tvar DOMChildrenOperations = __webpack_require__(137);\n\tvar DOMLazyTree = __webpack_require__(53);\n\tvar ReactDOMComponentTree = __webpack_require__(9);\n\t\n\tvar escapeTextContentForBrowser = __webpack_require__(97);\n\tvar invariant = __webpack_require__(3);\n\tvar validateDOMNesting = __webpack_require__(159);\n\t\n\t/**\n\t * Text nodes violate a couple assumptions that React makes about components:\n\t *\n\t * - When mounting text into the DOM, adjacent text nodes are merged.\n\t * - Text nodes cannot be assigned a React root ID.\n\t *\n\t * This component is used to wrap strings between comment nodes so that they\n\t * can undergo the same reconciliation that is applied to elements.\n\t *\n\t * TODO: Investigate representing React components in the DOM with text nodes.\n\t *\n\t * @class ReactDOMTextComponent\n\t * @extends ReactComponent\n\t * @internal\n\t */\n\tvar ReactDOMTextComponent = function (text) {\n\t // TODO: This is really a ReactText (ReactNode), not a ReactElement\n\t this._currentElement = text;\n\t this._stringText = '' + text;\n\t // ReactDOMComponentTree uses these:\n\t this._hostNode = null;\n\t this._hostParent = null;\n\t\n\t // Properties\n\t this._domID = 0;\n\t this._mountIndex = 0;\n\t this._closingComment = null;\n\t this._commentNodes = null;\n\t};\n\t\n\t_assign(ReactDOMTextComponent.prototype, {\n\t\n\t /**\n\t * Creates the markup for this text node. This node is not intended to have\n\t * any features besides containing text content.\n\t *\n\t * @param {ReactReconcileTransaction|ReactServerRenderingTransaction} transaction\n\t * @return {string} Markup for this text node.\n\t * @internal\n\t */\n\t mountComponent: function (transaction, hostParent, hostContainerInfo, context) {\n\t if (false) {\n\t var parentInfo;\n\t if (hostParent != null) {\n\t parentInfo = hostParent._ancestorInfo;\n\t } else if (hostContainerInfo != null) {\n\t parentInfo = hostContainerInfo._ancestorInfo;\n\t }\n\t if (parentInfo) {\n\t // parentInfo should always be present except for the top-level\n\t // component when server rendering\n\t validateDOMNesting(null, this._stringText, this, parentInfo);\n\t }\n\t }\n\t\n\t var domID = hostContainerInfo._idCounter++;\n\t var openingValue = ' react-text: ' + domID + ' ';\n\t var closingValue = ' /react-text ';\n\t this._domID = domID;\n\t this._hostParent = hostParent;\n\t if (transaction.useCreateElement) {\n\t var ownerDocument = hostContainerInfo._ownerDocument;\n\t var openingComment = ownerDocument.createComment(openingValue);\n\t var closingComment = ownerDocument.createComment(closingValue);\n\t var lazyTree = DOMLazyTree(ownerDocument.createDocumentFragment());\n\t DOMLazyTree.queueChild(lazyTree, DOMLazyTree(openingComment));\n\t if (this._stringText) {\n\t DOMLazyTree.queueChild(lazyTree, DOMLazyTree(ownerDocument.createTextNode(this._stringText)));\n\t }\n\t DOMLazyTree.queueChild(lazyTree, DOMLazyTree(closingComment));\n\t ReactDOMComponentTree.precacheNode(this, openingComment);\n\t this._closingComment = closingComment;\n\t return lazyTree;\n\t } else {\n\t var escapedText = escapeTextContentForBrowser(this._stringText);\n\t\n\t if (transaction.renderToStaticMarkup) {\n\t // Normally we'd wrap this between comment nodes for the reasons stated\n\t // above, but since this is a situation where React won't take over\n\t // (static pages), we can simply return the text as it is.\n\t return escapedText;\n\t }\n\t\n\t return '<!--' + openingValue + '-->' + escapedText + '<!--' + closingValue + '-->';\n\t }\n\t },\n\t\n\t /**\n\t * Updates this component by updating the text content.\n\t *\n\t * @param {ReactText} nextText The next text content\n\t * @param {ReactReconcileTransaction} transaction\n\t * @internal\n\t */\n\t receiveComponent: function (nextText, transaction) {\n\t if (nextText !== this._currentElement) {\n\t this._currentElement = nextText;\n\t var nextStringText = '' + nextText;\n\t if (nextStringText !== this._stringText) {\n\t // TODO: Save this as pending props and use performUpdateIfNecessary\n\t // and/or updateComponent to do the actual update for consistency with\n\t // other component types?\n\t this._stringText = nextStringText;\n\t var commentNodes = this.getHostNode();\n\t DOMChildrenOperations.replaceDelimitedText(commentNodes[0], commentNodes[1], nextStringText);\n\t }\n\t }\n\t },\n\t\n\t getHostNode: function () {\n\t var hostNode = this._commentNodes;\n\t if (hostNode) {\n\t return hostNode;\n\t }\n\t if (!this._closingComment) {\n\t var openingComment = ReactDOMComponentTree.getNodeFromInstance(this);\n\t var node = openingComment.nextSibling;\n\t while (true) {\n\t !(node != null) ? false ? invariant(false, 'Missing closing comment for text component %s', this._domID) : _prodInvariant('67', this._domID) : void 0;\n\t if (node.nodeType === 8 && node.nodeValue === ' /react-text ') {\n\t this._closingComment = node;\n\t break;\n\t }\n\t node = node.nextSibling;\n\t }\n\t }\n\t hostNode = [this._hostNode, this._closingComment];\n\t this._commentNodes = hostNode;\n\t return hostNode;\n\t },\n\t\n\t unmountComponent: function () {\n\t this._closingComment = null;\n\t this._commentNodes = null;\n\t ReactDOMComponentTree.uncacheNode(this);\n\t }\n\t\n\t});\n\t\n\tmodule.exports = ReactDOMTextComponent;\n\n/***/ },\n/* 616 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Copyright 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @providesModule ReactDOMTextarea\n\t */\n\t\n\t'use strict';\n\t\n\tvar _prodInvariant = __webpack_require__(4),\n\t _assign = __webpack_require__(6);\n\t\n\tvar DisabledInputUtils = __webpack_require__(94);\n\tvar LinkedValueUtils = __webpack_require__(142);\n\tvar ReactDOMComponentTree = __webpack_require__(9);\n\tvar ReactUpdates = __webpack_require__(30);\n\t\n\tvar invariant = __webpack_require__(3);\n\tvar warning = __webpack_require__(5);\n\t\n\tvar didWarnValueLink = false;\n\tvar didWarnValDefaultVal = false;\n\t\n\tfunction forceUpdateIfMounted() {\n\t if (this._rootNodeID) {\n\t // DOM component is still mounted; update\n\t ReactDOMTextarea.updateWrapper(this);\n\t }\n\t}\n\t\n\t/**\n\t * Implements a <textarea> host component that allows setting `value`, and\n\t * `defaultValue`. This differs from the traditional DOM API because value is\n\t * usually set as PCDATA children.\n\t *\n\t * If `value` is not supplied (or null/undefined), user actions that affect the\n\t * value will trigger updates to the element.\n\t *\n\t * If `value` is supplied (and not null/undefined), the rendered element will\n\t * not trigger updates to the element. Instead, the `value` prop must change in\n\t * order for the rendered element to be updated.\n\t *\n\t * The rendered element will be initialized with an empty value, the prop\n\t * `defaultValue` if specified, or the children content (deprecated).\n\t */\n\tvar ReactDOMTextarea = {\n\t getHostProps: function (inst, props) {\n\t !(props.dangerouslySetInnerHTML == null) ? false ? invariant(false, '`dangerouslySetInnerHTML` does not make sense on <textarea>.') : _prodInvariant('91') : void 0;\n\t\n\t // Always set children to the same thing. In IE9, the selection range will\n\t // get reset if `textContent` is mutated. We could add a check in setTextContent\n\t // to only set the value if/when the value differs from the node value (which would\n\t // completely solve this IE9 bug), but Sebastian+Ben seemed to like this solution.\n\t // The value can be a boolean or object so that's why it's forced to be a string.\n\t var hostProps = _assign({}, DisabledInputUtils.getHostProps(inst, props), {\n\t value: undefined,\n\t defaultValue: undefined,\n\t children: '' + inst._wrapperState.initialValue,\n\t onChange: inst._wrapperState.onChange\n\t });\n\t\n\t return hostProps;\n\t },\n\t\n\t mountWrapper: function (inst, props) {\n\t if (false) {\n\t LinkedValueUtils.checkPropTypes('textarea', props, inst._currentElement._owner);\n\t if (props.valueLink !== undefined && !didWarnValueLink) {\n\t process.env.NODE_ENV !== 'production' ? warning(false, '`valueLink` prop on `textarea` is deprecated; set `value` and `onChange` instead.') : void 0;\n\t didWarnValueLink = true;\n\t }\n\t if (props.value !== undefined && props.defaultValue !== undefined && !didWarnValDefaultVal) {\n\t process.env.NODE_ENV !== 'production' ? warning(false, 'Textarea elements must be either controlled or uncontrolled ' + '(specify either the value prop, or the defaultValue prop, but not ' + 'both). Decide between using a controlled or uncontrolled textarea ' + 'and remove one of these props. More info: ' + 'https://fb.me/react-controlled-components') : void 0;\n\t didWarnValDefaultVal = true;\n\t }\n\t }\n\t\n\t var value = LinkedValueUtils.getValue(props);\n\t var initialValue = value;\n\t\n\t // Only bother fetching default value if we're going to use it\n\t if (value == null) {\n\t var defaultValue = props.defaultValue;\n\t // TODO (yungsters): Remove support for children content in <textarea>.\n\t var children = props.children;\n\t if (children != null) {\n\t if (false) {\n\t process.env.NODE_ENV !== 'production' ? warning(false, 'Use the `defaultValue` or `value` props instead of setting ' + 'children on <textarea>.') : void 0;\n\t }\n\t !(defaultValue == null) ? false ? invariant(false, 'If you supply `defaultValue` on a <textarea>, do not pass children.') : _prodInvariant('92') : void 0;\n\t if (Array.isArray(children)) {\n\t !(children.length <= 1) ? false ? invariant(false, '<textarea> can only have at most one child.') : _prodInvariant('93') : void 0;\n\t children = children[0];\n\t }\n\t\n\t defaultValue = '' + children;\n\t }\n\t if (defaultValue == null) {\n\t defaultValue = '';\n\t }\n\t initialValue = defaultValue;\n\t }\n\t\n\t inst._wrapperState = {\n\t initialValue: '' + initialValue,\n\t listeners: null,\n\t onChange: _handleChange.bind(inst)\n\t };\n\t },\n\t\n\t updateWrapper: function (inst) {\n\t var props = inst._currentElement.props;\n\t\n\t var node = ReactDOMComponentTree.getNodeFromInstance(inst);\n\t var value = LinkedValueUtils.getValue(props);\n\t if (value != null) {\n\t // Cast `value` to a string to ensure the value is set correctly. While\n\t // browsers typically do this as necessary, jsdom doesn't.\n\t var newValue = '' + value;\n\t\n\t // To avoid side effects (such as losing text selection), only set value if changed\n\t if (newValue !== node.value) {\n\t node.value = newValue;\n\t }\n\t if (props.defaultValue == null) {\n\t node.defaultValue = newValue;\n\t }\n\t }\n\t if (props.defaultValue != null) {\n\t node.defaultValue = props.defaultValue;\n\t }\n\t },\n\t\n\t postMountWrapper: function (inst) {\n\t // This is in postMount because we need access to the DOM node, which is not\n\t // available until after the component has mounted.\n\t var node = ReactDOMComponentTree.getNodeFromInstance(inst);\n\t\n\t // Warning: node.value may be the empty string at this point (IE11) if placeholder is set.\n\t node.value = node.textContent; // Detach value from defaultValue\n\t }\n\t};\n\t\n\tfunction _handleChange(event) {\n\t var props = this._currentElement.props;\n\t var returnValue = LinkedValueUtils.executeOnChange(props, event);\n\t ReactUpdates.asap(forceUpdateIfMounted, this);\n\t return returnValue;\n\t}\n\t\n\tmodule.exports = ReactDOMTextarea;\n\n/***/ },\n/* 617 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Copyright 2015-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @providesModule ReactDOMTreeTraversal\n\t */\n\t\n\t'use strict';\n\t\n\tvar _prodInvariant = __webpack_require__(4);\n\t\n\tvar invariant = __webpack_require__(3);\n\t\n\t/**\n\t * Return the lowest common ancestor of A and B, or null if they are in\n\t * different trees.\n\t */\n\tfunction getLowestCommonAncestor(instA, instB) {\n\t !('_hostNode' in instA) ? false ? invariant(false, 'getNodeFromInstance: Invalid argument.') : _prodInvariant('33') : void 0;\n\t !('_hostNode' in instB) ? false ? invariant(false, 'getNodeFromInstance: Invalid argument.') : _prodInvariant('33') : void 0;\n\t\n\t var depthA = 0;\n\t for (var tempA = instA; tempA; tempA = tempA._hostParent) {\n\t depthA++;\n\t }\n\t var depthB = 0;\n\t for (var tempB = instB; tempB; tempB = tempB._hostParent) {\n\t depthB++;\n\t }\n\t\n\t // If A is deeper, crawl up.\n\t while (depthA - depthB > 0) {\n\t instA = instA._hostParent;\n\t depthA--;\n\t }\n\t\n\t // If B is deeper, crawl up.\n\t while (depthB - depthA > 0) {\n\t instB = instB._hostParent;\n\t depthB--;\n\t }\n\t\n\t // Walk in lockstep until we find a match.\n\t var depth = depthA;\n\t while (depth--) {\n\t if (instA === instB) {\n\t return instA;\n\t }\n\t instA = instA._hostParent;\n\t instB = instB._hostParent;\n\t }\n\t return null;\n\t}\n\t\n\t/**\n\t * Return if A is an ancestor of B.\n\t */\n\tfunction isAncestor(instA, instB) {\n\t !('_hostNode' in instA) ? false ? invariant(false, 'isAncestor: Invalid argument.') : _prodInvariant('35') : void 0;\n\t !('_hostNode' in instB) ? false ? invariant(false, 'isAncestor: Invalid argument.') : _prodInvariant('35') : void 0;\n\t\n\t while (instB) {\n\t if (instB === instA) {\n\t return true;\n\t }\n\t instB = instB._hostParent;\n\t }\n\t return false;\n\t}\n\t\n\t/**\n\t * Return the parent instance of the passed-in instance.\n\t */\n\tfunction getParentInstance(inst) {\n\t !('_hostNode' in inst) ? false ? invariant(false, 'getParentInstance: Invalid argument.') : _prodInvariant('36') : void 0;\n\t\n\t return inst._hostParent;\n\t}\n\t\n\t/**\n\t * Simulates the traversal of a two-phase, capture/bubble event dispatch.\n\t */\n\tfunction traverseTwoPhase(inst, fn, arg) {\n\t var path = [];\n\t while (inst) {\n\t path.push(inst);\n\t inst = inst._hostParent;\n\t }\n\t var i;\n\t for (i = path.length; i-- > 0;) {\n\t fn(path[i], false, arg);\n\t }\n\t for (i = 0; i < path.length; i++) {\n\t fn(path[i], true, arg);\n\t }\n\t}\n\t\n\t/**\n\t * Traverses the ID hierarchy and invokes the supplied `cb` on any IDs that\n\t * should would receive a `mouseEnter` or `mouseLeave` event.\n\t *\n\t * Does not invoke the callback on the nearest common ancestor because nothing\n\t * \"entered\" or \"left\" that element.\n\t */\n\tfunction traverseEnterLeave(from, to, fn, argFrom, argTo) {\n\t var common = from && to ? getLowestCommonAncestor(from, to) : null;\n\t var pathFrom = [];\n\t while (from && from !== common) {\n\t pathFrom.push(from);\n\t from = from._hostParent;\n\t }\n\t var pathTo = [];\n\t while (to && to !== common) {\n\t pathTo.push(to);\n\t to = to._hostParent;\n\t }\n\t var i;\n\t for (i = 0; i < pathFrom.length; i++) {\n\t fn(pathFrom[i], true, argFrom);\n\t }\n\t for (i = pathTo.length; i-- > 0;) {\n\t fn(pathTo[i], false, argTo);\n\t }\n\t}\n\t\n\tmodule.exports = {\n\t isAncestor: isAncestor,\n\t getLowestCommonAncestor: getLowestCommonAncestor,\n\t getParentInstance: getParentInstance,\n\t traverseTwoPhase: traverseTwoPhase,\n\t traverseEnterLeave: traverseEnterLeave\n\t};\n\n/***/ },\n/* 618 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Copyright 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @providesModule ReactDefaultBatchingStrategy\n\t */\n\t\n\t'use strict';\n\t\n\tvar _assign = __webpack_require__(6);\n\t\n\tvar ReactUpdates = __webpack_require__(30);\n\tvar Transaction = __webpack_require__(75);\n\t\n\tvar emptyFunction = __webpack_require__(24);\n\t\n\tvar RESET_BATCHED_UPDATES = {\n\t initialize: emptyFunction,\n\t close: function () {\n\t ReactDefaultBatchingStrategy.isBatchingUpdates = false;\n\t }\n\t};\n\t\n\tvar FLUSH_BATCHED_UPDATES = {\n\t initialize: emptyFunction,\n\t close: ReactUpdates.flushBatchedUpdates.bind(ReactUpdates)\n\t};\n\t\n\tvar TRANSACTION_WRAPPERS = [FLUSH_BATCHED_UPDATES, RESET_BATCHED_UPDATES];\n\t\n\tfunction ReactDefaultBatchingStrategyTransaction() {\n\t this.reinitializeTransaction();\n\t}\n\t\n\t_assign(ReactDefaultBatchingStrategyTransaction.prototype, Transaction.Mixin, {\n\t getTransactionWrappers: function () {\n\t return TRANSACTION_WRAPPERS;\n\t }\n\t});\n\t\n\tvar transaction = new ReactDefaultBatchingStrategyTransaction();\n\t\n\tvar ReactDefaultBatchingStrategy = {\n\t isBatchingUpdates: false,\n\t\n\t /**\n\t * Call the provided function in a context within which calls to `setState`\n\t * and friends are batched such that components aren't updated unnecessarily.\n\t */\n\t batchedUpdates: function (callback, a, b, c, d, e) {\n\t var alreadyBatchingUpdates = ReactDefaultBatchingStrategy.isBatchingUpdates;\n\t\n\t ReactDefaultBatchingStrategy.isBatchingUpdates = true;\n\t\n\t // The code is written this way to avoid extra allocations\n\t if (alreadyBatchingUpdates) {\n\t callback(a, b, c, d, e);\n\t } else {\n\t transaction.perform(callback, null, a, b, c, d, e);\n\t }\n\t }\n\t};\n\t\n\tmodule.exports = ReactDefaultBatchingStrategy;\n\n/***/ },\n/* 619 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Copyright 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @providesModule ReactDefaultInjection\n\t */\n\t\n\t'use strict';\n\t\n\tvar BeforeInputEventPlugin = __webpack_require__(592);\n\tvar ChangeEventPlugin = __webpack_require__(594);\n\tvar DefaultEventPluginOrder = __webpack_require__(596);\n\tvar EnterLeaveEventPlugin = __webpack_require__(597);\n\tvar HTMLDOMPropertyConfig = __webpack_require__(599);\n\tvar ReactComponentBrowserEnvironment = __webpack_require__(602);\n\tvar ReactDOMComponent = __webpack_require__(606);\n\tvar ReactDOMComponentTree = __webpack_require__(9);\n\tvar ReactDOMEmptyComponent = __webpack_require__(608);\n\tvar ReactDOMTreeTraversal = __webpack_require__(617);\n\tvar ReactDOMTextComponent = __webpack_require__(615);\n\tvar ReactDefaultBatchingStrategy = __webpack_require__(618);\n\tvar ReactEventListener = __webpack_require__(621);\n\tvar ReactInjection = __webpack_require__(622);\n\tvar ReactReconcileTransaction = __webpack_require__(627);\n\tvar SVGDOMPropertyConfig = __webpack_require__(631);\n\tvar SelectEventPlugin = __webpack_require__(632);\n\tvar SimpleEventPlugin = __webpack_require__(633);\n\t\n\tvar alreadyInjected = false;\n\t\n\tfunction inject() {\n\t if (alreadyInjected) {\n\t // TODO: This is currently true because these injections are shared between\n\t // the client and the server package. They should be built independently\n\t // and not share any injection state. Then this problem will be solved.\n\t return;\n\t }\n\t alreadyInjected = true;\n\t\n\t ReactInjection.EventEmitter.injectReactEventListener(ReactEventListener);\n\t\n\t /**\n\t * Inject modules for resolving DOM hierarchy and plugin ordering.\n\t */\n\t ReactInjection.EventPluginHub.injectEventPluginOrder(DefaultEventPluginOrder);\n\t ReactInjection.EventPluginUtils.injectComponentTree(ReactDOMComponentTree);\n\t ReactInjection.EventPluginUtils.injectTreeTraversal(ReactDOMTreeTraversal);\n\t\n\t /**\n\t * Some important event plugins included by default (without having to require\n\t * them).\n\t */\n\t ReactInjection.EventPluginHub.injectEventPluginsByName({\n\t SimpleEventPlugin: SimpleEventPlugin,\n\t EnterLeaveEventPlugin: EnterLeaveEventPlugin,\n\t ChangeEventPlugin: ChangeEventPlugin,\n\t SelectEventPlugin: SelectEventPlugin,\n\t BeforeInputEventPlugin: BeforeInputEventPlugin\n\t });\n\t\n\t ReactInjection.HostComponent.injectGenericComponentClass(ReactDOMComponent);\n\t\n\t ReactInjection.HostComponent.injectTextComponentClass(ReactDOMTextComponent);\n\t\n\t ReactInjection.DOMProperty.injectDOMPropertyConfig(HTMLDOMPropertyConfig);\n\t ReactInjection.DOMProperty.injectDOMPropertyConfig(SVGDOMPropertyConfig);\n\t\n\t ReactInjection.EmptyComponent.injectEmptyComponentFactory(function (instantiate) {\n\t return new ReactDOMEmptyComponent(instantiate);\n\t });\n\t\n\t ReactInjection.Updates.injectReconcileTransaction(ReactReconcileTransaction);\n\t ReactInjection.Updates.injectBatchingStrategy(ReactDefaultBatchingStrategy);\n\t\n\t ReactInjection.Component.injectEnvironment(ReactComponentBrowserEnvironment);\n\t}\n\t\n\tmodule.exports = {\n\t inject: inject\n\t};\n\n/***/ },\n/* 620 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Copyright 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @providesModule ReactEventEmitterMixin\n\t */\n\t\n\t'use strict';\n\t\n\tvar EventPluginHub = __webpack_require__(71);\n\t\n\tfunction runEventQueueInBatch(events) {\n\t EventPluginHub.enqueueEvents(events);\n\t EventPluginHub.processEventQueue(false);\n\t}\n\t\n\tvar ReactEventEmitterMixin = {\n\t\n\t /**\n\t * Streams a fired top-level event to `EventPluginHub` where plugins have the\n\t * opportunity to create `ReactEvent`s to be dispatched.\n\t */\n\t handleTopLevel: function (topLevelType, targetInst, nativeEvent, nativeEventTarget) {\n\t var events = EventPluginHub.extractEvents(topLevelType, targetInst, nativeEvent, nativeEventTarget);\n\t runEventQueueInBatch(events);\n\t }\n\t};\n\t\n\tmodule.exports = ReactEventEmitterMixin;\n\n/***/ },\n/* 621 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Copyright 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @providesModule ReactEventListener\n\t */\n\t\n\t'use strict';\n\t\n\tvar _assign = __webpack_require__(6);\n\t\n\tvar EventListener = __webpack_require__(172);\n\tvar ExecutionEnvironment = __webpack_require__(18);\n\tvar PooledClass = __webpack_require__(39);\n\tvar ReactDOMComponentTree = __webpack_require__(9);\n\tvar ReactUpdates = __webpack_require__(30);\n\t\n\tvar getEventTarget = __webpack_require__(155);\n\tvar getUnboundedScrollPosition = __webpack_require__(419);\n\t\n\t/**\n\t * Find the deepest React component completely containing the root of the\n\t * passed-in instance (for use when entire React trees are nested within each\n\t * other). If React trees are not nested, returns null.\n\t */\n\tfunction findParent(inst) {\n\t // TODO: It may be a good idea to cache this to prevent unnecessary DOM\n\t // traversal, but caching is difficult to do correctly without using a\n\t // mutation observer to listen for all DOM changes.\n\t while (inst._hostParent) {\n\t inst = inst._hostParent;\n\t }\n\t var rootNode = ReactDOMComponentTree.getNodeFromInstance(inst);\n\t var container = rootNode.parentNode;\n\t return ReactDOMComponentTree.getClosestInstanceFromNode(container);\n\t}\n\t\n\t// Used to store ancestor hierarchy in top level callback\n\tfunction TopLevelCallbackBookKeeping(topLevelType, nativeEvent) {\n\t this.topLevelType = topLevelType;\n\t this.nativeEvent = nativeEvent;\n\t this.ancestors = [];\n\t}\n\t_assign(TopLevelCallbackBookKeeping.prototype, {\n\t destructor: function () {\n\t this.topLevelType = null;\n\t this.nativeEvent = null;\n\t this.ancestors.length = 0;\n\t }\n\t});\n\tPooledClass.addPoolingTo(TopLevelCallbackBookKeeping, PooledClass.twoArgumentPooler);\n\t\n\tfunction handleTopLevelImpl(bookKeeping) {\n\t var nativeEventTarget = getEventTarget(bookKeeping.nativeEvent);\n\t var targetInst = ReactDOMComponentTree.getClosestInstanceFromNode(nativeEventTarget);\n\t\n\t // Loop through the hierarchy, in case there's any nested components.\n\t // It's important that we build the array of ancestors before calling any\n\t // event handlers, because event handlers can modify the DOM, leading to\n\t // inconsistencies with ReactMount's node cache. See #1105.\n\t var ancestor = targetInst;\n\t do {\n\t bookKeeping.ancestors.push(ancestor);\n\t ancestor = ancestor && findParent(ancestor);\n\t } while (ancestor);\n\t\n\t for (var i = 0; i < bookKeeping.ancestors.length; i++) {\n\t targetInst = bookKeeping.ancestors[i];\n\t ReactEventListener._handleTopLevel(bookKeeping.topLevelType, targetInst, bookKeeping.nativeEvent, getEventTarget(bookKeeping.nativeEvent));\n\t }\n\t}\n\t\n\tfunction scrollValueMonitor(cb) {\n\t var scrollPosition = getUnboundedScrollPosition(window);\n\t cb(scrollPosition);\n\t}\n\t\n\tvar ReactEventListener = {\n\t _enabled: true,\n\t _handleTopLevel: null,\n\t\n\t WINDOW_HANDLE: ExecutionEnvironment.canUseDOM ? window : null,\n\t\n\t setHandleTopLevel: function (handleTopLevel) {\n\t ReactEventListener._handleTopLevel = handleTopLevel;\n\t },\n\t\n\t setEnabled: function (enabled) {\n\t ReactEventListener._enabled = !!enabled;\n\t },\n\t\n\t isEnabled: function () {\n\t return ReactEventListener._enabled;\n\t },\n\t\n\t /**\n\t * Traps top-level events by using event bubbling.\n\t *\n\t * @param {string} topLevelType Record from `EventConstants`.\n\t * @param {string} handlerBaseName Event name (e.g. \"click\").\n\t * @param {object} handle Element on which to attach listener.\n\t * @return {?object} An object with a remove function which will forcefully\n\t * remove the listener.\n\t * @internal\n\t */\n\t trapBubbledEvent: function (topLevelType, handlerBaseName, handle) {\n\t var element = handle;\n\t if (!element) {\n\t return null;\n\t }\n\t return EventListener.listen(element, handlerBaseName, ReactEventListener.dispatchEvent.bind(null, topLevelType));\n\t },\n\t\n\t /**\n\t * Traps a top-level event by using event capturing.\n\t *\n\t * @param {string} topLevelType Record from `EventConstants`.\n\t * @param {string} handlerBaseName Event name (e.g. \"click\").\n\t * @param {object} handle Element on which to attach listener.\n\t * @return {?object} An object with a remove function which will forcefully\n\t * remove the listener.\n\t * @internal\n\t */\n\t trapCapturedEvent: function (topLevelType, handlerBaseName, handle) {\n\t var element = handle;\n\t if (!element) {\n\t return null;\n\t }\n\t return EventListener.capture(element, handlerBaseName, ReactEventListener.dispatchEvent.bind(null, topLevelType));\n\t },\n\t\n\t monitorScrollValue: function (refresh) {\n\t var callback = scrollValueMonitor.bind(null, refresh);\n\t EventListener.listen(window, 'scroll', callback);\n\t },\n\t\n\t dispatchEvent: function (topLevelType, nativeEvent) {\n\t if (!ReactEventListener._enabled) {\n\t return;\n\t }\n\t\n\t var bookKeeping = TopLevelCallbackBookKeeping.getPooled(topLevelType, nativeEvent);\n\t try {\n\t // Event queue being processed in the same cycle allows\n\t // `preventDefault`.\n\t ReactUpdates.batchedUpdates(handleTopLevelImpl, bookKeeping);\n\t } finally {\n\t TopLevelCallbackBookKeeping.release(bookKeeping);\n\t }\n\t }\n\t};\n\t\n\tmodule.exports = ReactEventListener;\n\n/***/ },\n/* 622 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Copyright 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @providesModule ReactInjection\n\t */\n\t\n\t'use strict';\n\t\n\tvar DOMProperty = __webpack_require__(54);\n\tvar EventPluginHub = __webpack_require__(71);\n\tvar EventPluginUtils = __webpack_require__(140);\n\tvar ReactComponentEnvironment = __webpack_require__(144);\n\tvar ReactClass = __webpack_require__(328);\n\tvar ReactEmptyComponent = __webpack_require__(331);\n\tvar ReactBrowserEventEmitter = __webpack_require__(95);\n\tvar ReactHostComponent = __webpack_require__(333);\n\tvar ReactUpdates = __webpack_require__(30);\n\t\n\tvar ReactInjection = {\n\t Component: ReactComponentEnvironment.injection,\n\t Class: ReactClass.injection,\n\t DOMProperty: DOMProperty.injection,\n\t EmptyComponent: ReactEmptyComponent.injection,\n\t EventPluginHub: EventPluginHub.injection,\n\t EventPluginUtils: EventPluginUtils.injection,\n\t EventEmitter: ReactBrowserEventEmitter.injection,\n\t HostComponent: ReactHostComponent.injection,\n\t Updates: ReactUpdates.injection\n\t};\n\t\n\tmodule.exports = ReactInjection;\n\n/***/ },\n/* 623 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Copyright 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @providesModule ReactMarkupChecksum\n\t */\n\t\n\t'use strict';\n\t\n\tvar adler32 = __webpack_require__(644);\n\t\n\tvar TAG_END = /\\/?>/;\n\tvar COMMENT_START = /^<\\!\\-\\-/;\n\t\n\tvar ReactMarkupChecksum = {\n\t CHECKSUM_ATTR_NAME: 'data-react-checksum',\n\t\n\t /**\n\t * @param {string} markup Markup string\n\t * @return {string} Markup string with checksum attribute attached\n\t */\n\t addChecksumToMarkup: function (markup) {\n\t var checksum = adler32(markup);\n\t\n\t // Add checksum (handle both parent tags, comments and self-closing tags)\n\t if (COMMENT_START.test(markup)) {\n\t return markup;\n\t } else {\n\t return markup.replace(TAG_END, ' ' + ReactMarkupChecksum.CHECKSUM_ATTR_NAME + '=\"' + checksum + '\"$&');\n\t }\n\t },\n\t\n\t /**\n\t * @param {string} markup to use\n\t * @param {DOMElement} element root React element\n\t * @returns {boolean} whether or not the markup is the same\n\t */\n\t canReuseMarkup: function (markup, element) {\n\t var existingChecksum = element.getAttribute(ReactMarkupChecksum.CHECKSUM_ATTR_NAME);\n\t existingChecksum = existingChecksum && parseInt(existingChecksum, 10);\n\t var markupChecksum = adler32(markup);\n\t return markupChecksum === existingChecksum;\n\t }\n\t};\n\t\n\tmodule.exports = ReactMarkupChecksum;\n\n/***/ },\n/* 624 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Copyright 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @providesModule ReactMultiChild\n\t */\n\t\n\t'use strict';\n\t\n\tvar _prodInvariant = __webpack_require__(4);\n\t\n\tvar ReactComponentEnvironment = __webpack_require__(144);\n\tvar ReactInstanceMap = __webpack_require__(73);\n\tvar ReactInstrumentation = __webpack_require__(25);\n\tvar ReactMultiChildUpdateTypes = __webpack_require__(336);\n\t\n\tvar ReactCurrentOwner = __webpack_require__(40);\n\tvar ReactReconciler = __webpack_require__(55);\n\tvar ReactChildReconciler = __webpack_require__(601);\n\t\n\tvar emptyFunction = __webpack_require__(24);\n\tvar flattenChildren = __webpack_require__(648);\n\tvar invariant = __webpack_require__(3);\n\t\n\t/**\n\t * Make an update for markup to be rendered and inserted at a supplied index.\n\t *\n\t * @param {string} markup Markup that renders into an element.\n\t * @param {number} toIndex Destination index.\n\t * @private\n\t */\n\tfunction makeInsertMarkup(markup, afterNode, toIndex) {\n\t // NOTE: Null values reduce hidden classes.\n\t return {\n\t type: ReactMultiChildUpdateTypes.INSERT_MARKUP,\n\t content: markup,\n\t fromIndex: null,\n\t fromNode: null,\n\t toIndex: toIndex,\n\t afterNode: afterNode\n\t };\n\t}\n\t\n\t/**\n\t * Make an update for moving an existing element to another index.\n\t *\n\t * @param {number} fromIndex Source index of the existing element.\n\t * @param {number} toIndex Destination index of the element.\n\t * @private\n\t */\n\tfunction makeMove(child, afterNode, toIndex) {\n\t // NOTE: Null values reduce hidden classes.\n\t return {\n\t type: ReactMultiChildUpdateTypes.MOVE_EXISTING,\n\t content: null,\n\t fromIndex: child._mountIndex,\n\t fromNode: ReactReconciler.getHostNode(child),\n\t toIndex: toIndex,\n\t afterNode: afterNode\n\t };\n\t}\n\t\n\t/**\n\t * Make an update for removing an element at an index.\n\t *\n\t * @param {number} fromIndex Index of the element to remove.\n\t * @private\n\t */\n\tfunction makeRemove(child, node) {\n\t // NOTE: Null values reduce hidden classes.\n\t return {\n\t type: ReactMultiChildUpdateTypes.REMOVE_NODE,\n\t content: null,\n\t fromIndex: child._mountIndex,\n\t fromNode: node,\n\t toIndex: null,\n\t afterNode: null\n\t };\n\t}\n\t\n\t/**\n\t * Make an update for setting the markup of a node.\n\t *\n\t * @param {string} markup Markup that renders into an element.\n\t * @private\n\t */\n\tfunction makeSetMarkup(markup) {\n\t // NOTE: Null values reduce hidden classes.\n\t return {\n\t type: ReactMultiChildUpdateTypes.SET_MARKUP,\n\t content: markup,\n\t fromIndex: null,\n\t fromNode: null,\n\t toIndex: null,\n\t afterNode: null\n\t };\n\t}\n\t\n\t/**\n\t * Make an update for setting the text content.\n\t *\n\t * @param {string} textContent Text content to set.\n\t * @private\n\t */\n\tfunction makeTextContent(textContent) {\n\t // NOTE: Null values reduce hidden classes.\n\t return {\n\t type: ReactMultiChildUpdateTypes.TEXT_CONTENT,\n\t content: textContent,\n\t fromIndex: null,\n\t fromNode: null,\n\t toIndex: null,\n\t afterNode: null\n\t };\n\t}\n\t\n\t/**\n\t * Push an update, if any, onto the queue. Creates a new queue if none is\n\t * passed and always returns the queue. Mutative.\n\t */\n\tfunction enqueue(queue, update) {\n\t if (update) {\n\t queue = queue || [];\n\t queue.push(update);\n\t }\n\t return queue;\n\t}\n\t\n\t/**\n\t * Processes any enqueued updates.\n\t *\n\t * @private\n\t */\n\tfunction processQueue(inst, updateQueue) {\n\t ReactComponentEnvironment.processChildrenUpdates(inst, updateQueue);\n\t}\n\t\n\tvar setChildrenForInstrumentation = emptyFunction;\n\tif (false) {\n\t var getDebugID = function (inst) {\n\t if (!inst._debugID) {\n\t // Check for ART-like instances. TODO: This is silly/gross.\n\t var internal;\n\t if (internal = ReactInstanceMap.get(inst)) {\n\t inst = internal;\n\t }\n\t }\n\t return inst._debugID;\n\t };\n\t setChildrenForInstrumentation = function (children) {\n\t var debugID = getDebugID(this);\n\t // TODO: React Native empty components are also multichild.\n\t // This means they still get into this method but don't have _debugID.\n\t if (debugID !== 0) {\n\t ReactInstrumentation.debugTool.onSetChildren(debugID, children ? Object.keys(children).map(function (key) {\n\t return children[key]._debugID;\n\t }) : []);\n\t }\n\t };\n\t}\n\t\n\t/**\n\t * ReactMultiChild are capable of reconciling multiple children.\n\t *\n\t * @class ReactMultiChild\n\t * @internal\n\t */\n\tvar ReactMultiChild = {\n\t\n\t /**\n\t * Provides common functionality for components that must reconcile multiple\n\t * children. This is used by `ReactDOMComponent` to mount, update, and\n\t * unmount child components.\n\t *\n\t * @lends {ReactMultiChild.prototype}\n\t */\n\t Mixin: {\n\t\n\t _reconcilerInstantiateChildren: function (nestedChildren, transaction, context) {\n\t if (false) {\n\t var selfDebugID = getDebugID(this);\n\t if (this._currentElement) {\n\t try {\n\t ReactCurrentOwner.current = this._currentElement._owner;\n\t return ReactChildReconciler.instantiateChildren(nestedChildren, transaction, context, selfDebugID);\n\t } finally {\n\t ReactCurrentOwner.current = null;\n\t }\n\t }\n\t }\n\t return ReactChildReconciler.instantiateChildren(nestedChildren, transaction, context);\n\t },\n\t\n\t _reconcilerUpdateChildren: function (prevChildren, nextNestedChildrenElements, mountImages, removedNodes, transaction, context) {\n\t var nextChildren;\n\t var selfDebugID = 0;\n\t if (false) {\n\t selfDebugID = getDebugID(this);\n\t if (this._currentElement) {\n\t try {\n\t ReactCurrentOwner.current = this._currentElement._owner;\n\t nextChildren = flattenChildren(nextNestedChildrenElements, selfDebugID);\n\t } finally {\n\t ReactCurrentOwner.current = null;\n\t }\n\t ReactChildReconciler.updateChildren(prevChildren, nextChildren, mountImages, removedNodes, transaction, this, this._hostContainerInfo, context, selfDebugID);\n\t return nextChildren;\n\t }\n\t }\n\t nextChildren = flattenChildren(nextNestedChildrenElements, selfDebugID);\n\t ReactChildReconciler.updateChildren(prevChildren, nextChildren, mountImages, removedNodes, transaction, this, this._hostContainerInfo, context, selfDebugID);\n\t return nextChildren;\n\t },\n\t\n\t /**\n\t * Generates a \"mount image\" for each of the supplied children. In the case\n\t * of `ReactDOMComponent`, a mount image is a string of markup.\n\t *\n\t * @param {?object} nestedChildren Nested child maps.\n\t * @return {array} An array of mounted representations.\n\t * @internal\n\t */\n\t mountChildren: function (nestedChildren, transaction, context) {\n\t var children = this._reconcilerInstantiateChildren(nestedChildren, transaction, context);\n\t this._renderedChildren = children;\n\t\n\t var mountImages = [];\n\t var index = 0;\n\t for (var name in children) {\n\t if (children.hasOwnProperty(name)) {\n\t var child = children[name];\n\t var selfDebugID = 0;\n\t if (false) {\n\t selfDebugID = getDebugID(this);\n\t }\n\t var mountImage = ReactReconciler.mountComponent(child, transaction, this, this._hostContainerInfo, context, selfDebugID);\n\t child._mountIndex = index++;\n\t mountImages.push(mountImage);\n\t }\n\t }\n\t\n\t if (false) {\n\t setChildrenForInstrumentation.call(this, children);\n\t }\n\t\n\t return mountImages;\n\t },\n\t\n\t /**\n\t * Replaces any rendered children with a text content string.\n\t *\n\t * @param {string} nextContent String of content.\n\t * @internal\n\t */\n\t updateTextContent: function (nextContent) {\n\t var prevChildren = this._renderedChildren;\n\t // Remove any rendered children.\n\t ReactChildReconciler.unmountChildren(prevChildren, false);\n\t for (var name in prevChildren) {\n\t if (prevChildren.hasOwnProperty(name)) {\n\t true ? false ? invariant(false, 'updateTextContent called on non-empty component.') : _prodInvariant('118') : void 0;\n\t }\n\t }\n\t // Set new text content.\n\t var updates = [makeTextContent(nextContent)];\n\t processQueue(this, updates);\n\t },\n\t\n\t /**\n\t * Replaces any rendered children with a markup string.\n\t *\n\t * @param {string} nextMarkup String of markup.\n\t * @internal\n\t */\n\t updateMarkup: function (nextMarkup) {\n\t var prevChildren = this._renderedChildren;\n\t // Remove any rendered children.\n\t ReactChildReconciler.unmountChildren(prevChildren, false);\n\t for (var name in prevChildren) {\n\t if (prevChildren.hasOwnProperty(name)) {\n\t true ? false ? invariant(false, 'updateTextContent called on non-empty component.') : _prodInvariant('118') : void 0;\n\t }\n\t }\n\t var updates = [makeSetMarkup(nextMarkup)];\n\t processQueue(this, updates);\n\t },\n\t\n\t /**\n\t * Updates the rendered children with new children.\n\t *\n\t * @param {?object} nextNestedChildrenElements Nested child element maps.\n\t * @param {ReactReconcileTransaction} transaction\n\t * @internal\n\t */\n\t updateChildren: function (nextNestedChildrenElements, transaction, context) {\n\t // Hook used by React ART\n\t this._updateChildren(nextNestedChildrenElements, transaction, context);\n\t },\n\t\n\t /**\n\t * @param {?object} nextNestedChildrenElements Nested child element maps.\n\t * @param {ReactReconcileTransaction} transaction\n\t * @final\n\t * @protected\n\t */\n\t _updateChildren: function (nextNestedChildrenElements, transaction, context) {\n\t var prevChildren = this._renderedChildren;\n\t var removedNodes = {};\n\t var mountImages = [];\n\t var nextChildren = this._reconcilerUpdateChildren(prevChildren, nextNestedChildrenElements, mountImages, removedNodes, transaction, context);\n\t if (!nextChildren && !prevChildren) {\n\t return;\n\t }\n\t var updates = null;\n\t var name;\n\t // `nextIndex` will increment for each child in `nextChildren`, but\n\t // `lastIndex` will be the last index visited in `prevChildren`.\n\t var nextIndex = 0;\n\t var lastIndex = 0;\n\t // `nextMountIndex` will increment for each newly mounted child.\n\t var nextMountIndex = 0;\n\t var lastPlacedNode = null;\n\t for (name in nextChildren) {\n\t if (!nextChildren.hasOwnProperty(name)) {\n\t continue;\n\t }\n\t var prevChild = prevChildren && prevChildren[name];\n\t var nextChild = nextChildren[name];\n\t if (prevChild === nextChild) {\n\t updates = enqueue(updates, this.moveChild(prevChild, lastPlacedNode, nextIndex, lastIndex));\n\t lastIndex = Math.max(prevChild._mountIndex, lastIndex);\n\t prevChild._mountIndex = nextIndex;\n\t } else {\n\t if (prevChild) {\n\t // Update `lastIndex` before `_mountIndex` gets unset by unmounting.\n\t lastIndex = Math.max(prevChild._mountIndex, lastIndex);\n\t // The `removedNodes` loop below will actually remove the child.\n\t }\n\t // The child must be instantiated before it's mounted.\n\t updates = enqueue(updates, this._mountChildAtIndex(nextChild, mountImages[nextMountIndex], lastPlacedNode, nextIndex, transaction, context));\n\t nextMountIndex++;\n\t }\n\t nextIndex++;\n\t lastPlacedNode = ReactReconciler.getHostNode(nextChild);\n\t }\n\t // Remove children that are no longer present.\n\t for (name in removedNodes) {\n\t if (removedNodes.hasOwnProperty(name)) {\n\t updates = enqueue(updates, this._unmountChild(prevChildren[name], removedNodes[name]));\n\t }\n\t }\n\t if (updates) {\n\t processQueue(this, updates);\n\t }\n\t this._renderedChildren = nextChildren;\n\t\n\t if (false) {\n\t setChildrenForInstrumentation.call(this, nextChildren);\n\t }\n\t },\n\t\n\t /**\n\t * Unmounts all rendered children. This should be used to clean up children\n\t * when this component is unmounted. It does not actually perform any\n\t * backend operations.\n\t *\n\t * @internal\n\t */\n\t unmountChildren: function (safely) {\n\t var renderedChildren = this._renderedChildren;\n\t ReactChildReconciler.unmountChildren(renderedChildren, safely);\n\t this._renderedChildren = null;\n\t },\n\t\n\t /**\n\t * Moves a child component to the supplied index.\n\t *\n\t * @param {ReactComponent} child Component to move.\n\t * @param {number} toIndex Destination index of the element.\n\t * @param {number} lastIndex Last index visited of the siblings of `child`.\n\t * @protected\n\t */\n\t moveChild: function (child, afterNode, toIndex, lastIndex) {\n\t // If the index of `child` is less than `lastIndex`, then it needs to\n\t // be moved. Otherwise, we do not need to move it because a child will be\n\t // inserted or moved before `child`.\n\t if (child._mountIndex < lastIndex) {\n\t return makeMove(child, afterNode, toIndex);\n\t }\n\t },\n\t\n\t /**\n\t * Creates a child component.\n\t *\n\t * @param {ReactComponent} child Component to create.\n\t * @param {string} mountImage Markup to insert.\n\t * @protected\n\t */\n\t createChild: function (child, afterNode, mountImage) {\n\t return makeInsertMarkup(mountImage, afterNode, child._mountIndex);\n\t },\n\t\n\t /**\n\t * Removes a child component.\n\t *\n\t * @param {ReactComponent} child Child to remove.\n\t * @protected\n\t */\n\t removeChild: function (child, node) {\n\t return makeRemove(child, node);\n\t },\n\t\n\t /**\n\t * Mounts a child with the supplied name.\n\t *\n\t * NOTE: This is part of `updateChildren` and is here for readability.\n\t *\n\t * @param {ReactComponent} child Component to mount.\n\t * @param {string} name Name of the child.\n\t * @param {number} index Index at which to insert the child.\n\t * @param {ReactReconcileTransaction} transaction\n\t * @private\n\t */\n\t _mountChildAtIndex: function (child, mountImage, afterNode, index, transaction, context) {\n\t child._mountIndex = index;\n\t return this.createChild(child, afterNode, mountImage);\n\t },\n\t\n\t /**\n\t * Unmounts a rendered child.\n\t *\n\t * NOTE: This is part of `updateChildren` and is here for readability.\n\t *\n\t * @param {ReactComponent} child Component to unmount.\n\t * @private\n\t */\n\t _unmountChild: function (child, node) {\n\t var update = this.removeChild(child, node);\n\t child._mountIndex = null;\n\t return update;\n\t }\n\t\n\t }\n\t\n\t};\n\t\n\tmodule.exports = ReactMultiChild;\n\n/***/ },\n/* 625 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Copyright 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @providesModule ReactOwner\n\t */\n\t\n\t'use strict';\n\t\n\tvar _prodInvariant = __webpack_require__(4);\n\t\n\tvar invariant = __webpack_require__(3);\n\t\n\t/**\n\t * ReactOwners are capable of storing references to owned components.\n\t *\n\t * All components are capable of //being// referenced by owner components, but\n\t * only ReactOwner components are capable of //referencing// owned components.\n\t * The named reference is known as a \"ref\".\n\t *\n\t * Refs are available when mounted and updated during reconciliation.\n\t *\n\t * var MyComponent = React.createClass({\n\t * render: function() {\n\t * return (\n\t * <div onClick={this.handleClick}>\n\t * <CustomComponent ref=\"custom\" />\n\t * </div>\n\t * );\n\t * },\n\t * handleClick: function() {\n\t * this.refs.custom.handleClick();\n\t * },\n\t * componentDidMount: function() {\n\t * this.refs.custom.initialize();\n\t * }\n\t * });\n\t *\n\t * Refs should rarely be used. When refs are used, they should only be done to\n\t * control data that is not handled by React's data flow.\n\t *\n\t * @class ReactOwner\n\t */\n\tvar ReactOwner = {\n\t\n\t /**\n\t * @param {?object} object\n\t * @return {boolean} True if `object` is a valid owner.\n\t * @final\n\t */\n\t isValidOwner: function (object) {\n\t return !!(object && typeof object.attachRef === 'function' && typeof object.detachRef === 'function');\n\t },\n\t\n\t /**\n\t * Adds a component by ref to an owner component.\n\t *\n\t * @param {ReactComponent} component Component to reference.\n\t * @param {string} ref Name by which to refer to the component.\n\t * @param {ReactOwner} owner Component on which to record the ref.\n\t * @final\n\t * @internal\n\t */\n\t addComponentAsRefTo: function (component, ref, owner) {\n\t !ReactOwner.isValidOwner(owner) ? false ? invariant(false, 'addComponentAsRefTo(...): Only a ReactOwner can have refs. You might be adding a ref to a component that was not created inside a component\\'s `render` method, or you have multiple copies of React loaded (details: https://fb.me/react-refs-must-have-owner).') : _prodInvariant('119') : void 0;\n\t owner.attachRef(ref, component);\n\t },\n\t\n\t /**\n\t * Removes a component by ref from an owner component.\n\t *\n\t * @param {ReactComponent} component Component to dereference.\n\t * @param {string} ref Name of the ref to remove.\n\t * @param {ReactOwner} owner Component on which the ref is recorded.\n\t * @final\n\t * @internal\n\t */\n\t removeComponentAsRefFrom: function (component, ref, owner) {\n\t !ReactOwner.isValidOwner(owner) ? false ? invariant(false, 'removeComponentAsRefFrom(...): Only a ReactOwner can have refs. You might be removing a ref to a component that was not created inside a component\\'s `render` method, or you have multiple copies of React loaded (details: https://fb.me/react-refs-must-have-owner).') : _prodInvariant('120') : void 0;\n\t var ownerPublicInstance = owner.getPublicInstance();\n\t // Check that `component`'s owner is still alive and that `component` is still the current ref\n\t // because we do not want to detach the ref if another component stole it.\n\t if (ownerPublicInstance && ownerPublicInstance.refs[ref] === component.getPublicInstance()) {\n\t owner.detachRef(ref);\n\t }\n\t }\n\t\n\t};\n\t\n\tmodule.exports = ReactOwner;\n\n/***/ },\n/* 626 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Copyright 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @providesModule ReactPureComponent\n\t */\n\t\n\t'use strict';\n\t\n\tvar _assign = __webpack_require__(6);\n\t\n\tvar ReactComponent = __webpack_require__(143);\n\tvar ReactNoopUpdateQueue = __webpack_require__(147);\n\t\n\tvar emptyObject = __webpack_require__(62);\n\t\n\t/**\n\t * Base class helpers for the updating state of a component.\n\t */\n\tfunction ReactPureComponent(props, context, updater) {\n\t // Duplicated from ReactComponent.\n\t this.props = props;\n\t this.context = context;\n\t this.refs = emptyObject;\n\t // We initialize the default updater but the real one gets injected by the\n\t // renderer.\n\t this.updater = updater || ReactNoopUpdateQueue;\n\t}\n\t\n\tfunction ComponentDummy() {}\n\tComponentDummy.prototype = ReactComponent.prototype;\n\tReactPureComponent.prototype = new ComponentDummy();\n\tReactPureComponent.prototype.constructor = ReactPureComponent;\n\t// Avoid an extra prototype jump for these methods.\n\t_assign(ReactPureComponent.prototype, ReactComponent.prototype);\n\tReactPureComponent.prototype.isPureReactComponent = true;\n\t\n\tmodule.exports = ReactPureComponent;\n\n/***/ },\n/* 627 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Copyright 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @providesModule ReactReconcileTransaction\n\t */\n\t\n\t'use strict';\n\t\n\tvar _assign = __webpack_require__(6);\n\t\n\tvar CallbackQueue = __webpack_require__(325);\n\tvar PooledClass = __webpack_require__(39);\n\tvar ReactBrowserEventEmitter = __webpack_require__(95);\n\tvar ReactInputSelection = __webpack_require__(334);\n\tvar ReactInstrumentation = __webpack_require__(25);\n\tvar Transaction = __webpack_require__(75);\n\tvar ReactUpdateQueue = __webpack_require__(151);\n\t\n\t/**\n\t * Ensures that, when possible, the selection range (currently selected text\n\t * input) is not disturbed by performing the transaction.\n\t */\n\tvar SELECTION_RESTORATION = {\n\t /**\n\t * @return {Selection} Selection information.\n\t */\n\t initialize: ReactInputSelection.getSelectionInformation,\n\t /**\n\t * @param {Selection} sel Selection information returned from `initialize`.\n\t */\n\t close: ReactInputSelection.restoreSelection\n\t};\n\t\n\t/**\n\t * Suppresses events (blur/focus) that could be inadvertently dispatched due to\n\t * high level DOM manipulations (like temporarily removing a text input from the\n\t * DOM).\n\t */\n\tvar EVENT_SUPPRESSION = {\n\t /**\n\t * @return {boolean} The enabled status of `ReactBrowserEventEmitter` before\n\t * the reconciliation.\n\t */\n\t initialize: function () {\n\t var currentlyEnabled = ReactBrowserEventEmitter.isEnabled();\n\t ReactBrowserEventEmitter.setEnabled(false);\n\t return currentlyEnabled;\n\t },\n\t\n\t /**\n\t * @param {boolean} previouslyEnabled Enabled status of\n\t * `ReactBrowserEventEmitter` before the reconciliation occurred. `close`\n\t * restores the previous value.\n\t */\n\t close: function (previouslyEnabled) {\n\t ReactBrowserEventEmitter.setEnabled(previouslyEnabled);\n\t }\n\t};\n\t\n\t/**\n\t * Provides a queue for collecting `componentDidMount` and\n\t * `componentDidUpdate` callbacks during the transaction.\n\t */\n\tvar ON_DOM_READY_QUEUEING = {\n\t /**\n\t * Initializes the internal `onDOMReady` queue.\n\t */\n\t initialize: function () {\n\t this.reactMountReady.reset();\n\t },\n\t\n\t /**\n\t * After DOM is flushed, invoke all registered `onDOMReady` callbacks.\n\t */\n\t close: function () {\n\t this.reactMountReady.notifyAll();\n\t }\n\t};\n\t\n\t/**\n\t * Executed within the scope of the `Transaction` instance. Consider these as\n\t * being member methods, but with an implied ordering while being isolated from\n\t * each other.\n\t */\n\tvar TRANSACTION_WRAPPERS = [SELECTION_RESTORATION, EVENT_SUPPRESSION, ON_DOM_READY_QUEUEING];\n\t\n\tif (false) {\n\t TRANSACTION_WRAPPERS.push({\n\t initialize: ReactInstrumentation.debugTool.onBeginFlush,\n\t close: ReactInstrumentation.debugTool.onEndFlush\n\t });\n\t}\n\t\n\t/**\n\t * Currently:\n\t * - The order that these are listed in the transaction is critical:\n\t * - Suppresses events.\n\t * - Restores selection range.\n\t *\n\t * Future:\n\t * - Restore document/overflow scroll positions that were unintentionally\n\t * modified via DOM insertions above the top viewport boundary.\n\t * - Implement/integrate with customized constraint based layout system and keep\n\t * track of which dimensions must be remeasured.\n\t *\n\t * @class ReactReconcileTransaction\n\t */\n\tfunction ReactReconcileTransaction(useCreateElement) {\n\t this.reinitializeTransaction();\n\t // Only server-side rendering really needs this option (see\n\t // `ReactServerRendering`), but server-side uses\n\t // `ReactServerRenderingTransaction` instead. This option is here so that it's\n\t // accessible and defaults to false when `ReactDOMComponent` and\n\t // `ReactDOMTextComponent` checks it in `mountComponent`.`\n\t this.renderToStaticMarkup = false;\n\t this.reactMountReady = CallbackQueue.getPooled(null);\n\t this.useCreateElement = useCreateElement;\n\t}\n\t\n\tvar Mixin = {\n\t /**\n\t * @see Transaction\n\t * @abstract\n\t * @final\n\t * @return {array<object>} List of operation wrap procedures.\n\t * TODO: convert to array<TransactionWrapper>\n\t */\n\t getTransactionWrappers: function () {\n\t return TRANSACTION_WRAPPERS;\n\t },\n\t\n\t /**\n\t * @return {object} The queue to collect `onDOMReady` callbacks with.\n\t */\n\t getReactMountReady: function () {\n\t return this.reactMountReady;\n\t },\n\t\n\t /**\n\t * @return {object} The queue to collect React async events.\n\t */\n\t getUpdateQueue: function () {\n\t return ReactUpdateQueue;\n\t },\n\t\n\t /**\n\t * Save current transaction state -- if the return value from this method is\n\t * passed to `rollback`, the transaction will be reset to that state.\n\t */\n\t checkpoint: function () {\n\t // reactMountReady is the our only stateful wrapper\n\t return this.reactMountReady.checkpoint();\n\t },\n\t\n\t rollback: function (checkpoint) {\n\t this.reactMountReady.rollback(checkpoint);\n\t },\n\t\n\t /**\n\t * `PooledClass` looks for this, and will invoke this before allowing this\n\t * instance to be reused.\n\t */\n\t destructor: function () {\n\t CallbackQueue.release(this.reactMountReady);\n\t this.reactMountReady = null;\n\t }\n\t};\n\t\n\t_assign(ReactReconcileTransaction.prototype, Transaction.Mixin, Mixin);\n\t\n\tPooledClass.addPoolingTo(ReactReconcileTransaction);\n\t\n\tmodule.exports = ReactReconcileTransaction;\n\n/***/ },\n/* 628 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Copyright 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @providesModule ReactRef\n\t */\n\t\n\t'use strict';\n\t\n\tvar ReactOwner = __webpack_require__(625);\n\t\n\tvar ReactRef = {};\n\t\n\tfunction attachRef(ref, component, owner) {\n\t if (typeof ref === 'function') {\n\t ref(component.getPublicInstance());\n\t } else {\n\t // Legacy ref\n\t ReactOwner.addComponentAsRefTo(component, ref, owner);\n\t }\n\t}\n\t\n\tfunction detachRef(ref, component, owner) {\n\t if (typeof ref === 'function') {\n\t ref(null);\n\t } else {\n\t // Legacy ref\n\t ReactOwner.removeComponentAsRefFrom(component, ref, owner);\n\t }\n\t}\n\t\n\tReactRef.attachRefs = function (instance, element) {\n\t if (element === null || element === false) {\n\t return;\n\t }\n\t var ref = element.ref;\n\t if (ref != null) {\n\t attachRef(ref, instance, element._owner);\n\t }\n\t};\n\t\n\tReactRef.shouldUpdateRefs = function (prevElement, nextElement) {\n\t // If either the owner or a `ref` has changed, make sure the newest owner\n\t // has stored a reference to `this`, and the previous owner (if different)\n\t // has forgotten the reference to `this`. We use the element instead\n\t // of the public this.props because the post processing cannot determine\n\t // a ref. The ref conceptually lives on the element.\n\t\n\t // TODO: Should this even be possible? The owner cannot change because\n\t // it's forbidden by shouldUpdateReactComponent. The ref can change\n\t // if you swap the keys of but not the refs. Reconsider where this check\n\t // is made. It probably belongs where the key checking and\n\t // instantiateReactComponent is done.\n\t\n\t var prevEmpty = prevElement === null || prevElement === false;\n\t var nextEmpty = nextElement === null || nextElement === false;\n\t\n\t return (\n\t // This has a few false positives w/r/t empty components.\n\t prevEmpty || nextEmpty || nextElement.ref !== prevElement.ref ||\n\t // If owner changes but we have an unchanged function ref, don't update refs\n\t typeof nextElement.ref === 'string' && nextElement._owner !== prevElement._owner\n\t );\n\t};\n\t\n\tReactRef.detachRefs = function (instance, element) {\n\t if (element === null || element === false) {\n\t return;\n\t }\n\t var ref = element.ref;\n\t if (ref != null) {\n\t detachRef(ref, instance, element._owner);\n\t }\n\t};\n\t\n\tmodule.exports = ReactRef;\n\n/***/ },\n/* 629 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Copyright 2014-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @providesModule ReactServerRenderingTransaction\n\t */\n\t\n\t'use strict';\n\t\n\tvar _assign = __webpack_require__(6);\n\t\n\tvar PooledClass = __webpack_require__(39);\n\tvar Transaction = __webpack_require__(75);\n\tvar ReactInstrumentation = __webpack_require__(25);\n\tvar ReactServerUpdateQueue = __webpack_require__(630);\n\t\n\t/**\n\t * Executed within the scope of the `Transaction` instance. Consider these as\n\t * being member methods, but with an implied ordering while being isolated from\n\t * each other.\n\t */\n\tvar TRANSACTION_WRAPPERS = [];\n\t\n\tif (false) {\n\t TRANSACTION_WRAPPERS.push({\n\t initialize: ReactInstrumentation.debugTool.onBeginFlush,\n\t close: ReactInstrumentation.debugTool.onEndFlush\n\t });\n\t}\n\t\n\tvar noopCallbackQueue = {\n\t enqueue: function () {}\n\t};\n\t\n\t/**\n\t * @class ReactServerRenderingTransaction\n\t * @param {boolean} renderToStaticMarkup\n\t */\n\tfunction ReactServerRenderingTransaction(renderToStaticMarkup) {\n\t this.reinitializeTransaction();\n\t this.renderToStaticMarkup = renderToStaticMarkup;\n\t this.useCreateElement = false;\n\t this.updateQueue = new ReactServerUpdateQueue(this);\n\t}\n\t\n\tvar Mixin = {\n\t /**\n\t * @see Transaction\n\t * @abstract\n\t * @final\n\t * @return {array} Empty list of operation wrap procedures.\n\t */\n\t getTransactionWrappers: function () {\n\t return TRANSACTION_WRAPPERS;\n\t },\n\t\n\t /**\n\t * @return {object} The queue to collect `onDOMReady` callbacks with.\n\t */\n\t getReactMountReady: function () {\n\t return noopCallbackQueue;\n\t },\n\t\n\t /**\n\t * @return {object} The queue to collect React async events.\n\t */\n\t getUpdateQueue: function () {\n\t return this.updateQueue;\n\t },\n\t\n\t /**\n\t * `PooledClass` looks for this, and will invoke this before allowing this\n\t * instance to be reused.\n\t */\n\t destructor: function () {},\n\t\n\t checkpoint: function () {},\n\t\n\t rollback: function () {}\n\t};\n\t\n\t_assign(ReactServerRenderingTransaction.prototype, Transaction.Mixin, Mixin);\n\t\n\tPooledClass.addPoolingTo(ReactServerRenderingTransaction);\n\t\n\tmodule.exports = ReactServerRenderingTransaction;\n\n/***/ },\n/* 630 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Copyright 2015-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @providesModule ReactServerUpdateQueue\n\t * \n\t */\n\t\n\t'use strict';\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tvar ReactUpdateQueue = __webpack_require__(151);\n\tvar Transaction = __webpack_require__(75);\n\tvar warning = __webpack_require__(5);\n\t\n\tfunction warnNoop(publicInstance, callerName) {\n\t if (false) {\n\t var constructor = publicInstance.constructor;\n\t process.env.NODE_ENV !== 'production' ? warning(false, '%s(...): Can only update a mounting component. ' + 'This usually means you called %s() outside componentWillMount() on the server. ' + 'This is a no-op. Please check the code for the %s component.', callerName, callerName, constructor && (constructor.displayName || constructor.name) || 'ReactClass') : void 0;\n\t }\n\t}\n\t\n\t/**\n\t * This is the update queue used for server rendering.\n\t * It delegates to ReactUpdateQueue while server rendering is in progress and\n\t * switches to ReactNoopUpdateQueue after the transaction has completed.\n\t * @class ReactServerUpdateQueue\n\t * @param {Transaction} transaction\n\t */\n\t\n\tvar ReactServerUpdateQueue = function () {\n\t /* :: transaction: Transaction; */\n\t\n\t function ReactServerUpdateQueue(transaction) {\n\t _classCallCheck(this, ReactServerUpdateQueue);\n\t\n\t this.transaction = transaction;\n\t }\n\t\n\t /**\n\t * Checks whether or not this composite component is mounted.\n\t * @param {ReactClass} publicInstance The instance we want to test.\n\t * @return {boolean} True if mounted, false otherwise.\n\t * @protected\n\t * @final\n\t */\n\t\n\t\n\t ReactServerUpdateQueue.prototype.isMounted = function isMounted(publicInstance) {\n\t return false;\n\t };\n\t\n\t /**\n\t * Enqueue a callback that will be executed after all the pending updates\n\t * have processed.\n\t *\n\t * @param {ReactClass} publicInstance The instance to use as `this` context.\n\t * @param {?function} callback Called after state is updated.\n\t * @internal\n\t */\n\t\n\t\n\t ReactServerUpdateQueue.prototype.enqueueCallback = function enqueueCallback(publicInstance, callback, callerName) {\n\t if (this.transaction.isInTransaction()) {\n\t ReactUpdateQueue.enqueueCallback(publicInstance, callback, callerName);\n\t }\n\t };\n\t\n\t /**\n\t * Forces an update. This should only be invoked when it is known with\n\t * certainty that we are **not** in a DOM transaction.\n\t *\n\t * You may want to call this when you know that some deeper aspect of the\n\t * component's state has changed but `setState` was not called.\n\t *\n\t * This will not invoke `shouldComponentUpdate`, but it will invoke\n\t * `componentWillUpdate` and `componentDidUpdate`.\n\t *\n\t * @param {ReactClass} publicInstance The instance that should rerender.\n\t * @internal\n\t */\n\t\n\t\n\t ReactServerUpdateQueue.prototype.enqueueForceUpdate = function enqueueForceUpdate(publicInstance) {\n\t if (this.transaction.isInTransaction()) {\n\t ReactUpdateQueue.enqueueForceUpdate(publicInstance);\n\t } else {\n\t warnNoop(publicInstance, 'forceUpdate');\n\t }\n\t };\n\t\n\t /**\n\t * Replaces all of the state. Always use this or `setState` to mutate state.\n\t * You should treat `this.state` as immutable.\n\t *\n\t * There is no guarantee that `this.state` will be immediately updated, so\n\t * accessing `this.state` after calling this method may return the old value.\n\t *\n\t * @param {ReactClass} publicInstance The instance that should rerender.\n\t * @param {object|function} completeState Next state.\n\t * @internal\n\t */\n\t\n\t\n\t ReactServerUpdateQueue.prototype.enqueueReplaceState = function enqueueReplaceState(publicInstance, completeState) {\n\t if (this.transaction.isInTransaction()) {\n\t ReactUpdateQueue.enqueueReplaceState(publicInstance, completeState);\n\t } else {\n\t warnNoop(publicInstance, 'replaceState');\n\t }\n\t };\n\t\n\t /**\n\t * Sets a subset of the state. This only exists because _pendingState is\n\t * internal. This provides a merging strategy that is not available to deep\n\t * properties which is confusing. TODO: Expose pendingState or don't use it\n\t * during the merge.\n\t *\n\t * @param {ReactClass} publicInstance The instance that should rerender.\n\t * @param {object|function} partialState Next partial state to be merged with state.\n\t * @internal\n\t */\n\t\n\t\n\t ReactServerUpdateQueue.prototype.enqueueSetState = function enqueueSetState(publicInstance, partialState) {\n\t if (this.transaction.isInTransaction()) {\n\t ReactUpdateQueue.enqueueSetState(publicInstance, partialState);\n\t } else {\n\t warnNoop(publicInstance, 'setState');\n\t }\n\t };\n\t\n\t return ReactServerUpdateQueue;\n\t}();\n\t\n\tmodule.exports = ReactServerUpdateQueue;\n\n/***/ },\n/* 631 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Copyright 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @providesModule SVGDOMPropertyConfig\n\t */\n\t\n\t'use strict';\n\t\n\tvar NS = {\n\t xlink: 'http://www.w3.org/1999/xlink',\n\t xml: 'http://www.w3.org/XML/1998/namespace'\n\t};\n\t\n\t// We use attributes for everything SVG so let's avoid some duplication and run\n\t// code instead.\n\t// The following are all specified in the HTML config already so we exclude here.\n\t// - class (as className)\n\t// - color\n\t// - height\n\t// - id\n\t// - lang\n\t// - max\n\t// - media\n\t// - method\n\t// - min\n\t// - name\n\t// - style\n\t// - target\n\t// - type\n\t// - width\n\tvar ATTRS = {\n\t accentHeight: 'accent-height',\n\t accumulate: 0,\n\t additive: 0,\n\t alignmentBaseline: 'alignment-baseline',\n\t allowReorder: 'allowReorder',\n\t alphabetic: 0,\n\t amplitude: 0,\n\t arabicForm: 'arabic-form',\n\t ascent: 0,\n\t attributeName: 'attributeName',\n\t attributeType: 'attributeType',\n\t autoReverse: 'autoReverse',\n\t azimuth: 0,\n\t baseFrequency: 'baseFrequency',\n\t baseProfile: 'baseProfile',\n\t baselineShift: 'baseline-shift',\n\t bbox: 0,\n\t begin: 0,\n\t bias: 0,\n\t by: 0,\n\t calcMode: 'calcMode',\n\t capHeight: 'cap-height',\n\t clip: 0,\n\t clipPath: 'clip-path',\n\t clipRule: 'clip-rule',\n\t clipPathUnits: 'clipPathUnits',\n\t colorInterpolation: 'color-interpolation',\n\t colorInterpolationFilters: 'color-interpolation-filters',\n\t colorProfile: 'color-profile',\n\t colorRendering: 'color-rendering',\n\t contentScriptType: 'contentScriptType',\n\t contentStyleType: 'contentStyleType',\n\t cursor: 0,\n\t cx: 0,\n\t cy: 0,\n\t d: 0,\n\t decelerate: 0,\n\t descent: 0,\n\t diffuseConstant: 'diffuseConstant',\n\t direction: 0,\n\t display: 0,\n\t divisor: 0,\n\t dominantBaseline: 'dominant-baseline',\n\t dur: 0,\n\t dx: 0,\n\t dy: 0,\n\t edgeMode: 'edgeMode',\n\t elevation: 0,\n\t enableBackground: 'enable-background',\n\t end: 0,\n\t exponent: 0,\n\t externalResourcesRequired: 'externalResourcesRequired',\n\t fill: 0,\n\t fillOpacity: 'fill-opacity',\n\t fillRule: 'fill-rule',\n\t filter: 0,\n\t filterRes: 'filterRes',\n\t filterUnits: 'filterUnits',\n\t floodColor: 'flood-color',\n\t floodOpacity: 'flood-opacity',\n\t focusable: 0,\n\t fontFamily: 'font-family',\n\t fontSize: 'font-size',\n\t fontSizeAdjust: 'font-size-adjust',\n\t fontStretch: 'font-stretch',\n\t fontStyle: 'font-style',\n\t fontVariant: 'font-variant',\n\t fontWeight: 'font-weight',\n\t format: 0,\n\t from: 0,\n\t fx: 0,\n\t fy: 0,\n\t g1: 0,\n\t g2: 0,\n\t glyphName: 'glyph-name',\n\t glyphOrientationHorizontal: 'glyph-orientation-horizontal',\n\t glyphOrientationVertical: 'glyph-orientation-vertical',\n\t glyphRef: 'glyphRef',\n\t gradientTransform: 'gradientTransform',\n\t gradientUnits: 'gradientUnits',\n\t hanging: 0,\n\t horizAdvX: 'horiz-adv-x',\n\t horizOriginX: 'horiz-origin-x',\n\t ideographic: 0,\n\t imageRendering: 'image-rendering',\n\t 'in': 0,\n\t in2: 0,\n\t intercept: 0,\n\t k: 0,\n\t k1: 0,\n\t k2: 0,\n\t k3: 0,\n\t k4: 0,\n\t kernelMatrix: 'kernelMatrix',\n\t kernelUnitLength: 'kernelUnitLength',\n\t kerning: 0,\n\t keyPoints: 'keyPoints',\n\t keySplines: 'keySplines',\n\t keyTimes: 'keyTimes',\n\t lengthAdjust: 'lengthAdjust',\n\t letterSpacing: 'letter-spacing',\n\t lightingColor: 'lighting-color',\n\t limitingConeAngle: 'limitingConeAngle',\n\t local: 0,\n\t markerEnd: 'marker-end',\n\t markerMid: 'marker-mid',\n\t markerStart: 'marker-start',\n\t markerHeight: 'markerHeight',\n\t markerUnits: 'markerUnits',\n\t markerWidth: 'markerWidth',\n\t mask: 0,\n\t maskContentUnits: 'maskContentUnits',\n\t maskUnits: 'maskUnits',\n\t mathematical: 0,\n\t mode: 0,\n\t numOctaves: 'numOctaves',\n\t offset: 0,\n\t opacity: 0,\n\t operator: 0,\n\t order: 0,\n\t orient: 0,\n\t orientation: 0,\n\t origin: 0,\n\t overflow: 0,\n\t overlinePosition: 'overline-position',\n\t overlineThickness: 'overline-thickness',\n\t paintOrder: 'paint-order',\n\t panose1: 'panose-1',\n\t pathLength: 'pathLength',\n\t patternContentUnits: 'patternContentUnits',\n\t patternTransform: 'patternTransform',\n\t patternUnits: 'patternUnits',\n\t pointerEvents: 'pointer-events',\n\t points: 0,\n\t pointsAtX: 'pointsAtX',\n\t pointsAtY: 'pointsAtY',\n\t pointsAtZ: 'pointsAtZ',\n\t preserveAlpha: 'preserveAlpha',\n\t preserveAspectRatio: 'preserveAspectRatio',\n\t primitiveUnits: 'primitiveUnits',\n\t r: 0,\n\t radius: 0,\n\t refX: 'refX',\n\t refY: 'refY',\n\t renderingIntent: 'rendering-intent',\n\t repeatCount: 'repeatCount',\n\t repeatDur: 'repeatDur',\n\t requiredExtensions: 'requiredExtensions',\n\t requiredFeatures: 'requiredFeatures',\n\t restart: 0,\n\t result: 0,\n\t rotate: 0,\n\t rx: 0,\n\t ry: 0,\n\t scale: 0,\n\t seed: 0,\n\t shapeRendering: 'shape-rendering',\n\t slope: 0,\n\t spacing: 0,\n\t specularConstant: 'specularConstant',\n\t specularExponent: 'specularExponent',\n\t speed: 0,\n\t spreadMethod: 'spreadMethod',\n\t startOffset: 'startOffset',\n\t stdDeviation: 'stdDeviation',\n\t stemh: 0,\n\t stemv: 0,\n\t stitchTiles: 'stitchTiles',\n\t stopColor: 'stop-color',\n\t stopOpacity: 'stop-opacity',\n\t strikethroughPosition: 'strikethrough-position',\n\t strikethroughThickness: 'strikethrough-thickness',\n\t string: 0,\n\t stroke: 0,\n\t strokeDasharray: 'stroke-dasharray',\n\t strokeDashoffset: 'stroke-dashoffset',\n\t strokeLinecap: 'stroke-linecap',\n\t strokeLinejoin: 'stroke-linejoin',\n\t strokeMiterlimit: 'stroke-miterlimit',\n\t strokeOpacity: 'stroke-opacity',\n\t strokeWidth: 'stroke-width',\n\t surfaceScale: 'surfaceScale',\n\t systemLanguage: 'systemLanguage',\n\t tableValues: 'tableValues',\n\t targetX: 'targetX',\n\t targetY: 'targetY',\n\t textAnchor: 'text-anchor',\n\t textDecoration: 'text-decoration',\n\t textRendering: 'text-rendering',\n\t textLength: 'textLength',\n\t to: 0,\n\t transform: 0,\n\t u1: 0,\n\t u2: 0,\n\t underlinePosition: 'underline-position',\n\t underlineThickness: 'underline-thickness',\n\t unicode: 0,\n\t unicodeBidi: 'unicode-bidi',\n\t unicodeRange: 'unicode-range',\n\t unitsPerEm: 'units-per-em',\n\t vAlphabetic: 'v-alphabetic',\n\t vHanging: 'v-hanging',\n\t vIdeographic: 'v-ideographic',\n\t vMathematical: 'v-mathematical',\n\t values: 0,\n\t vectorEffect: 'vector-effect',\n\t version: 0,\n\t vertAdvY: 'vert-adv-y',\n\t vertOriginX: 'vert-origin-x',\n\t vertOriginY: 'vert-origin-y',\n\t viewBox: 'viewBox',\n\t viewTarget: 'viewTarget',\n\t visibility: 0,\n\t widths: 0,\n\t wordSpacing: 'word-spacing',\n\t writingMode: 'writing-mode',\n\t x: 0,\n\t xHeight: 'x-height',\n\t x1: 0,\n\t x2: 0,\n\t xChannelSelector: 'xChannelSelector',\n\t xlinkActuate: 'xlink:actuate',\n\t xlinkArcrole: 'xlink:arcrole',\n\t xlinkHref: 'xlink:href',\n\t xlinkRole: 'xlink:role',\n\t xlinkShow: 'xlink:show',\n\t xlinkTitle: 'xlink:title',\n\t xlinkType: 'xlink:type',\n\t xmlBase: 'xml:base',\n\t xmlns: 0,\n\t xmlnsXlink: 'xmlns:xlink',\n\t xmlLang: 'xml:lang',\n\t xmlSpace: 'xml:space',\n\t y: 0,\n\t y1: 0,\n\t y2: 0,\n\t yChannelSelector: 'yChannelSelector',\n\t z: 0,\n\t zoomAndPan: 'zoomAndPan'\n\t};\n\t\n\tvar SVGDOMPropertyConfig = {\n\t Properties: {},\n\t DOMAttributeNamespaces: {\n\t xlinkActuate: NS.xlink,\n\t xlinkArcrole: NS.xlink,\n\t xlinkHref: NS.xlink,\n\t xlinkRole: NS.xlink,\n\t xlinkShow: NS.xlink,\n\t xlinkTitle: NS.xlink,\n\t xlinkType: NS.xlink,\n\t xmlBase: NS.xml,\n\t xmlLang: NS.xml,\n\t xmlSpace: NS.xml\n\t },\n\t DOMAttributeNames: {}\n\t};\n\t\n\tObject.keys(ATTRS).forEach(function (key) {\n\t SVGDOMPropertyConfig.Properties[key] = 0;\n\t if (ATTRS[key]) {\n\t SVGDOMPropertyConfig.DOMAttributeNames[key] = ATTRS[key];\n\t }\n\t});\n\t\n\tmodule.exports = SVGDOMPropertyConfig;\n\n/***/ },\n/* 632 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Copyright 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @providesModule SelectEventPlugin\n\t */\n\t\n\t'use strict';\n\t\n\tvar EventConstants = __webpack_require__(32);\n\tvar EventPropagators = __webpack_require__(72);\n\tvar ExecutionEnvironment = __webpack_require__(18);\n\tvar ReactDOMComponentTree = __webpack_require__(9);\n\tvar ReactInputSelection = __webpack_require__(334);\n\tvar SyntheticEvent = __webpack_require__(33);\n\t\n\tvar getActiveElement = __webpack_require__(174);\n\tvar isTextInputElement = __webpack_require__(348);\n\tvar keyOf = __webpack_require__(34);\n\tvar shallowEqual = __webpack_require__(111);\n\t\n\tvar topLevelTypes = EventConstants.topLevelTypes;\n\t\n\tvar skipSelectionChangeEvent = ExecutionEnvironment.canUseDOM && 'documentMode' in document && document.documentMode <= 11;\n\t\n\tvar eventTypes = {\n\t select: {\n\t phasedRegistrationNames: {\n\t bubbled: keyOf({ onSelect: null }),\n\t captured: keyOf({ onSelectCapture: null })\n\t },\n\t dependencies: [topLevelTypes.topBlur, topLevelTypes.topContextMenu, topLevelTypes.topFocus, topLevelTypes.topKeyDown, topLevelTypes.topKeyUp, topLevelTypes.topMouseDown, topLevelTypes.topMouseUp, topLevelTypes.topSelectionChange]\n\t }\n\t};\n\t\n\tvar activeElement = null;\n\tvar activeElementInst = null;\n\tvar lastSelection = null;\n\tvar mouseDown = false;\n\t\n\t// Track whether a listener exists for this plugin. If none exist, we do\n\t// not extract events. See #3639.\n\tvar hasListener = false;\n\tvar ON_SELECT_KEY = keyOf({ onSelect: null });\n\t\n\t/**\n\t * Get an object which is a unique representation of the current selection.\n\t *\n\t * The return value will not be consistent across nodes or browsers, but\n\t * two identical selections on the same node will return identical objects.\n\t *\n\t * @param {DOMElement} node\n\t * @return {object}\n\t */\n\tfunction getSelection(node) {\n\t if ('selectionStart' in node && ReactInputSelection.hasSelectionCapabilities(node)) {\n\t return {\n\t start: node.selectionStart,\n\t end: node.selectionEnd\n\t };\n\t } else if (window.getSelection) {\n\t var selection = window.getSelection();\n\t return {\n\t anchorNode: selection.anchorNode,\n\t anchorOffset: selection.anchorOffset,\n\t focusNode: selection.focusNode,\n\t focusOffset: selection.focusOffset\n\t };\n\t } else if (document.selection) {\n\t var range = document.selection.createRange();\n\t return {\n\t parentElement: range.parentElement(),\n\t text: range.text,\n\t top: range.boundingTop,\n\t left: range.boundingLeft\n\t };\n\t }\n\t}\n\t\n\t/**\n\t * Poll selection to see whether it's changed.\n\t *\n\t * @param {object} nativeEvent\n\t * @return {?SyntheticEvent}\n\t */\n\tfunction constructSelectEvent(nativeEvent, nativeEventTarget) {\n\t // Ensure we have the right element, and that the user is not dragging a\n\t // selection (this matches native `select` event behavior). In HTML5, select\n\t // fires only on input and textarea thus if there's no focused element we\n\t // won't dispatch.\n\t if (mouseDown || activeElement == null || activeElement !== getActiveElement()) {\n\t return null;\n\t }\n\t\n\t // Only fire when selection has actually changed.\n\t var currentSelection = getSelection(activeElement);\n\t if (!lastSelection || !shallowEqual(lastSelection, currentSelection)) {\n\t lastSelection = currentSelection;\n\t\n\t var syntheticEvent = SyntheticEvent.getPooled(eventTypes.select, activeElementInst, nativeEvent, nativeEventTarget);\n\t\n\t syntheticEvent.type = 'select';\n\t syntheticEvent.target = activeElement;\n\t\n\t EventPropagators.accumulateTwoPhaseDispatches(syntheticEvent);\n\t\n\t return syntheticEvent;\n\t }\n\t\n\t return null;\n\t}\n\t\n\t/**\n\t * This plugin creates an `onSelect` event that normalizes select events\n\t * across form elements.\n\t *\n\t * Supported elements are:\n\t * - input (see `isTextInputElement`)\n\t * - textarea\n\t * - contentEditable\n\t *\n\t * This differs from native browser implementations in the following ways:\n\t * - Fires on contentEditable fields as well as inputs.\n\t * - Fires for collapsed selection.\n\t * - Fires after user input.\n\t */\n\tvar SelectEventPlugin = {\n\t\n\t eventTypes: eventTypes,\n\t\n\t extractEvents: function (topLevelType, targetInst, nativeEvent, nativeEventTarget) {\n\t if (!hasListener) {\n\t return null;\n\t }\n\t\n\t var targetNode = targetInst ? ReactDOMComponentTree.getNodeFromInstance(targetInst) : window;\n\t\n\t switch (topLevelType) {\n\t // Track the input node that has focus.\n\t case topLevelTypes.topFocus:\n\t if (isTextInputElement(targetNode) || targetNode.contentEditable === 'true') {\n\t activeElement = targetNode;\n\t activeElementInst = targetInst;\n\t lastSelection = null;\n\t }\n\t break;\n\t case topLevelTypes.topBlur:\n\t activeElement = null;\n\t activeElementInst = null;\n\t lastSelection = null;\n\t break;\n\t\n\t // Don't fire the event while the user is dragging. This matches the\n\t // semantics of the native select event.\n\t case topLevelTypes.topMouseDown:\n\t mouseDown = true;\n\t break;\n\t case topLevelTypes.topContextMenu:\n\t case topLevelTypes.topMouseUp:\n\t mouseDown = false;\n\t return constructSelectEvent(nativeEvent, nativeEventTarget);\n\t\n\t // Chrome and IE fire non-standard event when selection is changed (and\n\t // sometimes when it hasn't). IE's event fires out of order with respect\n\t // to key and input events on deletion, so we discard it.\n\t //\n\t // Firefox doesn't support selectionchange, so check selection status\n\t // after each key entry. The selection changes after keydown and before\n\t // keyup, but we check on keydown as well in the case of holding down a\n\t // key, when multiple keydown events are fired but only one keyup is.\n\t // This is also our approach for IE handling, for the reason above.\n\t case topLevelTypes.topSelectionChange:\n\t if (skipSelectionChangeEvent) {\n\t break;\n\t }\n\t // falls through\n\t case topLevelTypes.topKeyDown:\n\t case topLevelTypes.topKeyUp:\n\t return constructSelectEvent(nativeEvent, nativeEventTarget);\n\t }\n\t\n\t return null;\n\t },\n\t\n\t didPutListener: function (inst, registrationName, listener) {\n\t if (registrationName === ON_SELECT_KEY) {\n\t hasListener = true;\n\t }\n\t }\n\t};\n\t\n\tmodule.exports = SelectEventPlugin;\n\n/***/ },\n/* 633 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Copyright 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @providesModule SimpleEventPlugin\n\t */\n\t\n\t'use strict';\n\t\n\tvar _prodInvariant = __webpack_require__(4);\n\t\n\tvar EventConstants = __webpack_require__(32);\n\tvar EventListener = __webpack_require__(172);\n\tvar EventPropagators = __webpack_require__(72);\n\tvar ReactDOMComponentTree = __webpack_require__(9);\n\tvar SyntheticAnimationEvent = __webpack_require__(634);\n\tvar SyntheticClipboardEvent = __webpack_require__(635);\n\tvar SyntheticEvent = __webpack_require__(33);\n\tvar SyntheticFocusEvent = __webpack_require__(638);\n\tvar SyntheticKeyboardEvent = __webpack_require__(640);\n\tvar SyntheticMouseEvent = __webpack_require__(96);\n\tvar SyntheticDragEvent = __webpack_require__(637);\n\tvar SyntheticTouchEvent = __webpack_require__(641);\n\tvar SyntheticTransitionEvent = __webpack_require__(642);\n\tvar SyntheticUIEvent = __webpack_require__(74);\n\tvar SyntheticWheelEvent = __webpack_require__(643);\n\t\n\tvar emptyFunction = __webpack_require__(24);\n\tvar getEventCharCode = __webpack_require__(153);\n\tvar invariant = __webpack_require__(3);\n\tvar keyOf = __webpack_require__(34);\n\t\n\tvar topLevelTypes = EventConstants.topLevelTypes;\n\t\n\tvar eventTypes = {\n\t abort: {\n\t phasedRegistrationNames: {\n\t bubbled: keyOf({ onAbort: true }),\n\t captured: keyOf({ onAbortCapture: true })\n\t }\n\t },\n\t animationEnd: {\n\t phasedRegistrationNames: {\n\t bubbled: keyOf({ onAnimationEnd: true }),\n\t captured: keyOf({ onAnimationEndCapture: true })\n\t }\n\t },\n\t animationIteration: {\n\t phasedRegistrationNames: {\n\t bubbled: keyOf({ onAnimationIteration: true }),\n\t captured: keyOf({ onAnimationIterationCapture: true })\n\t }\n\t },\n\t animationStart: {\n\t phasedRegistrationNames: {\n\t bubbled: keyOf({ onAnimationStart: true }),\n\t captured: keyOf({ onAnimationStartCapture: true })\n\t }\n\t },\n\t blur: {\n\t phasedRegistrationNames: {\n\t bubbled: keyOf({ onBlur: true }),\n\t captured: keyOf({ onBlurCapture: true })\n\t }\n\t },\n\t canPlay: {\n\t phasedRegistrationNames: {\n\t bubbled: keyOf({ onCanPlay: true }),\n\t captured: keyOf({ onCanPlayCapture: true })\n\t }\n\t },\n\t canPlayThrough: {\n\t phasedRegistrationNames: {\n\t bubbled: keyOf({ onCanPlayThrough: true }),\n\t captured: keyOf({ onCanPlayThroughCapture: true })\n\t }\n\t },\n\t click: {\n\t phasedRegistrationNames: {\n\t bubbled: keyOf({ onClick: true }),\n\t captured: keyOf({ onClickCapture: true })\n\t }\n\t },\n\t contextMenu: {\n\t phasedRegistrationNames: {\n\t bubbled: keyOf({ onContextMenu: true }),\n\t captured: keyOf({ onContextMenuCapture: true })\n\t }\n\t },\n\t copy: {\n\t phasedRegistrationNames: {\n\t bubbled: keyOf({ onCopy: true }),\n\t captured: keyOf({ onCopyCapture: true })\n\t }\n\t },\n\t cut: {\n\t phasedRegistrationNames: {\n\t bubbled: keyOf({ onCut: true }),\n\t captured: keyOf({ onCutCapture: true })\n\t }\n\t },\n\t doubleClick: {\n\t phasedRegistrationNames: {\n\t bubbled: keyOf({ onDoubleClick: true }),\n\t captured: keyOf({ onDoubleClickCapture: true })\n\t }\n\t },\n\t drag: {\n\t phasedRegistrationNames: {\n\t bubbled: keyOf({ onDrag: true }),\n\t captured: keyOf({ onDragCapture: true })\n\t }\n\t },\n\t dragEnd: {\n\t phasedRegistrationNames: {\n\t bubbled: keyOf({ onDragEnd: true }),\n\t captured: keyOf({ onDragEndCapture: true })\n\t }\n\t },\n\t dragEnter: {\n\t phasedRegistrationNames: {\n\t bubbled: keyOf({ onDragEnter: true }),\n\t captured: keyOf({ onDragEnterCapture: true })\n\t }\n\t },\n\t dragExit: {\n\t phasedRegistrationNames: {\n\t bubbled: keyOf({ onDragExit: true }),\n\t captured: keyOf({ onDragExitCapture: true })\n\t }\n\t },\n\t dragLeave: {\n\t phasedRegistrationNames: {\n\t bubbled: keyOf({ onDragLeave: true }),\n\t captured: keyOf({ onDragLeaveCapture: true })\n\t }\n\t },\n\t dragOver: {\n\t phasedRegistrationNames: {\n\t bubbled: keyOf({ onDragOver: true }),\n\t captured: keyOf({ onDragOverCapture: true })\n\t }\n\t },\n\t dragStart: {\n\t phasedRegistrationNames: {\n\t bubbled: keyOf({ onDragStart: true }),\n\t captured: keyOf({ onDragStartCapture: true })\n\t }\n\t },\n\t drop: {\n\t phasedRegistrationNames: {\n\t bubbled: keyOf({ onDrop: true }),\n\t captured: keyOf({ onDropCapture: true })\n\t }\n\t },\n\t durationChange: {\n\t phasedRegistrationNames: {\n\t bubbled: keyOf({ onDurationChange: true }),\n\t captured: keyOf({ onDurationChangeCapture: true })\n\t }\n\t },\n\t emptied: {\n\t phasedRegistrationNames: {\n\t bubbled: keyOf({ onEmptied: true }),\n\t captured: keyOf({ onEmptiedCapture: true })\n\t }\n\t },\n\t encrypted: {\n\t phasedRegistrationNames: {\n\t bubbled: keyOf({ onEncrypted: true }),\n\t captured: keyOf({ onEncryptedCapture: true })\n\t }\n\t },\n\t ended: {\n\t phasedRegistrationNames: {\n\t bubbled: keyOf({ onEnded: true }),\n\t captured: keyOf({ onEndedCapture: true })\n\t }\n\t },\n\t error: {\n\t phasedRegistrationNames: {\n\t bubbled: keyOf({ onError: true }),\n\t captured: keyOf({ onErrorCapture: true })\n\t }\n\t },\n\t focus: {\n\t phasedRegistrationNames: {\n\t bubbled: keyOf({ onFocus: true }),\n\t captured: keyOf({ onFocusCapture: true })\n\t }\n\t },\n\t input: {\n\t phasedRegistrationNames: {\n\t bubbled: keyOf({ onInput: true }),\n\t captured: keyOf({ onInputCapture: true })\n\t }\n\t },\n\t invalid: {\n\t phasedRegistrationNames: {\n\t bubbled: keyOf({ onInvalid: true }),\n\t captured: keyOf({ onInvalidCapture: true })\n\t }\n\t },\n\t keyDown: {\n\t phasedRegistrationNames: {\n\t bubbled: keyOf({ onKeyDown: true }),\n\t captured: keyOf({ onKeyDownCapture: true })\n\t }\n\t },\n\t keyPress: {\n\t phasedRegistrationNames: {\n\t bubbled: keyOf({ onKeyPress: true }),\n\t captured: keyOf({ onKeyPressCapture: true })\n\t }\n\t },\n\t keyUp: {\n\t phasedRegistrationNames: {\n\t bubbled: keyOf({ onKeyUp: true }),\n\t captured: keyOf({ onKeyUpCapture: true })\n\t }\n\t },\n\t load: {\n\t phasedRegistrationNames: {\n\t bubbled: keyOf({ onLoad: true }),\n\t captured: keyOf({ onLoadCapture: true })\n\t }\n\t },\n\t loadedData: {\n\t phasedRegistrationNames: {\n\t bubbled: keyOf({ onLoadedData: true }),\n\t captured: keyOf({ onLoadedDataCapture: true })\n\t }\n\t },\n\t loadedMetadata: {\n\t phasedRegistrationNames: {\n\t bubbled: keyOf({ onLoadedMetadata: true }),\n\t captured: keyOf({ onLoadedMetadataCapture: true })\n\t }\n\t },\n\t loadStart: {\n\t phasedRegistrationNames: {\n\t bubbled: keyOf({ onLoadStart: true }),\n\t captured: keyOf({ onLoadStartCapture: true })\n\t }\n\t },\n\t // Note: We do not allow listening to mouseOver events. Instead, use the\n\t // onMouseEnter/onMouseLeave created by `EnterLeaveEventPlugin`.\n\t mouseDown: {\n\t phasedRegistrationNames: {\n\t bubbled: keyOf({ onMouseDown: true }),\n\t captured: keyOf({ onMouseDownCapture: true })\n\t }\n\t },\n\t mouseMove: {\n\t phasedRegistrationNames: {\n\t bubbled: keyOf({ onMouseMove: true }),\n\t captured: keyOf({ onMouseMoveCapture: true })\n\t }\n\t },\n\t mouseOut: {\n\t phasedRegistrationNames: {\n\t bubbled: keyOf({ onMouseOut: true }),\n\t captured: keyOf({ onMouseOutCapture: true })\n\t }\n\t },\n\t mouseOver: {\n\t phasedRegistrationNames: {\n\t bubbled: keyOf({ onMouseOver: true }),\n\t captured: keyOf({ onMouseOverCapture: true })\n\t }\n\t },\n\t mouseUp: {\n\t phasedRegistrationNames: {\n\t bubbled: keyOf({ onMouseUp: true }),\n\t captured: keyOf({ onMouseUpCapture: true })\n\t }\n\t },\n\t paste: {\n\t phasedRegistrationNames: {\n\t bubbled: keyOf({ onPaste: true }),\n\t captured: keyOf({ onPasteCapture: true })\n\t }\n\t },\n\t pause: {\n\t phasedRegistrationNames: {\n\t bubbled: keyOf({ onPause: true }),\n\t captured: keyOf({ onPauseCapture: true })\n\t }\n\t },\n\t play: {\n\t phasedRegistrationNames: {\n\t bubbled: keyOf({ onPlay: true }),\n\t captured: keyOf({ onPlayCapture: true })\n\t }\n\t },\n\t playing: {\n\t phasedRegistrationNames: {\n\t bubbled: keyOf({ onPlaying: true }),\n\t captured: keyOf({ onPlayingCapture: true })\n\t }\n\t },\n\t progress: {\n\t phasedRegistrationNames: {\n\t bubbled: keyOf({ onProgress: true }),\n\t captured: keyOf({ onProgressCapture: true })\n\t }\n\t },\n\t rateChange: {\n\t phasedRegistrationNames: {\n\t bubbled: keyOf({ onRateChange: true }),\n\t captured: keyOf({ onRateChangeCapture: true })\n\t }\n\t },\n\t reset: {\n\t phasedRegistrationNames: {\n\t bubbled: keyOf({ onReset: true }),\n\t captured: keyOf({ onResetCapture: true })\n\t }\n\t },\n\t scroll: {\n\t phasedRegistrationNames: {\n\t bubbled: keyOf({ onScroll: true }),\n\t captured: keyOf({ onScrollCapture: true })\n\t }\n\t },\n\t seeked: {\n\t phasedRegistrationNames: {\n\t bubbled: keyOf({ onSeeked: true }),\n\t captured: keyOf({ onSeekedCapture: true })\n\t }\n\t },\n\t seeking: {\n\t phasedRegistrationNames: {\n\t bubbled: keyOf({ onSeeking: true }),\n\t captured: keyOf({ onSeekingCapture: true })\n\t }\n\t },\n\t stalled: {\n\t phasedRegistrationNames: {\n\t bubbled: keyOf({ onStalled: true }),\n\t captured: keyOf({ onStalledCapture: true })\n\t }\n\t },\n\t submit: {\n\t phasedRegistrationNames: {\n\t bubbled: keyOf({ onSubmit: true }),\n\t captured: keyOf({ onSubmitCapture: true })\n\t }\n\t },\n\t suspend: {\n\t phasedRegistrationNames: {\n\t bubbled: keyOf({ onSuspend: true }),\n\t captured: keyOf({ onSuspendCapture: true })\n\t }\n\t },\n\t timeUpdate: {\n\t phasedRegistrationNames: {\n\t bubbled: keyOf({ onTimeUpdate: true }),\n\t captured: keyOf({ onTimeUpdateCapture: true })\n\t }\n\t },\n\t touchCancel: {\n\t phasedRegistrationNames: {\n\t bubbled: keyOf({ onTouchCancel: true }),\n\t captured: keyOf({ onTouchCancelCapture: true })\n\t }\n\t },\n\t touchEnd: {\n\t phasedRegistrationNames: {\n\t bubbled: keyOf({ onTouchEnd: true }),\n\t captured: keyOf({ onTouchEndCapture: true })\n\t }\n\t },\n\t touchMove: {\n\t phasedRegistrationNames: {\n\t bubbled: keyOf({ onTouchMove: true }),\n\t captured: keyOf({ onTouchMoveCapture: true })\n\t }\n\t },\n\t touchStart: {\n\t phasedRegistrationNames: {\n\t bubbled: keyOf({ onTouchStart: true }),\n\t captured: keyOf({ onTouchStartCapture: true })\n\t }\n\t },\n\t transitionEnd: {\n\t phasedRegistrationNames: {\n\t bubbled: keyOf({ onTransitionEnd: true }),\n\t captured: keyOf({ onTransitionEndCapture: true })\n\t }\n\t },\n\t volumeChange: {\n\t phasedRegistrationNames: {\n\t bubbled: keyOf({ onVolumeChange: true }),\n\t captured: keyOf({ onVolumeChangeCapture: true })\n\t }\n\t },\n\t waiting: {\n\t phasedRegistrationNames: {\n\t bubbled: keyOf({ onWaiting: true }),\n\t captured: keyOf({ onWaitingCapture: true })\n\t }\n\t },\n\t wheel: {\n\t phasedRegistrationNames: {\n\t bubbled: keyOf({ onWheel: true }),\n\t captured: keyOf({ onWheelCapture: true })\n\t }\n\t }\n\t};\n\t\n\tvar topLevelEventsToDispatchConfig = {\n\t topAbort: eventTypes.abort,\n\t topAnimationEnd: eventTypes.animationEnd,\n\t topAnimationIteration: eventTypes.animationIteration,\n\t topAnimationStart: eventTypes.animationStart,\n\t topBlur: eventTypes.blur,\n\t topCanPlay: eventTypes.canPlay,\n\t topCanPlayThrough: eventTypes.canPlayThrough,\n\t topClick: eventTypes.click,\n\t topContextMenu: eventTypes.contextMenu,\n\t topCopy: eventTypes.copy,\n\t topCut: eventTypes.cut,\n\t topDoubleClick: eventTypes.doubleClick,\n\t topDrag: eventTypes.drag,\n\t topDragEnd: eventTypes.dragEnd,\n\t topDragEnter: eventTypes.dragEnter,\n\t topDragExit: eventTypes.dragExit,\n\t topDragLeave: eventTypes.dragLeave,\n\t topDragOver: eventTypes.dragOver,\n\t topDragStart: eventTypes.dragStart,\n\t topDrop: eventTypes.drop,\n\t topDurationChange: eventTypes.durationChange,\n\t topEmptied: eventTypes.emptied,\n\t topEncrypted: eventTypes.encrypted,\n\t topEnded: eventTypes.ended,\n\t topError: eventTypes.error,\n\t topFocus: eventTypes.focus,\n\t topInput: eventTypes.input,\n\t topInvalid: eventTypes.invalid,\n\t topKeyDown: eventTypes.keyDown,\n\t topKeyPress: eventTypes.keyPress,\n\t topKeyUp: eventTypes.keyUp,\n\t topLoad: eventTypes.load,\n\t topLoadedData: eventTypes.loadedData,\n\t topLoadedMetadata: eventTypes.loadedMetadata,\n\t topLoadStart: eventTypes.loadStart,\n\t topMouseDown: eventTypes.mouseDown,\n\t topMouseMove: eventTypes.mouseMove,\n\t topMouseOut: eventTypes.mouseOut,\n\t topMouseOver: eventTypes.mouseOver,\n\t topMouseUp: eventTypes.mouseUp,\n\t topPaste: eventTypes.paste,\n\t topPause: eventTypes.pause,\n\t topPlay: eventTypes.play,\n\t topPlaying: eventTypes.playing,\n\t topProgress: eventTypes.progress,\n\t topRateChange: eventTypes.rateChange,\n\t topReset: eventTypes.reset,\n\t topScroll: eventTypes.scroll,\n\t topSeeked: eventTypes.seeked,\n\t topSeeking: eventTypes.seeking,\n\t topStalled: eventTypes.stalled,\n\t topSubmit: eventTypes.submit,\n\t topSuspend: eventTypes.suspend,\n\t topTimeUpdate: eventTypes.timeUpdate,\n\t topTouchCancel: eventTypes.touchCancel,\n\t topTouchEnd: eventTypes.touchEnd,\n\t topTouchMove: eventTypes.touchMove,\n\t topTouchStart: eventTypes.touchStart,\n\t topTransitionEnd: eventTypes.transitionEnd,\n\t topVolumeChange: eventTypes.volumeChange,\n\t topWaiting: eventTypes.waiting,\n\t topWheel: eventTypes.wheel\n\t};\n\t\n\tfor (var type in topLevelEventsToDispatchConfig) {\n\t topLevelEventsToDispatchConfig[type].dependencies = [type];\n\t}\n\t\n\tvar ON_CLICK_KEY = keyOf({ onClick: null });\n\tvar onClickListeners = {};\n\t\n\tfunction getDictionaryKey(inst) {\n\t // Prevents V8 performance issue:\n\t // https://github.com/facebook/react/pull/7232\n\t return '.' + inst._rootNodeID;\n\t}\n\t\n\tvar SimpleEventPlugin = {\n\t\n\t eventTypes: eventTypes,\n\t\n\t extractEvents: function (topLevelType, targetInst, nativeEvent, nativeEventTarget) {\n\t var dispatchConfig = topLevelEventsToDispatchConfig[topLevelType];\n\t if (!dispatchConfig) {\n\t return null;\n\t }\n\t var EventConstructor;\n\t switch (topLevelType) {\n\t case topLevelTypes.topAbort:\n\t case topLevelTypes.topCanPlay:\n\t case topLevelTypes.topCanPlayThrough:\n\t case topLevelTypes.topDurationChange:\n\t case topLevelTypes.topEmptied:\n\t case topLevelTypes.topEncrypted:\n\t case topLevelTypes.topEnded:\n\t case topLevelTypes.topError:\n\t case topLevelTypes.topInput:\n\t case topLevelTypes.topInvalid:\n\t case topLevelTypes.topLoad:\n\t case topLevelTypes.topLoadedData:\n\t case topLevelTypes.topLoadedMetadata:\n\t case topLevelTypes.topLoadStart:\n\t case topLevelTypes.topPause:\n\t case topLevelTypes.topPlay:\n\t case topLevelTypes.topPlaying:\n\t case topLevelTypes.topProgress:\n\t case topLevelTypes.topRateChange:\n\t case topLevelTypes.topReset:\n\t case topLevelTypes.topSeeked:\n\t case topLevelTypes.topSeeking:\n\t case topLevelTypes.topStalled:\n\t case topLevelTypes.topSubmit:\n\t case topLevelTypes.topSuspend:\n\t case topLevelTypes.topTimeUpdate:\n\t case topLevelTypes.topVolumeChange:\n\t case topLevelTypes.topWaiting:\n\t // HTML Events\n\t // @see http://www.w3.org/TR/html5/index.html#events-0\n\t EventConstructor = SyntheticEvent;\n\t break;\n\t case topLevelTypes.topKeyPress:\n\t // Firefox creates a keypress event for function keys too. This removes\n\t // the unwanted keypress events. Enter is however both printable and\n\t // non-printable. One would expect Tab to be as well (but it isn't).\n\t if (getEventCharCode(nativeEvent) === 0) {\n\t return null;\n\t }\n\t /* falls through */\n\t case topLevelTypes.topKeyDown:\n\t case topLevelTypes.topKeyUp:\n\t EventConstructor = SyntheticKeyboardEvent;\n\t break;\n\t case topLevelTypes.topBlur:\n\t case topLevelTypes.topFocus:\n\t EventConstructor = SyntheticFocusEvent;\n\t break;\n\t case topLevelTypes.topClick:\n\t // Firefox creates a click event on right mouse clicks. This removes the\n\t // unwanted click events.\n\t if (nativeEvent.button === 2) {\n\t return null;\n\t }\n\t /* falls through */\n\t case topLevelTypes.topContextMenu:\n\t case topLevelTypes.topDoubleClick:\n\t case topLevelTypes.topMouseDown:\n\t case topLevelTypes.topMouseMove:\n\t case topLevelTypes.topMouseOut:\n\t case topLevelTypes.topMouseOver:\n\t case topLevelTypes.topMouseUp:\n\t EventConstructor = SyntheticMouseEvent;\n\t break;\n\t case topLevelTypes.topDrag:\n\t case topLevelTypes.topDragEnd:\n\t case topLevelTypes.topDragEnter:\n\t case topLevelTypes.topDragExit:\n\t case topLevelTypes.topDragLeave:\n\t case topLevelTypes.topDragOver:\n\t case topLevelTypes.topDragStart:\n\t case topLevelTypes.topDrop:\n\t EventConstructor = SyntheticDragEvent;\n\t break;\n\t case topLevelTypes.topTouchCancel:\n\t case topLevelTypes.topTouchEnd:\n\t case topLevelTypes.topTouchMove:\n\t case topLevelTypes.topTouchStart:\n\t EventConstructor = SyntheticTouchEvent;\n\t break;\n\t case topLevelTypes.topAnimationEnd:\n\t case topLevelTypes.topAnimationIteration:\n\t case topLevelTypes.topAnimationStart:\n\t EventConstructor = SyntheticAnimationEvent;\n\t break;\n\t case topLevelTypes.topTransitionEnd:\n\t EventConstructor = SyntheticTransitionEvent;\n\t break;\n\t case topLevelTypes.topScroll:\n\t EventConstructor = SyntheticUIEvent;\n\t break;\n\t case topLevelTypes.topWheel:\n\t EventConstructor = SyntheticWheelEvent;\n\t break;\n\t case topLevelTypes.topCopy:\n\t case topLevelTypes.topCut:\n\t case topLevelTypes.topPaste:\n\t EventConstructor = SyntheticClipboardEvent;\n\t break;\n\t }\n\t !EventConstructor ? false ? invariant(false, 'SimpleEventPlugin: Unhandled event type, `%s`.', topLevelType) : _prodInvariant('86', topLevelType) : void 0;\n\t var event = EventConstructor.getPooled(dispatchConfig, targetInst, nativeEvent, nativeEventTarget);\n\t EventPropagators.accumulateTwoPhaseDispatches(event);\n\t return event;\n\t },\n\t\n\t didPutListener: function (inst, registrationName, listener) {\n\t // Mobile Safari does not fire properly bubble click events on\n\t // non-interactive elements, which means delegated click listeners do not\n\t // fire. The workaround for this bug involves attaching an empty click\n\t // listener on the target node.\n\t if (registrationName === ON_CLICK_KEY) {\n\t var key = getDictionaryKey(inst);\n\t var node = ReactDOMComponentTree.getNodeFromInstance(inst);\n\t if (!onClickListeners[key]) {\n\t onClickListeners[key] = EventListener.listen(node, 'click', emptyFunction);\n\t }\n\t }\n\t },\n\t\n\t willDeleteListener: function (inst, registrationName) {\n\t if (registrationName === ON_CLICK_KEY) {\n\t var key = getDictionaryKey(inst);\n\t onClickListeners[key].remove();\n\t delete onClickListeners[key];\n\t }\n\t }\n\t\n\t};\n\t\n\tmodule.exports = SimpleEventPlugin;\n\n/***/ },\n/* 634 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Copyright 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @providesModule SyntheticAnimationEvent\n\t */\n\t\n\t'use strict';\n\t\n\tvar SyntheticEvent = __webpack_require__(33);\n\t\n\t/**\n\t * @interface Event\n\t * @see http://www.w3.org/TR/css3-animations/#AnimationEvent-interface\n\t * @see https://developer.mozilla.org/en-US/docs/Web/API/AnimationEvent\n\t */\n\tvar AnimationEventInterface = {\n\t animationName: null,\n\t elapsedTime: null,\n\t pseudoElement: null\n\t};\n\t\n\t/**\n\t * @param {object} dispatchConfig Configuration used to dispatch this event.\n\t * @param {string} dispatchMarker Marker identifying the event target.\n\t * @param {object} nativeEvent Native browser event.\n\t * @extends {SyntheticEvent}\n\t */\n\tfunction SyntheticAnimationEvent(dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget) {\n\t return SyntheticEvent.call(this, dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget);\n\t}\n\t\n\tSyntheticEvent.augmentClass(SyntheticAnimationEvent, AnimationEventInterface);\n\t\n\tmodule.exports = SyntheticAnimationEvent;\n\n/***/ },\n/* 635 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Copyright 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @providesModule SyntheticClipboardEvent\n\t */\n\t\n\t'use strict';\n\t\n\tvar SyntheticEvent = __webpack_require__(33);\n\t\n\t/**\n\t * @interface Event\n\t * @see http://www.w3.org/TR/clipboard-apis/\n\t */\n\tvar ClipboardEventInterface = {\n\t clipboardData: function (event) {\n\t return 'clipboardData' in event ? event.clipboardData : window.clipboardData;\n\t }\n\t};\n\t\n\t/**\n\t * @param {object} dispatchConfig Configuration used to dispatch this event.\n\t * @param {string} dispatchMarker Marker identifying the event target.\n\t * @param {object} nativeEvent Native browser event.\n\t * @extends {SyntheticUIEvent}\n\t */\n\tfunction SyntheticClipboardEvent(dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget) {\n\t return SyntheticEvent.call(this, dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget);\n\t}\n\t\n\tSyntheticEvent.augmentClass(SyntheticClipboardEvent, ClipboardEventInterface);\n\t\n\tmodule.exports = SyntheticClipboardEvent;\n\n/***/ },\n/* 636 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Copyright 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @providesModule SyntheticCompositionEvent\n\t */\n\t\n\t'use strict';\n\t\n\tvar SyntheticEvent = __webpack_require__(33);\n\t\n\t/**\n\t * @interface Event\n\t * @see http://www.w3.org/TR/DOM-Level-3-Events/#events-compositionevents\n\t */\n\tvar CompositionEventInterface = {\n\t data: null\n\t};\n\t\n\t/**\n\t * @param {object} dispatchConfig Configuration used to dispatch this event.\n\t * @param {string} dispatchMarker Marker identifying the event target.\n\t * @param {object} nativeEvent Native browser event.\n\t * @extends {SyntheticUIEvent}\n\t */\n\tfunction SyntheticCompositionEvent(dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget) {\n\t return SyntheticEvent.call(this, dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget);\n\t}\n\t\n\tSyntheticEvent.augmentClass(SyntheticCompositionEvent, CompositionEventInterface);\n\t\n\tmodule.exports = SyntheticCompositionEvent;\n\n/***/ },\n/* 637 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Copyright 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @providesModule SyntheticDragEvent\n\t */\n\t\n\t'use strict';\n\t\n\tvar SyntheticMouseEvent = __webpack_require__(96);\n\t\n\t/**\n\t * @interface DragEvent\n\t * @see http://www.w3.org/TR/DOM-Level-3-Events/\n\t */\n\tvar DragEventInterface = {\n\t dataTransfer: null\n\t};\n\t\n\t/**\n\t * @param {object} dispatchConfig Configuration used to dispatch this event.\n\t * @param {string} dispatchMarker Marker identifying the event target.\n\t * @param {object} nativeEvent Native browser event.\n\t * @extends {SyntheticUIEvent}\n\t */\n\tfunction SyntheticDragEvent(dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget) {\n\t return SyntheticMouseEvent.call(this, dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget);\n\t}\n\t\n\tSyntheticMouseEvent.augmentClass(SyntheticDragEvent, DragEventInterface);\n\t\n\tmodule.exports = SyntheticDragEvent;\n\n/***/ },\n/* 638 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Copyright 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @providesModule SyntheticFocusEvent\n\t */\n\t\n\t'use strict';\n\t\n\tvar SyntheticUIEvent = __webpack_require__(74);\n\t\n\t/**\n\t * @interface FocusEvent\n\t * @see http://www.w3.org/TR/DOM-Level-3-Events/\n\t */\n\tvar FocusEventInterface = {\n\t relatedTarget: null\n\t};\n\t\n\t/**\n\t * @param {object} dispatchConfig Configuration used to dispatch this event.\n\t * @param {string} dispatchMarker Marker identifying the event target.\n\t * @param {object} nativeEvent Native browser event.\n\t * @extends {SyntheticUIEvent}\n\t */\n\tfunction SyntheticFocusEvent(dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget) {\n\t return SyntheticUIEvent.call(this, dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget);\n\t}\n\t\n\tSyntheticUIEvent.augmentClass(SyntheticFocusEvent, FocusEventInterface);\n\t\n\tmodule.exports = SyntheticFocusEvent;\n\n/***/ },\n/* 639 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Copyright 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @providesModule SyntheticInputEvent\n\t */\n\t\n\t'use strict';\n\t\n\tvar SyntheticEvent = __webpack_require__(33);\n\t\n\t/**\n\t * @interface Event\n\t * @see http://www.w3.org/TR/2013/WD-DOM-Level-3-Events-20131105\n\t * /#events-inputevents\n\t */\n\tvar InputEventInterface = {\n\t data: null\n\t};\n\t\n\t/**\n\t * @param {object} dispatchConfig Configuration used to dispatch this event.\n\t * @param {string} dispatchMarker Marker identifying the event target.\n\t * @param {object} nativeEvent Native browser event.\n\t * @extends {SyntheticUIEvent}\n\t */\n\tfunction SyntheticInputEvent(dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget) {\n\t return SyntheticEvent.call(this, dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget);\n\t}\n\t\n\tSyntheticEvent.augmentClass(SyntheticInputEvent, InputEventInterface);\n\t\n\tmodule.exports = SyntheticInputEvent;\n\n/***/ },\n/* 640 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Copyright 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @providesModule SyntheticKeyboardEvent\n\t */\n\t\n\t'use strict';\n\t\n\tvar SyntheticUIEvent = __webpack_require__(74);\n\t\n\tvar getEventCharCode = __webpack_require__(153);\n\tvar getEventKey = __webpack_require__(649);\n\tvar getEventModifierState = __webpack_require__(154);\n\t\n\t/**\n\t * @interface KeyboardEvent\n\t * @see http://www.w3.org/TR/DOM-Level-3-Events/\n\t */\n\tvar KeyboardEventInterface = {\n\t key: getEventKey,\n\t location: null,\n\t ctrlKey: null,\n\t shiftKey: null,\n\t altKey: null,\n\t metaKey: null,\n\t repeat: null,\n\t locale: null,\n\t getModifierState: getEventModifierState,\n\t // Legacy Interface\n\t charCode: function (event) {\n\t // `charCode` is the result of a KeyPress event and represents the value of\n\t // the actual printable character.\n\t\n\t // KeyPress is deprecated, but its replacement is not yet final and not\n\t // implemented in any major browser. Only KeyPress has charCode.\n\t if (event.type === 'keypress') {\n\t return getEventCharCode(event);\n\t }\n\t return 0;\n\t },\n\t keyCode: function (event) {\n\t // `keyCode` is the result of a KeyDown/Up event and represents the value of\n\t // physical keyboard key.\n\t\n\t // The actual meaning of the value depends on the users' keyboard layout\n\t // which cannot be detected. Assuming that it is a US keyboard layout\n\t // provides a surprisingly accurate mapping for US and European users.\n\t // Due to this, it is left to the user to implement at this time.\n\t if (event.type === 'keydown' || event.type === 'keyup') {\n\t return event.keyCode;\n\t }\n\t return 0;\n\t },\n\t which: function (event) {\n\t // `which` is an alias for either `keyCode` or `charCode` depending on the\n\t // type of the event.\n\t if (event.type === 'keypress') {\n\t return getEventCharCode(event);\n\t }\n\t if (event.type === 'keydown' || event.type === 'keyup') {\n\t return event.keyCode;\n\t }\n\t return 0;\n\t }\n\t};\n\t\n\t/**\n\t * @param {object} dispatchConfig Configuration used to dispatch this event.\n\t * @param {string} dispatchMarker Marker identifying the event target.\n\t * @param {object} nativeEvent Native browser event.\n\t * @extends {SyntheticUIEvent}\n\t */\n\tfunction SyntheticKeyboardEvent(dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget) {\n\t return SyntheticUIEvent.call(this, dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget);\n\t}\n\t\n\tSyntheticUIEvent.augmentClass(SyntheticKeyboardEvent, KeyboardEventInterface);\n\t\n\tmodule.exports = SyntheticKeyboardEvent;\n\n/***/ },\n/* 641 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Copyright 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @providesModule SyntheticTouchEvent\n\t */\n\t\n\t'use strict';\n\t\n\tvar SyntheticUIEvent = __webpack_require__(74);\n\t\n\tvar getEventModifierState = __webpack_require__(154);\n\t\n\t/**\n\t * @interface TouchEvent\n\t * @see http://www.w3.org/TR/touch-events/\n\t */\n\tvar TouchEventInterface = {\n\t touches: null,\n\t targetTouches: null,\n\t changedTouches: null,\n\t altKey: null,\n\t metaKey: null,\n\t ctrlKey: null,\n\t shiftKey: null,\n\t getModifierState: getEventModifierState\n\t};\n\t\n\t/**\n\t * @param {object} dispatchConfig Configuration used to dispatch this event.\n\t * @param {string} dispatchMarker Marker identifying the event target.\n\t * @param {object} nativeEvent Native browser event.\n\t * @extends {SyntheticUIEvent}\n\t */\n\tfunction SyntheticTouchEvent(dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget) {\n\t return SyntheticUIEvent.call(this, dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget);\n\t}\n\t\n\tSyntheticUIEvent.augmentClass(SyntheticTouchEvent, TouchEventInterface);\n\t\n\tmodule.exports = SyntheticTouchEvent;\n\n/***/ },\n/* 642 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Copyright 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @providesModule SyntheticTransitionEvent\n\t */\n\t\n\t'use strict';\n\t\n\tvar SyntheticEvent = __webpack_require__(33);\n\t\n\t/**\n\t * @interface Event\n\t * @see http://www.w3.org/TR/2009/WD-css3-transitions-20090320/#transition-events-\n\t * @see https://developer.mozilla.org/en-US/docs/Web/API/TransitionEvent\n\t */\n\tvar TransitionEventInterface = {\n\t propertyName: null,\n\t elapsedTime: null,\n\t pseudoElement: null\n\t};\n\t\n\t/**\n\t * @param {object} dispatchConfig Configuration used to dispatch this event.\n\t * @param {string} dispatchMarker Marker identifying the event target.\n\t * @param {object} nativeEvent Native browser event.\n\t * @extends {SyntheticEvent}\n\t */\n\tfunction SyntheticTransitionEvent(dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget) {\n\t return SyntheticEvent.call(this, dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget);\n\t}\n\t\n\tSyntheticEvent.augmentClass(SyntheticTransitionEvent, TransitionEventInterface);\n\t\n\tmodule.exports = SyntheticTransitionEvent;\n\n/***/ },\n/* 643 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Copyright 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @providesModule SyntheticWheelEvent\n\t */\n\t\n\t'use strict';\n\t\n\tvar SyntheticMouseEvent = __webpack_require__(96);\n\t\n\t/**\n\t * @interface WheelEvent\n\t * @see http://www.w3.org/TR/DOM-Level-3-Events/\n\t */\n\tvar WheelEventInterface = {\n\t deltaX: function (event) {\n\t return 'deltaX' in event ? event.deltaX :\n\t // Fallback to `wheelDeltaX` for Webkit and normalize (right is positive).\n\t 'wheelDeltaX' in event ? -event.wheelDeltaX : 0;\n\t },\n\t deltaY: function (event) {\n\t return 'deltaY' in event ? event.deltaY :\n\t // Fallback to `wheelDeltaY` for Webkit and normalize (down is positive).\n\t 'wheelDeltaY' in event ? -event.wheelDeltaY :\n\t // Fallback to `wheelDelta` for IE<9 and normalize (down is positive).\n\t 'wheelDelta' in event ? -event.wheelDelta : 0;\n\t },\n\t deltaZ: null,\n\t\n\t // Browsers without \"deltaMode\" is reporting in raw wheel delta where one\n\t // notch on the scroll is always +/- 120, roughly equivalent to pixels.\n\t // A good approximation of DOM_DELTA_LINE (1) is 5% of viewport size or\n\t // ~40 pixels, for DOM_DELTA_SCREEN (2) it is 87.5% of viewport size.\n\t deltaMode: null\n\t};\n\t\n\t/**\n\t * @param {object} dispatchConfig Configuration used to dispatch this event.\n\t * @param {string} dispatchMarker Marker identifying the event target.\n\t * @param {object} nativeEvent Native browser event.\n\t * @extends {SyntheticMouseEvent}\n\t */\n\tfunction SyntheticWheelEvent(dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget) {\n\t return SyntheticMouseEvent.call(this, dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget);\n\t}\n\t\n\tSyntheticMouseEvent.augmentClass(SyntheticWheelEvent, WheelEventInterface);\n\t\n\tmodule.exports = SyntheticWheelEvent;\n\n/***/ },\n/* 644 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Copyright 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @providesModule adler32\n\t * \n\t */\n\t\n\t'use strict';\n\t\n\tvar MOD = 65521;\n\t\n\t// adler32 is not cryptographically strong, and is only used to sanity check that\n\t// markup generated on the server matches the markup generated on the client.\n\t// This implementation (a modified version of the SheetJS version) has been optimized\n\t// for our use case, at the expense of conforming to the adler32 specification\n\t// for non-ascii inputs.\n\tfunction adler32(data) {\n\t var a = 1;\n\t var b = 0;\n\t var i = 0;\n\t var l = data.length;\n\t var m = l & ~0x3;\n\t while (i < m) {\n\t var n = Math.min(i + 4096, m);\n\t for (; i < n; i += 4) {\n\t b += (a += data.charCodeAt(i)) + (a += data.charCodeAt(i + 1)) + (a += data.charCodeAt(i + 2)) + (a += data.charCodeAt(i + 3));\n\t }\n\t a %= MOD;\n\t b %= MOD;\n\t }\n\t for (; i < l; i++) {\n\t b += a += data.charCodeAt(i);\n\t }\n\t a %= MOD;\n\t b %= MOD;\n\t return a | b << 16;\n\t}\n\t\n\tmodule.exports = adler32;\n\n/***/ },\n/* 645 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/* WEBPACK VAR INJECTION */(function(process) {/**\n\t * Copyright 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @providesModule checkReactTypeSpec\n\t */\n\t\n\t'use strict';\n\t\n\tvar _prodInvariant = __webpack_require__(4);\n\t\n\tvar ReactPropTypeLocationNames = __webpack_require__(148);\n\tvar ReactPropTypesSecret = __webpack_require__(150);\n\t\n\tvar invariant = __webpack_require__(3);\n\tvar warning = __webpack_require__(5);\n\t\n\tvar ReactComponentTreeHook;\n\t\n\tif (typeof process !== 'undefined' && process.env && (\"production\") === 'test') {\n\t // Temporary hack.\n\t // Inline requires don't work well with Jest:\n\t // https://github.com/facebook/react/issues/7240\n\t // Remove the inline requires when we don't need them anymore:\n\t // https://github.com/facebook/react/pull/7178\n\t ReactComponentTreeHook = __webpack_require__(145);\n\t}\n\t\n\tvar loggedTypeFailures = {};\n\t\n\t/**\n\t * Assert that the values match with the type specs.\n\t * Error messages are memorized and will only be shown once.\n\t *\n\t * @param {object} typeSpecs Map of name to a ReactPropType\n\t * @param {object} values Runtime values that need to be type-checked\n\t * @param {string} location e.g. \"prop\", \"context\", \"child context\"\n\t * @param {string} componentName Name of the component for error messages.\n\t * @param {?object} element The React element that is being type-checked\n\t * @param {?number} debugID The React component instance that is being type-checked\n\t * @private\n\t */\n\tfunction checkReactTypeSpec(typeSpecs, values, location, componentName, element, debugID) {\n\t for (var typeSpecName in typeSpecs) {\n\t if (typeSpecs.hasOwnProperty(typeSpecName)) {\n\t var error;\n\t // Prop type validation may throw. In case they do, we don't want to\n\t // fail the render phase where it didn't fail before. So we log it.\n\t // After these have been cleaned up, we'll let them throw.\n\t try {\n\t // This is intentionally an invariant that gets caught. It's the same\n\t // behavior as without this statement except with a better message.\n\t !(typeof typeSpecs[typeSpecName] === 'function') ? false ? invariant(false, '%s: %s type `%s` is invalid; it must be a function, usually from React.PropTypes.', componentName || 'React class', ReactPropTypeLocationNames[location], typeSpecName) : _prodInvariant('84', componentName || 'React class', ReactPropTypeLocationNames[location], typeSpecName) : void 0;\n\t error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret);\n\t } catch (ex) {\n\t error = ex;\n\t }\n\t false ? warning(!error || error instanceof Error, '%s: type specification of %s `%s` is invalid; the type checker ' + 'function must return `null` or an `Error` but returned a %s. ' + 'You may have forgotten to pass an argument to the type checker ' + 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' + 'shape all require an argument).', componentName || 'React class', ReactPropTypeLocationNames[location], typeSpecName, typeof error) : void 0;\n\t if (error instanceof Error && !(error.message in loggedTypeFailures)) {\n\t // Only monitor this failure once because there tends to be a lot of the\n\t // same error.\n\t loggedTypeFailures[error.message] = true;\n\t\n\t var componentStackInfo = '';\n\t\n\t if (false) {\n\t if (!ReactComponentTreeHook) {\n\t ReactComponentTreeHook = require('./ReactComponentTreeHook');\n\t }\n\t if (debugID !== null) {\n\t componentStackInfo = ReactComponentTreeHook.getStackAddendumByID(debugID);\n\t } else if (element !== null) {\n\t componentStackInfo = ReactComponentTreeHook.getCurrentStackAddendum(element);\n\t }\n\t }\n\t\n\t false ? warning(false, 'Failed %s type: %s%s', location, error.message, componentStackInfo) : void 0;\n\t }\n\t }\n\t }\n\t}\n\t\n\tmodule.exports = checkReactTypeSpec;\n\t/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(126)))\n\n/***/ },\n/* 646 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Copyright 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @providesModule dangerousStyleValue\n\t */\n\t\n\t'use strict';\n\t\n\tvar CSSProperty = __webpack_require__(324);\n\tvar warning = __webpack_require__(5);\n\t\n\tvar isUnitlessNumber = CSSProperty.isUnitlessNumber;\n\tvar styleWarnings = {};\n\t\n\t/**\n\t * Convert a value into the proper css writable value. The style name `name`\n\t * should be logical (no hyphens), as specified\n\t * in `CSSProperty.isUnitlessNumber`.\n\t *\n\t * @param {string} name CSS property name such as `topMargin`.\n\t * @param {*} value CSS property value such as `10px`.\n\t * @param {ReactDOMComponent} component\n\t * @return {string} Normalized style value with dimensions applied.\n\t */\n\tfunction dangerousStyleValue(name, value, component) {\n\t // Note that we've removed escapeTextForBrowser() calls here since the\n\t // whole string will be escaped when the attribute is injected into\n\t // the markup. If you provide unsafe user data here they can inject\n\t // arbitrary CSS which may be problematic (I couldn't repro this):\n\t // https://www.owasp.org/index.php/XSS_Filter_Evasion_Cheat_Sheet\n\t // http://www.thespanner.co.uk/2007/11/26/ultimate-xss-css-injection/\n\t // This is not an XSS hole but instead a potential CSS injection issue\n\t // which has lead to a greater discussion about how we're going to\n\t // trust URLs moving forward. See #2115901\n\t\n\t var isEmpty = value == null || typeof value === 'boolean' || value === '';\n\t if (isEmpty) {\n\t return '';\n\t }\n\t\n\t var isNonNumeric = isNaN(value);\n\t if (isNonNumeric || value === 0 || isUnitlessNumber.hasOwnProperty(name) && isUnitlessNumber[name]) {\n\t return '' + value; // cast to string\n\t }\n\t\n\t if (typeof value === 'string') {\n\t if (false) {\n\t // Allow '0' to pass through without warning. 0 is already special and\n\t // doesn't require units, so we don't need to warn about it.\n\t if (component && value !== '0') {\n\t var owner = component._currentElement._owner;\n\t var ownerName = owner ? owner.getName() : null;\n\t if (ownerName && !styleWarnings[ownerName]) {\n\t styleWarnings[ownerName] = {};\n\t }\n\t var warned = false;\n\t if (ownerName) {\n\t var warnings = styleWarnings[ownerName];\n\t warned = warnings[name];\n\t if (!warned) {\n\t warnings[name] = true;\n\t }\n\t }\n\t if (!warned) {\n\t process.env.NODE_ENV !== 'production' ? warning(false, 'a `%s` tag (owner: `%s`) was passed a numeric string value ' + 'for CSS property `%s` (value: `%s`) which will be treated ' + 'as a unitless number in a future version of React.', component._currentElement.type, ownerName || 'unknown', name, value) : void 0;\n\t }\n\t }\n\t }\n\t value = value.trim();\n\t }\n\t return value + 'px';\n\t}\n\t\n\tmodule.exports = dangerousStyleValue;\n\n/***/ },\n/* 647 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Copyright 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @providesModule findDOMNode\n\t */\n\t\n\t'use strict';\n\t\n\tvar _prodInvariant = __webpack_require__(4);\n\t\n\tvar ReactCurrentOwner = __webpack_require__(40);\n\tvar ReactDOMComponentTree = __webpack_require__(9);\n\tvar ReactInstanceMap = __webpack_require__(73);\n\t\n\tvar getHostComponentFromComposite = __webpack_require__(344);\n\tvar invariant = __webpack_require__(3);\n\tvar warning = __webpack_require__(5);\n\t\n\t/**\n\t * Returns the DOM node rendered by this element.\n\t *\n\t * See https://facebook.github.io/react/docs/top-level-api.html#reactdom.finddomnode\n\t *\n\t * @param {ReactComponent|DOMElement} componentOrElement\n\t * @return {?DOMElement} The root node of this element.\n\t */\n\tfunction findDOMNode(componentOrElement) {\n\t if (false) {\n\t var owner = ReactCurrentOwner.current;\n\t if (owner !== null) {\n\t process.env.NODE_ENV !== 'production' ? warning(owner._warnedAboutRefsInRender, '%s is accessing findDOMNode inside its render(). ' + 'render() should be a pure function of props and state. It should ' + 'never access something that requires stale data from the previous ' + 'render, such as refs. Move this logic to componentDidMount and ' + 'componentDidUpdate instead.', owner.getName() || 'A component') : void 0;\n\t owner._warnedAboutRefsInRender = true;\n\t }\n\t }\n\t if (componentOrElement == null) {\n\t return null;\n\t }\n\t if (componentOrElement.nodeType === 1) {\n\t return componentOrElement;\n\t }\n\t\n\t var inst = ReactInstanceMap.get(componentOrElement);\n\t if (inst) {\n\t inst = getHostComponentFromComposite(inst);\n\t return inst ? ReactDOMComponentTree.getNodeFromInstance(inst) : null;\n\t }\n\t\n\t if (typeof componentOrElement.render === 'function') {\n\t true ? false ? invariant(false, 'findDOMNode was called on an unmounted component.') : _prodInvariant('44') : void 0;\n\t } else {\n\t true ? false ? invariant(false, 'Element appears to be neither ReactComponent nor DOMNode (keys: %s)', Object.keys(componentOrElement)) : _prodInvariant('45', Object.keys(componentOrElement)) : void 0;\n\t }\n\t}\n\t\n\tmodule.exports = findDOMNode;\n\n/***/ },\n/* 648 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/* WEBPACK VAR INJECTION */(function(process) {/**\n\t * Copyright 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @providesModule flattenChildren\n\t * \n\t */\n\t\n\t'use strict';\n\t\n\tvar KeyEscapeUtils = __webpack_require__(141);\n\tvar traverseAllChildren = __webpack_require__(158);\n\tvar warning = __webpack_require__(5);\n\t\n\tvar ReactComponentTreeHook;\n\t\n\tif (typeof process !== 'undefined' && process.env && (\"production\") === 'test') {\n\t // Temporary hack.\n\t // Inline requires don't work well with Jest:\n\t // https://github.com/facebook/react/issues/7240\n\t // Remove the inline requires when we don't need them anymore:\n\t // https://github.com/facebook/react/pull/7178\n\t ReactComponentTreeHook = __webpack_require__(145);\n\t}\n\t\n\t/**\n\t * @param {function} traverseContext Context passed through traversal.\n\t * @param {?ReactComponent} child React child component.\n\t * @param {!string} name String name of key path to child.\n\t * @param {number=} selfDebugID Optional debugID of the current internal instance.\n\t */\n\tfunction flattenSingleChildIntoContext(traverseContext, child, name, selfDebugID) {\n\t // We found a component instance.\n\t if (traverseContext && typeof traverseContext === 'object') {\n\t var result = traverseContext;\n\t var keyUnique = result[name] === undefined;\n\t if (false) {\n\t if (!ReactComponentTreeHook) {\n\t ReactComponentTreeHook = require('./ReactComponentTreeHook');\n\t }\n\t if (!keyUnique) {\n\t process.env.NODE_ENV !== 'production' ? warning(false, 'flattenChildren(...): Encountered two children with the same key, ' + '`%s`. Child keys must be unique; when two children share a key, only ' + 'the first child will be used.%s', KeyEscapeUtils.unescape(name), ReactComponentTreeHook.getStackAddendumByID(selfDebugID)) : void 0;\n\t }\n\t }\n\t if (keyUnique && child != null) {\n\t result[name] = child;\n\t }\n\t }\n\t}\n\t\n\t/**\n\t * Flattens children that are typically specified as `props.children`. Any null\n\t * children will not be included in the resulting object.\n\t * @return {!object} flattened children keyed by name.\n\t */\n\tfunction flattenChildren(children, selfDebugID) {\n\t if (children == null) {\n\t return children;\n\t }\n\t var result = {};\n\t\n\t if (false) {\n\t traverseAllChildren(children, function (traverseContext, child, name) {\n\t return flattenSingleChildIntoContext(traverseContext, child, name, selfDebugID);\n\t }, result);\n\t } else {\n\t traverseAllChildren(children, flattenSingleChildIntoContext, result);\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = flattenChildren;\n\t/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(126)))\n\n/***/ },\n/* 649 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Copyright 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @providesModule getEventKey\n\t */\n\t\n\t'use strict';\n\t\n\tvar getEventCharCode = __webpack_require__(153);\n\t\n\t/**\n\t * Normalization of deprecated HTML5 `key` values\n\t * @see https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent#Key_names\n\t */\n\tvar normalizeKey = {\n\t 'Esc': 'Escape',\n\t 'Spacebar': ' ',\n\t 'Left': 'ArrowLeft',\n\t 'Up': 'ArrowUp',\n\t 'Right': 'ArrowRight',\n\t 'Down': 'ArrowDown',\n\t 'Del': 'Delete',\n\t 'Win': 'OS',\n\t 'Menu': 'ContextMenu',\n\t 'Apps': 'ContextMenu',\n\t 'Scroll': 'ScrollLock',\n\t 'MozPrintableKey': 'Unidentified'\n\t};\n\t\n\t/**\n\t * Translation from legacy `keyCode` to HTML5 `key`\n\t * Only special keys supported, all others depend on keyboard layout or browser\n\t * @see https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent#Key_names\n\t */\n\tvar translateToKey = {\n\t 8: 'Backspace',\n\t 9: 'Tab',\n\t 12: 'Clear',\n\t 13: 'Enter',\n\t 16: 'Shift',\n\t 17: 'Control',\n\t 18: 'Alt',\n\t 19: 'Pause',\n\t 20: 'CapsLock',\n\t 27: 'Escape',\n\t 32: ' ',\n\t 33: 'PageUp',\n\t 34: 'PageDown',\n\t 35: 'End',\n\t 36: 'Home',\n\t 37: 'ArrowLeft',\n\t 38: 'ArrowUp',\n\t 39: 'ArrowRight',\n\t 40: 'ArrowDown',\n\t 45: 'Insert',\n\t 46: 'Delete',\n\t 112: 'F1', 113: 'F2', 114: 'F3', 115: 'F4', 116: 'F5', 117: 'F6',\n\t 118: 'F7', 119: 'F8', 120: 'F9', 121: 'F10', 122: 'F11', 123: 'F12',\n\t 144: 'NumLock',\n\t 145: 'ScrollLock',\n\t 224: 'Meta'\n\t};\n\t\n\t/**\n\t * @param {object} nativeEvent Native browser event.\n\t * @return {string} Normalized `key` property.\n\t */\n\tfunction getEventKey(nativeEvent) {\n\t if (nativeEvent.key) {\n\t // Normalize inconsistent values reported by browsers due to\n\t // implementations of a working draft specification.\n\t\n\t // FireFox implements `key` but returns `MozPrintableKey` for all\n\t // printable characters (normalized to `Unidentified`), ignore it.\n\t var key = normalizeKey[nativeEvent.key] || nativeEvent.key;\n\t if (key !== 'Unidentified') {\n\t return key;\n\t }\n\t }\n\t\n\t // Browser does not implement `key`, polyfill as much of it as we can.\n\t if (nativeEvent.type === 'keypress') {\n\t var charCode = getEventCharCode(nativeEvent);\n\t\n\t // The enter-key is technically both printable and non-printable and can\n\t // thus be captured by `keypress`, no other non-printable key should.\n\t return charCode === 13 ? 'Enter' : String.fromCharCode(charCode);\n\t }\n\t if (nativeEvent.type === 'keydown' || nativeEvent.type === 'keyup') {\n\t // While user keyboard layout determines the actual meaning of each\n\t // `keyCode` value, almost all function keys have a universal value.\n\t return translateToKey[nativeEvent.keyCode] || 'Unidentified';\n\t }\n\t return '';\n\t}\n\t\n\tmodule.exports = getEventKey;\n\n/***/ },\n/* 650 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Copyright 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @providesModule getNodeForCharacterOffset\n\t */\n\t\n\t'use strict';\n\t\n\t/**\n\t * Given any node return the first leaf node without children.\n\t *\n\t * @param {DOMElement|DOMTextNode} node\n\t * @return {DOMElement|DOMTextNode}\n\t */\n\t\n\tfunction getLeafNode(node) {\n\t while (node && node.firstChild) {\n\t node = node.firstChild;\n\t }\n\t return node;\n\t}\n\t\n\t/**\n\t * Get the next sibling within a container. This will walk up the\n\t * DOM if a node's siblings have been exhausted.\n\t *\n\t * @param {DOMElement|DOMTextNode} node\n\t * @return {?DOMElement|DOMTextNode}\n\t */\n\tfunction getSiblingNode(node) {\n\t while (node) {\n\t if (node.nextSibling) {\n\t return node.nextSibling;\n\t }\n\t node = node.parentNode;\n\t }\n\t}\n\t\n\t/**\n\t * Get object describing the nodes which contain characters at offset.\n\t *\n\t * @param {DOMElement|DOMTextNode} root\n\t * @param {number} offset\n\t * @return {?object}\n\t */\n\tfunction getNodeForCharacterOffset(root, offset) {\n\t var node = getLeafNode(root);\n\t var nodeStart = 0;\n\t var nodeEnd = 0;\n\t\n\t while (node) {\n\t if (node.nodeType === 3) {\n\t nodeEnd = nodeStart + node.textContent.length;\n\t\n\t if (nodeStart <= offset && nodeEnd >= offset) {\n\t return {\n\t node: node,\n\t offset: offset - nodeStart\n\t };\n\t }\n\t\n\t nodeStart = nodeEnd;\n\t }\n\t\n\t node = getLeafNode(getSiblingNode(node));\n\t }\n\t}\n\t\n\tmodule.exports = getNodeForCharacterOffset;\n\n/***/ },\n/* 651 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Copyright 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @providesModule getVendorPrefixedEventName\n\t */\n\t\n\t'use strict';\n\t\n\tvar ExecutionEnvironment = __webpack_require__(18);\n\t\n\t/**\n\t * Generate a mapping of standard vendor prefixes using the defined style property and event name.\n\t *\n\t * @param {string} styleProp\n\t * @param {string} eventName\n\t * @returns {object}\n\t */\n\tfunction makePrefixMap(styleProp, eventName) {\n\t var prefixes = {};\n\t\n\t prefixes[styleProp.toLowerCase()] = eventName.toLowerCase();\n\t prefixes['Webkit' + styleProp] = 'webkit' + eventName;\n\t prefixes['Moz' + styleProp] = 'moz' + eventName;\n\t prefixes['ms' + styleProp] = 'MS' + eventName;\n\t prefixes['O' + styleProp] = 'o' + eventName.toLowerCase();\n\t\n\t return prefixes;\n\t}\n\t\n\t/**\n\t * A list of event names to a configurable list of vendor prefixes.\n\t */\n\tvar vendorPrefixes = {\n\t animationend: makePrefixMap('Animation', 'AnimationEnd'),\n\t animationiteration: makePrefixMap('Animation', 'AnimationIteration'),\n\t animationstart: makePrefixMap('Animation', 'AnimationStart'),\n\t transitionend: makePrefixMap('Transition', 'TransitionEnd')\n\t};\n\t\n\t/**\n\t * Event names that have already been detected and prefixed (if applicable).\n\t */\n\tvar prefixedEventNames = {};\n\t\n\t/**\n\t * Element to check for prefixes on.\n\t */\n\tvar style = {};\n\t\n\t/**\n\t * Bootstrap if a DOM exists.\n\t */\n\tif (ExecutionEnvironment.canUseDOM) {\n\t style = document.createElement('div').style;\n\t\n\t // On some platforms, in particular some releases of Android 4.x,\n\t // the un-prefixed \"animation\" and \"transition\" properties are defined on the\n\t // style object but the events that fire will still be prefixed, so we need\n\t // to check if the un-prefixed events are usable, and if not remove them from the map.\n\t if (!('AnimationEvent' in window)) {\n\t delete vendorPrefixes.animationend.animation;\n\t delete vendorPrefixes.animationiteration.animation;\n\t delete vendorPrefixes.animationstart.animation;\n\t }\n\t\n\t // Same as above\n\t if (!('TransitionEvent' in window)) {\n\t delete vendorPrefixes.transitionend.transition;\n\t }\n\t}\n\t\n\t/**\n\t * Attempts to determine the correct vendor prefixed event name.\n\t *\n\t * @param {string} eventName\n\t * @returns {string}\n\t */\n\tfunction getVendorPrefixedEventName(eventName) {\n\t if (prefixedEventNames[eventName]) {\n\t return prefixedEventNames[eventName];\n\t } else if (!vendorPrefixes[eventName]) {\n\t return eventName;\n\t }\n\t\n\t var prefixMap = vendorPrefixes[eventName];\n\t\n\t for (var styleProp in prefixMap) {\n\t if (prefixMap.hasOwnProperty(styleProp) && styleProp in style) {\n\t return prefixedEventNames[eventName] = prefixMap[styleProp];\n\t }\n\t }\n\t\n\t return '';\n\t}\n\t\n\tmodule.exports = getVendorPrefixedEventName;\n\n/***/ },\n/* 652 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Copyright 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @providesModule onlyChild\n\t */\n\t'use strict';\n\t\n\tvar _prodInvariant = __webpack_require__(4);\n\t\n\tvar ReactElement = __webpack_require__(29);\n\t\n\tvar invariant = __webpack_require__(3);\n\t\n\t/**\n\t * Returns the first child in a collection of children and verifies that there\n\t * is only one child in the collection.\n\t *\n\t * See https://facebook.github.io/react/docs/top-level-api.html#react.children.only\n\t *\n\t * The current implementation of this function assumes that a single child gets\n\t * passed without a wrapper, but the purpose of this helper function is to\n\t * abstract away the particular structure of children.\n\t *\n\t * @param {?object} children Child collection structure.\n\t * @return {ReactElement} The first and only `ReactElement` contained in the\n\t * structure.\n\t */\n\tfunction onlyChild(children) {\n\t !ReactElement.isValidElement(children) ? false ? invariant(false, 'React.Children.only expected to receive a single React element child.') : _prodInvariant('143') : void 0;\n\t return children;\n\t}\n\t\n\tmodule.exports = onlyChild;\n\n/***/ },\n/* 653 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Copyright 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @providesModule quoteAttributeValueForBrowser\n\t */\n\t\n\t'use strict';\n\t\n\tvar escapeTextContentForBrowser = __webpack_require__(97);\n\t\n\t/**\n\t * Escapes attribute value to prevent scripting attacks.\n\t *\n\t * @param {*} value Value to escape.\n\t * @return {string} An escaped string.\n\t */\n\tfunction quoteAttributeValueForBrowser(value) {\n\t return '\"' + escapeTextContentForBrowser(value) + '\"';\n\t}\n\t\n\tmodule.exports = quoteAttributeValueForBrowser;\n\n/***/ },\n/* 654 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Copyright 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t* @providesModule renderSubtreeIntoContainer\n\t*/\n\t\n\t'use strict';\n\t\n\tvar ReactMount = __webpack_require__(335);\n\t\n\tmodule.exports = ReactMount.renderSubtreeIntoContainer;\n\n/***/ },\n/* 655 */\n/***/ function(module, exports) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\tfunction createThunkMiddleware(extraArgument) {\n\t return function (_ref) {\n\t var dispatch = _ref.dispatch;\n\t var getState = _ref.getState;\n\t return function (next) {\n\t return function (action) {\n\t if (typeof action === 'function') {\n\t return action(dispatch, getState, extraArgument);\n\t }\n\t\n\t return next(action);\n\t };\n\t };\n\t };\n\t}\n\t\n\tvar thunk = createThunkMiddleware();\n\tthunk.withExtraArgument = createThunkMiddleware;\n\t\n\texports['default'] = thunk;\n\n/***/ },\n/* 656 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\t\n\tvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\t\n\texports[\"default\"] = applyMiddleware;\n\t\n\tvar _compose = __webpack_require__(350);\n\t\n\tvar _compose2 = _interopRequireDefault(_compose);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\t\n\t/**\n\t * Creates a store enhancer that applies middleware to the dispatch method\n\t * of the Redux store. This is handy for a variety of tasks, such as expressing\n\t * asynchronous actions in a concise manner, or logging every action payload.\n\t *\n\t * See `redux-thunk` package as an example of the Redux middleware.\n\t *\n\t * Because middleware is potentially asynchronous, this should be the first\n\t * store enhancer in the composition chain.\n\t *\n\t * Note that each middleware will be given the `dispatch` and `getState` functions\n\t * as named arguments.\n\t *\n\t * @param {...Function} middlewares The middleware chain to be applied.\n\t * @returns {Function} A store enhancer applying the middleware.\n\t */\n\tfunction applyMiddleware() {\n\t for (var _len = arguments.length, middlewares = Array(_len), _key = 0; _key < _len; _key++) {\n\t middlewares[_key] = arguments[_key];\n\t }\n\t\n\t return function (createStore) {\n\t return function (reducer, initialState, enhancer) {\n\t var store = createStore(reducer, initialState, enhancer);\n\t var _dispatch = store.dispatch;\n\t var chain = [];\n\t\n\t var middlewareAPI = {\n\t getState: store.getState,\n\t dispatch: function dispatch(action) {\n\t return _dispatch(action);\n\t }\n\t };\n\t chain = middlewares.map(function (middleware) {\n\t return middleware(middlewareAPI);\n\t });\n\t _dispatch = _compose2[\"default\"].apply(undefined, chain)(store.dispatch);\n\t\n\t return _extends({}, store, {\n\t dispatch: _dispatch\n\t });\n\t };\n\t };\n\t}\n\n/***/ },\n/* 657 */\n/***/ function(module, exports) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\texports[\"default\"] = bindActionCreators;\n\tfunction bindActionCreator(actionCreator, dispatch) {\n\t return function () {\n\t return dispatch(actionCreator.apply(undefined, arguments));\n\t };\n\t}\n\t\n\t/**\n\t * Turns an object whose values are action creators, into an object with the\n\t * same keys, but with every function wrapped into a `dispatch` call so they\n\t * may be invoked directly. This is just a convenience method, as you can call\n\t * `store.dispatch(MyActionCreators.doSomething())` yourself just fine.\n\t *\n\t * For convenience, you can also pass a single function as the first argument,\n\t * and get a function in return.\n\t *\n\t * @param {Function|Object} actionCreators An object whose values are action\n\t * creator functions. One handy way to obtain it is to use ES6 `import * as`\n\t * syntax. You may also pass a single function.\n\t *\n\t * @param {Function} dispatch The `dispatch` function available on your Redux\n\t * store.\n\t *\n\t * @returns {Function|Object} The object mimicking the original object, but with\n\t * every action creator wrapped into the `dispatch` call. If you passed a\n\t * function as `actionCreators`, the return value will also be a single\n\t * function.\n\t */\n\tfunction bindActionCreators(actionCreators, dispatch) {\n\t if (typeof actionCreators === 'function') {\n\t return bindActionCreator(actionCreators, dispatch);\n\t }\n\t\n\t if (typeof actionCreators !== 'object' || actionCreators === null) {\n\t throw new Error('bindActionCreators expected an object or a function, instead received ' + (actionCreators === null ? 'null' : typeof actionCreators) + '. ' + 'Did you write \"import ActionCreators from\" instead of \"import * as ActionCreators from\"?');\n\t }\n\t\n\t var keys = Object.keys(actionCreators);\n\t var boundActionCreators = {};\n\t for (var i = 0; i < keys.length; i++) {\n\t var key = keys[i];\n\t var actionCreator = actionCreators[key];\n\t if (typeof actionCreator === 'function') {\n\t boundActionCreators[key] = bindActionCreator(actionCreator, dispatch);\n\t }\n\t }\n\t return boundActionCreators;\n\t}\n\n/***/ },\n/* 658 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\texports[\"default\"] = combineReducers;\n\t\n\tvar _createStore = __webpack_require__(351);\n\t\n\tvar _isPlainObject = __webpack_require__(124);\n\t\n\tvar _isPlainObject2 = _interopRequireDefault(_isPlainObject);\n\t\n\tvar _warning = __webpack_require__(352);\n\t\n\tvar _warning2 = _interopRequireDefault(_warning);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\t\n\tfunction getUndefinedStateErrorMessage(key, action) {\n\t var actionType = action && action.type;\n\t var actionName = actionType && '\"' + actionType.toString() + '\"' || 'an action';\n\t\n\t return 'Given action ' + actionName + ', reducer \"' + key + '\" returned undefined. ' + 'To ignore an action, you must explicitly return the previous state.';\n\t}\n\t\n\tfunction getUnexpectedStateShapeWarningMessage(inputState, reducers, action) {\n\t var reducerKeys = Object.keys(reducers);\n\t var argumentName = action && action.type === _createStore.ActionTypes.INIT ? 'initialState argument passed to createStore' : 'previous state received by the reducer';\n\t\n\t if (reducerKeys.length === 0) {\n\t return 'Store does not have a valid reducer. Make sure the argument passed ' + 'to combineReducers is an object whose values are reducers.';\n\t }\n\t\n\t if (!(0, _isPlainObject2[\"default\"])(inputState)) {\n\t return 'The ' + argumentName + ' has unexpected type of \"' + {}.toString.call(inputState).match(/\\s([a-z|A-Z]+)/)[1] + '\". Expected argument to be an object with the following ' + ('keys: \"' + reducerKeys.join('\", \"') + '\"');\n\t }\n\t\n\t var unexpectedKeys = Object.keys(inputState).filter(function (key) {\n\t return !reducers.hasOwnProperty(key);\n\t });\n\t\n\t if (unexpectedKeys.length > 0) {\n\t return 'Unexpected ' + (unexpectedKeys.length > 1 ? 'keys' : 'key') + ' ' + ('\"' + unexpectedKeys.join('\", \"') + '\" found in ' + argumentName + '. ') + 'Expected to find one of the known reducer keys instead: ' + ('\"' + reducerKeys.join('\", \"') + '\". Unexpected keys will be ignored.');\n\t }\n\t}\n\t\n\tfunction assertReducerSanity(reducers) {\n\t Object.keys(reducers).forEach(function (key) {\n\t var reducer = reducers[key];\n\t var initialState = reducer(undefined, { type: _createStore.ActionTypes.INIT });\n\t\n\t if (typeof initialState === 'undefined') {\n\t throw new Error('Reducer \"' + key + '\" returned undefined during initialization. ' + 'If the state passed to the reducer is undefined, you must ' + 'explicitly return the initial state. The initial state may ' + 'not be undefined.');\n\t }\n\t\n\t var type = '@@redux/PROBE_UNKNOWN_ACTION_' + Math.random().toString(36).substring(7).split('').join('.');\n\t if (typeof reducer(undefined, { type: type }) === 'undefined') {\n\t throw new Error('Reducer \"' + key + '\" returned undefined when probed with a random type. ' + ('Don\\'t try to handle ' + _createStore.ActionTypes.INIT + ' or other actions in \"redux/*\" ') + 'namespace. They are considered private. Instead, you must return the ' + 'current state for any unknown actions, unless it is undefined, ' + 'in which case you must return the initial state, regardless of the ' + 'action type. The initial state may not be undefined.');\n\t }\n\t });\n\t}\n\t\n\t/**\n\t * Turns an object whose values are different reducer functions, into a single\n\t * reducer function. It will call every child reducer, and gather their results\n\t * into a single state object, whose keys correspond to the keys of the passed\n\t * reducer functions.\n\t *\n\t * @param {Object} reducers An object whose values correspond to different\n\t * reducer functions that need to be combined into one. One handy way to obtain\n\t * it is to use ES6 `import * as reducers` syntax. The reducers may never return\n\t * undefined for any action. Instead, they should return their initial state\n\t * if the state passed to them was undefined, and the current state for any\n\t * unrecognized action.\n\t *\n\t * @returns {Function} A reducer function that invokes every reducer inside the\n\t * passed object, and builds a state object with the same shape.\n\t */\n\tfunction combineReducers(reducers) {\n\t var reducerKeys = Object.keys(reducers);\n\t var finalReducers = {};\n\t for (var i = 0; i < reducerKeys.length; i++) {\n\t var key = reducerKeys[i];\n\t if (typeof reducers[key] === 'function') {\n\t finalReducers[key] = reducers[key];\n\t }\n\t }\n\t var finalReducerKeys = Object.keys(finalReducers);\n\t\n\t var sanityError;\n\t try {\n\t assertReducerSanity(finalReducers);\n\t } catch (e) {\n\t sanityError = e;\n\t }\n\t\n\t return function combination() {\n\t var state = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];\n\t var action = arguments[1];\n\t\n\t if (sanityError) {\n\t throw sanityError;\n\t }\n\t\n\t if (false) {\n\t var warningMessage = getUnexpectedStateShapeWarningMessage(state, finalReducers, action);\n\t if (warningMessage) {\n\t (0, _warning2[\"default\"])(warningMessage);\n\t }\n\t }\n\t\n\t var hasChanged = false;\n\t var nextState = {};\n\t for (var i = 0; i < finalReducerKeys.length; i++) {\n\t var key = finalReducerKeys[i];\n\t var reducer = finalReducers[key];\n\t var previousStateForKey = state[key];\n\t var nextStateForKey = reducer(previousStateForKey, action);\n\t if (typeof nextStateForKey === 'undefined') {\n\t var errorMessage = getUndefinedStateErrorMessage(key, action);\n\t throw new Error(errorMessage);\n\t }\n\t nextState[key] = nextStateForKey;\n\t hasChanged = hasChanged || nextStateForKey !== previousStateForKey;\n\t }\n\t return hasChanged ? nextState : state;\n\t };\n\t}\n\n/***/ },\n/* 659 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// CodeMirror, copyright (c) by Marijn Haverbeke and others\n\t// Distributed under an MIT license: http://codemirror.net/LICENSE\n\t\n\tvar CodeMirror = __webpack_require__(23);\n\t\n\tCodeMirror.commands.tabAndIndentMarkdownList = function (cm) {\n\t\tvar ranges = cm.listSelections();\n\t\tvar pos = ranges[0].head;\n\t\tvar eolState = cm.getStateAfter(pos.line);\n\t\tvar inList = eolState.list !== false;\n\t\n\t\tif (inList) {\n\t\t\tcm.execCommand(\"indentMore\");\n\t\t\treturn;\n\t\t}\n\t\n\t\tif (cm.options.indentWithTabs) {\n\t\t\tcm.execCommand(\"insertTab\");\n\t\t}\n\t\telse {\n\t\t\tvar spaces = Array(cm.options.tabSize + 1).join(\" \");\n\t\t\tcm.replaceSelection(spaces);\n\t\t}\n\t};\n\t\n\tCodeMirror.commands.shiftTabAndUnindentMarkdownList = function (cm) {\n\t\tvar ranges = cm.listSelections();\n\t\tvar pos = ranges[0].head;\n\t\tvar eolState = cm.getStateAfter(pos.line);\n\t\tvar inList = eolState.list !== false;\n\t\n\t\tif (inList) {\n\t\t\tcm.execCommand(\"indentLess\");\n\t\t\treturn;\n\t\t}\n\t\n\t\tif (cm.options.indentWithTabs) {\n\t\t\tcm.execCommand(\"insertTab\");\n\t\t}\n\t\telse {\n\t\t\tvar spaces = Array(cm.options.tabSize + 1).join(\" \");\n\t\t\tcm.replaceSelection(spaces);\n\t\t}\n\t};\n\n\n/***/ },\n/* 660 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/*global require,module*/\n\t\"use strict\";\n\tvar CodeMirror = __webpack_require__(23);\n\t__webpack_require__(392);\n\t__webpack_require__(659);\n\t__webpack_require__(390);\n\t__webpack_require__(166);\n\t__webpack_require__(165);\n\t__webpack_require__(391);\n\t__webpack_require__(393);\n\t__webpack_require__(394);\n\t__webpack_require__(167);\n\tvar CodeMirrorSpellChecker = __webpack_require__(389);\n\tvar marked = __webpack_require__(534);\n\t\n\t\n\t// Some variables\n\tvar isMac = /Mac/.test(navigator.platform);\n\t\n\t// Mapping of actions that can be bound to keyboard shortcuts or toolbar buttons\n\tvar bindings = {\n\t\t\"toggleBold\": toggleBold,\n\t\t\"toggleItalic\": toggleItalic,\n\t\t\"drawLink\": drawLink,\n\t\t\"toggleHeadingSmaller\": toggleHeadingSmaller,\n\t\t\"toggleHeadingBigger\": toggleHeadingBigger,\n\t\t\"drawImage\": drawImage,\n\t\t\"toggleBlockquote\": toggleBlockquote,\n\t\t\"toggleOrderedList\": toggleOrderedList,\n\t\t\"toggleUnorderedList\": toggleUnorderedList,\n\t\t\"toggleCodeBlock\": toggleCodeBlock,\n\t\t\"togglePreview\": togglePreview,\n\t\t\"toggleStrikethrough\": toggleStrikethrough,\n\t\t\"toggleHeading1\": toggleHeading1,\n\t\t\"toggleHeading2\": toggleHeading2,\n\t\t\"toggleHeading3\": toggleHeading3,\n\t\t\"cleanBlock\": cleanBlock,\n\t\t\"drawTable\": drawTable,\n\t\t\"drawHorizontalRule\": drawHorizontalRule,\n\t\t\"undo\": undo,\n\t\t\"redo\": redo,\n\t\t\"toggleSideBySide\": toggleSideBySide,\n\t\t\"toggleFullScreen\": toggleFullScreen\n\t};\n\t\n\tvar shortcuts = {\n\t\t\"toggleBold\": \"Cmd-B\",\n\t\t\"toggleItalic\": \"Cmd-I\",\n\t\t\"drawLink\": \"Cmd-K\",\n\t\t\"toggleHeadingSmaller\": \"Cmd-H\",\n\t\t\"toggleHeadingBigger\": \"Shift-Cmd-H\",\n\t\t\"cleanBlock\": \"Cmd-E\",\n\t\t\"drawImage\": \"Cmd-Alt-I\",\n\t\t\"toggleBlockquote\": \"Cmd-'\",\n\t\t\"toggleOrderedList\": \"Cmd-Alt-L\",\n\t\t\"toggleUnorderedList\": \"Cmd-L\",\n\t\t\"toggleCodeBlock\": \"Cmd-Alt-C\",\n\t\t\"togglePreview\": \"Cmd-P\",\n\t\t\"toggleSideBySide\": \"F9\",\n\t\t\"toggleFullScreen\": \"F11\"\n\t};\n\t\n\tvar getBindingName = function(f) {\n\t\tfor(var key in bindings) {\n\t\t\tif(bindings[key] === f) {\n\t\t\t\treturn key;\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t};\n\t\n\tvar isMobile = function() {\n\t\tvar check = false;\n\t\t(function(a) {\n\t\t\tif(/(android|bb\\d+|meego).+mobile|avantgo|bada\\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\\.(browser|link)|vodafone|wap|windows ce|xda|xiino|android|ipad|playbook|silk/i.test(a) || /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\\-(n|u)|c55\\/|capi|ccwa|cdm\\-|cell|chtm|cldc|cmd\\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\\-s|devi|dica|dmob|do(c|p)o|ds(12|\\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\\-|_)|g1 u|g560|gene|gf\\-5|g\\-mo|go(\\.w|od)|gr(ad|un)|haie|hcit|hd\\-(m|p|t)|hei\\-|hi(pt|ta)|hp( i|ip)|hs\\-c|ht(c(\\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\\-(20|go|ma)|i230|iac( |\\-|\\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\\/)|klon|kpt |kwc\\-|kyo(c|k)|le(no|xi)|lg( g|\\/(k|l|u)|50|54|\\-[a-w])|libw|lynx|m1\\-w|m3ga|m50\\/|ma(te|ui|xo)|mc(01|21|ca)|m\\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\\-2|po(ck|rt|se)|prox|psio|pt\\-g|qa\\-a|qc(07|12|21|32|60|\\-[2-7]|i\\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\\-|oo|p\\-)|sdk\\/|se(c(\\-|0|1)|47|mc|nd|ri)|sgh\\-|shar|sie(\\-|m)|sk\\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\\-|v\\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\\-|tdg\\-|tel(i|m)|tim\\-|t\\-mo|to(pl|sh)|ts(70|m\\-|m3|m5)|tx\\-9|up(\\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\\-|your|zeto|zte\\-/i.test(a.substr(0, 4))) check = true;\n\t\t})(navigator.userAgent || navigator.vendor || window.opera);\n\t\treturn check;\n\t};\n\t\n\t\n\t/**\n\t * Fix shortcut. Mac use Command, others use Ctrl.\n\t */\n\tfunction fixShortcut(name) {\n\t\tif(isMac) {\n\t\t\tname = name.replace(\"Ctrl\", \"Cmd\");\n\t\t} else {\n\t\t\tname = name.replace(\"Cmd\", \"Ctrl\");\n\t\t}\n\t\treturn name;\n\t}\n\t\n\t\n\t/**\n\t * Create icon element for toolbar.\n\t */\n\tfunction createIcon(options, enableTooltips, shortcuts) {\n\t\toptions = options || {};\n\t\tvar el = document.createElement(\"a\");\n\t\tenableTooltips = (enableTooltips == undefined) ? true : enableTooltips;\n\t\n\t\tif(options.title && enableTooltips) {\n\t\t\tel.title = createTootlip(options.title, options.action, shortcuts);\n\t\n\t\t\tif(isMac) {\n\t\t\t\tel.title = el.title.replace(\"Ctrl\", \"⌘\");\n\t\t\t\tel.title = el.title.replace(\"Alt\", \"⌥\");\n\t\t\t}\n\t\t}\n\t\n\t\tel.tabIndex = -1;\n\t\tel.className = options.className;\n\t\treturn el;\n\t}\n\t\n\tfunction createSep() {\n\t\tvar el = document.createElement(\"i\");\n\t\tel.className = \"separator\";\n\t\tel.innerHTML = \"|\";\n\t\treturn el;\n\t}\n\t\n\tfunction createTootlip(title, action, shortcuts) {\n\t\tvar actionName;\n\t\tvar tooltip = title;\n\t\n\t\tif(action) {\n\t\t\tactionName = getBindingName(action);\n\t\t\tif(shortcuts[actionName]) {\n\t\t\t\ttooltip += \" (\" + fixShortcut(shortcuts[actionName]) + \")\";\n\t\t\t}\n\t\t}\n\t\n\t\treturn tooltip;\n\t}\n\t\n\t/**\n\t * The state of CodeMirror at the given position.\n\t */\n\tfunction getState(cm, pos) {\n\t\tpos = pos || cm.getCursor(\"start\");\n\t\tvar stat = cm.getTokenAt(pos);\n\t\tif(!stat.type) return {};\n\t\n\t\tvar types = stat.type.split(\" \");\n\t\n\t\tvar ret = {},\n\t\t\tdata, text;\n\t\tfor(var i = 0; i < types.length; i++) {\n\t\t\tdata = types[i];\n\t\t\tif(data === \"strong\") {\n\t\t\t\tret.bold = true;\n\t\t\t} else if(data === \"variable-2\") {\n\t\t\t\ttext = cm.getLine(pos.line);\n\t\t\t\tif(/^\\s*\\d+\\.\\s/.test(text)) {\n\t\t\t\t\tret[\"ordered-list\"] = true;\n\t\t\t\t} else {\n\t\t\t\t\tret[\"unordered-list\"] = true;\n\t\t\t\t}\n\t\t\t} else if(data === \"atom\") {\n\t\t\t\tret.quote = true;\n\t\t\t} else if(data === \"em\") {\n\t\t\t\tret.italic = true;\n\t\t\t} else if(data === \"quote\") {\n\t\t\t\tret.quote = true;\n\t\t\t} else if(data === \"strikethrough\") {\n\t\t\t\tret.strikethrough = true;\n\t\t\t} else if(data === \"comment\") {\n\t\t\t\tret.code = true;\n\t\t\t} else if(data === \"link\") {\n\t\t\t\tret.link = true;\n\t\t\t} else if(data === \"tag\") {\n\t\t\t\tret.image = true;\n\t\t\t} else if(data.match(/^header(\\-[1-6])?$/)) {\n\t\t\t\tret[data.replace(\"header\", \"heading\")] = true;\n\t\t\t}\n\t\t}\n\t\treturn ret;\n\t}\n\t\n\t\n\t// Saved overflow setting\n\tvar saved_overflow = \"\";\n\t\n\t/**\n\t * Toggle full screen of the editor.\n\t */\n\tfunction toggleFullScreen(editor) {\n\t\t// Set fullscreen\n\t\tvar cm = editor.codemirror;\n\t\tcm.setOption(\"fullScreen\", !cm.getOption(\"fullScreen\"));\n\t\n\t\n\t\t// Prevent scrolling on body during fullscreen active\n\t\tif(cm.getOption(\"fullScreen\")) {\n\t\t\tsaved_overflow = document.body.style.overflow;\n\t\t\tdocument.body.style.overflow = \"hidden\";\n\t\t} else {\n\t\t\tdocument.body.style.overflow = saved_overflow;\n\t\t}\n\t\n\t\n\t\t// Update toolbar class\n\t\tvar wrap = cm.getWrapperElement();\n\t\n\t\tif(!/fullscreen/.test(wrap.previousSibling.className)) {\n\t\t\twrap.previousSibling.className += \" fullscreen\";\n\t\t} else {\n\t\t\twrap.previousSibling.className = wrap.previousSibling.className.replace(/\\s*fullscreen\\b/, \"\");\n\t\t}\n\t\n\t\n\t\t// Update toolbar button\n\t\tvar toolbarButton = editor.toolbarElements.fullscreen;\n\t\n\t\tif(!/active/.test(toolbarButton.className)) {\n\t\t\ttoolbarButton.className += \" active\";\n\t\t} else {\n\t\t\ttoolbarButton.className = toolbarButton.className.replace(/\\s*active\\s*/g, \"\");\n\t\t}\n\t\n\t\n\t\t// Hide side by side if needed\n\t\tvar sidebyside = cm.getWrapperElement().nextSibling;\n\t\tif(/editor-preview-active-side/.test(sidebyside.className))\n\t\t\ttoggleSideBySide(editor);\n\t}\n\t\n\t\n\t/**\n\t * Action for toggling bold.\n\t */\n\tfunction toggleBold(editor) {\n\t\t_toggleBlock(editor, \"bold\", editor.options.blockStyles.bold);\n\t}\n\t\n\t\n\t/**\n\t * Action for toggling italic.\n\t */\n\tfunction toggleItalic(editor) {\n\t\t_toggleBlock(editor, \"italic\", editor.options.blockStyles.italic);\n\t}\n\t\n\t\n\t/**\n\t * Action for toggling strikethrough.\n\t */\n\tfunction toggleStrikethrough(editor) {\n\t\t_toggleBlock(editor, \"strikethrough\", \"~~\");\n\t}\n\t\n\t/**\n\t * Action for toggling code block.\n\t */\n\tfunction toggleCodeBlock(editor) {\n\t\tvar fenceCharsToInsert = editor.options.blockStyles.code;\n\t\n\t\tfunction fencing_line(line) {\n\t\t\t/* return true, if this is a ``` or ~~~ line */\n\t\t\tif(typeof line !== \"object\") {\n\t\t\t\tthrow \"fencing_line() takes a 'line' object (not a line number, or line text). Got: \" + typeof line + \": \" + line;\n\t\t\t}\n\t\t\treturn line.styles && line.styles[2] && line.styles[2].indexOf(\"formatting-code-block\") !== -1;\n\t\t}\n\t\n\t\tfunction token_state(token) {\n\t\t\t// base goes an extra level deep when mode backdrops are used, e.g. spellchecker on\n\t\t\treturn token.state.base.base || token.state.base;\n\t\t}\n\t\n\t\tfunction code_type(cm, line_num, line, firstTok, lastTok) {\n\t\t\t/*\n\t\t\t * Return \"single\", \"indented\", \"fenced\" or false\n\t\t\t *\n\t\t\t * cm and line_num are required. Others are optional for efficiency\n\t\t\t * To check in the middle of a line, pass in firstTok yourself.\n\t\t\t */\n\t\t\tline = line || cm.getLineHandle(line_num);\n\t\t\tfirstTok = firstTok || cm.getTokenAt({\n\t\t\t\tline: line_num,\n\t\t\t\tch: 1\n\t\t\t});\n\t\t\tlastTok = lastTok || (!!line.text && cm.getTokenAt({\n\t\t\t\tline: line_num,\n\t\t\t\tch: line.text.length - 1\n\t\t\t}));\n\t\t\tvar types = firstTok.type ? firstTok.type.split(\" \") : [];\n\t\t\tif(lastTok && token_state(lastTok).indentedCode) {\n\t\t\t\t// have to check last char, since first chars of first line aren\"t marked as indented\n\t\t\t\treturn \"indented\";\n\t\t\t} else if(types.indexOf(\"comment\") === -1) {\n\t\t\t\t// has to be after \"indented\" check, since first chars of first indented line aren\"t marked as such\n\t\t\t\treturn false;\n\t\t\t} else if(token_state(firstTok).fencedChars || token_state(lastTok).fencedChars || fencing_line(line)) {\n\t\t\t\treturn \"fenced\";\n\t\t\t} else {\n\t\t\t\treturn \"single\";\n\t\t\t}\n\t\t}\n\t\n\t\tfunction insertFencingAtSelection(cm, cur_start, cur_end, fenceCharsToInsert) {\n\t\t\tvar start_line_sel = cur_start.line + 1,\n\t\t\t\tend_line_sel = cur_end.line + 1,\n\t\t\t\tsel_multi = cur_start.line !== cur_end.line,\n\t\t\t\trepl_start = fenceCharsToInsert + \"\\n\",\n\t\t\t\trepl_end = \"\\n\" + fenceCharsToInsert;\n\t\t\tif(sel_multi) {\n\t\t\t\tend_line_sel++;\n\t\t\t}\n\t\t\t// handle last char including \\n or not\n\t\t\tif(sel_multi && cur_end.ch === 0) {\n\t\t\t\trepl_end = fenceCharsToInsert + \"\\n\";\n\t\t\t\tend_line_sel--;\n\t\t\t}\n\t\t\t_replaceSelection(cm, false, [repl_start, repl_end]);\n\t\t\tcm.setSelection({\n\t\t\t\tline: start_line_sel,\n\t\t\t\tch: 0\n\t\t\t}, {\n\t\t\t\tline: end_line_sel,\n\t\t\t\tch: 0\n\t\t\t});\n\t\t}\n\t\n\t\tvar cm = editor.codemirror,\n\t\t\tcur_start = cm.getCursor(\"start\"),\n\t\t\tcur_end = cm.getCursor(\"end\"),\n\t\t\ttok = cm.getTokenAt({\n\t\t\t\tline: cur_start.line,\n\t\t\t\tch: cur_start.ch || 1\n\t\t\t}), // avoid ch 0 which is a cursor pos but not token\n\t\t\tline = cm.getLineHandle(cur_start.line),\n\t\t\tis_code = code_type(cm, cur_start.line, line, tok);\n\t\tvar block_start, block_end, lineCount;\n\t\n\t\tif(is_code === \"single\") {\n\t\t\t// similar to some SimpleMDE _toggleBlock logic\n\t\t\tvar start = line.text.slice(0, cur_start.ch).replace(\"`\", \"\"),\n\t\t\t\tend = line.text.slice(cur_start.ch).replace(\"`\", \"\");\n\t\t\tcm.replaceRange(start + end, {\n\t\t\t\tline: cur_start.line,\n\t\t\t\tch: 0\n\t\t\t}, {\n\t\t\t\tline: cur_start.line,\n\t\t\t\tch: 99999999999999\n\t\t\t});\n\t\t\tcur_start.ch--;\n\t\t\tif(cur_start !== cur_end) {\n\t\t\t\tcur_end.ch--;\n\t\t\t}\n\t\t\tcm.setSelection(cur_start, cur_end);\n\t\t\tcm.focus();\n\t\t} else if(is_code === \"fenced\") {\n\t\t\tif(cur_start.line !== cur_end.line || cur_start.ch !== cur_end.ch) {\n\t\t\t\t// use selection\n\t\n\t\t\t\t// find the fenced line so we know what type it is (tilde, backticks, number of them)\n\t\t\t\tfor(block_start = cur_start.line; block_start >= 0; block_start--) {\n\t\t\t\t\tline = cm.getLineHandle(block_start);\n\t\t\t\t\tif(fencing_line(line)) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tvar fencedTok = cm.getTokenAt({\n\t\t\t\t\tline: block_start,\n\t\t\t\t\tch: 1\n\t\t\t\t});\n\t\t\t\tvar fence_chars = token_state(fencedTok).fencedChars;\n\t\t\t\tvar start_text, start_line;\n\t\t\t\tvar end_text, end_line;\n\t\t\t\t// check for selection going up against fenced lines, in which case we don't want to add more fencing\n\t\t\t\tif(fencing_line(cm.getLineHandle(cur_start.line))) {\n\t\t\t\t\tstart_text = \"\";\n\t\t\t\t\tstart_line = cur_start.line;\n\t\t\t\t} else if(fencing_line(cm.getLineHandle(cur_start.line - 1))) {\n\t\t\t\t\tstart_text = \"\";\n\t\t\t\t\tstart_line = cur_start.line - 1;\n\t\t\t\t} else {\n\t\t\t\t\tstart_text = fence_chars + \"\\n\";\n\t\t\t\t\tstart_line = cur_start.line;\n\t\t\t\t}\n\t\t\t\tif(fencing_line(cm.getLineHandle(cur_end.line))) {\n\t\t\t\t\tend_text = \"\";\n\t\t\t\t\tend_line = cur_end.line;\n\t\t\t\t\tif(cur_end.ch === 0) {\n\t\t\t\t\t\tend_line += 1;\n\t\t\t\t\t}\n\t\t\t\t} else if(cur_end.ch !== 0 && fencing_line(cm.getLineHandle(cur_end.line + 1))) {\n\t\t\t\t\tend_text = \"\";\n\t\t\t\t\tend_line = cur_end.line + 1;\n\t\t\t\t} else {\n\t\t\t\t\tend_text = fence_chars + \"\\n\";\n\t\t\t\t\tend_line = cur_end.line + 1;\n\t\t\t\t}\n\t\t\t\tif(cur_end.ch === 0) {\n\t\t\t\t\t// full last line selected, putting cursor at beginning of next\n\t\t\t\t\tend_line -= 1;\n\t\t\t\t}\n\t\t\t\tcm.operation(function() {\n\t\t\t\t\t// end line first, so that line numbers don't change\n\t\t\t\t\tcm.replaceRange(end_text, {\n\t\t\t\t\t\tline: end_line,\n\t\t\t\t\t\tch: 0\n\t\t\t\t\t}, {\n\t\t\t\t\t\tline: end_line + (end_text ? 0 : 1),\n\t\t\t\t\t\tch: 0\n\t\t\t\t\t});\n\t\t\t\t\tcm.replaceRange(start_text, {\n\t\t\t\t\t\tline: start_line,\n\t\t\t\t\t\tch: 0\n\t\t\t\t\t}, {\n\t\t\t\t\t\tline: start_line + (start_text ? 0 : 1),\n\t\t\t\t\t\tch: 0\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t\tcm.setSelection({\n\t\t\t\t\tline: start_line + (start_text ? 1 : 0),\n\t\t\t\t\tch: 0\n\t\t\t\t}, {\n\t\t\t\t\tline: end_line + (start_text ? 1 : -1),\n\t\t\t\t\tch: 0\n\t\t\t\t});\n\t\t\t\tcm.focus();\n\t\t\t} else {\n\t\t\t\t// no selection, search for ends of this fenced block\n\t\t\t\tvar search_from = cur_start.line;\n\t\t\t\tif(fencing_line(cm.getLineHandle(cur_start.line))) { // gets a little tricky if cursor is right on a fenced line\n\t\t\t\t\tif(code_type(cm, cur_start.line + 1) === \"fenced\") {\n\t\t\t\t\t\tblock_start = cur_start.line;\n\t\t\t\t\t\tsearch_from = cur_start.line + 1; // for searching for \"end\"\n\t\t\t\t\t} else {\n\t\t\t\t\t\tblock_end = cur_start.line;\n\t\t\t\t\t\tsearch_from = cur_start.line - 1; // for searching for \"start\"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif(block_start === undefined) {\n\t\t\t\t\tfor(block_start = search_from; block_start >= 0; block_start--) {\n\t\t\t\t\t\tline = cm.getLineHandle(block_start);\n\t\t\t\t\t\tif(fencing_line(line)) {\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif(block_end === undefined) {\n\t\t\t\t\tlineCount = cm.lineCount();\n\t\t\t\t\tfor(block_end = search_from; block_end < lineCount; block_end++) {\n\t\t\t\t\t\tline = cm.getLineHandle(block_end);\n\t\t\t\t\t\tif(fencing_line(line)) {\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tcm.operation(function() {\n\t\t\t\t\tcm.replaceRange(\"\", {\n\t\t\t\t\t\tline: block_start,\n\t\t\t\t\t\tch: 0\n\t\t\t\t\t}, {\n\t\t\t\t\t\tline: block_start + 1,\n\t\t\t\t\t\tch: 0\n\t\t\t\t\t});\n\t\t\t\t\tcm.replaceRange(\"\", {\n\t\t\t\t\t\tline: block_end - 1,\n\t\t\t\t\t\tch: 0\n\t\t\t\t\t}, {\n\t\t\t\t\t\tline: block_end,\n\t\t\t\t\t\tch: 0\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t\tcm.focus();\n\t\t\t}\n\t\t} else if(is_code === \"indented\") {\n\t\t\tif(cur_start.line !== cur_end.line || cur_start.ch !== cur_end.ch) {\n\t\t\t\t// use selection\n\t\t\t\tblock_start = cur_start.line;\n\t\t\t\tblock_end = cur_end.line;\n\t\t\t\tif(cur_end.ch === 0) {\n\t\t\t\t\tblock_end--;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// no selection, search for ends of this indented block\n\t\t\t\tfor(block_start = cur_start.line; block_start >= 0; block_start--) {\n\t\t\t\t\tline = cm.getLineHandle(block_start);\n\t\t\t\t\tif(line.text.match(/^\\s*$/)) {\n\t\t\t\t\t\t// empty or all whitespace - keep going\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif(code_type(cm, block_start, line) !== \"indented\") {\n\t\t\t\t\t\t\tblock_start += 1;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tlineCount = cm.lineCount();\n\t\t\t\tfor(block_end = cur_start.line; block_end < lineCount; block_end++) {\n\t\t\t\t\tline = cm.getLineHandle(block_end);\n\t\t\t\t\tif(line.text.match(/^\\s*$/)) {\n\t\t\t\t\t\t// empty or all whitespace - keep going\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif(code_type(cm, block_end, line) !== \"indented\") {\n\t\t\t\t\t\t\tblock_end -= 1;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\t// if we are going to un-indent based on a selected set of lines, and the next line is indented too, we need to\n\t\t\t// insert a blank line so that the next line(s) continue to be indented code\n\t\t\tvar next_line = cm.getLineHandle(block_end + 1),\n\t\t\t\tnext_line_last_tok = next_line && cm.getTokenAt({\n\t\t\t\t\tline: block_end + 1,\n\t\t\t\t\tch: next_line.text.length - 1\n\t\t\t\t}),\n\t\t\t\tnext_line_indented = next_line_last_tok && token_state(next_line_last_tok).indentedCode;\n\t\t\tif(next_line_indented) {\n\t\t\t\tcm.replaceRange(\"\\n\", {\n\t\t\t\t\tline: block_end + 1,\n\t\t\t\t\tch: 0\n\t\t\t\t});\n\t\t\t}\n\t\n\t\t\tfor(var i = block_start; i <= block_end; i++) {\n\t\t\t\tcm.indentLine(i, \"subtract\"); // TODO: this doesn't get tracked in the history, so can't be undone :(\n\t\t\t}\n\t\t\tcm.focus();\n\t\t} else {\n\t\t\t// insert code formatting\n\t\t\tvar no_sel_and_starting_of_line = (cur_start.line === cur_end.line && cur_start.ch === cur_end.ch && cur_start.ch === 0);\n\t\t\tvar sel_multi = cur_start.line !== cur_end.line;\n\t\t\tif(no_sel_and_starting_of_line || sel_multi) {\n\t\t\t\tinsertFencingAtSelection(cm, cur_start, cur_end, fenceCharsToInsert);\n\t\t\t} else {\n\t\t\t\t_replaceSelection(cm, false, [\"`\", \"`\"]);\n\t\t\t}\n\t\t}\n\t}\n\t\n\t/**\n\t * Action for toggling blockquote.\n\t */\n\tfunction toggleBlockquote(editor) {\n\t\tvar cm = editor.codemirror;\n\t\t_toggleLine(cm, \"quote\");\n\t}\n\t\n\t/**\n\t * Action for toggling heading size: normal -> h1 -> h2 -> h3 -> h4 -> h5 -> h6 -> normal\n\t */\n\tfunction toggleHeadingSmaller(editor) {\n\t\tvar cm = editor.codemirror;\n\t\t_toggleHeading(cm, \"smaller\");\n\t}\n\t\n\t/**\n\t * Action for toggling heading size: normal -> h6 -> h5 -> h4 -> h3 -> h2 -> h1 -> normal\n\t */\n\tfunction toggleHeadingBigger(editor) {\n\t\tvar cm = editor.codemirror;\n\t\t_toggleHeading(cm, \"bigger\");\n\t}\n\t\n\t/**\n\t * Action for toggling heading size 1\n\t */\n\tfunction toggleHeading1(editor) {\n\t\tvar cm = editor.codemirror;\n\t\t_toggleHeading(cm, undefined, 1);\n\t}\n\t\n\t/**\n\t * Action for toggling heading size 2\n\t */\n\tfunction toggleHeading2(editor) {\n\t\tvar cm = editor.codemirror;\n\t\t_toggleHeading(cm, undefined, 2);\n\t}\n\t\n\t/**\n\t * Action for toggling heading size 3\n\t */\n\tfunction toggleHeading3(editor) {\n\t\tvar cm = editor.codemirror;\n\t\t_toggleHeading(cm, undefined, 3);\n\t}\n\t\n\t\n\t/**\n\t * Action for toggling ul.\n\t */\n\tfunction toggleUnorderedList(editor) {\n\t\tvar cm = editor.codemirror;\n\t\t_toggleLine(cm, \"unordered-list\");\n\t}\n\t\n\t\n\t/**\n\t * Action for toggling ol.\n\t */\n\tfunction toggleOrderedList(editor) {\n\t\tvar cm = editor.codemirror;\n\t\t_toggleLine(cm, \"ordered-list\");\n\t}\n\t\n\t/**\n\t * Action for clean block (remove headline, list, blockquote code, markers)\n\t */\n\tfunction cleanBlock(editor) {\n\t\tvar cm = editor.codemirror;\n\t\t_cleanBlock(cm);\n\t}\n\t\n\t/**\n\t * Action for drawing a link.\n\t */\n\tfunction drawLink(editor) {\n\t\tvar cm = editor.codemirror;\n\t\tvar stat = getState(cm);\n\t\tvar options = editor.options;\n\t\tvar url = \"http://\";\n\t\tif(options.promptURLs) {\n\t\t\turl = prompt(options.promptTexts.link);\n\t\t\tif(!url) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t\t_replaceSelection(cm, stat.link, options.insertTexts.link, url);\n\t}\n\t\n\t/**\n\t * Action for drawing an img.\n\t */\n\tfunction drawImage(editor) {\n\t\tvar cm = editor.codemirror;\n\t\tvar stat = getState(cm);\n\t\tvar options = editor.options;\n\t\tvar url = \"http://\";\n\t\tif(options.promptURLs) {\n\t\t\turl = prompt(options.promptTexts.image);\n\t\t\tif(!url) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t\t_replaceSelection(cm, stat.image, options.insertTexts.image, url);\n\t}\n\t\n\t/**\n\t * Action for drawing a table.\n\t */\n\tfunction drawTable(editor) {\n\t\tvar cm = editor.codemirror;\n\t\tvar stat = getState(cm);\n\t\tvar options = editor.options;\n\t\t_replaceSelection(cm, stat.table, options.insertTexts.table);\n\t}\n\t\n\t/**\n\t * Action for drawing a horizontal rule.\n\t */\n\tfunction drawHorizontalRule(editor) {\n\t\tvar cm = editor.codemirror;\n\t\tvar stat = getState(cm);\n\t\tvar options = editor.options;\n\t\t_replaceSelection(cm, stat.image, options.insertTexts.horizontalRule);\n\t}\n\t\n\t\n\t/**\n\t * Undo action.\n\t */\n\tfunction undo(editor) {\n\t\tvar cm = editor.codemirror;\n\t\tcm.undo();\n\t\tcm.focus();\n\t}\n\t\n\t\n\t/**\n\t * Redo action.\n\t */\n\tfunction redo(editor) {\n\t\tvar cm = editor.codemirror;\n\t\tcm.redo();\n\t\tcm.focus();\n\t}\n\t\n\t\n\t/**\n\t * Toggle side by side preview\n\t */\n\tfunction toggleSideBySide(editor) {\n\t\tvar cm = editor.codemirror;\n\t\tvar wrapper = cm.getWrapperElement();\n\t\tvar preview = wrapper.nextSibling;\n\t\tvar toolbarButton = editor.toolbarElements[\"side-by-side\"];\n\t\tvar useSideBySideListener = false;\n\t\tif(/editor-preview-active-side/.test(preview.className)) {\n\t\t\tpreview.className = preview.className.replace(\n\t\t\t\t/\\s*editor-preview-active-side\\s*/g, \"\"\n\t\t\t);\n\t\t\ttoolbarButton.className = toolbarButton.className.replace(/\\s*active\\s*/g, \"\");\n\t\t\twrapper.className = wrapper.className.replace(/\\s*CodeMirror-sided\\s*/g, \" \");\n\t\t} else {\n\t\t\t// When the preview button is clicked for the first time,\n\t\t\t// give some time for the transition from editor.css to fire and the view to slide from right to left,\n\t\t\t// instead of just appearing.\n\t\t\tsetTimeout(function() {\n\t\t\t\tif(!cm.getOption(\"fullScreen\"))\n\t\t\t\t\ttoggleFullScreen(editor);\n\t\t\t\tpreview.className += \" editor-preview-active-side\";\n\t\t\t}, 1);\n\t\t\ttoolbarButton.className += \" active\";\n\t\t\twrapper.className += \" CodeMirror-sided\";\n\t\t\tuseSideBySideListener = true;\n\t\t}\n\t\n\t\t// Hide normal preview if active\n\t\tvar previewNormal = wrapper.lastChild;\n\t\tif(/editor-preview-active/.test(previewNormal.className)) {\n\t\t\tpreviewNormal.className = previewNormal.className.replace(\n\t\t\t\t/\\s*editor-preview-active\\s*/g, \"\"\n\t\t\t);\n\t\t\tvar toolbar = editor.toolbarElements.preview;\n\t\t\tvar toolbar_div = wrapper.previousSibling;\n\t\t\ttoolbar.className = toolbar.className.replace(/\\s*active\\s*/g, \"\");\n\t\t\ttoolbar_div.className = toolbar_div.className.replace(/\\s*disabled-for-preview*/g, \"\");\n\t\t}\n\t\n\t\tvar sideBySideRenderingFunction = function() {\n\t\t\tpreview.innerHTML = editor.options.previewRender(editor.value(), preview);\n\t\t};\n\t\n\t\tif(!cm.sideBySideRenderingFunction) {\n\t\t\tcm.sideBySideRenderingFunction = sideBySideRenderingFunction;\n\t\t}\n\t\n\t\tif(useSideBySideListener) {\n\t\t\tpreview.innerHTML = editor.options.previewRender(editor.value(), preview);\n\t\t\tcm.on(\"update\", cm.sideBySideRenderingFunction);\n\t\t} else {\n\t\t\tcm.off(\"update\", cm.sideBySideRenderingFunction);\n\t\t}\n\t\n\t\t// Refresh to fix selection being off (#309)\n\t\tcm.refresh();\n\t}\n\t\n\t\n\t/**\n\t * Preview action.\n\t */\n\tfunction togglePreview(editor) {\n\t\tvar cm = editor.codemirror;\n\t\tvar wrapper = cm.getWrapperElement();\n\t\tvar toolbar_div = wrapper.previousSibling;\n\t\tvar toolbar = editor.options.toolbar ? editor.toolbarElements.preview : false;\n\t\tvar preview = wrapper.lastChild;\n\t\tif(!preview || !/editor-preview/.test(preview.className)) {\n\t\t\tpreview = document.createElement(\"div\");\n\t\t\tpreview.className = \"editor-preview\";\n\t\t\twrapper.appendChild(preview);\n\t\t}\n\t\tif(/editor-preview-active/.test(preview.className)) {\n\t\t\tpreview.className = preview.className.replace(\n\t\t\t\t/\\s*editor-preview-active\\s*/g, \"\"\n\t\t\t);\n\t\t\tif(toolbar) {\n\t\t\t\ttoolbar.className = toolbar.className.replace(/\\s*active\\s*/g, \"\");\n\t\t\t\ttoolbar_div.className = toolbar_div.className.replace(/\\s*disabled-for-preview*/g, \"\");\n\t\t\t}\n\t\t} else {\n\t\t\t// When the preview button is clicked for the first time,\n\t\t\t// give some time for the transition from editor.css to fire and the view to slide from right to left,\n\t\t\t// instead of just appearing.\n\t\t\tsetTimeout(function() {\n\t\t\t\tpreview.className += \" editor-preview-active\";\n\t\t\t}, 1);\n\t\t\tif(toolbar) {\n\t\t\t\ttoolbar.className += \" active\";\n\t\t\t\ttoolbar_div.className += \" disabled-for-preview\";\n\t\t\t}\n\t\t}\n\t\tpreview.innerHTML = editor.options.previewRender(editor.value(), preview);\n\t\n\t\t// Turn off side by side if needed\n\t\tvar sidebyside = cm.getWrapperElement().nextSibling;\n\t\tif(/editor-preview-active-side/.test(sidebyside.className))\n\t\t\ttoggleSideBySide(editor);\n\t}\n\t\n\tfunction _replaceSelection(cm, active, startEnd, url) {\n\t\tif(/editor-preview-active/.test(cm.getWrapperElement().lastChild.className))\n\t\t\treturn;\n\t\n\t\tvar text;\n\t\tvar start = startEnd[0];\n\t\tvar end = startEnd[1];\n\t\tvar startPoint = cm.getCursor(\"start\");\n\t\tvar endPoint = cm.getCursor(\"end\");\n\t\tif(url) {\n\t\t\tend = end.replace(\"#url#\", url);\n\t\t}\n\t\tif(active) {\n\t\t\ttext = cm.getLine(startPoint.line);\n\t\t\tstart = text.slice(0, startPoint.ch);\n\t\t\tend = text.slice(startPoint.ch);\n\t\t\tcm.replaceRange(start + end, {\n\t\t\t\tline: startPoint.line,\n\t\t\t\tch: 0\n\t\t\t});\n\t\t} else {\n\t\t\ttext = cm.getSelection();\n\t\t\tcm.replaceSelection(start + text + end);\n\t\n\t\t\tstartPoint.ch += start.length;\n\t\t\tif(startPoint !== endPoint) {\n\t\t\t\tendPoint.ch += start.length;\n\t\t\t}\n\t\t}\n\t\tcm.setSelection(startPoint, endPoint);\n\t\tcm.focus();\n\t}\n\t\n\t\n\tfunction _toggleHeading(cm, direction, size) {\n\t\tif(/editor-preview-active/.test(cm.getWrapperElement().lastChild.className))\n\t\t\treturn;\n\t\n\t\tvar startPoint = cm.getCursor(\"start\");\n\t\tvar endPoint = cm.getCursor(\"end\");\n\t\tfor(var i = startPoint.line; i <= endPoint.line; i++) {\n\t\t\t(function(i) {\n\t\t\t\tvar text = cm.getLine(i);\n\t\t\t\tvar currHeadingLevel = text.search(/[^#]/);\n\t\n\t\t\t\tif(direction !== undefined) {\n\t\t\t\t\tif(currHeadingLevel <= 0) {\n\t\t\t\t\t\tif(direction == \"bigger\") {\n\t\t\t\t\t\t\ttext = \"###### \" + text;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\ttext = \"# \" + text;\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if(currHeadingLevel == 6 && direction == \"smaller\") {\n\t\t\t\t\t\ttext = text.substr(7);\n\t\t\t\t\t} else if(currHeadingLevel == 1 && direction == \"bigger\") {\n\t\t\t\t\t\ttext = text.substr(2);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif(direction == \"bigger\") {\n\t\t\t\t\t\t\ttext = text.substr(1);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\ttext = \"#\" + text;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tif(size == 1) {\n\t\t\t\t\t\tif(currHeadingLevel <= 0) {\n\t\t\t\t\t\t\ttext = \"# \" + text;\n\t\t\t\t\t\t} else if(currHeadingLevel == size) {\n\t\t\t\t\t\t\ttext = text.substr(currHeadingLevel + 1);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\ttext = \"# \" + text.substr(currHeadingLevel + 1);\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if(size == 2) {\n\t\t\t\t\t\tif(currHeadingLevel <= 0) {\n\t\t\t\t\t\t\ttext = \"## \" + text;\n\t\t\t\t\t\t} else if(currHeadingLevel == size) {\n\t\t\t\t\t\t\ttext = text.substr(currHeadingLevel + 1);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\ttext = \"## \" + text.substr(currHeadingLevel + 1);\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif(currHeadingLevel <= 0) {\n\t\t\t\t\t\t\ttext = \"### \" + text;\n\t\t\t\t\t\t} else if(currHeadingLevel == size) {\n\t\t\t\t\t\t\ttext = text.substr(currHeadingLevel + 1);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\ttext = \"### \" + text.substr(currHeadingLevel + 1);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\n\t\t\t\tcm.replaceRange(text, {\n\t\t\t\t\tline: i,\n\t\t\t\t\tch: 0\n\t\t\t\t}, {\n\t\t\t\t\tline: i,\n\t\t\t\t\tch: 99999999999999\n\t\t\t\t});\n\t\t\t})(i);\n\t\t}\n\t\tcm.focus();\n\t}\n\t\n\t\n\tfunction _toggleLine(cm, name) {\n\t\tif(/editor-preview-active/.test(cm.getWrapperElement().lastChild.className))\n\t\t\treturn;\n\t\n\t\tvar stat = getState(cm);\n\t\tvar startPoint = cm.getCursor(\"start\");\n\t\tvar endPoint = cm.getCursor(\"end\");\n\t\tvar repl = {\n\t\t\t\"quote\": /^(\\s*)\\>\\s+/,\n\t\t\t\"unordered-list\": /^(\\s*)(\\*|\\-|\\+)\\s+/,\n\t\t\t\"ordered-list\": /^(\\s*)\\d+\\.\\s+/\n\t\t};\n\t\tvar map = {\n\t\t\t\"quote\": \"> \",\n\t\t\t\"unordered-list\": \"* \",\n\t\t\t\"ordered-list\": \"1. \"\n\t\t};\n\t\tfor(var i = startPoint.line; i <= endPoint.line; i++) {\n\t\t\t(function(i) {\n\t\t\t\tvar text = cm.getLine(i);\n\t\t\t\tif(stat[name]) {\n\t\t\t\t\ttext = text.replace(repl[name], \"$1\");\n\t\t\t\t} else {\n\t\t\t\t\ttext = map[name] + text;\n\t\t\t\t}\n\t\t\t\tcm.replaceRange(text, {\n\t\t\t\t\tline: i,\n\t\t\t\t\tch: 0\n\t\t\t\t}, {\n\t\t\t\t\tline: i,\n\t\t\t\t\tch: 99999999999999\n\t\t\t\t});\n\t\t\t})(i);\n\t\t}\n\t\tcm.focus();\n\t}\n\t\n\tfunction _toggleBlock(editor, type, start_chars, end_chars) {\n\t\tif(/editor-preview-active/.test(editor.codemirror.getWrapperElement().lastChild.className))\n\t\t\treturn;\n\t\n\t\tend_chars = (typeof end_chars === \"undefined\") ? start_chars : end_chars;\n\t\tvar cm = editor.codemirror;\n\t\tvar stat = getState(cm);\n\t\n\t\tvar text;\n\t\tvar start = start_chars;\n\t\tvar end = end_chars;\n\t\n\t\tvar startPoint = cm.getCursor(\"start\");\n\t\tvar endPoint = cm.getCursor(\"end\");\n\t\n\t\tif(stat[type]) {\n\t\t\ttext = cm.getLine(startPoint.line);\n\t\t\tstart = text.slice(0, startPoint.ch);\n\t\t\tend = text.slice(startPoint.ch);\n\t\t\tif(type == \"bold\") {\n\t\t\t\tstart = start.replace(/(\\*\\*|__)(?![\\s\\S]*(\\*\\*|__))/, \"\");\n\t\t\t\tend = end.replace(/(\\*\\*|__)/, \"\");\n\t\t\t} else if(type == \"italic\") {\n\t\t\t\tstart = start.replace(/(\\*|_)(?![\\s\\S]*(\\*|_))/, \"\");\n\t\t\t\tend = end.replace(/(\\*|_)/, \"\");\n\t\t\t} else if(type == \"strikethrough\") {\n\t\t\t\tstart = start.replace(/(\\*\\*|~~)(?![\\s\\S]*(\\*\\*|~~))/, \"\");\n\t\t\t\tend = end.replace(/(\\*\\*|~~)/, \"\");\n\t\t\t}\n\t\t\tcm.replaceRange(start + end, {\n\t\t\t\tline: startPoint.line,\n\t\t\t\tch: 0\n\t\t\t}, {\n\t\t\t\tline: startPoint.line,\n\t\t\t\tch: 99999999999999\n\t\t\t});\n\t\n\t\t\tif(type == \"bold\" || type == \"strikethrough\") {\n\t\t\t\tstartPoint.ch -= 2;\n\t\t\t\tif(startPoint !== endPoint) {\n\t\t\t\t\tendPoint.ch -= 2;\n\t\t\t\t}\n\t\t\t} else if(type == \"italic\") {\n\t\t\t\tstartPoint.ch -= 1;\n\t\t\t\tif(startPoint !== endPoint) {\n\t\t\t\t\tendPoint.ch -= 1;\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\ttext = cm.getSelection();\n\t\t\tif(type == \"bold\") {\n\t\t\t\ttext = text.split(\"**\").join(\"\");\n\t\t\t\ttext = text.split(\"__\").join(\"\");\n\t\t\t} else if(type == \"italic\") {\n\t\t\t\ttext = text.split(\"*\").join(\"\");\n\t\t\t\ttext = text.split(\"_\").join(\"\");\n\t\t\t} else if(type == \"strikethrough\") {\n\t\t\t\ttext = text.split(\"~~\").join(\"\");\n\t\t\t}\n\t\t\tcm.replaceSelection(start + text + end);\n\t\n\t\t\tstartPoint.ch += start_chars.length;\n\t\t\tendPoint.ch = startPoint.ch + text.length;\n\t\t}\n\t\n\t\tcm.setSelection(startPoint, endPoint);\n\t\tcm.focus();\n\t}\n\t\n\tfunction _cleanBlock(cm) {\n\t\tif(/editor-preview-active/.test(cm.getWrapperElement().lastChild.className))\n\t\t\treturn;\n\t\n\t\tvar startPoint = cm.getCursor(\"start\");\n\t\tvar endPoint = cm.getCursor(\"end\");\n\t\tvar text;\n\t\n\t\tfor(var line = startPoint.line; line <= endPoint.line; line++) {\n\t\t\ttext = cm.getLine(line);\n\t\t\ttext = text.replace(/^[ ]*([# ]+|\\*|\\-|[> ]+|[0-9]+(.|\\)))[ ]*/, \"\");\n\t\n\t\t\tcm.replaceRange(text, {\n\t\t\t\tline: line,\n\t\t\t\tch: 0\n\t\t\t}, {\n\t\t\t\tline: line,\n\t\t\t\tch: 99999999999999\n\t\t\t});\n\t\t}\n\t}\n\t\n\t// Merge the properties of one object into another.\n\tfunction _mergeProperties(target, source) {\n\t\tfor(var property in source) {\n\t\t\tif(source.hasOwnProperty(property)) {\n\t\t\t\tif(source[property] instanceof Array) {\n\t\t\t\t\ttarget[property] = source[property].concat(target[property] instanceof Array ? target[property] : []);\n\t\t\t\t} else if(\n\t\t\t\t\tsource[property] !== null &&\n\t\t\t\t\ttypeof source[property] === \"object\" &&\n\t\t\t\t\tsource[property].constructor === Object\n\t\t\t\t) {\n\t\t\t\t\ttarget[property] = _mergeProperties(target[property] || {}, source[property]);\n\t\t\t\t} else {\n\t\t\t\t\ttarget[property] = source[property];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\n\t\treturn target;\n\t}\n\t\n\t// Merge an arbitrary number of objects into one.\n\tfunction extend(target) {\n\t\tfor(var i = 1; i < arguments.length; i++) {\n\t\t\ttarget = _mergeProperties(target, arguments[i]);\n\t\t}\n\t\n\t\treturn target;\n\t}\n\t\n\t/* The right word count in respect for CJK. */\n\tfunction wordCount(data) {\n\t\tvar pattern = /[a-zA-Z0-9_\\u0392-\\u03c9\\u0410-\\u04F9]+|[\\u4E00-\\u9FFF\\u3400-\\u4dbf\\uf900-\\ufaff\\u3040-\\u309f\\uac00-\\ud7af]+/g;\n\t\tvar m = data.match(pattern);\n\t\tvar count = 0;\n\t\tif(m === null) return count;\n\t\tfor(var i = 0; i < m.length; i++) {\n\t\t\tif(m[i].charCodeAt(0) >= 0x4E00) {\n\t\t\t\tcount += m[i].length;\n\t\t\t} else {\n\t\t\t\tcount += 1;\n\t\t\t}\n\t\t}\n\t\treturn count;\n\t}\n\t\n\tvar toolbarBuiltInButtons = {\n\t\t\"bold\": {\n\t\t\tname: \"bold\",\n\t\t\taction: toggleBold,\n\t\t\tclassName: \"fa fa-bold\",\n\t\t\ttitle: \"Bold\",\n\t\t\tdefault: true\n\t\t},\n\t\t\"italic\": {\n\t\t\tname: \"italic\",\n\t\t\taction: toggleItalic,\n\t\t\tclassName: \"fa fa-italic\",\n\t\t\ttitle: \"Italic\",\n\t\t\tdefault: true\n\t\t},\n\t\t\"strikethrough\": {\n\t\t\tname: \"strikethrough\",\n\t\t\taction: toggleStrikethrough,\n\t\t\tclassName: \"fa fa-strikethrough\",\n\t\t\ttitle: \"Strikethrough\"\n\t\t},\n\t\t\"heading\": {\n\t\t\tname: \"heading\",\n\t\t\taction: toggleHeadingSmaller,\n\t\t\tclassName: \"fa fa-header\",\n\t\t\ttitle: \"Heading\",\n\t\t\tdefault: true\n\t\t},\n\t\t\"heading-smaller\": {\n\t\t\tname: \"heading-smaller\",\n\t\t\taction: toggleHeadingSmaller,\n\t\t\tclassName: \"fa fa-header fa-header-x fa-header-smaller\",\n\t\t\ttitle: \"Smaller Heading\"\n\t\t},\n\t\t\"heading-bigger\": {\n\t\t\tname: \"heading-bigger\",\n\t\t\taction: toggleHeadingBigger,\n\t\t\tclassName: \"fa fa-header fa-header-x fa-header-bigger\",\n\t\t\ttitle: \"Bigger Heading\"\n\t\t},\n\t\t\"heading-1\": {\n\t\t\tname: \"heading-1\",\n\t\t\taction: toggleHeading1,\n\t\t\tclassName: \"fa fa-header fa-header-x fa-header-1\",\n\t\t\ttitle: \"Big Heading\"\n\t\t},\n\t\t\"heading-2\": {\n\t\t\tname: \"heading-2\",\n\t\t\taction: toggleHeading2,\n\t\t\tclassName: \"fa fa-header fa-header-x fa-header-2\",\n\t\t\ttitle: \"Medium Heading\"\n\t\t},\n\t\t\"heading-3\": {\n\t\t\tname: \"heading-3\",\n\t\t\taction: toggleHeading3,\n\t\t\tclassName: \"fa fa-header fa-header-x fa-header-3\",\n\t\t\ttitle: \"Small Heading\"\n\t\t},\n\t\t\"separator-1\": {\n\t\t\tname: \"separator-1\"\n\t\t},\n\t\t\"code\": {\n\t\t\tname: \"code\",\n\t\t\taction: toggleCodeBlock,\n\t\t\tclassName: \"fa fa-code\",\n\t\t\ttitle: \"Code\"\n\t\t},\n\t\t\"quote\": {\n\t\t\tname: \"quote\",\n\t\t\taction: toggleBlockquote,\n\t\t\tclassName: \"fa fa-quote-left\",\n\t\t\ttitle: \"Quote\",\n\t\t\tdefault: true\n\t\t},\n\t\t\"unordered-list\": {\n\t\t\tname: \"unordered-list\",\n\t\t\taction: toggleUnorderedList,\n\t\t\tclassName: \"fa fa-list-ul\",\n\t\t\ttitle: \"Generic List\",\n\t\t\tdefault: true\n\t\t},\n\t\t\"ordered-list\": {\n\t\t\tname: \"ordered-list\",\n\t\t\taction: toggleOrderedList,\n\t\t\tclassName: \"fa fa-list-ol\",\n\t\t\ttitle: \"Numbered List\",\n\t\t\tdefault: true\n\t\t},\n\t\t\"clean-block\": {\n\t\t\tname: \"clean-block\",\n\t\t\taction: cleanBlock,\n\t\t\tclassName: \"fa fa-eraser fa-clean-block\",\n\t\t\ttitle: \"Clean block\"\n\t\t},\n\t\t\"separator-2\": {\n\t\t\tname: \"separator-2\"\n\t\t},\n\t\t\"link\": {\n\t\t\tname: \"link\",\n\t\t\taction: drawLink,\n\t\t\tclassName: \"fa fa-link\",\n\t\t\ttitle: \"Create Link\",\n\t\t\tdefault: true\n\t\t},\n\t\t\"image\": {\n\t\t\tname: \"image\",\n\t\t\taction: drawImage,\n\t\t\tclassName: \"fa fa-picture-o\",\n\t\t\ttitle: \"Insert Image\",\n\t\t\tdefault: true\n\t\t},\n\t\t\"table\": {\n\t\t\tname: \"table\",\n\t\t\taction: drawTable,\n\t\t\tclassName: \"fa fa-table\",\n\t\t\ttitle: \"Insert Table\"\n\t\t},\n\t\t\"horizontal-rule\": {\n\t\t\tname: \"horizontal-rule\",\n\t\t\taction: drawHorizontalRule,\n\t\t\tclassName: \"fa fa-minus\",\n\t\t\ttitle: \"Insert Horizontal Line\"\n\t\t},\n\t\t\"separator-3\": {\n\t\t\tname: \"separator-3\"\n\t\t},\n\t\t\"preview\": {\n\t\t\tname: \"preview\",\n\t\t\taction: togglePreview,\n\t\t\tclassName: \"fa fa-eye no-disable\",\n\t\t\ttitle: \"Toggle Preview\",\n\t\t\tdefault: true\n\t\t},\n\t\t\"side-by-side\": {\n\t\t\tname: \"side-by-side\",\n\t\t\taction: toggleSideBySide,\n\t\t\tclassName: \"fa fa-columns no-disable no-mobile\",\n\t\t\ttitle: \"Toggle Side by Side\",\n\t\t\tdefault: true\n\t\t},\n\t\t\"fullscreen\": {\n\t\t\tname: \"fullscreen\",\n\t\t\taction: toggleFullScreen,\n\t\t\tclassName: \"fa fa-arrows-alt no-disable no-mobile\",\n\t\t\ttitle: \"Toggle Fullscreen\",\n\t\t\tdefault: true\n\t\t},\n\t\t\"separator-4\": {\n\t\t\tname: \"separator-4\"\n\t\t},\n\t\t\"guide\": {\n\t\t\tname: \"guide\",\n\t\t\taction: \"https://simplemde.com/markdown-guide\",\n\t\t\tclassName: \"fa fa-question-circle\",\n\t\t\ttitle: \"Markdown Guide\",\n\t\t\tdefault: true\n\t\t},\n\t\t\"separator-5\": {\n\t\t\tname: \"separator-5\"\n\t\t},\n\t\t\"undo\": {\n\t\t\tname: \"undo\",\n\t\t\taction: undo,\n\t\t\tclassName: \"fa fa-undo no-disable\",\n\t\t\ttitle: \"Undo\"\n\t\t},\n\t\t\"redo\": {\n\t\t\tname: \"redo\",\n\t\t\taction: redo,\n\t\t\tclassName: \"fa fa-repeat no-disable\",\n\t\t\ttitle: \"Redo\"\n\t\t}\n\t};\n\t\n\tvar insertTexts = {\n\t\tlink: [\"[\", \"](#url#)\"],\n\t\timage: [\"![](\", \"#url#)\"],\n\t\ttable: [\"\", \"\\n\\n| Column 1 | Column 2 | Column 3 |\\n| -------- | -------- | -------- |\\n| Text | Text | Text |\\n\\n\"],\n\t\thorizontalRule: [\"\", \"\\n\\n-----\\n\\n\"]\n\t};\n\t\n\tvar promptTexts = {\n\t\tlink: \"URL for the link:\",\n\t\timage: \"URL of the image:\"\n\t};\n\t\n\tvar blockStyles = {\n\t\t\"bold\": \"**\",\n\t\t\"code\": \"```\",\n\t\t\"italic\": \"*\"\n\t};\n\t\n\t/**\n\t * Interface of SimpleMDE.\n\t */\n\tfunction SimpleMDE(options) {\n\t\t// Handle options parameter\n\t\toptions = options || {};\n\t\n\t\n\t\t// Used later to refer to it\"s parent\n\t\toptions.parent = this;\n\t\n\t\n\t\t// Check if Font Awesome needs to be auto downloaded\n\t\tvar autoDownloadFA = true;\n\t\n\t\tif(options.autoDownloadFontAwesome === false) {\n\t\t\tautoDownloadFA = false;\n\t\t}\n\t\n\t\tif(options.autoDownloadFontAwesome !== true) {\n\t\t\tvar styleSheets = document.styleSheets;\n\t\t\tfor(var i = 0; i < styleSheets.length; i++) {\n\t\t\t\tif(!styleSheets[i].href)\n\t\t\t\t\tcontinue;\n\t\n\t\t\t\tif(styleSheets[i].href.indexOf(\"//maxcdn.bootstrapcdn.com/font-awesome/\") > -1) {\n\t\t\t\t\tautoDownloadFA = false;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\n\t\tif(autoDownloadFA) {\n\t\t\tvar link = document.createElement(\"link\");\n\t\t\tlink.rel = \"stylesheet\";\n\t\t\tlink.href = \"https://maxcdn.bootstrapcdn.com/font-awesome/latest/css/font-awesome.min.css\";\n\t\t\tdocument.getElementsByTagName(\"head\")[0].appendChild(link);\n\t\t}\n\t\n\t\n\t\t// Find the textarea to use\n\t\tif(options.element) {\n\t\t\tthis.element = options.element;\n\t\t} else if(options.element === null) {\n\t\t\t// This means that the element option was specified, but no element was found\n\t\t\tconsole.log(\"SimpleMDE: Error. No element was found.\");\n\t\t\treturn;\n\t\t}\n\t\n\t\n\t\t// Handle toolbar\n\t\tif(options.toolbar === undefined) {\n\t\t\t// Initialize\n\t\t\toptions.toolbar = [];\n\t\n\t\n\t\t\t// Loop over the built in buttons, to get the preferred order\n\t\t\tfor(var key in toolbarBuiltInButtons) {\n\t\t\t\tif(toolbarBuiltInButtons.hasOwnProperty(key)) {\n\t\t\t\t\tif(key.indexOf(\"separator-\") != -1) {\n\t\t\t\t\t\toptions.toolbar.push(\"|\");\n\t\t\t\t\t}\n\t\n\t\t\t\t\tif(toolbarBuiltInButtons[key].default === true || (options.showIcons && options.showIcons.constructor === Array && options.showIcons.indexOf(key) != -1)) {\n\t\t\t\t\t\toptions.toolbar.push(key);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\n\t\n\t\t// Handle status bar\n\t\tif(!options.hasOwnProperty(\"status\")) {\n\t\t\toptions.status = [\"autosave\", \"lines\", \"words\", \"cursor\"];\n\t\t}\n\t\n\t\n\t\t// Add default preview rendering function\n\t\tif(!options.previewRender) {\n\t\t\toptions.previewRender = function(plainText) {\n\t\t\t\t// Note: \"this\" refers to the options object\n\t\t\t\treturn this.parent.markdown(plainText);\n\t\t\t};\n\t\t}\n\t\n\t\n\t\t// Set default options for parsing config\n\t\toptions.parsingConfig = extend({\n\t\t\thighlightFormatting: true // needed for toggleCodeBlock to detect types of code\n\t\t}, options.parsingConfig || {});\n\t\n\t\n\t\t// Merging the insertTexts, with the given options\n\t\toptions.insertTexts = extend({}, insertTexts, options.insertTexts || {});\n\t\n\t\n\t\t// Merging the promptTexts, with the given options\n\t\toptions.promptTexts = promptTexts;\n\t\n\t\n\t\t// Merging the blockStyles, with the given options\n\t\toptions.blockStyles = extend({}, blockStyles, options.blockStyles || {});\n\t\n\t\n\t\t// Merging the shortcuts, with the given options\n\t\toptions.shortcuts = extend({}, shortcuts, options.shortcuts || {});\n\t\n\t\n\t\t// Change unique_id to uniqueId for backwards compatibility\n\t\tif(options.autosave != undefined && options.autosave.unique_id != undefined && options.autosave.unique_id != \"\")\n\t\t\toptions.autosave.uniqueId = options.autosave.unique_id;\n\t\n\t\n\t\t// Update this options\n\t\tthis.options = options;\n\t\n\t\n\t\t// Auto render\n\t\tthis.render();\n\t\n\t\n\t\t// The codemirror component is only available after rendering\n\t\t// so, the setter for the initialValue can only run after\n\t\t// the element has been rendered\n\t\tif(options.initialValue && (!this.options.autosave || this.options.autosave.foundSavedValue !== true)) {\n\t\t\tthis.value(options.initialValue);\n\t\t}\n\t}\n\t\n\t/**\n\t * Default markdown render.\n\t */\n\tSimpleMDE.prototype.markdown = function(text) {\n\t\tif(marked) {\n\t\t\t// Initialize\n\t\t\tvar markedOptions = {};\n\t\n\t\n\t\t\t// Update options\n\t\t\tif(this.options && this.options.renderingConfig && this.options.renderingConfig.singleLineBreaks === false) {\n\t\t\t\tmarkedOptions.breaks = false;\n\t\t\t} else {\n\t\t\t\tmarkedOptions.breaks = true;\n\t\t\t}\n\t\n\t\t\tif(this.options && this.options.renderingConfig && this.options.renderingConfig.codeSyntaxHighlighting === true && window.hljs) {\n\t\t\t\tmarkedOptions.highlight = function(code) {\n\t\t\t\t\treturn window.hljs.highlightAuto(code).value;\n\t\t\t\t};\n\t\t\t}\n\t\n\t\n\t\t\t// Set options\n\t\t\tmarked.setOptions(markedOptions);\n\t\n\t\n\t\t\t// Return\n\t\t\treturn marked(text);\n\t\t}\n\t};\n\t\n\t/**\n\t * Render editor to the given element.\n\t */\n\tSimpleMDE.prototype.render = function(el) {\n\t\tif(!el) {\n\t\t\tel = this.element || document.getElementsByTagName(\"textarea\")[0];\n\t\t}\n\t\n\t\tif(this._rendered && this._rendered === el) {\n\t\t\t// Already rendered.\n\t\t\treturn;\n\t\t}\n\t\n\t\tthis.element = el;\n\t\tvar options = this.options;\n\t\n\t\tvar self = this;\n\t\tvar keyMaps = {};\n\t\n\t\tfor(var key in options.shortcuts) {\n\t\t\t// null stands for \"do not bind this command\"\n\t\t\tif(options.shortcuts[key] !== null && bindings[key] !== null) {\n\t\t\t\t(function(key) {\n\t\t\t\t\tkeyMaps[fixShortcut(options.shortcuts[key])] = function() {\n\t\t\t\t\t\tbindings[key](self);\n\t\t\t\t\t};\n\t\t\t\t})(key);\n\t\t\t}\n\t\t}\n\t\n\t\tkeyMaps[\"Enter\"] = \"newlineAndIndentContinueMarkdownList\";\n\t\tkeyMaps[\"Tab\"] = \"tabAndIndentMarkdownList\";\n\t\tkeyMaps[\"Shift-Tab\"] = \"shiftTabAndUnindentMarkdownList\";\n\t\tkeyMaps[\"Esc\"] = function(cm) {\n\t\t\tif(cm.getOption(\"fullScreen\")) toggleFullScreen(self);\n\t\t};\n\t\n\t\tdocument.addEventListener(\"keydown\", function(e) {\n\t\t\te = e || window.event;\n\t\n\t\t\tif(e.keyCode == 27) {\n\t\t\t\tif(self.codemirror.getOption(\"fullScreen\")) toggleFullScreen(self);\n\t\t\t}\n\t\t}, false);\n\t\n\t\tvar mode, backdrop;\n\t\tif(options.spellChecker !== false) {\n\t\t\tmode = \"spell-checker\";\n\t\t\tbackdrop = options.parsingConfig;\n\t\t\tbackdrop.name = \"gfm\";\n\t\t\tbackdrop.gitHubSpice = false;\n\t\n\t\t\tCodeMirrorSpellChecker({\n\t\t\t\tcodeMirrorInstance: CodeMirror\n\t\t\t});\n\t\t} else {\n\t\t\tmode = options.parsingConfig;\n\t\t\tmode.name = \"gfm\";\n\t\t\tmode.gitHubSpice = false;\n\t\t}\n\t\n\t\tthis.codemirror = CodeMirror.fromTextArea(el, {\n\t\t\tmode: mode,\n\t\t\tbackdrop: backdrop,\n\t\t\ttheme: \"paper\",\n\t\t\ttabSize: (options.tabSize != undefined) ? options.tabSize : 2,\n\t\t\tindentUnit: (options.tabSize != undefined) ? options.tabSize : 2,\n\t\t\tindentWithTabs: (options.indentWithTabs === false) ? false : true,\n\t\t\tlineNumbers: false,\n\t\t\tautofocus: (options.autofocus === true) ? true : false,\n\t\t\textraKeys: keyMaps,\n\t\t\tlineWrapping: (options.lineWrapping === false) ? false : true,\n\t\t\tallowDropFileTypes: [\"text/plain\"],\n\t\t\tplaceholder: options.placeholder || el.getAttribute(\"placeholder\") || \"\",\n\t\t\tstyleSelectedText: (options.styleSelectedText != undefined) ? options.styleSelectedText : true\n\t\t});\n\t\n\t\tif(options.forceSync === true) {\n\t\t\tvar cm = this.codemirror;\n\t\t\tcm.on(\"change\", function() {\n\t\t\t\tcm.save();\n\t\t\t});\n\t\t}\n\t\n\t\tthis.gui = {};\n\t\n\t\tif(options.toolbar !== false) {\n\t\t\tthis.gui.toolbar = this.createToolbar();\n\t\t}\n\t\tif(options.status !== false) {\n\t\t\tthis.gui.statusbar = this.createStatusbar();\n\t\t}\n\t\tif(options.autosave != undefined && options.autosave.enabled === true) {\n\t\t\tthis.autosave();\n\t\t}\n\t\n\t\tthis.gui.sideBySide = this.createSideBySide();\n\t\n\t\tthis._rendered = this.element;\n\t\n\t\n\t\t// Fixes CodeMirror bug (#344)\n\t\tvar temp_cm = this.codemirror;\n\t\tsetTimeout(function() {\n\t\t\ttemp_cm.refresh();\n\t\t}.bind(temp_cm), 0);\n\t};\n\t\n\t// Safari, in Private Browsing Mode, looks like it supports localStorage but all calls to setItem throw QuotaExceededError. We're going to detect this and set a variable accordingly.\n\tfunction isLocalStorageAvailable() {\n\t\tif(typeof localStorage === \"object\") {\n\t\t\ttry {\n\t\t\t\tlocalStorage.setItem(\"smde_localStorage\", 1);\n\t\t\t\tlocalStorage.removeItem(\"smde_localStorage\");\n\t\t\t} catch(e) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t} else {\n\t\t\treturn false;\n\t\t}\n\t\n\t\treturn true;\n\t}\n\t\n\tSimpleMDE.prototype.autosave = function() {\n\t\tif(isLocalStorageAvailable()) {\n\t\t\tvar simplemde = this;\n\t\n\t\t\tif(this.options.autosave.uniqueId == undefined || this.options.autosave.uniqueId == \"\") {\n\t\t\t\tconsole.log(\"SimpleMDE: You must set a uniqueId to use the autosave feature\");\n\t\t\t\treturn;\n\t\t\t}\n\t\n\t\t\tif(simplemde.element.form != null && simplemde.element.form != undefined) {\n\t\t\t\tsimplemde.element.form.addEventListener(\"submit\", function() {\n\t\t\t\t\tlocalStorage.removeItem(\"smde_\" + simplemde.options.autosave.uniqueId);\n\t\t\t\t});\n\t\t\t}\n\t\n\t\t\tif(this.options.autosave.loaded !== true) {\n\t\t\t\tif(typeof localStorage.getItem(\"smde_\" + this.options.autosave.uniqueId) == \"string\" && localStorage.getItem(\"smde_\" + this.options.autosave.uniqueId) != \"\") {\n\t\t\t\t\tthis.codemirror.setValue(localStorage.getItem(\"smde_\" + this.options.autosave.uniqueId));\n\t\t\t\t\tthis.options.autosave.foundSavedValue = true;\n\t\t\t\t}\n\t\n\t\t\t\tthis.options.autosave.loaded = true;\n\t\t\t}\n\t\n\t\t\tlocalStorage.setItem(\"smde_\" + this.options.autosave.uniqueId, simplemde.value());\n\t\n\t\t\tvar el = document.getElementById(\"autosaved\");\n\t\t\tif(el != null && el != undefined && el != \"\") {\n\t\t\t\tvar d = new Date();\n\t\t\t\tvar hh = d.getHours();\n\t\t\t\tvar m = d.getMinutes();\n\t\t\t\tvar dd = \"am\";\n\t\t\t\tvar h = hh;\n\t\t\t\tif(h >= 12) {\n\t\t\t\t\th = hh - 12;\n\t\t\t\t\tdd = \"pm\";\n\t\t\t\t}\n\t\t\t\tif(h == 0) {\n\t\t\t\t\th = 12;\n\t\t\t\t}\n\t\t\t\tm = m < 10 ? \"0\" + m : m;\n\t\n\t\t\t\tel.innerHTML = \"Autosaved: \" + h + \":\" + m + \" \" + dd;\n\t\t\t}\n\t\n\t\t\tthis.autosaveTimeoutId = setTimeout(function() {\n\t\t\t\tsimplemde.autosave();\n\t\t\t}, this.options.autosave.delay || 10000);\n\t\t} else {\n\t\t\tconsole.log(\"SimpleMDE: localStorage not available, cannot autosave\");\n\t\t}\n\t};\n\t\n\tSimpleMDE.prototype.clearAutosavedValue = function() {\n\t\tif(isLocalStorageAvailable()) {\n\t\t\tif(this.options.autosave == undefined || this.options.autosave.uniqueId == undefined || this.options.autosave.uniqueId == \"\") {\n\t\t\t\tconsole.log(\"SimpleMDE: You must set a uniqueId to clear the autosave value\");\n\t\t\t\treturn;\n\t\t\t}\n\t\n\t\t\tlocalStorage.removeItem(\"smde_\" + this.options.autosave.uniqueId);\n\t\t} else {\n\t\t\tconsole.log(\"SimpleMDE: localStorage not available, cannot autosave\");\n\t\t}\n\t};\n\t\n\tSimpleMDE.prototype.createSideBySide = function() {\n\t\tvar cm = this.codemirror;\n\t\tvar wrapper = cm.getWrapperElement();\n\t\tvar preview = wrapper.nextSibling;\n\t\n\t\tif(!preview || !/editor-preview-side/.test(preview.className)) {\n\t\t\tpreview = document.createElement(\"div\");\n\t\t\tpreview.className = \"editor-preview-side\";\n\t\t\twrapper.parentNode.insertBefore(preview, wrapper.nextSibling);\n\t\t}\n\t\n\t\t// Syncs scroll editor -> preview\n\t\tvar cScroll = false;\n\t\tvar pScroll = false;\n\t\tcm.on(\"scroll\", function(v) {\n\t\t\tif(cScroll) {\n\t\t\t\tcScroll = false;\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tpScroll = true;\n\t\t\tvar height = v.getScrollInfo().height - v.getScrollInfo().clientHeight;\n\t\t\tvar ratio = parseFloat(v.getScrollInfo().top) / height;\n\t\t\tvar move = (preview.scrollHeight - preview.clientHeight) * ratio;\n\t\t\tpreview.scrollTop = move;\n\t\t});\n\t\n\t\t// Syncs scroll preview -> editor\n\t\tpreview.onscroll = function() {\n\t\t\tif(pScroll) {\n\t\t\t\tpScroll = false;\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tcScroll = true;\n\t\t\tvar height = preview.scrollHeight - preview.clientHeight;\n\t\t\tvar ratio = parseFloat(preview.scrollTop) / height;\n\t\t\tvar move = (cm.getScrollInfo().height - cm.getScrollInfo().clientHeight) * ratio;\n\t\t\tcm.scrollTo(0, move);\n\t\t};\n\t\treturn preview;\n\t};\n\t\n\tSimpleMDE.prototype.createToolbar = function(items) {\n\t\titems = items || this.options.toolbar;\n\t\n\t\tif(!items || items.length === 0) {\n\t\t\treturn;\n\t\t}\n\t\tvar i;\n\t\tfor(i = 0; i < items.length; i++) {\n\t\t\tif(toolbarBuiltInButtons[items[i]] != undefined) {\n\t\t\t\titems[i] = toolbarBuiltInButtons[items[i]];\n\t\t\t}\n\t\t}\n\t\n\t\tvar bar = document.createElement(\"div\");\n\t\tbar.className = \"editor-toolbar\";\n\t\n\t\tvar self = this;\n\t\n\t\tvar toolbarData = {};\n\t\tself.toolbar = items;\n\t\n\t\tfor(i = 0; i < items.length; i++) {\n\t\t\tif(items[i].name == \"guide\" && self.options.toolbarGuideIcon === false)\n\t\t\t\tcontinue;\n\t\n\t\t\tif(self.options.hideIcons && self.options.hideIcons.indexOf(items[i].name) != -1)\n\t\t\t\tcontinue;\n\t\n\t\t\t// Fullscreen does not work well on mobile devices (even tablets)\n\t\t\t// In the future, hopefully this can be resolved\n\t\t\tif((items[i].name == \"fullscreen\" || items[i].name == \"side-by-side\") && isMobile())\n\t\t\t\tcontinue;\n\t\n\t\n\t\t\t// Don't include trailing separators\n\t\t\tif(items[i] === \"|\") {\n\t\t\t\tvar nonSeparatorIconsFollow = false;\n\t\n\t\t\t\tfor(var x = (i + 1); x < items.length; x++) {\n\t\t\t\t\tif(items[x] !== \"|\" && (!self.options.hideIcons || self.options.hideIcons.indexOf(items[x].name) == -1)) {\n\t\t\t\t\t\tnonSeparatorIconsFollow = true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\n\t\t\t\tif(!nonSeparatorIconsFollow)\n\t\t\t\t\tcontinue;\n\t\t\t}\n\t\n\t\n\t\t\t// Create the icon and append to the toolbar\n\t\t\t(function(item) {\n\t\t\t\tvar el;\n\t\t\t\tif(item === \"|\") {\n\t\t\t\t\tel = createSep();\n\t\t\t\t} else {\n\t\t\t\t\tel = createIcon(item, self.options.toolbarTips, self.options.shortcuts);\n\t\t\t\t}\n\t\n\t\t\t\t// bind events, special for info\n\t\t\t\tif(item.action) {\n\t\t\t\t\tif(typeof item.action === \"function\") {\n\t\t\t\t\t\tel.onclick = function(e) {\n\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\titem.action(self);\n\t\t\t\t\t\t};\n\t\t\t\t\t} else if(typeof item.action === \"string\") {\n\t\t\t\t\t\tel.href = item.action;\n\t\t\t\t\t\tel.target = \"_blank\";\n\t\t\t\t\t}\n\t\t\t\t}\n\t\n\t\t\t\ttoolbarData[item.name || item] = el;\n\t\t\t\tbar.appendChild(el);\n\t\t\t})(items[i]);\n\t\t}\n\t\n\t\tself.toolbarElements = toolbarData;\n\t\n\t\tvar cm = this.codemirror;\n\t\tcm.on(\"cursorActivity\", function() {\n\t\t\tvar stat = getState(cm);\n\t\n\t\t\tfor(var key in toolbarData) {\n\t\t\t\t(function(key) {\n\t\t\t\t\tvar el = toolbarData[key];\n\t\t\t\t\tif(stat[key]) {\n\t\t\t\t\t\tel.className += \" active\";\n\t\t\t\t\t} else if(key != \"fullscreen\" && key != \"side-by-side\") {\n\t\t\t\t\t\tel.className = el.className.replace(/\\s*active\\s*/g, \"\");\n\t\t\t\t\t}\n\t\t\t\t})(key);\n\t\t\t}\n\t\t});\n\t\n\t\tvar cmWrapper = cm.getWrapperElement();\n\t\tcmWrapper.parentNode.insertBefore(bar, cmWrapper);\n\t\treturn bar;\n\t};\n\t\n\tSimpleMDE.prototype.createStatusbar = function(status) {\n\t\t// Initialize\n\t\tstatus = status || this.options.status;\n\t\tvar options = this.options;\n\t\tvar cm = this.codemirror;\n\t\n\t\n\t\t// Make sure the status variable is valid\n\t\tif(!status || status.length === 0)\n\t\t\treturn;\n\t\n\t\n\t\t// Set up the built-in items\n\t\tvar items = [];\n\t\tvar i, onUpdate, defaultValue;\n\t\n\t\tfor(i = 0; i < status.length; i++) {\n\t\t\t// Reset some values\n\t\t\tonUpdate = undefined;\n\t\t\tdefaultValue = undefined;\n\t\n\t\n\t\t\t// Handle if custom or not\n\t\t\tif(typeof status[i] === \"object\") {\n\t\t\t\titems.push({\n\t\t\t\t\tclassName: status[i].className,\n\t\t\t\t\tdefaultValue: status[i].defaultValue,\n\t\t\t\t\tonUpdate: status[i].onUpdate\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tvar name = status[i];\n\t\n\t\t\t\tif(name === \"words\") {\n\t\t\t\t\tdefaultValue = function(el) {\n\t\t\t\t\t\tel.innerHTML = wordCount(cm.getValue());\n\t\t\t\t\t};\n\t\t\t\t\tonUpdate = function(el) {\n\t\t\t\t\t\tel.innerHTML = wordCount(cm.getValue());\n\t\t\t\t\t};\n\t\t\t\t} else if(name === \"lines\") {\n\t\t\t\t\tdefaultValue = function(el) {\n\t\t\t\t\t\tel.innerHTML = cm.lineCount();\n\t\t\t\t\t};\n\t\t\t\t\tonUpdate = function(el) {\n\t\t\t\t\t\tel.innerHTML = cm.lineCount();\n\t\t\t\t\t};\n\t\t\t\t} else if(name === \"cursor\") {\n\t\t\t\t\tdefaultValue = function(el) {\n\t\t\t\t\t\tel.innerHTML = \"0:0\";\n\t\t\t\t\t};\n\t\t\t\t\tonUpdate = function(el) {\n\t\t\t\t\t\tvar pos = cm.getCursor();\n\t\t\t\t\t\tel.innerHTML = pos.line + \":\" + pos.ch;\n\t\t\t\t\t};\n\t\t\t\t} else if(name === \"autosave\") {\n\t\t\t\t\tdefaultValue = function(el) {\n\t\t\t\t\t\tif(options.autosave != undefined && options.autosave.enabled === true) {\n\t\t\t\t\t\t\tel.setAttribute(\"id\", \"autosaved\");\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t}\n\t\n\t\t\t\titems.push({\n\t\t\t\t\tclassName: name,\n\t\t\t\t\tdefaultValue: defaultValue,\n\t\t\t\t\tonUpdate: onUpdate\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t\n\t\n\t\t// Create element for the status bar\n\t\tvar bar = document.createElement(\"div\");\n\t\tbar.className = \"editor-statusbar\";\n\t\n\t\n\t\t// Create a new span for each item\n\t\tfor(i = 0; i < items.length; i++) {\n\t\t\t// Store in temporary variable\n\t\t\tvar item = items[i];\n\t\n\t\n\t\t\t// Create span element\n\t\t\tvar el = document.createElement(\"span\");\n\t\t\tel.className = item.className;\n\t\n\t\n\t\t\t// Ensure the defaultValue is a function\n\t\t\tif(typeof item.defaultValue === \"function\") {\n\t\t\t\titem.defaultValue(el);\n\t\t\t}\n\t\n\t\n\t\t\t// Ensure the onUpdate is a function\n\t\t\tif(typeof item.onUpdate === \"function\") {\n\t\t\t\t// Create a closure around the span of the current action, then execute the onUpdate handler\n\t\t\t\tthis.codemirror.on(\"update\", (function(el, item) {\n\t\t\t\t\treturn function() {\n\t\t\t\t\t\titem.onUpdate(el);\n\t\t\t\t\t};\n\t\t\t\t}(el, item)));\n\t\t\t}\n\t\n\t\n\t\t\t// Append the item to the status bar\n\t\t\tbar.appendChild(el);\n\t\t}\n\t\n\t\n\t\t// Insert the status bar into the DOM\n\t\tvar cmWrapper = this.codemirror.getWrapperElement();\n\t\tcmWrapper.parentNode.insertBefore(bar, cmWrapper.nextSibling);\n\t\treturn bar;\n\t};\n\t\n\t/**\n\t * Get or set the text content.\n\t */\n\tSimpleMDE.prototype.value = function(val) {\n\t\tif(val === undefined) {\n\t\t\treturn this.codemirror.getValue();\n\t\t} else {\n\t\t\tthis.codemirror.getDoc().setValue(val);\n\t\t\treturn this;\n\t\t}\n\t};\n\t\n\t\n\t/**\n\t * Bind static methods for exports.\n\t */\n\tSimpleMDE.toggleBold = toggleBold;\n\tSimpleMDE.toggleItalic = toggleItalic;\n\tSimpleMDE.toggleStrikethrough = toggleStrikethrough;\n\tSimpleMDE.toggleBlockquote = toggleBlockquote;\n\tSimpleMDE.toggleHeadingSmaller = toggleHeadingSmaller;\n\tSimpleMDE.toggleHeadingBigger = toggleHeadingBigger;\n\tSimpleMDE.toggleHeading1 = toggleHeading1;\n\tSimpleMDE.toggleHeading2 = toggleHeading2;\n\tSimpleMDE.toggleHeading3 = toggleHeading3;\n\tSimpleMDE.toggleCodeBlock = toggleCodeBlock;\n\tSimpleMDE.toggleUnorderedList = toggleUnorderedList;\n\tSimpleMDE.toggleOrderedList = toggleOrderedList;\n\tSimpleMDE.cleanBlock = cleanBlock;\n\tSimpleMDE.drawLink = drawLink;\n\tSimpleMDE.drawImage = drawImage;\n\tSimpleMDE.drawTable = drawTable;\n\tSimpleMDE.drawHorizontalRule = drawHorizontalRule;\n\tSimpleMDE.undo = undo;\n\tSimpleMDE.redo = redo;\n\tSimpleMDE.togglePreview = togglePreview;\n\tSimpleMDE.toggleSideBySide = toggleSideBySide;\n\tSimpleMDE.toggleFullScreen = toggleFullScreen;\n\t\n\t/**\n\t * Bind instance methods for exports.\n\t */\n\tSimpleMDE.prototype.toggleBold = function() {\n\t\ttoggleBold(this);\n\t};\n\tSimpleMDE.prototype.toggleItalic = function() {\n\t\ttoggleItalic(this);\n\t};\n\tSimpleMDE.prototype.toggleStrikethrough = function() {\n\t\ttoggleStrikethrough(this);\n\t};\n\tSimpleMDE.prototype.toggleBlockquote = function() {\n\t\ttoggleBlockquote(this);\n\t};\n\tSimpleMDE.prototype.toggleHeadingSmaller = function() {\n\t\ttoggleHeadingSmaller(this);\n\t};\n\tSimpleMDE.prototype.toggleHeadingBigger = function() {\n\t\ttoggleHeadingBigger(this);\n\t};\n\tSimpleMDE.prototype.toggleHeading1 = function() {\n\t\ttoggleHeading1(this);\n\t};\n\tSimpleMDE.prototype.toggleHeading2 = function() {\n\t\ttoggleHeading2(this);\n\t};\n\tSimpleMDE.prototype.toggleHeading3 = function() {\n\t\ttoggleHeading3(this);\n\t};\n\tSimpleMDE.prototype.toggleCodeBlock = function() {\n\t\ttoggleCodeBlock(this);\n\t};\n\tSimpleMDE.prototype.toggleUnorderedList = function() {\n\t\ttoggleUnorderedList(this);\n\t};\n\tSimpleMDE.prototype.toggleOrderedList = function() {\n\t\ttoggleOrderedList(this);\n\t};\n\tSimpleMDE.prototype.cleanBlock = function() {\n\t\tcleanBlock(this);\n\t};\n\tSimpleMDE.prototype.drawLink = function() {\n\t\tdrawLink(this);\n\t};\n\tSimpleMDE.prototype.drawImage = function() {\n\t\tdrawImage(this);\n\t};\n\tSimpleMDE.prototype.drawTable = function() {\n\t\tdrawTable(this);\n\t};\n\tSimpleMDE.prototype.drawHorizontalRule = function() {\n\t\tdrawHorizontalRule(this);\n\t};\n\tSimpleMDE.prototype.undo = function() {\n\t\tundo(this);\n\t};\n\tSimpleMDE.prototype.redo = function() {\n\t\tredo(this);\n\t};\n\tSimpleMDE.prototype.togglePreview = function() {\n\t\ttogglePreview(this);\n\t};\n\tSimpleMDE.prototype.toggleSideBySide = function() {\n\t\ttoggleSideBySide(this);\n\t};\n\tSimpleMDE.prototype.toggleFullScreen = function() {\n\t\ttoggleFullScreen(this);\n\t};\n\t\n\tSimpleMDE.prototype.isPreviewActive = function() {\n\t\tvar cm = this.codemirror;\n\t\tvar wrapper = cm.getWrapperElement();\n\t\tvar preview = wrapper.lastChild;\n\t\n\t\treturn /editor-preview-active/.test(preview.className);\n\t};\n\t\n\tSimpleMDE.prototype.isSideBySideActive = function() {\n\t\tvar cm = this.codemirror;\n\t\tvar wrapper = cm.getWrapperElement();\n\t\tvar preview = wrapper.nextSibling;\n\t\n\t\treturn /editor-preview-active-side/.test(preview.className);\n\t};\n\t\n\tSimpleMDE.prototype.isFullscreenActive = function() {\n\t\tvar cm = this.codemirror;\n\t\n\t\treturn cm.getOption(\"fullScreen\");\n\t};\n\t\n\tSimpleMDE.prototype.getState = function() {\n\t\tvar cm = this.codemirror;\n\t\n\t\treturn getState(cm);\n\t};\n\t\n\tSimpleMDE.prototype.toTextArea = function() {\n\t\tvar cm = this.codemirror;\n\t\tvar wrapper = cm.getWrapperElement();\n\t\n\t\tif(wrapper.parentNode) {\n\t\t\tif(this.gui.toolbar) {\n\t\t\t\twrapper.parentNode.removeChild(this.gui.toolbar);\n\t\t\t}\n\t\t\tif(this.gui.statusbar) {\n\t\t\t\twrapper.parentNode.removeChild(this.gui.statusbar);\n\t\t\t}\n\t\t\tif(this.gui.sideBySide) {\n\t\t\t\twrapper.parentNode.removeChild(this.gui.sideBySide);\n\t\t\t}\n\t\t}\n\t\n\t\tcm.toTextArea();\n\t\n\t\tif(this.autosaveTimeoutId) {\n\t\t\tclearTimeout(this.autosaveTimeoutId);\n\t\t\tthis.autosaveTimeoutId = undefined;\n\t\t\tthis.clearAutosavedValue();\n\t\t}\n\t};\n\t\n\tmodule.exports = SimpleMDE;\n\n/***/ },\n/* 661 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (root) {\n\t// lazy require symbols table\n\tvar _symbols, removelist;\n\tfunction symbols(code) {\n\t if (_symbols) return _symbols[code];\n\t _symbols = __webpack_require__(669);\n\t removelist = ['sign','cross','of','symbol','staff','hand','black','white']\n\t .map(function (word) {return new RegExp(word, 'gi')});\n\t return _symbols[code];\n\t}\n\t\n\tfunction slug(string, opts) {\n\t string = string.toString();\n\t if ('string' === typeof opts)\n\t opts = {replacement:opts};\n\t opts = opts || {};\n\t opts.mode = opts.mode || slug.defaults.mode;\n\t var defaults = slug.defaults.modes[opts.mode];\n\t var keys = ['replacement','multicharmap','charmap','remove','lower'];\n\t for (var key, i = 0, l = keys.length; i < l; i++) { key = keys[i];\n\t opts[key] = (key in opts) ? opts[key] : defaults[key];\n\t }\n\t if ('undefined' === typeof opts.symbols)\n\t opts.symbols = defaults.symbols;\n\t\n\t var lengths = [];\n\t for (var key in opts.multicharmap) {\n\t if (!opts.multicharmap.hasOwnProperty(key))\n\t continue;\n\t\n\t var len = key.length;\n\t if (lengths.indexOf(len) === -1)\n\t lengths.push(len);\n\t }\n\t\n\t var code, unicode, result = \"\";\n\t for (var char, i = 0, l = string.length; i < l; i++) { char = string[i];\n\t if (!lengths.some(function (len) {\n\t var str = string.substr(i, len);\n\t if (opts.multicharmap[str]) {\n\t i += len - 1;\n\t char = opts.multicharmap[str];\n\t return true;\n\t } else return false;\n\t })) {\n\t if (opts.charmap[char]) {\n\t char = opts.charmap[char];\n\t code = char.charCodeAt(0);\n\t } else {\n\t code = string.charCodeAt(i);\n\t }\n\t if (opts.symbols && (unicode = symbols(code))) {\n\t char = unicode.name.toLowerCase();\n\t for(var j = 0, rl = removelist.length; j < rl; j++) {\n\t char = char.replace(removelist[j], '');\n\t }\n\t char = char.replace(/^\\s+|\\s+$/g, '');\n\t }\n\t }\n\t char = char.replace(/[^\\w\\s\\-\\.\\_~]/g, ''); // allowed\n\t if (opts.remove) char = char.replace(opts.remove, ''); // add flavour\n\t result += char;\n\t }\n\t result = result.replace(/^\\s+|\\s+$/g, ''); // trim leading/trailing spaces\n\t result = result.replace(/[-\\s]+/g, opts.replacement); // convert spaces\n\t result = result.replace(opts.replacement+\"$\",''); // remove trailing separator\n\t if (opts.lower)\n\t result = result.toLowerCase();\n\t return result;\n\t};\n\t\n\tslug.defaults = {\n\t mode: 'pretty',\n\t};\n\t\n\tslug.multicharmap = slug.defaults.multicharmap = {\n\t '<3': 'love', '&&': 'and', '||': 'or', 'w/': 'with',\n\t};\n\t\n\t// https://code.djangoproject.com/browser/django/trunk/django/contrib/admin/media/js/urlify.js\n\tslug.charmap = slug.defaults.charmap = {\n\t // latin\n\t 'À': 'A', 'Á': 'A', 'Â': 'A', 'Ã': 'A', 'Ä': 'A', 'Å': 'A', 'Æ': 'AE',\n\t 'Ç': 'C', 'È': 'E', 'É': 'E', 'Ê': 'E', 'Ë': 'E', 'Ì': 'I', 'Í': 'I',\n\t 'Î': 'I', 'Ï': 'I', 'Ð': 'D', 'Ñ': 'N', 'Ò': 'O', 'Ó': 'O', 'Ô': 'O',\n\t 'Õ': 'O', 'Ö': 'O', 'Ő': 'O', 'Ø': 'O', 'Ù': 'U', 'Ú': 'U', 'Û': 'U',\n\t 'Ü': 'U', 'Ű': 'U', 'Ý': 'Y', 'Þ': 'TH', 'ß': 'ss', 'à':'a', 'á':'a',\n\t 'â': 'a', 'ã': 'a', 'ä': 'a', 'å': 'a', 'æ': 'ae', 'ç': 'c', 'è': 'e',\n\t 'é': 'e', 'ê': 'e', 'ë': 'e', 'ì': 'i', 'í': 'i', 'î': 'i', 'ï': 'i',\n\t 'ð': 'd', 'ñ': 'n', 'ò': 'o', 'ó': 'o', 'ô': 'o', 'õ': 'o', 'ö': 'o',\n\t 'ő': 'o', 'ø': 'o', 'ù': 'u', 'ú': 'u', 'û': 'u', 'ü': 'u', 'ű': 'u',\n\t 'ý': 'y', 'þ': 'th', 'ÿ': 'y', 'ẞ': 'SS',\n\t // greek\n\t 'α':'a', 'β':'b', 'γ':'g', 'δ':'d', 'ε':'e', 'ζ':'z', 'η':'h', 'θ':'8',\n\t 'ι':'i', 'κ':'k', 'λ':'l', 'μ':'m', 'ν':'n', 'ξ':'3', 'ο':'o', 'π':'p',\n\t 'ρ':'r', 'σ':'s', 'τ':'t', 'υ':'y', 'φ':'f', 'χ':'x', 'ψ':'ps', 'ω':'w',\n\t 'ά':'a', 'έ':'e', 'ί':'i', 'ό':'o', 'ύ':'y', 'ή':'h', 'ώ':'w', 'ς':'s',\n\t 'ϊ':'i', 'ΰ':'y', 'ϋ':'y', 'ΐ':'i',\n\t 'Α':'A', 'Β':'B', 'Γ':'G', 'Δ':'D', 'Ε':'E', 'Ζ':'Z', 'Η':'H', 'Θ':'8',\n\t 'Ι':'I', 'Κ':'K', 'Λ':'L', 'Μ':'M', 'Ν':'N', 'Ξ':'3', 'Ο':'O', 'Π':'P',\n\t 'Ρ':'R', 'Σ':'S', 'Τ':'T', 'Υ':'Y', 'Φ':'F', 'Χ':'X', 'Ψ':'PS', 'Ω':'W',\n\t 'Ά':'A', 'Έ':'E', 'Ί':'I', 'Ό':'O', 'Ύ':'Y', 'Ή':'H', 'Ώ':'W', 'Ϊ':'I',\n\t 'Ϋ':'Y',\n\t // turkish\n\t 'ş':'s', 'Ş':'S', 'ı':'i', 'İ':'I',\n\t 'ğ':'g', 'Ğ':'G',\n\t // russian\n\t 'а':'a', 'б':'b', 'в':'v', 'г':'g', 'д':'d', 'е':'e', 'ё':'yo', 'ж':'zh',\n\t 'з':'z', 'и':'i', 'й':'j', 'к':'k', 'л':'l', 'м':'m', 'н':'n', 'о':'o',\n\t 'п':'p', 'р':'r', 'с':'s', 'т':'t', 'у':'u', 'ф':'f', 'х':'h', 'ц':'c',\n\t 'ч':'ch', 'ш':'sh', 'щ':'sh', 'ъ':'u', 'ы':'y', 'ь':'', 'э':'e', 'ю':'yu',\n\t 'я':'ya',\n\t 'А':'A', 'Б':'B', 'В':'V', 'Г':'G', 'Д':'D', 'Е':'E', 'Ё':'Yo', 'Ж':'Zh',\n\t 'З':'Z', 'И':'I', 'Й':'J', 'К':'K', 'Л':'L', 'М':'M', 'Н':'N', 'О':'O',\n\t 'П':'P', 'Р':'R', 'С':'S', 'Т':'T', 'У':'U', 'Ф':'F', 'Х':'H', 'Ц':'C',\n\t 'Ч':'Ch', 'Ш':'Sh', 'Щ':'Sh', 'Ъ':'U', 'Ы':'Y', 'Ь':'', 'Э':'E', 'Ю':'Yu',\n\t 'Я':'Ya',\n\t // ukranian\n\t 'Є':'Ye', 'І':'I', 'Ї':'Yi', 'Ґ':'G', 'є':'ye', 'і':'i', 'ї':'yi', 'ґ':'g',\n\t // czech\n\t 'č':'c', 'ď':'d', 'ě':'e', 'ň': 'n', 'ř':'r', 'š':'s', 'ť':'t', 'ů':'u',\n\t 'ž':'z', 'Č':'C', 'Ď':'D', 'Ě':'E', 'Ň': 'N', 'Ř':'R', 'Š':'S', 'Ť':'T',\n\t 'Ů':'U', 'Ž':'Z',\n\t // polish\n\t 'ą':'a', 'ć':'c', 'ę':'e', 'ł':'l', 'ń':'n', 'ś':'s', 'ź':'z',\n\t 'ż':'z', 'Ą':'A', 'Ć':'C', 'Ę':'E', 'Ł':'L', 'Ń':'N', 'Ś':'S',\n\t 'Ź':'Z', 'Ż':'Z',\n\t // latvian\n\t 'ā':'a', 'ē':'e', 'ģ':'g', 'ī':'i', 'ķ':'k', 'ļ':'l', 'ņ':'n',\n\t 'ū':'u', 'Ā':'A', 'Ē':'E', 'Ģ':'G', 'Ī':'I',\n\t 'Ķ':'K', 'Ļ':'L', 'Ņ':'N', 'Ū':'U',\n\t // lithuanian\n\t 'ė':'e', 'į':'i', 'ų':'u', 'Ė': 'E', 'Į': 'I', 'Ų':'U',\n\t // romanian\n\t 'ț':'t', 'Ț':'T', 'ţ':'t', 'Ţ':'T', 'ș':'s', 'Ș':'S', 'ă':'a', 'Ă':'A',\n\t // vietnamese\n\t 'Ạ': 'A', 'Ả': 'A', 'Ầ': 'A', 'Ấ': 'A', 'Ậ': 'A', 'Ẩ': 'A', 'Ẫ': 'A',\n\t 'Ằ': 'A', 'Ắ': 'A', 'Ặ': 'A', 'Ẳ': 'A', 'Ẵ': 'A', 'Ẹ': 'E', 'Ẻ': 'E',\n\t 'Ẽ': 'E', 'Ề': 'E', 'Ế': 'E', 'Ệ': 'E', 'Ể': 'E', 'Ễ': 'E', 'Ị': 'I',\n\t 'Ỉ': 'I', 'Ĩ': 'I', 'Ọ': 'O', 'Ỏ': 'O', 'Ồ': 'O', 'Ố': 'O', 'Ộ': 'O',\n\t 'Ổ': 'O', 'Ỗ': 'O', 'Ơ': 'O', 'Ờ': 'O', 'Ớ': 'O', 'Ợ': 'O', 'Ở': 'O',\n\t 'Ỡ': 'O', 'Ụ': 'U', 'Ủ': 'U', 'Ũ': 'U', 'Ư': 'U', 'Ừ': 'U', 'Ứ': 'U',\n\t 'Ự': 'U', 'Ử': 'U', 'Ữ': 'U', 'Ỳ': 'Y', 'Ỵ': 'Y', 'Ỷ': 'Y', 'Ỹ': 'Y',\n\t 'Đ': 'D', 'ạ': 'a', 'ả': 'a', 'ầ': 'a', 'ấ': 'a', 'ậ': 'a', 'ẩ': 'a',\n\t 'ẫ': 'a', 'ằ': 'a', 'ắ': 'a', 'ặ': 'a', 'ẳ': 'a', 'ẵ': 'a', 'ẹ': 'e',\n\t 'ẻ': 'e', 'ẽ': 'e', 'ề': 'e', 'ế': 'e', 'ệ': 'e', 'ể': 'e', 'ễ': 'e',\n\t 'ị': 'i', 'ỉ': 'i', 'ĩ': 'i', 'ọ': 'o', 'ỏ': 'o', 'ồ': 'o', 'ố': 'o',\n\t 'ộ': 'o', 'ổ': 'o', 'ỗ': 'o', 'ơ': 'o', 'ờ': 'o', 'ớ': 'o', 'ợ': 'o',\n\t 'ở': 'o', 'ỡ': 'o', 'ụ': 'u', 'ủ': 'u', 'ũ': 'u', 'ư': 'u', 'ừ': 'u',\n\t 'ứ': 'u', 'ự': 'u', 'ử': 'u', 'ữ': 'u', 'ỳ': 'y', 'ỵ': 'y', 'ỷ': 'y',\n\t 'ỹ': 'y', 'đ': 'd',\n\t // currency\n\t '€': 'euro', '₢': 'cruzeiro', '₣': 'french franc', '£': 'pound',\n\t '₤': 'lira', '₥': 'mill', '₦': 'naira', '₧': 'peseta', '₨': 'rupee',\n\t '₩': 'won', '₪': 'new shequel', '₫': 'dong', '₭': 'kip', '₮': 'tugrik',\n\t '₯': 'drachma', '₰': 'penny', '₱': 'peso', '₲': 'guarani', '₳': 'austral',\n\t '₴': 'hryvnia', '₵': 'cedi', '¢': 'cent', '¥': 'yen', '元': 'yuan',\n\t '円': 'yen', '﷼': 'rial', '₠': 'ecu', '¤': 'currency', '฿': 'baht',\n\t \"$\": 'dollar', '₹': 'indian rupee',\n\t // symbols\n\t '©':'(c)', 'œ': 'oe', 'Œ': 'OE', '∑': 'sum', '®': '(r)', '†': '+',\n\t '“': '\"', '”': '\"', '‘': \"'\", '’': \"'\", '∂': 'd', 'ƒ': 'f', '™': 'tm',\n\t '℠': 'sm', '…': '...', '˚': 'o', 'º': 'o', 'ª': 'a', '•': '*',\n\t '∆': 'delta', '∞': 'infinity', '♥': 'love', '&': 'and', '|': 'or',\n\t '<': 'less', '>': 'greater',\n\t};\n\t\n\tslug.defaults.modes = {\n\t rfc3986: {\n\t replacement: '-',\n\t symbols: true,\n\t remove: null,\n\t lower: true,\n\t charmap: slug.defaults.charmap,\n\t multicharmap: slug.defaults.multicharmap,\n\t },\n\t pretty: {\n\t replacement: '-',\n\t symbols: true,\n\t remove: /[.]/g,\n\t lower: false,\n\t charmap: slug.defaults.charmap,\n\t multicharmap: slug.defaults.multicharmap,\n\t },\n\t};\n\t\n\t// Be compatible with different module systems\n\t\n\tif (true) { // AMD\n\t // dont load symbols table in the browser\n\t for (var key in slug.defaults.modes) {\n\t if (!slug.defaults.modes.hasOwnProperty(key))\n\t continue;\n\t\n\t slug.defaults.modes[key].symbols = false;\n\t }\n\t !(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_RESULT__ = function () {return slug}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t} else if (typeof module !== 'undefined' && module.exports) { // CommonJS\n\t symbols(); // preload symbols table\n\t module.exports = slug;\n\t} else { // Script tag\n\t // dont load symbols table in the browser\n\t for (var key in slug.defaults.modes) {\n\t if (!slug.defaults.modes.hasOwnProperty(key))\n\t continue;\n\t\n\t slug.defaults.modes[key].symbols = false;\n\t }\n\t root.slug = slug;\n\t}\n\t\n\t}(this));\n\n\n/***/ },\n/* 662 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_RESULT__;/**!\n\t * Sortable\n\t * @author\tRubaXa <trash@rubaxa.org>\n\t * @license MIT\n\t */\n\t\n\t\n\t(function (factory) {\n\t\t\"use strict\";\n\t\n\t\tif (true) {\n\t\t\t!(__WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.call(exports, __webpack_require__, exports, module)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t\t}\n\t\telse if (typeof module != \"undefined\" && typeof module.exports != \"undefined\") {\n\t\t\tmodule.exports = factory();\n\t\t}\n\t\telse if (typeof Package !== \"undefined\") {\n\t\t\tSortable = factory(); // export for Meteor.js\n\t\t}\n\t\telse {\n\t\t\t/* jshint sub:true */\n\t\t\twindow[\"Sortable\"] = factory();\n\t\t}\n\t})(function () {\n\t\t\"use strict\";\n\t\n\t\tvar dragEl,\n\t\t\tparentEl,\n\t\t\tghostEl,\n\t\t\tcloneEl,\n\t\t\trootEl,\n\t\t\tnextEl,\n\t\n\t\t\tscrollEl,\n\t\t\tscrollParentEl,\n\t\n\t\t\tlastEl,\n\t\t\tlastCSS,\n\t\t\tlastParentCSS,\n\t\n\t\t\toldIndex,\n\t\t\tnewIndex,\n\t\n\t\t\tactiveGroup,\n\t\t\tautoScroll = {},\n\t\n\t\t\ttapEvt,\n\t\t\ttouchEvt,\n\t\n\t\t\tmoved,\n\t\n\t\t\t/** @const */\n\t\t\tRSPACE = /\\s+/g,\n\t\n\t\t\texpando = 'Sortable' + (new Date).getTime(),\n\t\n\t\t\twin = window,\n\t\t\tdocument = win.document,\n\t\t\tparseInt = win.parseInt,\n\t\n\t\t\tsupportDraggable = !!('draggable' in document.createElement('div')),\n\t\t\tsupportCssPointerEvents = (function (el) {\n\t\t\t\tel = document.createElement('x');\n\t\t\t\tel.style.cssText = 'pointer-events:auto';\n\t\t\t\treturn el.style.pointerEvents === 'auto';\n\t\t\t})(),\n\t\n\t\t\t_silent = false,\n\t\n\t\t\tabs = Math.abs,\n\t\t\tslice = [].slice,\n\t\n\t\t\ttouchDragOverListeners = [],\n\t\n\t\t\t_autoScroll = _throttle(function (/**Event*/evt, /**Object*/options, /**HTMLElement*/rootEl) {\n\t\t\t\t// Bug: https://bugzilla.mozilla.org/show_bug.cgi?id=505521\n\t\t\t\tif (rootEl && options.scroll) {\n\t\t\t\t\tvar el,\n\t\t\t\t\t\trect,\n\t\t\t\t\t\tsens = options.scrollSensitivity,\n\t\t\t\t\t\tspeed = options.scrollSpeed,\n\t\n\t\t\t\t\t\tx = evt.clientX,\n\t\t\t\t\t\ty = evt.clientY,\n\t\n\t\t\t\t\t\twinWidth = window.innerWidth,\n\t\t\t\t\t\twinHeight = window.innerHeight,\n\t\n\t\t\t\t\t\tvx,\n\t\t\t\t\t\tvy\n\t\t\t\t\t;\n\t\n\t\t\t\t\t// Delect scrollEl\n\t\t\t\t\tif (scrollParentEl !== rootEl) {\n\t\t\t\t\t\tscrollEl = options.scroll;\n\t\t\t\t\t\tscrollParentEl = rootEl;\n\t\n\t\t\t\t\t\tif (scrollEl === true) {\n\t\t\t\t\t\t\tscrollEl = rootEl;\n\t\n\t\t\t\t\t\t\tdo {\n\t\t\t\t\t\t\t\tif ((scrollEl.offsetWidth < scrollEl.scrollWidth) ||\n\t\t\t\t\t\t\t\t\t(scrollEl.offsetHeight < scrollEl.scrollHeight)\n\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t/* jshint boss:true */\n\t\t\t\t\t\t\t} while (scrollEl = scrollEl.parentNode);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\n\t\t\t\t\tif (scrollEl) {\n\t\t\t\t\t\tel = scrollEl;\n\t\t\t\t\t\trect = scrollEl.getBoundingClientRect();\n\t\t\t\t\t\tvx = (abs(rect.right - x) <= sens) - (abs(rect.left - x) <= sens);\n\t\t\t\t\t\tvy = (abs(rect.bottom - y) <= sens) - (abs(rect.top - y) <= sens);\n\t\t\t\t\t}\n\t\n\t\n\t\t\t\t\tif (!(vx || vy)) {\n\t\t\t\t\t\tvx = (winWidth - x <= sens) - (x <= sens);\n\t\t\t\t\t\tvy = (winHeight - y <= sens) - (y <= sens);\n\t\n\t\t\t\t\t\t/* jshint expr:true */\n\t\t\t\t\t\t(vx || vy) && (el = win);\n\t\t\t\t\t}\n\t\n\t\n\t\t\t\t\tif (autoScroll.vx !== vx || autoScroll.vy !== vy || autoScroll.el !== el) {\n\t\t\t\t\t\tautoScroll.el = el;\n\t\t\t\t\t\tautoScroll.vx = vx;\n\t\t\t\t\t\tautoScroll.vy = vy;\n\t\n\t\t\t\t\t\tclearInterval(autoScroll.pid);\n\t\n\t\t\t\t\t\tif (el) {\n\t\t\t\t\t\t\tautoScroll.pid = setInterval(function () {\n\t\t\t\t\t\t\t\tif (el === win) {\n\t\t\t\t\t\t\t\t\twin.scrollTo(win.pageXOffset + vx * speed, win.pageYOffset + vy * speed);\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tvy && (el.scrollTop += vy * speed);\n\t\t\t\t\t\t\t\t\tvx && (el.scrollLeft += vx * speed);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}, 24);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}, 30),\n\t\n\t\t\t_prepareGroup = function (options) {\n\t\t\t\tvar group = options.group;\n\t\n\t\t\t\tif (!group || typeof group != 'object') {\n\t\t\t\t\tgroup = options.group = {name: group};\n\t\t\t\t}\n\t\n\t\t\t\t['pull', 'put'].forEach(function (key) {\n\t\t\t\t\tif (!(key in group)) {\n\t\t\t\t\t\tgroup[key] = true;\n\t\t\t\t\t}\n\t\t\t\t});\n\t\n\t\t\t\toptions.groups = ' ' + group.name + (group.put.join ? ' ' + group.put.join(' ') : '') + ' ';\n\t\t\t}\n\t\t;\n\t\n\t\n\t\n\t\t/**\n\t\t * @class Sortable\n\t\t * @param {HTMLElement} el\n\t\t * @param {Object} [options]\n\t\t */\n\t\tfunction Sortable(el, options) {\n\t\t\tif (!(el && el.nodeType && el.nodeType === 1)) {\n\t\t\t\tthrow 'Sortable: `el` must be HTMLElement, and not ' + {}.toString.call(el);\n\t\t\t}\n\t\n\t\t\tthis.el = el; // root element\n\t\t\tthis.options = options = _extend({}, options);\n\t\n\t\n\t\t\t// Export instance\n\t\t\tel[expando] = this;\n\t\n\t\n\t\t\t// Default options\n\t\t\tvar defaults = {\n\t\t\t\tgroup: Math.random(),\n\t\t\t\tsort: true,\n\t\t\t\tdisabled: false,\n\t\t\t\tstore: null,\n\t\t\t\thandle: null,\n\t\t\t\tscroll: true,\n\t\t\t\tscrollSensitivity: 30,\n\t\t\t\tscrollSpeed: 10,\n\t\t\t\tdraggable: /[uo]l/i.test(el.nodeName) ? 'li' : '>*',\n\t\t\t\tghostClass: 'sortable-ghost',\n\t\t\t\tchosenClass: 'sortable-chosen',\n\t\t\t\tignore: 'a, img',\n\t\t\t\tfilter: null,\n\t\t\t\tanimation: 0,\n\t\t\t\tsetData: function (dataTransfer, dragEl) {\n\t\t\t\t\tdataTransfer.setData('Text', dragEl.textContent);\n\t\t\t\t},\n\t\t\t\tdropBubble: false,\n\t\t\t\tdragoverBubble: false,\n\t\t\t\tdataIdAttr: 'data-id',\n\t\t\t\tdelay: 0,\n\t\t\t\tforceFallback: false,\n\t\t\t\tfallbackClass: 'sortable-fallback',\n\t\t\t\tfallbackOnBody: false\n\t\t\t};\n\t\n\t\n\t\t\t// Set default options\n\t\t\tfor (var name in defaults) {\n\t\t\t\t!(name in options) && (options[name] = defaults[name]);\n\t\t\t}\n\t\n\t\t\t_prepareGroup(options);\n\t\n\t\t\t// Bind all private methods\n\t\t\tfor (var fn in this) {\n\t\t\t\tif (fn.charAt(0) === '_') {\n\t\t\t\t\tthis[fn] = this[fn].bind(this);\n\t\t\t\t}\n\t\t\t}\n\t\n\t\t\t// Setup drag mode\n\t\t\tthis.nativeDraggable = options.forceFallback ? false : supportDraggable;\n\t\n\t\t\t// Bind events\n\t\t\t_on(el, 'mousedown', this._onTapStart);\n\t\t\t_on(el, 'touchstart', this._onTapStart);\n\t\n\t\t\tif (this.nativeDraggable) {\n\t\t\t\t_on(el, 'dragover', this);\n\t\t\t\t_on(el, 'dragenter', this);\n\t\t\t}\n\t\n\t\t\ttouchDragOverListeners.push(this._onDragOver);\n\t\n\t\t\t// Restore sorting\n\t\t\toptions.store && this.sort(options.store.get(this));\n\t\t}\n\t\n\t\n\t\tSortable.prototype = /** @lends Sortable.prototype */ {\n\t\t\tconstructor: Sortable,\n\t\n\t\t\t_onTapStart: function (/** Event|TouchEvent */evt) {\n\t\t\t\tvar _this = this,\n\t\t\t\t\tel = this.el,\n\t\t\t\t\toptions = this.options,\n\t\t\t\t\ttype = evt.type,\n\t\t\t\t\ttouch = evt.touches && evt.touches[0],\n\t\t\t\t\ttarget = (touch || evt).target,\n\t\t\t\t\toriginalTarget = target,\n\t\t\t\t\tfilter = options.filter;\n\t\n\t\n\t\t\t\tif (type === 'mousedown' && evt.button !== 0 || options.disabled) {\n\t\t\t\t\treturn; // only left button or enabled\n\t\t\t\t}\n\t\n\t\t\t\ttarget = _closest(target, options.draggable, el);\n\t\n\t\t\t\tif (!target) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\n\t\t\t\t// get the index of the dragged element within its parent\n\t\t\t\toldIndex = _index(target);\n\t\n\t\t\t\t// Check filter\n\t\t\t\tif (typeof filter === 'function') {\n\t\t\t\t\tif (filter.call(this, evt, target, this)) {\n\t\t\t\t\t\t_dispatchEvent(_this, originalTarget, 'filter', target, el, oldIndex);\n\t\t\t\t\t\tevt.preventDefault();\n\t\t\t\t\t\treturn; // cancel dnd\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse if (filter) {\n\t\t\t\t\tfilter = filter.split(',').some(function (criteria) {\n\t\t\t\t\t\tcriteria = _closest(originalTarget, criteria.trim(), el);\n\t\n\t\t\t\t\t\tif (criteria) {\n\t\t\t\t\t\t\t_dispatchEvent(_this, criteria, 'filter', target, el, oldIndex);\n\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\n\t\t\t\t\tif (filter) {\n\t\t\t\t\t\tevt.preventDefault();\n\t\t\t\t\t\treturn; // cancel dnd\n\t\t\t\t\t}\n\t\t\t\t}\n\t\n\t\n\t\t\t\tif (options.handle && !_closest(originalTarget, options.handle, el)) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\n\t\n\t\t\t\t// Prepare `dragstart`\n\t\t\t\tthis._prepareDragStart(evt, touch, target);\n\t\t\t},\n\t\n\t\t\t_prepareDragStart: function (/** Event */evt, /** Touch */touch, /** HTMLElement */target) {\n\t\t\t\tvar _this = this,\n\t\t\t\t\tel = _this.el,\n\t\t\t\t\toptions = _this.options,\n\t\t\t\t\townerDocument = el.ownerDocument,\n\t\t\t\t\tdragStartFn;\n\t\n\t\t\t\tif (target && !dragEl && (target.parentNode === el)) {\n\t\t\t\t\ttapEvt = evt;\n\t\n\t\t\t\t\trootEl = el;\n\t\t\t\t\tdragEl = target;\n\t\t\t\t\tparentEl = dragEl.parentNode;\n\t\t\t\t\tnextEl = dragEl.nextSibling;\n\t\t\t\t\tactiveGroup = options.group;\n\t\n\t\t\t\t\tdragStartFn = function () {\n\t\t\t\t\t\t// Delayed drag has been triggered\n\t\t\t\t\t\t// we can re-enable the events: touchmove/mousemove\n\t\t\t\t\t\t_this._disableDelayedDrag();\n\t\n\t\t\t\t\t\t// Make the element draggable\n\t\t\t\t\t\tdragEl.draggable = true;\n\t\n\t\t\t\t\t\t// Chosen item\n\t\t\t\t\t\t_toggleClass(dragEl, _this.options.chosenClass, true);\n\t\n\t\t\t\t\t\t// Bind the events: dragstart/dragend\n\t\t\t\t\t\t_this._triggerDragStart(touch);\n\t\t\t\t\t};\n\t\n\t\t\t\t\t// Disable \"draggable\"\n\t\t\t\t\toptions.ignore.split(',').forEach(function (criteria) {\n\t\t\t\t\t\t_find(dragEl, criteria.trim(), _disableDraggable);\n\t\t\t\t\t});\n\t\n\t\t\t\t\t_on(ownerDocument, 'mouseup', _this._onDrop);\n\t\t\t\t\t_on(ownerDocument, 'touchend', _this._onDrop);\n\t\t\t\t\t_on(ownerDocument, 'touchcancel', _this._onDrop);\n\t\n\t\t\t\t\tif (options.delay) {\n\t\t\t\t\t\t// If the user moves the pointer or let go the click or touch\n\t\t\t\t\t\t// before the delay has been reached:\n\t\t\t\t\t\t// disable the delayed drag\n\t\t\t\t\t\t_on(ownerDocument, 'mouseup', _this._disableDelayedDrag);\n\t\t\t\t\t\t_on(ownerDocument, 'touchend', _this._disableDelayedDrag);\n\t\t\t\t\t\t_on(ownerDocument, 'touchcancel', _this._disableDelayedDrag);\n\t\t\t\t\t\t_on(ownerDocument, 'mousemove', _this._disableDelayedDrag);\n\t\t\t\t\t\t_on(ownerDocument, 'touchmove', _this._disableDelayedDrag);\n\t\n\t\t\t\t\t\t_this._dragStartTimer = setTimeout(dragStartFn, options.delay);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tdragStartFn();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\n\t\t\t_disableDelayedDrag: function () {\n\t\t\t\tvar ownerDocument = this.el.ownerDocument;\n\t\n\t\t\t\tclearTimeout(this._dragStartTimer);\n\t\t\t\t_off(ownerDocument, 'mouseup', this._disableDelayedDrag);\n\t\t\t\t_off(ownerDocument, 'touchend', this._disableDelayedDrag);\n\t\t\t\t_off(ownerDocument, 'touchcancel', this._disableDelayedDrag);\n\t\t\t\t_off(ownerDocument, 'mousemove', this._disableDelayedDrag);\n\t\t\t\t_off(ownerDocument, 'touchmove', this._disableDelayedDrag);\n\t\t\t},\n\t\n\t\t\t_triggerDragStart: function (/** Touch */touch) {\n\t\t\t\tif (touch) {\n\t\t\t\t\t// Touch device support\n\t\t\t\t\ttapEvt = {\n\t\t\t\t\t\ttarget: dragEl,\n\t\t\t\t\t\tclientX: touch.clientX,\n\t\t\t\t\t\tclientY: touch.clientY\n\t\t\t\t\t};\n\t\n\t\t\t\t\tthis._onDragStart(tapEvt, 'touch');\n\t\t\t\t}\n\t\t\t\telse if (!this.nativeDraggable) {\n\t\t\t\t\tthis._onDragStart(tapEvt, true);\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\t_on(dragEl, 'dragend', this);\n\t\t\t\t\t_on(rootEl, 'dragstart', this._onDragStart);\n\t\t\t\t}\n\t\n\t\t\t\ttry {\n\t\t\t\t\tif (document.selection) {\n\t\t\t\t\t\tdocument.selection.empty();\n\t\t\t\t\t} else {\n\t\t\t\t\t\twindow.getSelection().removeAllRanges();\n\t\t\t\t\t}\n\t\t\t\t} catch (err) {\n\t\t\t\t}\n\t\t\t},\n\t\n\t\t\t_dragStarted: function () {\n\t\t\t\tif (rootEl && dragEl) {\n\t\t\t\t\t// Apply effect\n\t\t\t\t\t_toggleClass(dragEl, this.options.ghostClass, true);\n\t\n\t\t\t\t\tSortable.active = this;\n\t\n\t\t\t\t\t// Drag start event\n\t\t\t\t\t_dispatchEvent(this, rootEl, 'start', dragEl, rootEl, oldIndex);\n\t\t\t\t}\n\t\t\t},\n\t\n\t\t\t_emulateDragOver: function () {\n\t\t\t\tif (touchEvt) {\n\t\t\t\t\tif (this._lastX === touchEvt.clientX && this._lastY === touchEvt.clientY) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\n\t\t\t\t\tthis._lastX = touchEvt.clientX;\n\t\t\t\t\tthis._lastY = touchEvt.clientY;\n\t\n\t\t\t\t\tif (!supportCssPointerEvents) {\n\t\t\t\t\t\t_css(ghostEl, 'display', 'none');\n\t\t\t\t\t}\n\t\n\t\t\t\t\tvar target = document.elementFromPoint(touchEvt.clientX, touchEvt.clientY),\n\t\t\t\t\t\tparent = target,\n\t\t\t\t\t\tgroupName = ' ' + this.options.group.name + '',\n\t\t\t\t\t\ti = touchDragOverListeners.length;\n\t\n\t\t\t\t\tif (parent) {\n\t\t\t\t\t\tdo {\n\t\t\t\t\t\t\tif (parent[expando] && parent[expando].options.groups.indexOf(groupName) > -1) {\n\t\t\t\t\t\t\t\twhile (i--) {\n\t\t\t\t\t\t\t\t\ttouchDragOverListeners[i]({\n\t\t\t\t\t\t\t\t\t\tclientX: touchEvt.clientX,\n\t\t\t\t\t\t\t\t\t\tclientY: touchEvt.clientY,\n\t\t\t\t\t\t\t\t\t\ttarget: target,\n\t\t\t\t\t\t\t\t\t\trootEl: parent\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t\ttarget = parent; // store last element\n\t\t\t\t\t\t}\n\t\t\t\t\t\t/* jshint boss:true */\n\t\t\t\t\t\twhile (parent = parent.parentNode);\n\t\t\t\t\t}\n\t\n\t\t\t\t\tif (!supportCssPointerEvents) {\n\t\t\t\t\t\t_css(ghostEl, 'display', '');\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\n\t\n\t\t\t_onTouchMove: function (/**TouchEvent*/evt) {\n\t\t\t\tif (tapEvt) {\n\t\t\t\t\t// only set the status to dragging, when we are actually dragging\n\t\t\t\t\tif (!Sortable.active) {\n\t\t\t\t\t\tthis._dragStarted();\n\t\t\t\t\t}\n\t\n\t\t\t\t\t// as well as creating the ghost element on the document body\n\t\t\t\t\tthis._appendGhost();\n\t\n\t\t\t\t\tvar touch = evt.touches ? evt.touches[0] : evt,\n\t\t\t\t\t\tdx = touch.clientX - tapEvt.clientX,\n\t\t\t\t\t\tdy = touch.clientY - tapEvt.clientY,\n\t\t\t\t\t\ttranslate3d = evt.touches ? 'translate3d(' + dx + 'px,' + dy + 'px,0)' : 'translate(' + dx + 'px,' + dy + 'px)';\n\t\n\t\t\t\t\tmoved = true;\n\t\t\t\t\ttouchEvt = touch;\n\t\n\t\t\t\t\t_css(ghostEl, 'webkitTransform', translate3d);\n\t\t\t\t\t_css(ghostEl, 'mozTransform', translate3d);\n\t\t\t\t\t_css(ghostEl, 'msTransform', translate3d);\n\t\t\t\t\t_css(ghostEl, 'transform', translate3d);\n\t\n\t\t\t\t\tevt.preventDefault();\n\t\t\t\t}\n\t\t\t},\n\t\n\t\t\t_appendGhost: function () {\n\t\t\t\tif (!ghostEl) {\n\t\t\t\t\tvar rect = dragEl.getBoundingClientRect(),\n\t\t\t\t\t\tcss = _css(dragEl),\n\t\t\t\t\t\toptions = this.options,\n\t\t\t\t\t\tghostRect;\n\t\n\t\t\t\t\tghostEl = dragEl.cloneNode(true);\n\t\n\t\t\t\t\t_toggleClass(ghostEl, options.ghostClass, false);\n\t\t\t\t\t_toggleClass(ghostEl, options.fallbackClass, true);\n\t\n\t\t\t\t\t_css(ghostEl, 'top', rect.top - parseInt(css.marginTop, 10));\n\t\t\t\t\t_css(ghostEl, 'left', rect.left - parseInt(css.marginLeft, 10));\n\t\t\t\t\t_css(ghostEl, 'width', rect.width);\n\t\t\t\t\t_css(ghostEl, 'height', rect.height);\n\t\t\t\t\t_css(ghostEl, 'opacity', '0.8');\n\t\t\t\t\t_css(ghostEl, 'position', 'fixed');\n\t\t\t\t\t_css(ghostEl, 'zIndex', '100000');\n\t\t\t\t\t_css(ghostEl, 'pointerEvents', 'none');\n\t\n\t\t\t\t\toptions.fallbackOnBody && document.body.appendChild(ghostEl) || rootEl.appendChild(ghostEl);\n\t\n\t\t\t\t\t// Fixing dimensions.\n\t\t\t\t\tghostRect = ghostEl.getBoundingClientRect();\n\t\t\t\t\t_css(ghostEl, 'width', rect.width * 2 - ghostRect.width);\n\t\t\t\t\t_css(ghostEl, 'height', rect.height * 2 - ghostRect.height);\n\t\t\t\t}\n\t\t\t},\n\t\n\t\t\t_onDragStart: function (/**Event*/evt, /**boolean*/useFallback) {\n\t\t\t\tvar dataTransfer = evt.dataTransfer,\n\t\t\t\t\toptions = this.options;\n\t\n\t\t\t\tthis._offUpEvents();\n\t\n\t\t\t\tif (activeGroup.pull == 'clone') {\n\t\t\t\t\tcloneEl = dragEl.cloneNode(true);\n\t\t\t\t\t_css(cloneEl, 'display', 'none');\n\t\t\t\t\trootEl.insertBefore(cloneEl, dragEl);\n\t\t\t\t}\n\t\n\t\t\t\tif (useFallback) {\n\t\n\t\t\t\t\tif (useFallback === 'touch') {\n\t\t\t\t\t\t// Bind touch events\n\t\t\t\t\t\t_on(document, 'touchmove', this._onTouchMove);\n\t\t\t\t\t\t_on(document, 'touchend', this._onDrop);\n\t\t\t\t\t\t_on(document, 'touchcancel', this._onDrop);\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// Old brwoser\n\t\t\t\t\t\t_on(document, 'mousemove', this._onTouchMove);\n\t\t\t\t\t\t_on(document, 'mouseup', this._onDrop);\n\t\t\t\t\t}\n\t\n\t\t\t\t\tthis._loopId = setInterval(this._emulateDragOver, 50);\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tif (dataTransfer) {\n\t\t\t\t\t\tdataTransfer.effectAllowed = 'move';\n\t\t\t\t\t\toptions.setData && options.setData.call(this, dataTransfer, dragEl);\n\t\t\t\t\t}\n\t\n\t\t\t\t\t_on(document, 'drop', this);\n\t\t\t\t\tsetTimeout(this._dragStarted, 0);\n\t\t\t\t}\n\t\t\t},\n\t\n\t\t\t_onDragOver: function (/**Event*/evt) {\n\t\t\t\tvar el = this.el,\n\t\t\t\t\ttarget,\n\t\t\t\t\tdragRect,\n\t\t\t\t\trevert,\n\t\t\t\t\toptions = this.options,\n\t\t\t\t\tgroup = options.group,\n\t\t\t\t\tgroupPut = group.put,\n\t\t\t\t\tisOwner = (activeGroup === group),\n\t\t\t\t\tcanSort = options.sort;\n\t\n\t\t\t\tif (evt.preventDefault !== void 0) {\n\t\t\t\t\tevt.preventDefault();\n\t\t\t\t\t!options.dragoverBubble && evt.stopPropagation();\n\t\t\t\t}\n\t\n\t\t\t\tmoved = true;\n\t\n\t\t\t\tif (activeGroup && !options.disabled &&\n\t\t\t\t\t(isOwner\n\t\t\t\t\t\t? canSort || (revert = !rootEl.contains(dragEl)) // Reverting item into the original list\n\t\t\t\t\t\t: activeGroup.pull && groupPut && (\n\t\t\t\t\t\t\t(activeGroup.name === group.name) || // by Name\n\t\t\t\t\t\t\t(groupPut.indexOf && ~groupPut.indexOf(activeGroup.name)) // by Array\n\t\t\t\t\t\t)\n\t\t\t\t\t) &&\n\t\t\t\t\t(evt.rootEl === void 0 || evt.rootEl === this.el) // touch fallback\n\t\t\t\t) {\n\t\t\t\t\t// Smart auto-scrolling\n\t\t\t\t\t_autoScroll(evt, options, this.el);\n\t\n\t\t\t\t\tif (_silent) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\n\t\t\t\t\ttarget = _closest(evt.target, options.draggable, el);\n\t\t\t\t\tdragRect = dragEl.getBoundingClientRect();\n\t\n\t\t\t\t\tif (revert) {\n\t\t\t\t\t\t_cloneHide(true);\n\t\n\t\t\t\t\t\tif (cloneEl || nextEl) {\n\t\t\t\t\t\t\trootEl.insertBefore(dragEl, cloneEl || nextEl);\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse if (!canSort) {\n\t\t\t\t\t\t\trootEl.appendChild(dragEl);\n\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\n\t\n\t\t\t\t\tif ((el.children.length === 0) || (el.children[0] === ghostEl) ||\n\t\t\t\t\t\t(el === evt.target) && (target = _ghostIsLast(el, evt))\n\t\t\t\t\t) {\n\t\n\t\t\t\t\t\tif (target) {\n\t\t\t\t\t\t\tif (target.animated) {\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t\ttargetRect = target.getBoundingClientRect();\n\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t_cloneHide(isOwner);\n\t\n\t\t\t\t\t\tif (_onMove(rootEl, el, dragEl, dragRect, target, targetRect) !== false) {\n\t\t\t\t\t\t\tif (!dragEl.contains(el)) {\n\t\t\t\t\t\t\t\tel.appendChild(dragEl);\n\t\t\t\t\t\t\t\tparentEl = el; // actualization\n\t\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t\tthis._animate(dragRect, dragEl);\n\t\t\t\t\t\t\ttarget && this._animate(targetRect, target);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\telse if (target && !target.animated && target !== dragEl && (target.parentNode[expando] !== void 0)) {\n\t\t\t\t\t\tif (lastEl !== target) {\n\t\t\t\t\t\t\tlastEl = target;\n\t\t\t\t\t\t\tlastCSS = _css(target);\n\t\t\t\t\t\t\tlastParentCSS = _css(target.parentNode);\n\t\t\t\t\t\t}\n\t\n\t\n\t\t\t\t\t\tvar targetRect = target.getBoundingClientRect(),\n\t\t\t\t\t\t\twidth = targetRect.right - targetRect.left,\n\t\t\t\t\t\t\theight = targetRect.bottom - targetRect.top,\n\t\t\t\t\t\t\tfloating = /left|right|inline/.test(lastCSS.cssFloat + lastCSS.display)\n\t\t\t\t\t\t\t\t|| (lastParentCSS.display == 'flex' && lastParentCSS['flex-direction'].indexOf('row') === 0),\n\t\t\t\t\t\t\tisWide = (target.offsetWidth > dragEl.offsetWidth),\n\t\t\t\t\t\t\tisLong = (target.offsetHeight > dragEl.offsetHeight),\n\t\t\t\t\t\t\thalfway = (floating ? (evt.clientX - targetRect.left) / width : (evt.clientY - targetRect.top) / height) > 0.5,\n\t\t\t\t\t\t\tnextSibling = target.nextElementSibling,\n\t\t\t\t\t\t\tmoveVector = _onMove(rootEl, el, dragEl, dragRect, target, targetRect),\n\t\t\t\t\t\t\tafter\n\t\t\t\t\t\t;\n\t\n\t\t\t\t\t\tif (moveVector !== false) {\n\t\t\t\t\t\t\t_silent = true;\n\t\t\t\t\t\t\tsetTimeout(_unsilent, 30);\n\t\n\t\t\t\t\t\t\t_cloneHide(isOwner);\n\t\n\t\t\t\t\t\t\tif (moveVector === 1 || moveVector === -1) {\n\t\t\t\t\t\t\t\tafter = (moveVector === 1);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse if (floating) {\n\t\t\t\t\t\t\t\tvar elTop = dragEl.offsetTop,\n\t\t\t\t\t\t\t\t\ttgTop = target.offsetTop;\n\t\n\t\t\t\t\t\t\t\tif (elTop === tgTop) {\n\t\t\t\t\t\t\t\t\tafter = (target.previousElementSibling === dragEl) && !isWide || halfway && isWide;\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tafter = tgTop > elTop;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tafter = (nextSibling !== dragEl) && !isLong || halfway && isLong;\n\t\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t\tif (!dragEl.contains(el)) {\n\t\t\t\t\t\t\t\tif (after && !nextSibling) {\n\t\t\t\t\t\t\t\t\tel.appendChild(dragEl);\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\ttarget.parentNode.insertBefore(dragEl, after ? nextSibling : target);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t\tparentEl = dragEl.parentNode; // actualization\n\t\n\t\t\t\t\t\t\tthis._animate(dragRect, dragEl);\n\t\t\t\t\t\t\tthis._animate(targetRect, target);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\n\t\t\t_animate: function (prevRect, target) {\n\t\t\t\tvar ms = this.options.animation;\n\t\n\t\t\t\tif (ms) {\n\t\t\t\t\tvar currentRect = target.getBoundingClientRect();\n\t\n\t\t\t\t\t_css(target, 'transition', 'none');\n\t\t\t\t\t_css(target, 'transform', 'translate3d('\n\t\t\t\t\t\t+ (prevRect.left - currentRect.left) + 'px,'\n\t\t\t\t\t\t+ (prevRect.top - currentRect.top) + 'px,0)'\n\t\t\t\t\t);\n\t\n\t\t\t\t\ttarget.offsetWidth; // repaint\n\t\n\t\t\t\t\t_css(target, 'transition', 'all ' + ms + 'ms');\n\t\t\t\t\t_css(target, 'transform', 'translate3d(0,0,0)');\n\t\n\t\t\t\t\tclearTimeout(target.animated);\n\t\t\t\t\ttarget.animated = setTimeout(function () {\n\t\t\t\t\t\t_css(target, 'transition', '');\n\t\t\t\t\t\t_css(target, 'transform', '');\n\t\t\t\t\t\ttarget.animated = false;\n\t\t\t\t\t}, ms);\n\t\t\t\t}\n\t\t\t},\n\t\n\t\t\t_offUpEvents: function () {\n\t\t\t\tvar ownerDocument = this.el.ownerDocument;\n\t\n\t\t\t\t_off(document, 'touchmove', this._onTouchMove);\n\t\t\t\t_off(ownerDocument, 'mouseup', this._onDrop);\n\t\t\t\t_off(ownerDocument, 'touchend', this._onDrop);\n\t\t\t\t_off(ownerDocument, 'touchcancel', this._onDrop);\n\t\t\t},\n\t\n\t\t\t_onDrop: function (/**Event*/evt) {\n\t\t\t\tvar el = this.el,\n\t\t\t\t\toptions = this.options;\n\t\n\t\t\t\tclearInterval(this._loopId);\n\t\t\t\tclearInterval(autoScroll.pid);\n\t\t\t\tclearTimeout(this._dragStartTimer);\n\t\n\t\t\t\t// Unbind events\n\t\t\t\t_off(document, 'mousemove', this._onTouchMove);\n\t\n\t\t\t\tif (this.nativeDraggable) {\n\t\t\t\t\t_off(document, 'drop', this);\n\t\t\t\t\t_off(el, 'dragstart', this._onDragStart);\n\t\t\t\t}\n\t\n\t\t\t\tthis._offUpEvents();\n\t\n\t\t\t\tif (evt) {\n\t\t\t\t\tif (moved) {\n\t\t\t\t\t\tevt.preventDefault();\n\t\t\t\t\t\t!options.dropBubble && evt.stopPropagation();\n\t\t\t\t\t}\n\t\n\t\t\t\t\tghostEl && ghostEl.parentNode.removeChild(ghostEl);\n\t\n\t\t\t\t\tif (dragEl) {\n\t\t\t\t\t\tif (this.nativeDraggable) {\n\t\t\t\t\t\t\t_off(dragEl, 'dragend', this);\n\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t_disableDraggable(dragEl);\n\t\n\t\t\t\t\t\t// Remove class's\n\t\t\t\t\t\t_toggleClass(dragEl, this.options.ghostClass, false);\n\t\t\t\t\t\t_toggleClass(dragEl, this.options.chosenClass, false);\n\t\n\t\t\t\t\t\tif (rootEl !== parentEl) {\n\t\t\t\t\t\t\tnewIndex = _index(dragEl);\n\t\n\t\t\t\t\t\t\tif (newIndex >= 0) {\n\t\t\t\t\t\t\t\t// drag from one list and drop into another\n\t\t\t\t\t\t\t\t_dispatchEvent(null, parentEl, 'sort', dragEl, rootEl, oldIndex, newIndex);\n\t\t\t\t\t\t\t\t_dispatchEvent(this, rootEl, 'sort', dragEl, rootEl, oldIndex, newIndex);\n\t\n\t\t\t\t\t\t\t\t// Add event\n\t\t\t\t\t\t\t\t_dispatchEvent(null, parentEl, 'add', dragEl, rootEl, oldIndex, newIndex);\n\t\n\t\t\t\t\t\t\t\t// Remove event\n\t\t\t\t\t\t\t\t_dispatchEvent(this, rootEl, 'remove', dragEl, rootEl, oldIndex, newIndex);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t// Remove clone\n\t\t\t\t\t\t\tcloneEl && cloneEl.parentNode.removeChild(cloneEl);\n\t\n\t\t\t\t\t\t\tif (dragEl.nextSibling !== nextEl) {\n\t\t\t\t\t\t\t\t// Get the index of the dragged element within its parent\n\t\t\t\t\t\t\t\tnewIndex = _index(dragEl);\n\t\n\t\t\t\t\t\t\t\tif (newIndex >= 0) {\n\t\t\t\t\t\t\t\t\t// drag & drop within the same list\n\t\t\t\t\t\t\t\t\t_dispatchEvent(this, rootEl, 'update', dragEl, rootEl, oldIndex, newIndex);\n\t\t\t\t\t\t\t\t\t_dispatchEvent(this, rootEl, 'sort', dragEl, rootEl, oldIndex, newIndex);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\tif (Sortable.active) {\n\t\t\t\t\t\t\tif (newIndex === null || newIndex === -1) {\n\t\t\t\t\t\t\t\tnewIndex = oldIndex;\n\t\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t\t_dispatchEvent(this, rootEl, 'end', dragEl, rootEl, oldIndex, newIndex);\n\t\n\t\t\t\t\t\t\t// Save sorting\n\t\t\t\t\t\t\tthis.save();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\n\t\t\t\t\t// Nulling\n\t\t\t\t\trootEl =\n\t\t\t\t\tdragEl =\n\t\t\t\t\tparentEl =\n\t\t\t\t\tghostEl =\n\t\t\t\t\tnextEl =\n\t\t\t\t\tcloneEl =\n\t\n\t\t\t\t\tscrollEl =\n\t\t\t\t\tscrollParentEl =\n\t\n\t\t\t\t\ttapEvt =\n\t\t\t\t\ttouchEvt =\n\t\n\t\t\t\t\tmoved =\n\t\t\t\t\tnewIndex =\n\t\n\t\t\t\t\tlastEl =\n\t\t\t\t\tlastCSS =\n\t\n\t\t\t\t\tactiveGroup =\n\t\t\t\t\tSortable.active = null;\n\t\t\t\t}\n\t\t\t},\n\t\n\t\n\t\t\thandleEvent: function (/**Event*/evt) {\n\t\t\t\tvar type = evt.type;\n\t\n\t\t\t\tif (type === 'dragover' || type === 'dragenter') {\n\t\t\t\t\tif (dragEl) {\n\t\t\t\t\t\tthis._onDragOver(evt);\n\t\t\t\t\t\t_globalDragOver(evt);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse if (type === 'drop' || type === 'dragend') {\n\t\t\t\t\tthis._onDrop(evt);\n\t\t\t\t}\n\t\t\t},\n\t\n\t\n\t\t\t/**\n\t\t\t * Serializes the item into an array of string.\n\t\t\t * @returns {String[]}\n\t\t\t */\n\t\t\ttoArray: function () {\n\t\t\t\tvar order = [],\n\t\t\t\t\tel,\n\t\t\t\t\tchildren = this.el.children,\n\t\t\t\t\ti = 0,\n\t\t\t\t\tn = children.length,\n\t\t\t\t\toptions = this.options;\n\t\n\t\t\t\tfor (; i < n; i++) {\n\t\t\t\t\tel = children[i];\n\t\t\t\t\tif (_closest(el, options.draggable, this.el)) {\n\t\t\t\t\t\torder.push(el.getAttribute(options.dataIdAttr) || _generateId(el));\n\t\t\t\t\t}\n\t\t\t\t}\n\t\n\t\t\t\treturn order;\n\t\t\t},\n\t\n\t\n\t\t\t/**\n\t\t\t * Sorts the elements according to the array.\n\t\t\t * @param {String[]} order order of the items\n\t\t\t */\n\t\t\tsort: function (order) {\n\t\t\t\tvar items = {}, rootEl = this.el;\n\t\n\t\t\t\tthis.toArray().forEach(function (id, i) {\n\t\t\t\t\tvar el = rootEl.children[i];\n\t\n\t\t\t\t\tif (_closest(el, this.options.draggable, rootEl)) {\n\t\t\t\t\t\titems[id] = el;\n\t\t\t\t\t}\n\t\t\t\t}, this);\n\t\n\t\t\t\torder.forEach(function (id) {\n\t\t\t\t\tif (items[id]) {\n\t\t\t\t\t\trootEl.removeChild(items[id]);\n\t\t\t\t\t\trootEl.appendChild(items[id]);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t},\n\t\n\t\n\t\t\t/**\n\t\t\t * Save the current sorting\n\t\t\t */\n\t\t\tsave: function () {\n\t\t\t\tvar store = this.options.store;\n\t\t\t\tstore && store.set(this);\n\t\t\t},\n\t\n\t\n\t\t\t/**\n\t\t\t * For each element in the set, get the first element that matches the selector by testing the element itself and traversing up through its ancestors in the DOM tree.\n\t\t\t * @param {HTMLElement} el\n\t\t\t * @param {String} [selector] default: `options.draggable`\n\t\t\t * @returns {HTMLElement|null}\n\t\t\t */\n\t\t\tclosest: function (el, selector) {\n\t\t\t\treturn _closest(el, selector || this.options.draggable, this.el);\n\t\t\t},\n\t\n\t\n\t\t\t/**\n\t\t\t * Set/get option\n\t\t\t * @param {string} name\n\t\t\t * @param {*} [value]\n\t\t\t * @returns {*}\n\t\t\t */\n\t\t\toption: function (name, value) {\n\t\t\t\tvar options = this.options;\n\t\n\t\t\t\tif (value === void 0) {\n\t\t\t\t\treturn options[name];\n\t\t\t\t} else {\n\t\t\t\t\toptions[name] = value;\n\t\n\t\t\t\t\tif (name === 'group') {\n\t\t\t\t\t\t_prepareGroup(options);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\n\t\n\t\t\t/**\n\t\t\t * Destroy\n\t\t\t */\n\t\t\tdestroy: function () {\n\t\t\t\tvar el = this.el;\n\t\n\t\t\t\tel[expando] = null;\n\t\n\t\t\t\t_off(el, 'mousedown', this._onTapStart);\n\t\t\t\t_off(el, 'touchstart', this._onTapStart);\n\t\n\t\t\t\tif (this.nativeDraggable) {\n\t\t\t\t\t_off(el, 'dragover', this);\n\t\t\t\t\t_off(el, 'dragenter', this);\n\t\t\t\t}\n\t\n\t\t\t\t// Remove draggable attributes\n\t\t\t\tArray.prototype.forEach.call(el.querySelectorAll('[draggable]'), function (el) {\n\t\t\t\t\tel.removeAttribute('draggable');\n\t\t\t\t});\n\t\n\t\t\t\ttouchDragOverListeners.splice(touchDragOverListeners.indexOf(this._onDragOver), 1);\n\t\n\t\t\t\tthis._onDrop();\n\t\n\t\t\t\tthis.el = el = null;\n\t\t\t}\n\t\t};\n\t\n\t\n\t\tfunction _cloneHide(state) {\n\t\t\tif (cloneEl && (cloneEl.state !== state)) {\n\t\t\t\t_css(cloneEl, 'display', state ? 'none' : '');\n\t\t\t\t!state && cloneEl.state && rootEl.insertBefore(cloneEl, dragEl);\n\t\t\t\tcloneEl.state = state;\n\t\t\t}\n\t\t}\n\t\n\t\n\t\tfunction _closest(/**HTMLElement*/el, /**String*/selector, /**HTMLElement*/ctx) {\n\t\t\tif (el) {\n\t\t\t\tctx = ctx || document;\n\t\t\t\tselector = selector.split('.');\n\t\n\t\t\t\tvar tag = selector.shift().toUpperCase(),\n\t\t\t\t\tre = new RegExp('\\\\s(' + selector.join('|') + ')(?=\\\\s)', 'g');\n\t\n\t\t\t\tdo {\n\t\t\t\t\tif (\n\t\t\t\t\t\t(tag === '>*' && el.parentNode === ctx) || (\n\t\t\t\t\t\t\t(tag === '' || el.nodeName.toUpperCase() == tag) &&\n\t\t\t\t\t\t\t(!selector.length || ((' ' + el.className + ' ').match(re) || []).length == selector.length)\n\t\t\t\t\t\t)\n\t\t\t\t\t) {\n\t\t\t\t\t\treturn el;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\twhile (el !== ctx && (el = el.parentNode));\n\t\t\t}\n\t\n\t\t\treturn null;\n\t\t}\n\t\n\t\n\t\tfunction _globalDragOver(/**Event*/evt) {\n\t\t\tif (evt.dataTransfer) {\n\t\t\t\tevt.dataTransfer.dropEffect = 'move';\n\t\t\t}\n\t\t\tevt.preventDefault();\n\t\t}\n\t\n\t\n\t\tfunction _on(el, event, fn) {\n\t\t\tel.addEventListener(event, fn, false);\n\t\t}\n\t\n\t\n\t\tfunction _off(el, event, fn) {\n\t\t\tel.removeEventListener(event, fn, false);\n\t\t}\n\t\n\t\n\t\tfunction _toggleClass(el, name, state) {\n\t\t\tif (el) {\n\t\t\t\tif (el.classList) {\n\t\t\t\t\tel.classList[state ? 'add' : 'remove'](name);\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tvar className = (' ' + el.className + ' ').replace(RSPACE, ' ').replace(' ' + name + ' ', ' ');\n\t\t\t\t\tel.className = (className + (state ? ' ' + name : '')).replace(RSPACE, ' ');\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\n\t\n\t\tfunction _css(el, prop, val) {\n\t\t\tvar style = el && el.style;\n\t\n\t\t\tif (style) {\n\t\t\t\tif (val === void 0) {\n\t\t\t\t\tif (document.defaultView && document.defaultView.getComputedStyle) {\n\t\t\t\t\t\tval = document.defaultView.getComputedStyle(el, '');\n\t\t\t\t\t}\n\t\t\t\t\telse if (el.currentStyle) {\n\t\t\t\t\t\tval = el.currentStyle;\n\t\t\t\t\t}\n\t\n\t\t\t\t\treturn prop === void 0 ? val : val[prop];\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tif (!(prop in style)) {\n\t\t\t\t\t\tprop = '-webkit-' + prop;\n\t\t\t\t\t}\n\t\n\t\t\t\t\tstyle[prop] = val + (typeof val === 'string' ? '' : 'px');\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\n\t\n\t\tfunction _find(ctx, tagName, iterator) {\n\t\t\tif (ctx) {\n\t\t\t\tvar list = ctx.getElementsByTagName(tagName), i = 0, n = list.length;\n\t\n\t\t\t\tif (iterator) {\n\t\t\t\t\tfor (; i < n; i++) {\n\t\t\t\t\t\titerator(list[i], i);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\n\t\t\t\treturn list;\n\t\t\t}\n\t\n\t\t\treturn [];\n\t\t}\n\t\n\t\n\t\n\t\tfunction _dispatchEvent(sortable, rootEl, name, targetEl, fromEl, startIndex, newIndex) {\n\t\t\tvar evt = document.createEvent('Event'),\n\t\t\t\toptions = (sortable || rootEl[expando]).options,\n\t\t\t\tonName = 'on' + name.charAt(0).toUpperCase() + name.substr(1);\n\t\n\t\t\tevt.initEvent(name, true, true);\n\t\n\t\t\tevt.to = rootEl;\n\t\t\tevt.from = fromEl || rootEl;\n\t\t\tevt.item = targetEl || rootEl;\n\t\t\tevt.clone = cloneEl;\n\t\n\t\t\tevt.oldIndex = startIndex;\n\t\t\tevt.newIndex = newIndex;\n\t\n\t\t\trootEl.dispatchEvent(evt);\n\t\n\t\t\tif (options[onName]) {\n\t\t\t\toptions[onName].call(sortable, evt);\n\t\t\t}\n\t\t}\n\t\n\t\n\t\tfunction _onMove(fromEl, toEl, dragEl, dragRect, targetEl, targetRect) {\n\t\t\tvar evt,\n\t\t\t\tsortable = fromEl[expando],\n\t\t\t\tonMoveFn = sortable.options.onMove,\n\t\t\t\tretVal;\n\t\n\t\t\tevt = document.createEvent('Event');\n\t\t\tevt.initEvent('move', true, true);\n\t\n\t\t\tevt.to = toEl;\n\t\t\tevt.from = fromEl;\n\t\t\tevt.dragged = dragEl;\n\t\t\tevt.draggedRect = dragRect;\n\t\t\tevt.related = targetEl || toEl;\n\t\t\tevt.relatedRect = targetRect || toEl.getBoundingClientRect();\n\t\n\t\t\tfromEl.dispatchEvent(evt);\n\t\n\t\t\tif (onMoveFn) {\n\t\t\t\tretVal = onMoveFn.call(sortable, evt);\n\t\t\t}\n\t\n\t\t\treturn retVal;\n\t\t}\n\t\n\t\n\t\tfunction _disableDraggable(el) {\n\t\t\tel.draggable = false;\n\t\t}\n\t\n\t\n\t\tfunction _unsilent() {\n\t\t\t_silent = false;\n\t\t}\n\t\n\t\n\t\t/** @returns {HTMLElement|false} */\n\t\tfunction _ghostIsLast(el, evt) {\n\t\t\tvar lastEl = el.lastElementChild,\n\t\t\t\t\trect = lastEl.getBoundingClientRect();\n\t\n\t\t\treturn ((evt.clientY - (rect.top + rect.height) > 5) || (evt.clientX - (rect.right + rect.width) > 5)) && lastEl; // min delta\n\t\t}\n\t\n\t\n\t\t/**\n\t\t * Generate id\n\t\t * @param {HTMLElement} el\n\t\t * @returns {String}\n\t\t * @private\n\t\t */\n\t\tfunction _generateId(el) {\n\t\t\tvar str = el.tagName + el.className + el.src + el.href + el.textContent,\n\t\t\t\ti = str.length,\n\t\t\t\tsum = 0;\n\t\n\t\t\twhile (i--) {\n\t\t\t\tsum += str.charCodeAt(i);\n\t\t\t}\n\t\n\t\t\treturn sum.toString(36);\n\t\t}\n\t\n\t\t/**\n\t\t * Returns the index of an element within its parent\n\t\t * @param {HTMLElement} el\n\t\t * @return {number}\n\t\t */\n\t\tfunction _index(el) {\n\t\t\tvar index = 0;\n\t\n\t\t\tif (!el || !el.parentNode) {\n\t\t\t\treturn -1;\n\t\t\t}\n\t\n\t\t\twhile (el && (el = el.previousElementSibling)) {\n\t\t\t\tif (el.nodeName.toUpperCase() !== 'TEMPLATE') {\n\t\t\t\t\tindex++;\n\t\t\t\t}\n\t\t\t}\n\t\n\t\t\treturn index;\n\t\t}\n\t\n\t\tfunction _throttle(callback, ms) {\n\t\t\tvar args, _this;\n\t\n\t\t\treturn function () {\n\t\t\t\tif (args === void 0) {\n\t\t\t\t\targs = arguments;\n\t\t\t\t\t_this = this;\n\t\n\t\t\t\t\tsetTimeout(function () {\n\t\t\t\t\t\tif (args.length === 1) {\n\t\t\t\t\t\t\tcallback.call(_this, args[0]);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tcallback.apply(_this, args);\n\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\targs = void 0;\n\t\t\t\t\t}, ms);\n\t\t\t\t}\n\t\t\t};\n\t\t}\n\t\n\t\tfunction _extend(dst, src) {\n\t\t\tif (dst && src) {\n\t\t\t\tfor (var key in src) {\n\t\t\t\t\tif (src.hasOwnProperty(key)) {\n\t\t\t\t\t\tdst[key] = src[key];\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\n\t\t\treturn dst;\n\t\t}\n\t\n\t\n\t\t// Export utils\n\t\tSortable.utils = {\n\t\t\ton: _on,\n\t\t\toff: _off,\n\t\t\tcss: _css,\n\t\t\tfind: _find,\n\t\t\tis: function (el, selector) {\n\t\t\t\treturn !!_closest(el, selector, el);\n\t\t\t},\n\t\t\textend: _extend,\n\t\t\tthrottle: _throttle,\n\t\t\tclosest: _closest,\n\t\t\ttoggleClass: _toggleClass,\n\t\t\tindex: _index\n\t\t};\n\t\n\t\n\t\t/**\n\t\t * Create sortable instance\n\t\t * @param {HTMLElement} el\n\t\t * @param {Object} [options]\n\t\t */\n\t\tSortable.create = function (el, options) {\n\t\t\treturn new Sortable(el, options);\n\t\t};\n\t\n\t\n\t\t// Export\n\t\tSortable.version = '1.4.2';\n\t\treturn Sortable;\n\t});\n\n\n/***/ },\n/* 663 */\n/***/ function(module, exports) {\n\n\t'use strict';\n\tmodule.exports = function (str) {\n\t\treturn encodeURIComponent(str).replace(/[!'()*]/g, function (c) {\n\t\t\treturn '%' + c.charCodeAt(0).toString(16).toUpperCase();\n\t\t});\n\t};\n\n\n/***/ },\n/* 664 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/* WEBPACK VAR INJECTION */(function(global) {/* global window */\n\t'use strict';\n\t\n\tmodule.exports = __webpack_require__(665)(global || window || this);\n\t\n\t/* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }())))\n\n/***/ },\n/* 665 */\n/***/ function(module, exports) {\n\n\t'use strict';\n\t\n\tmodule.exports = function symbolObservablePonyfill(root) {\n\t\tvar result;\n\t\tvar Symbol = root.Symbol;\n\t\n\t\tif (typeof Symbol === 'function') {\n\t\t\tif (Symbol.observable) {\n\t\t\t\tresult = Symbol.observable;\n\t\t\t} else {\n\t\t\t\tresult = Symbol('observable');\n\t\t\t\tSymbol.observable = result;\n\t\t\t}\n\t\t} else {\n\t\t\tresult = '@@observable';\n\t\t}\n\t\n\t\treturn result;\n\t};\n\n\n/***/ },\n/* 666 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/* WEBPACK VAR INJECTION */(function(__dirname, Buffer) {/* globals chrome: false */\n\t/* globals __dirname: false */\n\t/* globals require: false */\n\t/* globals Buffer: false */\n\t/* globals module: false */\n\t\n\t/**\n\t * Typo is a JavaScript implementation of a spellchecker using hunspell-style \n\t * dictionaries.\n\t */\n\t\n\tvar Typo;\n\t\n\t(function () {\n\t\"use strict\";\n\t\n\t/**\n\t * Typo constructor.\n\t *\n\t * @param {String} [dictionary] The locale code of the dictionary being used. e.g.,\n\t * \"en_US\". This is only used to auto-load dictionaries.\n\t * @param {String} [affData] The data from the dictionary's .aff file. If omitted\n\t * and Typo.js is being used in a Chrome extension, the .aff\n\t * file will be loaded automatically from\n\t * lib/typo/dictionaries/[dictionary]/[dictionary].aff\n\t * In other environments, it will be loaded from\n\t * [settings.dictionaryPath]/dictionaries/[dictionary]/[dictionary].aff\n\t * @param {String} [wordsData] The data from the dictionary's .dic file. If omitted\n\t * and Typo.js is being used in a Chrome extension, the .dic\n\t * file will be loaded automatically from\n\t * lib/typo/dictionaries/[dictionary]/[dictionary].dic\n\t * In other environments, it will be loaded from\n\t * [settings.dictionaryPath]/dictionaries/[dictionary]/[dictionary].dic\n\t * @param {Object} [settings] Constructor settings. Available properties are:\n\t * {String} [dictionaryPath]: path to load dictionary from in non-chrome\n\t * environment.\n\t * {Object} [flags]: flag information.\n\t * {Boolean} [asyncLoad]: If true, affData and wordsData will be loaded\n\t * asynchronously.\n\t * {Function} [loadedCallback]: Called when both affData and wordsData\n\t * have been loaded. Only used if asyncLoad is set to true. The parameter\n\t * is the instantiated Typo object.\n\t *\n\t * @returns {Typo} A Typo object.\n\t */\n\t\n\tTypo = function (dictionary, affData, wordsData, settings) {\n\t\tsettings = settings || {};\n\t\n\t\tthis.dictionary = null;\n\t\t\n\t\tthis.rules = {};\n\t\tthis.dictionaryTable = {};\n\t\t\n\t\tthis.compoundRules = [];\n\t\tthis.compoundRuleCodes = {};\n\t\t\n\t\tthis.replacementTable = [];\n\t\t\n\t\tthis.flags = settings.flags || {}; \n\t\t\n\t\tthis.memoized = {};\n\t\n\t\tthis.loaded = false;\n\t\t\n\t\tvar self = this;\n\t\t\n\t\tvar path;\n\t\t\n\t\t// Loop-control variables.\n\t\tvar i, j, _len, _jlen;\n\t\t\n\t\tif (dictionary) {\n\t\t\tself.dictionary = dictionary;\n\t\t\t\n\t\t\t// If the data is preloaded, just setup the Typo object.\n\t\t\tif (affData && wordsData) {\n\t\t\t\tsetup();\n\t\t\t}\n\t\t\t// Loading data for Chrome extentions.\n\t\t\telse if (typeof window !== 'undefined' && 'chrome' in window && 'extension' in window.chrome && 'getURL' in window.chrome.extension) {\n\t\t\t\tif (settings.dictionaryPath) {\n\t\t\t\t\tpath = settings.dictionaryPath;\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tpath = \"typo/dictionaries\";\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif (!affData) readDataFile(chrome.extension.getURL(path + \"/\" + dictionary + \"/\" + dictionary + \".aff\"), setAffData);\n\t\t\t\tif (!wordsData) readDataFile(chrome.extension.getURL(path + \"/\" + dictionary + \"/\" + dictionary + \".dic\"), setWordsData);\n\t\t\t}\n\t\t\telse {\n\t\t\t\tif (settings.dictionaryPath) {\n\t\t\t\t\tpath = settings.dictionaryPath;\n\t\t\t\t}\n\t\t\t\telse if (true) {\n\t\t\t\t\tpath = __dirname + '/dictionaries';\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tpath = './dictionaries';\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif (!affData) readDataFile(path + \"/\" + dictionary + \"/\" + dictionary + \".aff\", setAffData);\n\t\t\t\tif (!wordsData) readDataFile(path + \"/\" + dictionary + \"/\" + dictionary + \".dic\", setWordsData);\n\t\t\t}\n\t\t}\n\t\t\n\t\tfunction readDataFile(url, setFunc) {\n\t\t\tvar response = self._readFile(url, null, settings.asyncLoad);\n\t\t\t\n\t\t\tif (settings.asyncLoad) {\n\t\t\t\tresponse.then(function(data) {\n\t\t\t\t\tsetFunc(data);\n\t\t\t\t});\n\t\t\t}\n\t\t\telse {\n\t\t\t\tsetFunc(response);\n\t\t\t}\n\t\t}\n\t\n\t\tfunction setAffData(data) {\n\t\t\taffData = data;\n\t\n\t\t\tif (wordsData) {\n\t\t\t\tsetup();\n\t\t\t}\n\t\t}\n\t\n\t\tfunction setWordsData(data) {\n\t\t\twordsData = data;\n\t\n\t\t\tif (affData) {\n\t\t\t\tsetup();\n\t\t\t}\n\t\t}\n\t\n\t\tfunction setup() {\n\t\t\tself.rules = self._parseAFF(affData);\n\t\t\t\n\t\t\t// Save the rule codes that are used in compound rules.\n\t\t\tself.compoundRuleCodes = {};\n\t\t\t\n\t\t\tfor (i = 0, _len = self.compoundRules.length; i < _len; i++) {\n\t\t\t\tvar rule = self.compoundRules[i];\n\t\t\t\t\n\t\t\t\tfor (j = 0, _jlen = rule.length; j < _jlen; j++) {\n\t\t\t\t\tself.compoundRuleCodes[rule[j]] = [];\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\t// If we add this ONLYINCOMPOUND flag to self.compoundRuleCodes, then _parseDIC\n\t\t\t// will do the work of saving the list of words that are compound-only.\n\t\t\tif (\"ONLYINCOMPOUND\" in self.flags) {\n\t\t\t\tself.compoundRuleCodes[self.flags.ONLYINCOMPOUND] = [];\n\t\t\t}\n\t\t\t\n\t\t\tself.dictionaryTable = self._parseDIC(wordsData);\n\t\t\t\n\t\t\t// Get rid of any codes from the compound rule codes that are never used \n\t\t\t// (or that were special regex characters). Not especially necessary... \n\t\t\tfor (i in self.compoundRuleCodes) {\n\t\t\t\tif (self.compoundRuleCodes[i].length === 0) {\n\t\t\t\t\tdelete self.compoundRuleCodes[i];\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\t// Build the full regular expressions for each compound rule.\n\t\t\t// I have a feeling (but no confirmation yet) that this method of \n\t\t\t// testing for compound words is probably slow.\n\t\t\tfor (i = 0, _len = self.compoundRules.length; i < _len; i++) {\n\t\t\t\tvar ruleText = self.compoundRules[i];\n\t\t\t\t\n\t\t\t\tvar expressionText = \"\";\n\t\t\t\t\n\t\t\t\tfor (j = 0, _jlen = ruleText.length; j < _jlen; j++) {\n\t\t\t\t\tvar character = ruleText[j];\n\t\t\t\t\t\n\t\t\t\t\tif (character in self.compoundRuleCodes) {\n\t\t\t\t\t\texpressionText += \"(\" + self.compoundRuleCodes[character].join(\"|\") + \")\";\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\texpressionText += character;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tself.compoundRules[i] = new RegExp(expressionText, \"i\");\n\t\t\t}\n\t\t\t\n\t\t\tself.loaded = true;\n\t\t\t\n\t\t\tif (settings.asyncLoad && settings.loadedCallback) {\n\t\t\t\tsettings.loadedCallback(self);\n\t\t\t}\n\t\t}\n\t\t\n\t\treturn this;\n\t};\n\t\n\tTypo.prototype = {\n\t\t/**\n\t\t * Loads a Typo instance from a hash of all of the Typo properties.\n\t\t *\n\t\t * @param object obj A hash of Typo properties, probably gotten from a JSON.parse(JSON.stringify(typo_instance)).\n\t\t */\n\t\t\n\t\tload : function (obj) {\n\t\t\tfor (var i in obj) {\n\t\t\t\tif (obj.hasOwnProperty(i)) {\n\t\t\t\t\tthis[i] = obj[i];\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\treturn this;\n\t\t},\n\t\t\n\t\t/**\n\t\t * Read the contents of a file.\n\t\t * \n\t\t * @param {String} path The path (relative) to the file.\n\t\t * @param {String} [charset=\"ISO8859-1\"] The expected charset of the file\n\t\t * @param {Boolean} async If true, the file will be read asynchronously. For node.js this does nothing, all\n\t\t * files are read synchronously.\n\t\t * @returns {String} The file data if async is false, otherwise a promise object. If running node.js, the data is\n\t\t * always returned.\n\t\t */\n\t\t\n\t\t_readFile : function (path, charset, async) {\n\t\t\tcharset = charset || \"utf8\";\n\t\t\t\n\t\t\tif (typeof XMLHttpRequest !== 'undefined') {\n\t\t\t\tvar promise;\n\t\t\t\tvar req = new XMLHttpRequest();\n\t\t\t\treq.open(\"GET\", path, async);\n\t\t\t\t\n\t\t\t\tif (async) {\n\t\t\t\t\tpromise = new Promise(function(resolve, reject) {\n\t\t\t\t\t\treq.onload = function() {\n\t\t\t\t\t\t\tif (req.status === 200) {\n\t\t\t\t\t\t\t\tresolve(req.responseText);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\treject(req.statusText);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t};\n\t\t\t\t\t\t\n\t\t\t\t\t\treq.onerror = function() {\n\t\t\t\t\t\t\treject(req.statusText);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\n\t\t\t\tif (req.overrideMimeType)\n\t\t\t\t\treq.overrideMimeType(\"text/plain; charset=\" + charset);\n\t\t\t\n\t\t\t\treq.send(null);\n\t\t\t\t\n\t\t\t\treturn async ? promise : req.responseText;\n\t\t\t}\n\t\t\telse if (true) {\n\t\t\t\t// Node.js\n\t\t\t\tvar fs = __webpack_require__(673);\n\t\t\t\t\n\t\t\t\ttry {\n\t\t\t\t\tif (fs.existsSync(path)) {\n\t\t\t\t\t\tvar stats = fs.statSync(path);\n\t\t\t\t\t\t\n\t\t\t\t\t\tvar fileDescriptor = fs.openSync(path, 'r');\n\t\t\t\t\t\t\n\t\t\t\t\t\tvar buffer = new Buffer(stats.size);\n\t\t\t\t\t\t\n\t\t\t\t\t\tfs.readSync(fileDescriptor, buffer, 0, buffer.length, null);\n\t\t\t\t\t\t\n\t\t\t\t\t\treturn buffer.toString(charset, 0, buffer.length);\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tconsole.log(\"Path \" + path + \" does not exist.\");\n\t\t\t\t\t}\n\t\t\t\t} catch (e) {\n\t\t\t\t\tconsole.log(e);\n\t\t\t\t\treturn '';\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\n\t\t/**\n\t\t * Parse the rules out from a .aff file.\n\t\t *\n\t\t * @param {String} data The contents of the affix file.\n\t\t * @returns object The rules from the file.\n\t\t */\n\t\t\n\t\t_parseAFF : function (data) {\n\t\t\tvar rules = {};\n\t\t\t\n\t\t\tvar line, subline, numEntries, lineParts;\n\t\t\tvar i, j, _len, _jlen;\n\t\t\t\n\t\t\t// Remove comment lines\n\t\t\tdata = this._removeAffixComments(data);\n\t\t\t\n\t\t\tvar lines = data.split(\"\\n\");\n\t\t\t\n\t\t\tfor (i = 0, _len = lines.length; i < _len; i++) {\n\t\t\t\tline = lines[i];\n\t\t\t\t\n\t\t\t\tvar definitionParts = line.split(/\\s+/);\n\t\t\t\t\n\t\t\t\tvar ruleType = definitionParts[0];\n\t\t\t\t\n\t\t\t\tif (ruleType == \"PFX\" || ruleType == \"SFX\") {\n\t\t\t\t\tvar ruleCode = definitionParts[1];\n\t\t\t\t\tvar combineable = definitionParts[2];\n\t\t\t\t\tnumEntries = parseInt(definitionParts[3], 10);\n\t\t\t\t\t\n\t\t\t\t\tvar entries = [];\n\t\t\t\t\t\n\t\t\t\t\tfor (j = i + 1, _jlen = i + 1 + numEntries; j < _jlen; j++) {\n\t\t\t\t\t\tsubline = lines[j];\n\t\t\t\t\t\t\n\t\t\t\t\t\tlineParts = subline.split(/\\s+/);\n\t\t\t\t\t\tvar charactersToRemove = lineParts[2];\n\t\t\t\t\t\t\n\t\t\t\t\t\tvar additionParts = lineParts[3].split(\"/\");\n\t\t\t\t\t\t\n\t\t\t\t\t\tvar charactersToAdd = additionParts[0];\n\t\t\t\t\t\tif (charactersToAdd === \"0\") charactersToAdd = \"\";\n\t\t\t\t\t\t\n\t\t\t\t\t\tvar continuationClasses = this.parseRuleCodes(additionParts[1]);\n\t\t\t\t\t\t\n\t\t\t\t\t\tvar regexToMatch = lineParts[4];\n\t\t\t\t\t\t\n\t\t\t\t\t\tvar entry = {};\n\t\t\t\t\t\tentry.add = charactersToAdd;\n\t\t\t\t\t\t\n\t\t\t\t\t\tif (continuationClasses.length > 0) entry.continuationClasses = continuationClasses;\n\t\t\t\t\t\t\n\t\t\t\t\t\tif (regexToMatch !== \".\") {\n\t\t\t\t\t\t\tif (ruleType === \"SFX\") {\n\t\t\t\t\t\t\t\tentry.match = new RegExp(regexToMatch + \"$\");\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\tentry.match = new RegExp(\"^\" + regexToMatch);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\t\t\tif (charactersToRemove != \"0\") {\n\t\t\t\t\t\t\tif (ruleType === \"SFX\") {\n\t\t\t\t\t\t\t\tentry.remove = new RegExp(charactersToRemove + \"$\");\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\tentry.remove = charactersToRemove;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\t\t\tentries.push(entry);\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\trules[ruleCode] = { \"type\" : ruleType, \"combineable\" : (combineable == \"Y\"), \"entries\" : entries };\n\t\t\t\t\t\n\t\t\t\t\ti += numEntries;\n\t\t\t\t}\n\t\t\t\telse if (ruleType === \"COMPOUNDRULE\") {\n\t\t\t\t\tnumEntries = parseInt(definitionParts[1], 10);\n\t\t\t\t\t\n\t\t\t\t\tfor (j = i + 1, _jlen = i + 1 + numEntries; j < _jlen; j++) {\n\t\t\t\t\t\tline = lines[j];\n\t\t\t\t\t\t\n\t\t\t\t\t\tlineParts = line.split(/\\s+/);\n\t\t\t\t\t\tthis.compoundRules.push(lineParts[1]);\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\ti += numEntries;\n\t\t\t\t}\n\t\t\t\telse if (ruleType === \"REP\") {\n\t\t\t\t\tlineParts = line.split(/\\s+/);\n\t\t\t\t\t\n\t\t\t\t\tif (lineParts.length === 3) {\n\t\t\t\t\t\tthis.replacementTable.push([ lineParts[1], lineParts[2] ]);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\t// ONLYINCOMPOUND\n\t\t\t\t\t// COMPOUNDMIN\n\t\t\t\t\t// FLAG\n\t\t\t\t\t// KEEPCASE\n\t\t\t\t\t// NEEDAFFIX\n\t\t\t\t\t\n\t\t\t\t\tthis.flags[ruleType] = definitionParts[1];\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\treturn rules;\n\t\t},\n\t\t\n\t\t/**\n\t\t * Removes comment lines and then cleans up blank lines and trailing whitespace.\n\t\t *\n\t\t * @param {String} data The data from an affix file.\n\t\t * @return {String} The cleaned-up data.\n\t\t */\n\t\t\n\t\t_removeAffixComments : function (data) {\n\t\t\t// Remove comments\n\t\t\tdata = data.replace(/#.*$/mg, \"\");\n\t\t\t\n\t\t\t// Trim each line\n\t\t\tdata = data.replace(/^\\s\\s*/m, '').replace(/\\s\\s*$/m, '');\n\t\t\t\n\t\t\t// Remove blank lines.\n\t\t\tdata = data.replace(/\\n{2,}/g, \"\\n\");\n\t\t\t\n\t\t\t// Trim the entire string\n\t\t\tdata = data.replace(/^\\s\\s*/, '').replace(/\\s\\s*$/, '');\n\t\t\t\n\t\t\treturn data;\n\t\t},\n\t\t\n\t\t/**\n\t\t * Parses the words out from the .dic file.\n\t\t *\n\t\t * @param {String} data The data from the dictionary file.\n\t\t * @returns object The lookup table containing all of the words and\n\t\t * word forms from the dictionary.\n\t\t */\n\t\t\n\t\t_parseDIC : function (data) {\n\t\t\tdata = this._removeDicComments(data);\n\t\t\t\n\t\t\tvar lines = data.split(\"\\n\");\n\t\t\tvar dictionaryTable = {};\n\t\t\t\n\t\t\tfunction addWord(word, rules) {\n\t\t\t\t// Some dictionaries will list the same word multiple times with different rule sets.\n\t\t\t\tif (!dictionaryTable.hasOwnProperty(word)) {\n\t\t\t\t\tdictionaryTable[word] = null;\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif (rules.length > 0) {\n\t\t\t\t\tif (dictionaryTable[word] === null) {\n\t\t\t\t\t\tdictionaryTable[word] = [];\n\t\t\t\t\t}\n\t\n\t\t\t\t\tdictionaryTable[word].push(rules);\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\t// The first line is the number of words in the dictionary.\n\t\t\tfor (var i = 1, _len = lines.length; i < _len; i++) {\n\t\t\t\tvar line = lines[i];\n\t\t\t\t\n\t\t\t\tvar parts = line.split(\"/\", 2);\n\t\t\t\t\n\t\t\t\tvar word = parts[0];\n\t\n\t\t\t\t// Now for each affix rule, generate that form of the word.\n\t\t\t\tif (parts.length > 1) {\n\t\t\t\t\tvar ruleCodesArray = this.parseRuleCodes(parts[1]);\n\t\t\t\t\t\n\t\t\t\t\t// Save the ruleCodes for compound word situations.\n\t\t\t\t\tif (!(\"NEEDAFFIX\" in this.flags) || ruleCodesArray.indexOf(this.flags.NEEDAFFIX) == -1) {\n\t\t\t\t\t\taddWord(word, ruleCodesArray);\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\tfor (var j = 0, _jlen = ruleCodesArray.length; j < _jlen; j++) {\n\t\t\t\t\t\tvar code = ruleCodesArray[j];\n\t\t\t\t\t\t\n\t\t\t\t\t\tvar rule = this.rules[code];\n\t\t\t\t\t\t\n\t\t\t\t\t\tif (rule) {\n\t\t\t\t\t\t\tvar newWords = this._applyRule(word, rule);\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tfor (var ii = 0, _iilen = newWords.length; ii < _iilen; ii++) {\n\t\t\t\t\t\t\t\tvar newWord = newWords[ii];\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\taddWord(newWord, []);\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tif (rule.combineable) {\n\t\t\t\t\t\t\t\t\tfor (var k = j + 1; k < _jlen; k++) {\n\t\t\t\t\t\t\t\t\t\tvar combineCode = ruleCodesArray[k];\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tvar combineRule = this.rules[combineCode];\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tif (combineRule) {\n\t\t\t\t\t\t\t\t\t\t\tif (combineRule.combineable && (rule.type != combineRule.type)) {\n\t\t\t\t\t\t\t\t\t\t\t\tvar otherNewWords = this._applyRule(newWord, combineRule);\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\tfor (var iii = 0, _iiilen = otherNewWords.length; iii < _iiilen; iii++) {\n\t\t\t\t\t\t\t\t\t\t\t\t\tvar otherNewWord = otherNewWords[iii];\n\t\t\t\t\t\t\t\t\t\t\t\t\taddWord(otherNewWord, []);\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\t\t\tif (code in this.compoundRuleCodes) {\n\t\t\t\t\t\t\tthis.compoundRuleCodes[code].push(word);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\taddWord(word.trim(), []);\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\treturn dictionaryTable;\n\t\t},\n\t\t\n\t\t\n\t\t/**\n\t\t * Removes comment lines and then cleans up blank lines and trailing whitespace.\n\t\t *\n\t\t * @param {String} data The data from a .dic file.\n\t\t * @return {String} The cleaned-up data.\n\t\t */\n\t\t\n\t\t_removeDicComments : function (data) {\n\t\t\t// I can't find any official documentation on it, but at least the de_DE\n\t\t\t// dictionary uses tab-indented lines as comments.\n\t\t\t\n\t\t\t// Remove comments\n\t\t\tdata = data.replace(/^\\t.*$/mg, \"\");\n\t\t\t\n\t\t\treturn data;\n\t\t},\n\t\t\n\t\tparseRuleCodes : function (textCodes) {\n\t\t\tif (!textCodes) {\n\t\t\t\treturn [];\n\t\t\t}\n\t\t\telse if (!(\"FLAG\" in this.flags)) {\n\t\t\t\treturn textCodes.split(\"\");\n\t\t\t}\n\t\t\telse if (this.flags.FLAG === \"long\") {\n\t\t\t\tvar flags = [];\n\t\t\t\t\n\t\t\t\tfor (var i = 0, _len = textCodes.length; i < _len; i += 2) {\n\t\t\t\t\tflags.push(textCodes.substr(i, 2));\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\treturn flags;\n\t\t\t}\n\t\t\telse if (this.flags.FLAG === \"num\") {\n\t\t\t\treturn textCodes.split(\",\");\n\t\t\t}\n\t\t},\n\t\t\n\t\t/**\n\t\t * Applies an affix rule to a word.\n\t\t *\n\t\t * @param {String} word The base word.\n\t\t * @param {Object} rule The affix rule.\n\t\t * @returns {String[]} The new words generated by the rule.\n\t\t */\n\t\t\n\t\t_applyRule : function (word, rule) {\n\t\t\tvar entries = rule.entries;\n\t\t\tvar newWords = [];\n\t\t\t\n\t\t\tfor (var i = 0, _len = entries.length; i < _len; i++) {\n\t\t\t\tvar entry = entries[i];\n\t\t\t\t\n\t\t\t\tif (!entry.match || word.match(entry.match)) {\n\t\t\t\t\tvar newWord = word;\n\t\t\t\t\t\n\t\t\t\t\tif (entry.remove) {\n\t\t\t\t\t\tnewWord = newWord.replace(entry.remove, \"\");\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\tif (rule.type === \"SFX\") {\n\t\t\t\t\t\tnewWord = newWord + entry.add;\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tnewWord = entry.add + newWord;\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\tnewWords.push(newWord);\n\t\t\t\t\t\n\t\t\t\t\tif (\"continuationClasses\" in entry) {\n\t\t\t\t\t\tfor (var j = 0, _jlen = entry.continuationClasses.length; j < _jlen; j++) {\n\t\t\t\t\t\t\tvar continuationRule = this.rules[entry.continuationClasses[j]];\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tif (continuationRule) {\n\t\t\t\t\t\t\t\tnewWords = newWords.concat(this._applyRule(newWord, continuationRule));\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/*\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t// This shouldn't happen, but it does, at least in the de_DE dictionary.\n\t\t\t\t\t\t\t\t// I think the author mistakenly supplied lower-case rule codes instead \n\t\t\t\t\t\t\t\t// of upper-case.\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t*/\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\treturn newWords;\n\t\t},\n\t\t\n\t\t/**\n\t\t * Checks whether a word or a capitalization variant exists in the current dictionary.\n\t\t * The word is trimmed and several variations of capitalizations are checked.\n\t\t * If you want to check a word without any changes made to it, call checkExact()\n\t\t *\n\t\t * @see http://blog.stevenlevithan.com/archives/faster-trim-javascript re:trimming function\n\t\t *\n\t\t * @param {String} aWord The word to check.\n\t\t * @returns {Boolean}\n\t\t */\n\t\t\n\t\tcheck : function (aWord) {\n\t\t\tif (!this.loaded) {\n\t\t\t\tthrow \"Dictionary not loaded.\";\n\t\t\t}\n\t\t\t\n\t\t\t// Remove leading and trailing whitespace\n\t\t\tvar trimmedWord = aWord.replace(/^\\s\\s*/, '').replace(/\\s\\s*$/, '');\n\t\t\t\n\t\t\tif (this.checkExact(trimmedWord)) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\t\n\t\t\t// The exact word is not in the dictionary.\n\t\t\tif (trimmedWord.toUpperCase() === trimmedWord) {\n\t\t\t\t// The word was supplied in all uppercase.\n\t\t\t\t// Check for a capitalized form of the word.\n\t\t\t\tvar capitalizedWord = trimmedWord[0] + trimmedWord.substring(1).toLowerCase();\n\t\t\t\t\n\t\t\t\tif (this.hasFlag(capitalizedWord, \"KEEPCASE\")) {\n\t\t\t\t\t// Capitalization variants are not allowed for this word.\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif (this.checkExact(capitalizedWord)) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\tvar lowercaseWord = trimmedWord.toLowerCase();\n\t\t\t\n\t\t\tif (lowercaseWord !== trimmedWord) {\n\t\t\t\tif (this.hasFlag(lowercaseWord, \"KEEPCASE\")) {\n\t\t\t\t\t// Capitalization variants are not allowed for this word.\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t// Check for a lowercase form\n\t\t\t\tif (this.checkExact(lowercaseWord)) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\treturn false;\n\t\t},\n\t\t\n\t\t/**\n\t\t * Checks whether a word exists in the current dictionary.\n\t\t *\n\t\t * @param {String} word The word to check.\n\t\t * @returns {Boolean}\n\t\t */\n\t\t\n\t\tcheckExact : function (word) {\n\t\t\tif (!this.loaded) {\n\t\t\t\tthrow \"Dictionary not loaded.\";\n\t\t\t}\n\t\n\t\t\tvar ruleCodes = this.dictionaryTable[word];\n\t\t\t\n\t\t\tvar i, _len;\n\t\t\t\n\t\t\tif (typeof ruleCodes === 'undefined') {\n\t\t\t\t// Check if this might be a compound word.\n\t\t\t\tif (\"COMPOUNDMIN\" in this.flags && word.length >= this.flags.COMPOUNDMIN) {\n\t\t\t\t\tfor (i = 0, _len = this.compoundRules.length; i < _len; i++) {\n\t\t\t\t\t\tif (word.match(this.compoundRules[i])) {\n\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\telse if (ruleCodes === null) {\n\t\t\t\t// a null (but not undefined) value for an entry in the dictionary table\n\t\t\t\t// means that the word is in the dictionary but has no flags.\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\telse if (typeof ruleCodes === 'object') { // this.dictionary['hasOwnProperty'] will be a function.\n\t\t\t\tfor (i = 0, _len = ruleCodes.length; i < _len; i++) {\n\t\t\t\t\tif (!this.hasFlag(word, \"ONLYINCOMPOUND\", ruleCodes[i])) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\n\t\t\treturn false;\n\t\t},\n\t\t\n\t\t/**\n\t\t * Looks up whether a given word is flagged with a given flag.\n\t\t *\n\t\t * @param {String} word The word in question.\n\t\t * @param {String} flag The flag in question.\n\t\t * @return {Boolean}\n\t\t */\n\t\t \n\t\thasFlag : function (word, flag, wordFlags) {\n\t\t\tif (!this.loaded) {\n\t\t\t\tthrow \"Dictionary not loaded.\";\n\t\t\t}\n\t\n\t\t\tif (flag in this.flags) {\n\t\t\t\tif (typeof wordFlags === 'undefined') {\n\t\t\t\t\twordFlags = Array.prototype.concat.apply([], this.dictionaryTable[word]);\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif (wordFlags && wordFlags.indexOf(this.flags[flag]) !== -1) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\treturn false;\n\t\t},\n\t\t\n\t\t/**\n\t\t * Returns a list of suggestions for a misspelled word.\n\t\t *\n\t\t * @see http://www.norvig.com/spell-correct.html for the basis of this suggestor.\n\t\t * This suggestor is primitive, but it works.\n\t\t *\n\t\t * @param {String} word The misspelling.\n\t\t * @param {Number} [limit=5] The maximum number of suggestions to return.\n\t\t * @returns {String[]} The array of suggestions.\n\t\t */\n\t\t\n\t\talphabet : \"\",\n\t\t\n\t\tsuggest : function (word, limit) {\n\t\t\tif (!this.loaded) {\n\t\t\t\tthrow \"Dictionary not loaded.\";\n\t\t\t}\n\t\n\t\t\tlimit = limit || 5;\n\t\n\t\t\tif (this.memoized.hasOwnProperty(word)) {\n\t\t\t\tvar memoizedLimit = this.memoized[word]['limit'];\n\t\n\t\t\t\t// Only return the cached list if it's big enough or if there weren't enough suggestions\n\t\t\t\t// to fill a smaller limit.\n\t\t\t\tif (limit <= memoizedLimit || this.memoized[word]['suggestions'].length < memoizedLimit) {\n\t\t\t\t\treturn this.memoized[word]['suggestions'].slice(0, limit);\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\tif (this.check(word)) return [];\n\t\t\t\n\t\t\t// Check the replacement table.\n\t\t\tfor (var i = 0, _len = this.replacementTable.length; i < _len; i++) {\n\t\t\t\tvar replacementEntry = this.replacementTable[i];\n\t\t\t\t\n\t\t\t\tif (word.indexOf(replacementEntry[0]) !== -1) {\n\t\t\t\t\tvar correctedWord = word.replace(replacementEntry[0], replacementEntry[1]);\n\t\t\t\t\t\n\t\t\t\t\tif (this.check(correctedWord)) {\n\t\t\t\t\t\treturn [ correctedWord ];\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\tvar self = this;\n\t\t\tself.alphabet = \"abcdefghijklmnopqrstuvwxyz\";\n\t\t\t\n\t\t\t/*\n\t\t\tif (!self.alphabet) {\n\t\t\t\t// Use the alphabet as implicitly defined by the words in the dictionary.\n\t\t\t\tvar alphaHash = {};\n\t\t\t\t\n\t\t\t\tfor (var i in self.dictionaryTable) {\n\t\t\t\t\tfor (var j = 0, _len = i.length; j < _len; j++) {\n\t\t\t\t\t\talphaHash[i[j]] = true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tfor (var i in alphaHash) {\n\t\t\t\t\tself.alphabet += i;\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tvar alphaArray = self.alphabet.split(\"\");\n\t\t\t\talphaArray.sort();\n\t\t\t\tself.alphabet = alphaArray.join(\"\");\n\t\t\t}\n\t\t\t*/\n\t\t\t\n\t\t\tfunction edits1(words) {\n\t\t\t\tvar rv = [];\n\t\t\t\t\n\t\t\t\tvar ii, i, j, _iilen, _len, _jlen;\n\t\t\t\t\n\t\t\t\tfor (ii = 0, _iilen = words.length; ii < _iilen; ii++) {\n\t\t\t\t\tvar word = words[ii];\n\t\t\t\t\t\n\t\t\t\t\tfor (i = 0, _len = word.length + 1; i < _len; i++) {\n\t\t\t\t\t\tvar s = [ word.substring(0, i), word.substring(i) ];\n\t\t\t\t\t\n\t\t\t\t\t\tif (s[1]) {\n\t\t\t\t\t\t\trv.push(s[0] + s[1].substring(1));\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\t\t\t// Eliminate transpositions of identical letters\n\t\t\t\t\t\tif (s[1].length > 1 && s[1][1] !== s[1][0]) {\n\t\t\t\t\t\t\trv.push(s[0] + s[1][1] + s[1][0] + s[1].substring(2));\n\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\tif (s[1]) {\n\t\t\t\t\t\t\tfor (j = 0, _jlen = self.alphabet.length; j < _jlen; j++) {\n\t\t\t\t\t\t\t\t// Eliminate replacement of a letter by itself\n\t\t\t\t\t\t\t\tif (self.alphabet[j] != s[1].substring(0,1)){\n\t\t\t\t\t\t\t\t\trv.push(s[0] + self.alphabet[j] + s[1].substring(1));\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\tif (s[1]) {\n\t\t\t\t\t\t\tfor (j = 0, _jlen = self.alphabet.length; j < _jlen; j++) {\n\t\t\t\t\t\t\t\trv.push(s[0] + self.alphabet[j] + s[1]);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\treturn rv;\n\t\t\t}\n\t\t\t\n\t\t\tfunction known(words) {\n\t\t\t\tvar rv = [];\n\t\t\t\t\n\t\t\t\tfor (var i = 0, _len = words.length; i < _len; i++) {\n\t\t\t\t\tif (self.check(words[i])) {\n\t\t\t\t\t\trv.push(words[i]);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\treturn rv;\n\t\t\t}\n\t\t\t\n\t\t\tfunction correct(word) {\n\t\t\t\t// Get the edit-distance-1 and edit-distance-2 forms of this word.\n\t\t\t\tvar ed1 = edits1([word]);\n\t\t\t\tvar ed2 = edits1(ed1);\n\t\t\t\t\n\t\t\t\tvar corrections = known(ed1.concat(ed2));\n\t\t\t\t\n\t\t\t\tvar i, _len;\n\t\t\t\t\n\t\t\t\t// Sort the edits based on how many different ways they were created.\n\t\t\t\tvar weighted_corrections = {};\n\t\t\t\t\n\t\t\t\tfor (i = 0, _len = corrections.length; i < _len; i++) {\n\t\t\t\t\tif (!(corrections[i] in weighted_corrections)) {\n\t\t\t\t\t\tweighted_corrections[corrections[i]] = 1;\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tweighted_corrections[corrections[i]] += 1;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tvar sorted_corrections = [];\n\t\t\t\t\n\t\t\t\tfor (i in weighted_corrections) {\n\t\t\t\t\tif (weighted_corrections.hasOwnProperty(i)) {\n\t\t\t\t\t\tsorted_corrections.push([ i, weighted_corrections[i] ]);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tfunction sorter(a, b) {\n\t\t\t\t\tif (a[1] < b[1]) {\n\t\t\t\t\t\treturn -1;\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\treturn 1;\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tsorted_corrections.sort(sorter).reverse();\n\t\t\t\t\n\t\t\t\tvar rv = [];\n\t\n\t\t\t\tvar capitalization_scheme = \"lowercase\";\n\t\t\t\t\n\t\t\t\tif (word.toUpperCase() === word) {\n\t\t\t\t\tcapitalization_scheme = \"uppercase\";\n\t\t\t\t}\n\t\t\t\telse if (word.substr(0, 1).toUpperCase() + word.substr(1).toLowerCase() === word) {\n\t\t\t\t\tcapitalization_scheme = \"capitalized\";\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tfor (i = 0, _len = Math.min(limit, sorted_corrections.length); i < _len; i++) {\n\t\t\t\t\tif (\"uppercase\" === capitalization_scheme) {\n\t\t\t\t\t\tsorted_corrections[i][0] = sorted_corrections[i][0].toUpperCase();\n\t\t\t\t\t}\n\t\t\t\t\telse if (\"capitalized\" === capitalization_scheme) {\n\t\t\t\t\t\tsorted_corrections[i][0] = sorted_corrections[i][0].substr(0, 1).toUpperCase() + sorted_corrections[i][0].substr(1);\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\tif (!self.hasFlag(sorted_corrections[i][0], \"NOSUGGEST\")) {\n\t\t\t\t\t\trv.push(sorted_corrections[i][0]);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\treturn rv;\n\t\t\t}\n\t\t\t\n\t\t\tthis.memoized[word] = {\n\t\t\t\t'suggestions': correct(word),\n\t\t\t\t'limit': limit\n\t\t\t};\n\t\n\t\t\treturn this.memoized[word]['suggestions'];\n\t\t}\n\t};\n\t})();\n\t\n\t// Support for use as a node.js module.\n\tif (true) {\n\t\tmodule.exports = Typo;\n\t}\n\t/* WEBPACK VAR INJECTION */}.call(exports, \"/\", __webpack_require__(108).Buffer))\n\n/***/ },\n/* 667 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\t\n\tvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\t\n\texports.default = createUncontrollable;\n\t\n\tvar _react = __webpack_require__(2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _invariant = __webpack_require__(10);\n\t\n\tvar _invariant2 = _interopRequireDefault(_invariant);\n\t\n\tvar _utils = __webpack_require__(668);\n\t\n\tvar utils = _interopRequireWildcard(_utils);\n\t\n\tfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction createUncontrollable(mixins, set) {\n\t\n\t return uncontrollable;\n\t\n\t function uncontrollable(Component, controlledValues) {\n\t var methods = arguments.length <= 2 || arguments[2] === undefined ? [] : arguments[2];\n\t\n\t var displayName = Component.displayName || Component.name || 'Component',\n\t basePropTypes = utils.getType(Component).propTypes,\n\t isCompositeComponent = utils.isReactComponent(Component),\n\t controlledProps = Object.keys(controlledValues),\n\t propTypes;\n\t\n\t var OMIT_PROPS = ['valueLink', 'checkedLink'].concat(controlledProps.map(utils.defaultKey));\n\t\n\t propTypes = utils.uncontrolledPropTypes(controlledValues, basePropTypes, displayName);\n\t\n\t (0, _invariant2.default)(isCompositeComponent || !methods.length, '[uncontrollable] stateless function components cannot pass through methods ' + 'because they have no associated instances. Check component: ' + displayName + ', ' + 'attempting to pass through methods: ' + methods.join(', '));\n\t\n\t methods = utils.transform(methods, function (obj, method) {\n\t obj[method] = function () {\n\t var _refs$inner;\n\t\n\t return (_refs$inner = this.refs.inner)[method].apply(_refs$inner, arguments);\n\t };\n\t }, {});\n\t\n\t var component = _react2.default.createClass(_extends({\n\t\n\t displayName: 'Uncontrolled(' + displayName + ')',\n\t\n\t mixins: mixins,\n\t\n\t propTypes: propTypes\n\t\n\t }, methods, {\n\t componentWillMount: function componentWillMount() {\n\t var _this = this;\n\t\n\t var props = this.props;\n\t\n\t this._values = {};\n\t\n\t controlledProps.forEach(function (key) {\n\t _this._values[key] = props[utils.defaultKey(key)];\n\t });\n\t },\n\t\n\t\n\t /**\n\t * If a prop switches from controlled to Uncontrolled\n\t * reset its value to the defaultValue\n\t */\n\t componentWillReceiveProps: function componentWillReceiveProps(nextProps) {\n\t var _this2 = this;\n\t\n\t var props = this.props;\n\t\n\t controlledProps.forEach(function (key) {\n\t if (utils.getValue(nextProps, key) === undefined && utils.getValue(props, key) !== undefined) {\n\t _this2._values[key] = nextProps[utils.defaultKey(key)];\n\t }\n\t });\n\t },\n\t getControlledInstance: function getControlledInstance() {\n\t return this.refs.inner;\n\t },\n\t render: function render() {\n\t var _this3 = this;\n\t\n\t var newProps = {},\n\t props = omitProps(this.props);\n\t\n\t utils.each(controlledValues, function (handle, propName) {\n\t var linkPropName = utils.getLinkName(propName),\n\t prop = _this3.props[propName];\n\t\n\t if (linkPropName && !isProp(_this3.props, propName) && isProp(_this3.props, linkPropName)) {\n\t prop = _this3.props[linkPropName].value;\n\t }\n\t\n\t newProps[propName] = prop !== undefined ? prop : _this3._values[propName];\n\t\n\t newProps[handle] = setAndNotify.bind(_this3, propName);\n\t });\n\t\n\t newProps = _extends({}, props, newProps, {\n\t ref: isCompositeComponent ? 'inner' : null\n\t });\n\t\n\t return _react2.default.createElement(Component, newProps);\n\t }\n\t }));\n\t\n\t component.ControlledComponent = Component;\n\t\n\t /**\n\t * useful when wrapping a Component and you want to control\n\t * everything\n\t */\n\t component.deferControlTo = function (newComponent) {\n\t var additions = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\t var nextMethods = arguments[2];\n\t\n\t return uncontrollable(newComponent, _extends({}, controlledValues, additions), nextMethods);\n\t };\n\t\n\t return component;\n\t\n\t function setAndNotify(propName, value) {\n\t var linkName = utils.getLinkName(propName),\n\t handler = this.props[controlledValues[propName]];\n\t\n\t if (linkName && isProp(this.props, linkName) && !handler) {\n\t handler = this.props[linkName].requestChange;\n\t }\n\t\n\t for (var _len = arguments.length, args = Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n\t args[_key - 2] = arguments[_key];\n\t }\n\t\n\t set(this, propName, handler, value, args);\n\t }\n\t\n\t function isProp(props, prop) {\n\t return props[prop] !== undefined;\n\t }\n\t\n\t function omitProps(props) {\n\t var result = {};\n\t\n\t utils.each(props, function (value, key) {\n\t if (OMIT_PROPS.indexOf(key) === -1) result[key] = value;\n\t });\n\t\n\t return result;\n\t }\n\t }\n\t}\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 668 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\texports.version = undefined;\n\texports.uncontrolledPropTypes = uncontrolledPropTypes;\n\texports.getType = getType;\n\texports.getValue = getValue;\n\texports.getLinkName = getLinkName;\n\texports.defaultKey = defaultKey;\n\texports.chain = chain;\n\texports.transform = transform;\n\texports.each = each;\n\texports.has = has;\n\texports.isReactComponent = isReactComponent;\n\t\n\tvar _react = __webpack_require__(2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _invariant = __webpack_require__(10);\n\t\n\tvar _invariant2 = _interopRequireDefault(_invariant);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction readOnlyPropType(handler, name) {\n\t return function (props, propName) {\n\t if (props[propName] !== undefined) {\n\t if (!props[handler]) {\n\t return new Error('You have provided a `' + propName + '` prop to ' + '`' + name + '` without an `' + handler + '` handler. This will render a read-only field. ' + 'If the field should be mutable use `' + defaultKey(propName) + '`. Otherwise, set `' + handler + '`');\n\t }\n\t }\n\t };\n\t}\n\t\n\tfunction uncontrolledPropTypes(controlledValues, basePropTypes, displayName) {\n\t var propTypes = {};\n\t\n\t if (false) {\n\t transform(controlledValues, function (obj, handler, prop) {\n\t (0, _invariant2.default)(typeof handler === 'string' && handler.trim().length, 'Uncontrollable - [%s]: the prop `%s` needs a valid handler key name in order to make it uncontrollable', displayName, prop);\n\t\n\t obj[prop] = readOnlyPropType(handler, displayName);\n\t }, propTypes);\n\t }\n\t\n\t return propTypes;\n\t}\n\t\n\tvar version = exports.version = _react2.default.version.split('.').map(parseFloat);\n\t\n\tfunction getType(component) {\n\t if (version[0] >= 15 || version[0] === 0 && version[1] >= 13) return component;\n\t\n\t return component.type;\n\t}\n\t\n\tfunction getValue(props, name) {\n\t var linkPropName = getLinkName(name);\n\t\n\t if (linkPropName && !isProp(props, name) && isProp(props, linkPropName)) return props[linkPropName].value;\n\t\n\t return props[name];\n\t}\n\t\n\tfunction isProp(props, prop) {\n\t return props[prop] !== undefined;\n\t}\n\t\n\tfunction getLinkName(name) {\n\t return name === 'value' ? 'valueLink' : name === 'checked' ? 'checkedLink' : null;\n\t}\n\t\n\tfunction defaultKey(key) {\n\t return 'default' + key.charAt(0).toUpperCase() + key.substr(1);\n\t}\n\t\n\tfunction chain(thisArg, a, b) {\n\t return function chainedFunction() {\n\t for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n\t args[_key] = arguments[_key];\n\t }\n\t\n\t a && a.call.apply(a, [thisArg].concat(args));\n\t b && b.call.apply(b, [thisArg].concat(args));\n\t };\n\t}\n\t\n\tfunction transform(obj, cb, seed) {\n\t each(obj, cb.bind(null, seed = seed || (Array.isArray(obj) ? [] : {})));\n\t return seed;\n\t}\n\t\n\tfunction each(obj, cb, thisArg) {\n\t if (Array.isArray(obj)) return obj.forEach(cb, thisArg);\n\t\n\t for (var key in obj) {\n\t if (has(obj, key)) cb.call(thisArg, obj[key], key, obj);\n\t }\n\t}\n\t\n\tfunction has(o, k) {\n\t return o ? Object.prototype.hasOwnProperty.call(o, k) : false;\n\t}\n\t\n\t/**\n\t * Copyright (c) 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t */\n\tfunction isReactComponent(component) {\n\t return !!(component && component.prototype && component.prototype.isReactComponent);\n\t}\n\n/***/ },\n/* 669 */\n/***/ function(module, exports) {\n\n\tmodule.exports={166:{\"value\":\"00A6\",\"name\":\"BROKEN BAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"BROKEN VERTICAL BAR\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\xA6\"},169:{\"value\":\"00A9\",\"name\":\"COPYRIGHT SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\xA9\"},174:{\"value\":\"00AE\",\"name\":\"REGISTERED SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"REGISTERED TRADE MARK SIGN\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\xAE\"},176:{\"value\":\"00B0\",\"name\":\"DEGREE SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ET\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\xB0\"},1154:{\"value\":\"0482\",\"name\":\"CYRILLIC THOUSANDS SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0482\"},1421:{\"value\":\"058D\",\"name\":\"RIGHT-FACING ARMENIAN ETERNITY SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u058D\"},1422:{\"value\":\"058E\",\"name\":\"LEFT-FACING ARMENIAN ETERNITY SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u058E\"},1550:{\"value\":\"060E\",\"name\":\"ARABIC POETIC VERSE SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u060E\"},1551:{\"value\":\"060F\",\"name\":\"ARABIC SIGN MISRA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u060F\"},1758:{\"value\":\"06DE\",\"name\":\"ARABIC START OF RUB EL HIZB\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u06DE\"},1769:{\"value\":\"06E9\",\"name\":\"ARABIC PLACE OF SAJDAH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u06E9\"},1789:{\"value\":\"06FD\",\"name\":\"ARABIC SIGN SINDHI AMPERSAND\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"AL\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u06FD\"},1790:{\"value\":\"06FE\",\"name\":\"ARABIC SIGN SINDHI POSTPOSITION MEN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"AL\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u06FE\"},2038:{\"value\":\"07F6\",\"name\":\"NKO SYMBOL OO DENNEN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u07F6\"},2554:{\"value\":\"09FA\",\"name\":\"BENGALI ISSHAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u09FA\"},2928:{\"value\":\"0B70\",\"name\":\"ORIYA ISSHAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0B70\"},3059:{\"value\":\"0BF3\",\"name\":\"TAMIL DAY SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0BF3\"},3060:{\"value\":\"0BF4\",\"name\":\"TAMIL MONTH SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0BF4\"},3061:{\"value\":\"0BF5\",\"name\":\"TAMIL YEAR SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0BF5\"},3062:{\"value\":\"0BF6\",\"name\":\"TAMIL DEBIT SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0BF6\"},3063:{\"value\":\"0BF7\",\"name\":\"TAMIL CREDIT SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0BF7\"},3064:{\"value\":\"0BF8\",\"name\":\"TAMIL AS ABOVE SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0BF8\"},3066:{\"value\":\"0BFA\",\"name\":\"TAMIL NUMBER SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0BFA\"},3199:{\"value\":\"0C7F\",\"name\":\"TELUGU SIGN TUUMU\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0C7F\"},3407:{\"value\":\"0D4F\",\"name\":\"MALAYALAM SIGN PARA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0D4F\"},3449:{\"value\":\"0D79\",\"name\":\"MALAYALAM DATE MARK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0D79\"},3841:{\"value\":\"0F01\",\"name\":\"TIBETAN MARK GTER YIG MGO TRUNCATED A\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0F01\"},3842:{\"value\":\"0F02\",\"name\":\"TIBETAN MARK GTER YIG MGO -UM RNAM BCAD MA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0F02\"},3843:{\"value\":\"0F03\",\"name\":\"TIBETAN MARK GTER YIG MGO -UM GTER TSHEG MA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0F03\"},3859:{\"value\":\"0F13\",\"name\":\"TIBETAN MARK CARET -DZUD RTAGS ME LONG CAN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0F13\"},3861:{\"value\":\"0F15\",\"name\":\"TIBETAN LOGOTYPE SIGN CHAD RTAGS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0F15\"},3862:{\"value\":\"0F16\",\"name\":\"TIBETAN LOGOTYPE SIGN LHAG RTAGS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0F16\"},3863:{\"value\":\"0F17\",\"name\":\"TIBETAN ASTROLOGICAL SIGN SGRA GCAN -CHAR RTAGS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0F17\"},3866:{\"value\":\"0F1A\",\"name\":\"TIBETAN SIGN RDEL DKAR GCIG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0F1A\"},3867:{\"value\":\"0F1B\",\"name\":\"TIBETAN SIGN RDEL DKAR GNYIS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0F1B\"},3868:{\"value\":\"0F1C\",\"name\":\"TIBETAN SIGN RDEL DKAR GSUM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0F1C\"},3869:{\"value\":\"0F1D\",\"name\":\"TIBETAN SIGN RDEL NAG GCIG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0F1D\"},3870:{\"value\":\"0F1E\",\"name\":\"TIBETAN SIGN RDEL NAG GNYIS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0F1E\"},3871:{\"value\":\"0F1F\",\"name\":\"TIBETAN SIGN RDEL DKAR RDEL NAG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0F1F\"},3892:{\"value\":\"0F34\",\"name\":\"TIBETAN MARK BSDUS RTAGS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0F34\"},3894:{\"value\":\"0F36\",\"name\":\"TIBETAN MARK CARET -DZUD RTAGS BZHI MIG CAN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0F36\"},3896:{\"value\":\"0F38\",\"name\":\"TIBETAN MARK CHE MGO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0F38\"},4030:{\"value\":\"0FBE\",\"name\":\"TIBETAN KU RU KHA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0FBE\"},4031:{\"value\":\"0FBF\",\"name\":\"TIBETAN KU RU KHA BZHI MIG CAN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0FBF\"},4032:{\"value\":\"0FC0\",\"name\":\"TIBETAN CANTILLATION SIGN HEAVY BEAT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0FC0\"},4033:{\"value\":\"0FC1\",\"name\":\"TIBETAN CANTILLATION SIGN LIGHT BEAT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0FC1\"},4034:{\"value\":\"0FC2\",\"name\":\"TIBETAN CANTILLATION SIGN CANG TE-U\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0FC2\"},4035:{\"value\":\"0FC3\",\"name\":\"TIBETAN CANTILLATION SIGN SBUB -CHAL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0FC3\"},4036:{\"value\":\"0FC4\",\"name\":\"TIBETAN SYMBOL DRIL BU\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0FC4\"},4037:{\"value\":\"0FC5\",\"name\":\"TIBETAN SYMBOL RDO RJE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0FC5\"},4039:{\"value\":\"0FC7\",\"name\":\"TIBETAN SYMBOL RDO RJE RGYA GRAM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0FC7\"},4040:{\"value\":\"0FC8\",\"name\":\"TIBETAN SYMBOL PHUR PA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0FC8\"},4041:{\"value\":\"0FC9\",\"name\":\"TIBETAN SYMBOL NOR BU\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0FC9\"},4042:{\"value\":\"0FCA\",\"name\":\"TIBETAN SYMBOL NOR BU NYIS -KHYIL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0FCA\"},4043:{\"value\":\"0FCB\",\"name\":\"TIBETAN SYMBOL NOR BU GSUM -KHYIL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0FCB\"},4044:{\"value\":\"0FCC\",\"name\":\"TIBETAN SYMBOL NOR BU BZHI -KHYIL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0FCC\"},4046:{\"value\":\"0FCE\",\"name\":\"TIBETAN SIGN RDEL NAG RDEL DKAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0FCE\"},4047:{\"value\":\"0FCF\",\"name\":\"TIBETAN SIGN RDEL NAG GSUM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0FCF\"},4053:{\"value\":\"0FD5\",\"name\":\"RIGHT-FACING SVASTI SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0FD5\"},4054:{\"value\":\"0FD6\",\"name\":\"LEFT-FACING SVASTI SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0FD6\"},4055:{\"value\":\"0FD7\",\"name\":\"RIGHT-FACING SVASTI SIGN WITH DOTS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0FD7\"},4056:{\"value\":\"0FD8\",\"name\":\"LEFT-FACING SVASTI SIGN WITH DOTS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0FD8\"},4254:{\"value\":\"109E\",\"name\":\"MYANMAR SYMBOL SHAN ONE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u109E\"},4255:{\"value\":\"109F\",\"name\":\"MYANMAR SYMBOL SHAN EXCLAMATION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u109F\"},5008:{\"value\":\"1390\",\"name\":\"ETHIOPIC TONAL MARK YIZET\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u1390\"},5009:{\"value\":\"1391\",\"name\":\"ETHIOPIC TONAL MARK DERET\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u1391\"},5010:{\"value\":\"1392\",\"name\":\"ETHIOPIC TONAL MARK RIKRIK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u1392\"},5011:{\"value\":\"1393\",\"name\":\"ETHIOPIC TONAL MARK SHORT RIKRIK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u1393\"},5012:{\"value\":\"1394\",\"name\":\"ETHIOPIC TONAL MARK DIFAT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u1394\"},5013:{\"value\":\"1395\",\"name\":\"ETHIOPIC TONAL MARK KENAT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u1395\"},5014:{\"value\":\"1396\",\"name\":\"ETHIOPIC TONAL MARK CHIRET\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u1396\"},5015:{\"value\":\"1397\",\"name\":\"ETHIOPIC TONAL MARK HIDET\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u1397\"},5016:{\"value\":\"1398\",\"name\":\"ETHIOPIC TONAL MARK DERET-HIDET\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u1398\"},5017:{\"value\":\"1399\",\"name\":\"ETHIOPIC TONAL MARK KURT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u1399\"},6464:{\"value\":\"1940\",\"name\":\"LIMBU SIGN LOO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u1940\"},6622:{\"value\":\"19DE\",\"name\":\"NEW TAI LUE SIGN LAE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u19DE\"},6623:{\"value\":\"19DF\",\"name\":\"NEW TAI LUE SIGN LAEV\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u19DF\"},6624:{\"value\":\"19E0\",\"name\":\"KHMER SYMBOL PATHAMASAT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u19E0\"},6625:{\"value\":\"19E1\",\"name\":\"KHMER SYMBOL MUOY KOET\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u19E1\"},6626:{\"value\":\"19E2\",\"name\":\"KHMER SYMBOL PII KOET\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u19E2\"},6627:{\"value\":\"19E3\",\"name\":\"KHMER SYMBOL BEI KOET\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u19E3\"},6628:{\"value\":\"19E4\",\"name\":\"KHMER SYMBOL BUON KOET\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u19E4\"},6629:{\"value\":\"19E5\",\"name\":\"KHMER SYMBOL PRAM KOET\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u19E5\"},6630:{\"value\":\"19E6\",\"name\":\"KHMER SYMBOL PRAM-MUOY KOET\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u19E6\"},6631:{\"value\":\"19E7\",\"name\":\"KHMER SYMBOL PRAM-PII KOET\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u19E7\"},6632:{\"value\":\"19E8\",\"name\":\"KHMER SYMBOL PRAM-BEI KOET\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u19E8\"},6633:{\"value\":\"19E9\",\"name\":\"KHMER SYMBOL PRAM-BUON KOET\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u19E9\"},6634:{\"value\":\"19EA\",\"name\":\"KHMER SYMBOL DAP KOET\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u19EA\"},6635:{\"value\":\"19EB\",\"name\":\"KHMER SYMBOL DAP-MUOY KOET\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u19EB\"},6636:{\"value\":\"19EC\",\"name\":\"KHMER SYMBOL DAP-PII KOET\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u19EC\"},6637:{\"value\":\"19ED\",\"name\":\"KHMER SYMBOL DAP-BEI KOET\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u19ED\"},6638:{\"value\":\"19EE\",\"name\":\"KHMER SYMBOL DAP-BUON KOET\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u19EE\"},6639:{\"value\":\"19EF\",\"name\":\"KHMER SYMBOL DAP-PRAM KOET\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u19EF\"},6640:{\"value\":\"19F0\",\"name\":\"KHMER SYMBOL TUTEYASAT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u19F0\"},6641:{\"value\":\"19F1\",\"name\":\"KHMER SYMBOL MUOY ROC\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u19F1\"},6642:{\"value\":\"19F2\",\"name\":\"KHMER SYMBOL PII ROC\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u19F2\"},6643:{\"value\":\"19F3\",\"name\":\"KHMER SYMBOL BEI ROC\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u19F3\"},6644:{\"value\":\"19F4\",\"name\":\"KHMER SYMBOL BUON ROC\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u19F4\"},6645:{\"value\":\"19F5\",\"name\":\"KHMER SYMBOL PRAM ROC\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u19F5\"},6646:{\"value\":\"19F6\",\"name\":\"KHMER SYMBOL PRAM-MUOY ROC\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u19F6\"},6647:{\"value\":\"19F7\",\"name\":\"KHMER SYMBOL PRAM-PII ROC\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u19F7\"},6648:{\"value\":\"19F8\",\"name\":\"KHMER SYMBOL PRAM-BEI ROC\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u19F8\"},6649:{\"value\":\"19F9\",\"name\":\"KHMER SYMBOL PRAM-BUON ROC\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u19F9\"},6650:{\"value\":\"19FA\",\"name\":\"KHMER SYMBOL DAP ROC\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u19FA\"},6651:{\"value\":\"19FB\",\"name\":\"KHMER SYMBOL DAP-MUOY ROC\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u19FB\"},6652:{\"value\":\"19FC\",\"name\":\"KHMER SYMBOL DAP-PII ROC\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u19FC\"},6653:{\"value\":\"19FD\",\"name\":\"KHMER SYMBOL DAP-BEI ROC\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u19FD\"},6654:{\"value\":\"19FE\",\"name\":\"KHMER SYMBOL DAP-BUON ROC\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u19FE\"},6655:{\"value\":\"19FF\",\"name\":\"KHMER SYMBOL DAP-PRAM ROC\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u19FF\"},7009:{\"value\":\"1B61\",\"name\":\"BALINESE MUSICAL SYMBOL DONG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u1B61\"},7010:{\"value\":\"1B62\",\"name\":\"BALINESE MUSICAL SYMBOL DENG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u1B62\"},7011:{\"value\":\"1B63\",\"name\":\"BALINESE MUSICAL SYMBOL DUNG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u1B63\"},7012:{\"value\":\"1B64\",\"name\":\"BALINESE MUSICAL SYMBOL DANG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u1B64\"},7013:{\"value\":\"1B65\",\"name\":\"BALINESE MUSICAL SYMBOL DANG SURANG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u1B65\"},7014:{\"value\":\"1B66\",\"name\":\"BALINESE MUSICAL SYMBOL DING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u1B66\"},7015:{\"value\":\"1B67\",\"name\":\"BALINESE MUSICAL SYMBOL DAENG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u1B67\"},7016:{\"value\":\"1B68\",\"name\":\"BALINESE MUSICAL SYMBOL DEUNG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u1B68\"},7017:{\"value\":\"1B69\",\"name\":\"BALINESE MUSICAL SYMBOL DAING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u1B69\"},7018:{\"value\":\"1B6A\",\"name\":\"BALINESE MUSICAL SYMBOL DANG GEDE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u1B6A\"},7028:{\"value\":\"1B74\",\"name\":\"BALINESE MUSICAL SYMBOL RIGHT-HAND OPEN DUG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u1B74\"},7029:{\"value\":\"1B75\",\"name\":\"BALINESE MUSICAL SYMBOL RIGHT-HAND OPEN DAG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u1B75\"},7030:{\"value\":\"1B76\",\"name\":\"BALINESE MUSICAL SYMBOL RIGHT-HAND CLOSED TUK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u1B76\"},7031:{\"value\":\"1B77\",\"name\":\"BALINESE MUSICAL SYMBOL RIGHT-HAND CLOSED TAK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u1B77\"},7032:{\"value\":\"1B78\",\"name\":\"BALINESE MUSICAL SYMBOL LEFT-HAND OPEN PANG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u1B78\"},7033:{\"value\":\"1B79\",\"name\":\"BALINESE MUSICAL SYMBOL LEFT-HAND OPEN PUNG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u1B79\"},7034:{\"value\":\"1B7A\",\"name\":\"BALINESE MUSICAL SYMBOL LEFT-HAND CLOSED PLAK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u1B7A\"},7035:{\"value\":\"1B7B\",\"name\":\"BALINESE MUSICAL SYMBOL LEFT-HAND CLOSED PLUK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u1B7B\"},7036:{\"value\":\"1B7C\",\"name\":\"BALINESE MUSICAL SYMBOL LEFT-HAND OPEN PING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u1B7C\"},8448:{\"value\":\"2100\",\"name\":\"ACCOUNT OF\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 0061 002F 0063\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2100\"},8449:{\"value\":\"2101\",\"name\":\"ADDRESSED TO THE SUBJECT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 0061 002F 0073\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2101\"},8451:{\"value\":\"2103\",\"name\":\"DEGREE CELSIUS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 00B0 0043\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"DEGREES CENTIGRADE\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2103\"},8452:{\"value\":\"2104\",\"name\":\"CENTRE LINE SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"C L SYMBOL\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2104\"},8453:{\"value\":\"2105\",\"name\":\"CARE OF\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 0063 002F 006F\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2105\"},8454:{\"value\":\"2106\",\"name\":\"CADA UNA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 0063 002F 0075\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2106\"},8456:{\"value\":\"2108\",\"name\":\"SCRUPLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2108\"},8457:{\"value\":\"2109\",\"name\":\"DEGREE FAHRENHEIT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 00B0 0046\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"DEGREES FAHRENHEIT\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2109\"},8468:{\"value\":\"2114\",\"name\":\"L B BAR SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2114\"},8470:{\"value\":\"2116\",\"name\":\"NUMERO SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 004E 006F\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"NUMERO\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2116\"},8471:{\"value\":\"2117\",\"name\":\"SOUND RECORDING COPYRIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2117\"},8478:{\"value\":\"211E\",\"name\":\"PRESCRIPTION TAKE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u211E\"},8479:{\"value\":\"211F\",\"name\":\"RESPONSE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u211F\"},8480:{\"value\":\"2120\",\"name\":\"SERVICE MARK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<super> 0053 004D\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2120\"},8481:{\"value\":\"2121\",\"name\":\"TELEPHONE SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 0054 0045 004C\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"T E L SYMBOL\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2121\"},8482:{\"value\":\"2122\",\"name\":\"TRADE MARK SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<super> 0054 004D\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"TRADEMARK\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2122\"},8483:{\"value\":\"2123\",\"name\":\"VERSICLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2123\"},8485:{\"value\":\"2125\",\"name\":\"OUNCE SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"OUNCE\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2125\"},8487:{\"value\":\"2127\",\"name\":\"INVERTED OHM SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"MHO\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2127\"},8489:{\"value\":\"2129\",\"name\":\"TURNED GREEK SMALL LETTER IOTA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2129\"},8494:{\"value\":\"212E\",\"name\":\"ESTIMATED SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ET\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u212E\"},8506:{\"value\":\"213A\",\"name\":\"ROTATED CAPITAL Q\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u213A\"},8507:{\"value\":\"213B\",\"name\":\"FACSIMILE SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 0046 0041 0058\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u213B\"},8522:{\"value\":\"214A\",\"name\":\"PROPERTY LINE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u214A\"},8524:{\"value\":\"214C\",\"name\":\"PER SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u214C\"},8525:{\"value\":\"214D\",\"name\":\"AKTIESELSKAB\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u214D\"},8527:{\"value\":\"214F\",\"name\":\"SYMBOL FOR SAMARITAN SOURCE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u214F\"},8586:{\"value\":\"218A\",\"name\":\"TURNED DIGIT TWO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u218A\"},8587:{\"value\":\"218B\",\"name\":\"TURNED DIGIT THREE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u218B\"},8597:{\"value\":\"2195\",\"name\":\"UP DOWN ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2195\"},8598:{\"value\":\"2196\",\"name\":\"NORTH WEST ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"UPPER LEFT ARROW\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2196\"},8599:{\"value\":\"2197\",\"name\":\"NORTH EAST ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"UPPER RIGHT ARROW\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2197\"},8600:{\"value\":\"2198\",\"name\":\"SOUTH EAST ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"LOWER RIGHT ARROW\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2198\"},8601:{\"value\":\"2199\",\"name\":\"SOUTH WEST ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"LOWER LEFT ARROW\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2199\"},8604:{\"value\":\"219C\",\"name\":\"LEFTWARDS WAVE ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"LEFT WAVE ARROW\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u219C\"},8605:{\"value\":\"219D\",\"name\":\"RIGHTWARDS WAVE ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"RIGHT WAVE ARROW\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u219D\"},8606:{\"value\":\"219E\",\"name\":\"LEFTWARDS TWO HEADED ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"LEFT TWO HEADED ARROW\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u219E\"},8607:{\"value\":\"219F\",\"name\":\"UPWARDS TWO HEADED ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"UP TWO HEADED ARROW\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u219F\"},8609:{\"value\":\"21A1\",\"name\":\"DOWNWARDS TWO HEADED ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"DOWN TWO HEADED ARROW\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21A1\"},8610:{\"value\":\"21A2\",\"name\":\"LEFTWARDS ARROW WITH TAIL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"LEFT ARROW WITH TAIL\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21A2\"},8612:{\"value\":\"21A4\",\"name\":\"LEFTWARDS ARROW FROM BAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"LEFT ARROW FROM BAR\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21A4\"},8613:{\"value\":\"21A5\",\"name\":\"UPWARDS ARROW FROM BAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"UP ARROW FROM BAR\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21A5\"},8615:{\"value\":\"21A7\",\"name\":\"DOWNWARDS ARROW FROM BAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"DOWN ARROW FROM BAR\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21A7\"},8616:{\"value\":\"21A8\",\"name\":\"UP DOWN ARROW WITH BASE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21A8\"},8617:{\"value\":\"21A9\",\"name\":\"LEFTWARDS ARROW WITH HOOK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"LEFT ARROW WITH HOOK\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21A9\"},8618:{\"value\":\"21AA\",\"name\":\"RIGHTWARDS ARROW WITH HOOK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"RIGHT ARROW WITH HOOK\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21AA\"},8619:{\"value\":\"21AB\",\"name\":\"LEFTWARDS ARROW WITH LOOP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"LEFT ARROW WITH LOOP\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21AB\"},8620:{\"value\":\"21AC\",\"name\":\"RIGHTWARDS ARROW WITH LOOP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"RIGHT ARROW WITH LOOP\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21AC\"},8621:{\"value\":\"21AD\",\"name\":\"LEFT RIGHT WAVE ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21AD\"},8623:{\"value\":\"21AF\",\"name\":\"DOWNWARDS ZIGZAG ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"DOWN ZIGZAG ARROW\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21AF\"},8624:{\"value\":\"21B0\",\"name\":\"UPWARDS ARROW WITH TIP LEFTWARDS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"UP ARROW WITH TIP LEFT\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21B0\"},8625:{\"value\":\"21B1\",\"name\":\"UPWARDS ARROW WITH TIP RIGHTWARDS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"UP ARROW WITH TIP RIGHT\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21B1\"},8626:{\"value\":\"21B2\",\"name\":\"DOWNWARDS ARROW WITH TIP LEFTWARDS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"DOWN ARROW WITH TIP LEFT\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21B2\"},8627:{\"value\":\"21B3\",\"name\":\"DOWNWARDS ARROW WITH TIP RIGHTWARDS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"DOWN ARROW WITH TIP RIGHT\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21B3\"},8628:{\"value\":\"21B4\",\"name\":\"RIGHTWARDS ARROW WITH CORNER DOWNWARDS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"RIGHT ARROW WITH CORNER DOWN\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21B4\"},8629:{\"value\":\"21B5\",\"name\":\"DOWNWARDS ARROW WITH CORNER LEFTWARDS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"DOWN ARROW WITH CORNER LEFT\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21B5\"},8630:{\"value\":\"21B6\",\"name\":\"ANTICLOCKWISE TOP SEMICIRCLE ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21B6\"},8631:{\"value\":\"21B7\",\"name\":\"CLOCKWISE TOP SEMICIRCLE ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21B7\"},8632:{\"value\":\"21B8\",\"name\":\"NORTH WEST ARROW TO LONG BAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"UPPER LEFT ARROW TO LONG BAR\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21B8\"},8633:{\"value\":\"21B9\",\"name\":\"LEFTWARDS ARROW TO BAR OVER RIGHTWARDS ARROW TO BAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"LEFT ARROW TO BAR OVER RIGHT ARROW TO BAR\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21B9\"},8634:{\"value\":\"21BA\",\"name\":\"ANTICLOCKWISE OPEN CIRCLE ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21BA\"},8635:{\"value\":\"21BB\",\"name\":\"CLOCKWISE OPEN CIRCLE ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21BB\"},8636:{\"value\":\"21BC\",\"name\":\"LEFTWARDS HARPOON WITH BARB UPWARDS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"LEFT HARPOON WITH BARB UP\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21BC\"},8637:{\"value\":\"21BD\",\"name\":\"LEFTWARDS HARPOON WITH BARB DOWNWARDS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"LEFT HARPOON WITH BARB DOWN\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21BD\"},8638:{\"value\":\"21BE\",\"name\":\"UPWARDS HARPOON WITH BARB RIGHTWARDS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"UP HARPOON WITH BARB RIGHT\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21BE\"},8639:{\"value\":\"21BF\",\"name\":\"UPWARDS HARPOON WITH BARB LEFTWARDS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"UP HARPOON WITH BARB LEFT\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21BF\"},8640:{\"value\":\"21C0\",\"name\":\"RIGHTWARDS HARPOON WITH BARB UPWARDS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"RIGHT HARPOON WITH BARB UP\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21C0\"},8641:{\"value\":\"21C1\",\"name\":\"RIGHTWARDS HARPOON WITH BARB DOWNWARDS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"RIGHT HARPOON WITH BARB DOWN\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21C1\"},8642:{\"value\":\"21C2\",\"name\":\"DOWNWARDS HARPOON WITH BARB RIGHTWARDS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"DOWN HARPOON WITH BARB RIGHT\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21C2\"},8643:{\"value\":\"21C3\",\"name\":\"DOWNWARDS HARPOON WITH BARB LEFTWARDS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"DOWN HARPOON WITH BARB LEFT\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21C3\"},8644:{\"value\":\"21C4\",\"name\":\"RIGHTWARDS ARROW OVER LEFTWARDS ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"RIGHT ARROW OVER LEFT ARROW\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21C4\"},8645:{\"value\":\"21C5\",\"name\":\"UPWARDS ARROW LEFTWARDS OF DOWNWARDS ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"UP ARROW LEFT OF DOWN ARROW\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21C5\"},8646:{\"value\":\"21C6\",\"name\":\"LEFTWARDS ARROW OVER RIGHTWARDS ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"LEFT ARROW OVER RIGHT ARROW\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21C6\"},8647:{\"value\":\"21C7\",\"name\":\"LEFTWARDS PAIRED ARROWS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"LEFT PAIRED ARROWS\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21C7\"},8648:{\"value\":\"21C8\",\"name\":\"UPWARDS PAIRED ARROWS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"UP PAIRED ARROWS\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21C8\"},8649:{\"value\":\"21C9\",\"name\":\"RIGHTWARDS PAIRED ARROWS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"RIGHT PAIRED ARROWS\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21C9\"},8650:{\"value\":\"21CA\",\"name\":\"DOWNWARDS PAIRED ARROWS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"DOWN PAIRED ARROWS\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21CA\"},8651:{\"value\":\"21CB\",\"name\":\"LEFTWARDS HARPOON OVER RIGHTWARDS HARPOON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"LEFT HARPOON OVER RIGHT HARPOON\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21CB\"},8652:{\"value\":\"21CC\",\"name\":\"RIGHTWARDS HARPOON OVER LEFTWARDS HARPOON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"RIGHT HARPOON OVER LEFT HARPOON\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21CC\"},8653:{\"value\":\"21CD\",\"name\":\"LEFTWARDS DOUBLE ARROW WITH STROKE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"21D0 0338\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"LEFT DOUBLE ARROW WITH STROKE\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21CD\"},8656:{\"value\":\"21D0\",\"name\":\"LEFTWARDS DOUBLE ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"LEFT DOUBLE ARROW\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21D0\"},8657:{\"value\":\"21D1\",\"name\":\"UPWARDS DOUBLE ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"UP DOUBLE ARROW\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21D1\"},8659:{\"value\":\"21D3\",\"name\":\"DOWNWARDS DOUBLE ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"DOWN DOUBLE ARROW\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21D3\"},8661:{\"value\":\"21D5\",\"name\":\"UP DOWN DOUBLE ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21D5\"},8662:{\"value\":\"21D6\",\"name\":\"NORTH WEST DOUBLE ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"UPPER LEFT DOUBLE ARROW\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21D6\"},8663:{\"value\":\"21D7\",\"name\":\"NORTH EAST DOUBLE ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"UPPER RIGHT DOUBLE ARROW\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21D7\"},8664:{\"value\":\"21D8\",\"name\":\"SOUTH EAST DOUBLE ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"LOWER RIGHT DOUBLE ARROW\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21D8\"},8665:{\"value\":\"21D9\",\"name\":\"SOUTH WEST DOUBLE ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"LOWER LEFT DOUBLE ARROW\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21D9\"},8666:{\"value\":\"21DA\",\"name\":\"LEFTWARDS TRIPLE ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"LEFT TRIPLE ARROW\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21DA\"},8667:{\"value\":\"21DB\",\"name\":\"RIGHTWARDS TRIPLE ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"RIGHT TRIPLE ARROW\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21DB\"},8668:{\"value\":\"21DC\",\"name\":\"LEFTWARDS SQUIGGLE ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"LEFT SQUIGGLE ARROW\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21DC\"},8669:{\"value\":\"21DD\",\"name\":\"RIGHTWARDS SQUIGGLE ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"RIGHT SQUIGGLE ARROW\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21DD\"},8670:{\"value\":\"21DE\",\"name\":\"UPWARDS ARROW WITH DOUBLE STROKE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"UP ARROW WITH DOUBLE STROKE\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21DE\"},8671:{\"value\":\"21DF\",\"name\":\"DOWNWARDS ARROW WITH DOUBLE STROKE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"DOWN ARROW WITH DOUBLE STROKE\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21DF\"},8672:{\"value\":\"21E0\",\"name\":\"LEFTWARDS DASHED ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"LEFT DASHED ARROW\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21E0\"},8673:{\"value\":\"21E1\",\"name\":\"UPWARDS DASHED ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"UP DASHED ARROW\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21E1\"},8674:{\"value\":\"21E2\",\"name\":\"RIGHTWARDS DASHED ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"RIGHT DASHED ARROW\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21E2\"},8675:{\"value\":\"21E3\",\"name\":\"DOWNWARDS DASHED ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"DOWN DASHED ARROW\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21E3\"},8676:{\"value\":\"21E4\",\"name\":\"LEFTWARDS ARROW TO BAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"LEFT ARROW TO BAR\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21E4\"},8677:{\"value\":\"21E5\",\"name\":\"RIGHTWARDS ARROW TO BAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"RIGHT ARROW TO BAR\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21E5\"},8678:{\"value\":\"21E6\",\"name\":\"LEFTWARDS WHITE ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"WHITE LEFT ARROW\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21E6\"},8679:{\"value\":\"21E7\",\"name\":\"UPWARDS WHITE ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"WHITE UP ARROW\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21E7\"},8680:{\"value\":\"21E8\",\"name\":\"RIGHTWARDS WHITE ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"WHITE RIGHT ARROW\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21E8\"},8681:{\"value\":\"21E9\",\"name\":\"DOWNWARDS WHITE ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"WHITE DOWN ARROW\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21E9\"},8682:{\"value\":\"21EA\",\"name\":\"UPWARDS WHITE ARROW FROM BAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"WHITE UP ARROW FROM BAR\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21EA\"},8683:{\"value\":\"21EB\",\"name\":\"UPWARDS WHITE ARROW ON PEDESTAL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21EB\"},8684:{\"value\":\"21EC\",\"name\":\"UPWARDS WHITE ARROW ON PEDESTAL WITH HORIZONTAL BAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21EC\"},8685:{\"value\":\"21ED\",\"name\":\"UPWARDS WHITE ARROW ON PEDESTAL WITH VERTICAL BAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21ED\"},8686:{\"value\":\"21EE\",\"name\":\"UPWARDS WHITE DOUBLE ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21EE\"},8687:{\"value\":\"21EF\",\"name\":\"UPWARDS WHITE DOUBLE ARROW ON PEDESTAL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21EF\"},8688:{\"value\":\"21F0\",\"name\":\"RIGHTWARDS WHITE ARROW FROM WALL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21F0\"},8689:{\"value\":\"21F1\",\"name\":\"NORTH WEST ARROW TO CORNER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21F1\"},8690:{\"value\":\"21F2\",\"name\":\"SOUTH EAST ARROW TO CORNER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21F2\"},8691:{\"value\":\"21F3\",\"name\":\"UP DOWN WHITE ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21F3\"},8960:{\"value\":\"2300\",\"name\":\"DIAMETER SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2300\"},8961:{\"value\":\"2301\",\"name\":\"ELECTRIC ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2301\"},8962:{\"value\":\"2302\",\"name\":\"HOUSE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2302\"},8963:{\"value\":\"2303\",\"name\":\"UP ARROWHEAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2303\"},8964:{\"value\":\"2304\",\"name\":\"DOWN ARROWHEAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2304\"},8965:{\"value\":\"2305\",\"name\":\"PROJECTIVE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2305\"},8966:{\"value\":\"2306\",\"name\":\"PERSPECTIVE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2306\"},8967:{\"value\":\"2307\",\"name\":\"WAVY LINE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2307\"},8972:{\"value\":\"230C\",\"name\":\"BOTTOM RIGHT CROP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u230C\"},8973:{\"value\":\"230D\",\"name\":\"BOTTOM LEFT CROP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u230D\"},8974:{\"value\":\"230E\",\"name\":\"TOP RIGHT CROP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u230E\"},8975:{\"value\":\"230F\",\"name\":\"TOP LEFT CROP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u230F\"},8976:{\"value\":\"2310\",\"name\":\"REVERSED NOT SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2310\"},8977:{\"value\":\"2311\",\"name\":\"SQUARE LOZENGE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2311\"},8978:{\"value\":\"2312\",\"name\":\"ARC\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2312\"},8979:{\"value\":\"2313\",\"name\":\"SEGMENT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2313\"},8980:{\"value\":\"2314\",\"name\":\"SECTOR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2314\"},8981:{\"value\":\"2315\",\"name\":\"TELEPHONE RECORDER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2315\"},8982:{\"value\":\"2316\",\"name\":\"POSITION INDICATOR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2316\"},8983:{\"value\":\"2317\",\"name\":\"VIEWDATA SQUARE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2317\"},8984:{\"value\":\"2318\",\"name\":\"PLACE OF INTEREST SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"COMMAND KEY\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2318\"},8985:{\"value\":\"2319\",\"name\":\"TURNED NOT SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2319\"},8986:{\"value\":\"231A\",\"name\":\"WATCH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u231A\"},8987:{\"value\":\"231B\",\"name\":\"HOURGLASS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u231B\"},8988:{\"value\":\"231C\",\"name\":\"TOP LEFT CORNER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u231C\"},8989:{\"value\":\"231D\",\"name\":\"TOP RIGHT CORNER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u231D\"},8990:{\"value\":\"231E\",\"name\":\"BOTTOM LEFT CORNER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u231E\"},8991:{\"value\":\"231F\",\"name\":\"BOTTOM RIGHT CORNER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u231F\"},8994:{\"value\":\"2322\",\"name\":\"FROWN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2322\"},8995:{\"value\":\"2323\",\"name\":\"SMILE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2323\"},8996:{\"value\":\"2324\",\"name\":\"UP ARROWHEAD BETWEEN TWO HORIZONTAL BARS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"ENTER KEY\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2324\"},8997:{\"value\":\"2325\",\"name\":\"OPTION KEY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2325\"},8998:{\"value\":\"2326\",\"name\":\"ERASE TO THE RIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"DELETE TO THE RIGHT KEY\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2326\"},8999:{\"value\":\"2327\",\"name\":\"X IN A RECTANGLE BOX\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"CLEAR KEY\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2327\"},9000:{\"value\":\"2328\",\"name\":\"KEYBOARD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2328\"},9003:{\"value\":\"232B\",\"name\":\"ERASE TO THE LEFT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"DELETE TO THE LEFT KEY\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u232B\"},9004:{\"value\":\"232C\",\"name\":\"BENZENE RING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u232C\"},9005:{\"value\":\"232D\",\"name\":\"CYLINDRICITY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u232D\"},9006:{\"value\":\"232E\",\"name\":\"ALL AROUND-PROFILE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u232E\"},9007:{\"value\":\"232F\",\"name\":\"SYMMETRY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u232F\"},9008:{\"value\":\"2330\",\"name\":\"TOTAL RUNOUT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2330\"},9009:{\"value\":\"2331\",\"name\":\"DIMENSION ORIGIN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2331\"},9010:{\"value\":\"2332\",\"name\":\"CONICAL TAPER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2332\"},9011:{\"value\":\"2333\",\"name\":\"SLOPE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2333\"},9012:{\"value\":\"2334\",\"name\":\"COUNTERBORE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2334\"},9013:{\"value\":\"2335\",\"name\":\"COUNTERSINK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2335\"},9014:{\"value\":\"2336\",\"name\":\"APL FUNCTIONAL SYMBOL I-BEAM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2336\"},9015:{\"value\":\"2337\",\"name\":\"APL FUNCTIONAL SYMBOL SQUISH QUAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2337\"},9016:{\"value\":\"2338\",\"name\":\"APL FUNCTIONAL SYMBOL QUAD EQUAL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2338\"},9017:{\"value\":\"2339\",\"name\":\"APL FUNCTIONAL SYMBOL QUAD DIVIDE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2339\"},9018:{\"value\":\"233A\",\"name\":\"APL FUNCTIONAL SYMBOL QUAD DIAMOND\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u233A\"},9019:{\"value\":\"233B\",\"name\":\"APL FUNCTIONAL SYMBOL QUAD JOT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u233B\"},9020:{\"value\":\"233C\",\"name\":\"APL FUNCTIONAL SYMBOL QUAD CIRCLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u233C\"},9021:{\"value\":\"233D\",\"name\":\"APL FUNCTIONAL SYMBOL CIRCLE STILE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u233D\"},9022:{\"value\":\"233E\",\"name\":\"APL FUNCTIONAL SYMBOL CIRCLE JOT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u233E\"},9023:{\"value\":\"233F\",\"name\":\"APL FUNCTIONAL SYMBOL SLASH BAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u233F\"},9024:{\"value\":\"2340\",\"name\":\"APL FUNCTIONAL SYMBOL BACKSLASH BAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2340\"},9025:{\"value\":\"2341\",\"name\":\"APL FUNCTIONAL SYMBOL QUAD SLASH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2341\"},9026:{\"value\":\"2342\",\"name\":\"APL FUNCTIONAL SYMBOL QUAD BACKSLASH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2342\"},9027:{\"value\":\"2343\",\"name\":\"APL FUNCTIONAL SYMBOL QUAD LESS-THAN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2343\"},9028:{\"value\":\"2344\",\"name\":\"APL FUNCTIONAL SYMBOL QUAD GREATER-THAN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2344\"},9029:{\"value\":\"2345\",\"name\":\"APL FUNCTIONAL SYMBOL LEFTWARDS VANE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2345\"},9030:{\"value\":\"2346\",\"name\":\"APL FUNCTIONAL SYMBOL RIGHTWARDS VANE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2346\"},9031:{\"value\":\"2347\",\"name\":\"APL FUNCTIONAL SYMBOL QUAD LEFTWARDS ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2347\"},9032:{\"value\":\"2348\",\"name\":\"APL FUNCTIONAL SYMBOL QUAD RIGHTWARDS ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2348\"},9033:{\"value\":\"2349\",\"name\":\"APL FUNCTIONAL SYMBOL CIRCLE BACKSLASH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2349\"},9034:{\"value\":\"234A\",\"name\":\"APL FUNCTIONAL SYMBOL DOWN TACK UNDERBAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u234A\"},9035:{\"value\":\"234B\",\"name\":\"APL FUNCTIONAL SYMBOL DELTA STILE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u234B\"},9036:{\"value\":\"234C\",\"name\":\"APL FUNCTIONAL SYMBOL QUAD DOWN CARET\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u234C\"},9037:{\"value\":\"234D\",\"name\":\"APL FUNCTIONAL SYMBOL QUAD DELTA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u234D\"},9038:{\"value\":\"234E\",\"name\":\"APL FUNCTIONAL SYMBOL DOWN TACK JOT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u234E\"},9039:{\"value\":\"234F\",\"name\":\"APL FUNCTIONAL SYMBOL UPWARDS VANE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u234F\"},9040:{\"value\":\"2350\",\"name\":\"APL FUNCTIONAL SYMBOL QUAD UPWARDS ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2350\"},9041:{\"value\":\"2351\",\"name\":\"APL FUNCTIONAL SYMBOL UP TACK OVERBAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2351\"},9042:{\"value\":\"2352\",\"name\":\"APL FUNCTIONAL SYMBOL DEL STILE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2352\"},9043:{\"value\":\"2353\",\"name\":\"APL FUNCTIONAL SYMBOL QUAD UP CARET\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2353\"},9044:{\"value\":\"2354\",\"name\":\"APL FUNCTIONAL SYMBOL QUAD DEL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2354\"},9045:{\"value\":\"2355\",\"name\":\"APL FUNCTIONAL SYMBOL UP TACK JOT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2355\"},9046:{\"value\":\"2356\",\"name\":\"APL FUNCTIONAL SYMBOL DOWNWARDS VANE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2356\"},9047:{\"value\":\"2357\",\"name\":\"APL FUNCTIONAL SYMBOL QUAD DOWNWARDS ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2357\"},9048:{\"value\":\"2358\",\"name\":\"APL FUNCTIONAL SYMBOL QUOTE UNDERBAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2358\"},9049:{\"value\":\"2359\",\"name\":\"APL FUNCTIONAL SYMBOL DELTA UNDERBAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2359\"},9050:{\"value\":\"235A\",\"name\":\"APL FUNCTIONAL SYMBOL DIAMOND UNDERBAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u235A\"},9051:{\"value\":\"235B\",\"name\":\"APL FUNCTIONAL SYMBOL JOT UNDERBAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u235B\"},9052:{\"value\":\"235C\",\"name\":\"APL FUNCTIONAL SYMBOL CIRCLE UNDERBAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u235C\"},9053:{\"value\":\"235D\",\"name\":\"APL FUNCTIONAL SYMBOL UP SHOE JOT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u235D\"},9054:{\"value\":\"235E\",\"name\":\"APL FUNCTIONAL SYMBOL QUOTE QUAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u235E\"},9055:{\"value\":\"235F\",\"name\":\"APL FUNCTIONAL SYMBOL CIRCLE STAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u235F\"},9056:{\"value\":\"2360\",\"name\":\"APL FUNCTIONAL SYMBOL QUAD COLON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2360\"},9057:{\"value\":\"2361\",\"name\":\"APL FUNCTIONAL SYMBOL UP TACK DIAERESIS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2361\"},9058:{\"value\":\"2362\",\"name\":\"APL FUNCTIONAL SYMBOL DEL DIAERESIS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2362\"},9059:{\"value\":\"2363\",\"name\":\"APL FUNCTIONAL SYMBOL STAR DIAERESIS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2363\"},9060:{\"value\":\"2364\",\"name\":\"APL FUNCTIONAL SYMBOL JOT DIAERESIS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2364\"},9061:{\"value\":\"2365\",\"name\":\"APL FUNCTIONAL SYMBOL CIRCLE DIAERESIS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2365\"},9062:{\"value\":\"2366\",\"name\":\"APL FUNCTIONAL SYMBOL DOWN SHOE STILE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2366\"},9063:{\"value\":\"2367\",\"name\":\"APL FUNCTIONAL SYMBOL LEFT SHOE STILE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2367\"},9064:{\"value\":\"2368\",\"name\":\"APL FUNCTIONAL SYMBOL TILDE DIAERESIS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2368\"},9065:{\"value\":\"2369\",\"name\":\"APL FUNCTIONAL SYMBOL GREATER-THAN DIAERESIS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2369\"},9066:{\"value\":\"236A\",\"name\":\"APL FUNCTIONAL SYMBOL COMMA BAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u236A\"},9067:{\"value\":\"236B\",\"name\":\"APL FUNCTIONAL SYMBOL DEL TILDE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u236B\"},9068:{\"value\":\"236C\",\"name\":\"APL FUNCTIONAL SYMBOL ZILDE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u236C\"},9069:{\"value\":\"236D\",\"name\":\"APL FUNCTIONAL SYMBOL STILE TILDE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u236D\"},9070:{\"value\":\"236E\",\"name\":\"APL FUNCTIONAL SYMBOL SEMICOLON UNDERBAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u236E\"},9071:{\"value\":\"236F\",\"name\":\"APL FUNCTIONAL SYMBOL QUAD NOT EQUAL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u236F\"},9072:{\"value\":\"2370\",\"name\":\"APL FUNCTIONAL SYMBOL QUAD QUESTION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2370\"},9073:{\"value\":\"2371\",\"name\":\"APL FUNCTIONAL SYMBOL DOWN CARET TILDE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2371\"},9074:{\"value\":\"2372\",\"name\":\"APL FUNCTIONAL SYMBOL UP CARET TILDE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2372\"},9075:{\"value\":\"2373\",\"name\":\"APL FUNCTIONAL SYMBOL IOTA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2373\"},9076:{\"value\":\"2374\",\"name\":\"APL FUNCTIONAL SYMBOL RHO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2374\"},9077:{\"value\":\"2375\",\"name\":\"APL FUNCTIONAL SYMBOL OMEGA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2375\"},9078:{\"value\":\"2376\",\"name\":\"APL FUNCTIONAL SYMBOL ALPHA UNDERBAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2376\"},9079:{\"value\":\"2377\",\"name\":\"APL FUNCTIONAL SYMBOL EPSILON UNDERBAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2377\"},9080:{\"value\":\"2378\",\"name\":\"APL FUNCTIONAL SYMBOL IOTA UNDERBAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2378\"},9081:{\"value\":\"2379\",\"name\":\"APL FUNCTIONAL SYMBOL OMEGA UNDERBAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2379\"},9082:{\"value\":\"237A\",\"name\":\"APL FUNCTIONAL SYMBOL ALPHA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u237A\"},9083:{\"value\":\"237B\",\"name\":\"NOT CHECK MARK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u237B\"},9085:{\"value\":\"237D\",\"name\":\"SHOULDERED OPEN BOX\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u237D\"},9086:{\"value\":\"237E\",\"name\":\"BELL SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u237E\"},9087:{\"value\":\"237F\",\"name\":\"VERTICAL LINE WITH MIDDLE DOT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u237F\"},9088:{\"value\":\"2380\",\"name\":\"INSERTION SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2380\"},9089:{\"value\":\"2381\",\"name\":\"CONTINUOUS UNDERLINE SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2381\"},9090:{\"value\":\"2382\",\"name\":\"DISCONTINUOUS UNDERLINE SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2382\"},9091:{\"value\":\"2383\",\"name\":\"EMPHASIS SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2383\"},9092:{\"value\":\"2384\",\"name\":\"COMPOSITION SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2384\"},9093:{\"value\":\"2385\",\"name\":\"WHITE SQUARE WITH CENTRE VERTICAL LINE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2385\"},9094:{\"value\":\"2386\",\"name\":\"ENTER SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2386\"},9095:{\"value\":\"2387\",\"name\":\"ALTERNATIVE KEY SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2387\"},9096:{\"value\":\"2388\",\"name\":\"HELM SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2388\"},9097:{\"value\":\"2389\",\"name\":\"CIRCLED HORIZONTAL BAR WITH NOTCH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2389\"},9098:{\"value\":\"238A\",\"name\":\"CIRCLED TRIANGLE DOWN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u238A\"},9099:{\"value\":\"238B\",\"name\":\"BROKEN CIRCLE WITH NORTHWEST ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u238B\"},9100:{\"value\":\"238C\",\"name\":\"UNDO SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u238C\"},9101:{\"value\":\"238D\",\"name\":\"MONOSTABLE SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u238D\"},9102:{\"value\":\"238E\",\"name\":\"HYSTERESIS SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u238E\"},9103:{\"value\":\"238F\",\"name\":\"OPEN-CIRCUIT-OUTPUT H-TYPE SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u238F\"},9104:{\"value\":\"2390\",\"name\":\"OPEN-CIRCUIT-OUTPUT L-TYPE SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2390\"},9105:{\"value\":\"2391\",\"name\":\"PASSIVE-PULL-DOWN-OUTPUT SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2391\"},9106:{\"value\":\"2392\",\"name\":\"PASSIVE-PULL-UP-OUTPUT SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2392\"},9107:{\"value\":\"2393\",\"name\":\"DIRECT CURRENT SYMBOL FORM TWO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2393\"},9108:{\"value\":\"2394\",\"name\":\"SOFTWARE-FUNCTION SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2394\"},9109:{\"value\":\"2395\",\"name\":\"APL FUNCTIONAL SYMBOL QUAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2395\"},9110:{\"value\":\"2396\",\"name\":\"DECIMAL SEPARATOR KEY SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2396\"},9111:{\"value\":\"2397\",\"name\":\"PREVIOUS PAGE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2397\"},9112:{\"value\":\"2398\",\"name\":\"NEXT PAGE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2398\"},9113:{\"value\":\"2399\",\"name\":\"PRINT SCREEN SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2399\"},9114:{\"value\":\"239A\",\"name\":\"CLEAR SCREEN SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u239A\"},9140:{\"value\":\"23B4\",\"name\":\"TOP SQUARE BRACKET\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u23B4\"},9141:{\"value\":\"23B5\",\"name\":\"BOTTOM SQUARE BRACKET\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u23B5\"},9142:{\"value\":\"23B6\",\"name\":\"BOTTOM SQUARE BRACKET OVER TOP SQUARE BRACKET\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u23B6\"},9143:{\"value\":\"23B7\",\"name\":\"RADICAL SYMBOL BOTTOM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u23B7\"},9144:{\"value\":\"23B8\",\"name\":\"LEFT VERTICAL BOX LINE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u23B8\"},9145:{\"value\":\"23B9\",\"name\":\"RIGHT VERTICAL BOX LINE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u23B9\"},9146:{\"value\":\"23BA\",\"name\":\"HORIZONTAL SCAN LINE-1\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u23BA\"},9147:{\"value\":\"23BB\",\"name\":\"HORIZONTAL SCAN LINE-3\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u23BB\"},9148:{\"value\":\"23BC\",\"name\":\"HORIZONTAL SCAN LINE-7\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u23BC\"},9149:{\"value\":\"23BD\",\"name\":\"HORIZONTAL SCAN LINE-9\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u23BD\"},9150:{\"value\":\"23BE\",\"name\":\"DENTISTRY SYMBOL LIGHT VERTICAL AND TOP RIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u23BE\"},9151:{\"value\":\"23BF\",\"name\":\"DENTISTRY SYMBOL LIGHT VERTICAL AND BOTTOM RIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u23BF\"},9152:{\"value\":\"23C0\",\"name\":\"DENTISTRY SYMBOL LIGHT VERTICAL WITH CIRCLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u23C0\"},9153:{\"value\":\"23C1\",\"name\":\"DENTISTRY SYMBOL LIGHT DOWN AND HORIZONTAL WITH CIRCLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u23C1\"},9154:{\"value\":\"23C2\",\"name\":\"DENTISTRY SYMBOL LIGHT UP AND HORIZONTAL WITH CIRCLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u23C2\"},9155:{\"value\":\"23C3\",\"name\":\"DENTISTRY SYMBOL LIGHT VERTICAL WITH TRIANGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u23C3\"},9156:{\"value\":\"23C4\",\"name\":\"DENTISTRY SYMBOL LIGHT DOWN AND HORIZONTAL WITH TRIANGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u23C4\"},9157:{\"value\":\"23C5\",\"name\":\"DENTISTRY SYMBOL LIGHT UP AND HORIZONTAL WITH TRIANGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u23C5\"},9158:{\"value\":\"23C6\",\"name\":\"DENTISTRY SYMBOL LIGHT VERTICAL AND WAVE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u23C6\"},9159:{\"value\":\"23C7\",\"name\":\"DENTISTRY SYMBOL LIGHT DOWN AND HORIZONTAL WITH WAVE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u23C7\"},9160:{\"value\":\"23C8\",\"name\":\"DENTISTRY SYMBOL LIGHT UP AND HORIZONTAL WITH WAVE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u23C8\"},9161:{\"value\":\"23C9\",\"name\":\"DENTISTRY SYMBOL LIGHT DOWN AND HORIZONTAL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u23C9\"},9162:{\"value\":\"23CA\",\"name\":\"DENTISTRY SYMBOL LIGHT UP AND HORIZONTAL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u23CA\"},9163:{\"value\":\"23CB\",\"name\":\"DENTISTRY SYMBOL LIGHT VERTICAL AND TOP LEFT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u23CB\"},9164:{\"value\":\"23CC\",\"name\":\"DENTISTRY SYMBOL LIGHT VERTICAL AND BOTTOM LEFT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u23CC\"},9165:{\"value\":\"23CD\",\"name\":\"SQUARE FOOT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u23CD\"},9166:{\"value\":\"23CE\",\"name\":\"RETURN SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u23CE\"},9167:{\"value\":\"23CF\",\"name\":\"EJECT SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u23CF\"},9168:{\"value\":\"23D0\",\"name\":\"VERTICAL LINE EXTENSION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u23D0\"},9169:{\"value\":\"23D1\",\"name\":\"METRICAL BREVE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u23D1\"},9170:{\"value\":\"23D2\",\"name\":\"METRICAL LONG OVER SHORT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u23D2\"},9171:{\"value\":\"23D3\",\"name\":\"METRICAL SHORT OVER LONG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u23D3\"},9172:{\"value\":\"23D4\",\"name\":\"METRICAL LONG OVER TWO SHORTS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u23D4\"},9173:{\"value\":\"23D5\",\"name\":\"METRICAL TWO SHORTS OVER LONG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u23D5\"},9174:{\"value\":\"23D6\",\"name\":\"METRICAL TWO SHORTS JOINED\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u23D6\"},9175:{\"value\":\"23D7\",\"name\":\"METRICAL TRISEME\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u23D7\"},9176:{\"value\":\"23D8\",\"name\":\"METRICAL TETRASEME\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u23D8\"},9177:{\"value\":\"23D9\",\"name\":\"METRICAL PENTASEME\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u23D9\"},9178:{\"value\":\"23DA\",\"name\":\"EARTH GROUND\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u23DA\"},9179:{\"value\":\"23DB\",\"name\":\"FUSE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u23DB\"},9186:{\"value\":\"23E2\",\"name\":\"WHITE TRAPEZIUM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u23E2\"},9187:{\"value\":\"23E3\",\"name\":\"BENZENE RING WITH CIRCLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u23E3\"},9188:{\"value\":\"23E4\",\"name\":\"STRAIGHTNESS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u23E4\"},9189:{\"value\":\"23E5\",\"name\":\"FLATNESS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u23E5\"},9190:{\"value\":\"23E6\",\"name\":\"AC CURRENT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u23E6\"},9191:{\"value\":\"23E7\",\"name\":\"ELECTRICAL INTERSECTION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u23E7\"},9192:{\"value\":\"23E8\",\"name\":\"DECIMAL EXPONENT SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u23E8\"},9193:{\"value\":\"23E9\",\"name\":\"BLACK RIGHT-POINTING DOUBLE TRIANGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u23E9\"},9194:{\"value\":\"23EA\",\"name\":\"BLACK LEFT-POINTING DOUBLE TRIANGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u23EA\"},9195:{\"value\":\"23EB\",\"name\":\"BLACK UP-POINTING DOUBLE TRIANGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u23EB\"},9196:{\"value\":\"23EC\",\"name\":\"BLACK DOWN-POINTING DOUBLE TRIANGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u23EC\"},9197:{\"value\":\"23ED\",\"name\":\"BLACK RIGHT-POINTING DOUBLE TRIANGLE WITH VERTICAL BAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u23ED\"},9198:{\"value\":\"23EE\",\"name\":\"BLACK LEFT-POINTING DOUBLE TRIANGLE WITH VERTICAL BAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u23EE\"},9199:{\"value\":\"23EF\",\"name\":\"BLACK RIGHT-POINTING TRIANGLE WITH DOUBLE VERTICAL BAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u23EF\"},9200:{\"value\":\"23F0\",\"name\":\"ALARM CLOCK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u23F0\"},9201:{\"value\":\"23F1\",\"name\":\"STOPWATCH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u23F1\"},9202:{\"value\":\"23F2\",\"name\":\"TIMER CLOCK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u23F2\"},9203:{\"value\":\"23F3\",\"name\":\"HOURGLASS WITH FLOWING SAND\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u23F3\"},9204:{\"value\":\"23F4\",\"name\":\"BLACK MEDIUM LEFT-POINTING TRIANGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u23F4\"},9205:{\"value\":\"23F5\",\"name\":\"BLACK MEDIUM RIGHT-POINTING TRIANGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u23F5\"},9206:{\"value\":\"23F6\",\"name\":\"BLACK MEDIUM UP-POINTING TRIANGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u23F6\"},9207:{\"value\":\"23F7\",\"name\":\"BLACK MEDIUM DOWN-POINTING TRIANGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u23F7\"},9208:{\"value\":\"23F8\",\"name\":\"DOUBLE VERTICAL BAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u23F8\"},9209:{\"value\":\"23F9\",\"name\":\"BLACK SQUARE FOR STOP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u23F9\"},9210:{\"value\":\"23FA\",\"name\":\"BLACK CIRCLE FOR RECORD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u23FA\"},9211:{\"value\":\"23FB\",\"name\":\"POWER SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u23FB\"},9212:{\"value\":\"23FC\",\"name\":\"POWER ON-OFF SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u23FC\"},9213:{\"value\":\"23FD\",\"name\":\"POWER ON SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u23FD\"},9214:{\"value\":\"23FE\",\"name\":\"POWER SLEEP SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u23FE\"},9216:{\"value\":\"2400\",\"name\":\"SYMBOL FOR NULL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"GRAPHIC FOR NULL\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2400\"},9217:{\"value\":\"2401\",\"name\":\"SYMBOL FOR START OF HEADING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"GRAPHIC FOR START OF HEADING\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2401\"},9218:{\"value\":\"2402\",\"name\":\"SYMBOL FOR START OF TEXT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"GRAPHIC FOR START OF TEXT\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2402\"},9219:{\"value\":\"2403\",\"name\":\"SYMBOL FOR END OF TEXT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"GRAPHIC FOR END OF TEXT\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2403\"},9220:{\"value\":\"2404\",\"name\":\"SYMBOL FOR END OF TRANSMISSION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"GRAPHIC FOR END OF TRANSMISSION\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2404\"},9221:{\"value\":\"2405\",\"name\":\"SYMBOL FOR ENQUIRY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"GRAPHIC FOR ENQUIRY\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2405\"},9222:{\"value\":\"2406\",\"name\":\"SYMBOL FOR ACKNOWLEDGE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"GRAPHIC FOR ACKNOWLEDGE\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2406\"},9223:{\"value\":\"2407\",\"name\":\"SYMBOL FOR BELL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"GRAPHIC FOR BELL\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2407\"},9224:{\"value\":\"2408\",\"name\":\"SYMBOL FOR BACKSPACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"GRAPHIC FOR BACKSPACE\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2408\"},9225:{\"value\":\"2409\",\"name\":\"SYMBOL FOR HORIZONTAL TABULATION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"GRAPHIC FOR HORIZONTAL TABULATION\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2409\"},9226:{\"value\":\"240A\",\"name\":\"SYMBOL FOR LINE FEED\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"GRAPHIC FOR LINE FEED\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u240A\"},9227:{\"value\":\"240B\",\"name\":\"SYMBOL FOR VERTICAL TABULATION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"GRAPHIC FOR VERTICAL TABULATION\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u240B\"},9228:{\"value\":\"240C\",\"name\":\"SYMBOL FOR FORM FEED\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"GRAPHIC FOR FORM FEED\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u240C\"},9229:{\"value\":\"240D\",\"name\":\"SYMBOL FOR CARRIAGE RETURN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"GRAPHIC FOR CARRIAGE RETURN\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u240D\"},9230:{\"value\":\"240E\",\"name\":\"SYMBOL FOR SHIFT OUT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"GRAPHIC FOR SHIFT OUT\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u240E\"},9231:{\"value\":\"240F\",\"name\":\"SYMBOL FOR SHIFT IN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"GRAPHIC FOR SHIFT IN\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u240F\"},9232:{\"value\":\"2410\",\"name\":\"SYMBOL FOR DATA LINK ESCAPE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"GRAPHIC FOR DATA LINK ESCAPE\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2410\"},9233:{\"value\":\"2411\",\"name\":\"SYMBOL FOR DEVICE CONTROL ONE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"GRAPHIC FOR DEVICE CONTROL ONE\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2411\"},9234:{\"value\":\"2412\",\"name\":\"SYMBOL FOR DEVICE CONTROL TWO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"GRAPHIC FOR DEVICE CONTROL TWO\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2412\"},9235:{\"value\":\"2413\",\"name\":\"SYMBOL FOR DEVICE CONTROL THREE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"GRAPHIC FOR DEVICE CONTROL THREE\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2413\"},9236:{\"value\":\"2414\",\"name\":\"SYMBOL FOR DEVICE CONTROL FOUR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"GRAPHIC FOR DEVICE CONTROL FOUR\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2414\"},9237:{\"value\":\"2415\",\"name\":\"SYMBOL FOR NEGATIVE ACKNOWLEDGE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"GRAPHIC FOR NEGATIVE ACKNOWLEDGE\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2415\"},9238:{\"value\":\"2416\",\"name\":\"SYMBOL FOR SYNCHRONOUS IDLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"GRAPHIC FOR SYNCHRONOUS IDLE\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2416\"},9239:{\"value\":\"2417\",\"name\":\"SYMBOL FOR END OF TRANSMISSION BLOCK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"GRAPHIC FOR END OF TRANSMISSION BLOCK\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2417\"},9240:{\"value\":\"2418\",\"name\":\"SYMBOL FOR CANCEL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"GRAPHIC FOR CANCEL\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2418\"},9241:{\"value\":\"2419\",\"name\":\"SYMBOL FOR END OF MEDIUM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"GRAPHIC FOR END OF MEDIUM\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2419\"},9242:{\"value\":\"241A\",\"name\":\"SYMBOL FOR SUBSTITUTE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"GRAPHIC FOR SUBSTITUTE\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u241A\"},9243:{\"value\":\"241B\",\"name\":\"SYMBOL FOR ESCAPE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"GRAPHIC FOR ESCAPE\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u241B\"},9244:{\"value\":\"241C\",\"name\":\"SYMBOL FOR FILE SEPARATOR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"GRAPHIC FOR FILE SEPARATOR\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u241C\"},9245:{\"value\":\"241D\",\"name\":\"SYMBOL FOR GROUP SEPARATOR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"GRAPHIC FOR GROUP SEPARATOR\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u241D\"},9246:{\"value\":\"241E\",\"name\":\"SYMBOL FOR RECORD SEPARATOR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"GRAPHIC FOR RECORD SEPARATOR\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u241E\"},9247:{\"value\":\"241F\",\"name\":\"SYMBOL FOR UNIT SEPARATOR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"GRAPHIC FOR UNIT SEPARATOR\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u241F\"},9248:{\"value\":\"2420\",\"name\":\"SYMBOL FOR SPACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"GRAPHIC FOR SPACE\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2420\"},9249:{\"value\":\"2421\",\"name\":\"SYMBOL FOR DELETE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"GRAPHIC FOR DELETE\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2421\"},9250:{\"value\":\"2422\",\"name\":\"BLANK SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"BLANK\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2422\"},9251:{\"value\":\"2423\",\"name\":\"OPEN BOX\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2423\"},9252:{\"value\":\"2424\",\"name\":\"SYMBOL FOR NEWLINE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"GRAPHIC FOR NEWLINE\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2424\"},9253:{\"value\":\"2425\",\"name\":\"SYMBOL FOR DELETE FORM TWO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2425\"},9254:{\"value\":\"2426\",\"name\":\"SYMBOL FOR SUBSTITUTE FORM TWO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2426\"},9280:{\"value\":\"2440\",\"name\":\"OCR HOOK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2440\"},9281:{\"value\":\"2441\",\"name\":\"OCR CHAIR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2441\"},9282:{\"value\":\"2442\",\"name\":\"OCR FORK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2442\"},9283:{\"value\":\"2443\",\"name\":\"OCR INVERTED FORK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2443\"},9284:{\"value\":\"2444\",\"name\":\"OCR BELT BUCKLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2444\"},9285:{\"value\":\"2445\",\"name\":\"OCR BOW TIE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2445\"},9286:{\"value\":\"2446\",\"name\":\"OCR BRANCH BANK IDENTIFICATION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2446\"},9287:{\"value\":\"2447\",\"name\":\"OCR AMOUNT OF CHECK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2447\"},9288:{\"value\":\"2448\",\"name\":\"OCR DASH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2448\"},9289:{\"value\":\"2449\",\"name\":\"OCR CUSTOMER ACCOUNT NUMBER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2449\"},9290:{\"value\":\"244A\",\"name\":\"OCR DOUBLE BACKSLASH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u244A\"},9372:{\"value\":\"249C\",\"name\":\"PARENTHESIZED LATIN SMALL LETTER A\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 0061 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u249C\"},9373:{\"value\":\"249D\",\"name\":\"PARENTHESIZED LATIN SMALL LETTER B\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 0062 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u249D\"},9374:{\"value\":\"249E\",\"name\":\"PARENTHESIZED LATIN SMALL LETTER C\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 0063 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u249E\"},9375:{\"value\":\"249F\",\"name\":\"PARENTHESIZED LATIN SMALL LETTER D\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 0064 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u249F\"},9376:{\"value\":\"24A0\",\"name\":\"PARENTHESIZED LATIN SMALL LETTER E\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 0065 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u24A0\"},9377:{\"value\":\"24A1\",\"name\":\"PARENTHESIZED LATIN SMALL LETTER F\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 0066 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u24A1\"},9378:{\"value\":\"24A2\",\"name\":\"PARENTHESIZED LATIN SMALL LETTER G\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 0067 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u24A2\"},9379:{\"value\":\"24A3\",\"name\":\"PARENTHESIZED LATIN SMALL LETTER H\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 0068 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u24A3\"},9380:{\"value\":\"24A4\",\"name\":\"PARENTHESIZED LATIN SMALL LETTER I\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 0069 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u24A4\"},9381:{\"value\":\"24A5\",\"name\":\"PARENTHESIZED LATIN SMALL LETTER J\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 006A 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u24A5\"},9382:{\"value\":\"24A6\",\"name\":\"PARENTHESIZED LATIN SMALL LETTER K\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 006B 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u24A6\"},9383:{\"value\":\"24A7\",\"name\":\"PARENTHESIZED LATIN SMALL LETTER L\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 006C 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u24A7\"},9384:{\"value\":\"24A8\",\"name\":\"PARENTHESIZED LATIN SMALL LETTER M\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 006D 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u24A8\"},9385:{\"value\":\"24A9\",\"name\":\"PARENTHESIZED LATIN SMALL LETTER N\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 006E 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u24A9\"},9386:{\"value\":\"24AA\",\"name\":\"PARENTHESIZED LATIN SMALL LETTER O\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 006F 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u24AA\"},9387:{\"value\":\"24AB\",\"name\":\"PARENTHESIZED LATIN SMALL LETTER P\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 0070 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u24AB\"},9388:{\"value\":\"24AC\",\"name\":\"PARENTHESIZED LATIN SMALL LETTER Q\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 0071 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u24AC\"},9389:{\"value\":\"24AD\",\"name\":\"PARENTHESIZED LATIN SMALL LETTER R\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 0072 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u24AD\"},9390:{\"value\":\"24AE\",\"name\":\"PARENTHESIZED LATIN SMALL LETTER S\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 0073 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u24AE\"},9391:{\"value\":\"24AF\",\"name\":\"PARENTHESIZED LATIN SMALL LETTER T\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 0074 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u24AF\"},9392:{\"value\":\"24B0\",\"name\":\"PARENTHESIZED LATIN SMALL LETTER U\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 0075 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u24B0\"},9393:{\"value\":\"24B1\",\"name\":\"PARENTHESIZED LATIN SMALL LETTER V\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 0076 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u24B1\"},9394:{\"value\":\"24B2\",\"name\":\"PARENTHESIZED LATIN SMALL LETTER W\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 0077 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u24B2\"},9395:{\"value\":\"24B3\",\"name\":\"PARENTHESIZED LATIN SMALL LETTER X\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 0078 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u24B3\"},9396:{\"value\":\"24B4\",\"name\":\"PARENTHESIZED LATIN SMALL LETTER Y\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 0079 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u24B4\"},9397:{\"value\":\"24B5\",\"name\":\"PARENTHESIZED LATIN SMALL LETTER Z\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 007A 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u24B5\"},9398:{\"value\":\"24B6\",\"name\":\"CIRCLED LATIN CAPITAL LETTER A\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 0041\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"24D0\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u24B6\"},9399:{\"value\":\"24B7\",\"name\":\"CIRCLED LATIN CAPITAL LETTER B\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 0042\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"24D1\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u24B7\"},9400:{\"value\":\"24B8\",\"name\":\"CIRCLED LATIN CAPITAL LETTER C\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 0043\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"24D2\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u24B8\"},9401:{\"value\":\"24B9\",\"name\":\"CIRCLED LATIN CAPITAL LETTER D\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 0044\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"24D3\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u24B9\"},9402:{\"value\":\"24BA\",\"name\":\"CIRCLED LATIN CAPITAL LETTER E\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 0045\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"24D4\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u24BA\"},9403:{\"value\":\"24BB\",\"name\":\"CIRCLED LATIN CAPITAL LETTER F\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 0046\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"24D5\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u24BB\"},9404:{\"value\":\"24BC\",\"name\":\"CIRCLED LATIN CAPITAL LETTER G\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 0047\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"24D6\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u24BC\"},9405:{\"value\":\"24BD\",\"name\":\"CIRCLED LATIN CAPITAL LETTER H\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 0048\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"24D7\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u24BD\"},9406:{\"value\":\"24BE\",\"name\":\"CIRCLED LATIN CAPITAL LETTER I\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 0049\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"24D8\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u24BE\"},9407:{\"value\":\"24BF\",\"name\":\"CIRCLED LATIN CAPITAL LETTER J\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 004A\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"24D9\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u24BF\"},9408:{\"value\":\"24C0\",\"name\":\"CIRCLED LATIN CAPITAL LETTER K\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 004B\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"24DA\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u24C0\"},9409:{\"value\":\"24C1\",\"name\":\"CIRCLED LATIN CAPITAL LETTER L\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 004C\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"24DB\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u24C1\"},9410:{\"value\":\"24C2\",\"name\":\"CIRCLED LATIN CAPITAL LETTER M\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 004D\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"24DC\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u24C2\"},9411:{\"value\":\"24C3\",\"name\":\"CIRCLED LATIN CAPITAL LETTER N\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 004E\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"24DD\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u24C3\"},9412:{\"value\":\"24C4\",\"name\":\"CIRCLED LATIN CAPITAL LETTER O\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 004F\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"24DE\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u24C4\"},9413:{\"value\":\"24C5\",\"name\":\"CIRCLED LATIN CAPITAL LETTER P\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 0050\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"24DF\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u24C5\"},9414:{\"value\":\"24C6\",\"name\":\"CIRCLED LATIN CAPITAL LETTER Q\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 0051\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"24E0\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u24C6\"},9415:{\"value\":\"24C7\",\"name\":\"CIRCLED LATIN CAPITAL LETTER R\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 0052\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"24E1\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u24C7\"},9416:{\"value\":\"24C8\",\"name\":\"CIRCLED LATIN CAPITAL LETTER S\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 0053\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"24E2\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u24C8\"},9417:{\"value\":\"24C9\",\"name\":\"CIRCLED LATIN CAPITAL LETTER T\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 0054\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"24E3\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u24C9\"},9418:{\"value\":\"24CA\",\"name\":\"CIRCLED LATIN CAPITAL LETTER U\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 0055\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"24E4\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u24CA\"},9419:{\"value\":\"24CB\",\"name\":\"CIRCLED LATIN CAPITAL LETTER V\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 0056\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"24E5\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u24CB\"},9420:{\"value\":\"24CC\",\"name\":\"CIRCLED LATIN CAPITAL LETTER W\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 0057\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"24E6\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u24CC\"},9421:{\"value\":\"24CD\",\"name\":\"CIRCLED LATIN CAPITAL LETTER X\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 0058\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"24E7\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u24CD\"},9422:{\"value\":\"24CE\",\"name\":\"CIRCLED LATIN CAPITAL LETTER Y\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 0059\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"24E8\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u24CE\"},9423:{\"value\":\"24CF\",\"name\":\"CIRCLED LATIN CAPITAL LETTER Z\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 005A\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"24E9\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u24CF\"},9424:{\"value\":\"24D0\",\"name\":\"CIRCLED LATIN SMALL LETTER A\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 0061\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"24B6\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"24B6\",\"symbol\":\"\\u24D0\"},9425:{\"value\":\"24D1\",\"name\":\"CIRCLED LATIN SMALL LETTER B\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 0062\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"24B7\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"24B7\",\"symbol\":\"\\u24D1\"},9426:{\"value\":\"24D2\",\"name\":\"CIRCLED LATIN SMALL LETTER C\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 0063\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"24B8\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"24B8\",\"symbol\":\"\\u24D2\"},9427:{\"value\":\"24D3\",\"name\":\"CIRCLED LATIN SMALL LETTER D\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 0064\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"24B9\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"24B9\",\"symbol\":\"\\u24D3\"},9428:{\"value\":\"24D4\",\"name\":\"CIRCLED LATIN SMALL LETTER E\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 0065\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"24BA\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"24BA\",\"symbol\":\"\\u24D4\"},9429:{\"value\":\"24D5\",\"name\":\"CIRCLED LATIN SMALL LETTER F\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 0066\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"24BB\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"24BB\",\"symbol\":\"\\u24D5\"},9430:{\"value\":\"24D6\",\"name\":\"CIRCLED LATIN SMALL LETTER G\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 0067\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"24BC\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"24BC\",\"symbol\":\"\\u24D6\"},9431:{\"value\":\"24D7\",\"name\":\"CIRCLED LATIN SMALL LETTER H\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 0068\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"24BD\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"24BD\",\"symbol\":\"\\u24D7\"},9432:{\"value\":\"24D8\",\"name\":\"CIRCLED LATIN SMALL LETTER I\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 0069\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"24BE\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"24BE\",\"symbol\":\"\\u24D8\"},9433:{\"value\":\"24D9\",\"name\":\"CIRCLED LATIN SMALL LETTER J\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 006A\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"24BF\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"24BF\",\"symbol\":\"\\u24D9\"},9434:{\"value\":\"24DA\",\"name\":\"CIRCLED LATIN SMALL LETTER K\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 006B\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"24C0\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"24C0\",\"symbol\":\"\\u24DA\"},9435:{\"value\":\"24DB\",\"name\":\"CIRCLED LATIN SMALL LETTER L\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 006C\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"24C1\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"24C1\",\"symbol\":\"\\u24DB\"},9436:{\"value\":\"24DC\",\"name\":\"CIRCLED LATIN SMALL LETTER M\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 006D\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"24C2\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"24C2\",\"symbol\":\"\\u24DC\"},9437:{\"value\":\"24DD\",\"name\":\"CIRCLED LATIN SMALL LETTER N\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 006E\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"24C3\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"24C3\",\"symbol\":\"\\u24DD\"},9438:{\"value\":\"24DE\",\"name\":\"CIRCLED LATIN SMALL LETTER O\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 006F\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"24C4\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"24C4\",\"symbol\":\"\\u24DE\"},9439:{\"value\":\"24DF\",\"name\":\"CIRCLED LATIN SMALL LETTER P\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 0070\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"24C5\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"24C5\",\"symbol\":\"\\u24DF\"},9440:{\"value\":\"24E0\",\"name\":\"CIRCLED LATIN SMALL LETTER Q\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 0071\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"24C6\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"24C6\",\"symbol\":\"\\u24E0\"},9441:{\"value\":\"24E1\",\"name\":\"CIRCLED LATIN SMALL LETTER R\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 0072\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"24C7\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"24C7\",\"symbol\":\"\\u24E1\"},9442:{\"value\":\"24E2\",\"name\":\"CIRCLED LATIN SMALL LETTER S\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 0073\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"24C8\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"24C8\",\"symbol\":\"\\u24E2\"},9443:{\"value\":\"24E3\",\"name\":\"CIRCLED LATIN SMALL LETTER T\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 0074\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"24C9\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"24C9\",\"symbol\":\"\\u24E3\"},9444:{\"value\":\"24E4\",\"name\":\"CIRCLED LATIN SMALL LETTER U\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 0075\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"24CA\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"24CA\",\"symbol\":\"\\u24E4\"},9445:{\"value\":\"24E5\",\"name\":\"CIRCLED LATIN SMALL LETTER V\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 0076\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"24CB\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"24CB\",\"symbol\":\"\\u24E5\"},9446:{\"value\":\"24E6\",\"name\":\"CIRCLED LATIN SMALL LETTER W\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 0077\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"24CC\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"24CC\",\"symbol\":\"\\u24E6\"},9447:{\"value\":\"24E7\",\"name\":\"CIRCLED LATIN SMALL LETTER X\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 0078\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"24CD\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"24CD\",\"symbol\":\"\\u24E7\"},9448:{\"value\":\"24E8\",\"name\":\"CIRCLED LATIN SMALL LETTER Y\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 0079\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"24CE\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"24CE\",\"symbol\":\"\\u24E8\"},9449:{\"value\":\"24E9\",\"name\":\"CIRCLED LATIN SMALL LETTER Z\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 007A\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"24CF\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"24CF\",\"symbol\":\"\\u24E9\"},9472:{\"value\":\"2500\",\"name\":\"BOX DRAWINGS LIGHT HORIZONTAL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS LIGHT HORIZONTAL\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2500\"},9473:{\"value\":\"2501\",\"name\":\"BOX DRAWINGS HEAVY HORIZONTAL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS HEAVY HORIZONTAL\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2501\"},9474:{\"value\":\"2502\",\"name\":\"BOX DRAWINGS LIGHT VERTICAL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS LIGHT VERTICAL\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2502\"},9475:{\"value\":\"2503\",\"name\":\"BOX DRAWINGS HEAVY VERTICAL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS HEAVY VERTICAL\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2503\"},9476:{\"value\":\"2504\",\"name\":\"BOX DRAWINGS LIGHT TRIPLE DASH HORIZONTAL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS LIGHT TRIPLE DASH HORIZONTAL\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2504\"},9477:{\"value\":\"2505\",\"name\":\"BOX DRAWINGS HEAVY TRIPLE DASH HORIZONTAL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS HEAVY TRIPLE DASH HORIZONTAL\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2505\"},9478:{\"value\":\"2506\",\"name\":\"BOX DRAWINGS LIGHT TRIPLE DASH VERTICAL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS LIGHT TRIPLE DASH VERTICAL\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2506\"},9479:{\"value\":\"2507\",\"name\":\"BOX DRAWINGS HEAVY TRIPLE DASH VERTICAL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS HEAVY TRIPLE DASH VERTICAL\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2507\"},9480:{\"value\":\"2508\",\"name\":\"BOX DRAWINGS LIGHT QUADRUPLE DASH HORIZONTAL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS LIGHT QUADRUPLE DASH HORIZONTAL\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2508\"},9481:{\"value\":\"2509\",\"name\":\"BOX DRAWINGS HEAVY QUADRUPLE DASH HORIZONTAL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS HEAVY QUADRUPLE DASH HORIZONTAL\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2509\"},9482:{\"value\":\"250A\",\"name\":\"BOX DRAWINGS LIGHT QUADRUPLE DASH VERTICAL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS LIGHT QUADRUPLE DASH VERTICAL\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u250A\"},9483:{\"value\":\"250B\",\"name\":\"BOX DRAWINGS HEAVY QUADRUPLE DASH VERTICAL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS HEAVY QUADRUPLE DASH VERTICAL\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u250B\"},9484:{\"value\":\"250C\",\"name\":\"BOX DRAWINGS LIGHT DOWN AND RIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS LIGHT DOWN AND RIGHT\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u250C\"},9485:{\"value\":\"250D\",\"name\":\"BOX DRAWINGS DOWN LIGHT AND RIGHT HEAVY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS DOWN LIGHT AND RIGHT HEAVY\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u250D\"},9486:{\"value\":\"250E\",\"name\":\"BOX DRAWINGS DOWN HEAVY AND RIGHT LIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS DOWN HEAVY AND RIGHT LIGHT\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u250E\"},9487:{\"value\":\"250F\",\"name\":\"BOX DRAWINGS HEAVY DOWN AND RIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS HEAVY DOWN AND RIGHT\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u250F\"},9488:{\"value\":\"2510\",\"name\":\"BOX DRAWINGS LIGHT DOWN AND LEFT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS LIGHT DOWN AND LEFT\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2510\"},9489:{\"value\":\"2511\",\"name\":\"BOX DRAWINGS DOWN LIGHT AND LEFT HEAVY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS DOWN LIGHT AND LEFT HEAVY\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2511\"},9490:{\"value\":\"2512\",\"name\":\"BOX DRAWINGS DOWN HEAVY AND LEFT LIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS DOWN HEAVY AND LEFT LIGHT\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2512\"},9491:{\"value\":\"2513\",\"name\":\"BOX DRAWINGS HEAVY DOWN AND LEFT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS HEAVY DOWN AND LEFT\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2513\"},9492:{\"value\":\"2514\",\"name\":\"BOX DRAWINGS LIGHT UP AND RIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS LIGHT UP AND RIGHT\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2514\"},9493:{\"value\":\"2515\",\"name\":\"BOX DRAWINGS UP LIGHT AND RIGHT HEAVY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS UP LIGHT AND RIGHT HEAVY\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2515\"},9494:{\"value\":\"2516\",\"name\":\"BOX DRAWINGS UP HEAVY AND RIGHT LIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS UP HEAVY AND RIGHT LIGHT\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2516\"},9495:{\"value\":\"2517\",\"name\":\"BOX DRAWINGS HEAVY UP AND RIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS HEAVY UP AND RIGHT\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2517\"},9496:{\"value\":\"2518\",\"name\":\"BOX DRAWINGS LIGHT UP AND LEFT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS LIGHT UP AND LEFT\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2518\"},9497:{\"value\":\"2519\",\"name\":\"BOX DRAWINGS UP LIGHT AND LEFT HEAVY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS UP LIGHT AND LEFT HEAVY\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2519\"},9498:{\"value\":\"251A\",\"name\":\"BOX DRAWINGS UP HEAVY AND LEFT LIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS UP HEAVY AND LEFT LIGHT\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u251A\"},9499:{\"value\":\"251B\",\"name\":\"BOX DRAWINGS HEAVY UP AND LEFT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS HEAVY UP AND LEFT\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u251B\"},9500:{\"value\":\"251C\",\"name\":\"BOX DRAWINGS LIGHT VERTICAL AND RIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS LIGHT VERTICAL AND RIGHT\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u251C\"},9501:{\"value\":\"251D\",\"name\":\"BOX DRAWINGS VERTICAL LIGHT AND RIGHT HEAVY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS VERTICAL LIGHT AND RIGHT HEAVY\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u251D\"},9502:{\"value\":\"251E\",\"name\":\"BOX DRAWINGS UP HEAVY AND RIGHT DOWN LIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS UP HEAVY AND RIGHT DOWN LIGHT\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u251E\"},9503:{\"value\":\"251F\",\"name\":\"BOX DRAWINGS DOWN HEAVY AND RIGHT UP LIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS DOWN HEAVY AND RIGHT UP LIGHT\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u251F\"},9504:{\"value\":\"2520\",\"name\":\"BOX DRAWINGS VERTICAL HEAVY AND RIGHT LIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS VERTICAL HEAVY AND RIGHT LIGHT\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2520\"},9505:{\"value\":\"2521\",\"name\":\"BOX DRAWINGS DOWN LIGHT AND RIGHT UP HEAVY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS DOWN LIGHT AND RIGHT UP HEAVY\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2521\"},9506:{\"value\":\"2522\",\"name\":\"BOX DRAWINGS UP LIGHT AND RIGHT DOWN HEAVY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS UP LIGHT AND RIGHT DOWN HEAVY\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2522\"},9507:{\"value\":\"2523\",\"name\":\"BOX DRAWINGS HEAVY VERTICAL AND RIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS HEAVY VERTICAL AND RIGHT\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2523\"},9508:{\"value\":\"2524\",\"name\":\"BOX DRAWINGS LIGHT VERTICAL AND LEFT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS LIGHT VERTICAL AND LEFT\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2524\"},9509:{\"value\":\"2525\",\"name\":\"BOX DRAWINGS VERTICAL LIGHT AND LEFT HEAVY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS VERTICAL LIGHT AND LEFT HEAVY\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2525\"},9510:{\"value\":\"2526\",\"name\":\"BOX DRAWINGS UP HEAVY AND LEFT DOWN LIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS UP HEAVY AND LEFT DOWN LIGHT\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2526\"},9511:{\"value\":\"2527\",\"name\":\"BOX DRAWINGS DOWN HEAVY AND LEFT UP LIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS DOWN HEAVY AND LEFT UP LIGHT\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2527\"},9512:{\"value\":\"2528\",\"name\":\"BOX DRAWINGS VERTICAL HEAVY AND LEFT LIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS VERTICAL HEAVY AND LEFT LIGHT\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2528\"},9513:{\"value\":\"2529\",\"name\":\"BOX DRAWINGS DOWN LIGHT AND LEFT UP HEAVY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS DOWN LIGHT AND LEFT UP HEAVY\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2529\"},9514:{\"value\":\"252A\",\"name\":\"BOX DRAWINGS UP LIGHT AND LEFT DOWN HEAVY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS UP LIGHT AND LEFT DOWN HEAVY\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u252A\"},9515:{\"value\":\"252B\",\"name\":\"BOX DRAWINGS HEAVY VERTICAL AND LEFT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS HEAVY VERTICAL AND LEFT\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u252B\"},9516:{\"value\":\"252C\",\"name\":\"BOX DRAWINGS LIGHT DOWN AND HORIZONTAL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS LIGHT DOWN AND HORIZONTAL\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u252C\"},9517:{\"value\":\"252D\",\"name\":\"BOX DRAWINGS LEFT HEAVY AND RIGHT DOWN LIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS LEFT HEAVY AND RIGHT DOWN LIGHT\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u252D\"},9518:{\"value\":\"252E\",\"name\":\"BOX DRAWINGS RIGHT HEAVY AND LEFT DOWN LIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS RIGHT HEAVY AND LEFT DOWN LIGHT\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u252E\"},9519:{\"value\":\"252F\",\"name\":\"BOX DRAWINGS DOWN LIGHT AND HORIZONTAL HEAVY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS DOWN LIGHT AND HORIZONTAL HEAVY\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u252F\"},9520:{\"value\":\"2530\",\"name\":\"BOX DRAWINGS DOWN HEAVY AND HORIZONTAL LIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS DOWN HEAVY AND HORIZONTAL LIGHT\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2530\"},9521:{\"value\":\"2531\",\"name\":\"BOX DRAWINGS RIGHT LIGHT AND LEFT DOWN HEAVY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS RIGHT LIGHT AND LEFT DOWN HEAVY\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2531\"},9522:{\"value\":\"2532\",\"name\":\"BOX DRAWINGS LEFT LIGHT AND RIGHT DOWN HEAVY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS LEFT LIGHT AND RIGHT DOWN HEAVY\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2532\"},9523:{\"value\":\"2533\",\"name\":\"BOX DRAWINGS HEAVY DOWN AND HORIZONTAL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS HEAVY DOWN AND HORIZONTAL\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2533\"},9524:{\"value\":\"2534\",\"name\":\"BOX DRAWINGS LIGHT UP AND HORIZONTAL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS LIGHT UP AND HORIZONTAL\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2534\"},9525:{\"value\":\"2535\",\"name\":\"BOX DRAWINGS LEFT HEAVY AND RIGHT UP LIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS LEFT HEAVY AND RIGHT UP LIGHT\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2535\"},9526:{\"value\":\"2536\",\"name\":\"BOX DRAWINGS RIGHT HEAVY AND LEFT UP LIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS RIGHT HEAVY AND LEFT UP LIGHT\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2536\"},9527:{\"value\":\"2537\",\"name\":\"BOX DRAWINGS UP LIGHT AND HORIZONTAL HEAVY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS UP LIGHT AND HORIZONTAL HEAVY\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2537\"},9528:{\"value\":\"2538\",\"name\":\"BOX DRAWINGS UP HEAVY AND HORIZONTAL LIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS UP HEAVY AND HORIZONTAL LIGHT\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2538\"},9529:{\"value\":\"2539\",\"name\":\"BOX DRAWINGS RIGHT LIGHT AND LEFT UP HEAVY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS RIGHT LIGHT AND LEFT UP HEAVY\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2539\"},9530:{\"value\":\"253A\",\"name\":\"BOX DRAWINGS LEFT LIGHT AND RIGHT UP HEAVY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS LEFT LIGHT AND RIGHT UP HEAVY\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u253A\"},9531:{\"value\":\"253B\",\"name\":\"BOX DRAWINGS HEAVY UP AND HORIZONTAL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS HEAVY UP AND HORIZONTAL\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u253B\"},9532:{\"value\":\"253C\",\"name\":\"BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS LIGHT VERTICAL AND HORIZONTAL\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u253C\"},9533:{\"value\":\"253D\",\"name\":\"BOX DRAWINGS LEFT HEAVY AND RIGHT VERTICAL LIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS LEFT HEAVY AND RIGHT VERTICAL LIGHT\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u253D\"},9534:{\"value\":\"253E\",\"name\":\"BOX DRAWINGS RIGHT HEAVY AND LEFT VERTICAL LIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS RIGHT HEAVY AND LEFT VERTICAL LIGHT\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u253E\"},9535:{\"value\":\"253F\",\"name\":\"BOX DRAWINGS VERTICAL LIGHT AND HORIZONTAL HEAVY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS VERTICAL LIGHT AND HORIZONTAL HEAVY\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u253F\"},9536:{\"value\":\"2540\",\"name\":\"BOX DRAWINGS UP HEAVY AND DOWN HORIZONTAL LIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS UP HEAVY AND DOWN HORIZONTAL LIGHT\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2540\"},9537:{\"value\":\"2541\",\"name\":\"BOX DRAWINGS DOWN HEAVY AND UP HORIZONTAL LIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS DOWN HEAVY AND UP HORIZONTAL LIGHT\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2541\"},9538:{\"value\":\"2542\",\"name\":\"BOX DRAWINGS VERTICAL HEAVY AND HORIZONTAL LIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS VERTICAL HEAVY AND HORIZONTAL LIGHT\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2542\"},9539:{\"value\":\"2543\",\"name\":\"BOX DRAWINGS LEFT UP HEAVY AND RIGHT DOWN LIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS LEFT UP HEAVY AND RIGHT DOWN LIGHT\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2543\"},9540:{\"value\":\"2544\",\"name\":\"BOX DRAWINGS RIGHT UP HEAVY AND LEFT DOWN LIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS RIGHT UP HEAVY AND LEFT DOWN LIGHT\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2544\"},9541:{\"value\":\"2545\",\"name\":\"BOX DRAWINGS LEFT DOWN HEAVY AND RIGHT UP LIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS LEFT DOWN HEAVY AND RIGHT UP LIGHT\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2545\"},9542:{\"value\":\"2546\",\"name\":\"BOX DRAWINGS RIGHT DOWN HEAVY AND LEFT UP LIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS RIGHT DOWN HEAVY AND LEFT UP LIGHT\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2546\"},9543:{\"value\":\"2547\",\"name\":\"BOX DRAWINGS DOWN LIGHT AND UP HORIZONTAL HEAVY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS DOWN LIGHT AND UP HORIZONTAL HEAVY\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2547\"},9544:{\"value\":\"2548\",\"name\":\"BOX DRAWINGS UP LIGHT AND DOWN HORIZONTAL HEAVY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS UP LIGHT AND DOWN HORIZONTAL HEAVY\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2548\"},9545:{\"value\":\"2549\",\"name\":\"BOX DRAWINGS RIGHT LIGHT AND LEFT VERTICAL HEAVY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS RIGHT LIGHT AND LEFT VERTICAL HEAVY\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2549\"},9546:{\"value\":\"254A\",\"name\":\"BOX DRAWINGS LEFT LIGHT AND RIGHT VERTICAL HEAVY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS LEFT LIGHT AND RIGHT VERTICAL HEAVY\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u254A\"},9547:{\"value\":\"254B\",\"name\":\"BOX DRAWINGS HEAVY VERTICAL AND HORIZONTAL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS HEAVY VERTICAL AND HORIZONTAL\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u254B\"},9548:{\"value\":\"254C\",\"name\":\"BOX DRAWINGS LIGHT DOUBLE DASH HORIZONTAL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS LIGHT DOUBLE DASH HORIZONTAL\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u254C\"},9549:{\"value\":\"254D\",\"name\":\"BOX DRAWINGS HEAVY DOUBLE DASH HORIZONTAL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS HEAVY DOUBLE DASH HORIZONTAL\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u254D\"},9550:{\"value\":\"254E\",\"name\":\"BOX DRAWINGS LIGHT DOUBLE DASH VERTICAL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS LIGHT DOUBLE DASH VERTICAL\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u254E\"},9551:{\"value\":\"254F\",\"name\":\"BOX DRAWINGS HEAVY DOUBLE DASH VERTICAL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS HEAVY DOUBLE DASH VERTICAL\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u254F\"},9552:{\"value\":\"2550\",\"name\":\"BOX DRAWINGS DOUBLE HORIZONTAL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS DOUBLE HORIZONTAL\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2550\"},9553:{\"value\":\"2551\",\"name\":\"BOX DRAWINGS DOUBLE VERTICAL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS DOUBLE VERTICAL\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2551\"},9554:{\"value\":\"2552\",\"name\":\"BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS DOWN SINGLE AND RIGHT DOUBLE\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2552\"},9555:{\"value\":\"2553\",\"name\":\"BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS DOWN DOUBLE AND RIGHT SINGLE\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2553\"},9556:{\"value\":\"2554\",\"name\":\"BOX DRAWINGS DOUBLE DOWN AND RIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS DOUBLE DOWN AND RIGHT\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2554\"},9557:{\"value\":\"2555\",\"name\":\"BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS DOWN SINGLE AND LEFT DOUBLE\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2555\"},9558:{\"value\":\"2556\",\"name\":\"BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS DOWN DOUBLE AND LEFT SINGLE\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2556\"},9559:{\"value\":\"2557\",\"name\":\"BOX DRAWINGS DOUBLE DOWN AND LEFT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS DOUBLE DOWN AND LEFT\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2557\"},9560:{\"value\":\"2558\",\"name\":\"BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS UP SINGLE AND RIGHT DOUBLE\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2558\"},9561:{\"value\":\"2559\",\"name\":\"BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS UP DOUBLE AND RIGHT SINGLE\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2559\"},9562:{\"value\":\"255A\",\"name\":\"BOX DRAWINGS DOUBLE UP AND RIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS DOUBLE UP AND RIGHT\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u255A\"},9563:{\"value\":\"255B\",\"name\":\"BOX DRAWINGS UP SINGLE AND LEFT DOUBLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS UP SINGLE AND LEFT DOUBLE\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u255B\"},9564:{\"value\":\"255C\",\"name\":\"BOX DRAWINGS UP DOUBLE AND LEFT SINGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS UP DOUBLE AND LEFT SINGLE\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u255C\"},9565:{\"value\":\"255D\",\"name\":\"BOX DRAWINGS DOUBLE UP AND LEFT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS DOUBLE UP AND LEFT\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u255D\"},9566:{\"value\":\"255E\",\"name\":\"BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS VERTICAL SINGLE AND RIGHT DOUBLE\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u255E\"},9567:{\"value\":\"255F\",\"name\":\"BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS VERTICAL DOUBLE AND RIGHT SINGLE\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u255F\"},9568:{\"value\":\"2560\",\"name\":\"BOX DRAWINGS DOUBLE VERTICAL AND RIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS DOUBLE VERTICAL AND RIGHT\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2560\"},9569:{\"value\":\"2561\",\"name\":\"BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS VERTICAL SINGLE AND LEFT DOUBLE\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2561\"},9570:{\"value\":\"2562\",\"name\":\"BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS VERTICAL DOUBLE AND LEFT SINGLE\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2562\"},9571:{\"value\":\"2563\",\"name\":\"BOX DRAWINGS DOUBLE VERTICAL AND LEFT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS DOUBLE VERTICAL AND LEFT\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2563\"},9572:{\"value\":\"2564\",\"name\":\"BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS DOWN SINGLE AND HORIZONTAL DOUBLE\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2564\"},9573:{\"value\":\"2565\",\"name\":\"BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS DOWN DOUBLE AND HORIZONTAL SINGLE\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2565\"},9574:{\"value\":\"2566\",\"name\":\"BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS DOUBLE DOWN AND HORIZONTAL\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2566\"},9575:{\"value\":\"2567\",\"name\":\"BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS UP SINGLE AND HORIZONTAL DOUBLE\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2567\"},9576:{\"value\":\"2568\",\"name\":\"BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS UP DOUBLE AND HORIZONTAL SINGLE\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2568\"},9577:{\"value\":\"2569\",\"name\":\"BOX DRAWINGS DOUBLE UP AND HORIZONTAL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS DOUBLE UP AND HORIZONTAL\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2569\"},9578:{\"value\":\"256A\",\"name\":\"BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS VERTICAL SINGLE AND HORIZONTAL DOUBLE\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u256A\"},9579:{\"value\":\"256B\",\"name\":\"BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS VERTICAL DOUBLE AND HORIZONTAL SINGLE\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u256B\"},9580:{\"value\":\"256C\",\"name\":\"BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS DOUBLE VERTICAL AND HORIZONTAL\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u256C\"},9581:{\"value\":\"256D\",\"name\":\"BOX DRAWINGS LIGHT ARC DOWN AND RIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS LIGHT ARC DOWN AND RIGHT\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u256D\"},9582:{\"value\":\"256E\",\"name\":\"BOX DRAWINGS LIGHT ARC DOWN AND LEFT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS LIGHT ARC DOWN AND LEFT\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u256E\"},9583:{\"value\":\"256F\",\"name\":\"BOX DRAWINGS LIGHT ARC UP AND LEFT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS LIGHT ARC UP AND LEFT\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u256F\"},9584:{\"value\":\"2570\",\"name\":\"BOX DRAWINGS LIGHT ARC UP AND RIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS LIGHT ARC UP AND RIGHT\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2570\"},9585:{\"value\":\"2571\",\"name\":\"BOX DRAWINGS LIGHT DIAGONAL UPPER RIGHT TO LOWER LEFT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS LIGHT DIAGONAL UPPER RIGHT TO LOWER LEFT\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2571\"},9586:{\"value\":\"2572\",\"name\":\"BOX DRAWINGS LIGHT DIAGONAL UPPER LEFT TO LOWER RIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS LIGHT DIAGONAL UPPER LEFT TO LOWER RIGHT\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2572\"},9587:{\"value\":\"2573\",\"name\":\"BOX DRAWINGS LIGHT DIAGONAL CROSS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS LIGHT DIAGONAL CROSS\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2573\"},9588:{\"value\":\"2574\",\"name\":\"BOX DRAWINGS LIGHT LEFT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS LIGHT LEFT\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2574\"},9589:{\"value\":\"2575\",\"name\":\"BOX DRAWINGS LIGHT UP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS LIGHT UP\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2575\"},9590:{\"value\":\"2576\",\"name\":\"BOX DRAWINGS LIGHT RIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS LIGHT RIGHT\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2576\"},9591:{\"value\":\"2577\",\"name\":\"BOX DRAWINGS LIGHT DOWN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS LIGHT DOWN\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2577\"},9592:{\"value\":\"2578\",\"name\":\"BOX DRAWINGS HEAVY LEFT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS HEAVY LEFT\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2578\"},9593:{\"value\":\"2579\",\"name\":\"BOX DRAWINGS HEAVY UP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS HEAVY UP\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2579\"},9594:{\"value\":\"257A\",\"name\":\"BOX DRAWINGS HEAVY RIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS HEAVY RIGHT\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u257A\"},9595:{\"value\":\"257B\",\"name\":\"BOX DRAWINGS HEAVY DOWN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS HEAVY DOWN\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u257B\"},9596:{\"value\":\"257C\",\"name\":\"BOX DRAWINGS LIGHT LEFT AND HEAVY RIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS LIGHT LEFT AND HEAVY RIGHT\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u257C\"},9597:{\"value\":\"257D\",\"name\":\"BOX DRAWINGS LIGHT UP AND HEAVY DOWN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS LIGHT UP AND HEAVY DOWN\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u257D\"},9598:{\"value\":\"257E\",\"name\":\"BOX DRAWINGS HEAVY LEFT AND LIGHT RIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS HEAVY LEFT AND LIGHT RIGHT\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u257E\"},9599:{\"value\":\"257F\",\"name\":\"BOX DRAWINGS HEAVY UP AND LIGHT DOWN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS HEAVY UP AND LIGHT DOWN\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u257F\"},9600:{\"value\":\"2580\",\"name\":\"UPPER HALF BLOCK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2580\"},9601:{\"value\":\"2581\",\"name\":\"LOWER ONE EIGHTH BLOCK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2581\"},9602:{\"value\":\"2582\",\"name\":\"LOWER ONE QUARTER BLOCK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2582\"},9603:{\"value\":\"2583\",\"name\":\"LOWER THREE EIGHTHS BLOCK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2583\"},9604:{\"value\":\"2584\",\"name\":\"LOWER HALF BLOCK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2584\"},9605:{\"value\":\"2585\",\"name\":\"LOWER FIVE EIGHTHS BLOCK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2585\"},9606:{\"value\":\"2586\",\"name\":\"LOWER THREE QUARTERS BLOCK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"LOWER THREE QUARTER BLOCK\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2586\"},9607:{\"value\":\"2587\",\"name\":\"LOWER SEVEN EIGHTHS BLOCK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2587\"},9608:{\"value\":\"2588\",\"name\":\"FULL BLOCK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2588\"},9609:{\"value\":\"2589\",\"name\":\"LEFT SEVEN EIGHTHS BLOCK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2589\"},9610:{\"value\":\"258A\",\"name\":\"LEFT THREE QUARTERS BLOCK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"LEFT THREE QUARTER BLOCK\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u258A\"},9611:{\"value\":\"258B\",\"name\":\"LEFT FIVE EIGHTHS BLOCK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u258B\"},9612:{\"value\":\"258C\",\"name\":\"LEFT HALF BLOCK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u258C\"},9613:{\"value\":\"258D\",\"name\":\"LEFT THREE EIGHTHS BLOCK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u258D\"},9614:{\"value\":\"258E\",\"name\":\"LEFT ONE QUARTER BLOCK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u258E\"},9615:{\"value\":\"258F\",\"name\":\"LEFT ONE EIGHTH BLOCK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u258F\"},9616:{\"value\":\"2590\",\"name\":\"RIGHT HALF BLOCK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2590\"},9617:{\"value\":\"2591\",\"name\":\"LIGHT SHADE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2591\"},9618:{\"value\":\"2592\",\"name\":\"MEDIUM SHADE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2592\"},9619:{\"value\":\"2593\",\"name\":\"DARK SHADE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2593\"},9620:{\"value\":\"2594\",\"name\":\"UPPER ONE EIGHTH BLOCK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2594\"},9621:{\"value\":\"2595\",\"name\":\"RIGHT ONE EIGHTH BLOCK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2595\"},9622:{\"value\":\"2596\",\"name\":\"QUADRANT LOWER LEFT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2596\"},9623:{\"value\":\"2597\",\"name\":\"QUADRANT LOWER RIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2597\"},9624:{\"value\":\"2598\",\"name\":\"QUADRANT UPPER LEFT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2598\"},9625:{\"value\":\"2599\",\"name\":\"QUADRANT UPPER LEFT AND LOWER LEFT AND LOWER RIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2599\"},9626:{\"value\":\"259A\",\"name\":\"QUADRANT UPPER LEFT AND LOWER RIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u259A\"},9627:{\"value\":\"259B\",\"name\":\"QUADRANT UPPER LEFT AND UPPER RIGHT AND LOWER LEFT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u259B\"},9628:{\"value\":\"259C\",\"name\":\"QUADRANT UPPER LEFT AND UPPER RIGHT AND LOWER RIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u259C\"},9629:{\"value\":\"259D\",\"name\":\"QUADRANT UPPER RIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u259D\"},9630:{\"value\":\"259E\",\"name\":\"QUADRANT UPPER RIGHT AND LOWER LEFT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u259E\"},9631:{\"value\":\"259F\",\"name\":\"QUADRANT UPPER RIGHT AND LOWER LEFT AND LOWER RIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u259F\"},9632:{\"value\":\"25A0\",\"name\":\"BLACK SQUARE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25A0\"},9633:{\"value\":\"25A1\",\"name\":\"WHITE SQUARE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25A1\"},9634:{\"value\":\"25A2\",\"name\":\"WHITE SQUARE WITH ROUNDED CORNERS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25A2\"},9635:{\"value\":\"25A3\",\"name\":\"WHITE SQUARE CONTAINING BLACK SMALL SQUARE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25A3\"},9636:{\"value\":\"25A4\",\"name\":\"SQUARE WITH HORIZONTAL FILL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25A4\"},9637:{\"value\":\"25A5\",\"name\":\"SQUARE WITH VERTICAL FILL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25A5\"},9638:{\"value\":\"25A6\",\"name\":\"SQUARE WITH ORTHOGONAL CROSSHATCH FILL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25A6\"},9639:{\"value\":\"25A7\",\"name\":\"SQUARE WITH UPPER LEFT TO LOWER RIGHT FILL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25A7\"},9640:{\"value\":\"25A8\",\"name\":\"SQUARE WITH UPPER RIGHT TO LOWER LEFT FILL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25A8\"},9641:{\"value\":\"25A9\",\"name\":\"SQUARE WITH DIAGONAL CROSSHATCH FILL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25A9\"},9642:{\"value\":\"25AA\",\"name\":\"BLACK SMALL SQUARE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25AA\"},9643:{\"value\":\"25AB\",\"name\":\"WHITE SMALL SQUARE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25AB\"},9644:{\"value\":\"25AC\",\"name\":\"BLACK RECTANGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25AC\"},9645:{\"value\":\"25AD\",\"name\":\"WHITE RECTANGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25AD\"},9646:{\"value\":\"25AE\",\"name\":\"BLACK VERTICAL RECTANGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25AE\"},9647:{\"value\":\"25AF\",\"name\":\"WHITE VERTICAL RECTANGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25AF\"},9648:{\"value\":\"25B0\",\"name\":\"BLACK PARALLELOGRAM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25B0\"},9649:{\"value\":\"25B1\",\"name\":\"WHITE PARALLELOGRAM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25B1\"},9650:{\"value\":\"25B2\",\"name\":\"BLACK UP-POINTING TRIANGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"BLACK UP POINTING TRIANGLE\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25B2\"},9651:{\"value\":\"25B3\",\"name\":\"WHITE UP-POINTING TRIANGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"WHITE UP POINTING TRIANGLE\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25B3\"},9652:{\"value\":\"25B4\",\"name\":\"BLACK UP-POINTING SMALL TRIANGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"BLACK UP POINTING SMALL TRIANGLE\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25B4\"},9653:{\"value\":\"25B5\",\"name\":\"WHITE UP-POINTING SMALL TRIANGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"WHITE UP POINTING SMALL TRIANGLE\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25B5\"},9654:{\"value\":\"25B6\",\"name\":\"BLACK RIGHT-POINTING TRIANGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"BLACK RIGHT POINTING TRIANGLE\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25B6\"},9656:{\"value\":\"25B8\",\"name\":\"BLACK RIGHT-POINTING SMALL TRIANGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"BLACK RIGHT POINTING SMALL TRIANGLE\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25B8\"},9657:{\"value\":\"25B9\",\"name\":\"WHITE RIGHT-POINTING SMALL TRIANGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"WHITE RIGHT POINTING SMALL TRIANGLE\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25B9\"},9658:{\"value\":\"25BA\",\"name\":\"BLACK RIGHT-POINTING POINTER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"BLACK RIGHT POINTING POINTER\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25BA\"},9659:{\"value\":\"25BB\",\"name\":\"WHITE RIGHT-POINTING POINTER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"WHITE RIGHT POINTING POINTER\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25BB\"},9660:{\"value\":\"25BC\",\"name\":\"BLACK DOWN-POINTING TRIANGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"BLACK DOWN POINTING TRIANGLE\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25BC\"},9661:{\"value\":\"25BD\",\"name\":\"WHITE DOWN-POINTING TRIANGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"WHITE DOWN POINTING TRIANGLE\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25BD\"},9662:{\"value\":\"25BE\",\"name\":\"BLACK DOWN-POINTING SMALL TRIANGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"BLACK DOWN POINTING SMALL TRIANGLE\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25BE\"},9663:{\"value\":\"25BF\",\"name\":\"WHITE DOWN-POINTING SMALL TRIANGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"WHITE DOWN POINTING SMALL TRIANGLE\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25BF\"},9664:{\"value\":\"25C0\",\"name\":\"BLACK LEFT-POINTING TRIANGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"BLACK LEFT POINTING TRIANGLE\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25C0\"},9666:{\"value\":\"25C2\",\"name\":\"BLACK LEFT-POINTING SMALL TRIANGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"BLACK LEFT POINTING SMALL TRIANGLE\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25C2\"},9667:{\"value\":\"25C3\",\"name\":\"WHITE LEFT-POINTING SMALL TRIANGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"WHITE LEFT POINTING SMALL TRIANGLE\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25C3\"},9668:{\"value\":\"25C4\",\"name\":\"BLACK LEFT-POINTING POINTER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"BLACK LEFT POINTING POINTER\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25C4\"},9669:{\"value\":\"25C5\",\"name\":\"WHITE LEFT-POINTING POINTER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"WHITE LEFT POINTING POINTER\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25C5\"},9670:{\"value\":\"25C6\",\"name\":\"BLACK DIAMOND\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25C6\"},9671:{\"value\":\"25C7\",\"name\":\"WHITE DIAMOND\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25C7\"},9672:{\"value\":\"25C8\",\"name\":\"WHITE DIAMOND CONTAINING BLACK SMALL DIAMOND\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25C8\"},9673:{\"value\":\"25C9\",\"name\":\"FISHEYE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25C9\"},9674:{\"value\":\"25CA\",\"name\":\"LOZENGE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25CA\"},9675:{\"value\":\"25CB\",\"name\":\"WHITE CIRCLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25CB\"},9676:{\"value\":\"25CC\",\"name\":\"DOTTED CIRCLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25CC\"},9677:{\"value\":\"25CD\",\"name\":\"CIRCLE WITH VERTICAL FILL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25CD\"},9678:{\"value\":\"25CE\",\"name\":\"BULLSEYE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25CE\"},9679:{\"value\":\"25CF\",\"name\":\"BLACK CIRCLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25CF\"},9680:{\"value\":\"25D0\",\"name\":\"CIRCLE WITH LEFT HALF BLACK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25D0\"},9681:{\"value\":\"25D1\",\"name\":\"CIRCLE WITH RIGHT HALF BLACK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25D1\"},9682:{\"value\":\"25D2\",\"name\":\"CIRCLE WITH LOWER HALF BLACK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25D2\"},9683:{\"value\":\"25D3\",\"name\":\"CIRCLE WITH UPPER HALF BLACK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25D3\"},9684:{\"value\":\"25D4\",\"name\":\"CIRCLE WITH UPPER RIGHT QUADRANT BLACK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25D4\"},9685:{\"value\":\"25D5\",\"name\":\"CIRCLE WITH ALL BUT UPPER LEFT QUADRANT BLACK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25D5\"},9686:{\"value\":\"25D6\",\"name\":\"LEFT HALF BLACK CIRCLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25D6\"},9687:{\"value\":\"25D7\",\"name\":\"RIGHT HALF BLACK CIRCLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25D7\"},9688:{\"value\":\"25D8\",\"name\":\"INVERSE BULLET\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25D8\"},9689:{\"value\":\"25D9\",\"name\":\"INVERSE WHITE CIRCLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25D9\"},9690:{\"value\":\"25DA\",\"name\":\"UPPER HALF INVERSE WHITE CIRCLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25DA\"},9691:{\"value\":\"25DB\",\"name\":\"LOWER HALF INVERSE WHITE CIRCLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25DB\"},9692:{\"value\":\"25DC\",\"name\":\"UPPER LEFT QUADRANT CIRCULAR ARC\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25DC\"},9693:{\"value\":\"25DD\",\"name\":\"UPPER RIGHT QUADRANT CIRCULAR ARC\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25DD\"},9694:{\"value\":\"25DE\",\"name\":\"LOWER RIGHT QUADRANT CIRCULAR ARC\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25DE\"},9695:{\"value\":\"25DF\",\"name\":\"LOWER LEFT QUADRANT CIRCULAR ARC\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25DF\"},9696:{\"value\":\"25E0\",\"name\":\"UPPER HALF CIRCLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25E0\"},9697:{\"value\":\"25E1\",\"name\":\"LOWER HALF CIRCLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25E1\"},9698:{\"value\":\"25E2\",\"name\":\"BLACK LOWER RIGHT TRIANGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25E2\"},9699:{\"value\":\"25E3\",\"name\":\"BLACK LOWER LEFT TRIANGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25E3\"},9700:{\"value\":\"25E4\",\"name\":\"BLACK UPPER LEFT TRIANGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25E4\"},9701:{\"value\":\"25E5\",\"name\":\"BLACK UPPER RIGHT TRIANGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25E5\"},9702:{\"value\":\"25E6\",\"name\":\"WHITE BULLET\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25E6\"},9703:{\"value\":\"25E7\",\"name\":\"SQUARE WITH LEFT HALF BLACK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25E7\"},9704:{\"value\":\"25E8\",\"name\":\"SQUARE WITH RIGHT HALF BLACK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25E8\"},9705:{\"value\":\"25E9\",\"name\":\"SQUARE WITH UPPER LEFT DIAGONAL HALF BLACK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25E9\"},9706:{\"value\":\"25EA\",\"name\":\"SQUARE WITH LOWER RIGHT DIAGONAL HALF BLACK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25EA\"},9707:{\"value\":\"25EB\",\"name\":\"WHITE SQUARE WITH VERTICAL BISECTING LINE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25EB\"},9708:{\"value\":\"25EC\",\"name\":\"WHITE UP-POINTING TRIANGLE WITH DOT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"WHITE UP POINTING TRIANGLE WITH DOT\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25EC\"},9709:{\"value\":\"25ED\",\"name\":\"UP-POINTING TRIANGLE WITH LEFT HALF BLACK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"UP POINTING TRIANGLE WITH LEFT HALF BLACK\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25ED\"},9710:{\"value\":\"25EE\",\"name\":\"UP-POINTING TRIANGLE WITH RIGHT HALF BLACK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"UP POINTING TRIANGLE WITH RIGHT HALF BLACK\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25EE\"},9711:{\"value\":\"25EF\",\"name\":\"LARGE CIRCLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25EF\"},9712:{\"value\":\"25F0\",\"name\":\"WHITE SQUARE WITH UPPER LEFT QUADRANT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25F0\"},9713:{\"value\":\"25F1\",\"name\":\"WHITE SQUARE WITH LOWER LEFT QUADRANT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25F1\"},9714:{\"value\":\"25F2\",\"name\":\"WHITE SQUARE WITH LOWER RIGHT QUADRANT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25F2\"},9715:{\"value\":\"25F3\",\"name\":\"WHITE SQUARE WITH UPPER RIGHT QUADRANT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25F3\"},9716:{\"value\":\"25F4\",\"name\":\"WHITE CIRCLE WITH UPPER LEFT QUADRANT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25F4\"},9717:{\"value\":\"25F5\",\"name\":\"WHITE CIRCLE WITH LOWER LEFT QUADRANT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25F5\"},9718:{\"value\":\"25F6\",\"name\":\"WHITE CIRCLE WITH LOWER RIGHT QUADRANT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25F6\"},9719:{\"value\":\"25F7\",\"name\":\"WHITE CIRCLE WITH UPPER RIGHT QUADRANT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25F7\"},9728:{\"value\":\"2600\",\"name\":\"BLACK SUN WITH RAYS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2600\"},9729:{\"value\":\"2601\",\"name\":\"CLOUD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2601\"},9730:{\"value\":\"2602\",\"name\":\"UMBRELLA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2602\"},9731:{\"value\":\"2603\",\"name\":\"SNOWMAN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2603\"},9732:{\"value\":\"2604\",\"name\":\"COMET\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2604\"},9733:{\"value\":\"2605\",\"name\":\"BLACK STAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2605\"},9734:{\"value\":\"2606\",\"name\":\"WHITE STAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2606\"},9735:{\"value\":\"2607\",\"name\":\"LIGHTNING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2607\"},9736:{\"value\":\"2608\",\"name\":\"THUNDERSTORM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2608\"},9737:{\"value\":\"2609\",\"name\":\"SUN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2609\"},9738:{\"value\":\"260A\",\"name\":\"ASCENDING NODE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u260A\"},9739:{\"value\":\"260B\",\"name\":\"DESCENDING NODE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u260B\"},9740:{\"value\":\"260C\",\"name\":\"CONJUNCTION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u260C\"},9741:{\"value\":\"260D\",\"name\":\"OPPOSITION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u260D\"},9742:{\"value\":\"260E\",\"name\":\"BLACK TELEPHONE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u260E\"},9743:{\"value\":\"260F\",\"name\":\"WHITE TELEPHONE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u260F\"},9744:{\"value\":\"2610\",\"name\":\"BALLOT BOX\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2610\"},9745:{\"value\":\"2611\",\"name\":\"BALLOT BOX WITH CHECK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2611\"},9746:{\"value\":\"2612\",\"name\":\"BALLOT BOX WITH X\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2612\"},9747:{\"value\":\"2613\",\"name\":\"SALTIRE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2613\"},9748:{\"value\":\"2614\",\"name\":\"UMBRELLA WITH RAIN DROPS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2614\"},9749:{\"value\":\"2615\",\"name\":\"HOT BEVERAGE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2615\"},9750:{\"value\":\"2616\",\"name\":\"WHITE SHOGI PIECE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2616\"},9751:{\"value\":\"2617\",\"name\":\"BLACK SHOGI PIECE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2617\"},9752:{\"value\":\"2618\",\"name\":\"SHAMROCK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2618\"},9753:{\"value\":\"2619\",\"name\":\"REVERSED ROTATED FLORAL HEART BULLET\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2619\"},9754:{\"value\":\"261A\",\"name\":\"BLACK LEFT POINTING INDEX\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u261A\"},9755:{\"value\":\"261B\",\"name\":\"BLACK RIGHT POINTING INDEX\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u261B\"},9756:{\"value\":\"261C\",\"name\":\"WHITE LEFT POINTING INDEX\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u261C\"},9757:{\"value\":\"261D\",\"name\":\"WHITE UP POINTING INDEX\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u261D\"},9758:{\"value\":\"261E\",\"name\":\"WHITE RIGHT POINTING INDEX\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u261E\"},9759:{\"value\":\"261F\",\"name\":\"WHITE DOWN POINTING INDEX\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u261F\"},9760:{\"value\":\"2620\",\"name\":\"SKULL AND CROSSBONES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2620\"},9761:{\"value\":\"2621\",\"name\":\"CAUTION SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2621\"},9762:{\"value\":\"2622\",\"name\":\"RADIOACTIVE SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2622\"},9763:{\"value\":\"2623\",\"name\":\"BIOHAZARD SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2623\"},9764:{\"value\":\"2624\",\"name\":\"CADUCEUS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2624\"},9765:{\"value\":\"2625\",\"name\":\"ANKH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2625\"},9766:{\"value\":\"2626\",\"name\":\"ORTHODOX CROSS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2626\"},9767:{\"value\":\"2627\",\"name\":\"CHI RHO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2627\"},9768:{\"value\":\"2628\",\"name\":\"CROSS OF LORRAINE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2628\"},9769:{\"value\":\"2629\",\"name\":\"CROSS OF JERUSALEM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2629\"},9770:{\"value\":\"262A\",\"name\":\"STAR AND CRESCENT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u262A\"},9771:{\"value\":\"262B\",\"name\":\"FARSI SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SYMBOL OF IRAN\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u262B\"},9772:{\"value\":\"262C\",\"name\":\"ADI SHAKTI\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u262C\"},9773:{\"value\":\"262D\",\"name\":\"HAMMER AND SICKLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u262D\"},9774:{\"value\":\"262E\",\"name\":\"PEACE SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u262E\"},9775:{\"value\":\"262F\",\"name\":\"YIN YANG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u262F\"},9776:{\"value\":\"2630\",\"name\":\"TRIGRAM FOR HEAVEN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2630\"},9777:{\"value\":\"2631\",\"name\":\"TRIGRAM FOR LAKE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2631\"},9778:{\"value\":\"2632\",\"name\":\"TRIGRAM FOR FIRE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2632\"},9779:{\"value\":\"2633\",\"name\":\"TRIGRAM FOR THUNDER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2633\"},9780:{\"value\":\"2634\",\"name\":\"TRIGRAM FOR WIND\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2634\"},9781:{\"value\":\"2635\",\"name\":\"TRIGRAM FOR WATER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2635\"},9782:{\"value\":\"2636\",\"name\":\"TRIGRAM FOR MOUNTAIN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2636\"},9783:{\"value\":\"2637\",\"name\":\"TRIGRAM FOR EARTH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2637\"},9784:{\"value\":\"2638\",\"name\":\"WHEEL OF DHARMA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2638\"},9785:{\"value\":\"2639\",\"name\":\"WHITE FROWNING FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2639\"},9786:{\"value\":\"263A\",\"name\":\"WHITE SMILING FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u263A\"},9787:{\"value\":\"263B\",\"name\":\"BLACK SMILING FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u263B\"},9788:{\"value\":\"263C\",\"name\":\"WHITE SUN WITH RAYS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u263C\"},9789:{\"value\":\"263D\",\"name\":\"FIRST QUARTER MOON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u263D\"},9790:{\"value\":\"263E\",\"name\":\"LAST QUARTER MOON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u263E\"},9791:{\"value\":\"263F\",\"name\":\"MERCURY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u263F\"},9792:{\"value\":\"2640\",\"name\":\"FEMALE SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2640\"},9793:{\"value\":\"2641\",\"name\":\"EARTH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2641\"},9794:{\"value\":\"2642\",\"name\":\"MALE SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2642\"},9795:{\"value\":\"2643\",\"name\":\"JUPITER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2643\"},9796:{\"value\":\"2644\",\"name\":\"SATURN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2644\"},9797:{\"value\":\"2645\",\"name\":\"URANUS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2645\"},9798:{\"value\":\"2646\",\"name\":\"NEPTUNE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2646\"},9799:{\"value\":\"2647\",\"name\":\"PLUTO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2647\"},9800:{\"value\":\"2648\",\"name\":\"ARIES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2648\"},9801:{\"value\":\"2649\",\"name\":\"TAURUS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2649\"},9802:{\"value\":\"264A\",\"name\":\"GEMINI\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u264A\"},9803:{\"value\":\"264B\",\"name\":\"CANCER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u264B\"},9804:{\"value\":\"264C\",\"name\":\"LEO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u264C\"},9805:{\"value\":\"264D\",\"name\":\"VIRGO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u264D\"},9806:{\"value\":\"264E\",\"name\":\"LIBRA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u264E\"},9807:{\"value\":\"264F\",\"name\":\"SCORPIUS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u264F\"},9808:{\"value\":\"2650\",\"name\":\"SAGITTARIUS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2650\"},9809:{\"value\":\"2651\",\"name\":\"CAPRICORN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2651\"},9810:{\"value\":\"2652\",\"name\":\"AQUARIUS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2652\"},9811:{\"value\":\"2653\",\"name\":\"PISCES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2653\"},9812:{\"value\":\"2654\",\"name\":\"WHITE CHESS KING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2654\"},9813:{\"value\":\"2655\",\"name\":\"WHITE CHESS QUEEN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2655\"},9814:{\"value\":\"2656\",\"name\":\"WHITE CHESS ROOK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2656\"},9815:{\"value\":\"2657\",\"name\":\"WHITE CHESS BISHOP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2657\"},9816:{\"value\":\"2658\",\"name\":\"WHITE CHESS KNIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2658\"},9817:{\"value\":\"2659\",\"name\":\"WHITE CHESS PAWN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2659\"},9818:{\"value\":\"265A\",\"name\":\"BLACK CHESS KING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u265A\"},9819:{\"value\":\"265B\",\"name\":\"BLACK CHESS QUEEN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u265B\"},9820:{\"value\":\"265C\",\"name\":\"BLACK CHESS ROOK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u265C\"},9821:{\"value\":\"265D\",\"name\":\"BLACK CHESS BISHOP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u265D\"},9822:{\"value\":\"265E\",\"name\":\"BLACK CHESS KNIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u265E\"},9823:{\"value\":\"265F\",\"name\":\"BLACK CHESS PAWN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u265F\"},9824:{\"value\":\"2660\",\"name\":\"BLACK SPADE SUIT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2660\"},9825:{\"value\":\"2661\",\"name\":\"WHITE HEART SUIT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2661\"},9826:{\"value\":\"2662\",\"name\":\"WHITE DIAMOND SUIT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2662\"},9827:{\"value\":\"2663\",\"name\":\"BLACK CLUB SUIT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2663\"},9828:{\"value\":\"2664\",\"name\":\"WHITE SPADE SUIT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2664\"},9829:{\"value\":\"2665\",\"name\":\"BLACK HEART SUIT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2665\"},9830:{\"value\":\"2666\",\"name\":\"BLACK DIAMOND SUIT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2666\"},9831:{\"value\":\"2667\",\"name\":\"WHITE CLUB SUIT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2667\"},9832:{\"value\":\"2668\",\"name\":\"HOT SPRINGS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2668\"},9833:{\"value\":\"2669\",\"name\":\"QUARTER NOTE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2669\"},9834:{\"value\":\"266A\",\"name\":\"EIGHTH NOTE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u266A\"},9835:{\"value\":\"266B\",\"name\":\"BEAMED EIGHTH NOTES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"BARRED EIGHTH NOTES\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u266B\"},9836:{\"value\":\"266C\",\"name\":\"BEAMED SIXTEENTH NOTES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"BARRED SIXTEENTH NOTES\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u266C\"},9837:{\"value\":\"266D\",\"name\":\"MUSIC FLAT SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FLAT\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u266D\"},9838:{\"value\":\"266E\",\"name\":\"MUSIC NATURAL SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"NATURAL\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u266E\"},9840:{\"value\":\"2670\",\"name\":\"WEST SYRIAC CROSS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2670\"},9841:{\"value\":\"2671\",\"name\":\"EAST SYRIAC CROSS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2671\"},9842:{\"value\":\"2672\",\"name\":\"UNIVERSAL RECYCLING SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2672\"},9843:{\"value\":\"2673\",\"name\":\"RECYCLING SYMBOL FOR TYPE-1 PLASTICS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2673\"},9844:{\"value\":\"2674\",\"name\":\"RECYCLING SYMBOL FOR TYPE-2 PLASTICS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2674\"},9845:{\"value\":\"2675\",\"name\":\"RECYCLING SYMBOL FOR TYPE-3 PLASTICS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2675\"},9846:{\"value\":\"2676\",\"name\":\"RECYCLING SYMBOL FOR TYPE-4 PLASTICS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2676\"},9847:{\"value\":\"2677\",\"name\":\"RECYCLING SYMBOL FOR TYPE-5 PLASTICS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2677\"},9848:{\"value\":\"2678\",\"name\":\"RECYCLING SYMBOL FOR TYPE-6 PLASTICS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2678\"},9849:{\"value\":\"2679\",\"name\":\"RECYCLING SYMBOL FOR TYPE-7 PLASTICS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2679\"},9850:{\"value\":\"267A\",\"name\":\"RECYCLING SYMBOL FOR GENERIC MATERIALS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u267A\"},9851:{\"value\":\"267B\",\"name\":\"BLACK UNIVERSAL RECYCLING SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u267B\"},9852:{\"value\":\"267C\",\"name\":\"RECYCLED PAPER SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u267C\"},9853:{\"value\":\"267D\",\"name\":\"PARTIALLY-RECYCLED PAPER SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u267D\"},9854:{\"value\":\"267E\",\"name\":\"PERMANENT PAPER SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u267E\"},9855:{\"value\":\"267F\",\"name\":\"WHEELCHAIR SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u267F\"},9856:{\"value\":\"2680\",\"name\":\"DIE FACE-1\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2680\"},9857:{\"value\":\"2681\",\"name\":\"DIE FACE-2\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2681\"},9858:{\"value\":\"2682\",\"name\":\"DIE FACE-3\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2682\"},9859:{\"value\":\"2683\",\"name\":\"DIE FACE-4\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2683\"},9860:{\"value\":\"2684\",\"name\":\"DIE FACE-5\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2684\"},9861:{\"value\":\"2685\",\"name\":\"DIE FACE-6\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2685\"},9862:{\"value\":\"2686\",\"name\":\"WHITE CIRCLE WITH DOT RIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2686\"},9863:{\"value\":\"2687\",\"name\":\"WHITE CIRCLE WITH TWO DOTS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2687\"},9864:{\"value\":\"2688\",\"name\":\"BLACK CIRCLE WITH WHITE DOT RIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2688\"},9865:{\"value\":\"2689\",\"name\":\"BLACK CIRCLE WITH TWO WHITE DOTS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2689\"},9866:{\"value\":\"268A\",\"name\":\"MONOGRAM FOR YANG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u268A\"},9867:{\"value\":\"268B\",\"name\":\"MONOGRAM FOR YIN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u268B\"},9868:{\"value\":\"268C\",\"name\":\"DIGRAM FOR GREATER YANG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u268C\"},9869:{\"value\":\"268D\",\"name\":\"DIGRAM FOR LESSER YIN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u268D\"},9870:{\"value\":\"268E\",\"name\":\"DIGRAM FOR LESSER YANG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u268E\"},9871:{\"value\":\"268F\",\"name\":\"DIGRAM FOR GREATER YIN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u268F\"},9872:{\"value\":\"2690\",\"name\":\"WHITE FLAG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2690\"},9873:{\"value\":\"2691\",\"name\":\"BLACK FLAG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2691\"},9874:{\"value\":\"2692\",\"name\":\"HAMMER AND PICK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2692\"},9875:{\"value\":\"2693\",\"name\":\"ANCHOR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2693\"},9876:{\"value\":\"2694\",\"name\":\"CROSSED SWORDS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2694\"},9877:{\"value\":\"2695\",\"name\":\"STAFF OF AESCULAPIUS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2695\"},9878:{\"value\":\"2696\",\"name\":\"SCALES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2696\"},9879:{\"value\":\"2697\",\"name\":\"ALEMBIC\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2697\"},9880:{\"value\":\"2698\",\"name\":\"FLOWER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2698\"},9881:{\"value\":\"2699\",\"name\":\"GEAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2699\"},9882:{\"value\":\"269A\",\"name\":\"STAFF OF HERMES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u269A\"},9883:{\"value\":\"269B\",\"name\":\"ATOM SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u269B\"},9884:{\"value\":\"269C\",\"name\":\"FLEUR-DE-LIS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u269C\"},9885:{\"value\":\"269D\",\"name\":\"OUTLINED WHITE STAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u269D\"},9886:{\"value\":\"269E\",\"name\":\"THREE LINES CONVERGING RIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u269E\"},9887:{\"value\":\"269F\",\"name\":\"THREE LINES CONVERGING LEFT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u269F\"},9888:{\"value\":\"26A0\",\"name\":\"WARNING SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26A0\"},9889:{\"value\":\"26A1\",\"name\":\"HIGH VOLTAGE SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26A1\"},9890:{\"value\":\"26A2\",\"name\":\"DOUBLED FEMALE SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26A2\"},9891:{\"value\":\"26A3\",\"name\":\"DOUBLED MALE SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26A3\"},9892:{\"value\":\"26A4\",\"name\":\"INTERLOCKED FEMALE AND MALE SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26A4\"},9893:{\"value\":\"26A5\",\"name\":\"MALE AND FEMALE SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26A5\"},9894:{\"value\":\"26A6\",\"name\":\"MALE WITH STROKE SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26A6\"},9895:{\"value\":\"26A7\",\"name\":\"MALE WITH STROKE AND MALE AND FEMALE SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26A7\"},9896:{\"value\":\"26A8\",\"name\":\"VERTICAL MALE WITH STROKE SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26A8\"},9897:{\"value\":\"26A9\",\"name\":\"HORIZONTAL MALE WITH STROKE SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26A9\"},9898:{\"value\":\"26AA\",\"name\":\"MEDIUM WHITE CIRCLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26AA\"},9899:{\"value\":\"26AB\",\"name\":\"MEDIUM BLACK CIRCLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26AB\"},9900:{\"value\":\"26AC\",\"name\":\"MEDIUM SMALL WHITE CIRCLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26AC\"},9901:{\"value\":\"26AD\",\"name\":\"MARRIAGE SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26AD\"},9902:{\"value\":\"26AE\",\"name\":\"DIVORCE SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26AE\"},9903:{\"value\":\"26AF\",\"name\":\"UNMARRIED PARTNERSHIP SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26AF\"},9904:{\"value\":\"26B0\",\"name\":\"COFFIN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26B0\"},9905:{\"value\":\"26B1\",\"name\":\"FUNERAL URN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26B1\"},9906:{\"value\":\"26B2\",\"name\":\"NEUTER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26B2\"},9907:{\"value\":\"26B3\",\"name\":\"CERES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26B3\"},9908:{\"value\":\"26B4\",\"name\":\"PALLAS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26B4\"},9909:{\"value\":\"26B5\",\"name\":\"JUNO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26B5\"},9910:{\"value\":\"26B6\",\"name\":\"VESTA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26B6\"},9911:{\"value\":\"26B7\",\"name\":\"CHIRON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26B7\"},9912:{\"value\":\"26B8\",\"name\":\"BLACK MOON LILITH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26B8\"},9913:{\"value\":\"26B9\",\"name\":\"SEXTILE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26B9\"},9914:{\"value\":\"26BA\",\"name\":\"SEMISEXTILE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26BA\"},9915:{\"value\":\"26BB\",\"name\":\"QUINCUNX\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26BB\"},9916:{\"value\":\"26BC\",\"name\":\"SESQUIQUADRATE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26BC\"},9917:{\"value\":\"26BD\",\"name\":\"SOCCER BALL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26BD\"},9918:{\"value\":\"26BE\",\"name\":\"BASEBALL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26BE\"},9919:{\"value\":\"26BF\",\"name\":\"SQUARED KEY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26BF\"},9920:{\"value\":\"26C0\",\"name\":\"WHITE DRAUGHTS MAN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26C0\"},9921:{\"value\":\"26C1\",\"name\":\"WHITE DRAUGHTS KING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26C1\"},9922:{\"value\":\"26C2\",\"name\":\"BLACK DRAUGHTS MAN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26C2\"},9923:{\"value\":\"26C3\",\"name\":\"BLACK DRAUGHTS KING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26C3\"},9924:{\"value\":\"26C4\",\"name\":\"SNOWMAN WITHOUT SNOW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26C4\"},9925:{\"value\":\"26C5\",\"name\":\"SUN BEHIND CLOUD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26C5\"},9926:{\"value\":\"26C6\",\"name\":\"RAIN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26C6\"},9927:{\"value\":\"26C7\",\"name\":\"BLACK SNOWMAN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26C7\"},9928:{\"value\":\"26C8\",\"name\":\"THUNDER CLOUD AND RAIN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26C8\"},9929:{\"value\":\"26C9\",\"name\":\"TURNED WHITE SHOGI PIECE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26C9\"},9930:{\"value\":\"26CA\",\"name\":\"TURNED BLACK SHOGI PIECE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26CA\"},9931:{\"value\":\"26CB\",\"name\":\"WHITE DIAMOND IN SQUARE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26CB\"},9932:{\"value\":\"26CC\",\"name\":\"CROSSING LANES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26CC\"},9933:{\"value\":\"26CD\",\"name\":\"DISABLED CAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26CD\"},9934:{\"value\":\"26CE\",\"name\":\"OPHIUCHUS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26CE\"},9935:{\"value\":\"26CF\",\"name\":\"PICK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26CF\"},9936:{\"value\":\"26D0\",\"name\":\"CAR SLIDING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26D0\"},9937:{\"value\":\"26D1\",\"name\":\"HELMET WITH WHITE CROSS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26D1\"},9938:{\"value\":\"26D2\",\"name\":\"CIRCLED CROSSING LANES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26D2\"},9939:{\"value\":\"26D3\",\"name\":\"CHAINS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26D3\"},9940:{\"value\":\"26D4\",\"name\":\"NO ENTRY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26D4\"},9941:{\"value\":\"26D5\",\"name\":\"ALTERNATE ONE-WAY LEFT WAY TRAFFIC\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26D5\"},9942:{\"value\":\"26D6\",\"name\":\"BLACK TWO-WAY LEFT WAY TRAFFIC\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26D6\"},9943:{\"value\":\"26D7\",\"name\":\"WHITE TWO-WAY LEFT WAY TRAFFIC\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26D7\"},9944:{\"value\":\"26D8\",\"name\":\"BLACK LEFT LANE MERGE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26D8\"},9945:{\"value\":\"26D9\",\"name\":\"WHITE LEFT LANE MERGE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26D9\"},9946:{\"value\":\"26DA\",\"name\":\"DRIVE SLOW SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26DA\"},9947:{\"value\":\"26DB\",\"name\":\"HEAVY WHITE DOWN-POINTING TRIANGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26DB\"},9948:{\"value\":\"26DC\",\"name\":\"LEFT CLOSED ENTRY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26DC\"},9949:{\"value\":\"26DD\",\"name\":\"SQUARED SALTIRE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26DD\"},9950:{\"value\":\"26DE\",\"name\":\"FALLING DIAGONAL IN WHITE CIRCLE IN BLACK SQUARE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26DE\"},9951:{\"value\":\"26DF\",\"name\":\"BLACK TRUCK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26DF\"},9952:{\"value\":\"26E0\",\"name\":\"RESTRICTED LEFT ENTRY-1\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26E0\"},9953:{\"value\":\"26E1\",\"name\":\"RESTRICTED LEFT ENTRY-2\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26E1\"},9954:{\"value\":\"26E2\",\"name\":\"ASTRONOMICAL SYMBOL FOR URANUS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26E2\"},9955:{\"value\":\"26E3\",\"name\":\"HEAVY CIRCLE WITH STROKE AND TWO DOTS ABOVE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26E3\"},9956:{\"value\":\"26E4\",\"name\":\"PENTAGRAM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26E4\"},9957:{\"value\":\"26E5\",\"name\":\"RIGHT-HANDED INTERLACED PENTAGRAM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26E5\"},9958:{\"value\":\"26E6\",\"name\":\"LEFT-HANDED INTERLACED PENTAGRAM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26E6\"},9959:{\"value\":\"26E7\",\"name\":\"INVERTED PENTAGRAM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26E7\"},9960:{\"value\":\"26E8\",\"name\":\"BLACK CROSS ON SHIELD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26E8\"},9961:{\"value\":\"26E9\",\"name\":\"SHINTO SHRINE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26E9\"},9962:{\"value\":\"26EA\",\"name\":\"CHURCH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26EA\"},9963:{\"value\":\"26EB\",\"name\":\"CASTLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26EB\"},9964:{\"value\":\"26EC\",\"name\":\"HISTORIC SITE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26EC\"},9965:{\"value\":\"26ED\",\"name\":\"GEAR WITHOUT HUB\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26ED\"},9966:{\"value\":\"26EE\",\"name\":\"GEAR WITH HANDLES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26EE\"},9967:{\"value\":\"26EF\",\"name\":\"MAP SYMBOL FOR LIGHTHOUSE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26EF\"},9968:{\"value\":\"26F0\",\"name\":\"MOUNTAIN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26F0\"},9969:{\"value\":\"26F1\",\"name\":\"UMBRELLA ON GROUND\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26F1\"},9970:{\"value\":\"26F2\",\"name\":\"FOUNTAIN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26F2\"},9971:{\"value\":\"26F3\",\"name\":\"FLAG IN HOLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26F3\"},9972:{\"value\":\"26F4\",\"name\":\"FERRY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26F4\"},9973:{\"value\":\"26F5\",\"name\":\"SAILBOAT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26F5\"},9974:{\"value\":\"26F6\",\"name\":\"SQUARE FOUR CORNERS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26F6\"},9975:{\"value\":\"26F7\",\"name\":\"SKIER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26F7\"},9976:{\"value\":\"26F8\",\"name\":\"ICE SKATE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26F8\"},9977:{\"value\":\"26F9\",\"name\":\"PERSON WITH BALL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26F9\"},9978:{\"value\":\"26FA\",\"name\":\"TENT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26FA\"},9979:{\"value\":\"26FB\",\"name\":\"JAPANESE BANK SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26FB\"},9980:{\"value\":\"26FC\",\"name\":\"HEADSTONE GRAVEYARD SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26FC\"},9981:{\"value\":\"26FD\",\"name\":\"FUEL PUMP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26FD\"},9982:{\"value\":\"26FE\",\"name\":\"CUP ON BLACK SQUARE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26FE\"},9983:{\"value\":\"26FF\",\"name\":\"WHITE FLAG WITH HORIZONTAL MIDDLE BLACK STRIPE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26FF\"},9984:{\"value\":\"2700\",\"name\":\"BLACK SAFETY SCISSORS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2700\"},9985:{\"value\":\"2701\",\"name\":\"UPPER BLADE SCISSORS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2701\"},9986:{\"value\":\"2702\",\"name\":\"BLACK SCISSORS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2702\"},9987:{\"value\":\"2703\",\"name\":\"LOWER BLADE SCISSORS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2703\"},9988:{\"value\":\"2704\",\"name\":\"WHITE SCISSORS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2704\"},9989:{\"value\":\"2705\",\"name\":\"WHITE HEAVY CHECK MARK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2705\"},9990:{\"value\":\"2706\",\"name\":\"TELEPHONE LOCATION SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2706\"},9991:{\"value\":\"2707\",\"name\":\"TAPE DRIVE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2707\"},9992:{\"value\":\"2708\",\"name\":\"AIRPLANE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2708\"},9993:{\"value\":\"2709\",\"name\":\"ENVELOPE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2709\"},9994:{\"value\":\"270A\",\"name\":\"RAISED FIST\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u270A\"},9995:{\"value\":\"270B\",\"name\":\"RAISED HAND\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u270B\"},9996:{\"value\":\"270C\",\"name\":\"VICTORY HAND\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u270C\"},9997:{\"value\":\"270D\",\"name\":\"WRITING HAND\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u270D\"},9998:{\"value\":\"270E\",\"name\":\"LOWER RIGHT PENCIL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u270E\"},9999:{\"value\":\"270F\",\"name\":\"PENCIL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u270F\"},10000:{\"value\":\"2710\",\"name\":\"UPPER RIGHT PENCIL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2710\"},10001:{\"value\":\"2711\",\"name\":\"WHITE NIB\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2711\"},10002:{\"value\":\"2712\",\"name\":\"BLACK NIB\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2712\"},10003:{\"value\":\"2713\",\"name\":\"CHECK MARK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2713\"},10004:{\"value\":\"2714\",\"name\":\"HEAVY CHECK MARK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2714\"},10005:{\"value\":\"2715\",\"name\":\"MULTIPLICATION X\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2715\"},10006:{\"value\":\"2716\",\"name\":\"HEAVY MULTIPLICATION X\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2716\"},10007:{\"value\":\"2717\",\"name\":\"BALLOT X\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2717\"},10008:{\"value\":\"2718\",\"name\":\"HEAVY BALLOT X\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2718\"},10009:{\"value\":\"2719\",\"name\":\"OUTLINED GREEK CROSS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2719\"},10010:{\"value\":\"271A\",\"name\":\"HEAVY GREEK CROSS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u271A\"},10011:{\"value\":\"271B\",\"name\":\"OPEN CENTRE CROSS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"OPEN CENTER CROSS\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u271B\"},10012:{\"value\":\"271C\",\"name\":\"HEAVY OPEN CENTRE CROSS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"HEAVY OPEN CENTER CROSS\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u271C\"},10013:{\"value\":\"271D\",\"name\":\"LATIN CROSS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u271D\"},10014:{\"value\":\"271E\",\"name\":\"SHADOWED WHITE LATIN CROSS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u271E\"},10015:{\"value\":\"271F\",\"name\":\"OUTLINED LATIN CROSS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u271F\"},10016:{\"value\":\"2720\",\"name\":\"MALTESE CROSS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2720\"},10017:{\"value\":\"2721\",\"name\":\"STAR OF DAVID\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2721\"},10018:{\"value\":\"2722\",\"name\":\"FOUR TEARDROP-SPOKED ASTERISK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2722\"},10019:{\"value\":\"2723\",\"name\":\"FOUR BALLOON-SPOKED ASTERISK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2723\"},10020:{\"value\":\"2724\",\"name\":\"HEAVY FOUR BALLOON-SPOKED ASTERISK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2724\"},10021:{\"value\":\"2725\",\"name\":\"FOUR CLUB-SPOKED ASTERISK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2725\"},10022:{\"value\":\"2726\",\"name\":\"BLACK FOUR POINTED STAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2726\"},10023:{\"value\":\"2727\",\"name\":\"WHITE FOUR POINTED STAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2727\"},10024:{\"value\":\"2728\",\"name\":\"SPARKLES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2728\"},10025:{\"value\":\"2729\",\"name\":\"STRESS OUTLINED WHITE STAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2729\"},10026:{\"value\":\"272A\",\"name\":\"CIRCLED WHITE STAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u272A\"},10027:{\"value\":\"272B\",\"name\":\"OPEN CENTRE BLACK STAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"OPEN CENTER BLACK STAR\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u272B\"},10028:{\"value\":\"272C\",\"name\":\"BLACK CENTRE WHITE STAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"BLACK CENTER WHITE STAR\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u272C\"},10029:{\"value\":\"272D\",\"name\":\"OUTLINED BLACK STAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u272D\"},10030:{\"value\":\"272E\",\"name\":\"HEAVY OUTLINED BLACK STAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u272E\"},10031:{\"value\":\"272F\",\"name\":\"PINWHEEL STAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u272F\"},10032:{\"value\":\"2730\",\"name\":\"SHADOWED WHITE STAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2730\"},10033:{\"value\":\"2731\",\"name\":\"HEAVY ASTERISK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2731\"},10034:{\"value\":\"2732\",\"name\":\"OPEN CENTRE ASTERISK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"OPEN CENTER ASTERISK\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2732\"},10035:{\"value\":\"2733\",\"name\":\"EIGHT SPOKED ASTERISK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2733\"},10036:{\"value\":\"2734\",\"name\":\"EIGHT POINTED BLACK STAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2734\"},10037:{\"value\":\"2735\",\"name\":\"EIGHT POINTED PINWHEEL STAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2735\"},10038:{\"value\":\"2736\",\"name\":\"SIX POINTED BLACK STAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2736\"},10039:{\"value\":\"2737\",\"name\":\"EIGHT POINTED RECTILINEAR BLACK STAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2737\"},10040:{\"value\":\"2738\",\"name\":\"HEAVY EIGHT POINTED RECTILINEAR BLACK STAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2738\"},10041:{\"value\":\"2739\",\"name\":\"TWELVE POINTED BLACK STAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2739\"},10042:{\"value\":\"273A\",\"name\":\"SIXTEEN POINTED ASTERISK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u273A\"},10043:{\"value\":\"273B\",\"name\":\"TEARDROP-SPOKED ASTERISK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u273B\"},10044:{\"value\":\"273C\",\"name\":\"OPEN CENTRE TEARDROP-SPOKED ASTERISK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"OPEN CENTER TEARDROP-SPOKED ASTERISK\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u273C\"},10045:{\"value\":\"273D\",\"name\":\"HEAVY TEARDROP-SPOKED ASTERISK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u273D\"},10046:{\"value\":\"273E\",\"name\":\"SIX PETALLED BLACK AND WHITE FLORETTE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u273E\"},10047:{\"value\":\"273F\",\"name\":\"BLACK FLORETTE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u273F\"},10048:{\"value\":\"2740\",\"name\":\"WHITE FLORETTE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2740\"},10049:{\"value\":\"2741\",\"name\":\"EIGHT PETALLED OUTLINED BLACK FLORETTE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2741\"},10050:{\"value\":\"2742\",\"name\":\"CIRCLED OPEN CENTRE EIGHT POINTED STAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"CIRCLED OPEN CENTER EIGHT POINTED STAR\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2742\"},10051:{\"value\":\"2743\",\"name\":\"HEAVY TEARDROP-SPOKED PINWHEEL ASTERISK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2743\"},10052:{\"value\":\"2744\",\"name\":\"SNOWFLAKE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2744\"},10053:{\"value\":\"2745\",\"name\":\"TIGHT TRIFOLIATE SNOWFLAKE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2745\"},10054:{\"value\":\"2746\",\"name\":\"HEAVY CHEVRON SNOWFLAKE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2746\"},10055:{\"value\":\"2747\",\"name\":\"SPARKLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2747\"},10056:{\"value\":\"2748\",\"name\":\"HEAVY SPARKLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2748\"},10057:{\"value\":\"2749\",\"name\":\"BALLOON-SPOKED ASTERISK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2749\"},10058:{\"value\":\"274A\",\"name\":\"EIGHT TEARDROP-SPOKED PROPELLER ASTERISK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u274A\"},10059:{\"value\":\"274B\",\"name\":\"HEAVY EIGHT TEARDROP-SPOKED PROPELLER ASTERISK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u274B\"},10060:{\"value\":\"274C\",\"name\":\"CROSS MARK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u274C\"},10061:{\"value\":\"274D\",\"name\":\"SHADOWED WHITE CIRCLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u274D\"},10062:{\"value\":\"274E\",\"name\":\"NEGATIVE SQUARED CROSS MARK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u274E\"},10063:{\"value\":\"274F\",\"name\":\"LOWER RIGHT DROP-SHADOWED WHITE SQUARE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u274F\"},10064:{\"value\":\"2750\",\"name\":\"UPPER RIGHT DROP-SHADOWED WHITE SQUARE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2750\"},10065:{\"value\":\"2751\",\"name\":\"LOWER RIGHT SHADOWED WHITE SQUARE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2751\"},10066:{\"value\":\"2752\",\"name\":\"UPPER RIGHT SHADOWED WHITE SQUARE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2752\"},10067:{\"value\":\"2753\",\"name\":\"BLACK QUESTION MARK ORNAMENT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2753\"},10068:{\"value\":\"2754\",\"name\":\"WHITE QUESTION MARK ORNAMENT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2754\"},10069:{\"value\":\"2755\",\"name\":\"WHITE EXCLAMATION MARK ORNAMENT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2755\"},10070:{\"value\":\"2756\",\"name\":\"BLACK DIAMOND MINUS WHITE X\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2756\"},10071:{\"value\":\"2757\",\"name\":\"HEAVY EXCLAMATION MARK SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2757\"},10072:{\"value\":\"2758\",\"name\":\"LIGHT VERTICAL BAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2758\"},10073:{\"value\":\"2759\",\"name\":\"MEDIUM VERTICAL BAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2759\"},10074:{\"value\":\"275A\",\"name\":\"HEAVY VERTICAL BAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u275A\"},10075:{\"value\":\"275B\",\"name\":\"HEAVY SINGLE TURNED COMMA QUOTATION MARK ORNAMENT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u275B\"},10076:{\"value\":\"275C\",\"name\":\"HEAVY SINGLE COMMA QUOTATION MARK ORNAMENT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u275C\"},10077:{\"value\":\"275D\",\"name\":\"HEAVY DOUBLE TURNED COMMA QUOTATION MARK ORNAMENT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u275D\"},10078:{\"value\":\"275E\",\"name\":\"HEAVY DOUBLE COMMA QUOTATION MARK ORNAMENT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u275E\"},10079:{\"value\":\"275F\",\"name\":\"HEAVY LOW SINGLE COMMA QUOTATION MARK ORNAMENT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u275F\"},10080:{\"value\":\"2760\",\"name\":\"HEAVY LOW DOUBLE COMMA QUOTATION MARK ORNAMENT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2760\"},10081:{\"value\":\"2761\",\"name\":\"CURVED STEM PARAGRAPH SIGN ORNAMENT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2761\"},10082:{\"value\":\"2762\",\"name\":\"HEAVY EXCLAMATION MARK ORNAMENT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2762\"},10083:{\"value\":\"2763\",\"name\":\"HEAVY HEART EXCLAMATION MARK ORNAMENT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2763\"},10084:{\"value\":\"2764\",\"name\":\"HEAVY BLACK HEART\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2764\"},10085:{\"value\":\"2765\",\"name\":\"ROTATED HEAVY BLACK HEART BULLET\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2765\"},10086:{\"value\":\"2766\",\"name\":\"FLORAL HEART\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2766\"},10087:{\"value\":\"2767\",\"name\":\"ROTATED FLORAL HEART BULLET\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2767\"},10132:{\"value\":\"2794\",\"name\":\"HEAVY WIDE-HEADED RIGHTWARDS ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"HEAVY WIDE-HEADED RIGHT ARROW\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2794\"},10133:{\"value\":\"2795\",\"name\":\"HEAVY PLUS SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2795\"},10134:{\"value\":\"2796\",\"name\":\"HEAVY MINUS SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2796\"},10135:{\"value\":\"2797\",\"name\":\"HEAVY DIVISION SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2797\"},10136:{\"value\":\"2798\",\"name\":\"HEAVY SOUTH EAST ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"HEAVY LOWER RIGHT ARROW\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2798\"},10137:{\"value\":\"2799\",\"name\":\"HEAVY RIGHTWARDS ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"HEAVY RIGHT ARROW\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2799\"},10138:{\"value\":\"279A\",\"name\":\"HEAVY NORTH EAST ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"HEAVY UPPER RIGHT ARROW\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u279A\"},10139:{\"value\":\"279B\",\"name\":\"DRAFTING POINT RIGHTWARDS ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"DRAFTING POINT RIGHT ARROW\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u279B\"},10140:{\"value\":\"279C\",\"name\":\"HEAVY ROUND-TIPPED RIGHTWARDS ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"HEAVY ROUND-TIPPED RIGHT ARROW\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u279C\"},10141:{\"value\":\"279D\",\"name\":\"TRIANGLE-HEADED RIGHTWARDS ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"TRIANGLE-HEADED RIGHT ARROW\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u279D\"},10142:{\"value\":\"279E\",\"name\":\"HEAVY TRIANGLE-HEADED RIGHTWARDS ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"HEAVY TRIANGLE-HEADED RIGHT ARROW\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u279E\"},10143:{\"value\":\"279F\",\"name\":\"DASHED TRIANGLE-HEADED RIGHTWARDS ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"DASHED TRIANGLE-HEADED RIGHT ARROW\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u279F\"},10144:{\"value\":\"27A0\",\"name\":\"HEAVY DASHED TRIANGLE-HEADED RIGHTWARDS ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"HEAVY DASHED TRIANGLE-HEADED RIGHT ARROW\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u27A0\"},10145:{\"value\":\"27A1\",\"name\":\"BLACK RIGHTWARDS ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"BLACK RIGHT ARROW\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u27A1\"},10146:{\"value\":\"27A2\",\"name\":\"THREE-D TOP-LIGHTED RIGHTWARDS ARROWHEAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"THREE-D TOP-LIGHTED RIGHT ARROWHEAD\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u27A2\"},10147:{\"value\":\"27A3\",\"name\":\"THREE-D BOTTOM-LIGHTED RIGHTWARDS ARROWHEAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"THREE-D BOTTOM-LIGHTED RIGHT ARROWHEAD\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u27A3\"},10148:{\"value\":\"27A4\",\"name\":\"BLACK RIGHTWARDS ARROWHEAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"BLACK RIGHT ARROWHEAD\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u27A4\"},10149:{\"value\":\"27A5\",\"name\":\"HEAVY BLACK CURVED DOWNWARDS AND RIGHTWARDS ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"HEAVY BLACK CURVED DOWN AND RIGHT ARROW\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u27A5\"},10150:{\"value\":\"27A6\",\"name\":\"HEAVY BLACK CURVED UPWARDS AND RIGHTWARDS ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"HEAVY BLACK CURVED UP AND RIGHT ARROW\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u27A6\"},10151:{\"value\":\"27A7\",\"name\":\"SQUAT BLACK RIGHTWARDS ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUAT BLACK RIGHT ARROW\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u27A7\"},10152:{\"value\":\"27A8\",\"name\":\"HEAVY CONCAVE-POINTED BLACK RIGHTWARDS ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"HEAVY CONCAVE-POINTED BLACK RIGHT ARROW\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u27A8\"},10153:{\"value\":\"27A9\",\"name\":\"RIGHT-SHADED WHITE RIGHTWARDS ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"RIGHT-SHADED WHITE RIGHT ARROW\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u27A9\"},10154:{\"value\":\"27AA\",\"name\":\"LEFT-SHADED WHITE RIGHTWARDS ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"LEFT-SHADED WHITE RIGHT ARROW\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u27AA\"},10155:{\"value\":\"27AB\",\"name\":\"BACK-TILTED SHADOWED WHITE RIGHTWARDS ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"BACK-TILTED SHADOWED WHITE RIGHT ARROW\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u27AB\"},10156:{\"value\":\"27AC\",\"name\":\"FRONT-TILTED SHADOWED WHITE RIGHTWARDS ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FRONT-TILTED SHADOWED WHITE RIGHT ARROW\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u27AC\"},10157:{\"value\":\"27AD\",\"name\":\"HEAVY LOWER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"HEAVY LOWER RIGHT-SHADOWED WHITE RIGHT ARROW\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u27AD\"},10158:{\"value\":\"27AE\",\"name\":\"HEAVY UPPER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"HEAVY UPPER RIGHT-SHADOWED WHITE RIGHT ARROW\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u27AE\"},10159:{\"value\":\"27AF\",\"name\":\"NOTCHED LOWER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"NOTCHED LOWER RIGHT-SHADOWED WHITE RIGHT ARROW\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u27AF\"},10160:{\"value\":\"27B0\",\"name\":\"CURLY LOOP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u27B0\"},10161:{\"value\":\"27B1\",\"name\":\"NOTCHED UPPER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"NOTCHED UPPER RIGHT-SHADOWED WHITE RIGHT ARROW\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u27B1\"},10162:{\"value\":\"27B2\",\"name\":\"CIRCLED HEAVY WHITE RIGHTWARDS ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"CIRCLED HEAVY WHITE RIGHT ARROW\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u27B2\"},10163:{\"value\":\"27B3\",\"name\":\"WHITE-FEATHERED RIGHTWARDS ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"WHITE-FEATHERED RIGHT ARROW\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u27B3\"},10164:{\"value\":\"27B4\",\"name\":\"BLACK-FEATHERED SOUTH EAST ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"BLACK-FEATHERED LOWER RIGHT ARROW\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u27B4\"},10165:{\"value\":\"27B5\",\"name\":\"BLACK-FEATHERED RIGHTWARDS ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"BLACK-FEATHERED RIGHT ARROW\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u27B5\"},10166:{\"value\":\"27B6\",\"name\":\"BLACK-FEATHERED NORTH EAST ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"BLACK-FEATHERED UPPER RIGHT ARROW\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u27B6\"},10167:{\"value\":\"27B7\",\"name\":\"HEAVY BLACK-FEATHERED SOUTH EAST ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"HEAVY BLACK-FEATHERED LOWER RIGHT ARROW\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u27B7\"},10168:{\"value\":\"27B8\",\"name\":\"HEAVY BLACK-FEATHERED RIGHTWARDS ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"HEAVY BLACK-FEATHERED RIGHT ARROW\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u27B8\"},10169:{\"value\":\"27B9\",\"name\":\"HEAVY BLACK-FEATHERED NORTH EAST ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"HEAVY BLACK-FEATHERED UPPER RIGHT ARROW\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u27B9\"},10170:{\"value\":\"27BA\",\"name\":\"TEARDROP-BARBED RIGHTWARDS ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"TEARDROP-BARBED RIGHT ARROW\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u27BA\"},10171:{\"value\":\"27BB\",\"name\":\"HEAVY TEARDROP-SHANKED RIGHTWARDS ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"HEAVY TEARDROP-SHANKED RIGHT ARROW\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u27BB\"},10172:{\"value\":\"27BC\",\"name\":\"WEDGE-TAILED RIGHTWARDS ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"WEDGE-TAILED RIGHT ARROW\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u27BC\"},10173:{\"value\":\"27BD\",\"name\":\"HEAVY WEDGE-TAILED RIGHTWARDS ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"HEAVY WEDGE-TAILED RIGHT ARROW\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u27BD\"},10174:{\"value\":\"27BE\",\"name\":\"OPEN-OUTLINED RIGHTWARDS ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"OPEN-OUTLINED RIGHT ARROW\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u27BE\"},10175:{\"value\":\"27BF\",\"name\":\"DOUBLE CURLY LOOP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u27BF\"},10240:{\"value\":\"2800\",\"name\":\"BRAILLE PATTERN BLANK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2800\"},10241:{\"value\":\"2801\",\"name\":\"BRAILLE PATTERN DOTS-1\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2801\"},10242:{\"value\":\"2802\",\"name\":\"BRAILLE PATTERN DOTS-2\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2802\"},10243:{\"value\":\"2803\",\"name\":\"BRAILLE PATTERN DOTS-12\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2803\"},10244:{\"value\":\"2804\",\"name\":\"BRAILLE PATTERN DOTS-3\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2804\"},10245:{\"value\":\"2805\",\"name\":\"BRAILLE PATTERN DOTS-13\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2805\"},10246:{\"value\":\"2806\",\"name\":\"BRAILLE PATTERN DOTS-23\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2806\"},10247:{\"value\":\"2807\",\"name\":\"BRAILLE PATTERN DOTS-123\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2807\"},10248:{\"value\":\"2808\",\"name\":\"BRAILLE PATTERN DOTS-4\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2808\"},10249:{\"value\":\"2809\",\"name\":\"BRAILLE PATTERN DOTS-14\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2809\"},10250:{\"value\":\"280A\",\"name\":\"BRAILLE PATTERN DOTS-24\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u280A\"},10251:{\"value\":\"280B\",\"name\":\"BRAILLE PATTERN DOTS-124\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u280B\"},10252:{\"value\":\"280C\",\"name\":\"BRAILLE PATTERN DOTS-34\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u280C\"},10253:{\"value\":\"280D\",\"name\":\"BRAILLE PATTERN DOTS-134\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u280D\"},10254:{\"value\":\"280E\",\"name\":\"BRAILLE PATTERN DOTS-234\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u280E\"},10255:{\"value\":\"280F\",\"name\":\"BRAILLE PATTERN DOTS-1234\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u280F\"},10256:{\"value\":\"2810\",\"name\":\"BRAILLE PATTERN DOTS-5\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2810\"},10257:{\"value\":\"2811\",\"name\":\"BRAILLE PATTERN DOTS-15\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2811\"},10258:{\"value\":\"2812\",\"name\":\"BRAILLE PATTERN DOTS-25\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2812\"},10259:{\"value\":\"2813\",\"name\":\"BRAILLE PATTERN DOTS-125\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2813\"},10260:{\"value\":\"2814\",\"name\":\"BRAILLE PATTERN DOTS-35\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2814\"},10261:{\"value\":\"2815\",\"name\":\"BRAILLE PATTERN DOTS-135\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2815\"},10262:{\"value\":\"2816\",\"name\":\"BRAILLE PATTERN DOTS-235\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2816\"},10263:{\"value\":\"2817\",\"name\":\"BRAILLE PATTERN DOTS-1235\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2817\"},10264:{\"value\":\"2818\",\"name\":\"BRAILLE PATTERN DOTS-45\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2818\"},10265:{\"value\":\"2819\",\"name\":\"BRAILLE PATTERN DOTS-145\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2819\"},10266:{\"value\":\"281A\",\"name\":\"BRAILLE PATTERN DOTS-245\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u281A\"},10267:{\"value\":\"281B\",\"name\":\"BRAILLE PATTERN DOTS-1245\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u281B\"},10268:{\"value\":\"281C\",\"name\":\"BRAILLE PATTERN DOTS-345\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u281C\"},10269:{\"value\":\"281D\",\"name\":\"BRAILLE PATTERN DOTS-1345\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u281D\"},10270:{\"value\":\"281E\",\"name\":\"BRAILLE PATTERN DOTS-2345\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u281E\"},10271:{\"value\":\"281F\",\"name\":\"BRAILLE PATTERN DOTS-12345\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u281F\"},10272:{\"value\":\"2820\",\"name\":\"BRAILLE PATTERN DOTS-6\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2820\"},10273:{\"value\":\"2821\",\"name\":\"BRAILLE PATTERN DOTS-16\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2821\"},10274:{\"value\":\"2822\",\"name\":\"BRAILLE PATTERN DOTS-26\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2822\"},10275:{\"value\":\"2823\",\"name\":\"BRAILLE PATTERN DOTS-126\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2823\"},10276:{\"value\":\"2824\",\"name\":\"BRAILLE PATTERN DOTS-36\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2824\"},10277:{\"value\":\"2825\",\"name\":\"BRAILLE PATTERN DOTS-136\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2825\"},10278:{\"value\":\"2826\",\"name\":\"BRAILLE PATTERN DOTS-236\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2826\"},10279:{\"value\":\"2827\",\"name\":\"BRAILLE PATTERN DOTS-1236\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2827\"},10280:{\"value\":\"2828\",\"name\":\"BRAILLE PATTERN DOTS-46\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2828\"},10281:{\"value\":\"2829\",\"name\":\"BRAILLE PATTERN DOTS-146\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2829\"},10282:{\"value\":\"282A\",\"name\":\"BRAILLE PATTERN DOTS-246\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u282A\"},10283:{\"value\":\"282B\",\"name\":\"BRAILLE PATTERN DOTS-1246\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u282B\"},10284:{\"value\":\"282C\",\"name\":\"BRAILLE PATTERN DOTS-346\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u282C\"},10285:{\"value\":\"282D\",\"name\":\"BRAILLE PATTERN DOTS-1346\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u282D\"},10286:{\"value\":\"282E\",\"name\":\"BRAILLE PATTERN DOTS-2346\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u282E\"},10287:{\"value\":\"282F\",\"name\":\"BRAILLE PATTERN DOTS-12346\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u282F\"},10288:{\"value\":\"2830\",\"name\":\"BRAILLE PATTERN DOTS-56\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2830\"},10289:{\"value\":\"2831\",\"name\":\"BRAILLE PATTERN DOTS-156\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2831\"},10290:{\"value\":\"2832\",\"name\":\"BRAILLE PATTERN DOTS-256\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2832\"},10291:{\"value\":\"2833\",\"name\":\"BRAILLE PATTERN DOTS-1256\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2833\"},10292:{\"value\":\"2834\",\"name\":\"BRAILLE PATTERN DOTS-356\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2834\"},10293:{\"value\":\"2835\",\"name\":\"BRAILLE PATTERN DOTS-1356\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2835\"},10294:{\"value\":\"2836\",\"name\":\"BRAILLE PATTERN DOTS-2356\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2836\"},10295:{\"value\":\"2837\",\"name\":\"BRAILLE PATTERN DOTS-12356\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2837\"},10296:{\"value\":\"2838\",\"name\":\"BRAILLE PATTERN DOTS-456\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2838\"},10297:{\"value\":\"2839\",\"name\":\"BRAILLE PATTERN DOTS-1456\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2839\"},10298:{\"value\":\"283A\",\"name\":\"BRAILLE PATTERN DOTS-2456\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u283A\"},10299:{\"value\":\"283B\",\"name\":\"BRAILLE PATTERN DOTS-12456\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u283B\"},10300:{\"value\":\"283C\",\"name\":\"BRAILLE PATTERN DOTS-3456\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u283C\"},10301:{\"value\":\"283D\",\"name\":\"BRAILLE PATTERN DOTS-13456\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u283D\"},10302:{\"value\":\"283E\",\"name\":\"BRAILLE PATTERN DOTS-23456\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u283E\"},10303:{\"value\":\"283F\",\"name\":\"BRAILLE PATTERN DOTS-123456\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u283F\"},10304:{\"value\":\"2840\",\"name\":\"BRAILLE PATTERN DOTS-7\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2840\"},10305:{\"value\":\"2841\",\"name\":\"BRAILLE PATTERN DOTS-17\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2841\"},10306:{\"value\":\"2842\",\"name\":\"BRAILLE PATTERN DOTS-27\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2842\"},10307:{\"value\":\"2843\",\"name\":\"BRAILLE PATTERN DOTS-127\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2843\"},10308:{\"value\":\"2844\",\"name\":\"BRAILLE PATTERN DOTS-37\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2844\"},10309:{\"value\":\"2845\",\"name\":\"BRAILLE PATTERN DOTS-137\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2845\"},10310:{\"value\":\"2846\",\"name\":\"BRAILLE PATTERN DOTS-237\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2846\"},10311:{\"value\":\"2847\",\"name\":\"BRAILLE PATTERN DOTS-1237\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2847\"},10312:{\"value\":\"2848\",\"name\":\"BRAILLE PATTERN DOTS-47\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2848\"},10313:{\"value\":\"2849\",\"name\":\"BRAILLE PATTERN DOTS-147\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2849\"},10314:{\"value\":\"284A\",\"name\":\"BRAILLE PATTERN DOTS-247\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u284A\"},10315:{\"value\":\"284B\",\"name\":\"BRAILLE PATTERN DOTS-1247\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u284B\"},10316:{\"value\":\"284C\",\"name\":\"BRAILLE PATTERN DOTS-347\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u284C\"},10317:{\"value\":\"284D\",\"name\":\"BRAILLE PATTERN DOTS-1347\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u284D\"},10318:{\"value\":\"284E\",\"name\":\"BRAILLE PATTERN DOTS-2347\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u284E\"},10319:{\"value\":\"284F\",\"name\":\"BRAILLE PATTERN DOTS-12347\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u284F\"},10320:{\"value\":\"2850\",\"name\":\"BRAILLE PATTERN DOTS-57\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2850\"},10321:{\"value\":\"2851\",\"name\":\"BRAILLE PATTERN DOTS-157\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2851\"},10322:{\"value\":\"2852\",\"name\":\"BRAILLE PATTERN DOTS-257\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2852\"},10323:{\"value\":\"2853\",\"name\":\"BRAILLE PATTERN DOTS-1257\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2853\"},10324:{\"value\":\"2854\",\"name\":\"BRAILLE PATTERN DOTS-357\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2854\"},10325:{\"value\":\"2855\",\"name\":\"BRAILLE PATTERN DOTS-1357\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2855\"},10326:{\"value\":\"2856\",\"name\":\"BRAILLE PATTERN DOTS-2357\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2856\"},10327:{\"value\":\"2857\",\"name\":\"BRAILLE PATTERN DOTS-12357\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2857\"},10328:{\"value\":\"2858\",\"name\":\"BRAILLE PATTERN DOTS-457\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2858\"},10329:{\"value\":\"2859\",\"name\":\"BRAILLE PATTERN DOTS-1457\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2859\"},10330:{\"value\":\"285A\",\"name\":\"BRAILLE PATTERN DOTS-2457\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u285A\"},10331:{\"value\":\"285B\",\"name\":\"BRAILLE PATTERN DOTS-12457\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u285B\"},10332:{\"value\":\"285C\",\"name\":\"BRAILLE PATTERN DOTS-3457\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u285C\"},10333:{\"value\":\"285D\",\"name\":\"BRAILLE PATTERN DOTS-13457\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u285D\"},10334:{\"value\":\"285E\",\"name\":\"BRAILLE PATTERN DOTS-23457\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u285E\"},10335:{\"value\":\"285F\",\"name\":\"BRAILLE PATTERN DOTS-123457\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u285F\"},10336:{\"value\":\"2860\",\"name\":\"BRAILLE PATTERN DOTS-67\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2860\"},10337:{\"value\":\"2861\",\"name\":\"BRAILLE PATTERN DOTS-167\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2861\"},10338:{\"value\":\"2862\",\"name\":\"BRAILLE PATTERN DOTS-267\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2862\"},10339:{\"value\":\"2863\",\"name\":\"BRAILLE PATTERN DOTS-1267\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2863\"},10340:{\"value\":\"2864\",\"name\":\"BRAILLE PATTERN DOTS-367\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2864\"},10341:{\"value\":\"2865\",\"name\":\"BRAILLE PATTERN DOTS-1367\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2865\"},10342:{\"value\":\"2866\",\"name\":\"BRAILLE PATTERN DOTS-2367\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2866\"},10343:{\"value\":\"2867\",\"name\":\"BRAILLE PATTERN DOTS-12367\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2867\"},10344:{\"value\":\"2868\",\"name\":\"BRAILLE PATTERN DOTS-467\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2868\"},10345:{\"value\":\"2869\",\"name\":\"BRAILLE PATTERN DOTS-1467\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2869\"},10346:{\"value\":\"286A\",\"name\":\"BRAILLE PATTERN DOTS-2467\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u286A\"},10347:{\"value\":\"286B\",\"name\":\"BRAILLE PATTERN DOTS-12467\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u286B\"},10348:{\"value\":\"286C\",\"name\":\"BRAILLE PATTERN DOTS-3467\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u286C\"},10349:{\"value\":\"286D\",\"name\":\"BRAILLE PATTERN DOTS-13467\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u286D\"},10350:{\"value\":\"286E\",\"name\":\"BRAILLE PATTERN DOTS-23467\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u286E\"},10351:{\"value\":\"286F\",\"name\":\"BRAILLE PATTERN DOTS-123467\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u286F\"},10352:{\"value\":\"2870\",\"name\":\"BRAILLE PATTERN DOTS-567\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2870\"},10353:{\"value\":\"2871\",\"name\":\"BRAILLE PATTERN DOTS-1567\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2871\"},10354:{\"value\":\"2872\",\"name\":\"BRAILLE PATTERN DOTS-2567\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2872\"},10355:{\"value\":\"2873\",\"name\":\"BRAILLE PATTERN DOTS-12567\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2873\"},10356:{\"value\":\"2874\",\"name\":\"BRAILLE PATTERN DOTS-3567\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2874\"},10357:{\"value\":\"2875\",\"name\":\"BRAILLE PATTERN DOTS-13567\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2875\"},10358:{\"value\":\"2876\",\"name\":\"BRAILLE PATTERN DOTS-23567\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2876\"},10359:{\"value\":\"2877\",\"name\":\"BRAILLE PATTERN DOTS-123567\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2877\"},10360:{\"value\":\"2878\",\"name\":\"BRAILLE PATTERN DOTS-4567\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2878\"},10361:{\"value\":\"2879\",\"name\":\"BRAILLE PATTERN DOTS-14567\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2879\"},10362:{\"value\":\"287A\",\"name\":\"BRAILLE PATTERN DOTS-24567\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u287A\"},10363:{\"value\":\"287B\",\"name\":\"BRAILLE PATTERN DOTS-124567\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u287B\"},10364:{\"value\":\"287C\",\"name\":\"BRAILLE PATTERN DOTS-34567\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u287C\"},10365:{\"value\":\"287D\",\"name\":\"BRAILLE PATTERN DOTS-134567\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u287D\"},10366:{\"value\":\"287E\",\"name\":\"BRAILLE PATTERN DOTS-234567\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u287E\"},10367:{\"value\":\"287F\",\"name\":\"BRAILLE PATTERN DOTS-1234567\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u287F\"},10368:{\"value\":\"2880\",\"name\":\"BRAILLE PATTERN DOTS-8\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2880\"},10369:{\"value\":\"2881\",\"name\":\"BRAILLE PATTERN DOTS-18\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2881\"},10370:{\"value\":\"2882\",\"name\":\"BRAILLE PATTERN DOTS-28\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2882\"},10371:{\"value\":\"2883\",\"name\":\"BRAILLE PATTERN DOTS-128\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2883\"},10372:{\"value\":\"2884\",\"name\":\"BRAILLE PATTERN DOTS-38\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2884\"},10373:{\"value\":\"2885\",\"name\":\"BRAILLE PATTERN DOTS-138\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2885\"},10374:{\"value\":\"2886\",\"name\":\"BRAILLE PATTERN DOTS-238\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2886\"},10375:{\"value\":\"2887\",\"name\":\"BRAILLE PATTERN DOTS-1238\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2887\"},10376:{\"value\":\"2888\",\"name\":\"BRAILLE PATTERN DOTS-48\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2888\"},10377:{\"value\":\"2889\",\"name\":\"BRAILLE PATTERN DOTS-148\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2889\"},10378:{\"value\":\"288A\",\"name\":\"BRAILLE PATTERN DOTS-248\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u288A\"},10379:{\"value\":\"288B\",\"name\":\"BRAILLE PATTERN DOTS-1248\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u288B\"},10380:{\"value\":\"288C\",\"name\":\"BRAILLE PATTERN DOTS-348\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u288C\"},10381:{\"value\":\"288D\",\"name\":\"BRAILLE PATTERN DOTS-1348\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u288D\"},10382:{\"value\":\"288E\",\"name\":\"BRAILLE PATTERN DOTS-2348\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u288E\"},10383:{\"value\":\"288F\",\"name\":\"BRAILLE PATTERN DOTS-12348\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u288F\"},10384:{\"value\":\"2890\",\"name\":\"BRAILLE PATTERN DOTS-58\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2890\"},10385:{\"value\":\"2891\",\"name\":\"BRAILLE PATTERN DOTS-158\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2891\"},10386:{\"value\":\"2892\",\"name\":\"BRAILLE PATTERN DOTS-258\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2892\"},10387:{\"value\":\"2893\",\"name\":\"BRAILLE PATTERN DOTS-1258\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2893\"},10388:{\"value\":\"2894\",\"name\":\"BRAILLE PATTERN DOTS-358\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2894\"},10389:{\"value\":\"2895\",\"name\":\"BRAILLE PATTERN DOTS-1358\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2895\"},10390:{\"value\":\"2896\",\"name\":\"BRAILLE PATTERN DOTS-2358\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2896\"},10391:{\"value\":\"2897\",\"name\":\"BRAILLE PATTERN DOTS-12358\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2897\"},10392:{\"value\":\"2898\",\"name\":\"BRAILLE PATTERN DOTS-458\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2898\"},10393:{\"value\":\"2899\",\"name\":\"BRAILLE PATTERN DOTS-1458\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2899\"},10394:{\"value\":\"289A\",\"name\":\"BRAILLE PATTERN DOTS-2458\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u289A\"},10395:{\"value\":\"289B\",\"name\":\"BRAILLE PATTERN DOTS-12458\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u289B\"},10396:{\"value\":\"289C\",\"name\":\"BRAILLE PATTERN DOTS-3458\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u289C\"},10397:{\"value\":\"289D\",\"name\":\"BRAILLE PATTERN DOTS-13458\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u289D\"},10398:{\"value\":\"289E\",\"name\":\"BRAILLE PATTERN DOTS-23458\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u289E\"},10399:{\"value\":\"289F\",\"name\":\"BRAILLE PATTERN DOTS-123458\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u289F\"},10400:{\"value\":\"28A0\",\"name\":\"BRAILLE PATTERN DOTS-68\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28A0\"},10401:{\"value\":\"28A1\",\"name\":\"BRAILLE PATTERN DOTS-168\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28A1\"},10402:{\"value\":\"28A2\",\"name\":\"BRAILLE PATTERN DOTS-268\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28A2\"},10403:{\"value\":\"28A3\",\"name\":\"BRAILLE PATTERN DOTS-1268\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28A3\"},10404:{\"value\":\"28A4\",\"name\":\"BRAILLE PATTERN DOTS-368\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28A4\"},10405:{\"value\":\"28A5\",\"name\":\"BRAILLE PATTERN DOTS-1368\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28A5\"},10406:{\"value\":\"28A6\",\"name\":\"BRAILLE PATTERN DOTS-2368\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28A6\"},10407:{\"value\":\"28A7\",\"name\":\"BRAILLE PATTERN DOTS-12368\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28A7\"},10408:{\"value\":\"28A8\",\"name\":\"BRAILLE PATTERN DOTS-468\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28A8\"},10409:{\"value\":\"28A9\",\"name\":\"BRAILLE PATTERN DOTS-1468\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28A9\"},10410:{\"value\":\"28AA\",\"name\":\"BRAILLE PATTERN DOTS-2468\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28AA\"},10411:{\"value\":\"28AB\",\"name\":\"BRAILLE PATTERN DOTS-12468\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28AB\"},10412:{\"value\":\"28AC\",\"name\":\"BRAILLE PATTERN DOTS-3468\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28AC\"},10413:{\"value\":\"28AD\",\"name\":\"BRAILLE PATTERN DOTS-13468\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28AD\"},10414:{\"value\":\"28AE\",\"name\":\"BRAILLE PATTERN DOTS-23468\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28AE\"},10415:{\"value\":\"28AF\",\"name\":\"BRAILLE PATTERN DOTS-123468\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28AF\"},10416:{\"value\":\"28B0\",\"name\":\"BRAILLE PATTERN DOTS-568\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28B0\"},10417:{\"value\":\"28B1\",\"name\":\"BRAILLE PATTERN DOTS-1568\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28B1\"},10418:{\"value\":\"28B2\",\"name\":\"BRAILLE PATTERN DOTS-2568\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28B2\"},10419:{\"value\":\"28B3\",\"name\":\"BRAILLE PATTERN DOTS-12568\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28B3\"},10420:{\"value\":\"28B4\",\"name\":\"BRAILLE PATTERN DOTS-3568\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28B4\"},10421:{\"value\":\"28B5\",\"name\":\"BRAILLE PATTERN DOTS-13568\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28B5\"},10422:{\"value\":\"28B6\",\"name\":\"BRAILLE PATTERN DOTS-23568\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28B6\"},10423:{\"value\":\"28B7\",\"name\":\"BRAILLE PATTERN DOTS-123568\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28B7\"},10424:{\"value\":\"28B8\",\"name\":\"BRAILLE PATTERN DOTS-4568\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28B8\"},10425:{\"value\":\"28B9\",\"name\":\"BRAILLE PATTERN DOTS-14568\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28B9\"},10426:{\"value\":\"28BA\",\"name\":\"BRAILLE PATTERN DOTS-24568\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28BA\"},10427:{\"value\":\"28BB\",\"name\":\"BRAILLE PATTERN DOTS-124568\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28BB\"},10428:{\"value\":\"28BC\",\"name\":\"BRAILLE PATTERN DOTS-34568\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28BC\"},10429:{\"value\":\"28BD\",\"name\":\"BRAILLE PATTERN DOTS-134568\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28BD\"},10430:{\"value\":\"28BE\",\"name\":\"BRAILLE PATTERN DOTS-234568\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28BE\"},10431:{\"value\":\"28BF\",\"name\":\"BRAILLE PATTERN DOTS-1234568\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28BF\"},10432:{\"value\":\"28C0\",\"name\":\"BRAILLE PATTERN DOTS-78\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28C0\"},10433:{\"value\":\"28C1\",\"name\":\"BRAILLE PATTERN DOTS-178\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28C1\"},10434:{\"value\":\"28C2\",\"name\":\"BRAILLE PATTERN DOTS-278\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28C2\"},10435:{\"value\":\"28C3\",\"name\":\"BRAILLE PATTERN DOTS-1278\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28C3\"},10436:{\"value\":\"28C4\",\"name\":\"BRAILLE PATTERN DOTS-378\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28C4\"},10437:{\"value\":\"28C5\",\"name\":\"BRAILLE PATTERN DOTS-1378\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28C5\"},10438:{\"value\":\"28C6\",\"name\":\"BRAILLE PATTERN DOTS-2378\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28C6\"},10439:{\"value\":\"28C7\",\"name\":\"BRAILLE PATTERN DOTS-12378\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28C7\"},10440:{\"value\":\"28C8\",\"name\":\"BRAILLE PATTERN DOTS-478\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28C8\"},10441:{\"value\":\"28C9\",\"name\":\"BRAILLE PATTERN DOTS-1478\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28C9\"},10442:{\"value\":\"28CA\",\"name\":\"BRAILLE PATTERN DOTS-2478\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28CA\"},10443:{\"value\":\"28CB\",\"name\":\"BRAILLE PATTERN DOTS-12478\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28CB\"},10444:{\"value\":\"28CC\",\"name\":\"BRAILLE PATTERN DOTS-3478\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28CC\"},10445:{\"value\":\"28CD\",\"name\":\"BRAILLE PATTERN DOTS-13478\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28CD\"},10446:{\"value\":\"28CE\",\"name\":\"BRAILLE PATTERN DOTS-23478\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28CE\"},10447:{\"value\":\"28CF\",\"name\":\"BRAILLE PATTERN DOTS-123478\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28CF\"},10448:{\"value\":\"28D0\",\"name\":\"BRAILLE PATTERN DOTS-578\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28D0\"},10449:{\"value\":\"28D1\",\"name\":\"BRAILLE PATTERN DOTS-1578\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28D1\"},10450:{\"value\":\"28D2\",\"name\":\"BRAILLE PATTERN DOTS-2578\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28D2\"},10451:{\"value\":\"28D3\",\"name\":\"BRAILLE PATTERN DOTS-12578\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28D3\"},10452:{\"value\":\"28D4\",\"name\":\"BRAILLE PATTERN DOTS-3578\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28D4\"},10453:{\"value\":\"28D5\",\"name\":\"BRAILLE PATTERN DOTS-13578\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28D5\"},10454:{\"value\":\"28D6\",\"name\":\"BRAILLE PATTERN DOTS-23578\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28D6\"},10455:{\"value\":\"28D7\",\"name\":\"BRAILLE PATTERN DOTS-123578\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28D7\"},10456:{\"value\":\"28D8\",\"name\":\"BRAILLE PATTERN DOTS-4578\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28D8\"},10457:{\"value\":\"28D9\",\"name\":\"BRAILLE PATTERN DOTS-14578\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28D9\"},10458:{\"value\":\"28DA\",\"name\":\"BRAILLE PATTERN DOTS-24578\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28DA\"},10459:{\"value\":\"28DB\",\"name\":\"BRAILLE PATTERN DOTS-124578\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28DB\"},10460:{\"value\":\"28DC\",\"name\":\"BRAILLE PATTERN DOTS-34578\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28DC\"},10461:{\"value\":\"28DD\",\"name\":\"BRAILLE PATTERN DOTS-134578\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28DD\"},10462:{\"value\":\"28DE\",\"name\":\"BRAILLE PATTERN DOTS-234578\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28DE\"},10463:{\"value\":\"28DF\",\"name\":\"BRAILLE PATTERN DOTS-1234578\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28DF\"},10464:{\"value\":\"28E0\",\"name\":\"BRAILLE PATTERN DOTS-678\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28E0\"},10465:{\"value\":\"28E1\",\"name\":\"BRAILLE PATTERN DOTS-1678\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28E1\"},10466:{\"value\":\"28E2\",\"name\":\"BRAILLE PATTERN DOTS-2678\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28E2\"},10467:{\"value\":\"28E3\",\"name\":\"BRAILLE PATTERN DOTS-12678\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28E3\"},10468:{\"value\":\"28E4\",\"name\":\"BRAILLE PATTERN DOTS-3678\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28E4\"},10469:{\"value\":\"28E5\",\"name\":\"BRAILLE PATTERN DOTS-13678\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28E5\"},10470:{\"value\":\"28E6\",\"name\":\"BRAILLE PATTERN DOTS-23678\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28E6\"},10471:{\"value\":\"28E7\",\"name\":\"BRAILLE PATTERN DOTS-123678\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28E7\"},10472:{\"value\":\"28E8\",\"name\":\"BRAILLE PATTERN DOTS-4678\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28E8\"},10473:{\"value\":\"28E9\",\"name\":\"BRAILLE PATTERN DOTS-14678\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28E9\"},10474:{\"value\":\"28EA\",\"name\":\"BRAILLE PATTERN DOTS-24678\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28EA\"},10475:{\"value\":\"28EB\",\"name\":\"BRAILLE PATTERN DOTS-124678\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28EB\"},10476:{\"value\":\"28EC\",\"name\":\"BRAILLE PATTERN DOTS-34678\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28EC\"},10477:{\"value\":\"28ED\",\"name\":\"BRAILLE PATTERN DOTS-134678\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28ED\"},10478:{\"value\":\"28EE\",\"name\":\"BRAILLE PATTERN DOTS-234678\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28EE\"},10479:{\"value\":\"28EF\",\"name\":\"BRAILLE PATTERN DOTS-1234678\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28EF\"},10480:{\"value\":\"28F0\",\"name\":\"BRAILLE PATTERN DOTS-5678\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28F0\"},10481:{\"value\":\"28F1\",\"name\":\"BRAILLE PATTERN DOTS-15678\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28F1\"},10482:{\"value\":\"28F2\",\"name\":\"BRAILLE PATTERN DOTS-25678\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28F2\"},10483:{\"value\":\"28F3\",\"name\":\"BRAILLE PATTERN DOTS-125678\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28F3\"},10484:{\"value\":\"28F4\",\"name\":\"BRAILLE PATTERN DOTS-35678\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28F4\"},10485:{\"value\":\"28F5\",\"name\":\"BRAILLE PATTERN DOTS-135678\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28F5\"},10486:{\"value\":\"28F6\",\"name\":\"BRAILLE PATTERN DOTS-235678\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28F6\"},10487:{\"value\":\"28F7\",\"name\":\"BRAILLE PATTERN DOTS-1235678\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28F7\"},10488:{\"value\":\"28F8\",\"name\":\"BRAILLE PATTERN DOTS-45678\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28F8\"},10489:{\"value\":\"28F9\",\"name\":\"BRAILLE PATTERN DOTS-145678\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28F9\"},10490:{\"value\":\"28FA\",\"name\":\"BRAILLE PATTERN DOTS-245678\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28FA\"},10491:{\"value\":\"28FB\",\"name\":\"BRAILLE PATTERN DOTS-1245678\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28FB\"},10492:{\"value\":\"28FC\",\"name\":\"BRAILLE PATTERN DOTS-345678\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28FC\"},10493:{\"value\":\"28FD\",\"name\":\"BRAILLE PATTERN DOTS-1345678\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28FD\"},10494:{\"value\":\"28FE\",\"name\":\"BRAILLE PATTERN DOTS-2345678\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28FE\"},10495:{\"value\":\"28FF\",\"name\":\"BRAILLE PATTERN DOTS-12345678\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28FF\"},11008:{\"value\":\"2B00\",\"name\":\"NORTH EAST WHITE ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B00\"},11009:{\"value\":\"2B01\",\"name\":\"NORTH WEST WHITE ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B01\"},11010:{\"value\":\"2B02\",\"name\":\"SOUTH EAST WHITE ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B02\"},11011:{\"value\":\"2B03\",\"name\":\"SOUTH WEST WHITE ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B03\"},11012:{\"value\":\"2B04\",\"name\":\"LEFT RIGHT WHITE ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B04\"},11013:{\"value\":\"2B05\",\"name\":\"LEFTWARDS BLACK ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B05\"},11014:{\"value\":\"2B06\",\"name\":\"UPWARDS BLACK ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B06\"},11015:{\"value\":\"2B07\",\"name\":\"DOWNWARDS BLACK ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B07\"},11016:{\"value\":\"2B08\",\"name\":\"NORTH EAST BLACK ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B08\"},11017:{\"value\":\"2B09\",\"name\":\"NORTH WEST BLACK ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B09\"},11018:{\"value\":\"2B0A\",\"name\":\"SOUTH EAST BLACK ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B0A\"},11019:{\"value\":\"2B0B\",\"name\":\"SOUTH WEST BLACK ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B0B\"},11020:{\"value\":\"2B0C\",\"name\":\"LEFT RIGHT BLACK ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B0C\"},11021:{\"value\":\"2B0D\",\"name\":\"UP DOWN BLACK ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B0D\"},11022:{\"value\":\"2B0E\",\"name\":\"RIGHTWARDS ARROW WITH TIP DOWNWARDS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B0E\"},11023:{\"value\":\"2B0F\",\"name\":\"RIGHTWARDS ARROW WITH TIP UPWARDS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B0F\"},11024:{\"value\":\"2B10\",\"name\":\"LEFTWARDS ARROW WITH TIP DOWNWARDS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B10\"},11025:{\"value\":\"2B11\",\"name\":\"LEFTWARDS ARROW WITH TIP UPWARDS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B11\"},11026:{\"value\":\"2B12\",\"name\":\"SQUARE WITH TOP HALF BLACK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B12\"},11027:{\"value\":\"2B13\",\"name\":\"SQUARE WITH BOTTOM HALF BLACK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B13\"},11028:{\"value\":\"2B14\",\"name\":\"SQUARE WITH UPPER RIGHT DIAGONAL HALF BLACK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B14\"},11029:{\"value\":\"2B15\",\"name\":\"SQUARE WITH LOWER LEFT DIAGONAL HALF BLACK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B15\"},11030:{\"value\":\"2B16\",\"name\":\"DIAMOND WITH LEFT HALF BLACK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B16\"},11031:{\"value\":\"2B17\",\"name\":\"DIAMOND WITH RIGHT HALF BLACK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B17\"},11032:{\"value\":\"2B18\",\"name\":\"DIAMOND WITH TOP HALF BLACK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B18\"},11033:{\"value\":\"2B19\",\"name\":\"DIAMOND WITH BOTTOM HALF BLACK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B19\"},11034:{\"value\":\"2B1A\",\"name\":\"DOTTED SQUARE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B1A\"},11035:{\"value\":\"2B1B\",\"name\":\"BLACK LARGE SQUARE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B1B\"},11036:{\"value\":\"2B1C\",\"name\":\"WHITE LARGE SQUARE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B1C\"},11037:{\"value\":\"2B1D\",\"name\":\"BLACK VERY SMALL SQUARE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B1D\"},11038:{\"value\":\"2B1E\",\"name\":\"WHITE VERY SMALL SQUARE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B1E\"},11039:{\"value\":\"2B1F\",\"name\":\"BLACK PENTAGON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B1F\"},11040:{\"value\":\"2B20\",\"name\":\"WHITE PENTAGON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B20\"},11041:{\"value\":\"2B21\",\"name\":\"WHITE HEXAGON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B21\"},11042:{\"value\":\"2B22\",\"name\":\"BLACK HEXAGON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B22\"},11043:{\"value\":\"2B23\",\"name\":\"HORIZONTAL BLACK HEXAGON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B23\"},11044:{\"value\":\"2B24\",\"name\":\"BLACK LARGE CIRCLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B24\"},11045:{\"value\":\"2B25\",\"name\":\"BLACK MEDIUM DIAMOND\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B25\"},11046:{\"value\":\"2B26\",\"name\":\"WHITE MEDIUM DIAMOND\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B26\"},11047:{\"value\":\"2B27\",\"name\":\"BLACK MEDIUM LOZENGE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B27\"},11048:{\"value\":\"2B28\",\"name\":\"WHITE MEDIUM LOZENGE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B28\"},11049:{\"value\":\"2B29\",\"name\":\"BLACK SMALL DIAMOND\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B29\"},11050:{\"value\":\"2B2A\",\"name\":\"BLACK SMALL LOZENGE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B2A\"},11051:{\"value\":\"2B2B\",\"name\":\"WHITE SMALL LOZENGE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B2B\"},11052:{\"value\":\"2B2C\",\"name\":\"BLACK HORIZONTAL ELLIPSE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B2C\"},11053:{\"value\":\"2B2D\",\"name\":\"WHITE HORIZONTAL ELLIPSE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B2D\"},11054:{\"value\":\"2B2E\",\"name\":\"BLACK VERTICAL ELLIPSE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B2E\"},11055:{\"value\":\"2B2F\",\"name\":\"WHITE VERTICAL ELLIPSE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B2F\"},11077:{\"value\":\"2B45\",\"name\":\"LEFTWARDS QUADRUPLE ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B45\"},11078:{\"value\":\"2B46\",\"name\":\"RIGHTWARDS QUADRUPLE ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B46\"},11085:{\"value\":\"2B4D\",\"name\":\"DOWNWARDS TRIANGLE-HEADED ZIGZAG ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B4D\"},11086:{\"value\":\"2B4E\",\"name\":\"SHORT SLANTED NORTH ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B4E\"},11087:{\"value\":\"2B4F\",\"name\":\"SHORT BACKSLANTED SOUTH ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B4F\"},11088:{\"value\":\"2B50\",\"name\":\"WHITE MEDIUM STAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B50\"},11089:{\"value\":\"2B51\",\"name\":\"BLACK SMALL STAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B51\"},11090:{\"value\":\"2B52\",\"name\":\"WHITE SMALL STAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B52\"},11091:{\"value\":\"2B53\",\"name\":\"BLACK RIGHT-POINTING PENTAGON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B53\"},11092:{\"value\":\"2B54\",\"name\":\"WHITE RIGHT-POINTING PENTAGON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B54\"},11093:{\"value\":\"2B55\",\"name\":\"HEAVY LARGE CIRCLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B55\"},11094:{\"value\":\"2B56\",\"name\":\"HEAVY OVAL WITH OVAL INSIDE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B56\"},11095:{\"value\":\"2B57\",\"name\":\"HEAVY CIRCLE WITH CIRCLE INSIDE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B57\"},11096:{\"value\":\"2B58\",\"name\":\"HEAVY CIRCLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B58\"},11097:{\"value\":\"2B59\",\"name\":\"HEAVY CIRCLED SALTIRE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B59\"},11098:{\"value\":\"2B5A\",\"name\":\"SLANTED NORTH ARROW WITH HOOKED HEAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B5A\"},11099:{\"value\":\"2B5B\",\"name\":\"BACKSLANTED SOUTH ARROW WITH HOOKED TAIL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B5B\"},11100:{\"value\":\"2B5C\",\"name\":\"SLANTED NORTH ARROW WITH HORIZONTAL TAIL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B5C\"},11101:{\"value\":\"2B5D\",\"name\":\"BACKSLANTED SOUTH ARROW WITH HORIZONTAL TAIL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B5D\"},11102:{\"value\":\"2B5E\",\"name\":\"BENT ARROW POINTING DOWNWARDS THEN NORTH EAST\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B5E\"},11103:{\"value\":\"2B5F\",\"name\":\"SHORT BENT ARROW POINTING DOWNWARDS THEN NORTH EAST\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B5F\"},11104:{\"value\":\"2B60\",\"name\":\"LEFTWARDS TRIANGLE-HEADED ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B60\"},11105:{\"value\":\"2B61\",\"name\":\"UPWARDS TRIANGLE-HEADED ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B61\"},11106:{\"value\":\"2B62\",\"name\":\"RIGHTWARDS TRIANGLE-HEADED ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B62\"},11107:{\"value\":\"2B63\",\"name\":\"DOWNWARDS TRIANGLE-HEADED ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B63\"},11108:{\"value\":\"2B64\",\"name\":\"LEFT RIGHT TRIANGLE-HEADED ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B64\"},11109:{\"value\":\"2B65\",\"name\":\"UP DOWN TRIANGLE-HEADED ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B65\"},11110:{\"value\":\"2B66\",\"name\":\"NORTH WEST TRIANGLE-HEADED ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B66\"},11111:{\"value\":\"2B67\",\"name\":\"NORTH EAST TRIANGLE-HEADED ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B67\"},11112:{\"value\":\"2B68\",\"name\":\"SOUTH EAST TRIANGLE-HEADED ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B68\"},11113:{\"value\":\"2B69\",\"name\":\"SOUTH WEST TRIANGLE-HEADED ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B69\"},11114:{\"value\":\"2B6A\",\"name\":\"LEFTWARDS TRIANGLE-HEADED DASHED ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B6A\"},11115:{\"value\":\"2B6B\",\"name\":\"UPWARDS TRIANGLE-HEADED DASHED ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B6B\"},11116:{\"value\":\"2B6C\",\"name\":\"RIGHTWARDS TRIANGLE-HEADED DASHED ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B6C\"},11117:{\"value\":\"2B6D\",\"name\":\"DOWNWARDS TRIANGLE-HEADED DASHED ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B6D\"},11118:{\"value\":\"2B6E\",\"name\":\"CLOCKWISE TRIANGLE-HEADED OPEN CIRCLE ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B6E\"},11119:{\"value\":\"2B6F\",\"name\":\"ANTICLOCKWISE TRIANGLE-HEADED OPEN CIRCLE ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B6F\"},11120:{\"value\":\"2B70\",\"name\":\"LEFTWARDS TRIANGLE-HEADED ARROW TO BAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B70\"},11121:{\"value\":\"2B71\",\"name\":\"UPWARDS TRIANGLE-HEADED ARROW TO BAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B71\"},11122:{\"value\":\"2B72\",\"name\":\"RIGHTWARDS TRIANGLE-HEADED ARROW TO BAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B72\"},11123:{\"value\":\"2B73\",\"name\":\"DOWNWARDS TRIANGLE-HEADED ARROW TO BAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B73\"},11126:{\"value\":\"2B76\",\"name\":\"NORTH WEST TRIANGLE-HEADED ARROW TO BAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B76\"},11127:{\"value\":\"2B77\",\"name\":\"NORTH EAST TRIANGLE-HEADED ARROW TO BAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B77\"},11128:{\"value\":\"2B78\",\"name\":\"SOUTH EAST TRIANGLE-HEADED ARROW TO BAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B78\"},11129:{\"value\":\"2B79\",\"name\":\"SOUTH WEST TRIANGLE-HEADED ARROW TO BAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B79\"},11130:{\"value\":\"2B7A\",\"name\":\"LEFTWARDS TRIANGLE-HEADED ARROW WITH DOUBLE HORIZONTAL STROKE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B7A\"},11131:{\"value\":\"2B7B\",\"name\":\"UPWARDS TRIANGLE-HEADED ARROW WITH DOUBLE HORIZONTAL STROKE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B7B\"},11132:{\"value\":\"2B7C\",\"name\":\"RIGHTWARDS TRIANGLE-HEADED ARROW WITH DOUBLE HORIZONTAL STROKE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B7C\"},11133:{\"value\":\"2B7D\",\"name\":\"DOWNWARDS TRIANGLE-HEADED ARROW WITH DOUBLE HORIZONTAL STROKE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B7D\"},11134:{\"value\":\"2B7E\",\"name\":\"HORIZONTAL TAB KEY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B7E\"},11135:{\"value\":\"2B7F\",\"name\":\"VERTICAL TAB KEY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B7F\"},11136:{\"value\":\"2B80\",\"name\":\"LEFTWARDS TRIANGLE-HEADED ARROW OVER RIGHTWARDS TRIANGLE-HEADED ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B80\"},11137:{\"value\":\"2B81\",\"name\":\"UPWARDS TRIANGLE-HEADED ARROW LEFTWARDS OF DOWNWARDS TRIANGLE-HEADED ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B81\"},11138:{\"value\":\"2B82\",\"name\":\"RIGHTWARDS TRIANGLE-HEADED ARROW OVER LEFTWARDS TRIANGLE-HEADED ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B82\"},11139:{\"value\":\"2B83\",\"name\":\"DOWNWARDS TRIANGLE-HEADED ARROW LEFTWARDS OF UPWARDS TRIANGLE-HEADED ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B83\"},11140:{\"value\":\"2B84\",\"name\":\"LEFTWARDS TRIANGLE-HEADED PAIRED ARROWS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B84\"},11141:{\"value\":\"2B85\",\"name\":\"UPWARDS TRIANGLE-HEADED PAIRED ARROWS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B85\"},11142:{\"value\":\"2B86\",\"name\":\"RIGHTWARDS TRIANGLE-HEADED PAIRED ARROWS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B86\"},11143:{\"value\":\"2B87\",\"name\":\"DOWNWARDS TRIANGLE-HEADED PAIRED ARROWS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B87\"},11144:{\"value\":\"2B88\",\"name\":\"LEFTWARDS BLACK CIRCLED WHITE ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B88\"},11145:{\"value\":\"2B89\",\"name\":\"UPWARDS BLACK CIRCLED WHITE ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B89\"},11146:{\"value\":\"2B8A\",\"name\":\"RIGHTWARDS BLACK CIRCLED WHITE ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B8A\"},11147:{\"value\":\"2B8B\",\"name\":\"DOWNWARDS BLACK CIRCLED WHITE ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B8B\"},11148:{\"value\":\"2B8C\",\"name\":\"ANTICLOCKWISE TRIANGLE-HEADED RIGHT U-SHAPED ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B8C\"},11149:{\"value\":\"2B8D\",\"name\":\"ANTICLOCKWISE TRIANGLE-HEADED BOTTOM U-SHAPED ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B8D\"},11150:{\"value\":\"2B8E\",\"name\":\"ANTICLOCKWISE TRIANGLE-HEADED LEFT U-SHAPED ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B8E\"},11151:{\"value\":\"2B8F\",\"name\":\"ANTICLOCKWISE TRIANGLE-HEADED TOP U-SHAPED ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B8F\"},11152:{\"value\":\"2B90\",\"name\":\"RETURN LEFT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B90\"},11153:{\"value\":\"2B91\",\"name\":\"RETURN RIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B91\"},11154:{\"value\":\"2B92\",\"name\":\"NEWLINE LEFT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B92\"},11155:{\"value\":\"2B93\",\"name\":\"NEWLINE RIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B93\"},11156:{\"value\":\"2B94\",\"name\":\"FOUR CORNER ARROWS CIRCLING ANTICLOCKWISE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B94\"},11157:{\"value\":\"2B95\",\"name\":\"RIGHTWARDS BLACK ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B95\"},11160:{\"value\":\"2B98\",\"name\":\"THREE-D TOP-LIGHTED LEFTWARDS EQUILATERAL ARROWHEAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B98\"},11161:{\"value\":\"2B99\",\"name\":\"THREE-D RIGHT-LIGHTED UPWARDS EQUILATERAL ARROWHEAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B99\"},11162:{\"value\":\"2B9A\",\"name\":\"THREE-D TOP-LIGHTED RIGHTWARDS EQUILATERAL ARROWHEAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B9A\"},11163:{\"value\":\"2B9B\",\"name\":\"THREE-D LEFT-LIGHTED DOWNWARDS EQUILATERAL ARROWHEAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B9B\"},11164:{\"value\":\"2B9C\",\"name\":\"BLACK LEFTWARDS EQUILATERAL ARROWHEAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B9C\"},11165:{\"value\":\"2B9D\",\"name\":\"BLACK UPWARDS EQUILATERAL ARROWHEAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B9D\"},11166:{\"value\":\"2B9E\",\"name\":\"BLACK RIGHTWARDS EQUILATERAL ARROWHEAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B9E\"},11167:{\"value\":\"2B9F\",\"name\":\"BLACK DOWNWARDS EQUILATERAL ARROWHEAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B9F\"},11168:{\"value\":\"2BA0\",\"name\":\"DOWNWARDS TRIANGLE-HEADED ARROW WITH LONG TIP LEFTWARDS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2BA0\"},11169:{\"value\":\"2BA1\",\"name\":\"DOWNWARDS TRIANGLE-HEADED ARROW WITH LONG TIP RIGHTWARDS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2BA1\"},11170:{\"value\":\"2BA2\",\"name\":\"UPWARDS TRIANGLE-HEADED ARROW WITH LONG TIP LEFTWARDS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2BA2\"},11171:{\"value\":\"2BA3\",\"name\":\"UPWARDS TRIANGLE-HEADED ARROW WITH LONG TIP RIGHTWARDS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2BA3\"},11172:{\"value\":\"2BA4\",\"name\":\"LEFTWARDS TRIANGLE-HEADED ARROW WITH LONG TIP UPWARDS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2BA4\"},11173:{\"value\":\"2BA5\",\"name\":\"RIGHTWARDS TRIANGLE-HEADED ARROW WITH LONG TIP UPWARDS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2BA5\"},11174:{\"value\":\"2BA6\",\"name\":\"LEFTWARDS TRIANGLE-HEADED ARROW WITH LONG TIP DOWNWARDS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2BA6\"},11175:{\"value\":\"2BA7\",\"name\":\"RIGHTWARDS TRIANGLE-HEADED ARROW WITH LONG TIP DOWNWARDS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2BA7\"},11176:{\"value\":\"2BA8\",\"name\":\"BLACK CURVED DOWNWARDS AND LEFTWARDS ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2BA8\"},11177:{\"value\":\"2BA9\",\"name\":\"BLACK CURVED DOWNWARDS AND RIGHTWARDS ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2BA9\"},11178:{\"value\":\"2BAA\",\"name\":\"BLACK CURVED UPWARDS AND LEFTWARDS ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2BAA\"},11179:{\"value\":\"2BAB\",\"name\":\"BLACK CURVED UPWARDS AND RIGHTWARDS ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2BAB\"},11180:{\"value\":\"2BAC\",\"name\":\"BLACK CURVED LEFTWARDS AND UPWARDS ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2BAC\"},11181:{\"value\":\"2BAD\",\"name\":\"BLACK CURVED RIGHTWARDS AND UPWARDS ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2BAD\"},11182:{\"value\":\"2BAE\",\"name\":\"BLACK CURVED LEFTWARDS AND DOWNWARDS ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2BAE\"},11183:{\"value\":\"2BAF\",\"name\":\"BLACK CURVED RIGHTWARDS AND DOWNWARDS ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2BAF\"},11184:{\"value\":\"2BB0\",\"name\":\"RIBBON ARROW DOWN LEFT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2BB0\"},11185:{\"value\":\"2BB1\",\"name\":\"RIBBON ARROW DOWN RIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2BB1\"},11186:{\"value\":\"2BB2\",\"name\":\"RIBBON ARROW UP LEFT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2BB2\"},11187:{\"value\":\"2BB3\",\"name\":\"RIBBON ARROW UP RIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2BB3\"},11188:{\"value\":\"2BB4\",\"name\":\"RIBBON ARROW LEFT UP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2BB4\"},11189:{\"value\":\"2BB5\",\"name\":\"RIBBON ARROW RIGHT UP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2BB5\"},11190:{\"value\":\"2BB6\",\"name\":\"RIBBON ARROW LEFT DOWN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2BB6\"},11191:{\"value\":\"2BB7\",\"name\":\"RIBBON ARROW RIGHT DOWN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2BB7\"},11192:{\"value\":\"2BB8\",\"name\":\"UPWARDS WHITE ARROW FROM BAR WITH HORIZONTAL BAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2BB8\"},11193:{\"value\":\"2BB9\",\"name\":\"UP ARROWHEAD IN A RECTANGLE BOX\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2BB9\"},11197:{\"value\":\"2BBD\",\"name\":\"BALLOT BOX WITH LIGHT X\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2BBD\"},11198:{\"value\":\"2BBE\",\"name\":\"CIRCLED X\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2BBE\"},11199:{\"value\":\"2BBF\",\"name\":\"CIRCLED BOLD X\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2BBF\"},11200:{\"value\":\"2BC0\",\"name\":\"BLACK SQUARE CENTRED\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2BC0\"},11201:{\"value\":\"2BC1\",\"name\":\"BLACK DIAMOND CENTRED\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2BC1\"},11202:{\"value\":\"2BC2\",\"name\":\"TURNED BLACK PENTAGON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2BC2\"},11203:{\"value\":\"2BC3\",\"name\":\"HORIZONTAL BLACK OCTAGON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2BC3\"},11204:{\"value\":\"2BC4\",\"name\":\"BLACK OCTAGON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2BC4\"},11205:{\"value\":\"2BC5\",\"name\":\"BLACK MEDIUM UP-POINTING TRIANGLE CENTRED\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2BC5\"},11206:{\"value\":\"2BC6\",\"name\":\"BLACK MEDIUM DOWN-POINTING TRIANGLE CENTRED\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2BC6\"},11207:{\"value\":\"2BC7\",\"name\":\"BLACK MEDIUM LEFT-POINTING TRIANGLE CENTRED\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2BC7\"},11208:{\"value\":\"2BC8\",\"name\":\"BLACK MEDIUM RIGHT-POINTING TRIANGLE CENTRED\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2BC8\"},11210:{\"value\":\"2BCA\",\"name\":\"TOP HALF BLACK CIRCLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2BCA\"},11211:{\"value\":\"2BCB\",\"name\":\"BOTTOM HALF BLACK CIRCLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2BCB\"},11212:{\"value\":\"2BCC\",\"name\":\"LIGHT FOUR POINTED BLACK CUSP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2BCC\"},11213:{\"value\":\"2BCD\",\"name\":\"ROTATED LIGHT FOUR POINTED BLACK CUSP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2BCD\"},11214:{\"value\":\"2BCE\",\"name\":\"WHITE FOUR POINTED CUSP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2BCE\"},11215:{\"value\":\"2BCF\",\"name\":\"ROTATED WHITE FOUR POINTED CUSP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2BCF\"},11216:{\"value\":\"2BD0\",\"name\":\"SQUARE POSITION INDICATOR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2BD0\"},11217:{\"value\":\"2BD1\",\"name\":\"UNCERTAINTY SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2BD1\"},11244:{\"value\":\"2BEC\",\"name\":\"LEFTWARDS TWO-HEADED ARROW WITH TRIANGLE ARROWHEADS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2BEC\"},11245:{\"value\":\"2BED\",\"name\":\"UPWARDS TWO-HEADED ARROW WITH TRIANGLE ARROWHEADS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2BED\"},11246:{\"value\":\"2BEE\",\"name\":\"RIGHTWARDS TWO-HEADED ARROW WITH TRIANGLE ARROWHEADS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2BEE\"},11247:{\"value\":\"2BEF\",\"name\":\"DOWNWARDS TWO-HEADED ARROW WITH TRIANGLE ARROWHEADS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2BEF\"},11493:{\"value\":\"2CE5\",\"name\":\"COPTIC SYMBOL MI RO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2CE5\"},11494:{\"value\":\"2CE6\",\"name\":\"COPTIC SYMBOL PI RO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2CE6\"},11495:{\"value\":\"2CE7\",\"name\":\"COPTIC SYMBOL STAUROS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2CE7\"},11496:{\"value\":\"2CE8\",\"name\":\"COPTIC SYMBOL TAU RO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2CE8\"},11497:{\"value\":\"2CE9\",\"name\":\"COPTIC SYMBOL KHI RO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2CE9\"},11498:{\"value\":\"2CEA\",\"name\":\"COPTIC SYMBOL SHIMA SIMA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2CEA\"},11904:{\"value\":\"2E80\",\"name\":\"CJK RADICAL REPEAT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2E80\"},11905:{\"value\":\"2E81\",\"name\":\"CJK RADICAL CLIFF\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2E81\"},11906:{\"value\":\"2E82\",\"name\":\"CJK RADICAL SECOND ONE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2E82\"},11907:{\"value\":\"2E83\",\"name\":\"CJK RADICAL SECOND TWO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2E83\"},11908:{\"value\":\"2E84\",\"name\":\"CJK RADICAL SECOND THREE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2E84\"},11909:{\"value\":\"2E85\",\"name\":\"CJK RADICAL PERSON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2E85\"},11910:{\"value\":\"2E86\",\"name\":\"CJK RADICAL BOX\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2E86\"},11911:{\"value\":\"2E87\",\"name\":\"CJK RADICAL TABLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2E87\"},11912:{\"value\":\"2E88\",\"name\":\"CJK RADICAL KNIFE ONE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2E88\"},11913:{\"value\":\"2E89\",\"name\":\"CJK RADICAL KNIFE TWO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2E89\"},11914:{\"value\":\"2E8A\",\"name\":\"CJK RADICAL DIVINATION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2E8A\"},11915:{\"value\":\"2E8B\",\"name\":\"CJK RADICAL SEAL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2E8B\"},11916:{\"value\":\"2E8C\",\"name\":\"CJK RADICAL SMALL ONE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2E8C\"},11917:{\"value\":\"2E8D\",\"name\":\"CJK RADICAL SMALL TWO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2E8D\"},11918:{\"value\":\"2E8E\",\"name\":\"CJK RADICAL LAME ONE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2E8E\"},11919:{\"value\":\"2E8F\",\"name\":\"CJK RADICAL LAME TWO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2E8F\"},11920:{\"value\":\"2E90\",\"name\":\"CJK RADICAL LAME THREE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2E90\"},11921:{\"value\":\"2E91\",\"name\":\"CJK RADICAL LAME FOUR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2E91\"},11922:{\"value\":\"2E92\",\"name\":\"CJK RADICAL SNAKE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2E92\"},11923:{\"value\":\"2E93\",\"name\":\"CJK RADICAL THREAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2E93\"},11924:{\"value\":\"2E94\",\"name\":\"CJK RADICAL SNOUT ONE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2E94\"},11925:{\"value\":\"2E95\",\"name\":\"CJK RADICAL SNOUT TWO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2E95\"},11926:{\"value\":\"2E96\",\"name\":\"CJK RADICAL HEART ONE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2E96\"},11927:{\"value\":\"2E97\",\"name\":\"CJK RADICAL HEART TWO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2E97\"},11928:{\"value\":\"2E98\",\"name\":\"CJK RADICAL HAND\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2E98\"},11929:{\"value\":\"2E99\",\"name\":\"CJK RADICAL RAP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2E99\"},11931:{\"value\":\"2E9B\",\"name\":\"CJK RADICAL CHOKE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2E9B\"},11932:{\"value\":\"2E9C\",\"name\":\"CJK RADICAL SUN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2E9C\"},11933:{\"value\":\"2E9D\",\"name\":\"CJK RADICAL MOON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2E9D\"},11934:{\"value\":\"2E9E\",\"name\":\"CJK RADICAL DEATH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2E9E\"},11935:{\"value\":\"2E9F\",\"name\":\"CJK RADICAL MOTHER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 6BCD\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2E9F\"},11936:{\"value\":\"2EA0\",\"name\":\"CJK RADICAL CIVILIAN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2EA0\"},11937:{\"value\":\"2EA1\",\"name\":\"CJK RADICAL WATER ONE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2EA1\"},11938:{\"value\":\"2EA2\",\"name\":\"CJK RADICAL WATER TWO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2EA2\"},11939:{\"value\":\"2EA3\",\"name\":\"CJK RADICAL FIRE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2EA3\"},11940:{\"value\":\"2EA4\",\"name\":\"CJK RADICAL PAW ONE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2EA4\"},11941:{\"value\":\"2EA5\",\"name\":\"CJK RADICAL PAW TWO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2EA5\"},11942:{\"value\":\"2EA6\",\"name\":\"CJK RADICAL SIMPLIFIED HALF TREE TRUNK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2EA6\"},11943:{\"value\":\"2EA7\",\"name\":\"CJK RADICAL COW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2EA7\"},11944:{\"value\":\"2EA8\",\"name\":\"CJK RADICAL DOG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2EA8\"},11945:{\"value\":\"2EA9\",\"name\":\"CJK RADICAL JADE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2EA9\"},11946:{\"value\":\"2EAA\",\"name\":\"CJK RADICAL BOLT OF CLOTH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2EAA\"},11947:{\"value\":\"2EAB\",\"name\":\"CJK RADICAL EYE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2EAB\"},11948:{\"value\":\"2EAC\",\"name\":\"CJK RADICAL SPIRIT ONE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2EAC\"},11949:{\"value\":\"2EAD\",\"name\":\"CJK RADICAL SPIRIT TWO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2EAD\"},11950:{\"value\":\"2EAE\",\"name\":\"CJK RADICAL BAMBOO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2EAE\"},11951:{\"value\":\"2EAF\",\"name\":\"CJK RADICAL SILK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2EAF\"},11952:{\"value\":\"2EB0\",\"name\":\"CJK RADICAL C-SIMPLIFIED SILK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2EB0\"},11953:{\"value\":\"2EB1\",\"name\":\"CJK RADICAL NET ONE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2EB1\"},11954:{\"value\":\"2EB2\",\"name\":\"CJK RADICAL NET TWO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2EB2\"},11955:{\"value\":\"2EB3\",\"name\":\"CJK RADICAL NET THREE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2EB3\"},11956:{\"value\":\"2EB4\",\"name\":\"CJK RADICAL NET FOUR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2EB4\"},11957:{\"value\":\"2EB5\",\"name\":\"CJK RADICAL MESH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2EB5\"},11958:{\"value\":\"2EB6\",\"name\":\"CJK RADICAL SHEEP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2EB6\"},11959:{\"value\":\"2EB7\",\"name\":\"CJK RADICAL RAM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2EB7\"},11960:{\"value\":\"2EB8\",\"name\":\"CJK RADICAL EWE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2EB8\"},11961:{\"value\":\"2EB9\",\"name\":\"CJK RADICAL OLD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2EB9\"},11962:{\"value\":\"2EBA\",\"name\":\"CJK RADICAL BRUSH ONE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2EBA\"},11963:{\"value\":\"2EBB\",\"name\":\"CJK RADICAL BRUSH TWO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2EBB\"},11964:{\"value\":\"2EBC\",\"name\":\"CJK RADICAL MEAT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2EBC\"},11965:{\"value\":\"2EBD\",\"name\":\"CJK RADICAL MORTAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2EBD\"},11966:{\"value\":\"2EBE\",\"name\":\"CJK RADICAL GRASS ONE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2EBE\"},11967:{\"value\":\"2EBF\",\"name\":\"CJK RADICAL GRASS TWO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2EBF\"},11968:{\"value\":\"2EC0\",\"name\":\"CJK RADICAL GRASS THREE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2EC0\"},11969:{\"value\":\"2EC1\",\"name\":\"CJK RADICAL TIGER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2EC1\"},11970:{\"value\":\"2EC2\",\"name\":\"CJK RADICAL CLOTHES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2EC2\"},11971:{\"value\":\"2EC3\",\"name\":\"CJK RADICAL WEST ONE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2EC3\"},11972:{\"value\":\"2EC4\",\"name\":\"CJK RADICAL WEST TWO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2EC4\"},11973:{\"value\":\"2EC5\",\"name\":\"CJK RADICAL C-SIMPLIFIED SEE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2EC5\"},11974:{\"value\":\"2EC6\",\"name\":\"CJK RADICAL SIMPLIFIED HORN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2EC6\"},11975:{\"value\":\"2EC7\",\"name\":\"CJK RADICAL HORN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2EC7\"},11976:{\"value\":\"2EC8\",\"name\":\"CJK RADICAL C-SIMPLIFIED SPEECH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2EC8\"},11977:{\"value\":\"2EC9\",\"name\":\"CJK RADICAL C-SIMPLIFIED SHELL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2EC9\"},11978:{\"value\":\"2ECA\",\"name\":\"CJK RADICAL FOOT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2ECA\"},11979:{\"value\":\"2ECB\",\"name\":\"CJK RADICAL C-SIMPLIFIED CART\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2ECB\"},11980:{\"value\":\"2ECC\",\"name\":\"CJK RADICAL SIMPLIFIED WALK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2ECC\"},11981:{\"value\":\"2ECD\",\"name\":\"CJK RADICAL WALK ONE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2ECD\"},11982:{\"value\":\"2ECE\",\"name\":\"CJK RADICAL WALK TWO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2ECE\"},11983:{\"value\":\"2ECF\",\"name\":\"CJK RADICAL CITY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2ECF\"},11984:{\"value\":\"2ED0\",\"name\":\"CJK RADICAL C-SIMPLIFIED GOLD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2ED0\"},11985:{\"value\":\"2ED1\",\"name\":\"CJK RADICAL LONG ONE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2ED1\"},11986:{\"value\":\"2ED2\",\"name\":\"CJK RADICAL LONG TWO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2ED2\"},11987:{\"value\":\"2ED3\",\"name\":\"CJK RADICAL C-SIMPLIFIED LONG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2ED3\"},11988:{\"value\":\"2ED4\",\"name\":\"CJK RADICAL C-SIMPLIFIED GATE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2ED4\"},11989:{\"value\":\"2ED5\",\"name\":\"CJK RADICAL MOUND ONE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2ED5\"},11990:{\"value\":\"2ED6\",\"name\":\"CJK RADICAL MOUND TWO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2ED6\"},11991:{\"value\":\"2ED7\",\"name\":\"CJK RADICAL RAIN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2ED7\"},11992:{\"value\":\"2ED8\",\"name\":\"CJK RADICAL BLUE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2ED8\"},11993:{\"value\":\"2ED9\",\"name\":\"CJK RADICAL C-SIMPLIFIED TANNED LEATHER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2ED9\"},11994:{\"value\":\"2EDA\",\"name\":\"CJK RADICAL C-SIMPLIFIED LEAF\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2EDA\"},11995:{\"value\":\"2EDB\",\"name\":\"CJK RADICAL C-SIMPLIFIED WIND\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2EDB\"},11996:{\"value\":\"2EDC\",\"name\":\"CJK RADICAL C-SIMPLIFIED FLY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2EDC\"},11997:{\"value\":\"2EDD\",\"name\":\"CJK RADICAL EAT ONE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2EDD\"},11998:{\"value\":\"2EDE\",\"name\":\"CJK RADICAL EAT TWO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2EDE\"},11999:{\"value\":\"2EDF\",\"name\":\"CJK RADICAL EAT THREE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2EDF\"},12000:{\"value\":\"2EE0\",\"name\":\"CJK RADICAL C-SIMPLIFIED EAT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2EE0\"},12001:{\"value\":\"2EE1\",\"name\":\"CJK RADICAL HEAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2EE1\"},12002:{\"value\":\"2EE2\",\"name\":\"CJK RADICAL C-SIMPLIFIED HORSE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2EE2\"},12003:{\"value\":\"2EE3\",\"name\":\"CJK RADICAL BONE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2EE3\"},12004:{\"value\":\"2EE4\",\"name\":\"CJK RADICAL GHOST\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2EE4\"},12005:{\"value\":\"2EE5\",\"name\":\"CJK RADICAL C-SIMPLIFIED FISH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2EE5\"},12006:{\"value\":\"2EE6\",\"name\":\"CJK RADICAL C-SIMPLIFIED BIRD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2EE6\"},12007:{\"value\":\"2EE7\",\"name\":\"CJK RADICAL C-SIMPLIFIED SALT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2EE7\"},12008:{\"value\":\"2EE8\",\"name\":\"CJK RADICAL SIMPLIFIED WHEAT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2EE8\"},12009:{\"value\":\"2EE9\",\"name\":\"CJK RADICAL SIMPLIFIED YELLOW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2EE9\"},12010:{\"value\":\"2EEA\",\"name\":\"CJK RADICAL C-SIMPLIFIED FROG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2EEA\"},12011:{\"value\":\"2EEB\",\"name\":\"CJK RADICAL J-SIMPLIFIED EVEN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2EEB\"},12012:{\"value\":\"2EEC\",\"name\":\"CJK RADICAL C-SIMPLIFIED EVEN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2EEC\"},12013:{\"value\":\"2EED\",\"name\":\"CJK RADICAL J-SIMPLIFIED TOOTH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2EED\"},12014:{\"value\":\"2EEE\",\"name\":\"CJK RADICAL C-SIMPLIFIED TOOTH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2EEE\"},12015:{\"value\":\"2EEF\",\"name\":\"CJK RADICAL J-SIMPLIFIED DRAGON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2EEF\"},12016:{\"value\":\"2EF0\",\"name\":\"CJK RADICAL C-SIMPLIFIED DRAGON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2EF0\"},12017:{\"value\":\"2EF1\",\"name\":\"CJK RADICAL TURTLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2EF1\"},12018:{\"value\":\"2EF2\",\"name\":\"CJK RADICAL J-SIMPLIFIED TURTLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2EF2\"},12019:{\"value\":\"2EF3\",\"name\":\"CJK RADICAL C-SIMPLIFIED TURTLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 9F9F\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2EF3\"},12032:{\"value\":\"2F00\",\"name\":\"KANGXI RADICAL ONE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 4E00\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F00\"},12033:{\"value\":\"2F01\",\"name\":\"KANGXI RADICAL LINE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 4E28\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F01\"},12034:{\"value\":\"2F02\",\"name\":\"KANGXI RADICAL DOT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 4E36\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F02\"},12035:{\"value\":\"2F03\",\"name\":\"KANGXI RADICAL SLASH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 4E3F\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F03\"},12036:{\"value\":\"2F04\",\"name\":\"KANGXI RADICAL SECOND\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 4E59\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F04\"},12037:{\"value\":\"2F05\",\"name\":\"KANGXI RADICAL HOOK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 4E85\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F05\"},12038:{\"value\":\"2F06\",\"name\":\"KANGXI RADICAL TWO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 4E8C\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F06\"},12039:{\"value\":\"2F07\",\"name\":\"KANGXI RADICAL LID\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 4EA0\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F07\"},12040:{\"value\":\"2F08\",\"name\":\"KANGXI RADICAL MAN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 4EBA\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F08\"},12041:{\"value\":\"2F09\",\"name\":\"KANGXI RADICAL LEGS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 513F\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F09\"},12042:{\"value\":\"2F0A\",\"name\":\"KANGXI RADICAL ENTER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 5165\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F0A\"},12043:{\"value\":\"2F0B\",\"name\":\"KANGXI RADICAL EIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 516B\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F0B\"},12044:{\"value\":\"2F0C\",\"name\":\"KANGXI RADICAL DOWN BOX\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 5182\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F0C\"},12045:{\"value\":\"2F0D\",\"name\":\"KANGXI RADICAL COVER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 5196\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F0D\"},12046:{\"value\":\"2F0E\",\"name\":\"KANGXI RADICAL ICE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 51AB\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F0E\"},12047:{\"value\":\"2F0F\",\"name\":\"KANGXI RADICAL TABLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 51E0\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F0F\"},12048:{\"value\":\"2F10\",\"name\":\"KANGXI RADICAL OPEN BOX\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 51F5\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F10\"},12049:{\"value\":\"2F11\",\"name\":\"KANGXI RADICAL KNIFE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 5200\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F11\"},12050:{\"value\":\"2F12\",\"name\":\"KANGXI RADICAL POWER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 529B\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F12\"},12051:{\"value\":\"2F13\",\"name\":\"KANGXI RADICAL WRAP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 52F9\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F13\"},12052:{\"value\":\"2F14\",\"name\":\"KANGXI RADICAL SPOON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 5315\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F14\"},12053:{\"value\":\"2F15\",\"name\":\"KANGXI RADICAL RIGHT OPEN BOX\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 531A\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F15\"},12054:{\"value\":\"2F16\",\"name\":\"KANGXI RADICAL HIDING ENCLOSURE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 5338\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F16\"},12055:{\"value\":\"2F17\",\"name\":\"KANGXI RADICAL TEN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 5341\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F17\"},12056:{\"value\":\"2F18\",\"name\":\"KANGXI RADICAL DIVINATION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 535C\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F18\"},12057:{\"value\":\"2F19\",\"name\":\"KANGXI RADICAL SEAL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 5369\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F19\"},12058:{\"value\":\"2F1A\",\"name\":\"KANGXI RADICAL CLIFF\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 5382\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F1A\"},12059:{\"value\":\"2F1B\",\"name\":\"KANGXI RADICAL PRIVATE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 53B6\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F1B\"},12060:{\"value\":\"2F1C\",\"name\":\"KANGXI RADICAL AGAIN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 53C8\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F1C\"},12061:{\"value\":\"2F1D\",\"name\":\"KANGXI RADICAL MOUTH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 53E3\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F1D\"},12062:{\"value\":\"2F1E\",\"name\":\"KANGXI RADICAL ENCLOSURE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 56D7\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F1E\"},12063:{\"value\":\"2F1F\",\"name\":\"KANGXI RADICAL EARTH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 571F\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F1F\"},12064:{\"value\":\"2F20\",\"name\":\"KANGXI RADICAL SCHOLAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 58EB\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F20\"},12065:{\"value\":\"2F21\",\"name\":\"KANGXI RADICAL GO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 5902\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F21\"},12066:{\"value\":\"2F22\",\"name\":\"KANGXI RADICAL GO SLOWLY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 590A\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F22\"},12067:{\"value\":\"2F23\",\"name\":\"KANGXI RADICAL EVENING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 5915\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F23\"},12068:{\"value\":\"2F24\",\"name\":\"KANGXI RADICAL BIG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 5927\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F24\"},12069:{\"value\":\"2F25\",\"name\":\"KANGXI RADICAL WOMAN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 5973\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F25\"},12070:{\"value\":\"2F26\",\"name\":\"KANGXI RADICAL CHILD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 5B50\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F26\"},12071:{\"value\":\"2F27\",\"name\":\"KANGXI RADICAL ROOF\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 5B80\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F27\"},12072:{\"value\":\"2F28\",\"name\":\"KANGXI RADICAL INCH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 5BF8\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F28\"},12073:{\"value\":\"2F29\",\"name\":\"KANGXI RADICAL SMALL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 5C0F\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F29\"},12074:{\"value\":\"2F2A\",\"name\":\"KANGXI RADICAL LAME\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 5C22\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F2A\"},12075:{\"value\":\"2F2B\",\"name\":\"KANGXI RADICAL CORPSE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 5C38\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F2B\"},12076:{\"value\":\"2F2C\",\"name\":\"KANGXI RADICAL SPROUT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 5C6E\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F2C\"},12077:{\"value\":\"2F2D\",\"name\":\"KANGXI RADICAL MOUNTAIN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 5C71\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F2D\"},12078:{\"value\":\"2F2E\",\"name\":\"KANGXI RADICAL RIVER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 5DDB\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F2E\"},12079:{\"value\":\"2F2F\",\"name\":\"KANGXI RADICAL WORK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 5DE5\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F2F\"},12080:{\"value\":\"2F30\",\"name\":\"KANGXI RADICAL ONESELF\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 5DF1\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F30\"},12081:{\"value\":\"2F31\",\"name\":\"KANGXI RADICAL TURBAN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 5DFE\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F31\"},12082:{\"value\":\"2F32\",\"name\":\"KANGXI RADICAL DRY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 5E72\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F32\"},12083:{\"value\":\"2F33\",\"name\":\"KANGXI RADICAL SHORT THREAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 5E7A\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F33\"},12084:{\"value\":\"2F34\",\"name\":\"KANGXI RADICAL DOTTED CLIFF\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 5E7F\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F34\"},12085:{\"value\":\"2F35\",\"name\":\"KANGXI RADICAL LONG STRIDE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 5EF4\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F35\"},12086:{\"value\":\"2F36\",\"name\":\"KANGXI RADICAL TWO HANDS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 5EFE\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F36\"},12087:{\"value\":\"2F37\",\"name\":\"KANGXI RADICAL SHOOT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 5F0B\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F37\"},12088:{\"value\":\"2F38\",\"name\":\"KANGXI RADICAL BOW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 5F13\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F38\"},12089:{\"value\":\"2F39\",\"name\":\"KANGXI RADICAL SNOUT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 5F50\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F39\"},12090:{\"value\":\"2F3A\",\"name\":\"KANGXI RADICAL BRISTLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 5F61\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F3A\"},12091:{\"value\":\"2F3B\",\"name\":\"KANGXI RADICAL STEP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 5F73\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F3B\"},12092:{\"value\":\"2F3C\",\"name\":\"KANGXI RADICAL HEART\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 5FC3\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F3C\"},12093:{\"value\":\"2F3D\",\"name\":\"KANGXI RADICAL HALBERD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 6208\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F3D\"},12094:{\"value\":\"2F3E\",\"name\":\"KANGXI RADICAL DOOR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 6236\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F3E\"},12095:{\"value\":\"2F3F\",\"name\":\"KANGXI RADICAL HAND\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 624B\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F3F\"},12096:{\"value\":\"2F40\",\"name\":\"KANGXI RADICAL BRANCH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 652F\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F40\"},12097:{\"value\":\"2F41\",\"name\":\"KANGXI RADICAL RAP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 6534\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F41\"},12098:{\"value\":\"2F42\",\"name\":\"KANGXI RADICAL SCRIPT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 6587\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F42\"},12099:{\"value\":\"2F43\",\"name\":\"KANGXI RADICAL DIPPER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 6597\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F43\"},12100:{\"value\":\"2F44\",\"name\":\"KANGXI RADICAL AXE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 65A4\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F44\"},12101:{\"value\":\"2F45\",\"name\":\"KANGXI RADICAL SQUARE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 65B9\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F45\"},12102:{\"value\":\"2F46\",\"name\":\"KANGXI RADICAL NOT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 65E0\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F46\"},12103:{\"value\":\"2F47\",\"name\":\"KANGXI RADICAL SUN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 65E5\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F47\"},12104:{\"value\":\"2F48\",\"name\":\"KANGXI RADICAL SAY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 66F0\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F48\"},12105:{\"value\":\"2F49\",\"name\":\"KANGXI RADICAL MOON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 6708\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F49\"},12106:{\"value\":\"2F4A\",\"name\":\"KANGXI RADICAL TREE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 6728\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F4A\"},12107:{\"value\":\"2F4B\",\"name\":\"KANGXI RADICAL LACK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 6B20\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F4B\"},12108:{\"value\":\"2F4C\",\"name\":\"KANGXI RADICAL STOP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 6B62\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F4C\"},12109:{\"value\":\"2F4D\",\"name\":\"KANGXI RADICAL DEATH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 6B79\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F4D\"},12110:{\"value\":\"2F4E\",\"name\":\"KANGXI RADICAL WEAPON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 6BB3\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F4E\"},12111:{\"value\":\"2F4F\",\"name\":\"KANGXI RADICAL DO NOT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 6BCB\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F4F\"},12112:{\"value\":\"2F50\",\"name\":\"KANGXI RADICAL COMPARE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 6BD4\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F50\"},12113:{\"value\":\"2F51\",\"name\":\"KANGXI RADICAL FUR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 6BDB\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F51\"},12114:{\"value\":\"2F52\",\"name\":\"KANGXI RADICAL CLAN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 6C0F\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F52\"},12115:{\"value\":\"2F53\",\"name\":\"KANGXI RADICAL STEAM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 6C14\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F53\"},12116:{\"value\":\"2F54\",\"name\":\"KANGXI RADICAL WATER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 6C34\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F54\"},12117:{\"value\":\"2F55\",\"name\":\"KANGXI RADICAL FIRE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 706B\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F55\"},12118:{\"value\":\"2F56\",\"name\":\"KANGXI RADICAL CLAW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 722A\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F56\"},12119:{\"value\":\"2F57\",\"name\":\"KANGXI RADICAL FATHER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 7236\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F57\"},12120:{\"value\":\"2F58\",\"name\":\"KANGXI RADICAL DOUBLE X\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 723B\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F58\"},12121:{\"value\":\"2F59\",\"name\":\"KANGXI RADICAL HALF TREE TRUNK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 723F\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F59\"},12122:{\"value\":\"2F5A\",\"name\":\"KANGXI RADICAL SLICE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 7247\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F5A\"},12123:{\"value\":\"2F5B\",\"name\":\"KANGXI RADICAL FANG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 7259\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F5B\"},12124:{\"value\":\"2F5C\",\"name\":\"KANGXI RADICAL COW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 725B\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F5C\"},12125:{\"value\":\"2F5D\",\"name\":\"KANGXI RADICAL DOG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 72AC\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F5D\"},12126:{\"value\":\"2F5E\",\"name\":\"KANGXI RADICAL PROFOUND\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 7384\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F5E\"},12127:{\"value\":\"2F5F\",\"name\":\"KANGXI RADICAL JADE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 7389\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F5F\"},12128:{\"value\":\"2F60\",\"name\":\"KANGXI RADICAL MELON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 74DC\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F60\"},12129:{\"value\":\"2F61\",\"name\":\"KANGXI RADICAL TILE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 74E6\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F61\"},12130:{\"value\":\"2F62\",\"name\":\"KANGXI RADICAL SWEET\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 7518\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F62\"},12131:{\"value\":\"2F63\",\"name\":\"KANGXI RADICAL LIFE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 751F\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F63\"},12132:{\"value\":\"2F64\",\"name\":\"KANGXI RADICAL USE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 7528\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F64\"},12133:{\"value\":\"2F65\",\"name\":\"KANGXI RADICAL FIELD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 7530\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F65\"},12134:{\"value\":\"2F66\",\"name\":\"KANGXI RADICAL BOLT OF CLOTH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 758B\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F66\"},12135:{\"value\":\"2F67\",\"name\":\"KANGXI RADICAL SICKNESS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 7592\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F67\"},12136:{\"value\":\"2F68\",\"name\":\"KANGXI RADICAL DOTTED TENT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 7676\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F68\"},12137:{\"value\":\"2F69\",\"name\":\"KANGXI RADICAL WHITE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 767D\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F69\"},12138:{\"value\":\"2F6A\",\"name\":\"KANGXI RADICAL SKIN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 76AE\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F6A\"},12139:{\"value\":\"2F6B\",\"name\":\"KANGXI RADICAL DISH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 76BF\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F6B\"},12140:{\"value\":\"2F6C\",\"name\":\"KANGXI RADICAL EYE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 76EE\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F6C\"},12141:{\"value\":\"2F6D\",\"name\":\"KANGXI RADICAL SPEAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 77DB\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F6D\"},12142:{\"value\":\"2F6E\",\"name\":\"KANGXI RADICAL ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 77E2\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F6E\"},12143:{\"value\":\"2F6F\",\"name\":\"KANGXI RADICAL STONE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 77F3\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F6F\"},12144:{\"value\":\"2F70\",\"name\":\"KANGXI RADICAL SPIRIT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 793A\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F70\"},12145:{\"value\":\"2F71\",\"name\":\"KANGXI RADICAL TRACK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 79B8\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F71\"},12146:{\"value\":\"2F72\",\"name\":\"KANGXI RADICAL GRAIN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 79BE\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F72\"},12147:{\"value\":\"2F73\",\"name\":\"KANGXI RADICAL CAVE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 7A74\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F73\"},12148:{\"value\":\"2F74\",\"name\":\"KANGXI RADICAL STAND\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 7ACB\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F74\"},12149:{\"value\":\"2F75\",\"name\":\"KANGXI RADICAL BAMBOO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 7AF9\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F75\"},12150:{\"value\":\"2F76\",\"name\":\"KANGXI RADICAL RICE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 7C73\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F76\"},12151:{\"value\":\"2F77\",\"name\":\"KANGXI RADICAL SILK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 7CF8\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F77\"},12152:{\"value\":\"2F78\",\"name\":\"KANGXI RADICAL JAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 7F36\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F78\"},12153:{\"value\":\"2F79\",\"name\":\"KANGXI RADICAL NET\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 7F51\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F79\"},12154:{\"value\":\"2F7A\",\"name\":\"KANGXI RADICAL SHEEP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 7F8A\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F7A\"},12155:{\"value\":\"2F7B\",\"name\":\"KANGXI RADICAL FEATHER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 7FBD\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F7B\"},12156:{\"value\":\"2F7C\",\"name\":\"KANGXI RADICAL OLD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 8001\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F7C\"},12157:{\"value\":\"2F7D\",\"name\":\"KANGXI RADICAL AND\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 800C\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F7D\"},12158:{\"value\":\"2F7E\",\"name\":\"KANGXI RADICAL PLOW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 8012\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F7E\"},12159:{\"value\":\"2F7F\",\"name\":\"KANGXI RADICAL EAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 8033\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F7F\"},12160:{\"value\":\"2F80\",\"name\":\"KANGXI RADICAL BRUSH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 807F\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F80\"},12161:{\"value\":\"2F81\",\"name\":\"KANGXI RADICAL MEAT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 8089\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F81\"},12162:{\"value\":\"2F82\",\"name\":\"KANGXI RADICAL MINISTER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 81E3\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F82\"},12163:{\"value\":\"2F83\",\"name\":\"KANGXI RADICAL SELF\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 81EA\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F83\"},12164:{\"value\":\"2F84\",\"name\":\"KANGXI RADICAL ARRIVE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 81F3\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F84\"},12165:{\"value\":\"2F85\",\"name\":\"KANGXI RADICAL MORTAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 81FC\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F85\"},12166:{\"value\":\"2F86\",\"name\":\"KANGXI RADICAL TONGUE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 820C\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F86\"},12167:{\"value\":\"2F87\",\"name\":\"KANGXI RADICAL OPPOSE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 821B\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F87\"},12168:{\"value\":\"2F88\",\"name\":\"KANGXI RADICAL BOAT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 821F\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F88\"},12169:{\"value\":\"2F89\",\"name\":\"KANGXI RADICAL STOPPING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 826E\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F89\"},12170:{\"value\":\"2F8A\",\"name\":\"KANGXI RADICAL COLOR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 8272\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F8A\"},12171:{\"value\":\"2F8B\",\"name\":\"KANGXI RADICAL GRASS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 8278\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F8B\"},12172:{\"value\":\"2F8C\",\"name\":\"KANGXI RADICAL TIGER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 864D\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F8C\"},12173:{\"value\":\"2F8D\",\"name\":\"KANGXI RADICAL INSECT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 866B\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F8D\"},12174:{\"value\":\"2F8E\",\"name\":\"KANGXI RADICAL BLOOD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 8840\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F8E\"},12175:{\"value\":\"2F8F\",\"name\":\"KANGXI RADICAL WALK ENCLOSURE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 884C\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F8F\"},12176:{\"value\":\"2F90\",\"name\":\"KANGXI RADICAL CLOTHES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 8863\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F90\"},12177:{\"value\":\"2F91\",\"name\":\"KANGXI RADICAL WEST\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 897E\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F91\"},12178:{\"value\":\"2F92\",\"name\":\"KANGXI RADICAL SEE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 898B\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F92\"},12179:{\"value\":\"2F93\",\"name\":\"KANGXI RADICAL HORN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 89D2\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F93\"},12180:{\"value\":\"2F94\",\"name\":\"KANGXI RADICAL SPEECH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 8A00\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F94\"},12181:{\"value\":\"2F95\",\"name\":\"KANGXI RADICAL VALLEY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 8C37\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F95\"},12182:{\"value\":\"2F96\",\"name\":\"KANGXI RADICAL BEAN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 8C46\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F96\"},12183:{\"value\":\"2F97\",\"name\":\"KANGXI RADICAL PIG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 8C55\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F97\"},12184:{\"value\":\"2F98\",\"name\":\"KANGXI RADICAL BADGER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 8C78\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F98\"},12185:{\"value\":\"2F99\",\"name\":\"KANGXI RADICAL SHELL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 8C9D\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F99\"},12186:{\"value\":\"2F9A\",\"name\":\"KANGXI RADICAL RED\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 8D64\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F9A\"},12187:{\"value\":\"2F9B\",\"name\":\"KANGXI RADICAL RUN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 8D70\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F9B\"},12188:{\"value\":\"2F9C\",\"name\":\"KANGXI RADICAL FOOT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 8DB3\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F9C\"},12189:{\"value\":\"2F9D\",\"name\":\"KANGXI RADICAL BODY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 8EAB\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F9D\"},12190:{\"value\":\"2F9E\",\"name\":\"KANGXI RADICAL CART\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 8ECA\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F9E\"},12191:{\"value\":\"2F9F\",\"name\":\"KANGXI RADICAL BITTER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 8F9B\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F9F\"},12192:{\"value\":\"2FA0\",\"name\":\"KANGXI RADICAL MORNING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 8FB0\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2FA0\"},12193:{\"value\":\"2FA1\",\"name\":\"KANGXI RADICAL WALK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 8FB5\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2FA1\"},12194:{\"value\":\"2FA2\",\"name\":\"KANGXI RADICAL CITY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 9091\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2FA2\"},12195:{\"value\":\"2FA3\",\"name\":\"KANGXI RADICAL WINE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 9149\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2FA3\"},12196:{\"value\":\"2FA4\",\"name\":\"KANGXI RADICAL DISTINGUISH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 91C6\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2FA4\"},12197:{\"value\":\"2FA5\",\"name\":\"KANGXI RADICAL VILLAGE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 91CC\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2FA5\"},12198:{\"value\":\"2FA6\",\"name\":\"KANGXI RADICAL GOLD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 91D1\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2FA6\"},12199:{\"value\":\"2FA7\",\"name\":\"KANGXI RADICAL LONG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 9577\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2FA7\"},12200:{\"value\":\"2FA8\",\"name\":\"KANGXI RADICAL GATE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 9580\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2FA8\"},12201:{\"value\":\"2FA9\",\"name\":\"KANGXI RADICAL MOUND\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 961C\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2FA9\"},12202:{\"value\":\"2FAA\",\"name\":\"KANGXI RADICAL SLAVE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 96B6\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2FAA\"},12203:{\"value\":\"2FAB\",\"name\":\"KANGXI RADICAL SHORT TAILED BIRD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 96B9\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2FAB\"},12204:{\"value\":\"2FAC\",\"name\":\"KANGXI RADICAL RAIN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 96E8\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2FAC\"},12205:{\"value\":\"2FAD\",\"name\":\"KANGXI RADICAL BLUE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 9751\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2FAD\"},12206:{\"value\":\"2FAE\",\"name\":\"KANGXI RADICAL WRONG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 975E\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2FAE\"},12207:{\"value\":\"2FAF\",\"name\":\"KANGXI RADICAL FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 9762\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2FAF\"},12208:{\"value\":\"2FB0\",\"name\":\"KANGXI RADICAL LEATHER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 9769\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2FB0\"},12209:{\"value\":\"2FB1\",\"name\":\"KANGXI RADICAL TANNED LEATHER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 97CB\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2FB1\"},12210:{\"value\":\"2FB2\",\"name\":\"KANGXI RADICAL LEEK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 97ED\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2FB2\"},12211:{\"value\":\"2FB3\",\"name\":\"KANGXI RADICAL SOUND\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 97F3\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2FB3\"},12212:{\"value\":\"2FB4\",\"name\":\"KANGXI RADICAL LEAF\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 9801\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2FB4\"},12213:{\"value\":\"2FB5\",\"name\":\"KANGXI RADICAL WIND\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 98A8\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2FB5\"},12214:{\"value\":\"2FB6\",\"name\":\"KANGXI RADICAL FLY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 98DB\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2FB6\"},12215:{\"value\":\"2FB7\",\"name\":\"KANGXI RADICAL EAT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 98DF\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2FB7\"},12216:{\"value\":\"2FB8\",\"name\":\"KANGXI RADICAL HEAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 9996\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2FB8\"},12217:{\"value\":\"2FB9\",\"name\":\"KANGXI RADICAL FRAGRANT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 9999\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2FB9\"},12218:{\"value\":\"2FBA\",\"name\":\"KANGXI RADICAL HORSE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 99AC\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2FBA\"},12219:{\"value\":\"2FBB\",\"name\":\"KANGXI RADICAL BONE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 9AA8\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2FBB\"},12220:{\"value\":\"2FBC\",\"name\":\"KANGXI RADICAL TALL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 9AD8\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2FBC\"},12221:{\"value\":\"2FBD\",\"name\":\"KANGXI RADICAL HAIR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 9ADF\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2FBD\"},12222:{\"value\":\"2FBE\",\"name\":\"KANGXI RADICAL FIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 9B25\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2FBE\"},12223:{\"value\":\"2FBF\",\"name\":\"KANGXI RADICAL SACRIFICIAL WINE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 9B2F\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2FBF\"},12224:{\"value\":\"2FC0\",\"name\":\"KANGXI RADICAL CAULDRON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 9B32\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2FC0\"},12225:{\"value\":\"2FC1\",\"name\":\"KANGXI RADICAL GHOST\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 9B3C\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2FC1\"},12226:{\"value\":\"2FC2\",\"name\":\"KANGXI RADICAL FISH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 9B5A\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2FC2\"},12227:{\"value\":\"2FC3\",\"name\":\"KANGXI RADICAL BIRD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 9CE5\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2FC3\"},12228:{\"value\":\"2FC4\",\"name\":\"KANGXI RADICAL SALT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 9E75\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2FC4\"},12229:{\"value\":\"2FC5\",\"name\":\"KANGXI RADICAL DEER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 9E7F\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2FC5\"},12230:{\"value\":\"2FC6\",\"name\":\"KANGXI RADICAL WHEAT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 9EA5\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2FC6\"},12231:{\"value\":\"2FC7\",\"name\":\"KANGXI RADICAL HEMP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 9EBB\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2FC7\"},12232:{\"value\":\"2FC8\",\"name\":\"KANGXI RADICAL YELLOW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 9EC3\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2FC8\"},12233:{\"value\":\"2FC9\",\"name\":\"KANGXI RADICAL MILLET\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 9ECD\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2FC9\"},12234:{\"value\":\"2FCA\",\"name\":\"KANGXI RADICAL BLACK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 9ED1\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2FCA\"},12235:{\"value\":\"2FCB\",\"name\":\"KANGXI RADICAL EMBROIDERY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 9EF9\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2FCB\"},12236:{\"value\":\"2FCC\",\"name\":\"KANGXI RADICAL FROG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 9EFD\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2FCC\"},12237:{\"value\":\"2FCD\",\"name\":\"KANGXI RADICAL TRIPOD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 9F0E\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2FCD\"},12238:{\"value\":\"2FCE\",\"name\":\"KANGXI RADICAL DRUM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 9F13\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2FCE\"},12239:{\"value\":\"2FCF\",\"name\":\"KANGXI RADICAL RAT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 9F20\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2FCF\"},12240:{\"value\":\"2FD0\",\"name\":\"KANGXI RADICAL NOSE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 9F3B\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2FD0\"},12241:{\"value\":\"2FD1\",\"name\":\"KANGXI RADICAL EVEN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 9F4A\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2FD1\"},12242:{\"value\":\"2FD2\",\"name\":\"KANGXI RADICAL TOOTH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 9F52\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2FD2\"},12243:{\"value\":\"2FD3\",\"name\":\"KANGXI RADICAL DRAGON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 9F8D\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2FD3\"},12244:{\"value\":\"2FD4\",\"name\":\"KANGXI RADICAL TURTLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 9F9C\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2FD4\"},12245:{\"value\":\"2FD5\",\"name\":\"KANGXI RADICAL FLUTE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 9FA0\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2FD5\"},12272:{\"value\":\"2FF0\",\"name\":\"IDEOGRAPHIC DESCRIPTION CHARACTER LEFT TO RIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2FF0\"},12273:{\"value\":\"2FF1\",\"name\":\"IDEOGRAPHIC DESCRIPTION CHARACTER ABOVE TO BELOW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2FF1\"},12274:{\"value\":\"2FF2\",\"name\":\"IDEOGRAPHIC DESCRIPTION CHARACTER LEFT TO MIDDLE AND RIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2FF2\"},12275:{\"value\":\"2FF3\",\"name\":\"IDEOGRAPHIC DESCRIPTION CHARACTER ABOVE TO MIDDLE AND BELOW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2FF3\"},12276:{\"value\":\"2FF4\",\"name\":\"IDEOGRAPHIC DESCRIPTION CHARACTER FULL SURROUND\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2FF4\"},12277:{\"value\":\"2FF5\",\"name\":\"IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM ABOVE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2FF5\"},12278:{\"value\":\"2FF6\",\"name\":\"IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM BELOW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2FF6\"},12279:{\"value\":\"2FF7\",\"name\":\"IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM LEFT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2FF7\"},12280:{\"value\":\"2FF8\",\"name\":\"IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM UPPER LEFT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2FF8\"},12281:{\"value\":\"2FF9\",\"name\":\"IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM UPPER RIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2FF9\"},12282:{\"value\":\"2FFA\",\"name\":\"IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM LOWER LEFT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2FFA\"},12283:{\"value\":\"2FFB\",\"name\":\"IDEOGRAPHIC DESCRIPTION CHARACTER OVERLAID\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2FFB\"},12292:{\"value\":\"3004\",\"name\":\"JAPANESE INDUSTRIAL STANDARD SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3004\"},12306:{\"value\":\"3012\",\"name\":\"POSTAL MARK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3012\"},12307:{\"value\":\"3013\",\"name\":\"GETA MARK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3013\"},12320:{\"value\":\"3020\",\"name\":\"POSTAL MARK FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3020\"},12342:{\"value\":\"3036\",\"name\":\"CIRCLED POSTAL MARK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 3012\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3036\"},12343:{\"value\":\"3037\",\"name\":\"IDEOGRAPHIC TELEGRAPH LINE FEED SEPARATOR SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3037\"},12350:{\"value\":\"303E\",\"name\":\"IDEOGRAPHIC VARIATION INDICATOR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u303E\"},12351:{\"value\":\"303F\",\"name\":\"IDEOGRAPHIC HALF FILL SPACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u303F\"},12688:{\"value\":\"3190\",\"name\":\"IDEOGRAPHIC ANNOTATION LINKING MARK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"KANBUN TATETEN\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3190\"},12689:{\"value\":\"3191\",\"name\":\"IDEOGRAPHIC ANNOTATION REVERSE MARK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"KAERITEN RE\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3191\"},12694:{\"value\":\"3196\",\"name\":\"IDEOGRAPHIC ANNOTATION TOP MARK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<super> 4E0A\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"KAERITEN ZYOU\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3196\"},12695:{\"value\":\"3197\",\"name\":\"IDEOGRAPHIC ANNOTATION MIDDLE MARK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<super> 4E2D\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"KAERITEN TYUU\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3197\"},12696:{\"value\":\"3198\",\"name\":\"IDEOGRAPHIC ANNOTATION BOTTOM MARK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<super> 4E0B\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"KAERITEN GE\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3198\"},12697:{\"value\":\"3199\",\"name\":\"IDEOGRAPHIC ANNOTATION FIRST MARK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<super> 7532\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"KAERITEN KOU\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3199\"},12698:{\"value\":\"319A\",\"name\":\"IDEOGRAPHIC ANNOTATION SECOND MARK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<super> 4E59\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"KAERITEN OTU\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u319A\"},12699:{\"value\":\"319B\",\"name\":\"IDEOGRAPHIC ANNOTATION THIRD MARK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<super> 4E19\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"KAERITEN HEI\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u319B\"},12700:{\"value\":\"319C\",\"name\":\"IDEOGRAPHIC ANNOTATION FOURTH MARK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<super> 4E01\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"KAERITEN TEI\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u319C\"},12701:{\"value\":\"319D\",\"name\":\"IDEOGRAPHIC ANNOTATION HEAVEN MARK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<super> 5929\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"KAERITEN TEN\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u319D\"},12702:{\"value\":\"319E\",\"name\":\"IDEOGRAPHIC ANNOTATION EARTH MARK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<super> 5730\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"KAERITEN TI\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u319E\"},12703:{\"value\":\"319F\",\"name\":\"IDEOGRAPHIC ANNOTATION MAN MARK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<super> 4EBA\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"KAERITEN ZIN\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u319F\"},12736:{\"value\":\"31C0\",\"name\":\"CJK STROKE T\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u31C0\"},12737:{\"value\":\"31C1\",\"name\":\"CJK STROKE WG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u31C1\"},12738:{\"value\":\"31C2\",\"name\":\"CJK STROKE XG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u31C2\"},12739:{\"value\":\"31C3\",\"name\":\"CJK STROKE BXG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u31C3\"},12740:{\"value\":\"31C4\",\"name\":\"CJK STROKE SW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u31C4\"},12741:{\"value\":\"31C5\",\"name\":\"CJK STROKE HZZ\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u31C5\"},12742:{\"value\":\"31C6\",\"name\":\"CJK STROKE HZG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u31C6\"},12743:{\"value\":\"31C7\",\"name\":\"CJK STROKE HP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u31C7\"},12744:{\"value\":\"31C8\",\"name\":\"CJK STROKE HZWG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u31C8\"},12745:{\"value\":\"31C9\",\"name\":\"CJK STROKE SZWG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u31C9\"},12746:{\"value\":\"31CA\",\"name\":\"CJK STROKE HZT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u31CA\"},12747:{\"value\":\"31CB\",\"name\":\"CJK STROKE HZZP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u31CB\"},12748:{\"value\":\"31CC\",\"name\":\"CJK STROKE HPWG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u31CC\"},12749:{\"value\":\"31CD\",\"name\":\"CJK STROKE HZW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u31CD\"},12750:{\"value\":\"31CE\",\"name\":\"CJK STROKE HZZZ\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u31CE\"},12751:{\"value\":\"31CF\",\"name\":\"CJK STROKE N\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u31CF\"},12752:{\"value\":\"31D0\",\"name\":\"CJK STROKE H\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u31D0\"},12753:{\"value\":\"31D1\",\"name\":\"CJK STROKE S\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u31D1\"},12754:{\"value\":\"31D2\",\"name\":\"CJK STROKE P\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u31D2\"},12755:{\"value\":\"31D3\",\"name\":\"CJK STROKE SP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u31D3\"},12756:{\"value\":\"31D4\",\"name\":\"CJK STROKE D\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u31D4\"},12757:{\"value\":\"31D5\",\"name\":\"CJK STROKE HZ\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u31D5\"},12758:{\"value\":\"31D6\",\"name\":\"CJK STROKE HG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u31D6\"},12759:{\"value\":\"31D7\",\"name\":\"CJK STROKE SZ\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u31D7\"},12760:{\"value\":\"31D8\",\"name\":\"CJK STROKE SWZ\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u31D8\"},12761:{\"value\":\"31D9\",\"name\":\"CJK STROKE ST\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u31D9\"},12762:{\"value\":\"31DA\",\"name\":\"CJK STROKE SG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u31DA\"},12763:{\"value\":\"31DB\",\"name\":\"CJK STROKE PD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u31DB\"},12764:{\"value\":\"31DC\",\"name\":\"CJK STROKE PZ\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u31DC\"},12765:{\"value\":\"31DD\",\"name\":\"CJK STROKE TN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u31DD\"},12766:{\"value\":\"31DE\",\"name\":\"CJK STROKE SZZ\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u31DE\"},12767:{\"value\":\"31DF\",\"name\":\"CJK STROKE SWG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u31DF\"},12768:{\"value\":\"31E0\",\"name\":\"CJK STROKE HXWG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u31E0\"},12769:{\"value\":\"31E1\",\"name\":\"CJK STROKE HZZZG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u31E1\"},12770:{\"value\":\"31E2\",\"name\":\"CJK STROKE PG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u31E2\"},12771:{\"value\":\"31E3\",\"name\":\"CJK STROKE Q\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u31E3\"},12800:{\"value\":\"3200\",\"name\":\"PARENTHESIZED HANGUL KIYEOK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 1100 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"PARENTHESIZED HANGUL GIYEOG\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3200\"},12801:{\"value\":\"3201\",\"name\":\"PARENTHESIZED HANGUL NIEUN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 1102 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3201\"},12802:{\"value\":\"3202\",\"name\":\"PARENTHESIZED HANGUL TIKEUT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 1103 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"PARENTHESIZED HANGUL DIGEUD\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3202\"},12803:{\"value\":\"3203\",\"name\":\"PARENTHESIZED HANGUL RIEUL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 1105 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"PARENTHESIZED HANGUL LIEUL\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3203\"},12804:{\"value\":\"3204\",\"name\":\"PARENTHESIZED HANGUL MIEUM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 1106 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3204\"},12805:{\"value\":\"3205\",\"name\":\"PARENTHESIZED HANGUL PIEUP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 1107 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"PARENTHESIZED HANGUL BIEUB\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3205\"},12806:{\"value\":\"3206\",\"name\":\"PARENTHESIZED HANGUL SIOS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 1109 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3206\"},12807:{\"value\":\"3207\",\"name\":\"PARENTHESIZED HANGUL IEUNG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 110B 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3207\"},12808:{\"value\":\"3208\",\"name\":\"PARENTHESIZED HANGUL CIEUC\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 110C 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"PARENTHESIZED HANGUL JIEUJ\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3208\"},12809:{\"value\":\"3209\",\"name\":\"PARENTHESIZED HANGUL CHIEUCH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 110E 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"PARENTHESIZED HANGUL CIEUC\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3209\"},12810:{\"value\":\"320A\",\"name\":\"PARENTHESIZED HANGUL KHIEUKH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 110F 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"PARENTHESIZED HANGUL KIYEOK\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u320A\"},12811:{\"value\":\"320B\",\"name\":\"PARENTHESIZED HANGUL THIEUTH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 1110 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"PARENTHESIZED HANGUL TIEUT\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u320B\"},12812:{\"value\":\"320C\",\"name\":\"PARENTHESIZED HANGUL PHIEUPH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 1111 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"PARENTHESIZED HANGUL PIEUP\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u320C\"},12813:{\"value\":\"320D\",\"name\":\"PARENTHESIZED HANGUL HIEUH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 1112 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u320D\"},12814:{\"value\":\"320E\",\"name\":\"PARENTHESIZED HANGUL KIYEOK A\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 1100 1161 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"PARENTHESIZED HANGUL GA\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u320E\"},12815:{\"value\":\"320F\",\"name\":\"PARENTHESIZED HANGUL NIEUN A\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 1102 1161 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"PARENTHESIZED HANGUL NA\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u320F\"},12816:{\"value\":\"3210\",\"name\":\"PARENTHESIZED HANGUL TIKEUT A\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 1103 1161 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"PARENTHESIZED HANGUL DA\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3210\"},12817:{\"value\":\"3211\",\"name\":\"PARENTHESIZED HANGUL RIEUL A\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 1105 1161 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"PARENTHESIZED HANGUL LA\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3211\"},12818:{\"value\":\"3212\",\"name\":\"PARENTHESIZED HANGUL MIEUM A\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 1106 1161 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"PARENTHESIZED HANGUL MA\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3212\"},12819:{\"value\":\"3213\",\"name\":\"PARENTHESIZED HANGUL PIEUP A\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 1107 1161 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"PARENTHESIZED HANGUL BA\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3213\"},12820:{\"value\":\"3214\",\"name\":\"PARENTHESIZED HANGUL SIOS A\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 1109 1161 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"PARENTHESIZED HANGUL SA\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3214\"},12821:{\"value\":\"3215\",\"name\":\"PARENTHESIZED HANGUL IEUNG A\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 110B 1161 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"PARENTHESIZED HANGUL A\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3215\"},12822:{\"value\":\"3216\",\"name\":\"PARENTHESIZED HANGUL CIEUC A\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 110C 1161 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"PARENTHESIZED HANGUL JA\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3216\"},12823:{\"value\":\"3217\",\"name\":\"PARENTHESIZED HANGUL CHIEUCH A\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 110E 1161 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"PARENTHESIZED HANGUL CA\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3217\"},12824:{\"value\":\"3218\",\"name\":\"PARENTHESIZED HANGUL KHIEUKH A\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 110F 1161 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"PARENTHESIZED HANGUL KA\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3218\"},12825:{\"value\":\"3219\",\"name\":\"PARENTHESIZED HANGUL THIEUTH A\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 1110 1161 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"PARENTHESIZED HANGUL TA\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3219\"},12826:{\"value\":\"321A\",\"name\":\"PARENTHESIZED HANGUL PHIEUPH A\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 1111 1161 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"PARENTHESIZED HANGUL PA\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u321A\"},12827:{\"value\":\"321B\",\"name\":\"PARENTHESIZED HANGUL HIEUH A\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 1112 1161 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"PARENTHESIZED HANGUL HA\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u321B\"},12828:{\"value\":\"321C\",\"name\":\"PARENTHESIZED HANGUL CIEUC U\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 110C 116E 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"PARENTHESIZED HANGUL JU\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u321C\"},12829:{\"value\":\"321D\",\"name\":\"PARENTHESIZED KOREAN CHARACTER OJEON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 0028 110B 1169 110C 1165 11AB 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u321D\"},12830:{\"value\":\"321E\",\"name\":\"PARENTHESIZED KOREAN CHARACTER O HU\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 0028 110B 1169 1112 116E 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u321E\"},12842:{\"value\":\"322A\",\"name\":\"PARENTHESIZED IDEOGRAPH MOON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 6708 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u322A\"},12843:{\"value\":\"322B\",\"name\":\"PARENTHESIZED IDEOGRAPH FIRE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 706B 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u322B\"},12844:{\"value\":\"322C\",\"name\":\"PARENTHESIZED IDEOGRAPH WATER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 6C34 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u322C\"},12845:{\"value\":\"322D\",\"name\":\"PARENTHESIZED IDEOGRAPH WOOD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 6728 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u322D\"},12846:{\"value\":\"322E\",\"name\":\"PARENTHESIZED IDEOGRAPH METAL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 91D1 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u322E\"},12847:{\"value\":\"322F\",\"name\":\"PARENTHESIZED IDEOGRAPH EARTH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 571F 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u322F\"},12848:{\"value\":\"3230\",\"name\":\"PARENTHESIZED IDEOGRAPH SUN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 65E5 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3230\"},12849:{\"value\":\"3231\",\"name\":\"PARENTHESIZED IDEOGRAPH STOCK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 682A 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3231\"},12850:{\"value\":\"3232\",\"name\":\"PARENTHESIZED IDEOGRAPH HAVE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 6709 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3232\"},12851:{\"value\":\"3233\",\"name\":\"PARENTHESIZED IDEOGRAPH SOCIETY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 793E 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3233\"},12852:{\"value\":\"3234\",\"name\":\"PARENTHESIZED IDEOGRAPH NAME\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 540D 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3234\"},12853:{\"value\":\"3235\",\"name\":\"PARENTHESIZED IDEOGRAPH SPECIAL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 7279 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3235\"},12854:{\"value\":\"3236\",\"name\":\"PARENTHESIZED IDEOGRAPH FINANCIAL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 8CA1 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3236\"},12855:{\"value\":\"3237\",\"name\":\"PARENTHESIZED IDEOGRAPH CONGRATULATION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 795D 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3237\"},12856:{\"value\":\"3238\",\"name\":\"PARENTHESIZED IDEOGRAPH LABOR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 52B4 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3238\"},12857:{\"value\":\"3239\",\"name\":\"PARENTHESIZED IDEOGRAPH REPRESENT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 4EE3 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3239\"},12858:{\"value\":\"323A\",\"name\":\"PARENTHESIZED IDEOGRAPH CALL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 547C 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u323A\"},12859:{\"value\":\"323B\",\"name\":\"PARENTHESIZED IDEOGRAPH STUDY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 5B66 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u323B\"},12860:{\"value\":\"323C\",\"name\":\"PARENTHESIZED IDEOGRAPH SUPERVISE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 76E3 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u323C\"},12861:{\"value\":\"323D\",\"name\":\"PARENTHESIZED IDEOGRAPH ENTERPRISE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 4F01 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u323D\"},12862:{\"value\":\"323E\",\"name\":\"PARENTHESIZED IDEOGRAPH RESOURCE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 8CC7 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u323E\"},12863:{\"value\":\"323F\",\"name\":\"PARENTHESIZED IDEOGRAPH ALLIANCE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 5354 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u323F\"},12864:{\"value\":\"3240\",\"name\":\"PARENTHESIZED IDEOGRAPH FESTIVAL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 796D 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3240\"},12865:{\"value\":\"3241\",\"name\":\"PARENTHESIZED IDEOGRAPH REST\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 4F11 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3241\"},12866:{\"value\":\"3242\",\"name\":\"PARENTHESIZED IDEOGRAPH SELF\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 81EA 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3242\"},12867:{\"value\":\"3243\",\"name\":\"PARENTHESIZED IDEOGRAPH REACH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 81F3 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3243\"},12868:{\"value\":\"3244\",\"name\":\"CIRCLED IDEOGRAPH QUESTION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 554F\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3244\"},12869:{\"value\":\"3245\",\"name\":\"CIRCLED IDEOGRAPH KINDERGARTEN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 5E7C\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3245\"},12870:{\"value\":\"3246\",\"name\":\"CIRCLED IDEOGRAPH SCHOOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 6587\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3246\"},12871:{\"value\":\"3247\",\"name\":\"CIRCLED IDEOGRAPH KOTO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 7B8F\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3247\"},12880:{\"value\":\"3250\",\"name\":\"PARTNERSHIP SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<square> 0050 0054 0045\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3250\"},12896:{\"value\":\"3260\",\"name\":\"CIRCLED HANGUL KIYEOK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 1100\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"CIRCLED HANGUL GIYEOG\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3260\"},12897:{\"value\":\"3261\",\"name\":\"CIRCLED HANGUL NIEUN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 1102\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3261\"},12898:{\"value\":\"3262\",\"name\":\"CIRCLED HANGUL TIKEUT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 1103\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"CIRCLED HANGUL DIGEUD\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3262\"},12899:{\"value\":\"3263\",\"name\":\"CIRCLED HANGUL RIEUL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 1105\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"CIRCLED HANGUL LIEUL\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3263\"},12900:{\"value\":\"3264\",\"name\":\"CIRCLED HANGUL MIEUM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 1106\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3264\"},12901:{\"value\":\"3265\",\"name\":\"CIRCLED HANGUL PIEUP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 1107\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"CIRCLED HANGUL BIEUB\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3265\"},12902:{\"value\":\"3266\",\"name\":\"CIRCLED HANGUL SIOS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 1109\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3266\"},12903:{\"value\":\"3267\",\"name\":\"CIRCLED HANGUL IEUNG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 110B\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3267\"},12904:{\"value\":\"3268\",\"name\":\"CIRCLED HANGUL CIEUC\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 110C\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"CIRCLED HANGUL JIEUJ\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3268\"},12905:{\"value\":\"3269\",\"name\":\"CIRCLED HANGUL CHIEUCH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 110E\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"CIRCLED HANGUL CIEUC\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3269\"},12906:{\"value\":\"326A\",\"name\":\"CIRCLED HANGUL KHIEUKH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 110F\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"CIRCLED HANGUL KIYEOK\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u326A\"},12907:{\"value\":\"326B\",\"name\":\"CIRCLED HANGUL THIEUTH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 1110\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"CIRCLED HANGUL TIEUT\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u326B\"},12908:{\"value\":\"326C\",\"name\":\"CIRCLED HANGUL PHIEUPH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 1111\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"CIRCLED HANGUL PIEUP\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u326C\"},12909:{\"value\":\"326D\",\"name\":\"CIRCLED HANGUL HIEUH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 1112\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u326D\"},12910:{\"value\":\"326E\",\"name\":\"CIRCLED HANGUL KIYEOK A\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 1100 1161\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"CIRCLED HANGUL GA\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u326E\"},12911:{\"value\":\"326F\",\"name\":\"CIRCLED HANGUL NIEUN A\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 1102 1161\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"CIRCLED HANGUL NA\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u326F\"},12912:{\"value\":\"3270\",\"name\":\"CIRCLED HANGUL TIKEUT A\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 1103 1161\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"CIRCLED HANGUL DA\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3270\"},12913:{\"value\":\"3271\",\"name\":\"CIRCLED HANGUL RIEUL A\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 1105 1161\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"CIRCLED HANGUL LA\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3271\"},12914:{\"value\":\"3272\",\"name\":\"CIRCLED HANGUL MIEUM A\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 1106 1161\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"CIRCLED HANGUL MA\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3272\"},12915:{\"value\":\"3273\",\"name\":\"CIRCLED HANGUL PIEUP A\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 1107 1161\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"CIRCLED HANGUL BA\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3273\"},12916:{\"value\":\"3274\",\"name\":\"CIRCLED HANGUL SIOS A\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 1109 1161\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"CIRCLED HANGUL SA\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3274\"},12917:{\"value\":\"3275\",\"name\":\"CIRCLED HANGUL IEUNG A\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 110B 1161\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"CIRCLED HANGUL A\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3275\"},12918:{\"value\":\"3276\",\"name\":\"CIRCLED HANGUL CIEUC A\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 110C 1161\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"CIRCLED HANGUL JA\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3276\"},12919:{\"value\":\"3277\",\"name\":\"CIRCLED HANGUL CHIEUCH A\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 110E 1161\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"CIRCLED HANGUL CA\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3277\"},12920:{\"value\":\"3278\",\"name\":\"CIRCLED HANGUL KHIEUKH A\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 110F 1161\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"CIRCLED HANGUL KA\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3278\"},12921:{\"value\":\"3279\",\"name\":\"CIRCLED HANGUL THIEUTH A\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 1110 1161\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"CIRCLED HANGUL TA\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3279\"},12922:{\"value\":\"327A\",\"name\":\"CIRCLED HANGUL PHIEUPH A\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 1111 1161\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"CIRCLED HANGUL PA\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u327A\"},12923:{\"value\":\"327B\",\"name\":\"CIRCLED HANGUL HIEUH A\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 1112 1161\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"CIRCLED HANGUL HA\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u327B\"},12924:{\"value\":\"327C\",\"name\":\"CIRCLED KOREAN CHARACTER CHAMKO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<circle> 110E 1161 11B7 1100 1169\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u327C\"},12925:{\"value\":\"327D\",\"name\":\"CIRCLED KOREAN CHARACTER JUEUI\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<circle> 110C 116E 110B 1174\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u327D\"},12926:{\"value\":\"327E\",\"name\":\"CIRCLED HANGUL IEUNG U\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<circle> 110B 116E\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u327E\"},12927:{\"value\":\"327F\",\"name\":\"KOREAN STANDARD SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u327F\"},12938:{\"value\":\"328A\",\"name\":\"CIRCLED IDEOGRAPH MOON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 6708\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u328A\"},12939:{\"value\":\"328B\",\"name\":\"CIRCLED IDEOGRAPH FIRE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 706B\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u328B\"},12940:{\"value\":\"328C\",\"name\":\"CIRCLED IDEOGRAPH WATER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 6C34\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u328C\"},12941:{\"value\":\"328D\",\"name\":\"CIRCLED IDEOGRAPH WOOD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 6728\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u328D\"},12942:{\"value\":\"328E\",\"name\":\"CIRCLED IDEOGRAPH METAL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 91D1\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u328E\"},12943:{\"value\":\"328F\",\"name\":\"CIRCLED IDEOGRAPH EARTH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 571F\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u328F\"},12944:{\"value\":\"3290\",\"name\":\"CIRCLED IDEOGRAPH SUN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 65E5\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3290\"},12945:{\"value\":\"3291\",\"name\":\"CIRCLED IDEOGRAPH STOCK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 682A\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3291\"},12946:{\"value\":\"3292\",\"name\":\"CIRCLED IDEOGRAPH HAVE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 6709\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3292\"},12947:{\"value\":\"3293\",\"name\":\"CIRCLED IDEOGRAPH SOCIETY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 793E\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3293\"},12948:{\"value\":\"3294\",\"name\":\"CIRCLED IDEOGRAPH NAME\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 540D\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3294\"},12949:{\"value\":\"3295\",\"name\":\"CIRCLED IDEOGRAPH SPECIAL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 7279\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3295\"},12950:{\"value\":\"3296\",\"name\":\"CIRCLED IDEOGRAPH FINANCIAL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 8CA1\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3296\"},12951:{\"value\":\"3297\",\"name\":\"CIRCLED IDEOGRAPH CONGRATULATION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 795D\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3297\"},12952:{\"value\":\"3298\",\"name\":\"CIRCLED IDEOGRAPH LABOR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 52B4\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3298\"},12953:{\"value\":\"3299\",\"name\":\"CIRCLED IDEOGRAPH SECRET\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 79D8\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3299\"},12954:{\"value\":\"329A\",\"name\":\"CIRCLED IDEOGRAPH MALE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 7537\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u329A\"},12955:{\"value\":\"329B\",\"name\":\"CIRCLED IDEOGRAPH FEMALE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 5973\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u329B\"},12956:{\"value\":\"329C\",\"name\":\"CIRCLED IDEOGRAPH SUITABLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 9069\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u329C\"},12957:{\"value\":\"329D\",\"name\":\"CIRCLED IDEOGRAPH EXCELLENT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 512A\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u329D\"},12958:{\"value\":\"329E\",\"name\":\"CIRCLED IDEOGRAPH PRINT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 5370\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u329E\"},12959:{\"value\":\"329F\",\"name\":\"CIRCLED IDEOGRAPH ATTENTION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 6CE8\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u329F\"},12960:{\"value\":\"32A0\",\"name\":\"CIRCLED IDEOGRAPH ITEM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 9805\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32A0\"},12961:{\"value\":\"32A1\",\"name\":\"CIRCLED IDEOGRAPH REST\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 4F11\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32A1\"},12962:{\"value\":\"32A2\",\"name\":\"CIRCLED IDEOGRAPH COPY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 5199\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32A2\"},12963:{\"value\":\"32A3\",\"name\":\"CIRCLED IDEOGRAPH CORRECT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 6B63\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32A3\"},12964:{\"value\":\"32A4\",\"name\":\"CIRCLED IDEOGRAPH HIGH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 4E0A\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32A4\"},12965:{\"value\":\"32A5\",\"name\":\"CIRCLED IDEOGRAPH CENTRE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 4E2D\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"CIRCLED IDEOGRAPH CENTER\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32A5\"},12966:{\"value\":\"32A6\",\"name\":\"CIRCLED IDEOGRAPH LOW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 4E0B\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32A6\"},12967:{\"value\":\"32A7\",\"name\":\"CIRCLED IDEOGRAPH LEFT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 5DE6\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32A7\"},12968:{\"value\":\"32A8\",\"name\":\"CIRCLED IDEOGRAPH RIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 53F3\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32A8\"},12969:{\"value\":\"32A9\",\"name\":\"CIRCLED IDEOGRAPH MEDICINE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 533B\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32A9\"},12970:{\"value\":\"32AA\",\"name\":\"CIRCLED IDEOGRAPH RELIGION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 5B97\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32AA\"},12971:{\"value\":\"32AB\",\"name\":\"CIRCLED IDEOGRAPH STUDY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 5B66\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32AB\"},12972:{\"value\":\"32AC\",\"name\":\"CIRCLED IDEOGRAPH SUPERVISE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 76E3\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32AC\"},12973:{\"value\":\"32AD\",\"name\":\"CIRCLED IDEOGRAPH ENTERPRISE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 4F01\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32AD\"},12974:{\"value\":\"32AE\",\"name\":\"CIRCLED IDEOGRAPH RESOURCE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 8CC7\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32AE\"},12975:{\"value\":\"32AF\",\"name\":\"CIRCLED IDEOGRAPH ALLIANCE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 5354\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32AF\"},12976:{\"value\":\"32B0\",\"name\":\"CIRCLED IDEOGRAPH NIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 591C\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32B0\"},12992:{\"value\":\"32C0\",\"name\":\"IDEOGRAPHIC TELEGRAPH SYMBOL FOR JANUARY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0031 6708\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32C0\"},12993:{\"value\":\"32C1\",\"name\":\"IDEOGRAPHIC TELEGRAPH SYMBOL FOR FEBRUARY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0032 6708\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32C1\"},12994:{\"value\":\"32C2\",\"name\":\"IDEOGRAPHIC TELEGRAPH SYMBOL FOR MARCH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0033 6708\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32C2\"},12995:{\"value\":\"32C3\",\"name\":\"IDEOGRAPHIC TELEGRAPH SYMBOL FOR APRIL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0034 6708\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32C3\"},12996:{\"value\":\"32C4\",\"name\":\"IDEOGRAPHIC TELEGRAPH SYMBOL FOR MAY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0035 6708\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32C4\"},12997:{\"value\":\"32C5\",\"name\":\"IDEOGRAPHIC TELEGRAPH SYMBOL FOR JUNE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0036 6708\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32C5\"},12998:{\"value\":\"32C6\",\"name\":\"IDEOGRAPHIC TELEGRAPH SYMBOL FOR JULY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0037 6708\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32C6\"},12999:{\"value\":\"32C7\",\"name\":\"IDEOGRAPHIC TELEGRAPH SYMBOL FOR AUGUST\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0038 6708\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32C7\"},13000:{\"value\":\"32C8\",\"name\":\"IDEOGRAPHIC TELEGRAPH SYMBOL FOR SEPTEMBER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0039 6708\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32C8\"},13001:{\"value\":\"32C9\",\"name\":\"IDEOGRAPHIC TELEGRAPH SYMBOL FOR OCTOBER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0031 0030 6708\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32C9\"},13002:{\"value\":\"32CA\",\"name\":\"IDEOGRAPHIC TELEGRAPH SYMBOL FOR NOVEMBER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0031 0031 6708\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32CA\"},13003:{\"value\":\"32CB\",\"name\":\"IDEOGRAPHIC TELEGRAPH SYMBOL FOR DECEMBER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0031 0032 6708\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32CB\"},13004:{\"value\":\"32CC\",\"name\":\"SQUARE HG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<square> 0048 0067\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32CC\"},13005:{\"value\":\"32CD\",\"name\":\"SQUARE ERG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<square> 0065 0072 0067\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32CD\"},13006:{\"value\":\"32CE\",\"name\":\"SQUARE EV\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<square> 0065 0056\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32CE\"},13007:{\"value\":\"32CF\",\"name\":\"LIMITED LIABILITY SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<square> 004C 0054 0044\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32CF\"},13008:{\"value\":\"32D0\",\"name\":\"CIRCLED KATAKANA A\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 30A2\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32D0\"},13009:{\"value\":\"32D1\",\"name\":\"CIRCLED KATAKANA I\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 30A4\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32D1\"},13010:{\"value\":\"32D2\",\"name\":\"CIRCLED KATAKANA U\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 30A6\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32D2\"},13011:{\"value\":\"32D3\",\"name\":\"CIRCLED KATAKANA E\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 30A8\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32D3\"},13012:{\"value\":\"32D4\",\"name\":\"CIRCLED KATAKANA O\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 30AA\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32D4\"},13013:{\"value\":\"32D5\",\"name\":\"CIRCLED KATAKANA KA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 30AB\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32D5\"},13014:{\"value\":\"32D6\",\"name\":\"CIRCLED KATAKANA KI\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 30AD\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32D6\"},13015:{\"value\":\"32D7\",\"name\":\"CIRCLED KATAKANA KU\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 30AF\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32D7\"},13016:{\"value\":\"32D8\",\"name\":\"CIRCLED KATAKANA KE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 30B1\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32D8\"},13017:{\"value\":\"32D9\",\"name\":\"CIRCLED KATAKANA KO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 30B3\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32D9\"},13018:{\"value\":\"32DA\",\"name\":\"CIRCLED KATAKANA SA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 30B5\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32DA\"},13019:{\"value\":\"32DB\",\"name\":\"CIRCLED KATAKANA SI\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 30B7\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32DB\"},13020:{\"value\":\"32DC\",\"name\":\"CIRCLED KATAKANA SU\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 30B9\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32DC\"},13021:{\"value\":\"32DD\",\"name\":\"CIRCLED KATAKANA SE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 30BB\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32DD\"},13022:{\"value\":\"32DE\",\"name\":\"CIRCLED KATAKANA SO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 30BD\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32DE\"},13023:{\"value\":\"32DF\",\"name\":\"CIRCLED KATAKANA TA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 30BF\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32DF\"},13024:{\"value\":\"32E0\",\"name\":\"CIRCLED KATAKANA TI\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 30C1\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32E0\"},13025:{\"value\":\"32E1\",\"name\":\"CIRCLED KATAKANA TU\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 30C4\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32E1\"},13026:{\"value\":\"32E2\",\"name\":\"CIRCLED KATAKANA TE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 30C6\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32E2\"},13027:{\"value\":\"32E3\",\"name\":\"CIRCLED KATAKANA TO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 30C8\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32E3\"},13028:{\"value\":\"32E4\",\"name\":\"CIRCLED KATAKANA NA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 30CA\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32E4\"},13029:{\"value\":\"32E5\",\"name\":\"CIRCLED KATAKANA NI\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 30CB\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32E5\"},13030:{\"value\":\"32E6\",\"name\":\"CIRCLED KATAKANA NU\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 30CC\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32E6\"},13031:{\"value\":\"32E7\",\"name\":\"CIRCLED KATAKANA NE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 30CD\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32E7\"},13032:{\"value\":\"32E8\",\"name\":\"CIRCLED KATAKANA NO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 30CE\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32E8\"},13033:{\"value\":\"32E9\",\"name\":\"CIRCLED KATAKANA HA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 30CF\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32E9\"},13034:{\"value\":\"32EA\",\"name\":\"CIRCLED KATAKANA HI\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 30D2\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32EA\"},13035:{\"value\":\"32EB\",\"name\":\"CIRCLED KATAKANA HU\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 30D5\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32EB\"},13036:{\"value\":\"32EC\",\"name\":\"CIRCLED KATAKANA HE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 30D8\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32EC\"},13037:{\"value\":\"32ED\",\"name\":\"CIRCLED KATAKANA HO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 30DB\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32ED\"},13038:{\"value\":\"32EE\",\"name\":\"CIRCLED KATAKANA MA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 30DE\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32EE\"},13039:{\"value\":\"32EF\",\"name\":\"CIRCLED KATAKANA MI\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 30DF\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32EF\"},13040:{\"value\":\"32F0\",\"name\":\"CIRCLED KATAKANA MU\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 30E0\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32F0\"},13041:{\"value\":\"32F1\",\"name\":\"CIRCLED KATAKANA ME\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 30E1\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32F1\"},13042:{\"value\":\"32F2\",\"name\":\"CIRCLED KATAKANA MO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 30E2\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32F2\"},13043:{\"value\":\"32F3\",\"name\":\"CIRCLED KATAKANA YA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 30E4\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32F3\"},13044:{\"value\":\"32F4\",\"name\":\"CIRCLED KATAKANA YU\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 30E6\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32F4\"},13045:{\"value\":\"32F5\",\"name\":\"CIRCLED KATAKANA YO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 30E8\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32F5\"},13046:{\"value\":\"32F6\",\"name\":\"CIRCLED KATAKANA RA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 30E9\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32F6\"},13047:{\"value\":\"32F7\",\"name\":\"CIRCLED KATAKANA RI\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 30EA\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32F7\"},13048:{\"value\":\"32F8\",\"name\":\"CIRCLED KATAKANA RU\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 30EB\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32F8\"},13049:{\"value\":\"32F9\",\"name\":\"CIRCLED KATAKANA RE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 30EC\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32F9\"},13050:{\"value\":\"32FA\",\"name\":\"CIRCLED KATAKANA RO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 30ED\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32FA\"},13051:{\"value\":\"32FB\",\"name\":\"CIRCLED KATAKANA WA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 30EF\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32FB\"},13052:{\"value\":\"32FC\",\"name\":\"CIRCLED KATAKANA WI\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 30F0\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32FC\"},13053:{\"value\":\"32FD\",\"name\":\"CIRCLED KATAKANA WE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 30F1\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32FD\"},13054:{\"value\":\"32FE\",\"name\":\"CIRCLED KATAKANA WO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 30F2\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32FE\"},13056:{\"value\":\"3300\",\"name\":\"SQUARE APAATO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30A2 30D1 30FC 30C8\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED APAATO\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3300\"},13057:{\"value\":\"3301\",\"name\":\"SQUARE ARUHUA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30A2 30EB 30D5 30A1\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED ARUHUA\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3301\"},13058:{\"value\":\"3302\",\"name\":\"SQUARE ANPEA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30A2 30F3 30DA 30A2\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED ANPEA\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3302\"},13059:{\"value\":\"3303\",\"name\":\"SQUARE AARU\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30A2 30FC 30EB\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED AARU\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3303\"},13060:{\"value\":\"3304\",\"name\":\"SQUARE ININGU\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30A4 30CB 30F3 30B0\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED ININGU\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3304\"},13061:{\"value\":\"3305\",\"name\":\"SQUARE INTI\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30A4 30F3 30C1\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED INTI\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3305\"},13062:{\"value\":\"3306\",\"name\":\"SQUARE UON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30A6 30A9 30F3\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED UON\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3306\"},13063:{\"value\":\"3307\",\"name\":\"SQUARE ESUKUUDO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30A8 30B9 30AF 30FC 30C9\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED ESUKUUDO\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3307\"},13064:{\"value\":\"3308\",\"name\":\"SQUARE EEKAA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30A8 30FC 30AB 30FC\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED EEKAA\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3308\"},13065:{\"value\":\"3309\",\"name\":\"SQUARE ONSU\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30AA 30F3 30B9\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED ONSU\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3309\"},13066:{\"value\":\"330A\",\"name\":\"SQUARE OOMU\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30AA 30FC 30E0\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED OOMU\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u330A\"},13067:{\"value\":\"330B\",\"name\":\"SQUARE KAIRI\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30AB 30A4 30EA\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED KAIRI\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u330B\"},13068:{\"value\":\"330C\",\"name\":\"SQUARE KARATTO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30AB 30E9 30C3 30C8\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED KARATTO\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u330C\"},13069:{\"value\":\"330D\",\"name\":\"SQUARE KARORII\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30AB 30ED 30EA 30FC\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED KARORII\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u330D\"},13070:{\"value\":\"330E\",\"name\":\"SQUARE GARON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30AC 30ED 30F3\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED GARON\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u330E\"},13071:{\"value\":\"330F\",\"name\":\"SQUARE GANMA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30AC 30F3 30DE\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED GANMA\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u330F\"},13072:{\"value\":\"3310\",\"name\":\"SQUARE GIGA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30AE 30AC\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED GIGA\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3310\"},13073:{\"value\":\"3311\",\"name\":\"SQUARE GINII\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30AE 30CB 30FC\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED GINII\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3311\"},13074:{\"value\":\"3312\",\"name\":\"SQUARE KYURII\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30AD 30E5 30EA 30FC\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED KYURII\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3312\"},13075:{\"value\":\"3313\",\"name\":\"SQUARE GIRUDAA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30AE 30EB 30C0 30FC\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED GIRUDAA\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3313\"},13076:{\"value\":\"3314\",\"name\":\"SQUARE KIRO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30AD 30ED\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED KIRO\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3314\"},13077:{\"value\":\"3315\",\"name\":\"SQUARE KIROGURAMU\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30AD 30ED 30B0 30E9 30E0\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED KIROGURAMU\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3315\"},13078:{\"value\":\"3316\",\"name\":\"SQUARE KIROMEETORU\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30AD 30ED 30E1 30FC 30C8 30EB\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED KIROMEETORU\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3316\"},13079:{\"value\":\"3317\",\"name\":\"SQUARE KIROWATTO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30AD 30ED 30EF 30C3 30C8\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED KIROWATTO\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3317\"},13080:{\"value\":\"3318\",\"name\":\"SQUARE GURAMU\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30B0 30E9 30E0\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED GURAMU\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3318\"},13081:{\"value\":\"3319\",\"name\":\"SQUARE GURAMUTON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30B0 30E9 30E0 30C8 30F3\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED GURAMUTON\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3319\"},13082:{\"value\":\"331A\",\"name\":\"SQUARE KURUZEIRO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30AF 30EB 30BC 30A4 30ED\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED KURUZEIRO\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u331A\"},13083:{\"value\":\"331B\",\"name\":\"SQUARE KUROONE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30AF 30ED 30FC 30CD\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED KUROONE\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u331B\"},13084:{\"value\":\"331C\",\"name\":\"SQUARE KEESU\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30B1 30FC 30B9\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED KEESU\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u331C\"},13085:{\"value\":\"331D\",\"name\":\"SQUARE KORUNA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30B3 30EB 30CA\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED KORUNA\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u331D\"},13086:{\"value\":\"331E\",\"name\":\"SQUARE KOOPO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30B3 30FC 30DD\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED KOOPO\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u331E\"},13087:{\"value\":\"331F\",\"name\":\"SQUARE SAIKURU\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30B5 30A4 30AF 30EB\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED SAIKURU\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u331F\"},13088:{\"value\":\"3320\",\"name\":\"SQUARE SANTIIMU\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30B5 30F3 30C1 30FC 30E0\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED SANTIIMU\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3320\"},13089:{\"value\":\"3321\",\"name\":\"SQUARE SIRINGU\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30B7 30EA 30F3 30B0\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED SIRINGU\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3321\"},13090:{\"value\":\"3322\",\"name\":\"SQUARE SENTI\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30BB 30F3 30C1\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED SENTI\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3322\"},13091:{\"value\":\"3323\",\"name\":\"SQUARE SENTO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30BB 30F3 30C8\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED SENTO\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3323\"},13092:{\"value\":\"3324\",\"name\":\"SQUARE DAASU\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30C0 30FC 30B9\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED DAASU\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3324\"},13093:{\"value\":\"3325\",\"name\":\"SQUARE DESI\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30C7 30B7\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED DESI\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3325\"},13094:{\"value\":\"3326\",\"name\":\"SQUARE DORU\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30C9 30EB\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED DORU\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3326\"},13095:{\"value\":\"3327\",\"name\":\"SQUARE TON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30C8 30F3\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED TON\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3327\"},13096:{\"value\":\"3328\",\"name\":\"SQUARE NANO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30CA 30CE\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED NANO\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3328\"},13097:{\"value\":\"3329\",\"name\":\"SQUARE NOTTO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30CE 30C3 30C8\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED NOTTO\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3329\"},13098:{\"value\":\"332A\",\"name\":\"SQUARE HAITU\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30CF 30A4 30C4\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED HAITU\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u332A\"},13099:{\"value\":\"332B\",\"name\":\"SQUARE PAASENTO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30D1 30FC 30BB 30F3 30C8\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED PAASENTO\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u332B\"},13100:{\"value\":\"332C\",\"name\":\"SQUARE PAATU\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30D1 30FC 30C4\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED PAATU\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u332C\"},13101:{\"value\":\"332D\",\"name\":\"SQUARE BAARERU\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30D0 30FC 30EC 30EB\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED BAARERU\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u332D\"},13102:{\"value\":\"332E\",\"name\":\"SQUARE PIASUTORU\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30D4 30A2 30B9 30C8 30EB\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED PIASUTORU\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u332E\"},13103:{\"value\":\"332F\",\"name\":\"SQUARE PIKURU\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30D4 30AF 30EB\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED PIKURU\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u332F\"},13104:{\"value\":\"3330\",\"name\":\"SQUARE PIKO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30D4 30B3\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED PIKO\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3330\"},13105:{\"value\":\"3331\",\"name\":\"SQUARE BIRU\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30D3 30EB\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED BIRU\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3331\"},13106:{\"value\":\"3332\",\"name\":\"SQUARE HUARADDO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30D5 30A1 30E9 30C3 30C9\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED HUARADDO\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3332\"},13107:{\"value\":\"3333\",\"name\":\"SQUARE HUIITO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30D5 30A3 30FC 30C8\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED HUIITO\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3333\"},13108:{\"value\":\"3334\",\"name\":\"SQUARE BUSSYERU\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30D6 30C3 30B7 30A7 30EB\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED BUSSYERU\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3334\"},13109:{\"value\":\"3335\",\"name\":\"SQUARE HURAN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30D5 30E9 30F3\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED HURAN\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3335\"},13110:{\"value\":\"3336\",\"name\":\"SQUARE HEKUTAARU\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30D8 30AF 30BF 30FC 30EB\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED HEKUTAARU\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3336\"},13111:{\"value\":\"3337\",\"name\":\"SQUARE PESO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30DA 30BD\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED PESO\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3337\"},13112:{\"value\":\"3338\",\"name\":\"SQUARE PENIHI\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30DA 30CB 30D2\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED PENIHI\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3338\"},13113:{\"value\":\"3339\",\"name\":\"SQUARE HERUTU\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30D8 30EB 30C4\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED HERUTU\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3339\"},13114:{\"value\":\"333A\",\"name\":\"SQUARE PENSU\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30DA 30F3 30B9\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED PENSU\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u333A\"},13115:{\"value\":\"333B\",\"name\":\"SQUARE PEEZI\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30DA 30FC 30B8\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED PEEZI\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u333B\"},13116:{\"value\":\"333C\",\"name\":\"SQUARE BEETA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30D9 30FC 30BF\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED BEETA\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u333C\"},13117:{\"value\":\"333D\",\"name\":\"SQUARE POINTO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30DD 30A4 30F3 30C8\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED POINTO\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u333D\"},13118:{\"value\":\"333E\",\"name\":\"SQUARE BORUTO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30DC 30EB 30C8\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED BORUTO\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u333E\"},13119:{\"value\":\"333F\",\"name\":\"SQUARE HON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30DB 30F3\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED HON\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u333F\"},13120:{\"value\":\"3340\",\"name\":\"SQUARE PONDO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30DD 30F3 30C9\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED PONDO\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3340\"},13121:{\"value\":\"3341\",\"name\":\"SQUARE HOORU\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30DB 30FC 30EB\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED HOORU\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3341\"},13122:{\"value\":\"3342\",\"name\":\"SQUARE HOON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30DB 30FC 30F3\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED HOON\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3342\"},13123:{\"value\":\"3343\",\"name\":\"SQUARE MAIKURO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30DE 30A4 30AF 30ED\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED MAIKURO\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3343\"},13124:{\"value\":\"3344\",\"name\":\"SQUARE MAIRU\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30DE 30A4 30EB\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED MAIRU\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3344\"},13125:{\"value\":\"3345\",\"name\":\"SQUARE MAHHA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30DE 30C3 30CF\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED MAHHA\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3345\"},13126:{\"value\":\"3346\",\"name\":\"SQUARE MARUKU\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30DE 30EB 30AF\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED MARUKU\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3346\"},13127:{\"value\":\"3347\",\"name\":\"SQUARE MANSYON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30DE 30F3 30B7 30E7 30F3\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED MANSYON\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3347\"},13128:{\"value\":\"3348\",\"name\":\"SQUARE MIKURON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30DF 30AF 30ED 30F3\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED MIKURON\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3348\"},13129:{\"value\":\"3349\",\"name\":\"SQUARE MIRI\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30DF 30EA\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED MIRI\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3349\"},13130:{\"value\":\"334A\",\"name\":\"SQUARE MIRIBAARU\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30DF 30EA 30D0 30FC 30EB\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED MIRIBAARU\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u334A\"},13131:{\"value\":\"334B\",\"name\":\"SQUARE MEGA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30E1 30AC\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED MEGA\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u334B\"},13132:{\"value\":\"334C\",\"name\":\"SQUARE MEGATON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30E1 30AC 30C8 30F3\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED MEGATON\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u334C\"},13133:{\"value\":\"334D\",\"name\":\"SQUARE MEETORU\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30E1 30FC 30C8 30EB\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED MEETORU\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u334D\"},13134:{\"value\":\"334E\",\"name\":\"SQUARE YAADO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30E4 30FC 30C9\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED YAADO\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u334E\"},13135:{\"value\":\"334F\",\"name\":\"SQUARE YAARU\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30E4 30FC 30EB\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED YAARU\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u334F\"},13136:{\"value\":\"3350\",\"name\":\"SQUARE YUAN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30E6 30A2 30F3\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED YUAN\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3350\"},13137:{\"value\":\"3351\",\"name\":\"SQUARE RITTORU\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30EA 30C3 30C8 30EB\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED RITTORU\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3351\"},13138:{\"value\":\"3352\",\"name\":\"SQUARE RIRA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30EA 30E9\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED RIRA\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3352\"},13139:{\"value\":\"3353\",\"name\":\"SQUARE RUPII\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30EB 30D4 30FC\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED RUPII\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3353\"},13140:{\"value\":\"3354\",\"name\":\"SQUARE RUUBURU\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30EB 30FC 30D6 30EB\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED RUUBURU\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3354\"},13141:{\"value\":\"3355\",\"name\":\"SQUARE REMU\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30EC 30E0\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED REMU\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3355\"},13142:{\"value\":\"3356\",\"name\":\"SQUARE RENTOGEN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30EC 30F3 30C8 30B2 30F3\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED RENTOGEN\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3356\"},13143:{\"value\":\"3357\",\"name\":\"SQUARE WATTO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30EF 30C3 30C8\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED WATTO\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3357\"},13144:{\"value\":\"3358\",\"name\":\"IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ZERO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0030 70B9\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3358\"},13145:{\"value\":\"3359\",\"name\":\"IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ONE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0031 70B9\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3359\"},13146:{\"value\":\"335A\",\"name\":\"IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0032 70B9\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u335A\"},13147:{\"value\":\"335B\",\"name\":\"IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR THREE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0033 70B9\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u335B\"},13148:{\"value\":\"335C\",\"name\":\"IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FOUR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0034 70B9\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u335C\"},13149:{\"value\":\"335D\",\"name\":\"IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FIVE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0035 70B9\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u335D\"},13150:{\"value\":\"335E\",\"name\":\"IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SIX\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0036 70B9\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u335E\"},13151:{\"value\":\"335F\",\"name\":\"IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SEVEN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0037 70B9\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u335F\"},13152:{\"value\":\"3360\",\"name\":\"IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR EIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0038 70B9\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3360\"},13153:{\"value\":\"3361\",\"name\":\"IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR NINE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0039 70B9\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3361\"},13154:{\"value\":\"3362\",\"name\":\"IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TEN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0031 0030 70B9\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3362\"},13155:{\"value\":\"3363\",\"name\":\"IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ELEVEN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0031 0031 70B9\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3363\"},13156:{\"value\":\"3364\",\"name\":\"IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWELVE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0031 0032 70B9\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3364\"},13157:{\"value\":\"3365\",\"name\":\"IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR THIRTEEN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0031 0033 70B9\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3365\"},13158:{\"value\":\"3366\",\"name\":\"IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FOURTEEN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0031 0034 70B9\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3366\"},13159:{\"value\":\"3367\",\"name\":\"IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FIFTEEN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0031 0035 70B9\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3367\"},13160:{\"value\":\"3368\",\"name\":\"IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SIXTEEN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0031 0036 70B9\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3368\"},13161:{\"value\":\"3369\",\"name\":\"IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SEVENTEEN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0031 0037 70B9\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3369\"},13162:{\"value\":\"336A\",\"name\":\"IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR EIGHTEEN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0031 0038 70B9\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u336A\"},13163:{\"value\":\"336B\",\"name\":\"IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR NINETEEN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0031 0039 70B9\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u336B\"},13164:{\"value\":\"336C\",\"name\":\"IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0032 0030 70B9\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u336C\"},13165:{\"value\":\"336D\",\"name\":\"IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-ONE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0032 0031 70B9\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u336D\"},13166:{\"value\":\"336E\",\"name\":\"IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-TWO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0032 0032 70B9\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u336E\"},13167:{\"value\":\"336F\",\"name\":\"IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-THREE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0032 0033 70B9\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u336F\"},13168:{\"value\":\"3370\",\"name\":\"IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-FOUR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0032 0034 70B9\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3370\"},13169:{\"value\":\"3371\",\"name\":\"SQUARE HPA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 0068 0050 0061\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3371\"},13170:{\"value\":\"3372\",\"name\":\"SQUARE DA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 0064 0061\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3372\"},13171:{\"value\":\"3373\",\"name\":\"SQUARE AU\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 0041 0055\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3373\"},13172:{\"value\":\"3374\",\"name\":\"SQUARE BAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 0062 0061 0072\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3374\"},13173:{\"value\":\"3375\",\"name\":\"SQUARE OV\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 006F 0056\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3375\"},13174:{\"value\":\"3376\",\"name\":\"SQUARE PC\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 0070 0063\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3376\"},13175:{\"value\":\"3377\",\"name\":\"SQUARE DM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<square> 0064 006D\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3377\"},13176:{\"value\":\"3378\",\"name\":\"SQUARE DM SQUARED\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<square> 0064 006D 00B2\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3378\"},13177:{\"value\":\"3379\",\"name\":\"SQUARE DM CUBED\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<square> 0064 006D 00B3\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3379\"},13178:{\"value\":\"337A\",\"name\":\"SQUARE IU\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<square> 0049 0055\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u337A\"},13179:{\"value\":\"337B\",\"name\":\"SQUARE ERA NAME HEISEI\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 5E73 6210\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED TWO IDEOGRAPHS ERA NAME HEISEI\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u337B\"},13180:{\"value\":\"337C\",\"name\":\"SQUARE ERA NAME SYOUWA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 662D 548C\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED TWO IDEOGRAPHS ERA NAME SYOUWA\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u337C\"},13181:{\"value\":\"337D\",\"name\":\"SQUARE ERA NAME TAISYOU\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 5927 6B63\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED TWO IDEOGRAPHS ERA NAME TAISYOU\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u337D\"},13182:{\"value\":\"337E\",\"name\":\"SQUARE ERA NAME MEIZI\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 660E 6CBB\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED TWO IDEOGRAPHS ERA NAME MEIZI\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u337E\"},13183:{\"value\":\"337F\",\"name\":\"SQUARE CORPORATION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 682A 5F0F 4F1A 793E\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED FOUR IDEOGRAPHS CORPORATION\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u337F\"},13184:{\"value\":\"3380\",\"name\":\"SQUARE PA AMPS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 0070 0041\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED PA AMPS\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3380\"},13185:{\"value\":\"3381\",\"name\":\"SQUARE NA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 006E 0041\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED NA\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3381\"},13186:{\"value\":\"3382\",\"name\":\"SQUARE MU A\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 03BC 0041\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED MU A\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3382\"},13187:{\"value\":\"3383\",\"name\":\"SQUARE MA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 006D 0041\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED MA\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3383\"},13188:{\"value\":\"3384\",\"name\":\"SQUARE KA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 006B 0041\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED KA\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3384\"},13189:{\"value\":\"3385\",\"name\":\"SQUARE KB\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 004B 0042\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED KB\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3385\"},13190:{\"value\":\"3386\",\"name\":\"SQUARE MB\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 004D 0042\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED MB\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3386\"},13191:{\"value\":\"3387\",\"name\":\"SQUARE GB\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 0047 0042\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED GB\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3387\"},13192:{\"value\":\"3388\",\"name\":\"SQUARE CAL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 0063 0061 006C\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED CAL\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3388\"},13193:{\"value\":\"3389\",\"name\":\"SQUARE KCAL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 006B 0063 0061 006C\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED KCAL\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3389\"},13194:{\"value\":\"338A\",\"name\":\"SQUARE PF\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 0070 0046\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED PF\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u338A\"},13195:{\"value\":\"338B\",\"name\":\"SQUARE NF\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 006E 0046\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED NF\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u338B\"},13196:{\"value\":\"338C\",\"name\":\"SQUARE MU F\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 03BC 0046\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED MU F\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u338C\"},13197:{\"value\":\"338D\",\"name\":\"SQUARE MU G\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 03BC 0067\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED MU G\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u338D\"},13198:{\"value\":\"338E\",\"name\":\"SQUARE MG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 006D 0067\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED MG\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u338E\"},13199:{\"value\":\"338F\",\"name\":\"SQUARE KG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 006B 0067\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED KG\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u338F\"},13200:{\"value\":\"3390\",\"name\":\"SQUARE HZ\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 0048 007A\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED HZ\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3390\"},13201:{\"value\":\"3391\",\"name\":\"SQUARE KHZ\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 006B 0048 007A\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED KHZ\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3391\"},13202:{\"value\":\"3392\",\"name\":\"SQUARE MHZ\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 004D 0048 007A\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED MHZ\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3392\"},13203:{\"value\":\"3393\",\"name\":\"SQUARE GHZ\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 0047 0048 007A\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED GHZ\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3393\"},13204:{\"value\":\"3394\",\"name\":\"SQUARE THZ\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 0054 0048 007A\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED THZ\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3394\"},13205:{\"value\":\"3395\",\"name\":\"SQUARE MU L\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 03BC 2113\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED MU L\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3395\"},13206:{\"value\":\"3396\",\"name\":\"SQUARE ML\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 006D 2113\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED ML\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3396\"},13207:{\"value\":\"3397\",\"name\":\"SQUARE DL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 0064 2113\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED DL\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3397\"},13208:{\"value\":\"3398\",\"name\":\"SQUARE KL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 006B 2113\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED KL\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3398\"},13209:{\"value\":\"3399\",\"name\":\"SQUARE FM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 0066 006D\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED FM\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3399\"},13210:{\"value\":\"339A\",\"name\":\"SQUARE NM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 006E 006D\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED NM\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u339A\"},13211:{\"value\":\"339B\",\"name\":\"SQUARE MU M\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 03BC 006D\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED MU M\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u339B\"},13212:{\"value\":\"339C\",\"name\":\"SQUARE MM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 006D 006D\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED MM\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u339C\"},13213:{\"value\":\"339D\",\"name\":\"SQUARE CM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 0063 006D\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED CM\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u339D\"},13214:{\"value\":\"339E\",\"name\":\"SQUARE KM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 006B 006D\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED KM\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u339E\"},13215:{\"value\":\"339F\",\"name\":\"SQUARE MM SQUARED\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 006D 006D 00B2\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED MM SQUARED\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u339F\"},13216:{\"value\":\"33A0\",\"name\":\"SQUARE CM SQUARED\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 0063 006D 00B2\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED CM SQUARED\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33A0\"},13217:{\"value\":\"33A1\",\"name\":\"SQUARE M SQUARED\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 006D 00B2\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED M SQUARED\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33A1\"},13218:{\"value\":\"33A2\",\"name\":\"SQUARE KM SQUARED\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 006B 006D 00B2\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED KM SQUARED\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33A2\"},13219:{\"value\":\"33A3\",\"name\":\"SQUARE MM CUBED\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 006D 006D 00B3\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED MM CUBED\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33A3\"},13220:{\"value\":\"33A4\",\"name\":\"SQUARE CM CUBED\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 0063 006D 00B3\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED CM CUBED\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33A4\"},13221:{\"value\":\"33A5\",\"name\":\"SQUARE M CUBED\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 006D 00B3\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED M CUBED\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33A5\"},13222:{\"value\":\"33A6\",\"name\":\"SQUARE KM CUBED\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 006B 006D 00B3\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED KM CUBED\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33A6\"},13223:{\"value\":\"33A7\",\"name\":\"SQUARE M OVER S\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 006D 2215 0073\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED M OVER S\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33A7\"},13224:{\"value\":\"33A8\",\"name\":\"SQUARE M OVER S SQUARED\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 006D 2215 0073 00B2\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED M OVER S SQUARED\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33A8\"},13225:{\"value\":\"33A9\",\"name\":\"SQUARE PA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 0050 0061\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED PA\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33A9\"},13226:{\"value\":\"33AA\",\"name\":\"SQUARE KPA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 006B 0050 0061\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED KPA\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33AA\"},13227:{\"value\":\"33AB\",\"name\":\"SQUARE MPA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 004D 0050 0061\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED MPA\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33AB\"},13228:{\"value\":\"33AC\",\"name\":\"SQUARE GPA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 0047 0050 0061\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED GPA\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33AC\"},13229:{\"value\":\"33AD\",\"name\":\"SQUARE RAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 0072 0061 0064\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED RAD\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33AD\"},13230:{\"value\":\"33AE\",\"name\":\"SQUARE RAD OVER S\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 0072 0061 0064 2215 0073\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED RAD OVER S\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33AE\"},13231:{\"value\":\"33AF\",\"name\":\"SQUARE RAD OVER S SQUARED\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 0072 0061 0064 2215 0073 00B2\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED RAD OVER S SQUARED\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33AF\"},13232:{\"value\":\"33B0\",\"name\":\"SQUARE PS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 0070 0073\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED PS\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33B0\"},13233:{\"value\":\"33B1\",\"name\":\"SQUARE NS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 006E 0073\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED NS\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33B1\"},13234:{\"value\":\"33B2\",\"name\":\"SQUARE MU S\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 03BC 0073\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED MU S\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33B2\"},13235:{\"value\":\"33B3\",\"name\":\"SQUARE MS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 006D 0073\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED MS\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33B3\"},13236:{\"value\":\"33B4\",\"name\":\"SQUARE PV\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 0070 0056\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED PV\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33B4\"},13237:{\"value\":\"33B5\",\"name\":\"SQUARE NV\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 006E 0056\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED NV\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33B5\"},13238:{\"value\":\"33B6\",\"name\":\"SQUARE MU V\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 03BC 0056\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED MU V\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33B6\"},13239:{\"value\":\"33B7\",\"name\":\"SQUARE MV\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 006D 0056\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED MV\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33B7\"},13240:{\"value\":\"33B8\",\"name\":\"SQUARE KV\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 006B 0056\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED KV\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33B8\"},13241:{\"value\":\"33B9\",\"name\":\"SQUARE MV MEGA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 004D 0056\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED MV MEGA\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33B9\"},13242:{\"value\":\"33BA\",\"name\":\"SQUARE PW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 0070 0057\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED PW\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33BA\"},13243:{\"value\":\"33BB\",\"name\":\"SQUARE NW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 006E 0057\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED NW\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33BB\"},13244:{\"value\":\"33BC\",\"name\":\"SQUARE MU W\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 03BC 0057\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED MU W\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33BC\"},13245:{\"value\":\"33BD\",\"name\":\"SQUARE MW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 006D 0057\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED MW\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33BD\"},13246:{\"value\":\"33BE\",\"name\":\"SQUARE KW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 006B 0057\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED KW\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33BE\"},13247:{\"value\":\"33BF\",\"name\":\"SQUARE MW MEGA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 004D 0057\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED MW MEGA\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33BF\"},13248:{\"value\":\"33C0\",\"name\":\"SQUARE K OHM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 006B 03A9\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED K OHM\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33C0\"},13249:{\"value\":\"33C1\",\"name\":\"SQUARE M OHM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 004D 03A9\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED M OHM\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33C1\"},13250:{\"value\":\"33C2\",\"name\":\"SQUARE AM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 0061 002E 006D 002E\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED AM\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33C2\"},13251:{\"value\":\"33C3\",\"name\":\"SQUARE BQ\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 0042 0071\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED BQ\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33C3\"},13252:{\"value\":\"33C4\",\"name\":\"SQUARE CC\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 0063 0063\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED CC\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33C4\"},13253:{\"value\":\"33C5\",\"name\":\"SQUARE CD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 0063 0064\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED CD\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33C5\"},13254:{\"value\":\"33C6\",\"name\":\"SQUARE C OVER KG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 0043 2215 006B 0067\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED C OVER KG\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33C6\"},13255:{\"value\":\"33C7\",\"name\":\"SQUARE CO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 0043 006F 002E\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED CO\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33C7\"},13256:{\"value\":\"33C8\",\"name\":\"SQUARE DB\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 0064 0042\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED DB\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33C8\"},13257:{\"value\":\"33C9\",\"name\":\"SQUARE GY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 0047 0079\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED GY\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33C9\"},13258:{\"value\":\"33CA\",\"name\":\"SQUARE HA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 0068 0061\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED HA\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33CA\"},13259:{\"value\":\"33CB\",\"name\":\"SQUARE HP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 0048 0050\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED HP\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33CB\"},13260:{\"value\":\"33CC\",\"name\":\"SQUARE IN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 0069 006E\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED IN\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33CC\"},13261:{\"value\":\"33CD\",\"name\":\"SQUARE KK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 004B 004B\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED KK\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33CD\"},13262:{\"value\":\"33CE\",\"name\":\"SQUARE KM CAPITAL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 004B 004D\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED KM CAPITAL\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33CE\"},13263:{\"value\":\"33CF\",\"name\":\"SQUARE KT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 006B 0074\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED KT\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33CF\"},13264:{\"value\":\"33D0\",\"name\":\"SQUARE LM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 006C 006D\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED LM\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33D0\"},13265:{\"value\":\"33D1\",\"name\":\"SQUARE LN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 006C 006E\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED LN\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33D1\"},13266:{\"value\":\"33D2\",\"name\":\"SQUARE LOG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 006C 006F 0067\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED LOG\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33D2\"},13267:{\"value\":\"33D3\",\"name\":\"SQUARE LX\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 006C 0078\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED LX\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33D3\"},13268:{\"value\":\"33D4\",\"name\":\"SQUARE MB SMALL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 006D 0062\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED MB SMALL\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33D4\"},13269:{\"value\":\"33D5\",\"name\":\"SQUARE MIL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 006D 0069 006C\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED MIL\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33D5\"},13270:{\"value\":\"33D6\",\"name\":\"SQUARE MOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 006D 006F 006C\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED MOL\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33D6\"},13271:{\"value\":\"33D7\",\"name\":\"SQUARE PH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 0050 0048\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED PH\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33D7\"},13272:{\"value\":\"33D8\",\"name\":\"SQUARE PM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 0070 002E 006D 002E\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED PM\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33D8\"},13273:{\"value\":\"33D9\",\"name\":\"SQUARE PPM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 0050 0050 004D\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED PPM\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33D9\"},13274:{\"value\":\"33DA\",\"name\":\"SQUARE PR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 0050 0052\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED PR\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33DA\"},13275:{\"value\":\"33DB\",\"name\":\"SQUARE SR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 0073 0072\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED SR\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33DB\"},13276:{\"value\":\"33DC\",\"name\":\"SQUARE SV\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 0053 0076\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED SV\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33DC\"},13277:{\"value\":\"33DD\",\"name\":\"SQUARE WB\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 0057 0062\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED WB\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33DD\"},13278:{\"value\":\"33DE\",\"name\":\"SQUARE V OVER M\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<square> 0056 2215 006D\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33DE\"},13279:{\"value\":\"33DF\",\"name\":\"SQUARE A OVER M\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<square> 0041 2215 006D\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33DF\"},13280:{\"value\":\"33E0\",\"name\":\"IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY ONE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0031 65E5\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33E0\"},13281:{\"value\":\"33E1\",\"name\":\"IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0032 65E5\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33E1\"},13282:{\"value\":\"33E2\",\"name\":\"IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THREE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0033 65E5\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33E2\"},13283:{\"value\":\"33E3\",\"name\":\"IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FOUR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0034 65E5\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33E3\"},13284:{\"value\":\"33E4\",\"name\":\"IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FIVE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0035 65E5\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33E4\"},13285:{\"value\":\"33E5\",\"name\":\"IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SIX\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0036 65E5\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33E5\"},13286:{\"value\":\"33E6\",\"name\":\"IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SEVEN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0037 65E5\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33E6\"},13287:{\"value\":\"33E7\",\"name\":\"IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY EIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0038 65E5\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33E7\"},13288:{\"value\":\"33E8\",\"name\":\"IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY NINE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0039 65E5\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33E8\"},13289:{\"value\":\"33E9\",\"name\":\"IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TEN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0031 0030 65E5\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33E9\"},13290:{\"value\":\"33EA\",\"name\":\"IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY ELEVEN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0031 0031 65E5\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33EA\"},13291:{\"value\":\"33EB\",\"name\":\"IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWELVE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0031 0032 65E5\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33EB\"},13292:{\"value\":\"33EC\",\"name\":\"IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTEEN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0031 0033 65E5\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33EC\"},13293:{\"value\":\"33ED\",\"name\":\"IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FOURTEEN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0031 0034 65E5\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33ED\"},13294:{\"value\":\"33EE\",\"name\":\"IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FIFTEEN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0031 0035 65E5\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33EE\"},13295:{\"value\":\"33EF\",\"name\":\"IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SIXTEEN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0031 0036 65E5\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33EF\"},13296:{\"value\":\"33F0\",\"name\":\"IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SEVENTEEN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0031 0037 65E5\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33F0\"},13297:{\"value\":\"33F1\",\"name\":\"IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY EIGHTEEN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0031 0038 65E5\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33F1\"},13298:{\"value\":\"33F2\",\"name\":\"IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY NINETEEN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0031 0039 65E5\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33F2\"},13299:{\"value\":\"33F3\",\"name\":\"IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0032 0030 65E5\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33F3\"},13300:{\"value\":\"33F4\",\"name\":\"IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-ONE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0032 0031 65E5\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33F4\"},13301:{\"value\":\"33F5\",\"name\":\"IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-TWO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0032 0032 65E5\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33F5\"},13302:{\"value\":\"33F6\",\"name\":\"IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-THREE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0032 0033 65E5\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33F6\"},13303:{\"value\":\"33F7\",\"name\":\"IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-FOUR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0032 0034 65E5\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33F7\"},13304:{\"value\":\"33F8\",\"name\":\"IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-FIVE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0032 0035 65E5\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33F8\"},13305:{\"value\":\"33F9\",\"name\":\"IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-SIX\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0032 0036 65E5\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33F9\"},13306:{\"value\":\"33FA\",\"name\":\"IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-SEVEN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0032 0037 65E5\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33FA\"},13307:{\"value\":\"33FB\",\"name\":\"IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-EIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0032 0038 65E5\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33FB\"},13308:{\"value\":\"33FC\",\"name\":\"IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-NINE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0032 0039 65E5\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33FC\"},13309:{\"value\":\"33FD\",\"name\":\"IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0033 0030 65E5\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33FD\"},13310:{\"value\":\"33FE\",\"name\":\"IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTY-ONE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0033 0031 65E5\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33FE\"},13311:{\"value\":\"33FF\",\"name\":\"SQUARE GAL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<square> 0067 0061 006C\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33FF\"},19904:{\"value\":\"4DC0\",\"name\":\"HEXAGRAM FOR THE CREATIVE HEAVEN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u4DC0\"},19905:{\"value\":\"4DC1\",\"name\":\"HEXAGRAM FOR THE RECEPTIVE EARTH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u4DC1\"},19906:{\"value\":\"4DC2\",\"name\":\"HEXAGRAM FOR DIFFICULTY AT THE BEGINNING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u4DC2\"},19907:{\"value\":\"4DC3\",\"name\":\"HEXAGRAM FOR YOUTHFUL FOLLY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u4DC3\"},19908:{\"value\":\"4DC4\",\"name\":\"HEXAGRAM FOR WAITING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u4DC4\"},19909:{\"value\":\"4DC5\",\"name\":\"HEXAGRAM FOR CONFLICT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u4DC5\"},19910:{\"value\":\"4DC6\",\"name\":\"HEXAGRAM FOR THE ARMY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u4DC6\"},19911:{\"value\":\"4DC7\",\"name\":\"HEXAGRAM FOR HOLDING TOGETHER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u4DC7\"},19912:{\"value\":\"4DC8\",\"name\":\"HEXAGRAM FOR SMALL TAMING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u4DC8\"},19913:{\"value\":\"4DC9\",\"name\":\"HEXAGRAM FOR TREADING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u4DC9\"},19914:{\"value\":\"4DCA\",\"name\":\"HEXAGRAM FOR PEACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u4DCA\"},19915:{\"value\":\"4DCB\",\"name\":\"HEXAGRAM FOR STANDSTILL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u4DCB\"},19916:{\"value\":\"4DCC\",\"name\":\"HEXAGRAM FOR FELLOWSHIP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u4DCC\"},19917:{\"value\":\"4DCD\",\"name\":\"HEXAGRAM FOR GREAT POSSESSION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u4DCD\"},19918:{\"value\":\"4DCE\",\"name\":\"HEXAGRAM FOR MODESTY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u4DCE\"},19919:{\"value\":\"4DCF\",\"name\":\"HEXAGRAM FOR ENTHUSIASM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u4DCF\"},19920:{\"value\":\"4DD0\",\"name\":\"HEXAGRAM FOR FOLLOWING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u4DD0\"},19921:{\"value\":\"4DD1\",\"name\":\"HEXAGRAM FOR WORK ON THE DECAYED\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u4DD1\"},19922:{\"value\":\"4DD2\",\"name\":\"HEXAGRAM FOR APPROACH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u4DD2\"},19923:{\"value\":\"4DD3\",\"name\":\"HEXAGRAM FOR CONTEMPLATION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u4DD3\"},19924:{\"value\":\"4DD4\",\"name\":\"HEXAGRAM FOR BITING THROUGH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u4DD4\"},19925:{\"value\":\"4DD5\",\"name\":\"HEXAGRAM FOR GRACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u4DD5\"},19926:{\"value\":\"4DD6\",\"name\":\"HEXAGRAM FOR SPLITTING APART\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u4DD6\"},19927:{\"value\":\"4DD7\",\"name\":\"HEXAGRAM FOR RETURN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u4DD7\"},19928:{\"value\":\"4DD8\",\"name\":\"HEXAGRAM FOR INNOCENCE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u4DD8\"},19929:{\"value\":\"4DD9\",\"name\":\"HEXAGRAM FOR GREAT TAMING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u4DD9\"},19930:{\"value\":\"4DDA\",\"name\":\"HEXAGRAM FOR MOUTH CORNERS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u4DDA\"},19931:{\"value\":\"4DDB\",\"name\":\"HEXAGRAM FOR GREAT PREPONDERANCE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u4DDB\"},19932:{\"value\":\"4DDC\",\"name\":\"HEXAGRAM FOR THE ABYSMAL WATER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u4DDC\"},19933:{\"value\":\"4DDD\",\"name\":\"HEXAGRAM FOR THE CLINGING FIRE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u4DDD\"},19934:{\"value\":\"4DDE\",\"name\":\"HEXAGRAM FOR INFLUENCE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u4DDE\"},19935:{\"value\":\"4DDF\",\"name\":\"HEXAGRAM FOR DURATION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u4DDF\"},19936:{\"value\":\"4DE0\",\"name\":\"HEXAGRAM FOR RETREAT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u4DE0\"},19937:{\"value\":\"4DE1\",\"name\":\"HEXAGRAM FOR GREAT POWER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u4DE1\"},19938:{\"value\":\"4DE2\",\"name\":\"HEXAGRAM FOR PROGRESS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u4DE2\"},19939:{\"value\":\"4DE3\",\"name\":\"HEXAGRAM FOR DARKENING OF THE LIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u4DE3\"},19940:{\"value\":\"4DE4\",\"name\":\"HEXAGRAM FOR THE FAMILY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u4DE4\"},19941:{\"value\":\"4DE5\",\"name\":\"HEXAGRAM FOR OPPOSITION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u4DE5\"},19942:{\"value\":\"4DE6\",\"name\":\"HEXAGRAM FOR OBSTRUCTION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u4DE6\"},19943:{\"value\":\"4DE7\",\"name\":\"HEXAGRAM FOR DELIVERANCE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u4DE7\"},19944:{\"value\":\"4DE8\",\"name\":\"HEXAGRAM FOR DECREASE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u4DE8\"},19945:{\"value\":\"4DE9\",\"name\":\"HEXAGRAM FOR INCREASE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u4DE9\"},19946:{\"value\":\"4DEA\",\"name\":\"HEXAGRAM FOR BREAKTHROUGH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u4DEA\"},19947:{\"value\":\"4DEB\",\"name\":\"HEXAGRAM FOR COMING TO MEET\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u4DEB\"},19948:{\"value\":\"4DEC\",\"name\":\"HEXAGRAM FOR GATHERING TOGETHER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u4DEC\"},19949:{\"value\":\"4DED\",\"name\":\"HEXAGRAM FOR PUSHING UPWARD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u4DED\"},19950:{\"value\":\"4DEE\",\"name\":\"HEXAGRAM FOR OPPRESSION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u4DEE\"},19951:{\"value\":\"4DEF\",\"name\":\"HEXAGRAM FOR THE WELL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u4DEF\"},19952:{\"value\":\"4DF0\",\"name\":\"HEXAGRAM FOR REVOLUTION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u4DF0\"},19953:{\"value\":\"4DF1\",\"name\":\"HEXAGRAM FOR THE CAULDRON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u4DF1\"},19954:{\"value\":\"4DF2\",\"name\":\"HEXAGRAM FOR THE AROUSING THUNDER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u4DF2\"},19955:{\"value\":\"4DF3\",\"name\":\"HEXAGRAM FOR THE KEEPING STILL MOUNTAIN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u4DF3\"},19956:{\"value\":\"4DF4\",\"name\":\"HEXAGRAM FOR DEVELOPMENT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u4DF4\"},19957:{\"value\":\"4DF5\",\"name\":\"HEXAGRAM FOR THE MARRYING MAIDEN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u4DF5\"},19958:{\"value\":\"4DF6\",\"name\":\"HEXAGRAM FOR ABUNDANCE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u4DF6\"},19959:{\"value\":\"4DF7\",\"name\":\"HEXAGRAM FOR THE WANDERER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u4DF7\"},19960:{\"value\":\"4DF8\",\"name\":\"HEXAGRAM FOR THE GENTLE WIND\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u4DF8\"},19961:{\"value\":\"4DF9\",\"name\":\"HEXAGRAM FOR THE JOYOUS LAKE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u4DF9\"},19962:{\"value\":\"4DFA\",\"name\":\"HEXAGRAM FOR DISPERSION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u4DFA\"},19963:{\"value\":\"4DFB\",\"name\":\"HEXAGRAM FOR LIMITATION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u4DFB\"},19964:{\"value\":\"4DFC\",\"name\":\"HEXAGRAM FOR INNER TRUTH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u4DFC\"},19965:{\"value\":\"4DFD\",\"name\":\"HEXAGRAM FOR SMALL PREPONDERANCE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u4DFD\"},19966:{\"value\":\"4DFE\",\"name\":\"HEXAGRAM FOR AFTER COMPLETION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u4DFE\"},19967:{\"value\":\"4DFF\",\"name\":\"HEXAGRAM FOR BEFORE COMPLETION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u4DFF\"},42128:{\"value\":\"A490\",\"name\":\"YI RADICAL QOT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uA490\"},42129:{\"value\":\"A491\",\"name\":\"YI RADICAL LI\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uA491\"},42130:{\"value\":\"A492\",\"name\":\"YI RADICAL KIT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uA492\"},42131:{\"value\":\"A493\",\"name\":\"YI RADICAL NYIP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uA493\"},42132:{\"value\":\"A494\",\"name\":\"YI RADICAL CYP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uA494\"},42133:{\"value\":\"A495\",\"name\":\"YI RADICAL SSI\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uA495\"},42134:{\"value\":\"A496\",\"name\":\"YI RADICAL GGOP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uA496\"},42135:{\"value\":\"A497\",\"name\":\"YI RADICAL GEP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uA497\"},42136:{\"value\":\"A498\",\"name\":\"YI RADICAL MI\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uA498\"},42137:{\"value\":\"A499\",\"name\":\"YI RADICAL HXIT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uA499\"},42138:{\"value\":\"A49A\",\"name\":\"YI RADICAL LYR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uA49A\"},42139:{\"value\":\"A49B\",\"name\":\"YI RADICAL BBUT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uA49B\"},42140:{\"value\":\"A49C\",\"name\":\"YI RADICAL MOP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uA49C\"},42141:{\"value\":\"A49D\",\"name\":\"YI RADICAL YO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uA49D\"},42142:{\"value\":\"A49E\",\"name\":\"YI RADICAL PUT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uA49E\"},42143:{\"value\":\"A49F\",\"name\":\"YI RADICAL HXUO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uA49F\"},42144:{\"value\":\"A4A0\",\"name\":\"YI RADICAL TAT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uA4A0\"},42145:{\"value\":\"A4A1\",\"name\":\"YI RADICAL GA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uA4A1\"},42146:{\"value\":\"A4A2\",\"name\":\"YI RADICAL ZUP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uA4A2\"},42147:{\"value\":\"A4A3\",\"name\":\"YI RADICAL CYT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uA4A3\"},42148:{\"value\":\"A4A4\",\"name\":\"YI RADICAL DDUR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uA4A4\"},42149:{\"value\":\"A4A5\",\"name\":\"YI RADICAL BUR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uA4A5\"},42150:{\"value\":\"A4A6\",\"name\":\"YI RADICAL GGUO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uA4A6\"},42151:{\"value\":\"A4A7\",\"name\":\"YI RADICAL NYOP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uA4A7\"},42152:{\"value\":\"A4A8\",\"name\":\"YI RADICAL TU\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uA4A8\"},42153:{\"value\":\"A4A9\",\"name\":\"YI RADICAL OP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uA4A9\"},42154:{\"value\":\"A4AA\",\"name\":\"YI RADICAL JJUT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uA4AA\"},42155:{\"value\":\"A4AB\",\"name\":\"YI RADICAL ZOT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uA4AB\"},42156:{\"value\":\"A4AC\",\"name\":\"YI RADICAL PYT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uA4AC\"},42157:{\"value\":\"A4AD\",\"name\":\"YI RADICAL HMO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uA4AD\"},42158:{\"value\":\"A4AE\",\"name\":\"YI RADICAL YIT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uA4AE\"},42159:{\"value\":\"A4AF\",\"name\":\"YI RADICAL VUR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uA4AF\"},42160:{\"value\":\"A4B0\",\"name\":\"YI RADICAL SHY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uA4B0\"},42161:{\"value\":\"A4B1\",\"name\":\"YI RADICAL VEP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uA4B1\"},42162:{\"value\":\"A4B2\",\"name\":\"YI RADICAL ZA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uA4B2\"},42163:{\"value\":\"A4B3\",\"name\":\"YI RADICAL JO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uA4B3\"},42164:{\"value\":\"A4B4\",\"name\":\"YI RADICAL NZUP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uA4B4\"},42165:{\"value\":\"A4B5\",\"name\":\"YI RADICAL JJY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uA4B5\"},42166:{\"value\":\"A4B6\",\"name\":\"YI RADICAL GOT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uA4B6\"},42167:{\"value\":\"A4B7\",\"name\":\"YI RADICAL JJIE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uA4B7\"},42168:{\"value\":\"A4B8\",\"name\":\"YI RADICAL WO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uA4B8\"},42169:{\"value\":\"A4B9\",\"name\":\"YI RADICAL DU\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uA4B9\"},42170:{\"value\":\"A4BA\",\"name\":\"YI RADICAL SHUR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uA4BA\"},42171:{\"value\":\"A4BB\",\"name\":\"YI RADICAL LIE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uA4BB\"},42172:{\"value\":\"A4BC\",\"name\":\"YI RADICAL CY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uA4BC\"},42173:{\"value\":\"A4BD\",\"name\":\"YI RADICAL CUOP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uA4BD\"},42174:{\"value\":\"A4BE\",\"name\":\"YI RADICAL CIP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uA4BE\"},42175:{\"value\":\"A4BF\",\"name\":\"YI RADICAL HXOP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uA4BF\"},42176:{\"value\":\"A4C0\",\"name\":\"YI RADICAL SHAT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uA4C0\"},42177:{\"value\":\"A4C1\",\"name\":\"YI RADICAL ZUR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uA4C1\"},42178:{\"value\":\"A4C2\",\"name\":\"YI RADICAL SHOP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uA4C2\"},42179:{\"value\":\"A4C3\",\"name\":\"YI RADICAL CHE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uA4C3\"},42180:{\"value\":\"A4C4\",\"name\":\"YI RADICAL ZZIET\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uA4C4\"},42181:{\"value\":\"A4C5\",\"name\":\"YI RADICAL NBIE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uA4C5\"},42182:{\"value\":\"A4C6\",\"name\":\"YI RADICAL KE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uA4C6\"},43048:{\"value\":\"A828\",\"name\":\"SYLOTI NAGRI POETRY MARK-1\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uA828\"},43049:{\"value\":\"A829\",\"name\":\"SYLOTI NAGRI POETRY MARK-2\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uA829\"},43050:{\"value\":\"A82A\",\"name\":\"SYLOTI NAGRI POETRY MARK-3\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uA82A\"},43051:{\"value\":\"A82B\",\"name\":\"SYLOTI NAGRI POETRY MARK-4\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uA82B\"},43062:{\"value\":\"A836\",\"name\":\"NORTH INDIC QUARTER MARK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uA836\"},43063:{\"value\":\"A837\",\"name\":\"NORTH INDIC PLACEHOLDER MARK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uA837\"},43065:{\"value\":\"A839\",\"name\":\"NORTH INDIC QUANTITY MARK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ET\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uA839\"},43639:{\"value\":\"AA77\",\"name\":\"MYANMAR SYMBOL AITON EXCLAMATION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uAA77\"},43640:{\"value\":\"AA78\",\"name\":\"MYANMAR SYMBOL AITON ONE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uAA78\"},43641:{\"value\":\"AA79\",\"name\":\"MYANMAR SYMBOL AITON TWO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uAA79\"},65021:{\"value\":\"FDFD\",\"name\":\"ARABIC LIGATURE BISMILLAH AR-RAHMAN AR-RAHEEM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uFDFD\"},65508:{\"value\":\"FFE4\",\"name\":\"FULLWIDTH BROKEN BAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<wide> 00A6\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FULLWIDTH BROKEN VERTICAL BAR\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uFFE4\"},65512:{\"value\":\"FFE8\",\"name\":\"HALFWIDTH FORMS LIGHT VERTICAL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<narrow> 2502\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uFFE8\"},65517:{\"value\":\"FFED\",\"name\":\"HALFWIDTH BLACK SQUARE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<narrow> 25A0\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uFFED\"},65518:{\"value\":\"FFEE\",\"name\":\"HALFWIDTH WHITE CIRCLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<narrow> 25CB\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uFFEE\"},65532:{\"value\":\"FFFC\",\"name\":\"OBJECT REPLACEMENT CHARACTER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uFFFC\"},65533:{\"value\":\"FFFD\",\"name\":\"REPLACEMENT CHARACTER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uFFFD\"},65847:{\"value\":\"10137\",\"name\":\"AEGEAN WEIGHT BASE UNIT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0137\"},65848:{\"value\":\"10138\",\"name\":\"AEGEAN WEIGHT FIRST SUBUNIT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0138\"},65849:{\"value\":\"10139\",\"name\":\"AEGEAN WEIGHT SECOND SUBUNIT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0139\"},65850:{\"value\":\"1013A\",\"name\":\"AEGEAN WEIGHT THIRD SUBUNIT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u013A\"},65851:{\"value\":\"1013B\",\"name\":\"AEGEAN WEIGHT FOURTH SUBUNIT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u013B\"},65852:{\"value\":\"1013C\",\"name\":\"AEGEAN DRY MEASURE FIRST SUBUNIT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u013C\"},65853:{\"value\":\"1013D\",\"name\":\"AEGEAN LIQUID MEASURE FIRST SUBUNIT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u013D\"},65854:{\"value\":\"1013E\",\"name\":\"AEGEAN MEASURE SECOND SUBUNIT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u013E\"},65855:{\"value\":\"1013F\",\"name\":\"AEGEAN MEASURE THIRD SUBUNIT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u013F\"},65913:{\"value\":\"10179\",\"name\":\"GREEK YEAR SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0179\"},65914:{\"value\":\"1017A\",\"name\":\"GREEK TALENT SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u017A\"},65915:{\"value\":\"1017B\",\"name\":\"GREEK DRACHMA SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u017B\"},65916:{\"value\":\"1017C\",\"name\":\"GREEK OBOL SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u017C\"},65917:{\"value\":\"1017D\",\"name\":\"GREEK TWO OBOLS SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u017D\"},65918:{\"value\":\"1017E\",\"name\":\"GREEK THREE OBOLS SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u017E\"},65919:{\"value\":\"1017F\",\"name\":\"GREEK FOUR OBOLS SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u017F\"},65920:{\"value\":\"10180\",\"name\":\"GREEK FIVE OBOLS SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0180\"},65921:{\"value\":\"10181\",\"name\":\"GREEK METRETES SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0181\"},65922:{\"value\":\"10182\",\"name\":\"GREEK KYATHOS BASE SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0182\"},65923:{\"value\":\"10183\",\"name\":\"GREEK LITRA SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0183\"},65924:{\"value\":\"10184\",\"name\":\"GREEK OUNKIA SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0184\"},65925:{\"value\":\"10185\",\"name\":\"GREEK XESTES SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0185\"},65926:{\"value\":\"10186\",\"name\":\"GREEK ARTABE SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0186\"},65927:{\"value\":\"10187\",\"name\":\"GREEK AROURA SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0187\"},65928:{\"value\":\"10188\",\"name\":\"GREEK GRAMMA SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0188\"},65929:{\"value\":\"10189\",\"name\":\"GREEK TRYBLION BASE SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0189\"},65932:{\"value\":\"1018C\",\"name\":\"GREEK SINUSOID SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u018C\"},65933:{\"value\":\"1018D\",\"name\":\"GREEK INDICTION SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u018D\"},65934:{\"value\":\"1018E\",\"name\":\"NOMISMA SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u018E\"},65936:{\"value\":\"10190\",\"name\":\"ROMAN SEXTANS SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0190\"},65937:{\"value\":\"10191\",\"name\":\"ROMAN UNCIA SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0191\"},65938:{\"value\":\"10192\",\"name\":\"ROMAN SEMUNCIA SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0192\"},65939:{\"value\":\"10193\",\"name\":\"ROMAN SEXTULA SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0193\"},65940:{\"value\":\"10194\",\"name\":\"ROMAN DIMIDIA SEXTULA SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0194\"},65941:{\"value\":\"10195\",\"name\":\"ROMAN SILIQUA SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0195\"},65942:{\"value\":\"10196\",\"name\":\"ROMAN DENARIUS SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0196\"},65943:{\"value\":\"10197\",\"name\":\"ROMAN QUINARIUS SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0197\"},65944:{\"value\":\"10198\",\"name\":\"ROMAN SESTERTIUS SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0198\"},65945:{\"value\":\"10199\",\"name\":\"ROMAN DUPONDIUS SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0199\"},65946:{\"value\":\"1019A\",\"name\":\"ROMAN AS SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u019A\"},65947:{\"value\":\"1019B\",\"name\":\"ROMAN CENTURIAL SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u019B\"},65952:{\"value\":\"101A0\",\"name\":\"GREEK SYMBOL TAU RHO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u01A0\"},66000:{\"value\":\"101D0\",\"name\":\"PHAISTOS DISC SIGN PEDESTRIAN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u01D0\"},66001:{\"value\":\"101D1\",\"name\":\"PHAISTOS DISC SIGN PLUMED HEAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u01D1\"},66002:{\"value\":\"101D2\",\"name\":\"PHAISTOS DISC SIGN TATTOOED HEAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u01D2\"},66003:{\"value\":\"101D3\",\"name\":\"PHAISTOS DISC SIGN CAPTIVE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u01D3\"},66004:{\"value\":\"101D4\",\"name\":\"PHAISTOS DISC SIGN CHILD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u01D4\"},66005:{\"value\":\"101D5\",\"name\":\"PHAISTOS DISC SIGN WOMAN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u01D5\"},66006:{\"value\":\"101D6\",\"name\":\"PHAISTOS DISC SIGN HELMET\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u01D6\"},66007:{\"value\":\"101D7\",\"name\":\"PHAISTOS DISC SIGN GAUNTLET\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u01D7\"},66008:{\"value\":\"101D8\",\"name\":\"PHAISTOS DISC SIGN TIARA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u01D8\"},66009:{\"value\":\"101D9\",\"name\":\"PHAISTOS DISC SIGN ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u01D9\"},66010:{\"value\":\"101DA\",\"name\":\"PHAISTOS DISC SIGN BOW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u01DA\"},66011:{\"value\":\"101DB\",\"name\":\"PHAISTOS DISC SIGN SHIELD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u01DB\"},66012:{\"value\":\"101DC\",\"name\":\"PHAISTOS DISC SIGN CLUB\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u01DC\"},66013:{\"value\":\"101DD\",\"name\":\"PHAISTOS DISC SIGN MANACLES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u01DD\"},66014:{\"value\":\"101DE\",\"name\":\"PHAISTOS DISC SIGN MATTOCK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u01DE\"},66015:{\"value\":\"101DF\",\"name\":\"PHAISTOS DISC SIGN SAW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u01DF\"},66016:{\"value\":\"101E0\",\"name\":\"PHAISTOS DISC SIGN LID\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u01E0\"},66017:{\"value\":\"101E1\",\"name\":\"PHAISTOS DISC SIGN BOOMERANG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u01E1\"},66018:{\"value\":\"101E2\",\"name\":\"PHAISTOS DISC SIGN CARPENTRY PLANE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u01E2\"},66019:{\"value\":\"101E3\",\"name\":\"PHAISTOS DISC SIGN DOLIUM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u01E3\"},66020:{\"value\":\"101E4\",\"name\":\"PHAISTOS DISC SIGN COMB\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u01E4\"},66021:{\"value\":\"101E5\",\"name\":\"PHAISTOS DISC SIGN SLING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u01E5\"},66022:{\"value\":\"101E6\",\"name\":\"PHAISTOS DISC SIGN COLUMN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u01E6\"},66023:{\"value\":\"101E7\",\"name\":\"PHAISTOS DISC SIGN BEEHIVE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u01E7\"},66024:{\"value\":\"101E8\",\"name\":\"PHAISTOS DISC SIGN SHIP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u01E8\"},66025:{\"value\":\"101E9\",\"name\":\"PHAISTOS DISC SIGN HORN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u01E9\"},66026:{\"value\":\"101EA\",\"name\":\"PHAISTOS DISC SIGN HIDE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u01EA\"},66027:{\"value\":\"101EB\",\"name\":\"PHAISTOS DISC SIGN BULLS LEG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u01EB\"},66028:{\"value\":\"101EC\",\"name\":\"PHAISTOS DISC SIGN CAT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u01EC\"},66029:{\"value\":\"101ED\",\"name\":\"PHAISTOS DISC SIGN RAM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u01ED\"},66030:{\"value\":\"101EE\",\"name\":\"PHAISTOS DISC SIGN EAGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u01EE\"},66031:{\"value\":\"101EF\",\"name\":\"PHAISTOS DISC SIGN DOVE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u01EF\"},66032:{\"value\":\"101F0\",\"name\":\"PHAISTOS DISC SIGN TUNNY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u01F0\"},66033:{\"value\":\"101F1\",\"name\":\"PHAISTOS DISC SIGN BEE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u01F1\"},66034:{\"value\":\"101F2\",\"name\":\"PHAISTOS DISC SIGN PLANE TREE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u01F2\"},66035:{\"value\":\"101F3\",\"name\":\"PHAISTOS DISC SIGN VINE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u01F3\"},66036:{\"value\":\"101F4\",\"name\":\"PHAISTOS DISC SIGN PAPYRUS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u01F4\"},66037:{\"value\":\"101F5\",\"name\":\"PHAISTOS DISC SIGN ROSETTE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u01F5\"},66038:{\"value\":\"101F6\",\"name\":\"PHAISTOS DISC SIGN LILY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u01F6\"},66039:{\"value\":\"101F7\",\"name\":\"PHAISTOS DISC SIGN OX BACK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u01F7\"},66040:{\"value\":\"101F8\",\"name\":\"PHAISTOS DISC SIGN FLUTE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u01F8\"},66041:{\"value\":\"101F9\",\"name\":\"PHAISTOS DISC SIGN GRATER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u01F9\"},66042:{\"value\":\"101FA\",\"name\":\"PHAISTOS DISC SIGN STRAINER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u01FA\"},66043:{\"value\":\"101FB\",\"name\":\"PHAISTOS DISC SIGN SMALL AXE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u01FB\"},66044:{\"value\":\"101FC\",\"name\":\"PHAISTOS DISC SIGN WAVY BAND\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u01FC\"},67703:{\"value\":\"10877\",\"name\":\"PALMYRENE LEFT-POINTING FLEURON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"R\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0877\"},67704:{\"value\":\"10878\",\"name\":\"PALMYRENE RIGHT-POINTING FLEURON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"R\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0878\"},68296:{\"value\":\"10AC8\",\"name\":\"MANICHAEAN SIGN UD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"R\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0AC8\"},71487:{\"value\":\"1173F\",\"name\":\"AHOM SYMBOL VI\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u173F\"},92988:{\"value\":\"16B3C\",\"name\":\"PAHAWH HMONG SIGN XYEEM NTXIV\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u6B3C\"},92989:{\"value\":\"16B3D\",\"name\":\"PAHAWH HMONG SIGN XYEEM RHO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u6B3D\"},92990:{\"value\":\"16B3E\",\"name\":\"PAHAWH HMONG SIGN XYEEM TOV\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u6B3E\"},92991:{\"value\":\"16B3F\",\"name\":\"PAHAWH HMONG SIGN XYEEM FAIB\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u6B3F\"},92997:{\"value\":\"16B45\",\"name\":\"PAHAWH HMONG SIGN CIM TSOV ROG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u6B45\"},113820:{\"value\":\"1BC9C\",\"name\":\"DUPLOYAN SIGN O WITH CROSS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uBC9C\"},118784:{\"value\":\"1D000\",\"name\":\"BYZANTINE MUSICAL SYMBOL PSILI\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD000\"},118785:{\"value\":\"1D001\",\"name\":\"BYZANTINE MUSICAL SYMBOL DASEIA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD001\"},118786:{\"value\":\"1D002\",\"name\":\"BYZANTINE MUSICAL SYMBOL PERISPOMENI\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD002\"},118787:{\"value\":\"1D003\",\"name\":\"BYZANTINE MUSICAL SYMBOL OXEIA EKFONITIKON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD003\"},118788:{\"value\":\"1D004\",\"name\":\"BYZANTINE MUSICAL SYMBOL OXEIA DIPLI\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD004\"},118789:{\"value\":\"1D005\",\"name\":\"BYZANTINE MUSICAL SYMBOL VAREIA EKFONITIKON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD005\"},118790:{\"value\":\"1D006\",\"name\":\"BYZANTINE MUSICAL SYMBOL VAREIA DIPLI\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD006\"},118791:{\"value\":\"1D007\",\"name\":\"BYZANTINE MUSICAL SYMBOL KATHISTI\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD007\"},118792:{\"value\":\"1D008\",\"name\":\"BYZANTINE MUSICAL SYMBOL SYRMATIKI\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD008\"},118793:{\"value\":\"1D009\",\"name\":\"BYZANTINE MUSICAL SYMBOL PARAKLITIKI\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD009\"},118794:{\"value\":\"1D00A\",\"name\":\"BYZANTINE MUSICAL SYMBOL YPOKRISIS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD00A\"},118795:{\"value\":\"1D00B\",\"name\":\"BYZANTINE MUSICAL SYMBOL YPOKRISIS DIPLI\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD00B\"},118796:{\"value\":\"1D00C\",\"name\":\"BYZANTINE MUSICAL SYMBOL KREMASTI\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD00C\"},118797:{\"value\":\"1D00D\",\"name\":\"BYZANTINE MUSICAL SYMBOL APESO EKFONITIKON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD00D\"},118798:{\"value\":\"1D00E\",\"name\":\"BYZANTINE MUSICAL SYMBOL EXO EKFONITIKON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD00E\"},118799:{\"value\":\"1D00F\",\"name\":\"BYZANTINE MUSICAL SYMBOL TELEIA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD00F\"},118800:{\"value\":\"1D010\",\"name\":\"BYZANTINE MUSICAL SYMBOL KENTIMATA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD010\"},118801:{\"value\":\"1D011\",\"name\":\"BYZANTINE MUSICAL SYMBOL APOSTROFOS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD011\"},118802:{\"value\":\"1D012\",\"name\":\"BYZANTINE MUSICAL SYMBOL APOSTROFOS DIPLI\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD012\"},118803:{\"value\":\"1D013\",\"name\":\"BYZANTINE MUSICAL SYMBOL SYNEVMA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD013\"},118804:{\"value\":\"1D014\",\"name\":\"BYZANTINE MUSICAL SYMBOL THITA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD014\"},118805:{\"value\":\"1D015\",\"name\":\"BYZANTINE MUSICAL SYMBOL OLIGON ARCHAION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD015\"},118806:{\"value\":\"1D016\",\"name\":\"BYZANTINE MUSICAL SYMBOL GORGON ARCHAION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD016\"},118807:{\"value\":\"1D017\",\"name\":\"BYZANTINE MUSICAL SYMBOL PSILON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD017\"},118808:{\"value\":\"1D018\",\"name\":\"BYZANTINE MUSICAL SYMBOL CHAMILON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD018\"},118809:{\"value\":\"1D019\",\"name\":\"BYZANTINE MUSICAL SYMBOL VATHY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD019\"},118810:{\"value\":\"1D01A\",\"name\":\"BYZANTINE MUSICAL SYMBOL ISON ARCHAION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD01A\"},118811:{\"value\":\"1D01B\",\"name\":\"BYZANTINE MUSICAL SYMBOL KENTIMA ARCHAION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD01B\"},118812:{\"value\":\"1D01C\",\"name\":\"BYZANTINE MUSICAL SYMBOL KENTIMATA ARCHAION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD01C\"},118813:{\"value\":\"1D01D\",\"name\":\"BYZANTINE MUSICAL SYMBOL SAXIMATA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD01D\"},118814:{\"value\":\"1D01E\",\"name\":\"BYZANTINE MUSICAL SYMBOL PARICHON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD01E\"},118815:{\"value\":\"1D01F\",\"name\":\"BYZANTINE MUSICAL SYMBOL STAVROS APODEXIA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD01F\"},118816:{\"value\":\"1D020\",\"name\":\"BYZANTINE MUSICAL SYMBOL OXEIAI ARCHAION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD020\"},118817:{\"value\":\"1D021\",\"name\":\"BYZANTINE MUSICAL SYMBOL VAREIAI ARCHAION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD021\"},118818:{\"value\":\"1D022\",\"name\":\"BYZANTINE MUSICAL SYMBOL APODERMA ARCHAION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD022\"},118819:{\"value\":\"1D023\",\"name\":\"BYZANTINE MUSICAL SYMBOL APOTHEMA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD023\"},118820:{\"value\":\"1D024\",\"name\":\"BYZANTINE MUSICAL SYMBOL KLASMA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD024\"},118821:{\"value\":\"1D025\",\"name\":\"BYZANTINE MUSICAL SYMBOL REVMA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD025\"},118822:{\"value\":\"1D026\",\"name\":\"BYZANTINE MUSICAL SYMBOL PIASMA ARCHAION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD026\"},118823:{\"value\":\"1D027\",\"name\":\"BYZANTINE MUSICAL SYMBOL TINAGMA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD027\"},118824:{\"value\":\"1D028\",\"name\":\"BYZANTINE MUSICAL SYMBOL ANATRICHISMA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD028\"},118825:{\"value\":\"1D029\",\"name\":\"BYZANTINE MUSICAL SYMBOL SEISMA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD029\"},118826:{\"value\":\"1D02A\",\"name\":\"BYZANTINE MUSICAL SYMBOL SYNAGMA ARCHAION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD02A\"},118827:{\"value\":\"1D02B\",\"name\":\"BYZANTINE MUSICAL SYMBOL SYNAGMA META STAVROU\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD02B\"},118828:{\"value\":\"1D02C\",\"name\":\"BYZANTINE MUSICAL SYMBOL OYRANISMA ARCHAION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD02C\"},118829:{\"value\":\"1D02D\",\"name\":\"BYZANTINE MUSICAL SYMBOL THEMA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD02D\"},118830:{\"value\":\"1D02E\",\"name\":\"BYZANTINE MUSICAL SYMBOL LEMOI\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD02E\"},118831:{\"value\":\"1D02F\",\"name\":\"BYZANTINE MUSICAL SYMBOL DYO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD02F\"},118832:{\"value\":\"1D030\",\"name\":\"BYZANTINE MUSICAL SYMBOL TRIA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD030\"},118833:{\"value\":\"1D031\",\"name\":\"BYZANTINE MUSICAL SYMBOL TESSERA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD031\"},118834:{\"value\":\"1D032\",\"name\":\"BYZANTINE MUSICAL SYMBOL KRATIMATA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD032\"},118835:{\"value\":\"1D033\",\"name\":\"BYZANTINE MUSICAL SYMBOL APESO EXO NEO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD033\"},118836:{\"value\":\"1D034\",\"name\":\"BYZANTINE MUSICAL SYMBOL FTHORA ARCHAION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD034\"},118837:{\"value\":\"1D035\",\"name\":\"BYZANTINE MUSICAL SYMBOL IMIFTHORA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD035\"},118838:{\"value\":\"1D036\",\"name\":\"BYZANTINE MUSICAL SYMBOL TROMIKON ARCHAION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD036\"},118839:{\"value\":\"1D037\",\"name\":\"BYZANTINE MUSICAL SYMBOL KATAVA TROMIKON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD037\"},118840:{\"value\":\"1D038\",\"name\":\"BYZANTINE MUSICAL SYMBOL PELASTON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD038\"},118841:{\"value\":\"1D039\",\"name\":\"BYZANTINE MUSICAL SYMBOL PSIFISTON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD039\"},118842:{\"value\":\"1D03A\",\"name\":\"BYZANTINE MUSICAL SYMBOL KONTEVMA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD03A\"},118843:{\"value\":\"1D03B\",\"name\":\"BYZANTINE MUSICAL SYMBOL CHOREVMA ARCHAION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD03B\"},118844:{\"value\":\"1D03C\",\"name\":\"BYZANTINE MUSICAL SYMBOL RAPISMA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD03C\"},118845:{\"value\":\"1D03D\",\"name\":\"BYZANTINE MUSICAL SYMBOL PARAKALESMA ARCHAION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD03D\"},118846:{\"value\":\"1D03E\",\"name\":\"BYZANTINE MUSICAL SYMBOL PARAKLITIKI ARCHAION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD03E\"},118847:{\"value\":\"1D03F\",\"name\":\"BYZANTINE MUSICAL SYMBOL ICHADIN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD03F\"},118848:{\"value\":\"1D040\",\"name\":\"BYZANTINE MUSICAL SYMBOL NANA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD040\"},118849:{\"value\":\"1D041\",\"name\":\"BYZANTINE MUSICAL SYMBOL PETASMA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD041\"},118850:{\"value\":\"1D042\",\"name\":\"BYZANTINE MUSICAL SYMBOL KONTEVMA ALLO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD042\"},118851:{\"value\":\"1D043\",\"name\":\"BYZANTINE MUSICAL SYMBOL TROMIKON ALLO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD043\"},118852:{\"value\":\"1D044\",\"name\":\"BYZANTINE MUSICAL SYMBOL STRAGGISMATA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD044\"},118853:{\"value\":\"1D045\",\"name\":\"BYZANTINE MUSICAL SYMBOL GRONTHISMATA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD045\"},118854:{\"value\":\"1D046\",\"name\":\"BYZANTINE MUSICAL SYMBOL ISON NEO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD046\"},118855:{\"value\":\"1D047\",\"name\":\"BYZANTINE MUSICAL SYMBOL OLIGON NEO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD047\"},118856:{\"value\":\"1D048\",\"name\":\"BYZANTINE MUSICAL SYMBOL OXEIA NEO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD048\"},118857:{\"value\":\"1D049\",\"name\":\"BYZANTINE MUSICAL SYMBOL PETASTI\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD049\"},118858:{\"value\":\"1D04A\",\"name\":\"BYZANTINE MUSICAL SYMBOL KOUFISMA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD04A\"},118859:{\"value\":\"1D04B\",\"name\":\"BYZANTINE MUSICAL SYMBOL PETASTOKOUFISMA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD04B\"},118860:{\"value\":\"1D04C\",\"name\":\"BYZANTINE MUSICAL SYMBOL KRATIMOKOUFISMA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD04C\"},118861:{\"value\":\"1D04D\",\"name\":\"BYZANTINE MUSICAL SYMBOL PELASTON NEO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD04D\"},118862:{\"value\":\"1D04E\",\"name\":\"BYZANTINE MUSICAL SYMBOL KENTIMATA NEO ANO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD04E\"},118863:{\"value\":\"1D04F\",\"name\":\"BYZANTINE MUSICAL SYMBOL KENTIMA NEO ANO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD04F\"},118864:{\"value\":\"1D050\",\"name\":\"BYZANTINE MUSICAL SYMBOL YPSILI\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD050\"},118865:{\"value\":\"1D051\",\"name\":\"BYZANTINE MUSICAL SYMBOL APOSTROFOS NEO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD051\"},118866:{\"value\":\"1D052\",\"name\":\"BYZANTINE MUSICAL SYMBOL APOSTROFOI SYNDESMOS NEO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD052\"},118867:{\"value\":\"1D053\",\"name\":\"BYZANTINE MUSICAL SYMBOL YPORROI\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD053\"},118868:{\"value\":\"1D054\",\"name\":\"BYZANTINE MUSICAL SYMBOL KRATIMOYPORROON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD054\"},118869:{\"value\":\"1D055\",\"name\":\"BYZANTINE MUSICAL SYMBOL ELAFRON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD055\"},118870:{\"value\":\"1D056\",\"name\":\"BYZANTINE MUSICAL SYMBOL CHAMILI\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD056\"},118871:{\"value\":\"1D057\",\"name\":\"BYZANTINE MUSICAL SYMBOL MIKRON ISON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD057\"},118872:{\"value\":\"1D058\",\"name\":\"BYZANTINE MUSICAL SYMBOL VAREIA NEO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD058\"},118873:{\"value\":\"1D059\",\"name\":\"BYZANTINE MUSICAL SYMBOL PIASMA NEO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD059\"},118874:{\"value\":\"1D05A\",\"name\":\"BYZANTINE MUSICAL SYMBOL PSIFISTON NEO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD05A\"},118875:{\"value\":\"1D05B\",\"name\":\"BYZANTINE MUSICAL SYMBOL OMALON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD05B\"},118876:{\"value\":\"1D05C\",\"name\":\"BYZANTINE MUSICAL SYMBOL ANTIKENOMA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD05C\"},118877:{\"value\":\"1D05D\",\"name\":\"BYZANTINE MUSICAL SYMBOL LYGISMA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD05D\"},118878:{\"value\":\"1D05E\",\"name\":\"BYZANTINE MUSICAL SYMBOL PARAKLITIKI NEO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD05E\"},118879:{\"value\":\"1D05F\",\"name\":\"BYZANTINE MUSICAL SYMBOL PARAKALESMA NEO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD05F\"},118880:{\"value\":\"1D060\",\"name\":\"BYZANTINE MUSICAL SYMBOL ETERON PARAKALESMA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD060\"},118881:{\"value\":\"1D061\",\"name\":\"BYZANTINE MUSICAL SYMBOL KYLISMA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD061\"},118882:{\"value\":\"1D062\",\"name\":\"BYZANTINE MUSICAL SYMBOL ANTIKENOKYLISMA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD062\"},118883:{\"value\":\"1D063\",\"name\":\"BYZANTINE MUSICAL SYMBOL TROMIKON NEO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD063\"},118884:{\"value\":\"1D064\",\"name\":\"BYZANTINE MUSICAL SYMBOL EKSTREPTON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD064\"},118885:{\"value\":\"1D065\",\"name\":\"BYZANTINE MUSICAL SYMBOL SYNAGMA NEO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD065\"},118886:{\"value\":\"1D066\",\"name\":\"BYZANTINE MUSICAL SYMBOL SYRMA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD066\"},118887:{\"value\":\"1D067\",\"name\":\"BYZANTINE MUSICAL SYMBOL CHOREVMA NEO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD067\"},118888:{\"value\":\"1D068\",\"name\":\"BYZANTINE MUSICAL SYMBOL EPEGERMA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD068\"},118889:{\"value\":\"1D069\",\"name\":\"BYZANTINE MUSICAL SYMBOL SEISMA NEO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD069\"},118890:{\"value\":\"1D06A\",\"name\":\"BYZANTINE MUSICAL SYMBOL XIRON KLASMA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD06A\"},118891:{\"value\":\"1D06B\",\"name\":\"BYZANTINE MUSICAL SYMBOL TROMIKOPSIFISTON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD06B\"},118892:{\"value\":\"1D06C\",\"name\":\"BYZANTINE MUSICAL SYMBOL PSIFISTOLYGISMA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD06C\"},118893:{\"value\":\"1D06D\",\"name\":\"BYZANTINE MUSICAL SYMBOL TROMIKOLYGISMA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD06D\"},118894:{\"value\":\"1D06E\",\"name\":\"BYZANTINE MUSICAL SYMBOL TROMIKOPARAKALESMA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD06E\"},118895:{\"value\":\"1D06F\",\"name\":\"BYZANTINE MUSICAL SYMBOL PSIFISTOPARAKALESMA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD06F\"},118896:{\"value\":\"1D070\",\"name\":\"BYZANTINE MUSICAL SYMBOL TROMIKOSYNAGMA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD070\"},118897:{\"value\":\"1D071\",\"name\":\"BYZANTINE MUSICAL SYMBOL PSIFISTOSYNAGMA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD071\"},118898:{\"value\":\"1D072\",\"name\":\"BYZANTINE MUSICAL SYMBOL GORGOSYNTHETON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD072\"},118899:{\"value\":\"1D073\",\"name\":\"BYZANTINE MUSICAL SYMBOL ARGOSYNTHETON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD073\"},118900:{\"value\":\"1D074\",\"name\":\"BYZANTINE MUSICAL SYMBOL ETERON ARGOSYNTHETON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD074\"},118901:{\"value\":\"1D075\",\"name\":\"BYZANTINE MUSICAL SYMBOL OYRANISMA NEO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD075\"},118902:{\"value\":\"1D076\",\"name\":\"BYZANTINE MUSICAL SYMBOL THEMATISMOS ESO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD076\"},118903:{\"value\":\"1D077\",\"name\":\"BYZANTINE MUSICAL SYMBOL THEMATISMOS EXO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD077\"},118904:{\"value\":\"1D078\",\"name\":\"BYZANTINE MUSICAL SYMBOL THEMA APLOUN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD078\"},118905:{\"value\":\"1D079\",\"name\":\"BYZANTINE MUSICAL SYMBOL THES KAI APOTHES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD079\"},118906:{\"value\":\"1D07A\",\"name\":\"BYZANTINE MUSICAL SYMBOL KATAVASMA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD07A\"},118907:{\"value\":\"1D07B\",\"name\":\"BYZANTINE MUSICAL SYMBOL ENDOFONON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD07B\"},118908:{\"value\":\"1D07C\",\"name\":\"BYZANTINE MUSICAL SYMBOL YFEN KATO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD07C\"},118909:{\"value\":\"1D07D\",\"name\":\"BYZANTINE MUSICAL SYMBOL YFEN ANO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD07D\"},118910:{\"value\":\"1D07E\",\"name\":\"BYZANTINE MUSICAL SYMBOL STAVROS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD07E\"},118911:{\"value\":\"1D07F\",\"name\":\"BYZANTINE MUSICAL SYMBOL KLASMA ANO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD07F\"},118912:{\"value\":\"1D080\",\"name\":\"BYZANTINE MUSICAL SYMBOL DIPLI ARCHAION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD080\"},118913:{\"value\":\"1D081\",\"name\":\"BYZANTINE MUSICAL SYMBOL KRATIMA ARCHAION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD081\"},118914:{\"value\":\"1D082\",\"name\":\"BYZANTINE MUSICAL SYMBOL KRATIMA ALLO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD082\"},118915:{\"value\":\"1D083\",\"name\":\"BYZANTINE MUSICAL SYMBOL KRATIMA NEO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD083\"},118916:{\"value\":\"1D084\",\"name\":\"BYZANTINE MUSICAL SYMBOL APODERMA NEO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD084\"},118917:{\"value\":\"1D085\",\"name\":\"BYZANTINE MUSICAL SYMBOL APLI\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD085\"},118918:{\"value\":\"1D086\",\"name\":\"BYZANTINE MUSICAL SYMBOL DIPLI\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD086\"},118919:{\"value\":\"1D087\",\"name\":\"BYZANTINE MUSICAL SYMBOL TRIPLI\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD087\"},118920:{\"value\":\"1D088\",\"name\":\"BYZANTINE MUSICAL SYMBOL TETRAPLI\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD088\"},118921:{\"value\":\"1D089\",\"name\":\"BYZANTINE MUSICAL SYMBOL KORONIS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD089\"},118922:{\"value\":\"1D08A\",\"name\":\"BYZANTINE MUSICAL SYMBOL LEIMMA ENOS CHRONOU\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD08A\"},118923:{\"value\":\"1D08B\",\"name\":\"BYZANTINE MUSICAL SYMBOL LEIMMA DYO CHRONON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD08B\"},118924:{\"value\":\"1D08C\",\"name\":\"BYZANTINE MUSICAL SYMBOL LEIMMA TRION CHRONON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD08C\"},118925:{\"value\":\"1D08D\",\"name\":\"BYZANTINE MUSICAL SYMBOL LEIMMA TESSARON CHRONON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD08D\"},118926:{\"value\":\"1D08E\",\"name\":\"BYZANTINE MUSICAL SYMBOL LEIMMA IMISEOS CHRONOU\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD08E\"},118927:{\"value\":\"1D08F\",\"name\":\"BYZANTINE MUSICAL SYMBOL GORGON NEO ANO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD08F\"},118928:{\"value\":\"1D090\",\"name\":\"BYZANTINE MUSICAL SYMBOL GORGON PARESTIGMENON ARISTERA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD090\"},118929:{\"value\":\"1D091\",\"name\":\"BYZANTINE MUSICAL SYMBOL GORGON PARESTIGMENON DEXIA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD091\"},118930:{\"value\":\"1D092\",\"name\":\"BYZANTINE MUSICAL SYMBOL DIGORGON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD092\"},118931:{\"value\":\"1D093\",\"name\":\"BYZANTINE MUSICAL SYMBOL DIGORGON PARESTIGMENON ARISTERA KATO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD093\"},118932:{\"value\":\"1D094\",\"name\":\"BYZANTINE MUSICAL SYMBOL DIGORGON PARESTIGMENON ARISTERA ANO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD094\"},118933:{\"value\":\"1D095\",\"name\":\"BYZANTINE MUSICAL SYMBOL DIGORGON PARESTIGMENON DEXIA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD095\"},118934:{\"value\":\"1D096\",\"name\":\"BYZANTINE MUSICAL SYMBOL TRIGORGON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD096\"},118935:{\"value\":\"1D097\",\"name\":\"BYZANTINE MUSICAL SYMBOL ARGON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD097\"},118936:{\"value\":\"1D098\",\"name\":\"BYZANTINE MUSICAL SYMBOL IMIDIARGON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD098\"},118937:{\"value\":\"1D099\",\"name\":\"BYZANTINE MUSICAL SYMBOL DIARGON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD099\"},118938:{\"value\":\"1D09A\",\"name\":\"BYZANTINE MUSICAL SYMBOL AGOGI POLI ARGI\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD09A\"},118939:{\"value\":\"1D09B\",\"name\":\"BYZANTINE MUSICAL SYMBOL AGOGI ARGOTERI\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD09B\"},118940:{\"value\":\"1D09C\",\"name\":\"BYZANTINE MUSICAL SYMBOL AGOGI ARGI\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD09C\"},118941:{\"value\":\"1D09D\",\"name\":\"BYZANTINE MUSICAL SYMBOL AGOGI METRIA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD09D\"},118942:{\"value\":\"1D09E\",\"name\":\"BYZANTINE MUSICAL SYMBOL AGOGI MESI\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD09E\"},118943:{\"value\":\"1D09F\",\"name\":\"BYZANTINE MUSICAL SYMBOL AGOGI GORGI\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD09F\"},118944:{\"value\":\"1D0A0\",\"name\":\"BYZANTINE MUSICAL SYMBOL AGOGI GORGOTERI\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0A0\"},118945:{\"value\":\"1D0A1\",\"name\":\"BYZANTINE MUSICAL SYMBOL AGOGI POLI GORGI\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0A1\"},118946:{\"value\":\"1D0A2\",\"name\":\"BYZANTINE MUSICAL SYMBOL MARTYRIA PROTOS ICHOS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0A2\"},118947:{\"value\":\"1D0A3\",\"name\":\"BYZANTINE MUSICAL SYMBOL MARTYRIA ALLI PROTOS ICHOS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0A3\"},118948:{\"value\":\"1D0A4\",\"name\":\"BYZANTINE MUSICAL SYMBOL MARTYRIA DEYTEROS ICHOS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0A4\"},118949:{\"value\":\"1D0A5\",\"name\":\"BYZANTINE MUSICAL SYMBOL MARTYRIA ALLI DEYTEROS ICHOS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0A5\"},118950:{\"value\":\"1D0A6\",\"name\":\"BYZANTINE MUSICAL SYMBOL MARTYRIA TRITOS ICHOS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0A6\"},118951:{\"value\":\"1D0A7\",\"name\":\"BYZANTINE MUSICAL SYMBOL MARTYRIA TRIFONIAS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0A7\"},118952:{\"value\":\"1D0A8\",\"name\":\"BYZANTINE MUSICAL SYMBOL MARTYRIA TETARTOS ICHOS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0A8\"},118953:{\"value\":\"1D0A9\",\"name\":\"BYZANTINE MUSICAL SYMBOL MARTYRIA TETARTOS LEGETOS ICHOS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0A9\"},118954:{\"value\":\"1D0AA\",\"name\":\"BYZANTINE MUSICAL SYMBOL MARTYRIA LEGETOS ICHOS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0AA\"},118955:{\"value\":\"1D0AB\",\"name\":\"BYZANTINE MUSICAL SYMBOL MARTYRIA PLAGIOS ICHOS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0AB\"},118956:{\"value\":\"1D0AC\",\"name\":\"BYZANTINE MUSICAL SYMBOL ISAKIA TELOUS ICHIMATOS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0AC\"},118957:{\"value\":\"1D0AD\",\"name\":\"BYZANTINE MUSICAL SYMBOL APOSTROFOI TELOUS ICHIMATOS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0AD\"},118958:{\"value\":\"1D0AE\",\"name\":\"BYZANTINE MUSICAL SYMBOL FANEROSIS TETRAFONIAS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0AE\"},118959:{\"value\":\"1D0AF\",\"name\":\"BYZANTINE MUSICAL SYMBOL FANEROSIS MONOFONIAS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0AF\"},118960:{\"value\":\"1D0B0\",\"name\":\"BYZANTINE MUSICAL SYMBOL FANEROSIS DIFONIAS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0B0\"},118961:{\"value\":\"1D0B1\",\"name\":\"BYZANTINE MUSICAL SYMBOL MARTYRIA VARYS ICHOS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0B1\"},118962:{\"value\":\"1D0B2\",\"name\":\"BYZANTINE MUSICAL SYMBOL MARTYRIA PROTOVARYS ICHOS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0B2\"},118963:{\"value\":\"1D0B3\",\"name\":\"BYZANTINE MUSICAL SYMBOL MARTYRIA PLAGIOS TETARTOS ICHOS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0B3\"},118964:{\"value\":\"1D0B4\",\"name\":\"BYZANTINE MUSICAL SYMBOL GORTHMIKON N APLOUN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0B4\"},118965:{\"value\":\"1D0B5\",\"name\":\"BYZANTINE MUSICAL SYMBOL GORTHMIKON N DIPLOUN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0B5\"},118966:{\"value\":\"1D0B6\",\"name\":\"BYZANTINE MUSICAL SYMBOL ENARXIS KAI FTHORA VOU\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0B6\"},118967:{\"value\":\"1D0B7\",\"name\":\"BYZANTINE MUSICAL SYMBOL IMIFONON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0B7\"},118968:{\"value\":\"1D0B8\",\"name\":\"BYZANTINE MUSICAL SYMBOL IMIFTHORON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0B8\"},118969:{\"value\":\"1D0B9\",\"name\":\"BYZANTINE MUSICAL SYMBOL FTHORA ARCHAION DEYTEROU ICHOU\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0B9\"},118970:{\"value\":\"1D0BA\",\"name\":\"BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI PA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0BA\"},118971:{\"value\":\"1D0BB\",\"name\":\"BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI NANA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0BB\"},118972:{\"value\":\"1D0BC\",\"name\":\"BYZANTINE MUSICAL SYMBOL FTHORA NAOS ICHOS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0BC\"},118973:{\"value\":\"1D0BD\",\"name\":\"BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI DI\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0BD\"},118974:{\"value\":\"1D0BE\",\"name\":\"BYZANTINE MUSICAL SYMBOL FTHORA SKLIRON DIATONON DI\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0BE\"},118975:{\"value\":\"1D0BF\",\"name\":\"BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI KE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0BF\"},118976:{\"value\":\"1D0C0\",\"name\":\"BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI ZO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0C0\"},118977:{\"value\":\"1D0C1\",\"name\":\"BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI NI KATO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0C1\"},118978:{\"value\":\"1D0C2\",\"name\":\"BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI NI ANO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0C2\"},118979:{\"value\":\"1D0C3\",\"name\":\"BYZANTINE MUSICAL SYMBOL FTHORA MALAKON CHROMA DIFONIAS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0C3\"},118980:{\"value\":\"1D0C4\",\"name\":\"BYZANTINE MUSICAL SYMBOL FTHORA MALAKON CHROMA MONOFONIAS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0C4\"},118981:{\"value\":\"1D0C5\",\"name\":\"BYZANTINE MUSICAL SYMBOL FHTORA SKLIRON CHROMA VASIS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0C5\"},118982:{\"value\":\"1D0C6\",\"name\":\"BYZANTINE MUSICAL SYMBOL FTHORA SKLIRON CHROMA SYNAFI\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0C6\"},118983:{\"value\":\"1D0C7\",\"name\":\"BYZANTINE MUSICAL SYMBOL FTHORA NENANO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0C7\"},118984:{\"value\":\"1D0C8\",\"name\":\"BYZANTINE MUSICAL SYMBOL CHROA ZYGOS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0C8\"},118985:{\"value\":\"1D0C9\",\"name\":\"BYZANTINE MUSICAL SYMBOL CHROA KLITON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0C9\"},118986:{\"value\":\"1D0CA\",\"name\":\"BYZANTINE MUSICAL SYMBOL CHROA SPATHI\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0CA\"},118987:{\"value\":\"1D0CB\",\"name\":\"BYZANTINE MUSICAL SYMBOL FTHORA I YFESIS TETARTIMORION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0CB\"},118988:{\"value\":\"1D0CC\",\"name\":\"BYZANTINE MUSICAL SYMBOL FTHORA ENARMONIOS ANTIFONIA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0CC\"},118989:{\"value\":\"1D0CD\",\"name\":\"BYZANTINE MUSICAL SYMBOL YFESIS TRITIMORION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0CD\"},118990:{\"value\":\"1D0CE\",\"name\":\"BYZANTINE MUSICAL SYMBOL DIESIS TRITIMORION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0CE\"},118991:{\"value\":\"1D0CF\",\"name\":\"BYZANTINE MUSICAL SYMBOL DIESIS TETARTIMORION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0CF\"},118992:{\"value\":\"1D0D0\",\"name\":\"BYZANTINE MUSICAL SYMBOL DIESIS APLI DYO DODEKATA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0D0\"},118993:{\"value\":\"1D0D1\",\"name\":\"BYZANTINE MUSICAL SYMBOL DIESIS MONOGRAMMOS TESSERA DODEKATA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0D1\"},118994:{\"value\":\"1D0D2\",\"name\":\"BYZANTINE MUSICAL SYMBOL DIESIS DIGRAMMOS EX DODEKATA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0D2\"},118995:{\"value\":\"1D0D3\",\"name\":\"BYZANTINE MUSICAL SYMBOL DIESIS TRIGRAMMOS OKTO DODEKATA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0D3\"},118996:{\"value\":\"1D0D4\",\"name\":\"BYZANTINE MUSICAL SYMBOL YFESIS APLI DYO DODEKATA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0D4\"},118997:{\"value\":\"1D0D5\",\"name\":\"BYZANTINE MUSICAL SYMBOL YFESIS MONOGRAMMOS TESSERA DODEKATA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0D5\"},118998:{\"value\":\"1D0D6\",\"name\":\"BYZANTINE MUSICAL SYMBOL YFESIS DIGRAMMOS EX DODEKATA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0D6\"},118999:{\"value\":\"1D0D7\",\"name\":\"BYZANTINE MUSICAL SYMBOL YFESIS TRIGRAMMOS OKTO DODEKATA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0D7\"},119000:{\"value\":\"1D0D8\",\"name\":\"BYZANTINE MUSICAL SYMBOL GENIKI DIESIS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0D8\"},119001:{\"value\":\"1D0D9\",\"name\":\"BYZANTINE MUSICAL SYMBOL GENIKI YFESIS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0D9\"},119002:{\"value\":\"1D0DA\",\"name\":\"BYZANTINE MUSICAL SYMBOL DIASTOLI APLI MIKRI\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0DA\"},119003:{\"value\":\"1D0DB\",\"name\":\"BYZANTINE MUSICAL SYMBOL DIASTOLI APLI MEGALI\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0DB\"},119004:{\"value\":\"1D0DC\",\"name\":\"BYZANTINE MUSICAL SYMBOL DIASTOLI DIPLI\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0DC\"},119005:{\"value\":\"1D0DD\",\"name\":\"BYZANTINE MUSICAL SYMBOL DIASTOLI THESEOS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0DD\"},119006:{\"value\":\"1D0DE\",\"name\":\"BYZANTINE MUSICAL SYMBOL SIMANSIS THESEOS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0DE\"},119007:{\"value\":\"1D0DF\",\"name\":\"BYZANTINE MUSICAL SYMBOL SIMANSIS THESEOS DISIMOU\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0DF\"},119008:{\"value\":\"1D0E0\",\"name\":\"BYZANTINE MUSICAL SYMBOL SIMANSIS THESEOS TRISIMOU\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0E0\"},119009:{\"value\":\"1D0E1\",\"name\":\"BYZANTINE MUSICAL SYMBOL SIMANSIS THESEOS TETRASIMOU\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0E1\"},119010:{\"value\":\"1D0E2\",\"name\":\"BYZANTINE MUSICAL SYMBOL SIMANSIS ARSEOS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0E2\"},119011:{\"value\":\"1D0E3\",\"name\":\"BYZANTINE MUSICAL SYMBOL SIMANSIS ARSEOS DISIMOU\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0E3\"},119012:{\"value\":\"1D0E4\",\"name\":\"BYZANTINE MUSICAL SYMBOL SIMANSIS ARSEOS TRISIMOU\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0E4\"},119013:{\"value\":\"1D0E5\",\"name\":\"BYZANTINE MUSICAL SYMBOL SIMANSIS ARSEOS TETRASIMOU\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0E5\"},119014:{\"value\":\"1D0E6\",\"name\":\"BYZANTINE MUSICAL SYMBOL DIGRAMMA GG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0E6\"},119015:{\"value\":\"1D0E7\",\"name\":\"BYZANTINE MUSICAL SYMBOL DIFTOGGOS OU\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0E7\"},119016:{\"value\":\"1D0E8\",\"name\":\"BYZANTINE MUSICAL SYMBOL STIGMA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0E8\"},119017:{\"value\":\"1D0E9\",\"name\":\"BYZANTINE MUSICAL SYMBOL ARKTIKO PA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0E9\"},119018:{\"value\":\"1D0EA\",\"name\":\"BYZANTINE MUSICAL SYMBOL ARKTIKO VOU\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0EA\"},119019:{\"value\":\"1D0EB\",\"name\":\"BYZANTINE MUSICAL SYMBOL ARKTIKO GA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0EB\"},119020:{\"value\":\"1D0EC\",\"name\":\"BYZANTINE MUSICAL SYMBOL ARKTIKO DI\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0EC\"},119021:{\"value\":\"1D0ED\",\"name\":\"BYZANTINE MUSICAL SYMBOL ARKTIKO KE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0ED\"},119022:{\"value\":\"1D0EE\",\"name\":\"BYZANTINE MUSICAL SYMBOL ARKTIKO ZO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0EE\"},119023:{\"value\":\"1D0EF\",\"name\":\"BYZANTINE MUSICAL SYMBOL ARKTIKO NI\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0EF\"},119024:{\"value\":\"1D0F0\",\"name\":\"BYZANTINE MUSICAL SYMBOL KENTIMATA NEO MESO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0F0\"},119025:{\"value\":\"1D0F1\",\"name\":\"BYZANTINE MUSICAL SYMBOL KENTIMA NEO MESO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0F1\"},119026:{\"value\":\"1D0F2\",\"name\":\"BYZANTINE MUSICAL SYMBOL KENTIMATA NEO KATO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0F2\"},119027:{\"value\":\"1D0F3\",\"name\":\"BYZANTINE MUSICAL SYMBOL KENTIMA NEO KATO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0F3\"},119028:{\"value\":\"1D0F4\",\"name\":\"BYZANTINE MUSICAL SYMBOL KLASMA KATO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0F4\"},119029:{\"value\":\"1D0F5\",\"name\":\"BYZANTINE MUSICAL SYMBOL GORGON NEO KATO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0F5\"},119040:{\"value\":\"1D100\",\"name\":\"MUSICAL SYMBOL SINGLE BARLINE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD100\"},119041:{\"value\":\"1D101\",\"name\":\"MUSICAL SYMBOL DOUBLE BARLINE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD101\"},119042:{\"value\":\"1D102\",\"name\":\"MUSICAL SYMBOL FINAL BARLINE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD102\"},119043:{\"value\":\"1D103\",\"name\":\"MUSICAL SYMBOL REVERSE FINAL BARLINE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD103\"},119044:{\"value\":\"1D104\",\"name\":\"MUSICAL SYMBOL DASHED BARLINE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD104\"},119045:{\"value\":\"1D105\",\"name\":\"MUSICAL SYMBOL SHORT BARLINE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD105\"},119046:{\"value\":\"1D106\",\"name\":\"MUSICAL SYMBOL LEFT REPEAT SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD106\"},119047:{\"value\":\"1D107\",\"name\":\"MUSICAL SYMBOL RIGHT REPEAT SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD107\"},119048:{\"value\":\"1D108\",\"name\":\"MUSICAL SYMBOL REPEAT DOTS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD108\"},119049:{\"value\":\"1D109\",\"name\":\"MUSICAL SYMBOL DAL SEGNO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD109\"},119050:{\"value\":\"1D10A\",\"name\":\"MUSICAL SYMBOL DA CAPO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD10A\"},119051:{\"value\":\"1D10B\",\"name\":\"MUSICAL SYMBOL SEGNO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD10B\"},119052:{\"value\":\"1D10C\",\"name\":\"MUSICAL SYMBOL CODA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD10C\"},119053:{\"value\":\"1D10D\",\"name\":\"MUSICAL SYMBOL REPEATED FIGURE-1\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD10D\"},119054:{\"value\":\"1D10E\",\"name\":\"MUSICAL SYMBOL REPEATED FIGURE-2\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD10E\"},119055:{\"value\":\"1D10F\",\"name\":\"MUSICAL SYMBOL REPEATED FIGURE-3\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD10F\"},119056:{\"value\":\"1D110\",\"name\":\"MUSICAL SYMBOL FERMATA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD110\"},119057:{\"value\":\"1D111\",\"name\":\"MUSICAL SYMBOL FERMATA BELOW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD111\"},119058:{\"value\":\"1D112\",\"name\":\"MUSICAL SYMBOL BREATH MARK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD112\"},119059:{\"value\":\"1D113\",\"name\":\"MUSICAL SYMBOL CAESURA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD113\"},119060:{\"value\":\"1D114\",\"name\":\"MUSICAL SYMBOL BRACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD114\"},119061:{\"value\":\"1D115\",\"name\":\"MUSICAL SYMBOL BRACKET\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD115\"},119062:{\"value\":\"1D116\",\"name\":\"MUSICAL SYMBOL ONE-LINE STAFF\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD116\"},119063:{\"value\":\"1D117\",\"name\":\"MUSICAL SYMBOL TWO-LINE STAFF\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD117\"},119064:{\"value\":\"1D118\",\"name\":\"MUSICAL SYMBOL THREE-LINE STAFF\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD118\"},119065:{\"value\":\"1D119\",\"name\":\"MUSICAL SYMBOL FOUR-LINE STAFF\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD119\"},119066:{\"value\":\"1D11A\",\"name\":\"MUSICAL SYMBOL FIVE-LINE STAFF\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD11A\"},119067:{\"value\":\"1D11B\",\"name\":\"MUSICAL SYMBOL SIX-LINE STAFF\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD11B\"},119068:{\"value\":\"1D11C\",\"name\":\"MUSICAL SYMBOL SIX-STRING FRETBOARD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD11C\"},119069:{\"value\":\"1D11D\",\"name\":\"MUSICAL SYMBOL FOUR-STRING FRETBOARD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD11D\"},119070:{\"value\":\"1D11E\",\"name\":\"MUSICAL SYMBOL G CLEF\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD11E\"},119071:{\"value\":\"1D11F\",\"name\":\"MUSICAL SYMBOL G CLEF OTTAVA ALTA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD11F\"},119072:{\"value\":\"1D120\",\"name\":\"MUSICAL SYMBOL G CLEF OTTAVA BASSA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD120\"},119073:{\"value\":\"1D121\",\"name\":\"MUSICAL SYMBOL C CLEF\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD121\"},119074:{\"value\":\"1D122\",\"name\":\"MUSICAL SYMBOL F CLEF\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD122\"},119075:{\"value\":\"1D123\",\"name\":\"MUSICAL SYMBOL F CLEF OTTAVA ALTA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD123\"},119076:{\"value\":\"1D124\",\"name\":\"MUSICAL SYMBOL F CLEF OTTAVA BASSA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD124\"},119077:{\"value\":\"1D125\",\"name\":\"MUSICAL SYMBOL DRUM CLEF-1\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD125\"},119078:{\"value\":\"1D126\",\"name\":\"MUSICAL SYMBOL DRUM CLEF-2\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD126\"},119081:{\"value\":\"1D129\",\"name\":\"MUSICAL SYMBOL MULTIPLE MEASURE REST\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD129\"},119082:{\"value\":\"1D12A\",\"name\":\"MUSICAL SYMBOL DOUBLE SHARP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD12A\"},119083:{\"value\":\"1D12B\",\"name\":\"MUSICAL SYMBOL DOUBLE FLAT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD12B\"},119084:{\"value\":\"1D12C\",\"name\":\"MUSICAL SYMBOL FLAT UP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD12C\"},119085:{\"value\":\"1D12D\",\"name\":\"MUSICAL SYMBOL FLAT DOWN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD12D\"},119086:{\"value\":\"1D12E\",\"name\":\"MUSICAL SYMBOL NATURAL UP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD12E\"},119087:{\"value\":\"1D12F\",\"name\":\"MUSICAL SYMBOL NATURAL DOWN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD12F\"},119088:{\"value\":\"1D130\",\"name\":\"MUSICAL SYMBOL SHARP UP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD130\"},119089:{\"value\":\"1D131\",\"name\":\"MUSICAL SYMBOL SHARP DOWN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD131\"},119090:{\"value\":\"1D132\",\"name\":\"MUSICAL SYMBOL QUARTER TONE SHARP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD132\"},119091:{\"value\":\"1D133\",\"name\":\"MUSICAL SYMBOL QUARTER TONE FLAT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD133\"},119092:{\"value\":\"1D134\",\"name\":\"MUSICAL SYMBOL COMMON TIME\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD134\"},119093:{\"value\":\"1D135\",\"name\":\"MUSICAL SYMBOL CUT TIME\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD135\"},119094:{\"value\":\"1D136\",\"name\":\"MUSICAL SYMBOL OTTAVA ALTA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD136\"},119095:{\"value\":\"1D137\",\"name\":\"MUSICAL SYMBOL OTTAVA BASSA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD137\"},119096:{\"value\":\"1D138\",\"name\":\"MUSICAL SYMBOL QUINDICESIMA ALTA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD138\"},119097:{\"value\":\"1D139\",\"name\":\"MUSICAL SYMBOL QUINDICESIMA BASSA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD139\"},119098:{\"value\":\"1D13A\",\"name\":\"MUSICAL SYMBOL MULTI REST\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD13A\"},119099:{\"value\":\"1D13B\",\"name\":\"MUSICAL SYMBOL WHOLE REST\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD13B\"},119100:{\"value\":\"1D13C\",\"name\":\"MUSICAL SYMBOL HALF REST\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD13C\"},119101:{\"value\":\"1D13D\",\"name\":\"MUSICAL SYMBOL QUARTER REST\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD13D\"},119102:{\"value\":\"1D13E\",\"name\":\"MUSICAL SYMBOL EIGHTH REST\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD13E\"},119103:{\"value\":\"1D13F\",\"name\":\"MUSICAL SYMBOL SIXTEENTH REST\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD13F\"},119104:{\"value\":\"1D140\",\"name\":\"MUSICAL SYMBOL THIRTY-SECOND REST\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD140\"},119105:{\"value\":\"1D141\",\"name\":\"MUSICAL SYMBOL SIXTY-FOURTH REST\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD141\"},119106:{\"value\":\"1D142\",\"name\":\"MUSICAL SYMBOL ONE HUNDRED TWENTY-EIGHTH REST\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD142\"},119107:{\"value\":\"1D143\",\"name\":\"MUSICAL SYMBOL X NOTEHEAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD143\"},119108:{\"value\":\"1D144\",\"name\":\"MUSICAL SYMBOL PLUS NOTEHEAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD144\"},119109:{\"value\":\"1D145\",\"name\":\"MUSICAL SYMBOL CIRCLE X NOTEHEAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD145\"},119110:{\"value\":\"1D146\",\"name\":\"MUSICAL SYMBOL SQUARE NOTEHEAD WHITE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD146\"},119111:{\"value\":\"1D147\",\"name\":\"MUSICAL SYMBOL SQUARE NOTEHEAD BLACK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD147\"},119112:{\"value\":\"1D148\",\"name\":\"MUSICAL SYMBOL TRIANGLE NOTEHEAD UP WHITE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD148\"},119113:{\"value\":\"1D149\",\"name\":\"MUSICAL SYMBOL TRIANGLE NOTEHEAD UP BLACK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD149\"},119114:{\"value\":\"1D14A\",\"name\":\"MUSICAL SYMBOL TRIANGLE NOTEHEAD LEFT WHITE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD14A\"},119115:{\"value\":\"1D14B\",\"name\":\"MUSICAL SYMBOL TRIANGLE NOTEHEAD LEFT BLACK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD14B\"},119116:{\"value\":\"1D14C\",\"name\":\"MUSICAL SYMBOL TRIANGLE NOTEHEAD RIGHT WHITE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD14C\"},119117:{\"value\":\"1D14D\",\"name\":\"MUSICAL SYMBOL TRIANGLE NOTEHEAD RIGHT BLACK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD14D\"},119118:{\"value\":\"1D14E\",\"name\":\"MUSICAL SYMBOL TRIANGLE NOTEHEAD DOWN WHITE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD14E\"},119119:{\"value\":\"1D14F\",\"name\":\"MUSICAL SYMBOL TRIANGLE NOTEHEAD DOWN BLACK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD14F\"},119120:{\"value\":\"1D150\",\"name\":\"MUSICAL SYMBOL TRIANGLE NOTEHEAD UP RIGHT WHITE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD150\"},119121:{\"value\":\"1D151\",\"name\":\"MUSICAL SYMBOL TRIANGLE NOTEHEAD UP RIGHT BLACK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD151\"},119122:{\"value\":\"1D152\",\"name\":\"MUSICAL SYMBOL MOON NOTEHEAD WHITE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD152\"},119123:{\"value\":\"1D153\",\"name\":\"MUSICAL SYMBOL MOON NOTEHEAD BLACK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD153\"},119124:{\"value\":\"1D154\",\"name\":\"MUSICAL SYMBOL TRIANGLE-ROUND NOTEHEAD DOWN WHITE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD154\"},119125:{\"value\":\"1D155\",\"name\":\"MUSICAL SYMBOL TRIANGLE-ROUND NOTEHEAD DOWN BLACK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD155\"},119126:{\"value\":\"1D156\",\"name\":\"MUSICAL SYMBOL PARENTHESIS NOTEHEAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD156\"},119127:{\"value\":\"1D157\",\"name\":\"MUSICAL SYMBOL VOID NOTEHEAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD157\"},119128:{\"value\":\"1D158\",\"name\":\"MUSICAL SYMBOL NOTEHEAD BLACK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD158\"},119129:{\"value\":\"1D159\",\"name\":\"MUSICAL SYMBOL NULL NOTEHEAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD159\"},119130:{\"value\":\"1D15A\",\"name\":\"MUSICAL SYMBOL CLUSTER NOTEHEAD WHITE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD15A\"},119131:{\"value\":\"1D15B\",\"name\":\"MUSICAL SYMBOL CLUSTER NOTEHEAD BLACK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD15B\"},119132:{\"value\":\"1D15C\",\"name\":\"MUSICAL SYMBOL BREVE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD15C\"},119133:{\"value\":\"1D15D\",\"name\":\"MUSICAL SYMBOL WHOLE NOTE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD15D\"},119134:{\"value\":\"1D15E\",\"name\":\"MUSICAL SYMBOL HALF NOTE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"1D157 1D165\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD15E\"},119135:{\"value\":\"1D15F\",\"name\":\"MUSICAL SYMBOL QUARTER NOTE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"1D158 1D165\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD15F\"},119136:{\"value\":\"1D160\",\"name\":\"MUSICAL SYMBOL EIGHTH NOTE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"1D15F 1D16E\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD160\"},119137:{\"value\":\"1D161\",\"name\":\"MUSICAL SYMBOL SIXTEENTH NOTE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"1D15F 1D16F\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD161\"},119138:{\"value\":\"1D162\",\"name\":\"MUSICAL SYMBOL THIRTY-SECOND NOTE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"1D15F 1D170\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD162\"},119139:{\"value\":\"1D163\",\"name\":\"MUSICAL SYMBOL SIXTY-FOURTH NOTE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"1D15F 1D171\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD163\"},119140:{\"value\":\"1D164\",\"name\":\"MUSICAL SYMBOL ONE HUNDRED TWENTY-EIGHTH NOTE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"1D15F 1D172\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD164\"},119146:{\"value\":\"1D16A\",\"name\":\"MUSICAL SYMBOL FINGERED TREMOLO-1\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD16A\"},119147:{\"value\":\"1D16B\",\"name\":\"MUSICAL SYMBOL FINGERED TREMOLO-2\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD16B\"},119148:{\"value\":\"1D16C\",\"name\":\"MUSICAL SYMBOL FINGERED TREMOLO-3\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD16C\"},119171:{\"value\":\"1D183\",\"name\":\"MUSICAL SYMBOL ARPEGGIATO UP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD183\"},119172:{\"value\":\"1D184\",\"name\":\"MUSICAL SYMBOL ARPEGGIATO DOWN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD184\"},119180:{\"value\":\"1D18C\",\"name\":\"MUSICAL SYMBOL RINFORZANDO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD18C\"},119181:{\"value\":\"1D18D\",\"name\":\"MUSICAL SYMBOL SUBITO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD18D\"},119182:{\"value\":\"1D18E\",\"name\":\"MUSICAL SYMBOL Z\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD18E\"},119183:{\"value\":\"1D18F\",\"name\":\"MUSICAL SYMBOL PIANO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD18F\"},119184:{\"value\":\"1D190\",\"name\":\"MUSICAL SYMBOL MEZZO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD190\"},119185:{\"value\":\"1D191\",\"name\":\"MUSICAL SYMBOL FORTE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD191\"},119186:{\"value\":\"1D192\",\"name\":\"MUSICAL SYMBOL CRESCENDO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD192\"},119187:{\"value\":\"1D193\",\"name\":\"MUSICAL SYMBOL DECRESCENDO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD193\"},119188:{\"value\":\"1D194\",\"name\":\"MUSICAL SYMBOL GRACE NOTE SLASH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD194\"},119189:{\"value\":\"1D195\",\"name\":\"MUSICAL SYMBOL GRACE NOTE NO SLASH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD195\"},119190:{\"value\":\"1D196\",\"name\":\"MUSICAL SYMBOL TR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD196\"},119191:{\"value\":\"1D197\",\"name\":\"MUSICAL SYMBOL TURN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD197\"},119192:{\"value\":\"1D198\",\"name\":\"MUSICAL SYMBOL INVERTED TURN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD198\"},119193:{\"value\":\"1D199\",\"name\":\"MUSICAL SYMBOL TURN SLASH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD199\"},119194:{\"value\":\"1D19A\",\"name\":\"MUSICAL SYMBOL TURN UP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD19A\"},119195:{\"value\":\"1D19B\",\"name\":\"MUSICAL SYMBOL ORNAMENT STROKE-1\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD19B\"},119196:{\"value\":\"1D19C\",\"name\":\"MUSICAL SYMBOL ORNAMENT STROKE-2\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD19C\"},119197:{\"value\":\"1D19D\",\"name\":\"MUSICAL SYMBOL ORNAMENT STROKE-3\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD19D\"},119198:{\"value\":\"1D19E\",\"name\":\"MUSICAL SYMBOL ORNAMENT STROKE-4\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD19E\"},119199:{\"value\":\"1D19F\",\"name\":\"MUSICAL SYMBOL ORNAMENT STROKE-5\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD19F\"},119200:{\"value\":\"1D1A0\",\"name\":\"MUSICAL SYMBOL ORNAMENT STROKE-6\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD1A0\"},119201:{\"value\":\"1D1A1\",\"name\":\"MUSICAL SYMBOL ORNAMENT STROKE-7\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD1A1\"},119202:{\"value\":\"1D1A2\",\"name\":\"MUSICAL SYMBOL ORNAMENT STROKE-8\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD1A2\"},119203:{\"value\":\"1D1A3\",\"name\":\"MUSICAL SYMBOL ORNAMENT STROKE-9\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD1A3\"},119204:{\"value\":\"1D1A4\",\"name\":\"MUSICAL SYMBOL ORNAMENT STROKE-10\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD1A4\"},119205:{\"value\":\"1D1A5\",\"name\":\"MUSICAL SYMBOL ORNAMENT STROKE-11\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD1A5\"},119206:{\"value\":\"1D1A6\",\"name\":\"MUSICAL SYMBOL HAUPTSTIMME\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD1A6\"},119207:{\"value\":\"1D1A7\",\"name\":\"MUSICAL SYMBOL NEBENSTIMME\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD1A7\"},119208:{\"value\":\"1D1A8\",\"name\":\"MUSICAL SYMBOL END OF STIMME\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD1A8\"},119209:{\"value\":\"1D1A9\",\"name\":\"MUSICAL SYMBOL DEGREE SLASH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD1A9\"},119214:{\"value\":\"1D1AE\",\"name\":\"MUSICAL SYMBOL PEDAL MARK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD1AE\"},119215:{\"value\":\"1D1AF\",\"name\":\"MUSICAL SYMBOL PEDAL UP MARK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD1AF\"},119216:{\"value\":\"1D1B0\",\"name\":\"MUSICAL SYMBOL HALF PEDAL MARK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD1B0\"},119217:{\"value\":\"1D1B1\",\"name\":\"MUSICAL SYMBOL GLISSANDO UP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD1B1\"},119218:{\"value\":\"1D1B2\",\"name\":\"MUSICAL SYMBOL GLISSANDO DOWN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD1B2\"},119219:{\"value\":\"1D1B3\",\"name\":\"MUSICAL SYMBOL WITH FINGERNAILS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD1B3\"},119220:{\"value\":\"1D1B4\",\"name\":\"MUSICAL SYMBOL DAMP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD1B4\"},119221:{\"value\":\"1D1B5\",\"name\":\"MUSICAL SYMBOL DAMP ALL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD1B5\"},119222:{\"value\":\"1D1B6\",\"name\":\"MUSICAL SYMBOL MAXIMA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD1B6\"},119223:{\"value\":\"1D1B7\",\"name\":\"MUSICAL SYMBOL LONGA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD1B7\"},119224:{\"value\":\"1D1B8\",\"name\":\"MUSICAL SYMBOL BREVIS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD1B8\"},119225:{\"value\":\"1D1B9\",\"name\":\"MUSICAL SYMBOL SEMIBREVIS WHITE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD1B9\"},119226:{\"value\":\"1D1BA\",\"name\":\"MUSICAL SYMBOL SEMIBREVIS BLACK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD1BA\"},119227:{\"value\":\"1D1BB\",\"name\":\"MUSICAL SYMBOL MINIMA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"1D1B9 1D165\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD1BB\"},119228:{\"value\":\"1D1BC\",\"name\":\"MUSICAL SYMBOL MINIMA BLACK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"1D1BA 1D165\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD1BC\"},119229:{\"value\":\"1D1BD\",\"name\":\"MUSICAL SYMBOL SEMIMINIMA WHITE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"1D1BB 1D16E\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD1BD\"},119230:{\"value\":\"1D1BE\",\"name\":\"MUSICAL SYMBOL SEMIMINIMA BLACK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"1D1BC 1D16E\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD1BE\"},119231:{\"value\":\"1D1BF\",\"name\":\"MUSICAL SYMBOL FUSA WHITE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"1D1BB 1D16F\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD1BF\"},119232:{\"value\":\"1D1C0\",\"name\":\"MUSICAL SYMBOL FUSA BLACK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"1D1BC 1D16F\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD1C0\"},119233:{\"value\":\"1D1C1\",\"name\":\"MUSICAL SYMBOL LONGA PERFECTA REST\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD1C1\"},119234:{\"value\":\"1D1C2\",\"name\":\"MUSICAL SYMBOL LONGA IMPERFECTA REST\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD1C2\"},119235:{\"value\":\"1D1C3\",\"name\":\"MUSICAL SYMBOL BREVIS REST\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD1C3\"},119236:{\"value\":\"1D1C4\",\"name\":\"MUSICAL SYMBOL SEMIBREVIS REST\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD1C4\"},119237:{\"value\":\"1D1C5\",\"name\":\"MUSICAL SYMBOL MINIMA REST\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD1C5\"},119238:{\"value\":\"1D1C6\",\"name\":\"MUSICAL SYMBOL SEMIMINIMA REST\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD1C6\"},119239:{\"value\":\"1D1C7\",\"name\":\"MUSICAL SYMBOL TEMPUS PERFECTUM CUM PROLATIONE PERFECTA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD1C7\"},119240:{\"value\":\"1D1C8\",\"name\":\"MUSICAL SYMBOL TEMPUS PERFECTUM CUM PROLATIONE IMPERFECTA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD1C8\"},119241:{\"value\":\"1D1C9\",\"name\":\"MUSICAL SYMBOL TEMPUS PERFECTUM CUM PROLATIONE PERFECTA DIMINUTION-1\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD1C9\"},119242:{\"value\":\"1D1CA\",\"name\":\"MUSICAL SYMBOL TEMPUS IMPERFECTUM CUM PROLATIONE PERFECTA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD1CA\"},119243:{\"value\":\"1D1CB\",\"name\":\"MUSICAL SYMBOL TEMPUS IMPERFECTUM CUM PROLATIONE IMPERFECTA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD1CB\"},119244:{\"value\":\"1D1CC\",\"name\":\"MUSICAL SYMBOL TEMPUS IMPERFECTUM CUM PROLATIONE IMPERFECTA DIMINUTION-1\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD1CC\"},119245:{\"value\":\"1D1CD\",\"name\":\"MUSICAL SYMBOL TEMPUS IMPERFECTUM CUM PROLATIONE IMPERFECTA DIMINUTION-2\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD1CD\"},119246:{\"value\":\"1D1CE\",\"name\":\"MUSICAL SYMBOL TEMPUS IMPERFECTUM CUM PROLATIONE IMPERFECTA DIMINUTION-3\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD1CE\"},119247:{\"value\":\"1D1CF\",\"name\":\"MUSICAL SYMBOL CROIX\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD1CF\"},119248:{\"value\":\"1D1D0\",\"name\":\"MUSICAL SYMBOL GREGORIAN C CLEF\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD1D0\"},119249:{\"value\":\"1D1D1\",\"name\":\"MUSICAL SYMBOL GREGORIAN F CLEF\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD1D1\"},119250:{\"value\":\"1D1D2\",\"name\":\"MUSICAL SYMBOL SQUARE B\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD1D2\"},119251:{\"value\":\"1D1D3\",\"name\":\"MUSICAL SYMBOL VIRGA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD1D3\"},119252:{\"value\":\"1D1D4\",\"name\":\"MUSICAL SYMBOL PODATUS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD1D4\"},119253:{\"value\":\"1D1D5\",\"name\":\"MUSICAL SYMBOL CLIVIS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD1D5\"},119254:{\"value\":\"1D1D6\",\"name\":\"MUSICAL SYMBOL SCANDICUS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD1D6\"},119255:{\"value\":\"1D1D7\",\"name\":\"MUSICAL SYMBOL CLIMACUS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD1D7\"},119256:{\"value\":\"1D1D8\",\"name\":\"MUSICAL SYMBOL TORCULUS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD1D8\"},119257:{\"value\":\"1D1D9\",\"name\":\"MUSICAL SYMBOL PORRECTUS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD1D9\"},119258:{\"value\":\"1D1DA\",\"name\":\"MUSICAL SYMBOL PORRECTUS FLEXUS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD1DA\"},119259:{\"value\":\"1D1DB\",\"name\":\"MUSICAL SYMBOL SCANDICUS FLEXUS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD1DB\"},119260:{\"value\":\"1D1DC\",\"name\":\"MUSICAL SYMBOL TORCULUS RESUPINUS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD1DC\"},119261:{\"value\":\"1D1DD\",\"name\":\"MUSICAL SYMBOL PES SUBPUNCTIS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD1DD\"},119262:{\"value\":\"1D1DE\",\"name\":\"MUSICAL SYMBOL KIEVAN C CLEF\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD1DE\"},119263:{\"value\":\"1D1DF\",\"name\":\"MUSICAL SYMBOL KIEVAN END OF PIECE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD1DF\"},119264:{\"value\":\"1D1E0\",\"name\":\"MUSICAL SYMBOL KIEVAN FINAL NOTE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD1E0\"},119265:{\"value\":\"1D1E1\",\"name\":\"MUSICAL SYMBOL KIEVAN RECITATIVE MARK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD1E1\"},119266:{\"value\":\"1D1E2\",\"name\":\"MUSICAL SYMBOL KIEVAN WHOLE NOTE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD1E2\"},119267:{\"value\":\"1D1E3\",\"name\":\"MUSICAL SYMBOL KIEVAN HALF NOTE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD1E3\"},119268:{\"value\":\"1D1E4\",\"name\":\"MUSICAL SYMBOL KIEVAN QUARTER NOTE STEM DOWN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD1E4\"},119269:{\"value\":\"1D1E5\",\"name\":\"MUSICAL SYMBOL KIEVAN QUARTER NOTE STEM UP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD1E5\"},119270:{\"value\":\"1D1E6\",\"name\":\"MUSICAL SYMBOL KIEVAN EIGHTH NOTE STEM DOWN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD1E6\"},119271:{\"value\":\"1D1E7\",\"name\":\"MUSICAL SYMBOL KIEVAN EIGHTH NOTE STEM UP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD1E7\"},119272:{\"value\":\"1D1E8\",\"name\":\"MUSICAL SYMBOL KIEVAN FLAT SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD1E8\"},119296:{\"value\":\"1D200\",\"name\":\"GREEK VOCAL NOTATION SYMBOL-1\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD200\"},119297:{\"value\":\"1D201\",\"name\":\"GREEK VOCAL NOTATION SYMBOL-2\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD201\"},119298:{\"value\":\"1D202\",\"name\":\"GREEK VOCAL NOTATION SYMBOL-3\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD202\"},119299:{\"value\":\"1D203\",\"name\":\"GREEK VOCAL NOTATION SYMBOL-4\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD203\"},119300:{\"value\":\"1D204\",\"name\":\"GREEK VOCAL NOTATION SYMBOL-5\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD204\"},119301:{\"value\":\"1D205\",\"name\":\"GREEK VOCAL NOTATION SYMBOL-6\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD205\"},119302:{\"value\":\"1D206\",\"name\":\"GREEK VOCAL NOTATION SYMBOL-7\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD206\"},119303:{\"value\":\"1D207\",\"name\":\"GREEK VOCAL NOTATION SYMBOL-8\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD207\"},119304:{\"value\":\"1D208\",\"name\":\"GREEK VOCAL NOTATION SYMBOL-9\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD208\"},119305:{\"value\":\"1D209\",\"name\":\"GREEK VOCAL NOTATION SYMBOL-10\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD209\"},119306:{\"value\":\"1D20A\",\"name\":\"GREEK VOCAL NOTATION SYMBOL-11\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD20A\"},119307:{\"value\":\"1D20B\",\"name\":\"GREEK VOCAL NOTATION SYMBOL-12\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD20B\"},119308:{\"value\":\"1D20C\",\"name\":\"GREEK VOCAL NOTATION SYMBOL-13\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD20C\"},119309:{\"value\":\"1D20D\",\"name\":\"GREEK VOCAL NOTATION SYMBOL-14\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD20D\"},119310:{\"value\":\"1D20E\",\"name\":\"GREEK VOCAL NOTATION SYMBOL-15\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD20E\"},119311:{\"value\":\"1D20F\",\"name\":\"GREEK VOCAL NOTATION SYMBOL-16\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD20F\"},119312:{\"value\":\"1D210\",\"name\":\"GREEK VOCAL NOTATION SYMBOL-17\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD210\"},119313:{\"value\":\"1D211\",\"name\":\"GREEK VOCAL NOTATION SYMBOL-18\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD211\"},119314:{\"value\":\"1D212\",\"name\":\"GREEK VOCAL NOTATION SYMBOL-19\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD212\"},119315:{\"value\":\"1D213\",\"name\":\"GREEK VOCAL NOTATION SYMBOL-20\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD213\"},119316:{\"value\":\"1D214\",\"name\":\"GREEK VOCAL NOTATION SYMBOL-21\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD214\"},119317:{\"value\":\"1D215\",\"name\":\"GREEK VOCAL NOTATION SYMBOL-22\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD215\"},119318:{\"value\":\"1D216\",\"name\":\"GREEK VOCAL NOTATION SYMBOL-23\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD216\"},119319:{\"value\":\"1D217\",\"name\":\"GREEK VOCAL NOTATION SYMBOL-24\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD217\"},119320:{\"value\":\"1D218\",\"name\":\"GREEK VOCAL NOTATION SYMBOL-50\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD218\"},119321:{\"value\":\"1D219\",\"name\":\"GREEK VOCAL NOTATION SYMBOL-51\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD219\"},119322:{\"value\":\"1D21A\",\"name\":\"GREEK VOCAL NOTATION SYMBOL-52\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD21A\"},119323:{\"value\":\"1D21B\",\"name\":\"GREEK VOCAL NOTATION SYMBOL-53\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD21B\"},119324:{\"value\":\"1D21C\",\"name\":\"GREEK VOCAL NOTATION SYMBOL-54\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD21C\"},119325:{\"value\":\"1D21D\",\"name\":\"GREEK INSTRUMENTAL NOTATION SYMBOL-1\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD21D\"},119326:{\"value\":\"1D21E\",\"name\":\"GREEK INSTRUMENTAL NOTATION SYMBOL-2\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD21E\"},119327:{\"value\":\"1D21F\",\"name\":\"GREEK INSTRUMENTAL NOTATION SYMBOL-4\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD21F\"},119328:{\"value\":\"1D220\",\"name\":\"GREEK INSTRUMENTAL NOTATION SYMBOL-5\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD220\"},119329:{\"value\":\"1D221\",\"name\":\"GREEK INSTRUMENTAL NOTATION SYMBOL-7\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD221\"},119330:{\"value\":\"1D222\",\"name\":\"GREEK INSTRUMENTAL NOTATION SYMBOL-8\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD222\"},119331:{\"value\":\"1D223\",\"name\":\"GREEK INSTRUMENTAL NOTATION SYMBOL-11\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD223\"},119332:{\"value\":\"1D224\",\"name\":\"GREEK INSTRUMENTAL NOTATION SYMBOL-12\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD224\"},119333:{\"value\":\"1D225\",\"name\":\"GREEK INSTRUMENTAL NOTATION SYMBOL-13\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD225\"},119334:{\"value\":\"1D226\",\"name\":\"GREEK INSTRUMENTAL NOTATION SYMBOL-14\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD226\"},119335:{\"value\":\"1D227\",\"name\":\"GREEK INSTRUMENTAL NOTATION SYMBOL-17\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD227\"},119336:{\"value\":\"1D228\",\"name\":\"GREEK INSTRUMENTAL NOTATION SYMBOL-18\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD228\"},119337:{\"value\":\"1D229\",\"name\":\"GREEK INSTRUMENTAL NOTATION SYMBOL-19\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD229\"},119338:{\"value\":\"1D22A\",\"name\":\"GREEK INSTRUMENTAL NOTATION SYMBOL-23\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD22A\"},119339:{\"value\":\"1D22B\",\"name\":\"GREEK INSTRUMENTAL NOTATION SYMBOL-24\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD22B\"},119340:{\"value\":\"1D22C\",\"name\":\"GREEK INSTRUMENTAL NOTATION SYMBOL-25\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD22C\"},119341:{\"value\":\"1D22D\",\"name\":\"GREEK INSTRUMENTAL NOTATION SYMBOL-26\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD22D\"},119342:{\"value\":\"1D22E\",\"name\":\"GREEK INSTRUMENTAL NOTATION SYMBOL-27\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD22E\"},119343:{\"value\":\"1D22F\",\"name\":\"GREEK INSTRUMENTAL NOTATION SYMBOL-29\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD22F\"},119344:{\"value\":\"1D230\",\"name\":\"GREEK INSTRUMENTAL NOTATION SYMBOL-30\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD230\"},119345:{\"value\":\"1D231\",\"name\":\"GREEK INSTRUMENTAL NOTATION SYMBOL-32\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD231\"},119346:{\"value\":\"1D232\",\"name\":\"GREEK INSTRUMENTAL NOTATION SYMBOL-36\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD232\"},119347:{\"value\":\"1D233\",\"name\":\"GREEK INSTRUMENTAL NOTATION SYMBOL-37\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD233\"},119348:{\"value\":\"1D234\",\"name\":\"GREEK INSTRUMENTAL NOTATION SYMBOL-38\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD234\"},119349:{\"value\":\"1D235\",\"name\":\"GREEK INSTRUMENTAL NOTATION SYMBOL-39\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD235\"},119350:{\"value\":\"1D236\",\"name\":\"GREEK INSTRUMENTAL NOTATION SYMBOL-40\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD236\"},119351:{\"value\":\"1D237\",\"name\":\"GREEK INSTRUMENTAL NOTATION SYMBOL-42\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD237\"},119352:{\"value\":\"1D238\",\"name\":\"GREEK INSTRUMENTAL NOTATION SYMBOL-43\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD238\"},119353:{\"value\":\"1D239\",\"name\":\"GREEK INSTRUMENTAL NOTATION SYMBOL-45\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD239\"},119354:{\"value\":\"1D23A\",\"name\":\"GREEK INSTRUMENTAL NOTATION SYMBOL-47\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD23A\"},119355:{\"value\":\"1D23B\",\"name\":\"GREEK INSTRUMENTAL NOTATION SYMBOL-48\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD23B\"},119356:{\"value\":\"1D23C\",\"name\":\"GREEK INSTRUMENTAL NOTATION SYMBOL-49\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD23C\"},119357:{\"value\":\"1D23D\",\"name\":\"GREEK INSTRUMENTAL NOTATION SYMBOL-50\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD23D\"},119358:{\"value\":\"1D23E\",\"name\":\"GREEK INSTRUMENTAL NOTATION SYMBOL-51\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD23E\"},119359:{\"value\":\"1D23F\",\"name\":\"GREEK INSTRUMENTAL NOTATION SYMBOL-52\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD23F\"},119360:{\"value\":\"1D240\",\"name\":\"GREEK INSTRUMENTAL NOTATION SYMBOL-53\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD240\"},119361:{\"value\":\"1D241\",\"name\":\"GREEK INSTRUMENTAL NOTATION SYMBOL-54\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD241\"},119365:{\"value\":\"1D245\",\"name\":\"GREEK MUSICAL LEIMMA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD245\"},119552:{\"value\":\"1D300\",\"name\":\"MONOGRAM FOR EARTH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD300\"},119553:{\"value\":\"1D301\",\"name\":\"DIGRAM FOR HEAVENLY EARTH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD301\"},119554:{\"value\":\"1D302\",\"name\":\"DIGRAM FOR HUMAN EARTH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD302\"},119555:{\"value\":\"1D303\",\"name\":\"DIGRAM FOR EARTHLY HEAVEN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD303\"},119556:{\"value\":\"1D304\",\"name\":\"DIGRAM FOR EARTHLY HUMAN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD304\"},119557:{\"value\":\"1D305\",\"name\":\"DIGRAM FOR EARTH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD305\"},119558:{\"value\":\"1D306\",\"name\":\"TETRAGRAM FOR CENTRE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD306\"},119559:{\"value\":\"1D307\",\"name\":\"TETRAGRAM FOR FULL CIRCLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD307\"},119560:{\"value\":\"1D308\",\"name\":\"TETRAGRAM FOR MIRED\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD308\"},119561:{\"value\":\"1D309\",\"name\":\"TETRAGRAM FOR BARRIER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD309\"},119562:{\"value\":\"1D30A\",\"name\":\"TETRAGRAM FOR KEEPING SMALL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD30A\"},119563:{\"value\":\"1D30B\",\"name\":\"TETRAGRAM FOR CONTRARIETY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD30B\"},119564:{\"value\":\"1D30C\",\"name\":\"TETRAGRAM FOR ASCENT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD30C\"},119565:{\"value\":\"1D30D\",\"name\":\"TETRAGRAM FOR OPPOSITION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD30D\"},119566:{\"value\":\"1D30E\",\"name\":\"TETRAGRAM FOR BRANCHING OUT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD30E\"},119567:{\"value\":\"1D30F\",\"name\":\"TETRAGRAM FOR DEFECTIVENESS OR DISTORTION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD30F\"},119568:{\"value\":\"1D310\",\"name\":\"TETRAGRAM FOR DIVERGENCE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD310\"},119569:{\"value\":\"1D311\",\"name\":\"TETRAGRAM FOR YOUTHFULNESS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD311\"},119570:{\"value\":\"1D312\",\"name\":\"TETRAGRAM FOR INCREASE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD312\"},119571:{\"value\":\"1D313\",\"name\":\"TETRAGRAM FOR PENETRATION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD313\"},119572:{\"value\":\"1D314\",\"name\":\"TETRAGRAM FOR REACH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD314\"},119573:{\"value\":\"1D315\",\"name\":\"TETRAGRAM FOR CONTACT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD315\"},119574:{\"value\":\"1D316\",\"name\":\"TETRAGRAM FOR HOLDING BACK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD316\"},119575:{\"value\":\"1D317\",\"name\":\"TETRAGRAM FOR WAITING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD317\"},119576:{\"value\":\"1D318\",\"name\":\"TETRAGRAM FOR FOLLOWING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD318\"},119577:{\"value\":\"1D319\",\"name\":\"TETRAGRAM FOR ADVANCE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD319\"},119578:{\"value\":\"1D31A\",\"name\":\"TETRAGRAM FOR RELEASE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD31A\"},119579:{\"value\":\"1D31B\",\"name\":\"TETRAGRAM FOR RESISTANCE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD31B\"},119580:{\"value\":\"1D31C\",\"name\":\"TETRAGRAM FOR EASE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD31C\"},119581:{\"value\":\"1D31D\",\"name\":\"TETRAGRAM FOR JOY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD31D\"},119582:{\"value\":\"1D31E\",\"name\":\"TETRAGRAM FOR CONTENTION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD31E\"},119583:{\"value\":\"1D31F\",\"name\":\"TETRAGRAM FOR ENDEAVOUR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD31F\"},119584:{\"value\":\"1D320\",\"name\":\"TETRAGRAM FOR DUTIES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD320\"},119585:{\"value\":\"1D321\",\"name\":\"TETRAGRAM FOR CHANGE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD321\"},119586:{\"value\":\"1D322\",\"name\":\"TETRAGRAM FOR DECISIVENESS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD322\"},119587:{\"value\":\"1D323\",\"name\":\"TETRAGRAM FOR BOLD RESOLUTION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD323\"},119588:{\"value\":\"1D324\",\"name\":\"TETRAGRAM FOR PACKING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD324\"},119589:{\"value\":\"1D325\",\"name\":\"TETRAGRAM FOR LEGION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD325\"},119590:{\"value\":\"1D326\",\"name\":\"TETRAGRAM FOR CLOSENESS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD326\"},119591:{\"value\":\"1D327\",\"name\":\"TETRAGRAM FOR KINSHIP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD327\"},119592:{\"value\":\"1D328\",\"name\":\"TETRAGRAM FOR GATHERING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD328\"},119593:{\"value\":\"1D329\",\"name\":\"TETRAGRAM FOR STRENGTH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD329\"},119594:{\"value\":\"1D32A\",\"name\":\"TETRAGRAM FOR PURITY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD32A\"},119595:{\"value\":\"1D32B\",\"name\":\"TETRAGRAM FOR FULLNESS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD32B\"},119596:{\"value\":\"1D32C\",\"name\":\"TETRAGRAM FOR RESIDENCE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD32C\"},119597:{\"value\":\"1D32D\",\"name\":\"TETRAGRAM FOR LAW OR MODEL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD32D\"},119598:{\"value\":\"1D32E\",\"name\":\"TETRAGRAM FOR RESPONSE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD32E\"},119599:{\"value\":\"1D32F\",\"name\":\"TETRAGRAM FOR GOING TO MEET\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD32F\"},119600:{\"value\":\"1D330\",\"name\":\"TETRAGRAM FOR ENCOUNTERS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD330\"},119601:{\"value\":\"1D331\",\"name\":\"TETRAGRAM FOR STOVE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD331\"},119602:{\"value\":\"1D332\",\"name\":\"TETRAGRAM FOR GREATNESS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD332\"},119603:{\"value\":\"1D333\",\"name\":\"TETRAGRAM FOR ENLARGEMENT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD333\"},119604:{\"value\":\"1D334\",\"name\":\"TETRAGRAM FOR PATTERN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD334\"},119605:{\"value\":\"1D335\",\"name\":\"TETRAGRAM FOR RITUAL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD335\"},119606:{\"value\":\"1D336\",\"name\":\"TETRAGRAM FOR FLIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD336\"},119607:{\"value\":\"1D337\",\"name\":\"TETRAGRAM FOR VASTNESS OR WASTING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD337\"},119608:{\"value\":\"1D338\",\"name\":\"TETRAGRAM FOR CONSTANCY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD338\"},119609:{\"value\":\"1D339\",\"name\":\"TETRAGRAM FOR MEASURE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD339\"},119610:{\"value\":\"1D33A\",\"name\":\"TETRAGRAM FOR ETERNITY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD33A\"},119611:{\"value\":\"1D33B\",\"name\":\"TETRAGRAM FOR UNITY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD33B\"},119612:{\"value\":\"1D33C\",\"name\":\"TETRAGRAM FOR DIMINISHMENT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD33C\"},119613:{\"value\":\"1D33D\",\"name\":\"TETRAGRAM FOR CLOSED MOUTH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD33D\"},119614:{\"value\":\"1D33E\",\"name\":\"TETRAGRAM FOR GUARDEDNESS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD33E\"},119615:{\"value\":\"1D33F\",\"name\":\"TETRAGRAM FOR GATHERING IN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD33F\"},119616:{\"value\":\"1D340\",\"name\":\"TETRAGRAM FOR MASSING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD340\"},119617:{\"value\":\"1D341\",\"name\":\"TETRAGRAM FOR ACCUMULATION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD341\"},119618:{\"value\":\"1D342\",\"name\":\"TETRAGRAM FOR EMBELLISHMENT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD342\"},119619:{\"value\":\"1D343\",\"name\":\"TETRAGRAM FOR DOUBT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD343\"},119620:{\"value\":\"1D344\",\"name\":\"TETRAGRAM FOR WATCH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD344\"},119621:{\"value\":\"1D345\",\"name\":\"TETRAGRAM FOR SINKING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD345\"},119622:{\"value\":\"1D346\",\"name\":\"TETRAGRAM FOR INNER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD346\"},119623:{\"value\":\"1D347\",\"name\":\"TETRAGRAM FOR DEPARTURE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD347\"},119624:{\"value\":\"1D348\",\"name\":\"TETRAGRAM FOR DARKENING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD348\"},119625:{\"value\":\"1D349\",\"name\":\"TETRAGRAM FOR DIMMING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD349\"},119626:{\"value\":\"1D34A\",\"name\":\"TETRAGRAM FOR EXHAUSTION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD34A\"},119627:{\"value\":\"1D34B\",\"name\":\"TETRAGRAM FOR SEVERANCE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD34B\"},119628:{\"value\":\"1D34C\",\"name\":\"TETRAGRAM FOR STOPPAGE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD34C\"},119629:{\"value\":\"1D34D\",\"name\":\"TETRAGRAM FOR HARDNESS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD34D\"},119630:{\"value\":\"1D34E\",\"name\":\"TETRAGRAM FOR COMPLETION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD34E\"},119631:{\"value\":\"1D34F\",\"name\":\"TETRAGRAM FOR CLOSURE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD34F\"},119632:{\"value\":\"1D350\",\"name\":\"TETRAGRAM FOR FAILURE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD350\"},119633:{\"value\":\"1D351\",\"name\":\"TETRAGRAM FOR AGGRAVATION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD351\"},119634:{\"value\":\"1D352\",\"name\":\"TETRAGRAM FOR COMPLIANCE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD352\"},119635:{\"value\":\"1D353\",\"name\":\"TETRAGRAM FOR ON THE VERGE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD353\"},119636:{\"value\":\"1D354\",\"name\":\"TETRAGRAM FOR DIFFICULTIES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD354\"},119637:{\"value\":\"1D355\",\"name\":\"TETRAGRAM FOR LABOURING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD355\"},119638:{\"value\":\"1D356\",\"name\":\"TETRAGRAM FOR FOSTERING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD356\"},120832:{\"value\":\"1D800\",\"name\":\"SIGNWRITING HAND-FIST INDEX\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD800\"},120833:{\"value\":\"1D801\",\"name\":\"SIGNWRITING HAND-CIRCLE INDEX\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD801\"},120834:{\"value\":\"1D802\",\"name\":\"SIGNWRITING HAND-CUP INDEX\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD802\"},120835:{\"value\":\"1D803\",\"name\":\"SIGNWRITING HAND-OVAL INDEX\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD803\"},120836:{\"value\":\"1D804\",\"name\":\"SIGNWRITING HAND-HINGE INDEX\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD804\"},120837:{\"value\":\"1D805\",\"name\":\"SIGNWRITING HAND-ANGLE INDEX\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD805\"},120838:{\"value\":\"1D806\",\"name\":\"SIGNWRITING HAND-FIST INDEX BENT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD806\"},120839:{\"value\":\"1D807\",\"name\":\"SIGNWRITING HAND-CIRCLE INDEX BENT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD807\"},120840:{\"value\":\"1D808\",\"name\":\"SIGNWRITING HAND-FIST THUMB UNDER INDEX BENT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD808\"},120841:{\"value\":\"1D809\",\"name\":\"SIGNWRITING HAND-FIST INDEX RAISED KNUCKLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD809\"},120842:{\"value\":\"1D80A\",\"name\":\"SIGNWRITING HAND-FIST INDEX CUPPED\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD80A\"},120843:{\"value\":\"1D80B\",\"name\":\"SIGNWRITING HAND-FIST INDEX HINGED\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD80B\"},120844:{\"value\":\"1D80C\",\"name\":\"SIGNWRITING HAND-FIST INDEX HINGED LOW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD80C\"},120845:{\"value\":\"1D80D\",\"name\":\"SIGNWRITING HAND-CIRCLE INDEX HINGE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD80D\"},120846:{\"value\":\"1D80E\",\"name\":\"SIGNWRITING HAND-FIST INDEX MIDDLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD80E\"},120847:{\"value\":\"1D80F\",\"name\":\"SIGNWRITING HAND-CIRCLE INDEX MIDDLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD80F\"},120848:{\"value\":\"1D810\",\"name\":\"SIGNWRITING HAND-FIST INDEX MIDDLE BENT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD810\"},120849:{\"value\":\"1D811\",\"name\":\"SIGNWRITING HAND-FIST INDEX MIDDLE RAISED KNUCKLES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD811\"},120850:{\"value\":\"1D812\",\"name\":\"SIGNWRITING HAND-FIST INDEX MIDDLE HINGED\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD812\"},120851:{\"value\":\"1D813\",\"name\":\"SIGNWRITING HAND-FIST INDEX UP MIDDLE HINGED\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD813\"},120852:{\"value\":\"1D814\",\"name\":\"SIGNWRITING HAND-FIST INDEX HINGED MIDDLE UP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD814\"},120853:{\"value\":\"1D815\",\"name\":\"SIGNWRITING HAND-FIST INDEX MIDDLE CONJOINED\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD815\"},120854:{\"value\":\"1D816\",\"name\":\"SIGNWRITING HAND-FIST INDEX MIDDLE CONJOINED INDEX BENT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD816\"},120855:{\"value\":\"1D817\",\"name\":\"SIGNWRITING HAND-FIST INDEX MIDDLE CONJOINED MIDDLE BENT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD817\"},120856:{\"value\":\"1D818\",\"name\":\"SIGNWRITING HAND-FIST INDEX MIDDLE CONJOINED CUPPED\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD818\"},120857:{\"value\":\"1D819\",\"name\":\"SIGNWRITING HAND-FIST INDEX MIDDLE CONJOINED HINGED\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD819\"},120858:{\"value\":\"1D81A\",\"name\":\"SIGNWRITING HAND-FIST INDEX MIDDLE CROSSED\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD81A\"},120859:{\"value\":\"1D81B\",\"name\":\"SIGNWRITING HAND-CIRCLE INDEX MIDDLE CROSSED\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD81B\"},120860:{\"value\":\"1D81C\",\"name\":\"SIGNWRITING HAND-FIST MIDDLE BENT OVER INDEX\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD81C\"},120861:{\"value\":\"1D81D\",\"name\":\"SIGNWRITING HAND-FIST INDEX BENT OVER MIDDLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD81D\"},120862:{\"value\":\"1D81E\",\"name\":\"SIGNWRITING HAND-FIST INDEX MIDDLE THUMB\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD81E\"},120863:{\"value\":\"1D81F\",\"name\":\"SIGNWRITING HAND-CIRCLE INDEX MIDDLE THUMB\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD81F\"},120864:{\"value\":\"1D820\",\"name\":\"SIGNWRITING HAND-FIST INDEX MIDDLE STRAIGHT THUMB BENT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD820\"},120865:{\"value\":\"1D821\",\"name\":\"SIGNWRITING HAND-FIST INDEX MIDDLE BENT THUMB STRAIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD821\"},120866:{\"value\":\"1D822\",\"name\":\"SIGNWRITING HAND-FIST INDEX MIDDLE THUMB BENT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD822\"},120867:{\"value\":\"1D823\",\"name\":\"SIGNWRITING HAND-FIST INDEX MIDDLE HINGED SPREAD THUMB SIDE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD823\"},120868:{\"value\":\"1D824\",\"name\":\"SIGNWRITING HAND-FIST INDEX UP MIDDLE HINGED THUMB SIDE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD824\"},120869:{\"value\":\"1D825\",\"name\":\"SIGNWRITING HAND-FIST INDEX UP MIDDLE HINGED THUMB CONJOINED\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD825\"},120870:{\"value\":\"1D826\",\"name\":\"SIGNWRITING HAND-FIST INDEX HINGED MIDDLE UP THUMB SIDE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD826\"},120871:{\"value\":\"1D827\",\"name\":\"SIGNWRITING HAND-FIST INDEX MIDDLE UP SPREAD THUMB FORWARD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD827\"},120872:{\"value\":\"1D828\",\"name\":\"SIGNWRITING HAND-FIST INDEX MIDDLE THUMB CUPPED\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD828\"},120873:{\"value\":\"1D829\",\"name\":\"SIGNWRITING HAND-FIST INDEX MIDDLE THUMB CIRCLED\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD829\"},120874:{\"value\":\"1D82A\",\"name\":\"SIGNWRITING HAND-FIST INDEX MIDDLE THUMB HOOKED\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD82A\"},120875:{\"value\":\"1D82B\",\"name\":\"SIGNWRITING HAND-FIST INDEX MIDDLE THUMB HINGED\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD82B\"},120876:{\"value\":\"1D82C\",\"name\":\"SIGNWRITING HAND-FIST THUMB BETWEEN INDEX MIDDLE STRAIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD82C\"},120877:{\"value\":\"1D82D\",\"name\":\"SIGNWRITING HAND-FIST INDEX MIDDLE CONJOINED THUMB SIDE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD82D\"},120878:{\"value\":\"1D82E\",\"name\":\"SIGNWRITING HAND-FIST INDEX MIDDLE CONJOINED THUMB SIDE CONJOINED\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD82E\"},120879:{\"value\":\"1D82F\",\"name\":\"SIGNWRITING HAND-FIST INDEX MIDDLE CONJOINED THUMB SIDE BENT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD82F\"},120880:{\"value\":\"1D830\",\"name\":\"SIGNWRITING HAND-FIST MIDDLE THUMB HOOKED INDEX UP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD830\"},120881:{\"value\":\"1D831\",\"name\":\"SIGNWRITING HAND-FIST INDEX THUMB HOOKED MIDDLE UP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD831\"},120882:{\"value\":\"1D832\",\"name\":\"SIGNWRITING HAND-FIST INDEX MIDDLE CONJOINED HINGED THUMB SIDE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD832\"},120883:{\"value\":\"1D833\",\"name\":\"SIGNWRITING HAND-FIST INDEX MIDDLE CROSSED THUMB SIDE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD833\"},120884:{\"value\":\"1D834\",\"name\":\"SIGNWRITING HAND-FIST INDEX MIDDLE CONJOINED THUMB FORWARD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD834\"},120885:{\"value\":\"1D835\",\"name\":\"SIGNWRITING HAND-FIST INDEX MIDDLE CONJOINED CUPPED THUMB FORWARD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD835\"},120886:{\"value\":\"1D836\",\"name\":\"SIGNWRITING HAND-FIST MIDDLE THUMB CUPPED INDEX UP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD836\"},120887:{\"value\":\"1D837\",\"name\":\"SIGNWRITING HAND-FIST INDEX THUMB CUPPED MIDDLE UP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD837\"},120888:{\"value\":\"1D838\",\"name\":\"SIGNWRITING HAND-FIST MIDDLE THUMB CIRCLED INDEX UP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD838\"},120889:{\"value\":\"1D839\",\"name\":\"SIGNWRITING HAND-FIST MIDDLE THUMB CIRCLED INDEX HINGED\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD839\"},120890:{\"value\":\"1D83A\",\"name\":\"SIGNWRITING HAND-FIST INDEX THUMB ANGLED OUT MIDDLE UP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD83A\"},120891:{\"value\":\"1D83B\",\"name\":\"SIGNWRITING HAND-FIST INDEX THUMB ANGLED IN MIDDLE UP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD83B\"},120892:{\"value\":\"1D83C\",\"name\":\"SIGNWRITING HAND-FIST INDEX THUMB CIRCLED MIDDLE UP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD83C\"},120893:{\"value\":\"1D83D\",\"name\":\"SIGNWRITING HAND-FIST INDEX MIDDLE THUMB CONJOINED HINGED\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD83D\"},120894:{\"value\":\"1D83E\",\"name\":\"SIGNWRITING HAND-FIST INDEX MIDDLE THUMB ANGLED OUT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD83E\"},120895:{\"value\":\"1D83F\",\"name\":\"SIGNWRITING HAND-FIST INDEX MIDDLE THUMB ANGLED\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD83F\"},120896:{\"value\":\"1D840\",\"name\":\"SIGNWRITING HAND-FIST MIDDLE THUMB ANGLED OUT INDEX UP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD840\"},120897:{\"value\":\"1D841\",\"name\":\"SIGNWRITING HAND-FIST MIDDLE THUMB ANGLED OUT INDEX CROSSED\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD841\"},120898:{\"value\":\"1D842\",\"name\":\"SIGNWRITING HAND-FIST MIDDLE THUMB ANGLED INDEX UP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD842\"},120899:{\"value\":\"1D843\",\"name\":\"SIGNWRITING HAND-FIST INDEX THUMB HOOKED MIDDLE HINGED\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD843\"},120900:{\"value\":\"1D844\",\"name\":\"SIGNWRITING HAND-FLAT FOUR FINGERS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD844\"},120901:{\"value\":\"1D845\",\"name\":\"SIGNWRITING HAND-FLAT FOUR FINGERS BENT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD845\"},120902:{\"value\":\"1D846\",\"name\":\"SIGNWRITING HAND-FLAT FOUR FINGERS HINGED\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD846\"},120903:{\"value\":\"1D847\",\"name\":\"SIGNWRITING HAND-FLAT FOUR FINGERS CONJOINED\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD847\"},120904:{\"value\":\"1D848\",\"name\":\"SIGNWRITING HAND-FLAT FOUR FINGERS CONJOINED SPLIT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD848\"},120905:{\"value\":\"1D849\",\"name\":\"SIGNWRITING HAND-CLAW FOUR FINGERS CONJOINED\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD849\"},120906:{\"value\":\"1D84A\",\"name\":\"SIGNWRITING HAND-FIST FOUR FINGERS CONJOINED BENT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD84A\"},120907:{\"value\":\"1D84B\",\"name\":\"SIGNWRITING HAND-HINGE FOUR FINGERS CONJOINED\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD84B\"},120908:{\"value\":\"1D84C\",\"name\":\"SIGNWRITING HAND-FLAT FIVE FINGERS SPREAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD84C\"},120909:{\"value\":\"1D84D\",\"name\":\"SIGNWRITING HAND-FLAT HEEL FIVE FINGERS SPREAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD84D\"},120910:{\"value\":\"1D84E\",\"name\":\"SIGNWRITING HAND-FLAT FIVE FINGERS SPREAD FOUR BENT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD84E\"},120911:{\"value\":\"1D84F\",\"name\":\"SIGNWRITING HAND-FLAT HEEL FIVE FINGERS SPREAD FOUR BENT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD84F\"},120912:{\"value\":\"1D850\",\"name\":\"SIGNWRITING HAND-FLAT FIVE FINGERS SPREAD BENT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD850\"},120913:{\"value\":\"1D851\",\"name\":\"SIGNWRITING HAND-FLAT HEEL FIVE FINGERS SPREAD BENT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD851\"},120914:{\"value\":\"1D852\",\"name\":\"SIGNWRITING HAND-FLAT FIVE FINGERS SPREAD THUMB FORWARD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD852\"},120915:{\"value\":\"1D853\",\"name\":\"SIGNWRITING HAND-CUP FIVE FINGERS SPREAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD853\"},120916:{\"value\":\"1D854\",\"name\":\"SIGNWRITING HAND-CUP FIVE FINGERS SPREAD OPEN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD854\"},120917:{\"value\":\"1D855\",\"name\":\"SIGNWRITING HAND-HINGE FIVE FINGERS SPREAD OPEN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD855\"},120918:{\"value\":\"1D856\",\"name\":\"SIGNWRITING HAND-OVAL FIVE FINGERS SPREAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD856\"},120919:{\"value\":\"1D857\",\"name\":\"SIGNWRITING HAND-FLAT FIVE FINGERS SPREAD HINGED\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD857\"},120920:{\"value\":\"1D858\",\"name\":\"SIGNWRITING HAND-FLAT FIVE FINGERS SPREAD HINGED THUMB SIDE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD858\"},120921:{\"value\":\"1D859\",\"name\":\"SIGNWRITING HAND-FLAT FIVE FINGERS SPREAD HINGED NO THUMB\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD859\"},120922:{\"value\":\"1D85A\",\"name\":\"SIGNWRITING HAND-FLAT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD85A\"},120923:{\"value\":\"1D85B\",\"name\":\"SIGNWRITING HAND-FLAT BETWEEN PALM FACINGS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD85B\"},120924:{\"value\":\"1D85C\",\"name\":\"SIGNWRITING HAND-FLAT HEEL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD85C\"},120925:{\"value\":\"1D85D\",\"name\":\"SIGNWRITING HAND-FLAT THUMB SIDE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD85D\"},120926:{\"value\":\"1D85E\",\"name\":\"SIGNWRITING HAND-FLAT HEEL THUMB SIDE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD85E\"},120927:{\"value\":\"1D85F\",\"name\":\"SIGNWRITING HAND-FLAT THUMB BENT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD85F\"},120928:{\"value\":\"1D860\",\"name\":\"SIGNWRITING HAND-FLAT THUMB FORWARD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD860\"},120929:{\"value\":\"1D861\",\"name\":\"SIGNWRITING HAND-FLAT SPLIT INDEX THUMB SIDE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD861\"},120930:{\"value\":\"1D862\",\"name\":\"SIGNWRITING HAND-FLAT SPLIT CENTRE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD862\"},120931:{\"value\":\"1D863\",\"name\":\"SIGNWRITING HAND-FLAT SPLIT CENTRE THUMB SIDE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD863\"},120932:{\"value\":\"1D864\",\"name\":\"SIGNWRITING HAND-FLAT SPLIT CENTRE THUMB SIDE BENT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD864\"},120933:{\"value\":\"1D865\",\"name\":\"SIGNWRITING HAND-FLAT SPLIT LITTLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD865\"},120934:{\"value\":\"1D866\",\"name\":\"SIGNWRITING HAND-CLAW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD866\"},120935:{\"value\":\"1D867\",\"name\":\"SIGNWRITING HAND-CLAW THUMB SIDE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD867\"},120936:{\"value\":\"1D868\",\"name\":\"SIGNWRITING HAND-CLAW NO THUMB\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD868\"},120937:{\"value\":\"1D869\",\"name\":\"SIGNWRITING HAND-CLAW THUMB FORWARD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD869\"},120938:{\"value\":\"1D86A\",\"name\":\"SIGNWRITING HAND-HOOK CURLICUE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD86A\"},120939:{\"value\":\"1D86B\",\"name\":\"SIGNWRITING HAND-HOOK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD86B\"},120940:{\"value\":\"1D86C\",\"name\":\"SIGNWRITING HAND-CUP OPEN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD86C\"},120941:{\"value\":\"1D86D\",\"name\":\"SIGNWRITING HAND-CUP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD86D\"},120942:{\"value\":\"1D86E\",\"name\":\"SIGNWRITING HAND-CUP OPEN THUMB SIDE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD86E\"},120943:{\"value\":\"1D86F\",\"name\":\"SIGNWRITING HAND-CUP THUMB SIDE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD86F\"},120944:{\"value\":\"1D870\",\"name\":\"SIGNWRITING HAND-CUP OPEN NO THUMB\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD870\"},120945:{\"value\":\"1D871\",\"name\":\"SIGNWRITING HAND-CUP NO THUMB\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD871\"},120946:{\"value\":\"1D872\",\"name\":\"SIGNWRITING HAND-CUP OPEN THUMB FORWARD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD872\"},120947:{\"value\":\"1D873\",\"name\":\"SIGNWRITING HAND-CUP THUMB FORWARD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD873\"},120948:{\"value\":\"1D874\",\"name\":\"SIGNWRITING HAND-CURLICUE OPEN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD874\"},120949:{\"value\":\"1D875\",\"name\":\"SIGNWRITING HAND-CURLICUE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD875\"},120950:{\"value\":\"1D876\",\"name\":\"SIGNWRITING HAND-CIRCLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD876\"},120951:{\"value\":\"1D877\",\"name\":\"SIGNWRITING HAND-OVAL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD877\"},120952:{\"value\":\"1D878\",\"name\":\"SIGNWRITING HAND-OVAL THUMB SIDE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD878\"},120953:{\"value\":\"1D879\",\"name\":\"SIGNWRITING HAND-OVAL NO THUMB\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD879\"},120954:{\"value\":\"1D87A\",\"name\":\"SIGNWRITING HAND-OVAL THUMB FORWARD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD87A\"},120955:{\"value\":\"1D87B\",\"name\":\"SIGNWRITING HAND-HINGE OPEN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD87B\"},120956:{\"value\":\"1D87C\",\"name\":\"SIGNWRITING HAND-HINGE OPEN THUMB FORWARD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD87C\"},120957:{\"value\":\"1D87D\",\"name\":\"SIGNWRITING HAND-HINGE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD87D\"},120958:{\"value\":\"1D87E\",\"name\":\"SIGNWRITING HAND-HINGE SMALL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD87E\"},120959:{\"value\":\"1D87F\",\"name\":\"SIGNWRITING HAND-HINGE OPEN THUMB SIDE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD87F\"},120960:{\"value\":\"1D880\",\"name\":\"SIGNWRITING HAND-HINGE THUMB SIDE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD880\"},120961:{\"value\":\"1D881\",\"name\":\"SIGNWRITING HAND-HINGE OPEN NO THUMB\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD881\"},120962:{\"value\":\"1D882\",\"name\":\"SIGNWRITING HAND-HINGE NO THUMB\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD882\"},120963:{\"value\":\"1D883\",\"name\":\"SIGNWRITING HAND-HINGE THUMB SIDE TOUCHING INDEX\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD883\"},120964:{\"value\":\"1D884\",\"name\":\"SIGNWRITING HAND-HINGE THUMB BETWEEN MIDDLE RING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD884\"},120965:{\"value\":\"1D885\",\"name\":\"SIGNWRITING HAND-ANGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD885\"},120966:{\"value\":\"1D886\",\"name\":\"SIGNWRITING HAND-FIST INDEX MIDDLE RING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD886\"},120967:{\"value\":\"1D887\",\"name\":\"SIGNWRITING HAND-CIRCLE INDEX MIDDLE RING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD887\"},120968:{\"value\":\"1D888\",\"name\":\"SIGNWRITING HAND-HINGE INDEX MIDDLE RING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD888\"},120969:{\"value\":\"1D889\",\"name\":\"SIGNWRITING HAND-ANGLE INDEX MIDDLE RING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD889\"},120970:{\"value\":\"1D88A\",\"name\":\"SIGNWRITING HAND-HINGE LITTLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD88A\"},120971:{\"value\":\"1D88B\",\"name\":\"SIGNWRITING HAND-FIST INDEX MIDDLE RING BENT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD88B\"},120972:{\"value\":\"1D88C\",\"name\":\"SIGNWRITING HAND-FIST INDEX MIDDLE RING CONJOINED\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD88C\"},120973:{\"value\":\"1D88D\",\"name\":\"SIGNWRITING HAND-HINGE INDEX MIDDLE RING CONJOINED\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD88D\"},120974:{\"value\":\"1D88E\",\"name\":\"SIGNWRITING HAND-FIST LITTLE DOWN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD88E\"},120975:{\"value\":\"1D88F\",\"name\":\"SIGNWRITING HAND-FIST LITTLE DOWN RIPPLE STRAIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD88F\"},120976:{\"value\":\"1D890\",\"name\":\"SIGNWRITING HAND-FIST LITTLE DOWN RIPPLE CURVED\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD890\"},120977:{\"value\":\"1D891\",\"name\":\"SIGNWRITING HAND-FIST LITTLE DOWN OTHERS CIRCLED\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD891\"},120978:{\"value\":\"1D892\",\"name\":\"SIGNWRITING HAND-FIST LITTLE UP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD892\"},120979:{\"value\":\"1D893\",\"name\":\"SIGNWRITING HAND-FIST THUMB UNDER LITTLE UP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD893\"},120980:{\"value\":\"1D894\",\"name\":\"SIGNWRITING HAND-CIRCLE LITTLE UP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD894\"},120981:{\"value\":\"1D895\",\"name\":\"SIGNWRITING HAND-OVAL LITTLE UP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD895\"},120982:{\"value\":\"1D896\",\"name\":\"SIGNWRITING HAND-ANGLE LITTLE UP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD896\"},120983:{\"value\":\"1D897\",\"name\":\"SIGNWRITING HAND-FIST LITTLE RAISED KNUCKLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD897\"},120984:{\"value\":\"1D898\",\"name\":\"SIGNWRITING HAND-FIST LITTLE BENT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD898\"},120985:{\"value\":\"1D899\",\"name\":\"SIGNWRITING HAND-FIST LITTLE TOUCHES THUMB\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD899\"},120986:{\"value\":\"1D89A\",\"name\":\"SIGNWRITING HAND-FIST LITTLE THUMB\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD89A\"},120987:{\"value\":\"1D89B\",\"name\":\"SIGNWRITING HAND-HINGE LITTLE THUMB\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD89B\"},120988:{\"value\":\"1D89C\",\"name\":\"SIGNWRITING HAND-FIST LITTLE INDEX THUMB\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD89C\"},120989:{\"value\":\"1D89D\",\"name\":\"SIGNWRITING HAND-HINGE LITTLE INDEX THUMB\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD89D\"},120990:{\"value\":\"1D89E\",\"name\":\"SIGNWRITING HAND-ANGLE LITTLE INDEX THUMB INDEX THUMB OUT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD89E\"},120991:{\"value\":\"1D89F\",\"name\":\"SIGNWRITING HAND-ANGLE LITTLE INDEX THUMB INDEX THUMB\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD89F\"},120992:{\"value\":\"1D8A0\",\"name\":\"SIGNWRITING HAND-FIST LITTLE INDEX\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8A0\"},120993:{\"value\":\"1D8A1\",\"name\":\"SIGNWRITING HAND-CIRCLE LITTLE INDEX\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8A1\"},120994:{\"value\":\"1D8A2\",\"name\":\"SIGNWRITING HAND-HINGE LITTLE INDEX\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8A2\"},120995:{\"value\":\"1D8A3\",\"name\":\"SIGNWRITING HAND-ANGLE LITTLE INDEX\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8A3\"},120996:{\"value\":\"1D8A4\",\"name\":\"SIGNWRITING HAND-FIST INDEX MIDDLE LITTLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8A4\"},120997:{\"value\":\"1D8A5\",\"name\":\"SIGNWRITING HAND-CIRCLE INDEX MIDDLE LITTLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8A5\"},120998:{\"value\":\"1D8A6\",\"name\":\"SIGNWRITING HAND-HINGE INDEX MIDDLE LITTLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8A6\"},120999:{\"value\":\"1D8A7\",\"name\":\"SIGNWRITING HAND-HINGE RING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8A7\"},121000:{\"value\":\"1D8A8\",\"name\":\"SIGNWRITING HAND-ANGLE INDEX MIDDLE LITTLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8A8\"},121001:{\"value\":\"1D8A9\",\"name\":\"SIGNWRITING HAND-FIST INDEX MIDDLE CROSS LITTLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8A9\"},121002:{\"value\":\"1D8AA\",\"name\":\"SIGNWRITING HAND-CIRCLE INDEX MIDDLE CROSS LITTLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8AA\"},121003:{\"value\":\"1D8AB\",\"name\":\"SIGNWRITING HAND-FIST RING DOWN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8AB\"},121004:{\"value\":\"1D8AC\",\"name\":\"SIGNWRITING HAND-HINGE RING DOWN INDEX THUMB HOOK MIDDLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8AC\"},121005:{\"value\":\"1D8AD\",\"name\":\"SIGNWRITING HAND-ANGLE RING DOWN MIDDLE THUMB INDEX CROSS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8AD\"},121006:{\"value\":\"1D8AE\",\"name\":\"SIGNWRITING HAND-FIST RING UP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8AE\"},121007:{\"value\":\"1D8AF\",\"name\":\"SIGNWRITING HAND-FIST RING RAISED KNUCKLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8AF\"},121008:{\"value\":\"1D8B0\",\"name\":\"SIGNWRITING HAND-FIST RING LITTLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8B0\"},121009:{\"value\":\"1D8B1\",\"name\":\"SIGNWRITING HAND-CIRCLE RING LITTLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8B1\"},121010:{\"value\":\"1D8B2\",\"name\":\"SIGNWRITING HAND-OVAL RING LITTLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8B2\"},121011:{\"value\":\"1D8B3\",\"name\":\"SIGNWRITING HAND-ANGLE RING LITTLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8B3\"},121012:{\"value\":\"1D8B4\",\"name\":\"SIGNWRITING HAND-FIST RING MIDDLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8B4\"},121013:{\"value\":\"1D8B5\",\"name\":\"SIGNWRITING HAND-FIST RING MIDDLE CONJOINED\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8B5\"},121014:{\"value\":\"1D8B6\",\"name\":\"SIGNWRITING HAND-FIST RING MIDDLE RAISED KNUCKLES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8B6\"},121015:{\"value\":\"1D8B7\",\"name\":\"SIGNWRITING HAND-FIST RING INDEX\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8B7\"},121016:{\"value\":\"1D8B8\",\"name\":\"SIGNWRITING HAND-FIST RING THUMB\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8B8\"},121017:{\"value\":\"1D8B9\",\"name\":\"SIGNWRITING HAND-HOOK RING THUMB\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8B9\"},121018:{\"value\":\"1D8BA\",\"name\":\"SIGNWRITING HAND-FIST INDEX RING LITTLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8BA\"},121019:{\"value\":\"1D8BB\",\"name\":\"SIGNWRITING HAND-CIRCLE INDEX RING LITTLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8BB\"},121020:{\"value\":\"1D8BC\",\"name\":\"SIGNWRITING HAND-CURLICUE INDEX RING LITTLE ON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8BC\"},121021:{\"value\":\"1D8BD\",\"name\":\"SIGNWRITING HAND-HOOK INDEX RING LITTLE OUT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8BD\"},121022:{\"value\":\"1D8BE\",\"name\":\"SIGNWRITING HAND-HOOK INDEX RING LITTLE IN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8BE\"},121023:{\"value\":\"1D8BF\",\"name\":\"SIGNWRITING HAND-HOOK INDEX RING LITTLE UNDER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8BF\"},121024:{\"value\":\"1D8C0\",\"name\":\"SIGNWRITING HAND-CUP INDEX RING LITTLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8C0\"},121025:{\"value\":\"1D8C1\",\"name\":\"SIGNWRITING HAND-HINGE INDEX RING LITTLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8C1\"},121026:{\"value\":\"1D8C2\",\"name\":\"SIGNWRITING HAND-ANGLE INDEX RING LITTLE OUT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8C2\"},121027:{\"value\":\"1D8C3\",\"name\":\"SIGNWRITING HAND-ANGLE INDEX RING LITTLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8C3\"},121028:{\"value\":\"1D8C4\",\"name\":\"SIGNWRITING HAND-FIST MIDDLE DOWN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8C4\"},121029:{\"value\":\"1D8C5\",\"name\":\"SIGNWRITING HAND-HINGE MIDDLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8C5\"},121030:{\"value\":\"1D8C6\",\"name\":\"SIGNWRITING HAND-FIST MIDDLE UP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8C6\"},121031:{\"value\":\"1D8C7\",\"name\":\"SIGNWRITING HAND-CIRCLE MIDDLE UP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8C7\"},121032:{\"value\":\"1D8C8\",\"name\":\"SIGNWRITING HAND-FIST MIDDLE RAISED KNUCKLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8C8\"},121033:{\"value\":\"1D8C9\",\"name\":\"SIGNWRITING HAND-FIST MIDDLE UP THUMB SIDE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8C9\"},121034:{\"value\":\"1D8CA\",\"name\":\"SIGNWRITING HAND-HOOK MIDDLE THUMB\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8CA\"},121035:{\"value\":\"1D8CB\",\"name\":\"SIGNWRITING HAND-FIST MIDDLE THUMB LITTLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8CB\"},121036:{\"value\":\"1D8CC\",\"name\":\"SIGNWRITING HAND-FIST MIDDLE LITTLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8CC\"},121037:{\"value\":\"1D8CD\",\"name\":\"SIGNWRITING HAND-FIST MIDDLE RING LITTLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8CD\"},121038:{\"value\":\"1D8CE\",\"name\":\"SIGNWRITING HAND-CIRCLE MIDDLE RING LITTLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8CE\"},121039:{\"value\":\"1D8CF\",\"name\":\"SIGNWRITING HAND-CURLICUE MIDDLE RING LITTLE ON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8CF\"},121040:{\"value\":\"1D8D0\",\"name\":\"SIGNWRITING HAND-CUP MIDDLE RING LITTLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8D0\"},121041:{\"value\":\"1D8D1\",\"name\":\"SIGNWRITING HAND-HINGE MIDDLE RING LITTLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8D1\"},121042:{\"value\":\"1D8D2\",\"name\":\"SIGNWRITING HAND-ANGLE MIDDLE RING LITTLE OUT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8D2\"},121043:{\"value\":\"1D8D3\",\"name\":\"SIGNWRITING HAND-ANGLE MIDDLE RING LITTLE IN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8D3\"},121044:{\"value\":\"1D8D4\",\"name\":\"SIGNWRITING HAND-ANGLE MIDDLE RING LITTLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8D4\"},121045:{\"value\":\"1D8D5\",\"name\":\"SIGNWRITING HAND-CIRCLE MIDDLE RING LITTLE BENT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8D5\"},121046:{\"value\":\"1D8D6\",\"name\":\"SIGNWRITING HAND-CLAW MIDDLE RING LITTLE CONJOINED\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8D6\"},121047:{\"value\":\"1D8D7\",\"name\":\"SIGNWRITING HAND-CLAW MIDDLE RING LITTLE CONJOINED SIDE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8D7\"},121048:{\"value\":\"1D8D8\",\"name\":\"SIGNWRITING HAND-HOOK MIDDLE RING LITTLE CONJOINED OUT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8D8\"},121049:{\"value\":\"1D8D9\",\"name\":\"SIGNWRITING HAND-HOOK MIDDLE RING LITTLE CONJOINED IN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8D9\"},121050:{\"value\":\"1D8DA\",\"name\":\"SIGNWRITING HAND-HOOK MIDDLE RING LITTLE CONJOINED\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8DA\"},121051:{\"value\":\"1D8DB\",\"name\":\"SIGNWRITING HAND-HINGE INDEX HINGED\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8DB\"},121052:{\"value\":\"1D8DC\",\"name\":\"SIGNWRITING HAND-FIST INDEX THUMB SIDE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8DC\"},121053:{\"value\":\"1D8DD\",\"name\":\"SIGNWRITING HAND-HINGE INDEX THUMB SIDE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8DD\"},121054:{\"value\":\"1D8DE\",\"name\":\"SIGNWRITING HAND-FIST INDEX THUMB SIDE THUMB DIAGONAL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8DE\"},121055:{\"value\":\"1D8DF\",\"name\":\"SIGNWRITING HAND-FIST INDEX THUMB SIDE THUMB CONJOINED\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8DF\"},121056:{\"value\":\"1D8E0\",\"name\":\"SIGNWRITING HAND-FIST INDEX THUMB SIDE THUMB BENT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8E0\"},121057:{\"value\":\"1D8E1\",\"name\":\"SIGNWRITING HAND-FIST INDEX THUMB SIDE INDEX BENT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8E1\"},121058:{\"value\":\"1D8E2\",\"name\":\"SIGNWRITING HAND-FIST INDEX THUMB SIDE BOTH BENT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8E2\"},121059:{\"value\":\"1D8E3\",\"name\":\"SIGNWRITING HAND-FIST INDEX THUMB SIDE INDEX HINGE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8E3\"},121060:{\"value\":\"1D8E4\",\"name\":\"SIGNWRITING HAND-FIST INDEX THUMB FORWARD INDEX STRAIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8E4\"},121061:{\"value\":\"1D8E5\",\"name\":\"SIGNWRITING HAND-FIST INDEX THUMB FORWARD INDEX BENT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8E5\"},121062:{\"value\":\"1D8E6\",\"name\":\"SIGNWRITING HAND-FIST INDEX THUMB HOOK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8E6\"},121063:{\"value\":\"1D8E7\",\"name\":\"SIGNWRITING HAND-FIST INDEX THUMB CURLICUE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8E7\"},121064:{\"value\":\"1D8E8\",\"name\":\"SIGNWRITING HAND-FIST INDEX THUMB CURVE THUMB INSIDE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8E8\"},121065:{\"value\":\"1D8E9\",\"name\":\"SIGNWRITING HAND-CLAW INDEX THUMB CURVE THUMB INSIDE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8E9\"},121066:{\"value\":\"1D8EA\",\"name\":\"SIGNWRITING HAND-FIST INDEX THUMB CURVE THUMB UNDER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8EA\"},121067:{\"value\":\"1D8EB\",\"name\":\"SIGNWRITING HAND-FIST INDEX THUMB CIRCLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8EB\"},121068:{\"value\":\"1D8EC\",\"name\":\"SIGNWRITING HAND-CUP INDEX THUMB\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8EC\"},121069:{\"value\":\"1D8ED\",\"name\":\"SIGNWRITING HAND-CUP INDEX THUMB OPEN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8ED\"},121070:{\"value\":\"1D8EE\",\"name\":\"SIGNWRITING HAND-HINGE INDEX THUMB OPEN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8EE\"},121071:{\"value\":\"1D8EF\",\"name\":\"SIGNWRITING HAND-HINGE INDEX THUMB LARGE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8EF\"},121072:{\"value\":\"1D8F0\",\"name\":\"SIGNWRITING HAND-HINGE INDEX THUMB\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8F0\"},121073:{\"value\":\"1D8F1\",\"name\":\"SIGNWRITING HAND-HINGE INDEX THUMB SMALL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8F1\"},121074:{\"value\":\"1D8F2\",\"name\":\"SIGNWRITING HAND-ANGLE INDEX THUMB OUT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8F2\"},121075:{\"value\":\"1D8F3\",\"name\":\"SIGNWRITING HAND-ANGLE INDEX THUMB IN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8F3\"},121076:{\"value\":\"1D8F4\",\"name\":\"SIGNWRITING HAND-ANGLE INDEX THUMB\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8F4\"},121077:{\"value\":\"1D8F5\",\"name\":\"SIGNWRITING HAND-FIST THUMB\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8F5\"},121078:{\"value\":\"1D8F6\",\"name\":\"SIGNWRITING HAND-FIST THUMB HEEL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8F6\"},121079:{\"value\":\"1D8F7\",\"name\":\"SIGNWRITING HAND-FIST THUMB SIDE DIAGONAL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8F7\"},121080:{\"value\":\"1D8F8\",\"name\":\"SIGNWRITING HAND-FIST THUMB SIDE CONJOINED\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8F8\"},121081:{\"value\":\"1D8F9\",\"name\":\"SIGNWRITING HAND-FIST THUMB SIDE BENT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8F9\"},121082:{\"value\":\"1D8FA\",\"name\":\"SIGNWRITING HAND-FIST THUMB FORWARD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8FA\"},121083:{\"value\":\"1D8FB\",\"name\":\"SIGNWRITING HAND-FIST THUMB BETWEEN INDEX MIDDLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8FB\"},121084:{\"value\":\"1D8FC\",\"name\":\"SIGNWRITING HAND-FIST THUMB BETWEEN MIDDLE RING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8FC\"},121085:{\"value\":\"1D8FD\",\"name\":\"SIGNWRITING HAND-FIST THUMB BETWEEN RING LITTLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8FD\"},121086:{\"value\":\"1D8FE\",\"name\":\"SIGNWRITING HAND-FIST THUMB UNDER TWO FINGERS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8FE\"},121087:{\"value\":\"1D8FF\",\"name\":\"SIGNWRITING HAND-FIST THUMB OVER TWO FINGERS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8FF\"},121088:{\"value\":\"1D900\",\"name\":\"SIGNWRITING HAND-FIST THUMB UNDER THREE FINGERS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD900\"},121089:{\"value\":\"1D901\",\"name\":\"SIGNWRITING HAND-FIST THUMB UNDER FOUR FINGERS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD901\"},121090:{\"value\":\"1D902\",\"name\":\"SIGNWRITING HAND-FIST THUMB OVER FOUR RAISED KNUCKLES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD902\"},121091:{\"value\":\"1D903\",\"name\":\"SIGNWRITING HAND-FIST\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD903\"},121092:{\"value\":\"1D904\",\"name\":\"SIGNWRITING HAND-FIST HEEL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD904\"},121093:{\"value\":\"1D905\",\"name\":\"SIGNWRITING TOUCH SINGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD905\"},121094:{\"value\":\"1D906\",\"name\":\"SIGNWRITING TOUCH MULTIPLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD906\"},121095:{\"value\":\"1D907\",\"name\":\"SIGNWRITING TOUCH BETWEEN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD907\"},121096:{\"value\":\"1D908\",\"name\":\"SIGNWRITING GRASP SINGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD908\"},121097:{\"value\":\"1D909\",\"name\":\"SIGNWRITING GRASP MULTIPLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD909\"},121098:{\"value\":\"1D90A\",\"name\":\"SIGNWRITING GRASP BETWEEN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD90A\"},121099:{\"value\":\"1D90B\",\"name\":\"SIGNWRITING STRIKE SINGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD90B\"},121100:{\"value\":\"1D90C\",\"name\":\"SIGNWRITING STRIKE MULTIPLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD90C\"},121101:{\"value\":\"1D90D\",\"name\":\"SIGNWRITING STRIKE BETWEEN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD90D\"},121102:{\"value\":\"1D90E\",\"name\":\"SIGNWRITING BRUSH SINGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD90E\"},121103:{\"value\":\"1D90F\",\"name\":\"SIGNWRITING BRUSH MULTIPLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD90F\"},121104:{\"value\":\"1D910\",\"name\":\"SIGNWRITING BRUSH BETWEEN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD910\"},121105:{\"value\":\"1D911\",\"name\":\"SIGNWRITING RUB SINGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD911\"},121106:{\"value\":\"1D912\",\"name\":\"SIGNWRITING RUB MULTIPLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD912\"},121107:{\"value\":\"1D913\",\"name\":\"SIGNWRITING RUB BETWEEN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD913\"},121108:{\"value\":\"1D914\",\"name\":\"SIGNWRITING SURFACE SYMBOLS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD914\"},121109:{\"value\":\"1D915\",\"name\":\"SIGNWRITING SURFACE BETWEEN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD915\"},121110:{\"value\":\"1D916\",\"name\":\"SIGNWRITING SQUEEZE LARGE SINGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD916\"},121111:{\"value\":\"1D917\",\"name\":\"SIGNWRITING SQUEEZE SMALL SINGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD917\"},121112:{\"value\":\"1D918\",\"name\":\"SIGNWRITING SQUEEZE LARGE MULTIPLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD918\"},121113:{\"value\":\"1D919\",\"name\":\"SIGNWRITING SQUEEZE SMALL MULTIPLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD919\"},121114:{\"value\":\"1D91A\",\"name\":\"SIGNWRITING SQUEEZE SEQUENTIAL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD91A\"},121115:{\"value\":\"1D91B\",\"name\":\"SIGNWRITING FLICK LARGE SINGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD91B\"},121116:{\"value\":\"1D91C\",\"name\":\"SIGNWRITING FLICK SMALL SINGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD91C\"},121117:{\"value\":\"1D91D\",\"name\":\"SIGNWRITING FLICK LARGE MULTIPLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD91D\"},121118:{\"value\":\"1D91E\",\"name\":\"SIGNWRITING FLICK SMALL MULTIPLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD91E\"},121119:{\"value\":\"1D91F\",\"name\":\"SIGNWRITING FLICK SEQUENTIAL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD91F\"},121120:{\"value\":\"1D920\",\"name\":\"SIGNWRITING SQUEEZE FLICK ALTERNATING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD920\"},121121:{\"value\":\"1D921\",\"name\":\"SIGNWRITING MOVEMENT-HINGE UP DOWN LARGE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD921\"},121122:{\"value\":\"1D922\",\"name\":\"SIGNWRITING MOVEMENT-HINGE UP DOWN SMALL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD922\"},121123:{\"value\":\"1D923\",\"name\":\"SIGNWRITING MOVEMENT-HINGE UP SEQUENTIAL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD923\"},121124:{\"value\":\"1D924\",\"name\":\"SIGNWRITING MOVEMENT-HINGE DOWN SEQUENTIAL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD924\"},121125:{\"value\":\"1D925\",\"name\":\"SIGNWRITING MOVEMENT-HINGE UP DOWN ALTERNATING LARGE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD925\"},121126:{\"value\":\"1D926\",\"name\":\"SIGNWRITING MOVEMENT-HINGE UP DOWN ALTERNATING SMALL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD926\"},121127:{\"value\":\"1D927\",\"name\":\"SIGNWRITING MOVEMENT-HINGE SIDE TO SIDE SCISSORS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD927\"},121128:{\"value\":\"1D928\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE FINGER CONTACT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD928\"},121129:{\"value\":\"1D929\",\"name\":\"SIGNWRITING MOVEMENT-FLOORPLANE FINGER CONTACT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD929\"},121130:{\"value\":\"1D92A\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE SINGLE STRAIGHT SMALL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD92A\"},121131:{\"value\":\"1D92B\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE SINGLE STRAIGHT MEDIUM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD92B\"},121132:{\"value\":\"1D92C\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE SINGLE STRAIGHT LARGE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD92C\"},121133:{\"value\":\"1D92D\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE SINGLE STRAIGHT LARGEST\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD92D\"},121134:{\"value\":\"1D92E\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE SINGLE WRIST FLEX\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD92E\"},121135:{\"value\":\"1D92F\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE DOUBLE STRAIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD92F\"},121136:{\"value\":\"1D930\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE DOUBLE WRIST FLEX\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD930\"},121137:{\"value\":\"1D931\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE DOUBLE ALTERNATING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD931\"},121138:{\"value\":\"1D932\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE DOUBLE ALTERNATING WRIST FLEX\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD932\"},121139:{\"value\":\"1D933\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE CROSS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD933\"},121140:{\"value\":\"1D934\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE TRIPLE STRAIGHT MOVEMENT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD934\"},121141:{\"value\":\"1D935\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE TRIPLE WRIST FLEX\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD935\"},121142:{\"value\":\"1D936\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE TRIPLE ALTERNATING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD936\"},121143:{\"value\":\"1D937\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE TRIPLE ALTERNATING WRIST FLEX\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD937\"},121144:{\"value\":\"1D938\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE BEND SMALL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD938\"},121145:{\"value\":\"1D939\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE BEND MEDIUM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD939\"},121146:{\"value\":\"1D93A\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE BEND LARGE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD93A\"},121147:{\"value\":\"1D93B\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE CORNER SMALL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD93B\"},121148:{\"value\":\"1D93C\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE CORNER MEDIUM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD93C\"},121149:{\"value\":\"1D93D\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE CORNER LARGE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD93D\"},121150:{\"value\":\"1D93E\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE CORNER ROTATION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD93E\"},121151:{\"value\":\"1D93F\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE CHECK SMALL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD93F\"},121152:{\"value\":\"1D940\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE CHECK MEDIUM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD940\"},121153:{\"value\":\"1D941\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE CHECK LARGE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD941\"},121154:{\"value\":\"1D942\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE BOX SMALL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD942\"},121155:{\"value\":\"1D943\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE BOX MEDIUM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD943\"},121156:{\"value\":\"1D944\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE BOX LARGE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD944\"},121157:{\"value\":\"1D945\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE ZIGZAG SMALL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD945\"},121158:{\"value\":\"1D946\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE ZIGZAG MEDIUM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD946\"},121159:{\"value\":\"1D947\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE ZIGZAG LARGE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD947\"},121160:{\"value\":\"1D948\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE PEAKS SMALL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD948\"},121161:{\"value\":\"1D949\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE PEAKS MEDIUM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD949\"},121162:{\"value\":\"1D94A\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE PEAKS LARGE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD94A\"},121163:{\"value\":\"1D94B\",\"name\":\"SIGNWRITING TRAVEL-WALLPLANE ROTATION-WALLPLANE SINGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD94B\"},121164:{\"value\":\"1D94C\",\"name\":\"SIGNWRITING TRAVEL-WALLPLANE ROTATION-WALLPLANE DOUBLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD94C\"},121165:{\"value\":\"1D94D\",\"name\":\"SIGNWRITING TRAVEL-WALLPLANE ROTATION-WALLPLANE ALTERNATING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD94D\"},121166:{\"value\":\"1D94E\",\"name\":\"SIGNWRITING TRAVEL-WALLPLANE ROTATION-FLOORPLANE SINGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD94E\"},121167:{\"value\":\"1D94F\",\"name\":\"SIGNWRITING TRAVEL-WALLPLANE ROTATION-FLOORPLANE DOUBLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD94F\"},121168:{\"value\":\"1D950\",\"name\":\"SIGNWRITING TRAVEL-WALLPLANE ROTATION-FLOORPLANE ALTERNATING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD950\"},121169:{\"value\":\"1D951\",\"name\":\"SIGNWRITING TRAVEL-WALLPLANE SHAKING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD951\"},121170:{\"value\":\"1D952\",\"name\":\"SIGNWRITING TRAVEL-WALLPLANE ARM SPIRAL SINGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD952\"},121171:{\"value\":\"1D953\",\"name\":\"SIGNWRITING TRAVEL-WALLPLANE ARM SPIRAL DOUBLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD953\"},121172:{\"value\":\"1D954\",\"name\":\"SIGNWRITING TRAVEL-WALLPLANE ARM SPIRAL TRIPLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD954\"},121173:{\"value\":\"1D955\",\"name\":\"SIGNWRITING MOVEMENT-DIAGONAL AWAY SMALL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD955\"},121174:{\"value\":\"1D956\",\"name\":\"SIGNWRITING MOVEMENT-DIAGONAL AWAY MEDIUM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD956\"},121175:{\"value\":\"1D957\",\"name\":\"SIGNWRITING MOVEMENT-DIAGONAL AWAY LARGE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD957\"},121176:{\"value\":\"1D958\",\"name\":\"SIGNWRITING MOVEMENT-DIAGONAL AWAY LARGEST\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD958\"},121177:{\"value\":\"1D959\",\"name\":\"SIGNWRITING MOVEMENT-DIAGONAL TOWARDS SMALL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD959\"},121178:{\"value\":\"1D95A\",\"name\":\"SIGNWRITING MOVEMENT-DIAGONAL TOWARDS MEDIUM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD95A\"},121179:{\"value\":\"1D95B\",\"name\":\"SIGNWRITING MOVEMENT-DIAGONAL TOWARDS LARGE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD95B\"},121180:{\"value\":\"1D95C\",\"name\":\"SIGNWRITING MOVEMENT-DIAGONAL TOWARDS LARGEST\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD95C\"},121181:{\"value\":\"1D95D\",\"name\":\"SIGNWRITING MOVEMENT-DIAGONAL BETWEEN AWAY SMALL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD95D\"},121182:{\"value\":\"1D95E\",\"name\":\"SIGNWRITING MOVEMENT-DIAGONAL BETWEEN AWAY MEDIUM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD95E\"},121183:{\"value\":\"1D95F\",\"name\":\"SIGNWRITING MOVEMENT-DIAGONAL BETWEEN AWAY LARGE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD95F\"},121184:{\"value\":\"1D960\",\"name\":\"SIGNWRITING MOVEMENT-DIAGONAL BETWEEN AWAY LARGEST\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD960\"},121185:{\"value\":\"1D961\",\"name\":\"SIGNWRITING MOVEMENT-DIAGONAL BETWEEN TOWARDS SMALL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD961\"},121186:{\"value\":\"1D962\",\"name\":\"SIGNWRITING MOVEMENT-DIAGONAL BETWEEN TOWARDS MEDIUM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD962\"},121187:{\"value\":\"1D963\",\"name\":\"SIGNWRITING MOVEMENT-DIAGONAL BETWEEN TOWARDS LARGE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD963\"},121188:{\"value\":\"1D964\",\"name\":\"SIGNWRITING MOVEMENT-DIAGONAL BETWEEN TOWARDS LARGEST\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD964\"},121189:{\"value\":\"1D965\",\"name\":\"SIGNWRITING MOVEMENT-FLOORPLANE SINGLE STRAIGHT SMALL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD965\"},121190:{\"value\":\"1D966\",\"name\":\"SIGNWRITING MOVEMENT-FLOORPLANE SINGLE STRAIGHT MEDIUM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD966\"},121191:{\"value\":\"1D967\",\"name\":\"SIGNWRITING MOVEMENT-FLOORPLANE SINGLE STRAIGHT LARGE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD967\"},121192:{\"value\":\"1D968\",\"name\":\"SIGNWRITING MOVEMENT-FLOORPLANE SINGLE STRAIGHT LARGEST\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD968\"},121193:{\"value\":\"1D969\",\"name\":\"SIGNWRITING MOVEMENT-FLOORPLANE SINGLE WRIST FLEX\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD969\"},121194:{\"value\":\"1D96A\",\"name\":\"SIGNWRITING MOVEMENT-FLOORPLANE DOUBLE STRAIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD96A\"},121195:{\"value\":\"1D96B\",\"name\":\"SIGNWRITING MOVEMENT-FLOORPLANE DOUBLE WRIST FLEX\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD96B\"},121196:{\"value\":\"1D96C\",\"name\":\"SIGNWRITING MOVEMENT-FLOORPLANE DOUBLE ALTERNATING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD96C\"},121197:{\"value\":\"1D96D\",\"name\":\"SIGNWRITING MOVEMENT-FLOORPLANE DOUBLE ALTERNATING WRIST FLEX\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD96D\"},121198:{\"value\":\"1D96E\",\"name\":\"SIGNWRITING MOVEMENT-FLOORPLANE CROSS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD96E\"},121199:{\"value\":\"1D96F\",\"name\":\"SIGNWRITING MOVEMENT-FLOORPLANE TRIPLE STRAIGHT MOVEMENT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD96F\"},121200:{\"value\":\"1D970\",\"name\":\"SIGNWRITING MOVEMENT-FLOORPLANE TRIPLE WRIST FLEX\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD970\"},121201:{\"value\":\"1D971\",\"name\":\"SIGNWRITING MOVEMENT-FLOORPLANE TRIPLE ALTERNATING MOVEMENT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD971\"},121202:{\"value\":\"1D972\",\"name\":\"SIGNWRITING MOVEMENT-FLOORPLANE TRIPLE ALTERNATING WRIST FLEX\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD972\"},121203:{\"value\":\"1D973\",\"name\":\"SIGNWRITING MOVEMENT-FLOORPLANE BEND\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD973\"},121204:{\"value\":\"1D974\",\"name\":\"SIGNWRITING MOVEMENT-FLOORPLANE CORNER SMALL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD974\"},121205:{\"value\":\"1D975\",\"name\":\"SIGNWRITING MOVEMENT-FLOORPLANE CORNER MEDIUM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD975\"},121206:{\"value\":\"1D976\",\"name\":\"SIGNWRITING MOVEMENT-FLOORPLANE CORNER LARGE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD976\"},121207:{\"value\":\"1D977\",\"name\":\"SIGNWRITING MOVEMENT-FLOORPLANE CHECK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD977\"},121208:{\"value\":\"1D978\",\"name\":\"SIGNWRITING MOVEMENT-FLOORPLANE BOX SMALL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD978\"},121209:{\"value\":\"1D979\",\"name\":\"SIGNWRITING MOVEMENT-FLOORPLANE BOX MEDIUM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD979\"},121210:{\"value\":\"1D97A\",\"name\":\"SIGNWRITING MOVEMENT-FLOORPLANE BOX LARGE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD97A\"},121211:{\"value\":\"1D97B\",\"name\":\"SIGNWRITING MOVEMENT-FLOORPLANE ZIGZAG SMALL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD97B\"},121212:{\"value\":\"1D97C\",\"name\":\"SIGNWRITING MOVEMENT-FLOORPLANE ZIGZAG MEDIUM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD97C\"},121213:{\"value\":\"1D97D\",\"name\":\"SIGNWRITING MOVEMENT-FLOORPLANE ZIGZAG LARGE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD97D\"},121214:{\"value\":\"1D97E\",\"name\":\"SIGNWRITING MOVEMENT-FLOORPLANE PEAKS SMALL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD97E\"},121215:{\"value\":\"1D97F\",\"name\":\"SIGNWRITING MOVEMENT-FLOORPLANE PEAKS MEDIUM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD97F\"},121216:{\"value\":\"1D980\",\"name\":\"SIGNWRITING MOVEMENT-FLOORPLANE PEAKS LARGE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD980\"},121217:{\"value\":\"1D981\",\"name\":\"SIGNWRITING TRAVEL-FLOORPLANE ROTATION-FLOORPLANE SINGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD981\"},121218:{\"value\":\"1D982\",\"name\":\"SIGNWRITING TRAVEL-FLOORPLANE ROTATION-FLOORPLANE DOUBLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD982\"},121219:{\"value\":\"1D983\",\"name\":\"SIGNWRITING TRAVEL-FLOORPLANE ROTATION-FLOORPLANE ALTERNATING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD983\"},121220:{\"value\":\"1D984\",\"name\":\"SIGNWRITING TRAVEL-FLOORPLANE ROTATION-WALLPLANE SINGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD984\"},121221:{\"value\":\"1D985\",\"name\":\"SIGNWRITING TRAVEL-FLOORPLANE ROTATION-WALLPLANE DOUBLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD985\"},121222:{\"value\":\"1D986\",\"name\":\"SIGNWRITING TRAVEL-FLOORPLANE ROTATION-WALLPLANE ALTERNATING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD986\"},121223:{\"value\":\"1D987\",\"name\":\"SIGNWRITING TRAVEL-FLOORPLANE SHAKING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD987\"},121224:{\"value\":\"1D988\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE CURVE QUARTER SMALL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD988\"},121225:{\"value\":\"1D989\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE CURVE QUARTER MEDIUM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD989\"},121226:{\"value\":\"1D98A\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE CURVE QUARTER LARGE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD98A\"},121227:{\"value\":\"1D98B\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE CURVE QUARTER LARGEST\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD98B\"},121228:{\"value\":\"1D98C\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE CURVE HALF-CIRCLE SMALL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD98C\"},121229:{\"value\":\"1D98D\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE CURVE HALF-CIRCLE MEDIUM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD98D\"},121230:{\"value\":\"1D98E\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE CURVE HALF-CIRCLE LARGE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD98E\"},121231:{\"value\":\"1D98F\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE CURVE HALF-CIRCLE LARGEST\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD98F\"},121232:{\"value\":\"1D990\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE CURVE THREE-QUARTER CIRCLE SMALL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD990\"},121233:{\"value\":\"1D991\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE CURVE THREE-QUARTER CIRCLE MEDIUM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD991\"},121234:{\"value\":\"1D992\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE HUMP SMALL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD992\"},121235:{\"value\":\"1D993\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE HUMP MEDIUM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD993\"},121236:{\"value\":\"1D994\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE HUMP LARGE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD994\"},121237:{\"value\":\"1D995\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE LOOP SMALL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD995\"},121238:{\"value\":\"1D996\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE LOOP MEDIUM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD996\"},121239:{\"value\":\"1D997\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE LOOP LARGE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD997\"},121240:{\"value\":\"1D998\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE LOOP SMALL DOUBLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD998\"},121241:{\"value\":\"1D999\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE WAVE CURVE DOUBLE SMALL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD999\"},121242:{\"value\":\"1D99A\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE WAVE CURVE DOUBLE MEDIUM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD99A\"},121243:{\"value\":\"1D99B\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE WAVE CURVE DOUBLE LARGE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD99B\"},121244:{\"value\":\"1D99C\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE WAVE CURVE TRIPLE SMALL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD99C\"},121245:{\"value\":\"1D99D\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE WAVE CURVE TRIPLE MEDIUM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD99D\"},121246:{\"value\":\"1D99E\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE WAVE CURVE TRIPLE LARGE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD99E\"},121247:{\"value\":\"1D99F\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE CURVE THEN STRAIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD99F\"},121248:{\"value\":\"1D9A0\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE CURVED CROSS SMALL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9A0\"},121249:{\"value\":\"1D9A1\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE CURVED CROSS MEDIUM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9A1\"},121250:{\"value\":\"1D9A2\",\"name\":\"SIGNWRITING ROTATION-WALLPLANE SINGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9A2\"},121251:{\"value\":\"1D9A3\",\"name\":\"SIGNWRITING ROTATION-WALLPLANE DOUBLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9A3\"},121252:{\"value\":\"1D9A4\",\"name\":\"SIGNWRITING ROTATION-WALLPLANE ALTERNATE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9A4\"},121253:{\"value\":\"1D9A5\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE SHAKING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9A5\"},121254:{\"value\":\"1D9A6\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE CURVE HITTING FRONT WALL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9A6\"},121255:{\"value\":\"1D9A7\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE HUMP HITTING FRONT WALL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9A7\"},121256:{\"value\":\"1D9A8\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE LOOP HITTING FRONT WALL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9A8\"},121257:{\"value\":\"1D9A9\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE WAVE HITTING FRONT WALL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9A9\"},121258:{\"value\":\"1D9AA\",\"name\":\"SIGNWRITING ROTATION-WALLPLANE SINGLE HITTING FRONT WALL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9AA\"},121259:{\"value\":\"1D9AB\",\"name\":\"SIGNWRITING ROTATION-WALLPLANE DOUBLE HITTING FRONT WALL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9AB\"},121260:{\"value\":\"1D9AC\",\"name\":\"SIGNWRITING ROTATION-WALLPLANE ALTERNATING HITTING FRONT WALL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9AC\"},121261:{\"value\":\"1D9AD\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE CURVE HITTING CHEST\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9AD\"},121262:{\"value\":\"1D9AE\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE HUMP HITTING CHEST\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9AE\"},121263:{\"value\":\"1D9AF\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE LOOP HITTING CHEST\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9AF\"},121264:{\"value\":\"1D9B0\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE WAVE HITTING CHEST\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9B0\"},121265:{\"value\":\"1D9B1\",\"name\":\"SIGNWRITING ROTATION-WALLPLANE SINGLE HITTING CHEST\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9B1\"},121266:{\"value\":\"1D9B2\",\"name\":\"SIGNWRITING ROTATION-WALLPLANE DOUBLE HITTING CHEST\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9B2\"},121267:{\"value\":\"1D9B3\",\"name\":\"SIGNWRITING ROTATION-WALLPLANE ALTERNATING HITTING CHEST\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9B3\"},121268:{\"value\":\"1D9B4\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE WAVE DIAGONAL PATH SMALL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9B4\"},121269:{\"value\":\"1D9B5\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE WAVE DIAGONAL PATH MEDIUM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9B5\"},121270:{\"value\":\"1D9B6\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE WAVE DIAGONAL PATH LARGE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9B6\"},121271:{\"value\":\"1D9B7\",\"name\":\"SIGNWRITING MOVEMENT-FLOORPLANE CURVE HITTING CEILING SMALL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9B7\"},121272:{\"value\":\"1D9B8\",\"name\":\"SIGNWRITING MOVEMENT-FLOORPLANE CURVE HITTING CEILING LARGE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9B8\"},121273:{\"value\":\"1D9B9\",\"name\":\"SIGNWRITING MOVEMENT-FLOORPLANE HUMP HITTING CEILING SMALL DOUBLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9B9\"},121274:{\"value\":\"1D9BA\",\"name\":\"SIGNWRITING MOVEMENT-FLOORPLANE HUMP HITTING CEILING LARGE DOUBLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9BA\"},121275:{\"value\":\"1D9BB\",\"name\":\"SIGNWRITING MOVEMENT-FLOORPLANE HUMP HITTING CEILING SMALL TRIPLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9BB\"},121276:{\"value\":\"1D9BC\",\"name\":\"SIGNWRITING MOVEMENT-FLOORPLANE HUMP HITTING CEILING LARGE TRIPLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9BC\"},121277:{\"value\":\"1D9BD\",\"name\":\"SIGNWRITING MOVEMENT-FLOORPLANE LOOP HITTING CEILING SMALL SINGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9BD\"},121278:{\"value\":\"1D9BE\",\"name\":\"SIGNWRITING MOVEMENT-FLOORPLANE LOOP HITTING CEILING LARGE SINGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9BE\"},121279:{\"value\":\"1D9BF\",\"name\":\"SIGNWRITING MOVEMENT-FLOORPLANE LOOP HITTING CEILING SMALL DOUBLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9BF\"},121280:{\"value\":\"1D9C0\",\"name\":\"SIGNWRITING MOVEMENT-FLOORPLANE LOOP HITTING CEILING LARGE DOUBLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9C0\"},121281:{\"value\":\"1D9C1\",\"name\":\"SIGNWRITING MOVEMENT-FLOORPLANE WAVE HITTING CEILING SMALL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9C1\"},121282:{\"value\":\"1D9C2\",\"name\":\"SIGNWRITING MOVEMENT-FLOORPLANE WAVE HITTING CEILING LARGE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9C2\"},121283:{\"value\":\"1D9C3\",\"name\":\"SIGNWRITING ROTATION-FLOORPLANE SINGLE HITTING CEILING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9C3\"},121284:{\"value\":\"1D9C4\",\"name\":\"SIGNWRITING ROTATION-FLOORPLANE DOUBLE HITTING CEILING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9C4\"},121285:{\"value\":\"1D9C5\",\"name\":\"SIGNWRITING ROTATION-FLOORPLANE ALTERNATING HITTING CEILING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9C5\"},121286:{\"value\":\"1D9C6\",\"name\":\"SIGNWRITING MOVEMENT-FLOORPLANE CURVE HITTING FLOOR SMALL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9C6\"},121287:{\"value\":\"1D9C7\",\"name\":\"SIGNWRITING MOVEMENT-FLOORPLANE CURVE HITTING FLOOR LARGE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9C7\"},121288:{\"value\":\"1D9C8\",\"name\":\"SIGNWRITING MOVEMENT-FLOORPLANE HUMP HITTING FLOOR SMALL DOUBLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9C8\"},121289:{\"value\":\"1D9C9\",\"name\":\"SIGNWRITING MOVEMENT-FLOORPLANE HUMP HITTING FLOOR LARGE DOUBLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9C9\"},121290:{\"value\":\"1D9CA\",\"name\":\"SIGNWRITING MOVEMENT-FLOORPLANE HUMP HITTING FLOOR TRIPLE SMALL TRIPLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9CA\"},121291:{\"value\":\"1D9CB\",\"name\":\"SIGNWRITING MOVEMENT-FLOORPLANE HUMP HITTING FLOOR TRIPLE LARGE TRIPLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9CB\"},121292:{\"value\":\"1D9CC\",\"name\":\"SIGNWRITING MOVEMENT-FLOORPLANE LOOP HITTING FLOOR SMALL SINGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9CC\"},121293:{\"value\":\"1D9CD\",\"name\":\"SIGNWRITING MOVEMENT-FLOORPLANE LOOP HITTING FLOOR LARGE SINGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9CD\"},121294:{\"value\":\"1D9CE\",\"name\":\"SIGNWRITING MOVEMENT-FLOORPLANE LOOP HITTING FLOOR SMALL DOUBLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9CE\"},121295:{\"value\":\"1D9CF\",\"name\":\"SIGNWRITING MOVEMENT-FLOORPLANE LOOP HITTING FLOOR LARGE DOUBLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9CF\"},121296:{\"value\":\"1D9D0\",\"name\":\"SIGNWRITING MOVEMENT-FLOORPLANE WAVE HITTING FLOOR SMALL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9D0\"},121297:{\"value\":\"1D9D1\",\"name\":\"SIGNWRITING MOVEMENT-FLOORPLANE WAVE HITTING FLOOR LARGE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9D1\"},121298:{\"value\":\"1D9D2\",\"name\":\"SIGNWRITING ROTATION-FLOORPLANE SINGLE HITTING FLOOR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9D2\"},121299:{\"value\":\"1D9D3\",\"name\":\"SIGNWRITING ROTATION-FLOORPLANE DOUBLE HITTING FLOOR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9D3\"},121300:{\"value\":\"1D9D4\",\"name\":\"SIGNWRITING ROTATION-FLOORPLANE ALTERNATING HITTING FLOOR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9D4\"},121301:{\"value\":\"1D9D5\",\"name\":\"SIGNWRITING MOVEMENT-FLOORPLANE CURVE SMALL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9D5\"},121302:{\"value\":\"1D9D6\",\"name\":\"SIGNWRITING MOVEMENT-FLOORPLANE CURVE MEDIUM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9D6\"},121303:{\"value\":\"1D9D7\",\"name\":\"SIGNWRITING MOVEMENT-FLOORPLANE CURVE LARGE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9D7\"},121304:{\"value\":\"1D9D8\",\"name\":\"SIGNWRITING MOVEMENT-FLOORPLANE CURVE LARGEST\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9D8\"},121305:{\"value\":\"1D9D9\",\"name\":\"SIGNWRITING MOVEMENT-FLOORPLANE CURVE COMBINED\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9D9\"},121306:{\"value\":\"1D9DA\",\"name\":\"SIGNWRITING MOVEMENT-FLOORPLANE HUMP SMALL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9DA\"},121307:{\"value\":\"1D9DB\",\"name\":\"SIGNWRITING MOVEMENT-FLOORPLANE LOOP SMALL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9DB\"},121308:{\"value\":\"1D9DC\",\"name\":\"SIGNWRITING MOVEMENT-FLOORPLANE WAVE SNAKE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9DC\"},121309:{\"value\":\"1D9DD\",\"name\":\"SIGNWRITING MOVEMENT-FLOORPLANE WAVE SMALL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9DD\"},121310:{\"value\":\"1D9DE\",\"name\":\"SIGNWRITING MOVEMENT-FLOORPLANE WAVE LARGE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9DE\"},121311:{\"value\":\"1D9DF\",\"name\":\"SIGNWRITING ROTATION-FLOORPLANE SINGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9DF\"},121312:{\"value\":\"1D9E0\",\"name\":\"SIGNWRITING ROTATION-FLOORPLANE DOUBLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9E0\"},121313:{\"value\":\"1D9E1\",\"name\":\"SIGNWRITING ROTATION-FLOORPLANE ALTERNATING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9E1\"},121314:{\"value\":\"1D9E2\",\"name\":\"SIGNWRITING MOVEMENT-FLOORPLANE SHAKING PARALLEL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9E2\"},121315:{\"value\":\"1D9E3\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE ARM CIRCLE SMALL SINGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9E3\"},121316:{\"value\":\"1D9E4\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE ARM CIRCLE MEDIUM SINGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9E4\"},121317:{\"value\":\"1D9E5\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE ARM CIRCLE SMALL DOUBLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9E5\"},121318:{\"value\":\"1D9E6\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE ARM CIRCLE MEDIUM DOUBLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9E6\"},121319:{\"value\":\"1D9E7\",\"name\":\"SIGNWRITING MOVEMENT-FLOORPLANE ARM CIRCLE HITTING WALL SMALL SINGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9E7\"},121320:{\"value\":\"1D9E8\",\"name\":\"SIGNWRITING MOVEMENT-FLOORPLANE ARM CIRCLE HITTING WALL MEDIUM SINGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9E8\"},121321:{\"value\":\"1D9E9\",\"name\":\"SIGNWRITING MOVEMENT-FLOORPLANE ARM CIRCLE HITTING WALL LARGE SINGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9E9\"},121322:{\"value\":\"1D9EA\",\"name\":\"SIGNWRITING MOVEMENT-FLOORPLANE ARM CIRCLE HITTING WALL SMALL DOUBLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9EA\"},121323:{\"value\":\"1D9EB\",\"name\":\"SIGNWRITING MOVEMENT-FLOORPLANE ARM CIRCLE HITTING WALL MEDIUM DOUBLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9EB\"},121324:{\"value\":\"1D9EC\",\"name\":\"SIGNWRITING MOVEMENT-FLOORPLANE ARM CIRCLE HITTING WALL LARGE DOUBLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9EC\"},121325:{\"value\":\"1D9ED\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE WRIST CIRCLE FRONT SINGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9ED\"},121326:{\"value\":\"1D9EE\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE WRIST CIRCLE FRONT DOUBLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9EE\"},121327:{\"value\":\"1D9EF\",\"name\":\"SIGNWRITING MOVEMENT-FLOORPLANE WRIST CIRCLE HITTING WALL SINGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9EF\"},121328:{\"value\":\"1D9F0\",\"name\":\"SIGNWRITING MOVEMENT-FLOORPLANE WRIST CIRCLE HITTING WALL DOUBLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9F0\"},121329:{\"value\":\"1D9F1\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE FINGER CIRCLES SINGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9F1\"},121330:{\"value\":\"1D9F2\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE FINGER CIRCLES DOUBLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9F2\"},121331:{\"value\":\"1D9F3\",\"name\":\"SIGNWRITING MOVEMENT-FLOORPLANE FINGER CIRCLES HITTING WALL SINGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9F3\"},121332:{\"value\":\"1D9F4\",\"name\":\"SIGNWRITING MOVEMENT-FLOORPLANE FINGER CIRCLES HITTING WALL DOUBLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9F4\"},121333:{\"value\":\"1D9F5\",\"name\":\"SIGNWRITING DYNAMIC ARROWHEAD SMALL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9F5\"},121334:{\"value\":\"1D9F6\",\"name\":\"SIGNWRITING DYNAMIC ARROWHEAD LARGE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9F6\"},121335:{\"value\":\"1D9F7\",\"name\":\"SIGNWRITING DYNAMIC FAST\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9F7\"},121336:{\"value\":\"1D9F8\",\"name\":\"SIGNWRITING DYNAMIC SLOW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9F8\"},121337:{\"value\":\"1D9F9\",\"name\":\"SIGNWRITING DYNAMIC TENSE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9F9\"},121338:{\"value\":\"1D9FA\",\"name\":\"SIGNWRITING DYNAMIC RELAXED\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9FA\"},121339:{\"value\":\"1D9FB\",\"name\":\"SIGNWRITING DYNAMIC SIMULTANEOUS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9FB\"},121340:{\"value\":\"1D9FC\",\"name\":\"SIGNWRITING DYNAMIC SIMULTANEOUS ALTERNATING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9FC\"},121341:{\"value\":\"1D9FD\",\"name\":\"SIGNWRITING DYNAMIC EVERY OTHER TIME\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9FD\"},121342:{\"value\":\"1D9FE\",\"name\":\"SIGNWRITING DYNAMIC GRADUAL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9FE\"},121343:{\"value\":\"1D9FF\",\"name\":\"SIGNWRITING HEAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9FF\"},121399:{\"value\":\"1DA37\",\"name\":\"SIGNWRITING AIR BLOW SMALL ROTATIONS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uDA37\"},121400:{\"value\":\"1DA38\",\"name\":\"SIGNWRITING AIR SUCK SMALL ROTATIONS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uDA38\"},121401:{\"value\":\"1DA39\",\"name\":\"SIGNWRITING BREATH INHALE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uDA39\"},121402:{\"value\":\"1DA3A\",\"name\":\"SIGNWRITING BREATH EXHALE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uDA3A\"},121453:{\"value\":\"1DA6D\",\"name\":\"SIGNWRITING SHOULDER HIP SPINE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uDA6D\"},121454:{\"value\":\"1DA6E\",\"name\":\"SIGNWRITING SHOULDER HIP POSITIONS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uDA6E\"},121455:{\"value\":\"1DA6F\",\"name\":\"SIGNWRITING WALLPLANE SHOULDER HIP MOVE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uDA6F\"},121456:{\"value\":\"1DA70\",\"name\":\"SIGNWRITING FLOORPLANE SHOULDER HIP MOVE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uDA70\"},121457:{\"value\":\"1DA71\",\"name\":\"SIGNWRITING SHOULDER TILTING FROM WAIST\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uDA71\"},121458:{\"value\":\"1DA72\",\"name\":\"SIGNWRITING TORSO-WALLPLANE STRAIGHT STRETCH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uDA72\"},121459:{\"value\":\"1DA73\",\"name\":\"SIGNWRITING TORSO-WALLPLANE CURVED BEND\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uDA73\"},121460:{\"value\":\"1DA74\",\"name\":\"SIGNWRITING TORSO-FLOORPLANE TWISTING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uDA74\"},121462:{\"value\":\"1DA76\",\"name\":\"SIGNWRITING LIMB COMBINATION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uDA76\"},121463:{\"value\":\"1DA77\",\"name\":\"SIGNWRITING LIMB LENGTH-1\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uDA77\"},121464:{\"value\":\"1DA78\",\"name\":\"SIGNWRITING LIMB LENGTH-2\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uDA78\"},121465:{\"value\":\"1DA79\",\"name\":\"SIGNWRITING LIMB LENGTH-3\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uDA79\"},121466:{\"value\":\"1DA7A\",\"name\":\"SIGNWRITING LIMB LENGTH-4\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uDA7A\"},121467:{\"value\":\"1DA7B\",\"name\":\"SIGNWRITING LIMB LENGTH-5\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uDA7B\"},121468:{\"value\":\"1DA7C\",\"name\":\"SIGNWRITING LIMB LENGTH-6\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uDA7C\"},121469:{\"value\":\"1DA7D\",\"name\":\"SIGNWRITING LIMB LENGTH-7\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uDA7D\"},121470:{\"value\":\"1DA7E\",\"name\":\"SIGNWRITING FINGER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uDA7E\"},121471:{\"value\":\"1DA7F\",\"name\":\"SIGNWRITING LOCATION-WALLPLANE SPACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uDA7F\"},121472:{\"value\":\"1DA80\",\"name\":\"SIGNWRITING LOCATION-FLOORPLANE SPACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uDA80\"},121473:{\"value\":\"1DA81\",\"name\":\"SIGNWRITING LOCATION HEIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uDA81\"},121474:{\"value\":\"1DA82\",\"name\":\"SIGNWRITING LOCATION WIDTH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uDA82\"},121475:{\"value\":\"1DA83\",\"name\":\"SIGNWRITING LOCATION DEPTH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uDA83\"},121477:{\"value\":\"1DA85\",\"name\":\"SIGNWRITING LOCATION TORSO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uDA85\"},121478:{\"value\":\"1DA86\",\"name\":\"SIGNWRITING LOCATION LIMBS DIGITS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uDA86\"},126976:{\"value\":\"1F000\",\"name\":\"MAHJONG TILE EAST WIND\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF000\"},126977:{\"value\":\"1F001\",\"name\":\"MAHJONG TILE SOUTH WIND\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF001\"},126978:{\"value\":\"1F002\",\"name\":\"MAHJONG TILE WEST WIND\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF002\"},126979:{\"value\":\"1F003\",\"name\":\"MAHJONG TILE NORTH WIND\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF003\"},126980:{\"value\":\"1F004\",\"name\":\"MAHJONG TILE RED DRAGON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF004\"},126981:{\"value\":\"1F005\",\"name\":\"MAHJONG TILE GREEN DRAGON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF005\"},126982:{\"value\":\"1F006\",\"name\":\"MAHJONG TILE WHITE DRAGON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF006\"},126983:{\"value\":\"1F007\",\"name\":\"MAHJONG TILE ONE OF CHARACTERS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF007\"},126984:{\"value\":\"1F008\",\"name\":\"MAHJONG TILE TWO OF CHARACTERS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF008\"},126985:{\"value\":\"1F009\",\"name\":\"MAHJONG TILE THREE OF CHARACTERS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF009\"},126986:{\"value\":\"1F00A\",\"name\":\"MAHJONG TILE FOUR OF CHARACTERS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF00A\"},126987:{\"value\":\"1F00B\",\"name\":\"MAHJONG TILE FIVE OF CHARACTERS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF00B\"},126988:{\"value\":\"1F00C\",\"name\":\"MAHJONG TILE SIX OF CHARACTERS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF00C\"},126989:{\"value\":\"1F00D\",\"name\":\"MAHJONG TILE SEVEN OF CHARACTERS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF00D\"},126990:{\"value\":\"1F00E\",\"name\":\"MAHJONG TILE EIGHT OF CHARACTERS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF00E\"},126991:{\"value\":\"1F00F\",\"name\":\"MAHJONG TILE NINE OF CHARACTERS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF00F\"},126992:{\"value\":\"1F010\",\"name\":\"MAHJONG TILE ONE OF BAMBOOS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF010\"},126993:{\"value\":\"1F011\",\"name\":\"MAHJONG TILE TWO OF BAMBOOS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF011\"},126994:{\"value\":\"1F012\",\"name\":\"MAHJONG TILE THREE OF BAMBOOS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF012\"},126995:{\"value\":\"1F013\",\"name\":\"MAHJONG TILE FOUR OF BAMBOOS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF013\"},126996:{\"value\":\"1F014\",\"name\":\"MAHJONG TILE FIVE OF BAMBOOS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF014\"},126997:{\"value\":\"1F015\",\"name\":\"MAHJONG TILE SIX OF BAMBOOS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF015\"},126998:{\"value\":\"1F016\",\"name\":\"MAHJONG TILE SEVEN OF BAMBOOS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF016\"},126999:{\"value\":\"1F017\",\"name\":\"MAHJONG TILE EIGHT OF BAMBOOS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF017\"},127000:{\"value\":\"1F018\",\"name\":\"MAHJONG TILE NINE OF BAMBOOS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF018\"},127001:{\"value\":\"1F019\",\"name\":\"MAHJONG TILE ONE OF CIRCLES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF019\"},127002:{\"value\":\"1F01A\",\"name\":\"MAHJONG TILE TWO OF CIRCLES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF01A\"},127003:{\"value\":\"1F01B\",\"name\":\"MAHJONG TILE THREE OF CIRCLES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF01B\"},127004:{\"value\":\"1F01C\",\"name\":\"MAHJONG TILE FOUR OF CIRCLES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF01C\"},127005:{\"value\":\"1F01D\",\"name\":\"MAHJONG TILE FIVE OF CIRCLES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF01D\"},127006:{\"value\":\"1F01E\",\"name\":\"MAHJONG TILE SIX OF CIRCLES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF01E\"},127007:{\"value\":\"1F01F\",\"name\":\"MAHJONG TILE SEVEN OF CIRCLES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF01F\"},127008:{\"value\":\"1F020\",\"name\":\"MAHJONG TILE EIGHT OF CIRCLES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF020\"},127009:{\"value\":\"1F021\",\"name\":\"MAHJONG TILE NINE OF CIRCLES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF021\"},127010:{\"value\":\"1F022\",\"name\":\"MAHJONG TILE PLUM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF022\"},127011:{\"value\":\"1F023\",\"name\":\"MAHJONG TILE ORCHID\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF023\"},127012:{\"value\":\"1F024\",\"name\":\"MAHJONG TILE BAMBOO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF024\"},127013:{\"value\":\"1F025\",\"name\":\"MAHJONG TILE CHRYSANTHEMUM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF025\"},127014:{\"value\":\"1F026\",\"name\":\"MAHJONG TILE SPRING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF026\"},127015:{\"value\":\"1F027\",\"name\":\"MAHJONG TILE SUMMER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF027\"},127016:{\"value\":\"1F028\",\"name\":\"MAHJONG TILE AUTUMN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF028\"},127017:{\"value\":\"1F029\",\"name\":\"MAHJONG TILE WINTER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF029\"},127018:{\"value\":\"1F02A\",\"name\":\"MAHJONG TILE JOKER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF02A\"},127019:{\"value\":\"1F02B\",\"name\":\"MAHJONG TILE BACK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF02B\"},127024:{\"value\":\"1F030\",\"name\":\"DOMINO TILE HORIZONTAL BACK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF030\"},127025:{\"value\":\"1F031\",\"name\":\"DOMINO TILE HORIZONTAL-00-00\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF031\"},127026:{\"value\":\"1F032\",\"name\":\"DOMINO TILE HORIZONTAL-00-01\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF032\"},127027:{\"value\":\"1F033\",\"name\":\"DOMINO TILE HORIZONTAL-00-02\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF033\"},127028:{\"value\":\"1F034\",\"name\":\"DOMINO TILE HORIZONTAL-00-03\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF034\"},127029:{\"value\":\"1F035\",\"name\":\"DOMINO TILE HORIZONTAL-00-04\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF035\"},127030:{\"value\":\"1F036\",\"name\":\"DOMINO TILE HORIZONTAL-00-05\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF036\"},127031:{\"value\":\"1F037\",\"name\":\"DOMINO TILE HORIZONTAL-00-06\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF037\"},127032:{\"value\":\"1F038\",\"name\":\"DOMINO TILE HORIZONTAL-01-00\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF038\"},127033:{\"value\":\"1F039\",\"name\":\"DOMINO TILE HORIZONTAL-01-01\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF039\"},127034:{\"value\":\"1F03A\",\"name\":\"DOMINO TILE HORIZONTAL-01-02\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF03A\"},127035:{\"value\":\"1F03B\",\"name\":\"DOMINO TILE HORIZONTAL-01-03\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF03B\"},127036:{\"value\":\"1F03C\",\"name\":\"DOMINO TILE HORIZONTAL-01-04\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF03C\"},127037:{\"value\":\"1F03D\",\"name\":\"DOMINO TILE HORIZONTAL-01-05\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF03D\"},127038:{\"value\":\"1F03E\",\"name\":\"DOMINO TILE HORIZONTAL-01-06\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF03E\"},127039:{\"value\":\"1F03F\",\"name\":\"DOMINO TILE HORIZONTAL-02-00\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF03F\"},127040:{\"value\":\"1F040\",\"name\":\"DOMINO TILE HORIZONTAL-02-01\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF040\"},127041:{\"value\":\"1F041\",\"name\":\"DOMINO TILE HORIZONTAL-02-02\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF041\"},127042:{\"value\":\"1F042\",\"name\":\"DOMINO TILE HORIZONTAL-02-03\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF042\"},127043:{\"value\":\"1F043\",\"name\":\"DOMINO TILE HORIZONTAL-02-04\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF043\"},127044:{\"value\":\"1F044\",\"name\":\"DOMINO TILE HORIZONTAL-02-05\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF044\"},127045:{\"value\":\"1F045\",\"name\":\"DOMINO TILE HORIZONTAL-02-06\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF045\"},127046:{\"value\":\"1F046\",\"name\":\"DOMINO TILE HORIZONTAL-03-00\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF046\"},127047:{\"value\":\"1F047\",\"name\":\"DOMINO TILE HORIZONTAL-03-01\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF047\"},127048:{\"value\":\"1F048\",\"name\":\"DOMINO TILE HORIZONTAL-03-02\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF048\"},127049:{\"value\":\"1F049\",\"name\":\"DOMINO TILE HORIZONTAL-03-03\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF049\"},127050:{\"value\":\"1F04A\",\"name\":\"DOMINO TILE HORIZONTAL-03-04\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF04A\"},127051:{\"value\":\"1F04B\",\"name\":\"DOMINO TILE HORIZONTAL-03-05\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF04B\"},127052:{\"value\":\"1F04C\",\"name\":\"DOMINO TILE HORIZONTAL-03-06\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF04C\"},127053:{\"value\":\"1F04D\",\"name\":\"DOMINO TILE HORIZONTAL-04-00\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF04D\"},127054:{\"value\":\"1F04E\",\"name\":\"DOMINO TILE HORIZONTAL-04-01\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF04E\"},127055:{\"value\":\"1F04F\",\"name\":\"DOMINO TILE HORIZONTAL-04-02\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF04F\"},127056:{\"value\":\"1F050\",\"name\":\"DOMINO TILE HORIZONTAL-04-03\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF050\"},127057:{\"value\":\"1F051\",\"name\":\"DOMINO TILE HORIZONTAL-04-04\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF051\"},127058:{\"value\":\"1F052\",\"name\":\"DOMINO TILE HORIZONTAL-04-05\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF052\"},127059:{\"value\":\"1F053\",\"name\":\"DOMINO TILE HORIZONTAL-04-06\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF053\"},127060:{\"value\":\"1F054\",\"name\":\"DOMINO TILE HORIZONTAL-05-00\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF054\"},127061:{\"value\":\"1F055\",\"name\":\"DOMINO TILE HORIZONTAL-05-01\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF055\"},127062:{\"value\":\"1F056\",\"name\":\"DOMINO TILE HORIZONTAL-05-02\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF056\"},127063:{\"value\":\"1F057\",\"name\":\"DOMINO TILE HORIZONTAL-05-03\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF057\"},127064:{\"value\":\"1F058\",\"name\":\"DOMINO TILE HORIZONTAL-05-04\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF058\"},127065:{\"value\":\"1F059\",\"name\":\"DOMINO TILE HORIZONTAL-05-05\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF059\"},127066:{\"value\":\"1F05A\",\"name\":\"DOMINO TILE HORIZONTAL-05-06\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF05A\"},127067:{\"value\":\"1F05B\",\"name\":\"DOMINO TILE HORIZONTAL-06-00\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF05B\"},127068:{\"value\":\"1F05C\",\"name\":\"DOMINO TILE HORIZONTAL-06-01\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF05C\"},127069:{\"value\":\"1F05D\",\"name\":\"DOMINO TILE HORIZONTAL-06-02\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF05D\"},127070:{\"value\":\"1F05E\",\"name\":\"DOMINO TILE HORIZONTAL-06-03\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF05E\"},127071:{\"value\":\"1F05F\",\"name\":\"DOMINO TILE HORIZONTAL-06-04\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF05F\"},127072:{\"value\":\"1F060\",\"name\":\"DOMINO TILE HORIZONTAL-06-05\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF060\"},127073:{\"value\":\"1F061\",\"name\":\"DOMINO TILE HORIZONTAL-06-06\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF061\"},127074:{\"value\":\"1F062\",\"name\":\"DOMINO TILE VERTICAL BACK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF062\"},127075:{\"value\":\"1F063\",\"name\":\"DOMINO TILE VERTICAL-00-00\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF063\"},127076:{\"value\":\"1F064\",\"name\":\"DOMINO TILE VERTICAL-00-01\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF064\"},127077:{\"value\":\"1F065\",\"name\":\"DOMINO TILE VERTICAL-00-02\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF065\"},127078:{\"value\":\"1F066\",\"name\":\"DOMINO TILE VERTICAL-00-03\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF066\"},127079:{\"value\":\"1F067\",\"name\":\"DOMINO TILE VERTICAL-00-04\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF067\"},127080:{\"value\":\"1F068\",\"name\":\"DOMINO TILE VERTICAL-00-05\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF068\"},127081:{\"value\":\"1F069\",\"name\":\"DOMINO TILE VERTICAL-00-06\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF069\"},127082:{\"value\":\"1F06A\",\"name\":\"DOMINO TILE VERTICAL-01-00\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF06A\"},127083:{\"value\":\"1F06B\",\"name\":\"DOMINO TILE VERTICAL-01-01\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF06B\"},127084:{\"value\":\"1F06C\",\"name\":\"DOMINO TILE VERTICAL-01-02\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF06C\"},127085:{\"value\":\"1F06D\",\"name\":\"DOMINO TILE VERTICAL-01-03\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF06D\"},127086:{\"value\":\"1F06E\",\"name\":\"DOMINO TILE VERTICAL-01-04\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF06E\"},127087:{\"value\":\"1F06F\",\"name\":\"DOMINO TILE VERTICAL-01-05\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF06F\"},127088:{\"value\":\"1F070\",\"name\":\"DOMINO TILE VERTICAL-01-06\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF070\"},127089:{\"value\":\"1F071\",\"name\":\"DOMINO TILE VERTICAL-02-00\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF071\"},127090:{\"value\":\"1F072\",\"name\":\"DOMINO TILE VERTICAL-02-01\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF072\"},127091:{\"value\":\"1F073\",\"name\":\"DOMINO TILE VERTICAL-02-02\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF073\"},127092:{\"value\":\"1F074\",\"name\":\"DOMINO TILE VERTICAL-02-03\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF074\"},127093:{\"value\":\"1F075\",\"name\":\"DOMINO TILE VERTICAL-02-04\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF075\"},127094:{\"value\":\"1F076\",\"name\":\"DOMINO TILE VERTICAL-02-05\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF076\"},127095:{\"value\":\"1F077\",\"name\":\"DOMINO TILE VERTICAL-02-06\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF077\"},127096:{\"value\":\"1F078\",\"name\":\"DOMINO TILE VERTICAL-03-00\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF078\"},127097:{\"value\":\"1F079\",\"name\":\"DOMINO TILE VERTICAL-03-01\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF079\"},127098:{\"value\":\"1F07A\",\"name\":\"DOMINO TILE VERTICAL-03-02\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF07A\"},127099:{\"value\":\"1F07B\",\"name\":\"DOMINO TILE VERTICAL-03-03\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF07B\"},127100:{\"value\":\"1F07C\",\"name\":\"DOMINO TILE VERTICAL-03-04\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF07C\"},127101:{\"value\":\"1F07D\",\"name\":\"DOMINO TILE VERTICAL-03-05\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF07D\"},127102:{\"value\":\"1F07E\",\"name\":\"DOMINO TILE VERTICAL-03-06\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF07E\"},127103:{\"value\":\"1F07F\",\"name\":\"DOMINO TILE VERTICAL-04-00\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF07F\"},127104:{\"value\":\"1F080\",\"name\":\"DOMINO TILE VERTICAL-04-01\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF080\"},127105:{\"value\":\"1F081\",\"name\":\"DOMINO TILE VERTICAL-04-02\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF081\"},127106:{\"value\":\"1F082\",\"name\":\"DOMINO TILE VERTICAL-04-03\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF082\"},127107:{\"value\":\"1F083\",\"name\":\"DOMINO TILE VERTICAL-04-04\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF083\"},127108:{\"value\":\"1F084\",\"name\":\"DOMINO TILE VERTICAL-04-05\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF084\"},127109:{\"value\":\"1F085\",\"name\":\"DOMINO TILE VERTICAL-04-06\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF085\"},127110:{\"value\":\"1F086\",\"name\":\"DOMINO TILE VERTICAL-05-00\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF086\"},127111:{\"value\":\"1F087\",\"name\":\"DOMINO TILE VERTICAL-05-01\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF087\"},127112:{\"value\":\"1F088\",\"name\":\"DOMINO TILE VERTICAL-05-02\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF088\"},127113:{\"value\":\"1F089\",\"name\":\"DOMINO TILE VERTICAL-05-03\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF089\"},127114:{\"value\":\"1F08A\",\"name\":\"DOMINO TILE VERTICAL-05-04\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF08A\"},127115:{\"value\":\"1F08B\",\"name\":\"DOMINO TILE VERTICAL-05-05\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF08B\"},127116:{\"value\":\"1F08C\",\"name\":\"DOMINO TILE VERTICAL-05-06\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF08C\"},127117:{\"value\":\"1F08D\",\"name\":\"DOMINO TILE VERTICAL-06-00\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF08D\"},127118:{\"value\":\"1F08E\",\"name\":\"DOMINO TILE VERTICAL-06-01\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF08E\"},127119:{\"value\":\"1F08F\",\"name\":\"DOMINO TILE VERTICAL-06-02\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF08F\"},127120:{\"value\":\"1F090\",\"name\":\"DOMINO TILE VERTICAL-06-03\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF090\"},127121:{\"value\":\"1F091\",\"name\":\"DOMINO TILE VERTICAL-06-04\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF091\"},127122:{\"value\":\"1F092\",\"name\":\"DOMINO TILE VERTICAL-06-05\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF092\"},127123:{\"value\":\"1F093\",\"name\":\"DOMINO TILE VERTICAL-06-06\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF093\"},127136:{\"value\":\"1F0A0\",\"name\":\"PLAYING CARD BACK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0A0\"},127137:{\"value\":\"1F0A1\",\"name\":\"PLAYING CARD ACE OF SPADES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0A1\"},127138:{\"value\":\"1F0A2\",\"name\":\"PLAYING CARD TWO OF SPADES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0A2\"},127139:{\"value\":\"1F0A3\",\"name\":\"PLAYING CARD THREE OF SPADES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0A3\"},127140:{\"value\":\"1F0A4\",\"name\":\"PLAYING CARD FOUR OF SPADES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0A4\"},127141:{\"value\":\"1F0A5\",\"name\":\"PLAYING CARD FIVE OF SPADES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0A5\"},127142:{\"value\":\"1F0A6\",\"name\":\"PLAYING CARD SIX OF SPADES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0A6\"},127143:{\"value\":\"1F0A7\",\"name\":\"PLAYING CARD SEVEN OF SPADES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0A7\"},127144:{\"value\":\"1F0A8\",\"name\":\"PLAYING CARD EIGHT OF SPADES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0A8\"},127145:{\"value\":\"1F0A9\",\"name\":\"PLAYING CARD NINE OF SPADES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0A9\"},127146:{\"value\":\"1F0AA\",\"name\":\"PLAYING CARD TEN OF SPADES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0AA\"},127147:{\"value\":\"1F0AB\",\"name\":\"PLAYING CARD JACK OF SPADES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0AB\"},127148:{\"value\":\"1F0AC\",\"name\":\"PLAYING CARD KNIGHT OF SPADES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0AC\"},127149:{\"value\":\"1F0AD\",\"name\":\"PLAYING CARD QUEEN OF SPADES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0AD\"},127150:{\"value\":\"1F0AE\",\"name\":\"PLAYING CARD KING OF SPADES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0AE\"},127153:{\"value\":\"1F0B1\",\"name\":\"PLAYING CARD ACE OF HEARTS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0B1\"},127154:{\"value\":\"1F0B2\",\"name\":\"PLAYING CARD TWO OF HEARTS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0B2\"},127155:{\"value\":\"1F0B3\",\"name\":\"PLAYING CARD THREE OF HEARTS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0B3\"},127156:{\"value\":\"1F0B4\",\"name\":\"PLAYING CARD FOUR OF HEARTS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0B4\"},127157:{\"value\":\"1F0B5\",\"name\":\"PLAYING CARD FIVE OF HEARTS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0B5\"},127158:{\"value\":\"1F0B6\",\"name\":\"PLAYING CARD SIX OF HEARTS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0B6\"},127159:{\"value\":\"1F0B7\",\"name\":\"PLAYING CARD SEVEN OF HEARTS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0B7\"},127160:{\"value\":\"1F0B8\",\"name\":\"PLAYING CARD EIGHT OF HEARTS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0B8\"},127161:{\"value\":\"1F0B9\",\"name\":\"PLAYING CARD NINE OF HEARTS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0B9\"},127162:{\"value\":\"1F0BA\",\"name\":\"PLAYING CARD TEN OF HEARTS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0BA\"},127163:{\"value\":\"1F0BB\",\"name\":\"PLAYING CARD JACK OF HEARTS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0BB\"},127164:{\"value\":\"1F0BC\",\"name\":\"PLAYING CARD KNIGHT OF HEARTS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0BC\"},127165:{\"value\":\"1F0BD\",\"name\":\"PLAYING CARD QUEEN OF HEARTS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0BD\"},127166:{\"value\":\"1F0BE\",\"name\":\"PLAYING CARD KING OF HEARTS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0BE\"},127167:{\"value\":\"1F0BF\",\"name\":\"PLAYING CARD RED JOKER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0BF\"},127169:{\"value\":\"1F0C1\",\"name\":\"PLAYING CARD ACE OF DIAMONDS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0C1\"},127170:{\"value\":\"1F0C2\",\"name\":\"PLAYING CARD TWO OF DIAMONDS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0C2\"},127171:{\"value\":\"1F0C3\",\"name\":\"PLAYING CARD THREE OF DIAMONDS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0C3\"},127172:{\"value\":\"1F0C4\",\"name\":\"PLAYING CARD FOUR OF DIAMONDS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0C4\"},127173:{\"value\":\"1F0C5\",\"name\":\"PLAYING CARD FIVE OF DIAMONDS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0C5\"},127174:{\"value\":\"1F0C6\",\"name\":\"PLAYING CARD SIX OF DIAMONDS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0C6\"},127175:{\"value\":\"1F0C7\",\"name\":\"PLAYING CARD SEVEN OF DIAMONDS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0C7\"},127176:{\"value\":\"1F0C8\",\"name\":\"PLAYING CARD EIGHT OF DIAMONDS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0C8\"},127177:{\"value\":\"1F0C9\",\"name\":\"PLAYING CARD NINE OF DIAMONDS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0C9\"},127178:{\"value\":\"1F0CA\",\"name\":\"PLAYING CARD TEN OF DIAMONDS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0CA\"},127179:{\"value\":\"1F0CB\",\"name\":\"PLAYING CARD JACK OF DIAMONDS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0CB\"},127180:{\"value\":\"1F0CC\",\"name\":\"PLAYING CARD KNIGHT OF DIAMONDS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0CC\"},127181:{\"value\":\"1F0CD\",\"name\":\"PLAYING CARD QUEEN OF DIAMONDS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0CD\"},127182:{\"value\":\"1F0CE\",\"name\":\"PLAYING CARD KING OF DIAMONDS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0CE\"},127183:{\"value\":\"1F0CF\",\"name\":\"PLAYING CARD BLACK JOKER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0CF\"},127185:{\"value\":\"1F0D1\",\"name\":\"PLAYING CARD ACE OF CLUBS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0D1\"},127186:{\"value\":\"1F0D2\",\"name\":\"PLAYING CARD TWO OF CLUBS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0D2\"},127187:{\"value\":\"1F0D3\",\"name\":\"PLAYING CARD THREE OF CLUBS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0D3\"},127188:{\"value\":\"1F0D4\",\"name\":\"PLAYING CARD FOUR OF CLUBS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0D4\"},127189:{\"value\":\"1F0D5\",\"name\":\"PLAYING CARD FIVE OF CLUBS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0D5\"},127190:{\"value\":\"1F0D6\",\"name\":\"PLAYING CARD SIX OF CLUBS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0D6\"},127191:{\"value\":\"1F0D7\",\"name\":\"PLAYING CARD SEVEN OF CLUBS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0D7\"},127192:{\"value\":\"1F0D8\",\"name\":\"PLAYING CARD EIGHT OF CLUBS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0D8\"},127193:{\"value\":\"1F0D9\",\"name\":\"PLAYING CARD NINE OF CLUBS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0D9\"},127194:{\"value\":\"1F0DA\",\"name\":\"PLAYING CARD TEN OF CLUBS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0DA\"},127195:{\"value\":\"1F0DB\",\"name\":\"PLAYING CARD JACK OF CLUBS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0DB\"},127196:{\"value\":\"1F0DC\",\"name\":\"PLAYING CARD KNIGHT OF CLUBS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0DC\"},127197:{\"value\":\"1F0DD\",\"name\":\"PLAYING CARD QUEEN OF CLUBS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0DD\"},127198:{\"value\":\"1F0DE\",\"name\":\"PLAYING CARD KING OF CLUBS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0DE\"},127199:{\"value\":\"1F0DF\",\"name\":\"PLAYING CARD WHITE JOKER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0DF\"},127200:{\"value\":\"1F0E0\",\"name\":\"PLAYING CARD FOOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0E0\"},127201:{\"value\":\"1F0E1\",\"name\":\"PLAYING CARD TRUMP-1\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0E1\"},127202:{\"value\":\"1F0E2\",\"name\":\"PLAYING CARD TRUMP-2\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0E2\"},127203:{\"value\":\"1F0E3\",\"name\":\"PLAYING CARD TRUMP-3\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0E3\"},127204:{\"value\":\"1F0E4\",\"name\":\"PLAYING CARD TRUMP-4\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0E4\"},127205:{\"value\":\"1F0E5\",\"name\":\"PLAYING CARD TRUMP-5\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0E5\"},127206:{\"value\":\"1F0E6\",\"name\":\"PLAYING CARD TRUMP-6\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0E6\"},127207:{\"value\":\"1F0E7\",\"name\":\"PLAYING CARD TRUMP-7\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0E7\"},127208:{\"value\":\"1F0E8\",\"name\":\"PLAYING CARD TRUMP-8\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0E8\"},127209:{\"value\":\"1F0E9\",\"name\":\"PLAYING CARD TRUMP-9\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0E9\"},127210:{\"value\":\"1F0EA\",\"name\":\"PLAYING CARD TRUMP-10\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0EA\"},127211:{\"value\":\"1F0EB\",\"name\":\"PLAYING CARD TRUMP-11\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0EB\"},127212:{\"value\":\"1F0EC\",\"name\":\"PLAYING CARD TRUMP-12\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0EC\"},127213:{\"value\":\"1F0ED\",\"name\":\"PLAYING CARD TRUMP-13\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0ED\"},127214:{\"value\":\"1F0EE\",\"name\":\"PLAYING CARD TRUMP-14\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0EE\"},127215:{\"value\":\"1F0EF\",\"name\":\"PLAYING CARD TRUMP-15\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0EF\"},127216:{\"value\":\"1F0F0\",\"name\":\"PLAYING CARD TRUMP-16\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0F0\"},127217:{\"value\":\"1F0F1\",\"name\":\"PLAYING CARD TRUMP-17\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0F1\"},127218:{\"value\":\"1F0F2\",\"name\":\"PLAYING CARD TRUMP-18\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0F2\"},127219:{\"value\":\"1F0F3\",\"name\":\"PLAYING CARD TRUMP-19\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0F3\"},127220:{\"value\":\"1F0F4\",\"name\":\"PLAYING CARD TRUMP-20\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0F4\"},127221:{\"value\":\"1F0F5\",\"name\":\"PLAYING CARD TRUMP-21\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0F5\"},127248:{\"value\":\"1F110\",\"name\":\"PARENTHESIZED LATIN CAPITAL LETTER A\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 0041 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF110\"},127249:{\"value\":\"1F111\",\"name\":\"PARENTHESIZED LATIN CAPITAL LETTER B\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 0042 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF111\"},127250:{\"value\":\"1F112\",\"name\":\"PARENTHESIZED LATIN CAPITAL LETTER C\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 0043 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF112\"},127251:{\"value\":\"1F113\",\"name\":\"PARENTHESIZED LATIN CAPITAL LETTER D\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 0044 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF113\"},127252:{\"value\":\"1F114\",\"name\":\"PARENTHESIZED LATIN CAPITAL LETTER E\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 0045 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF114\"},127253:{\"value\":\"1F115\",\"name\":\"PARENTHESIZED LATIN CAPITAL LETTER F\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 0046 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF115\"},127254:{\"value\":\"1F116\",\"name\":\"PARENTHESIZED LATIN CAPITAL LETTER G\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 0047 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF116\"},127255:{\"value\":\"1F117\",\"name\":\"PARENTHESIZED LATIN CAPITAL LETTER H\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 0048 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF117\"},127256:{\"value\":\"1F118\",\"name\":\"PARENTHESIZED LATIN CAPITAL LETTER I\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 0049 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF118\"},127257:{\"value\":\"1F119\",\"name\":\"PARENTHESIZED LATIN CAPITAL LETTER J\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 004A 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF119\"},127258:{\"value\":\"1F11A\",\"name\":\"PARENTHESIZED LATIN CAPITAL LETTER K\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 004B 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF11A\"},127259:{\"value\":\"1F11B\",\"name\":\"PARENTHESIZED LATIN CAPITAL LETTER L\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 004C 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF11B\"},127260:{\"value\":\"1F11C\",\"name\":\"PARENTHESIZED LATIN CAPITAL LETTER M\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 004D 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF11C\"},127261:{\"value\":\"1F11D\",\"name\":\"PARENTHESIZED LATIN CAPITAL LETTER N\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 004E 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF11D\"},127262:{\"value\":\"1F11E\",\"name\":\"PARENTHESIZED LATIN CAPITAL LETTER O\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 004F 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF11E\"},127263:{\"value\":\"1F11F\",\"name\":\"PARENTHESIZED LATIN CAPITAL LETTER P\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 0050 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF11F\"},127264:{\"value\":\"1F120\",\"name\":\"PARENTHESIZED LATIN CAPITAL LETTER Q\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 0051 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF120\"},127265:{\"value\":\"1F121\",\"name\":\"PARENTHESIZED LATIN CAPITAL LETTER R\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 0052 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF121\"},127266:{\"value\":\"1F122\",\"name\":\"PARENTHESIZED LATIN CAPITAL LETTER S\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 0053 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF122\"},127267:{\"value\":\"1F123\",\"name\":\"PARENTHESIZED LATIN CAPITAL LETTER T\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 0054 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF123\"},127268:{\"value\":\"1F124\",\"name\":\"PARENTHESIZED LATIN CAPITAL LETTER U\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 0055 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF124\"},127269:{\"value\":\"1F125\",\"name\":\"PARENTHESIZED LATIN CAPITAL LETTER V\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 0056 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF125\"},127270:{\"value\":\"1F126\",\"name\":\"PARENTHESIZED LATIN CAPITAL LETTER W\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 0057 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF126\"},127271:{\"value\":\"1F127\",\"name\":\"PARENTHESIZED LATIN CAPITAL LETTER X\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 0058 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF127\"},127272:{\"value\":\"1F128\",\"name\":\"PARENTHESIZED LATIN CAPITAL LETTER Y\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 0059 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF128\"},127273:{\"value\":\"1F129\",\"name\":\"PARENTHESIZED LATIN CAPITAL LETTER Z\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 005A 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF129\"},127274:{\"value\":\"1F12A\",\"name\":\"TORTOISE SHELL BRACKETED LATIN CAPITAL LETTER S\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 3014 0053 3015\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF12A\"},127275:{\"value\":\"1F12B\",\"name\":\"CIRCLED ITALIC LATIN CAPITAL LETTER C\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 0043\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF12B\"},127276:{\"value\":\"1F12C\",\"name\":\"CIRCLED ITALIC LATIN CAPITAL LETTER R\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 0052\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF12C\"},127277:{\"value\":\"1F12D\",\"name\":\"CIRCLED CD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 0043 0044\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF12D\"},127278:{\"value\":\"1F12E\",\"name\":\"CIRCLED WZ\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 0057 005A\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF12E\"},127280:{\"value\":\"1F130\",\"name\":\"SQUARED LATIN CAPITAL LETTER A\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 0041\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF130\"},127281:{\"value\":\"1F131\",\"name\":\"SQUARED LATIN CAPITAL LETTER B\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 0042\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF131\"},127282:{\"value\":\"1F132\",\"name\":\"SQUARED LATIN CAPITAL LETTER C\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 0043\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF132\"},127283:{\"value\":\"1F133\",\"name\":\"SQUARED LATIN CAPITAL LETTER D\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 0044\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF133\"},127284:{\"value\":\"1F134\",\"name\":\"SQUARED LATIN CAPITAL LETTER E\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 0045\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF134\"},127285:{\"value\":\"1F135\",\"name\":\"SQUARED LATIN CAPITAL LETTER F\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 0046\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF135\"},127286:{\"value\":\"1F136\",\"name\":\"SQUARED LATIN CAPITAL LETTER G\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 0047\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF136\"},127287:{\"value\":\"1F137\",\"name\":\"SQUARED LATIN CAPITAL LETTER H\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 0048\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF137\"},127288:{\"value\":\"1F138\",\"name\":\"SQUARED LATIN CAPITAL LETTER I\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 0049\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF138\"},127289:{\"value\":\"1F139\",\"name\":\"SQUARED LATIN CAPITAL LETTER J\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 004A\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF139\"},127290:{\"value\":\"1F13A\",\"name\":\"SQUARED LATIN CAPITAL LETTER K\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 004B\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF13A\"},127291:{\"value\":\"1F13B\",\"name\":\"SQUARED LATIN CAPITAL LETTER L\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 004C\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF13B\"},127292:{\"value\":\"1F13C\",\"name\":\"SQUARED LATIN CAPITAL LETTER M\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 004D\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF13C\"},127293:{\"value\":\"1F13D\",\"name\":\"SQUARED LATIN CAPITAL LETTER N\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 004E\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF13D\"},127294:{\"value\":\"1F13E\",\"name\":\"SQUARED LATIN CAPITAL LETTER O\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 004F\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF13E\"},127295:{\"value\":\"1F13F\",\"name\":\"SQUARED LATIN CAPITAL LETTER P\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 0050\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF13F\"},127296:{\"value\":\"1F140\",\"name\":\"SQUARED LATIN CAPITAL LETTER Q\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 0051\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF140\"},127297:{\"value\":\"1F141\",\"name\":\"SQUARED LATIN CAPITAL LETTER R\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 0052\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF141\"},127298:{\"value\":\"1F142\",\"name\":\"SQUARED LATIN CAPITAL LETTER S\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 0053\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF142\"},127299:{\"value\":\"1F143\",\"name\":\"SQUARED LATIN CAPITAL LETTER T\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 0054\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF143\"},127300:{\"value\":\"1F144\",\"name\":\"SQUARED LATIN CAPITAL LETTER U\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 0055\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF144\"},127301:{\"value\":\"1F145\",\"name\":\"SQUARED LATIN CAPITAL LETTER V\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 0056\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF145\"},127302:{\"value\":\"1F146\",\"name\":\"SQUARED LATIN CAPITAL LETTER W\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 0057\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF146\"},127303:{\"value\":\"1F147\",\"name\":\"SQUARED LATIN CAPITAL LETTER X\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 0058\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF147\"},127304:{\"value\":\"1F148\",\"name\":\"SQUARED LATIN CAPITAL LETTER Y\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 0059\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF148\"},127305:{\"value\":\"1F149\",\"name\":\"SQUARED LATIN CAPITAL LETTER Z\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 005A\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF149\"},127306:{\"value\":\"1F14A\",\"name\":\"SQUARED HV\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 0048 0056\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF14A\"},127307:{\"value\":\"1F14B\",\"name\":\"SQUARED MV\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 004D 0056\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF14B\"},127308:{\"value\":\"1F14C\",\"name\":\"SQUARED SD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 0053 0044\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF14C\"},127309:{\"value\":\"1F14D\",\"name\":\"SQUARED SS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 0053 0053\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF14D\"},127310:{\"value\":\"1F14E\",\"name\":\"SQUARED PPV\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 0050 0050 0056\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF14E\"},127311:{\"value\":\"1F14F\",\"name\":\"SQUARED WC\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 0057 0043\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF14F\"},127312:{\"value\":\"1F150\",\"name\":\"NEGATIVE CIRCLED LATIN CAPITAL LETTER A\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF150\"},127313:{\"value\":\"1F151\",\"name\":\"NEGATIVE CIRCLED LATIN CAPITAL LETTER B\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF151\"},127314:{\"value\":\"1F152\",\"name\":\"NEGATIVE CIRCLED LATIN CAPITAL LETTER C\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF152\"},127315:{\"value\":\"1F153\",\"name\":\"NEGATIVE CIRCLED LATIN CAPITAL LETTER D\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF153\"},127316:{\"value\":\"1F154\",\"name\":\"NEGATIVE CIRCLED LATIN CAPITAL LETTER E\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF154\"},127317:{\"value\":\"1F155\",\"name\":\"NEGATIVE CIRCLED LATIN CAPITAL LETTER F\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF155\"},127318:{\"value\":\"1F156\",\"name\":\"NEGATIVE CIRCLED LATIN CAPITAL LETTER G\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF156\"},127319:{\"value\":\"1F157\",\"name\":\"NEGATIVE CIRCLED LATIN CAPITAL LETTER H\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF157\"},127320:{\"value\":\"1F158\",\"name\":\"NEGATIVE CIRCLED LATIN CAPITAL LETTER I\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF158\"},127321:{\"value\":\"1F159\",\"name\":\"NEGATIVE CIRCLED LATIN CAPITAL LETTER J\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF159\"},127322:{\"value\":\"1F15A\",\"name\":\"NEGATIVE CIRCLED LATIN CAPITAL LETTER K\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF15A\"},127323:{\"value\":\"1F15B\",\"name\":\"NEGATIVE CIRCLED LATIN CAPITAL LETTER L\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF15B\"},127324:{\"value\":\"1F15C\",\"name\":\"NEGATIVE CIRCLED LATIN CAPITAL LETTER M\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF15C\"},127325:{\"value\":\"1F15D\",\"name\":\"NEGATIVE CIRCLED LATIN CAPITAL LETTER N\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF15D\"},127326:{\"value\":\"1F15E\",\"name\":\"NEGATIVE CIRCLED LATIN CAPITAL LETTER O\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF15E\"},127327:{\"value\":\"1F15F\",\"name\":\"NEGATIVE CIRCLED LATIN CAPITAL LETTER P\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF15F\"},127328:{\"value\":\"1F160\",\"name\":\"NEGATIVE CIRCLED LATIN CAPITAL LETTER Q\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF160\"},127329:{\"value\":\"1F161\",\"name\":\"NEGATIVE CIRCLED LATIN CAPITAL LETTER R\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF161\"},127330:{\"value\":\"1F162\",\"name\":\"NEGATIVE CIRCLED LATIN CAPITAL LETTER S\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF162\"},127331:{\"value\":\"1F163\",\"name\":\"NEGATIVE CIRCLED LATIN CAPITAL LETTER T\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF163\"},127332:{\"value\":\"1F164\",\"name\":\"NEGATIVE CIRCLED LATIN CAPITAL LETTER U\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF164\"},127333:{\"value\":\"1F165\",\"name\":\"NEGATIVE CIRCLED LATIN CAPITAL LETTER V\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF165\"},127334:{\"value\":\"1F166\",\"name\":\"NEGATIVE CIRCLED LATIN CAPITAL LETTER W\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF166\"},127335:{\"value\":\"1F167\",\"name\":\"NEGATIVE CIRCLED LATIN CAPITAL LETTER X\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF167\"},127336:{\"value\":\"1F168\",\"name\":\"NEGATIVE CIRCLED LATIN CAPITAL LETTER Y\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF168\"},127337:{\"value\":\"1F169\",\"name\":\"NEGATIVE CIRCLED LATIN CAPITAL LETTER Z\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF169\"},127338:{\"value\":\"1F16A\",\"name\":\"RAISED MC SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<super> 004D 0043\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF16A\"},127339:{\"value\":\"1F16B\",\"name\":\"RAISED MD SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<super> 004D 0044\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF16B\"},127344:{\"value\":\"1F170\",\"name\":\"NEGATIVE SQUARED LATIN CAPITAL LETTER A\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF170\"},127345:{\"value\":\"1F171\",\"name\":\"NEGATIVE SQUARED LATIN CAPITAL LETTER B\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF171\"},127346:{\"value\":\"1F172\",\"name\":\"NEGATIVE SQUARED LATIN CAPITAL LETTER C\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF172\"},127347:{\"value\":\"1F173\",\"name\":\"NEGATIVE SQUARED LATIN CAPITAL LETTER D\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF173\"},127348:{\"value\":\"1F174\",\"name\":\"NEGATIVE SQUARED LATIN CAPITAL LETTER E\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF174\"},127349:{\"value\":\"1F175\",\"name\":\"NEGATIVE SQUARED LATIN CAPITAL LETTER F\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF175\"},127350:{\"value\":\"1F176\",\"name\":\"NEGATIVE SQUARED LATIN CAPITAL LETTER G\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF176\"},127351:{\"value\":\"1F177\",\"name\":\"NEGATIVE SQUARED LATIN CAPITAL LETTER H\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF177\"},127352:{\"value\":\"1F178\",\"name\":\"NEGATIVE SQUARED LATIN CAPITAL LETTER I\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF178\"},127353:{\"value\":\"1F179\",\"name\":\"NEGATIVE SQUARED LATIN CAPITAL LETTER J\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF179\"},127354:{\"value\":\"1F17A\",\"name\":\"NEGATIVE SQUARED LATIN CAPITAL LETTER K\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF17A\"},127355:{\"value\":\"1F17B\",\"name\":\"NEGATIVE SQUARED LATIN CAPITAL LETTER L\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF17B\"},127356:{\"value\":\"1F17C\",\"name\":\"NEGATIVE SQUARED LATIN CAPITAL LETTER M\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF17C\"},127357:{\"value\":\"1F17D\",\"name\":\"NEGATIVE SQUARED LATIN CAPITAL LETTER N\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF17D\"},127358:{\"value\":\"1F17E\",\"name\":\"NEGATIVE SQUARED LATIN CAPITAL LETTER O\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF17E\"},127359:{\"value\":\"1F17F\",\"name\":\"NEGATIVE SQUARED LATIN CAPITAL LETTER P\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF17F\"},127360:{\"value\":\"1F180\",\"name\":\"NEGATIVE SQUARED LATIN CAPITAL LETTER Q\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF180\"},127361:{\"value\":\"1F181\",\"name\":\"NEGATIVE SQUARED LATIN CAPITAL LETTER R\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF181\"},127362:{\"value\":\"1F182\",\"name\":\"NEGATIVE SQUARED LATIN CAPITAL LETTER S\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF182\"},127363:{\"value\":\"1F183\",\"name\":\"NEGATIVE SQUARED LATIN CAPITAL LETTER T\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF183\"},127364:{\"value\":\"1F184\",\"name\":\"NEGATIVE SQUARED LATIN CAPITAL LETTER U\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF184\"},127365:{\"value\":\"1F185\",\"name\":\"NEGATIVE SQUARED LATIN CAPITAL LETTER V\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF185\"},127366:{\"value\":\"1F186\",\"name\":\"NEGATIVE SQUARED LATIN CAPITAL LETTER W\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF186\"},127367:{\"value\":\"1F187\",\"name\":\"NEGATIVE SQUARED LATIN CAPITAL LETTER X\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF187\"},127368:{\"value\":\"1F188\",\"name\":\"NEGATIVE SQUARED LATIN CAPITAL LETTER Y\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF188\"},127369:{\"value\":\"1F189\",\"name\":\"NEGATIVE SQUARED LATIN CAPITAL LETTER Z\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF189\"},127370:{\"value\":\"1F18A\",\"name\":\"CROSSED NEGATIVE SQUARED LATIN CAPITAL LETTER P\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF18A\"},127371:{\"value\":\"1F18B\",\"name\":\"NEGATIVE SQUARED IC\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF18B\"},127372:{\"value\":\"1F18C\",\"name\":\"NEGATIVE SQUARED PA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF18C\"},127373:{\"value\":\"1F18D\",\"name\":\"NEGATIVE SQUARED SA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF18D\"},127374:{\"value\":\"1F18E\",\"name\":\"NEGATIVE SQUARED AB\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF18E\"},127375:{\"value\":\"1F18F\",\"name\":\"NEGATIVE SQUARED WC\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF18F\"},127376:{\"value\":\"1F190\",\"name\":\"SQUARE DJ\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 0044 004A\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF190\"},127377:{\"value\":\"1F191\",\"name\":\"SQUARED CL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF191\"},127378:{\"value\":\"1F192\",\"name\":\"SQUARED COOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF192\"},127379:{\"value\":\"1F193\",\"name\":\"SQUARED FREE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF193\"},127380:{\"value\":\"1F194\",\"name\":\"SQUARED ID\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF194\"},127381:{\"value\":\"1F195\",\"name\":\"SQUARED NEW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF195\"},127382:{\"value\":\"1F196\",\"name\":\"SQUARED NG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF196\"},127383:{\"value\":\"1F197\",\"name\":\"SQUARED OK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF197\"},127384:{\"value\":\"1F198\",\"name\":\"SQUARED SOS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF198\"},127385:{\"value\":\"1F199\",\"name\":\"SQUARED UP WITH EXCLAMATION MARK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF199\"},127386:{\"value\":\"1F19A\",\"name\":\"SQUARED VS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF19A\"},127387:{\"value\":\"1F19B\",\"name\":\"SQUARED THREE D\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF19B\"},127388:{\"value\":\"1F19C\",\"name\":\"SQUARED SECOND SCREEN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF19C\"},127389:{\"value\":\"1F19D\",\"name\":\"SQUARED TWO K\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF19D\"},127390:{\"value\":\"1F19E\",\"name\":\"SQUARED FOUR K\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF19E\"},127391:{\"value\":\"1F19F\",\"name\":\"SQUARED EIGHT K\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF19F\"},127392:{\"value\":\"1F1A0\",\"name\":\"SQUARED FIVE POINT ONE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF1A0\"},127393:{\"value\":\"1F1A1\",\"name\":\"SQUARED SEVEN POINT ONE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF1A1\"},127394:{\"value\":\"1F1A2\",\"name\":\"SQUARED TWENTY-TWO POINT TWO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF1A2\"},127395:{\"value\":\"1F1A3\",\"name\":\"SQUARED SIXTY P\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF1A3\"},127396:{\"value\":\"1F1A4\",\"name\":\"SQUARED ONE HUNDRED TWENTY P\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF1A4\"},127397:{\"value\":\"1F1A5\",\"name\":\"SQUARED LATIN SMALL LETTER D\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF1A5\"},127398:{\"value\":\"1F1A6\",\"name\":\"SQUARED HC\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF1A6\"},127399:{\"value\":\"1F1A7\",\"name\":\"SQUARED HDR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF1A7\"},127400:{\"value\":\"1F1A8\",\"name\":\"SQUARED HI-RES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF1A8\"},127401:{\"value\":\"1F1A9\",\"name\":\"SQUARED LOSSLESS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF1A9\"},127402:{\"value\":\"1F1AA\",\"name\":\"SQUARED SHV\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF1AA\"},127403:{\"value\":\"1F1AB\",\"name\":\"SQUARED UHD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF1AB\"},127404:{\"value\":\"1F1AC\",\"name\":\"SQUARED VOD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF1AC\"},127462:{\"value\":\"1F1E6\",\"name\":\"REGIONAL INDICATOR SYMBOL LETTER A\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF1E6\"},127463:{\"value\":\"1F1E7\",\"name\":\"REGIONAL INDICATOR SYMBOL LETTER B\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF1E7\"},127464:{\"value\":\"1F1E8\",\"name\":\"REGIONAL INDICATOR SYMBOL LETTER C\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF1E8\"},127465:{\"value\":\"1F1E9\",\"name\":\"REGIONAL INDICATOR SYMBOL LETTER D\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF1E9\"},127466:{\"value\":\"1F1EA\",\"name\":\"REGIONAL INDICATOR SYMBOL LETTER E\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF1EA\"},127467:{\"value\":\"1F1EB\",\"name\":\"REGIONAL INDICATOR SYMBOL LETTER F\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF1EB\"},127468:{\"value\":\"1F1EC\",\"name\":\"REGIONAL INDICATOR SYMBOL LETTER G\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF1EC\"},127469:{\"value\":\"1F1ED\",\"name\":\"REGIONAL INDICATOR SYMBOL LETTER H\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF1ED\"},127470:{\"value\":\"1F1EE\",\"name\":\"REGIONAL INDICATOR SYMBOL LETTER I\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF1EE\"},127471:{\"value\":\"1F1EF\",\"name\":\"REGIONAL INDICATOR SYMBOL LETTER J\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF1EF\"},127472:{\"value\":\"1F1F0\",\"name\":\"REGIONAL INDICATOR SYMBOL LETTER K\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF1F0\"},127473:{\"value\":\"1F1F1\",\"name\":\"REGIONAL INDICATOR SYMBOL LETTER L\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF1F1\"},127474:{\"value\":\"1F1F2\",\"name\":\"REGIONAL INDICATOR SYMBOL LETTER M\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF1F2\"},127475:{\"value\":\"1F1F3\",\"name\":\"REGIONAL INDICATOR SYMBOL LETTER N\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF1F3\"},127476:{\"value\":\"1F1F4\",\"name\":\"REGIONAL INDICATOR SYMBOL LETTER O\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF1F4\"},127477:{\"value\":\"1F1F5\",\"name\":\"REGIONAL INDICATOR SYMBOL LETTER P\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF1F5\"},127478:{\"value\":\"1F1F6\",\"name\":\"REGIONAL INDICATOR SYMBOL LETTER Q\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF1F6\"},127479:{\"value\":\"1F1F7\",\"name\":\"REGIONAL INDICATOR SYMBOL LETTER R\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF1F7\"},127480:{\"value\":\"1F1F8\",\"name\":\"REGIONAL INDICATOR SYMBOL LETTER S\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF1F8\"},127481:{\"value\":\"1F1F9\",\"name\":\"REGIONAL INDICATOR SYMBOL LETTER T\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF1F9\"},127482:{\"value\":\"1F1FA\",\"name\":\"REGIONAL INDICATOR SYMBOL LETTER U\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF1FA\"},127483:{\"value\":\"1F1FB\",\"name\":\"REGIONAL INDICATOR SYMBOL LETTER V\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF1FB\"},127484:{\"value\":\"1F1FC\",\"name\":\"REGIONAL INDICATOR SYMBOL LETTER W\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF1FC\"},127485:{\"value\":\"1F1FD\",\"name\":\"REGIONAL INDICATOR SYMBOL LETTER X\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF1FD\"},127486:{\"value\":\"1F1FE\",\"name\":\"REGIONAL INDICATOR SYMBOL LETTER Y\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF1FE\"},127487:{\"value\":\"1F1FF\",\"name\":\"REGIONAL INDICATOR SYMBOL LETTER Z\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF1FF\"},127488:{\"value\":\"1F200\",\"name\":\"SQUARE HIRAGANA HOKA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 307B 304B\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF200\"},127489:{\"value\":\"1F201\",\"name\":\"SQUARED KATAKANA KOKO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30B3 30B3\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF201\"},127490:{\"value\":\"1F202\",\"name\":\"SQUARED KATAKANA SA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30B5\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF202\"},127504:{\"value\":\"1F210\",\"name\":\"SQUARED CJK UNIFIED IDEOGRAPH-624B\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 624B\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF210\"},127505:{\"value\":\"1F211\",\"name\":\"SQUARED CJK UNIFIED IDEOGRAPH-5B57\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 5B57\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF211\"},127506:{\"value\":\"1F212\",\"name\":\"SQUARED CJK UNIFIED IDEOGRAPH-53CC\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 53CC\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF212\"},127507:{\"value\":\"1F213\",\"name\":\"SQUARED KATAKANA DE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30C7\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF213\"},127508:{\"value\":\"1F214\",\"name\":\"SQUARED CJK UNIFIED IDEOGRAPH-4E8C\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 4E8C\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF214\"},127509:{\"value\":\"1F215\",\"name\":\"SQUARED CJK UNIFIED IDEOGRAPH-591A\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 591A\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF215\"},127510:{\"value\":\"1F216\",\"name\":\"SQUARED CJK UNIFIED IDEOGRAPH-89E3\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 89E3\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF216\"},127511:{\"value\":\"1F217\",\"name\":\"SQUARED CJK UNIFIED IDEOGRAPH-5929\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 5929\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF217\"},127512:{\"value\":\"1F218\",\"name\":\"SQUARED CJK UNIFIED IDEOGRAPH-4EA4\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 4EA4\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF218\"},127513:{\"value\":\"1F219\",\"name\":\"SQUARED CJK UNIFIED IDEOGRAPH-6620\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 6620\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF219\"},127514:{\"value\":\"1F21A\",\"name\":\"SQUARED CJK UNIFIED IDEOGRAPH-7121\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 7121\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF21A\"},127515:{\"value\":\"1F21B\",\"name\":\"SQUARED CJK UNIFIED IDEOGRAPH-6599\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 6599\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF21B\"},127516:{\"value\":\"1F21C\",\"name\":\"SQUARED CJK UNIFIED IDEOGRAPH-524D\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 524D\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF21C\"},127517:{\"value\":\"1F21D\",\"name\":\"SQUARED CJK UNIFIED IDEOGRAPH-5F8C\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 5F8C\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF21D\"},127518:{\"value\":\"1F21E\",\"name\":\"SQUARED CJK UNIFIED IDEOGRAPH-518D\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 518D\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF21E\"},127519:{\"value\":\"1F21F\",\"name\":\"SQUARED CJK UNIFIED IDEOGRAPH-65B0\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 65B0\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF21F\"},127520:{\"value\":\"1F220\",\"name\":\"SQUARED CJK UNIFIED IDEOGRAPH-521D\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 521D\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF220\"},127521:{\"value\":\"1F221\",\"name\":\"SQUARED CJK UNIFIED IDEOGRAPH-7D42\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 7D42\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF221\"},127522:{\"value\":\"1F222\",\"name\":\"SQUARED CJK UNIFIED IDEOGRAPH-751F\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 751F\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF222\"},127523:{\"value\":\"1F223\",\"name\":\"SQUARED CJK UNIFIED IDEOGRAPH-8CA9\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 8CA9\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF223\"},127524:{\"value\":\"1F224\",\"name\":\"SQUARED CJK UNIFIED IDEOGRAPH-58F0\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 58F0\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF224\"},127525:{\"value\":\"1F225\",\"name\":\"SQUARED CJK UNIFIED IDEOGRAPH-5439\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 5439\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF225\"},127526:{\"value\":\"1F226\",\"name\":\"SQUARED CJK UNIFIED IDEOGRAPH-6F14\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 6F14\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF226\"},127527:{\"value\":\"1F227\",\"name\":\"SQUARED CJK UNIFIED IDEOGRAPH-6295\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 6295\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF227\"},127528:{\"value\":\"1F228\",\"name\":\"SQUARED CJK UNIFIED IDEOGRAPH-6355\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 6355\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF228\"},127529:{\"value\":\"1F229\",\"name\":\"SQUARED CJK UNIFIED IDEOGRAPH-4E00\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 4E00\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF229\"},127530:{\"value\":\"1F22A\",\"name\":\"SQUARED CJK UNIFIED IDEOGRAPH-4E09\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 4E09\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF22A\"},127531:{\"value\":\"1F22B\",\"name\":\"SQUARED CJK UNIFIED IDEOGRAPH-904A\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 904A\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF22B\"},127532:{\"value\":\"1F22C\",\"name\":\"SQUARED CJK UNIFIED IDEOGRAPH-5DE6\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 5DE6\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF22C\"},127533:{\"value\":\"1F22D\",\"name\":\"SQUARED CJK UNIFIED IDEOGRAPH-4E2D\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 4E2D\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF22D\"},127534:{\"value\":\"1F22E\",\"name\":\"SQUARED CJK UNIFIED IDEOGRAPH-53F3\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 53F3\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF22E\"},127535:{\"value\":\"1F22F\",\"name\":\"SQUARED CJK UNIFIED IDEOGRAPH-6307\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 6307\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF22F\"},127536:{\"value\":\"1F230\",\"name\":\"SQUARED CJK UNIFIED IDEOGRAPH-8D70\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 8D70\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF230\"},127537:{\"value\":\"1F231\",\"name\":\"SQUARED CJK UNIFIED IDEOGRAPH-6253\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 6253\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF231\"},127538:{\"value\":\"1F232\",\"name\":\"SQUARED CJK UNIFIED IDEOGRAPH-7981\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 7981\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF232\"},127539:{\"value\":\"1F233\",\"name\":\"SQUARED CJK UNIFIED IDEOGRAPH-7A7A\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 7A7A\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF233\"},127540:{\"value\":\"1F234\",\"name\":\"SQUARED CJK UNIFIED IDEOGRAPH-5408\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 5408\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF234\"},127541:{\"value\":\"1F235\",\"name\":\"SQUARED CJK UNIFIED IDEOGRAPH-6E80\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 6E80\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF235\"},127542:{\"value\":\"1F236\",\"name\":\"SQUARED CJK UNIFIED IDEOGRAPH-6709\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 6709\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF236\"},127543:{\"value\":\"1F237\",\"name\":\"SQUARED CJK UNIFIED IDEOGRAPH-6708\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 6708\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF237\"},127544:{\"value\":\"1F238\",\"name\":\"SQUARED CJK UNIFIED IDEOGRAPH-7533\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 7533\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF238\"},127545:{\"value\":\"1F239\",\"name\":\"SQUARED CJK UNIFIED IDEOGRAPH-5272\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 5272\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF239\"},127546:{\"value\":\"1F23A\",\"name\":\"SQUARED CJK UNIFIED IDEOGRAPH-55B6\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 55B6\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF23A\"},127547:{\"value\":\"1F23B\",\"name\":\"SQUARED CJK UNIFIED IDEOGRAPH-914D\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 914D\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF23B\"},127552:{\"value\":\"1F240\",\"name\":\"TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-672C\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 3014 672C 3015\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF240\"},127553:{\"value\":\"1F241\",\"name\":\"TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-4E09\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 3014 4E09 3015\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF241\"},127554:{\"value\":\"1F242\",\"name\":\"TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-4E8C\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 3014 4E8C 3015\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF242\"},127555:{\"value\":\"1F243\",\"name\":\"TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-5B89\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 3014 5B89 3015\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF243\"},127556:{\"value\":\"1F244\",\"name\":\"TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-70B9\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 3014 70B9 3015\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF244\"},127557:{\"value\":\"1F245\",\"name\":\"TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-6253\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 3014 6253 3015\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF245\"},127558:{\"value\":\"1F246\",\"name\":\"TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-76D7\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 3014 76D7 3015\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF246\"},127559:{\"value\":\"1F247\",\"name\":\"TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-52DD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 3014 52DD 3015\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF247\"},127560:{\"value\":\"1F248\",\"name\":\"TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-6557\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 3014 6557 3015\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF248\"},127568:{\"value\":\"1F250\",\"name\":\"CIRCLED IDEOGRAPH ADVANTAGE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 5F97\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF250\"},127569:{\"value\":\"1F251\",\"name\":\"CIRCLED IDEOGRAPH ACCEPT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 53EF\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF251\"},127744:{\"value\":\"1F300\",\"name\":\"CYCLONE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF300\"},127745:{\"value\":\"1F301\",\"name\":\"FOGGY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF301\"},127746:{\"value\":\"1F302\",\"name\":\"CLOSED UMBRELLA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF302\"},127747:{\"value\":\"1F303\",\"name\":\"NIGHT WITH STARS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF303\"},127748:{\"value\":\"1F304\",\"name\":\"SUNRISE OVER MOUNTAINS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF304\"},127749:{\"value\":\"1F305\",\"name\":\"SUNRISE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF305\"},127750:{\"value\":\"1F306\",\"name\":\"CITYSCAPE AT DUSK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF306\"},127751:{\"value\":\"1F307\",\"name\":\"SUNSET OVER BUILDINGS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF307\"},127752:{\"value\":\"1F308\",\"name\":\"RAINBOW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF308\"},127753:{\"value\":\"1F309\",\"name\":\"BRIDGE AT NIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF309\"},127754:{\"value\":\"1F30A\",\"name\":\"WATER WAVE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF30A\"},127755:{\"value\":\"1F30B\",\"name\":\"VOLCANO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF30B\"},127756:{\"value\":\"1F30C\",\"name\":\"MILKY WAY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF30C\"},127757:{\"value\":\"1F30D\",\"name\":\"EARTH GLOBE EUROPE-AFRICA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF30D\"},127758:{\"value\":\"1F30E\",\"name\":\"EARTH GLOBE AMERICAS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF30E\"},127759:{\"value\":\"1F30F\",\"name\":\"EARTH GLOBE ASIA-AUSTRALIA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF30F\"},127760:{\"value\":\"1F310\",\"name\":\"GLOBE WITH MERIDIANS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF310\"},127761:{\"value\":\"1F311\",\"name\":\"NEW MOON SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF311\"},127762:{\"value\":\"1F312\",\"name\":\"WAXING CRESCENT MOON SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF312\"},127763:{\"value\":\"1F313\",\"name\":\"FIRST QUARTER MOON SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF313\"},127764:{\"value\":\"1F314\",\"name\":\"WAXING GIBBOUS MOON SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF314\"},127765:{\"value\":\"1F315\",\"name\":\"FULL MOON SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF315\"},127766:{\"value\":\"1F316\",\"name\":\"WANING GIBBOUS MOON SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF316\"},127767:{\"value\":\"1F317\",\"name\":\"LAST QUARTER MOON SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF317\"},127768:{\"value\":\"1F318\",\"name\":\"WANING CRESCENT MOON SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF318\"},127769:{\"value\":\"1F319\",\"name\":\"CRESCENT MOON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF319\"},127770:{\"value\":\"1F31A\",\"name\":\"NEW MOON WITH FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF31A\"},127771:{\"value\":\"1F31B\",\"name\":\"FIRST QUARTER MOON WITH FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF31B\"},127772:{\"value\":\"1F31C\",\"name\":\"LAST QUARTER MOON WITH FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF31C\"},127773:{\"value\":\"1F31D\",\"name\":\"FULL MOON WITH FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF31D\"},127774:{\"value\":\"1F31E\",\"name\":\"SUN WITH FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF31E\"},127775:{\"value\":\"1F31F\",\"name\":\"GLOWING STAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF31F\"},127776:{\"value\":\"1F320\",\"name\":\"SHOOTING STAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF320\"},127777:{\"value\":\"1F321\",\"name\":\"THERMOMETER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF321\"},127778:{\"value\":\"1F322\",\"name\":\"BLACK DROPLET\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF322\"},127779:{\"value\":\"1F323\",\"name\":\"WHITE SUN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF323\"},127780:{\"value\":\"1F324\",\"name\":\"WHITE SUN WITH SMALL CLOUD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF324\"},127781:{\"value\":\"1F325\",\"name\":\"WHITE SUN BEHIND CLOUD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF325\"},127782:{\"value\":\"1F326\",\"name\":\"WHITE SUN BEHIND CLOUD WITH RAIN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF326\"},127783:{\"value\":\"1F327\",\"name\":\"CLOUD WITH RAIN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF327\"},127784:{\"value\":\"1F328\",\"name\":\"CLOUD WITH SNOW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF328\"},127785:{\"value\":\"1F329\",\"name\":\"CLOUD WITH LIGHTNING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF329\"},127786:{\"value\":\"1F32A\",\"name\":\"CLOUD WITH TORNADO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF32A\"},127787:{\"value\":\"1F32B\",\"name\":\"FOG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF32B\"},127788:{\"value\":\"1F32C\",\"name\":\"WIND BLOWING FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF32C\"},127789:{\"value\":\"1F32D\",\"name\":\"HOT DOG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF32D\"},127790:{\"value\":\"1F32E\",\"name\":\"TACO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF32E\"},127791:{\"value\":\"1F32F\",\"name\":\"BURRITO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF32F\"},127792:{\"value\":\"1F330\",\"name\":\"CHESTNUT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF330\"},127793:{\"value\":\"1F331\",\"name\":\"SEEDLING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF331\"},127794:{\"value\":\"1F332\",\"name\":\"EVERGREEN TREE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF332\"},127795:{\"value\":\"1F333\",\"name\":\"DECIDUOUS TREE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF333\"},127796:{\"value\":\"1F334\",\"name\":\"PALM TREE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF334\"},127797:{\"value\":\"1F335\",\"name\":\"CACTUS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF335\"},127798:{\"value\":\"1F336\",\"name\":\"HOT PEPPER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF336\"},127799:{\"value\":\"1F337\",\"name\":\"TULIP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF337\"},127800:{\"value\":\"1F338\",\"name\":\"CHERRY BLOSSOM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF338\"},127801:{\"value\":\"1F339\",\"name\":\"ROSE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF339\"},127802:{\"value\":\"1F33A\",\"name\":\"HIBISCUS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF33A\"},127803:{\"value\":\"1F33B\",\"name\":\"SUNFLOWER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF33B\"},127804:{\"value\":\"1F33C\",\"name\":\"BLOSSOM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF33C\"},127805:{\"value\":\"1F33D\",\"name\":\"EAR OF MAIZE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF33D\"},127806:{\"value\":\"1F33E\",\"name\":\"EAR OF RICE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF33E\"},127807:{\"value\":\"1F33F\",\"name\":\"HERB\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF33F\"},127808:{\"value\":\"1F340\",\"name\":\"FOUR LEAF CLOVER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF340\"},127809:{\"value\":\"1F341\",\"name\":\"MAPLE LEAF\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF341\"},127810:{\"value\":\"1F342\",\"name\":\"FALLEN LEAF\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF342\"},127811:{\"value\":\"1F343\",\"name\":\"LEAF FLUTTERING IN WIND\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF343\"},127812:{\"value\":\"1F344\",\"name\":\"MUSHROOM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF344\"},127813:{\"value\":\"1F345\",\"name\":\"TOMATO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF345\"},127814:{\"value\":\"1F346\",\"name\":\"AUBERGINE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF346\"},127815:{\"value\":\"1F347\",\"name\":\"GRAPES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF347\"},127816:{\"value\":\"1F348\",\"name\":\"MELON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF348\"},127817:{\"value\":\"1F349\",\"name\":\"WATERMELON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF349\"},127818:{\"value\":\"1F34A\",\"name\":\"TANGERINE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF34A\"},127819:{\"value\":\"1F34B\",\"name\":\"LEMON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF34B\"},127820:{\"value\":\"1F34C\",\"name\":\"BANANA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF34C\"},127821:{\"value\":\"1F34D\",\"name\":\"PINEAPPLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF34D\"},127822:{\"value\":\"1F34E\",\"name\":\"RED APPLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF34E\"},127823:{\"value\":\"1F34F\",\"name\":\"GREEN APPLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF34F\"},127824:{\"value\":\"1F350\",\"name\":\"PEAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF350\"},127825:{\"value\":\"1F351\",\"name\":\"PEACH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF351\"},127826:{\"value\":\"1F352\",\"name\":\"CHERRIES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF352\"},127827:{\"value\":\"1F353\",\"name\":\"STRAWBERRY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF353\"},127828:{\"value\":\"1F354\",\"name\":\"HAMBURGER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF354\"},127829:{\"value\":\"1F355\",\"name\":\"SLICE OF PIZZA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF355\"},127830:{\"value\":\"1F356\",\"name\":\"MEAT ON BONE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF356\"},127831:{\"value\":\"1F357\",\"name\":\"POULTRY LEG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF357\"},127832:{\"value\":\"1F358\",\"name\":\"RICE CRACKER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF358\"},127833:{\"value\":\"1F359\",\"name\":\"RICE BALL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF359\"},127834:{\"value\":\"1F35A\",\"name\":\"COOKED RICE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF35A\"},127835:{\"value\":\"1F35B\",\"name\":\"CURRY AND RICE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF35B\"},127836:{\"value\":\"1F35C\",\"name\":\"STEAMING BOWL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF35C\"},127837:{\"value\":\"1F35D\",\"name\":\"SPAGHETTI\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF35D\"},127838:{\"value\":\"1F35E\",\"name\":\"BREAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF35E\"},127839:{\"value\":\"1F35F\",\"name\":\"FRENCH FRIES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF35F\"},127840:{\"value\":\"1F360\",\"name\":\"ROASTED SWEET POTATO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF360\"},127841:{\"value\":\"1F361\",\"name\":\"DANGO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF361\"},127842:{\"value\":\"1F362\",\"name\":\"ODEN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF362\"},127843:{\"value\":\"1F363\",\"name\":\"SUSHI\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF363\"},127844:{\"value\":\"1F364\",\"name\":\"FRIED SHRIMP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF364\"},127845:{\"value\":\"1F365\",\"name\":\"FISH CAKE WITH SWIRL DESIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF365\"},127846:{\"value\":\"1F366\",\"name\":\"SOFT ICE CREAM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF366\"},127847:{\"value\":\"1F367\",\"name\":\"SHAVED ICE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF367\"},127848:{\"value\":\"1F368\",\"name\":\"ICE CREAM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF368\"},127849:{\"value\":\"1F369\",\"name\":\"DOUGHNUT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF369\"},127850:{\"value\":\"1F36A\",\"name\":\"COOKIE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF36A\"},127851:{\"value\":\"1F36B\",\"name\":\"CHOCOLATE BAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF36B\"},127852:{\"value\":\"1F36C\",\"name\":\"CANDY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF36C\"},127853:{\"value\":\"1F36D\",\"name\":\"LOLLIPOP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF36D\"},127854:{\"value\":\"1F36E\",\"name\":\"CUSTARD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF36E\"},127855:{\"value\":\"1F36F\",\"name\":\"HONEY POT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF36F\"},127856:{\"value\":\"1F370\",\"name\":\"SHORTCAKE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF370\"},127857:{\"value\":\"1F371\",\"name\":\"BENTO BOX\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF371\"},127858:{\"value\":\"1F372\",\"name\":\"POT OF FOOD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF372\"},127859:{\"value\":\"1F373\",\"name\":\"COOKING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF373\"},127860:{\"value\":\"1F374\",\"name\":\"FORK AND KNIFE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF374\"},127861:{\"value\":\"1F375\",\"name\":\"TEACUP WITHOUT HANDLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF375\"},127862:{\"value\":\"1F376\",\"name\":\"SAKE BOTTLE AND CUP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF376\"},127863:{\"value\":\"1F377\",\"name\":\"WINE GLASS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF377\"},127864:{\"value\":\"1F378\",\"name\":\"COCKTAIL GLASS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF378\"},127865:{\"value\":\"1F379\",\"name\":\"TROPICAL DRINK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF379\"},127866:{\"value\":\"1F37A\",\"name\":\"BEER MUG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF37A\"},127867:{\"value\":\"1F37B\",\"name\":\"CLINKING BEER MUGS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF37B\"},127868:{\"value\":\"1F37C\",\"name\":\"BABY BOTTLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF37C\"},127869:{\"value\":\"1F37D\",\"name\":\"FORK AND KNIFE WITH PLATE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF37D\"},127870:{\"value\":\"1F37E\",\"name\":\"BOTTLE WITH POPPING CORK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF37E\"},127871:{\"value\":\"1F37F\",\"name\":\"POPCORN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF37F\"},127872:{\"value\":\"1F380\",\"name\":\"RIBBON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF380\"},127873:{\"value\":\"1F381\",\"name\":\"WRAPPED PRESENT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF381\"},127874:{\"value\":\"1F382\",\"name\":\"BIRTHDAY CAKE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF382\"},127875:{\"value\":\"1F383\",\"name\":\"JACK-O-LANTERN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF383\"},127876:{\"value\":\"1F384\",\"name\":\"CHRISTMAS TREE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF384\"},127877:{\"value\":\"1F385\",\"name\":\"FATHER CHRISTMAS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF385\"},127878:{\"value\":\"1F386\",\"name\":\"FIREWORKS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF386\"},127879:{\"value\":\"1F387\",\"name\":\"FIREWORK SPARKLER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF387\"},127880:{\"value\":\"1F388\",\"name\":\"BALLOON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF388\"},127881:{\"value\":\"1F389\",\"name\":\"PARTY POPPER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF389\"},127882:{\"value\":\"1F38A\",\"name\":\"CONFETTI BALL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF38A\"},127883:{\"value\":\"1F38B\",\"name\":\"TANABATA TREE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF38B\"},127884:{\"value\":\"1F38C\",\"name\":\"CROSSED FLAGS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF38C\"},127885:{\"value\":\"1F38D\",\"name\":\"PINE DECORATION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF38D\"},127886:{\"value\":\"1F38E\",\"name\":\"JAPANESE DOLLS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF38E\"},127887:{\"value\":\"1F38F\",\"name\":\"CARP STREAMER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF38F\"},127888:{\"value\":\"1F390\",\"name\":\"WIND CHIME\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF390\"},127889:{\"value\":\"1F391\",\"name\":\"MOON VIEWING CEREMONY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF391\"},127890:{\"value\":\"1F392\",\"name\":\"SCHOOL SATCHEL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF392\"},127891:{\"value\":\"1F393\",\"name\":\"GRADUATION CAP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF393\"},127892:{\"value\":\"1F394\",\"name\":\"HEART WITH TIP ON THE LEFT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF394\"},127893:{\"value\":\"1F395\",\"name\":\"BOUQUET OF FLOWERS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF395\"},127894:{\"value\":\"1F396\",\"name\":\"MILITARY MEDAL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF396\"},127895:{\"value\":\"1F397\",\"name\":\"REMINDER RIBBON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF397\"},127896:{\"value\":\"1F398\",\"name\":\"MUSICAL KEYBOARD WITH JACKS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF398\"},127897:{\"value\":\"1F399\",\"name\":\"STUDIO MICROPHONE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF399\"},127898:{\"value\":\"1F39A\",\"name\":\"LEVEL SLIDER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF39A\"},127899:{\"value\":\"1F39B\",\"name\":\"CONTROL KNOBS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF39B\"},127900:{\"value\":\"1F39C\",\"name\":\"BEAMED ASCENDING MUSICAL NOTES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF39C\"},127901:{\"value\":\"1F39D\",\"name\":\"BEAMED DESCENDING MUSICAL NOTES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF39D\"},127902:{\"value\":\"1F39E\",\"name\":\"FILM FRAMES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF39E\"},127903:{\"value\":\"1F39F\",\"name\":\"ADMISSION TICKETS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF39F\"},127904:{\"value\":\"1F3A0\",\"name\":\"CAROUSEL HORSE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3A0\"},127905:{\"value\":\"1F3A1\",\"name\":\"FERRIS WHEEL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3A1\"},127906:{\"value\":\"1F3A2\",\"name\":\"ROLLER COASTER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3A2\"},127907:{\"value\":\"1F3A3\",\"name\":\"FISHING POLE AND FISH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3A3\"},127908:{\"value\":\"1F3A4\",\"name\":\"MICROPHONE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3A4\"},127909:{\"value\":\"1F3A5\",\"name\":\"MOVIE CAMERA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3A5\"},127910:{\"value\":\"1F3A6\",\"name\":\"CINEMA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3A6\"},127911:{\"value\":\"1F3A7\",\"name\":\"HEADPHONE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3A7\"},127912:{\"value\":\"1F3A8\",\"name\":\"ARTIST PALETTE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3A8\"},127913:{\"value\":\"1F3A9\",\"name\":\"TOP HAT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3A9\"},127914:{\"value\":\"1F3AA\",\"name\":\"CIRCUS TENT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3AA\"},127915:{\"value\":\"1F3AB\",\"name\":\"TICKET\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3AB\"},127916:{\"value\":\"1F3AC\",\"name\":\"CLAPPER BOARD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3AC\"},127917:{\"value\":\"1F3AD\",\"name\":\"PERFORMING ARTS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3AD\"},127918:{\"value\":\"1F3AE\",\"name\":\"VIDEO GAME\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3AE\"},127919:{\"value\":\"1F3AF\",\"name\":\"DIRECT HIT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3AF\"},127920:{\"value\":\"1F3B0\",\"name\":\"SLOT MACHINE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3B0\"},127921:{\"value\":\"1F3B1\",\"name\":\"BILLIARDS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3B1\"},127922:{\"value\":\"1F3B2\",\"name\":\"GAME DIE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3B2\"},127923:{\"value\":\"1F3B3\",\"name\":\"BOWLING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3B3\"},127924:{\"value\":\"1F3B4\",\"name\":\"FLOWER PLAYING CARDS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3B4\"},127925:{\"value\":\"1F3B5\",\"name\":\"MUSICAL NOTE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3B5\"},127926:{\"value\":\"1F3B6\",\"name\":\"MULTIPLE MUSICAL NOTES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3B6\"},127927:{\"value\":\"1F3B7\",\"name\":\"SAXOPHONE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3B7\"},127928:{\"value\":\"1F3B8\",\"name\":\"GUITAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3B8\"},127929:{\"value\":\"1F3B9\",\"name\":\"MUSICAL KEYBOARD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3B9\"},127930:{\"value\":\"1F3BA\",\"name\":\"TRUMPET\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3BA\"},127931:{\"value\":\"1F3BB\",\"name\":\"VIOLIN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3BB\"},127932:{\"value\":\"1F3BC\",\"name\":\"MUSICAL SCORE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3BC\"},127933:{\"value\":\"1F3BD\",\"name\":\"RUNNING SHIRT WITH SASH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3BD\"},127934:{\"value\":\"1F3BE\",\"name\":\"TENNIS RACQUET AND BALL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3BE\"},127935:{\"value\":\"1F3BF\",\"name\":\"SKI AND SKI BOOT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3BF\"},127936:{\"value\":\"1F3C0\",\"name\":\"BASKETBALL AND HOOP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3C0\"},127937:{\"value\":\"1F3C1\",\"name\":\"CHEQUERED FLAG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3C1\"},127938:{\"value\":\"1F3C2\",\"name\":\"SNOWBOARDER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3C2\"},127939:{\"value\":\"1F3C3\",\"name\":\"RUNNER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3C3\"},127940:{\"value\":\"1F3C4\",\"name\":\"SURFER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3C4\"},127941:{\"value\":\"1F3C5\",\"name\":\"SPORTS MEDAL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3C5\"},127942:{\"value\":\"1F3C6\",\"name\":\"TROPHY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3C6\"},127943:{\"value\":\"1F3C7\",\"name\":\"HORSE RACING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3C7\"},127944:{\"value\":\"1F3C8\",\"name\":\"AMERICAN FOOTBALL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3C8\"},127945:{\"value\":\"1F3C9\",\"name\":\"RUGBY FOOTBALL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3C9\"},127946:{\"value\":\"1F3CA\",\"name\":\"SWIMMER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3CA\"},127947:{\"value\":\"1F3CB\",\"name\":\"WEIGHT LIFTER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3CB\"},127948:{\"value\":\"1F3CC\",\"name\":\"GOLFER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3CC\"},127949:{\"value\":\"1F3CD\",\"name\":\"RACING MOTORCYCLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3CD\"},127950:{\"value\":\"1F3CE\",\"name\":\"RACING CAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3CE\"},127951:{\"value\":\"1F3CF\",\"name\":\"CRICKET BAT AND BALL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3CF\"},127952:{\"value\":\"1F3D0\",\"name\":\"VOLLEYBALL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3D0\"},127953:{\"value\":\"1F3D1\",\"name\":\"FIELD HOCKEY STICK AND BALL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3D1\"},127954:{\"value\":\"1F3D2\",\"name\":\"ICE HOCKEY STICK AND PUCK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3D2\"},127955:{\"value\":\"1F3D3\",\"name\":\"TABLE TENNIS PADDLE AND BALL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3D3\"},127956:{\"value\":\"1F3D4\",\"name\":\"SNOW CAPPED MOUNTAIN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3D4\"},127957:{\"value\":\"1F3D5\",\"name\":\"CAMPING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3D5\"},127958:{\"value\":\"1F3D6\",\"name\":\"BEACH WITH UMBRELLA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3D6\"},127959:{\"value\":\"1F3D7\",\"name\":\"BUILDING CONSTRUCTION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3D7\"},127960:{\"value\":\"1F3D8\",\"name\":\"HOUSE BUILDINGS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3D8\"},127961:{\"value\":\"1F3D9\",\"name\":\"CITYSCAPE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3D9\"},127962:{\"value\":\"1F3DA\",\"name\":\"DERELICT HOUSE BUILDING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3DA\"},127963:{\"value\":\"1F3DB\",\"name\":\"CLASSICAL BUILDING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3DB\"},127964:{\"value\":\"1F3DC\",\"name\":\"DESERT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3DC\"},127965:{\"value\":\"1F3DD\",\"name\":\"DESERT ISLAND\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3DD\"},127966:{\"value\":\"1F3DE\",\"name\":\"NATIONAL PARK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3DE\"},127967:{\"value\":\"1F3DF\",\"name\":\"STADIUM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3DF\"},127968:{\"value\":\"1F3E0\",\"name\":\"HOUSE BUILDING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3E0\"},127969:{\"value\":\"1F3E1\",\"name\":\"HOUSE WITH GARDEN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3E1\"},127970:{\"value\":\"1F3E2\",\"name\":\"OFFICE BUILDING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3E2\"},127971:{\"value\":\"1F3E3\",\"name\":\"JAPANESE POST OFFICE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3E3\"},127972:{\"value\":\"1F3E4\",\"name\":\"EUROPEAN POST OFFICE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3E4\"},127973:{\"value\":\"1F3E5\",\"name\":\"HOSPITAL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3E5\"},127974:{\"value\":\"1F3E6\",\"name\":\"BANK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3E6\"},127975:{\"value\":\"1F3E7\",\"name\":\"AUTOMATED TELLER MACHINE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3E7\"},127976:{\"value\":\"1F3E8\",\"name\":\"HOTEL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3E8\"},127977:{\"value\":\"1F3E9\",\"name\":\"LOVE HOTEL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3E9\"},127978:{\"value\":\"1F3EA\",\"name\":\"CONVENIENCE STORE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3EA\"},127979:{\"value\":\"1F3EB\",\"name\":\"SCHOOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3EB\"},127980:{\"value\":\"1F3EC\",\"name\":\"DEPARTMENT STORE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3EC\"},127981:{\"value\":\"1F3ED\",\"name\":\"FACTORY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3ED\"},127982:{\"value\":\"1F3EE\",\"name\":\"IZAKAYA LANTERN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3EE\"},127983:{\"value\":\"1F3EF\",\"name\":\"JAPANESE CASTLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3EF\"},127984:{\"value\":\"1F3F0\",\"name\":\"EUROPEAN CASTLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3F0\"},127985:{\"value\":\"1F3F1\",\"name\":\"WHITE PENNANT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3F1\"},127986:{\"value\":\"1F3F2\",\"name\":\"BLACK PENNANT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3F2\"},127987:{\"value\":\"1F3F3\",\"name\":\"WAVING WHITE FLAG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3F3\"},127988:{\"value\":\"1F3F4\",\"name\":\"WAVING BLACK FLAG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3F4\"},127989:{\"value\":\"1F3F5\",\"name\":\"ROSETTE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3F5\"},127990:{\"value\":\"1F3F6\",\"name\":\"BLACK ROSETTE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3F6\"},127991:{\"value\":\"1F3F7\",\"name\":\"LABEL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3F7\"},127992:{\"value\":\"1F3F8\",\"name\":\"BADMINTON RACQUET AND SHUTTLECOCK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3F8\"},127993:{\"value\":\"1F3F9\",\"name\":\"BOW AND ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3F9\"},127994:{\"value\":\"1F3FA\",\"name\":\"AMPHORA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3FA\"},128000:{\"value\":\"1F400\",\"name\":\"RAT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF400\"},128001:{\"value\":\"1F401\",\"name\":\"MOUSE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF401\"},128002:{\"value\":\"1F402\",\"name\":\"OX\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF402\"},128003:{\"value\":\"1F403\",\"name\":\"WATER BUFFALO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF403\"},128004:{\"value\":\"1F404\",\"name\":\"COW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF404\"},128005:{\"value\":\"1F405\",\"name\":\"TIGER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF405\"},128006:{\"value\":\"1F406\",\"name\":\"LEOPARD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF406\"},128007:{\"value\":\"1F407\",\"name\":\"RABBIT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF407\"},128008:{\"value\":\"1F408\",\"name\":\"CAT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF408\"},128009:{\"value\":\"1F409\",\"name\":\"DRAGON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF409\"},128010:{\"value\":\"1F40A\",\"name\":\"CROCODILE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF40A\"},128011:{\"value\":\"1F40B\",\"name\":\"WHALE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF40B\"},128012:{\"value\":\"1F40C\",\"name\":\"SNAIL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF40C\"},128013:{\"value\":\"1F40D\",\"name\":\"SNAKE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF40D\"},128014:{\"value\":\"1F40E\",\"name\":\"HORSE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF40E\"},128015:{\"value\":\"1F40F\",\"name\":\"RAM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF40F\"},128016:{\"value\":\"1F410\",\"name\":\"GOAT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF410\"},128017:{\"value\":\"1F411\",\"name\":\"SHEEP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF411\"},128018:{\"value\":\"1F412\",\"name\":\"MONKEY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF412\"},128019:{\"value\":\"1F413\",\"name\":\"ROOSTER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF413\"},128020:{\"value\":\"1F414\",\"name\":\"CHICKEN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF414\"},128021:{\"value\":\"1F415\",\"name\":\"DOG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF415\"},128022:{\"value\":\"1F416\",\"name\":\"PIG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF416\"},128023:{\"value\":\"1F417\",\"name\":\"BOAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF417\"},128024:{\"value\":\"1F418\",\"name\":\"ELEPHANT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF418\"},128025:{\"value\":\"1F419\",\"name\":\"OCTOPUS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF419\"},128026:{\"value\":\"1F41A\",\"name\":\"SPIRAL SHELL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF41A\"},128027:{\"value\":\"1F41B\",\"name\":\"BUG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF41B\"},128028:{\"value\":\"1F41C\",\"name\":\"ANT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF41C\"},128029:{\"value\":\"1F41D\",\"name\":\"HONEYBEE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF41D\"},128030:{\"value\":\"1F41E\",\"name\":\"LADY BEETLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF41E\"},128031:{\"value\":\"1F41F\",\"name\":\"FISH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF41F\"},128032:{\"value\":\"1F420\",\"name\":\"TROPICAL FISH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF420\"},128033:{\"value\":\"1F421\",\"name\":\"BLOWFISH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF421\"},128034:{\"value\":\"1F422\",\"name\":\"TURTLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF422\"},128035:{\"value\":\"1F423\",\"name\":\"HATCHING CHICK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF423\"},128036:{\"value\":\"1F424\",\"name\":\"BABY CHICK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF424\"},128037:{\"value\":\"1F425\",\"name\":\"FRONT-FACING BABY CHICK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF425\"},128038:{\"value\":\"1F426\",\"name\":\"BIRD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF426\"},128039:{\"value\":\"1F427\",\"name\":\"PENGUIN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF427\"},128040:{\"value\":\"1F428\",\"name\":\"KOALA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF428\"},128041:{\"value\":\"1F429\",\"name\":\"POODLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF429\"},128042:{\"value\":\"1F42A\",\"name\":\"DROMEDARY CAMEL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF42A\"},128043:{\"value\":\"1F42B\",\"name\":\"BACTRIAN CAMEL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF42B\"},128044:{\"value\":\"1F42C\",\"name\":\"DOLPHIN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF42C\"},128045:{\"value\":\"1F42D\",\"name\":\"MOUSE FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF42D\"},128046:{\"value\":\"1F42E\",\"name\":\"COW FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF42E\"},128047:{\"value\":\"1F42F\",\"name\":\"TIGER FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF42F\"},128048:{\"value\":\"1F430\",\"name\":\"RABBIT FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF430\"},128049:{\"value\":\"1F431\",\"name\":\"CAT FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF431\"},128050:{\"value\":\"1F432\",\"name\":\"DRAGON FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF432\"},128051:{\"value\":\"1F433\",\"name\":\"SPOUTING WHALE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF433\"},128052:{\"value\":\"1F434\",\"name\":\"HORSE FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF434\"},128053:{\"value\":\"1F435\",\"name\":\"MONKEY FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF435\"},128054:{\"value\":\"1F436\",\"name\":\"DOG FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF436\"},128055:{\"value\":\"1F437\",\"name\":\"PIG FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF437\"},128056:{\"value\":\"1F438\",\"name\":\"FROG FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF438\"},128057:{\"value\":\"1F439\",\"name\":\"HAMSTER FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF439\"},128058:{\"value\":\"1F43A\",\"name\":\"WOLF FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF43A\"},128059:{\"value\":\"1F43B\",\"name\":\"BEAR FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF43B\"},128060:{\"value\":\"1F43C\",\"name\":\"PANDA FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF43C\"},128061:{\"value\":\"1F43D\",\"name\":\"PIG NOSE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF43D\"},128062:{\"value\":\"1F43E\",\"name\":\"PAW PRINTS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF43E\"},128063:{\"value\":\"1F43F\",\"name\":\"CHIPMUNK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF43F\"},128064:{\"value\":\"1F440\",\"name\":\"EYES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF440\"},128065:{\"value\":\"1F441\",\"name\":\"EYE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF441\"},128066:{\"value\":\"1F442\",\"name\":\"EAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF442\"},128067:{\"value\":\"1F443\",\"name\":\"NOSE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF443\"},128068:{\"value\":\"1F444\",\"name\":\"MOUTH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF444\"},128069:{\"value\":\"1F445\",\"name\":\"TONGUE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF445\"},128070:{\"value\":\"1F446\",\"name\":\"WHITE UP POINTING BACKHAND INDEX\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF446\"},128071:{\"value\":\"1F447\",\"name\":\"WHITE DOWN POINTING BACKHAND INDEX\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF447\"},128072:{\"value\":\"1F448\",\"name\":\"WHITE LEFT POINTING BACKHAND INDEX\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF448\"},128073:{\"value\":\"1F449\",\"name\":\"WHITE RIGHT POINTING BACKHAND INDEX\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF449\"},128074:{\"value\":\"1F44A\",\"name\":\"FISTED HAND SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF44A\"},128075:{\"value\":\"1F44B\",\"name\":\"WAVING HAND SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF44B\"},128076:{\"value\":\"1F44C\",\"name\":\"OK HAND SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF44C\"},128077:{\"value\":\"1F44D\",\"name\":\"THUMBS UP SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF44D\"},128078:{\"value\":\"1F44E\",\"name\":\"THUMBS DOWN SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF44E\"},128079:{\"value\":\"1F44F\",\"name\":\"CLAPPING HANDS SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF44F\"},128080:{\"value\":\"1F450\",\"name\":\"OPEN HANDS SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF450\"},128081:{\"value\":\"1F451\",\"name\":\"CROWN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF451\"},128082:{\"value\":\"1F452\",\"name\":\"WOMANS HAT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF452\"},128083:{\"value\":\"1F453\",\"name\":\"EYEGLASSES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF453\"},128084:{\"value\":\"1F454\",\"name\":\"NECKTIE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF454\"},128085:{\"value\":\"1F455\",\"name\":\"T-SHIRT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF455\"},128086:{\"value\":\"1F456\",\"name\":\"JEANS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF456\"},128087:{\"value\":\"1F457\",\"name\":\"DRESS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF457\"},128088:{\"value\":\"1F458\",\"name\":\"KIMONO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF458\"},128089:{\"value\":\"1F459\",\"name\":\"BIKINI\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF459\"},128090:{\"value\":\"1F45A\",\"name\":\"WOMANS CLOTHES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF45A\"},128091:{\"value\":\"1F45B\",\"name\":\"PURSE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF45B\"},128092:{\"value\":\"1F45C\",\"name\":\"HANDBAG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF45C\"},128093:{\"value\":\"1F45D\",\"name\":\"POUCH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF45D\"},128094:{\"value\":\"1F45E\",\"name\":\"MANS SHOE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF45E\"},128095:{\"value\":\"1F45F\",\"name\":\"ATHLETIC SHOE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF45F\"},128096:{\"value\":\"1F460\",\"name\":\"HIGH-HEELED SHOE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF460\"},128097:{\"value\":\"1F461\",\"name\":\"WOMANS SANDAL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF461\"},128098:{\"value\":\"1F462\",\"name\":\"WOMANS BOOTS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF462\"},128099:{\"value\":\"1F463\",\"name\":\"FOOTPRINTS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF463\"},128100:{\"value\":\"1F464\",\"name\":\"BUST IN SILHOUETTE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF464\"},128101:{\"value\":\"1F465\",\"name\":\"BUSTS IN SILHOUETTE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF465\"},128102:{\"value\":\"1F466\",\"name\":\"BOY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF466\"},128103:{\"value\":\"1F467\",\"name\":\"GIRL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF467\"},128104:{\"value\":\"1F468\",\"name\":\"MAN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF468\"},128105:{\"value\":\"1F469\",\"name\":\"WOMAN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF469\"},128106:{\"value\":\"1F46A\",\"name\":\"FAMILY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF46A\"},128107:{\"value\":\"1F46B\",\"name\":\"MAN AND WOMAN HOLDING HANDS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF46B\"},128108:{\"value\":\"1F46C\",\"name\":\"TWO MEN HOLDING HANDS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF46C\"},128109:{\"value\":\"1F46D\",\"name\":\"TWO WOMEN HOLDING HANDS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF46D\"},128110:{\"value\":\"1F46E\",\"name\":\"POLICE OFFICER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF46E\"},128111:{\"value\":\"1F46F\",\"name\":\"WOMAN WITH BUNNY EARS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF46F\"},128112:{\"value\":\"1F470\",\"name\":\"BRIDE WITH VEIL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF470\"},128113:{\"value\":\"1F471\",\"name\":\"PERSON WITH BLOND HAIR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF471\"},128114:{\"value\":\"1F472\",\"name\":\"MAN WITH GUA PI MAO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF472\"},128115:{\"value\":\"1F473\",\"name\":\"MAN WITH TURBAN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF473\"},128116:{\"value\":\"1F474\",\"name\":\"OLDER MAN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF474\"},128117:{\"value\":\"1F475\",\"name\":\"OLDER WOMAN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF475\"},128118:{\"value\":\"1F476\",\"name\":\"BABY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF476\"},128119:{\"value\":\"1F477\",\"name\":\"CONSTRUCTION WORKER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF477\"},128120:{\"value\":\"1F478\",\"name\":\"PRINCESS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF478\"},128121:{\"value\":\"1F479\",\"name\":\"JAPANESE OGRE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF479\"},128122:{\"value\":\"1F47A\",\"name\":\"JAPANESE GOBLIN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF47A\"},128123:{\"value\":\"1F47B\",\"name\":\"GHOST\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF47B\"},128124:{\"value\":\"1F47C\",\"name\":\"BABY ANGEL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF47C\"},128125:{\"value\":\"1F47D\",\"name\":\"EXTRATERRESTRIAL ALIEN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF47D\"},128126:{\"value\":\"1F47E\",\"name\":\"ALIEN MONSTER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF47E\"},128127:{\"value\":\"1F47F\",\"name\":\"IMP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF47F\"},128128:{\"value\":\"1F480\",\"name\":\"SKULL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF480\"},128129:{\"value\":\"1F481\",\"name\":\"INFORMATION DESK PERSON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF481\"},128130:{\"value\":\"1F482\",\"name\":\"GUARDSMAN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF482\"},128131:{\"value\":\"1F483\",\"name\":\"DANCER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF483\"},128132:{\"value\":\"1F484\",\"name\":\"LIPSTICK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF484\"},128133:{\"value\":\"1F485\",\"name\":\"NAIL POLISH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF485\"},128134:{\"value\":\"1F486\",\"name\":\"FACE MASSAGE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF486\"},128135:{\"value\":\"1F487\",\"name\":\"HAIRCUT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF487\"},128136:{\"value\":\"1F488\",\"name\":\"BARBER POLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF488\"},128137:{\"value\":\"1F489\",\"name\":\"SYRINGE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF489\"},128138:{\"value\":\"1F48A\",\"name\":\"PILL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF48A\"},128139:{\"value\":\"1F48B\",\"name\":\"KISS MARK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF48B\"},128140:{\"value\":\"1F48C\",\"name\":\"LOVE LETTER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF48C\"},128141:{\"value\":\"1F48D\",\"name\":\"RING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF48D\"},128142:{\"value\":\"1F48E\",\"name\":\"GEM STONE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF48E\"},128143:{\"value\":\"1F48F\",\"name\":\"KISS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF48F\"},128144:{\"value\":\"1F490\",\"name\":\"BOUQUET\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF490\"},128145:{\"value\":\"1F491\",\"name\":\"COUPLE WITH HEART\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF491\"},128146:{\"value\":\"1F492\",\"name\":\"WEDDING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF492\"},128147:{\"value\":\"1F493\",\"name\":\"BEATING HEART\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF493\"},128148:{\"value\":\"1F494\",\"name\":\"BROKEN HEART\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF494\"},128149:{\"value\":\"1F495\",\"name\":\"TWO HEARTS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF495\"},128150:{\"value\":\"1F496\",\"name\":\"SPARKLING HEART\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF496\"},128151:{\"value\":\"1F497\",\"name\":\"GROWING HEART\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF497\"},128152:{\"value\":\"1F498\",\"name\":\"HEART WITH ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF498\"},128153:{\"value\":\"1F499\",\"name\":\"BLUE HEART\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF499\"},128154:{\"value\":\"1F49A\",\"name\":\"GREEN HEART\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF49A\"},128155:{\"value\":\"1F49B\",\"name\":\"YELLOW HEART\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF49B\"},128156:{\"value\":\"1F49C\",\"name\":\"PURPLE HEART\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF49C\"},128157:{\"value\":\"1F49D\",\"name\":\"HEART WITH RIBBON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF49D\"},128158:{\"value\":\"1F49E\",\"name\":\"REVOLVING HEARTS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF49E\"},128159:{\"value\":\"1F49F\",\"name\":\"HEART DECORATION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF49F\"},128160:{\"value\":\"1F4A0\",\"name\":\"DIAMOND SHAPE WITH A DOT INSIDE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4A0\"},128161:{\"value\":\"1F4A1\",\"name\":\"ELECTRIC LIGHT BULB\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4A1\"},128162:{\"value\":\"1F4A2\",\"name\":\"ANGER SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4A2\"},128163:{\"value\":\"1F4A3\",\"name\":\"BOMB\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4A3\"},128164:{\"value\":\"1F4A4\",\"name\":\"SLEEPING SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4A4\"},128165:{\"value\":\"1F4A5\",\"name\":\"COLLISION SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4A5\"},128166:{\"value\":\"1F4A6\",\"name\":\"SPLASHING SWEAT SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4A6\"},128167:{\"value\":\"1F4A7\",\"name\":\"DROPLET\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4A7\"},128168:{\"value\":\"1F4A8\",\"name\":\"DASH SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4A8\"},128169:{\"value\":\"1F4A9\",\"name\":\"PILE OF POO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4A9\"},128170:{\"value\":\"1F4AA\",\"name\":\"FLEXED BICEPS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4AA\"},128171:{\"value\":\"1F4AB\",\"name\":\"DIZZY SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4AB\"},128172:{\"value\":\"1F4AC\",\"name\":\"SPEECH BALLOON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4AC\"},128173:{\"value\":\"1F4AD\",\"name\":\"THOUGHT BALLOON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4AD\"},128174:{\"value\":\"1F4AE\",\"name\":\"WHITE FLOWER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4AE\"},128175:{\"value\":\"1F4AF\",\"name\":\"HUNDRED POINTS SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4AF\"},128176:{\"value\":\"1F4B0\",\"name\":\"MONEY BAG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4B0\"},128177:{\"value\":\"1F4B1\",\"name\":\"CURRENCY EXCHANGE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4B1\"},128178:{\"value\":\"1F4B2\",\"name\":\"HEAVY DOLLAR SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4B2\"},128179:{\"value\":\"1F4B3\",\"name\":\"CREDIT CARD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4B3\"},128180:{\"value\":\"1F4B4\",\"name\":\"BANKNOTE WITH YEN SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4B4\"},128181:{\"value\":\"1F4B5\",\"name\":\"BANKNOTE WITH DOLLAR SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4B5\"},128182:{\"value\":\"1F4B6\",\"name\":\"BANKNOTE WITH EURO SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4B6\"},128183:{\"value\":\"1F4B7\",\"name\":\"BANKNOTE WITH POUND SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4B7\"},128184:{\"value\":\"1F4B8\",\"name\":\"MONEY WITH WINGS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4B8\"},128185:{\"value\":\"1F4B9\",\"name\":\"CHART WITH UPWARDS TREND AND YEN SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4B9\"},128186:{\"value\":\"1F4BA\",\"name\":\"SEAT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4BA\"},128187:{\"value\":\"1F4BB\",\"name\":\"PERSONAL COMPUTER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4BB\"},128188:{\"value\":\"1F4BC\",\"name\":\"BRIEFCASE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4BC\"},128189:{\"value\":\"1F4BD\",\"name\":\"MINIDISC\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4BD\"},128190:{\"value\":\"1F4BE\",\"name\":\"FLOPPY DISK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4BE\"},128191:{\"value\":\"1F4BF\",\"name\":\"OPTICAL DISC\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4BF\"},128192:{\"value\":\"1F4C0\",\"name\":\"DVD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4C0\"},128193:{\"value\":\"1F4C1\",\"name\":\"FILE FOLDER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4C1\"},128194:{\"value\":\"1F4C2\",\"name\":\"OPEN FILE FOLDER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4C2\"},128195:{\"value\":\"1F4C3\",\"name\":\"PAGE WITH CURL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4C3\"},128196:{\"value\":\"1F4C4\",\"name\":\"PAGE FACING UP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4C4\"},128197:{\"value\":\"1F4C5\",\"name\":\"CALENDAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4C5\"},128198:{\"value\":\"1F4C6\",\"name\":\"TEAR-OFF CALENDAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4C6\"},128199:{\"value\":\"1F4C7\",\"name\":\"CARD INDEX\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4C7\"},128200:{\"value\":\"1F4C8\",\"name\":\"CHART WITH UPWARDS TREND\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4C8\"},128201:{\"value\":\"1F4C9\",\"name\":\"CHART WITH DOWNWARDS TREND\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4C9\"},128202:{\"value\":\"1F4CA\",\"name\":\"BAR CHART\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4CA\"},128203:{\"value\":\"1F4CB\",\"name\":\"CLIPBOARD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4CB\"},128204:{\"value\":\"1F4CC\",\"name\":\"PUSHPIN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4CC\"},128205:{\"value\":\"1F4CD\",\"name\":\"ROUND PUSHPIN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4CD\"},128206:{\"value\":\"1F4CE\",\"name\":\"PAPERCLIP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4CE\"},128207:{\"value\":\"1F4CF\",\"name\":\"STRAIGHT RULER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4CF\"},128208:{\"value\":\"1F4D0\",\"name\":\"TRIANGULAR RULER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4D0\"},128209:{\"value\":\"1F4D1\",\"name\":\"BOOKMARK TABS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4D1\"},128210:{\"value\":\"1F4D2\",\"name\":\"LEDGER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4D2\"},128211:{\"value\":\"1F4D3\",\"name\":\"NOTEBOOK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4D3\"},128212:{\"value\":\"1F4D4\",\"name\":\"NOTEBOOK WITH DECORATIVE COVER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4D4\"},128213:{\"value\":\"1F4D5\",\"name\":\"CLOSED BOOK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4D5\"},128214:{\"value\":\"1F4D6\",\"name\":\"OPEN BOOK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4D6\"},128215:{\"value\":\"1F4D7\",\"name\":\"GREEN BOOK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4D7\"},128216:{\"value\":\"1F4D8\",\"name\":\"BLUE BOOK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4D8\"},128217:{\"value\":\"1F4D9\",\"name\":\"ORANGE BOOK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4D9\"},128218:{\"value\":\"1F4DA\",\"name\":\"BOOKS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4DA\"},128219:{\"value\":\"1F4DB\",\"name\":\"NAME BADGE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4DB\"},128220:{\"value\":\"1F4DC\",\"name\":\"SCROLL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4DC\"},128221:{\"value\":\"1F4DD\",\"name\":\"MEMO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4DD\"},128222:{\"value\":\"1F4DE\",\"name\":\"TELEPHONE RECEIVER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4DE\"},128223:{\"value\":\"1F4DF\",\"name\":\"PAGER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4DF\"},128224:{\"value\":\"1F4E0\",\"name\":\"FAX MACHINE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4E0\"},128225:{\"value\":\"1F4E1\",\"name\":\"SATELLITE ANTENNA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4E1\"},128226:{\"value\":\"1F4E2\",\"name\":\"PUBLIC ADDRESS LOUDSPEAKER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4E2\"},128227:{\"value\":\"1F4E3\",\"name\":\"CHEERING MEGAPHONE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4E3\"},128228:{\"value\":\"1F4E4\",\"name\":\"OUTBOX TRAY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4E4\"},128229:{\"value\":\"1F4E5\",\"name\":\"INBOX TRAY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4E5\"},128230:{\"value\":\"1F4E6\",\"name\":\"PACKAGE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4E6\"},128231:{\"value\":\"1F4E7\",\"name\":\"E-MAIL SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4E7\"},128232:{\"value\":\"1F4E8\",\"name\":\"INCOMING ENVELOPE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4E8\"},128233:{\"value\":\"1F4E9\",\"name\":\"ENVELOPE WITH DOWNWARDS ARROW ABOVE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4E9\"},128234:{\"value\":\"1F4EA\",\"name\":\"CLOSED MAILBOX WITH LOWERED FLAG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4EA\"},128235:{\"value\":\"1F4EB\",\"name\":\"CLOSED MAILBOX WITH RAISED FLAG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4EB\"},128236:{\"value\":\"1F4EC\",\"name\":\"OPEN MAILBOX WITH RAISED FLAG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4EC\"},128237:{\"value\":\"1F4ED\",\"name\":\"OPEN MAILBOX WITH LOWERED FLAG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4ED\"},128238:{\"value\":\"1F4EE\",\"name\":\"POSTBOX\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4EE\"},128239:{\"value\":\"1F4EF\",\"name\":\"POSTAL HORN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4EF\"},128240:{\"value\":\"1F4F0\",\"name\":\"NEWSPAPER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4F0\"},128241:{\"value\":\"1F4F1\",\"name\":\"MOBILE PHONE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4F1\"},128242:{\"value\":\"1F4F2\",\"name\":\"MOBILE PHONE WITH RIGHTWARDS ARROW AT LEFT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4F2\"},128243:{\"value\":\"1F4F3\",\"name\":\"VIBRATION MODE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4F3\"},128244:{\"value\":\"1F4F4\",\"name\":\"MOBILE PHONE OFF\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4F4\"},128245:{\"value\":\"1F4F5\",\"name\":\"NO MOBILE PHONES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4F5\"},128246:{\"value\":\"1F4F6\",\"name\":\"ANTENNA WITH BARS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4F6\"},128247:{\"value\":\"1F4F7\",\"name\":\"CAMERA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4F7\"},128248:{\"value\":\"1F4F8\",\"name\":\"CAMERA WITH FLASH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4F8\"},128249:{\"value\":\"1F4F9\",\"name\":\"VIDEO CAMERA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4F9\"},128250:{\"value\":\"1F4FA\",\"name\":\"TELEVISION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4FA\"},128251:{\"value\":\"1F4FB\",\"name\":\"RADIO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4FB\"},128252:{\"value\":\"1F4FC\",\"name\":\"VIDEOCASSETTE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4FC\"},128253:{\"value\":\"1F4FD\",\"name\":\"FILM PROJECTOR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4FD\"},128254:{\"value\":\"1F4FE\",\"name\":\"PORTABLE STEREO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4FE\"},128255:{\"value\":\"1F4FF\",\"name\":\"PRAYER BEADS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4FF\"},128256:{\"value\":\"1F500\",\"name\":\"TWISTED RIGHTWARDS ARROWS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF500\"},128257:{\"value\":\"1F501\",\"name\":\"CLOCKWISE RIGHTWARDS AND LEFTWARDS OPEN CIRCLE ARROWS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF501\"},128258:{\"value\":\"1F502\",\"name\":\"CLOCKWISE RIGHTWARDS AND LEFTWARDS OPEN CIRCLE ARROWS WITH CIRCLED ONE OVERLAY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF502\"},128259:{\"value\":\"1F503\",\"name\":\"CLOCKWISE DOWNWARDS AND UPWARDS OPEN CIRCLE ARROWS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF503\"},128260:{\"value\":\"1F504\",\"name\":\"ANTICLOCKWISE DOWNWARDS AND UPWARDS OPEN CIRCLE ARROWS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF504\"},128261:{\"value\":\"1F505\",\"name\":\"LOW BRIGHTNESS SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF505\"},128262:{\"value\":\"1F506\",\"name\":\"HIGH BRIGHTNESS SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF506\"},128263:{\"value\":\"1F507\",\"name\":\"SPEAKER WITH CANCELLATION STROKE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF507\"},128264:{\"value\":\"1F508\",\"name\":\"SPEAKER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF508\"},128265:{\"value\":\"1F509\",\"name\":\"SPEAKER WITH ONE SOUND WAVE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF509\"},128266:{\"value\":\"1F50A\",\"name\":\"SPEAKER WITH THREE SOUND WAVES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF50A\"},128267:{\"value\":\"1F50B\",\"name\":\"BATTERY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF50B\"},128268:{\"value\":\"1F50C\",\"name\":\"ELECTRIC PLUG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF50C\"},128269:{\"value\":\"1F50D\",\"name\":\"LEFT-POINTING MAGNIFYING GLASS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF50D\"},128270:{\"value\":\"1F50E\",\"name\":\"RIGHT-POINTING MAGNIFYING GLASS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF50E\"},128271:{\"value\":\"1F50F\",\"name\":\"LOCK WITH INK PEN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF50F\"},128272:{\"value\":\"1F510\",\"name\":\"CLOSED LOCK WITH KEY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF510\"},128273:{\"value\":\"1F511\",\"name\":\"KEY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF511\"},128274:{\"value\":\"1F512\",\"name\":\"LOCK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF512\"},128275:{\"value\":\"1F513\",\"name\":\"OPEN LOCK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF513\"},128276:{\"value\":\"1F514\",\"name\":\"BELL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF514\"},128277:{\"value\":\"1F515\",\"name\":\"BELL WITH CANCELLATION STROKE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF515\"},128278:{\"value\":\"1F516\",\"name\":\"BOOKMARK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF516\"},128279:{\"value\":\"1F517\",\"name\":\"LINK SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF517\"},128280:{\"value\":\"1F518\",\"name\":\"RADIO BUTTON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF518\"},128281:{\"value\":\"1F519\",\"name\":\"BACK WITH LEFTWARDS ARROW ABOVE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF519\"},128282:{\"value\":\"1F51A\",\"name\":\"END WITH LEFTWARDS ARROW ABOVE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF51A\"},128283:{\"value\":\"1F51B\",\"name\":\"ON WITH EXCLAMATION MARK WITH LEFT RIGHT ARROW ABOVE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF51B\"},128284:{\"value\":\"1F51C\",\"name\":\"SOON WITH RIGHTWARDS ARROW ABOVE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF51C\"},128285:{\"value\":\"1F51D\",\"name\":\"TOP WITH UPWARDS ARROW ABOVE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF51D\"},128286:{\"value\":\"1F51E\",\"name\":\"NO ONE UNDER EIGHTEEN SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF51E\"},128287:{\"value\":\"1F51F\",\"name\":\"KEYCAP TEN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF51F\"},128288:{\"value\":\"1F520\",\"name\":\"INPUT SYMBOL FOR LATIN CAPITAL LETTERS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF520\"},128289:{\"value\":\"1F521\",\"name\":\"INPUT SYMBOL FOR LATIN SMALL LETTERS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF521\"},128290:{\"value\":\"1F522\",\"name\":\"INPUT SYMBOL FOR NUMBERS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF522\"},128291:{\"value\":\"1F523\",\"name\":\"INPUT SYMBOL FOR SYMBOLS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF523\"},128292:{\"value\":\"1F524\",\"name\":\"INPUT SYMBOL FOR LATIN LETTERS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF524\"},128293:{\"value\":\"1F525\",\"name\":\"FIRE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF525\"},128294:{\"value\":\"1F526\",\"name\":\"ELECTRIC TORCH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF526\"},128295:{\"value\":\"1F527\",\"name\":\"WRENCH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF527\"},128296:{\"value\":\"1F528\",\"name\":\"HAMMER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF528\"},128297:{\"value\":\"1F529\",\"name\":\"NUT AND BOLT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF529\"},128298:{\"value\":\"1F52A\",\"name\":\"HOCHO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF52A\"},128299:{\"value\":\"1F52B\",\"name\":\"PISTOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF52B\"},128300:{\"value\":\"1F52C\",\"name\":\"MICROSCOPE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF52C\"},128301:{\"value\":\"1F52D\",\"name\":\"TELESCOPE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF52D\"},128302:{\"value\":\"1F52E\",\"name\":\"CRYSTAL BALL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF52E\"},128303:{\"value\":\"1F52F\",\"name\":\"SIX POINTED STAR WITH MIDDLE DOT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF52F\"},128304:{\"value\":\"1F530\",\"name\":\"JAPANESE SYMBOL FOR BEGINNER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF530\"},128305:{\"value\":\"1F531\",\"name\":\"TRIDENT EMBLEM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF531\"},128306:{\"value\":\"1F532\",\"name\":\"BLACK SQUARE BUTTON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF532\"},128307:{\"value\":\"1F533\",\"name\":\"WHITE SQUARE BUTTON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF533\"},128308:{\"value\":\"1F534\",\"name\":\"LARGE RED CIRCLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF534\"},128309:{\"value\":\"1F535\",\"name\":\"LARGE BLUE CIRCLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF535\"},128310:{\"value\":\"1F536\",\"name\":\"LARGE ORANGE DIAMOND\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF536\"},128311:{\"value\":\"1F537\",\"name\":\"LARGE BLUE DIAMOND\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF537\"},128312:{\"value\":\"1F538\",\"name\":\"SMALL ORANGE DIAMOND\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF538\"},128313:{\"value\":\"1F539\",\"name\":\"SMALL BLUE DIAMOND\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF539\"},128314:{\"value\":\"1F53A\",\"name\":\"UP-POINTING RED TRIANGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF53A\"},128315:{\"value\":\"1F53B\",\"name\":\"DOWN-POINTING RED TRIANGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF53B\"},128316:{\"value\":\"1F53C\",\"name\":\"UP-POINTING SMALL RED TRIANGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF53C\"},128317:{\"value\":\"1F53D\",\"name\":\"DOWN-POINTING SMALL RED TRIANGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF53D\"},128318:{\"value\":\"1F53E\",\"name\":\"LOWER RIGHT SHADOWED WHITE CIRCLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF53E\"},128319:{\"value\":\"1F53F\",\"name\":\"UPPER RIGHT SHADOWED WHITE CIRCLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF53F\"},128320:{\"value\":\"1F540\",\"name\":\"CIRCLED CROSS POMMEE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF540\"},128321:{\"value\":\"1F541\",\"name\":\"CROSS POMMEE WITH HALF-CIRCLE BELOW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF541\"},128322:{\"value\":\"1F542\",\"name\":\"CROSS POMMEE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF542\"},128323:{\"value\":\"1F543\",\"name\":\"NOTCHED LEFT SEMICIRCLE WITH THREE DOTS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF543\"},128324:{\"value\":\"1F544\",\"name\":\"NOTCHED RIGHT SEMICIRCLE WITH THREE DOTS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF544\"},128325:{\"value\":\"1F545\",\"name\":\"SYMBOL FOR MARKS CHAPTER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF545\"},128326:{\"value\":\"1F546\",\"name\":\"WHITE LATIN CROSS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF546\"},128327:{\"value\":\"1F547\",\"name\":\"HEAVY LATIN CROSS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF547\"},128328:{\"value\":\"1F548\",\"name\":\"CELTIC CROSS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF548\"},128329:{\"value\":\"1F549\",\"name\":\"OM SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF549\"},128330:{\"value\":\"1F54A\",\"name\":\"DOVE OF PEACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF54A\"},128331:{\"value\":\"1F54B\",\"name\":\"KAABA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF54B\"},128332:{\"value\":\"1F54C\",\"name\":\"MOSQUE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF54C\"},128333:{\"value\":\"1F54D\",\"name\":\"SYNAGOGUE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF54D\"},128334:{\"value\":\"1F54E\",\"name\":\"MENORAH WITH NINE BRANCHES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF54E\"},128335:{\"value\":\"1F54F\",\"name\":\"BOWL OF HYGIEIA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF54F\"},128336:{\"value\":\"1F550\",\"name\":\"CLOCK FACE ONE OCLOCK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF550\"},128337:{\"value\":\"1F551\",\"name\":\"CLOCK FACE TWO OCLOCK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF551\"},128338:{\"value\":\"1F552\",\"name\":\"CLOCK FACE THREE OCLOCK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF552\"},128339:{\"value\":\"1F553\",\"name\":\"CLOCK FACE FOUR OCLOCK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF553\"},128340:{\"value\":\"1F554\",\"name\":\"CLOCK FACE FIVE OCLOCK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF554\"},128341:{\"value\":\"1F555\",\"name\":\"CLOCK FACE SIX OCLOCK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF555\"},128342:{\"value\":\"1F556\",\"name\":\"CLOCK FACE SEVEN OCLOCK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF556\"},128343:{\"value\":\"1F557\",\"name\":\"CLOCK FACE EIGHT OCLOCK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF557\"},128344:{\"value\":\"1F558\",\"name\":\"CLOCK FACE NINE OCLOCK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF558\"},128345:{\"value\":\"1F559\",\"name\":\"CLOCK FACE TEN OCLOCK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF559\"},128346:{\"value\":\"1F55A\",\"name\":\"CLOCK FACE ELEVEN OCLOCK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF55A\"},128347:{\"value\":\"1F55B\",\"name\":\"CLOCK FACE TWELVE OCLOCK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF55B\"},128348:{\"value\":\"1F55C\",\"name\":\"CLOCK FACE ONE-THIRTY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF55C\"},128349:{\"value\":\"1F55D\",\"name\":\"CLOCK FACE TWO-THIRTY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF55D\"},128350:{\"value\":\"1F55E\",\"name\":\"CLOCK FACE THREE-THIRTY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF55E\"},128351:{\"value\":\"1F55F\",\"name\":\"CLOCK FACE FOUR-THIRTY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF55F\"},128352:{\"value\":\"1F560\",\"name\":\"CLOCK FACE FIVE-THIRTY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF560\"},128353:{\"value\":\"1F561\",\"name\":\"CLOCK FACE SIX-THIRTY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF561\"},128354:{\"value\":\"1F562\",\"name\":\"CLOCK FACE SEVEN-THIRTY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF562\"},128355:{\"value\":\"1F563\",\"name\":\"CLOCK FACE EIGHT-THIRTY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF563\"},128356:{\"value\":\"1F564\",\"name\":\"CLOCK FACE NINE-THIRTY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF564\"},128357:{\"value\":\"1F565\",\"name\":\"CLOCK FACE TEN-THIRTY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF565\"},128358:{\"value\":\"1F566\",\"name\":\"CLOCK FACE ELEVEN-THIRTY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF566\"},128359:{\"value\":\"1F567\",\"name\":\"CLOCK FACE TWELVE-THIRTY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF567\"},128360:{\"value\":\"1F568\",\"name\":\"RIGHT SPEAKER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF568\"},128361:{\"value\":\"1F569\",\"name\":\"RIGHT SPEAKER WITH ONE SOUND WAVE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF569\"},128362:{\"value\":\"1F56A\",\"name\":\"RIGHT SPEAKER WITH THREE SOUND WAVES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF56A\"},128363:{\"value\":\"1F56B\",\"name\":\"BULLHORN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF56B\"},128364:{\"value\":\"1F56C\",\"name\":\"BULLHORN WITH SOUND WAVES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF56C\"},128365:{\"value\":\"1F56D\",\"name\":\"RINGING BELL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF56D\"},128366:{\"value\":\"1F56E\",\"name\":\"BOOK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF56E\"},128367:{\"value\":\"1F56F\",\"name\":\"CANDLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF56F\"},128368:{\"value\":\"1F570\",\"name\":\"MANTELPIECE CLOCK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF570\"},128369:{\"value\":\"1F571\",\"name\":\"BLACK SKULL AND CROSSBONES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF571\"},128370:{\"value\":\"1F572\",\"name\":\"NO PIRACY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF572\"},128371:{\"value\":\"1F573\",\"name\":\"HOLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF573\"},128372:{\"value\":\"1F574\",\"name\":\"MAN IN BUSINESS SUIT LEVITATING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF574\"},128373:{\"value\":\"1F575\",\"name\":\"SLEUTH OR SPY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF575\"},128374:{\"value\":\"1F576\",\"name\":\"DARK SUNGLASSES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF576\"},128375:{\"value\":\"1F577\",\"name\":\"SPIDER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF577\"},128376:{\"value\":\"1F578\",\"name\":\"SPIDER WEB\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF578\"},128377:{\"value\":\"1F579\",\"name\":\"JOYSTICK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF579\"},128378:{\"value\":\"1F57A\",\"name\":\"MAN DANCING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF57A\"},128379:{\"value\":\"1F57B\",\"name\":\"LEFT HAND TELEPHONE RECEIVER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF57B\"},128380:{\"value\":\"1F57C\",\"name\":\"TELEPHONE RECEIVER WITH PAGE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF57C\"},128381:{\"value\":\"1F57D\",\"name\":\"RIGHT HAND TELEPHONE RECEIVER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF57D\"},128382:{\"value\":\"1F57E\",\"name\":\"WHITE TOUCHTONE TELEPHONE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF57E\"},128383:{\"value\":\"1F57F\",\"name\":\"BLACK TOUCHTONE TELEPHONE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF57F\"},128384:{\"value\":\"1F580\",\"name\":\"TELEPHONE ON TOP OF MODEM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF580\"},128385:{\"value\":\"1F581\",\"name\":\"CLAMSHELL MOBILE PHONE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF581\"},128386:{\"value\":\"1F582\",\"name\":\"BACK OF ENVELOPE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF582\"},128387:{\"value\":\"1F583\",\"name\":\"STAMPED ENVELOPE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF583\"},128388:{\"value\":\"1F584\",\"name\":\"ENVELOPE WITH LIGHTNING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF584\"},128389:{\"value\":\"1F585\",\"name\":\"FLYING ENVELOPE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF585\"},128390:{\"value\":\"1F586\",\"name\":\"PEN OVER STAMPED ENVELOPE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF586\"},128391:{\"value\":\"1F587\",\"name\":\"LINKED PAPERCLIPS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF587\"},128392:{\"value\":\"1F588\",\"name\":\"BLACK PUSHPIN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF588\"},128393:{\"value\":\"1F589\",\"name\":\"LOWER LEFT PENCIL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF589\"},128394:{\"value\":\"1F58A\",\"name\":\"LOWER LEFT BALLPOINT PEN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF58A\"},128395:{\"value\":\"1F58B\",\"name\":\"LOWER LEFT FOUNTAIN PEN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF58B\"},128396:{\"value\":\"1F58C\",\"name\":\"LOWER LEFT PAINTBRUSH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF58C\"},128397:{\"value\":\"1F58D\",\"name\":\"LOWER LEFT CRAYON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF58D\"},128398:{\"value\":\"1F58E\",\"name\":\"LEFT WRITING HAND\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF58E\"},128399:{\"value\":\"1F58F\",\"name\":\"TURNED OK HAND SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF58F\"},128400:{\"value\":\"1F590\",\"name\":\"RAISED HAND WITH FINGERS SPLAYED\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF590\"},128401:{\"value\":\"1F591\",\"name\":\"REVERSED RAISED HAND WITH FINGERS SPLAYED\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF591\"},128402:{\"value\":\"1F592\",\"name\":\"REVERSED THUMBS UP SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF592\"},128403:{\"value\":\"1F593\",\"name\":\"REVERSED THUMBS DOWN SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF593\"},128404:{\"value\":\"1F594\",\"name\":\"REVERSED VICTORY HAND\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF594\"},128405:{\"value\":\"1F595\",\"name\":\"REVERSED HAND WITH MIDDLE FINGER EXTENDED\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF595\"},128406:{\"value\":\"1F596\",\"name\":\"RAISED HAND WITH PART BETWEEN MIDDLE AND RING FINGERS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF596\"},128407:{\"value\":\"1F597\",\"name\":\"WHITE DOWN POINTING LEFT HAND INDEX\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF597\"},128408:{\"value\":\"1F598\",\"name\":\"SIDEWAYS WHITE LEFT POINTING INDEX\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF598\"},128409:{\"value\":\"1F599\",\"name\":\"SIDEWAYS WHITE RIGHT POINTING INDEX\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF599\"},128410:{\"value\":\"1F59A\",\"name\":\"SIDEWAYS BLACK LEFT POINTING INDEX\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF59A\"},128411:{\"value\":\"1F59B\",\"name\":\"SIDEWAYS BLACK RIGHT POINTING INDEX\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF59B\"},128412:{\"value\":\"1F59C\",\"name\":\"BLACK LEFT POINTING BACKHAND INDEX\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF59C\"},128413:{\"value\":\"1F59D\",\"name\":\"BLACK RIGHT POINTING BACKHAND INDEX\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF59D\"},128414:{\"value\":\"1F59E\",\"name\":\"SIDEWAYS WHITE UP POINTING INDEX\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF59E\"},128415:{\"value\":\"1F59F\",\"name\":\"SIDEWAYS WHITE DOWN POINTING INDEX\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF59F\"},128416:{\"value\":\"1F5A0\",\"name\":\"SIDEWAYS BLACK UP POINTING INDEX\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5A0\"},128417:{\"value\":\"1F5A1\",\"name\":\"SIDEWAYS BLACK DOWN POINTING INDEX\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5A1\"},128418:{\"value\":\"1F5A2\",\"name\":\"BLACK UP POINTING BACKHAND INDEX\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5A2\"},128419:{\"value\":\"1F5A3\",\"name\":\"BLACK DOWN POINTING BACKHAND INDEX\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5A3\"},128420:{\"value\":\"1F5A4\",\"name\":\"BLACK HEART\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5A4\"},128421:{\"value\":\"1F5A5\",\"name\":\"DESKTOP COMPUTER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5A5\"},128422:{\"value\":\"1F5A6\",\"name\":\"KEYBOARD AND MOUSE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5A6\"},128423:{\"value\":\"1F5A7\",\"name\":\"THREE NETWORKED COMPUTERS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5A7\"},128424:{\"value\":\"1F5A8\",\"name\":\"PRINTER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5A8\"},128425:{\"value\":\"1F5A9\",\"name\":\"POCKET CALCULATOR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5A9\"},128426:{\"value\":\"1F5AA\",\"name\":\"BLACK HARD SHELL FLOPPY DISK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5AA\"},128427:{\"value\":\"1F5AB\",\"name\":\"WHITE HARD SHELL FLOPPY DISK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5AB\"},128428:{\"value\":\"1F5AC\",\"name\":\"SOFT SHELL FLOPPY DISK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5AC\"},128429:{\"value\":\"1F5AD\",\"name\":\"TAPE CARTRIDGE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5AD\"},128430:{\"value\":\"1F5AE\",\"name\":\"WIRED KEYBOARD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5AE\"},128431:{\"value\":\"1F5AF\",\"name\":\"ONE BUTTON MOUSE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5AF\"},128432:{\"value\":\"1F5B0\",\"name\":\"TWO BUTTON MOUSE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5B0\"},128433:{\"value\":\"1F5B1\",\"name\":\"THREE BUTTON MOUSE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5B1\"},128434:{\"value\":\"1F5B2\",\"name\":\"TRACKBALL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5B2\"},128435:{\"value\":\"1F5B3\",\"name\":\"OLD PERSONAL COMPUTER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5B3\"},128436:{\"value\":\"1F5B4\",\"name\":\"HARD DISK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5B4\"},128437:{\"value\":\"1F5B5\",\"name\":\"SCREEN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5B5\"},128438:{\"value\":\"1F5B6\",\"name\":\"PRINTER ICON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5B6\"},128439:{\"value\":\"1F5B7\",\"name\":\"FAX ICON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5B7\"},128440:{\"value\":\"1F5B8\",\"name\":\"OPTICAL DISC ICON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5B8\"},128441:{\"value\":\"1F5B9\",\"name\":\"DOCUMENT WITH TEXT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5B9\"},128442:{\"value\":\"1F5BA\",\"name\":\"DOCUMENT WITH TEXT AND PICTURE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5BA\"},128443:{\"value\":\"1F5BB\",\"name\":\"DOCUMENT WITH PICTURE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5BB\"},128444:{\"value\":\"1F5BC\",\"name\":\"FRAME WITH PICTURE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5BC\"},128445:{\"value\":\"1F5BD\",\"name\":\"FRAME WITH TILES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5BD\"},128446:{\"value\":\"1F5BE\",\"name\":\"FRAME WITH AN X\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5BE\"},128447:{\"value\":\"1F5BF\",\"name\":\"BLACK FOLDER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5BF\"},128448:{\"value\":\"1F5C0\",\"name\":\"FOLDER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5C0\"},128449:{\"value\":\"1F5C1\",\"name\":\"OPEN FOLDER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5C1\"},128450:{\"value\":\"1F5C2\",\"name\":\"CARD INDEX DIVIDERS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5C2\"},128451:{\"value\":\"1F5C3\",\"name\":\"CARD FILE BOX\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5C3\"},128452:{\"value\":\"1F5C4\",\"name\":\"FILE CABINET\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5C4\"},128453:{\"value\":\"1F5C5\",\"name\":\"EMPTY NOTE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5C5\"},128454:{\"value\":\"1F5C6\",\"name\":\"EMPTY NOTE PAGE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5C6\"},128455:{\"value\":\"1F5C7\",\"name\":\"EMPTY NOTE PAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5C7\"},128456:{\"value\":\"1F5C8\",\"name\":\"NOTE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5C8\"},128457:{\"value\":\"1F5C9\",\"name\":\"NOTE PAGE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5C9\"},128458:{\"value\":\"1F5CA\",\"name\":\"NOTE PAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5CA\"},128459:{\"value\":\"1F5CB\",\"name\":\"EMPTY DOCUMENT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5CB\"},128460:{\"value\":\"1F5CC\",\"name\":\"EMPTY PAGE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5CC\"},128461:{\"value\":\"1F5CD\",\"name\":\"EMPTY PAGES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5CD\"},128462:{\"value\":\"1F5CE\",\"name\":\"DOCUMENT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5CE\"},128463:{\"value\":\"1F5CF\",\"name\":\"PAGE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5CF\"},128464:{\"value\":\"1F5D0\",\"name\":\"PAGES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5D0\"},128465:{\"value\":\"1F5D1\",\"name\":\"WASTEBASKET\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5D1\"},128466:{\"value\":\"1F5D2\",\"name\":\"SPIRAL NOTE PAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5D2\"},128467:{\"value\":\"1F5D3\",\"name\":\"SPIRAL CALENDAR PAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5D3\"},128468:{\"value\":\"1F5D4\",\"name\":\"DESKTOP WINDOW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5D4\"},128469:{\"value\":\"1F5D5\",\"name\":\"MINIMIZE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5D5\"},128470:{\"value\":\"1F5D6\",\"name\":\"MAXIMIZE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5D6\"},128471:{\"value\":\"1F5D7\",\"name\":\"OVERLAP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5D7\"},128472:{\"value\":\"1F5D8\",\"name\":\"CLOCKWISE RIGHT AND LEFT SEMICIRCLE ARROWS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5D8\"},128473:{\"value\":\"1F5D9\",\"name\":\"CANCELLATION X\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5D9\"},128474:{\"value\":\"1F5DA\",\"name\":\"INCREASE FONT SIZE SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5DA\"},128475:{\"value\":\"1F5DB\",\"name\":\"DECREASE FONT SIZE SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5DB\"},128476:{\"value\":\"1F5DC\",\"name\":\"COMPRESSION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5DC\"},128477:{\"value\":\"1F5DD\",\"name\":\"OLD KEY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5DD\"},128478:{\"value\":\"1F5DE\",\"name\":\"ROLLED-UP NEWSPAPER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5DE\"},128479:{\"value\":\"1F5DF\",\"name\":\"PAGE WITH CIRCLED TEXT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5DF\"},128480:{\"value\":\"1F5E0\",\"name\":\"STOCK CHART\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5E0\"},128481:{\"value\":\"1F5E1\",\"name\":\"DAGGER KNIFE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5E1\"},128482:{\"value\":\"1F5E2\",\"name\":\"LIPS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5E2\"},128483:{\"value\":\"1F5E3\",\"name\":\"SPEAKING HEAD IN SILHOUETTE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5E3\"},128484:{\"value\":\"1F5E4\",\"name\":\"THREE RAYS ABOVE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5E4\"},128485:{\"value\":\"1F5E5\",\"name\":\"THREE RAYS BELOW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5E5\"},128486:{\"value\":\"1F5E6\",\"name\":\"THREE RAYS LEFT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5E6\"},128487:{\"value\":\"1F5E7\",\"name\":\"THREE RAYS RIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5E7\"},128488:{\"value\":\"1F5E8\",\"name\":\"LEFT SPEECH BUBBLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5E8\"},128489:{\"value\":\"1F5E9\",\"name\":\"RIGHT SPEECH BUBBLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5E9\"},128490:{\"value\":\"1F5EA\",\"name\":\"TWO SPEECH BUBBLES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5EA\"},128491:{\"value\":\"1F5EB\",\"name\":\"THREE SPEECH BUBBLES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5EB\"},128492:{\"value\":\"1F5EC\",\"name\":\"LEFT THOUGHT BUBBLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5EC\"},128493:{\"value\":\"1F5ED\",\"name\":\"RIGHT THOUGHT BUBBLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5ED\"},128494:{\"value\":\"1F5EE\",\"name\":\"LEFT ANGER BUBBLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5EE\"},128495:{\"value\":\"1F5EF\",\"name\":\"RIGHT ANGER BUBBLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5EF\"},128496:{\"value\":\"1F5F0\",\"name\":\"MOOD BUBBLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5F0\"},128497:{\"value\":\"1F5F1\",\"name\":\"LIGHTNING MOOD BUBBLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5F1\"},128498:{\"value\":\"1F5F2\",\"name\":\"LIGHTNING MOOD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5F2\"},128499:{\"value\":\"1F5F3\",\"name\":\"BALLOT BOX WITH BALLOT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5F3\"},128500:{\"value\":\"1F5F4\",\"name\":\"BALLOT SCRIPT X\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5F4\"},128501:{\"value\":\"1F5F5\",\"name\":\"BALLOT BOX WITH SCRIPT X\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5F5\"},128502:{\"value\":\"1F5F6\",\"name\":\"BALLOT BOLD SCRIPT X\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5F6\"},128503:{\"value\":\"1F5F7\",\"name\":\"BALLOT BOX WITH BOLD SCRIPT X\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5F7\"},128504:{\"value\":\"1F5F8\",\"name\":\"LIGHT CHECK MARK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5F8\"},128505:{\"value\":\"1F5F9\",\"name\":\"BALLOT BOX WITH BOLD CHECK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5F9\"},128506:{\"value\":\"1F5FA\",\"name\":\"WORLD MAP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5FA\"},128507:{\"value\":\"1F5FB\",\"name\":\"MOUNT FUJI\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5FB\"},128508:{\"value\":\"1F5FC\",\"name\":\"TOKYO TOWER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5FC\"},128509:{\"value\":\"1F5FD\",\"name\":\"STATUE OF LIBERTY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5FD\"},128510:{\"value\":\"1F5FE\",\"name\":\"SILHOUETTE OF JAPAN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5FE\"},128511:{\"value\":\"1F5FF\",\"name\":\"MOYAI\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5FF\"},128512:{\"value\":\"1F600\",\"name\":\"GRINNING FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF600\"},128513:{\"value\":\"1F601\",\"name\":\"GRINNING FACE WITH SMILING EYES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF601\"},128514:{\"value\":\"1F602\",\"name\":\"FACE WITH TEARS OF JOY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF602\"},128515:{\"value\":\"1F603\",\"name\":\"SMILING FACE WITH OPEN MOUTH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF603\"},128516:{\"value\":\"1F604\",\"name\":\"SMILING FACE WITH OPEN MOUTH AND SMILING EYES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF604\"},128517:{\"value\":\"1F605\",\"name\":\"SMILING FACE WITH OPEN MOUTH AND COLD SWEAT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF605\"},128518:{\"value\":\"1F606\",\"name\":\"SMILING FACE WITH OPEN MOUTH AND TIGHTLY-CLOSED EYES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF606\"},128519:{\"value\":\"1F607\",\"name\":\"SMILING FACE WITH HALO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF607\"},128520:{\"value\":\"1F608\",\"name\":\"SMILING FACE WITH HORNS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF608\"},128521:{\"value\":\"1F609\",\"name\":\"WINKING FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF609\"},128522:{\"value\":\"1F60A\",\"name\":\"SMILING FACE WITH SMILING EYES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF60A\"},128523:{\"value\":\"1F60B\",\"name\":\"FACE SAVOURING DELICIOUS FOOD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF60B\"},128524:{\"value\":\"1F60C\",\"name\":\"RELIEVED FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF60C\"},128525:{\"value\":\"1F60D\",\"name\":\"SMILING FACE WITH HEART-SHAPED EYES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF60D\"},128526:{\"value\":\"1F60E\",\"name\":\"SMILING FACE WITH SUNGLASSES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF60E\"},128527:{\"value\":\"1F60F\",\"name\":\"SMIRKING FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF60F\"},128528:{\"value\":\"1F610\",\"name\":\"NEUTRAL FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF610\"},128529:{\"value\":\"1F611\",\"name\":\"EXPRESSIONLESS FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF611\"},128530:{\"value\":\"1F612\",\"name\":\"UNAMUSED FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF612\"},128531:{\"value\":\"1F613\",\"name\":\"FACE WITH COLD SWEAT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF613\"},128532:{\"value\":\"1F614\",\"name\":\"PENSIVE FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF614\"},128533:{\"value\":\"1F615\",\"name\":\"CONFUSED FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF615\"},128534:{\"value\":\"1F616\",\"name\":\"CONFOUNDED FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF616\"},128535:{\"value\":\"1F617\",\"name\":\"KISSING FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF617\"},128536:{\"value\":\"1F618\",\"name\":\"FACE THROWING A KISS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF618\"},128537:{\"value\":\"1F619\",\"name\":\"KISSING FACE WITH SMILING EYES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF619\"},128538:{\"value\":\"1F61A\",\"name\":\"KISSING FACE WITH CLOSED EYES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF61A\"},128539:{\"value\":\"1F61B\",\"name\":\"FACE WITH STUCK-OUT TONGUE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF61B\"},128540:{\"value\":\"1F61C\",\"name\":\"FACE WITH STUCK-OUT TONGUE AND WINKING EYE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF61C\"},128541:{\"value\":\"1F61D\",\"name\":\"FACE WITH STUCK-OUT TONGUE AND TIGHTLY-CLOSED EYES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF61D\"},128542:{\"value\":\"1F61E\",\"name\":\"DISAPPOINTED FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF61E\"},128543:{\"value\":\"1F61F\",\"name\":\"WORRIED FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF61F\"},128544:{\"value\":\"1F620\",\"name\":\"ANGRY FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF620\"},128545:{\"value\":\"1F621\",\"name\":\"POUTING FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF621\"},128546:{\"value\":\"1F622\",\"name\":\"CRYING FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF622\"},128547:{\"value\":\"1F623\",\"name\":\"PERSEVERING FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF623\"},128548:{\"value\":\"1F624\",\"name\":\"FACE WITH LOOK OF TRIUMPH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF624\"},128549:{\"value\":\"1F625\",\"name\":\"DISAPPOINTED BUT RELIEVED FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF625\"},128550:{\"value\":\"1F626\",\"name\":\"FROWNING FACE WITH OPEN MOUTH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF626\"},128551:{\"value\":\"1F627\",\"name\":\"ANGUISHED FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF627\"},128552:{\"value\":\"1F628\",\"name\":\"FEARFUL FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF628\"},128553:{\"value\":\"1F629\",\"name\":\"WEARY FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF629\"},128554:{\"value\":\"1F62A\",\"name\":\"SLEEPY FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF62A\"},128555:{\"value\":\"1F62B\",\"name\":\"TIRED FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF62B\"},128556:{\"value\":\"1F62C\",\"name\":\"GRIMACING FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF62C\"},128557:{\"value\":\"1F62D\",\"name\":\"LOUDLY CRYING FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF62D\"},128558:{\"value\":\"1F62E\",\"name\":\"FACE WITH OPEN MOUTH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF62E\"},128559:{\"value\":\"1F62F\",\"name\":\"HUSHED FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF62F\"},128560:{\"value\":\"1F630\",\"name\":\"FACE WITH OPEN MOUTH AND COLD SWEAT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF630\"},128561:{\"value\":\"1F631\",\"name\":\"FACE SCREAMING IN FEAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF631\"},128562:{\"value\":\"1F632\",\"name\":\"ASTONISHED FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF632\"},128563:{\"value\":\"1F633\",\"name\":\"FLUSHED FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF633\"},128564:{\"value\":\"1F634\",\"name\":\"SLEEPING FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF634\"},128565:{\"value\":\"1F635\",\"name\":\"DIZZY FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF635\"},128566:{\"value\":\"1F636\",\"name\":\"FACE WITHOUT MOUTH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF636\"},128567:{\"value\":\"1F637\",\"name\":\"FACE WITH MEDICAL MASK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF637\"},128568:{\"value\":\"1F638\",\"name\":\"GRINNING CAT FACE WITH SMILING EYES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF638\"},128569:{\"value\":\"1F639\",\"name\":\"CAT FACE WITH TEARS OF JOY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF639\"},128570:{\"value\":\"1F63A\",\"name\":\"SMILING CAT FACE WITH OPEN MOUTH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF63A\"},128571:{\"value\":\"1F63B\",\"name\":\"SMILING CAT FACE WITH HEART-SHAPED EYES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF63B\"},128572:{\"value\":\"1F63C\",\"name\":\"CAT FACE WITH WRY SMILE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF63C\"},128573:{\"value\":\"1F63D\",\"name\":\"KISSING CAT FACE WITH CLOSED EYES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF63D\"},128574:{\"value\":\"1F63E\",\"name\":\"POUTING CAT FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF63E\"},128575:{\"value\":\"1F63F\",\"name\":\"CRYING CAT FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF63F\"},128576:{\"value\":\"1F640\",\"name\":\"WEARY CAT FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF640\"},128577:{\"value\":\"1F641\",\"name\":\"SLIGHTLY FROWNING FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF641\"},128578:{\"value\":\"1F642\",\"name\":\"SLIGHTLY SMILING FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF642\"},128579:{\"value\":\"1F643\",\"name\":\"UPSIDE-DOWN FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF643\"},128580:{\"value\":\"1F644\",\"name\":\"FACE WITH ROLLING EYES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF644\"},128581:{\"value\":\"1F645\",\"name\":\"FACE WITH NO GOOD GESTURE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF645\"},128582:{\"value\":\"1F646\",\"name\":\"FACE WITH OK GESTURE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF646\"},128583:{\"value\":\"1F647\",\"name\":\"PERSON BOWING DEEPLY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF647\"},128584:{\"value\":\"1F648\",\"name\":\"SEE-NO-EVIL MONKEY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF648\"},128585:{\"value\":\"1F649\",\"name\":\"HEAR-NO-EVIL MONKEY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF649\"},128586:{\"value\":\"1F64A\",\"name\":\"SPEAK-NO-EVIL MONKEY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF64A\"},128587:{\"value\":\"1F64B\",\"name\":\"HAPPY PERSON RAISING ONE HAND\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF64B\"},128588:{\"value\":\"1F64C\",\"name\":\"PERSON RAISING BOTH HANDS IN CELEBRATION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF64C\"},128589:{\"value\":\"1F64D\",\"name\":\"PERSON FROWNING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF64D\"},128590:{\"value\":\"1F64E\",\"name\":\"PERSON WITH POUTING FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF64E\"},128591:{\"value\":\"1F64F\",\"name\":\"PERSON WITH FOLDED HANDS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF64F\"},128592:{\"value\":\"1F650\",\"name\":\"NORTH WEST POINTING LEAF\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF650\"},128593:{\"value\":\"1F651\",\"name\":\"SOUTH WEST POINTING LEAF\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF651\"},128594:{\"value\":\"1F652\",\"name\":\"NORTH EAST POINTING LEAF\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF652\"},128595:{\"value\":\"1F653\",\"name\":\"SOUTH EAST POINTING LEAF\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF653\"},128596:{\"value\":\"1F654\",\"name\":\"TURNED NORTH WEST POINTING LEAF\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF654\"},128597:{\"value\":\"1F655\",\"name\":\"TURNED SOUTH WEST POINTING LEAF\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF655\"},128598:{\"value\":\"1F656\",\"name\":\"TURNED NORTH EAST POINTING LEAF\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF656\"},128599:{\"value\":\"1F657\",\"name\":\"TURNED SOUTH EAST POINTING LEAF\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF657\"},128600:{\"value\":\"1F658\",\"name\":\"NORTH WEST POINTING VINE LEAF\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF658\"},128601:{\"value\":\"1F659\",\"name\":\"SOUTH WEST POINTING VINE LEAF\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF659\"},128602:{\"value\":\"1F65A\",\"name\":\"NORTH EAST POINTING VINE LEAF\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF65A\"},128603:{\"value\":\"1F65B\",\"name\":\"SOUTH EAST POINTING VINE LEAF\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF65B\"},128604:{\"value\":\"1F65C\",\"name\":\"HEAVY NORTH WEST POINTING VINE LEAF\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF65C\"},128605:{\"value\":\"1F65D\",\"name\":\"HEAVY SOUTH WEST POINTING VINE LEAF\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF65D\"},128606:{\"value\":\"1F65E\",\"name\":\"HEAVY NORTH EAST POINTING VINE LEAF\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF65E\"},128607:{\"value\":\"1F65F\",\"name\":\"HEAVY SOUTH EAST POINTING VINE LEAF\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF65F\"},128608:{\"value\":\"1F660\",\"name\":\"NORTH WEST POINTING BUD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF660\"},128609:{\"value\":\"1F661\",\"name\":\"SOUTH WEST POINTING BUD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF661\"},128610:{\"value\":\"1F662\",\"name\":\"NORTH EAST POINTING BUD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF662\"},128611:{\"value\":\"1F663\",\"name\":\"SOUTH EAST POINTING BUD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF663\"},128612:{\"value\":\"1F664\",\"name\":\"HEAVY NORTH WEST POINTING BUD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF664\"},128613:{\"value\":\"1F665\",\"name\":\"HEAVY SOUTH WEST POINTING BUD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF665\"},128614:{\"value\":\"1F666\",\"name\":\"HEAVY NORTH EAST POINTING BUD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF666\"},128615:{\"value\":\"1F667\",\"name\":\"HEAVY SOUTH EAST POINTING BUD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF667\"},128616:{\"value\":\"1F668\",\"name\":\"HOLLOW QUILT SQUARE ORNAMENT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF668\"},128617:{\"value\":\"1F669\",\"name\":\"HOLLOW QUILT SQUARE ORNAMENT IN BLACK SQUARE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF669\"},128618:{\"value\":\"1F66A\",\"name\":\"SOLID QUILT SQUARE ORNAMENT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF66A\"},128619:{\"value\":\"1F66B\",\"name\":\"SOLID QUILT SQUARE ORNAMENT IN BLACK SQUARE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF66B\"},128620:{\"value\":\"1F66C\",\"name\":\"LEFTWARDS ROCKET\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF66C\"},128621:{\"value\":\"1F66D\",\"name\":\"UPWARDS ROCKET\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF66D\"},128622:{\"value\":\"1F66E\",\"name\":\"RIGHTWARDS ROCKET\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF66E\"},128623:{\"value\":\"1F66F\",\"name\":\"DOWNWARDS ROCKET\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF66F\"},128624:{\"value\":\"1F670\",\"name\":\"SCRIPT LIGATURE ET ORNAMENT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF670\"},128625:{\"value\":\"1F671\",\"name\":\"HEAVY SCRIPT LIGATURE ET ORNAMENT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF671\"},128626:{\"value\":\"1F672\",\"name\":\"LIGATURE OPEN ET ORNAMENT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF672\"},128627:{\"value\":\"1F673\",\"name\":\"HEAVY LIGATURE OPEN ET ORNAMENT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF673\"},128628:{\"value\":\"1F674\",\"name\":\"HEAVY AMPERSAND ORNAMENT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF674\"},128629:{\"value\":\"1F675\",\"name\":\"SWASH AMPERSAND ORNAMENT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF675\"},128630:{\"value\":\"1F676\",\"name\":\"SANS-SERIF HEAVY DOUBLE TURNED COMMA QUOTATION MARK ORNAMENT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF676\"},128631:{\"value\":\"1F677\",\"name\":\"SANS-SERIF HEAVY DOUBLE COMMA QUOTATION MARK ORNAMENT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF677\"},128632:{\"value\":\"1F678\",\"name\":\"SANS-SERIF HEAVY LOW DOUBLE COMMA QUOTATION MARK ORNAMENT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF678\"},128633:{\"value\":\"1F679\",\"name\":\"HEAVY INTERROBANG ORNAMENT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF679\"},128634:{\"value\":\"1F67A\",\"name\":\"SANS-SERIF INTERROBANG ORNAMENT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF67A\"},128635:{\"value\":\"1F67B\",\"name\":\"HEAVY SANS-SERIF INTERROBANG ORNAMENT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF67B\"},128636:{\"value\":\"1F67C\",\"name\":\"VERY HEAVY SOLIDUS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF67C\"},128637:{\"value\":\"1F67D\",\"name\":\"VERY HEAVY REVERSE SOLIDUS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF67D\"},128638:{\"value\":\"1F67E\",\"name\":\"CHECKER BOARD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF67E\"},128639:{\"value\":\"1F67F\",\"name\":\"REVERSE CHECKER BOARD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF67F\"},128640:{\"value\":\"1F680\",\"name\":\"ROCKET\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF680\"},128641:{\"value\":\"1F681\",\"name\":\"HELICOPTER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF681\"},128642:{\"value\":\"1F682\",\"name\":\"STEAM LOCOMOTIVE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF682\"},128643:{\"value\":\"1F683\",\"name\":\"RAILWAY CAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF683\"},128644:{\"value\":\"1F684\",\"name\":\"HIGH-SPEED TRAIN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF684\"},128645:{\"value\":\"1F685\",\"name\":\"HIGH-SPEED TRAIN WITH BULLET NOSE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF685\"},128646:{\"value\":\"1F686\",\"name\":\"TRAIN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF686\"},128647:{\"value\":\"1F687\",\"name\":\"METRO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF687\"},128648:{\"value\":\"1F688\",\"name\":\"LIGHT RAIL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF688\"},128649:{\"value\":\"1F689\",\"name\":\"STATION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF689\"},128650:{\"value\":\"1F68A\",\"name\":\"TRAM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF68A\"},128651:{\"value\":\"1F68B\",\"name\":\"TRAM CAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF68B\"},128652:{\"value\":\"1F68C\",\"name\":\"BUS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF68C\"},128653:{\"value\":\"1F68D\",\"name\":\"ONCOMING BUS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF68D\"},128654:{\"value\":\"1F68E\",\"name\":\"TROLLEYBUS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF68E\"},128655:{\"value\":\"1F68F\",\"name\":\"BUS STOP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF68F\"},128656:{\"value\":\"1F690\",\"name\":\"MINIBUS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF690\"},128657:{\"value\":\"1F691\",\"name\":\"AMBULANCE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF691\"},128658:{\"value\":\"1F692\",\"name\":\"FIRE ENGINE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF692\"},128659:{\"value\":\"1F693\",\"name\":\"POLICE CAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF693\"},128660:{\"value\":\"1F694\",\"name\":\"ONCOMING POLICE CAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF694\"},128661:{\"value\":\"1F695\",\"name\":\"TAXI\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF695\"},128662:{\"value\":\"1F696\",\"name\":\"ONCOMING TAXI\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF696\"},128663:{\"value\":\"1F697\",\"name\":\"AUTOMOBILE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF697\"},128664:{\"value\":\"1F698\",\"name\":\"ONCOMING AUTOMOBILE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF698\"},128665:{\"value\":\"1F699\",\"name\":\"RECREATIONAL VEHICLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF699\"},128666:{\"value\":\"1F69A\",\"name\":\"DELIVERY TRUCK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF69A\"},128667:{\"value\":\"1F69B\",\"name\":\"ARTICULATED LORRY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF69B\"},128668:{\"value\":\"1F69C\",\"name\":\"TRACTOR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF69C\"},128669:{\"value\":\"1F69D\",\"name\":\"MONORAIL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF69D\"},128670:{\"value\":\"1F69E\",\"name\":\"MOUNTAIN RAILWAY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF69E\"},128671:{\"value\":\"1F69F\",\"name\":\"SUSPENSION RAILWAY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF69F\"},128672:{\"value\":\"1F6A0\",\"name\":\"MOUNTAIN CABLEWAY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF6A0\"},128673:{\"value\":\"1F6A1\",\"name\":\"AERIAL TRAMWAY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF6A1\"},128674:{\"value\":\"1F6A2\",\"name\":\"SHIP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF6A2\"},128675:{\"value\":\"1F6A3\",\"name\":\"ROWBOAT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF6A3\"},128676:{\"value\":\"1F6A4\",\"name\":\"SPEEDBOAT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF6A4\"},128677:{\"value\":\"1F6A5\",\"name\":\"HORIZONTAL TRAFFIC LIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF6A5\"},128678:{\"value\":\"1F6A6\",\"name\":\"VERTICAL TRAFFIC LIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF6A6\"},128679:{\"value\":\"1F6A7\",\"name\":\"CONSTRUCTION SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF6A7\"},128680:{\"value\":\"1F6A8\",\"name\":\"POLICE CARS REVOLVING LIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF6A8\"},128681:{\"value\":\"1F6A9\",\"name\":\"TRIANGULAR FLAG ON POST\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF6A9\"},128682:{\"value\":\"1F6AA\",\"name\":\"DOOR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF6AA\"},128683:{\"value\":\"1F6AB\",\"name\":\"NO ENTRY SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF6AB\"},128684:{\"value\":\"1F6AC\",\"name\":\"SMOKING SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF6AC\"},128685:{\"value\":\"1F6AD\",\"name\":\"NO SMOKING SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF6AD\"},128686:{\"value\":\"1F6AE\",\"name\":\"PUT LITTER IN ITS PLACE SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF6AE\"},128687:{\"value\":\"1F6AF\",\"name\":\"DO NOT LITTER SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF6AF\"},128688:{\"value\":\"1F6B0\",\"name\":\"POTABLE WATER SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF6B0\"},128689:{\"value\":\"1F6B1\",\"name\":\"NON-POTABLE WATER SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF6B1\"},128690:{\"value\":\"1F6B2\",\"name\":\"BICYCLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF6B2\"},128691:{\"value\":\"1F6B3\",\"name\":\"NO BICYCLES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF6B3\"},128692:{\"value\":\"1F6B4\",\"name\":\"BICYCLIST\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF6B4\"},128693:{\"value\":\"1F6B5\",\"name\":\"MOUNTAIN BICYCLIST\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF6B5\"},128694:{\"value\":\"1F6B6\",\"name\":\"PEDESTRIAN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF6B6\"},128695:{\"value\":\"1F6B7\",\"name\":\"NO PEDESTRIANS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF6B7\"},128696:{\"value\":\"1F6B8\",\"name\":\"CHILDREN CROSSING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF6B8\"},128697:{\"value\":\"1F6B9\",\"name\":\"MENS SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF6B9\"},128698:{\"value\":\"1F6BA\",\"name\":\"WOMENS SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF6BA\"},128699:{\"value\":\"1F6BB\",\"name\":\"RESTROOM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF6BB\"},128700:{\"value\":\"1F6BC\",\"name\":\"BABY SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF6BC\"},128701:{\"value\":\"1F6BD\",\"name\":\"TOILET\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF6BD\"},128702:{\"value\":\"1F6BE\",\"name\":\"WATER CLOSET\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF6BE\"},128703:{\"value\":\"1F6BF\",\"name\":\"SHOWER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF6BF\"},128704:{\"value\":\"1F6C0\",\"name\":\"BATH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF6C0\"},128705:{\"value\":\"1F6C1\",\"name\":\"BATHTUB\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF6C1\"},128706:{\"value\":\"1F6C2\",\"name\":\"PASSPORT CONTROL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF6C2\"},128707:{\"value\":\"1F6C3\",\"name\":\"CUSTOMS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF6C3\"},128708:{\"value\":\"1F6C4\",\"name\":\"BAGGAGE CLAIM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF6C4\"},128709:{\"value\":\"1F6C5\",\"name\":\"LEFT LUGGAGE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF6C5\"},128710:{\"value\":\"1F6C6\",\"name\":\"TRIANGLE WITH ROUNDED CORNERS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF6C6\"},128711:{\"value\":\"1F6C7\",\"name\":\"PROHIBITED SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF6C7\"},128712:{\"value\":\"1F6C8\",\"name\":\"CIRCLED INFORMATION SOURCE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF6C8\"},128713:{\"value\":\"1F6C9\",\"name\":\"BOYS SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF6C9\"},128714:{\"value\":\"1F6CA\",\"name\":\"GIRLS SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF6CA\"},128715:{\"value\":\"1F6CB\",\"name\":\"COUCH AND LAMP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF6CB\"},128716:{\"value\":\"1F6CC\",\"name\":\"SLEEPING ACCOMMODATION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF6CC\"},128717:{\"value\":\"1F6CD\",\"name\":\"SHOPPING BAGS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF6CD\"},128718:{\"value\":\"1F6CE\",\"name\":\"BELLHOP BELL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF6CE\"},128719:{\"value\":\"1F6CF\",\"name\":\"BED\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF6CF\"},128720:{\"value\":\"1F6D0\",\"name\":\"PLACE OF WORSHIP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF6D0\"},128721:{\"value\":\"1F6D1\",\"name\":\"OCTAGONAL SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF6D1\"},128722:{\"value\":\"1F6D2\",\"name\":\"SHOPPING TROLLEY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF6D2\"},128736:{\"value\":\"1F6E0\",\"name\":\"HAMMER AND WRENCH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF6E0\"},128737:{\"value\":\"1F6E1\",\"name\":\"SHIELD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF6E1\"},128738:{\"value\":\"1F6E2\",\"name\":\"OIL DRUM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF6E2\"},128739:{\"value\":\"1F6E3\",\"name\":\"MOTORWAY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF6E3\"},128740:{\"value\":\"1F6E4\",\"name\":\"RAILWAY TRACK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF6E4\"},128741:{\"value\":\"1F6E5\",\"name\":\"MOTOR BOAT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF6E5\"},128742:{\"value\":\"1F6E6\",\"name\":\"UP-POINTING MILITARY AIRPLANE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF6E6\"},128743:{\"value\":\"1F6E7\",\"name\":\"UP-POINTING AIRPLANE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF6E7\"},128744:{\"value\":\"1F6E8\",\"name\":\"UP-POINTING SMALL AIRPLANE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF6E8\"},128745:{\"value\":\"1F6E9\",\"name\":\"SMALL AIRPLANE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF6E9\"},128746:{\"value\":\"1F6EA\",\"name\":\"NORTHEAST-POINTING AIRPLANE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF6EA\"},128747:{\"value\":\"1F6EB\",\"name\":\"AIRPLANE DEPARTURE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF6EB\"},128748:{\"value\":\"1F6EC\",\"name\":\"AIRPLANE ARRIVING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF6EC\"},128752:{\"value\":\"1F6F0\",\"name\":\"SATELLITE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF6F0\"},128753:{\"value\":\"1F6F1\",\"name\":\"ONCOMING FIRE ENGINE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF6F1\"},128754:{\"value\":\"1F6F2\",\"name\":\"DIESEL LOCOMOTIVE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF6F2\"},128755:{\"value\":\"1F6F3\",\"name\":\"PASSENGER SHIP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF6F3\"},128756:{\"value\":\"1F6F4\",\"name\":\"SCOOTER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF6F4\"},128757:{\"value\":\"1F6F5\",\"name\":\"MOTOR SCOOTER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF6F5\"},128758:{\"value\":\"1F6F6\",\"name\":\"CANOE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF6F6\"},128768:{\"value\":\"1F700\",\"name\":\"ALCHEMICAL SYMBOL FOR QUINTESSENCE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF700\"},128769:{\"value\":\"1F701\",\"name\":\"ALCHEMICAL SYMBOL FOR AIR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF701\"},128770:{\"value\":\"1F702\",\"name\":\"ALCHEMICAL SYMBOL FOR FIRE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF702\"},128771:{\"value\":\"1F703\",\"name\":\"ALCHEMICAL SYMBOL FOR EARTH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF703\"},128772:{\"value\":\"1F704\",\"name\":\"ALCHEMICAL SYMBOL FOR WATER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF704\"},128773:{\"value\":\"1F705\",\"name\":\"ALCHEMICAL SYMBOL FOR AQUAFORTIS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF705\"},128774:{\"value\":\"1F706\",\"name\":\"ALCHEMICAL SYMBOL FOR AQUA REGIA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF706\"},128775:{\"value\":\"1F707\",\"name\":\"ALCHEMICAL SYMBOL FOR AQUA REGIA-2\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF707\"},128776:{\"value\":\"1F708\",\"name\":\"ALCHEMICAL SYMBOL FOR AQUA VITAE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF708\"},128777:{\"value\":\"1F709\",\"name\":\"ALCHEMICAL SYMBOL FOR AQUA VITAE-2\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF709\"},128778:{\"value\":\"1F70A\",\"name\":\"ALCHEMICAL SYMBOL FOR VINEGAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF70A\"},128779:{\"value\":\"1F70B\",\"name\":\"ALCHEMICAL SYMBOL FOR VINEGAR-2\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF70B\"},128780:{\"value\":\"1F70C\",\"name\":\"ALCHEMICAL SYMBOL FOR VINEGAR-3\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF70C\"},128781:{\"value\":\"1F70D\",\"name\":\"ALCHEMICAL SYMBOL FOR SULFUR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF70D\"},128782:{\"value\":\"1F70E\",\"name\":\"ALCHEMICAL SYMBOL FOR PHILOSOPHERS SULFUR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF70E\"},128783:{\"value\":\"1F70F\",\"name\":\"ALCHEMICAL SYMBOL FOR BLACK SULFUR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF70F\"},128784:{\"value\":\"1F710\",\"name\":\"ALCHEMICAL SYMBOL FOR MERCURY SUBLIMATE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF710\"},128785:{\"value\":\"1F711\",\"name\":\"ALCHEMICAL SYMBOL FOR MERCURY SUBLIMATE-2\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF711\"},128786:{\"value\":\"1F712\",\"name\":\"ALCHEMICAL SYMBOL FOR MERCURY SUBLIMATE-3\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF712\"},128787:{\"value\":\"1F713\",\"name\":\"ALCHEMICAL SYMBOL FOR CINNABAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF713\"},128788:{\"value\":\"1F714\",\"name\":\"ALCHEMICAL SYMBOL FOR SALT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF714\"},128789:{\"value\":\"1F715\",\"name\":\"ALCHEMICAL SYMBOL FOR NITRE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF715\"},128790:{\"value\":\"1F716\",\"name\":\"ALCHEMICAL SYMBOL FOR VITRIOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF716\"},128791:{\"value\":\"1F717\",\"name\":\"ALCHEMICAL SYMBOL FOR VITRIOL-2\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF717\"},128792:{\"value\":\"1F718\",\"name\":\"ALCHEMICAL SYMBOL FOR ROCK SALT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF718\"},128793:{\"value\":\"1F719\",\"name\":\"ALCHEMICAL SYMBOL FOR ROCK SALT-2\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF719\"},128794:{\"value\":\"1F71A\",\"name\":\"ALCHEMICAL SYMBOL FOR GOLD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF71A\"},128795:{\"value\":\"1F71B\",\"name\":\"ALCHEMICAL SYMBOL FOR SILVER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF71B\"},128796:{\"value\":\"1F71C\",\"name\":\"ALCHEMICAL SYMBOL FOR IRON ORE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF71C\"},128797:{\"value\":\"1F71D\",\"name\":\"ALCHEMICAL SYMBOL FOR IRON ORE-2\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF71D\"},128798:{\"value\":\"1F71E\",\"name\":\"ALCHEMICAL SYMBOL FOR CROCUS OF IRON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF71E\"},128799:{\"value\":\"1F71F\",\"name\":\"ALCHEMICAL SYMBOL FOR REGULUS OF IRON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF71F\"},128800:{\"value\":\"1F720\",\"name\":\"ALCHEMICAL SYMBOL FOR COPPER ORE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF720\"},128801:{\"value\":\"1F721\",\"name\":\"ALCHEMICAL SYMBOL FOR IRON-COPPER ORE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF721\"},128802:{\"value\":\"1F722\",\"name\":\"ALCHEMICAL SYMBOL FOR SUBLIMATE OF COPPER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF722\"},128803:{\"value\":\"1F723\",\"name\":\"ALCHEMICAL SYMBOL FOR CROCUS OF COPPER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF723\"},128804:{\"value\":\"1F724\",\"name\":\"ALCHEMICAL SYMBOL FOR CROCUS OF COPPER-2\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF724\"},128805:{\"value\":\"1F725\",\"name\":\"ALCHEMICAL SYMBOL FOR COPPER ANTIMONIATE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF725\"},128806:{\"value\":\"1F726\",\"name\":\"ALCHEMICAL SYMBOL FOR SALT OF COPPER ANTIMONIATE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF726\"},128807:{\"value\":\"1F727\",\"name\":\"ALCHEMICAL SYMBOL FOR SUBLIMATE OF SALT OF COPPER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF727\"},128808:{\"value\":\"1F728\",\"name\":\"ALCHEMICAL SYMBOL FOR VERDIGRIS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF728\"},128809:{\"value\":\"1F729\",\"name\":\"ALCHEMICAL SYMBOL FOR TIN ORE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF729\"},128810:{\"value\":\"1F72A\",\"name\":\"ALCHEMICAL SYMBOL FOR LEAD ORE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF72A\"},128811:{\"value\":\"1F72B\",\"name\":\"ALCHEMICAL SYMBOL FOR ANTIMONY ORE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF72B\"},128812:{\"value\":\"1F72C\",\"name\":\"ALCHEMICAL SYMBOL FOR SUBLIMATE OF ANTIMONY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF72C\"},128813:{\"value\":\"1F72D\",\"name\":\"ALCHEMICAL SYMBOL FOR SALT OF ANTIMONY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF72D\"},128814:{\"value\":\"1F72E\",\"name\":\"ALCHEMICAL SYMBOL FOR SUBLIMATE OF SALT OF ANTIMONY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF72E\"},128815:{\"value\":\"1F72F\",\"name\":\"ALCHEMICAL SYMBOL FOR VINEGAR OF ANTIMONY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF72F\"},128816:{\"value\":\"1F730\",\"name\":\"ALCHEMICAL SYMBOL FOR REGULUS OF ANTIMONY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF730\"},128817:{\"value\":\"1F731\",\"name\":\"ALCHEMICAL SYMBOL FOR REGULUS OF ANTIMONY-2\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF731\"},128818:{\"value\":\"1F732\",\"name\":\"ALCHEMICAL SYMBOL FOR REGULUS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF732\"},128819:{\"value\":\"1F733\",\"name\":\"ALCHEMICAL SYMBOL FOR REGULUS-2\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF733\"},128820:{\"value\":\"1F734\",\"name\":\"ALCHEMICAL SYMBOL FOR REGULUS-3\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF734\"},128821:{\"value\":\"1F735\",\"name\":\"ALCHEMICAL SYMBOL FOR REGULUS-4\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF735\"},128822:{\"value\":\"1F736\",\"name\":\"ALCHEMICAL SYMBOL FOR ALKALI\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF736\"},128823:{\"value\":\"1F737\",\"name\":\"ALCHEMICAL SYMBOL FOR ALKALI-2\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF737\"},128824:{\"value\":\"1F738\",\"name\":\"ALCHEMICAL SYMBOL FOR MARCASITE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF738\"},128825:{\"value\":\"1F739\",\"name\":\"ALCHEMICAL SYMBOL FOR SAL-AMMONIAC\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF739\"},128826:{\"value\":\"1F73A\",\"name\":\"ALCHEMICAL SYMBOL FOR ARSENIC\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF73A\"},128827:{\"value\":\"1F73B\",\"name\":\"ALCHEMICAL SYMBOL FOR REALGAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF73B\"},128828:{\"value\":\"1F73C\",\"name\":\"ALCHEMICAL SYMBOL FOR REALGAR-2\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF73C\"},128829:{\"value\":\"1F73D\",\"name\":\"ALCHEMICAL SYMBOL FOR AURIPIGMENT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF73D\"},128830:{\"value\":\"1F73E\",\"name\":\"ALCHEMICAL SYMBOL FOR BISMUTH ORE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF73E\"},128831:{\"value\":\"1F73F\",\"name\":\"ALCHEMICAL SYMBOL FOR TARTAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF73F\"},128832:{\"value\":\"1F740\",\"name\":\"ALCHEMICAL SYMBOL FOR TARTAR-2\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF740\"},128833:{\"value\":\"1F741\",\"name\":\"ALCHEMICAL SYMBOL FOR QUICK LIME\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF741\"},128834:{\"value\":\"1F742\",\"name\":\"ALCHEMICAL SYMBOL FOR BORAX\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF742\"},128835:{\"value\":\"1F743\",\"name\":\"ALCHEMICAL SYMBOL FOR BORAX-2\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF743\"},128836:{\"value\":\"1F744\",\"name\":\"ALCHEMICAL SYMBOL FOR BORAX-3\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF744\"},128837:{\"value\":\"1F745\",\"name\":\"ALCHEMICAL SYMBOL FOR ALUM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF745\"},128838:{\"value\":\"1F746\",\"name\":\"ALCHEMICAL SYMBOL FOR OIL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF746\"},128839:{\"value\":\"1F747\",\"name\":\"ALCHEMICAL SYMBOL FOR SPIRIT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF747\"},128840:{\"value\":\"1F748\",\"name\":\"ALCHEMICAL SYMBOL FOR TINCTURE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF748\"},128841:{\"value\":\"1F749\",\"name\":\"ALCHEMICAL SYMBOL FOR GUM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF749\"},128842:{\"value\":\"1F74A\",\"name\":\"ALCHEMICAL SYMBOL FOR WAX\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF74A\"},128843:{\"value\":\"1F74B\",\"name\":\"ALCHEMICAL SYMBOL FOR POWDER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF74B\"},128844:{\"value\":\"1F74C\",\"name\":\"ALCHEMICAL SYMBOL FOR CALX\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF74C\"},128845:{\"value\":\"1F74D\",\"name\":\"ALCHEMICAL SYMBOL FOR TUTTY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF74D\"},128846:{\"value\":\"1F74E\",\"name\":\"ALCHEMICAL SYMBOL FOR CAPUT MORTUUM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF74E\"},128847:{\"value\":\"1F74F\",\"name\":\"ALCHEMICAL SYMBOL FOR SCEPTER OF JOVE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF74F\"},128848:{\"value\":\"1F750\",\"name\":\"ALCHEMICAL SYMBOL FOR CADUCEUS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF750\"},128849:{\"value\":\"1F751\",\"name\":\"ALCHEMICAL SYMBOL FOR TRIDENT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF751\"},128850:{\"value\":\"1F752\",\"name\":\"ALCHEMICAL SYMBOL FOR STARRED TRIDENT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF752\"},128851:{\"value\":\"1F753\",\"name\":\"ALCHEMICAL SYMBOL FOR LODESTONE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF753\"},128852:{\"value\":\"1F754\",\"name\":\"ALCHEMICAL SYMBOL FOR SOAP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF754\"},128853:{\"value\":\"1F755\",\"name\":\"ALCHEMICAL SYMBOL FOR URINE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF755\"},128854:{\"value\":\"1F756\",\"name\":\"ALCHEMICAL SYMBOL FOR HORSE DUNG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF756\"},128855:{\"value\":\"1F757\",\"name\":\"ALCHEMICAL SYMBOL FOR ASHES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF757\"},128856:{\"value\":\"1F758\",\"name\":\"ALCHEMICAL SYMBOL FOR POT ASHES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF758\"},128857:{\"value\":\"1F759\",\"name\":\"ALCHEMICAL SYMBOL FOR BRICK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF759\"},128858:{\"value\":\"1F75A\",\"name\":\"ALCHEMICAL SYMBOL FOR POWDERED BRICK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF75A\"},128859:{\"value\":\"1F75B\",\"name\":\"ALCHEMICAL SYMBOL FOR AMALGAM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF75B\"},128860:{\"value\":\"1F75C\",\"name\":\"ALCHEMICAL SYMBOL FOR STRATUM SUPER STRATUM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF75C\"},128861:{\"value\":\"1F75D\",\"name\":\"ALCHEMICAL SYMBOL FOR STRATUM SUPER STRATUM-2\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF75D\"},128862:{\"value\":\"1F75E\",\"name\":\"ALCHEMICAL SYMBOL FOR SUBLIMATION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF75E\"},128863:{\"value\":\"1F75F\",\"name\":\"ALCHEMICAL SYMBOL FOR PRECIPITATE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF75F\"},128864:{\"value\":\"1F760\",\"name\":\"ALCHEMICAL SYMBOL FOR DISTILL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF760\"},128865:{\"value\":\"1F761\",\"name\":\"ALCHEMICAL SYMBOL FOR DISSOLVE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF761\"},128866:{\"value\":\"1F762\",\"name\":\"ALCHEMICAL SYMBOL FOR DISSOLVE-2\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF762\"},128867:{\"value\":\"1F763\",\"name\":\"ALCHEMICAL SYMBOL FOR PURIFY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF763\"},128868:{\"value\":\"1F764\",\"name\":\"ALCHEMICAL SYMBOL FOR PUTREFACTION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF764\"},128869:{\"value\":\"1F765\",\"name\":\"ALCHEMICAL SYMBOL FOR CRUCIBLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF765\"},128870:{\"value\":\"1F766\",\"name\":\"ALCHEMICAL SYMBOL FOR CRUCIBLE-2\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF766\"},128871:{\"value\":\"1F767\",\"name\":\"ALCHEMICAL SYMBOL FOR CRUCIBLE-3\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF767\"},128872:{\"value\":\"1F768\",\"name\":\"ALCHEMICAL SYMBOL FOR CRUCIBLE-4\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF768\"},128873:{\"value\":\"1F769\",\"name\":\"ALCHEMICAL SYMBOL FOR CRUCIBLE-5\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF769\"},128874:{\"value\":\"1F76A\",\"name\":\"ALCHEMICAL SYMBOL FOR ALEMBIC\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF76A\"},128875:{\"value\":\"1F76B\",\"name\":\"ALCHEMICAL SYMBOL FOR BATH OF MARY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF76B\"},128876:{\"value\":\"1F76C\",\"name\":\"ALCHEMICAL SYMBOL FOR BATH OF VAPOURS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF76C\"},128877:{\"value\":\"1F76D\",\"name\":\"ALCHEMICAL SYMBOL FOR RETORT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF76D\"},128878:{\"value\":\"1F76E\",\"name\":\"ALCHEMICAL SYMBOL FOR HOUR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF76E\"},128879:{\"value\":\"1F76F\",\"name\":\"ALCHEMICAL SYMBOL FOR NIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF76F\"},128880:{\"value\":\"1F770\",\"name\":\"ALCHEMICAL SYMBOL FOR DAY-NIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF770\"},128881:{\"value\":\"1F771\",\"name\":\"ALCHEMICAL SYMBOL FOR MONTH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF771\"},128882:{\"value\":\"1F772\",\"name\":\"ALCHEMICAL SYMBOL FOR HALF DRAM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF772\"},128883:{\"value\":\"1F773\",\"name\":\"ALCHEMICAL SYMBOL FOR HALF OUNCE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF773\"},128896:{\"value\":\"1F780\",\"name\":\"BLACK LEFT-POINTING ISOSCELES RIGHT TRIANGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF780\"},128897:{\"value\":\"1F781\",\"name\":\"BLACK UP-POINTING ISOSCELES RIGHT TRIANGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF781\"},128898:{\"value\":\"1F782\",\"name\":\"BLACK RIGHT-POINTING ISOSCELES RIGHT TRIANGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF782\"},128899:{\"value\":\"1F783\",\"name\":\"BLACK DOWN-POINTING ISOSCELES RIGHT TRIANGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF783\"},128900:{\"value\":\"1F784\",\"name\":\"BLACK SLIGHTLY SMALL CIRCLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF784\"},128901:{\"value\":\"1F785\",\"name\":\"MEDIUM BOLD WHITE CIRCLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF785\"},128902:{\"value\":\"1F786\",\"name\":\"BOLD WHITE CIRCLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF786\"},128903:{\"value\":\"1F787\",\"name\":\"HEAVY WHITE CIRCLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF787\"},128904:{\"value\":\"1F788\",\"name\":\"VERY HEAVY WHITE CIRCLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF788\"},128905:{\"value\":\"1F789\",\"name\":\"EXTREMELY HEAVY WHITE CIRCLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF789\"},128906:{\"value\":\"1F78A\",\"name\":\"WHITE CIRCLE CONTAINING BLACK SMALL CIRCLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF78A\"},128907:{\"value\":\"1F78B\",\"name\":\"ROUND TARGET\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF78B\"},128908:{\"value\":\"1F78C\",\"name\":\"BLACK TINY SQUARE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF78C\"},128909:{\"value\":\"1F78D\",\"name\":\"BLACK SLIGHTLY SMALL SQUARE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF78D\"},128910:{\"value\":\"1F78E\",\"name\":\"LIGHT WHITE SQUARE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF78E\"},128911:{\"value\":\"1F78F\",\"name\":\"MEDIUM WHITE SQUARE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF78F\"},128912:{\"value\":\"1F790\",\"name\":\"BOLD WHITE SQUARE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF790\"},128913:{\"value\":\"1F791\",\"name\":\"HEAVY WHITE SQUARE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF791\"},128914:{\"value\":\"1F792\",\"name\":\"VERY HEAVY WHITE SQUARE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF792\"},128915:{\"value\":\"1F793\",\"name\":\"EXTREMELY HEAVY WHITE SQUARE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF793\"},128916:{\"value\":\"1F794\",\"name\":\"WHITE SQUARE CONTAINING BLACK VERY SMALL SQUARE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF794\"},128917:{\"value\":\"1F795\",\"name\":\"WHITE SQUARE CONTAINING BLACK MEDIUM SQUARE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF795\"},128918:{\"value\":\"1F796\",\"name\":\"SQUARE TARGET\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF796\"},128919:{\"value\":\"1F797\",\"name\":\"BLACK TINY DIAMOND\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF797\"},128920:{\"value\":\"1F798\",\"name\":\"BLACK VERY SMALL DIAMOND\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF798\"},128921:{\"value\":\"1F799\",\"name\":\"BLACK MEDIUM SMALL DIAMOND\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF799\"},128922:{\"value\":\"1F79A\",\"name\":\"WHITE DIAMOND CONTAINING BLACK VERY SMALL DIAMOND\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF79A\"},128923:{\"value\":\"1F79B\",\"name\":\"WHITE DIAMOND CONTAINING BLACK MEDIUM DIAMOND\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF79B\"},128924:{\"value\":\"1F79C\",\"name\":\"DIAMOND TARGET\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF79C\"},128925:{\"value\":\"1F79D\",\"name\":\"BLACK TINY LOZENGE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF79D\"},128926:{\"value\":\"1F79E\",\"name\":\"BLACK VERY SMALL LOZENGE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF79E\"},128927:{\"value\":\"1F79F\",\"name\":\"BLACK MEDIUM SMALL LOZENGE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF79F\"},128928:{\"value\":\"1F7A0\",\"name\":\"WHITE LOZENGE CONTAINING BLACK SMALL LOZENGE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF7A0\"},128929:{\"value\":\"1F7A1\",\"name\":\"THIN GREEK CROSS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF7A1\"},128930:{\"value\":\"1F7A2\",\"name\":\"LIGHT GREEK CROSS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF7A2\"},128931:{\"value\":\"1F7A3\",\"name\":\"MEDIUM GREEK CROSS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF7A3\"},128932:{\"value\":\"1F7A4\",\"name\":\"BOLD GREEK CROSS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF7A4\"},128933:{\"value\":\"1F7A5\",\"name\":\"VERY BOLD GREEK CROSS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF7A5\"},128934:{\"value\":\"1F7A6\",\"name\":\"VERY HEAVY GREEK CROSS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF7A6\"},128935:{\"value\":\"1F7A7\",\"name\":\"EXTREMELY HEAVY GREEK CROSS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF7A7\"},128936:{\"value\":\"1F7A8\",\"name\":\"THIN SALTIRE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF7A8\"},128937:{\"value\":\"1F7A9\",\"name\":\"LIGHT SALTIRE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF7A9\"},128938:{\"value\":\"1F7AA\",\"name\":\"MEDIUM SALTIRE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF7AA\"},128939:{\"value\":\"1F7AB\",\"name\":\"BOLD SALTIRE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF7AB\"},128940:{\"value\":\"1F7AC\",\"name\":\"HEAVY SALTIRE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF7AC\"},128941:{\"value\":\"1F7AD\",\"name\":\"VERY HEAVY SALTIRE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF7AD\"},128942:{\"value\":\"1F7AE\",\"name\":\"EXTREMELY HEAVY SALTIRE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF7AE\"},128943:{\"value\":\"1F7AF\",\"name\":\"LIGHT FIVE SPOKED ASTERISK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF7AF\"},128944:{\"value\":\"1F7B0\",\"name\":\"MEDIUM FIVE SPOKED ASTERISK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF7B0\"},128945:{\"value\":\"1F7B1\",\"name\":\"BOLD FIVE SPOKED ASTERISK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF7B1\"},128946:{\"value\":\"1F7B2\",\"name\":\"HEAVY FIVE SPOKED ASTERISK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF7B2\"},128947:{\"value\":\"1F7B3\",\"name\":\"VERY HEAVY FIVE SPOKED ASTERISK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF7B3\"},128948:{\"value\":\"1F7B4\",\"name\":\"EXTREMELY HEAVY FIVE SPOKED ASTERISK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF7B4\"},128949:{\"value\":\"1F7B5\",\"name\":\"LIGHT SIX SPOKED ASTERISK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF7B5\"},128950:{\"value\":\"1F7B6\",\"name\":\"MEDIUM SIX SPOKED ASTERISK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF7B6\"},128951:{\"value\":\"1F7B7\",\"name\":\"BOLD SIX SPOKED ASTERISK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF7B7\"},128952:{\"value\":\"1F7B8\",\"name\":\"HEAVY SIX SPOKED ASTERISK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF7B8\"},128953:{\"value\":\"1F7B9\",\"name\":\"VERY HEAVY SIX SPOKED ASTERISK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF7B9\"},128954:{\"value\":\"1F7BA\",\"name\":\"EXTREMELY HEAVY SIX SPOKED ASTERISK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF7BA\"},128955:{\"value\":\"1F7BB\",\"name\":\"LIGHT EIGHT SPOKED ASTERISK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF7BB\"},128956:{\"value\":\"1F7BC\",\"name\":\"MEDIUM EIGHT SPOKED ASTERISK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF7BC\"},128957:{\"value\":\"1F7BD\",\"name\":\"BOLD EIGHT SPOKED ASTERISK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF7BD\"},128958:{\"value\":\"1F7BE\",\"name\":\"HEAVY EIGHT SPOKED ASTERISK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF7BE\"},128959:{\"value\":\"1F7BF\",\"name\":\"VERY HEAVY EIGHT SPOKED ASTERISK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF7BF\"},128960:{\"value\":\"1F7C0\",\"name\":\"LIGHT THREE POINTED BLACK STAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF7C0\"},128961:{\"value\":\"1F7C1\",\"name\":\"MEDIUM THREE POINTED BLACK STAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF7C1\"},128962:{\"value\":\"1F7C2\",\"name\":\"THREE POINTED BLACK STAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF7C2\"},128963:{\"value\":\"1F7C3\",\"name\":\"MEDIUM THREE POINTED PINWHEEL STAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF7C3\"},128964:{\"value\":\"1F7C4\",\"name\":\"LIGHT FOUR POINTED BLACK STAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF7C4\"},128965:{\"value\":\"1F7C5\",\"name\":\"MEDIUM FOUR POINTED BLACK STAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF7C5\"},128966:{\"value\":\"1F7C6\",\"name\":\"FOUR POINTED BLACK STAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF7C6\"},128967:{\"value\":\"1F7C7\",\"name\":\"MEDIUM FOUR POINTED PINWHEEL STAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF7C7\"},128968:{\"value\":\"1F7C8\",\"name\":\"REVERSE LIGHT FOUR POINTED PINWHEEL STAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF7C8\"},128969:{\"value\":\"1F7C9\",\"name\":\"LIGHT FIVE POINTED BLACK STAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF7C9\"},128970:{\"value\":\"1F7CA\",\"name\":\"HEAVY FIVE POINTED BLACK STAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF7CA\"},128971:{\"value\":\"1F7CB\",\"name\":\"MEDIUM SIX POINTED BLACK STAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF7CB\"},128972:{\"value\":\"1F7CC\",\"name\":\"HEAVY SIX POINTED BLACK STAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF7CC\"},128973:{\"value\":\"1F7CD\",\"name\":\"SIX POINTED PINWHEEL STAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF7CD\"},128974:{\"value\":\"1F7CE\",\"name\":\"MEDIUM EIGHT POINTED BLACK STAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF7CE\"},128975:{\"value\":\"1F7CF\",\"name\":\"HEAVY EIGHT POINTED BLACK STAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF7CF\"},128976:{\"value\":\"1F7D0\",\"name\":\"VERY HEAVY EIGHT POINTED BLACK STAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF7D0\"},128977:{\"value\":\"1F7D1\",\"name\":\"HEAVY EIGHT POINTED PINWHEEL STAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF7D1\"},128978:{\"value\":\"1F7D2\",\"name\":\"LIGHT TWELVE POINTED BLACK STAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF7D2\"},128979:{\"value\":\"1F7D3\",\"name\":\"HEAVY TWELVE POINTED BLACK STAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF7D3\"},128980:{\"value\":\"1F7D4\",\"name\":\"HEAVY TWELVE POINTED PINWHEEL STAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF7D4\"},129024:{\"value\":\"1F800\",\"name\":\"LEFTWARDS ARROW WITH SMALL TRIANGLE ARROWHEAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF800\"},129025:{\"value\":\"1F801\",\"name\":\"UPWARDS ARROW WITH SMALL TRIANGLE ARROWHEAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF801\"},129026:{\"value\":\"1F802\",\"name\":\"RIGHTWARDS ARROW WITH SMALL TRIANGLE ARROWHEAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF802\"},129027:{\"value\":\"1F803\",\"name\":\"DOWNWARDS ARROW WITH SMALL TRIANGLE ARROWHEAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF803\"},129028:{\"value\":\"1F804\",\"name\":\"LEFTWARDS ARROW WITH MEDIUM TRIANGLE ARROWHEAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF804\"},129029:{\"value\":\"1F805\",\"name\":\"UPWARDS ARROW WITH MEDIUM TRIANGLE ARROWHEAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF805\"},129030:{\"value\":\"1F806\",\"name\":\"RIGHTWARDS ARROW WITH MEDIUM TRIANGLE ARROWHEAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF806\"},129031:{\"value\":\"1F807\",\"name\":\"DOWNWARDS ARROW WITH MEDIUM TRIANGLE ARROWHEAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF807\"},129032:{\"value\":\"1F808\",\"name\":\"LEFTWARDS ARROW WITH LARGE TRIANGLE ARROWHEAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF808\"},129033:{\"value\":\"1F809\",\"name\":\"UPWARDS ARROW WITH LARGE TRIANGLE ARROWHEAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF809\"},129034:{\"value\":\"1F80A\",\"name\":\"RIGHTWARDS ARROW WITH LARGE TRIANGLE ARROWHEAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF80A\"},129035:{\"value\":\"1F80B\",\"name\":\"DOWNWARDS ARROW WITH LARGE TRIANGLE ARROWHEAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF80B\"},129040:{\"value\":\"1F810\",\"name\":\"LEFTWARDS ARROW WITH SMALL EQUILATERAL ARROWHEAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF810\"},129041:{\"value\":\"1F811\",\"name\":\"UPWARDS ARROW WITH SMALL EQUILATERAL ARROWHEAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF811\"},129042:{\"value\":\"1F812\",\"name\":\"RIGHTWARDS ARROW WITH SMALL EQUILATERAL ARROWHEAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF812\"},129043:{\"value\":\"1F813\",\"name\":\"DOWNWARDS ARROW WITH SMALL EQUILATERAL ARROWHEAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF813\"},129044:{\"value\":\"1F814\",\"name\":\"LEFTWARDS ARROW WITH EQUILATERAL ARROWHEAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF814\"},129045:{\"value\":\"1F815\",\"name\":\"UPWARDS ARROW WITH EQUILATERAL ARROWHEAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF815\"},129046:{\"value\":\"1F816\",\"name\":\"RIGHTWARDS ARROW WITH EQUILATERAL ARROWHEAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF816\"},129047:{\"value\":\"1F817\",\"name\":\"DOWNWARDS ARROW WITH EQUILATERAL ARROWHEAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF817\"},129048:{\"value\":\"1F818\",\"name\":\"HEAVY LEFTWARDS ARROW WITH EQUILATERAL ARROWHEAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF818\"},129049:{\"value\":\"1F819\",\"name\":\"HEAVY UPWARDS ARROW WITH EQUILATERAL ARROWHEAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF819\"},129050:{\"value\":\"1F81A\",\"name\":\"HEAVY RIGHTWARDS ARROW WITH EQUILATERAL ARROWHEAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF81A\"},129051:{\"value\":\"1F81B\",\"name\":\"HEAVY DOWNWARDS ARROW WITH EQUILATERAL ARROWHEAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF81B\"},129052:{\"value\":\"1F81C\",\"name\":\"HEAVY LEFTWARDS ARROW WITH LARGE EQUILATERAL ARROWHEAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF81C\"},129053:{\"value\":\"1F81D\",\"name\":\"HEAVY UPWARDS ARROW WITH LARGE EQUILATERAL ARROWHEAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF81D\"},129054:{\"value\":\"1F81E\",\"name\":\"HEAVY RIGHTWARDS ARROW WITH LARGE EQUILATERAL ARROWHEAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF81E\"},129055:{\"value\":\"1F81F\",\"name\":\"HEAVY DOWNWARDS ARROW WITH LARGE EQUILATERAL ARROWHEAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF81F\"},129056:{\"value\":\"1F820\",\"name\":\"LEFTWARDS TRIANGLE-HEADED ARROW WITH NARROW SHAFT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF820\"},129057:{\"value\":\"1F821\",\"name\":\"UPWARDS TRIANGLE-HEADED ARROW WITH NARROW SHAFT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF821\"},129058:{\"value\":\"1F822\",\"name\":\"RIGHTWARDS TRIANGLE-HEADED ARROW WITH NARROW SHAFT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF822\"},129059:{\"value\":\"1F823\",\"name\":\"DOWNWARDS TRIANGLE-HEADED ARROW WITH NARROW SHAFT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF823\"},129060:{\"value\":\"1F824\",\"name\":\"LEFTWARDS TRIANGLE-HEADED ARROW WITH MEDIUM SHAFT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF824\"},129061:{\"value\":\"1F825\",\"name\":\"UPWARDS TRIANGLE-HEADED ARROW WITH MEDIUM SHAFT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF825\"},129062:{\"value\":\"1F826\",\"name\":\"RIGHTWARDS TRIANGLE-HEADED ARROW WITH MEDIUM SHAFT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF826\"},129063:{\"value\":\"1F827\",\"name\":\"DOWNWARDS TRIANGLE-HEADED ARROW WITH MEDIUM SHAFT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF827\"},129064:{\"value\":\"1F828\",\"name\":\"LEFTWARDS TRIANGLE-HEADED ARROW WITH BOLD SHAFT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF828\"},129065:{\"value\":\"1F829\",\"name\":\"UPWARDS TRIANGLE-HEADED ARROW WITH BOLD SHAFT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF829\"},129066:{\"value\":\"1F82A\",\"name\":\"RIGHTWARDS TRIANGLE-HEADED ARROW WITH BOLD SHAFT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF82A\"},129067:{\"value\":\"1F82B\",\"name\":\"DOWNWARDS TRIANGLE-HEADED ARROW WITH BOLD SHAFT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF82B\"},129068:{\"value\":\"1F82C\",\"name\":\"LEFTWARDS TRIANGLE-HEADED ARROW WITH HEAVY SHAFT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF82C\"},129069:{\"value\":\"1F82D\",\"name\":\"UPWARDS TRIANGLE-HEADED ARROW WITH HEAVY SHAFT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF82D\"},129070:{\"value\":\"1F82E\",\"name\":\"RIGHTWARDS TRIANGLE-HEADED ARROW WITH HEAVY SHAFT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF82E\"},129071:{\"value\":\"1F82F\",\"name\":\"DOWNWARDS TRIANGLE-HEADED ARROW WITH HEAVY SHAFT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF82F\"},129072:{\"value\":\"1F830\",\"name\":\"LEFTWARDS TRIANGLE-HEADED ARROW WITH VERY HEAVY SHAFT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF830\"},129073:{\"value\":\"1F831\",\"name\":\"UPWARDS TRIANGLE-HEADED ARROW WITH VERY HEAVY SHAFT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF831\"},129074:{\"value\":\"1F832\",\"name\":\"RIGHTWARDS TRIANGLE-HEADED ARROW WITH VERY HEAVY SHAFT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF832\"},129075:{\"value\":\"1F833\",\"name\":\"DOWNWARDS TRIANGLE-HEADED ARROW WITH VERY HEAVY SHAFT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF833\"},129076:{\"value\":\"1F834\",\"name\":\"LEFTWARDS FINGER-POST ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF834\"},129077:{\"value\":\"1F835\",\"name\":\"UPWARDS FINGER-POST ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF835\"},129078:{\"value\":\"1F836\",\"name\":\"RIGHTWARDS FINGER-POST ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF836\"},129079:{\"value\":\"1F837\",\"name\":\"DOWNWARDS FINGER-POST ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF837\"},129080:{\"value\":\"1F838\",\"name\":\"LEFTWARDS SQUARED ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF838\"},129081:{\"value\":\"1F839\",\"name\":\"UPWARDS SQUARED ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF839\"},129082:{\"value\":\"1F83A\",\"name\":\"RIGHTWARDS SQUARED ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF83A\"},129083:{\"value\":\"1F83B\",\"name\":\"DOWNWARDS SQUARED ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF83B\"},129084:{\"value\":\"1F83C\",\"name\":\"LEFTWARDS COMPRESSED ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF83C\"},129085:{\"value\":\"1F83D\",\"name\":\"UPWARDS COMPRESSED ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF83D\"},129086:{\"value\":\"1F83E\",\"name\":\"RIGHTWARDS COMPRESSED ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF83E\"},129087:{\"value\":\"1F83F\",\"name\":\"DOWNWARDS COMPRESSED ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF83F\"},129088:{\"value\":\"1F840\",\"name\":\"LEFTWARDS HEAVY COMPRESSED ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF840\"},129089:{\"value\":\"1F841\",\"name\":\"UPWARDS HEAVY COMPRESSED ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF841\"},129090:{\"value\":\"1F842\",\"name\":\"RIGHTWARDS HEAVY COMPRESSED ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF842\"},129091:{\"value\":\"1F843\",\"name\":\"DOWNWARDS HEAVY COMPRESSED ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF843\"},129092:{\"value\":\"1F844\",\"name\":\"LEFTWARDS HEAVY ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF844\"},129093:{\"value\":\"1F845\",\"name\":\"UPWARDS HEAVY ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF845\"},129094:{\"value\":\"1F846\",\"name\":\"RIGHTWARDS HEAVY ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF846\"},129095:{\"value\":\"1F847\",\"name\":\"DOWNWARDS HEAVY ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF847\"},129104:{\"value\":\"1F850\",\"name\":\"LEFTWARDS SANS-SERIF ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF850\"},129105:{\"value\":\"1F851\",\"name\":\"UPWARDS SANS-SERIF ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF851\"},129106:{\"value\":\"1F852\",\"name\":\"RIGHTWARDS SANS-SERIF ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF852\"},129107:{\"value\":\"1F853\",\"name\":\"DOWNWARDS SANS-SERIF ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF853\"},129108:{\"value\":\"1F854\",\"name\":\"NORTH WEST SANS-SERIF ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF854\"},129109:{\"value\":\"1F855\",\"name\":\"NORTH EAST SANS-SERIF ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF855\"},129110:{\"value\":\"1F856\",\"name\":\"SOUTH EAST SANS-SERIF ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF856\"},129111:{\"value\":\"1F857\",\"name\":\"SOUTH WEST SANS-SERIF ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF857\"},129112:{\"value\":\"1F858\",\"name\":\"LEFT RIGHT SANS-SERIF ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF858\"},129113:{\"value\":\"1F859\",\"name\":\"UP DOWN SANS-SERIF ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF859\"},129120:{\"value\":\"1F860\",\"name\":\"WIDE-HEADED LEFTWARDS LIGHT BARB ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF860\"},129121:{\"value\":\"1F861\",\"name\":\"WIDE-HEADED UPWARDS LIGHT BARB ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF861\"},129122:{\"value\":\"1F862\",\"name\":\"WIDE-HEADED RIGHTWARDS LIGHT BARB ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF862\"},129123:{\"value\":\"1F863\",\"name\":\"WIDE-HEADED DOWNWARDS LIGHT BARB ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF863\"},129124:{\"value\":\"1F864\",\"name\":\"WIDE-HEADED NORTH WEST LIGHT BARB ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF864\"},129125:{\"value\":\"1F865\",\"name\":\"WIDE-HEADED NORTH EAST LIGHT BARB ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF865\"},129126:{\"value\":\"1F866\",\"name\":\"WIDE-HEADED SOUTH EAST LIGHT BARB ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF866\"},129127:{\"value\":\"1F867\",\"name\":\"WIDE-HEADED SOUTH WEST LIGHT BARB ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF867\"},129128:{\"value\":\"1F868\",\"name\":\"WIDE-HEADED LEFTWARDS BARB ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF868\"},129129:{\"value\":\"1F869\",\"name\":\"WIDE-HEADED UPWARDS BARB ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF869\"},129130:{\"value\":\"1F86A\",\"name\":\"WIDE-HEADED RIGHTWARDS BARB ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF86A\"},129131:{\"value\":\"1F86B\",\"name\":\"WIDE-HEADED DOWNWARDS BARB ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF86B\"},129132:{\"value\":\"1F86C\",\"name\":\"WIDE-HEADED NORTH WEST BARB ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF86C\"},129133:{\"value\":\"1F86D\",\"name\":\"WIDE-HEADED NORTH EAST BARB ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF86D\"},129134:{\"value\":\"1F86E\",\"name\":\"WIDE-HEADED SOUTH EAST BARB ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF86E\"},129135:{\"value\":\"1F86F\",\"name\":\"WIDE-HEADED SOUTH WEST BARB ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF86F\"},129136:{\"value\":\"1F870\",\"name\":\"WIDE-HEADED LEFTWARDS MEDIUM BARB ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF870\"},129137:{\"value\":\"1F871\",\"name\":\"WIDE-HEADED UPWARDS MEDIUM BARB ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF871\"},129138:{\"value\":\"1F872\",\"name\":\"WIDE-HEADED RIGHTWARDS MEDIUM BARB ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF872\"},129139:{\"value\":\"1F873\",\"name\":\"WIDE-HEADED DOWNWARDS MEDIUM BARB ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF873\"},129140:{\"value\":\"1F874\",\"name\":\"WIDE-HEADED NORTH WEST MEDIUM BARB ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF874\"},129141:{\"value\":\"1F875\",\"name\":\"WIDE-HEADED NORTH EAST MEDIUM BARB ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF875\"},129142:{\"value\":\"1F876\",\"name\":\"WIDE-HEADED SOUTH EAST MEDIUM BARB ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF876\"},129143:{\"value\":\"1F877\",\"name\":\"WIDE-HEADED SOUTH WEST MEDIUM BARB ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF877\"},129144:{\"value\":\"1F878\",\"name\":\"WIDE-HEADED LEFTWARDS HEAVY BARB ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF878\"},129145:{\"value\":\"1F879\",\"name\":\"WIDE-HEADED UPWARDS HEAVY BARB ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF879\"},129146:{\"value\":\"1F87A\",\"name\":\"WIDE-HEADED RIGHTWARDS HEAVY BARB ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF87A\"},129147:{\"value\":\"1F87B\",\"name\":\"WIDE-HEADED DOWNWARDS HEAVY BARB ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF87B\"},129148:{\"value\":\"1F87C\",\"name\":\"WIDE-HEADED NORTH WEST HEAVY BARB ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF87C\"},129149:{\"value\":\"1F87D\",\"name\":\"WIDE-HEADED NORTH EAST HEAVY BARB ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF87D\"},129150:{\"value\":\"1F87E\",\"name\":\"WIDE-HEADED SOUTH EAST HEAVY BARB ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF87E\"},129151:{\"value\":\"1F87F\",\"name\":\"WIDE-HEADED SOUTH WEST HEAVY BARB ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF87F\"},129152:{\"value\":\"1F880\",\"name\":\"WIDE-HEADED LEFTWARDS VERY HEAVY BARB ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF880\"},129153:{\"value\":\"1F881\",\"name\":\"WIDE-HEADED UPWARDS VERY HEAVY BARB ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF881\"},129154:{\"value\":\"1F882\",\"name\":\"WIDE-HEADED RIGHTWARDS VERY HEAVY BARB ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF882\"},129155:{\"value\":\"1F883\",\"name\":\"WIDE-HEADED DOWNWARDS VERY HEAVY BARB ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF883\"},129156:{\"value\":\"1F884\",\"name\":\"WIDE-HEADED NORTH WEST VERY HEAVY BARB ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF884\"},129157:{\"value\":\"1F885\",\"name\":\"WIDE-HEADED NORTH EAST VERY HEAVY BARB ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF885\"},129158:{\"value\":\"1F886\",\"name\":\"WIDE-HEADED SOUTH EAST VERY HEAVY BARB ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF886\"},129159:{\"value\":\"1F887\",\"name\":\"WIDE-HEADED SOUTH WEST VERY HEAVY BARB ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF887\"},129168:{\"value\":\"1F890\",\"name\":\"LEFTWARDS TRIANGLE ARROWHEAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF890\"},129169:{\"value\":\"1F891\",\"name\":\"UPWARDS TRIANGLE ARROWHEAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF891\"},129170:{\"value\":\"1F892\",\"name\":\"RIGHTWARDS TRIANGLE ARROWHEAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF892\"},129171:{\"value\":\"1F893\",\"name\":\"DOWNWARDS TRIANGLE ARROWHEAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF893\"},129172:{\"value\":\"1F894\",\"name\":\"LEFTWARDS WHITE ARROW WITHIN TRIANGLE ARROWHEAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF894\"},129173:{\"value\":\"1F895\",\"name\":\"UPWARDS WHITE ARROW WITHIN TRIANGLE ARROWHEAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF895\"},129174:{\"value\":\"1F896\",\"name\":\"RIGHTWARDS WHITE ARROW WITHIN TRIANGLE ARROWHEAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF896\"},129175:{\"value\":\"1F897\",\"name\":\"DOWNWARDS WHITE ARROW WITHIN TRIANGLE ARROWHEAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF897\"},129176:{\"value\":\"1F898\",\"name\":\"LEFTWARDS ARROW WITH NOTCHED TAIL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF898\"},129177:{\"value\":\"1F899\",\"name\":\"UPWARDS ARROW WITH NOTCHED TAIL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF899\"},129178:{\"value\":\"1F89A\",\"name\":\"RIGHTWARDS ARROW WITH NOTCHED TAIL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF89A\"},129179:{\"value\":\"1F89B\",\"name\":\"DOWNWARDS ARROW WITH NOTCHED TAIL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF89B\"},129180:{\"value\":\"1F89C\",\"name\":\"HEAVY ARROW SHAFT WIDTH ONE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF89C\"},129181:{\"value\":\"1F89D\",\"name\":\"HEAVY ARROW SHAFT WIDTH TWO THIRDS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF89D\"},129182:{\"value\":\"1F89E\",\"name\":\"HEAVY ARROW SHAFT WIDTH ONE HALF\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF89E\"},129183:{\"value\":\"1F89F\",\"name\":\"HEAVY ARROW SHAFT WIDTH ONE THIRD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF89F\"},129184:{\"value\":\"1F8A0\",\"name\":\"LEFTWARDS BOTTOM-SHADED WHITE ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF8A0\"},129185:{\"value\":\"1F8A1\",\"name\":\"RIGHTWARDS BOTTOM SHADED WHITE ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF8A1\"},129186:{\"value\":\"1F8A2\",\"name\":\"LEFTWARDS TOP SHADED WHITE ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF8A2\"},129187:{\"value\":\"1F8A3\",\"name\":\"RIGHTWARDS TOP SHADED WHITE ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF8A3\"},129188:{\"value\":\"1F8A4\",\"name\":\"LEFTWARDS LEFT-SHADED WHITE ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF8A4\"},129189:{\"value\":\"1F8A5\",\"name\":\"RIGHTWARDS RIGHT-SHADED WHITE ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF8A5\"},129190:{\"value\":\"1F8A6\",\"name\":\"LEFTWARDS RIGHT-SHADED WHITE ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF8A6\"},129191:{\"value\":\"1F8A7\",\"name\":\"RIGHTWARDS LEFT-SHADED WHITE ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF8A7\"},129192:{\"value\":\"1F8A8\",\"name\":\"LEFTWARDS BACK-TILTED SHADOWED WHITE ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF8A8\"},129193:{\"value\":\"1F8A9\",\"name\":\"RIGHTWARDS BACK-TILTED SHADOWED WHITE ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF8A9\"},129194:{\"value\":\"1F8AA\",\"name\":\"LEFTWARDS FRONT-TILTED SHADOWED WHITE ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF8AA\"},129195:{\"value\":\"1F8AB\",\"name\":\"RIGHTWARDS FRONT-TILTED SHADOWED WHITE ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF8AB\"},129196:{\"value\":\"1F8AC\",\"name\":\"WHITE ARROW SHAFT WIDTH ONE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF8AC\"},129197:{\"value\":\"1F8AD\",\"name\":\"WHITE ARROW SHAFT WIDTH TWO THIRDS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF8AD\"},129296:{\"value\":\"1F910\",\"name\":\"ZIPPER-MOUTH FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF910\"},129297:{\"value\":\"1F911\",\"name\":\"MONEY-MOUTH FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF911\"},129298:{\"value\":\"1F912\",\"name\":\"FACE WITH THERMOMETER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF912\"},129299:{\"value\":\"1F913\",\"name\":\"NERD FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF913\"},129300:{\"value\":\"1F914\",\"name\":\"THINKING FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF914\"},129301:{\"value\":\"1F915\",\"name\":\"FACE WITH HEAD-BANDAGE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF915\"},129302:{\"value\":\"1F916\",\"name\":\"ROBOT FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF916\"},129303:{\"value\":\"1F917\",\"name\":\"HUGGING FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF917\"},129304:{\"value\":\"1F918\",\"name\":\"SIGN OF THE HORNS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF918\"},129305:{\"value\":\"1F919\",\"name\":\"CALL ME HAND\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF919\"},129306:{\"value\":\"1F91A\",\"name\":\"RAISED BACK OF HAND\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF91A\"},129307:{\"value\":\"1F91B\",\"name\":\"LEFT-FACING FIST\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF91B\"},129308:{\"value\":\"1F91C\",\"name\":\"RIGHT-FACING FIST\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF91C\"},129309:{\"value\":\"1F91D\",\"name\":\"HANDSHAKE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF91D\"},129310:{\"value\":\"1F91E\",\"name\":\"HAND WITH INDEX AND MIDDLE FINGERS CROSSED\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF91E\"},129312:{\"value\":\"1F920\",\"name\":\"FACE WITH COWBOY HAT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF920\"},129313:{\"value\":\"1F921\",\"name\":\"CLOWN FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF921\"},129314:{\"value\":\"1F922\",\"name\":\"NAUSEATED FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF922\"},129315:{\"value\":\"1F923\",\"name\":\"ROLLING ON THE FLOOR LAUGHING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF923\"},129316:{\"value\":\"1F924\",\"name\":\"DROOLING FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF924\"},129317:{\"value\":\"1F925\",\"name\":\"LYING FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF925\"},129318:{\"value\":\"1F926\",\"name\":\"FACE PALM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF926\"},129319:{\"value\":\"1F927\",\"name\":\"SNEEZING FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF927\"},129328:{\"value\":\"1F930\",\"name\":\"PREGNANT WOMAN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF930\"},129331:{\"value\":\"1F933\",\"name\":\"SELFIE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF933\"},129332:{\"value\":\"1F934\",\"name\":\"PRINCE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF934\"},129333:{\"value\":\"1F935\",\"name\":\"MAN IN TUXEDO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF935\"},129334:{\"value\":\"1F936\",\"name\":\"MOTHER CHRISTMAS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF936\"},129335:{\"value\":\"1F937\",\"name\":\"SHRUG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF937\"},129336:{\"value\":\"1F938\",\"name\":\"PERSON DOING CARTWHEEL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF938\"},129337:{\"value\":\"1F939\",\"name\":\"JUGGLING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF939\"},129338:{\"value\":\"1F93A\",\"name\":\"FENCER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF93A\"},129339:{\"value\":\"1F93B\",\"name\":\"MODERN PENTATHLON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF93B\"},129340:{\"value\":\"1F93C\",\"name\":\"WRESTLERS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF93C\"},129341:{\"value\":\"1F93D\",\"name\":\"WATER POLO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF93D\"},129342:{\"value\":\"1F93E\",\"name\":\"HANDBALL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF93E\"},129344:{\"value\":\"1F940\",\"name\":\"WILTED FLOWER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF940\"},129345:{\"value\":\"1F941\",\"name\":\"DRUM WITH DRUMSTICKS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF941\"},129346:{\"value\":\"1F942\",\"name\":\"CLINKING GLASSES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF942\"},129347:{\"value\":\"1F943\",\"name\":\"TUMBLER GLASS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF943\"},129348:{\"value\":\"1F944\",\"name\":\"SPOON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF944\"},129349:{\"value\":\"1F945\",\"name\":\"GOAL NET\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF945\"},129350:{\"value\":\"1F946\",\"name\":\"RIFLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF946\"},129351:{\"value\":\"1F947\",\"name\":\"FIRST PLACE MEDAL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF947\"},129352:{\"value\":\"1F948\",\"name\":\"SECOND PLACE MEDAL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF948\"},129353:{\"value\":\"1F949\",\"name\":\"THIRD PLACE MEDAL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF949\"},129354:{\"value\":\"1F94A\",\"name\":\"BOXING GLOVE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF94A\"},129355:{\"value\":\"1F94B\",\"name\":\"MARTIAL ARTS UNIFORM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF94B\"},129360:{\"value\":\"1F950\",\"name\":\"CROISSANT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF950\"},129361:{\"value\":\"1F951\",\"name\":\"AVOCADO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF951\"},129362:{\"value\":\"1F952\",\"name\":\"CUCUMBER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF952\"},129363:{\"value\":\"1F953\",\"name\":\"BACON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF953\"},129364:{\"value\":\"1F954\",\"name\":\"POTATO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF954\"},129365:{\"value\":\"1F955\",\"name\":\"CARROT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF955\"},129366:{\"value\":\"1F956\",\"name\":\"BAGUETTE BREAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF956\"},129367:{\"value\":\"1F957\",\"name\":\"GREEN SALAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF957\"},129368:{\"value\":\"1F958\",\"name\":\"SHALLOW PAN OF FOOD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF958\"},129369:{\"value\":\"1F959\",\"name\":\"STUFFED FLATBREAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF959\"},129370:{\"value\":\"1F95A\",\"name\":\"EGG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF95A\"},129371:{\"value\":\"1F95B\",\"name\":\"GLASS OF MILK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF95B\"},129372:{\"value\":\"1F95C\",\"name\":\"PEANUTS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF95C\"},129373:{\"value\":\"1F95D\",\"name\":\"KIWIFRUIT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF95D\"},129374:{\"value\":\"1F95E\",\"name\":\"PANCAKES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF95E\"},129408:{\"value\":\"1F980\",\"name\":\"CRAB\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF980\"},129409:{\"value\":\"1F981\",\"name\":\"LION FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF981\"},129410:{\"value\":\"1F982\",\"name\":\"SCORPION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF982\"},129411:{\"value\":\"1F983\",\"name\":\"TURKEY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF983\"},129412:{\"value\":\"1F984\",\"name\":\"UNICORN FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF984\"},129413:{\"value\":\"1F985\",\"name\":\"EAGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF985\"},129414:{\"value\":\"1F986\",\"name\":\"DUCK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF986\"},129415:{\"value\":\"1F987\",\"name\":\"BAT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF987\"},129416:{\"value\":\"1F988\",\"name\":\"SHARK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF988\"},129417:{\"value\":\"1F989\",\"name\":\"OWL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF989\"},129418:{\"value\":\"1F98A\",\"name\":\"FOX FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF98A\"},129419:{\"value\":\"1F98B\",\"name\":\"BUTTERFLY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF98B\"},129420:{\"value\":\"1F98C\",\"name\":\"DEER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF98C\"},129421:{\"value\":\"1F98D\",\"name\":\"GORILLA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF98D\"},129422:{\"value\":\"1F98E\",\"name\":\"LIZARD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF98E\"},129423:{\"value\":\"1F98F\",\"name\":\"RHINOCEROS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF98F\"},129424:{\"value\":\"1F990\",\"name\":\"SHRIMP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF990\"},129425:{\"value\":\"1F991\",\"name\":\"SQUID\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF991\"},129472:{\"value\":\"1F9C0\",\"name\":\"CHEESE WEDGE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF9C0\"}};\n\n/***/ },\n/* 670 */\n/***/ function(module, exports) {\n\n\t/* WEBPACK VAR INJECTION */(function(global) {module.exports = get_blob()\n\t\n\tfunction get_blob() {\n\t if(global.Blob) {\n\t try {\n\t new Blob(['asdf'], {type: 'text/plain'})\n\t return Blob\n\t } catch(err) {}\n\t }\n\t\n\t var Builder = global.WebKitBlobBuilder ||\n\t global.MozBlobBuilder ||\n\t global.MSBlobBuilder\n\t\n\t return function(parts, bag) {\n\t var builder = new Builder\n\t , endings = bag.endings\n\t , type = bag.type\n\t\n\t if(endings) for(var i = 0, len = parts.length; i < len; ++i) {\n\t builder.append(parts[i], endings)\n\t } else for(var i = 0, len = parts.length; i < len; ++i) {\n\t builder.append(parts[i])\n\t }\n\t\n\t return type ? builder.getBlob(type) : builder.getBlob()\n\t }\n\t}\n\t\n\t/* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }())))\n\n/***/ },\n/* 671 */\n/***/ function(module, exports) {\n\n\tmodule.exports = function() { throw new Error(\"define cannot be used indirect\"); };\r\n\n\n/***/ },\n/* 672 */\n/***/ function(module, exports) {\n\n\t(function(self) {\n\t 'use strict';\n\t\n\t if (self.fetch) {\n\t return\n\t }\n\t\n\t var support = {\n\t searchParams: 'URLSearchParams' in self,\n\t iterable: 'Symbol' in self && 'iterator' in Symbol,\n\t blob: 'FileReader' in self && 'Blob' in self && (function() {\n\t try {\n\t new Blob()\n\t return true\n\t } catch(e) {\n\t return false\n\t }\n\t })(),\n\t formData: 'FormData' in self,\n\t arrayBuffer: 'ArrayBuffer' in self\n\t }\n\t\n\t if (support.arrayBuffer) {\n\t var viewClasses = [\n\t '[object Int8Array]',\n\t '[object Uint8Array]',\n\t '[object Uint8ClampedArray]',\n\t '[object Int16Array]',\n\t '[object Uint16Array]',\n\t '[object Int32Array]',\n\t '[object Uint32Array]',\n\t '[object Float32Array]',\n\t '[object Float64Array]'\n\t ]\n\t\n\t var isDataView = function(obj) {\n\t return obj && DataView.prototype.isPrototypeOf(obj)\n\t }\n\t\n\t var isArrayBufferView = ArrayBuffer.isView || function(obj) {\n\t return obj && viewClasses.indexOf(Object.prototype.toString.call(obj)) > -1\n\t }\n\t }\n\t\n\t function normalizeName(name) {\n\t if (typeof name !== 'string') {\n\t name = String(name)\n\t }\n\t if (/[^a-z0-9\\-#$%&'*+.\\^_`|~]/i.test(name)) {\n\t throw new TypeError('Invalid character in header field name')\n\t }\n\t return name.toLowerCase()\n\t }\n\t\n\t function normalizeValue(value) {\n\t if (typeof value !== 'string') {\n\t value = String(value)\n\t }\n\t return value\n\t }\n\t\n\t // Build a destructive iterator for the value list\n\t function iteratorFor(items) {\n\t var iterator = {\n\t next: function() {\n\t var value = items.shift()\n\t return {done: value === undefined, value: value}\n\t }\n\t }\n\t\n\t if (support.iterable) {\n\t iterator[Symbol.iterator] = function() {\n\t return iterator\n\t }\n\t }\n\t\n\t return iterator\n\t }\n\t\n\t function Headers(headers) {\n\t this.map = {}\n\t\n\t if (headers instanceof Headers) {\n\t headers.forEach(function(value, name) {\n\t this.append(name, value)\n\t }, this)\n\t\n\t } else if (headers) {\n\t Object.getOwnPropertyNames(headers).forEach(function(name) {\n\t this.append(name, headers[name])\n\t }, this)\n\t }\n\t }\n\t\n\t Headers.prototype.append = function(name, value) {\n\t name = normalizeName(name)\n\t value = normalizeValue(value)\n\t var oldValue = this.map[name]\n\t this.map[name] = oldValue ? oldValue+','+value : value\n\t }\n\t\n\t Headers.prototype['delete'] = function(name) {\n\t delete this.map[normalizeName(name)]\n\t }\n\t\n\t Headers.prototype.get = function(name) {\n\t name = normalizeName(name)\n\t return this.has(name) ? this.map[name] : null\n\t }\n\t\n\t Headers.prototype.has = function(name) {\n\t return this.map.hasOwnProperty(normalizeName(name))\n\t }\n\t\n\t Headers.prototype.set = function(name, value) {\n\t this.map[normalizeName(name)] = normalizeValue(value)\n\t }\n\t\n\t Headers.prototype.forEach = function(callback, thisArg) {\n\t for (var name in this.map) {\n\t if (this.map.hasOwnProperty(name)) {\n\t callback.call(thisArg, this.map[name], name, this)\n\t }\n\t }\n\t }\n\t\n\t Headers.prototype.keys = function() {\n\t var items = []\n\t this.forEach(function(value, name) { items.push(name) })\n\t return iteratorFor(items)\n\t }\n\t\n\t Headers.prototype.values = function() {\n\t var items = []\n\t this.forEach(function(value) { items.push(value) })\n\t return iteratorFor(items)\n\t }\n\t\n\t Headers.prototype.entries = function() {\n\t var items = []\n\t this.forEach(function(value, name) { items.push([name, value]) })\n\t return iteratorFor(items)\n\t }\n\t\n\t if (support.iterable) {\n\t Headers.prototype[Symbol.iterator] = Headers.prototype.entries\n\t }\n\t\n\t function consumed(body) {\n\t if (body.bodyUsed) {\n\t return Promise.reject(new TypeError('Already read'))\n\t }\n\t body.bodyUsed = true\n\t }\n\t\n\t function fileReaderReady(reader) {\n\t return new Promise(function(resolve, reject) {\n\t reader.onload = function() {\n\t resolve(reader.result)\n\t }\n\t reader.onerror = function() {\n\t reject(reader.error)\n\t }\n\t })\n\t }\n\t\n\t function readBlobAsArrayBuffer(blob) {\n\t var reader = new FileReader()\n\t var promise = fileReaderReady(reader)\n\t reader.readAsArrayBuffer(blob)\n\t return promise\n\t }\n\t\n\t function readBlobAsText(blob) {\n\t var reader = new FileReader()\n\t var promise = fileReaderReady(reader)\n\t reader.readAsText(blob)\n\t return promise\n\t }\n\t\n\t function readArrayBufferAsText(buf) {\n\t var view = new Uint8Array(buf)\n\t var chars = new Array(view.length)\n\t\n\t for (var i = 0; i < view.length; i++) {\n\t chars[i] = String.fromCharCode(view[i])\n\t }\n\t return chars.join('')\n\t }\n\t\n\t function bufferClone(buf) {\n\t if (buf.slice) {\n\t return buf.slice(0)\n\t } else {\n\t var view = new Uint8Array(buf.byteLength)\n\t view.set(new Uint8Array(buf))\n\t return view.buffer\n\t }\n\t }\n\t\n\t function Body() {\n\t this.bodyUsed = false\n\t\n\t this._initBody = function(body) {\n\t this._bodyInit = body\n\t if (!body) {\n\t this._bodyText = ''\n\t } else if (typeof body === 'string') {\n\t this._bodyText = body\n\t } else if (support.blob && Blob.prototype.isPrototypeOf(body)) {\n\t this._bodyBlob = body\n\t } else if (support.formData && FormData.prototype.isPrototypeOf(body)) {\n\t this._bodyFormData = body\n\t } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n\t this._bodyText = body.toString()\n\t } else if (support.arrayBuffer && support.blob && isDataView(body)) {\n\t this._bodyArrayBuffer = bufferClone(body.buffer)\n\t // IE 10-11 can't handle a DataView body.\n\t this._bodyInit = new Blob([this._bodyArrayBuffer])\n\t } else if (support.arrayBuffer && (ArrayBuffer.prototype.isPrototypeOf(body) || isArrayBufferView(body))) {\n\t this._bodyArrayBuffer = bufferClone(body)\n\t } else {\n\t throw new Error('unsupported BodyInit type')\n\t }\n\t\n\t if (!this.headers.get('content-type')) {\n\t if (typeof body === 'string') {\n\t this.headers.set('content-type', 'text/plain;charset=UTF-8')\n\t } else if (this._bodyBlob && this._bodyBlob.type) {\n\t this.headers.set('content-type', this._bodyBlob.type)\n\t } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n\t this.headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8')\n\t }\n\t }\n\t }\n\t\n\t if (support.blob) {\n\t this.blob = function() {\n\t var rejected = consumed(this)\n\t if (rejected) {\n\t return rejected\n\t }\n\t\n\t if (this._bodyBlob) {\n\t return Promise.resolve(this._bodyBlob)\n\t } else if (this._bodyArrayBuffer) {\n\t return Promise.resolve(new Blob([this._bodyArrayBuffer]))\n\t } else if (this._bodyFormData) {\n\t throw new Error('could not read FormData body as blob')\n\t } else {\n\t return Promise.resolve(new Blob([this._bodyText]))\n\t }\n\t }\n\t\n\t this.arrayBuffer = function() {\n\t if (this._bodyArrayBuffer) {\n\t return consumed(this) || Promise.resolve(this._bodyArrayBuffer)\n\t } else {\n\t return this.blob().then(readBlobAsArrayBuffer)\n\t }\n\t }\n\t }\n\t\n\t this.text = function() {\n\t var rejected = consumed(this)\n\t if (rejected) {\n\t return rejected\n\t }\n\t\n\t if (this._bodyBlob) {\n\t return readBlobAsText(this._bodyBlob)\n\t } else if (this._bodyArrayBuffer) {\n\t return Promise.resolve(readArrayBufferAsText(this._bodyArrayBuffer))\n\t } else if (this._bodyFormData) {\n\t throw new Error('could not read FormData body as text')\n\t } else {\n\t return Promise.resolve(this._bodyText)\n\t }\n\t }\n\t\n\t if (support.formData) {\n\t this.formData = function() {\n\t return this.text().then(decode)\n\t }\n\t }\n\t\n\t this.json = function() {\n\t return this.text().then(JSON.parse)\n\t }\n\t\n\t return this\n\t }\n\t\n\t // HTTP methods whose capitalization should be normalized\n\t var methods = ['DELETE', 'GET', 'HEAD', 'OPTIONS', 'POST', 'PUT']\n\t\n\t function normalizeMethod(method) {\n\t var upcased = method.toUpperCase()\n\t return (methods.indexOf(upcased) > -1) ? upcased : method\n\t }\n\t\n\t function Request(input, options) {\n\t options = options || {}\n\t var body = options.body\n\t\n\t if (typeof input === 'string') {\n\t this.url = input\n\t } else {\n\t if (input.bodyUsed) {\n\t throw new TypeError('Already read')\n\t }\n\t this.url = input.url\n\t this.credentials = input.credentials\n\t if (!options.headers) {\n\t this.headers = new Headers(input.headers)\n\t }\n\t this.method = input.method\n\t this.mode = input.mode\n\t if (!body && input._bodyInit != null) {\n\t body = input._bodyInit\n\t input.bodyUsed = true\n\t }\n\t }\n\t\n\t this.credentials = options.credentials || this.credentials || 'omit'\n\t if (options.headers || !this.headers) {\n\t this.headers = new Headers(options.headers)\n\t }\n\t this.method = normalizeMethod(options.method || this.method || 'GET')\n\t this.mode = options.mode || this.mode || null\n\t this.referrer = null\n\t\n\t if ((this.method === 'GET' || this.method === 'HEAD') && body) {\n\t throw new TypeError('Body not allowed for GET or HEAD requests')\n\t }\n\t this._initBody(body)\n\t }\n\t\n\t Request.prototype.clone = function() {\n\t return new Request(this, { body: this._bodyInit })\n\t }\n\t\n\t function decode(body) {\n\t var form = new FormData()\n\t body.trim().split('&').forEach(function(bytes) {\n\t if (bytes) {\n\t var split = bytes.split('=')\n\t var name = split.shift().replace(/\\+/g, ' ')\n\t var value = split.join('=').replace(/\\+/g, ' ')\n\t form.append(decodeURIComponent(name), decodeURIComponent(value))\n\t }\n\t })\n\t return form\n\t }\n\t\n\t function parseHeaders(rawHeaders) {\n\t var headers = new Headers()\n\t rawHeaders.split('\\r\\n').forEach(function(line) {\n\t var parts = line.split(':')\n\t var key = parts.shift().trim()\n\t if (key) {\n\t var value = parts.join(':').trim()\n\t headers.append(key, value)\n\t }\n\t })\n\t return headers\n\t }\n\t\n\t Body.call(Request.prototype)\n\t\n\t function Response(bodyInit, options) {\n\t if (!options) {\n\t options = {}\n\t }\n\t\n\t this.type = 'default'\n\t this.status = 'status' in options ? options.status : 200\n\t this.ok = this.status >= 200 && this.status < 300\n\t this.statusText = 'statusText' in options ? options.statusText : 'OK'\n\t this.headers = new Headers(options.headers)\n\t this.url = options.url || ''\n\t this._initBody(bodyInit)\n\t }\n\t\n\t Body.call(Response.prototype)\n\t\n\t Response.prototype.clone = function() {\n\t return new Response(this._bodyInit, {\n\t status: this.status,\n\t statusText: this.statusText,\n\t headers: new Headers(this.headers),\n\t url: this.url\n\t })\n\t }\n\t\n\t Response.error = function() {\n\t var response = new Response(null, {status: 0, statusText: ''})\n\t response.type = 'error'\n\t return response\n\t }\n\t\n\t var redirectStatuses = [301, 302, 303, 307, 308]\n\t\n\t Response.redirect = function(url, status) {\n\t if (redirectStatuses.indexOf(status) === -1) {\n\t throw new RangeError('Invalid status code')\n\t }\n\t\n\t return new Response(null, {status: status, headers: {location: url}})\n\t }\n\t\n\t self.Headers = Headers\n\t self.Request = Request\n\t self.Response = Response\n\t\n\t self.fetch = function(input, init) {\n\t return new Promise(function(resolve, reject) {\n\t var request = new Request(input, init)\n\t var xhr = new XMLHttpRequest()\n\t\n\t xhr.onload = function() {\n\t var options = {\n\t status: xhr.status,\n\t statusText: xhr.statusText,\n\t headers: parseHeaders(xhr.getAllResponseHeaders() || '')\n\t }\n\t options.url = 'responseURL' in xhr ? xhr.responseURL : options.headers.get('X-Request-URL')\n\t var body = 'response' in xhr ? xhr.response : xhr.responseText\n\t resolve(new Response(body, options))\n\t }\n\t\n\t xhr.onerror = function() {\n\t reject(new TypeError('Network request failed'))\n\t }\n\t\n\t xhr.ontimeout = function() {\n\t reject(new TypeError('Network request failed'))\n\t }\n\t\n\t xhr.open(request.method, request.url, true)\n\t\n\t if (request.credentials === 'include') {\n\t xhr.withCredentials = true\n\t }\n\t\n\t if ('responseType' in xhr && support.blob) {\n\t xhr.responseType = 'blob'\n\t }\n\t\n\t request.headers.forEach(function(value, name) {\n\t xhr.setRequestHeader(name, value)\n\t })\n\t\n\t xhr.send(typeof request._bodyInit === 'undefined' ? null : request._bodyInit)\n\t })\n\t }\n\t self.fetch.polyfill = true\n\t})(typeof self !== 'undefined' ? self : this);\n\n\n/***/ },\n/* 673 */\n/***/ function(module, exports) {\n\n\t/* (ignored) */\n\n/***/ }\n/******/ ])));\n\n\n/** WEBPACK FOOTER **\n ** bundle.js\n **/"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\texports: {},\n \t\t\tid: moduleId,\n \t\t\tloaded: false\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.loaded = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/admin/\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(0);\n\n\n\n/** WEBPACK FOOTER **\n ** webpack/bootstrap bfae974b7ca926b6b464\n **/","/* eslint-disable import/default */\nimport React from 'react';\nimport { syncHistoryWithStore } from 'react-router-redux';\nimport { render } from 'react-dom';\nimport { Provider } from 'react-redux';\nimport { Router, browserHistory, Redirect } from 'react-router';\nimport routes from './routes';\nimport configureStore from './store/configureStore';\nimport { ADMIN_PREFIX } from './constants';\nimport './styles/main.scss';\nimport './assets/favicon.ico';\n\nconst store = configureStore();\nconst history = syncHistoryWithStore(browserHistory, store);\n\nrender(\n <Provider store={store}>\n <Router history={history} routes={routes}>\n <Redirect from={`${ADMIN_PREFIX}/`} to={`${ADMIN_PREFIX}/pages/`} />\n </Router>\n </Provider>, document.getElementById('root')\n);\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/index.js\n **/","//! moment.js\n//! version : 2.17.1\n//! authors : Tim Wood, Iskren Chernev, Moment.js contributors\n//! license : MIT\n//! momentjs.com\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n global.moment = factory()\n}(this, (function () { 'use strict';\n\nvar hookCallback;\n\nfunction hooks () {\n return hookCallback.apply(null, arguments);\n}\n\n// This is done to register the method called with moment()\n// without creating circular dependencies.\nfunction setHookCallback (callback) {\n hookCallback = callback;\n}\n\nfunction isArray(input) {\n return input instanceof Array || Object.prototype.toString.call(input) === '[object Array]';\n}\n\nfunction isObject(input) {\n // IE8 will treat undefined and null as object if it wasn't for\n // input != null\n return input != null && Object.prototype.toString.call(input) === '[object Object]';\n}\n\nfunction isObjectEmpty(obj) {\n var k;\n for (k in obj) {\n // even if its not own property I'd still call it non-empty\n return false;\n }\n return true;\n}\n\nfunction isNumber(input) {\n return typeof input === 'number' || Object.prototype.toString.call(input) === '[object Number]';\n}\n\nfunction isDate(input) {\n return input instanceof Date || Object.prototype.toString.call(input) === '[object Date]';\n}\n\nfunction map(arr, fn) {\n var res = [], i;\n for (i = 0; i < arr.length; ++i) {\n res.push(fn(arr[i], i));\n }\n return res;\n}\n\nfunction hasOwnProp(a, b) {\n return Object.prototype.hasOwnProperty.call(a, b);\n}\n\nfunction extend(a, b) {\n for (var i in b) {\n if (hasOwnProp(b, i)) {\n a[i] = b[i];\n }\n }\n\n if (hasOwnProp(b, 'toString')) {\n a.toString = b.toString;\n }\n\n if (hasOwnProp(b, 'valueOf')) {\n a.valueOf = b.valueOf;\n }\n\n return a;\n}\n\nfunction createUTC (input, format, locale, strict) {\n return createLocalOrUTC(input, format, locale, strict, true).utc();\n}\n\nfunction defaultParsingFlags() {\n // We need to deep clone this object.\n return {\n empty : false,\n unusedTokens : [],\n unusedInput : [],\n overflow : -2,\n charsLeftOver : 0,\n nullInput : false,\n invalidMonth : null,\n invalidFormat : false,\n userInvalidated : false,\n iso : false,\n parsedDateParts : [],\n meridiem : null\n };\n}\n\nfunction getParsingFlags(m) {\n if (m._pf == null) {\n m._pf = defaultParsingFlags();\n }\n return m._pf;\n}\n\nvar some;\nif (Array.prototype.some) {\n some = Array.prototype.some;\n} else {\n some = function (fun) {\n var t = Object(this);\n var len = t.length >>> 0;\n\n for (var i = 0; i < len; i++) {\n if (i in t && fun.call(this, t[i], i, t)) {\n return true;\n }\n }\n\n return false;\n };\n}\n\nvar some$1 = some;\n\nfunction isValid(m) {\n if (m._isValid == null) {\n var flags = getParsingFlags(m);\n var parsedParts = some$1.call(flags.parsedDateParts, function (i) {\n return i != null;\n });\n var isNowValid = !isNaN(m._d.getTime()) &&\n flags.overflow < 0 &&\n !flags.empty &&\n !flags.invalidMonth &&\n !flags.invalidWeekday &&\n !flags.nullInput &&\n !flags.invalidFormat &&\n !flags.userInvalidated &&\n (!flags.meridiem || (flags.meridiem && parsedParts));\n\n if (m._strict) {\n isNowValid = isNowValid &&\n flags.charsLeftOver === 0 &&\n flags.unusedTokens.length === 0 &&\n flags.bigHour === undefined;\n }\n\n if (Object.isFrozen == null || !Object.isFrozen(m)) {\n m._isValid = isNowValid;\n }\n else {\n return isNowValid;\n }\n }\n return m._isValid;\n}\n\nfunction createInvalid (flags) {\n var m = createUTC(NaN);\n if (flags != null) {\n extend(getParsingFlags(m), flags);\n }\n else {\n getParsingFlags(m).userInvalidated = true;\n }\n\n return m;\n}\n\nfunction isUndefined(input) {\n return input === void 0;\n}\n\n// Plugins that add properties should also add the key here (null value),\n// so we can properly clone ourselves.\nvar momentProperties = hooks.momentProperties = [];\n\nfunction copyConfig(to, from) {\n var i, prop, val;\n\n if (!isUndefined(from._isAMomentObject)) {\n to._isAMomentObject = from._isAMomentObject;\n }\n if (!isUndefined(from._i)) {\n to._i = from._i;\n }\n if (!isUndefined(from._f)) {\n to._f = from._f;\n }\n if (!isUndefined(from._l)) {\n to._l = from._l;\n }\n if (!isUndefined(from._strict)) {\n to._strict = from._strict;\n }\n if (!isUndefined(from._tzm)) {\n to._tzm = from._tzm;\n }\n if (!isUndefined(from._isUTC)) {\n to._isUTC = from._isUTC;\n }\n if (!isUndefined(from._offset)) {\n to._offset = from._offset;\n }\n if (!isUndefined(from._pf)) {\n to._pf = getParsingFlags(from);\n }\n if (!isUndefined(from._locale)) {\n to._locale = from._locale;\n }\n\n if (momentProperties.length > 0) {\n for (i in momentProperties) {\n prop = momentProperties[i];\n val = from[prop];\n if (!isUndefined(val)) {\n to[prop] = val;\n }\n }\n }\n\n return to;\n}\n\nvar updateInProgress = false;\n\n// Moment prototype object\nfunction Moment(config) {\n copyConfig(this, config);\n this._d = new Date(config._d != null ? config._d.getTime() : NaN);\n if (!this.isValid()) {\n this._d = new Date(NaN);\n }\n // Prevent infinite loop in case updateOffset creates new moment\n // objects.\n if (updateInProgress === false) {\n updateInProgress = true;\n hooks.updateOffset(this);\n updateInProgress = false;\n }\n}\n\nfunction isMoment (obj) {\n return obj instanceof Moment || (obj != null && obj._isAMomentObject != null);\n}\n\nfunction absFloor (number) {\n if (number < 0) {\n // -0 -> 0\n return Math.ceil(number) || 0;\n } else {\n return Math.floor(number);\n }\n}\n\nfunction toInt(argumentForCoercion) {\n var coercedNumber = +argumentForCoercion,\n value = 0;\n\n if (coercedNumber !== 0 && isFinite(coercedNumber)) {\n value = absFloor(coercedNumber);\n }\n\n return value;\n}\n\n// compare two arrays, return the number of differences\nfunction compareArrays(array1, array2, dontConvert) {\n var len = Math.min(array1.length, array2.length),\n lengthDiff = Math.abs(array1.length - array2.length),\n diffs = 0,\n i;\n for (i = 0; i < len; i++) {\n if ((dontConvert && array1[i] !== array2[i]) ||\n (!dontConvert && toInt(array1[i]) !== toInt(array2[i]))) {\n diffs++;\n }\n }\n return diffs + lengthDiff;\n}\n\nfunction warn(msg) {\n if (hooks.suppressDeprecationWarnings === false &&\n (typeof console !== 'undefined') && console.warn) {\n console.warn('Deprecation warning: ' + msg);\n }\n}\n\nfunction deprecate(msg, fn) {\n var firstTime = true;\n\n return extend(function () {\n if (hooks.deprecationHandler != null) {\n hooks.deprecationHandler(null, msg);\n }\n if (firstTime) {\n var args = [];\n var arg;\n for (var i = 0; i < arguments.length; i++) {\n arg = '';\n if (typeof arguments[i] === 'object') {\n arg += '\\n[' + i + '] ';\n for (var key in arguments[0]) {\n arg += key + ': ' + arguments[0][key] + ', ';\n }\n arg = arg.slice(0, -2); // Remove trailing comma and space\n } else {\n arg = arguments[i];\n }\n args.push(arg);\n }\n warn(msg + '\\nArguments: ' + Array.prototype.slice.call(args).join('') + '\\n' + (new Error()).stack);\n firstTime = false;\n }\n return fn.apply(this, arguments);\n }, fn);\n}\n\nvar deprecations = {};\n\nfunction deprecateSimple(name, msg) {\n if (hooks.deprecationHandler != null) {\n hooks.deprecationHandler(name, msg);\n }\n if (!deprecations[name]) {\n warn(msg);\n deprecations[name] = true;\n }\n}\n\nhooks.suppressDeprecationWarnings = false;\nhooks.deprecationHandler = null;\n\nfunction isFunction(input) {\n return input instanceof Function || Object.prototype.toString.call(input) === '[object Function]';\n}\n\nfunction set (config) {\n var prop, i;\n for (i in config) {\n prop = config[i];\n if (isFunction(prop)) {\n this[i] = prop;\n } else {\n this['_' + i] = prop;\n }\n }\n this._config = config;\n // Lenient ordinal parsing accepts just a number in addition to\n // number + (possibly) stuff coming from _ordinalParseLenient.\n this._ordinalParseLenient = new RegExp(this._ordinalParse.source + '|' + (/\\d{1,2}/).source);\n}\n\nfunction mergeConfigs(parentConfig, childConfig) {\n var res = extend({}, parentConfig), prop;\n for (prop in childConfig) {\n if (hasOwnProp(childConfig, prop)) {\n if (isObject(parentConfig[prop]) && isObject(childConfig[prop])) {\n res[prop] = {};\n extend(res[prop], parentConfig[prop]);\n extend(res[prop], childConfig[prop]);\n } else if (childConfig[prop] != null) {\n res[prop] = childConfig[prop];\n } else {\n delete res[prop];\n }\n }\n }\n for (prop in parentConfig) {\n if (hasOwnProp(parentConfig, prop) &&\n !hasOwnProp(childConfig, prop) &&\n isObject(parentConfig[prop])) {\n // make sure changes to properties don't modify parent config\n res[prop] = extend({}, res[prop]);\n }\n }\n return res;\n}\n\nfunction Locale(config) {\n if (config != null) {\n this.set(config);\n }\n}\n\nvar keys;\n\nif (Object.keys) {\n keys = Object.keys;\n} else {\n keys = function (obj) {\n var i, res = [];\n for (i in obj) {\n if (hasOwnProp(obj, i)) {\n res.push(i);\n }\n }\n return res;\n };\n}\n\nvar keys$1 = keys;\n\nvar defaultCalendar = {\n sameDay : '[Today at] LT',\n nextDay : '[Tomorrow at] LT',\n nextWeek : 'dddd [at] LT',\n lastDay : '[Yesterday at] LT',\n lastWeek : '[Last] dddd [at] LT',\n sameElse : 'L'\n};\n\nfunction calendar (key, mom, now) {\n var output = this._calendar[key] || this._calendar['sameElse'];\n return isFunction(output) ? output.call(mom, now) : output;\n}\n\nvar defaultLongDateFormat = {\n LTS : 'h:mm:ss A',\n LT : 'h:mm A',\n L : 'MM/DD/YYYY',\n LL : 'MMMM D, YYYY',\n LLL : 'MMMM D, YYYY h:mm A',\n LLLL : 'dddd, MMMM D, YYYY h:mm A'\n};\n\nfunction longDateFormat (key) {\n var format = this._longDateFormat[key],\n formatUpper = this._longDateFormat[key.toUpperCase()];\n\n if (format || !formatUpper) {\n return format;\n }\n\n this._longDateFormat[key] = formatUpper.replace(/MMMM|MM|DD|dddd/g, function (val) {\n return val.slice(1);\n });\n\n return this._longDateFormat[key];\n}\n\nvar defaultInvalidDate = 'Invalid date';\n\nfunction invalidDate () {\n return this._invalidDate;\n}\n\nvar defaultOrdinal = '%d';\nvar defaultOrdinalParse = /\\d{1,2}/;\n\nfunction ordinal (number) {\n return this._ordinal.replace('%d', number);\n}\n\nvar defaultRelativeTime = {\n future : 'in %s',\n past : '%s ago',\n s : 'a few seconds',\n m : 'a minute',\n mm : '%d minutes',\n h : 'an hour',\n hh : '%d hours',\n d : 'a day',\n dd : '%d days',\n M : 'a month',\n MM : '%d months',\n y : 'a year',\n yy : '%d years'\n};\n\nfunction relativeTime (number, withoutSuffix, string, isFuture) {\n var output = this._relativeTime[string];\n return (isFunction(output)) ?\n output(number, withoutSuffix, string, isFuture) :\n output.replace(/%d/i, number);\n}\n\nfunction pastFuture (diff, output) {\n var format = this._relativeTime[diff > 0 ? 'future' : 'past'];\n return isFunction(format) ? format(output) : format.replace(/%s/i, output);\n}\n\nvar aliases = {};\n\nfunction addUnitAlias (unit, shorthand) {\n var lowerCase = unit.toLowerCase();\n aliases[lowerCase] = aliases[lowerCase + 's'] = aliases[shorthand] = unit;\n}\n\nfunction normalizeUnits(units) {\n return typeof units === 'string' ? aliases[units] || aliases[units.toLowerCase()] : undefined;\n}\n\nfunction normalizeObjectUnits(inputObject) {\n var normalizedInput = {},\n normalizedProp,\n prop;\n\n for (prop in inputObject) {\n if (hasOwnProp(inputObject, prop)) {\n normalizedProp = normalizeUnits(prop);\n if (normalizedProp) {\n normalizedInput[normalizedProp] = inputObject[prop];\n }\n }\n }\n\n return normalizedInput;\n}\n\nvar priorities = {};\n\nfunction addUnitPriority(unit, priority) {\n priorities[unit] = priority;\n}\n\nfunction getPrioritizedUnits(unitsObj) {\n var units = [];\n for (var u in unitsObj) {\n units.push({unit: u, priority: priorities[u]});\n }\n units.sort(function (a, b) {\n return a.priority - b.priority;\n });\n return units;\n}\n\nfunction makeGetSet (unit, keepTime) {\n return function (value) {\n if (value != null) {\n set$1(this, unit, value);\n hooks.updateOffset(this, keepTime);\n return this;\n } else {\n return get(this, unit);\n }\n };\n}\n\nfunction get (mom, unit) {\n return mom.isValid() ?\n mom._d['get' + (mom._isUTC ? 'UTC' : '') + unit]() : NaN;\n}\n\nfunction set$1 (mom, unit, value) {\n if (mom.isValid()) {\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value);\n }\n}\n\n// MOMENTS\n\nfunction stringGet (units) {\n units = normalizeUnits(units);\n if (isFunction(this[units])) {\n return this[units]();\n }\n return this;\n}\n\n\nfunction stringSet (units, value) {\n if (typeof units === 'object') {\n units = normalizeObjectUnits(units);\n var prioritized = getPrioritizedUnits(units);\n for (var i = 0; i < prioritized.length; i++) {\n this[prioritized[i].unit](units[prioritized[i].unit]);\n }\n } else {\n units = normalizeUnits(units);\n if (isFunction(this[units])) {\n return this[units](value);\n }\n }\n return this;\n}\n\nfunction zeroFill(number, targetLength, forceSign) {\n var absNumber = '' + Math.abs(number),\n zerosToFill = targetLength - absNumber.length,\n sign = number >= 0;\n return (sign ? (forceSign ? '+' : '') : '-') +\n Math.pow(10, Math.max(0, zerosToFill)).toString().substr(1) + absNumber;\n}\n\nvar formattingTokens = /(\\[[^\\[]*\\])|(\\\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g;\n\nvar localFormattingTokens = /(\\[[^\\[]*\\])|(\\\\)?(LTS|LT|LL?L?L?|l{1,4})/g;\n\nvar formatFunctions = {};\n\nvar formatTokenFunctions = {};\n\n// token: 'M'\n// padded: ['MM', 2]\n// ordinal: 'Mo'\n// callback: function () { this.month() + 1 }\nfunction addFormatToken (token, padded, ordinal, callback) {\n var func = callback;\n if (typeof callback === 'string') {\n func = function () {\n return this[callback]();\n };\n }\n if (token) {\n formatTokenFunctions[token] = func;\n }\n if (padded) {\n formatTokenFunctions[padded[0]] = function () {\n return zeroFill(func.apply(this, arguments), padded[1], padded[2]);\n };\n }\n if (ordinal) {\n formatTokenFunctions[ordinal] = function () {\n return this.localeData().ordinal(func.apply(this, arguments), token);\n };\n }\n}\n\nfunction removeFormattingTokens(input) {\n if (input.match(/\\[[\\s\\S]/)) {\n return input.replace(/^\\[|\\]$/g, '');\n }\n return input.replace(/\\\\/g, '');\n}\n\nfunction makeFormatFunction(format) {\n var array = format.match(formattingTokens), i, length;\n\n for (i = 0, length = array.length; i < length; i++) {\n if (formatTokenFunctions[array[i]]) {\n array[i] = formatTokenFunctions[array[i]];\n } else {\n array[i] = removeFormattingTokens(array[i]);\n }\n }\n\n return function (mom) {\n var output = '', i;\n for (i = 0; i < length; i++) {\n output += array[i] instanceof Function ? array[i].call(mom, format) : array[i];\n }\n return output;\n };\n}\n\n// format date using native date object\nfunction formatMoment(m, format) {\n if (!m.isValid()) {\n return m.localeData().invalidDate();\n }\n\n format = expandFormat(format, m.localeData());\n formatFunctions[format] = formatFunctions[format] || makeFormatFunction(format);\n\n return formatFunctions[format](m);\n}\n\nfunction expandFormat(format, locale) {\n var i = 5;\n\n function replaceLongDateFormatTokens(input) {\n return locale.longDateFormat(input) || input;\n }\n\n localFormattingTokens.lastIndex = 0;\n while (i >= 0 && localFormattingTokens.test(format)) {\n format = format.replace(localFormattingTokens, replaceLongDateFormatTokens);\n localFormattingTokens.lastIndex = 0;\n i -= 1;\n }\n\n return format;\n}\n\nvar match1 = /\\d/; // 0 - 9\nvar match2 = /\\d\\d/; // 00 - 99\nvar match3 = /\\d{3}/; // 000 - 999\nvar match4 = /\\d{4}/; // 0000 - 9999\nvar match6 = /[+-]?\\d{6}/; // -999999 - 999999\nvar match1to2 = /\\d\\d?/; // 0 - 99\nvar match3to4 = /\\d\\d\\d\\d?/; // 999 - 9999\nvar match5to6 = /\\d\\d\\d\\d\\d\\d?/; // 99999 - 999999\nvar match1to3 = /\\d{1,3}/; // 0 - 999\nvar match1to4 = /\\d{1,4}/; // 0 - 9999\nvar match1to6 = /[+-]?\\d{1,6}/; // -999999 - 999999\n\nvar matchUnsigned = /\\d+/; // 0 - inf\nvar matchSigned = /[+-]?\\d+/; // -inf - inf\n\nvar matchOffset = /Z|[+-]\\d\\d:?\\d\\d/gi; // +00:00 -00:00 +0000 -0000 or Z\nvar matchShortOffset = /Z|[+-]\\d\\d(?::?\\d\\d)?/gi; // +00 -00 +00:00 -00:00 +0000 -0000 or Z\n\nvar matchTimestamp = /[+-]?\\d+(\\.\\d{1,3})?/; // 123456789 123456789.123\n\n// any word (or two) characters or numbers including two/three word month in arabic.\n// includes scottish gaelic two word and hyphenated months\nvar matchWord = /[0-9]*['a-z\\u00A0-\\u05FF\\u0700-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]+|[\\u0600-\\u06FF\\/]+(\\s*?[\\u0600-\\u06FF]+){1,2}/i;\n\n\nvar regexes = {};\n\nfunction addRegexToken (token, regex, strictRegex) {\n regexes[token] = isFunction(regex) ? regex : function (isStrict, localeData) {\n return (isStrict && strictRegex) ? strictRegex : regex;\n };\n}\n\nfunction getParseRegexForToken (token, config) {\n if (!hasOwnProp(regexes, token)) {\n return new RegExp(unescapeFormat(token));\n }\n\n return regexes[token](config._strict, config._locale);\n}\n\n// Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript\nfunction unescapeFormat(s) {\n return regexEscape(s.replace('\\\\', '').replace(/\\\\(\\[)|\\\\(\\])|\\[([^\\]\\[]*)\\]|\\\\(.)/g, function (matched, p1, p2, p3, p4) {\n return p1 || p2 || p3 || p4;\n }));\n}\n\nfunction regexEscape(s) {\n return s.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n}\n\nvar tokens = {};\n\nfunction addParseToken (token, callback) {\n var i, func = callback;\n if (typeof token === 'string') {\n token = [token];\n }\n if (isNumber(callback)) {\n func = function (input, array) {\n array[callback] = toInt(input);\n };\n }\n for (i = 0; i < token.length; i++) {\n tokens[token[i]] = func;\n }\n}\n\nfunction addWeekParseToken (token, callback) {\n addParseToken(token, function (input, array, config, token) {\n config._w = config._w || {};\n callback(input, config._w, config, token);\n });\n}\n\nfunction addTimeToArrayFromToken(token, input, config) {\n if (input != null && hasOwnProp(tokens, token)) {\n tokens[token](input, config._a, config, token);\n }\n}\n\nvar YEAR = 0;\nvar MONTH = 1;\nvar DATE = 2;\nvar HOUR = 3;\nvar MINUTE = 4;\nvar SECOND = 5;\nvar MILLISECOND = 6;\nvar WEEK = 7;\nvar WEEKDAY = 8;\n\nvar indexOf;\n\nif (Array.prototype.indexOf) {\n indexOf = Array.prototype.indexOf;\n} else {\n indexOf = function (o) {\n // I know\n var i;\n for (i = 0; i < this.length; ++i) {\n if (this[i] === o) {\n return i;\n }\n }\n return -1;\n };\n}\n\nvar indexOf$1 = indexOf;\n\nfunction daysInMonth(year, month) {\n return new Date(Date.UTC(year, month + 1, 0)).getUTCDate();\n}\n\n// FORMATTING\n\naddFormatToken('M', ['MM', 2], 'Mo', function () {\n return this.month() + 1;\n});\n\naddFormatToken('MMM', 0, 0, function (format) {\n return this.localeData().monthsShort(this, format);\n});\n\naddFormatToken('MMMM', 0, 0, function (format) {\n return this.localeData().months(this, format);\n});\n\n// ALIASES\n\naddUnitAlias('month', 'M');\n\n// PRIORITY\n\naddUnitPriority('month', 8);\n\n// PARSING\n\naddRegexToken('M', match1to2);\naddRegexToken('MM', match1to2, match2);\naddRegexToken('MMM', function (isStrict, locale) {\n return locale.monthsShortRegex(isStrict);\n});\naddRegexToken('MMMM', function (isStrict, locale) {\n return locale.monthsRegex(isStrict);\n});\n\naddParseToken(['M', 'MM'], function (input, array) {\n array[MONTH] = toInt(input) - 1;\n});\n\naddParseToken(['MMM', 'MMMM'], function (input, array, config, token) {\n var month = config._locale.monthsParse(input, token, config._strict);\n // if we didn't find a month name, mark the date as invalid.\n if (month != null) {\n array[MONTH] = month;\n } else {\n getParsingFlags(config).invalidMonth = input;\n }\n});\n\n// LOCALES\n\nvar MONTHS_IN_FORMAT = /D[oD]?(\\[[^\\[\\]]*\\]|\\s)+MMMM?/;\nvar defaultLocaleMonths = 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_');\nfunction localeMonths (m, format) {\n if (!m) {\n return this._months;\n }\n return isArray(this._months) ? this._months[m.month()] :\n this._months[(this._months.isFormat || MONTHS_IN_FORMAT).test(format) ? 'format' : 'standalone'][m.month()];\n}\n\nvar defaultLocaleMonthsShort = 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_');\nfunction localeMonthsShort (m, format) {\n if (!m) {\n return this._monthsShort;\n }\n return isArray(this._monthsShort) ? this._monthsShort[m.month()] :\n this._monthsShort[MONTHS_IN_FORMAT.test(format) ? 'format' : 'standalone'][m.month()];\n}\n\nfunction handleStrictParse(monthName, format, strict) {\n var i, ii, mom, llc = monthName.toLocaleLowerCase();\n if (!this._monthsParse) {\n // this is not used\n this._monthsParse = [];\n this._longMonthsParse = [];\n this._shortMonthsParse = [];\n for (i = 0; i < 12; ++i) {\n mom = createUTC([2000, i]);\n this._shortMonthsParse[i] = this.monthsShort(mom, '').toLocaleLowerCase();\n this._longMonthsParse[i] = this.months(mom, '').toLocaleLowerCase();\n }\n }\n\n if (strict) {\n if (format === 'MMM') {\n ii = indexOf$1.call(this._shortMonthsParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf$1.call(this._longMonthsParse, llc);\n return ii !== -1 ? ii : null;\n }\n } else {\n if (format === 'MMM') {\n ii = indexOf$1.call(this._shortMonthsParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf$1.call(this._longMonthsParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf$1.call(this._longMonthsParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf$1.call(this._shortMonthsParse, llc);\n return ii !== -1 ? ii : null;\n }\n }\n}\n\nfunction localeMonthsParse (monthName, format, strict) {\n var i, mom, regex;\n\n if (this._monthsParseExact) {\n return handleStrictParse.call(this, monthName, format, strict);\n }\n\n if (!this._monthsParse) {\n this._monthsParse = [];\n this._longMonthsParse = [];\n this._shortMonthsParse = [];\n }\n\n // TODO: add sorting\n // Sorting makes sure if one month (or abbr) is a prefix of another\n // see sorting in computeMonthsParse\n for (i = 0; i < 12; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, i]);\n if (strict && !this._longMonthsParse[i]) {\n this._longMonthsParse[i] = new RegExp('^' + this.months(mom, '').replace('.', '') + '$', 'i');\n this._shortMonthsParse[i] = new RegExp('^' + this.monthsShort(mom, '').replace('.', '') + '$', 'i');\n }\n if (!strict && !this._monthsParse[i]) {\n regex = '^' + this.months(mom, '') + '|^' + this.monthsShort(mom, '');\n this._monthsParse[i] = new RegExp(regex.replace('.', ''), 'i');\n }\n // test the regex\n if (strict && format === 'MMMM' && this._longMonthsParse[i].test(monthName)) {\n return i;\n } else if (strict && format === 'MMM' && this._shortMonthsParse[i].test(monthName)) {\n return i;\n } else if (!strict && this._monthsParse[i].test(monthName)) {\n return i;\n }\n }\n}\n\n// MOMENTS\n\nfunction setMonth (mom, value) {\n var dayOfMonth;\n\n if (!mom.isValid()) {\n // No op\n return mom;\n }\n\n if (typeof value === 'string') {\n if (/^\\d+$/.test(value)) {\n value = toInt(value);\n } else {\n value = mom.localeData().monthsParse(value);\n // TODO: Another silent failure?\n if (!isNumber(value)) {\n return mom;\n }\n }\n }\n\n dayOfMonth = Math.min(mom.date(), daysInMonth(mom.year(), value));\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + 'Month'](value, dayOfMonth);\n return mom;\n}\n\nfunction getSetMonth (value) {\n if (value != null) {\n setMonth(this, value);\n hooks.updateOffset(this, true);\n return this;\n } else {\n return get(this, 'Month');\n }\n}\n\nfunction getDaysInMonth () {\n return daysInMonth(this.year(), this.month());\n}\n\nvar defaultMonthsShortRegex = matchWord;\nfunction monthsShortRegex (isStrict) {\n if (this._monthsParseExact) {\n if (!hasOwnProp(this, '_monthsRegex')) {\n computeMonthsParse.call(this);\n }\n if (isStrict) {\n return this._monthsShortStrictRegex;\n } else {\n return this._monthsShortRegex;\n }\n } else {\n if (!hasOwnProp(this, '_monthsShortRegex')) {\n this._monthsShortRegex = defaultMonthsShortRegex;\n }\n return this._monthsShortStrictRegex && isStrict ?\n this._monthsShortStrictRegex : this._monthsShortRegex;\n }\n}\n\nvar defaultMonthsRegex = matchWord;\nfunction monthsRegex (isStrict) {\n if (this._monthsParseExact) {\n if (!hasOwnProp(this, '_monthsRegex')) {\n computeMonthsParse.call(this);\n }\n if (isStrict) {\n return this._monthsStrictRegex;\n } else {\n return this._monthsRegex;\n }\n } else {\n if (!hasOwnProp(this, '_monthsRegex')) {\n this._monthsRegex = defaultMonthsRegex;\n }\n return this._monthsStrictRegex && isStrict ?\n this._monthsStrictRegex : this._monthsRegex;\n }\n}\n\nfunction computeMonthsParse () {\n function cmpLenRev(a, b) {\n return b.length - a.length;\n }\n\n var shortPieces = [], longPieces = [], mixedPieces = [],\n i, mom;\n for (i = 0; i < 12; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, i]);\n shortPieces.push(this.monthsShort(mom, ''));\n longPieces.push(this.months(mom, ''));\n mixedPieces.push(this.months(mom, ''));\n mixedPieces.push(this.monthsShort(mom, ''));\n }\n // Sorting makes sure if one month (or abbr) is a prefix of another it\n // will match the longer piece.\n shortPieces.sort(cmpLenRev);\n longPieces.sort(cmpLenRev);\n mixedPieces.sort(cmpLenRev);\n for (i = 0; i < 12; i++) {\n shortPieces[i] = regexEscape(shortPieces[i]);\n longPieces[i] = regexEscape(longPieces[i]);\n }\n for (i = 0; i < 24; i++) {\n mixedPieces[i] = regexEscape(mixedPieces[i]);\n }\n\n this._monthsRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._monthsShortRegex = this._monthsRegex;\n this._monthsStrictRegex = new RegExp('^(' + longPieces.join('|') + ')', 'i');\n this._monthsShortStrictRegex = new RegExp('^(' + shortPieces.join('|') + ')', 'i');\n}\n\n// FORMATTING\n\naddFormatToken('Y', 0, 0, function () {\n var y = this.year();\n return y <= 9999 ? '' + y : '+' + y;\n});\n\naddFormatToken(0, ['YY', 2], 0, function () {\n return this.year() % 100;\n});\n\naddFormatToken(0, ['YYYY', 4], 0, 'year');\naddFormatToken(0, ['YYYYY', 5], 0, 'year');\naddFormatToken(0, ['YYYYYY', 6, true], 0, 'year');\n\n// ALIASES\n\naddUnitAlias('year', 'y');\n\n// PRIORITIES\n\naddUnitPriority('year', 1);\n\n// PARSING\n\naddRegexToken('Y', matchSigned);\naddRegexToken('YY', match1to2, match2);\naddRegexToken('YYYY', match1to4, match4);\naddRegexToken('YYYYY', match1to6, match6);\naddRegexToken('YYYYYY', match1to6, match6);\n\naddParseToken(['YYYYY', 'YYYYYY'], YEAR);\naddParseToken('YYYY', function (input, array) {\n array[YEAR] = input.length === 2 ? hooks.parseTwoDigitYear(input) : toInt(input);\n});\naddParseToken('YY', function (input, array) {\n array[YEAR] = hooks.parseTwoDigitYear(input);\n});\naddParseToken('Y', function (input, array) {\n array[YEAR] = parseInt(input, 10);\n});\n\n// HELPERS\n\nfunction daysInYear(year) {\n return isLeapYear(year) ? 366 : 365;\n}\n\nfunction isLeapYear(year) {\n return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;\n}\n\n// HOOKS\n\nhooks.parseTwoDigitYear = function (input) {\n return toInt(input) + (toInt(input) > 68 ? 1900 : 2000);\n};\n\n// MOMENTS\n\nvar getSetYear = makeGetSet('FullYear', true);\n\nfunction getIsLeapYear () {\n return isLeapYear(this.year());\n}\n\nfunction createDate (y, m, d, h, M, s, ms) {\n //can't just apply() to create a date:\n //http://stackoverflow.com/questions/181348/instantiating-a-javascript-object-by-calling-prototype-constructor-apply\n var date = new Date(y, m, d, h, M, s, ms);\n\n //the date constructor remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0 && isFinite(date.getFullYear())) {\n date.setFullYear(y);\n }\n return date;\n}\n\nfunction createUTCDate (y) {\n var date = new Date(Date.UTC.apply(null, arguments));\n\n //the Date.UTC function remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0 && isFinite(date.getUTCFullYear())) {\n date.setUTCFullYear(y);\n }\n return date;\n}\n\n// start-of-first-week - start-of-year\nfunction firstWeekOffset(year, dow, doy) {\n var // first-week day -- which january is always in the first week (4 for iso, 1 for other)\n fwd = 7 + dow - doy,\n // first-week day local weekday -- which local weekday is fwd\n fwdlw = (7 + createUTCDate(year, 0, fwd).getUTCDay() - dow) % 7;\n\n return -fwdlw + fwd - 1;\n}\n\n//http://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday\nfunction dayOfYearFromWeeks(year, week, weekday, dow, doy) {\n var localWeekday = (7 + weekday - dow) % 7,\n weekOffset = firstWeekOffset(year, dow, doy),\n dayOfYear = 1 + 7 * (week - 1) + localWeekday + weekOffset,\n resYear, resDayOfYear;\n\n if (dayOfYear <= 0) {\n resYear = year - 1;\n resDayOfYear = daysInYear(resYear) + dayOfYear;\n } else if (dayOfYear > daysInYear(year)) {\n resYear = year + 1;\n resDayOfYear = dayOfYear - daysInYear(year);\n } else {\n resYear = year;\n resDayOfYear = dayOfYear;\n }\n\n return {\n year: resYear,\n dayOfYear: resDayOfYear\n };\n}\n\nfunction weekOfYear(mom, dow, doy) {\n var weekOffset = firstWeekOffset(mom.year(), dow, doy),\n week = Math.floor((mom.dayOfYear() - weekOffset - 1) / 7) + 1,\n resWeek, resYear;\n\n if (week < 1) {\n resYear = mom.year() - 1;\n resWeek = week + weeksInYear(resYear, dow, doy);\n } else if (week > weeksInYear(mom.year(), dow, doy)) {\n resWeek = week - weeksInYear(mom.year(), dow, doy);\n resYear = mom.year() + 1;\n } else {\n resYear = mom.year();\n resWeek = week;\n }\n\n return {\n week: resWeek,\n year: resYear\n };\n}\n\nfunction weeksInYear(year, dow, doy) {\n var weekOffset = firstWeekOffset(year, dow, doy),\n weekOffsetNext = firstWeekOffset(year + 1, dow, doy);\n return (daysInYear(year) - weekOffset + weekOffsetNext) / 7;\n}\n\n// FORMATTING\n\naddFormatToken('w', ['ww', 2], 'wo', 'week');\naddFormatToken('W', ['WW', 2], 'Wo', 'isoWeek');\n\n// ALIASES\n\naddUnitAlias('week', 'w');\naddUnitAlias('isoWeek', 'W');\n\n// PRIORITIES\n\naddUnitPriority('week', 5);\naddUnitPriority('isoWeek', 5);\n\n// PARSING\n\naddRegexToken('w', match1to2);\naddRegexToken('ww', match1to2, match2);\naddRegexToken('W', match1to2);\naddRegexToken('WW', match1to2, match2);\n\naddWeekParseToken(['w', 'ww', 'W', 'WW'], function (input, week, config, token) {\n week[token.substr(0, 1)] = toInt(input);\n});\n\n// HELPERS\n\n// LOCALES\n\nfunction localeWeek (mom) {\n return weekOfYear(mom, this._week.dow, this._week.doy).week;\n}\n\nvar defaultLocaleWeek = {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n};\n\nfunction localeFirstDayOfWeek () {\n return this._week.dow;\n}\n\nfunction localeFirstDayOfYear () {\n return this._week.doy;\n}\n\n// MOMENTS\n\nfunction getSetWeek (input) {\n var week = this.localeData().week(this);\n return input == null ? week : this.add((input - week) * 7, 'd');\n}\n\nfunction getSetISOWeek (input) {\n var week = weekOfYear(this, 1, 4).week;\n return input == null ? week : this.add((input - week) * 7, 'd');\n}\n\n// FORMATTING\n\naddFormatToken('d', 0, 'do', 'day');\n\naddFormatToken('dd', 0, 0, function (format) {\n return this.localeData().weekdaysMin(this, format);\n});\n\naddFormatToken('ddd', 0, 0, function (format) {\n return this.localeData().weekdaysShort(this, format);\n});\n\naddFormatToken('dddd', 0, 0, function (format) {\n return this.localeData().weekdays(this, format);\n});\n\naddFormatToken('e', 0, 0, 'weekday');\naddFormatToken('E', 0, 0, 'isoWeekday');\n\n// ALIASES\n\naddUnitAlias('day', 'd');\naddUnitAlias('weekday', 'e');\naddUnitAlias('isoWeekday', 'E');\n\n// PRIORITY\naddUnitPriority('day', 11);\naddUnitPriority('weekday', 11);\naddUnitPriority('isoWeekday', 11);\n\n// PARSING\n\naddRegexToken('d', match1to2);\naddRegexToken('e', match1to2);\naddRegexToken('E', match1to2);\naddRegexToken('dd', function (isStrict, locale) {\n return locale.weekdaysMinRegex(isStrict);\n});\naddRegexToken('ddd', function (isStrict, locale) {\n return locale.weekdaysShortRegex(isStrict);\n});\naddRegexToken('dddd', function (isStrict, locale) {\n return locale.weekdaysRegex(isStrict);\n});\n\naddWeekParseToken(['dd', 'ddd', 'dddd'], function (input, week, config, token) {\n var weekday = config._locale.weekdaysParse(input, token, config._strict);\n // if we didn't get a weekday name, mark the date as invalid\n if (weekday != null) {\n week.d = weekday;\n } else {\n getParsingFlags(config).invalidWeekday = input;\n }\n});\n\naddWeekParseToken(['d', 'e', 'E'], function (input, week, config, token) {\n week[token] = toInt(input);\n});\n\n// HELPERS\n\nfunction parseWeekday(input, locale) {\n if (typeof input !== 'string') {\n return input;\n }\n\n if (!isNaN(input)) {\n return parseInt(input, 10);\n }\n\n input = locale.weekdaysParse(input);\n if (typeof input === 'number') {\n return input;\n }\n\n return null;\n}\n\nfunction parseIsoWeekday(input, locale) {\n if (typeof input === 'string') {\n return locale.weekdaysParse(input) % 7 || 7;\n }\n return isNaN(input) ? null : input;\n}\n\n// LOCALES\n\nvar defaultLocaleWeekdays = 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_');\nfunction localeWeekdays (m, format) {\n if (!m) {\n return this._weekdays;\n }\n return isArray(this._weekdays) ? this._weekdays[m.day()] :\n this._weekdays[this._weekdays.isFormat.test(format) ? 'format' : 'standalone'][m.day()];\n}\n\nvar defaultLocaleWeekdaysShort = 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_');\nfunction localeWeekdaysShort (m) {\n return (m) ? this._weekdaysShort[m.day()] : this._weekdaysShort;\n}\n\nvar defaultLocaleWeekdaysMin = 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_');\nfunction localeWeekdaysMin (m) {\n return (m) ? this._weekdaysMin[m.day()] : this._weekdaysMin;\n}\n\nfunction handleStrictParse$1(weekdayName, format, strict) {\n var i, ii, mom, llc = weekdayName.toLocaleLowerCase();\n if (!this._weekdaysParse) {\n this._weekdaysParse = [];\n this._shortWeekdaysParse = [];\n this._minWeekdaysParse = [];\n\n for (i = 0; i < 7; ++i) {\n mom = createUTC([2000, 1]).day(i);\n this._minWeekdaysParse[i] = this.weekdaysMin(mom, '').toLocaleLowerCase();\n this._shortWeekdaysParse[i] = this.weekdaysShort(mom, '').toLocaleLowerCase();\n this._weekdaysParse[i] = this.weekdays(mom, '').toLocaleLowerCase();\n }\n }\n\n if (strict) {\n if (format === 'dddd') {\n ii = indexOf$1.call(this._weekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else if (format === 'ddd') {\n ii = indexOf$1.call(this._shortWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf$1.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n }\n } else {\n if (format === 'dddd') {\n ii = indexOf$1.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf$1.call(this._shortWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf$1.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else if (format === 'ddd') {\n ii = indexOf$1.call(this._shortWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf$1.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf$1.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf$1.call(this._minWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf$1.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf$1.call(this._shortWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n }\n }\n}\n\nfunction localeWeekdaysParse (weekdayName, format, strict) {\n var i, mom, regex;\n\n if (this._weekdaysParseExact) {\n return handleStrictParse$1.call(this, weekdayName, format, strict);\n }\n\n if (!this._weekdaysParse) {\n this._weekdaysParse = [];\n this._minWeekdaysParse = [];\n this._shortWeekdaysParse = [];\n this._fullWeekdaysParse = [];\n }\n\n for (i = 0; i < 7; i++) {\n // make the regex if we don't have it already\n\n mom = createUTC([2000, 1]).day(i);\n if (strict && !this._fullWeekdaysParse[i]) {\n this._fullWeekdaysParse[i] = new RegExp('^' + this.weekdays(mom, '').replace('.', '\\.?') + '$', 'i');\n this._shortWeekdaysParse[i] = new RegExp('^' + this.weekdaysShort(mom, '').replace('.', '\\.?') + '$', 'i');\n this._minWeekdaysParse[i] = new RegExp('^' + this.weekdaysMin(mom, '').replace('.', '\\.?') + '$', 'i');\n }\n if (!this._weekdaysParse[i]) {\n regex = '^' + this.weekdays(mom, '') + '|^' + this.weekdaysShort(mom, '') + '|^' + this.weekdaysMin(mom, '');\n this._weekdaysParse[i] = new RegExp(regex.replace('.', ''), 'i');\n }\n // test the regex\n if (strict && format === 'dddd' && this._fullWeekdaysParse[i].test(weekdayName)) {\n return i;\n } else if (strict && format === 'ddd' && this._shortWeekdaysParse[i].test(weekdayName)) {\n return i;\n } else if (strict && format === 'dd' && this._minWeekdaysParse[i].test(weekdayName)) {\n return i;\n } else if (!strict && this._weekdaysParse[i].test(weekdayName)) {\n return i;\n }\n }\n}\n\n// MOMENTS\n\nfunction getSetDayOfWeek (input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n var day = this._isUTC ? this._d.getUTCDay() : this._d.getDay();\n if (input != null) {\n input = parseWeekday(input, this.localeData());\n return this.add(input - day, 'd');\n } else {\n return day;\n }\n}\n\nfunction getSetLocaleDayOfWeek (input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n var weekday = (this.day() + 7 - this.localeData()._week.dow) % 7;\n return input == null ? weekday : this.add(input - weekday, 'd');\n}\n\nfunction getSetISODayOfWeek (input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n\n // behaves the same as moment#day except\n // as a getter, returns 7 instead of 0 (1-7 range instead of 0-6)\n // as a setter, sunday should belong to the previous week.\n\n if (input != null) {\n var weekday = parseIsoWeekday(input, this.localeData());\n return this.day(this.day() % 7 ? weekday : weekday - 7);\n } else {\n return this.day() || 7;\n }\n}\n\nvar defaultWeekdaysRegex = matchWord;\nfunction weekdaysRegex (isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysStrictRegex;\n } else {\n return this._weekdaysRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n this._weekdaysRegex = defaultWeekdaysRegex;\n }\n return this._weekdaysStrictRegex && isStrict ?\n this._weekdaysStrictRegex : this._weekdaysRegex;\n }\n}\n\nvar defaultWeekdaysShortRegex = matchWord;\nfunction weekdaysShortRegex (isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysShortStrictRegex;\n } else {\n return this._weekdaysShortRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysShortRegex')) {\n this._weekdaysShortRegex = defaultWeekdaysShortRegex;\n }\n return this._weekdaysShortStrictRegex && isStrict ?\n this._weekdaysShortStrictRegex : this._weekdaysShortRegex;\n }\n}\n\nvar defaultWeekdaysMinRegex = matchWord;\nfunction weekdaysMinRegex (isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysMinStrictRegex;\n } else {\n return this._weekdaysMinRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysMinRegex')) {\n this._weekdaysMinRegex = defaultWeekdaysMinRegex;\n }\n return this._weekdaysMinStrictRegex && isStrict ?\n this._weekdaysMinStrictRegex : this._weekdaysMinRegex;\n }\n}\n\n\nfunction computeWeekdaysParse () {\n function cmpLenRev(a, b) {\n return b.length - a.length;\n }\n\n var minPieces = [], shortPieces = [], longPieces = [], mixedPieces = [],\n i, mom, minp, shortp, longp;\n for (i = 0; i < 7; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, 1]).day(i);\n minp = this.weekdaysMin(mom, '');\n shortp = this.weekdaysShort(mom, '');\n longp = this.weekdays(mom, '');\n minPieces.push(minp);\n shortPieces.push(shortp);\n longPieces.push(longp);\n mixedPieces.push(minp);\n mixedPieces.push(shortp);\n mixedPieces.push(longp);\n }\n // Sorting makes sure if one weekday (or abbr) is a prefix of another it\n // will match the longer piece.\n minPieces.sort(cmpLenRev);\n shortPieces.sort(cmpLenRev);\n longPieces.sort(cmpLenRev);\n mixedPieces.sort(cmpLenRev);\n for (i = 0; i < 7; i++) {\n shortPieces[i] = regexEscape(shortPieces[i]);\n longPieces[i] = regexEscape(longPieces[i]);\n mixedPieces[i] = regexEscape(mixedPieces[i]);\n }\n\n this._weekdaysRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._weekdaysShortRegex = this._weekdaysRegex;\n this._weekdaysMinRegex = this._weekdaysRegex;\n\n this._weekdaysStrictRegex = new RegExp('^(' + longPieces.join('|') + ')', 'i');\n this._weekdaysShortStrictRegex = new RegExp('^(' + shortPieces.join('|') + ')', 'i');\n this._weekdaysMinStrictRegex = new RegExp('^(' + minPieces.join('|') + ')', 'i');\n}\n\n// FORMATTING\n\nfunction hFormat() {\n return this.hours() % 12 || 12;\n}\n\nfunction kFormat() {\n return this.hours() || 24;\n}\n\naddFormatToken('H', ['HH', 2], 0, 'hour');\naddFormatToken('h', ['hh', 2], 0, hFormat);\naddFormatToken('k', ['kk', 2], 0, kFormat);\n\naddFormatToken('hmm', 0, 0, function () {\n return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2);\n});\n\naddFormatToken('hmmss', 0, 0, function () {\n return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2) +\n zeroFill(this.seconds(), 2);\n});\n\naddFormatToken('Hmm', 0, 0, function () {\n return '' + this.hours() + zeroFill(this.minutes(), 2);\n});\n\naddFormatToken('Hmmss', 0, 0, function () {\n return '' + this.hours() + zeroFill(this.minutes(), 2) +\n zeroFill(this.seconds(), 2);\n});\n\nfunction meridiem (token, lowercase) {\n addFormatToken(token, 0, 0, function () {\n return this.localeData().meridiem(this.hours(), this.minutes(), lowercase);\n });\n}\n\nmeridiem('a', true);\nmeridiem('A', false);\n\n// ALIASES\n\naddUnitAlias('hour', 'h');\n\n// PRIORITY\naddUnitPriority('hour', 13);\n\n// PARSING\n\nfunction matchMeridiem (isStrict, locale) {\n return locale._meridiemParse;\n}\n\naddRegexToken('a', matchMeridiem);\naddRegexToken('A', matchMeridiem);\naddRegexToken('H', match1to2);\naddRegexToken('h', match1to2);\naddRegexToken('HH', match1to2, match2);\naddRegexToken('hh', match1to2, match2);\n\naddRegexToken('hmm', match3to4);\naddRegexToken('hmmss', match5to6);\naddRegexToken('Hmm', match3to4);\naddRegexToken('Hmmss', match5to6);\n\naddParseToken(['H', 'HH'], HOUR);\naddParseToken(['a', 'A'], function (input, array, config) {\n config._isPm = config._locale.isPM(input);\n config._meridiem = input;\n});\naddParseToken(['h', 'hh'], function (input, array, config) {\n array[HOUR] = toInt(input);\n getParsingFlags(config).bigHour = true;\n});\naddParseToken('hmm', function (input, array, config) {\n var pos = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos));\n array[MINUTE] = toInt(input.substr(pos));\n getParsingFlags(config).bigHour = true;\n});\naddParseToken('hmmss', function (input, array, config) {\n var pos1 = input.length - 4;\n var pos2 = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos1));\n array[MINUTE] = toInt(input.substr(pos1, 2));\n array[SECOND] = toInt(input.substr(pos2));\n getParsingFlags(config).bigHour = true;\n});\naddParseToken('Hmm', function (input, array, config) {\n var pos = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos));\n array[MINUTE] = toInt(input.substr(pos));\n});\naddParseToken('Hmmss', function (input, array, config) {\n var pos1 = input.length - 4;\n var pos2 = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos1));\n array[MINUTE] = toInt(input.substr(pos1, 2));\n array[SECOND] = toInt(input.substr(pos2));\n});\n\n// LOCALES\n\nfunction localeIsPM (input) {\n // IE8 Quirks Mode & IE7 Standards Mode do not allow accessing strings like arrays\n // Using charAt should be more compatible.\n return ((input + '').toLowerCase().charAt(0) === 'p');\n}\n\nvar defaultLocaleMeridiemParse = /[ap]\\.?m?\\.?/i;\nfunction localeMeridiem (hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'pm' : 'PM';\n } else {\n return isLower ? 'am' : 'AM';\n }\n}\n\n\n// MOMENTS\n\n// Setting the hour should keep the time, because the user explicitly\n// specified which hour he wants. So trying to maintain the same hour (in\n// a new timezone) makes sense. Adding/subtracting hours does not follow\n// this rule.\nvar getSetHour = makeGetSet('Hours', true);\n\n// months\n// week\n// weekdays\n// meridiem\nvar baseConfig = {\n calendar: defaultCalendar,\n longDateFormat: defaultLongDateFormat,\n invalidDate: defaultInvalidDate,\n ordinal: defaultOrdinal,\n ordinalParse: defaultOrdinalParse,\n relativeTime: defaultRelativeTime,\n\n months: defaultLocaleMonths,\n monthsShort: defaultLocaleMonthsShort,\n\n week: defaultLocaleWeek,\n\n weekdays: defaultLocaleWeekdays,\n weekdaysMin: defaultLocaleWeekdaysMin,\n weekdaysShort: defaultLocaleWeekdaysShort,\n\n meridiemParse: defaultLocaleMeridiemParse\n};\n\n// internal storage for locale config files\nvar locales = {};\nvar localeFamilies = {};\nvar globalLocale;\n\nfunction normalizeLocale(key) {\n return key ? key.toLowerCase().replace('_', '-') : key;\n}\n\n// pick the locale from the array\n// try ['en-au', 'en-gb'] as 'en-au', 'en-gb', 'en', as in move through the list trying each\n// substring from most specific to least, but move to the next array item if it's a more specific variant than the current root\nfunction chooseLocale(names) {\n var i = 0, j, next, locale, split;\n\n while (i < names.length) {\n split = normalizeLocale(names[i]).split('-');\n j = split.length;\n next = normalizeLocale(names[i + 1]);\n next = next ? next.split('-') : null;\n while (j > 0) {\n locale = loadLocale(split.slice(0, j).join('-'));\n if (locale) {\n return locale;\n }\n if (next && next.length >= j && compareArrays(split, next, true) >= j - 1) {\n //the next array item is better than a shallower substring of this one\n break;\n }\n j--;\n }\n i++;\n }\n return null;\n}\n\nfunction loadLocale(name) {\n var oldLocale = null;\n // TODO: Find a better way to register and load all the locales in Node\n if (!locales[name] && (typeof module !== 'undefined') &&\n module && module.exports) {\n try {\n oldLocale = globalLocale._abbr;\n require('./locale/' + name);\n // because defineLocale currently also sets the global locale, we\n // want to undo that for lazy loaded locales\n getSetGlobalLocale(oldLocale);\n } catch (e) { }\n }\n return locales[name];\n}\n\n// This function will load locale and then set the global locale. If\n// no arguments are passed in, it will simply return the current global\n// locale key.\nfunction getSetGlobalLocale (key, values) {\n var data;\n if (key) {\n if (isUndefined(values)) {\n data = getLocale(key);\n }\n else {\n data = defineLocale(key, values);\n }\n\n if (data) {\n // moment.duration._locale = moment._locale = data;\n globalLocale = data;\n }\n }\n\n return globalLocale._abbr;\n}\n\nfunction defineLocale (name, config) {\n if (config !== null) {\n var parentConfig = baseConfig;\n config.abbr = name;\n if (locales[name] != null) {\n deprecateSimple('defineLocaleOverride',\n 'use moment.updateLocale(localeName, config) to change ' +\n 'an existing locale. moment.defineLocale(localeName, ' +\n 'config) should only be used for creating a new locale ' +\n 'See http://momentjs.com/guides/#/warnings/define-locale/ for more info.');\n parentConfig = locales[name]._config;\n } else if (config.parentLocale != null) {\n if (locales[config.parentLocale] != null) {\n parentConfig = locales[config.parentLocale]._config;\n } else {\n if (!localeFamilies[config.parentLocale]) {\n localeFamilies[config.parentLocale] = [];\n }\n localeFamilies[config.parentLocale].push({\n name: name,\n config: config\n });\n return null;\n }\n }\n locales[name] = new Locale(mergeConfigs(parentConfig, config));\n\n if (localeFamilies[name]) {\n localeFamilies[name].forEach(function (x) {\n defineLocale(x.name, x.config);\n });\n }\n\n // backwards compat for now: also set the locale\n // make sure we set the locale AFTER all child locales have been\n // created, so we won't end up with the child locale set.\n getSetGlobalLocale(name);\n\n\n return locales[name];\n } else {\n // useful for testing\n delete locales[name];\n return null;\n }\n}\n\nfunction updateLocale(name, config) {\n if (config != null) {\n var locale, parentConfig = baseConfig;\n // MERGE\n if (locales[name] != null) {\n parentConfig = locales[name]._config;\n }\n config = mergeConfigs(parentConfig, config);\n locale = new Locale(config);\n locale.parentLocale = locales[name];\n locales[name] = locale;\n\n // backwards compat for now: also set the locale\n getSetGlobalLocale(name);\n } else {\n // pass null for config to unupdate, useful for tests\n if (locales[name] != null) {\n if (locales[name].parentLocale != null) {\n locales[name] = locales[name].parentLocale;\n } else if (locales[name] != null) {\n delete locales[name];\n }\n }\n }\n return locales[name];\n}\n\n// returns locale data\nfunction getLocale (key) {\n var locale;\n\n if (key && key._locale && key._locale._abbr) {\n key = key._locale._abbr;\n }\n\n if (!key) {\n return globalLocale;\n }\n\n if (!isArray(key)) {\n //short-circuit everything else\n locale = loadLocale(key);\n if (locale) {\n return locale;\n }\n key = [key];\n }\n\n return chooseLocale(key);\n}\n\nfunction listLocales() {\n return keys$1(locales);\n}\n\nfunction checkOverflow (m) {\n var overflow;\n var a = m._a;\n\n if (a && getParsingFlags(m).overflow === -2) {\n overflow =\n a[MONTH] < 0 || a[MONTH] > 11 ? MONTH :\n a[DATE] < 1 || a[DATE] > daysInMonth(a[YEAR], a[MONTH]) ? DATE :\n a[HOUR] < 0 || a[HOUR] > 24 || (a[HOUR] === 24 && (a[MINUTE] !== 0 || a[SECOND] !== 0 || a[MILLISECOND] !== 0)) ? HOUR :\n a[MINUTE] < 0 || a[MINUTE] > 59 ? MINUTE :\n a[SECOND] < 0 || a[SECOND] > 59 ? SECOND :\n a[MILLISECOND] < 0 || a[MILLISECOND] > 999 ? MILLISECOND :\n -1;\n\n if (getParsingFlags(m)._overflowDayOfYear && (overflow < YEAR || overflow > DATE)) {\n overflow = DATE;\n }\n if (getParsingFlags(m)._overflowWeeks && overflow === -1) {\n overflow = WEEK;\n }\n if (getParsingFlags(m)._overflowWeekday && overflow === -1) {\n overflow = WEEKDAY;\n }\n\n getParsingFlags(m).overflow = overflow;\n }\n\n return m;\n}\n\n// iso 8601 regex\n// 0000-00-00 0000-W00 or 0000-W00-0 + T + 00 or 00:00 or 00:00:00 or 00:00:00.000 + +00:00 or +0000 or +00)\nvar extendedIsoRegex = /^\\s*((?:[+-]\\d{6}|\\d{4})-(?:\\d\\d-\\d\\d|W\\d\\d-\\d|W\\d\\d|\\d\\d\\d|\\d\\d))(?:(T| )(\\d\\d(?::\\d\\d(?::\\d\\d(?:[.,]\\d+)?)?)?)([\\+\\-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/;\nvar basicIsoRegex = /^\\s*((?:[+-]\\d{6}|\\d{4})(?:\\d\\d\\d\\d|W\\d\\d\\d|W\\d\\d|\\d\\d\\d|\\d\\d))(?:(T| )(\\d\\d(?:\\d\\d(?:\\d\\d(?:[.,]\\d+)?)?)?)([\\+\\-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/;\n\nvar tzRegex = /Z|[+-]\\d\\d(?::?\\d\\d)?/;\n\nvar isoDates = [\n ['YYYYYY-MM-DD', /[+-]\\d{6}-\\d\\d-\\d\\d/],\n ['YYYY-MM-DD', /\\d{4}-\\d\\d-\\d\\d/],\n ['GGGG-[W]WW-E', /\\d{4}-W\\d\\d-\\d/],\n ['GGGG-[W]WW', /\\d{4}-W\\d\\d/, false],\n ['YYYY-DDD', /\\d{4}-\\d{3}/],\n ['YYYY-MM', /\\d{4}-\\d\\d/, false],\n ['YYYYYYMMDD', /[+-]\\d{10}/],\n ['YYYYMMDD', /\\d{8}/],\n // YYYYMM is NOT allowed by the standard\n ['GGGG[W]WWE', /\\d{4}W\\d{3}/],\n ['GGGG[W]WW', /\\d{4}W\\d{2}/, false],\n ['YYYYDDD', /\\d{7}/]\n];\n\n// iso time formats and regexes\nvar isoTimes = [\n ['HH:mm:ss.SSSS', /\\d\\d:\\d\\d:\\d\\d\\.\\d+/],\n ['HH:mm:ss,SSSS', /\\d\\d:\\d\\d:\\d\\d,\\d+/],\n ['HH:mm:ss', /\\d\\d:\\d\\d:\\d\\d/],\n ['HH:mm', /\\d\\d:\\d\\d/],\n ['HHmmss.SSSS', /\\d\\d\\d\\d\\d\\d\\.\\d+/],\n ['HHmmss,SSSS', /\\d\\d\\d\\d\\d\\d,\\d+/],\n ['HHmmss', /\\d\\d\\d\\d\\d\\d/],\n ['HHmm', /\\d\\d\\d\\d/],\n ['HH', /\\d\\d/]\n];\n\nvar aspNetJsonRegex = /^\\/?Date\\((\\-?\\d+)/i;\n\n// date from iso format\nfunction configFromISO(config) {\n var i, l,\n string = config._i,\n match = extendedIsoRegex.exec(string) || basicIsoRegex.exec(string),\n allowTime, dateFormat, timeFormat, tzFormat;\n\n if (match) {\n getParsingFlags(config).iso = true;\n\n for (i = 0, l = isoDates.length; i < l; i++) {\n if (isoDates[i][1].exec(match[1])) {\n dateFormat = isoDates[i][0];\n allowTime = isoDates[i][2] !== false;\n break;\n }\n }\n if (dateFormat == null) {\n config._isValid = false;\n return;\n }\n if (match[3]) {\n for (i = 0, l = isoTimes.length; i < l; i++) {\n if (isoTimes[i][1].exec(match[3])) {\n // match[2] should be 'T' or space\n timeFormat = (match[2] || ' ') + isoTimes[i][0];\n break;\n }\n }\n if (timeFormat == null) {\n config._isValid = false;\n return;\n }\n }\n if (!allowTime && timeFormat != null) {\n config._isValid = false;\n return;\n }\n if (match[4]) {\n if (tzRegex.exec(match[4])) {\n tzFormat = 'Z';\n } else {\n config._isValid = false;\n return;\n }\n }\n config._f = dateFormat + (timeFormat || '') + (tzFormat || '');\n configFromStringAndFormat(config);\n } else {\n config._isValid = false;\n }\n}\n\n// date from iso format or fallback\nfunction configFromString(config) {\n var matched = aspNetJsonRegex.exec(config._i);\n\n if (matched !== null) {\n config._d = new Date(+matched[1]);\n return;\n }\n\n configFromISO(config);\n if (config._isValid === false) {\n delete config._isValid;\n hooks.createFromInputFallback(config);\n }\n}\n\nhooks.createFromInputFallback = deprecate(\n 'value provided is not in a recognized ISO format. moment construction falls back to js Date(), ' +\n 'which is not reliable across all browsers and versions. Non ISO date formats are ' +\n 'discouraged and will be removed in an upcoming major release. Please refer to ' +\n 'http://momentjs.com/guides/#/warnings/js-date/ for more info.',\n function (config) {\n config._d = new Date(config._i + (config._useUTC ? ' UTC' : ''));\n }\n);\n\n// Pick the first defined of two or three arguments.\nfunction defaults(a, b, c) {\n if (a != null) {\n return a;\n }\n if (b != null) {\n return b;\n }\n return c;\n}\n\nfunction currentDateArray(config) {\n // hooks is actually the exported moment object\n var nowValue = new Date(hooks.now());\n if (config._useUTC) {\n return [nowValue.getUTCFullYear(), nowValue.getUTCMonth(), nowValue.getUTCDate()];\n }\n return [nowValue.getFullYear(), nowValue.getMonth(), nowValue.getDate()];\n}\n\n// convert an array to a date.\n// the array should mirror the parameters below\n// note: all values past the year are optional and will default to the lowest possible value.\n// [year, month, day , hour, minute, second, millisecond]\nfunction configFromArray (config) {\n var i, date, input = [], currentDate, yearToUse;\n\n if (config._d) {\n return;\n }\n\n currentDate = currentDateArray(config);\n\n //compute day of the year from weeks and weekdays\n if (config._w && config._a[DATE] == null && config._a[MONTH] == null) {\n dayOfYearFromWeekInfo(config);\n }\n\n //if the day of the year is set, figure out what it is\n if (config._dayOfYear) {\n yearToUse = defaults(config._a[YEAR], currentDate[YEAR]);\n\n if (config._dayOfYear > daysInYear(yearToUse)) {\n getParsingFlags(config)._overflowDayOfYear = true;\n }\n\n date = createUTCDate(yearToUse, 0, config._dayOfYear);\n config._a[MONTH] = date.getUTCMonth();\n config._a[DATE] = date.getUTCDate();\n }\n\n // Default to current date.\n // * if no year, month, day of month are given, default to today\n // * if day of month is given, default month and year\n // * if month is given, default only year\n // * if year is given, don't default anything\n for (i = 0; i < 3 && config._a[i] == null; ++i) {\n config._a[i] = input[i] = currentDate[i];\n }\n\n // Zero out whatever was not defaulted, including time\n for (; i < 7; i++) {\n config._a[i] = input[i] = (config._a[i] == null) ? (i === 2 ? 1 : 0) : config._a[i];\n }\n\n // Check for 24:00:00.000\n if (config._a[HOUR] === 24 &&\n config._a[MINUTE] === 0 &&\n config._a[SECOND] === 0 &&\n config._a[MILLISECOND] === 0) {\n config._nextDay = true;\n config._a[HOUR] = 0;\n }\n\n config._d = (config._useUTC ? createUTCDate : createDate).apply(null, input);\n // Apply timezone offset from input. The actual utcOffset can be changed\n // with parseZone.\n if (config._tzm != null) {\n config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n }\n\n if (config._nextDay) {\n config._a[HOUR] = 24;\n }\n}\n\nfunction dayOfYearFromWeekInfo(config) {\n var w, weekYear, week, weekday, dow, doy, temp, weekdayOverflow;\n\n w = config._w;\n if (w.GG != null || w.W != null || w.E != null) {\n dow = 1;\n doy = 4;\n\n // TODO: We need to take the current isoWeekYear, but that depends on\n // how we interpret now (local, utc, fixed offset). So create\n // a now version of current config (take local/utc/offset flags, and\n // create now).\n weekYear = defaults(w.GG, config._a[YEAR], weekOfYear(createLocal(), 1, 4).year);\n week = defaults(w.W, 1);\n weekday = defaults(w.E, 1);\n if (weekday < 1 || weekday > 7) {\n weekdayOverflow = true;\n }\n } else {\n dow = config._locale._week.dow;\n doy = config._locale._week.doy;\n\n var curWeek = weekOfYear(createLocal(), dow, doy);\n\n weekYear = defaults(w.gg, config._a[YEAR], curWeek.year);\n\n // Default to current week.\n week = defaults(w.w, curWeek.week);\n\n if (w.d != null) {\n // weekday -- low day numbers are considered next week\n weekday = w.d;\n if (weekday < 0 || weekday > 6) {\n weekdayOverflow = true;\n }\n } else if (w.e != null) {\n // local weekday -- counting starts from begining of week\n weekday = w.e + dow;\n if (w.e < 0 || w.e > 6) {\n weekdayOverflow = true;\n }\n } else {\n // default to begining of week\n weekday = dow;\n }\n }\n if (week < 1 || week > weeksInYear(weekYear, dow, doy)) {\n getParsingFlags(config)._overflowWeeks = true;\n } else if (weekdayOverflow != null) {\n getParsingFlags(config)._overflowWeekday = true;\n } else {\n temp = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy);\n config._a[YEAR] = temp.year;\n config._dayOfYear = temp.dayOfYear;\n }\n}\n\n// constant that refers to the ISO standard\nhooks.ISO_8601 = function () {};\n\n// date from string and format string\nfunction configFromStringAndFormat(config) {\n // TODO: Move this to another part of the creation flow to prevent circular deps\n if (config._f === hooks.ISO_8601) {\n configFromISO(config);\n return;\n }\n\n config._a = [];\n getParsingFlags(config).empty = true;\n\n // This array is used to make a Date, either with `new Date` or `Date.UTC`\n var string = '' + config._i,\n i, parsedInput, tokens, token, skipped,\n stringLength = string.length,\n totalParsedInputLength = 0;\n\n tokens = expandFormat(config._f, config._locale).match(formattingTokens) || [];\n\n for (i = 0; i < tokens.length; i++) {\n token = tokens[i];\n parsedInput = (string.match(getParseRegexForToken(token, config)) || [])[0];\n // console.log('token', token, 'parsedInput', parsedInput,\n // 'regex', getParseRegexForToken(token, config));\n if (parsedInput) {\n skipped = string.substr(0, string.indexOf(parsedInput));\n if (skipped.length > 0) {\n getParsingFlags(config).unusedInput.push(skipped);\n }\n string = string.slice(string.indexOf(parsedInput) + parsedInput.length);\n totalParsedInputLength += parsedInput.length;\n }\n // don't parse if it's not a known token\n if (formatTokenFunctions[token]) {\n if (parsedInput) {\n getParsingFlags(config).empty = false;\n }\n else {\n getParsingFlags(config).unusedTokens.push(token);\n }\n addTimeToArrayFromToken(token, parsedInput, config);\n }\n else if (config._strict && !parsedInput) {\n getParsingFlags(config).unusedTokens.push(token);\n }\n }\n\n // add remaining unparsed input length to the string\n getParsingFlags(config).charsLeftOver = stringLength - totalParsedInputLength;\n if (string.length > 0) {\n getParsingFlags(config).unusedInput.push(string);\n }\n\n // clear _12h flag if hour is <= 12\n if (config._a[HOUR] <= 12 &&\n getParsingFlags(config).bigHour === true &&\n config._a[HOUR] > 0) {\n getParsingFlags(config).bigHour = undefined;\n }\n\n getParsingFlags(config).parsedDateParts = config._a.slice(0);\n getParsingFlags(config).meridiem = config._meridiem;\n // handle meridiem\n config._a[HOUR] = meridiemFixWrap(config._locale, config._a[HOUR], config._meridiem);\n\n configFromArray(config);\n checkOverflow(config);\n}\n\n\nfunction meridiemFixWrap (locale, hour, meridiem) {\n var isPm;\n\n if (meridiem == null) {\n // nothing to do\n return hour;\n }\n if (locale.meridiemHour != null) {\n return locale.meridiemHour(hour, meridiem);\n } else if (locale.isPM != null) {\n // Fallback\n isPm = locale.isPM(meridiem);\n if (isPm && hour < 12) {\n hour += 12;\n }\n if (!isPm && hour === 12) {\n hour = 0;\n }\n return hour;\n } else {\n // this is not supposed to happen\n return hour;\n }\n}\n\n// date from string and array of format strings\nfunction configFromStringAndArray(config) {\n var tempConfig,\n bestMoment,\n\n scoreToBeat,\n i,\n currentScore;\n\n if (config._f.length === 0) {\n getParsingFlags(config).invalidFormat = true;\n config._d = new Date(NaN);\n return;\n }\n\n for (i = 0; i < config._f.length; i++) {\n currentScore = 0;\n tempConfig = copyConfig({}, config);\n if (config._useUTC != null) {\n tempConfig._useUTC = config._useUTC;\n }\n tempConfig._f = config._f[i];\n configFromStringAndFormat(tempConfig);\n\n if (!isValid(tempConfig)) {\n continue;\n }\n\n // if there is any input that was not parsed add a penalty for that format\n currentScore += getParsingFlags(tempConfig).charsLeftOver;\n\n //or tokens\n currentScore += getParsingFlags(tempConfig).unusedTokens.length * 10;\n\n getParsingFlags(tempConfig).score = currentScore;\n\n if (scoreToBeat == null || currentScore < scoreToBeat) {\n scoreToBeat = currentScore;\n bestMoment = tempConfig;\n }\n }\n\n extend(config, bestMoment || tempConfig);\n}\n\nfunction configFromObject(config) {\n if (config._d) {\n return;\n }\n\n var i = normalizeObjectUnits(config._i);\n config._a = map([i.year, i.month, i.day || i.date, i.hour, i.minute, i.second, i.millisecond], function (obj) {\n return obj && parseInt(obj, 10);\n });\n\n configFromArray(config);\n}\n\nfunction createFromConfig (config) {\n var res = new Moment(checkOverflow(prepareConfig(config)));\n if (res._nextDay) {\n // Adding is smart enough around DST\n res.add(1, 'd');\n res._nextDay = undefined;\n }\n\n return res;\n}\n\nfunction prepareConfig (config) {\n var input = config._i,\n format = config._f;\n\n config._locale = config._locale || getLocale(config._l);\n\n if (input === null || (format === undefined && input === '')) {\n return createInvalid({nullInput: true});\n }\n\n if (typeof input === 'string') {\n config._i = input = config._locale.preparse(input);\n }\n\n if (isMoment(input)) {\n return new Moment(checkOverflow(input));\n } else if (isDate(input)) {\n config._d = input;\n } else if (isArray(format)) {\n configFromStringAndArray(config);\n } else if (format) {\n configFromStringAndFormat(config);\n } else {\n configFromInput(config);\n }\n\n if (!isValid(config)) {\n config._d = null;\n }\n\n return config;\n}\n\nfunction configFromInput(config) {\n var input = config._i;\n if (input === undefined) {\n config._d = new Date(hooks.now());\n } else if (isDate(input)) {\n config._d = new Date(input.valueOf());\n } else if (typeof input === 'string') {\n configFromString(config);\n } else if (isArray(input)) {\n config._a = map(input.slice(0), function (obj) {\n return parseInt(obj, 10);\n });\n configFromArray(config);\n } else if (typeof(input) === 'object') {\n configFromObject(config);\n } else if (isNumber(input)) {\n // from milliseconds\n config._d = new Date(input);\n } else {\n hooks.createFromInputFallback(config);\n }\n}\n\nfunction createLocalOrUTC (input, format, locale, strict, isUTC) {\n var c = {};\n\n if (locale === true || locale === false) {\n strict = locale;\n locale = undefined;\n }\n\n if ((isObject(input) && isObjectEmpty(input)) ||\n (isArray(input) && input.length === 0)) {\n input = undefined;\n }\n // object construction must be done this way.\n // https://github.com/moment/moment/issues/1423\n c._isAMomentObject = true;\n c._useUTC = c._isUTC = isUTC;\n c._l = locale;\n c._i = input;\n c._f = format;\n c._strict = strict;\n\n return createFromConfig(c);\n}\n\nfunction createLocal (input, format, locale, strict) {\n return createLocalOrUTC(input, format, locale, strict, false);\n}\n\nvar prototypeMin = deprecate(\n 'moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/',\n function () {\n var other = createLocal.apply(null, arguments);\n if (this.isValid() && other.isValid()) {\n return other < this ? this : other;\n } else {\n return createInvalid();\n }\n }\n);\n\nvar prototypeMax = deprecate(\n 'moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/',\n function () {\n var other = createLocal.apply(null, arguments);\n if (this.isValid() && other.isValid()) {\n return other > this ? this : other;\n } else {\n return createInvalid();\n }\n }\n);\n\n// Pick a moment m from moments so that m[fn](other) is true for all\n// other. This relies on the function fn to be transitive.\n//\n// moments should either be an array of moment objects or an array, whose\n// first element is an array of moment objects.\nfunction pickBy(fn, moments) {\n var res, i;\n if (moments.length === 1 && isArray(moments[0])) {\n moments = moments[0];\n }\n if (!moments.length) {\n return createLocal();\n }\n res = moments[0];\n for (i = 1; i < moments.length; ++i) {\n if (!moments[i].isValid() || moments[i][fn](res)) {\n res = moments[i];\n }\n }\n return res;\n}\n\n// TODO: Use [].sort instead?\nfunction min () {\n var args = [].slice.call(arguments, 0);\n\n return pickBy('isBefore', args);\n}\n\nfunction max () {\n var args = [].slice.call(arguments, 0);\n\n return pickBy('isAfter', args);\n}\n\nvar now = function () {\n return Date.now ? Date.now() : +(new Date());\n};\n\nfunction Duration (duration) {\n var normalizedInput = normalizeObjectUnits(duration),\n years = normalizedInput.year || 0,\n quarters = normalizedInput.quarter || 0,\n months = normalizedInput.month || 0,\n weeks = normalizedInput.week || 0,\n days = normalizedInput.day || 0,\n hours = normalizedInput.hour || 0,\n minutes = normalizedInput.minute || 0,\n seconds = normalizedInput.second || 0,\n milliseconds = normalizedInput.millisecond || 0;\n\n // representation for dateAddRemove\n this._milliseconds = +milliseconds +\n seconds * 1e3 + // 1000\n minutes * 6e4 + // 1000 * 60\n hours * 1000 * 60 * 60; //using 1000 * 60 * 60 instead of 36e5 to avoid floating point rounding errors https://github.com/moment/moment/issues/2978\n // Because of dateAddRemove treats 24 hours as different from a\n // day when working around DST, we need to store them separately\n this._days = +days +\n weeks * 7;\n // It is impossible translate months into days without knowing\n // which months you are are talking about, so we have to store\n // it separately.\n this._months = +months +\n quarters * 3 +\n years * 12;\n\n this._data = {};\n\n this._locale = getLocale();\n\n this._bubble();\n}\n\nfunction isDuration (obj) {\n return obj instanceof Duration;\n}\n\nfunction absRound (number) {\n if (number < 0) {\n return Math.round(-1 * number) * -1;\n } else {\n return Math.round(number);\n }\n}\n\n// FORMATTING\n\nfunction offset (token, separator) {\n addFormatToken(token, 0, 0, function () {\n var offset = this.utcOffset();\n var sign = '+';\n if (offset < 0) {\n offset = -offset;\n sign = '-';\n }\n return sign + zeroFill(~~(offset / 60), 2) + separator + zeroFill(~~(offset) % 60, 2);\n });\n}\n\noffset('Z', ':');\noffset('ZZ', '');\n\n// PARSING\n\naddRegexToken('Z', matchShortOffset);\naddRegexToken('ZZ', matchShortOffset);\naddParseToken(['Z', 'ZZ'], function (input, array, config) {\n config._useUTC = true;\n config._tzm = offsetFromString(matchShortOffset, input);\n});\n\n// HELPERS\n\n// timezone chunker\n// '+10:00' > ['10', '00']\n// '-1530' > ['-15', '30']\nvar chunkOffset = /([\\+\\-]|\\d\\d)/gi;\n\nfunction offsetFromString(matcher, string) {\n var matches = (string || '').match(matcher);\n\n if (matches === null) {\n return null;\n }\n\n var chunk = matches[matches.length - 1] || [];\n var parts = (chunk + '').match(chunkOffset) || ['-', 0, 0];\n var minutes = +(parts[1] * 60) + toInt(parts[2]);\n\n return minutes === 0 ?\n 0 :\n parts[0] === '+' ? minutes : -minutes;\n}\n\n// Return a moment from input, that is local/utc/zone equivalent to model.\nfunction cloneWithOffset(input, model) {\n var res, diff;\n if (model._isUTC) {\n res = model.clone();\n diff = (isMoment(input) || isDate(input) ? input.valueOf() : createLocal(input).valueOf()) - res.valueOf();\n // Use low-level api, because this fn is low-level api.\n res._d.setTime(res._d.valueOf() + diff);\n hooks.updateOffset(res, false);\n return res;\n } else {\n return createLocal(input).local();\n }\n}\n\nfunction getDateOffset (m) {\n // On Firefox.24 Date#getTimezoneOffset returns a floating point.\n // https://github.com/moment/moment/pull/1871\n return -Math.round(m._d.getTimezoneOffset() / 15) * 15;\n}\n\n// HOOKS\n\n// This function will be called whenever a moment is mutated.\n// It is intended to keep the offset in sync with the timezone.\nhooks.updateOffset = function () {};\n\n// MOMENTS\n\n// keepLocalTime = true means only change the timezone, without\n// affecting the local hour. So 5:31:26 +0300 --[utcOffset(2, true)]-->\n// 5:31:26 +0200 It is possible that 5:31:26 doesn't exist with offset\n// +0200, so we adjust the time as needed, to be valid.\n//\n// Keeping the time actually adds/subtracts (one hour)\n// from the actual represented time. That is why we call updateOffset\n// a second time. In case it wants us to change the offset again\n// _changeInProgress == true case, then we have to adjust, because\n// there is no such time in the given timezone.\nfunction getSetOffset (input, keepLocalTime) {\n var offset = this._offset || 0,\n localAdjust;\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n if (input != null) {\n if (typeof input === 'string') {\n input = offsetFromString(matchShortOffset, input);\n if (input === null) {\n return this;\n }\n } else if (Math.abs(input) < 16) {\n input = input * 60;\n }\n if (!this._isUTC && keepLocalTime) {\n localAdjust = getDateOffset(this);\n }\n this._offset = input;\n this._isUTC = true;\n if (localAdjust != null) {\n this.add(localAdjust, 'm');\n }\n if (offset !== input) {\n if (!keepLocalTime || this._changeInProgress) {\n addSubtract(this, createDuration(input - offset, 'm'), 1, false);\n } else if (!this._changeInProgress) {\n this._changeInProgress = true;\n hooks.updateOffset(this, true);\n this._changeInProgress = null;\n }\n }\n return this;\n } else {\n return this._isUTC ? offset : getDateOffset(this);\n }\n}\n\nfunction getSetZone (input, keepLocalTime) {\n if (input != null) {\n if (typeof input !== 'string') {\n input = -input;\n }\n\n this.utcOffset(input, keepLocalTime);\n\n return this;\n } else {\n return -this.utcOffset();\n }\n}\n\nfunction setOffsetToUTC (keepLocalTime) {\n return this.utcOffset(0, keepLocalTime);\n}\n\nfunction setOffsetToLocal (keepLocalTime) {\n if (this._isUTC) {\n this.utcOffset(0, keepLocalTime);\n this._isUTC = false;\n\n if (keepLocalTime) {\n this.subtract(getDateOffset(this), 'm');\n }\n }\n return this;\n}\n\nfunction setOffsetToParsedOffset () {\n if (this._tzm != null) {\n this.utcOffset(this._tzm);\n } else if (typeof this._i === 'string') {\n var tZone = offsetFromString(matchOffset, this._i);\n if (tZone != null) {\n this.utcOffset(tZone);\n }\n else {\n this.utcOffset(0, true);\n }\n }\n return this;\n}\n\nfunction hasAlignedHourOffset (input) {\n if (!this.isValid()) {\n return false;\n }\n input = input ? createLocal(input).utcOffset() : 0;\n\n return (this.utcOffset() - input) % 60 === 0;\n}\n\nfunction isDaylightSavingTime () {\n return (\n this.utcOffset() > this.clone().month(0).utcOffset() ||\n this.utcOffset() > this.clone().month(5).utcOffset()\n );\n}\n\nfunction isDaylightSavingTimeShifted () {\n if (!isUndefined(this._isDSTShifted)) {\n return this._isDSTShifted;\n }\n\n var c = {};\n\n copyConfig(c, this);\n c = prepareConfig(c);\n\n if (c._a) {\n var other = c._isUTC ? createUTC(c._a) : createLocal(c._a);\n this._isDSTShifted = this.isValid() &&\n compareArrays(c._a, other.toArray()) > 0;\n } else {\n this._isDSTShifted = false;\n }\n\n return this._isDSTShifted;\n}\n\nfunction isLocal () {\n return this.isValid() ? !this._isUTC : false;\n}\n\nfunction isUtcOffset () {\n return this.isValid() ? this._isUTC : false;\n}\n\nfunction isUtc () {\n return this.isValid() ? this._isUTC && this._offset === 0 : false;\n}\n\n// ASP.NET json date format regex\nvar aspNetRegex = /^(\\-)?(?:(\\d*)[. ])?(\\d+)\\:(\\d+)(?:\\:(\\d+)(\\.\\d*)?)?$/;\n\n// from http://docs.closure-library.googlecode.com/git/closure_goog_date_date.js.source.html\n// somewhat more in line with 4.4.3.2 2004 spec, but allows decimal anywhere\n// and further modified to allow for strings containing both week and day\nvar isoRegex = /^(-)?P(?:(-?[0-9,.]*)Y)?(?:(-?[0-9,.]*)M)?(?:(-?[0-9,.]*)W)?(?:(-?[0-9,.]*)D)?(?:T(?:(-?[0-9,.]*)H)?(?:(-?[0-9,.]*)M)?(?:(-?[0-9,.]*)S)?)?$/;\n\nfunction createDuration (input, key) {\n var duration = input,\n // matching against regexp is expensive, do it on demand\n match = null,\n sign,\n ret,\n diffRes;\n\n if (isDuration(input)) {\n duration = {\n ms : input._milliseconds,\n d : input._days,\n M : input._months\n };\n } else if (isNumber(input)) {\n duration = {};\n if (key) {\n duration[key] = input;\n } else {\n duration.milliseconds = input;\n }\n } else if (!!(match = aspNetRegex.exec(input))) {\n sign = (match[1] === '-') ? -1 : 1;\n duration = {\n y : 0,\n d : toInt(match[DATE]) * sign,\n h : toInt(match[HOUR]) * sign,\n m : toInt(match[MINUTE]) * sign,\n s : toInt(match[SECOND]) * sign,\n ms : toInt(absRound(match[MILLISECOND] * 1000)) * sign // the millisecond decimal point is included in the match\n };\n } else if (!!(match = isoRegex.exec(input))) {\n sign = (match[1] === '-') ? -1 : 1;\n duration = {\n y : parseIso(match[2], sign),\n M : parseIso(match[3], sign),\n w : parseIso(match[4], sign),\n d : parseIso(match[5], sign),\n h : parseIso(match[6], sign),\n m : parseIso(match[7], sign),\n s : parseIso(match[8], sign)\n };\n } else if (duration == null) {// checks for null or undefined\n duration = {};\n } else if (typeof duration === 'object' && ('from' in duration || 'to' in duration)) {\n diffRes = momentsDifference(createLocal(duration.from), createLocal(duration.to));\n\n duration = {};\n duration.ms = diffRes.milliseconds;\n duration.M = diffRes.months;\n }\n\n ret = new Duration(duration);\n\n if (isDuration(input) && hasOwnProp(input, '_locale')) {\n ret._locale = input._locale;\n }\n\n return ret;\n}\n\ncreateDuration.fn = Duration.prototype;\n\nfunction parseIso (inp, sign) {\n // We'd normally use ~~inp for this, but unfortunately it also\n // converts floats to ints.\n // inp may be undefined, so careful calling replace on it.\n var res = inp && parseFloat(inp.replace(',', '.'));\n // apply sign while we're at it\n return (isNaN(res) ? 0 : res) * sign;\n}\n\nfunction positiveMomentsDifference(base, other) {\n var res = {milliseconds: 0, months: 0};\n\n res.months = other.month() - base.month() +\n (other.year() - base.year()) * 12;\n if (base.clone().add(res.months, 'M').isAfter(other)) {\n --res.months;\n }\n\n res.milliseconds = +other - +(base.clone().add(res.months, 'M'));\n\n return res;\n}\n\nfunction momentsDifference(base, other) {\n var res;\n if (!(base.isValid() && other.isValid())) {\n return {milliseconds: 0, months: 0};\n }\n\n other = cloneWithOffset(other, base);\n if (base.isBefore(other)) {\n res = positiveMomentsDifference(base, other);\n } else {\n res = positiveMomentsDifference(other, base);\n res.milliseconds = -res.milliseconds;\n res.months = -res.months;\n }\n\n return res;\n}\n\n// TODO: remove 'name' arg after deprecation is removed\nfunction createAdder(direction, name) {\n return function (val, period) {\n var dur, tmp;\n //invert the arguments, but complain about it\n if (period !== null && !isNaN(+period)) {\n deprecateSimple(name, 'moment().' + name + '(period, number) is deprecated. Please use moment().' + name + '(number, period). ' +\n 'See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info.');\n tmp = val; val = period; period = tmp;\n }\n\n val = typeof val === 'string' ? +val : val;\n dur = createDuration(val, period);\n addSubtract(this, dur, direction);\n return this;\n };\n}\n\nfunction addSubtract (mom, duration, isAdding, updateOffset) {\n var milliseconds = duration._milliseconds,\n days = absRound(duration._days),\n months = absRound(duration._months);\n\n if (!mom.isValid()) {\n // No op\n return;\n }\n\n updateOffset = updateOffset == null ? true : updateOffset;\n\n if (milliseconds) {\n mom._d.setTime(mom._d.valueOf() + milliseconds * isAdding);\n }\n if (days) {\n set$1(mom, 'Date', get(mom, 'Date') + days * isAdding);\n }\n if (months) {\n setMonth(mom, get(mom, 'Month') + months * isAdding);\n }\n if (updateOffset) {\n hooks.updateOffset(mom, days || months);\n }\n}\n\nvar add = createAdder(1, 'add');\nvar subtract = createAdder(-1, 'subtract');\n\nfunction getCalendarFormat(myMoment, now) {\n var diff = myMoment.diff(now, 'days', true);\n return diff < -6 ? 'sameElse' :\n diff < -1 ? 'lastWeek' :\n diff < 0 ? 'lastDay' :\n diff < 1 ? 'sameDay' :\n diff < 2 ? 'nextDay' :\n diff < 7 ? 'nextWeek' : 'sameElse';\n}\n\nfunction calendar$1 (time, formats) {\n // We want to compare the start of today, vs this.\n // Getting start-of-today depends on whether we're local/utc/offset or not.\n var now = time || createLocal(),\n sod = cloneWithOffset(now, this).startOf('day'),\n format = hooks.calendarFormat(this, sod) || 'sameElse';\n\n var output = formats && (isFunction(formats[format]) ? formats[format].call(this, now) : formats[format]);\n\n return this.format(output || this.localeData().calendar(format, this, createLocal(now)));\n}\n\nfunction clone () {\n return new Moment(this);\n}\n\nfunction isAfter (input, units) {\n var localInput = isMoment(input) ? input : createLocal(input);\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(!isUndefined(units) ? units : 'millisecond');\n if (units === 'millisecond') {\n return this.valueOf() > localInput.valueOf();\n } else {\n return localInput.valueOf() < this.clone().startOf(units).valueOf();\n }\n}\n\nfunction isBefore (input, units) {\n var localInput = isMoment(input) ? input : createLocal(input);\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(!isUndefined(units) ? units : 'millisecond');\n if (units === 'millisecond') {\n return this.valueOf() < localInput.valueOf();\n } else {\n return this.clone().endOf(units).valueOf() < localInput.valueOf();\n }\n}\n\nfunction isBetween (from, to, units, inclusivity) {\n inclusivity = inclusivity || '()';\n return (inclusivity[0] === '(' ? this.isAfter(from, units) : !this.isBefore(from, units)) &&\n (inclusivity[1] === ')' ? this.isBefore(to, units) : !this.isAfter(to, units));\n}\n\nfunction isSame (input, units) {\n var localInput = isMoment(input) ? input : createLocal(input),\n inputMs;\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units || 'millisecond');\n if (units === 'millisecond') {\n return this.valueOf() === localInput.valueOf();\n } else {\n inputMs = localInput.valueOf();\n return this.clone().startOf(units).valueOf() <= inputMs && inputMs <= this.clone().endOf(units).valueOf();\n }\n}\n\nfunction isSameOrAfter (input, units) {\n return this.isSame(input, units) || this.isAfter(input,units);\n}\n\nfunction isSameOrBefore (input, units) {\n return this.isSame(input, units) || this.isBefore(input,units);\n}\n\nfunction diff (input, units, asFloat) {\n var that,\n zoneDelta,\n delta, output;\n\n if (!this.isValid()) {\n return NaN;\n }\n\n that = cloneWithOffset(input, this);\n\n if (!that.isValid()) {\n return NaN;\n }\n\n zoneDelta = (that.utcOffset() - this.utcOffset()) * 6e4;\n\n units = normalizeUnits(units);\n\n if (units === 'year' || units === 'month' || units === 'quarter') {\n output = monthDiff(this, that);\n if (units === 'quarter') {\n output = output / 3;\n } else if (units === 'year') {\n output = output / 12;\n }\n } else {\n delta = this - that;\n output = units === 'second' ? delta / 1e3 : // 1000\n units === 'minute' ? delta / 6e4 : // 1000 * 60\n units === 'hour' ? delta / 36e5 : // 1000 * 60 * 60\n units === 'day' ? (delta - zoneDelta) / 864e5 : // 1000 * 60 * 60 * 24, negate dst\n units === 'week' ? (delta - zoneDelta) / 6048e5 : // 1000 * 60 * 60 * 24 * 7, negate dst\n delta;\n }\n return asFloat ? output : absFloor(output);\n}\n\nfunction monthDiff (a, b) {\n // difference in months\n var wholeMonthDiff = ((b.year() - a.year()) * 12) + (b.month() - a.month()),\n // b is in (anchor - 1 month, anchor + 1 month)\n anchor = a.clone().add(wholeMonthDiff, 'months'),\n anchor2, adjust;\n\n if (b - anchor < 0) {\n anchor2 = a.clone().add(wholeMonthDiff - 1, 'months');\n // linear across the month\n adjust = (b - anchor) / (anchor - anchor2);\n } else {\n anchor2 = a.clone().add(wholeMonthDiff + 1, 'months');\n // linear across the month\n adjust = (b - anchor) / (anchor2 - anchor);\n }\n\n //check for negative zero, return zero if negative zero\n return -(wholeMonthDiff + adjust) || 0;\n}\n\nhooks.defaultFormat = 'YYYY-MM-DDTHH:mm:ssZ';\nhooks.defaultFormatUtc = 'YYYY-MM-DDTHH:mm:ss[Z]';\n\nfunction toString () {\n return this.clone().locale('en').format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ');\n}\n\nfunction toISOString () {\n var m = this.clone().utc();\n if (0 < m.year() && m.year() <= 9999) {\n if (isFunction(Date.prototype.toISOString)) {\n // native implementation is ~50x faster, use it when we can\n return this.toDate().toISOString();\n } else {\n return formatMoment(m, 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]');\n }\n } else {\n return formatMoment(m, 'YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]');\n }\n}\n\n/**\n * Return a human readable representation of a moment that can\n * also be evaluated to get a new moment which is the same\n *\n * @link https://nodejs.org/dist/latest/docs/api/util.html#util_custom_inspect_function_on_objects\n */\nfunction inspect () {\n if (!this.isValid()) {\n return 'moment.invalid(/* ' + this._i + ' */)';\n }\n var func = 'moment';\n var zone = '';\n if (!this.isLocal()) {\n func = this.utcOffset() === 0 ? 'moment.utc' : 'moment.parseZone';\n zone = 'Z';\n }\n var prefix = '[' + func + '(\"]';\n var year = (0 < this.year() && this.year() <= 9999) ? 'YYYY' : 'YYYYYY';\n var datetime = '-MM-DD[T]HH:mm:ss.SSS';\n var suffix = zone + '[\")]';\n\n return this.format(prefix + year + datetime + suffix);\n}\n\nfunction format (inputString) {\n if (!inputString) {\n inputString = this.isUtc() ? hooks.defaultFormatUtc : hooks.defaultFormat;\n }\n var output = formatMoment(this, inputString);\n return this.localeData().postformat(output);\n}\n\nfunction from (time, withoutSuffix) {\n if (this.isValid() &&\n ((isMoment(time) && time.isValid()) ||\n createLocal(time).isValid())) {\n return createDuration({to: this, from: time}).locale(this.locale()).humanize(!withoutSuffix);\n } else {\n return this.localeData().invalidDate();\n }\n}\n\nfunction fromNow (withoutSuffix) {\n return this.from(createLocal(), withoutSuffix);\n}\n\nfunction to (time, withoutSuffix) {\n if (this.isValid() &&\n ((isMoment(time) && time.isValid()) ||\n createLocal(time).isValid())) {\n return createDuration({from: this, to: time}).locale(this.locale()).humanize(!withoutSuffix);\n } else {\n return this.localeData().invalidDate();\n }\n}\n\nfunction toNow (withoutSuffix) {\n return this.to(createLocal(), withoutSuffix);\n}\n\n// If passed a locale key, it will set the locale for this\n// instance. Otherwise, it will return the locale configuration\n// variables for this instance.\nfunction locale (key) {\n var newLocaleData;\n\n if (key === undefined) {\n return this._locale._abbr;\n } else {\n newLocaleData = getLocale(key);\n if (newLocaleData != null) {\n this._locale = newLocaleData;\n }\n return this;\n }\n}\n\nvar lang = deprecate(\n 'moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.',\n function (key) {\n if (key === undefined) {\n return this.localeData();\n } else {\n return this.locale(key);\n }\n }\n);\n\nfunction localeData () {\n return this._locale;\n}\n\nfunction startOf (units) {\n units = normalizeUnits(units);\n // the following switch intentionally omits break keywords\n // to utilize falling through the cases.\n switch (units) {\n case 'year':\n this.month(0);\n /* falls through */\n case 'quarter':\n case 'month':\n this.date(1);\n /* falls through */\n case 'week':\n case 'isoWeek':\n case 'day':\n case 'date':\n this.hours(0);\n /* falls through */\n case 'hour':\n this.minutes(0);\n /* falls through */\n case 'minute':\n this.seconds(0);\n /* falls through */\n case 'second':\n this.milliseconds(0);\n }\n\n // weeks are a special case\n if (units === 'week') {\n this.weekday(0);\n }\n if (units === 'isoWeek') {\n this.isoWeekday(1);\n }\n\n // quarters are also special\n if (units === 'quarter') {\n this.month(Math.floor(this.month() / 3) * 3);\n }\n\n return this;\n}\n\nfunction endOf (units) {\n units = normalizeUnits(units);\n if (units === undefined || units === 'millisecond') {\n return this;\n }\n\n // 'date' is an alias for 'day', so it should be considered as such.\n if (units === 'date') {\n units = 'day';\n }\n\n return this.startOf(units).add(1, (units === 'isoWeek' ? 'week' : units)).subtract(1, 'ms');\n}\n\nfunction valueOf () {\n return this._d.valueOf() - ((this._offset || 0) * 60000);\n}\n\nfunction unix () {\n return Math.floor(this.valueOf() / 1000);\n}\n\nfunction toDate () {\n return new Date(this.valueOf());\n}\n\nfunction toArray () {\n var m = this;\n return [m.year(), m.month(), m.date(), m.hour(), m.minute(), m.second(), m.millisecond()];\n}\n\nfunction toObject () {\n var m = this;\n return {\n years: m.year(),\n months: m.month(),\n date: m.date(),\n hours: m.hours(),\n minutes: m.minutes(),\n seconds: m.seconds(),\n milliseconds: m.milliseconds()\n };\n}\n\nfunction toJSON () {\n // new Date(NaN).toJSON() === null\n return this.isValid() ? this.toISOString() : null;\n}\n\nfunction isValid$1 () {\n return isValid(this);\n}\n\nfunction parsingFlags () {\n return extend({}, getParsingFlags(this));\n}\n\nfunction invalidAt () {\n return getParsingFlags(this).overflow;\n}\n\nfunction creationData() {\n return {\n input: this._i,\n format: this._f,\n locale: this._locale,\n isUTC: this._isUTC,\n strict: this._strict\n };\n}\n\n// FORMATTING\n\naddFormatToken(0, ['gg', 2], 0, function () {\n return this.weekYear() % 100;\n});\n\naddFormatToken(0, ['GG', 2], 0, function () {\n return this.isoWeekYear() % 100;\n});\n\nfunction addWeekYearFormatToken (token, getter) {\n addFormatToken(0, [token, token.length], 0, getter);\n}\n\naddWeekYearFormatToken('gggg', 'weekYear');\naddWeekYearFormatToken('ggggg', 'weekYear');\naddWeekYearFormatToken('GGGG', 'isoWeekYear');\naddWeekYearFormatToken('GGGGG', 'isoWeekYear');\n\n// ALIASES\n\naddUnitAlias('weekYear', 'gg');\naddUnitAlias('isoWeekYear', 'GG');\n\n// PRIORITY\n\naddUnitPriority('weekYear', 1);\naddUnitPriority('isoWeekYear', 1);\n\n\n// PARSING\n\naddRegexToken('G', matchSigned);\naddRegexToken('g', matchSigned);\naddRegexToken('GG', match1to2, match2);\naddRegexToken('gg', match1to2, match2);\naddRegexToken('GGGG', match1to4, match4);\naddRegexToken('gggg', match1to4, match4);\naddRegexToken('GGGGG', match1to6, match6);\naddRegexToken('ggggg', match1to6, match6);\n\naddWeekParseToken(['gggg', 'ggggg', 'GGGG', 'GGGGG'], function (input, week, config, token) {\n week[token.substr(0, 2)] = toInt(input);\n});\n\naddWeekParseToken(['gg', 'GG'], function (input, week, config, token) {\n week[token] = hooks.parseTwoDigitYear(input);\n});\n\n// MOMENTS\n\nfunction getSetWeekYear (input) {\n return getSetWeekYearHelper.call(this,\n input,\n this.week(),\n this.weekday(),\n this.localeData()._week.dow,\n this.localeData()._week.doy);\n}\n\nfunction getSetISOWeekYear (input) {\n return getSetWeekYearHelper.call(this,\n input, this.isoWeek(), this.isoWeekday(), 1, 4);\n}\n\nfunction getISOWeeksInYear () {\n return weeksInYear(this.year(), 1, 4);\n}\n\nfunction getWeeksInYear () {\n var weekInfo = this.localeData()._week;\n return weeksInYear(this.year(), weekInfo.dow, weekInfo.doy);\n}\n\nfunction getSetWeekYearHelper(input, week, weekday, dow, doy) {\n var weeksTarget;\n if (input == null) {\n return weekOfYear(this, dow, doy).year;\n } else {\n weeksTarget = weeksInYear(input, dow, doy);\n if (week > weeksTarget) {\n week = weeksTarget;\n }\n return setWeekAll.call(this, input, week, weekday, dow, doy);\n }\n}\n\nfunction setWeekAll(weekYear, week, weekday, dow, doy) {\n var dayOfYearData = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy),\n date = createUTCDate(dayOfYearData.year, 0, dayOfYearData.dayOfYear);\n\n this.year(date.getUTCFullYear());\n this.month(date.getUTCMonth());\n this.date(date.getUTCDate());\n return this;\n}\n\n// FORMATTING\n\naddFormatToken('Q', 0, 'Qo', 'quarter');\n\n// ALIASES\n\naddUnitAlias('quarter', 'Q');\n\n// PRIORITY\n\naddUnitPriority('quarter', 7);\n\n// PARSING\n\naddRegexToken('Q', match1);\naddParseToken('Q', function (input, array) {\n array[MONTH] = (toInt(input) - 1) * 3;\n});\n\n// MOMENTS\n\nfunction getSetQuarter (input) {\n return input == null ? Math.ceil((this.month() + 1) / 3) : this.month((input - 1) * 3 + this.month() % 3);\n}\n\n// FORMATTING\n\naddFormatToken('D', ['DD', 2], 'Do', 'date');\n\n// ALIASES\n\naddUnitAlias('date', 'D');\n\n// PRIOROITY\naddUnitPriority('date', 9);\n\n// PARSING\n\naddRegexToken('D', match1to2);\naddRegexToken('DD', match1to2, match2);\naddRegexToken('Do', function (isStrict, locale) {\n return isStrict ? locale._ordinalParse : locale._ordinalParseLenient;\n});\n\naddParseToken(['D', 'DD'], DATE);\naddParseToken('Do', function (input, array) {\n array[DATE] = toInt(input.match(match1to2)[0], 10);\n});\n\n// MOMENTS\n\nvar getSetDayOfMonth = makeGetSet('Date', true);\n\n// FORMATTING\n\naddFormatToken('DDD', ['DDDD', 3], 'DDDo', 'dayOfYear');\n\n// ALIASES\n\naddUnitAlias('dayOfYear', 'DDD');\n\n// PRIORITY\naddUnitPriority('dayOfYear', 4);\n\n// PARSING\n\naddRegexToken('DDD', match1to3);\naddRegexToken('DDDD', match3);\naddParseToken(['DDD', 'DDDD'], function (input, array, config) {\n config._dayOfYear = toInt(input);\n});\n\n// HELPERS\n\n// MOMENTS\n\nfunction getSetDayOfYear (input) {\n var dayOfYear = Math.round((this.clone().startOf('day') - this.clone().startOf('year')) / 864e5) + 1;\n return input == null ? dayOfYear : this.add((input - dayOfYear), 'd');\n}\n\n// FORMATTING\n\naddFormatToken('m', ['mm', 2], 0, 'minute');\n\n// ALIASES\n\naddUnitAlias('minute', 'm');\n\n// PRIORITY\n\naddUnitPriority('minute', 14);\n\n// PARSING\n\naddRegexToken('m', match1to2);\naddRegexToken('mm', match1to2, match2);\naddParseToken(['m', 'mm'], MINUTE);\n\n// MOMENTS\n\nvar getSetMinute = makeGetSet('Minutes', false);\n\n// FORMATTING\n\naddFormatToken('s', ['ss', 2], 0, 'second');\n\n// ALIASES\n\naddUnitAlias('second', 's');\n\n// PRIORITY\n\naddUnitPriority('second', 15);\n\n// PARSING\n\naddRegexToken('s', match1to2);\naddRegexToken('ss', match1to2, match2);\naddParseToken(['s', 'ss'], SECOND);\n\n// MOMENTS\n\nvar getSetSecond = makeGetSet('Seconds', false);\n\n// FORMATTING\n\naddFormatToken('S', 0, 0, function () {\n return ~~(this.millisecond() / 100);\n});\n\naddFormatToken(0, ['SS', 2], 0, function () {\n return ~~(this.millisecond() / 10);\n});\n\naddFormatToken(0, ['SSS', 3], 0, 'millisecond');\naddFormatToken(0, ['SSSS', 4], 0, function () {\n return this.millisecond() * 10;\n});\naddFormatToken(0, ['SSSSS', 5], 0, function () {\n return this.millisecond() * 100;\n});\naddFormatToken(0, ['SSSSSS', 6], 0, function () {\n return this.millisecond() * 1000;\n});\naddFormatToken(0, ['SSSSSSS', 7], 0, function () {\n return this.millisecond() * 10000;\n});\naddFormatToken(0, ['SSSSSSSS', 8], 0, function () {\n return this.millisecond() * 100000;\n});\naddFormatToken(0, ['SSSSSSSSS', 9], 0, function () {\n return this.millisecond() * 1000000;\n});\n\n\n// ALIASES\n\naddUnitAlias('millisecond', 'ms');\n\n// PRIORITY\n\naddUnitPriority('millisecond', 16);\n\n// PARSING\n\naddRegexToken('S', match1to3, match1);\naddRegexToken('SS', match1to3, match2);\naddRegexToken('SSS', match1to3, match3);\n\nvar token;\nfor (token = 'SSSS'; token.length <= 9; token += 'S') {\n addRegexToken(token, matchUnsigned);\n}\n\nfunction parseMs(input, array) {\n array[MILLISECOND] = toInt(('0.' + input) * 1000);\n}\n\nfor (token = 'S'; token.length <= 9; token += 'S') {\n addParseToken(token, parseMs);\n}\n// MOMENTS\n\nvar getSetMillisecond = makeGetSet('Milliseconds', false);\n\n// FORMATTING\n\naddFormatToken('z', 0, 0, 'zoneAbbr');\naddFormatToken('zz', 0, 0, 'zoneName');\n\n// MOMENTS\n\nfunction getZoneAbbr () {\n return this._isUTC ? 'UTC' : '';\n}\n\nfunction getZoneName () {\n return this._isUTC ? 'Coordinated Universal Time' : '';\n}\n\nvar proto = Moment.prototype;\n\nproto.add = add;\nproto.calendar = calendar$1;\nproto.clone = clone;\nproto.diff = diff;\nproto.endOf = endOf;\nproto.format = format;\nproto.from = from;\nproto.fromNow = fromNow;\nproto.to = to;\nproto.toNow = toNow;\nproto.get = stringGet;\nproto.invalidAt = invalidAt;\nproto.isAfter = isAfter;\nproto.isBefore = isBefore;\nproto.isBetween = isBetween;\nproto.isSame = isSame;\nproto.isSameOrAfter = isSameOrAfter;\nproto.isSameOrBefore = isSameOrBefore;\nproto.isValid = isValid$1;\nproto.lang = lang;\nproto.locale = locale;\nproto.localeData = localeData;\nproto.max = prototypeMax;\nproto.min = prototypeMin;\nproto.parsingFlags = parsingFlags;\nproto.set = stringSet;\nproto.startOf = startOf;\nproto.subtract = subtract;\nproto.toArray = toArray;\nproto.toObject = toObject;\nproto.toDate = toDate;\nproto.toISOString = toISOString;\nproto.inspect = inspect;\nproto.toJSON = toJSON;\nproto.toString = toString;\nproto.unix = unix;\nproto.valueOf = valueOf;\nproto.creationData = creationData;\n\n// Year\nproto.year = getSetYear;\nproto.isLeapYear = getIsLeapYear;\n\n// Week Year\nproto.weekYear = getSetWeekYear;\nproto.isoWeekYear = getSetISOWeekYear;\n\n// Quarter\nproto.quarter = proto.quarters = getSetQuarter;\n\n// Month\nproto.month = getSetMonth;\nproto.daysInMonth = getDaysInMonth;\n\n// Week\nproto.week = proto.weeks = getSetWeek;\nproto.isoWeek = proto.isoWeeks = getSetISOWeek;\nproto.weeksInYear = getWeeksInYear;\nproto.isoWeeksInYear = getISOWeeksInYear;\n\n// Day\nproto.date = getSetDayOfMonth;\nproto.day = proto.days = getSetDayOfWeek;\nproto.weekday = getSetLocaleDayOfWeek;\nproto.isoWeekday = getSetISODayOfWeek;\nproto.dayOfYear = getSetDayOfYear;\n\n// Hour\nproto.hour = proto.hours = getSetHour;\n\n// Minute\nproto.minute = proto.minutes = getSetMinute;\n\n// Second\nproto.second = proto.seconds = getSetSecond;\n\n// Millisecond\nproto.millisecond = proto.milliseconds = getSetMillisecond;\n\n// Offset\nproto.utcOffset = getSetOffset;\nproto.utc = setOffsetToUTC;\nproto.local = setOffsetToLocal;\nproto.parseZone = setOffsetToParsedOffset;\nproto.hasAlignedHourOffset = hasAlignedHourOffset;\nproto.isDST = isDaylightSavingTime;\nproto.isLocal = isLocal;\nproto.isUtcOffset = isUtcOffset;\nproto.isUtc = isUtc;\nproto.isUTC = isUtc;\n\n// Timezone\nproto.zoneAbbr = getZoneAbbr;\nproto.zoneName = getZoneName;\n\n// Deprecations\nproto.dates = deprecate('dates accessor is deprecated. Use date instead.', getSetDayOfMonth);\nproto.months = deprecate('months accessor is deprecated. Use month instead', getSetMonth);\nproto.years = deprecate('years accessor is deprecated. Use year instead', getSetYear);\nproto.zone = deprecate('moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/', getSetZone);\nproto.isDSTShifted = deprecate('isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information', isDaylightSavingTimeShifted);\n\nfunction createUnix (input) {\n return createLocal(input * 1000);\n}\n\nfunction createInZone () {\n return createLocal.apply(null, arguments).parseZone();\n}\n\nfunction preParsePostFormat (string) {\n return string;\n}\n\nvar proto$1 = Locale.prototype;\n\nproto$1.calendar = calendar;\nproto$1.longDateFormat = longDateFormat;\nproto$1.invalidDate = invalidDate;\nproto$1.ordinal = ordinal;\nproto$1.preparse = preParsePostFormat;\nproto$1.postformat = preParsePostFormat;\nproto$1.relativeTime = relativeTime;\nproto$1.pastFuture = pastFuture;\nproto$1.set = set;\n\n// Month\nproto$1.months = localeMonths;\nproto$1.monthsShort = localeMonthsShort;\nproto$1.monthsParse = localeMonthsParse;\nproto$1.monthsRegex = monthsRegex;\nproto$1.monthsShortRegex = monthsShortRegex;\n\n// Week\nproto$1.week = localeWeek;\nproto$1.firstDayOfYear = localeFirstDayOfYear;\nproto$1.firstDayOfWeek = localeFirstDayOfWeek;\n\n// Day of Week\nproto$1.weekdays = localeWeekdays;\nproto$1.weekdaysMin = localeWeekdaysMin;\nproto$1.weekdaysShort = localeWeekdaysShort;\nproto$1.weekdaysParse = localeWeekdaysParse;\n\nproto$1.weekdaysRegex = weekdaysRegex;\nproto$1.weekdaysShortRegex = weekdaysShortRegex;\nproto$1.weekdaysMinRegex = weekdaysMinRegex;\n\n// Hours\nproto$1.isPM = localeIsPM;\nproto$1.meridiem = localeMeridiem;\n\nfunction get$1 (format, index, field, setter) {\n var locale = getLocale();\n var utc = createUTC().set(setter, index);\n return locale[field](utc, format);\n}\n\nfunction listMonthsImpl (format, index, field) {\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n\n if (index != null) {\n return get$1(format, index, field, 'month');\n }\n\n var i;\n var out = [];\n for (i = 0; i < 12; i++) {\n out[i] = get$1(format, i, field, 'month');\n }\n return out;\n}\n\n// ()\n// (5)\n// (fmt, 5)\n// (fmt)\n// (true)\n// (true, 5)\n// (true, fmt, 5)\n// (true, fmt)\nfunction listWeekdaysImpl (localeSorted, format, index, field) {\n if (typeof localeSorted === 'boolean') {\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n } else {\n format = localeSorted;\n index = format;\n localeSorted = false;\n\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n }\n\n var locale = getLocale(),\n shift = localeSorted ? locale._week.dow : 0;\n\n if (index != null) {\n return get$1(format, (index + shift) % 7, field, 'day');\n }\n\n var i;\n var out = [];\n for (i = 0; i < 7; i++) {\n out[i] = get$1(format, (i + shift) % 7, field, 'day');\n }\n return out;\n}\n\nfunction listMonths (format, index) {\n return listMonthsImpl(format, index, 'months');\n}\n\nfunction listMonthsShort (format, index) {\n return listMonthsImpl(format, index, 'monthsShort');\n}\n\nfunction listWeekdays (localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdays');\n}\n\nfunction listWeekdaysShort (localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdaysShort');\n}\n\nfunction listWeekdaysMin (localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdaysMin');\n}\n\ngetSetGlobalLocale('en', {\n ordinalParse: /\\d{1,2}(th|st|nd|rd)/,\n ordinal : function (number) {\n var b = number % 10,\n output = (toInt(number % 100 / 10) === 1) ? 'th' :\n (b === 1) ? 'st' :\n (b === 2) ? 'nd' :\n (b === 3) ? 'rd' : 'th';\n return number + output;\n }\n});\n\n// Side effect imports\nhooks.lang = deprecate('moment.lang is deprecated. Use moment.locale instead.', getSetGlobalLocale);\nhooks.langData = deprecate('moment.langData is deprecated. Use moment.localeData instead.', getLocale);\n\nvar mathAbs = Math.abs;\n\nfunction abs () {\n var data = this._data;\n\n this._milliseconds = mathAbs(this._milliseconds);\n this._days = mathAbs(this._days);\n this._months = mathAbs(this._months);\n\n data.milliseconds = mathAbs(data.milliseconds);\n data.seconds = mathAbs(data.seconds);\n data.minutes = mathAbs(data.minutes);\n data.hours = mathAbs(data.hours);\n data.months = mathAbs(data.months);\n data.years = mathAbs(data.years);\n\n return this;\n}\n\nfunction addSubtract$1 (duration, input, value, direction) {\n var other = createDuration(input, value);\n\n duration._milliseconds += direction * other._milliseconds;\n duration._days += direction * other._days;\n duration._months += direction * other._months;\n\n return duration._bubble();\n}\n\n// supports only 2.0-style add(1, 's') or add(duration)\nfunction add$1 (input, value) {\n return addSubtract$1(this, input, value, 1);\n}\n\n// supports only 2.0-style subtract(1, 's') or subtract(duration)\nfunction subtract$1 (input, value) {\n return addSubtract$1(this, input, value, -1);\n}\n\nfunction absCeil (number) {\n if (number < 0) {\n return Math.floor(number);\n } else {\n return Math.ceil(number);\n }\n}\n\nfunction bubble () {\n var milliseconds = this._milliseconds;\n var days = this._days;\n var months = this._months;\n var data = this._data;\n var seconds, minutes, hours, years, monthsFromDays;\n\n // if we have a mix of positive and negative values, bubble down first\n // check: https://github.com/moment/moment/issues/2166\n if (!((milliseconds >= 0 && days >= 0 && months >= 0) ||\n (milliseconds <= 0 && days <= 0 && months <= 0))) {\n milliseconds += absCeil(monthsToDays(months) + days) * 864e5;\n days = 0;\n months = 0;\n }\n\n // The following code bubbles up values, see the tests for\n // examples of what that means.\n data.milliseconds = milliseconds % 1000;\n\n seconds = absFloor(milliseconds / 1000);\n data.seconds = seconds % 60;\n\n minutes = absFloor(seconds / 60);\n data.minutes = minutes % 60;\n\n hours = absFloor(minutes / 60);\n data.hours = hours % 24;\n\n days += absFloor(hours / 24);\n\n // convert days to months\n monthsFromDays = absFloor(daysToMonths(days));\n months += monthsFromDays;\n days -= absCeil(monthsToDays(monthsFromDays));\n\n // 12 months -> 1 year\n years = absFloor(months / 12);\n months %= 12;\n\n data.days = days;\n data.months = months;\n data.years = years;\n\n return this;\n}\n\nfunction daysToMonths (days) {\n // 400 years have 146097 days (taking into account leap year rules)\n // 400 years have 12 months === 4800\n return days * 4800 / 146097;\n}\n\nfunction monthsToDays (months) {\n // the reverse of daysToMonths\n return months * 146097 / 4800;\n}\n\nfunction as (units) {\n var days;\n var months;\n var milliseconds = this._milliseconds;\n\n units = normalizeUnits(units);\n\n if (units === 'month' || units === 'year') {\n days = this._days + milliseconds / 864e5;\n months = this._months + daysToMonths(days);\n return units === 'month' ? months : months / 12;\n } else {\n // handle milliseconds separately because of floating point math errors (issue #1867)\n days = this._days + Math.round(monthsToDays(this._months));\n switch (units) {\n case 'week' : return days / 7 + milliseconds / 6048e5;\n case 'day' : return days + milliseconds / 864e5;\n case 'hour' : return days * 24 + milliseconds / 36e5;\n case 'minute' : return days * 1440 + milliseconds / 6e4;\n case 'second' : return days * 86400 + milliseconds / 1000;\n // Math.floor prevents floating point math errors here\n case 'millisecond': return Math.floor(days * 864e5) + milliseconds;\n default: throw new Error('Unknown unit ' + units);\n }\n }\n}\n\n// TODO: Use this.as('ms')?\nfunction valueOf$1 () {\n return (\n this._milliseconds +\n this._days * 864e5 +\n (this._months % 12) * 2592e6 +\n toInt(this._months / 12) * 31536e6\n );\n}\n\nfunction makeAs (alias) {\n return function () {\n return this.as(alias);\n };\n}\n\nvar asMilliseconds = makeAs('ms');\nvar asSeconds = makeAs('s');\nvar asMinutes = makeAs('m');\nvar asHours = makeAs('h');\nvar asDays = makeAs('d');\nvar asWeeks = makeAs('w');\nvar asMonths = makeAs('M');\nvar asYears = makeAs('y');\n\nfunction get$2 (units) {\n units = normalizeUnits(units);\n return this[units + 's']();\n}\n\nfunction makeGetter(name) {\n return function () {\n return this._data[name];\n };\n}\n\nvar milliseconds = makeGetter('milliseconds');\nvar seconds = makeGetter('seconds');\nvar minutes = makeGetter('minutes');\nvar hours = makeGetter('hours');\nvar days = makeGetter('days');\nvar months = makeGetter('months');\nvar years = makeGetter('years');\n\nfunction weeks () {\n return absFloor(this.days() / 7);\n}\n\nvar round = Math.round;\nvar thresholds = {\n s: 45, // seconds to minute\n m: 45, // minutes to hour\n h: 22, // hours to day\n d: 26, // days to month\n M: 11 // months to year\n};\n\n// helper function for moment.fn.from, moment.fn.fromNow, and moment.duration.fn.humanize\nfunction substituteTimeAgo(string, number, withoutSuffix, isFuture, locale) {\n return locale.relativeTime(number || 1, !!withoutSuffix, string, isFuture);\n}\n\nfunction relativeTime$1 (posNegDuration, withoutSuffix, locale) {\n var duration = createDuration(posNegDuration).abs();\n var seconds = round(duration.as('s'));\n var minutes = round(duration.as('m'));\n var hours = round(duration.as('h'));\n var days = round(duration.as('d'));\n var months = round(duration.as('M'));\n var years = round(duration.as('y'));\n\n var a = seconds < thresholds.s && ['s', seconds] ||\n minutes <= 1 && ['m'] ||\n minutes < thresholds.m && ['mm', minutes] ||\n hours <= 1 && ['h'] ||\n hours < thresholds.h && ['hh', hours] ||\n days <= 1 && ['d'] ||\n days < thresholds.d && ['dd', days] ||\n months <= 1 && ['M'] ||\n months < thresholds.M && ['MM', months] ||\n years <= 1 && ['y'] || ['yy', years];\n\n a[2] = withoutSuffix;\n a[3] = +posNegDuration > 0;\n a[4] = locale;\n return substituteTimeAgo.apply(null, a);\n}\n\n// This function allows you to set the rounding function for relative time strings\nfunction getSetRelativeTimeRounding (roundingFunction) {\n if (roundingFunction === undefined) {\n return round;\n }\n if (typeof(roundingFunction) === 'function') {\n round = roundingFunction;\n return true;\n }\n return false;\n}\n\n// This function allows you to set a threshold for relative time strings\nfunction getSetRelativeTimeThreshold (threshold, limit) {\n if (thresholds[threshold] === undefined) {\n return false;\n }\n if (limit === undefined) {\n return thresholds[threshold];\n }\n thresholds[threshold] = limit;\n return true;\n}\n\nfunction humanize (withSuffix) {\n var locale = this.localeData();\n var output = relativeTime$1(this, !withSuffix, locale);\n\n if (withSuffix) {\n output = locale.pastFuture(+this, output);\n }\n\n return locale.postformat(output);\n}\n\nvar abs$1 = Math.abs;\n\nfunction toISOString$1() {\n // for ISO strings we do not use the normal bubbling rules:\n // * milliseconds bubble up until they become hours\n // * days do not bubble at all\n // * months bubble up until they become years\n // This is because there is no context-free conversion between hours and days\n // (think of clock changes)\n // and also not between days and months (28-31 days per month)\n var seconds = abs$1(this._milliseconds) / 1000;\n var days = abs$1(this._days);\n var months = abs$1(this._months);\n var minutes, hours, years;\n\n // 3600 seconds -> 60 minutes -> 1 hour\n minutes = absFloor(seconds / 60);\n hours = absFloor(minutes / 60);\n seconds %= 60;\n minutes %= 60;\n\n // 12 months -> 1 year\n years = absFloor(months / 12);\n months %= 12;\n\n\n // inspired by https://github.com/dordille/moment-isoduration/blob/master/moment.isoduration.js\n var Y = years;\n var M = months;\n var D = days;\n var h = hours;\n var m = minutes;\n var s = seconds;\n var total = this.asSeconds();\n\n if (!total) {\n // this is the same as C#'s (Noda) and python (isodate)...\n // but not other JS (goog.date)\n return 'P0D';\n }\n\n return (total < 0 ? '-' : '') +\n 'P' +\n (Y ? Y + 'Y' : '') +\n (M ? M + 'M' : '') +\n (D ? D + 'D' : '') +\n ((h || m || s) ? 'T' : '') +\n (h ? h + 'H' : '') +\n (m ? m + 'M' : '') +\n (s ? s + 'S' : '');\n}\n\nvar proto$2 = Duration.prototype;\n\nproto$2.abs = abs;\nproto$2.add = add$1;\nproto$2.subtract = subtract$1;\nproto$2.as = as;\nproto$2.asMilliseconds = asMilliseconds;\nproto$2.asSeconds = asSeconds;\nproto$2.asMinutes = asMinutes;\nproto$2.asHours = asHours;\nproto$2.asDays = asDays;\nproto$2.asWeeks = asWeeks;\nproto$2.asMonths = asMonths;\nproto$2.asYears = asYears;\nproto$2.valueOf = valueOf$1;\nproto$2._bubble = bubble;\nproto$2.get = get$2;\nproto$2.milliseconds = milliseconds;\nproto$2.seconds = seconds;\nproto$2.minutes = minutes;\nproto$2.hours = hours;\nproto$2.days = days;\nproto$2.weeks = weeks;\nproto$2.months = months;\nproto$2.years = years;\nproto$2.humanize = humanize;\nproto$2.toISOString = toISOString$1;\nproto$2.toString = toISOString$1;\nproto$2.toJSON = toISOString$1;\nproto$2.locale = locale;\nproto$2.localeData = localeData;\n\n// Deprecations\nproto$2.toIsoString = deprecate('toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)', toISOString$1);\nproto$2.lang = lang;\n\n// Side effect imports\n\n// FORMATTING\n\naddFormatToken('X', 0, 0, 'unix');\naddFormatToken('x', 0, 0, 'valueOf');\n\n// PARSING\n\naddRegexToken('x', matchSigned);\naddRegexToken('X', matchTimestamp);\naddParseToken('X', function (input, array, config) {\n config._d = new Date(parseFloat(input, 10) * 1000);\n});\naddParseToken('x', function (input, array, config) {\n config._d = new Date(toInt(input));\n});\n\n// Side effect imports\n\n\nhooks.version = '2.17.1';\n\nsetHookCallback(createLocal);\n\nhooks.fn = proto;\nhooks.min = min;\nhooks.max = max;\nhooks.now = now;\nhooks.utc = createUTC;\nhooks.unix = createUnix;\nhooks.months = listMonths;\nhooks.isDate = isDate;\nhooks.locale = getSetGlobalLocale;\nhooks.invalid = createInvalid;\nhooks.duration = createDuration;\nhooks.isMoment = isMoment;\nhooks.weekdays = listWeekdays;\nhooks.parseZone = createInZone;\nhooks.localeData = getLocale;\nhooks.isDuration = isDuration;\nhooks.monthsShort = listMonthsShort;\nhooks.weekdaysMin = listWeekdaysMin;\nhooks.defineLocale = defineLocale;\nhooks.updateLocale = updateLocale;\nhooks.locales = listLocales;\nhooks.weekdaysShort = listWeekdaysShort;\nhooks.normalizeUnits = normalizeUnits;\nhooks.relativeTimeRounding = getSetRelativeTimeRounding;\nhooks.relativeTimeThreshold = getSetRelativeTimeThreshold;\nhooks.calendarFormat = getCalendarFormat;\nhooks.prototype = proto;\n\nreturn hooks;\n\n})));\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/moment/moment.js\n ** module id = 1\n ** module chunks = 0\n **/","'use strict';\n\nmodule.exports = require('./lib/React');\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react/react.js\n ** module id = 2\n ** module chunks = 0\n **/","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n */\n\n'use strict';\n\n/**\n * Use invariant() to assert state which your program assumes to be true.\n *\n * Provide sprintf-style format (only %s is supported) and arguments\n * to provide information about what broke and what you were\n * expecting.\n *\n * The invariant message will be stripped in production, but the invariant\n * will remain to ensure logic does not differ in production.\n */\n\nvar validateFormat = function validateFormat(format) {};\n\nif (process.env.NODE_ENV !== 'production') {\n validateFormat = function validateFormat(format) {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n };\n}\n\nfunction invariant(condition, format, a, b, c, d, e, f) {\n validateFormat(format);\n\n if (!condition) {\n var error;\n if (format === undefined) {\n error = new Error('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.');\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(format.replace(/%s/g, function () {\n return args[argIndex++];\n }));\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // we don't care about invariant's own frame\n throw error;\n }\n}\n\nmodule.exports = invariant;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/fbjs/lib/invariant.js\n ** module id = 3\n ** module chunks = 0\n **/","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule reactProdInvariant\n * \n */\n'use strict';\n\n/**\n * WARNING: DO NOT manually require this module.\n * This is a replacement for `invariant(...)` used by the error code system\n * and will _only_ be required by the corresponding babel pass.\n * It always throws.\n */\n\nfunction reactProdInvariant(code) {\n var argCount = arguments.length - 1;\n\n var message = 'Minified React error #' + code + '; visit ' + 'http://facebook.github.io/react/docs/error-decoder.html?invariant=' + code;\n\n for (var argIdx = 0; argIdx < argCount; argIdx++) {\n message += '&args[]=' + encodeURIComponent(arguments[argIdx + 1]);\n }\n\n message += ' for the full message or use the non-minified dev environment' + ' for full errors and additional helpful warnings.';\n\n var error = new Error(message);\n error.name = 'Invariant Violation';\n error.framesToPop = 1; // we don't care about reactProdInvariant's own frame\n\n throw error;\n}\n\nmodule.exports = reactProdInvariant;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react/lib/reactProdInvariant.js\n ** module id = 4\n ** module chunks = 0\n **/","/**\n * Copyright 2014-2015, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n */\n\n'use strict';\n\nvar emptyFunction = require('./emptyFunction');\n\n/**\n * Similar to invariant but only logs a warning if the condition is not met.\n * This can be used to log issues in development environments in critical\n * paths. Removing the logging code for production environments will keep the\n * same logic and follow the same code paths.\n */\n\nvar warning = emptyFunction;\n\nif (process.env.NODE_ENV !== 'production') {\n (function () {\n var printWarning = function printWarning(format) {\n for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n var argIndex = 0;\n var message = 'Warning: ' + format.replace(/%s/g, function () {\n return args[argIndex++];\n });\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n };\n\n warning = function warning(condition, format) {\n if (format === undefined) {\n throw new Error('`warning(condition, format, ...args)` requires a warning ' + 'message argument');\n }\n\n if (format.indexOf('Failed Composite propType: ') === 0) {\n return; // Ignore CompositeComponent proptype check.\n }\n\n if (!condition) {\n for (var _len2 = arguments.length, args = Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {\n args[_key2 - 2] = arguments[_key2];\n }\n\n printWarning.apply(undefined, [format].concat(args));\n }\n };\n })();\n}\n\nmodule.exports = warning;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/fbjs/lib/warning.js\n ** module id = 5\n ** module chunks = 0\n **/","'use strict';\n/* eslint-disable no-unused-vars */\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (e) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (Object.getOwnPropertySymbols) {\n\t\t\tsymbols = Object.getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/object-assign/index.js\n ** module id = 6\n ** module chunks = 0\n **/","// Underscore.js 1.8.3\n// http://underscorejs.org\n// (c) 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n// Underscore may be freely distributed under the MIT license.\n\n(function() {\n\n // Baseline setup\n // --------------\n\n // Establish the root object, `window` in the browser, or `exports` on the server.\n var root = this;\n\n // Save the previous value of the `_` variable.\n var previousUnderscore = root._;\n\n // Save bytes in the minified (but not gzipped) version:\n var ArrayProto = Array.prototype, ObjProto = Object.prototype, FuncProto = Function.prototype;\n\n // Create quick reference variables for speed access to core prototypes.\n var\n push = ArrayProto.push,\n slice = ArrayProto.slice,\n toString = ObjProto.toString,\n hasOwnProperty = ObjProto.hasOwnProperty;\n\n // All **ECMAScript 5** native function implementations that we hope to use\n // are declared here.\n var\n nativeIsArray = Array.isArray,\n nativeKeys = Object.keys,\n nativeBind = FuncProto.bind,\n nativeCreate = Object.create;\n\n // Naked function reference for surrogate-prototype-swapping.\n var Ctor = function(){};\n\n // Create a safe reference to the Underscore object for use below.\n var _ = function(obj) {\n if (obj instanceof _) return obj;\n if (!(this instanceof _)) return new _(obj);\n this._wrapped = obj;\n };\n\n // Export the Underscore object for **Node.js**, with\n // backwards-compatibility for the old `require()` API. If we're in\n // the browser, add `_` as a global object.\n if (typeof exports !== 'undefined') {\n if (typeof module !== 'undefined' && module.exports) {\n exports = module.exports = _;\n }\n exports._ = _;\n } else {\n root._ = _;\n }\n\n // Current version.\n _.VERSION = '1.8.3';\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 var optimizeCb = function(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 case 2: return function(value, other) {\n return func.call(context, value, other);\n };\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 // A mostly-internal function to generate callbacks that can be applied\n // to each element in a collection, returning the desired result — either\n // identity, an arbitrary callback, a property matcher, or a property accessor.\n var cb = function(value, context, argCount) {\n if (value == null) return _.identity;\n if (_.isFunction(value)) return optimizeCb(value, context, argCount);\n if (_.isObject(value)) return _.matcher(value);\n return _.property(value);\n };\n _.iteratee = function(value, context) {\n return cb(value, context, Infinity);\n };\n\n // An internal function for creating assigner functions.\n var createAssigner = function(keysFunc, undefinedOnly) {\n return function(obj) {\n var length = arguments.length;\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 (!undefinedOnly || obj[key] === void 0) obj[key] = source[key];\n }\n }\n return obj;\n };\n };\n\n // An internal function for creating a new object that inherits from another.\n var baseCreate = function(prototype) {\n if (!_.isObject(prototype)) return {};\n if (nativeCreate) return nativeCreate(prototype);\n Ctor.prototype = prototype;\n var result = new Ctor;\n Ctor.prototype = null;\n return result;\n };\n\n var property = function(key) {\n return function(obj) {\n return obj == null ? void 0 : obj[key];\n };\n };\n\n // Helper for collection methods to determine whether a collection\n // should be iterated as an array or as an object\n // Related: http://people.mozilla.org/~jorendorff/es6-draft.html#sec-tolength\n // Avoids a very nasty iOS 8 JIT bug on ARM-64. #2094\n var MAX_ARRAY_INDEX = Math.pow(2, 53) - 1;\n var getLength = property('length');\n var isArrayLike = function(collection) {\n var length = getLength(collection);\n return typeof length == 'number' && length >= 0 && length <= MAX_ARRAY_INDEX;\n };\n\n // Collection Functions\n // --------------------\n\n // The cornerstone, an `each` implementation, aka `forEach`.\n // Handles raw objects in addition to array-likes. Treats all\n // sparse array-likes as if they were dense.\n _.each = _.forEach = function(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 _.map = _.collect = function(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 // Create a reducing function iterating left or right.\n function createReduce(dir) {\n // Optimized iterator function as using arguments.length\n // in the main function will deoptimize the, see #1991.\n function iterator(obj, iteratee, memo, keys, index, length) {\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 iteratee = optimizeCb(iteratee, context, 4);\n var keys = !isArrayLike(obj) && _.keys(obj),\n length = (keys || obj).length,\n index = dir > 0 ? 0 : length - 1;\n // Determine the initial value if none is provided.\n if (arguments.length < 3) {\n memo = obj[keys ? keys[index] : index];\n index += dir;\n }\n return iterator(obj, iteratee, memo, keys, index, length);\n };\n }\n\n // **Reduce** builds up a single result from a list of values, aka `inject`,\n // or `foldl`.\n _.reduce = _.foldl = _.inject = createReduce(1);\n\n // The right-associative version of reduce, also known as `foldr`.\n _.reduceRight = _.foldr = createReduce(-1);\n\n // Return the first value which passes a truth test. Aliased as `detect`.\n _.find = _.detect = function(obj, predicate, context) {\n var key;\n if (isArrayLike(obj)) {\n key = _.findIndex(obj, predicate, context);\n } else {\n key = _.findKey(obj, predicate, context);\n }\n if (key !== void 0 && key !== -1) return obj[key];\n };\n\n // Return all the elements that pass a truth test.\n // Aliased as `select`.\n _.filter = _.select = function(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 _.reject = function(obj, predicate, context) {\n return _.filter(obj, _.negate(cb(predicate)), context);\n };\n\n // Determine whether all of the elements match a truth test.\n // Aliased as `all`.\n _.every = _.all = function(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 matches a truth test.\n // Aliased as `any`.\n _.some = _.any = function(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 // Aliased as `includes` and `include`.\n _.contains = _.includes = _.include = function(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 _.invoke = function(obj, method) {\n var args = slice.call(arguments, 2);\n var isFunc = _.isFunction(method);\n return _.map(obj, function(value) {\n var func = isFunc ? method : value[method];\n return func == null ? func : func.apply(value, args);\n });\n };\n\n // Convenience version of a common use case of `map`: fetching a property.\n _.pluck = function(obj, key) {\n return _.map(obj, _.property(key));\n };\n\n // Convenience version of a common use case of `filter`: selecting only objects\n // containing specific `key:value` pairs.\n _.where = function(obj, attrs) {\n return _.filter(obj, _.matcher(attrs));\n };\n\n // Convenience version of a common use case of `find`: getting the first object\n // containing specific `key:value` pairs.\n _.findWhere = function(obj, attrs) {\n return _.find(obj, _.matcher(attrs));\n };\n\n // Return the maximum element (or element-based computation).\n _.max = function(obj, iteratee, context) {\n var result = -Infinity, lastComputed = -Infinity,\n value, computed;\n if (iteratee == null && 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 > result) {\n result = value;\n }\n }\n } else {\n iteratee = cb(iteratee, context);\n _.each(obj, function(value, index, list) {\n computed = iteratee(value, index, list);\n if (computed > lastComputed || computed === -Infinity && result === -Infinity) {\n result = value;\n lastComputed = computed;\n }\n });\n }\n return result;\n };\n\n // Return the minimum element (or element-based computation).\n _.min = function(obj, iteratee, context) {\n var result = Infinity, lastComputed = Infinity,\n value, computed;\n if (iteratee == null && 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 < result) {\n result = value;\n }\n }\n } else {\n iteratee = cb(iteratee, context);\n _.each(obj, function(value, index, list) {\n computed = iteratee(value, index, list);\n if (computed < lastComputed || computed === Infinity && result === Infinity) {\n result = value;\n lastComputed = computed;\n }\n });\n }\n return result;\n };\n\n // Shuffle a collection, using the modern version of the\n // [Fisher-Yates shuffle](http://en.wikipedia.org/wiki/Fisher–Yates_shuffle).\n _.shuffle = function(obj) {\n var set = isArrayLike(obj) ? obj : _.values(obj);\n var length = set.length;\n var shuffled = Array(length);\n for (var index = 0, rand; index < length; index++) {\n rand = _.random(0, index);\n if (rand !== index) shuffled[index] = shuffled[rand];\n shuffled[rand] = set[index];\n }\n return shuffled;\n };\n\n // Sample **n** random values from a collection.\n // If **n** is not specified, returns a single random element.\n // The internal `guard` argument allows it to work with `map`.\n _.sample = function(obj, n, guard) {\n if (n == null || guard) {\n if (!isArrayLike(obj)) obj = _.values(obj);\n return obj[_.random(obj.length - 1)];\n }\n return _.shuffle(obj).slice(0, Math.max(0, n));\n };\n\n // Sort the object's values by a criterion produced by an iteratee.\n _.sortBy = function(obj, iteratee, context) {\n iteratee = cb(iteratee, context);\n return _.pluck(_.map(obj, function(value, index, list) {\n return {\n value: value,\n index: index,\n criteria: iteratee(value, index, 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 var group = function(behavior) {\n return function(obj, iteratee, context) {\n var result = {};\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 _.groupBy = group(function(result, value, key) {\n if (_.has(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 _.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 _.countBy = group(function(result, value, key) {\n if (_.has(result, key)) result[key]++; else result[key] = 1;\n });\n\n // Safely create a real, live array from anything iterable.\n _.toArray = function(obj) {\n if (!obj) return [];\n if (_.isArray(obj)) return slice.call(obj);\n if (isArrayLike(obj)) return _.map(obj, _.identity);\n return _.values(obj);\n };\n\n // Return the number of elements in an object.\n _.size = function(obj) {\n if (obj == null) return 0;\n return isArrayLike(obj) ? obj.length : _.keys(obj).length;\n };\n\n // Split a collection into two arrays: one whose elements all satisfy the given\n // predicate, and one whose elements all do not satisfy the predicate.\n _.partition = function(obj, predicate, context) {\n predicate = cb(predicate, context);\n var pass = [], fail = [];\n _.each(obj, function(value, key, obj) {\n (predicate(value, key, obj) ? pass : fail).push(value);\n });\n return [pass, fail];\n };\n\n // Array Functions\n // ---------------\n\n // Get the first element of an array. Passing **n** will return the first N\n // values in the array. Aliased as `head` and `take`. The **guard** check\n // allows it to work with `_.map`.\n _.first = _.head = _.take = function(array, n, guard) {\n if (array == null) return void 0;\n if (n == null || guard) return array[0];\n return _.initial(array, array.length - n);\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 _.initial = function(array, n, guard) {\n return slice.call(array, 0, Math.max(0, array.length - (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 _.last = function(array, n, guard) {\n if (array == null) return 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 // Returns everything but the first entry of the array. Aliased as `tail` and `drop`.\n // Especially useful on the arguments object. Passing an **n** will return\n // the rest N values in the array.\n _.rest = _.tail = _.drop = function(array, n, guard) {\n return slice.call(array, n == null || guard ? 1 : n);\n };\n\n // Trim out all falsy values from an array.\n _.compact = function(array) {\n return _.filter(array, _.identity);\n };\n\n // Internal implementation of a recursive `flatten` function.\n var flatten = function(input, shallow, strict, startIndex) {\n var output = [], idx = 0;\n for (var i = startIndex || 0, length = getLength(input); i < length; i++) {\n var value = input[i];\n if (isArrayLike(value) && (_.isArray(value) || _.isArguments(value))) {\n //flatten current level of array or arguments object\n if (!shallow) value = flatten(value, shallow, strict);\n var j = 0, len = value.length;\n output.length += len;\n while (j < len) {\n output[idx++] = value[j++];\n }\n } else if (!strict) {\n output[idx++] = value;\n }\n }\n return output;\n };\n\n // Flatten out an array, either recursively (by default), or just one level.\n _.flatten = function(array, shallow) {\n return flatten(array, shallow, false);\n };\n\n // Return a version of the array that does not contain the specified value(s).\n _.without = function(array) {\n return _.difference(array, slice.call(arguments, 1));\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 // Aliased as `unique`.\n _.uniq = _.unique = function(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) {\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 _.union = function() {\n return _.uniq(flatten(arguments, true, true));\n };\n\n // Produce an array that contains every item shared between all the\n // passed-in arrays.\n _.intersection = function(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 for (var 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 // 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 _.difference = function(array) {\n var rest = flatten(arguments, true, true, 1);\n return _.filter(array, function(value){\n return !_.contains(rest, value);\n });\n };\n\n // Zip together multiple lists into a single array -- elements that share\n // an index go together.\n _.zip = function() {\n return _.unzip(arguments);\n };\n\n // Complement of _.zip. Unzip accepts an array of arrays and groups\n // each array's elements on shared indices\n _.unzip = function(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 // 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.\n _.object = function(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 // Generator function to create the findIndex and findLastIndex functions\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 predicate test\n _.findIndex = createPredicateIndexFinder(1);\n _.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 _.sortedIndex = function(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 // Generator function to create 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);\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 _.indexOf = createIndexFinder(1, _.findIndex, _.sortedIndex);\n _.lastIndexOf = createIndexFinder(-1, _.findLastIndex);\n\n // Generate an integer Array containing an arithmetic progression. A port of\n // the native Python `range()` function. See\n // [the Python documentation](http://docs.python.org/library/functions.html#range).\n _.range = function(start, stop, step) {\n if (stop == null) {\n stop = start || 0;\n start = 0;\n }\n step = step || 1;\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 // Function (ahem) Functions\n // ------------------\n\n // Determines whether to execute a function as a constructor\n // or a normal function with the provided arguments\n var executeBound = function(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 // Create a function bound to a given object (assigning `this`, and arguments,\n // optionally). Delegates to **ECMAScript 5**'s native `Function.bind` if\n // available.\n _.bind = function(func, context) {\n if (nativeBind && func.bind === nativeBind) return nativeBind.apply(func, slice.call(arguments, 1));\n if (!_.isFunction(func)) throw new TypeError('Bind must be called on a function');\n var args = slice.call(arguments, 2);\n var bound = function() {\n return executeBound(func, bound, context, this, args.concat(slice.call(arguments)));\n };\n return bound;\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, allowing any combination of arguments to be pre-filled.\n _.partial = function(func) {\n var boundArgs = slice.call(arguments, 1);\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] === _ ? 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 // 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 _.bindAll = function(obj) {\n var i, length = arguments.length, key;\n if (length <= 1) throw new Error('bindAll must be passed function names');\n for (i = 1; i < length; i++) {\n key = arguments[i];\n obj[key] = _.bind(obj[key], obj);\n }\n return obj;\n };\n\n // Memoize an expensive function by storing its results.\n _.memoize = function(func, hasher) {\n var memoize = function(key) {\n var cache = memoize.cache;\n var address = '' + (hasher ? hasher.apply(this, arguments) : key);\n if (!_.has(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 _.delay = function(func, wait) {\n var args = slice.call(arguments, 2);\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 _.defer = _.partial(_.delay, _, 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 _.throttle = function(func, wait, options) {\n var context, args, result;\n var timeout = null;\n var previous = 0;\n if (!options) options = {};\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 return 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\n // Returns a function, that, as long as it continues to be invoked, will not\n // be triggered. The function will be called after it stops being called for\n // N milliseconds. If `immediate` is passed, trigger the function on the\n // leading edge, instead of the trailing.\n _.debounce = function(func, wait, immediate) {\n var timeout, args, context, timestamp, result;\n\n var later = function() {\n var last = _.now() - timestamp;\n\n if (last < wait && last >= 0) {\n timeout = setTimeout(later, wait - last);\n } else {\n timeout = null;\n if (!immediate) {\n result = func.apply(context, args);\n if (!timeout) context = args = null;\n }\n }\n };\n\n return function() {\n context = this;\n args = arguments;\n timestamp = _.now();\n var callNow = immediate && !timeout;\n if (!timeout) timeout = setTimeout(later, wait);\n if (callNow) {\n result = func.apply(context, args);\n context = args = null;\n }\n\n return result;\n };\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 _.wrap = function(func, wrapper) {\n return _.partial(wrapper, func);\n };\n\n // Returns a negated version of the passed-in predicate.\n _.negate = function(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 _.compose = function() {\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 _.after = function(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 Nth call.\n _.before = function(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 _.once = _.partial(_.before, 2);\n\n // Object Functions\n // ----------------\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 function collectNonEnumProps(obj, keys) {\n var nonEnumIdx = nonEnumerableProps.length;\n var constructor = obj.constructor;\n var proto = (_.isFunction(constructor) && constructor.prototype) || ObjProto;\n\n // Constructor is a special case.\n var prop = 'constructor';\n if (_.has(obj, prop) && !_.contains(keys, prop)) keys.push(prop);\n\n while (nonEnumIdx--) {\n prop = nonEnumerableProps[nonEnumIdx];\n if (prop in obj && obj[prop] !== proto[prop] && !_.contains(keys, 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 _.keys = function(obj) {\n if (!_.isObject(obj)) return [];\n if (nativeKeys) return nativeKeys(obj);\n var keys = [];\n for (var key in obj) if (_.has(obj, key)) keys.push(key);\n // Ahem, IE < 9.\n if (hasEnumBug) collectNonEnumProps(obj, keys);\n return keys;\n };\n\n // Retrieve all the property names of an object.\n _.allKeys = function(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 // Retrieve the values of an object's properties.\n _.values = function(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 // Returns the results of applying the iteratee to each element of the object\n // In contrast to _.map it returns an object\n _.mapObject = function(obj, iteratee, context) {\n iteratee = cb(iteratee, context);\n var keys = _.keys(obj),\n length = keys.length,\n results = {},\n currentKey;\n for (var index = 0; index < length; index++) {\n currentKey = keys[index];\n results[currentKey] = iteratee(obj[currentKey], currentKey, obj);\n }\n return results;\n };\n\n // Convert an object into a list of `[key, value]` pairs.\n _.pairs = function(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 _.invert = function(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 // Aliased as `methods`\n _.functions = _.methods = function(obj) {\n var names = [];\n for (var key in obj) {\n if (_.isFunction(obj[key])) names.push(key);\n }\n return names.sort();\n };\n\n // Extend a given object with all the properties in passed-in object(s).\n _.extend = createAssigner(_.allKeys);\n\n // Assigns a given object with all the own properties in the passed-in object(s)\n // (https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object/assign)\n _.extendOwn = _.assign = createAssigner(_.keys);\n\n // Returns the first key on an object that passes a predicate test\n _.findKey = function(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 // Return a copy of the object only containing the whitelisted properties.\n _.pick = function(object, oiteratee, context) {\n var result = {}, obj = object, iteratee, keys;\n if (obj == null) return result;\n if (_.isFunction(oiteratee)) {\n keys = _.allKeys(obj);\n iteratee = optimizeCb(oiteratee, context);\n } else {\n keys = flatten(arguments, false, false, 1);\n iteratee = function(value, key, obj) { return key in obj; };\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 blacklisted properties.\n _.omit = function(obj, iteratee, context) {\n if (_.isFunction(iteratee)) {\n iteratee = _.negate(iteratee);\n } else {\n var keys = _.map(flatten(arguments, false, false, 1), String);\n iteratee = function(value, key) {\n return !_.contains(keys, key);\n };\n }\n return _.pick(obj, iteratee, context);\n };\n\n // Fill in a given object with default properties.\n _.defaults = createAssigner(_.allKeys, true);\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 _.create = function(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 _.clone = function(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 _.tap = function(obj, interceptor) {\n interceptor(obj);\n return obj;\n };\n\n // Returns whether an object has a given set of `key:value` pairs.\n _.isMatch = function(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\n // Internal recursive comparison function for `isEqual`.\n var eq = function(a, b, aStack, bStack) {\n // Identical objects are equal. `0 === -0`, but they aren't identical.\n // See the [Harmony `egal` proposal](http://wiki.ecmascript.org/doku.php?id=harmony:egal).\n if (a === b) return a !== 0 || 1 / a === 1 / b;\n // A strict comparison is necessary because `null == undefined`.\n if (a == null || b == null) return a === b;\n // Unwrap any wrapped objects.\n if (a instanceof _) a = a._wrapped;\n if (b instanceof _) b = b._wrapped;\n // Compare `[[Class]]` names.\n var className = toString.call(a);\n if (className !== toString.call(b)) return false;\n switch (className) {\n // Strings, numbers, regular expressions, dates, and booleans 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 }\n\n var areArrays = className === '[object Array]';\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(aCtor) && aCtor instanceof aCtor &&\n _.isFunction(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(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 _.isEqual = function(a, b) {\n return eq(a, b);\n };\n\n // Is a given array, string, or object empty?\n // An \"empty\" object has no enumerable own-properties.\n _.isEmpty = function(obj) {\n if (obj == null) return true;\n if (isArrayLike(obj) && (_.isArray(obj) || _.isString(obj) || _.isArguments(obj))) return obj.length === 0;\n return _.keys(obj).length === 0;\n };\n\n // Is a given value a DOM element?\n _.isElement = function(obj) {\n return !!(obj && obj.nodeType === 1);\n };\n\n // Is a given value an array?\n // Delegates to ECMA5's native Array.isArray\n _.isArray = nativeIsArray || function(obj) {\n return toString.call(obj) === '[object Array]';\n };\n\n // Is a given variable an object?\n _.isObject = function(obj) {\n var type = typeof obj;\n return type === 'function' || type === 'object' && !!obj;\n };\n\n // Add some isType methods: isArguments, isFunction, isString, isNumber, isDate, isRegExp, isError.\n _.each(['Arguments', 'Function', 'String', 'Number', 'Date', 'RegExp', 'Error'], function(name) {\n _['is' + name] = function(obj) {\n return toString.call(obj) === '[object ' + name + ']';\n };\n });\n\n // Define a fallback version of the method in browsers (ahem, IE < 9), where\n // there isn't any inspectable \"Arguments\" type.\n if (!_.isArguments(arguments)) {\n _.isArguments = function(obj) {\n return _.has(obj, 'callee');\n };\n }\n\n // Optimize `isFunction` if appropriate. Work around some typeof bugs in old v8,\n // IE 11 (#1621), and in Safari 8 (#1929).\n if (typeof /./ != 'function' && typeof Int8Array != 'object') {\n _.isFunction = function(obj) {\n return typeof obj == 'function' || false;\n };\n }\n\n // Is a given object a finite number?\n _.isFinite = function(obj) {\n return isFinite(obj) && !isNaN(parseFloat(obj));\n };\n\n // Is the given value `NaN`? (NaN is the only number which does not equal itself).\n _.isNaN = function(obj) {\n return _.isNumber(obj) && obj !== +obj;\n };\n\n // Is a given value a boolean?\n _.isBoolean = function(obj) {\n return obj === true || obj === false || toString.call(obj) === '[object Boolean]';\n };\n\n // Is a given value equal to null?\n _.isNull = function(obj) {\n return obj === null;\n };\n\n // Is a given variable undefined?\n _.isUndefined = function(obj) {\n return obj === void 0;\n };\n\n // Shortcut function for checking if an object has a given property directly\n // on itself (in other words, not on a prototype).\n _.has = function(obj, key) {\n return obj != null && hasOwnProperty.call(obj, key);\n };\n\n // Utility Functions\n // -----------------\n\n // Run Underscore.js in *noConflict* mode, returning the `_` variable to its\n // previous owner. Returns a reference to the Underscore object.\n _.noConflict = function() {\n root._ = previousUnderscore;\n return this;\n };\n\n // Keep the identity function around for default iteratees.\n _.identity = function(value) {\n return value;\n };\n\n // Predicate-generating functions. Often useful outside of Underscore.\n _.constant = function(value) {\n return function() {\n return value;\n };\n };\n\n _.noop = function(){};\n\n _.property = property;\n\n // Generates a function for a given object that returns a given property.\n _.propertyOf = function(obj) {\n return obj == null ? function(){} : function(key) {\n return obj[key];\n };\n };\n\n // Returns a predicate for checking whether an object has a given set of\n // `key:value` pairs.\n _.matcher = _.matches = function(attrs) {\n attrs = _.extendOwn({}, attrs);\n return function(obj) {\n return _.isMatch(obj, attrs);\n };\n };\n\n // Run a function **n** times.\n _.times = function(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 _.random = function(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 _.now = Date.now || function() {\n return new Date().getTime();\n };\n\n // List of HTML entities for escaping.\n var escapeMap = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n \"'\": ''',\n '`': '`'\n };\n var unescapeMap = _.invert(escapeMap);\n\n // Functions for escaping and unescaping strings to/from HTML interpolation.\n var createEscaper = function(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 _.escape = createEscaper(escapeMap);\n _.unescape = createEscaper(unescapeMap);\n\n // If the value of the named `property` is a function then invoke it with the\n // `object` as context; otherwise, return it.\n _.result = function(object, property, fallback) {\n var value = object == null ? void 0 : object[property];\n if (value === void 0) {\n value = fallback;\n }\n return _.isFunction(value) ? value.call(object) : value;\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 _.uniqueId = function(prefix) {\n var id = ++idCounter + '';\n return prefix ? prefix + id : id;\n };\n\n // By default, Underscore uses ERB-style template delimiters, change the\n // following template settings to use alternative delimiters.\n _.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 escaper = /\\\\|'|\\r|\\n|\\u2028|\\u2029/g;\n\n var escapeChar = function(match) {\n return '\\\\' + escapes[match];\n };\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 _.template = function(text, settings, oldSettings) {\n if (!settings && oldSettings) settings = oldSettings;\n settings = _.defaults({}, settings, _.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(escaper, 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 offest.\n return match;\n });\n source += \"';\\n\";\n\n // If a variable is not specified, place data values in local scope.\n if (!settings.variable) source = 'with(obj||{}){\\n' + source + '}\\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 try {\n var render = new Function(settings.variable || 'obj', '_', source);\n } catch (e) {\n e.source = source;\n throw e;\n }\n\n var template = function(data) {\n return render.call(this, data, _);\n };\n\n // Provide the compiled source as a convenience for precompilation.\n var argument = settings.variable || 'obj';\n template.source = 'function(' + argument + '){\\n' + source + '}';\n\n return template;\n };\n\n // Add a \"chain\" function. Start chaining a wrapped Underscore object.\n _.chain = function(obj) {\n var instance = _(obj);\n instance._chain = true;\n return instance;\n };\n\n // OOP\n // ---------------\n // If Underscore is called as a function, it returns a wrapped object that\n // can be used OO-style. This wrapper holds altered versions of all the\n // underscore functions. Wrapped objects may be chained.\n\n // Helper function to continue chaining intermediate results.\n var result = function(instance, obj) {\n return instance._chain ? _(obj).chain() : obj;\n };\n\n // Add your own custom functions to the Underscore object.\n _.mixin = function(obj) {\n _.each(_.functions(obj), function(name) {\n var func = _[name] = obj[name];\n _.prototype[name] = function() {\n var args = [this._wrapped];\n push.apply(args, arguments);\n return result(this, func.apply(_, args));\n };\n });\n };\n\n // Add all of the Underscore functions to the wrapper object.\n _.mixin(_);\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 _.prototype[name] = function() {\n var obj = this._wrapped;\n method.apply(obj, arguments);\n if ((name === 'shift' || name === 'splice') && obj.length === 0) delete obj[0];\n return result(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 _.prototype[name] = function() {\n return result(this, method.apply(this._wrapped, arguments));\n };\n });\n\n // Extracts the result from a wrapped and chained object.\n _.prototype.value = function() {\n return this._wrapped;\n };\n\n // Provide unwrapping proxy for some methods used in engine operations\n // such as arithmetic and JSON stringification.\n _.prototype.valueOf = _.prototype.toJSON = _.prototype.value;\n\n _.prototype.toString = function() {\n return '' + this._wrapped;\n };\n\n // AMD registration happens at the end for compatibility with AMD loaders\n // that may not enforce next-turn semantics on modules. Even though general\n // practice for AMD registration is to be anonymous, underscore registers\n // as a named module because, like jQuery, it is a base library that is\n // popular enough to be bundled in a third party lib, but not be part of\n // an AMD load request. Those cases could generate an error when an\n // anonymous define() is called outside of a loader request.\n if (typeof define === 'function' && define.amd) {\n define('underscore', [], function() {\n return _;\n });\n }\n}.call(this));\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/underscore/underscore.js\n ** module id = 7\n ** module chunks = 0\n **/","export * from './en'; // TODO: select language\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/constants/lang/index.js\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule ReactDOMComponentTree\n */\n\n'use strict';\n\nvar _prodInvariant = require('./reactProdInvariant');\n\nvar DOMProperty = require('./DOMProperty');\nvar ReactDOMComponentFlags = require('./ReactDOMComponentFlags');\n\nvar invariant = require('fbjs/lib/invariant');\n\nvar ATTR_NAME = DOMProperty.ID_ATTRIBUTE_NAME;\nvar Flags = ReactDOMComponentFlags;\n\nvar internalInstanceKey = '__reactInternalInstance$' + Math.random().toString(36).slice(2);\n\n/**\n * Drill down (through composites and empty components) until we get a host or\n * host text component.\n *\n * This is pretty polymorphic but unavoidable with the current structure we have\n * for `_renderedChildren`.\n */\nfunction getRenderedHostOrTextFromComponent(component) {\n var rendered;\n while (rendered = component._renderedComponent) {\n component = rendered;\n }\n return component;\n}\n\n/**\n * Populate `_hostNode` on the rendered host/text component with the given\n * DOM node. The passed `inst` can be a composite.\n */\nfunction precacheNode(inst, node) {\n var hostInst = getRenderedHostOrTextFromComponent(inst);\n hostInst._hostNode = node;\n node[internalInstanceKey] = hostInst;\n}\n\nfunction uncacheNode(inst) {\n var node = inst._hostNode;\n if (node) {\n delete node[internalInstanceKey];\n inst._hostNode = null;\n }\n}\n\n/**\n * Populate `_hostNode` on each child of `inst`, assuming that the children\n * match up with the DOM (element) children of `node`.\n *\n * We cache entire levels at once to avoid an n^2 problem where we access the\n * children of a node sequentially and have to walk from the start to our target\n * node every time.\n *\n * Since we update `_renderedChildren` and the actual DOM at (slightly)\n * different times, we could race here and see a newer `_renderedChildren` than\n * the DOM nodes we see. To avoid this, ReactMultiChild calls\n * `prepareToManageChildren` before we change `_renderedChildren`, at which\n * time the container's child nodes are always cached (until it unmounts).\n */\nfunction precacheChildNodes(inst, node) {\n if (inst._flags & Flags.hasCachedChildNodes) {\n return;\n }\n var children = inst._renderedChildren;\n var childNode = node.firstChild;\n outer: for (var name in children) {\n if (!children.hasOwnProperty(name)) {\n continue;\n }\n var childInst = children[name];\n var childID = getRenderedHostOrTextFromComponent(childInst)._domID;\n if (childID === 0) {\n // We're currently unmounting this child in ReactMultiChild; skip it.\n continue;\n }\n // We assume the child nodes are in the same order as the child instances.\n for (; childNode !== null; childNode = childNode.nextSibling) {\n if (childNode.nodeType === 1 && childNode.getAttribute(ATTR_NAME) === String(childID) || childNode.nodeType === 8 && childNode.nodeValue === ' react-text: ' + childID + ' ' || childNode.nodeType === 8 && childNode.nodeValue === ' react-empty: ' + childID + ' ') {\n precacheNode(childInst, childNode);\n continue outer;\n }\n }\n // We reached the end of the DOM children without finding an ID match.\n !false ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Unable to find element with ID %s.', childID) : _prodInvariant('32', childID) : void 0;\n }\n inst._flags |= Flags.hasCachedChildNodes;\n}\n\n/**\n * Given a DOM node, return the closest ReactDOMComponent or\n * ReactDOMTextComponent instance ancestor.\n */\nfunction getClosestInstanceFromNode(node) {\n if (node[internalInstanceKey]) {\n return node[internalInstanceKey];\n }\n\n // Walk up the tree until we find an ancestor whose instance we have cached.\n var parents = [];\n while (!node[internalInstanceKey]) {\n parents.push(node);\n if (node.parentNode) {\n node = node.parentNode;\n } else {\n // Top of the tree. This node must not be part of a React tree (or is\n // unmounted, potentially).\n return null;\n }\n }\n\n var closest;\n var inst;\n for (; node && (inst = node[internalInstanceKey]); node = parents.pop()) {\n closest = inst;\n if (parents.length) {\n precacheChildNodes(inst, node);\n }\n }\n\n return closest;\n}\n\n/**\n * Given a DOM node, return the ReactDOMComponent or ReactDOMTextComponent\n * instance, or null if the node was not rendered by this React.\n */\nfunction getInstanceFromNode(node) {\n var inst = getClosestInstanceFromNode(node);\n if (inst != null && inst._hostNode === node) {\n return inst;\n } else {\n return null;\n }\n}\n\n/**\n * Given a ReactDOMComponent or ReactDOMTextComponent, return the corresponding\n * DOM node.\n */\nfunction getNodeFromInstance(inst) {\n // Without this first invariant, passing a non-DOM-component triggers the next\n // invariant for a missing parent, which is super confusing.\n !(inst._hostNode !== undefined) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'getNodeFromInstance: Invalid argument.') : _prodInvariant('33') : void 0;\n\n if (inst._hostNode) {\n return inst._hostNode;\n }\n\n // Walk up the tree until we find an ancestor whose DOM node we have cached.\n var parents = [];\n while (!inst._hostNode) {\n parents.push(inst);\n !inst._hostParent ? process.env.NODE_ENV !== 'production' ? invariant(false, 'React DOM tree root should always have a node reference.') : _prodInvariant('34') : void 0;\n inst = inst._hostParent;\n }\n\n // Now parents contains each ancestor that does *not* have a cached native\n // node, and `inst` is the deepest ancestor that does.\n for (; parents.length; inst = parents.pop()) {\n precacheChildNodes(inst, inst._hostNode);\n }\n\n return inst._hostNode;\n}\n\nvar ReactDOMComponentTree = {\n getClosestInstanceFromNode: getClosestInstanceFromNode,\n getInstanceFromNode: getInstanceFromNode,\n getNodeFromInstance: getNodeFromInstance,\n precacheChildNodes: precacheChildNodes,\n precacheNode: precacheNode,\n uncacheNode: uncacheNode\n};\n\nmodule.exports = ReactDOMComponentTree;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react/lib/ReactDOMComponentTree.js\n ** module id = 9\n ** module chunks = 0\n **/","/**\n * Copyright 2013-2015, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n */\n\n'use strict';\n\n/**\n * Use invariant() to assert state which your program assumes to be true.\n *\n * Provide sprintf-style format (only %s is supported) and arguments\n * to provide information about what broke and what you were\n * expecting.\n *\n * The invariant message will be stripped in production, but the invariant\n * will remain to ensure logic does not differ in production.\n */\n\nvar invariant = function(condition, format, a, b, c, d, e, f) {\n if (process.env.NODE_ENV !== 'production') {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n }\n\n if (!condition) {\n var error;\n if (format === undefined) {\n error = new Error(\n 'Minified exception occurred; use the non-minified dev environment ' +\n 'for the full error message and additional helpful warnings.'\n );\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(\n format.replace(/%s/g, function() { return args[argIndex++]; })\n );\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // we don't care about invariant's own frame\n throw error;\n }\n};\n\nmodule.exports = invariant;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/invariant/browser.js\n ** module id = 10\n ** module chunks = 0\n **/","'use strict';\n\nvar YAMLException = require('./exception');\n\nvar TYPE_CONSTRUCTOR_OPTIONS = [\n 'kind',\n 'resolve',\n 'construct',\n 'instanceOf',\n 'predicate',\n 'represent',\n 'defaultStyle',\n 'styleAliases'\n];\n\nvar YAML_NODE_KINDS = [\n 'scalar',\n 'sequence',\n 'mapping'\n];\n\nfunction compileStyleAliases(map) {\n var result = {};\n\n if (map !== null) {\n Object.keys(map).forEach(function (style) {\n map[style].forEach(function (alias) {\n result[String(alias)] = style;\n });\n });\n }\n\n return result;\n}\n\nfunction Type(tag, options) {\n options = options || {};\n\n Object.keys(options).forEach(function (name) {\n if (TYPE_CONSTRUCTOR_OPTIONS.indexOf(name) === -1) {\n throw new YAMLException('Unknown option \"' + name + '\" is met in definition of \"' + tag + '\" YAML type.');\n }\n });\n\n // TODO: Add tag format check.\n this.tag = tag;\n this.kind = options['kind'] || null;\n this.resolve = options['resolve'] || function () { return true; };\n this.construct = options['construct'] || function (data) { return data; };\n this.instanceOf = options['instanceOf'] || null;\n this.predicate = options['predicate'] || null;\n this.represent = options['represent'] || null;\n this.defaultStyle = options['defaultStyle'] || null;\n this.styleAliases = compileStyleAliases(options['styleAliases'] || null);\n\n if (YAML_NODE_KINDS.indexOf(this.kind) === -1) {\n throw new YAMLException('Unknown kind \"' + this.kind + '\" is specified for \"' + tag + '\" YAML type.');\n }\n}\n\nmodule.exports = Type;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/js-yaml/lib/js-yaml/type.js\n ** module id = 11\n ** module chunks = 0\n **/","'use strict';\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar idCount = 0;\n\nvar _ = module.exports = {\n\n has: has,\n\n result: function result(value) {\n for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return typeof value === 'function' ? value.apply(undefined, args) : value;\n },\n\n isShallowEqual: function isShallowEqual(a, b) {\n if (a === b) return true;\n if (a instanceof Date && b instanceof Date) return a.getTime() === b.getTime();\n\n if ((typeof a === 'undefined' ? 'undefined' : _typeof(a)) !== 'object' && (typeof b === 'undefined' ? 'undefined' : _typeof(b)) !== 'object') return a === b;\n\n if ((typeof a === 'undefined' ? 'undefined' : _typeof(a)) !== (typeof b === 'undefined' ? 'undefined' : _typeof(b))) return false;\n\n return shallowEqual(a, b);\n },\n transform: function transform(obj, cb, seed) {\n _.each(obj, cb.bind(null, seed = seed || (Array.isArray(obj) ? [] : {})));\n return seed;\n },\n each: function each(obj, cb, thisArg) {\n if (Array.isArray(obj)) return obj.forEach(cb, thisArg);\n\n for (var key in obj) {\n if (has(obj, key)) cb.call(thisArg, obj[key], key, obj);\n }\n },\n pick: function pick(obj, keys) {\n keys = [].concat(keys);\n return _.transform(obj, function (mapped, val, key) {\n if (keys.indexOf(key) !== -1) mapped[key] = val;\n }, {});\n },\n pickProps: function pickProps(props, componentClass) {\n return _.pick(props, Object.keys(componentClass.propTypes));\n },\n omit: function omit(obj, keys) {\n keys = [].concat(keys);\n return _.transform(obj, function (mapped, val, key) {\n if (keys.indexOf(key) === -1) mapped[key] = val;\n }, {});\n },\n omitOwnProps: function omitOwnProps(component) {\n for (var _len2 = arguments.length, others = Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n others[_key2 - 1] = arguments[_key2];\n }\n\n var keys = others.reduce(function (arr, compClass) {\n return arr.concat(Object.keys(compClass.propTypes));\n }, Object.keys(component.constructor.propTypes));\n\n return _.omit(component.props, keys);\n },\n find: function find(arr, cb, thisArg) {\n var result;\n if (Array.isArray(arr)) {\n arr.every(function (val, idx) {\n if (cb.call(thisArg, val, idx, arr)) return result = val, false;\n return true;\n });\n return result;\n } else for (var key in arr) {\n if (has(arr, key)) if (cb.call(thisArg, arr[key], key, arr)) return arr[key];\n }\n },\n chunk: function chunk(array, chunkSize) {\n var index = 0,\n length = array ? array.length : 0,\n result = [];\n\n chunkSize = Math.max(+chunkSize || 1, 1);\n\n while (index < length) {\n result.push(array.slice(index, index += chunkSize));\n }return result;\n },\n splat: function splat(obj) {\n return obj == null ? [] : [].concat(obj);\n },\n noop: function noop() {},\n uniqueId: function uniqueId(prefix) {\n return '' + ((prefix == null ? '' : prefix) + ++idCount);\n }\n};\n\nfunction has(o, k) {\n return o ? Object.prototype.hasOwnProperty.call(o, k) : false;\n}\n\nfunction eql(a, b) {\n return a === b;\n}\n\n/**\n * Copyright 2013-2015, Facebook, Inc.\n * All rights reserved.\n */\nfunction shallowEqual(objA, objB) {\n\n if (objA == null || objB == null) return false;\n\n var keysA = Object.keys(objA),\n keysB = Object.keys(objB);\n\n if (keysA.length !== keysB.length) return false;\n\n for (var i = 0; i < keysA.length; i++) {\n if (!has(objB, keysA[i]) || !eql(objA[keysA[i]], objB[keysA[i]])) return false;\n }return true;\n}\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-widgets/lib/util/_.js\n ** module id = 12\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\nexports.compose = exports.applyMiddleware = exports.bindActionCreators = exports.combineReducers = exports.createStore = undefined;\n\nvar _createStore = require('./createStore');\n\nvar _createStore2 = _interopRequireDefault(_createStore);\n\nvar _combineReducers = require('./combineReducers');\n\nvar _combineReducers2 = _interopRequireDefault(_combineReducers);\n\nvar _bindActionCreators = require('./bindActionCreators');\n\nvar _bindActionCreators2 = _interopRequireDefault(_bindActionCreators);\n\nvar _applyMiddleware = require('./applyMiddleware');\n\nvar _applyMiddleware2 = _interopRequireDefault(_applyMiddleware);\n\nvar _compose = require('./compose');\n\nvar _compose2 = _interopRequireDefault(_compose);\n\nvar _warning = require('./utils/warning');\n\nvar _warning2 = _interopRequireDefault(_warning);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\n/*\n* This is a dummy function to check if the function name has been altered by minification.\n* If the function has been minified and NODE_ENV !== 'production', warn the user.\n*/\nfunction isCrushed() {}\n\nif (process.env.NODE_ENV !== 'production' && typeof isCrushed.name === 'string' && isCrushed.name !== 'isCrushed') {\n (0, _warning2[\"default\"])('You are currently using minified code outside of NODE_ENV === \\'production\\'. ' + 'This means that you are running a slower development build of Redux. ' + 'You can use loose-envify (https://github.com/zertosh/loose-envify) for browserify ' + 'or DefinePlugin for webpack (http://stackoverflow.com/questions/30030031) ' + 'to ensure you have the correct code for your production build.');\n}\n\nexports.createStore = _createStore2[\"default\"];\nexports.combineReducers = _combineReducers2[\"default\"];\nexports.bindActionCreators = _bindActionCreators2[\"default\"];\nexports.applyMiddleware = _applyMiddleware2[\"default\"];\nexports.compose = _compose2[\"default\"];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/redux/lib/index.js\n ** module id = 13\n ** module chunks = 0\n **/","// Config\nexport const FETCH_CONFIG_REQUEST = 'FETCH_CONFIG_REQUEST';\nexport const FETCH_CONFIG_SUCCESS = 'FETCH_CONFIG_SUCCESS';\nexport const FETCH_CONFIG_FAILURE = 'FETCH_CONFIG_FAILURE';\n\nexport const PUT_CONFIG_REQUEST = 'PUT_CONFIG_REQUEST';\nexport const PUT_CONFIG_SUCCESS = 'PUT_CONFIG_SUCCESS';\nexport const PUT_CONFIG_FAILURE = 'PUT_CONFIG_FAILURE';\n\nexport const CONFIG_EDITOR_CHANGED = 'CONFIG_EDITOR_CHANGED';\n\n\n// Pages\nexport const FETCH_PAGES_REQUEST = 'FETCH_PAGES_REQUEST';\nexport const FETCH_PAGES_SUCCESS = 'FETCH_PAGES_SUCCESS';\nexport const FETCH_PAGES_FAILURE = 'FETCH_PAGES_FAILURE';\n\nexport const FETCH_PAGE_REQUEST = 'FETCH_PAGE_REQUEST';\nexport const FETCH_PAGE_SUCCESS = 'FETCH_PAGE_SUCCESS';\nexport const FETCH_PAGE_FAILURE = 'FETCH_PAGE_FAILURE';\n\nexport const PUT_PAGE_REQUEST = 'PUT_PAGE_REQUEST';\nexport const PUT_PAGE_SUCCESS = 'PUT_PAGE_SUCCESS';\nexport const PUT_PAGE_FAILURE = 'PUT_PAGE_FAILURE';\n\nexport const DELETE_PAGE_REQUEST = 'DELETE_PAGE_REQUEST';\nexport const DELETE_PAGE_SUCCESS = 'DELETE_PAGE_SUCCESS';\nexport const DELETE_PAGE_FAILURE = 'DELETE_PAGE_FAILURE';\n\n\n// COLLECTIONS\nexport const FETCH_COLLECTIONS_REQUEST = 'FETCH_COLLECTIONS_REQUEST';\nexport const FETCH_COLLECTIONS_SUCCESS = 'FETCH_COLLECTIONS_SUCCESS';\nexport const FETCH_COLLECTIONS_FAILURE = 'FETCH_COLLECTIONS_FAILURE';\n\nexport const FETCH_COLLECTION_REQUEST = 'FETCH_COLLECTION_REQUEST';\nexport const FETCH_COLLECTION_SUCCESS = 'FETCH_COLLECTION_SUCCESS';\nexport const FETCH_COLLECTION_FAILURE = 'FETCH_COLLECTION_FAILURE';\n\nexport const FETCH_DOCUMENT_REQUEST = 'FETCH_DOCUMENT_REQUEST';\nexport const FETCH_DOCUMENT_SUCCESS = 'FETCH_DOCUMENT_SUCCESS';\nexport const FETCH_DOCUMENT_FAILURE = 'FETCH_DOCUMENT_FAILURE';\n\nexport const PUT_DOCUMENT_REQUEST = 'PUT_DOCUMENT_REQUEST';\nexport const PUT_DOCUMENT_SUCCESS = 'PUT_DOCUMENT_SUCCESS';\nexport const PUT_DOCUMENT_FAILURE = 'PUT_DOCUMENT_FAILURE';\n\nexport const DELETE_DOCUMENT_REQUEST = 'DELETE_DOCUMENT_REQUEST';\nexport const DELETE_DOCUMENT_SUCCESS = 'DELETE_DOCUMENT_SUCCESS';\nexport const DELETE_DOCUMENT_FAILURE = 'DELETE_DOCUMENT_FAILURE';\n\n\n// Metadata\nexport const UPDATE_TITLE = 'UPDATE_TITLE';\nexport const UPDATE_BODY = 'UPDATE_BODY';\nexport const UPDATE_PATH = 'UPDATE_PATH';\nexport const UPDATE_DRAFT = 'UPDATE_DRAFT';\nexport const STORE_CONTENT_FIELDS = 'STORE_CONTENT_FIELDS';\nexport const ADD_METAFIELD = 'ADD_METAFIELD';\nexport const REMOVE_METAFIELD = 'REMOVE_METAFIELD';\nexport const UPDATE_FIELD_KEY = 'UPDATE_FIELD_KEY';\nexport const UPDATE_FIELD_VALUE = 'UPDATE_FIELD_VALUE';\nexport const MOVE_ARRAY_ITEM = 'MOVE_ARRAY_ITEM';\nexport const CONVERT_FIELD = 'CONVERT_FIELD';\n\n// Datafiles\nexport const FETCH_DATAFILES_REQUEST = 'FETCH_DATAFILES_REQUEST';\nexport const FETCH_DATAFILES_SUCCESS = 'FETCH_DATAFILES_SUCCESS';\nexport const FETCH_DATAFILES_FAILURE = 'FETCH_DATAFILES_FAILURE';\n\nexport const FETCH_DATAFILE_REQUEST = 'FETCH_DATAFILE_REQUEST';\nexport const FETCH_DATAFILE_SUCCESS = 'FETCH_DATAFILE_SUCCESS';\nexport const FETCH_DATAFILE_FAILURE = 'FETCH_DATAFILE_FAILURE';\n\nexport const PUT_DATAFILE_REQUEST = 'PUT_DATAFILE_REQUEST';\nexport const PUT_DATAFILE_SUCCESS = 'PUT_DATAFILE_SUCCESS';\nexport const PUT_DATAFILE_FAILURE = 'PUT_DATAFILE_FAILURE';\n\nexport const DELETE_DATAFILE_REQUEST = 'DELETE_DATAFILE_REQUEST';\nexport const DELETE_DATAFILE_SUCCESS = 'DELETE_DATAFILE_SUCCESS';\nexport const DELETE_DATAFILE_FAILURE = 'DELETE_DATAFILE_FAILURE';\n\nexport const DATAFILE_CHANGED = 'DATAFILE_CHANGED';\n\n// Static Files\nexport const FETCH_STATICFILES_REQUEST = 'FETCH_STATICFILES_REQUEST';\nexport const FETCH_STATICFILES_SUCCESS = 'FETCH_STATICFILES_SUCCESS';\nexport const FETCH_STATICFILES_FAILURE = 'FETCH_STATICFILES_FAILURE';\n\nexport const FETCH_STATICFILE_REQUEST = 'FETCH_STATICFILE_REQUEST';\nexport const FETCH_STATICFILE_SUCCESS = 'FETCH_STATICFILE_SUCCESS';\nexport const FETCH_STATICFILE_FAILURE = 'FETCH_STATICFILE_FAILURE';\n\nexport const PUT_STATICFILE_REQUEST = 'PUT_STATICFILE_REQUEST';\nexport const PUT_STATICFILE_SUCCESS = 'PUT_STATICFILE_SUCCESS';\nexport const PUT_STATICFILE_FAILURE = 'PUT_STATICFILE_FAILURE';\n\nexport const DELETE_STATICFILE_REQUEST = 'DELETE_STATICFILE_REQUEST';\nexport const DELETE_STATICFILE_SUCCESS = 'DELETE_STATICFILE_SUCCESS';\nexport const DELETE_STATICFILE_FAILURE = 'DELETE_STATICFILE_FAILURE';\n\n\n// Utility\nexport const SEARCH_CONTENT = 'SEARCH_CONTENT';\nexport const CLEAR_ERRORS = 'CLEAR_ERRORS';\nexport const VALIDATION_ERROR = 'VALIDATION_ERROR';\n\n\n// Notification\nexport const ADD_NOTIFICATION = 'ADD_NOTIFICATION';\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/constants/actionTypes.js\n **/","'use strict';\n\nexports.__esModule = true;\nexports.connect = exports.Provider = undefined;\n\nvar _Provider = require('./components/Provider');\n\nvar _Provider2 = _interopRequireDefault(_Provider);\n\nvar _connect = require('./components/connect');\n\nvar _connect2 = _interopRequireDefault(_connect);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nexports.Provider = _Provider2[\"default\"];\nexports.connect = _connect2[\"default\"];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-redux/lib/index.js\n ** module id = 15\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\nexports.createMemoryHistory = exports.hashHistory = exports.browserHistory = exports.applyRouterMiddleware = exports.formatPattern = exports.useRouterHistory = exports.match = exports.routerShape = exports.locationShape = exports.RouterContext = exports.createRoutes = exports.Route = exports.Redirect = exports.IndexRoute = exports.IndexRedirect = exports.withRouter = exports.IndexLink = exports.Link = exports.Router = undefined;\n\nvar _RouteUtils = require('./RouteUtils');\n\nObject.defineProperty(exports, 'createRoutes', {\n enumerable: true,\n get: function get() {\n return _RouteUtils.createRoutes;\n }\n});\n\nvar _PropTypes = require('./PropTypes');\n\nObject.defineProperty(exports, 'locationShape', {\n enumerable: true,\n get: function get() {\n return _PropTypes.locationShape;\n }\n});\nObject.defineProperty(exports, 'routerShape', {\n enumerable: true,\n get: function get() {\n return _PropTypes.routerShape;\n }\n});\n\nvar _PatternUtils = require('./PatternUtils');\n\nObject.defineProperty(exports, 'formatPattern', {\n enumerable: true,\n get: function get() {\n return _PatternUtils.formatPattern;\n }\n});\n\nvar _Router2 = require('./Router');\n\nvar _Router3 = _interopRequireDefault(_Router2);\n\nvar _Link2 = require('./Link');\n\nvar _Link3 = _interopRequireDefault(_Link2);\n\nvar _IndexLink2 = require('./IndexLink');\n\nvar _IndexLink3 = _interopRequireDefault(_IndexLink2);\n\nvar _withRouter2 = require('./withRouter');\n\nvar _withRouter3 = _interopRequireDefault(_withRouter2);\n\nvar _IndexRedirect2 = require('./IndexRedirect');\n\nvar _IndexRedirect3 = _interopRequireDefault(_IndexRedirect2);\n\nvar _IndexRoute2 = require('./IndexRoute');\n\nvar _IndexRoute3 = _interopRequireDefault(_IndexRoute2);\n\nvar _Redirect2 = require('./Redirect');\n\nvar _Redirect3 = _interopRequireDefault(_Redirect2);\n\nvar _Route2 = require('./Route');\n\nvar _Route3 = _interopRequireDefault(_Route2);\n\nvar _RouterContext2 = require('./RouterContext');\n\nvar _RouterContext3 = _interopRequireDefault(_RouterContext2);\n\nvar _match2 = require('./match');\n\nvar _match3 = _interopRequireDefault(_match2);\n\nvar _useRouterHistory2 = require('./useRouterHistory');\n\nvar _useRouterHistory3 = _interopRequireDefault(_useRouterHistory2);\n\nvar _applyRouterMiddleware2 = require('./applyRouterMiddleware');\n\nvar _applyRouterMiddleware3 = _interopRequireDefault(_applyRouterMiddleware2);\n\nvar _browserHistory2 = require('./browserHistory');\n\nvar _browserHistory3 = _interopRequireDefault(_browserHistory2);\n\nvar _hashHistory2 = require('./hashHistory');\n\nvar _hashHistory3 = _interopRequireDefault(_hashHistory2);\n\nvar _createMemoryHistory2 = require('./createMemoryHistory');\n\nvar _createMemoryHistory3 = _interopRequireDefault(_createMemoryHistory2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.Router = _Router3.default; /* components */\n\nexports.Link = _Link3.default;\nexports.IndexLink = _IndexLink3.default;\nexports.withRouter = _withRouter3.default;\n\n/* components (configuration) */\n\nexports.IndexRedirect = _IndexRedirect3.default;\nexports.IndexRoute = _IndexRoute3.default;\nexports.Redirect = _Redirect3.default;\nexports.Route = _Route3.default;\n\n/* utils */\n\nexports.RouterContext = _RouterContext3.default;\nexports.match = _match3.default;\nexports.useRouterHistory = _useRouterHistory3.default;\nexports.applyRouterMiddleware = _applyRouterMiddleware3.default;\n\n/* histories */\n\nexports.browserHistory = _browserHistory3.default;\nexports.hashHistory = _hashHistory3.default;\nexports.createMemoryHistory = _createMemoryHistory3.default;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-router/lib/index.js\n ** module id = 16\n ** module chunks = 0\n **/","export const VERSION = 'v0.3.0';\nexport const ADMIN_PREFIX = '/admin';\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/constants/index.js\n **/","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n */\n\n'use strict';\n\nvar canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\n\n/**\n * Simple, lightweight module assisting with the detection and context of\n * Worker. Helps avoid circular dependencies and allows code to reason about\n * whether or not they are in a Worker, even if they never include the main\n * `ReactWorker` dependency.\n */\nvar ExecutionEnvironment = {\n\n canUseDOM: canUseDOM,\n\n canUseWorkers: typeof Worker !== 'undefined',\n\n canUseEventListeners: canUseDOM && !!(window.addEventListener || window.attachEvent),\n\n canUseViewport: canUseDOM && !!window.screen,\n\n isInWorker: !canUseDOM // For now, this is true - might change in the future.\n\n};\n\nmodule.exports = ExecutionEnvironment;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/fbjs/lib/ExecutionEnvironment.js\n ** module id = 18\n ** module chunks = 0\n **/","import * as ActionTypes from '../constants/actionTypes';\n\nexport function search(input) {\n return {\n type: ActionTypes.SEARCH_CONTENT,\n input\n };\n}\n\nexport function clearErrors() {\n return {\n type: ActionTypes.CLEAR_ERRORS\n };\n}\n\nexport function validationError(errors) {\n return {\n type: ActionTypes.VALIDATION_ERROR,\n errors\n };\n}\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/actions/utils.js\n **/","import yaml from 'js-yaml';\nimport _ from 'underscore';\nimport slug from 'slug';\n\n/**\n * Converts the object into YAML string.\n * @param {Object} object\n * @return {String} yaml\n */\nexport const toYAML = (obj) => (!_.isEmpty(obj)) ? yaml.safeDump(obj, {indent:2}) : '';\n\n/**\n * Converts the YAML string into JS object.\n * @param {String} string\n * @return {Object} obj\n */\nexport const toJSON = (yamlString) => (yamlString ? yaml.load(yamlString) : {});\n\n/**\n * Capitalize the given string.\n * @param {String} string\n * @return {String} string\n */\nexport const capitalize = (string) => {\n if(!string) return '';\n return string.charAt(0).toUpperCase() + string.substring(1).toLowerCase();\n};\n\n/**\n * Convert the given string into title case format.\n * @param {String} string\n * @return {String} string\n */\nexport const toTitleCase = (string) => {\n if(!string) return '';\n return string.replace(/\\w\\S*/g, (txt) => {\n return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase();\n });\n};\n\n/**\n * Slugify the given string\n * @param {String} string\n * @return {String} string\n */\nexport const slugify = (string) => {\n if (!string) return '';\n return slug(string,{lower:true}).replace(/^-+|-+$/g, '');\n};\n\n/**\n * Returns filename from the given path\n * @param {String} path\n * @return {String} filename\n */\nexport const getFilenameFromPath = (path) => {\n if (!path) return '';\n return path.substring(path.lastIndexOf('/') + 1);\n};\n\n/**\n * returns the uploaded static files that are being overwritten\n * @param {Array} uploadedFiles\n * @param {Array} currentFiles\n * @return {Array} filenames\n */\nexport const existingUploadedFilenames = (uploadedFiles, currentFiles) => {\n if ((uploadedFiles && !uploadedFiles.length) || (currentFiles && !currentFiles.length)){\n return [];\n }\n const currentFilenames = _.map(currentFiles, cf => getFilenameFromPath(cf.path));\n return _.chain(uploadedFiles)\n .filter(file => currentFilenames.indexOf(file.name) > -1)\n .map(file => file.name)\n .value();\n};\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/utils/helpers.js\n **/","'use strict';\n\nexports.__esModule = true;\nexports.date = exports.number = exports.setNumber = undefined;\nexports.setDate = setDate;\n\nvar _invariant = require('invariant');\n\nvar _invariant2 = _interopRequireDefault(_invariant);\n\nvar _ = require('./_');\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar localePropType = _react2.default.PropTypes.oneOfType([_react2.default.PropTypes.string, _react2.default.PropTypes.func]);\n\nvar REQUIRED_NUMBER_FORMATS = ['default'];\n\nvar REQUIRED_DATE_FORMATS = ['default', 'date', 'time', 'header', 'footer', 'dayOfMonth', 'month', 'year', 'decade', 'century'];\n\nfunction _format(localizer, formatter, value, format, culture) {\n var result = typeof format === 'function' ? format(value, culture, localizer) : formatter.call(localizer, value, format, culture);\n\n (0, _invariant2.default)(result == null || typeof result === 'string', '`localizer format(..)` must return a string, null, or undefined');\n\n return result;\n}\n\nfunction checkFormats(requiredFormats, formats) {\n if (process.env.NODE_ENV !== 'production') requiredFormats.forEach(function (f) {\n return (0, _invariant2.default)((0, _.has)(formats, f), 'localizer missing required format: `%s`', f);\n });\n}\n\nvar _numberLocalizer = createWrapper('NumberPicker');\n\nfunction setNumber(_ref) {\n var _format2 = _ref.format,\n _parse = _ref.parse,\n _ref$decimalChar = _ref.decimalChar,\n decimalChar = _ref$decimalChar === undefined ? function () {\n return '.';\n } : _ref$decimalChar,\n _ref$precision = _ref.precision,\n precision = _ref$precision === undefined ? function () {\n return null;\n } : _ref$precision,\n formats = _ref.formats,\n propType = _ref.propType;\n\n (0, _invariant2.default)(typeof _format2 === 'function', 'number localizer `format(..)` must be a function');\n (0, _invariant2.default)(typeof _parse === 'function', 'number localizer `parse(..)` must be a function');\n\n checkFormats(REQUIRED_NUMBER_FORMATS, formats);\n\n formats.editFormat = formats.editFormat || function (str) {\n return parseFloat(str);\n };\n\n _numberLocalizer = {\n formats: formats,\n precision: precision,\n decimalChar: decimalChar,\n propType: propType || localePropType,\n\n format: function format(value, str, culture) {\n return _format(this, _format2, value, str, culture);\n },\n parse: function parse(value, culture, format) {\n var result = _parse.call(this, value, culture, format);\n (0, _invariant2.default)(result == null || typeof result === 'number', 'number localizer `parse(..)` must return a number, null, or undefined');\n return result;\n }\n };\n}\n\nexports.setNumber = setNumber;\nvar _dateLocalizer = createWrapper('DateTimePicker');\n\nfunction setDate(spec) {\n (0, _invariant2.default)(typeof spec.format === 'function', 'date localizer `format(..)` must be a function');\n (0, _invariant2.default)(typeof spec.parse === 'function', 'date localizer `parse(..)` must be a function');\n (0, _invariant2.default)(typeof spec.firstOfWeek === 'function', 'date localizer `firstOfWeek(..)` must be a function');\n checkFormats(REQUIRED_DATE_FORMATS, spec.formats);\n\n _dateLocalizer = {\n formats: spec.formats,\n propType: spec.propType || localePropType,\n startOfWeek: spec.firstOfWeek,\n format: function format(value, str, culture) {\n return _format(this, spec.format, value, str, culture);\n },\n parse: function parse(value, culture) {\n var result = spec.parse.call(this, value, culture);\n (0, _invariant2.default)(result == null || result instanceof Date && !isNaN(result.getTime()), 'date localizer `parse(..)` must return a valid Date, null, or undefined');\n return result;\n }\n };\n}\n\nvar number = exports.number = {\n propType: function propType() {\n var _numberLocalizer2;\n\n return (_numberLocalizer2 = _numberLocalizer).propType.apply(_numberLocalizer2, arguments);\n },\n getFormat: function getFormat(key, format) {\n return format || _numberLocalizer.formats[key];\n },\n parse: function parse() {\n var _numberLocalizer3;\n\n return (_numberLocalizer3 = _numberLocalizer).parse.apply(_numberLocalizer3, arguments);\n },\n format: function format() {\n var _numberLocalizer4;\n\n return (_numberLocalizer4 = _numberLocalizer).format.apply(_numberLocalizer4, arguments);\n },\n decimalChar: function decimalChar() {\n var _numberLocalizer5;\n\n return (_numberLocalizer5 = _numberLocalizer).decimalChar.apply(_numberLocalizer5, arguments);\n },\n precision: function precision() {\n var _numberLocalizer6;\n\n return (_numberLocalizer6 = _numberLocalizer).precision.apply(_numberLocalizer6, arguments);\n }\n};\n\nvar date = exports.date = {\n propType: function propType() {\n var _dateLocalizer2;\n\n return (_dateLocalizer2 = _dateLocalizer).propType.apply(_dateLocalizer2, arguments);\n },\n getFormat: function getFormat(key, format) {\n return format || _dateLocalizer.formats[key];\n },\n parse: function parse() {\n var _dateLocalizer3;\n\n return (_dateLocalizer3 = _dateLocalizer).parse.apply(_dateLocalizer3, arguments);\n },\n format: function format() {\n var _dateLocalizer4;\n\n return (_dateLocalizer4 = _dateLocalizer).format.apply(_dateLocalizer4, arguments);\n },\n startOfWeek: function startOfWeek() {\n var _dateLocalizer5;\n\n return (_dateLocalizer5 = _dateLocalizer).startOfWeek.apply(_dateLocalizer5, arguments);\n }\n};\n\nexports.default = { number: number, date: date };\n\n\nfunction createWrapper() {\n var dummy = {};\n\n if (process.env.NODE_ENV !== 'production') {\n ['formats', 'parse', 'format', 'firstOfWeek', 'precision', 'propType'].forEach(function (name) {\n return Object.defineProperty(dummy, name, {\n enumerable: true,\n get: function get() {\n throw new Error('[React Widgets] You are attempting to use a widget that requires localization ' + '(Calendar, DateTimePicker, NumberPicker). ' + 'However there is no localizer set. Please configure a localizer. \\n\\n' + 'see http://jquense.github.io/react-widgets/docs/#/i18n for more info.');\n }\n });\n });\n }\n return dummy;\n}\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-widgets/lib/util/localizers.js\n ** module id = 21\n ** module chunks = 0\n **/","import React, { Component, PropTypes } from 'react';\nimport classnames from 'classnames';\nimport { labels } from '../constants/lang';\n\nexport default class Button extends Component {\n\n render() {\n const { type, active, triggered, onClick, block, thin, icon, to } = this.props;\n\n const btnClass = classnames({\n 'btn': true,\n 'btn-active': active,\n 'btn-success': active && (type == 'save' || type == 'create'),\n 'btn-delete': type == 'delete',\n 'btn-view': type == 'view',\n 'btn-inactive': !active,\n 'btn-fat': block,\n 'btn-thin': thin\n });\n\n let label = '';\n let triggeredLabel = '';\n switch (type) {\n case 'save':\n label = labels.save.label;\n triggeredLabel = labels.save.triggeredLabel;\n break;\n case 'create':\n label = labels.create.label;\n triggeredLabel = labels.create.triggeredLabel;\n break;\n case 'delete':\n label = labels.delete.label;\n break;\n case 'view':\n label = labels.view.label;\n break;\n case 'upload':\n label = labels.upload.label;\n break;\n default:\n }\n\n const iconNode = icon ? <i className={`fa fa-${icon}`} aria-hidden=\"true\"></i> : null;\n const clickEvent = !to ? onClick : null;\n\n return (\n <a href={to}\n target=\"_blank\"\n onClick={clickEvent}\n className={btnClass}>\n {iconNode}\n {triggered ? triggeredLabel : label}\n </a>\n );\n }\n\n}\n\nButton.propTypes = {\n type: PropTypes.string.isRequired,\n active: PropTypes.bool.isRequired,\n onClick: PropTypes.func,\n triggered: PropTypes.bool,\n block: PropTypes.bool,\n thin: PropTypes.bool,\n icon: PropTypes.string,\n to: PropTypes.string\n};\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/components/Button.js\n **/","// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: http://codemirror.net/LICENSE\n\n// This is CodeMirror (http://codemirror.net), a code editor\n// implemented in JavaScript on top of the browser's DOM.\n//\n// You can find some technical background for some of the code below\n// at http://marijnhaverbeke.nl/blog/#cm-internals .\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n (global.CodeMirror = factory());\n}(this, (function () { 'use strict';\n\n// Kludges for bugs and behavior differences that can't be feature\n// detected are enabled based on userAgent etc sniffing.\nvar userAgent = navigator.userAgent\nvar platform = navigator.platform\n\nvar gecko = /gecko\\/\\d/i.test(userAgent)\nvar ie_upto10 = /MSIE \\d/.test(userAgent)\nvar ie_11up = /Trident\\/(?:[7-9]|\\d{2,})\\..*rv:(\\d+)/.exec(userAgent)\nvar ie = ie_upto10 || ie_11up\nvar ie_version = ie && (ie_upto10 ? document.documentMode || 6 : ie_11up[1])\nvar webkit = /WebKit\\//.test(userAgent)\nvar qtwebkit = webkit && /Qt\\/\\d+\\.\\d+/.test(userAgent)\nvar chrome = /Chrome\\//.test(userAgent)\nvar presto = /Opera\\//.test(userAgent)\nvar safari = /Apple Computer/.test(navigator.vendor)\nvar mac_geMountainLion = /Mac OS X 1\\d\\D([8-9]|\\d\\d)\\D/.test(userAgent)\nvar phantom = /PhantomJS/.test(userAgent)\n\nvar ios = /AppleWebKit/.test(userAgent) && /Mobile\\/\\w+/.test(userAgent)\n// This is woefully incomplete. Suggestions for alternative methods welcome.\nvar mobile = ios || /Android|webOS|BlackBerry|Opera Mini|Opera Mobi|IEMobile/i.test(userAgent)\nvar mac = ios || /Mac/.test(platform)\nvar chromeOS = /\\bCrOS\\b/.test(userAgent)\nvar windows = /win/i.test(platform)\n\nvar presto_version = presto && userAgent.match(/Version\\/(\\d*\\.\\d*)/)\nif (presto_version) { presto_version = Number(presto_version[1]) }\nif (presto_version && presto_version >= 15) { presto = false; webkit = true }\n// Some browsers use the wrong event properties to signal cmd/ctrl on OS X\nvar flipCtrlCmd = mac && (qtwebkit || presto && (presto_version == null || presto_version < 12.11))\nvar captureRightClick = gecko || (ie && ie_version >= 9)\n\nfunction classTest(cls) { return new RegExp(\"(^|\\\\s)\" + cls + \"(?:$|\\\\s)\\\\s*\") }\n\nvar rmClass = function(node, cls) {\n var current = node.className\n var match = classTest(cls).exec(current)\n if (match) {\n var after = current.slice(match.index + match[0].length)\n node.className = current.slice(0, match.index) + (after ? match[1] + after : \"\")\n }\n}\n\nfunction removeChildren(e) {\n for (var count = e.childNodes.length; count > 0; --count)\n { e.removeChild(e.firstChild) }\n return e\n}\n\nfunction removeChildrenAndAdd(parent, e) {\n return removeChildren(parent).appendChild(e)\n}\n\nfunction elt(tag, content, className, style) {\n var e = document.createElement(tag)\n if (className) { e.className = className }\n if (style) { e.style.cssText = style }\n if (typeof content == \"string\") { e.appendChild(document.createTextNode(content)) }\n else if (content) { for (var i = 0; i < content.length; ++i) { e.appendChild(content[i]) } }\n return e\n}\n\nvar range\nif (document.createRange) { range = function(node, start, end, endNode) {\n var r = document.createRange()\n r.setEnd(endNode || node, end)\n r.setStart(node, start)\n return r\n} }\nelse { range = function(node, start, end) {\n var r = document.body.createTextRange()\n try { r.moveToElementText(node.parentNode) }\n catch(e) { return r }\n r.collapse(true)\n r.moveEnd(\"character\", end)\n r.moveStart(\"character\", start)\n return r\n} }\n\nfunction contains(parent, child) {\n if (child.nodeType == 3) // Android browser always returns false when child is a textnode\n { child = child.parentNode }\n if (parent.contains)\n { return parent.contains(child) }\n do {\n if (child.nodeType == 11) { child = child.host }\n if (child == parent) { return true }\n } while (child = child.parentNode)\n}\n\nfunction activeElt() {\n // IE and Edge may throw an \"Unspecified Error\" when accessing document.activeElement.\n // IE < 10 will throw when accessed while the page is loading or in an iframe.\n // IE > 9 and Edge will throw when accessed in an iframe if document.body is unavailable.\n var activeElement\n try {\n activeElement = document.activeElement\n } catch(e) {\n activeElement = document.body || null\n }\n while (activeElement && activeElement.root && activeElement.root.activeElement)\n { activeElement = activeElement.root.activeElement }\n return activeElement\n}\n\nfunction addClass(node, cls) {\n var current = node.className\n if (!classTest(cls).test(current)) { node.className += (current ? \" \" : \"\") + cls }\n}\nfunction joinClasses(a, b) {\n var as = a.split(\" \")\n for (var i = 0; i < as.length; i++)\n { if (as[i] && !classTest(as[i]).test(b)) { b += \" \" + as[i] } }\n return b\n}\n\nvar selectInput = function(node) { node.select() }\nif (ios) // Mobile Safari apparently has a bug where select() is broken.\n { selectInput = function(node) { node.selectionStart = 0; node.selectionEnd = node.value.length } }\nelse if (ie) // Suppress mysterious IE10 errors\n { selectInput = function(node) { try { node.select() } catch(_e) {} } }\n\nfunction bind(f) {\n var args = Array.prototype.slice.call(arguments, 1)\n return function(){return f.apply(null, args)}\n}\n\nfunction copyObj(obj, target, overwrite) {\n if (!target) { target = {} }\n for (var prop in obj)\n { if (obj.hasOwnProperty(prop) && (overwrite !== false || !target.hasOwnProperty(prop)))\n { target[prop] = obj[prop] } }\n return target\n}\n\n// Counts the column offset in a string, taking tabs into account.\n// Used mostly to find indentation.\nfunction countColumn(string, end, tabSize, startIndex, startValue) {\n if (end == null) {\n end = string.search(/[^\\s\\u00a0]/)\n if (end == -1) { end = string.length }\n }\n for (var i = startIndex || 0, n = startValue || 0;;) {\n var nextTab = string.indexOf(\"\\t\", i)\n if (nextTab < 0 || nextTab >= end)\n { return n + (end - i) }\n n += nextTab - i\n n += tabSize - (n % tabSize)\n i = nextTab + 1\n }\n}\n\nfunction Delayed() {this.id = null}\nDelayed.prototype.set = function(ms, f) {\n clearTimeout(this.id)\n this.id = setTimeout(f, ms)\n}\n\nfunction indexOf(array, elt) {\n for (var i = 0; i < array.length; ++i)\n { if (array[i] == elt) { return i } }\n return -1\n}\n\n// Number of pixels added to scroller and sizer to hide scrollbar\nvar scrollerGap = 30\n\n// Returned or thrown by various protocols to signal 'I'm not\n// handling this'.\nvar Pass = {toString: function(){return \"CodeMirror.Pass\"}}\n\n// Reused option objects for setSelection & friends\nvar sel_dontScroll = {scroll: false};\nvar sel_mouse = {origin: \"*mouse\"};\nvar sel_move = {origin: \"+move\"};\n// The inverse of countColumn -- find the offset that corresponds to\n// a particular column.\nfunction findColumn(string, goal, tabSize) {\n for (var pos = 0, col = 0;;) {\n var nextTab = string.indexOf(\"\\t\", pos)\n if (nextTab == -1) { nextTab = string.length }\n var skipped = nextTab - pos\n if (nextTab == string.length || col + skipped >= goal)\n { return pos + Math.min(skipped, goal - col) }\n col += nextTab - pos\n col += tabSize - (col % tabSize)\n pos = nextTab + 1\n if (col >= goal) { return pos }\n }\n}\n\nvar spaceStrs = [\"\"]\nfunction spaceStr(n) {\n while (spaceStrs.length <= n)\n { spaceStrs.push(lst(spaceStrs) + \" \") }\n return spaceStrs[n]\n}\n\nfunction lst(arr) { return arr[arr.length-1] }\n\nfunction map(array, f) {\n var out = []\n for (var i = 0; i < array.length; i++) { out[i] = f(array[i], i) }\n return out\n}\n\nfunction insertSorted(array, value, score) {\n var pos = 0, priority = score(value)\n while (pos < array.length && score(array[pos]) <= priority) { pos++ }\n array.splice(pos, 0, value)\n}\n\nfunction nothing() {}\n\nfunction createObj(base, props) {\n var inst\n if (Object.create) {\n inst = Object.create(base)\n } else {\n nothing.prototype = base\n inst = new nothing()\n }\n if (props) { copyObj(props, inst) }\n return inst\n}\n\nvar nonASCIISingleCaseWordChar = /[\\u00df\\u0587\\u0590-\\u05f4\\u0600-\\u06ff\\u3040-\\u309f\\u30a0-\\u30ff\\u3400-\\u4db5\\u4e00-\\u9fcc\\uac00-\\ud7af]/\nfunction isWordCharBasic(ch) {\n return /\\w/.test(ch) || ch > \"\\x80\" &&\n (ch.toUpperCase() != ch.toLowerCase() || nonASCIISingleCaseWordChar.test(ch))\n}\nfunction isWordChar(ch, helper) {\n if (!helper) { return isWordCharBasic(ch) }\n if (helper.source.indexOf(\"\\\\w\") > -1 && isWordCharBasic(ch)) { return true }\n return helper.test(ch)\n}\n\nfunction isEmpty(obj) {\n for (var n in obj) { if (obj.hasOwnProperty(n) && obj[n]) { return false } }\n return true\n}\n\n// Extending unicode characters. A series of a non-extending char +\n// any number of extending chars is treated as a single unit as far\n// as editing and measuring is concerned. This is not fully correct,\n// since some scripts/fonts/browsers also treat other configurations\n// of code points as a group.\nvar extendingChars = /[\\u0300-\\u036f\\u0483-\\u0489\\u0591-\\u05bd\\u05bf\\u05c1\\u05c2\\u05c4\\u05c5\\u05c7\\u0610-\\u061a\\u064b-\\u065e\\u0670\\u06d6-\\u06dc\\u06de-\\u06e4\\u06e7\\u06e8\\u06ea-\\u06ed\\u0711\\u0730-\\u074a\\u07a6-\\u07b0\\u07eb-\\u07f3\\u0816-\\u0819\\u081b-\\u0823\\u0825-\\u0827\\u0829-\\u082d\\u0900-\\u0902\\u093c\\u0941-\\u0948\\u094d\\u0951-\\u0955\\u0962\\u0963\\u0981\\u09bc\\u09be\\u09c1-\\u09c4\\u09cd\\u09d7\\u09e2\\u09e3\\u0a01\\u0a02\\u0a3c\\u0a41\\u0a42\\u0a47\\u0a48\\u0a4b-\\u0a4d\\u0a51\\u0a70\\u0a71\\u0a75\\u0a81\\u0a82\\u0abc\\u0ac1-\\u0ac5\\u0ac7\\u0ac8\\u0acd\\u0ae2\\u0ae3\\u0b01\\u0b3c\\u0b3e\\u0b3f\\u0b41-\\u0b44\\u0b4d\\u0b56\\u0b57\\u0b62\\u0b63\\u0b82\\u0bbe\\u0bc0\\u0bcd\\u0bd7\\u0c3e-\\u0c40\\u0c46-\\u0c48\\u0c4a-\\u0c4d\\u0c55\\u0c56\\u0c62\\u0c63\\u0cbc\\u0cbf\\u0cc2\\u0cc6\\u0ccc\\u0ccd\\u0cd5\\u0cd6\\u0ce2\\u0ce3\\u0d3e\\u0d41-\\u0d44\\u0d4d\\u0d57\\u0d62\\u0d63\\u0dca\\u0dcf\\u0dd2-\\u0dd4\\u0dd6\\u0ddf\\u0e31\\u0e34-\\u0e3a\\u0e47-\\u0e4e\\u0eb1\\u0eb4-\\u0eb9\\u0ebb\\u0ebc\\u0ec8-\\u0ecd\\u0f18\\u0f19\\u0f35\\u0f37\\u0f39\\u0f71-\\u0f7e\\u0f80-\\u0f84\\u0f86\\u0f87\\u0f90-\\u0f97\\u0f99-\\u0fbc\\u0fc6\\u102d-\\u1030\\u1032-\\u1037\\u1039\\u103a\\u103d\\u103e\\u1058\\u1059\\u105e-\\u1060\\u1071-\\u1074\\u1082\\u1085\\u1086\\u108d\\u109d\\u135f\\u1712-\\u1714\\u1732-\\u1734\\u1752\\u1753\\u1772\\u1773\\u17b7-\\u17bd\\u17c6\\u17c9-\\u17d3\\u17dd\\u180b-\\u180d\\u18a9\\u1920-\\u1922\\u1927\\u1928\\u1932\\u1939-\\u193b\\u1a17\\u1a18\\u1a56\\u1a58-\\u1a5e\\u1a60\\u1a62\\u1a65-\\u1a6c\\u1a73-\\u1a7c\\u1a7f\\u1b00-\\u1b03\\u1b34\\u1b36-\\u1b3a\\u1b3c\\u1b42\\u1b6b-\\u1b73\\u1b80\\u1b81\\u1ba2-\\u1ba5\\u1ba8\\u1ba9\\u1c2c-\\u1c33\\u1c36\\u1c37\\u1cd0-\\u1cd2\\u1cd4-\\u1ce0\\u1ce2-\\u1ce8\\u1ced\\u1dc0-\\u1de6\\u1dfd-\\u1dff\\u200c\\u200d\\u20d0-\\u20f0\\u2cef-\\u2cf1\\u2de0-\\u2dff\\u302a-\\u302f\\u3099\\u309a\\ua66f-\\ua672\\ua67c\\ua67d\\ua6f0\\ua6f1\\ua802\\ua806\\ua80b\\ua825\\ua826\\ua8c4\\ua8e0-\\ua8f1\\ua926-\\ua92d\\ua947-\\ua951\\ua980-\\ua982\\ua9b3\\ua9b6-\\ua9b9\\ua9bc\\uaa29-\\uaa2e\\uaa31\\uaa32\\uaa35\\uaa36\\uaa43\\uaa4c\\uaab0\\uaab2-\\uaab4\\uaab7\\uaab8\\uaabe\\uaabf\\uaac1\\uabe5\\uabe8\\uabed\\udc00-\\udfff\\ufb1e\\ufe00-\\ufe0f\\ufe20-\\ufe26\\uff9e\\uff9f]/\nfunction isExtendingChar(ch) { return ch.charCodeAt(0) >= 768 && extendingChars.test(ch) }\n\n// The display handles the DOM integration, both for input reading\n// and content drawing. It holds references to DOM nodes and\n// display-related state.\n\nfunction Display(place, doc, input) {\n var d = this\n this.input = input\n\n // Covers bottom-right square when both scrollbars are present.\n d.scrollbarFiller = elt(\"div\", null, \"CodeMirror-scrollbar-filler\")\n d.scrollbarFiller.setAttribute(\"cm-not-content\", \"true\")\n // Covers bottom of gutter when coverGutterNextToScrollbar is on\n // and h scrollbar is present.\n d.gutterFiller = elt(\"div\", null, \"CodeMirror-gutter-filler\")\n d.gutterFiller.setAttribute(\"cm-not-content\", \"true\")\n // Will contain the actual code, positioned to cover the viewport.\n d.lineDiv = elt(\"div\", null, \"CodeMirror-code\")\n // Elements are added to these to represent selection and cursors.\n d.selectionDiv = elt(\"div\", null, null, \"position: relative; z-index: 1\")\n d.cursorDiv = elt(\"div\", null, \"CodeMirror-cursors\")\n // A visibility: hidden element used to find the size of things.\n d.measure = elt(\"div\", null, \"CodeMirror-measure\")\n // When lines outside of the viewport are measured, they are drawn in this.\n d.lineMeasure = elt(\"div\", null, \"CodeMirror-measure\")\n // Wraps everything that needs to exist inside the vertically-padded coordinate system\n d.lineSpace = elt(\"div\", [d.measure, d.lineMeasure, d.selectionDiv, d.cursorDiv, d.lineDiv],\n null, \"position: relative; outline: none\")\n // Moved around its parent to cover visible view.\n d.mover = elt(\"div\", [elt(\"div\", [d.lineSpace], \"CodeMirror-lines\")], null, \"position: relative\")\n // Set to the height of the document, allowing scrolling.\n d.sizer = elt(\"div\", [d.mover], \"CodeMirror-sizer\")\n d.sizerWidth = null\n // Behavior of elts with overflow: auto and padding is\n // inconsistent across browsers. This is used to ensure the\n // scrollable area is big enough.\n d.heightForcer = elt(\"div\", null, null, \"position: absolute; height: \" + scrollerGap + \"px; width: 1px;\")\n // Will contain the gutters, if any.\n d.gutters = elt(\"div\", null, \"CodeMirror-gutters\")\n d.lineGutter = null\n // Actual scrollable element.\n d.scroller = elt(\"div\", [d.sizer, d.heightForcer, d.gutters], \"CodeMirror-scroll\")\n d.scroller.setAttribute(\"tabIndex\", \"-1\")\n // The element in which the editor lives.\n d.wrapper = elt(\"div\", [d.scrollbarFiller, d.gutterFiller, d.scroller], \"CodeMirror\")\n\n // Work around IE7 z-index bug (not perfect, hence IE7 not really being supported)\n if (ie && ie_version < 8) { d.gutters.style.zIndex = -1; d.scroller.style.paddingRight = 0 }\n if (!webkit && !(gecko && mobile)) { d.scroller.draggable = true }\n\n if (place) {\n if (place.appendChild) { place.appendChild(d.wrapper) }\n else { place(d.wrapper) }\n }\n\n // Current rendered range (may be bigger than the view window).\n d.viewFrom = d.viewTo = doc.first\n d.reportedViewFrom = d.reportedViewTo = doc.first\n // Information about the rendered lines.\n d.view = []\n d.renderedView = null\n // Holds info about a single rendered line when it was rendered\n // for measurement, while not in view.\n d.externalMeasured = null\n // Empty space (in pixels) above the view\n d.viewOffset = 0\n d.lastWrapHeight = d.lastWrapWidth = 0\n d.updateLineNumbers = null\n\n d.nativeBarWidth = d.barHeight = d.barWidth = 0\n d.scrollbarsClipped = false\n\n // Used to only resize the line number gutter when necessary (when\n // the amount of lines crosses a boundary that makes its width change)\n d.lineNumWidth = d.lineNumInnerWidth = d.lineNumChars = null\n // Set to true when a non-horizontal-scrolling line widget is\n // added. As an optimization, line widget aligning is skipped when\n // this is false.\n d.alignWidgets = false\n\n d.cachedCharWidth = d.cachedTextHeight = d.cachedPaddingH = null\n\n // Tracks the maximum line length so that the horizontal scrollbar\n // can be kept static when scrolling.\n d.maxLine = null\n d.maxLineLength = 0\n d.maxLineChanged = false\n\n // Used for measuring wheel scrolling granularity\n d.wheelDX = d.wheelDY = d.wheelStartX = d.wheelStartY = null\n\n // True when shift is held down.\n d.shift = false\n\n // Used to track whether anything happened since the context menu\n // was opened.\n d.selForContextMenu = null\n\n d.activeTouch = null\n\n input.init(d)\n}\n\n// Find the line object corresponding to the given line number.\nfunction getLine(doc, n) {\n n -= doc.first\n if (n < 0 || n >= doc.size) { throw new Error(\"There is no line \" + (n + doc.first) + \" in the document.\") }\n var chunk = doc\n while (!chunk.lines) {\n for (var i = 0;; ++i) {\n var child = chunk.children[i], sz = child.chunkSize()\n if (n < sz) { chunk = child; break }\n n -= sz\n }\n }\n return chunk.lines[n]\n}\n\n// Get the part of a document between two positions, as an array of\n// strings.\nfunction getBetween(doc, start, end) {\n var out = [], n = start.line\n doc.iter(start.line, end.line + 1, function (line) {\n var text = line.text\n if (n == end.line) { text = text.slice(0, end.ch) }\n if (n == start.line) { text = text.slice(start.ch) }\n out.push(text)\n ++n\n })\n return out\n}\n// Get the lines between from and to, as array of strings.\nfunction getLines(doc, from, to) {\n var out = []\n doc.iter(from, to, function (line) { out.push(line.text) }) // iter aborts when callback returns truthy value\n return out\n}\n\n// Update the height of a line, propagating the height change\n// upwards to parent nodes.\nfunction updateLineHeight(line, height) {\n var diff = height - line.height\n if (diff) { for (var n = line; n; n = n.parent) { n.height += diff } }\n}\n\n// Given a line object, find its line number by walking up through\n// its parent links.\nfunction lineNo(line) {\n if (line.parent == null) { return null }\n var cur = line.parent, no = indexOf(cur.lines, line)\n for (var chunk = cur.parent; chunk; cur = chunk, chunk = chunk.parent) {\n for (var i = 0;; ++i) {\n if (chunk.children[i] == cur) { break }\n no += chunk.children[i].chunkSize()\n }\n }\n return no + cur.first\n}\n\n// Find the line at the given vertical position, using the height\n// information in the document tree.\nfunction lineAtHeight(chunk, h) {\n var n = chunk.first\n outer: do {\n for (var i$1 = 0; i$1 < chunk.children.length; ++i$1) {\n var child = chunk.children[i$1], ch = child.height\n if (h < ch) { chunk = child; continue outer }\n h -= ch\n n += child.chunkSize()\n }\n return n\n } while (!chunk.lines)\n var i = 0\n for (; i < chunk.lines.length; ++i) {\n var line = chunk.lines[i], lh = line.height\n if (h < lh) { break }\n h -= lh\n }\n return n + i\n}\n\nfunction isLine(doc, l) {return l >= doc.first && l < doc.first + doc.size}\n\nfunction lineNumberFor(options, i) {\n return String(options.lineNumberFormatter(i + options.firstLineNumber))\n}\n\n// A Pos instance represents a position within the text.\nfunction Pos (line, ch) {\n if (!(this instanceof Pos)) { return new Pos(line, ch) }\n this.line = line; this.ch = ch\n}\n\n// Compare two positions, return 0 if they are the same, a negative\n// number when a is less, and a positive number otherwise.\nfunction cmp(a, b) { return a.line - b.line || a.ch - b.ch }\n\nfunction copyPos(x) {return Pos(x.line, x.ch)}\nfunction maxPos(a, b) { return cmp(a, b) < 0 ? b : a }\nfunction minPos(a, b) { return cmp(a, b) < 0 ? a : b }\n\n// Most of the external API clips given positions to make sure they\n// actually exist within the document.\nfunction clipLine(doc, n) {return Math.max(doc.first, Math.min(n, doc.first + doc.size - 1))}\nfunction clipPos(doc, pos) {\n if (pos.line < doc.first) { return Pos(doc.first, 0) }\n var last = doc.first + doc.size - 1\n if (pos.line > last) { return Pos(last, getLine(doc, last).text.length) }\n return clipToLen(pos, getLine(doc, pos.line).text.length)\n}\nfunction clipToLen(pos, linelen) {\n var ch = pos.ch\n if (ch == null || ch > linelen) { return Pos(pos.line, linelen) }\n else if (ch < 0) { return Pos(pos.line, 0) }\n else { return pos }\n}\nfunction clipPosArray(doc, array) {\n var out = []\n for (var i = 0; i < array.length; i++) { out[i] = clipPos(doc, array[i]) }\n return out\n}\n\n// Optimize some code when these features are not used.\nvar sawReadOnlySpans = false;\nvar sawCollapsedSpans = false;\nfunction seeReadOnlySpans() {\n sawReadOnlySpans = true\n}\n\nfunction seeCollapsedSpans() {\n sawCollapsedSpans = true\n}\n\n// TEXTMARKER SPANS\n\nfunction MarkedSpan(marker, from, to) {\n this.marker = marker\n this.from = from; this.to = to\n}\n\n// Search an array of spans for a span matching the given marker.\nfunction getMarkedSpanFor(spans, marker) {\n if (spans) { for (var i = 0; i < spans.length; ++i) {\n var span = spans[i]\n if (span.marker == marker) { return span }\n } }\n}\n// Remove a span from an array, returning undefined if no spans are\n// left (we don't store arrays for lines without spans).\nfunction removeMarkedSpan(spans, span) {\n var r\n for (var i = 0; i < spans.length; ++i)\n { if (spans[i] != span) { (r || (r = [])).push(spans[i]) } }\n return r\n}\n// Add a span to a line.\nfunction addMarkedSpan(line, span) {\n line.markedSpans = line.markedSpans ? line.markedSpans.concat([span]) : [span]\n span.marker.attachLine(line)\n}\n\n// Used for the algorithm that adjusts markers for a change in the\n// document. These functions cut an array of spans at a given\n// character position, returning an array of remaining chunks (or\n// undefined if nothing remains).\nfunction markedSpansBefore(old, startCh, isInsert) {\n var nw\n if (old) { for (var i = 0; i < old.length; ++i) {\n var span = old[i], marker = span.marker\n var startsBefore = span.from == null || (marker.inclusiveLeft ? span.from <= startCh : span.from < startCh)\n if (startsBefore || span.from == startCh && marker.type == \"bookmark\" && (!isInsert || !span.marker.insertLeft)) {\n var endsAfter = span.to == null || (marker.inclusiveRight ? span.to >= startCh : span.to > startCh)\n ;(nw || (nw = [])).push(new MarkedSpan(marker, span.from, endsAfter ? null : span.to))\n }\n } }\n return nw\n}\nfunction markedSpansAfter(old, endCh, isInsert) {\n var nw\n if (old) { for (var i = 0; i < old.length; ++i) {\n var span = old[i], marker = span.marker\n var endsAfter = span.to == null || (marker.inclusiveRight ? span.to >= endCh : span.to > endCh)\n if (endsAfter || span.from == endCh && marker.type == \"bookmark\" && (!isInsert || span.marker.insertLeft)) {\n var startsBefore = span.from == null || (marker.inclusiveLeft ? span.from <= endCh : span.from < endCh)\n ;(nw || (nw = [])).push(new MarkedSpan(marker, startsBefore ? null : span.from - endCh,\n span.to == null ? null : span.to - endCh))\n }\n } }\n return nw\n}\n\n// Given a change object, compute the new set of marker spans that\n// cover the line in which the change took place. Removes spans\n// entirely within the change, reconnects spans belonging to the\n// same marker that appear on both sides of the change, and cuts off\n// spans partially within the change. Returns an array of span\n// arrays with one element for each line in (after) the change.\nfunction stretchSpansOverChange(doc, change) {\n if (change.full) { return null }\n var oldFirst = isLine(doc, change.from.line) && getLine(doc, change.from.line).markedSpans\n var oldLast = isLine(doc, change.to.line) && getLine(doc, change.to.line).markedSpans\n if (!oldFirst && !oldLast) { return null }\n\n var startCh = change.from.ch, endCh = change.to.ch, isInsert = cmp(change.from, change.to) == 0\n // Get the spans that 'stick out' on both sides\n var first = markedSpansBefore(oldFirst, startCh, isInsert)\n var last = markedSpansAfter(oldLast, endCh, isInsert)\n\n // Next, merge those two ends\n var sameLine = change.text.length == 1, offset = lst(change.text).length + (sameLine ? startCh : 0)\n if (first) {\n // Fix up .to properties of first\n for (var i = 0; i < first.length; ++i) {\n var span = first[i]\n if (span.to == null) {\n var found = getMarkedSpanFor(last, span.marker)\n if (!found) { span.to = startCh }\n else if (sameLine) { span.to = found.to == null ? null : found.to + offset }\n }\n }\n }\n if (last) {\n // Fix up .from in last (or move them into first in case of sameLine)\n for (var i$1 = 0; i$1 < last.length; ++i$1) {\n var span$1 = last[i$1]\n if (span$1.to != null) { span$1.to += offset }\n if (span$1.from == null) {\n var found$1 = getMarkedSpanFor(first, span$1.marker)\n if (!found$1) {\n span$1.from = offset\n if (sameLine) { (first || (first = [])).push(span$1) }\n }\n } else {\n span$1.from += offset\n if (sameLine) { (first || (first = [])).push(span$1) }\n }\n }\n }\n // Make sure we didn't create any zero-length spans\n if (first) { first = clearEmptySpans(first) }\n if (last && last != first) { last = clearEmptySpans(last) }\n\n var newMarkers = [first]\n if (!sameLine) {\n // Fill gap with whole-line-spans\n var gap = change.text.length - 2, gapMarkers\n if (gap > 0 && first)\n { for (var i$2 = 0; i$2 < first.length; ++i$2)\n { if (first[i$2].to == null)\n { (gapMarkers || (gapMarkers = [])).push(new MarkedSpan(first[i$2].marker, null, null)) } } }\n for (var i$3 = 0; i$3 < gap; ++i$3)\n { newMarkers.push(gapMarkers) }\n newMarkers.push(last)\n }\n return newMarkers\n}\n\n// Remove spans that are empty and don't have a clearWhenEmpty\n// option of false.\nfunction clearEmptySpans(spans) {\n for (var i = 0; i < spans.length; ++i) {\n var span = spans[i]\n if (span.from != null && span.from == span.to && span.marker.clearWhenEmpty !== false)\n { spans.splice(i--, 1) }\n }\n if (!spans.length) { return null }\n return spans\n}\n\n// Used to 'clip' out readOnly ranges when making a change.\nfunction removeReadOnlyRanges(doc, from, to) {\n var markers = null\n doc.iter(from.line, to.line + 1, function (line) {\n if (line.markedSpans) { for (var i = 0; i < line.markedSpans.length; ++i) {\n var mark = line.markedSpans[i].marker\n if (mark.readOnly && (!markers || indexOf(markers, mark) == -1))\n { (markers || (markers = [])).push(mark) }\n } }\n })\n if (!markers) { return null }\n var parts = [{from: from, to: to}]\n for (var i = 0; i < markers.length; ++i) {\n var mk = markers[i], m = mk.find(0)\n for (var j = 0; j < parts.length; ++j) {\n var p = parts[j]\n if (cmp(p.to, m.from) < 0 || cmp(p.from, m.to) > 0) { continue }\n var newParts = [j, 1], dfrom = cmp(p.from, m.from), dto = cmp(p.to, m.to)\n if (dfrom < 0 || !mk.inclusiveLeft && !dfrom)\n { newParts.push({from: p.from, to: m.from}) }\n if (dto > 0 || !mk.inclusiveRight && !dto)\n { newParts.push({from: m.to, to: p.to}) }\n parts.splice.apply(parts, newParts)\n j += newParts.length - 1\n }\n }\n return parts\n}\n\n// Connect or disconnect spans from a line.\nfunction detachMarkedSpans(line) {\n var spans = line.markedSpans\n if (!spans) { return }\n for (var i = 0; i < spans.length; ++i)\n { spans[i].marker.detachLine(line) }\n line.markedSpans = null\n}\nfunction attachMarkedSpans(line, spans) {\n if (!spans) { return }\n for (var i = 0; i < spans.length; ++i)\n { spans[i].marker.attachLine(line) }\n line.markedSpans = spans\n}\n\n// Helpers used when computing which overlapping collapsed span\n// counts as the larger one.\nfunction extraLeft(marker) { return marker.inclusiveLeft ? -1 : 0 }\nfunction extraRight(marker) { return marker.inclusiveRight ? 1 : 0 }\n\n// Returns a number indicating which of two overlapping collapsed\n// spans is larger (and thus includes the other). Falls back to\n// comparing ids when the spans cover exactly the same range.\nfunction compareCollapsedMarkers(a, b) {\n var lenDiff = a.lines.length - b.lines.length\n if (lenDiff != 0) { return lenDiff }\n var aPos = a.find(), bPos = b.find()\n var fromCmp = cmp(aPos.from, bPos.from) || extraLeft(a) - extraLeft(b)\n if (fromCmp) { return -fromCmp }\n var toCmp = cmp(aPos.to, bPos.to) || extraRight(a) - extraRight(b)\n if (toCmp) { return toCmp }\n return b.id - a.id\n}\n\n// Find out whether a line ends or starts in a collapsed span. If\n// so, return the marker for that span.\nfunction collapsedSpanAtSide(line, start) {\n var sps = sawCollapsedSpans && line.markedSpans, found\n if (sps) { for (var sp = (void 0), i = 0; i < sps.length; ++i) {\n sp = sps[i]\n if (sp.marker.collapsed && (start ? sp.from : sp.to) == null &&\n (!found || compareCollapsedMarkers(found, sp.marker) < 0))\n { found = sp.marker }\n } }\n return found\n}\nfunction collapsedSpanAtStart(line) { return collapsedSpanAtSide(line, true) }\nfunction collapsedSpanAtEnd(line) { return collapsedSpanAtSide(line, false) }\n\n// Test whether there exists a collapsed span that partially\n// overlaps (covers the start or end, but not both) of a new span.\n// Such overlap is not allowed.\nfunction conflictingCollapsedRange(doc, lineNo, from, to, marker) {\n var line = getLine(doc, lineNo)\n var sps = sawCollapsedSpans && line.markedSpans\n if (sps) { for (var i = 0; i < sps.length; ++i) {\n var sp = sps[i]\n if (!sp.marker.collapsed) { continue }\n var found = sp.marker.find(0)\n var fromCmp = cmp(found.from, from) || extraLeft(sp.marker) - extraLeft(marker)\n var toCmp = cmp(found.to, to) || extraRight(sp.marker) - extraRight(marker)\n if (fromCmp >= 0 && toCmp <= 0 || fromCmp <= 0 && toCmp >= 0) { continue }\n if (fromCmp <= 0 && (sp.marker.inclusiveRight && marker.inclusiveLeft ? cmp(found.to, from) >= 0 : cmp(found.to, from) > 0) ||\n fromCmp >= 0 && (sp.marker.inclusiveRight && marker.inclusiveLeft ? cmp(found.from, to) <= 0 : cmp(found.from, to) < 0))\n { return true }\n } }\n}\n\n// A visual line is a line as drawn on the screen. Folding, for\n// example, can cause multiple logical lines to appear on the same\n// visual line. This finds the start of the visual line that the\n// given line is part of (usually that is the line itself).\nfunction visualLine(line) {\n var merged\n while (merged = collapsedSpanAtStart(line))\n { line = merged.find(-1, true).line }\n return line\n}\n\n// Returns an array of logical lines that continue the visual line\n// started by the argument, or undefined if there are no such lines.\nfunction visualLineContinued(line) {\n var merged, lines\n while (merged = collapsedSpanAtEnd(line)) {\n line = merged.find(1, true).line\n ;(lines || (lines = [])).push(line)\n }\n return lines\n}\n\n// Get the line number of the start of the visual line that the\n// given line number is part of.\nfunction visualLineNo(doc, lineN) {\n var line = getLine(doc, lineN), vis = visualLine(line)\n if (line == vis) { return lineN }\n return lineNo(vis)\n}\n\n// Get the line number of the start of the next visual line after\n// the given line.\nfunction visualLineEndNo(doc, lineN) {\n if (lineN > doc.lastLine()) { return lineN }\n var line = getLine(doc, lineN), merged\n if (!lineIsHidden(doc, line)) { return lineN }\n while (merged = collapsedSpanAtEnd(line))\n { line = merged.find(1, true).line }\n return lineNo(line) + 1\n}\n\n// Compute whether a line is hidden. Lines count as hidden when they\n// are part of a visual line that starts with another line, or when\n// they are entirely covered by collapsed, non-widget span.\nfunction lineIsHidden(doc, line) {\n var sps = sawCollapsedSpans && line.markedSpans\n if (sps) { for (var sp = (void 0), i = 0; i < sps.length; ++i) {\n sp = sps[i]\n if (!sp.marker.collapsed) { continue }\n if (sp.from == null) { return true }\n if (sp.marker.widgetNode) { continue }\n if (sp.from == 0 && sp.marker.inclusiveLeft && lineIsHiddenInner(doc, line, sp))\n { return true }\n } }\n}\nfunction lineIsHiddenInner(doc, line, span) {\n if (span.to == null) {\n var end = span.marker.find(1, true)\n return lineIsHiddenInner(doc, end.line, getMarkedSpanFor(end.line.markedSpans, span.marker))\n }\n if (span.marker.inclusiveRight && span.to == line.text.length)\n { return true }\n for (var sp = (void 0), i = 0; i < line.markedSpans.length; ++i) {\n sp = line.markedSpans[i]\n if (sp.marker.collapsed && !sp.marker.widgetNode && sp.from == span.to &&\n (sp.to == null || sp.to != span.from) &&\n (sp.marker.inclusiveLeft || span.marker.inclusiveRight) &&\n lineIsHiddenInner(doc, line, sp)) { return true }\n }\n}\n\n// Find the height above the given line.\nfunction heightAtLine(lineObj) {\n lineObj = visualLine(lineObj)\n\n var h = 0, chunk = lineObj.parent\n for (var i = 0; i < chunk.lines.length; ++i) {\n var line = chunk.lines[i]\n if (line == lineObj) { break }\n else { h += line.height }\n }\n for (var p = chunk.parent; p; chunk = p, p = chunk.parent) {\n for (var i$1 = 0; i$1 < p.children.length; ++i$1) {\n var cur = p.children[i$1]\n if (cur == chunk) { break }\n else { h += cur.height }\n }\n }\n return h\n}\n\n// Compute the character length of a line, taking into account\n// collapsed ranges (see markText) that might hide parts, and join\n// other lines onto it.\nfunction lineLength(line) {\n if (line.height == 0) { return 0 }\n var len = line.text.length, merged, cur = line\n while (merged = collapsedSpanAtStart(cur)) {\n var found = merged.find(0, true)\n cur = found.from.line\n len += found.from.ch - found.to.ch\n }\n cur = line\n while (merged = collapsedSpanAtEnd(cur)) {\n var found$1 = merged.find(0, true)\n len -= cur.text.length - found$1.from.ch\n cur = found$1.to.line\n len += cur.text.length - found$1.to.ch\n }\n return len\n}\n\n// Find the longest line in the document.\nfunction findMaxLine(cm) {\n var d = cm.display, doc = cm.doc\n d.maxLine = getLine(doc, doc.first)\n d.maxLineLength = lineLength(d.maxLine)\n d.maxLineChanged = true\n doc.iter(function (line) {\n var len = lineLength(line)\n if (len > d.maxLineLength) {\n d.maxLineLength = len\n d.maxLine = line\n }\n })\n}\n\n// BIDI HELPERS\n\nfunction iterateBidiSections(order, from, to, f) {\n if (!order) { return f(from, to, \"ltr\") }\n var found = false\n for (var i = 0; i < order.length; ++i) {\n var part = order[i]\n if (part.from < to && part.to > from || from == to && part.to == from) {\n f(Math.max(part.from, from), Math.min(part.to, to), part.level == 1 ? \"rtl\" : \"ltr\")\n found = true\n }\n }\n if (!found) { f(from, to, \"ltr\") }\n}\n\nfunction bidiLeft(part) { return part.level % 2 ? part.to : part.from }\nfunction bidiRight(part) { return part.level % 2 ? part.from : part.to }\n\nfunction lineLeft(line) { var order = getOrder(line); return order ? bidiLeft(order[0]) : 0 }\nfunction lineRight(line) {\n var order = getOrder(line)\n if (!order) { return line.text.length }\n return bidiRight(lst(order))\n}\n\nfunction compareBidiLevel(order, a, b) {\n var linedir = order[0].level\n if (a == linedir) { return true }\n if (b == linedir) { return false }\n return a < b\n}\n\nvar bidiOther = null\nfunction getBidiPartAt(order, pos) {\n var found\n bidiOther = null\n for (var i = 0; i < order.length; ++i) {\n var cur = order[i]\n if (cur.from < pos && cur.to > pos) { return i }\n if ((cur.from == pos || cur.to == pos)) {\n if (found == null) {\n found = i\n } else if (compareBidiLevel(order, cur.level, order[found].level)) {\n if (cur.from != cur.to) { bidiOther = found }\n return i\n } else {\n if (cur.from != cur.to) { bidiOther = i }\n return found\n }\n }\n }\n return found\n}\n\nfunction moveInLine(line, pos, dir, byUnit) {\n if (!byUnit) { return pos + dir }\n do { pos += dir }\n while (pos > 0 && isExtendingChar(line.text.charAt(pos)))\n return pos\n}\n\n// This is needed in order to move 'visually' through bi-directional\n// text -- i.e., pressing left should make the cursor go left, even\n// when in RTL text. The tricky part is the 'jumps', where RTL and\n// LTR text touch each other. This often requires the cursor offset\n// to move more than one unit, in order to visually move one unit.\nfunction moveVisually(line, start, dir, byUnit) {\n var bidi = getOrder(line)\n if (!bidi) { return moveLogically(line, start, dir, byUnit) }\n var pos = getBidiPartAt(bidi, start), part = bidi[pos]\n var target = moveInLine(line, start, part.level % 2 ? -dir : dir, byUnit)\n\n for (;;) {\n if (target > part.from && target < part.to) { return target }\n if (target == part.from || target == part.to) {\n if (getBidiPartAt(bidi, target) == pos) { return target }\n part = bidi[pos += dir]\n return (dir > 0) == part.level % 2 ? part.to : part.from\n } else {\n part = bidi[pos += dir]\n if (!part) { return null }\n if ((dir > 0) == part.level % 2)\n { target = moveInLine(line, part.to, -1, byUnit) }\n else\n { target = moveInLine(line, part.from, 1, byUnit) }\n }\n }\n}\n\nfunction moveLogically(line, start, dir, byUnit) {\n var target = start + dir\n if (byUnit) { while (target > 0 && isExtendingChar(line.text.charAt(target))) { target += dir } }\n return target < 0 || target > line.text.length ? null : target\n}\n\n// Bidirectional ordering algorithm\n// See http://unicode.org/reports/tr9/tr9-13.html for the algorithm\n// that this (partially) implements.\n\n// One-char codes used for character types:\n// L (L): Left-to-Right\n// R (R): Right-to-Left\n// r (AL): Right-to-Left Arabic\n// 1 (EN): European Number\n// + (ES): European Number Separator\n// % (ET): European Number Terminator\n// n (AN): Arabic Number\n// , (CS): Common Number Separator\n// m (NSM): Non-Spacing Mark\n// b (BN): Boundary Neutral\n// s (B): Paragraph Separator\n// t (S): Segment Separator\n// w (WS): Whitespace\n// N (ON): Other Neutrals\n\n// Returns null if characters are ordered as they appear\n// (left-to-right), or an array of sections ({from, to, level}\n// objects) in the order in which they occur visually.\nvar bidiOrdering = (function() {\n // Character types for codepoints 0 to 0xff\n var lowTypes = \"bbbbbbbbbtstwsbbbbbbbbbbbbbbssstwNN%%%NNNNNN,N,N1111111111NNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNbbbbbbsbbbbbbbbbbbbbbbbbbbbbbbbbb,N%%%%NNNNLNNNNN%%11NLNNN1LNNNNNLLLLLLLLLLLLLLLLLLLLLLLNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLN\"\n // Character types for codepoints 0x600 to 0x6f9\n var arabicTypes = \"nnnnnnNNr%%r,rNNmmmmmmmmmmmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnn%nnrrrmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmnNmmmmmmrrmmNmmmmrr1111111111\"\n function charType(code) {\n if (code <= 0xf7) { return lowTypes.charAt(code) }\n else if (0x590 <= code && code <= 0x5f4) { return \"R\" }\n else if (0x600 <= code && code <= 0x6f9) { return arabicTypes.charAt(code - 0x600) }\n else if (0x6ee <= code && code <= 0x8ac) { return \"r\" }\n else if (0x2000 <= code && code <= 0x200b) { return \"w\" }\n else if (code == 0x200c) { return \"b\" }\n else { return \"L\" }\n }\n\n var bidiRE = /[\\u0590-\\u05f4\\u0600-\\u06ff\\u0700-\\u08ac]/\n var isNeutral = /[stwN]/, isStrong = /[LRr]/, countsAsLeft = /[Lb1n]/, countsAsNum = /[1n]/\n // Browsers seem to always treat the boundaries of block elements as being L.\n var outerType = \"L\"\n\n function BidiSpan(level, from, to) {\n this.level = level\n this.from = from; this.to = to\n }\n\n return function(str) {\n if (!bidiRE.test(str)) { return false }\n var len = str.length, types = []\n for (var i = 0; i < len; ++i)\n { types.push(charType(str.charCodeAt(i))) }\n\n // W1. Examine each non-spacing mark (NSM) in the level run, and\n // change the type of the NSM to the type of the previous\n // character. If the NSM is at the start of the level run, it will\n // get the type of sor.\n for (var i$1 = 0, prev = outerType; i$1 < len; ++i$1) {\n var type = types[i$1]\n if (type == \"m\") { types[i$1] = prev }\n else { prev = type }\n }\n\n // W2. Search backwards from each instance of a European number\n // until the first strong type (R, L, AL, or sor) is found. If an\n // AL is found, change the type of the European number to Arabic\n // number.\n // W3. Change all ALs to R.\n for (var i$2 = 0, cur = outerType; i$2 < len; ++i$2) {\n var type$1 = types[i$2]\n if (type$1 == \"1\" && cur == \"r\") { types[i$2] = \"n\" }\n else if (isStrong.test(type$1)) { cur = type$1; if (type$1 == \"r\") { types[i$2] = \"R\" } }\n }\n\n // W4. A single European separator between two European numbers\n // changes to a European number. A single common separator between\n // two numbers of the same type changes to that type.\n for (var i$3 = 1, prev$1 = types[0]; i$3 < len - 1; ++i$3) {\n var type$2 = types[i$3]\n if (type$2 == \"+\" && prev$1 == \"1\" && types[i$3+1] == \"1\") { types[i$3] = \"1\" }\n else if (type$2 == \",\" && prev$1 == types[i$3+1] &&\n (prev$1 == \"1\" || prev$1 == \"n\")) { types[i$3] = prev$1 }\n prev$1 = type$2\n }\n\n // W5. A sequence of European terminators adjacent to European\n // numbers changes to all European numbers.\n // W6. Otherwise, separators and terminators change to Other\n // Neutral.\n for (var i$4 = 0; i$4 < len; ++i$4) {\n var type$3 = types[i$4]\n if (type$3 == \",\") { types[i$4] = \"N\" }\n else if (type$3 == \"%\") {\n var end = (void 0)\n for (end = i$4 + 1; end < len && types[end] == \"%\"; ++end) {}\n var replace = (i$4 && types[i$4-1] == \"!\") || (end < len && types[end] == \"1\") ? \"1\" : \"N\"\n for (var j = i$4; j < end; ++j) { types[j] = replace }\n i$4 = end - 1\n }\n }\n\n // W7. Search backwards from each instance of a European number\n // until the first strong type (R, L, or sor) is found. If an L is\n // found, then change the type of the European number to L.\n for (var i$5 = 0, cur$1 = outerType; i$5 < len; ++i$5) {\n var type$4 = types[i$5]\n if (cur$1 == \"L\" && type$4 == \"1\") { types[i$5] = \"L\" }\n else if (isStrong.test(type$4)) { cur$1 = type$4 }\n }\n\n // N1. A sequence of neutrals takes the direction of the\n // surrounding strong text if the text on both sides has the same\n // direction. European and Arabic numbers act as if they were R in\n // terms of their influence on neutrals. Start-of-level-run (sor)\n // and end-of-level-run (eor) are used at level run boundaries.\n // N2. Any remaining neutrals take the embedding direction.\n for (var i$6 = 0; i$6 < len; ++i$6) {\n if (isNeutral.test(types[i$6])) {\n var end$1 = (void 0)\n for (end$1 = i$6 + 1; end$1 < len && isNeutral.test(types[end$1]); ++end$1) {}\n var before = (i$6 ? types[i$6-1] : outerType) == \"L\"\n var after = (end$1 < len ? types[end$1] : outerType) == \"L\"\n var replace$1 = before || after ? \"L\" : \"R\"\n for (var j$1 = i$6; j$1 < end$1; ++j$1) { types[j$1] = replace$1 }\n i$6 = end$1 - 1\n }\n }\n\n // Here we depart from the documented algorithm, in order to avoid\n // building up an actual levels array. Since there are only three\n // levels (0, 1, 2) in an implementation that doesn't take\n // explicit embedding into account, we can build up the order on\n // the fly, without following the level-based algorithm.\n var order = [], m\n for (var i$7 = 0; i$7 < len;) {\n if (countsAsLeft.test(types[i$7])) {\n var start = i$7\n for (++i$7; i$7 < len && countsAsLeft.test(types[i$7]); ++i$7) {}\n order.push(new BidiSpan(0, start, i$7))\n } else {\n var pos = i$7, at = order.length\n for (++i$7; i$7 < len && types[i$7] != \"L\"; ++i$7) {}\n for (var j$2 = pos; j$2 < i$7;) {\n if (countsAsNum.test(types[j$2])) {\n if (pos < j$2) { order.splice(at, 0, new BidiSpan(1, pos, j$2)) }\n var nstart = j$2\n for (++j$2; j$2 < i$7 && countsAsNum.test(types[j$2]); ++j$2) {}\n order.splice(at, 0, new BidiSpan(2, nstart, j$2))\n pos = j$2\n } else { ++j$2 }\n }\n if (pos < i$7) { order.splice(at, 0, new BidiSpan(1, pos, i$7)) }\n }\n }\n if (order[0].level == 1 && (m = str.match(/^\\s+/))) {\n order[0].from = m[0].length\n order.unshift(new BidiSpan(0, 0, m[0].length))\n }\n if (lst(order).level == 1 && (m = str.match(/\\s+$/))) {\n lst(order).to -= m[0].length\n order.push(new BidiSpan(0, len - m[0].length, len))\n }\n if (order[0].level == 2)\n { order.unshift(new BidiSpan(1, order[0].to, order[0].to)) }\n if (order[0].level != lst(order).level)\n { order.push(new BidiSpan(order[0].level, len, len)) }\n\n return order\n }\n})()\n\n// Get the bidi ordering for the given line (and cache it). Returns\n// false for lines that are fully left-to-right, and an array of\n// BidiSpan objects otherwise.\nfunction getOrder(line) {\n var order = line.order\n if (order == null) { order = line.order = bidiOrdering(line.text) }\n return order\n}\n\n// EVENT HANDLING\n\n// Lightweight event framework. on/off also work on DOM nodes,\n// registering native DOM handlers.\n\nvar noHandlers = []\n\nvar on = function(emitter, type, f) {\n if (emitter.addEventListener) {\n emitter.addEventListener(type, f, false)\n } else if (emitter.attachEvent) {\n emitter.attachEvent(\"on\" + type, f)\n } else {\n var map = emitter._handlers || (emitter._handlers = {})\n map[type] = (map[type] || noHandlers).concat(f)\n }\n}\n\nfunction getHandlers(emitter, type) {\n return emitter._handlers && emitter._handlers[type] || noHandlers\n}\n\nfunction off(emitter, type, f) {\n if (emitter.removeEventListener) {\n emitter.removeEventListener(type, f, false)\n } else if (emitter.detachEvent) {\n emitter.detachEvent(\"on\" + type, f)\n } else {\n var map = emitter._handlers, arr = map && map[type]\n if (arr) {\n var index = indexOf(arr, f)\n if (index > -1)\n { map[type] = arr.slice(0, index).concat(arr.slice(index + 1)) }\n }\n }\n}\n\nfunction signal(emitter, type /*, values...*/) {\n var handlers = getHandlers(emitter, type)\n if (!handlers.length) { return }\n var args = Array.prototype.slice.call(arguments, 2)\n for (var i = 0; i < handlers.length; ++i) { handlers[i].apply(null, args) }\n}\n\n// The DOM events that CodeMirror handles can be overridden by\n// registering a (non-DOM) handler on the editor for the event name,\n// and preventDefault-ing the event in that handler.\nfunction signalDOMEvent(cm, e, override) {\n if (typeof e == \"string\")\n { e = {type: e, preventDefault: function() { this.defaultPrevented = true }} }\n signal(cm, override || e.type, cm, e)\n return e_defaultPrevented(e) || e.codemirrorIgnore\n}\n\nfunction signalCursorActivity(cm) {\n var arr = cm._handlers && cm._handlers.cursorActivity\n if (!arr) { return }\n var set = cm.curOp.cursorActivityHandlers || (cm.curOp.cursorActivityHandlers = [])\n for (var i = 0; i < arr.length; ++i) { if (indexOf(set, arr[i]) == -1)\n { set.push(arr[i]) } }\n}\n\nfunction hasHandler(emitter, type) {\n return getHandlers(emitter, type).length > 0\n}\n\n// Add on and off methods to a constructor's prototype, to make\n// registering events on such objects more convenient.\nfunction eventMixin(ctor) {\n ctor.prototype.on = function(type, f) {on(this, type, f)}\n ctor.prototype.off = function(type, f) {off(this, type, f)}\n}\n\n// Due to the fact that we still support jurassic IE versions, some\n// compatibility wrappers are needed.\n\nfunction e_preventDefault(e) {\n if (e.preventDefault) { e.preventDefault() }\n else { e.returnValue = false }\n}\nfunction e_stopPropagation(e) {\n if (e.stopPropagation) { e.stopPropagation() }\n else { e.cancelBubble = true }\n}\nfunction e_defaultPrevented(e) {\n return e.defaultPrevented != null ? e.defaultPrevented : e.returnValue == false\n}\nfunction e_stop(e) {e_preventDefault(e); e_stopPropagation(e)}\n\nfunction e_target(e) {return e.target || e.srcElement}\nfunction e_button(e) {\n var b = e.which\n if (b == null) {\n if (e.button & 1) { b = 1 }\n else if (e.button & 2) { b = 3 }\n else if (e.button & 4) { b = 2 }\n }\n if (mac && e.ctrlKey && b == 1) { b = 3 }\n return b\n}\n\n// Detect drag-and-drop\nvar dragAndDrop = function() {\n // There is *some* kind of drag-and-drop support in IE6-8, but I\n // couldn't get it to work yet.\n if (ie && ie_version < 9) { return false }\n var div = elt('div')\n return \"draggable\" in div || \"dragDrop\" in div\n}()\n\nvar zwspSupported\nfunction zeroWidthElement(measure) {\n if (zwspSupported == null) {\n var test = elt(\"span\", \"\\u200b\")\n removeChildrenAndAdd(measure, elt(\"span\", [test, document.createTextNode(\"x\")]))\n if (measure.firstChild.offsetHeight != 0)\n { zwspSupported = test.offsetWidth <= 1 && test.offsetHeight > 2 && !(ie && ie_version < 8) }\n }\n var node = zwspSupported ? elt(\"span\", \"\\u200b\") :\n elt(\"span\", \"\\u00a0\", null, \"display: inline-block; width: 1px; margin-right: -1px\")\n node.setAttribute(\"cm-text\", \"\")\n return node\n}\n\n// Feature-detect IE's crummy client rect reporting for bidi text\nvar badBidiRects\nfunction hasBadBidiRects(measure) {\n if (badBidiRects != null) { return badBidiRects }\n var txt = removeChildrenAndAdd(measure, document.createTextNode(\"A\\u062eA\"))\n var r0 = range(txt, 0, 1).getBoundingClientRect()\n var r1 = range(txt, 1, 2).getBoundingClientRect()\n removeChildren(measure)\n if (!r0 || r0.left == r0.right) { return false } // Safari returns null in some cases (#2780)\n return badBidiRects = (r1.right - r0.right < 3)\n}\n\n// See if \"\".split is the broken IE version, if so, provide an\n// alternative way to split lines.\nvar splitLinesAuto = \"\\n\\nb\".split(/\\n/).length != 3 ? function (string) {\n var pos = 0, result = [], l = string.length\n while (pos <= l) {\n var nl = string.indexOf(\"\\n\", pos)\n if (nl == -1) { nl = string.length }\n var line = string.slice(pos, string.charAt(nl - 1) == \"\\r\" ? nl - 1 : nl)\n var rt = line.indexOf(\"\\r\")\n if (rt != -1) {\n result.push(line.slice(0, rt))\n pos += rt + 1\n } else {\n result.push(line)\n pos = nl + 1\n }\n }\n return result\n} : function (string) { return string.split(/\\r\\n?|\\n/); }\n\nvar hasSelection = window.getSelection ? function (te) {\n try { return te.selectionStart != te.selectionEnd }\n catch(e) { return false }\n} : function (te) {\n var range\n try {range = te.ownerDocument.selection.createRange()}\n catch(e) {}\n if (!range || range.parentElement() != te) { return false }\n return range.compareEndPoints(\"StartToEnd\", range) != 0\n}\n\nvar hasCopyEvent = (function () {\n var e = elt(\"div\")\n if (\"oncopy\" in e) { return true }\n e.setAttribute(\"oncopy\", \"return;\")\n return typeof e.oncopy == \"function\"\n})()\n\nvar badZoomedRects = null\nfunction hasBadZoomedRects(measure) {\n if (badZoomedRects != null) { return badZoomedRects }\n var node = removeChildrenAndAdd(measure, elt(\"span\", \"x\"))\n var normal = node.getBoundingClientRect()\n var fromRange = range(node, 0, 1).getBoundingClientRect()\n return badZoomedRects = Math.abs(normal.left - fromRange.left) > 1\n}\n\nvar modes = {};\nvar mimeModes = {};\n// Extra arguments are stored as the mode's dependencies, which is\n// used by (legacy) mechanisms like loadmode.js to automatically\n// load a mode. (Preferred mechanism is the require/define calls.)\nfunction defineMode(name, mode) {\n if (arguments.length > 2)\n { mode.dependencies = Array.prototype.slice.call(arguments, 2) }\n modes[name] = mode\n}\n\nfunction defineMIME(mime, spec) {\n mimeModes[mime] = spec\n}\n\n// Given a MIME type, a {name, ...options} config object, or a name\n// string, return a mode config object.\nfunction resolveMode(spec) {\n if (typeof spec == \"string\" && mimeModes.hasOwnProperty(spec)) {\n spec = mimeModes[spec]\n } else if (spec && typeof spec.name == \"string\" && mimeModes.hasOwnProperty(spec.name)) {\n var found = mimeModes[spec.name]\n if (typeof found == \"string\") { found = {name: found} }\n spec = createObj(found, spec)\n spec.name = found.name\n } else if (typeof spec == \"string\" && /^[\\w\\-]+\\/[\\w\\-]+\\+xml$/.test(spec)) {\n return resolveMode(\"application/xml\")\n } else if (typeof spec == \"string\" && /^[\\w\\-]+\\/[\\w\\-]+\\+json$/.test(spec)) {\n return resolveMode(\"application/json\")\n }\n if (typeof spec == \"string\") { return {name: spec} }\n else { return spec || {name: \"null\"} }\n}\n\n// Given a mode spec (anything that resolveMode accepts), find and\n// initialize an actual mode object.\nfunction getMode(options, spec) {\n spec = resolveMode(spec)\n var mfactory = modes[spec.name]\n if (!mfactory) { return getMode(options, \"text/plain\") }\n var modeObj = mfactory(options, spec)\n if (modeExtensions.hasOwnProperty(spec.name)) {\n var exts = modeExtensions[spec.name]\n for (var prop in exts) {\n if (!exts.hasOwnProperty(prop)) { continue }\n if (modeObj.hasOwnProperty(prop)) { modeObj[\"_\" + prop] = modeObj[prop] }\n modeObj[prop] = exts[prop]\n }\n }\n modeObj.name = spec.name\n if (spec.helperType) { modeObj.helperType = spec.helperType }\n if (spec.modeProps) { for (var prop$1 in spec.modeProps)\n { modeObj[prop$1] = spec.modeProps[prop$1] } }\n\n return modeObj\n}\n\n// This can be used to attach properties to mode objects from\n// outside the actual mode definition.\nvar modeExtensions = {}\nfunction extendMode(mode, properties) {\n var exts = modeExtensions.hasOwnProperty(mode) ? modeExtensions[mode] : (modeExtensions[mode] = {})\n copyObj(properties, exts)\n}\n\nfunction copyState(mode, state) {\n if (state === true) { return state }\n if (mode.copyState) { return mode.copyState(state) }\n var nstate = {}\n for (var n in state) {\n var val = state[n]\n if (val instanceof Array) { val = val.concat([]) }\n nstate[n] = val\n }\n return nstate\n}\n\n// Given a mode and a state (for that mode), find the inner mode and\n// state at the position that the state refers to.\nfunction innerMode(mode, state) {\n var info\n while (mode.innerMode) {\n info = mode.innerMode(state)\n if (!info || info.mode == mode) { break }\n state = info.state\n mode = info.mode\n }\n return info || {mode: mode, state: state}\n}\n\nfunction startState(mode, a1, a2) {\n return mode.startState ? mode.startState(a1, a2) : true\n}\n\n// STRING STREAM\n\n// Fed to the mode parsers, provides helper functions to make\n// parsers more succinct.\n\nvar StringStream = function(string, tabSize) {\n this.pos = this.start = 0\n this.string = string\n this.tabSize = tabSize || 8\n this.lastColumnPos = this.lastColumnValue = 0\n this.lineStart = 0\n}\n\nStringStream.prototype = {\n eol: function() {return this.pos >= this.string.length},\n sol: function() {return this.pos == this.lineStart},\n peek: function() {return this.string.charAt(this.pos) || undefined},\n next: function() {\n if (this.pos < this.string.length)\n { return this.string.charAt(this.pos++) }\n },\n eat: function(match) {\n var ch = this.string.charAt(this.pos)\n var ok\n if (typeof match == \"string\") { ok = ch == match }\n else { ok = ch && (match.test ? match.test(ch) : match(ch)) }\n if (ok) {++this.pos; return ch}\n },\n eatWhile: function(match) {\n var start = this.pos\n while (this.eat(match)){}\n return this.pos > start\n },\n eatSpace: function() {\n var this$1 = this;\n\n var start = this.pos\n while (/[\\s\\u00a0]/.test(this.string.charAt(this.pos))) { ++this$1.pos }\n return this.pos > start\n },\n skipToEnd: function() {this.pos = this.string.length},\n skipTo: function(ch) {\n var found = this.string.indexOf(ch, this.pos)\n if (found > -1) {this.pos = found; return true}\n },\n backUp: function(n) {this.pos -= n},\n column: function() {\n if (this.lastColumnPos < this.start) {\n this.lastColumnValue = countColumn(this.string, this.start, this.tabSize, this.lastColumnPos, this.lastColumnValue)\n this.lastColumnPos = this.start\n }\n return this.lastColumnValue - (this.lineStart ? countColumn(this.string, this.lineStart, this.tabSize) : 0)\n },\n indentation: function() {\n return countColumn(this.string, null, this.tabSize) -\n (this.lineStart ? countColumn(this.string, this.lineStart, this.tabSize) : 0)\n },\n match: function(pattern, consume, caseInsensitive) {\n if (typeof pattern == \"string\") {\n var cased = function (str) { return caseInsensitive ? str.toLowerCase() : str; }\n var substr = this.string.substr(this.pos, pattern.length)\n if (cased(substr) == cased(pattern)) {\n if (consume !== false) { this.pos += pattern.length }\n return true\n }\n } else {\n var match = this.string.slice(this.pos).match(pattern)\n if (match && match.index > 0) { return null }\n if (match && consume !== false) { this.pos += match[0].length }\n return match\n }\n },\n current: function(){return this.string.slice(this.start, this.pos)},\n hideFirstChars: function(n, inner) {\n this.lineStart += n\n try { return inner() }\n finally { this.lineStart -= n }\n }\n}\n\n// Compute a style array (an array starting with a mode generation\n// -- for invalidation -- followed by pairs of end positions and\n// style strings), which is used to highlight the tokens on the\n// line.\nfunction highlightLine(cm, line, state, forceToEnd) {\n // A styles array always starts with a number identifying the\n // mode/overlays that it is based on (for easy invalidation).\n var st = [cm.state.modeGen], lineClasses = {}\n // Compute the base array of styles\n runMode(cm, line.text, cm.doc.mode, state, function (end, style) { return st.push(end, style); },\n lineClasses, forceToEnd)\n\n // Run overlays, adjust style array.\n var loop = function ( o ) {\n var overlay = cm.state.overlays[o], i = 1, at = 0\n runMode(cm, line.text, overlay.mode, true, function (end, style) {\n var start = i\n // Ensure there's a token end at the current position, and that i points at it\n while (at < end) {\n var i_end = st[i]\n if (i_end > end)\n { st.splice(i, 1, end, st[i+1], i_end) }\n i += 2\n at = Math.min(end, i_end)\n }\n if (!style) { return }\n if (overlay.opaque) {\n st.splice(start, i - start, end, \"overlay \" + style)\n i = start + 2\n } else {\n for (; start < i; start += 2) {\n var cur = st[start+1]\n st[start+1] = (cur ? cur + \" \" : \"\") + \"overlay \" + style\n }\n }\n }, lineClasses)\n };\n\n for (var o = 0; o < cm.state.overlays.length; ++o) loop( o );\n\n return {styles: st, classes: lineClasses.bgClass || lineClasses.textClass ? lineClasses : null}\n}\n\nfunction getLineStyles(cm, line, updateFrontier) {\n if (!line.styles || line.styles[0] != cm.state.modeGen) {\n var state = getStateBefore(cm, lineNo(line))\n var result = highlightLine(cm, line, line.text.length > cm.options.maxHighlightLength ? copyState(cm.doc.mode, state) : state)\n line.stateAfter = state\n line.styles = result.styles\n if (result.classes) { line.styleClasses = result.classes }\n else if (line.styleClasses) { line.styleClasses = null }\n if (updateFrontier === cm.doc.frontier) { cm.doc.frontier++ }\n }\n return line.styles\n}\n\nfunction getStateBefore(cm, n, precise) {\n var doc = cm.doc, display = cm.display\n if (!doc.mode.startState) { return true }\n var pos = findStartLine(cm, n, precise), state = pos > doc.first && getLine(doc, pos-1).stateAfter\n if (!state) { state = startState(doc.mode) }\n else { state = copyState(doc.mode, state) }\n doc.iter(pos, n, function (line) {\n processLine(cm, line.text, state)\n var save = pos == n - 1 || pos % 5 == 0 || pos >= display.viewFrom && pos < display.viewTo\n line.stateAfter = save ? copyState(doc.mode, state) : null\n ++pos\n })\n if (precise) { doc.frontier = pos }\n return state\n}\n\n// Lightweight form of highlight -- proceed over this line and\n// update state, but don't save a style array. Used for lines that\n// aren't currently visible.\nfunction processLine(cm, text, state, startAt) {\n var mode = cm.doc.mode\n var stream = new StringStream(text, cm.options.tabSize)\n stream.start = stream.pos = startAt || 0\n if (text == \"\") { callBlankLine(mode, state) }\n while (!stream.eol()) {\n readToken(mode, stream, state)\n stream.start = stream.pos\n }\n}\n\nfunction callBlankLine(mode, state) {\n if (mode.blankLine) { return mode.blankLine(state) }\n if (!mode.innerMode) { return }\n var inner = innerMode(mode, state)\n if (inner.mode.blankLine) { return inner.mode.blankLine(inner.state) }\n}\n\nfunction readToken(mode, stream, state, inner) {\n for (var i = 0; i < 10; i++) {\n if (inner) { inner[0] = innerMode(mode, state).mode }\n var style = mode.token(stream, state)\n if (stream.pos > stream.start) { return style }\n }\n throw new Error(\"Mode \" + mode.name + \" failed to advance stream.\")\n}\n\n// Utility for getTokenAt and getLineTokens\nfunction takeToken(cm, pos, precise, asArray) {\n var getObj = function (copy) { return ({\n start: stream.start, end: stream.pos,\n string: stream.current(),\n type: style || null,\n state: copy ? copyState(doc.mode, state) : state\n }); }\n\n var doc = cm.doc, mode = doc.mode, style\n pos = clipPos(doc, pos)\n var line = getLine(doc, pos.line), state = getStateBefore(cm, pos.line, precise)\n var stream = new StringStream(line.text, cm.options.tabSize), tokens\n if (asArray) { tokens = [] }\n while ((asArray || stream.pos < pos.ch) && !stream.eol()) {\n stream.start = stream.pos\n style = readToken(mode, stream, state)\n if (asArray) { tokens.push(getObj(true)) }\n }\n return asArray ? tokens : getObj()\n}\n\nfunction extractLineClasses(type, output) {\n if (type) { for (;;) {\n var lineClass = type.match(/(?:^|\\s+)line-(background-)?(\\S+)/)\n if (!lineClass) { break }\n type = type.slice(0, lineClass.index) + type.slice(lineClass.index + lineClass[0].length)\n var prop = lineClass[1] ? \"bgClass\" : \"textClass\"\n if (output[prop] == null)\n { output[prop] = lineClass[2] }\n else if (!(new RegExp(\"(?:^|\\s)\" + lineClass[2] + \"(?:$|\\s)\")).test(output[prop]))\n { output[prop] += \" \" + lineClass[2] }\n } }\n return type\n}\n\n// Run the given mode's parser over a line, calling f for each token.\nfunction runMode(cm, text, mode, state, f, lineClasses, forceToEnd) {\n var flattenSpans = mode.flattenSpans\n if (flattenSpans == null) { flattenSpans = cm.options.flattenSpans }\n var curStart = 0, curStyle = null\n var stream = new StringStream(text, cm.options.tabSize), style\n var inner = cm.options.addModeClass && [null]\n if (text == \"\") { extractLineClasses(callBlankLine(mode, state), lineClasses) }\n while (!stream.eol()) {\n if (stream.pos > cm.options.maxHighlightLength) {\n flattenSpans = false\n if (forceToEnd) { processLine(cm, text, state, stream.pos) }\n stream.pos = text.length\n style = null\n } else {\n style = extractLineClasses(readToken(mode, stream, state, inner), lineClasses)\n }\n if (inner) {\n var mName = inner[0].name\n if (mName) { style = \"m-\" + (style ? mName + \" \" + style : mName) }\n }\n if (!flattenSpans || curStyle != style) {\n while (curStart < stream.start) {\n curStart = Math.min(stream.start, curStart + 5000)\n f(curStart, curStyle)\n }\n curStyle = style\n }\n stream.start = stream.pos\n }\n while (curStart < stream.pos) {\n // Webkit seems to refuse to render text nodes longer than 57444\n // characters, and returns inaccurate measurements in nodes\n // starting around 5000 chars.\n var pos = Math.min(stream.pos, curStart + 5000)\n f(pos, curStyle)\n curStart = pos\n }\n}\n\n// Finds the line to start with when starting a parse. Tries to\n// find a line with a stateAfter, so that it can start with a\n// valid state. If that fails, it returns the line with the\n// smallest indentation, which tends to need the least context to\n// parse correctly.\nfunction findStartLine(cm, n, precise) {\n var minindent, minline, doc = cm.doc\n var lim = precise ? -1 : n - (cm.doc.mode.innerMode ? 1000 : 100)\n for (var search = n; search > lim; --search) {\n if (search <= doc.first) { return doc.first }\n var line = getLine(doc, search - 1)\n if (line.stateAfter && (!precise || search <= doc.frontier)) { return search }\n var indented = countColumn(line.text, null, cm.options.tabSize)\n if (minline == null || minindent > indented) {\n minline = search - 1\n minindent = indented\n }\n }\n return minline\n}\n\n// LINE DATA STRUCTURE\n\n// Line objects. These hold state related to a line, including\n// highlighting info (the styles array).\nfunction Line(text, markedSpans, estimateHeight) {\n this.text = text\n attachMarkedSpans(this, markedSpans)\n this.height = estimateHeight ? estimateHeight(this) : 1\n}\neventMixin(Line)\nLine.prototype.lineNo = function() { return lineNo(this) }\n\n// Change the content (text, markers) of a line. Automatically\n// invalidates cached information and tries to re-estimate the\n// line's height.\nfunction updateLine(line, text, markedSpans, estimateHeight) {\n line.text = text\n if (line.stateAfter) { line.stateAfter = null }\n if (line.styles) { line.styles = null }\n if (line.order != null) { line.order = null }\n detachMarkedSpans(line)\n attachMarkedSpans(line, markedSpans)\n var estHeight = estimateHeight ? estimateHeight(line) : 1\n if (estHeight != line.height) { updateLineHeight(line, estHeight) }\n}\n\n// Detach a line from the document tree and its markers.\nfunction cleanUpLine(line) {\n line.parent = null\n detachMarkedSpans(line)\n}\n\n// Convert a style as returned by a mode (either null, or a string\n// containing one or more styles) to a CSS style. This is cached,\n// and also looks for line-wide styles.\nvar styleToClassCache = {};\nvar styleToClassCacheWithMode = {};\nfunction interpretTokenStyle(style, options) {\n if (!style || /^\\s*$/.test(style)) { return null }\n var cache = options.addModeClass ? styleToClassCacheWithMode : styleToClassCache\n return cache[style] ||\n (cache[style] = style.replace(/\\S+/g, \"cm-$&\"))\n}\n\n// Render the DOM representation of the text of a line. Also builds\n// up a 'line map', which points at the DOM nodes that represent\n// specific stretches of text, and is used by the measuring code.\n// The returned object contains the DOM node, this map, and\n// information about line-wide styles that were set by the mode.\nfunction buildLineContent(cm, lineView) {\n // The padding-right forces the element to have a 'border', which\n // is needed on Webkit to be able to get line-level bounding\n // rectangles for it (in measureChar).\n var content = elt(\"span\", null, null, webkit ? \"padding-right: .1px\" : null)\n var builder = {pre: elt(\"pre\", [content], \"CodeMirror-line\"), content: content,\n col: 0, pos: 0, cm: cm,\n trailingSpace: false,\n splitSpaces: (ie || webkit) && cm.getOption(\"lineWrapping\")}\n lineView.measure = {}\n\n // Iterate over the logical lines that make up this visual line.\n for (var i = 0; i <= (lineView.rest ? lineView.rest.length : 0); i++) {\n var line = i ? lineView.rest[i - 1] : lineView.line, order = (void 0)\n builder.pos = 0\n builder.addToken = buildToken\n // Optionally wire in some hacks into the token-rendering\n // algorithm, to deal with browser quirks.\n if (hasBadBidiRects(cm.display.measure) && (order = getOrder(line)))\n { builder.addToken = buildTokenBadBidi(builder.addToken, order) }\n builder.map = []\n var allowFrontierUpdate = lineView != cm.display.externalMeasured && lineNo(line)\n insertLineContent(line, builder, getLineStyles(cm, line, allowFrontierUpdate))\n if (line.styleClasses) {\n if (line.styleClasses.bgClass)\n { builder.bgClass = joinClasses(line.styleClasses.bgClass, builder.bgClass || \"\") }\n if (line.styleClasses.textClass)\n { builder.textClass = joinClasses(line.styleClasses.textClass, builder.textClass || \"\") }\n }\n\n // Ensure at least a single node is present, for measuring.\n if (builder.map.length == 0)\n { builder.map.push(0, 0, builder.content.appendChild(zeroWidthElement(cm.display.measure))) }\n\n // Store the map and a cache object for the current logical line\n if (i == 0) {\n lineView.measure.map = builder.map\n lineView.measure.cache = {}\n } else {\n ;(lineView.measure.maps || (lineView.measure.maps = [])).push(builder.map)\n ;(lineView.measure.caches || (lineView.measure.caches = [])).push({})\n }\n }\n\n // See issue #2901\n if (webkit) {\n var last = builder.content.lastChild\n if (/\\bcm-tab\\b/.test(last.className) || (last.querySelector && last.querySelector(\".cm-tab\")))\n { builder.content.className = \"cm-tab-wrap-hack\" }\n }\n\n signal(cm, \"renderLine\", cm, lineView.line, builder.pre)\n if (builder.pre.className)\n { builder.textClass = joinClasses(builder.pre.className, builder.textClass || \"\") }\n\n return builder\n}\n\nfunction defaultSpecialCharPlaceholder(ch) {\n var token = elt(\"span\", \"\\u2022\", \"cm-invalidchar\")\n token.title = \"\\\\u\" + ch.charCodeAt(0).toString(16)\n token.setAttribute(\"aria-label\", token.title)\n return token\n}\n\n// Build up the DOM representation for a single token, and add it to\n// the line map. Takes care to render special characters separately.\nfunction buildToken(builder, text, style, startStyle, endStyle, title, css) {\n if (!text) { return }\n var displayText = builder.splitSpaces ? splitSpaces(text, builder.trailingSpace) : text\n var special = builder.cm.state.specialChars, mustWrap = false\n var content\n if (!special.test(text)) {\n builder.col += text.length\n content = document.createTextNode(displayText)\n builder.map.push(builder.pos, builder.pos + text.length, content)\n if (ie && ie_version < 9) { mustWrap = true }\n builder.pos += text.length\n } else {\n content = document.createDocumentFragment()\n var pos = 0\n while (true) {\n special.lastIndex = pos\n var m = special.exec(text)\n var skipped = m ? m.index - pos : text.length - pos\n if (skipped) {\n var txt = document.createTextNode(displayText.slice(pos, pos + skipped))\n if (ie && ie_version < 9) { content.appendChild(elt(\"span\", [txt])) }\n else { content.appendChild(txt) }\n builder.map.push(builder.pos, builder.pos + skipped, txt)\n builder.col += skipped\n builder.pos += skipped\n }\n if (!m) { break }\n pos += skipped + 1\n var txt$1 = (void 0)\n if (m[0] == \"\\t\") {\n var tabSize = builder.cm.options.tabSize, tabWidth = tabSize - builder.col % tabSize\n txt$1 = content.appendChild(elt(\"span\", spaceStr(tabWidth), \"cm-tab\"))\n txt$1.setAttribute(\"role\", \"presentation\")\n txt$1.setAttribute(\"cm-text\", \"\\t\")\n builder.col += tabWidth\n } else if (m[0] == \"\\r\" || m[0] == \"\\n\") {\n txt$1 = content.appendChild(elt(\"span\", m[0] == \"\\r\" ? \"\\u240d\" : \"\\u2424\", \"cm-invalidchar\"))\n txt$1.setAttribute(\"cm-text\", m[0])\n builder.col += 1\n } else {\n txt$1 = builder.cm.options.specialCharPlaceholder(m[0])\n txt$1.setAttribute(\"cm-text\", m[0])\n if (ie && ie_version < 9) { content.appendChild(elt(\"span\", [txt$1])) }\n else { content.appendChild(txt$1) }\n builder.col += 1\n }\n builder.map.push(builder.pos, builder.pos + 1, txt$1)\n builder.pos++\n }\n }\n builder.trailingSpace = displayText.charCodeAt(text.length - 1) == 32\n if (style || startStyle || endStyle || mustWrap || css) {\n var fullStyle = style || \"\"\n if (startStyle) { fullStyle += startStyle }\n if (endStyle) { fullStyle += endStyle }\n var token = elt(\"span\", [content], fullStyle, css)\n if (title) { token.title = title }\n return builder.content.appendChild(token)\n }\n builder.content.appendChild(content)\n}\n\nfunction splitSpaces(text, trailingBefore) {\n if (text.length > 1 && !/ /.test(text)) { return text }\n var spaceBefore = trailingBefore, result = \"\"\n for (var i = 0; i < text.length; i++) {\n var ch = text.charAt(i)\n if (ch == \" \" && spaceBefore && (i == text.length - 1 || text.charCodeAt(i + 1) == 32))\n { ch = \"\\u00a0\" }\n result += ch\n spaceBefore = ch == \" \"\n }\n return result\n}\n\n// Work around nonsense dimensions being reported for stretches of\n// right-to-left text.\nfunction buildTokenBadBidi(inner, order) {\n return function (builder, text, style, startStyle, endStyle, title, css) {\n style = style ? style + \" cm-force-border\" : \"cm-force-border\"\n var start = builder.pos, end = start + text.length\n for (;;) {\n // Find the part that overlaps with the start of this text\n var part = (void 0)\n for (var i = 0; i < order.length; i++) {\n part = order[i]\n if (part.to > start && part.from <= start) { break }\n }\n if (part.to >= end) { return inner(builder, text, style, startStyle, endStyle, title, css) }\n inner(builder, text.slice(0, part.to - start), style, startStyle, null, title, css)\n startStyle = null\n text = text.slice(part.to - start)\n start = part.to\n }\n }\n}\n\nfunction buildCollapsedSpan(builder, size, marker, ignoreWidget) {\n var widget = !ignoreWidget && marker.widgetNode\n if (widget) { builder.map.push(builder.pos, builder.pos + size, widget) }\n if (!ignoreWidget && builder.cm.display.input.needsContentAttribute) {\n if (!widget)\n { widget = builder.content.appendChild(document.createElement(\"span\")) }\n widget.setAttribute(\"cm-marker\", marker.id)\n }\n if (widget) {\n builder.cm.display.input.setUneditable(widget)\n builder.content.appendChild(widget)\n }\n builder.pos += size\n builder.trailingSpace = false\n}\n\n// Outputs a number of spans to make up a line, taking highlighting\n// and marked text into account.\nfunction insertLineContent(line, builder, styles) {\n var spans = line.markedSpans, allText = line.text, at = 0\n if (!spans) {\n for (var i$1 = 1; i$1 < styles.length; i$1+=2)\n { builder.addToken(builder, allText.slice(at, at = styles[i$1]), interpretTokenStyle(styles[i$1+1], builder.cm.options)) }\n return\n }\n\n var len = allText.length, pos = 0, i = 1, text = \"\", style, css\n var nextChange = 0, spanStyle, spanEndStyle, spanStartStyle, title, collapsed\n for (;;) {\n if (nextChange == pos) { // Update current marker set\n spanStyle = spanEndStyle = spanStartStyle = title = css = \"\"\n collapsed = null; nextChange = Infinity\n var foundBookmarks = [], endStyles = (void 0)\n for (var j = 0; j < spans.length; ++j) {\n var sp = spans[j], m = sp.marker\n if (m.type == \"bookmark\" && sp.from == pos && m.widgetNode) {\n foundBookmarks.push(m)\n } else if (sp.from <= pos && (sp.to == null || sp.to > pos || m.collapsed && sp.to == pos && sp.from == pos)) {\n if (sp.to != null && sp.to != pos && nextChange > sp.to) {\n nextChange = sp.to\n spanEndStyle = \"\"\n }\n if (m.className) { spanStyle += \" \" + m.className }\n if (m.css) { css = (css ? css + \";\" : \"\") + m.css }\n if (m.startStyle && sp.from == pos) { spanStartStyle += \" \" + m.startStyle }\n if (m.endStyle && sp.to == nextChange) { (endStyles || (endStyles = [])).push(m.endStyle, sp.to) }\n if (m.title && !title) { title = m.title }\n if (m.collapsed && (!collapsed || compareCollapsedMarkers(collapsed.marker, m) < 0))\n { collapsed = sp }\n } else if (sp.from > pos && nextChange > sp.from) {\n nextChange = sp.from\n }\n }\n if (endStyles) { for (var j$1 = 0; j$1 < endStyles.length; j$1 += 2)\n { if (endStyles[j$1 + 1] == nextChange) { spanEndStyle += \" \" + endStyles[j$1] } } }\n\n if (!collapsed || collapsed.from == pos) { for (var j$2 = 0; j$2 < foundBookmarks.length; ++j$2)\n { buildCollapsedSpan(builder, 0, foundBookmarks[j$2]) } }\n if (collapsed && (collapsed.from || 0) == pos) {\n buildCollapsedSpan(builder, (collapsed.to == null ? len + 1 : collapsed.to) - pos,\n collapsed.marker, collapsed.from == null)\n if (collapsed.to == null) { return }\n if (collapsed.to == pos) { collapsed = false }\n }\n }\n if (pos >= len) { break }\n\n var upto = Math.min(len, nextChange)\n while (true) {\n if (text) {\n var end = pos + text.length\n if (!collapsed) {\n var tokenText = end > upto ? text.slice(0, upto - pos) : text\n builder.addToken(builder, tokenText, style ? style + spanStyle : spanStyle,\n spanStartStyle, pos + tokenText.length == nextChange ? spanEndStyle : \"\", title, css)\n }\n if (end >= upto) {text = text.slice(upto - pos); pos = upto; break}\n pos = end\n spanStartStyle = \"\"\n }\n text = allText.slice(at, at = styles[i++])\n style = interpretTokenStyle(styles[i++], builder.cm.options)\n }\n }\n}\n\n\n// These objects are used to represent the visible (currently drawn)\n// part of the document. A LineView may correspond to multiple\n// logical lines, if those are connected by collapsed ranges.\nfunction LineView(doc, line, lineN) {\n // The starting line\n this.line = line\n // Continuing lines, if any\n this.rest = visualLineContinued(line)\n // Number of logical lines in this visual line\n this.size = this.rest ? lineNo(lst(this.rest)) - lineN + 1 : 1\n this.node = this.text = null\n this.hidden = lineIsHidden(doc, line)\n}\n\n// Create a range of LineView objects for the given lines.\nfunction buildViewArray(cm, from, to) {\n var array = [], nextPos\n for (var pos = from; pos < to; pos = nextPos) {\n var view = new LineView(cm.doc, getLine(cm.doc, pos), pos)\n nextPos = pos + view.size\n array.push(view)\n }\n return array\n}\n\nvar operationGroup = null\n\nfunction pushOperation(op) {\n if (operationGroup) {\n operationGroup.ops.push(op)\n } else {\n op.ownsGroup = operationGroup = {\n ops: [op],\n delayedCallbacks: []\n }\n }\n}\n\nfunction fireCallbacksForOps(group) {\n // Calls delayed callbacks and cursorActivity handlers until no\n // new ones appear\n var callbacks = group.delayedCallbacks, i = 0\n do {\n for (; i < callbacks.length; i++)\n { callbacks[i].call(null) }\n for (var j = 0; j < group.ops.length; j++) {\n var op = group.ops[j]\n if (op.cursorActivityHandlers)\n { while (op.cursorActivityCalled < op.cursorActivityHandlers.length)\n { op.cursorActivityHandlers[op.cursorActivityCalled++].call(null, op.cm) } }\n }\n } while (i < callbacks.length)\n}\n\nfunction finishOperation(op, endCb) {\n var group = op.ownsGroup\n if (!group) { return }\n\n try { fireCallbacksForOps(group) }\n finally {\n operationGroup = null\n endCb(group)\n }\n}\n\nvar orphanDelayedCallbacks = null\n\n// Often, we want to signal events at a point where we are in the\n// middle of some work, but don't want the handler to start calling\n// other methods on the editor, which might be in an inconsistent\n// state or simply not expect any other events to happen.\n// signalLater looks whether there are any handlers, and schedules\n// them to be executed when the last operation ends, or, if no\n// operation is active, when a timeout fires.\nfunction signalLater(emitter, type /*, values...*/) {\n var arr = getHandlers(emitter, type)\n if (!arr.length) { return }\n var args = Array.prototype.slice.call(arguments, 2), list\n if (operationGroup) {\n list = operationGroup.delayedCallbacks\n } else if (orphanDelayedCallbacks) {\n list = orphanDelayedCallbacks\n } else {\n list = orphanDelayedCallbacks = []\n setTimeout(fireOrphanDelayed, 0)\n }\n var loop = function ( i ) {\n list.push(function () { return arr[i].apply(null, args); })\n };\n\n for (var i = 0; i < arr.length; ++i)\n loop( i );\n}\n\nfunction fireOrphanDelayed() {\n var delayed = orphanDelayedCallbacks\n orphanDelayedCallbacks = null\n for (var i = 0; i < delayed.length; ++i) { delayed[i]() }\n}\n\n// When an aspect of a line changes, a string is added to\n// lineView.changes. This updates the relevant part of the line's\n// DOM structure.\nfunction updateLineForChanges(cm, lineView, lineN, dims) {\n for (var j = 0; j < lineView.changes.length; j++) {\n var type = lineView.changes[j]\n if (type == \"text\") { updateLineText(cm, lineView) }\n else if (type == \"gutter\") { updateLineGutter(cm, lineView, lineN, dims) }\n else if (type == \"class\") { updateLineClasses(lineView) }\n else if (type == \"widget\") { updateLineWidgets(cm, lineView, dims) }\n }\n lineView.changes = null\n}\n\n// Lines with gutter elements, widgets or a background class need to\n// be wrapped, and have the extra elements added to the wrapper div\nfunction ensureLineWrapped(lineView) {\n if (lineView.node == lineView.text) {\n lineView.node = elt(\"div\", null, null, \"position: relative\")\n if (lineView.text.parentNode)\n { lineView.text.parentNode.replaceChild(lineView.node, lineView.text) }\n lineView.node.appendChild(lineView.text)\n if (ie && ie_version < 8) { lineView.node.style.zIndex = 2 }\n }\n return lineView.node\n}\n\nfunction updateLineBackground(lineView) {\n var cls = lineView.bgClass ? lineView.bgClass + \" \" + (lineView.line.bgClass || \"\") : lineView.line.bgClass\n if (cls) { cls += \" CodeMirror-linebackground\" }\n if (lineView.background) {\n if (cls) { lineView.background.className = cls }\n else { lineView.background.parentNode.removeChild(lineView.background); lineView.background = null }\n } else if (cls) {\n var wrap = ensureLineWrapped(lineView)\n lineView.background = wrap.insertBefore(elt(\"div\", null, cls), wrap.firstChild)\n }\n}\n\n// Wrapper around buildLineContent which will reuse the structure\n// in display.externalMeasured when possible.\nfunction getLineContent(cm, lineView) {\n var ext = cm.display.externalMeasured\n if (ext && ext.line == lineView.line) {\n cm.display.externalMeasured = null\n lineView.measure = ext.measure\n return ext.built\n }\n return buildLineContent(cm, lineView)\n}\n\n// Redraw the line's text. Interacts with the background and text\n// classes because the mode may output tokens that influence these\n// classes.\nfunction updateLineText(cm, lineView) {\n var cls = lineView.text.className\n var built = getLineContent(cm, lineView)\n if (lineView.text == lineView.node) { lineView.node = built.pre }\n lineView.text.parentNode.replaceChild(built.pre, lineView.text)\n lineView.text = built.pre\n if (built.bgClass != lineView.bgClass || built.textClass != lineView.textClass) {\n lineView.bgClass = built.bgClass\n lineView.textClass = built.textClass\n updateLineClasses(lineView)\n } else if (cls) {\n lineView.text.className = cls\n }\n}\n\nfunction updateLineClasses(lineView) {\n updateLineBackground(lineView)\n if (lineView.line.wrapClass)\n { ensureLineWrapped(lineView).className = lineView.line.wrapClass }\n else if (lineView.node != lineView.text)\n { lineView.node.className = \"\" }\n var textClass = lineView.textClass ? lineView.textClass + \" \" + (lineView.line.textClass || \"\") : lineView.line.textClass\n lineView.text.className = textClass || \"\"\n}\n\nfunction updateLineGutter(cm, lineView, lineN, dims) {\n if (lineView.gutter) {\n lineView.node.removeChild(lineView.gutter)\n lineView.gutter = null\n }\n if (lineView.gutterBackground) {\n lineView.node.removeChild(lineView.gutterBackground)\n lineView.gutterBackground = null\n }\n if (lineView.line.gutterClass) {\n var wrap = ensureLineWrapped(lineView)\n lineView.gutterBackground = elt(\"div\", null, \"CodeMirror-gutter-background \" + lineView.line.gutterClass,\n (\"left: \" + (cm.options.fixedGutter ? dims.fixedPos : -dims.gutterTotalWidth) + \"px; width: \" + (dims.gutterTotalWidth) + \"px\"))\n wrap.insertBefore(lineView.gutterBackground, lineView.text)\n }\n var markers = lineView.line.gutterMarkers\n if (cm.options.lineNumbers || markers) {\n var wrap$1 = ensureLineWrapped(lineView)\n var gutterWrap = lineView.gutter = elt(\"div\", null, \"CodeMirror-gutter-wrapper\", (\"left: \" + (cm.options.fixedGutter ? dims.fixedPos : -dims.gutterTotalWidth) + \"px\"))\n cm.display.input.setUneditable(gutterWrap)\n wrap$1.insertBefore(gutterWrap, lineView.text)\n if (lineView.line.gutterClass)\n { gutterWrap.className += \" \" + lineView.line.gutterClass }\n if (cm.options.lineNumbers && (!markers || !markers[\"CodeMirror-linenumbers\"]))\n { lineView.lineNumber = gutterWrap.appendChild(\n elt(\"div\", lineNumberFor(cm.options, lineN),\n \"CodeMirror-linenumber CodeMirror-gutter-elt\",\n (\"left: \" + (dims.gutterLeft[\"CodeMirror-linenumbers\"]) + \"px; width: \" + (cm.display.lineNumInnerWidth) + \"px\"))) }\n if (markers) { for (var k = 0; k < cm.options.gutters.length; ++k) {\n var id = cm.options.gutters[k], found = markers.hasOwnProperty(id) && markers[id]\n if (found)\n { gutterWrap.appendChild(elt(\"div\", [found], \"CodeMirror-gutter-elt\",\n (\"left: \" + (dims.gutterLeft[id]) + \"px; width: \" + (dims.gutterWidth[id]) + \"px\"))) }\n } }\n }\n}\n\nfunction updateLineWidgets(cm, lineView, dims) {\n if (lineView.alignable) { lineView.alignable = null }\n for (var node = lineView.node.firstChild, next = (void 0); node; node = next) {\n next = node.nextSibling\n if (node.className == \"CodeMirror-linewidget\")\n { lineView.node.removeChild(node) }\n }\n insertLineWidgets(cm, lineView, dims)\n}\n\n// Build a line's DOM representation from scratch\nfunction buildLineElement(cm, lineView, lineN, dims) {\n var built = getLineContent(cm, lineView)\n lineView.text = lineView.node = built.pre\n if (built.bgClass) { lineView.bgClass = built.bgClass }\n if (built.textClass) { lineView.textClass = built.textClass }\n\n updateLineClasses(lineView)\n updateLineGutter(cm, lineView, lineN, dims)\n insertLineWidgets(cm, lineView, dims)\n return lineView.node\n}\n\n// A lineView may contain multiple logical lines (when merged by\n// collapsed spans). The widgets for all of them need to be drawn.\nfunction insertLineWidgets(cm, lineView, dims) {\n insertLineWidgetsFor(cm, lineView.line, lineView, dims, true)\n if (lineView.rest) { for (var i = 0; i < lineView.rest.length; i++)\n { insertLineWidgetsFor(cm, lineView.rest[i], lineView, dims, false) } }\n}\n\nfunction insertLineWidgetsFor(cm, line, lineView, dims, allowAbove) {\n if (!line.widgets) { return }\n var wrap = ensureLineWrapped(lineView)\n for (var i = 0, ws = line.widgets; i < ws.length; ++i) {\n var widget = ws[i], node = elt(\"div\", [widget.node], \"CodeMirror-linewidget\")\n if (!widget.handleMouseEvents) { node.setAttribute(\"cm-ignore-events\", \"true\") }\n positionLineWidget(widget, node, lineView, dims)\n cm.display.input.setUneditable(node)\n if (allowAbove && widget.above)\n { wrap.insertBefore(node, lineView.gutter || lineView.text) }\n else\n { wrap.appendChild(node) }\n signalLater(widget, \"redraw\")\n }\n}\n\nfunction positionLineWidget(widget, node, lineView, dims) {\n if (widget.noHScroll) {\n ;(lineView.alignable || (lineView.alignable = [])).push(node)\n var width = dims.wrapperWidth\n node.style.left = dims.fixedPos + \"px\"\n if (!widget.coverGutter) {\n width -= dims.gutterTotalWidth\n node.style.paddingLeft = dims.gutterTotalWidth + \"px\"\n }\n node.style.width = width + \"px\"\n }\n if (widget.coverGutter) {\n node.style.zIndex = 5\n node.style.position = \"relative\"\n if (!widget.noHScroll) { node.style.marginLeft = -dims.gutterTotalWidth + \"px\" }\n }\n}\n\nfunction widgetHeight(widget) {\n if (widget.height != null) { return widget.height }\n var cm = widget.doc.cm\n if (!cm) { return 0 }\n if (!contains(document.body, widget.node)) {\n var parentStyle = \"position: relative;\"\n if (widget.coverGutter)\n { parentStyle += \"margin-left: -\" + cm.display.gutters.offsetWidth + \"px;\" }\n if (widget.noHScroll)\n { parentStyle += \"width: \" + cm.display.wrapper.clientWidth + \"px;\" }\n removeChildrenAndAdd(cm.display.measure, elt(\"div\", [widget.node], null, parentStyle))\n }\n return widget.height = widget.node.parentNode.offsetHeight\n}\n\n// Return true when the given mouse event happened in a widget\nfunction eventInWidget(display, e) {\n for (var n = e_target(e); n != display.wrapper; n = n.parentNode) {\n if (!n || (n.nodeType == 1 && n.getAttribute(\"cm-ignore-events\") == \"true\") ||\n (n.parentNode == display.sizer && n != display.mover))\n { return true }\n }\n}\n\n// POSITION MEASUREMENT\n\nfunction paddingTop(display) {return display.lineSpace.offsetTop}\nfunction paddingVert(display) {return display.mover.offsetHeight - display.lineSpace.offsetHeight}\nfunction paddingH(display) {\n if (display.cachedPaddingH) { return display.cachedPaddingH }\n var e = removeChildrenAndAdd(display.measure, elt(\"pre\", \"x\"))\n var style = window.getComputedStyle ? window.getComputedStyle(e) : e.currentStyle\n var data = {left: parseInt(style.paddingLeft), right: parseInt(style.paddingRight)}\n if (!isNaN(data.left) && !isNaN(data.right)) { display.cachedPaddingH = data }\n return data\n}\n\nfunction scrollGap(cm) { return scrollerGap - cm.display.nativeBarWidth }\nfunction displayWidth(cm) {\n return cm.display.scroller.clientWidth - scrollGap(cm) - cm.display.barWidth\n}\nfunction displayHeight(cm) {\n return cm.display.scroller.clientHeight - scrollGap(cm) - cm.display.barHeight\n}\n\n// Ensure the lineView.wrapping.heights array is populated. This is\n// an array of bottom offsets for the lines that make up a drawn\n// line. When lineWrapping is on, there might be more than one\n// height.\nfunction ensureLineHeights(cm, lineView, rect) {\n var wrapping = cm.options.lineWrapping\n var curWidth = wrapping && displayWidth(cm)\n if (!lineView.measure.heights || wrapping && lineView.measure.width != curWidth) {\n var heights = lineView.measure.heights = []\n if (wrapping) {\n lineView.measure.width = curWidth\n var rects = lineView.text.firstChild.getClientRects()\n for (var i = 0; i < rects.length - 1; i++) {\n var cur = rects[i], next = rects[i + 1]\n if (Math.abs(cur.bottom - next.bottom) > 2)\n { heights.push((cur.bottom + next.top) / 2 - rect.top) }\n }\n }\n heights.push(rect.bottom - rect.top)\n }\n}\n\n// Find a line map (mapping character offsets to text nodes) and a\n// measurement cache for the given line number. (A line view might\n// contain multiple lines when collapsed ranges are present.)\nfunction mapFromLineView(lineView, line, lineN) {\n if (lineView.line == line)\n { return {map: lineView.measure.map, cache: lineView.measure.cache} }\n for (var i = 0; i < lineView.rest.length; i++)\n { if (lineView.rest[i] == line)\n { return {map: lineView.measure.maps[i], cache: lineView.measure.caches[i]} } }\n for (var i$1 = 0; i$1 < lineView.rest.length; i$1++)\n { if (lineNo(lineView.rest[i$1]) > lineN)\n { return {map: lineView.measure.maps[i$1], cache: lineView.measure.caches[i$1], before: true} } }\n}\n\n// Render a line into the hidden node display.externalMeasured. Used\n// when measurement is needed for a line that's not in the viewport.\nfunction updateExternalMeasurement(cm, line) {\n line = visualLine(line)\n var lineN = lineNo(line)\n var view = cm.display.externalMeasured = new LineView(cm.doc, line, lineN)\n view.lineN = lineN\n var built = view.built = buildLineContent(cm, view)\n view.text = built.pre\n removeChildrenAndAdd(cm.display.lineMeasure, built.pre)\n return view\n}\n\n// Get a {top, bottom, left, right} box (in line-local coordinates)\n// for a given character.\nfunction measureChar(cm, line, ch, bias) {\n return measureCharPrepared(cm, prepareMeasureForLine(cm, line), ch, bias)\n}\n\n// Find a line view that corresponds to the given line number.\nfunction findViewForLine(cm, lineN) {\n if (lineN >= cm.display.viewFrom && lineN < cm.display.viewTo)\n { return cm.display.view[findViewIndex(cm, lineN)] }\n var ext = cm.display.externalMeasured\n if (ext && lineN >= ext.lineN && lineN < ext.lineN + ext.size)\n { return ext }\n}\n\n// Measurement can be split in two steps, the set-up work that\n// applies to the whole line, and the measurement of the actual\n// character. Functions like coordsChar, that need to do a lot of\n// measurements in a row, can thus ensure that the set-up work is\n// only done once.\nfunction prepareMeasureForLine(cm, line) {\n var lineN = lineNo(line)\n var view = findViewForLine(cm, lineN)\n if (view && !view.text) {\n view = null\n } else if (view && view.changes) {\n updateLineForChanges(cm, view, lineN, getDimensions(cm))\n cm.curOp.forceUpdate = true\n }\n if (!view)\n { view = updateExternalMeasurement(cm, line) }\n\n var info = mapFromLineView(view, line, lineN)\n return {\n line: line, view: view, rect: null,\n map: info.map, cache: info.cache, before: info.before,\n hasHeights: false\n }\n}\n\n// Given a prepared measurement object, measures the position of an\n// actual character (or fetches it from the cache).\nfunction measureCharPrepared(cm, prepared, ch, bias, varHeight) {\n if (prepared.before) { ch = -1 }\n var key = ch + (bias || \"\"), found\n if (prepared.cache.hasOwnProperty(key)) {\n found = prepared.cache[key]\n } else {\n if (!prepared.rect)\n { prepared.rect = prepared.view.text.getBoundingClientRect() }\n if (!prepared.hasHeights) {\n ensureLineHeights(cm, prepared.view, prepared.rect)\n prepared.hasHeights = true\n }\n found = measureCharInner(cm, prepared, ch, bias)\n if (!found.bogus) { prepared.cache[key] = found }\n }\n return {left: found.left, right: found.right,\n top: varHeight ? found.rtop : found.top,\n bottom: varHeight ? found.rbottom : found.bottom}\n}\n\nvar nullRect = {left: 0, right: 0, top: 0, bottom: 0}\n\nfunction nodeAndOffsetInLineMap(map, ch, bias) {\n var node, start, end, collapse, mStart, mEnd\n // First, search the line map for the text node corresponding to,\n // or closest to, the target character.\n for (var i = 0; i < map.length; i += 3) {\n mStart = map[i]\n mEnd = map[i + 1]\n if (ch < mStart) {\n start = 0; end = 1\n collapse = \"left\"\n } else if (ch < mEnd) {\n start = ch - mStart\n end = start + 1\n } else if (i == map.length - 3 || ch == mEnd && map[i + 3] > ch) {\n end = mEnd - mStart\n start = end - 1\n if (ch >= mEnd) { collapse = \"right\" }\n }\n if (start != null) {\n node = map[i + 2]\n if (mStart == mEnd && bias == (node.insertLeft ? \"left\" : \"right\"))\n { collapse = bias }\n if (bias == \"left\" && start == 0)\n { while (i && map[i - 2] == map[i - 3] && map[i - 1].insertLeft) {\n node = map[(i -= 3) + 2]\n collapse = \"left\"\n } }\n if (bias == \"right\" && start == mEnd - mStart)\n { while (i < map.length - 3 && map[i + 3] == map[i + 4] && !map[i + 5].insertLeft) {\n node = map[(i += 3) + 2]\n collapse = \"right\"\n } }\n break\n }\n }\n return {node: node, start: start, end: end, collapse: collapse, coverStart: mStart, coverEnd: mEnd}\n}\n\nfunction getUsefulRect(rects, bias) {\n var rect = nullRect\n if (bias == \"left\") { for (var i = 0; i < rects.length; i++) {\n if ((rect = rects[i]).left != rect.right) { break }\n } } else { for (var i$1 = rects.length - 1; i$1 >= 0; i$1--) {\n if ((rect = rects[i$1]).left != rect.right) { break }\n } }\n return rect\n}\n\nfunction measureCharInner(cm, prepared, ch, bias) {\n var place = nodeAndOffsetInLineMap(prepared.map, ch, bias)\n var node = place.node, start = place.start, end = place.end, collapse = place.collapse\n\n var rect\n if (node.nodeType == 3) { // If it is a text node, use a range to retrieve the coordinates.\n for (var i$1 = 0; i$1 < 4; i$1++) { // Retry a maximum of 4 times when nonsense rectangles are returned\n while (start && isExtendingChar(prepared.line.text.charAt(place.coverStart + start))) { --start }\n while (place.coverStart + end < place.coverEnd && isExtendingChar(prepared.line.text.charAt(place.coverStart + end))) { ++end }\n if (ie && ie_version < 9 && start == 0 && end == place.coverEnd - place.coverStart)\n { rect = node.parentNode.getBoundingClientRect() }\n else\n { rect = getUsefulRect(range(node, start, end).getClientRects(), bias) }\n if (rect.left || rect.right || start == 0) { break }\n end = start\n start = start - 1\n collapse = \"right\"\n }\n if (ie && ie_version < 11) { rect = maybeUpdateRectForZooming(cm.display.measure, rect) }\n } else { // If it is a widget, simply get the box for the whole widget.\n if (start > 0) { collapse = bias = \"right\" }\n var rects\n if (cm.options.lineWrapping && (rects = node.getClientRects()).length > 1)\n { rect = rects[bias == \"right\" ? rects.length - 1 : 0] }\n else\n { rect = node.getBoundingClientRect() }\n }\n if (ie && ie_version < 9 && !start && (!rect || !rect.left && !rect.right)) {\n var rSpan = node.parentNode.getClientRects()[0]\n if (rSpan)\n { rect = {left: rSpan.left, right: rSpan.left + charWidth(cm.display), top: rSpan.top, bottom: rSpan.bottom} }\n else\n { rect = nullRect }\n }\n\n var rtop = rect.top - prepared.rect.top, rbot = rect.bottom - prepared.rect.top\n var mid = (rtop + rbot) / 2\n var heights = prepared.view.measure.heights\n var i = 0\n for (; i < heights.length - 1; i++)\n { if (mid < heights[i]) { break } }\n var top = i ? heights[i - 1] : 0, bot = heights[i]\n var result = {left: (collapse == \"right\" ? rect.right : rect.left) - prepared.rect.left,\n right: (collapse == \"left\" ? rect.left : rect.right) - prepared.rect.left,\n top: top, bottom: bot}\n if (!rect.left && !rect.right) { result.bogus = true }\n if (!cm.options.singleCursorHeightPerLine) { result.rtop = rtop; result.rbottom = rbot }\n\n return result\n}\n\n// Work around problem with bounding client rects on ranges being\n// returned incorrectly when zoomed on IE10 and below.\nfunction maybeUpdateRectForZooming(measure, rect) {\n if (!window.screen || screen.logicalXDPI == null ||\n screen.logicalXDPI == screen.deviceXDPI || !hasBadZoomedRects(measure))\n { return rect }\n var scaleX = screen.logicalXDPI / screen.deviceXDPI\n var scaleY = screen.logicalYDPI / screen.deviceYDPI\n return {left: rect.left * scaleX, right: rect.right * scaleX,\n top: rect.top * scaleY, bottom: rect.bottom * scaleY}\n}\n\nfunction clearLineMeasurementCacheFor(lineView) {\n if (lineView.measure) {\n lineView.measure.cache = {}\n lineView.measure.heights = null\n if (lineView.rest) { for (var i = 0; i < lineView.rest.length; i++)\n { lineView.measure.caches[i] = {} } }\n }\n}\n\nfunction clearLineMeasurementCache(cm) {\n cm.display.externalMeasure = null\n removeChildren(cm.display.lineMeasure)\n for (var i = 0; i < cm.display.view.length; i++)\n { clearLineMeasurementCacheFor(cm.display.view[i]) }\n}\n\nfunction clearCaches(cm) {\n clearLineMeasurementCache(cm)\n cm.display.cachedCharWidth = cm.display.cachedTextHeight = cm.display.cachedPaddingH = null\n if (!cm.options.lineWrapping) { cm.display.maxLineChanged = true }\n cm.display.lineNumChars = null\n}\n\nfunction pageScrollX() { return window.pageXOffset || (document.documentElement || document.body).scrollLeft }\nfunction pageScrollY() { return window.pageYOffset || (document.documentElement || document.body).scrollTop }\n\n// Converts a {top, bottom, left, right} box from line-local\n// coordinates into another coordinate system. Context may be one of\n// \"line\", \"div\" (display.lineDiv), \"local\"./null (editor), \"window\",\n// or \"page\".\nfunction intoCoordSystem(cm, lineObj, rect, context, includeWidgets) {\n if (!includeWidgets && lineObj.widgets) { for (var i = 0; i < lineObj.widgets.length; ++i) { if (lineObj.widgets[i].above) {\n var size = widgetHeight(lineObj.widgets[i])\n rect.top += size; rect.bottom += size\n } } }\n if (context == \"line\") { return rect }\n if (!context) { context = \"local\" }\n var yOff = heightAtLine(lineObj)\n if (context == \"local\") { yOff += paddingTop(cm.display) }\n else { yOff -= cm.display.viewOffset }\n if (context == \"page\" || context == \"window\") {\n var lOff = cm.display.lineSpace.getBoundingClientRect()\n yOff += lOff.top + (context == \"window\" ? 0 : pageScrollY())\n var xOff = lOff.left + (context == \"window\" ? 0 : pageScrollX())\n rect.left += xOff; rect.right += xOff\n }\n rect.top += yOff; rect.bottom += yOff\n return rect\n}\n\n// Coverts a box from \"div\" coords to another coordinate system.\n// Context may be \"window\", \"page\", \"div\", or \"local\"./null.\nfunction fromCoordSystem(cm, coords, context) {\n if (context == \"div\") { return coords }\n var left = coords.left, top = coords.top\n // First move into \"page\" coordinate system\n if (context == \"page\") {\n left -= pageScrollX()\n top -= pageScrollY()\n } else if (context == \"local\" || !context) {\n var localBox = cm.display.sizer.getBoundingClientRect()\n left += localBox.left\n top += localBox.top\n }\n\n var lineSpaceBox = cm.display.lineSpace.getBoundingClientRect()\n return {left: left - lineSpaceBox.left, top: top - lineSpaceBox.top}\n}\n\nfunction charCoords(cm, pos, context, lineObj, bias) {\n if (!lineObj) { lineObj = getLine(cm.doc, pos.line) }\n return intoCoordSystem(cm, lineObj, measureChar(cm, lineObj, pos.ch, bias), context)\n}\n\n// Returns a box for a given cursor position, which may have an\n// 'other' property containing the position of the secondary cursor\n// on a bidi boundary.\nfunction cursorCoords(cm, pos, context, lineObj, preparedMeasure, varHeight) {\n lineObj = lineObj || getLine(cm.doc, pos.line)\n if (!preparedMeasure) { preparedMeasure = prepareMeasureForLine(cm, lineObj) }\n function get(ch, right) {\n var m = measureCharPrepared(cm, preparedMeasure, ch, right ? \"right\" : \"left\", varHeight)\n if (right) { m.left = m.right; } else { m.right = m.left }\n return intoCoordSystem(cm, lineObj, m, context)\n }\n function getBidi(ch, partPos) {\n var part = order[partPos], right = part.level % 2\n if (ch == bidiLeft(part) && partPos && part.level < order[partPos - 1].level) {\n part = order[--partPos]\n ch = bidiRight(part) - (part.level % 2 ? 0 : 1)\n right = true\n } else if (ch == bidiRight(part) && partPos < order.length - 1 && part.level < order[partPos + 1].level) {\n part = order[++partPos]\n ch = bidiLeft(part) - part.level % 2\n right = false\n }\n if (right && ch == part.to && ch > part.from) { return get(ch - 1) }\n return get(ch, right)\n }\n var order = getOrder(lineObj), ch = pos.ch\n if (!order) { return get(ch) }\n var partPos = getBidiPartAt(order, ch)\n var val = getBidi(ch, partPos)\n if (bidiOther != null) { val.other = getBidi(ch, bidiOther) }\n return val\n}\n\n// Used to cheaply estimate the coordinates for a position. Used for\n// intermediate scroll updates.\nfunction estimateCoords(cm, pos) {\n var left = 0\n pos = clipPos(cm.doc, pos)\n if (!cm.options.lineWrapping) { left = charWidth(cm.display) * pos.ch }\n var lineObj = getLine(cm.doc, pos.line)\n var top = heightAtLine(lineObj) + paddingTop(cm.display)\n return {left: left, right: left, top: top, bottom: top + lineObj.height}\n}\n\n// Positions returned by coordsChar contain some extra information.\n// xRel is the relative x position of the input coordinates compared\n// to the found position (so xRel > 0 means the coordinates are to\n// the right of the character position, for example). When outside\n// is true, that means the coordinates lie outside the line's\n// vertical range.\nfunction PosWithInfo(line, ch, outside, xRel) {\n var pos = Pos(line, ch)\n pos.xRel = xRel\n if (outside) { pos.outside = true }\n return pos\n}\n\n// Compute the character position closest to the given coordinates.\n// Input must be lineSpace-local (\"div\" coordinate system).\nfunction coordsChar(cm, x, y) {\n var doc = cm.doc\n y += cm.display.viewOffset\n if (y < 0) { return PosWithInfo(doc.first, 0, true, -1) }\n var lineN = lineAtHeight(doc, y), last = doc.first + doc.size - 1\n if (lineN > last)\n { return PosWithInfo(doc.first + doc.size - 1, getLine(doc, last).text.length, true, 1) }\n if (x < 0) { x = 0 }\n\n var lineObj = getLine(doc, lineN)\n for (;;) {\n var found = coordsCharInner(cm, lineObj, lineN, x, y)\n var merged = collapsedSpanAtEnd(lineObj)\n var mergedPos = merged && merged.find(0, true)\n if (merged && (found.ch > mergedPos.from.ch || found.ch == mergedPos.from.ch && found.xRel > 0))\n { lineN = lineNo(lineObj = mergedPos.to.line) }\n else\n { return found }\n }\n}\n\nfunction coordsCharInner(cm, lineObj, lineNo, x, y) {\n var innerOff = y - heightAtLine(lineObj)\n var wrongLine = false, adjust = 2 * cm.display.wrapper.clientWidth\n var preparedMeasure = prepareMeasureForLine(cm, lineObj)\n\n function getX(ch) {\n var sp = cursorCoords(cm, Pos(lineNo, ch), \"line\", lineObj, preparedMeasure)\n wrongLine = true\n if (innerOff > sp.bottom) { return sp.left - adjust }\n else if (innerOff < sp.top) { return sp.left + adjust }\n else { wrongLine = false }\n return sp.left\n }\n\n var bidi = getOrder(lineObj), dist = lineObj.text.length\n var from = lineLeft(lineObj), to = lineRight(lineObj)\n var fromX = getX(from), fromOutside = wrongLine, toX = getX(to), toOutside = wrongLine\n\n if (x > toX) { return PosWithInfo(lineNo, to, toOutside, 1) }\n // Do a binary search between these bounds.\n for (;;) {\n if (bidi ? to == from || to == moveVisually(lineObj, from, 1) : to - from <= 1) {\n var ch = x < fromX || x - fromX <= toX - x ? from : to\n var outside = ch == from ? fromOutside : toOutside\n var xDiff = x - (ch == from ? fromX : toX)\n // This is a kludge to handle the case where the coordinates\n // are after a line-wrapped line. We should replace it with a\n // more general handling of cursor positions around line\n // breaks. (Issue #4078)\n if (toOutside && !bidi && !/\\s/.test(lineObj.text.charAt(ch)) && xDiff > 0 &&\n ch < lineObj.text.length && preparedMeasure.view.measure.heights.length > 1) {\n var charSize = measureCharPrepared(cm, preparedMeasure, ch, \"right\")\n if (innerOff <= charSize.bottom && innerOff >= charSize.top && Math.abs(x - charSize.right) < xDiff) {\n outside = false\n ch++\n xDiff = x - charSize.right\n }\n }\n while (isExtendingChar(lineObj.text.charAt(ch))) { ++ch }\n var pos = PosWithInfo(lineNo, ch, outside, xDiff < -1 ? -1 : xDiff > 1 ? 1 : 0)\n return pos\n }\n var step = Math.ceil(dist / 2), middle = from + step\n if (bidi) {\n middle = from\n for (var i = 0; i < step; ++i) { middle = moveVisually(lineObj, middle, 1) }\n }\n var middleX = getX(middle)\n if (middleX > x) {to = middle; toX = middleX; if (toOutside = wrongLine) { toX += 1000; } dist = step}\n else {from = middle; fromX = middleX; fromOutside = wrongLine; dist -= step}\n }\n}\n\nvar measureText\n// Compute the default text height.\nfunction textHeight(display) {\n if (display.cachedTextHeight != null) { return display.cachedTextHeight }\n if (measureText == null) {\n measureText = elt(\"pre\")\n // Measure a bunch of lines, for browsers that compute\n // fractional heights.\n for (var i = 0; i < 49; ++i) {\n measureText.appendChild(document.createTextNode(\"x\"))\n measureText.appendChild(elt(\"br\"))\n }\n measureText.appendChild(document.createTextNode(\"x\"))\n }\n removeChildrenAndAdd(display.measure, measureText)\n var height = measureText.offsetHeight / 50\n if (height > 3) { display.cachedTextHeight = height }\n removeChildren(display.measure)\n return height || 1\n}\n\n// Compute the default character width.\nfunction charWidth(display) {\n if (display.cachedCharWidth != null) { return display.cachedCharWidth }\n var anchor = elt(\"span\", \"xxxxxxxxxx\")\n var pre = elt(\"pre\", [anchor])\n removeChildrenAndAdd(display.measure, pre)\n var rect = anchor.getBoundingClientRect(), width = (rect.right - rect.left) / 10\n if (width > 2) { display.cachedCharWidth = width }\n return width || 10\n}\n\n// Do a bulk-read of the DOM positions and sizes needed to draw the\n// view, so that we don't interleave reading and writing to the DOM.\nfunction getDimensions(cm) {\n var d = cm.display, left = {}, width = {}\n var gutterLeft = d.gutters.clientLeft\n for (var n = d.gutters.firstChild, i = 0; n; n = n.nextSibling, ++i) {\n left[cm.options.gutters[i]] = n.offsetLeft + n.clientLeft + gutterLeft\n width[cm.options.gutters[i]] = n.clientWidth\n }\n return {fixedPos: compensateForHScroll(d),\n gutterTotalWidth: d.gutters.offsetWidth,\n gutterLeft: left,\n gutterWidth: width,\n wrapperWidth: d.wrapper.clientWidth}\n}\n\n// Computes display.scroller.scrollLeft + display.gutters.offsetWidth,\n// but using getBoundingClientRect to get a sub-pixel-accurate\n// result.\nfunction compensateForHScroll(display) {\n return display.scroller.getBoundingClientRect().left - display.sizer.getBoundingClientRect().left\n}\n\n// Returns a function that estimates the height of a line, to use as\n// first approximation until the line becomes visible (and is thus\n// properly measurable).\nfunction estimateHeight(cm) {\n var th = textHeight(cm.display), wrapping = cm.options.lineWrapping\n var perLine = wrapping && Math.max(5, cm.display.scroller.clientWidth / charWidth(cm.display) - 3)\n return function (line) {\n if (lineIsHidden(cm.doc, line)) { return 0 }\n\n var widgetsHeight = 0\n if (line.widgets) { for (var i = 0; i < line.widgets.length; i++) {\n if (line.widgets[i].height) { widgetsHeight += line.widgets[i].height }\n } }\n\n if (wrapping)\n { return widgetsHeight + (Math.ceil(line.text.length / perLine) || 1) * th }\n else\n { return widgetsHeight + th }\n }\n}\n\nfunction estimateLineHeights(cm) {\n var doc = cm.doc, est = estimateHeight(cm)\n doc.iter(function (line) {\n var estHeight = est(line)\n if (estHeight != line.height) { updateLineHeight(line, estHeight) }\n })\n}\n\n// Given a mouse event, find the corresponding position. If liberal\n// is false, it checks whether a gutter or scrollbar was clicked,\n// and returns null if it was. forRect is used by rectangular\n// selections, and tries to estimate a character position even for\n// coordinates beyond the right of the text.\nfunction posFromMouse(cm, e, liberal, forRect) {\n var display = cm.display\n if (!liberal && e_target(e).getAttribute(\"cm-not-content\") == \"true\") { return null }\n\n var x, y, space = display.lineSpace.getBoundingClientRect()\n // Fails unpredictably on IE[67] when mouse is dragged around quickly.\n try { x = e.clientX - space.left; y = e.clientY - space.top }\n catch (e) { return null }\n var coords = coordsChar(cm, x, y), line\n if (forRect && coords.xRel == 1 && (line = getLine(cm.doc, coords.line).text).length == coords.ch) {\n var colDiff = countColumn(line, line.length, cm.options.tabSize) - line.length\n coords = Pos(coords.line, Math.max(0, Math.round((x - paddingH(cm.display).left) / charWidth(cm.display)) - colDiff))\n }\n return coords\n}\n\n// Find the view element corresponding to a given line. Return null\n// when the line isn't visible.\nfunction findViewIndex(cm, n) {\n if (n >= cm.display.viewTo) { return null }\n n -= cm.display.viewFrom\n if (n < 0) { return null }\n var view = cm.display.view\n for (var i = 0; i < view.length; i++) {\n n -= view[i].size\n if (n < 0) { return i }\n }\n}\n\nfunction updateSelection(cm) {\n cm.display.input.showSelection(cm.display.input.prepareSelection())\n}\n\nfunction prepareSelection(cm, primary) {\n var doc = cm.doc, result = {}\n var curFragment = result.cursors = document.createDocumentFragment()\n var selFragment = result.selection = document.createDocumentFragment()\n\n for (var i = 0; i < doc.sel.ranges.length; i++) {\n if (primary === false && i == doc.sel.primIndex) { continue }\n var range = doc.sel.ranges[i]\n if (range.from().line >= cm.display.viewTo || range.to().line < cm.display.viewFrom) { continue }\n var collapsed = range.empty()\n if (collapsed || cm.options.showCursorWhenSelecting)\n { drawSelectionCursor(cm, range.head, curFragment) }\n if (!collapsed)\n { drawSelectionRange(cm, range, selFragment) }\n }\n return result\n}\n\n// Draws a cursor for the given range\nfunction drawSelectionCursor(cm, head, output) {\n var pos = cursorCoords(cm, head, \"div\", null, null, !cm.options.singleCursorHeightPerLine)\n\n var cursor = output.appendChild(elt(\"div\", \"\\u00a0\", \"CodeMirror-cursor\"))\n cursor.style.left = pos.left + \"px\"\n cursor.style.top = pos.top + \"px\"\n cursor.style.height = Math.max(0, pos.bottom - pos.top) * cm.options.cursorHeight + \"px\"\n\n if (pos.other) {\n // Secondary cursor, shown when on a 'jump' in bi-directional text\n var otherCursor = output.appendChild(elt(\"div\", \"\\u00a0\", \"CodeMirror-cursor CodeMirror-secondarycursor\"))\n otherCursor.style.display = \"\"\n otherCursor.style.left = pos.other.left + \"px\"\n otherCursor.style.top = pos.other.top + \"px\"\n otherCursor.style.height = (pos.other.bottom - pos.other.top) * .85 + \"px\"\n }\n}\n\n// Draws the given range as a highlighted selection\nfunction drawSelectionRange(cm, range, output) {\n var display = cm.display, doc = cm.doc\n var fragment = document.createDocumentFragment()\n var padding = paddingH(cm.display), leftSide = padding.left\n var rightSide = Math.max(display.sizerWidth, displayWidth(cm) - display.sizer.offsetLeft) - padding.right\n\n function add(left, top, width, bottom) {\n if (top < 0) { top = 0 }\n top = Math.round(top)\n bottom = Math.round(bottom)\n fragment.appendChild(elt(\"div\", null, \"CodeMirror-selected\", (\"position: absolute; left: \" + left + \"px;\\n top: \" + top + \"px; width: \" + (width == null ? rightSide - left : width) + \"px;\\n height: \" + (bottom - top) + \"px\")))\n }\n\n function drawForLine(line, fromArg, toArg) {\n var lineObj = getLine(doc, line)\n var lineLen = lineObj.text.length\n var start, end\n function coords(ch, bias) {\n return charCoords(cm, Pos(line, ch), \"div\", lineObj, bias)\n }\n\n iterateBidiSections(getOrder(lineObj), fromArg || 0, toArg == null ? lineLen : toArg, function (from, to, dir) {\n var leftPos = coords(from, \"left\"), rightPos, left, right\n if (from == to) {\n rightPos = leftPos\n left = right = leftPos.left\n } else {\n rightPos = coords(to - 1, \"right\")\n if (dir == \"rtl\") { var tmp = leftPos; leftPos = rightPos; rightPos = tmp }\n left = leftPos.left\n right = rightPos.right\n }\n if (fromArg == null && from == 0) { left = leftSide }\n if (rightPos.top - leftPos.top > 3) { // Different lines, draw top part\n add(left, leftPos.top, null, leftPos.bottom)\n left = leftSide\n if (leftPos.bottom < rightPos.top) { add(left, leftPos.bottom, null, rightPos.top) }\n }\n if (toArg == null && to == lineLen) { right = rightSide }\n if (!start || leftPos.top < start.top || leftPos.top == start.top && leftPos.left < start.left)\n { start = leftPos }\n if (!end || rightPos.bottom > end.bottom || rightPos.bottom == end.bottom && rightPos.right > end.right)\n { end = rightPos }\n if (left < leftSide + 1) { left = leftSide }\n add(left, rightPos.top, right - left, rightPos.bottom)\n })\n return {start: start, end: end}\n }\n\n var sFrom = range.from(), sTo = range.to()\n if (sFrom.line == sTo.line) {\n drawForLine(sFrom.line, sFrom.ch, sTo.ch)\n } else {\n var fromLine = getLine(doc, sFrom.line), toLine = getLine(doc, sTo.line)\n var singleVLine = visualLine(fromLine) == visualLine(toLine)\n var leftEnd = drawForLine(sFrom.line, sFrom.ch, singleVLine ? fromLine.text.length + 1 : null).end\n var rightStart = drawForLine(sTo.line, singleVLine ? 0 : null, sTo.ch).start\n if (singleVLine) {\n if (leftEnd.top < rightStart.top - 2) {\n add(leftEnd.right, leftEnd.top, null, leftEnd.bottom)\n add(leftSide, rightStart.top, rightStart.left, rightStart.bottom)\n } else {\n add(leftEnd.right, leftEnd.top, rightStart.left - leftEnd.right, leftEnd.bottom)\n }\n }\n if (leftEnd.bottom < rightStart.top)\n { add(leftSide, leftEnd.bottom, null, rightStart.top) }\n }\n\n output.appendChild(fragment)\n}\n\n// Cursor-blinking\nfunction restartBlink(cm) {\n if (!cm.state.focused) { return }\n var display = cm.display\n clearInterval(display.blinker)\n var on = true\n display.cursorDiv.style.visibility = \"\"\n if (cm.options.cursorBlinkRate > 0)\n { display.blinker = setInterval(function () { return display.cursorDiv.style.visibility = (on = !on) ? \"\" : \"hidden\"; },\n cm.options.cursorBlinkRate) }\n else if (cm.options.cursorBlinkRate < 0)\n { display.cursorDiv.style.visibility = \"hidden\" }\n}\n\nfunction ensureFocus(cm) {\n if (!cm.state.focused) { cm.display.input.focus(); onFocus(cm) }\n}\n\nfunction delayBlurEvent(cm) {\n cm.state.delayingBlurEvent = true\n setTimeout(function () { if (cm.state.delayingBlurEvent) {\n cm.state.delayingBlurEvent = false\n onBlur(cm)\n } }, 100)\n}\n\nfunction onFocus(cm, e) {\n if (cm.state.delayingBlurEvent) { cm.state.delayingBlurEvent = false }\n\n if (cm.options.readOnly == \"nocursor\") { return }\n if (!cm.state.focused) {\n signal(cm, \"focus\", cm, e)\n cm.state.focused = true\n addClass(cm.display.wrapper, \"CodeMirror-focused\")\n // This test prevents this from firing when a context\n // menu is closed (since the input reset would kill the\n // select-all detection hack)\n if (!cm.curOp && cm.display.selForContextMenu != cm.doc.sel) {\n cm.display.input.reset()\n if (webkit) { setTimeout(function () { return cm.display.input.reset(true); }, 20) } // Issue #1730\n }\n cm.display.input.receivedFocus()\n }\n restartBlink(cm)\n}\nfunction onBlur(cm, e) {\n if (cm.state.delayingBlurEvent) { return }\n\n if (cm.state.focused) {\n signal(cm, \"blur\", cm, e)\n cm.state.focused = false\n rmClass(cm.display.wrapper, \"CodeMirror-focused\")\n }\n clearInterval(cm.display.blinker)\n setTimeout(function () { if (!cm.state.focused) { cm.display.shift = false } }, 150)\n}\n\n// Re-align line numbers and gutter marks to compensate for\n// horizontal scrolling.\nfunction alignHorizontally(cm) {\n var display = cm.display, view = display.view\n if (!display.alignWidgets && (!display.gutters.firstChild || !cm.options.fixedGutter)) { return }\n var comp = compensateForHScroll(display) - display.scroller.scrollLeft + cm.doc.scrollLeft\n var gutterW = display.gutters.offsetWidth, left = comp + \"px\"\n for (var i = 0; i < view.length; i++) { if (!view[i].hidden) {\n if (cm.options.fixedGutter) {\n if (view[i].gutter)\n { view[i].gutter.style.left = left }\n if (view[i].gutterBackground)\n { view[i].gutterBackground.style.left = left }\n }\n var align = view[i].alignable\n if (align) { for (var j = 0; j < align.length; j++)\n { align[j].style.left = left } }\n } }\n if (cm.options.fixedGutter)\n { display.gutters.style.left = (comp + gutterW) + \"px\" }\n}\n\n// Used to ensure that the line number gutter is still the right\n// size for the current document size. Returns true when an update\n// is needed.\nfunction maybeUpdateLineNumberWidth(cm) {\n if (!cm.options.lineNumbers) { return false }\n var doc = cm.doc, last = lineNumberFor(cm.options, doc.first + doc.size - 1), display = cm.display\n if (last.length != display.lineNumChars) {\n var test = display.measure.appendChild(elt(\"div\", [elt(\"div\", last)],\n \"CodeMirror-linenumber CodeMirror-gutter-elt\"))\n var innerW = test.firstChild.offsetWidth, padding = test.offsetWidth - innerW\n display.lineGutter.style.width = \"\"\n display.lineNumInnerWidth = Math.max(innerW, display.lineGutter.offsetWidth - padding) + 1\n display.lineNumWidth = display.lineNumInnerWidth + padding\n display.lineNumChars = display.lineNumInnerWidth ? last.length : -1\n display.lineGutter.style.width = display.lineNumWidth + \"px\"\n updateGutterSpace(cm)\n return true\n }\n return false\n}\n\n// Read the actual heights of the rendered lines, and update their\n// stored heights to match.\nfunction updateHeightsInViewport(cm) {\n var display = cm.display\n var prevBottom = display.lineDiv.offsetTop\n for (var i = 0; i < display.view.length; i++) {\n var cur = display.view[i], height = (void 0)\n if (cur.hidden) { continue }\n if (ie && ie_version < 8) {\n var bot = cur.node.offsetTop + cur.node.offsetHeight\n height = bot - prevBottom\n prevBottom = bot\n } else {\n var box = cur.node.getBoundingClientRect()\n height = box.bottom - box.top\n }\n var diff = cur.line.height - height\n if (height < 2) { height = textHeight(display) }\n if (diff > .001 || diff < -.001) {\n updateLineHeight(cur.line, height)\n updateWidgetHeight(cur.line)\n if (cur.rest) { for (var j = 0; j < cur.rest.length; j++)\n { updateWidgetHeight(cur.rest[j]) } }\n }\n }\n}\n\n// Read and store the height of line widgets associated with the\n// given line.\nfunction updateWidgetHeight(line) {\n if (line.widgets) { for (var i = 0; i < line.widgets.length; ++i)\n { line.widgets[i].height = line.widgets[i].node.parentNode.offsetHeight } }\n}\n\n// Compute the lines that are visible in a given viewport (defaults\n// the the current scroll position). viewport may contain top,\n// height, and ensure (see op.scrollToPos) properties.\nfunction visibleLines(display, doc, viewport) {\n var top = viewport && viewport.top != null ? Math.max(0, viewport.top) : display.scroller.scrollTop\n top = Math.floor(top - paddingTop(display))\n var bottom = viewport && viewport.bottom != null ? viewport.bottom : top + display.wrapper.clientHeight\n\n var from = lineAtHeight(doc, top), to = lineAtHeight(doc, bottom)\n // Ensure is a {from: {line, ch}, to: {line, ch}} object, and\n // forces those lines into the viewport (if possible).\n if (viewport && viewport.ensure) {\n var ensureFrom = viewport.ensure.from.line, ensureTo = viewport.ensure.to.line\n if (ensureFrom < from) {\n from = ensureFrom\n to = lineAtHeight(doc, heightAtLine(getLine(doc, ensureFrom)) + display.wrapper.clientHeight)\n } else if (Math.min(ensureTo, doc.lastLine()) >= to) {\n from = lineAtHeight(doc, heightAtLine(getLine(doc, ensureTo)) - display.wrapper.clientHeight)\n to = ensureTo\n }\n }\n return {from: from, to: Math.max(to, from + 1)}\n}\n\n// Sync the scrollable area and scrollbars, ensure the viewport\n// covers the visible area.\nfunction setScrollTop(cm, val) {\n if (Math.abs(cm.doc.scrollTop - val) < 2) { return }\n cm.doc.scrollTop = val\n if (!gecko) { updateDisplaySimple(cm, {top: val}) }\n if (cm.display.scroller.scrollTop != val) { cm.display.scroller.scrollTop = val }\n cm.display.scrollbars.setScrollTop(val)\n if (gecko) { updateDisplaySimple(cm) }\n startWorker(cm, 100)\n}\n// Sync scroller and scrollbar, ensure the gutter elements are\n// aligned.\nfunction setScrollLeft(cm, val, isScroller) {\n if (isScroller ? val == cm.doc.scrollLeft : Math.abs(cm.doc.scrollLeft - val) < 2) { return }\n val = Math.min(val, cm.display.scroller.scrollWidth - cm.display.scroller.clientWidth)\n cm.doc.scrollLeft = val\n alignHorizontally(cm)\n if (cm.display.scroller.scrollLeft != val) { cm.display.scroller.scrollLeft = val }\n cm.display.scrollbars.setScrollLeft(val)\n}\n\n// Since the delta values reported on mouse wheel events are\n// unstandardized between browsers and even browser versions, and\n// generally horribly unpredictable, this code starts by measuring\n// the scroll effect that the first few mouse wheel events have,\n// and, from that, detects the way it can convert deltas to pixel\n// offsets afterwards.\n//\n// The reason we want to know the amount a wheel event will scroll\n// is that it gives us a chance to update the display before the\n// actual scrolling happens, reducing flickering.\n\nvar wheelSamples = 0;\nvar wheelPixelsPerUnit = null;\n// Fill in a browser-detected starting value on browsers where we\n// know one. These don't have to be accurate -- the result of them\n// being wrong would just be a slight flicker on the first wheel\n// scroll (if it is large enough).\nif (ie) { wheelPixelsPerUnit = -.53 }\nelse if (gecko) { wheelPixelsPerUnit = 15 }\nelse if (chrome) { wheelPixelsPerUnit = -.7 }\nelse if (safari) { wheelPixelsPerUnit = -1/3 }\n\nfunction wheelEventDelta(e) {\n var dx = e.wheelDeltaX, dy = e.wheelDeltaY\n if (dx == null && e.detail && e.axis == e.HORIZONTAL_AXIS) { dx = e.detail }\n if (dy == null && e.detail && e.axis == e.VERTICAL_AXIS) { dy = e.detail }\n else if (dy == null) { dy = e.wheelDelta }\n return {x: dx, y: dy}\n}\nfunction wheelEventPixels(e) {\n var delta = wheelEventDelta(e)\n delta.x *= wheelPixelsPerUnit\n delta.y *= wheelPixelsPerUnit\n return delta\n}\n\nfunction onScrollWheel(cm, e) {\n var delta = wheelEventDelta(e), dx = delta.x, dy = delta.y\n\n var display = cm.display, scroll = display.scroller\n // Quit if there's nothing to scroll here\n var canScrollX = scroll.scrollWidth > scroll.clientWidth\n var canScrollY = scroll.scrollHeight > scroll.clientHeight\n if (!(dx && canScrollX || dy && canScrollY)) { return }\n\n // Webkit browsers on OS X abort momentum scrolls when the target\n // of the scroll event is removed from the scrollable element.\n // This hack (see related code in patchDisplay) makes sure the\n // element is kept around.\n if (dy && mac && webkit) {\n outer: for (var cur = e.target, view = display.view; cur != scroll; cur = cur.parentNode) {\n for (var i = 0; i < view.length; i++) {\n if (view[i].node == cur) {\n cm.display.currentWheelTarget = cur\n break outer\n }\n }\n }\n }\n\n // On some browsers, horizontal scrolling will cause redraws to\n // happen before the gutter has been realigned, causing it to\n // wriggle around in a most unseemly way. When we have an\n // estimated pixels/delta value, we just handle horizontal\n // scrolling entirely here. It'll be slightly off from native, but\n // better than glitching out.\n if (dx && !gecko && !presto && wheelPixelsPerUnit != null) {\n if (dy && canScrollY)\n { setScrollTop(cm, Math.max(0, Math.min(scroll.scrollTop + dy * wheelPixelsPerUnit, scroll.scrollHeight - scroll.clientHeight))) }\n setScrollLeft(cm, Math.max(0, Math.min(scroll.scrollLeft + dx * wheelPixelsPerUnit, scroll.scrollWidth - scroll.clientWidth)))\n // Only prevent default scrolling if vertical scrolling is\n // actually possible. Otherwise, it causes vertical scroll\n // jitter on OSX trackpads when deltaX is small and deltaY\n // is large (issue #3579)\n if (!dy || (dy && canScrollY))\n { e_preventDefault(e) }\n display.wheelStartX = null // Abort measurement, if in progress\n return\n }\n\n // 'Project' the visible viewport to cover the area that is being\n // scrolled into view (if we know enough to estimate it).\n if (dy && wheelPixelsPerUnit != null) {\n var pixels = dy * wheelPixelsPerUnit\n var top = cm.doc.scrollTop, bot = top + display.wrapper.clientHeight\n if (pixels < 0) { top = Math.max(0, top + pixels - 50) }\n else { bot = Math.min(cm.doc.height, bot + pixels + 50) }\n updateDisplaySimple(cm, {top: top, bottom: bot})\n }\n\n if (wheelSamples < 20) {\n if (display.wheelStartX == null) {\n display.wheelStartX = scroll.scrollLeft; display.wheelStartY = scroll.scrollTop\n display.wheelDX = dx; display.wheelDY = dy\n setTimeout(function () {\n if (display.wheelStartX == null) { return }\n var movedX = scroll.scrollLeft - display.wheelStartX\n var movedY = scroll.scrollTop - display.wheelStartY\n var sample = (movedY && display.wheelDY && movedY / display.wheelDY) ||\n (movedX && display.wheelDX && movedX / display.wheelDX)\n display.wheelStartX = display.wheelStartY = null\n if (!sample) { return }\n wheelPixelsPerUnit = (wheelPixelsPerUnit * wheelSamples + sample) / (wheelSamples + 1)\n ++wheelSamples\n }, 200)\n } else {\n display.wheelDX += dx; display.wheelDY += dy\n }\n }\n}\n\n// SCROLLBARS\n\n// Prepare DOM reads needed to update the scrollbars. Done in one\n// shot to minimize update/measure roundtrips.\nfunction measureForScrollbars(cm) {\n var d = cm.display, gutterW = d.gutters.offsetWidth\n var docH = Math.round(cm.doc.height + paddingVert(cm.display))\n return {\n clientHeight: d.scroller.clientHeight,\n viewHeight: d.wrapper.clientHeight,\n scrollWidth: d.scroller.scrollWidth, clientWidth: d.scroller.clientWidth,\n viewWidth: d.wrapper.clientWidth,\n barLeft: cm.options.fixedGutter ? gutterW : 0,\n docHeight: docH,\n scrollHeight: docH + scrollGap(cm) + d.barHeight,\n nativeBarWidth: d.nativeBarWidth,\n gutterWidth: gutterW\n }\n}\n\nvar NativeScrollbars = function(place, scroll, cm) {\n this.cm = cm\n var vert = this.vert = elt(\"div\", [elt(\"div\", null, null, \"min-width: 1px\")], \"CodeMirror-vscrollbar\")\n var horiz = this.horiz = elt(\"div\", [elt(\"div\", null, null, \"height: 100%; min-height: 1px\")], \"CodeMirror-hscrollbar\")\n place(vert); place(horiz)\n\n on(vert, \"scroll\", function () {\n if (vert.clientHeight) { scroll(vert.scrollTop, \"vertical\") }\n })\n on(horiz, \"scroll\", function () {\n if (horiz.clientWidth) { scroll(horiz.scrollLeft, \"horizontal\") }\n })\n\n this.checkedZeroWidth = false\n // Need to set a minimum width to see the scrollbar on IE7 (but must not set it on IE8).\n if (ie && ie_version < 8) { this.horiz.style.minHeight = this.vert.style.minWidth = \"18px\" }\n};\n\nNativeScrollbars.prototype.update = function (measure) {\n var needsH = measure.scrollWidth > measure.clientWidth + 1\n var needsV = measure.scrollHeight > measure.clientHeight + 1\n var sWidth = measure.nativeBarWidth\n\n if (needsV) {\n this.vert.style.display = \"block\"\n this.vert.style.bottom = needsH ? sWidth + \"px\" : \"0\"\n var totalHeight = measure.viewHeight - (needsH ? sWidth : 0)\n // A bug in IE8 can cause this value to be negative, so guard it.\n this.vert.firstChild.style.height =\n Math.max(0, measure.scrollHeight - measure.clientHeight + totalHeight) + \"px\"\n } else {\n this.vert.style.display = \"\"\n this.vert.firstChild.style.height = \"0\"\n }\n\n if (needsH) {\n this.horiz.style.display = \"block\"\n this.horiz.style.right = needsV ? sWidth + \"px\" : \"0\"\n this.horiz.style.left = measure.barLeft + \"px\"\n var totalWidth = measure.viewWidth - measure.barLeft - (needsV ? sWidth : 0)\n this.horiz.firstChild.style.width =\n (measure.scrollWidth - measure.clientWidth + totalWidth) + \"px\"\n } else {\n this.horiz.style.display = \"\"\n this.horiz.firstChild.style.width = \"0\"\n }\n\n if (!this.checkedZeroWidth && measure.clientHeight > 0) {\n if (sWidth == 0) { this.zeroWidthHack() }\n this.checkedZeroWidth = true\n }\n\n return {right: needsV ? sWidth : 0, bottom: needsH ? sWidth : 0}\n};\n\nNativeScrollbars.prototype.setScrollLeft = function (pos) {\n if (this.horiz.scrollLeft != pos) { this.horiz.scrollLeft = pos }\n if (this.disableHoriz) { this.enableZeroWidthBar(this.horiz, this.disableHoriz) }\n};\n\nNativeScrollbars.prototype.setScrollTop = function (pos) {\n if (this.vert.scrollTop != pos) { this.vert.scrollTop = pos }\n if (this.disableVert) { this.enableZeroWidthBar(this.vert, this.disableVert) }\n};\n\nNativeScrollbars.prototype.zeroWidthHack = function () {\n var w = mac && !mac_geMountainLion ? \"12px\" : \"18px\"\n this.horiz.style.height = this.vert.style.width = w\n this.horiz.style.pointerEvents = this.vert.style.pointerEvents = \"none\"\n this.disableHoriz = new Delayed\n this.disableVert = new Delayed\n};\n\nNativeScrollbars.prototype.enableZeroWidthBar = function (bar, delay) {\n bar.style.pointerEvents = \"auto\"\n function maybeDisable() {\n // To find out whether the scrollbar is still visible, we\n // check whether the element under the pixel in the bottom\n // left corner of the scrollbar box is the scrollbar box\n // itself (when the bar is still visible) or its filler child\n // (when the bar is hidden). If it is still visible, we keep\n // it enabled, if it's hidden, we disable pointer events.\n var box = bar.getBoundingClientRect()\n var elt = document.elementFromPoint(box.left + 1, box.bottom - 1)\n if (elt != bar) { bar.style.pointerEvents = \"none\" }\n else { delay.set(1000, maybeDisable) }\n }\n delay.set(1000, maybeDisable)\n};\n\nNativeScrollbars.prototype.clear = function () {\n var parent = this.horiz.parentNode\n parent.removeChild(this.horiz)\n parent.removeChild(this.vert)\n};\n\nvar NullScrollbars = function () {};\n\nNullScrollbars.prototype.update = function () { return {bottom: 0, right: 0} };\nNullScrollbars.prototype.setScrollLeft = function () {};\nNullScrollbars.prototype.setScrollTop = function () {};\nNullScrollbars.prototype.clear = function () {};\n\nfunction updateScrollbars(cm, measure) {\n if (!measure) { measure = measureForScrollbars(cm) }\n var startWidth = cm.display.barWidth, startHeight = cm.display.barHeight\n updateScrollbarsInner(cm, measure)\n for (var i = 0; i < 4 && startWidth != cm.display.barWidth || startHeight != cm.display.barHeight; i++) {\n if (startWidth != cm.display.barWidth && cm.options.lineWrapping)\n { updateHeightsInViewport(cm) }\n updateScrollbarsInner(cm, measureForScrollbars(cm))\n startWidth = cm.display.barWidth; startHeight = cm.display.barHeight\n }\n}\n\n// Re-synchronize the fake scrollbars with the actual size of the\n// content.\nfunction updateScrollbarsInner(cm, measure) {\n var d = cm.display\n var sizes = d.scrollbars.update(measure)\n\n d.sizer.style.paddingRight = (d.barWidth = sizes.right) + \"px\"\n d.sizer.style.paddingBottom = (d.barHeight = sizes.bottom) + \"px\"\n d.heightForcer.style.borderBottom = sizes.bottom + \"px solid transparent\"\n\n if (sizes.right && sizes.bottom) {\n d.scrollbarFiller.style.display = \"block\"\n d.scrollbarFiller.style.height = sizes.bottom + \"px\"\n d.scrollbarFiller.style.width = sizes.right + \"px\"\n } else { d.scrollbarFiller.style.display = \"\" }\n if (sizes.bottom && cm.options.coverGutterNextToScrollbar && cm.options.fixedGutter) {\n d.gutterFiller.style.display = \"block\"\n d.gutterFiller.style.height = sizes.bottom + \"px\"\n d.gutterFiller.style.width = measure.gutterWidth + \"px\"\n } else { d.gutterFiller.style.display = \"\" }\n}\n\nvar scrollbarModel = {\"native\": NativeScrollbars, \"null\": NullScrollbars}\n\nfunction initScrollbars(cm) {\n if (cm.display.scrollbars) {\n cm.display.scrollbars.clear()\n if (cm.display.scrollbars.addClass)\n { rmClass(cm.display.wrapper, cm.display.scrollbars.addClass) }\n }\n\n cm.display.scrollbars = new scrollbarModel[cm.options.scrollbarStyle](function (node) {\n cm.display.wrapper.insertBefore(node, cm.display.scrollbarFiller)\n // Prevent clicks in the scrollbars from killing focus\n on(node, \"mousedown\", function () {\n if (cm.state.focused) { setTimeout(function () { return cm.display.input.focus(); }, 0) }\n })\n node.setAttribute(\"cm-not-content\", \"true\")\n }, function (pos, axis) {\n if (axis == \"horizontal\") { setScrollLeft(cm, pos) }\n else { setScrollTop(cm, pos) }\n }, cm)\n if (cm.display.scrollbars.addClass)\n { addClass(cm.display.wrapper, cm.display.scrollbars.addClass) }\n}\n\n// SCROLLING THINGS INTO VIEW\n\n// If an editor sits on the top or bottom of the window, partially\n// scrolled out of view, this ensures that the cursor is visible.\nfunction maybeScrollWindow(cm, coords) {\n if (signalDOMEvent(cm, \"scrollCursorIntoView\")) { return }\n\n var display = cm.display, box = display.sizer.getBoundingClientRect(), doScroll = null\n if (coords.top + box.top < 0) { doScroll = true }\n else if (coords.bottom + box.top > (window.innerHeight || document.documentElement.clientHeight)) { doScroll = false }\n if (doScroll != null && !phantom) {\n var scrollNode = elt(\"div\", \"\\u200b\", null, (\"position: absolute;\\n top: \" + (coords.top - display.viewOffset - paddingTop(cm.display)) + \"px;\\n height: \" + (coords.bottom - coords.top + scrollGap(cm) + display.barHeight) + \"px;\\n left: \" + (coords.left) + \"px; width: 2px;\"))\n cm.display.lineSpace.appendChild(scrollNode)\n scrollNode.scrollIntoView(doScroll)\n cm.display.lineSpace.removeChild(scrollNode)\n }\n}\n\n// Scroll a given position into view (immediately), verifying that\n// it actually became visible (as line heights are accurately\n// measured, the position of something may 'drift' during drawing).\nfunction scrollPosIntoView(cm, pos, end, margin) {\n if (margin == null) { margin = 0 }\n var coords\n for (var limit = 0; limit < 5; limit++) {\n var changed = false\n coords = cursorCoords(cm, pos)\n var endCoords = !end || end == pos ? coords : cursorCoords(cm, end)\n var scrollPos = calculateScrollPos(cm, Math.min(coords.left, endCoords.left),\n Math.min(coords.top, endCoords.top) - margin,\n Math.max(coords.left, endCoords.left),\n Math.max(coords.bottom, endCoords.bottom) + margin)\n var startTop = cm.doc.scrollTop, startLeft = cm.doc.scrollLeft\n if (scrollPos.scrollTop != null) {\n setScrollTop(cm, scrollPos.scrollTop)\n if (Math.abs(cm.doc.scrollTop - startTop) > 1) { changed = true }\n }\n if (scrollPos.scrollLeft != null) {\n setScrollLeft(cm, scrollPos.scrollLeft)\n if (Math.abs(cm.doc.scrollLeft - startLeft) > 1) { changed = true }\n }\n if (!changed) { break }\n }\n return coords\n}\n\n// Scroll a given set of coordinates into view (immediately).\nfunction scrollIntoView(cm, x1, y1, x2, y2) {\n var scrollPos = calculateScrollPos(cm, x1, y1, x2, y2)\n if (scrollPos.scrollTop != null) { setScrollTop(cm, scrollPos.scrollTop) }\n if (scrollPos.scrollLeft != null) { setScrollLeft(cm, scrollPos.scrollLeft) }\n}\n\n// Calculate a new scroll position needed to scroll the given\n// rectangle into view. Returns an object with scrollTop and\n// scrollLeft properties. When these are undefined, the\n// vertical/horizontal position does not need to be adjusted.\nfunction calculateScrollPos(cm, x1, y1, x2, y2) {\n var display = cm.display, snapMargin = textHeight(cm.display)\n if (y1 < 0) { y1 = 0 }\n var screentop = cm.curOp && cm.curOp.scrollTop != null ? cm.curOp.scrollTop : display.scroller.scrollTop\n var screen = displayHeight(cm), result = {}\n if (y2 - y1 > screen) { y2 = y1 + screen }\n var docBottom = cm.doc.height + paddingVert(display)\n var atTop = y1 < snapMargin, atBottom = y2 > docBottom - snapMargin\n if (y1 < screentop) {\n result.scrollTop = atTop ? 0 : y1\n } else if (y2 > screentop + screen) {\n var newTop = Math.min(y1, (atBottom ? docBottom : y2) - screen)\n if (newTop != screentop) { result.scrollTop = newTop }\n }\n\n var screenleft = cm.curOp && cm.curOp.scrollLeft != null ? cm.curOp.scrollLeft : display.scroller.scrollLeft\n var screenw = displayWidth(cm) - (cm.options.fixedGutter ? display.gutters.offsetWidth : 0)\n var tooWide = x2 - x1 > screenw\n if (tooWide) { x2 = x1 + screenw }\n if (x1 < 10)\n { result.scrollLeft = 0 }\n else if (x1 < screenleft)\n { result.scrollLeft = Math.max(0, x1 - (tooWide ? 0 : 10)) }\n else if (x2 > screenw + screenleft - 3)\n { result.scrollLeft = x2 + (tooWide ? 0 : 10) - screenw }\n return result\n}\n\n// Store a relative adjustment to the scroll position in the current\n// operation (to be applied when the operation finishes).\nfunction addToScrollPos(cm, left, top) {\n if (left != null || top != null) { resolveScrollToPos(cm) }\n if (left != null)\n { cm.curOp.scrollLeft = (cm.curOp.scrollLeft == null ? cm.doc.scrollLeft : cm.curOp.scrollLeft) + left }\n if (top != null)\n { cm.curOp.scrollTop = (cm.curOp.scrollTop == null ? cm.doc.scrollTop : cm.curOp.scrollTop) + top }\n}\n\n// Make sure that at the end of the operation the current cursor is\n// shown.\nfunction ensureCursorVisible(cm) {\n resolveScrollToPos(cm)\n var cur = cm.getCursor(), from = cur, to = cur\n if (!cm.options.lineWrapping) {\n from = cur.ch ? Pos(cur.line, cur.ch - 1) : cur\n to = Pos(cur.line, cur.ch + 1)\n }\n cm.curOp.scrollToPos = {from: from, to: to, margin: cm.options.cursorScrollMargin, isCursor: true}\n}\n\n// When an operation has its scrollToPos property set, and another\n// scroll action is applied before the end of the operation, this\n// 'simulates' scrolling that position into view in a cheap way, so\n// that the effect of intermediate scroll commands is not ignored.\nfunction resolveScrollToPos(cm) {\n var range = cm.curOp.scrollToPos\n if (range) {\n cm.curOp.scrollToPos = null\n var from = estimateCoords(cm, range.from), to = estimateCoords(cm, range.to)\n var sPos = calculateScrollPos(cm, Math.min(from.left, to.left),\n Math.min(from.top, to.top) - range.margin,\n Math.max(from.right, to.right),\n Math.max(from.bottom, to.bottom) + range.margin)\n cm.scrollTo(sPos.scrollLeft, sPos.scrollTop)\n }\n}\n\n// Operations are used to wrap a series of changes to the editor\n// state in such a way that each change won't have to update the\n// cursor and display (which would be awkward, slow, and\n// error-prone). Instead, display updates are batched and then all\n// combined and executed at once.\n\nvar nextOpId = 0\n// Start a new operation.\nfunction startOperation(cm) {\n cm.curOp = {\n cm: cm,\n viewChanged: false, // Flag that indicates that lines might need to be redrawn\n startHeight: cm.doc.height, // Used to detect need to update scrollbar\n forceUpdate: false, // Used to force a redraw\n updateInput: null, // Whether to reset the input textarea\n typing: false, // Whether this reset should be careful to leave existing text (for compositing)\n changeObjs: null, // Accumulated changes, for firing change events\n cursorActivityHandlers: null, // Set of handlers to fire cursorActivity on\n cursorActivityCalled: 0, // Tracks which cursorActivity handlers have been called already\n selectionChanged: false, // Whether the selection needs to be redrawn\n updateMaxLine: false, // Set when the widest line needs to be determined anew\n scrollLeft: null, scrollTop: null, // Intermediate scroll position, not pushed to DOM yet\n scrollToPos: null, // Used to scroll to a specific position\n focus: false,\n id: ++nextOpId // Unique ID\n }\n pushOperation(cm.curOp)\n}\n\n// Finish an operation, updating the display and signalling delayed events\nfunction endOperation(cm) {\n var op = cm.curOp\n finishOperation(op, function (group) {\n for (var i = 0; i < group.ops.length; i++)\n { group.ops[i].cm.curOp = null }\n endOperations(group)\n })\n}\n\n// The DOM updates done when an operation finishes are batched so\n// that the minimum number of relayouts are required.\nfunction endOperations(group) {\n var ops = group.ops\n for (var i = 0; i < ops.length; i++) // Read DOM\n { endOperation_R1(ops[i]) }\n for (var i$1 = 0; i$1 < ops.length; i$1++) // Write DOM (maybe)\n { endOperation_W1(ops[i$1]) }\n for (var i$2 = 0; i$2 < ops.length; i$2++) // Read DOM\n { endOperation_R2(ops[i$2]) }\n for (var i$3 = 0; i$3 < ops.length; i$3++) // Write DOM (maybe)\n { endOperation_W2(ops[i$3]) }\n for (var i$4 = 0; i$4 < ops.length; i$4++) // Read DOM\n { endOperation_finish(ops[i$4]) }\n}\n\nfunction endOperation_R1(op) {\n var cm = op.cm, display = cm.display\n maybeClipScrollbars(cm)\n if (op.updateMaxLine) { findMaxLine(cm) }\n\n op.mustUpdate = op.viewChanged || op.forceUpdate || op.scrollTop != null ||\n op.scrollToPos && (op.scrollToPos.from.line < display.viewFrom ||\n op.scrollToPos.to.line >= display.viewTo) ||\n display.maxLineChanged && cm.options.lineWrapping\n op.update = op.mustUpdate &&\n new DisplayUpdate(cm, op.mustUpdate && {top: op.scrollTop, ensure: op.scrollToPos}, op.forceUpdate)\n}\n\nfunction endOperation_W1(op) {\n op.updatedDisplay = op.mustUpdate && updateDisplayIfNeeded(op.cm, op.update)\n}\n\nfunction endOperation_R2(op) {\n var cm = op.cm, display = cm.display\n if (op.updatedDisplay) { updateHeightsInViewport(cm) }\n\n op.barMeasure = measureForScrollbars(cm)\n\n // If the max line changed since it was last measured, measure it,\n // and ensure the document's width matches it.\n // updateDisplay_W2 will use these properties to do the actual resizing\n if (display.maxLineChanged && !cm.options.lineWrapping) {\n op.adjustWidthTo = measureChar(cm, display.maxLine, display.maxLine.text.length).left + 3\n cm.display.sizerWidth = op.adjustWidthTo\n op.barMeasure.scrollWidth =\n Math.max(display.scroller.clientWidth, display.sizer.offsetLeft + op.adjustWidthTo + scrollGap(cm) + cm.display.barWidth)\n op.maxScrollLeft = Math.max(0, display.sizer.offsetLeft + op.adjustWidthTo - displayWidth(cm))\n }\n\n if (op.updatedDisplay || op.selectionChanged)\n { op.preparedSelection = display.input.prepareSelection(op.focus) }\n}\n\nfunction endOperation_W2(op) {\n var cm = op.cm\n\n if (op.adjustWidthTo != null) {\n cm.display.sizer.style.minWidth = op.adjustWidthTo + \"px\"\n if (op.maxScrollLeft < cm.doc.scrollLeft)\n { setScrollLeft(cm, Math.min(cm.display.scroller.scrollLeft, op.maxScrollLeft), true) }\n cm.display.maxLineChanged = false\n }\n\n var takeFocus = op.focus && op.focus == activeElt() && (!document.hasFocus || document.hasFocus())\n if (op.preparedSelection)\n { cm.display.input.showSelection(op.preparedSelection, takeFocus) }\n if (op.updatedDisplay || op.startHeight != cm.doc.height)\n { updateScrollbars(cm, op.barMeasure) }\n if (op.updatedDisplay)\n { setDocumentHeight(cm, op.barMeasure) }\n\n if (op.selectionChanged) { restartBlink(cm) }\n\n if (cm.state.focused && op.updateInput)\n { cm.display.input.reset(op.typing) }\n if (takeFocus) { ensureFocus(op.cm) }\n}\n\nfunction endOperation_finish(op) {\n var cm = op.cm, display = cm.display, doc = cm.doc\n\n if (op.updatedDisplay) { postUpdateDisplay(cm, op.update) }\n\n // Abort mouse wheel delta measurement, when scrolling explicitly\n if (display.wheelStartX != null && (op.scrollTop != null || op.scrollLeft != null || op.scrollToPos))\n { display.wheelStartX = display.wheelStartY = null }\n\n // Propagate the scroll position to the actual DOM scroller\n if (op.scrollTop != null && (display.scroller.scrollTop != op.scrollTop || op.forceScroll)) {\n doc.scrollTop = Math.max(0, Math.min(display.scroller.scrollHeight - display.scroller.clientHeight, op.scrollTop))\n display.scrollbars.setScrollTop(doc.scrollTop)\n display.scroller.scrollTop = doc.scrollTop\n }\n if (op.scrollLeft != null && (display.scroller.scrollLeft != op.scrollLeft || op.forceScroll)) {\n doc.scrollLeft = Math.max(0, Math.min(display.scroller.scrollWidth - display.scroller.clientWidth, op.scrollLeft))\n display.scrollbars.setScrollLeft(doc.scrollLeft)\n display.scroller.scrollLeft = doc.scrollLeft\n alignHorizontally(cm)\n }\n // If we need to scroll a specific position into view, do so.\n if (op.scrollToPos) {\n var coords = scrollPosIntoView(cm, clipPos(doc, op.scrollToPos.from),\n clipPos(doc, op.scrollToPos.to), op.scrollToPos.margin)\n if (op.scrollToPos.isCursor && cm.state.focused) { maybeScrollWindow(cm, coords) }\n }\n\n // Fire events for markers that are hidden/unidden by editing or\n // undoing\n var hidden = op.maybeHiddenMarkers, unhidden = op.maybeUnhiddenMarkers\n if (hidden) { for (var i = 0; i < hidden.length; ++i)\n { if (!hidden[i].lines.length) { signal(hidden[i], \"hide\") } } }\n if (unhidden) { for (var i$1 = 0; i$1 < unhidden.length; ++i$1)\n { if (unhidden[i$1].lines.length) { signal(unhidden[i$1], \"unhide\") } } }\n\n if (display.wrapper.offsetHeight)\n { doc.scrollTop = cm.display.scroller.scrollTop }\n\n // Fire change events, and delayed event handlers\n if (op.changeObjs)\n { signal(cm, \"changes\", cm, op.changeObjs) }\n if (op.update)\n { op.update.finish() }\n}\n\n// Run the given function in an operation\nfunction runInOp(cm, f) {\n if (cm.curOp) { return f() }\n startOperation(cm)\n try { return f() }\n finally { endOperation(cm) }\n}\n// Wraps a function in an operation. Returns the wrapped function.\nfunction operation(cm, f) {\n return function() {\n if (cm.curOp) { return f.apply(cm, arguments) }\n startOperation(cm)\n try { return f.apply(cm, arguments) }\n finally { endOperation(cm) }\n }\n}\n// Used to add methods to editor and doc instances, wrapping them in\n// operations.\nfunction methodOp(f) {\n return function() {\n if (this.curOp) { return f.apply(this, arguments) }\n startOperation(this)\n try { return f.apply(this, arguments) }\n finally { endOperation(this) }\n }\n}\nfunction docMethodOp(f) {\n return function() {\n var cm = this.cm\n if (!cm || cm.curOp) { return f.apply(this, arguments) }\n startOperation(cm)\n try { return f.apply(this, arguments) }\n finally { endOperation(cm) }\n }\n}\n\n// Updates the display.view data structure for a given change to the\n// document. From and to are in pre-change coordinates. Lendiff is\n// the amount of lines added or subtracted by the change. This is\n// used for changes that span multiple lines, or change the way\n// lines are divided into visual lines. regLineChange (below)\n// registers single-line changes.\nfunction regChange(cm, from, to, lendiff) {\n if (from == null) { from = cm.doc.first }\n if (to == null) { to = cm.doc.first + cm.doc.size }\n if (!lendiff) { lendiff = 0 }\n\n var display = cm.display\n if (lendiff && to < display.viewTo &&\n (display.updateLineNumbers == null || display.updateLineNumbers > from))\n { display.updateLineNumbers = from }\n\n cm.curOp.viewChanged = true\n\n if (from >= display.viewTo) { // Change after\n if (sawCollapsedSpans && visualLineNo(cm.doc, from) < display.viewTo)\n { resetView(cm) }\n } else if (to <= display.viewFrom) { // Change before\n if (sawCollapsedSpans && visualLineEndNo(cm.doc, to + lendiff) > display.viewFrom) {\n resetView(cm)\n } else {\n display.viewFrom += lendiff\n display.viewTo += lendiff\n }\n } else if (from <= display.viewFrom && to >= display.viewTo) { // Full overlap\n resetView(cm)\n } else if (from <= display.viewFrom) { // Top overlap\n var cut = viewCuttingPoint(cm, to, to + lendiff, 1)\n if (cut) {\n display.view = display.view.slice(cut.index)\n display.viewFrom = cut.lineN\n display.viewTo += lendiff\n } else {\n resetView(cm)\n }\n } else if (to >= display.viewTo) { // Bottom overlap\n var cut$1 = viewCuttingPoint(cm, from, from, -1)\n if (cut$1) {\n display.view = display.view.slice(0, cut$1.index)\n display.viewTo = cut$1.lineN\n } else {\n resetView(cm)\n }\n } else { // Gap in the middle\n var cutTop = viewCuttingPoint(cm, from, from, -1)\n var cutBot = viewCuttingPoint(cm, to, to + lendiff, 1)\n if (cutTop && cutBot) {\n display.view = display.view.slice(0, cutTop.index)\n .concat(buildViewArray(cm, cutTop.lineN, cutBot.lineN))\n .concat(display.view.slice(cutBot.index))\n display.viewTo += lendiff\n } else {\n resetView(cm)\n }\n }\n\n var ext = display.externalMeasured\n if (ext) {\n if (to < ext.lineN)\n { ext.lineN += lendiff }\n else if (from < ext.lineN + ext.size)\n { display.externalMeasured = null }\n }\n}\n\n// Register a change to a single line. Type must be one of \"text\",\n// \"gutter\", \"class\", \"widget\"\nfunction regLineChange(cm, line, type) {\n cm.curOp.viewChanged = true\n var display = cm.display, ext = cm.display.externalMeasured\n if (ext && line >= ext.lineN && line < ext.lineN + ext.size)\n { display.externalMeasured = null }\n\n if (line < display.viewFrom || line >= display.viewTo) { return }\n var lineView = display.view[findViewIndex(cm, line)]\n if (lineView.node == null) { return }\n var arr = lineView.changes || (lineView.changes = [])\n if (indexOf(arr, type) == -1) { arr.push(type) }\n}\n\n// Clear the view.\nfunction resetView(cm) {\n cm.display.viewFrom = cm.display.viewTo = cm.doc.first\n cm.display.view = []\n cm.display.viewOffset = 0\n}\n\nfunction viewCuttingPoint(cm, oldN, newN, dir) {\n var index = findViewIndex(cm, oldN), diff, view = cm.display.view\n if (!sawCollapsedSpans || newN == cm.doc.first + cm.doc.size)\n { return {index: index, lineN: newN} }\n var n = cm.display.viewFrom\n for (var i = 0; i < index; i++)\n { n += view[i].size }\n if (n != oldN) {\n if (dir > 0) {\n if (index == view.length - 1) { return null }\n diff = (n + view[index].size) - oldN\n index++\n } else {\n diff = n - oldN\n }\n oldN += diff; newN += diff\n }\n while (visualLineNo(cm.doc, newN) != newN) {\n if (index == (dir < 0 ? 0 : view.length - 1)) { return null }\n newN += dir * view[index - (dir < 0 ? 1 : 0)].size\n index += dir\n }\n return {index: index, lineN: newN}\n}\n\n// Force the view to cover a given range, adding empty view element\n// or clipping off existing ones as needed.\nfunction adjustView(cm, from, to) {\n var display = cm.display, view = display.view\n if (view.length == 0 || from >= display.viewTo || to <= display.viewFrom) {\n display.view = buildViewArray(cm, from, to)\n display.viewFrom = from\n } else {\n if (display.viewFrom > from)\n { display.view = buildViewArray(cm, from, display.viewFrom).concat(display.view) }\n else if (display.viewFrom < from)\n { display.view = display.view.slice(findViewIndex(cm, from)) }\n display.viewFrom = from\n if (display.viewTo < to)\n { display.view = display.view.concat(buildViewArray(cm, display.viewTo, to)) }\n else if (display.viewTo > to)\n { display.view = display.view.slice(0, findViewIndex(cm, to)) }\n }\n display.viewTo = to\n}\n\n// Count the number of lines in the view whose DOM representation is\n// out of date (or nonexistent).\nfunction countDirtyView(cm) {\n var view = cm.display.view, dirty = 0\n for (var i = 0; i < view.length; i++) {\n var lineView = view[i]\n if (!lineView.hidden && (!lineView.node || lineView.changes)) { ++dirty }\n }\n return dirty\n}\n\n// HIGHLIGHT WORKER\n\nfunction startWorker(cm, time) {\n if (cm.doc.mode.startState && cm.doc.frontier < cm.display.viewTo)\n { cm.state.highlight.set(time, bind(highlightWorker, cm)) }\n}\n\nfunction highlightWorker(cm) {\n var doc = cm.doc\n if (doc.frontier < doc.first) { doc.frontier = doc.first }\n if (doc.frontier >= cm.display.viewTo) { return }\n var end = +new Date + cm.options.workTime\n var state = copyState(doc.mode, getStateBefore(cm, doc.frontier))\n var changedLines = []\n\n doc.iter(doc.frontier, Math.min(doc.first + doc.size, cm.display.viewTo + 500), function (line) {\n if (doc.frontier >= cm.display.viewFrom) { // Visible\n var oldStyles = line.styles, tooLong = line.text.length > cm.options.maxHighlightLength\n var highlighted = highlightLine(cm, line, tooLong ? copyState(doc.mode, state) : state, true)\n line.styles = highlighted.styles\n var oldCls = line.styleClasses, newCls = highlighted.classes\n if (newCls) { line.styleClasses = newCls }\n else if (oldCls) { line.styleClasses = null }\n var ischange = !oldStyles || oldStyles.length != line.styles.length ||\n oldCls != newCls && (!oldCls || !newCls || oldCls.bgClass != newCls.bgClass || oldCls.textClass != newCls.textClass)\n for (var i = 0; !ischange && i < oldStyles.length; ++i) { ischange = oldStyles[i] != line.styles[i] }\n if (ischange) { changedLines.push(doc.frontier) }\n line.stateAfter = tooLong ? state : copyState(doc.mode, state)\n } else {\n if (line.text.length <= cm.options.maxHighlightLength)\n { processLine(cm, line.text, state) }\n line.stateAfter = doc.frontier % 5 == 0 ? copyState(doc.mode, state) : null\n }\n ++doc.frontier\n if (+new Date > end) {\n startWorker(cm, cm.options.workDelay)\n return true\n }\n })\n if (changedLines.length) { runInOp(cm, function () {\n for (var i = 0; i < changedLines.length; i++)\n { regLineChange(cm, changedLines[i], \"text\") }\n }) }\n}\n\n// DISPLAY DRAWING\n\nvar DisplayUpdate = function(cm, viewport, force) {\n var display = cm.display\n\n this.viewport = viewport\n // Store some values that we'll need later (but don't want to force a relayout for)\n this.visible = visibleLines(display, cm.doc, viewport)\n this.editorIsHidden = !display.wrapper.offsetWidth\n this.wrapperHeight = display.wrapper.clientHeight\n this.wrapperWidth = display.wrapper.clientWidth\n this.oldDisplayWidth = displayWidth(cm)\n this.force = force\n this.dims = getDimensions(cm)\n this.events = []\n};\n\nDisplayUpdate.prototype.signal = function (emitter, type) {\n if (hasHandler(emitter, type))\n { this.events.push(arguments) }\n};\nDisplayUpdate.prototype.finish = function () {\n var this$1 = this;\n\n for (var i = 0; i < this.events.length; i++)\n { signal.apply(null, this$1.events[i]) }\n};\n\nfunction maybeClipScrollbars(cm) {\n var display = cm.display\n if (!display.scrollbarsClipped && display.scroller.offsetWidth) {\n display.nativeBarWidth = display.scroller.offsetWidth - display.scroller.clientWidth\n display.heightForcer.style.height = scrollGap(cm) + \"px\"\n display.sizer.style.marginBottom = -display.nativeBarWidth + \"px\"\n display.sizer.style.borderRightWidth = scrollGap(cm) + \"px\"\n display.scrollbarsClipped = true\n }\n}\n\n// Does the actual updating of the line display. Bails out\n// (returning false) when there is nothing to be done and forced is\n// false.\nfunction updateDisplayIfNeeded(cm, update) {\n var display = cm.display, doc = cm.doc\n\n if (update.editorIsHidden) {\n resetView(cm)\n return false\n }\n\n // Bail out if the visible area is already rendered and nothing changed.\n if (!update.force &&\n update.visible.from >= display.viewFrom && update.visible.to <= display.viewTo &&\n (display.updateLineNumbers == null || display.updateLineNumbers >= display.viewTo) &&\n display.renderedView == display.view && countDirtyView(cm) == 0)\n { return false }\n\n if (maybeUpdateLineNumberWidth(cm)) {\n resetView(cm)\n update.dims = getDimensions(cm)\n }\n\n // Compute a suitable new viewport (from & to)\n var end = doc.first + doc.size\n var from = Math.max(update.visible.from - cm.options.viewportMargin, doc.first)\n var to = Math.min(end, update.visible.to + cm.options.viewportMargin)\n if (display.viewFrom < from && from - display.viewFrom < 20) { from = Math.max(doc.first, display.viewFrom) }\n if (display.viewTo > to && display.viewTo - to < 20) { to = Math.min(end, display.viewTo) }\n if (sawCollapsedSpans) {\n from = visualLineNo(cm.doc, from)\n to = visualLineEndNo(cm.doc, to)\n }\n\n var different = from != display.viewFrom || to != display.viewTo ||\n display.lastWrapHeight != update.wrapperHeight || display.lastWrapWidth != update.wrapperWidth\n adjustView(cm, from, to)\n\n display.viewOffset = heightAtLine(getLine(cm.doc, display.viewFrom))\n // Position the mover div to align with the current scroll position\n cm.display.mover.style.top = display.viewOffset + \"px\"\n\n var toUpdate = countDirtyView(cm)\n if (!different && toUpdate == 0 && !update.force && display.renderedView == display.view &&\n (display.updateLineNumbers == null || display.updateLineNumbers >= display.viewTo))\n { return false }\n\n // For big changes, we hide the enclosing element during the\n // update, since that speeds up the operations on most browsers.\n var focused = activeElt()\n if (toUpdate > 4) { display.lineDiv.style.display = \"none\" }\n patchDisplay(cm, display.updateLineNumbers, update.dims)\n if (toUpdate > 4) { display.lineDiv.style.display = \"\" }\n display.renderedView = display.view\n // There might have been a widget with a focused element that got\n // hidden or updated, if so re-focus it.\n if (focused && activeElt() != focused && focused.offsetHeight) { focused.focus() }\n\n // Prevent selection and cursors from interfering with the scroll\n // width and height.\n removeChildren(display.cursorDiv)\n removeChildren(display.selectionDiv)\n display.gutters.style.height = display.sizer.style.minHeight = 0\n\n if (different) {\n display.lastWrapHeight = update.wrapperHeight\n display.lastWrapWidth = update.wrapperWidth\n startWorker(cm, 400)\n }\n\n display.updateLineNumbers = null\n\n return true\n}\n\nfunction postUpdateDisplay(cm, update) {\n var viewport = update.viewport\n\n for (var first = true;; first = false) {\n if (!first || !cm.options.lineWrapping || update.oldDisplayWidth == displayWidth(cm)) {\n // Clip forced viewport to actual scrollable area.\n if (viewport && viewport.top != null)\n { viewport = {top: Math.min(cm.doc.height + paddingVert(cm.display) - displayHeight(cm), viewport.top)} }\n // Updated line heights might result in the drawn area not\n // actually covering the viewport. Keep looping until it does.\n update.visible = visibleLines(cm.display, cm.doc, viewport)\n if (update.visible.from >= cm.display.viewFrom && update.visible.to <= cm.display.viewTo)\n { break }\n }\n if (!updateDisplayIfNeeded(cm, update)) { break }\n updateHeightsInViewport(cm)\n var barMeasure = measureForScrollbars(cm)\n updateSelection(cm)\n updateScrollbars(cm, barMeasure)\n setDocumentHeight(cm, barMeasure)\n }\n\n update.signal(cm, \"update\", cm)\n if (cm.display.viewFrom != cm.display.reportedViewFrom || cm.display.viewTo != cm.display.reportedViewTo) {\n update.signal(cm, \"viewportChange\", cm, cm.display.viewFrom, cm.display.viewTo)\n cm.display.reportedViewFrom = cm.display.viewFrom; cm.display.reportedViewTo = cm.display.viewTo\n }\n}\n\nfunction updateDisplaySimple(cm, viewport) {\n var update = new DisplayUpdate(cm, viewport)\n if (updateDisplayIfNeeded(cm, update)) {\n updateHeightsInViewport(cm)\n postUpdateDisplay(cm, update)\n var barMeasure = measureForScrollbars(cm)\n updateSelection(cm)\n updateScrollbars(cm, barMeasure)\n setDocumentHeight(cm, barMeasure)\n update.finish()\n }\n}\n\n// Sync the actual display DOM structure with display.view, removing\n// nodes for lines that are no longer in view, and creating the ones\n// that are not there yet, and updating the ones that are out of\n// date.\nfunction patchDisplay(cm, updateNumbersFrom, dims) {\n var display = cm.display, lineNumbers = cm.options.lineNumbers\n var container = display.lineDiv, cur = container.firstChild\n\n function rm(node) {\n var next = node.nextSibling\n // Works around a throw-scroll bug in OS X Webkit\n if (webkit && mac && cm.display.currentWheelTarget == node)\n { node.style.display = \"none\" }\n else\n { node.parentNode.removeChild(node) }\n return next\n }\n\n var view = display.view, lineN = display.viewFrom\n // Loop over the elements in the view, syncing cur (the DOM nodes\n // in display.lineDiv) with the view as we go.\n for (var i = 0; i < view.length; i++) {\n var lineView = view[i]\n if (lineView.hidden) {\n } else if (!lineView.node || lineView.node.parentNode != container) { // Not drawn yet\n var node = buildLineElement(cm, lineView, lineN, dims)\n container.insertBefore(node, cur)\n } else { // Already drawn\n while (cur != lineView.node) { cur = rm(cur) }\n var updateNumber = lineNumbers && updateNumbersFrom != null &&\n updateNumbersFrom <= lineN && lineView.lineNumber\n if (lineView.changes) {\n if (indexOf(lineView.changes, \"gutter\") > -1) { updateNumber = false }\n updateLineForChanges(cm, lineView, lineN, dims)\n }\n if (updateNumber) {\n removeChildren(lineView.lineNumber)\n lineView.lineNumber.appendChild(document.createTextNode(lineNumberFor(cm.options, lineN)))\n }\n cur = lineView.node.nextSibling\n }\n lineN += lineView.size\n }\n while (cur) { cur = rm(cur) }\n}\n\nfunction updateGutterSpace(cm) {\n var width = cm.display.gutters.offsetWidth\n cm.display.sizer.style.marginLeft = width + \"px\"\n}\n\nfunction setDocumentHeight(cm, measure) {\n cm.display.sizer.style.minHeight = measure.docHeight + \"px\"\n cm.display.heightForcer.style.top = measure.docHeight + \"px\"\n cm.display.gutters.style.height = (measure.docHeight + cm.display.barHeight + scrollGap(cm)) + \"px\"\n}\n\n// Rebuild the gutter elements, ensure the margin to the left of the\n// code matches their width.\nfunction updateGutters(cm) {\n var gutters = cm.display.gutters, specs = cm.options.gutters\n removeChildren(gutters)\n var i = 0\n for (; i < specs.length; ++i) {\n var gutterClass = specs[i]\n var gElt = gutters.appendChild(elt(\"div\", null, \"CodeMirror-gutter \" + gutterClass))\n if (gutterClass == \"CodeMirror-linenumbers\") {\n cm.display.lineGutter = gElt\n gElt.style.width = (cm.display.lineNumWidth || 1) + \"px\"\n }\n }\n gutters.style.display = i ? \"\" : \"none\"\n updateGutterSpace(cm)\n}\n\n// Make sure the gutters options contains the element\n// \"CodeMirror-linenumbers\" when the lineNumbers option is true.\nfunction setGuttersForLineNumbers(options) {\n var found = indexOf(options.gutters, \"CodeMirror-linenumbers\")\n if (found == -1 && options.lineNumbers) {\n options.gutters = options.gutters.concat([\"CodeMirror-linenumbers\"])\n } else if (found > -1 && !options.lineNumbers) {\n options.gutters = options.gutters.slice(0)\n options.gutters.splice(found, 1)\n }\n}\n\n// Selection objects are immutable. A new one is created every time\n// the selection changes. A selection is one or more non-overlapping\n// (and non-touching) ranges, sorted, and an integer that indicates\n// which one is the primary selection (the one that's scrolled into\n// view, that getCursor returns, etc).\nfunction Selection(ranges, primIndex) {\n this.ranges = ranges\n this.primIndex = primIndex\n}\n\nSelection.prototype = {\n primary: function() { return this.ranges[this.primIndex] },\n equals: function(other) {\n var this$1 = this;\n\n if (other == this) { return true }\n if (other.primIndex != this.primIndex || other.ranges.length != this.ranges.length) { return false }\n for (var i = 0; i < this.ranges.length; i++) {\n var here = this$1.ranges[i], there = other.ranges[i]\n if (cmp(here.anchor, there.anchor) != 0 || cmp(here.head, there.head) != 0) { return false }\n }\n return true\n },\n deepCopy: function() {\n var this$1 = this;\n\n var out = []\n for (var i = 0; i < this.ranges.length; i++)\n { out[i] = new Range(copyPos(this$1.ranges[i].anchor), copyPos(this$1.ranges[i].head)) }\n return new Selection(out, this.primIndex)\n },\n somethingSelected: function() {\n var this$1 = this;\n\n for (var i = 0; i < this.ranges.length; i++)\n { if (!this$1.ranges[i].empty()) { return true } }\n return false\n },\n contains: function(pos, end) {\n var this$1 = this;\n\n if (!end) { end = pos }\n for (var i = 0; i < this.ranges.length; i++) {\n var range = this$1.ranges[i]\n if (cmp(end, range.from()) >= 0 && cmp(pos, range.to()) <= 0)\n { return i }\n }\n return -1\n }\n}\n\nfunction Range(anchor, head) {\n this.anchor = anchor; this.head = head\n}\n\nRange.prototype = {\n from: function() { return minPos(this.anchor, this.head) },\n to: function() { return maxPos(this.anchor, this.head) },\n empty: function() {\n return this.head.line == this.anchor.line && this.head.ch == this.anchor.ch\n }\n}\n\n// Take an unsorted, potentially overlapping set of ranges, and\n// build a selection out of it. 'Consumes' ranges array (modifying\n// it).\nfunction normalizeSelection(ranges, primIndex) {\n var prim = ranges[primIndex]\n ranges.sort(function (a, b) { return cmp(a.from(), b.from()); })\n primIndex = indexOf(ranges, prim)\n for (var i = 1; i < ranges.length; i++) {\n var cur = ranges[i], prev = ranges[i - 1]\n if (cmp(prev.to(), cur.from()) >= 0) {\n var from = minPos(prev.from(), cur.from()), to = maxPos(prev.to(), cur.to())\n var inv = prev.empty() ? cur.from() == cur.head : prev.from() == prev.head\n if (i <= primIndex) { --primIndex }\n ranges.splice(--i, 2, new Range(inv ? to : from, inv ? from : to))\n }\n }\n return new Selection(ranges, primIndex)\n}\n\nfunction simpleSelection(anchor, head) {\n return new Selection([new Range(anchor, head || anchor)], 0)\n}\n\n// Compute the position of the end of a change (its 'to' property\n// refers to the pre-change end).\nfunction changeEnd(change) {\n if (!change.text) { return change.to }\n return Pos(change.from.line + change.text.length - 1,\n lst(change.text).length + (change.text.length == 1 ? change.from.ch : 0))\n}\n\n// Adjust a position to refer to the post-change position of the\n// same text, or the end of the change if the change covers it.\nfunction adjustForChange(pos, change) {\n if (cmp(pos, change.from) < 0) { return pos }\n if (cmp(pos, change.to) <= 0) { return changeEnd(change) }\n\n var line = pos.line + change.text.length - (change.to.line - change.from.line) - 1, ch = pos.ch\n if (pos.line == change.to.line) { ch += changeEnd(change).ch - change.to.ch }\n return Pos(line, ch)\n}\n\nfunction computeSelAfterChange(doc, change) {\n var out = []\n for (var i = 0; i < doc.sel.ranges.length; i++) {\n var range = doc.sel.ranges[i]\n out.push(new Range(adjustForChange(range.anchor, change),\n adjustForChange(range.head, change)))\n }\n return normalizeSelection(out, doc.sel.primIndex)\n}\n\nfunction offsetPos(pos, old, nw) {\n if (pos.line == old.line)\n { return Pos(nw.line, pos.ch - old.ch + nw.ch) }\n else\n { return Pos(nw.line + (pos.line - old.line), pos.ch) }\n}\n\n// Used by replaceSelections to allow moving the selection to the\n// start or around the replaced test. Hint may be \"start\" or \"around\".\nfunction computeReplacedSel(doc, changes, hint) {\n var out = []\n var oldPrev = Pos(doc.first, 0), newPrev = oldPrev\n for (var i = 0; i < changes.length; i++) {\n var change = changes[i]\n var from = offsetPos(change.from, oldPrev, newPrev)\n var to = offsetPos(changeEnd(change), oldPrev, newPrev)\n oldPrev = change.to\n newPrev = to\n if (hint == \"around\") {\n var range = doc.sel.ranges[i], inv = cmp(range.head, range.anchor) < 0\n out[i] = new Range(inv ? to : from, inv ? from : to)\n } else {\n out[i] = new Range(from, from)\n }\n }\n return new Selection(out, doc.sel.primIndex)\n}\n\n// Used to get the editor into a consistent state again when options change.\n\nfunction loadMode(cm) {\n cm.doc.mode = getMode(cm.options, cm.doc.modeOption)\n resetModeState(cm)\n}\n\nfunction resetModeState(cm) {\n cm.doc.iter(function (line) {\n if (line.stateAfter) { line.stateAfter = null }\n if (line.styles) { line.styles = null }\n })\n cm.doc.frontier = cm.doc.first\n startWorker(cm, 100)\n cm.state.modeGen++\n if (cm.curOp) { regChange(cm) }\n}\n\n// DOCUMENT DATA STRUCTURE\n\n// By default, updates that start and end at the beginning of a line\n// are treated specially, in order to make the association of line\n// widgets and marker elements with the text behave more intuitive.\nfunction isWholeLineUpdate(doc, change) {\n return change.from.ch == 0 && change.to.ch == 0 && lst(change.text) == \"\" &&\n (!doc.cm || doc.cm.options.wholeLineUpdateBefore)\n}\n\n// Perform a change on the document data structure.\nfunction updateDoc(doc, change, markedSpans, estimateHeight) {\n function spansFor(n) {return markedSpans ? markedSpans[n] : null}\n function update(line, text, spans) {\n updateLine(line, text, spans, estimateHeight)\n signalLater(line, \"change\", line, change)\n }\n function linesFor(start, end) {\n var result = []\n for (var i = start; i < end; ++i)\n { result.push(new Line(text[i], spansFor(i), estimateHeight)) }\n return result\n }\n\n var from = change.from, to = change.to, text = change.text\n var firstLine = getLine(doc, from.line), lastLine = getLine(doc, to.line)\n var lastText = lst(text), lastSpans = spansFor(text.length - 1), nlines = to.line - from.line\n\n // Adjust the line structure\n if (change.full) {\n doc.insert(0, linesFor(0, text.length))\n doc.remove(text.length, doc.size - text.length)\n } else if (isWholeLineUpdate(doc, change)) {\n // This is a whole-line replace. Treated specially to make\n // sure line objects move the way they are supposed to.\n var added = linesFor(0, text.length - 1)\n update(lastLine, lastLine.text, lastSpans)\n if (nlines) { doc.remove(from.line, nlines) }\n if (added.length) { doc.insert(from.line, added) }\n } else if (firstLine == lastLine) {\n if (text.length == 1) {\n update(firstLine, firstLine.text.slice(0, from.ch) + lastText + firstLine.text.slice(to.ch), lastSpans)\n } else {\n var added$1 = linesFor(1, text.length - 1)\n added$1.push(new Line(lastText + firstLine.text.slice(to.ch), lastSpans, estimateHeight))\n update(firstLine, firstLine.text.slice(0, from.ch) + text[0], spansFor(0))\n doc.insert(from.line + 1, added$1)\n }\n } else if (text.length == 1) {\n update(firstLine, firstLine.text.slice(0, from.ch) + text[0] + lastLine.text.slice(to.ch), spansFor(0))\n doc.remove(from.line + 1, nlines)\n } else {\n update(firstLine, firstLine.text.slice(0, from.ch) + text[0], spansFor(0))\n update(lastLine, lastText + lastLine.text.slice(to.ch), lastSpans)\n var added$2 = linesFor(1, text.length - 1)\n if (nlines > 1) { doc.remove(from.line + 1, nlines - 1) }\n doc.insert(from.line + 1, added$2)\n }\n\n signalLater(doc, \"change\", doc, change)\n}\n\n// Call f for all linked documents.\nfunction linkedDocs(doc, f, sharedHistOnly) {\n function propagate(doc, skip, sharedHist) {\n if (doc.linked) { for (var i = 0; i < doc.linked.length; ++i) {\n var rel = doc.linked[i]\n if (rel.doc == skip) { continue }\n var shared = sharedHist && rel.sharedHist\n if (sharedHistOnly && !shared) { continue }\n f(rel.doc, shared)\n propagate(rel.doc, doc, shared)\n } }\n }\n propagate(doc, null, true)\n}\n\n// Attach a document to an editor.\nfunction attachDoc(cm, doc) {\n if (doc.cm) { throw new Error(\"This document is already in use.\") }\n cm.doc = doc\n doc.cm = cm\n estimateLineHeights(cm)\n loadMode(cm)\n if (!cm.options.lineWrapping) { findMaxLine(cm) }\n cm.options.mode = doc.modeOption\n regChange(cm)\n}\n\nfunction History(startGen) {\n // Arrays of change events and selections. Doing something adds an\n // event to done and clears undo. Undoing moves events from done\n // to undone, redoing moves them in the other direction.\n this.done = []; this.undone = []\n this.undoDepth = Infinity\n // Used to track when changes can be merged into a single undo\n // event\n this.lastModTime = this.lastSelTime = 0\n this.lastOp = this.lastSelOp = null\n this.lastOrigin = this.lastSelOrigin = null\n // Used by the isClean() method\n this.generation = this.maxGeneration = startGen || 1\n}\n\n// Create a history change event from an updateDoc-style change\n// object.\nfunction historyChangeFromChange(doc, change) {\n var histChange = {from: copyPos(change.from), to: changeEnd(change), text: getBetween(doc, change.from, change.to)}\n attachLocalSpans(doc, histChange, change.from.line, change.to.line + 1)\n linkedDocs(doc, function (doc) { return attachLocalSpans(doc, histChange, change.from.line, change.to.line + 1); }, true)\n return histChange\n}\n\n// Pop all selection events off the end of a history array. Stop at\n// a change event.\nfunction clearSelectionEvents(array) {\n while (array.length) {\n var last = lst(array)\n if (last.ranges) { array.pop() }\n else { break }\n }\n}\n\n// Find the top change event in the history. Pop off selection\n// events that are in the way.\nfunction lastChangeEvent(hist, force) {\n if (force) {\n clearSelectionEvents(hist.done)\n return lst(hist.done)\n } else if (hist.done.length && !lst(hist.done).ranges) {\n return lst(hist.done)\n } else if (hist.done.length > 1 && !hist.done[hist.done.length - 2].ranges) {\n hist.done.pop()\n return lst(hist.done)\n }\n}\n\n// Register a change in the history. Merges changes that are within\n// a single operation, or are close together with an origin that\n// allows merging (starting with \"+\") into a single event.\nfunction addChangeToHistory(doc, change, selAfter, opId) {\n var hist = doc.history\n hist.undone.length = 0\n var time = +new Date, cur\n var last\n\n if ((hist.lastOp == opId ||\n hist.lastOrigin == change.origin && change.origin &&\n ((change.origin.charAt(0) == \"+\" && doc.cm && hist.lastModTime > time - doc.cm.options.historyEventDelay) ||\n change.origin.charAt(0) == \"*\")) &&\n (cur = lastChangeEvent(hist, hist.lastOp == opId))) {\n // Merge this change into the last event\n last = lst(cur.changes)\n if (cmp(change.from, change.to) == 0 && cmp(change.from, last.to) == 0) {\n // Optimized case for simple insertion -- don't want to add\n // new changesets for every character typed\n last.to = changeEnd(change)\n } else {\n // Add new sub-event\n cur.changes.push(historyChangeFromChange(doc, change))\n }\n } else {\n // Can not be merged, start a new event.\n var before = lst(hist.done)\n if (!before || !before.ranges)\n { pushSelectionToHistory(doc.sel, hist.done) }\n cur = {changes: [historyChangeFromChange(doc, change)],\n generation: hist.generation}\n hist.done.push(cur)\n while (hist.done.length > hist.undoDepth) {\n hist.done.shift()\n if (!hist.done[0].ranges) { hist.done.shift() }\n }\n }\n hist.done.push(selAfter)\n hist.generation = ++hist.maxGeneration\n hist.lastModTime = hist.lastSelTime = time\n hist.lastOp = hist.lastSelOp = opId\n hist.lastOrigin = hist.lastSelOrigin = change.origin\n\n if (!last) { signal(doc, \"historyAdded\") }\n}\n\nfunction selectionEventCanBeMerged(doc, origin, prev, sel) {\n var ch = origin.charAt(0)\n return ch == \"*\" ||\n ch == \"+\" &&\n prev.ranges.length == sel.ranges.length &&\n prev.somethingSelected() == sel.somethingSelected() &&\n new Date - doc.history.lastSelTime <= (doc.cm ? doc.cm.options.historyEventDelay : 500)\n}\n\n// Called whenever the selection changes, sets the new selection as\n// the pending selection in the history, and pushes the old pending\n// selection into the 'done' array when it was significantly\n// different (in number of selected ranges, emptiness, or time).\nfunction addSelectionToHistory(doc, sel, opId, options) {\n var hist = doc.history, origin = options && options.origin\n\n // A new event is started when the previous origin does not match\n // the current, or the origins don't allow matching. Origins\n // starting with * are always merged, those starting with + are\n // merged when similar and close together in time.\n if (opId == hist.lastSelOp ||\n (origin && hist.lastSelOrigin == origin &&\n (hist.lastModTime == hist.lastSelTime && hist.lastOrigin == origin ||\n selectionEventCanBeMerged(doc, origin, lst(hist.done), sel))))\n { hist.done[hist.done.length - 1] = sel }\n else\n { pushSelectionToHistory(sel, hist.done) }\n\n hist.lastSelTime = +new Date\n hist.lastSelOrigin = origin\n hist.lastSelOp = opId\n if (options && options.clearRedo !== false)\n { clearSelectionEvents(hist.undone) }\n}\n\nfunction pushSelectionToHistory(sel, dest) {\n var top = lst(dest)\n if (!(top && top.ranges && top.equals(sel)))\n { dest.push(sel) }\n}\n\n// Used to store marked span information in the history.\nfunction attachLocalSpans(doc, change, from, to) {\n var existing = change[\"spans_\" + doc.id], n = 0\n doc.iter(Math.max(doc.first, from), Math.min(doc.first + doc.size, to), function (line) {\n if (line.markedSpans)\n { (existing || (existing = change[\"spans_\" + doc.id] = {}))[n] = line.markedSpans }\n ++n\n })\n}\n\n// When un/re-doing restores text containing marked spans, those\n// that have been explicitly cleared should not be restored.\nfunction removeClearedSpans(spans) {\n if (!spans) { return null }\n var out\n for (var i = 0; i < spans.length; ++i) {\n if (spans[i].marker.explicitlyCleared) { if (!out) { out = spans.slice(0, i) } }\n else if (out) { out.push(spans[i]) }\n }\n return !out ? spans : out.length ? out : null\n}\n\n// Retrieve and filter the old marked spans stored in a change event.\nfunction getOldSpans(doc, change) {\n var found = change[\"spans_\" + doc.id]\n if (!found) { return null }\n var nw = []\n for (var i = 0; i < change.text.length; ++i)\n { nw.push(removeClearedSpans(found[i])) }\n return nw\n}\n\n// Used for un/re-doing changes from the history. Combines the\n// result of computing the existing spans with the set of spans that\n// existed in the history (so that deleting around a span and then\n// undoing brings back the span).\nfunction mergeOldSpans(doc, change) {\n var old = getOldSpans(doc, change)\n var stretched = stretchSpansOverChange(doc, change)\n if (!old) { return stretched }\n if (!stretched) { return old }\n\n for (var i = 0; i < old.length; ++i) {\n var oldCur = old[i], stretchCur = stretched[i]\n if (oldCur && stretchCur) {\n spans: for (var j = 0; j < stretchCur.length; ++j) {\n var span = stretchCur[j]\n for (var k = 0; k < oldCur.length; ++k)\n { if (oldCur[k].marker == span.marker) { continue spans } }\n oldCur.push(span)\n }\n } else if (stretchCur) {\n old[i] = stretchCur\n }\n }\n return old\n}\n\n// Used both to provide a JSON-safe object in .getHistory, and, when\n// detaching a document, to split the history in two\nfunction copyHistoryArray(events, newGroup, instantiateSel) {\n var copy = []\n for (var i = 0; i < events.length; ++i) {\n var event = events[i]\n if (event.ranges) {\n copy.push(instantiateSel ? Selection.prototype.deepCopy.call(event) : event)\n continue\n }\n var changes = event.changes, newChanges = []\n copy.push({changes: newChanges})\n for (var j = 0; j < changes.length; ++j) {\n var change = changes[j], m = (void 0)\n newChanges.push({from: change.from, to: change.to, text: change.text})\n if (newGroup) { for (var prop in change) { if (m = prop.match(/^spans_(\\d+)$/)) {\n if (indexOf(newGroup, Number(m[1])) > -1) {\n lst(newChanges)[prop] = change[prop]\n delete change[prop]\n }\n } } }\n }\n }\n return copy\n}\n\n// The 'scroll' parameter given to many of these indicated whether\n// the new cursor position should be scrolled into view after\n// modifying the selection.\n\n// If shift is held or the extend flag is set, extends a range to\n// include a given position (and optionally a second position).\n// Otherwise, simply returns the range between the given positions.\n// Used for cursor motion and such.\nfunction extendRange(doc, range, head, other) {\n if (doc.cm && doc.cm.display.shift || doc.extend) {\n var anchor = range.anchor\n if (other) {\n var posBefore = cmp(head, anchor) < 0\n if (posBefore != (cmp(other, anchor) < 0)) {\n anchor = head\n head = other\n } else if (posBefore != (cmp(head, other) < 0)) {\n head = other\n }\n }\n return new Range(anchor, head)\n } else {\n return new Range(other || head, head)\n }\n}\n\n// Extend the primary selection range, discard the rest.\nfunction extendSelection(doc, head, other, options) {\n setSelection(doc, new Selection([extendRange(doc, doc.sel.primary(), head, other)], 0), options)\n}\n\n// Extend all selections (pos is an array of selections with length\n// equal the number of selections)\nfunction extendSelections(doc, heads, options) {\n var out = []\n for (var i = 0; i < doc.sel.ranges.length; i++)\n { out[i] = extendRange(doc, doc.sel.ranges[i], heads[i], null) }\n var newSel = normalizeSelection(out, doc.sel.primIndex)\n setSelection(doc, newSel, options)\n}\n\n// Updates a single range in the selection.\nfunction replaceOneSelection(doc, i, range, options) {\n var ranges = doc.sel.ranges.slice(0)\n ranges[i] = range\n setSelection(doc, normalizeSelection(ranges, doc.sel.primIndex), options)\n}\n\n// Reset the selection to a single range.\nfunction setSimpleSelection(doc, anchor, head, options) {\n setSelection(doc, simpleSelection(anchor, head), options)\n}\n\n// Give beforeSelectionChange handlers a change to influence a\n// selection update.\nfunction filterSelectionChange(doc, sel, options) {\n var obj = {\n ranges: sel.ranges,\n update: function(ranges) {\n var this$1 = this;\n\n this.ranges = []\n for (var i = 0; i < ranges.length; i++)\n { this$1.ranges[i] = new Range(clipPos(doc, ranges[i].anchor),\n clipPos(doc, ranges[i].head)) }\n },\n origin: options && options.origin\n }\n signal(doc, \"beforeSelectionChange\", doc, obj)\n if (doc.cm) { signal(doc.cm, \"beforeSelectionChange\", doc.cm, obj) }\n if (obj.ranges != sel.ranges) { return normalizeSelection(obj.ranges, obj.ranges.length - 1) }\n else { return sel }\n}\n\nfunction setSelectionReplaceHistory(doc, sel, options) {\n var done = doc.history.done, last = lst(done)\n if (last && last.ranges) {\n done[done.length - 1] = sel\n setSelectionNoUndo(doc, sel, options)\n } else {\n setSelection(doc, sel, options)\n }\n}\n\n// Set a new selection.\nfunction setSelection(doc, sel, options) {\n setSelectionNoUndo(doc, sel, options)\n addSelectionToHistory(doc, doc.sel, doc.cm ? doc.cm.curOp.id : NaN, options)\n}\n\nfunction setSelectionNoUndo(doc, sel, options) {\n if (hasHandler(doc, \"beforeSelectionChange\") || doc.cm && hasHandler(doc.cm, \"beforeSelectionChange\"))\n { sel = filterSelectionChange(doc, sel, options) }\n\n var bias = options && options.bias ||\n (cmp(sel.primary().head, doc.sel.primary().head) < 0 ? -1 : 1)\n setSelectionInner(doc, skipAtomicInSelection(doc, sel, bias, true))\n\n if (!(options && options.scroll === false) && doc.cm)\n { ensureCursorVisible(doc.cm) }\n}\n\nfunction setSelectionInner(doc, sel) {\n if (sel.equals(doc.sel)) { return }\n\n doc.sel = sel\n\n if (doc.cm) {\n doc.cm.curOp.updateInput = doc.cm.curOp.selectionChanged = true\n signalCursorActivity(doc.cm)\n }\n signalLater(doc, \"cursorActivity\", doc)\n}\n\n// Verify that the selection does not partially select any atomic\n// marked ranges.\nfunction reCheckSelection(doc) {\n setSelectionInner(doc, skipAtomicInSelection(doc, doc.sel, null, false), sel_dontScroll)\n}\n\n// Return a selection that does not partially select any atomic\n// ranges.\nfunction skipAtomicInSelection(doc, sel, bias, mayClear) {\n var out\n for (var i = 0; i < sel.ranges.length; i++) {\n var range = sel.ranges[i]\n var old = sel.ranges.length == doc.sel.ranges.length && doc.sel.ranges[i]\n var newAnchor = skipAtomic(doc, range.anchor, old && old.anchor, bias, mayClear)\n var newHead = skipAtomic(doc, range.head, old && old.head, bias, mayClear)\n if (out || newAnchor != range.anchor || newHead != range.head) {\n if (!out) { out = sel.ranges.slice(0, i) }\n out[i] = new Range(newAnchor, newHead)\n }\n }\n return out ? normalizeSelection(out, sel.primIndex) : sel\n}\n\nfunction skipAtomicInner(doc, pos, oldPos, dir, mayClear) {\n var line = getLine(doc, pos.line)\n if (line.markedSpans) { for (var i = 0; i < line.markedSpans.length; ++i) {\n var sp = line.markedSpans[i], m = sp.marker\n if ((sp.from == null || (m.inclusiveLeft ? sp.from <= pos.ch : sp.from < pos.ch)) &&\n (sp.to == null || (m.inclusiveRight ? sp.to >= pos.ch : sp.to > pos.ch))) {\n if (mayClear) {\n signal(m, \"beforeCursorEnter\")\n if (m.explicitlyCleared) {\n if (!line.markedSpans) { break }\n else {--i; continue}\n }\n }\n if (!m.atomic) { continue }\n\n if (oldPos) {\n var near = m.find(dir < 0 ? 1 : -1), diff = (void 0)\n if (dir < 0 ? m.inclusiveRight : m.inclusiveLeft)\n { near = movePos(doc, near, -dir, near && near.line == pos.line ? line : null) }\n if (near && near.line == pos.line && (diff = cmp(near, oldPos)) && (dir < 0 ? diff < 0 : diff > 0))\n { return skipAtomicInner(doc, near, pos, dir, mayClear) }\n }\n\n var far = m.find(dir < 0 ? -1 : 1)\n if (dir < 0 ? m.inclusiveLeft : m.inclusiveRight)\n { far = movePos(doc, far, dir, far.line == pos.line ? line : null) }\n return far ? skipAtomicInner(doc, far, pos, dir, mayClear) : null\n }\n } }\n return pos\n}\n\n// Ensure a given position is not inside an atomic range.\nfunction skipAtomic(doc, pos, oldPos, bias, mayClear) {\n var dir = bias || 1\n var found = skipAtomicInner(doc, pos, oldPos, dir, mayClear) ||\n (!mayClear && skipAtomicInner(doc, pos, oldPos, dir, true)) ||\n skipAtomicInner(doc, pos, oldPos, -dir, mayClear) ||\n (!mayClear && skipAtomicInner(doc, pos, oldPos, -dir, true))\n if (!found) {\n doc.cantEdit = true\n return Pos(doc.first, 0)\n }\n return found\n}\n\nfunction movePos(doc, pos, dir, line) {\n if (dir < 0 && pos.ch == 0) {\n if (pos.line > doc.first) { return clipPos(doc, Pos(pos.line - 1)) }\n else { return null }\n } else if (dir > 0 && pos.ch == (line || getLine(doc, pos.line)).text.length) {\n if (pos.line < doc.first + doc.size - 1) { return Pos(pos.line + 1, 0) }\n else { return null }\n } else {\n return new Pos(pos.line, pos.ch + dir)\n }\n}\n\nfunction selectAll(cm) {\n cm.setSelection(Pos(cm.firstLine(), 0), Pos(cm.lastLine()), sel_dontScroll)\n}\n\n// UPDATING\n\n// Allow \"beforeChange\" event handlers to influence a change\nfunction filterChange(doc, change, update) {\n var obj = {\n canceled: false,\n from: change.from,\n to: change.to,\n text: change.text,\n origin: change.origin,\n cancel: function () { return obj.canceled = true; }\n }\n if (update) { obj.update = function (from, to, text, origin) {\n if (from) { obj.from = clipPos(doc, from) }\n if (to) { obj.to = clipPos(doc, to) }\n if (text) { obj.text = text }\n if (origin !== undefined) { obj.origin = origin }\n } }\n signal(doc, \"beforeChange\", doc, obj)\n if (doc.cm) { signal(doc.cm, \"beforeChange\", doc.cm, obj) }\n\n if (obj.canceled) { return null }\n return {from: obj.from, to: obj.to, text: obj.text, origin: obj.origin}\n}\n\n// Apply a change to a document, and add it to the document's\n// history, and propagating it to all linked documents.\nfunction makeChange(doc, change, ignoreReadOnly) {\n if (doc.cm) {\n if (!doc.cm.curOp) { return operation(doc.cm, makeChange)(doc, change, ignoreReadOnly) }\n if (doc.cm.state.suppressEdits) { return }\n }\n\n if (hasHandler(doc, \"beforeChange\") || doc.cm && hasHandler(doc.cm, \"beforeChange\")) {\n change = filterChange(doc, change, true)\n if (!change) { return }\n }\n\n // Possibly split or suppress the update based on the presence\n // of read-only spans in its range.\n var split = sawReadOnlySpans && !ignoreReadOnly && removeReadOnlyRanges(doc, change.from, change.to)\n if (split) {\n for (var i = split.length - 1; i >= 0; --i)\n { makeChangeInner(doc, {from: split[i].from, to: split[i].to, text: i ? [\"\"] : change.text}) }\n } else {\n makeChangeInner(doc, change)\n }\n}\n\nfunction makeChangeInner(doc, change) {\n if (change.text.length == 1 && change.text[0] == \"\" && cmp(change.from, change.to) == 0) { return }\n var selAfter = computeSelAfterChange(doc, change)\n addChangeToHistory(doc, change, selAfter, doc.cm ? doc.cm.curOp.id : NaN)\n\n makeChangeSingleDoc(doc, change, selAfter, stretchSpansOverChange(doc, change))\n var rebased = []\n\n linkedDocs(doc, function (doc, sharedHist) {\n if (!sharedHist && indexOf(rebased, doc.history) == -1) {\n rebaseHist(doc.history, change)\n rebased.push(doc.history)\n }\n makeChangeSingleDoc(doc, change, null, stretchSpansOverChange(doc, change))\n })\n}\n\n// Revert a change stored in a document's history.\nfunction makeChangeFromHistory(doc, type, allowSelectionOnly) {\n if (doc.cm && doc.cm.state.suppressEdits && !allowSelectionOnly) { return }\n\n var hist = doc.history, event, selAfter = doc.sel\n var source = type == \"undo\" ? hist.done : hist.undone, dest = type == \"undo\" ? hist.undone : hist.done\n\n // Verify that there is a useable event (so that ctrl-z won't\n // needlessly clear selection events)\n var i = 0\n for (; i < source.length; i++) {\n event = source[i]\n if (allowSelectionOnly ? event.ranges && !event.equals(doc.sel) : !event.ranges)\n { break }\n }\n if (i == source.length) { return }\n hist.lastOrigin = hist.lastSelOrigin = null\n\n for (;;) {\n event = source.pop()\n if (event.ranges) {\n pushSelectionToHistory(event, dest)\n if (allowSelectionOnly && !event.equals(doc.sel)) {\n setSelection(doc, event, {clearRedo: false})\n return\n }\n selAfter = event\n }\n else { break }\n }\n\n // Build up a reverse change object to add to the opposite history\n // stack (redo when undoing, and vice versa).\n var antiChanges = []\n pushSelectionToHistory(selAfter, dest)\n dest.push({changes: antiChanges, generation: hist.generation})\n hist.generation = event.generation || ++hist.maxGeneration\n\n var filter = hasHandler(doc, \"beforeChange\") || doc.cm && hasHandler(doc.cm, \"beforeChange\")\n\n var loop = function ( i ) {\n var change = event.changes[i]\n change.origin = type\n if (filter && !filterChange(doc, change, false)) {\n source.length = 0\n return {}\n }\n\n antiChanges.push(historyChangeFromChange(doc, change))\n\n var after = i ? computeSelAfterChange(doc, change) : lst(source)\n makeChangeSingleDoc(doc, change, after, mergeOldSpans(doc, change))\n if (!i && doc.cm) { doc.cm.scrollIntoView({from: change.from, to: changeEnd(change)}) }\n var rebased = []\n\n // Propagate to the linked documents\n linkedDocs(doc, function (doc, sharedHist) {\n if (!sharedHist && indexOf(rebased, doc.history) == -1) {\n rebaseHist(doc.history, change)\n rebased.push(doc.history)\n }\n makeChangeSingleDoc(doc, change, null, mergeOldSpans(doc, change))\n })\n };\n\n for (var i$1 = event.changes.length - 1; i$1 >= 0; --i$1) {\n var returned = loop( i$1 );\n\n if ( returned ) return returned.v;\n }\n}\n\n// Sub-views need their line numbers shifted when text is added\n// above or below them in the parent document.\nfunction shiftDoc(doc, distance) {\n if (distance == 0) { return }\n doc.first += distance\n doc.sel = new Selection(map(doc.sel.ranges, function (range) { return new Range(\n Pos(range.anchor.line + distance, range.anchor.ch),\n Pos(range.head.line + distance, range.head.ch)\n ); }), doc.sel.primIndex)\n if (doc.cm) {\n regChange(doc.cm, doc.first, doc.first - distance, distance)\n for (var d = doc.cm.display, l = d.viewFrom; l < d.viewTo; l++)\n { regLineChange(doc.cm, l, \"gutter\") }\n }\n}\n\n// More lower-level change function, handling only a single document\n// (not linked ones).\nfunction makeChangeSingleDoc(doc, change, selAfter, spans) {\n if (doc.cm && !doc.cm.curOp)\n { return operation(doc.cm, makeChangeSingleDoc)(doc, change, selAfter, spans) }\n\n if (change.to.line < doc.first) {\n shiftDoc(doc, change.text.length - 1 - (change.to.line - change.from.line))\n return\n }\n if (change.from.line > doc.lastLine()) { return }\n\n // Clip the change to the size of this doc\n if (change.from.line < doc.first) {\n var shift = change.text.length - 1 - (doc.first - change.from.line)\n shiftDoc(doc, shift)\n change = {from: Pos(doc.first, 0), to: Pos(change.to.line + shift, change.to.ch),\n text: [lst(change.text)], origin: change.origin}\n }\n var last = doc.lastLine()\n if (change.to.line > last) {\n change = {from: change.from, to: Pos(last, getLine(doc, last).text.length),\n text: [change.text[0]], origin: change.origin}\n }\n\n change.removed = getBetween(doc, change.from, change.to)\n\n if (!selAfter) { selAfter = computeSelAfterChange(doc, change) }\n if (doc.cm) { makeChangeSingleDocInEditor(doc.cm, change, spans) }\n else { updateDoc(doc, change, spans) }\n setSelectionNoUndo(doc, selAfter, sel_dontScroll)\n}\n\n// Handle the interaction of a change to a document with the editor\n// that this document is part of.\nfunction makeChangeSingleDocInEditor(cm, change, spans) {\n var doc = cm.doc, display = cm.display, from = change.from, to = change.to\n\n var recomputeMaxLength = false, checkWidthStart = from.line\n if (!cm.options.lineWrapping) {\n checkWidthStart = lineNo(visualLine(getLine(doc, from.line)))\n doc.iter(checkWidthStart, to.line + 1, function (line) {\n if (line == display.maxLine) {\n recomputeMaxLength = true\n return true\n }\n })\n }\n\n if (doc.sel.contains(change.from, change.to) > -1)\n { signalCursorActivity(cm) }\n\n updateDoc(doc, change, spans, estimateHeight(cm))\n\n if (!cm.options.lineWrapping) {\n doc.iter(checkWidthStart, from.line + change.text.length, function (line) {\n var len = lineLength(line)\n if (len > display.maxLineLength) {\n display.maxLine = line\n display.maxLineLength = len\n display.maxLineChanged = true\n recomputeMaxLength = false\n }\n })\n if (recomputeMaxLength) { cm.curOp.updateMaxLine = true }\n }\n\n // Adjust frontier, schedule worker\n doc.frontier = Math.min(doc.frontier, from.line)\n startWorker(cm, 400)\n\n var lendiff = change.text.length - (to.line - from.line) - 1\n // Remember that these lines changed, for updating the display\n if (change.full)\n { regChange(cm) }\n else if (from.line == to.line && change.text.length == 1 && !isWholeLineUpdate(cm.doc, change))\n { regLineChange(cm, from.line, \"text\") }\n else\n { regChange(cm, from.line, to.line + 1, lendiff) }\n\n var changesHandler = hasHandler(cm, \"changes\"), changeHandler = hasHandler(cm, \"change\")\n if (changeHandler || changesHandler) {\n var obj = {\n from: from, to: to,\n text: change.text,\n removed: change.removed,\n origin: change.origin\n }\n if (changeHandler) { signalLater(cm, \"change\", cm, obj) }\n if (changesHandler) { (cm.curOp.changeObjs || (cm.curOp.changeObjs = [])).push(obj) }\n }\n cm.display.selForContextMenu = null\n}\n\nfunction replaceRange(doc, code, from, to, origin) {\n if (!to) { to = from }\n if (cmp(to, from) < 0) { var tmp = to; to = from; from = tmp }\n if (typeof code == \"string\") { code = doc.splitLines(code) }\n makeChange(doc, {from: from, to: to, text: code, origin: origin})\n}\n\n// Rebasing/resetting history to deal with externally-sourced changes\n\nfunction rebaseHistSelSingle(pos, from, to, diff) {\n if (to < pos.line) {\n pos.line += diff\n } else if (from < pos.line) {\n pos.line = from\n pos.ch = 0\n }\n}\n\n// Tries to rebase an array of history events given a change in the\n// document. If the change touches the same lines as the event, the\n// event, and everything 'behind' it, is discarded. If the change is\n// before the event, the event's positions are updated. Uses a\n// copy-on-write scheme for the positions, to avoid having to\n// reallocate them all on every rebase, but also avoid problems with\n// shared position objects being unsafely updated.\nfunction rebaseHistArray(array, from, to, diff) {\n for (var i = 0; i < array.length; ++i) {\n var sub = array[i], ok = true\n if (sub.ranges) {\n if (!sub.copied) { sub = array[i] = sub.deepCopy(); sub.copied = true }\n for (var j = 0; j < sub.ranges.length; j++) {\n rebaseHistSelSingle(sub.ranges[j].anchor, from, to, diff)\n rebaseHistSelSingle(sub.ranges[j].head, from, to, diff)\n }\n continue\n }\n for (var j$1 = 0; j$1 < sub.changes.length; ++j$1) {\n var cur = sub.changes[j$1]\n if (to < cur.from.line) {\n cur.from = Pos(cur.from.line + diff, cur.from.ch)\n cur.to = Pos(cur.to.line + diff, cur.to.ch)\n } else if (from <= cur.to.line) {\n ok = false\n break\n }\n }\n if (!ok) {\n array.splice(0, i + 1)\n i = 0\n }\n }\n}\n\nfunction rebaseHist(hist, change) {\n var from = change.from.line, to = change.to.line, diff = change.text.length - (to - from) - 1\n rebaseHistArray(hist.done, from, to, diff)\n rebaseHistArray(hist.undone, from, to, diff)\n}\n\n// Utility for applying a change to a line by handle or number,\n// returning the number and optionally registering the line as\n// changed.\nfunction changeLine(doc, handle, changeType, op) {\n var no = handle, line = handle\n if (typeof handle == \"number\") { line = getLine(doc, clipLine(doc, handle)) }\n else { no = lineNo(handle) }\n if (no == null) { return null }\n if (op(line, no) && doc.cm) { regLineChange(doc.cm, no, changeType) }\n return line\n}\n\n// The document is represented as a BTree consisting of leaves, with\n// chunk of lines in them, and branches, with up to ten leaves or\n// other branch nodes below them. The top node is always a branch\n// node, and is the document object itself (meaning it has\n// additional methods and properties).\n//\n// All nodes have parent links. The tree is used both to go from\n// line numbers to line objects, and to go from objects to numbers.\n// It also indexes by height, and is used to convert between height\n// and line object, and to find the total height of the document.\n//\n// See also http://marijnhaverbeke.nl/blog/codemirror-line-tree.html\n\nfunction LeafChunk(lines) {\n var this$1 = this;\n\n this.lines = lines\n this.parent = null\n var height = 0\n for (var i = 0; i < lines.length; ++i) {\n lines[i].parent = this$1\n height += lines[i].height\n }\n this.height = height\n}\n\nLeafChunk.prototype = {\n chunkSize: function() { return this.lines.length },\n // Remove the n lines at offset 'at'.\n removeInner: function(at, n) {\n var this$1 = this;\n\n for (var i = at, e = at + n; i < e; ++i) {\n var line = this$1.lines[i]\n this$1.height -= line.height\n cleanUpLine(line)\n signalLater(line, \"delete\")\n }\n this.lines.splice(at, n)\n },\n // Helper used to collapse a small branch into a single leaf.\n collapse: function(lines) {\n lines.push.apply(lines, this.lines)\n },\n // Insert the given array of lines at offset 'at', count them as\n // having the given height.\n insertInner: function(at, lines, height) {\n var this$1 = this;\n\n this.height += height\n this.lines = this.lines.slice(0, at).concat(lines).concat(this.lines.slice(at))\n for (var i = 0; i < lines.length; ++i) { lines[i].parent = this$1 }\n },\n // Used to iterate over a part of the tree.\n iterN: function(at, n, op) {\n var this$1 = this;\n\n for (var e = at + n; at < e; ++at)\n { if (op(this$1.lines[at])) { return true } }\n }\n}\n\nfunction BranchChunk(children) {\n var this$1 = this;\n\n this.children = children\n var size = 0, height = 0\n for (var i = 0; i < children.length; ++i) {\n var ch = children[i]\n size += ch.chunkSize(); height += ch.height\n ch.parent = this$1\n }\n this.size = size\n this.height = height\n this.parent = null\n}\n\nBranchChunk.prototype = {\n chunkSize: function() { return this.size },\n removeInner: function(at, n) {\n var this$1 = this;\n\n this.size -= n\n for (var i = 0; i < this.children.length; ++i) {\n var child = this$1.children[i], sz = child.chunkSize()\n if (at < sz) {\n var rm = Math.min(n, sz - at), oldHeight = child.height\n child.removeInner(at, rm)\n this$1.height -= oldHeight - child.height\n if (sz == rm) { this$1.children.splice(i--, 1); child.parent = null }\n if ((n -= rm) == 0) { break }\n at = 0\n } else { at -= sz }\n }\n // If the result is smaller than 25 lines, ensure that it is a\n // single leaf node.\n if (this.size - n < 25 &&\n (this.children.length > 1 || !(this.children[0] instanceof LeafChunk))) {\n var lines = []\n this.collapse(lines)\n this.children = [new LeafChunk(lines)]\n this.children[0].parent = this\n }\n },\n collapse: function(lines) {\n var this$1 = this;\n\n for (var i = 0; i < this.children.length; ++i) { this$1.children[i].collapse(lines) }\n },\n insertInner: function(at, lines, height) {\n var this$1 = this;\n\n this.size += lines.length\n this.height += height\n for (var i = 0; i < this.children.length; ++i) {\n var child = this$1.children[i], sz = child.chunkSize()\n if (at <= sz) {\n child.insertInner(at, lines, height)\n if (child.lines && child.lines.length > 50) {\n // To avoid memory thrashing when child.lines is huge (e.g. first view of a large file), it's never spliced.\n // Instead, small slices are taken. They're taken in order because sequential memory accesses are fastest.\n var remaining = child.lines.length % 25 + 25\n for (var pos = remaining; pos < child.lines.length;) {\n var leaf = new LeafChunk(child.lines.slice(pos, pos += 25))\n child.height -= leaf.height\n this$1.children.splice(++i, 0, leaf)\n leaf.parent = this$1\n }\n child.lines = child.lines.slice(0, remaining)\n this$1.maybeSpill()\n }\n break\n }\n at -= sz\n }\n },\n // When a node has grown, check whether it should be split.\n maybeSpill: function() {\n if (this.children.length <= 10) { return }\n var me = this\n do {\n var spilled = me.children.splice(me.children.length - 5, 5)\n var sibling = new BranchChunk(spilled)\n if (!me.parent) { // Become the parent node\n var copy = new BranchChunk(me.children)\n copy.parent = me\n me.children = [copy, sibling]\n me = copy\n } else {\n me.size -= sibling.size\n me.height -= sibling.height\n var myIndex = indexOf(me.parent.children, me)\n me.parent.children.splice(myIndex + 1, 0, sibling)\n }\n sibling.parent = me.parent\n } while (me.children.length > 10)\n me.parent.maybeSpill()\n },\n iterN: function(at, n, op) {\n var this$1 = this;\n\n for (var i = 0; i < this.children.length; ++i) {\n var child = this$1.children[i], sz = child.chunkSize()\n if (at < sz) {\n var used = Math.min(n, sz - at)\n if (child.iterN(at, used, op)) { return true }\n if ((n -= used) == 0) { break }\n at = 0\n } else { at -= sz }\n }\n }\n}\n\n// Line widgets are block elements displayed above or below a line.\n\nfunction LineWidget(doc, node, options) {\n var this$1 = this;\n\n if (options) { for (var opt in options) { if (options.hasOwnProperty(opt))\n { this$1[opt] = options[opt] } } }\n this.doc = doc\n this.node = node\n}\neventMixin(LineWidget)\n\nfunction adjustScrollWhenAboveVisible(cm, line, diff) {\n if (heightAtLine(line) < ((cm.curOp && cm.curOp.scrollTop) || cm.doc.scrollTop))\n { addToScrollPos(cm, null, diff) }\n}\n\nLineWidget.prototype.clear = function() {\n var this$1 = this;\n\n var cm = this.doc.cm, ws = this.line.widgets, line = this.line, no = lineNo(line)\n if (no == null || !ws) { return }\n for (var i = 0; i < ws.length; ++i) { if (ws[i] == this$1) { ws.splice(i--, 1) } }\n if (!ws.length) { line.widgets = null }\n var height = widgetHeight(this)\n updateLineHeight(line, Math.max(0, line.height - height))\n if (cm) { runInOp(cm, function () {\n adjustScrollWhenAboveVisible(cm, line, -height)\n regLineChange(cm, no, \"widget\")\n }) }\n}\nLineWidget.prototype.changed = function() {\n var oldH = this.height, cm = this.doc.cm, line = this.line\n this.height = null\n var diff = widgetHeight(this) - oldH\n if (!diff) { return }\n updateLineHeight(line, line.height + diff)\n if (cm) { runInOp(cm, function () {\n cm.curOp.forceUpdate = true\n adjustScrollWhenAboveVisible(cm, line, diff)\n }) }\n}\n\nfunction addLineWidget(doc, handle, node, options) {\n var widget = new LineWidget(doc, node, options)\n var cm = doc.cm\n if (cm && widget.noHScroll) { cm.display.alignWidgets = true }\n changeLine(doc, handle, \"widget\", function (line) {\n var widgets = line.widgets || (line.widgets = [])\n if (widget.insertAt == null) { widgets.push(widget) }\n else { widgets.splice(Math.min(widgets.length - 1, Math.max(0, widget.insertAt)), 0, widget) }\n widget.line = line\n if (cm && !lineIsHidden(doc, line)) {\n var aboveVisible = heightAtLine(line) < doc.scrollTop\n updateLineHeight(line, line.height + widgetHeight(widget))\n if (aboveVisible) { addToScrollPos(cm, null, widget.height) }\n cm.curOp.forceUpdate = true\n }\n return true\n })\n return widget\n}\n\n// TEXTMARKERS\n\n// Created with markText and setBookmark methods. A TextMarker is a\n// handle that can be used to clear or find a marked position in the\n// document. Line objects hold arrays (markedSpans) containing\n// {from, to, marker} object pointing to such marker objects, and\n// indicating that such a marker is present on that line. Multiple\n// lines may point to the same marker when it spans across lines.\n// The spans will have null for their from/to properties when the\n// marker continues beyond the start/end of the line. Markers have\n// links back to the lines they currently touch.\n\n// Collapsed markers have unique ids, in order to be able to order\n// them, which is needed for uniquely determining an outer marker\n// when they overlap (they may nest, but not partially overlap).\nvar nextMarkerId = 0\n\nfunction TextMarker(doc, type) {\n this.lines = []\n this.type = type\n this.doc = doc\n this.id = ++nextMarkerId\n}\neventMixin(TextMarker)\n\n// Clear the marker.\nTextMarker.prototype.clear = function() {\n var this$1 = this;\n\n if (this.explicitlyCleared) { return }\n var cm = this.doc.cm, withOp = cm && !cm.curOp\n if (withOp) { startOperation(cm) }\n if (hasHandler(this, \"clear\")) {\n var found = this.find()\n if (found) { signalLater(this, \"clear\", found.from, found.to) }\n }\n var min = null, max = null\n for (var i = 0; i < this.lines.length; ++i) {\n var line = this$1.lines[i]\n var span = getMarkedSpanFor(line.markedSpans, this$1)\n if (cm && !this$1.collapsed) { regLineChange(cm, lineNo(line), \"text\") }\n else if (cm) {\n if (span.to != null) { max = lineNo(line) }\n if (span.from != null) { min = lineNo(line) }\n }\n line.markedSpans = removeMarkedSpan(line.markedSpans, span)\n if (span.from == null && this$1.collapsed && !lineIsHidden(this$1.doc, line) && cm)\n { updateLineHeight(line, textHeight(cm.display)) }\n }\n if (cm && this.collapsed && !cm.options.lineWrapping) { for (var i$1 = 0; i$1 < this.lines.length; ++i$1) {\n var visual = visualLine(this$1.lines[i$1]), len = lineLength(visual)\n if (len > cm.display.maxLineLength) {\n cm.display.maxLine = visual\n cm.display.maxLineLength = len\n cm.display.maxLineChanged = true\n }\n } }\n\n if (min != null && cm && this.collapsed) { regChange(cm, min, max + 1) }\n this.lines.length = 0\n this.explicitlyCleared = true\n if (this.atomic && this.doc.cantEdit) {\n this.doc.cantEdit = false\n if (cm) { reCheckSelection(cm.doc) }\n }\n if (cm) { signalLater(cm, \"markerCleared\", cm, this) }\n if (withOp) { endOperation(cm) }\n if (this.parent) { this.parent.clear() }\n}\n\n// Find the position of the marker in the document. Returns a {from,\n// to} object by default. Side can be passed to get a specific side\n// -- 0 (both), -1 (left), or 1 (right). When lineObj is true, the\n// Pos objects returned contain a line object, rather than a line\n// number (used to prevent looking up the same line twice).\nTextMarker.prototype.find = function(side, lineObj) {\n var this$1 = this;\n\n if (side == null && this.type == \"bookmark\") { side = 1 }\n var from, to\n for (var i = 0; i < this.lines.length; ++i) {\n var line = this$1.lines[i]\n var span = getMarkedSpanFor(line.markedSpans, this$1)\n if (span.from != null) {\n from = Pos(lineObj ? line : lineNo(line), span.from)\n if (side == -1) { return from }\n }\n if (span.to != null) {\n to = Pos(lineObj ? line : lineNo(line), span.to)\n if (side == 1) { return to }\n }\n }\n return from && {from: from, to: to}\n}\n\n// Signals that the marker's widget changed, and surrounding layout\n// should be recomputed.\nTextMarker.prototype.changed = function() {\n var pos = this.find(-1, true), widget = this, cm = this.doc.cm\n if (!pos || !cm) { return }\n runInOp(cm, function () {\n var line = pos.line, lineN = lineNo(pos.line)\n var view = findViewForLine(cm, lineN)\n if (view) {\n clearLineMeasurementCacheFor(view)\n cm.curOp.selectionChanged = cm.curOp.forceUpdate = true\n }\n cm.curOp.updateMaxLine = true\n if (!lineIsHidden(widget.doc, line) && widget.height != null) {\n var oldHeight = widget.height\n widget.height = null\n var dHeight = widgetHeight(widget) - oldHeight\n if (dHeight)\n { updateLineHeight(line, line.height + dHeight) }\n }\n })\n}\n\nTextMarker.prototype.attachLine = function(line) {\n if (!this.lines.length && this.doc.cm) {\n var op = this.doc.cm.curOp\n if (!op.maybeHiddenMarkers || indexOf(op.maybeHiddenMarkers, this) == -1)\n { (op.maybeUnhiddenMarkers || (op.maybeUnhiddenMarkers = [])).push(this) }\n }\n this.lines.push(line)\n}\nTextMarker.prototype.detachLine = function(line) {\n this.lines.splice(indexOf(this.lines, line), 1)\n if (!this.lines.length && this.doc.cm) {\n var op = this.doc.cm.curOp\n ;(op.maybeHiddenMarkers || (op.maybeHiddenMarkers = [])).push(this)\n }\n}\n\n// Create a marker, wire it up to the right lines, and\nfunction markText(doc, from, to, options, type) {\n // Shared markers (across linked documents) are handled separately\n // (markTextShared will call out to this again, once per\n // document).\n if (options && options.shared) { return markTextShared(doc, from, to, options, type) }\n // Ensure we are in an operation.\n if (doc.cm && !doc.cm.curOp) { return operation(doc.cm, markText)(doc, from, to, options, type) }\n\n var marker = new TextMarker(doc, type), diff = cmp(from, to)\n if (options) { copyObj(options, marker, false) }\n // Don't connect empty markers unless clearWhenEmpty is false\n if (diff > 0 || diff == 0 && marker.clearWhenEmpty !== false)\n { return marker }\n if (marker.replacedWith) {\n // Showing up as a widget implies collapsed (widget replaces text)\n marker.collapsed = true\n marker.widgetNode = elt(\"span\", [marker.replacedWith], \"CodeMirror-widget\")\n if (!options.handleMouseEvents) { marker.widgetNode.setAttribute(\"cm-ignore-events\", \"true\") }\n if (options.insertLeft) { marker.widgetNode.insertLeft = true }\n }\n if (marker.collapsed) {\n if (conflictingCollapsedRange(doc, from.line, from, to, marker) ||\n from.line != to.line && conflictingCollapsedRange(doc, to.line, from, to, marker))\n { throw new Error(\"Inserting collapsed marker partially overlapping an existing one\") }\n seeCollapsedSpans()\n }\n\n if (marker.addToHistory)\n { addChangeToHistory(doc, {from: from, to: to, origin: \"markText\"}, doc.sel, NaN) }\n\n var curLine = from.line, cm = doc.cm, updateMaxLine\n doc.iter(curLine, to.line + 1, function (line) {\n if (cm && marker.collapsed && !cm.options.lineWrapping && visualLine(line) == cm.display.maxLine)\n { updateMaxLine = true }\n if (marker.collapsed && curLine != from.line) { updateLineHeight(line, 0) }\n addMarkedSpan(line, new MarkedSpan(marker,\n curLine == from.line ? from.ch : null,\n curLine == to.line ? to.ch : null))\n ++curLine\n })\n // lineIsHidden depends on the presence of the spans, so needs a second pass\n if (marker.collapsed) { doc.iter(from.line, to.line + 1, function (line) {\n if (lineIsHidden(doc, line)) { updateLineHeight(line, 0) }\n }) }\n\n if (marker.clearOnEnter) { on(marker, \"beforeCursorEnter\", function () { return marker.clear(); }) }\n\n if (marker.readOnly) {\n seeReadOnlySpans()\n if (doc.history.done.length || doc.history.undone.length)\n { doc.clearHistory() }\n }\n if (marker.collapsed) {\n marker.id = ++nextMarkerId\n marker.atomic = true\n }\n if (cm) {\n // Sync editor state\n if (updateMaxLine) { cm.curOp.updateMaxLine = true }\n if (marker.collapsed)\n { regChange(cm, from.line, to.line + 1) }\n else if (marker.className || marker.title || marker.startStyle || marker.endStyle || marker.css)\n { for (var i = from.line; i <= to.line; i++) { regLineChange(cm, i, \"text\") } }\n if (marker.atomic) { reCheckSelection(cm.doc) }\n signalLater(cm, \"markerAdded\", cm, marker)\n }\n return marker\n}\n\n// SHARED TEXTMARKERS\n\n// A shared marker spans multiple linked documents. It is\n// implemented as a meta-marker-object controlling multiple normal\n// markers.\nfunction SharedTextMarker(markers, primary) {\n var this$1 = this;\n\n this.markers = markers\n this.primary = primary\n for (var i = 0; i < markers.length; ++i)\n { markers[i].parent = this$1 }\n}\neventMixin(SharedTextMarker)\n\nSharedTextMarker.prototype.clear = function() {\n var this$1 = this;\n\n if (this.explicitlyCleared) { return }\n this.explicitlyCleared = true\n for (var i = 0; i < this.markers.length; ++i)\n { this$1.markers[i].clear() }\n signalLater(this, \"clear\")\n}\nSharedTextMarker.prototype.find = function(side, lineObj) {\n return this.primary.find(side, lineObj)\n}\n\nfunction markTextShared(doc, from, to, options, type) {\n options = copyObj(options)\n options.shared = false\n var markers = [markText(doc, from, to, options, type)], primary = markers[0]\n var widget = options.widgetNode\n linkedDocs(doc, function (doc) {\n if (widget) { options.widgetNode = widget.cloneNode(true) }\n markers.push(markText(doc, clipPos(doc, from), clipPos(doc, to), options, type))\n for (var i = 0; i < doc.linked.length; ++i)\n { if (doc.linked[i].isParent) { return } }\n primary = lst(markers)\n })\n return new SharedTextMarker(markers, primary)\n}\n\nfunction findSharedMarkers(doc) {\n return doc.findMarks(Pos(doc.first, 0), doc.clipPos(Pos(doc.lastLine())), function (m) { return m.parent; })\n}\n\nfunction copySharedMarkers(doc, markers) {\n for (var i = 0; i < markers.length; i++) {\n var marker = markers[i], pos = marker.find()\n var mFrom = doc.clipPos(pos.from), mTo = doc.clipPos(pos.to)\n if (cmp(mFrom, mTo)) {\n var subMark = markText(doc, mFrom, mTo, marker.primary, marker.primary.type)\n marker.markers.push(subMark)\n subMark.parent = marker\n }\n }\n}\n\nfunction detachSharedMarkers(markers) {\n var loop = function ( i ) {\n var marker = markers[i], linked = [marker.primary.doc]\n linkedDocs(marker.primary.doc, function (d) { return linked.push(d); })\n for (var j = 0; j < marker.markers.length; j++) {\n var subMarker = marker.markers[j]\n if (indexOf(linked, subMarker.doc) == -1) {\n subMarker.parent = null\n marker.markers.splice(j--, 1)\n }\n }\n };\n\n for (var i = 0; i < markers.length; i++) loop( i );\n}\n\nvar nextDocId = 0\nvar Doc = function(text, mode, firstLine, lineSep) {\n if (!(this instanceof Doc)) { return new Doc(text, mode, firstLine, lineSep) }\n if (firstLine == null) { firstLine = 0 }\n\n BranchChunk.call(this, [new LeafChunk([new Line(\"\", null)])])\n this.first = firstLine\n this.scrollTop = this.scrollLeft = 0\n this.cantEdit = false\n this.cleanGeneration = 1\n this.frontier = firstLine\n var start = Pos(firstLine, 0)\n this.sel = simpleSelection(start)\n this.history = new History(null)\n this.id = ++nextDocId\n this.modeOption = mode\n this.lineSep = lineSep\n this.extend = false\n\n if (typeof text == \"string\") { text = this.splitLines(text) }\n updateDoc(this, {from: start, to: start, text: text})\n setSelection(this, simpleSelection(start), sel_dontScroll)\n}\n\nDoc.prototype = createObj(BranchChunk.prototype, {\n constructor: Doc,\n // Iterate over the document. Supports two forms -- with only one\n // argument, it calls that for each line in the document. With\n // three, it iterates over the range given by the first two (with\n // the second being non-inclusive).\n iter: function(from, to, op) {\n if (op) { this.iterN(from - this.first, to - from, op) }\n else { this.iterN(this.first, this.first + this.size, from) }\n },\n\n // Non-public interface for adding and removing lines.\n insert: function(at, lines) {\n var height = 0\n for (var i = 0; i < lines.length; ++i) { height += lines[i].height }\n this.insertInner(at - this.first, lines, height)\n },\n remove: function(at, n) { this.removeInner(at - this.first, n) },\n\n // From here, the methods are part of the public interface. Most\n // are also available from CodeMirror (editor) instances.\n\n getValue: function(lineSep) {\n var lines = getLines(this, this.first, this.first + this.size)\n if (lineSep === false) { return lines }\n return lines.join(lineSep || this.lineSeparator())\n },\n setValue: docMethodOp(function(code) {\n var top = Pos(this.first, 0), last = this.first + this.size - 1\n makeChange(this, {from: top, to: Pos(last, getLine(this, last).text.length),\n text: this.splitLines(code), origin: \"setValue\", full: true}, true)\n setSelection(this, simpleSelection(top))\n }),\n replaceRange: function(code, from, to, origin) {\n from = clipPos(this, from)\n to = to ? clipPos(this, to) : from\n replaceRange(this, code, from, to, origin)\n },\n getRange: function(from, to, lineSep) {\n var lines = getBetween(this, clipPos(this, from), clipPos(this, to))\n if (lineSep === false) { return lines }\n return lines.join(lineSep || this.lineSeparator())\n },\n\n getLine: function(line) {var l = this.getLineHandle(line); return l && l.text},\n\n getLineHandle: function(line) {if (isLine(this, line)) { return getLine(this, line) }},\n getLineNumber: function(line) {return lineNo(line)},\n\n getLineHandleVisualStart: function(line) {\n if (typeof line == \"number\") { line = getLine(this, line) }\n return visualLine(line)\n },\n\n lineCount: function() {return this.size},\n firstLine: function() {return this.first},\n lastLine: function() {return this.first + this.size - 1},\n\n clipPos: function(pos) {return clipPos(this, pos)},\n\n getCursor: function(start) {\n var range = this.sel.primary(), pos\n if (start == null || start == \"head\") { pos = range.head }\n else if (start == \"anchor\") { pos = range.anchor }\n else if (start == \"end\" || start == \"to\" || start === false) { pos = range.to() }\n else { pos = range.from() }\n return pos\n },\n listSelections: function() { return this.sel.ranges },\n somethingSelected: function() {return this.sel.somethingSelected()},\n\n setCursor: docMethodOp(function(line, ch, options) {\n setSimpleSelection(this, clipPos(this, typeof line == \"number\" ? Pos(line, ch || 0) : line), null, options)\n }),\n setSelection: docMethodOp(function(anchor, head, options) {\n setSimpleSelection(this, clipPos(this, anchor), clipPos(this, head || anchor), options)\n }),\n extendSelection: docMethodOp(function(head, other, options) {\n extendSelection(this, clipPos(this, head), other && clipPos(this, other), options)\n }),\n extendSelections: docMethodOp(function(heads, options) {\n extendSelections(this, clipPosArray(this, heads), options)\n }),\n extendSelectionsBy: docMethodOp(function(f, options) {\n var heads = map(this.sel.ranges, f)\n extendSelections(this, clipPosArray(this, heads), options)\n }),\n setSelections: docMethodOp(function(ranges, primary, options) {\n var this$1 = this;\n\n if (!ranges.length) { return }\n var out = []\n for (var i = 0; i < ranges.length; i++)\n { out[i] = new Range(clipPos(this$1, ranges[i].anchor),\n clipPos(this$1, ranges[i].head)) }\n if (primary == null) { primary = Math.min(ranges.length - 1, this.sel.primIndex) }\n setSelection(this, normalizeSelection(out, primary), options)\n }),\n addSelection: docMethodOp(function(anchor, head, options) {\n var ranges = this.sel.ranges.slice(0)\n ranges.push(new Range(clipPos(this, anchor), clipPos(this, head || anchor)))\n setSelection(this, normalizeSelection(ranges, ranges.length - 1), options)\n }),\n\n getSelection: function(lineSep) {\n var this$1 = this;\n\n var ranges = this.sel.ranges, lines\n for (var i = 0; i < ranges.length; i++) {\n var sel = getBetween(this$1, ranges[i].from(), ranges[i].to())\n lines = lines ? lines.concat(sel) : sel\n }\n if (lineSep === false) { return lines }\n else { return lines.join(lineSep || this.lineSeparator()) }\n },\n getSelections: function(lineSep) {\n var this$1 = this;\n\n var parts = [], ranges = this.sel.ranges\n for (var i = 0; i < ranges.length; i++) {\n var sel = getBetween(this$1, ranges[i].from(), ranges[i].to())\n if (lineSep !== false) { sel = sel.join(lineSep || this$1.lineSeparator()) }\n parts[i] = sel\n }\n return parts\n },\n replaceSelection: function(code, collapse, origin) {\n var dup = []\n for (var i = 0; i < this.sel.ranges.length; i++)\n { dup[i] = code }\n this.replaceSelections(dup, collapse, origin || \"+input\")\n },\n replaceSelections: docMethodOp(function(code, collapse, origin) {\n var this$1 = this;\n\n var changes = [], sel = this.sel\n for (var i = 0; i < sel.ranges.length; i++) {\n var range = sel.ranges[i]\n changes[i] = {from: range.from(), to: range.to(), text: this$1.splitLines(code[i]), origin: origin}\n }\n var newSel = collapse && collapse != \"end\" && computeReplacedSel(this, changes, collapse)\n for (var i$1 = changes.length - 1; i$1 >= 0; i$1--)\n { makeChange(this$1, changes[i$1]) }\n if (newSel) { setSelectionReplaceHistory(this, newSel) }\n else if (this.cm) { ensureCursorVisible(this.cm) }\n }),\n undo: docMethodOp(function() {makeChangeFromHistory(this, \"undo\")}),\n redo: docMethodOp(function() {makeChangeFromHistory(this, \"redo\")}),\n undoSelection: docMethodOp(function() {makeChangeFromHistory(this, \"undo\", true)}),\n redoSelection: docMethodOp(function() {makeChangeFromHistory(this, \"redo\", true)}),\n\n setExtending: function(val) {this.extend = val},\n getExtending: function() {return this.extend},\n\n historySize: function() {\n var hist = this.history, done = 0, undone = 0\n for (var i = 0; i < hist.done.length; i++) { if (!hist.done[i].ranges) { ++done } }\n for (var i$1 = 0; i$1 < hist.undone.length; i$1++) { if (!hist.undone[i$1].ranges) { ++undone } }\n return {undo: done, redo: undone}\n },\n clearHistory: function() {this.history = new History(this.history.maxGeneration)},\n\n markClean: function() {\n this.cleanGeneration = this.changeGeneration(true)\n },\n changeGeneration: function(forceSplit) {\n if (forceSplit)\n { this.history.lastOp = this.history.lastSelOp = this.history.lastOrigin = null }\n return this.history.generation\n },\n isClean: function (gen) {\n return this.history.generation == (gen || this.cleanGeneration)\n },\n\n getHistory: function() {\n return {done: copyHistoryArray(this.history.done),\n undone: copyHistoryArray(this.history.undone)}\n },\n setHistory: function(histData) {\n var hist = this.history = new History(this.history.maxGeneration)\n hist.done = copyHistoryArray(histData.done.slice(0), null, true)\n hist.undone = copyHistoryArray(histData.undone.slice(0), null, true)\n },\n\n setGutterMarker: docMethodOp(function(line, gutterID, value) {\n return changeLine(this, line, \"gutter\", function (line) {\n var markers = line.gutterMarkers || (line.gutterMarkers = {})\n markers[gutterID] = value\n if (!value && isEmpty(markers)) { line.gutterMarkers = null }\n return true\n })\n }),\n\n clearGutter: docMethodOp(function(gutterID) {\n var this$1 = this;\n\n var i = this.first\n this.iter(function (line) {\n if (line.gutterMarkers && line.gutterMarkers[gutterID]) {\n changeLine(this$1, line, \"gutter\", function () {\n line.gutterMarkers[gutterID] = null\n if (isEmpty(line.gutterMarkers)) { line.gutterMarkers = null }\n return true\n })\n }\n ++i\n })\n }),\n\n lineInfo: function(line) {\n var n\n if (typeof line == \"number\") {\n if (!isLine(this, line)) { return null }\n n = line\n line = getLine(this, line)\n if (!line) { return null }\n } else {\n n = lineNo(line)\n if (n == null) { return null }\n }\n return {line: n, handle: line, text: line.text, gutterMarkers: line.gutterMarkers,\n textClass: line.textClass, bgClass: line.bgClass, wrapClass: line.wrapClass,\n widgets: line.widgets}\n },\n\n addLineClass: docMethodOp(function(handle, where, cls) {\n return changeLine(this, handle, where == \"gutter\" ? \"gutter\" : \"class\", function (line) {\n var prop = where == \"text\" ? \"textClass\"\n : where == \"background\" ? \"bgClass\"\n : where == \"gutter\" ? \"gutterClass\" : \"wrapClass\"\n if (!line[prop]) { line[prop] = cls }\n else if (classTest(cls).test(line[prop])) { return false }\n else { line[prop] += \" \" + cls }\n return true\n })\n }),\n removeLineClass: docMethodOp(function(handle, where, cls) {\n return changeLine(this, handle, where == \"gutter\" ? \"gutter\" : \"class\", function (line) {\n var prop = where == \"text\" ? \"textClass\"\n : where == \"background\" ? \"bgClass\"\n : where == \"gutter\" ? \"gutterClass\" : \"wrapClass\"\n var cur = line[prop]\n if (!cur) { return false }\n else if (cls == null) { line[prop] = null }\n else {\n var found = cur.match(classTest(cls))\n if (!found) { return false }\n var end = found.index + found[0].length\n line[prop] = cur.slice(0, found.index) + (!found.index || end == cur.length ? \"\" : \" \") + cur.slice(end) || null\n }\n return true\n })\n }),\n\n addLineWidget: docMethodOp(function(handle, node, options) {\n return addLineWidget(this, handle, node, options)\n }),\n removeLineWidget: function(widget) { widget.clear() },\n\n markText: function(from, to, options) {\n return markText(this, clipPos(this, from), clipPos(this, to), options, options && options.type || \"range\")\n },\n setBookmark: function(pos, options) {\n var realOpts = {replacedWith: options && (options.nodeType == null ? options.widget : options),\n insertLeft: options && options.insertLeft,\n clearWhenEmpty: false, shared: options && options.shared,\n handleMouseEvents: options && options.handleMouseEvents}\n pos = clipPos(this, pos)\n return markText(this, pos, pos, realOpts, \"bookmark\")\n },\n findMarksAt: function(pos) {\n pos = clipPos(this, pos)\n var markers = [], spans = getLine(this, pos.line).markedSpans\n if (spans) { for (var i = 0; i < spans.length; ++i) {\n var span = spans[i]\n if ((span.from == null || span.from <= pos.ch) &&\n (span.to == null || span.to >= pos.ch))\n { markers.push(span.marker.parent || span.marker) }\n } }\n return markers\n },\n findMarks: function(from, to, filter) {\n from = clipPos(this, from); to = clipPos(this, to)\n var found = [], lineNo = from.line\n this.iter(from.line, to.line + 1, function (line) {\n var spans = line.markedSpans\n if (spans) { for (var i = 0; i < spans.length; i++) {\n var span = spans[i]\n if (!(span.to != null && lineNo == from.line && from.ch >= span.to ||\n span.from == null && lineNo != from.line ||\n span.from != null && lineNo == to.line && span.from >= to.ch) &&\n (!filter || filter(span.marker)))\n { found.push(span.marker.parent || span.marker) }\n } }\n ++lineNo\n })\n return found\n },\n getAllMarks: function() {\n var markers = []\n this.iter(function (line) {\n var sps = line.markedSpans\n if (sps) { for (var i = 0; i < sps.length; ++i)\n { if (sps[i].from != null) { markers.push(sps[i].marker) } } }\n })\n return markers\n },\n\n posFromIndex: function(off) {\n var ch, lineNo = this.first, sepSize = this.lineSeparator().length\n this.iter(function (line) {\n var sz = line.text.length + sepSize\n if (sz > off) { ch = off; return true }\n off -= sz\n ++lineNo\n })\n return clipPos(this, Pos(lineNo, ch))\n },\n indexFromPos: function (coords) {\n coords = clipPos(this, coords)\n var index = coords.ch\n if (coords.line < this.first || coords.ch < 0) { return 0 }\n var sepSize = this.lineSeparator().length\n this.iter(this.first, coords.line, function (line) { // iter aborts when callback returns a truthy value\n index += line.text.length + sepSize\n })\n return index\n },\n\n copy: function(copyHistory) {\n var doc = new Doc(getLines(this, this.first, this.first + this.size),\n this.modeOption, this.first, this.lineSep)\n doc.scrollTop = this.scrollTop; doc.scrollLeft = this.scrollLeft\n doc.sel = this.sel\n doc.extend = false\n if (copyHistory) {\n doc.history.undoDepth = this.history.undoDepth\n doc.setHistory(this.getHistory())\n }\n return doc\n },\n\n linkedDoc: function(options) {\n if (!options) { options = {} }\n var from = this.first, to = this.first + this.size\n if (options.from != null && options.from > from) { from = options.from }\n if (options.to != null && options.to < to) { to = options.to }\n var copy = new Doc(getLines(this, from, to), options.mode || this.modeOption, from, this.lineSep)\n if (options.sharedHist) { copy.history = this.history\n ; }(this.linked || (this.linked = [])).push({doc: copy, sharedHist: options.sharedHist})\n copy.linked = [{doc: this, isParent: true, sharedHist: options.sharedHist}]\n copySharedMarkers(copy, findSharedMarkers(this))\n return copy\n },\n unlinkDoc: function(other) {\n var this$1 = this;\n\n if (other instanceof CodeMirror) { other = other.doc }\n if (this.linked) { for (var i = 0; i < this.linked.length; ++i) {\n var link = this$1.linked[i]\n if (link.doc != other) { continue }\n this$1.linked.splice(i, 1)\n other.unlinkDoc(this$1)\n detachSharedMarkers(findSharedMarkers(this$1))\n break\n } }\n // If the histories were shared, split them again\n if (other.history == this.history) {\n var splitIds = [other.id]\n linkedDocs(other, function (doc) { return splitIds.push(doc.id); }, true)\n other.history = new History(null)\n other.history.done = copyHistoryArray(this.history.done, splitIds)\n other.history.undone = copyHistoryArray(this.history.undone, splitIds)\n }\n },\n iterLinkedDocs: function(f) {linkedDocs(this, f)},\n\n getMode: function() {return this.mode},\n getEditor: function() {return this.cm},\n\n splitLines: function(str) {\n if (this.lineSep) { return str.split(this.lineSep) }\n return splitLinesAuto(str)\n },\n lineSeparator: function() { return this.lineSep || \"\\n\" }\n})\n\n// Public alias.\nDoc.prototype.eachLine = Doc.prototype.iter\n\n// Kludge to work around strange IE behavior where it'll sometimes\n// re-fire a series of drag-related events right after the drop (#1551)\nvar lastDrop = 0\n\nfunction onDrop(e) {\n var cm = this\n clearDragCursor(cm)\n if (signalDOMEvent(cm, e) || eventInWidget(cm.display, e))\n { return }\n e_preventDefault(e)\n if (ie) { lastDrop = +new Date }\n var pos = posFromMouse(cm, e, true), files = e.dataTransfer.files\n if (!pos || cm.isReadOnly()) { return }\n // Might be a file drop, in which case we simply extract the text\n // and insert it.\n if (files && files.length && window.FileReader && window.File) {\n var n = files.length, text = Array(n), read = 0\n var loadFile = function (file, i) {\n if (cm.options.allowDropFileTypes &&\n indexOf(cm.options.allowDropFileTypes, file.type) == -1)\n { return }\n\n var reader = new FileReader\n reader.onload = operation(cm, function () {\n var content = reader.result\n if (/[\\x00-\\x08\\x0e-\\x1f]{2}/.test(content)) { content = \"\" }\n text[i] = content\n if (++read == n) {\n pos = clipPos(cm.doc, pos)\n var change = {from: pos, to: pos,\n text: cm.doc.splitLines(text.join(cm.doc.lineSeparator())),\n origin: \"paste\"}\n makeChange(cm.doc, change)\n setSelectionReplaceHistory(cm.doc, simpleSelection(pos, changeEnd(change)))\n }\n })\n reader.readAsText(file)\n }\n for (var i = 0; i < n; ++i) { loadFile(files[i], i) }\n } else { // Normal drop\n // Don't do a replace if the drop happened inside of the selected text.\n if (cm.state.draggingText && cm.doc.sel.contains(pos) > -1) {\n cm.state.draggingText(e)\n // Ensure the editor is re-focused\n setTimeout(function () { return cm.display.input.focus(); }, 20)\n return\n }\n try {\n var text$1 = e.dataTransfer.getData(\"Text\")\n if (text$1) {\n var selected\n if (cm.state.draggingText && !cm.state.draggingText.copy)\n { selected = cm.listSelections() }\n setSelectionNoUndo(cm.doc, simpleSelection(pos, pos))\n if (selected) { for (var i$1 = 0; i$1 < selected.length; ++i$1)\n { replaceRange(cm.doc, \"\", selected[i$1].anchor, selected[i$1].head, \"drag\") } }\n cm.replaceSelection(text$1, \"around\", \"paste\")\n cm.display.input.focus()\n }\n }\n catch(e){}\n }\n}\n\nfunction onDragStart(cm, e) {\n if (ie && (!cm.state.draggingText || +new Date - lastDrop < 100)) { e_stop(e); return }\n if (signalDOMEvent(cm, e) || eventInWidget(cm.display, e)) { return }\n\n e.dataTransfer.setData(\"Text\", cm.getSelection())\n e.dataTransfer.effectAllowed = \"copyMove\"\n\n // Use dummy image instead of default browsers image.\n // Recent Safari (~6.0.2) have a tendency to segfault when this happens, so we don't do it there.\n if (e.dataTransfer.setDragImage && !safari) {\n var img = elt(\"img\", null, null, \"position: fixed; left: 0; top: 0;\")\n img.src = \"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\"\n if (presto) {\n img.width = img.height = 1\n cm.display.wrapper.appendChild(img)\n // Force a relayout, or Opera won't use our image for some obscure reason\n img._top = img.offsetTop\n }\n e.dataTransfer.setDragImage(img, 0, 0)\n if (presto) { img.parentNode.removeChild(img) }\n }\n}\n\nfunction onDragOver(cm, e) {\n var pos = posFromMouse(cm, e)\n if (!pos) { return }\n var frag = document.createDocumentFragment()\n drawSelectionCursor(cm, pos, frag)\n if (!cm.display.dragCursor) {\n cm.display.dragCursor = elt(\"div\", null, \"CodeMirror-cursors CodeMirror-dragcursors\")\n cm.display.lineSpace.insertBefore(cm.display.dragCursor, cm.display.cursorDiv)\n }\n removeChildrenAndAdd(cm.display.dragCursor, frag)\n}\n\nfunction clearDragCursor(cm) {\n if (cm.display.dragCursor) {\n cm.display.lineSpace.removeChild(cm.display.dragCursor)\n cm.display.dragCursor = null\n }\n}\n\n// These must be handled carefully, because naively registering a\n// handler for each editor will cause the editors to never be\n// garbage collected.\n\nfunction forEachCodeMirror(f) {\n if (!document.body.getElementsByClassName) { return }\n var byClass = document.body.getElementsByClassName(\"CodeMirror\")\n for (var i = 0; i < byClass.length; i++) {\n var cm = byClass[i].CodeMirror\n if (cm) { f(cm) }\n }\n}\n\nvar globalsRegistered = false\nfunction ensureGlobalHandlers() {\n if (globalsRegistered) { return }\n registerGlobalHandlers()\n globalsRegistered = true\n}\nfunction registerGlobalHandlers() {\n // When the window resizes, we need to refresh active editors.\n var resizeTimer\n on(window, \"resize\", function () {\n if (resizeTimer == null) { resizeTimer = setTimeout(function () {\n resizeTimer = null\n forEachCodeMirror(onResize)\n }, 100) }\n })\n // When the window loses focus, we want to show the editor as blurred\n on(window, \"blur\", function () { return forEachCodeMirror(onBlur); })\n}\n// Called when the window resizes\nfunction onResize(cm) {\n var d = cm.display\n if (d.lastWrapHeight == d.wrapper.clientHeight && d.lastWrapWidth == d.wrapper.clientWidth)\n { return }\n // Might be a text scaling operation, clear size caches.\n d.cachedCharWidth = d.cachedTextHeight = d.cachedPaddingH = null\n d.scrollbarsClipped = false\n cm.setSize()\n}\n\nvar keyNames = {\n 3: \"Enter\", 8: \"Backspace\", 9: \"Tab\", 13: \"Enter\", 16: \"Shift\", 17: \"Ctrl\", 18: \"Alt\",\n 19: \"Pause\", 20: \"CapsLock\", 27: \"Esc\", 32: \"Space\", 33: \"PageUp\", 34: \"PageDown\", 35: \"End\",\n 36: \"Home\", 37: \"Left\", 38: \"Up\", 39: \"Right\", 40: \"Down\", 44: \"PrintScrn\", 45: \"Insert\",\n 46: \"Delete\", 59: \";\", 61: \"=\", 91: \"Mod\", 92: \"Mod\", 93: \"Mod\",\n 106: \"*\", 107: \"=\", 109: \"-\", 110: \".\", 111: \"/\", 127: \"Delete\",\n 173: \"-\", 186: \";\", 187: \"=\", 188: \",\", 189: \"-\", 190: \".\", 191: \"/\", 192: \"`\", 219: \"[\", 220: \"\\\\\",\n 221: \"]\", 222: \"'\", 63232: \"Up\", 63233: \"Down\", 63234: \"Left\", 63235: \"Right\", 63272: \"Delete\",\n 63273: \"Home\", 63275: \"End\", 63276: \"PageUp\", 63277: \"PageDown\", 63302: \"Insert\"\n}\n\n// Number keys\nfor (var i = 0; i < 10; i++) { keyNames[i + 48] = keyNames[i + 96] = String(i) }\n// Alphabetic keys\nfor (var i$1 = 65; i$1 <= 90; i$1++) { keyNames[i$1] = String.fromCharCode(i$1) }\n// Function keys\nfor (var i$2 = 1; i$2 <= 12; i$2++) { keyNames[i$2 + 111] = keyNames[i$2 + 63235] = \"F\" + i$2 }\n\nvar keyMap = {}\n\nkeyMap.basic = {\n \"Left\": \"goCharLeft\", \"Right\": \"goCharRight\", \"Up\": \"goLineUp\", \"Down\": \"goLineDown\",\n \"End\": \"goLineEnd\", \"Home\": \"goLineStartSmart\", \"PageUp\": \"goPageUp\", \"PageDown\": \"goPageDown\",\n \"Delete\": \"delCharAfter\", \"Backspace\": \"delCharBefore\", \"Shift-Backspace\": \"delCharBefore\",\n \"Tab\": \"defaultTab\", \"Shift-Tab\": \"indentAuto\",\n \"Enter\": \"newlineAndIndent\", \"Insert\": \"toggleOverwrite\",\n \"Esc\": \"singleSelection\"\n}\n// Note that the save and find-related commands aren't defined by\n// default. User code or addons can define them. Unknown commands\n// are simply ignored.\nkeyMap.pcDefault = {\n \"Ctrl-A\": \"selectAll\", \"Ctrl-D\": \"deleteLine\", \"Ctrl-Z\": \"undo\", \"Shift-Ctrl-Z\": \"redo\", \"Ctrl-Y\": \"redo\",\n \"Ctrl-Home\": \"goDocStart\", \"Ctrl-End\": \"goDocEnd\", \"Ctrl-Up\": \"goLineUp\", \"Ctrl-Down\": \"goLineDown\",\n \"Ctrl-Left\": \"goGroupLeft\", \"Ctrl-Right\": \"goGroupRight\", \"Alt-Left\": \"goLineStart\", \"Alt-Right\": \"goLineEnd\",\n \"Ctrl-Backspace\": \"delGroupBefore\", \"Ctrl-Delete\": \"delGroupAfter\", \"Ctrl-S\": \"save\", \"Ctrl-F\": \"find\",\n \"Ctrl-G\": \"findNext\", \"Shift-Ctrl-G\": \"findPrev\", \"Shift-Ctrl-F\": \"replace\", \"Shift-Ctrl-R\": \"replaceAll\",\n \"Ctrl-[\": \"indentLess\", \"Ctrl-]\": \"indentMore\",\n \"Ctrl-U\": \"undoSelection\", \"Shift-Ctrl-U\": \"redoSelection\", \"Alt-U\": \"redoSelection\",\n fallthrough: \"basic\"\n}\n// Very basic readline/emacs-style bindings, which are standard on Mac.\nkeyMap.emacsy = {\n \"Ctrl-F\": \"goCharRight\", \"Ctrl-B\": \"goCharLeft\", \"Ctrl-P\": \"goLineUp\", \"Ctrl-N\": \"goLineDown\",\n \"Alt-F\": \"goWordRight\", \"Alt-B\": \"goWordLeft\", \"Ctrl-A\": \"goLineStart\", \"Ctrl-E\": \"goLineEnd\",\n \"Ctrl-V\": \"goPageDown\", \"Shift-Ctrl-V\": \"goPageUp\", \"Ctrl-D\": \"delCharAfter\", \"Ctrl-H\": \"delCharBefore\",\n \"Alt-D\": \"delWordAfter\", \"Alt-Backspace\": \"delWordBefore\", \"Ctrl-K\": \"killLine\", \"Ctrl-T\": \"transposeChars\",\n \"Ctrl-O\": \"openLine\"\n}\nkeyMap.macDefault = {\n \"Cmd-A\": \"selectAll\", \"Cmd-D\": \"deleteLine\", \"Cmd-Z\": \"undo\", \"Shift-Cmd-Z\": \"redo\", \"Cmd-Y\": \"redo\",\n \"Cmd-Home\": \"goDocStart\", \"Cmd-Up\": \"goDocStart\", \"Cmd-End\": \"goDocEnd\", \"Cmd-Down\": \"goDocEnd\", \"Alt-Left\": \"goGroupLeft\",\n \"Alt-Right\": \"goGroupRight\", \"Cmd-Left\": \"goLineLeft\", \"Cmd-Right\": \"goLineRight\", \"Alt-Backspace\": \"delGroupBefore\",\n \"Ctrl-Alt-Backspace\": \"delGroupAfter\", \"Alt-Delete\": \"delGroupAfter\", \"Cmd-S\": \"save\", \"Cmd-F\": \"find\",\n \"Cmd-G\": \"findNext\", \"Shift-Cmd-G\": \"findPrev\", \"Cmd-Alt-F\": \"replace\", \"Shift-Cmd-Alt-F\": \"replaceAll\",\n \"Cmd-[\": \"indentLess\", \"Cmd-]\": \"indentMore\", \"Cmd-Backspace\": \"delWrappedLineLeft\", \"Cmd-Delete\": \"delWrappedLineRight\",\n \"Cmd-U\": \"undoSelection\", \"Shift-Cmd-U\": \"redoSelection\", \"Ctrl-Up\": \"goDocStart\", \"Ctrl-Down\": \"goDocEnd\",\n fallthrough: [\"basic\", \"emacsy\"]\n}\nkeyMap[\"default\"] = mac ? keyMap.macDefault : keyMap.pcDefault\n\n// KEYMAP DISPATCH\n\nfunction normalizeKeyName(name) {\n var parts = name.split(/-(?!$)/)\n name = parts[parts.length - 1]\n var alt, ctrl, shift, cmd\n for (var i = 0; i < parts.length - 1; i++) {\n var mod = parts[i]\n if (/^(cmd|meta|m)$/i.test(mod)) { cmd = true }\n else if (/^a(lt)?$/i.test(mod)) { alt = true }\n else if (/^(c|ctrl|control)$/i.test(mod)) { ctrl = true }\n else if (/^s(hift)?$/i.test(mod)) { shift = true }\n else { throw new Error(\"Unrecognized modifier name: \" + mod) }\n }\n if (alt) { name = \"Alt-\" + name }\n if (ctrl) { name = \"Ctrl-\" + name }\n if (cmd) { name = \"Cmd-\" + name }\n if (shift) { name = \"Shift-\" + name }\n return name\n}\n\n// This is a kludge to keep keymaps mostly working as raw objects\n// (backwards compatibility) while at the same time support features\n// like normalization and multi-stroke key bindings. It compiles a\n// new normalized keymap, and then updates the old object to reflect\n// this.\nfunction normalizeKeyMap(keymap) {\n var copy = {}\n for (var keyname in keymap) { if (keymap.hasOwnProperty(keyname)) {\n var value = keymap[keyname]\n if (/^(name|fallthrough|(de|at)tach)$/.test(keyname)) { continue }\n if (value == \"...\") { delete keymap[keyname]; continue }\n\n var keys = map(keyname.split(\" \"), normalizeKeyName)\n for (var i = 0; i < keys.length; i++) {\n var val = (void 0), name = (void 0)\n if (i == keys.length - 1) {\n name = keys.join(\" \")\n val = value\n } else {\n name = keys.slice(0, i + 1).join(\" \")\n val = \"...\"\n }\n var prev = copy[name]\n if (!prev) { copy[name] = val }\n else if (prev != val) { throw new Error(\"Inconsistent bindings for \" + name) }\n }\n delete keymap[keyname]\n } }\n for (var prop in copy) { keymap[prop] = copy[prop] }\n return keymap\n}\n\nfunction lookupKey(key, map, handle, context) {\n map = getKeyMap(map)\n var found = map.call ? map.call(key, context) : map[key]\n if (found === false) { return \"nothing\" }\n if (found === \"...\") { return \"multi\" }\n if (found != null && handle(found)) { return \"handled\" }\n\n if (map.fallthrough) {\n if (Object.prototype.toString.call(map.fallthrough) != \"[object Array]\")\n { return lookupKey(key, map.fallthrough, handle, context) }\n for (var i = 0; i < map.fallthrough.length; i++) {\n var result = lookupKey(key, map.fallthrough[i], handle, context)\n if (result) { return result }\n }\n }\n}\n\n// Modifier key presses don't count as 'real' key presses for the\n// purpose of keymap fallthrough.\nfunction isModifierKey(value) {\n var name = typeof value == \"string\" ? value : keyNames[value.keyCode]\n return name == \"Ctrl\" || name == \"Alt\" || name == \"Shift\" || name == \"Mod\"\n}\n\n// Look up the name of a key as indicated by an event object.\nfunction keyName(event, noShift) {\n if (presto && event.keyCode == 34 && event[\"char\"]) { return false }\n var base = keyNames[event.keyCode], name = base\n if (name == null || event.altGraphKey) { return false }\n if (event.altKey && base != \"Alt\") { name = \"Alt-\" + name }\n if ((flipCtrlCmd ? event.metaKey : event.ctrlKey) && base != \"Ctrl\") { name = \"Ctrl-\" + name }\n if ((flipCtrlCmd ? event.ctrlKey : event.metaKey) && base != \"Cmd\") { name = \"Cmd-\" + name }\n if (!noShift && event.shiftKey && base != \"Shift\") { name = \"Shift-\" + name }\n return name\n}\n\nfunction getKeyMap(val) {\n return typeof val == \"string\" ? keyMap[val] : val\n}\n\n// Helper for deleting text near the selection(s), used to implement\n// backspace, delete, and similar functionality.\nfunction deleteNearSelection(cm, compute) {\n var ranges = cm.doc.sel.ranges, kill = []\n // Build up a set of ranges to kill first, merging overlapping\n // ranges.\n for (var i = 0; i < ranges.length; i++) {\n var toKill = compute(ranges[i])\n while (kill.length && cmp(toKill.from, lst(kill).to) <= 0) {\n var replaced = kill.pop()\n if (cmp(replaced.from, toKill.from) < 0) {\n toKill.from = replaced.from\n break\n }\n }\n kill.push(toKill)\n }\n // Next, remove those actual ranges.\n runInOp(cm, function () {\n for (var i = kill.length - 1; i >= 0; i--)\n { replaceRange(cm.doc, \"\", kill[i].from, kill[i].to, \"+delete\") }\n ensureCursorVisible(cm)\n })\n}\n\n// Commands are parameter-less actions that can be performed on an\n// editor, mostly used for keybindings.\nvar commands = {\n selectAll: selectAll,\n singleSelection: function (cm) { return cm.setSelection(cm.getCursor(\"anchor\"), cm.getCursor(\"head\"), sel_dontScroll); },\n killLine: function (cm) { return deleteNearSelection(cm, function (range) {\n if (range.empty()) {\n var len = getLine(cm.doc, range.head.line).text.length\n if (range.head.ch == len && range.head.line < cm.lastLine())\n { return {from: range.head, to: Pos(range.head.line + 1, 0)} }\n else\n { return {from: range.head, to: Pos(range.head.line, len)} }\n } else {\n return {from: range.from(), to: range.to()}\n }\n }); },\n deleteLine: function (cm) { return deleteNearSelection(cm, function (range) { return ({\n from: Pos(range.from().line, 0),\n to: clipPos(cm.doc, Pos(range.to().line + 1, 0))\n }); }); },\n delLineLeft: function (cm) { return deleteNearSelection(cm, function (range) { return ({\n from: Pos(range.from().line, 0), to: range.from()\n }); }); },\n delWrappedLineLeft: function (cm) { return deleteNearSelection(cm, function (range) {\n var top = cm.charCoords(range.head, \"div\").top + 5\n var leftPos = cm.coordsChar({left: 0, top: top}, \"div\")\n return {from: leftPos, to: range.from()}\n }); },\n delWrappedLineRight: function (cm) { return deleteNearSelection(cm, function (range) {\n var top = cm.charCoords(range.head, \"div\").top + 5\n var rightPos = cm.coordsChar({left: cm.display.lineDiv.offsetWidth + 100, top: top}, \"div\")\n return {from: range.from(), to: rightPos }\n }); },\n undo: function (cm) { return cm.undo(); },\n redo: function (cm) { return cm.redo(); },\n undoSelection: function (cm) { return cm.undoSelection(); },\n redoSelection: function (cm) { return cm.redoSelection(); },\n goDocStart: function (cm) { return cm.extendSelection(Pos(cm.firstLine(), 0)); },\n goDocEnd: function (cm) { return cm.extendSelection(Pos(cm.lastLine())); },\n goLineStart: function (cm) { return cm.extendSelectionsBy(function (range) { return lineStart(cm, range.head.line); },\n {origin: \"+move\", bias: 1}\n ); },\n goLineStartSmart: function (cm) { return cm.extendSelectionsBy(function (range) { return lineStartSmart(cm, range.head); },\n {origin: \"+move\", bias: 1}\n ); },\n goLineEnd: function (cm) { return cm.extendSelectionsBy(function (range) { return lineEnd(cm, range.head.line); },\n {origin: \"+move\", bias: -1}\n ); },\n goLineRight: function (cm) { return cm.extendSelectionsBy(function (range) {\n var top = cm.charCoords(range.head, \"div\").top + 5\n return cm.coordsChar({left: cm.display.lineDiv.offsetWidth + 100, top: top}, \"div\")\n }, sel_move); },\n goLineLeft: function (cm) { return cm.extendSelectionsBy(function (range) {\n var top = cm.charCoords(range.head, \"div\").top + 5\n return cm.coordsChar({left: 0, top: top}, \"div\")\n }, sel_move); },\n goLineLeftSmart: function (cm) { return cm.extendSelectionsBy(function (range) {\n var top = cm.charCoords(range.head, \"div\").top + 5\n var pos = cm.coordsChar({left: 0, top: top}, \"div\")\n if (pos.ch < cm.getLine(pos.line).search(/\\S/)) { return lineStartSmart(cm, range.head) }\n return pos\n }, sel_move); },\n goLineUp: function (cm) { return cm.moveV(-1, \"line\"); },\n goLineDown: function (cm) { return cm.moveV(1, \"line\"); },\n goPageUp: function (cm) { return cm.moveV(-1, \"page\"); },\n goPageDown: function (cm) { return cm.moveV(1, \"page\"); },\n goCharLeft: function (cm) { return cm.moveH(-1, \"char\"); },\n goCharRight: function (cm) { return cm.moveH(1, \"char\"); },\n goColumnLeft: function (cm) { return cm.moveH(-1, \"column\"); },\n goColumnRight: function (cm) { return cm.moveH(1, \"column\"); },\n goWordLeft: function (cm) { return cm.moveH(-1, \"word\"); },\n goGroupRight: function (cm) { return cm.moveH(1, \"group\"); },\n goGroupLeft: function (cm) { return cm.moveH(-1, \"group\"); },\n goWordRight: function (cm) { return cm.moveH(1, \"word\"); },\n delCharBefore: function (cm) { return cm.deleteH(-1, \"char\"); },\n delCharAfter: function (cm) { return cm.deleteH(1, \"char\"); },\n delWordBefore: function (cm) { return cm.deleteH(-1, \"word\"); },\n delWordAfter: function (cm) { return cm.deleteH(1, \"word\"); },\n delGroupBefore: function (cm) { return cm.deleteH(-1, \"group\"); },\n delGroupAfter: function (cm) { return cm.deleteH(1, \"group\"); },\n indentAuto: function (cm) { return cm.indentSelection(\"smart\"); },\n indentMore: function (cm) { return cm.indentSelection(\"add\"); },\n indentLess: function (cm) { return cm.indentSelection(\"subtract\"); },\n insertTab: function (cm) { return cm.replaceSelection(\"\\t\"); },\n insertSoftTab: function (cm) {\n var spaces = [], ranges = cm.listSelections(), tabSize = cm.options.tabSize\n for (var i = 0; i < ranges.length; i++) {\n var pos = ranges[i].from()\n var col = countColumn(cm.getLine(pos.line), pos.ch, tabSize)\n spaces.push(spaceStr(tabSize - col % tabSize))\n }\n cm.replaceSelections(spaces)\n },\n defaultTab: function (cm) {\n if (cm.somethingSelected()) { cm.indentSelection(\"add\") }\n else { cm.execCommand(\"insertTab\") }\n },\n // Swap the two chars left and right of each selection's head.\n // Move cursor behind the two swapped characters afterwards.\n //\n // Doesn't consider line feeds a character.\n // Doesn't scan more than one line above to find a character.\n // Doesn't do anything on an empty line.\n // Doesn't do anything with non-empty selections.\n transposeChars: function (cm) { return runInOp(cm, function () {\n var ranges = cm.listSelections(), newSel = []\n for (var i = 0; i < ranges.length; i++) {\n if (!ranges[i].empty()) { continue }\n var cur = ranges[i].head, line = getLine(cm.doc, cur.line).text\n if (line) {\n if (cur.ch == line.length) { cur = new Pos(cur.line, cur.ch - 1) }\n if (cur.ch > 0) {\n cur = new Pos(cur.line, cur.ch + 1)\n cm.replaceRange(line.charAt(cur.ch - 1) + line.charAt(cur.ch - 2),\n Pos(cur.line, cur.ch - 2), cur, \"+transpose\")\n } else if (cur.line > cm.doc.first) {\n var prev = getLine(cm.doc, cur.line - 1).text\n if (prev) {\n cur = new Pos(cur.line, 1)\n cm.replaceRange(line.charAt(0) + cm.doc.lineSeparator() +\n prev.charAt(prev.length - 1),\n Pos(cur.line - 1, prev.length - 1), cur, \"+transpose\")\n }\n }\n }\n newSel.push(new Range(cur, cur))\n }\n cm.setSelections(newSel)\n }); },\n newlineAndIndent: function (cm) { return runInOp(cm, function () {\n var sels = cm.listSelections()\n for (var i = sels.length - 1; i >= 0; i--)\n { cm.replaceRange(cm.doc.lineSeparator(), sels[i].anchor, sels[i].head, \"+input\") }\n sels = cm.listSelections()\n for (var i$1 = 0; i$1 < sels.length; i$1++)\n { cm.indentLine(sels[i$1].from().line, null, true) }\n ensureCursorVisible(cm)\n }); },\n openLine: function (cm) { return cm.replaceSelection(\"\\n\", \"start\"); },\n toggleOverwrite: function (cm) { return cm.toggleOverwrite(); }\n}\n\n\nfunction lineStart(cm, lineN) {\n var line = getLine(cm.doc, lineN)\n var visual = visualLine(line)\n if (visual != line) { lineN = lineNo(visual) }\n var order = getOrder(visual)\n var ch = !order ? 0 : order[0].level % 2 ? lineRight(visual) : lineLeft(visual)\n return Pos(lineN, ch)\n}\nfunction lineEnd(cm, lineN) {\n var merged, line = getLine(cm.doc, lineN)\n while (merged = collapsedSpanAtEnd(line)) {\n line = merged.find(1, true).line\n lineN = null\n }\n var order = getOrder(line)\n var ch = !order ? line.text.length : order[0].level % 2 ? lineLeft(line) : lineRight(line)\n return Pos(lineN == null ? lineNo(line) : lineN, ch)\n}\nfunction lineStartSmart(cm, pos) {\n var start = lineStart(cm, pos.line)\n var line = getLine(cm.doc, start.line)\n var order = getOrder(line)\n if (!order || order[0].level == 0) {\n var firstNonWS = Math.max(0, line.text.search(/\\S/))\n var inWS = pos.line == start.line && pos.ch <= firstNonWS && pos.ch\n return Pos(start.line, inWS ? 0 : firstNonWS)\n }\n return start\n}\n\n// Run a handler that was bound to a key.\nfunction doHandleBinding(cm, bound, dropShift) {\n if (typeof bound == \"string\") {\n bound = commands[bound]\n if (!bound) { return false }\n }\n // Ensure previous input has been read, so that the handler sees a\n // consistent view of the document\n cm.display.input.ensurePolled()\n var prevShift = cm.display.shift, done = false\n try {\n if (cm.isReadOnly()) { cm.state.suppressEdits = true }\n if (dropShift) { cm.display.shift = false }\n done = bound(cm) != Pass\n } finally {\n cm.display.shift = prevShift\n cm.state.suppressEdits = false\n }\n return done\n}\n\nfunction lookupKeyForEditor(cm, name, handle) {\n for (var i = 0; i < cm.state.keyMaps.length; i++) {\n var result = lookupKey(name, cm.state.keyMaps[i], handle, cm)\n if (result) { return result }\n }\n return (cm.options.extraKeys && lookupKey(name, cm.options.extraKeys, handle, cm))\n || lookupKey(name, cm.options.keyMap, handle, cm)\n}\n\nvar stopSeq = new Delayed\nfunction dispatchKey(cm, name, e, handle) {\n var seq = cm.state.keySeq\n if (seq) {\n if (isModifierKey(name)) { return \"handled\" }\n stopSeq.set(50, function () {\n if (cm.state.keySeq == seq) {\n cm.state.keySeq = null\n cm.display.input.reset()\n }\n })\n name = seq + \" \" + name\n }\n var result = lookupKeyForEditor(cm, name, handle)\n\n if (result == \"multi\")\n { cm.state.keySeq = name }\n if (result == \"handled\")\n { signalLater(cm, \"keyHandled\", cm, name, e) }\n\n if (result == \"handled\" || result == \"multi\") {\n e_preventDefault(e)\n restartBlink(cm)\n }\n\n if (seq && !result && /\\'$/.test(name)) {\n e_preventDefault(e)\n return true\n }\n return !!result\n}\n\n// Handle a key from the keydown event.\nfunction handleKeyBinding(cm, e) {\n var name = keyName(e, true)\n if (!name) { return false }\n\n if (e.shiftKey && !cm.state.keySeq) {\n // First try to resolve full name (including 'Shift-'). Failing\n // that, see if there is a cursor-motion command (starting with\n // 'go') bound to the keyname without 'Shift-'.\n return dispatchKey(cm, \"Shift-\" + name, e, function (b) { return doHandleBinding(cm, b, true); })\n || dispatchKey(cm, name, e, function (b) {\n if (typeof b == \"string\" ? /^go[A-Z]/.test(b) : b.motion)\n { return doHandleBinding(cm, b) }\n })\n } else {\n return dispatchKey(cm, name, e, function (b) { return doHandleBinding(cm, b); })\n }\n}\n\n// Handle a key from the keypress event\nfunction handleCharBinding(cm, e, ch) {\n return dispatchKey(cm, \"'\" + ch + \"'\", e, function (b) { return doHandleBinding(cm, b, true); })\n}\n\nvar lastStoppedKey = null\nfunction onKeyDown(e) {\n var cm = this\n cm.curOp.focus = activeElt()\n if (signalDOMEvent(cm, e)) { return }\n // IE does strange things with escape.\n if (ie && ie_version < 11 && e.keyCode == 27) { e.returnValue = false }\n var code = e.keyCode\n cm.display.shift = code == 16 || e.shiftKey\n var handled = handleKeyBinding(cm, e)\n if (presto) {\n lastStoppedKey = handled ? code : null\n // Opera has no cut event... we try to at least catch the key combo\n if (!handled && code == 88 && !hasCopyEvent && (mac ? e.metaKey : e.ctrlKey))\n { cm.replaceSelection(\"\", null, \"cut\") }\n }\n\n // Turn mouse into crosshair when Alt is held on Mac.\n if (code == 18 && !/\\bCodeMirror-crosshair\\b/.test(cm.display.lineDiv.className))\n { showCrossHair(cm) }\n}\n\nfunction showCrossHair(cm) {\n var lineDiv = cm.display.lineDiv\n addClass(lineDiv, \"CodeMirror-crosshair\")\n\n function up(e) {\n if (e.keyCode == 18 || !e.altKey) {\n rmClass(lineDiv, \"CodeMirror-crosshair\")\n off(document, \"keyup\", up)\n off(document, \"mouseover\", up)\n }\n }\n on(document, \"keyup\", up)\n on(document, \"mouseover\", up)\n}\n\nfunction onKeyUp(e) {\n if (e.keyCode == 16) { this.doc.sel.shift = false }\n signalDOMEvent(this, e)\n}\n\nfunction onKeyPress(e) {\n var cm = this\n if (eventInWidget(cm.display, e) || signalDOMEvent(cm, e) || e.ctrlKey && !e.altKey || mac && e.metaKey) { return }\n var keyCode = e.keyCode, charCode = e.charCode\n if (presto && keyCode == lastStoppedKey) {lastStoppedKey = null; e_preventDefault(e); return}\n if ((presto && (!e.which || e.which < 10)) && handleKeyBinding(cm, e)) { return }\n var ch = String.fromCharCode(charCode == null ? keyCode : charCode)\n // Some browsers fire keypress events for backspace\n if (ch == \"\\x08\") { return }\n if (handleCharBinding(cm, e, ch)) { return }\n cm.display.input.onKeyPress(e)\n}\n\n// A mouse down can be a single click, double click, triple click,\n// start of selection drag, start of text drag, new cursor\n// (ctrl-click), rectangle drag (alt-drag), or xwin\n// middle-click-paste. Or it might be a click on something we should\n// not interfere with, such as a scrollbar or widget.\nfunction onMouseDown(e) {\n var cm = this, display = cm.display\n if (signalDOMEvent(cm, e) || display.activeTouch && display.input.supportsTouch()) { return }\n display.input.ensurePolled()\n display.shift = e.shiftKey\n\n if (eventInWidget(display, e)) {\n if (!webkit) {\n // Briefly turn off draggability, to allow widgets to do\n // normal dragging things.\n display.scroller.draggable = false\n setTimeout(function () { return display.scroller.draggable = true; }, 100)\n }\n return\n }\n if (clickInGutter(cm, e)) { return }\n var start = posFromMouse(cm, e)\n window.focus()\n\n switch (e_button(e)) {\n case 1:\n // #3261: make sure, that we're not starting a second selection\n if (cm.state.selectingText)\n { cm.state.selectingText(e) }\n else if (start)\n { leftButtonDown(cm, e, start) }\n else if (e_target(e) == display.scroller)\n { e_preventDefault(e) }\n break\n case 2:\n if (webkit) { cm.state.lastMiddleDown = +new Date }\n if (start) { extendSelection(cm.doc, start) }\n setTimeout(function () { return display.input.focus(); }, 20)\n e_preventDefault(e)\n break\n case 3:\n if (captureRightClick) { onContextMenu(cm, e) }\n else { delayBlurEvent(cm) }\n break\n }\n}\n\nvar lastClick;\nvar lastDoubleClick;\nfunction leftButtonDown(cm, e, start) {\n if (ie) { setTimeout(bind(ensureFocus, cm), 0) }\n else { cm.curOp.focus = activeElt() }\n\n var now = +new Date, type\n if (lastDoubleClick && lastDoubleClick.time > now - 400 && cmp(lastDoubleClick.pos, start) == 0) {\n type = \"triple\"\n } else if (lastClick && lastClick.time > now - 400 && cmp(lastClick.pos, start) == 0) {\n type = \"double\"\n lastDoubleClick = {time: now, pos: start}\n } else {\n type = \"single\"\n lastClick = {time: now, pos: start}\n }\n\n var sel = cm.doc.sel, modifier = mac ? e.metaKey : e.ctrlKey, contained\n if (cm.options.dragDrop && dragAndDrop && !cm.isReadOnly() &&\n type == \"single\" && (contained = sel.contains(start)) > -1 &&\n (cmp((contained = sel.ranges[contained]).from(), start) < 0 || start.xRel > 0) &&\n (cmp(contained.to(), start) > 0 || start.xRel < 0))\n { leftButtonStartDrag(cm, e, start, modifier) }\n else\n { leftButtonSelect(cm, e, start, type, modifier) }\n}\n\n// Start a text drag. When it ends, see if any dragging actually\n// happen, and treat as a click if it didn't.\nfunction leftButtonStartDrag(cm, e, start, modifier) {\n var display = cm.display, startTime = +new Date\n var dragEnd = operation(cm, function (e2) {\n if (webkit) { display.scroller.draggable = false }\n cm.state.draggingText = false\n off(document, \"mouseup\", dragEnd)\n off(display.scroller, \"drop\", dragEnd)\n if (Math.abs(e.clientX - e2.clientX) + Math.abs(e.clientY - e2.clientY) < 10) {\n e_preventDefault(e2)\n if (!modifier && +new Date - 200 < startTime)\n { extendSelection(cm.doc, start) }\n // Work around unexplainable focus problem in IE9 (#2127) and Chrome (#3081)\n if (webkit || ie && ie_version == 9)\n { setTimeout(function () {document.body.focus(); display.input.focus()}, 20) }\n else\n { display.input.focus() }\n }\n })\n // Let the drag handler handle this.\n if (webkit) { display.scroller.draggable = true }\n cm.state.draggingText = dragEnd\n dragEnd.copy = mac ? e.altKey : e.ctrlKey\n // IE's approach to draggable\n if (display.scroller.dragDrop) { display.scroller.dragDrop() }\n on(document, \"mouseup\", dragEnd)\n on(display.scroller, \"drop\", dragEnd)\n}\n\n// Normal selection, as opposed to text dragging.\nfunction leftButtonSelect(cm, e, start, type, addNew) {\n var display = cm.display, doc = cm.doc\n e_preventDefault(e)\n\n var ourRange, ourIndex, startSel = doc.sel, ranges = startSel.ranges\n if (addNew && !e.shiftKey) {\n ourIndex = doc.sel.contains(start)\n if (ourIndex > -1)\n { ourRange = ranges[ourIndex] }\n else\n { ourRange = new Range(start, start) }\n } else {\n ourRange = doc.sel.primary()\n ourIndex = doc.sel.primIndex\n }\n\n if (chromeOS ? e.shiftKey && e.metaKey : e.altKey) {\n type = \"rect\"\n if (!addNew) { ourRange = new Range(start, start) }\n start = posFromMouse(cm, e, true, true)\n ourIndex = -1\n } else if (type == \"double\") {\n var word = cm.findWordAt(start)\n if (cm.display.shift || doc.extend)\n { ourRange = extendRange(doc, ourRange, word.anchor, word.head) }\n else\n { ourRange = word }\n } else if (type == \"triple\") {\n var line = new Range(Pos(start.line, 0), clipPos(doc, Pos(start.line + 1, 0)))\n if (cm.display.shift || doc.extend)\n { ourRange = extendRange(doc, ourRange, line.anchor, line.head) }\n else\n { ourRange = line }\n } else {\n ourRange = extendRange(doc, ourRange, start)\n }\n\n if (!addNew) {\n ourIndex = 0\n setSelection(doc, new Selection([ourRange], 0), sel_mouse)\n startSel = doc.sel\n } else if (ourIndex == -1) {\n ourIndex = ranges.length\n setSelection(doc, normalizeSelection(ranges.concat([ourRange]), ourIndex),\n {scroll: false, origin: \"*mouse\"})\n } else if (ranges.length > 1 && ranges[ourIndex].empty() && type == \"single\" && !e.shiftKey) {\n setSelection(doc, normalizeSelection(ranges.slice(0, ourIndex).concat(ranges.slice(ourIndex + 1)), 0),\n {scroll: false, origin: \"*mouse\"})\n startSel = doc.sel\n } else {\n replaceOneSelection(doc, ourIndex, ourRange, sel_mouse)\n }\n\n var lastPos = start\n function extendTo(pos) {\n if (cmp(lastPos, pos) == 0) { return }\n lastPos = pos\n\n if (type == \"rect\") {\n var ranges = [], tabSize = cm.options.tabSize\n var startCol = countColumn(getLine(doc, start.line).text, start.ch, tabSize)\n var posCol = countColumn(getLine(doc, pos.line).text, pos.ch, tabSize)\n var left = Math.min(startCol, posCol), right = Math.max(startCol, posCol)\n for (var line = Math.min(start.line, pos.line), end = Math.min(cm.lastLine(), Math.max(start.line, pos.line));\n line <= end; line++) {\n var text = getLine(doc, line).text, leftPos = findColumn(text, left, tabSize)\n if (left == right)\n { ranges.push(new Range(Pos(line, leftPos), Pos(line, leftPos))) }\n else if (text.length > leftPos)\n { ranges.push(new Range(Pos(line, leftPos), Pos(line, findColumn(text, right, tabSize)))) }\n }\n if (!ranges.length) { ranges.push(new Range(start, start)) }\n setSelection(doc, normalizeSelection(startSel.ranges.slice(0, ourIndex).concat(ranges), ourIndex),\n {origin: \"*mouse\", scroll: false})\n cm.scrollIntoView(pos)\n } else {\n var oldRange = ourRange\n var anchor = oldRange.anchor, head = pos\n if (type != \"single\") {\n var range\n if (type == \"double\")\n { range = cm.findWordAt(pos) }\n else\n { range = new Range(Pos(pos.line, 0), clipPos(doc, Pos(pos.line + 1, 0))) }\n if (cmp(range.anchor, anchor) > 0) {\n head = range.head\n anchor = minPos(oldRange.from(), range.anchor)\n } else {\n head = range.anchor\n anchor = maxPos(oldRange.to(), range.head)\n }\n }\n var ranges$1 = startSel.ranges.slice(0)\n ranges$1[ourIndex] = new Range(clipPos(doc, anchor), head)\n setSelection(doc, normalizeSelection(ranges$1, ourIndex), sel_mouse)\n }\n }\n\n var editorSize = display.wrapper.getBoundingClientRect()\n // Used to ensure timeout re-tries don't fire when another extend\n // happened in the meantime (clearTimeout isn't reliable -- at\n // least on Chrome, the timeouts still happen even when cleared,\n // if the clear happens after their scheduled firing time).\n var counter = 0\n\n function extend(e) {\n var curCount = ++counter\n var cur = posFromMouse(cm, e, true, type == \"rect\")\n if (!cur) { return }\n if (cmp(cur, lastPos) != 0) {\n cm.curOp.focus = activeElt()\n extendTo(cur)\n var visible = visibleLines(display, doc)\n if (cur.line >= visible.to || cur.line < visible.from)\n { setTimeout(operation(cm, function () {if (counter == curCount) { extend(e) }}), 150) }\n } else {\n var outside = e.clientY < editorSize.top ? -20 : e.clientY > editorSize.bottom ? 20 : 0\n if (outside) { setTimeout(operation(cm, function () {\n if (counter != curCount) { return }\n display.scroller.scrollTop += outside\n extend(e)\n }), 50) }\n }\n }\n\n function done(e) {\n cm.state.selectingText = false\n counter = Infinity\n e_preventDefault(e)\n display.input.focus()\n off(document, \"mousemove\", move)\n off(document, \"mouseup\", up)\n doc.history.lastSelOrigin = null\n }\n\n var move = operation(cm, function (e) {\n if (!e_button(e)) { done(e) }\n else { extend(e) }\n })\n var up = operation(cm, done)\n cm.state.selectingText = up\n on(document, \"mousemove\", move)\n on(document, \"mouseup\", up)\n}\n\n\n// Determines whether an event happened in the gutter, and fires the\n// handlers for the corresponding event.\nfunction gutterEvent(cm, e, type, prevent) {\n var mX, mY\n try { mX = e.clientX; mY = e.clientY }\n catch(e) { return false }\n if (mX >= Math.floor(cm.display.gutters.getBoundingClientRect().right)) { return false }\n if (prevent) { e_preventDefault(e) }\n\n var display = cm.display\n var lineBox = display.lineDiv.getBoundingClientRect()\n\n if (mY > lineBox.bottom || !hasHandler(cm, type)) { return e_defaultPrevented(e) }\n mY -= lineBox.top - display.viewOffset\n\n for (var i = 0; i < cm.options.gutters.length; ++i) {\n var g = display.gutters.childNodes[i]\n if (g && g.getBoundingClientRect().right >= mX) {\n var line = lineAtHeight(cm.doc, mY)\n var gutter = cm.options.gutters[i]\n signal(cm, type, cm, line, gutter, e)\n return e_defaultPrevented(e)\n }\n }\n}\n\nfunction clickInGutter(cm, e) {\n return gutterEvent(cm, e, \"gutterClick\", true)\n}\n\n// CONTEXT MENU HANDLING\n\n// To make the context menu work, we need to briefly unhide the\n// textarea (making it as unobtrusive as possible) to let the\n// right-click take effect on it.\nfunction onContextMenu(cm, e) {\n if (eventInWidget(cm.display, e) || contextMenuInGutter(cm, e)) { return }\n if (signalDOMEvent(cm, e, \"contextmenu\")) { return }\n cm.display.input.onContextMenu(e)\n}\n\nfunction contextMenuInGutter(cm, e) {\n if (!hasHandler(cm, \"gutterContextMenu\")) { return false }\n return gutterEvent(cm, e, \"gutterContextMenu\", false)\n}\n\nfunction themeChanged(cm) {\n cm.display.wrapper.className = cm.display.wrapper.className.replace(/\\s*cm-s-\\S+/g, \"\") +\n cm.options.theme.replace(/(^|\\s)\\s*/g, \" cm-s-\")\n clearCaches(cm)\n}\n\nvar Init = {toString: function(){return \"CodeMirror.Init\"}}\n\nvar defaults = {}\nvar optionHandlers = {}\n\nfunction defineOptions(CodeMirror) {\n var optionHandlers = CodeMirror.optionHandlers\n\n function option(name, deflt, handle, notOnInit) {\n CodeMirror.defaults[name] = deflt\n if (handle) { optionHandlers[name] =\n notOnInit ? function (cm, val, old) {if (old != Init) { handle(cm, val, old) }} : handle }\n }\n\n CodeMirror.defineOption = option\n\n // Passed to option handlers when there is no old value.\n CodeMirror.Init = Init\n\n // These two are, on init, called from the constructor because they\n // have to be initialized before the editor can start at all.\n option(\"value\", \"\", function (cm, val) { return cm.setValue(val); }, true)\n option(\"mode\", null, function (cm, val) {\n cm.doc.modeOption = val\n loadMode(cm)\n }, true)\n\n option(\"indentUnit\", 2, loadMode, true)\n option(\"indentWithTabs\", false)\n option(\"smartIndent\", true)\n option(\"tabSize\", 4, function (cm) {\n resetModeState(cm)\n clearCaches(cm)\n regChange(cm)\n }, true)\n option(\"lineSeparator\", null, function (cm, val) {\n cm.doc.lineSep = val\n if (!val) { return }\n var newBreaks = [], lineNo = cm.doc.first\n cm.doc.iter(function (line) {\n for (var pos = 0;;) {\n var found = line.text.indexOf(val, pos)\n if (found == -1) { break }\n pos = found + val.length\n newBreaks.push(Pos(lineNo, found))\n }\n lineNo++\n })\n for (var i = newBreaks.length - 1; i >= 0; i--)\n { replaceRange(cm.doc, val, newBreaks[i], Pos(newBreaks[i].line, newBreaks[i].ch + val.length)) }\n })\n option(\"specialChars\", /[\\u0000-\\u001f\\u007f\\u00ad\\u061c\\u200b-\\u200f\\u2028\\u2029\\ufeff]/g, function (cm, val, old) {\n cm.state.specialChars = new RegExp(val.source + (val.test(\"\\t\") ? \"\" : \"|\\t\"), \"g\")\n if (old != Init) { cm.refresh() }\n })\n option(\"specialCharPlaceholder\", defaultSpecialCharPlaceholder, function (cm) { return cm.refresh(); }, true)\n option(\"electricChars\", true)\n option(\"inputStyle\", mobile ? \"contenteditable\" : \"textarea\", function () {\n throw new Error(\"inputStyle can not (yet) be changed in a running editor\") // FIXME\n }, true)\n option(\"spellcheck\", false, function (cm, val) { return cm.getInputField().spellcheck = val; }, true)\n option(\"rtlMoveVisually\", !windows)\n option(\"wholeLineUpdateBefore\", true)\n\n option(\"theme\", \"default\", function (cm) {\n themeChanged(cm)\n guttersChanged(cm)\n }, true)\n option(\"keyMap\", \"default\", function (cm, val, old) {\n var next = getKeyMap(val)\n var prev = old != Init && getKeyMap(old)\n if (prev && prev.detach) { prev.detach(cm, next) }\n if (next.attach) { next.attach(cm, prev || null) }\n })\n option(\"extraKeys\", null)\n\n option(\"lineWrapping\", false, wrappingChanged, true)\n option(\"gutters\", [], function (cm) {\n setGuttersForLineNumbers(cm.options)\n guttersChanged(cm)\n }, true)\n option(\"fixedGutter\", true, function (cm, val) {\n cm.display.gutters.style.left = val ? compensateForHScroll(cm.display) + \"px\" : \"0\"\n cm.refresh()\n }, true)\n option(\"coverGutterNextToScrollbar\", false, function (cm) { return updateScrollbars(cm); }, true)\n option(\"scrollbarStyle\", \"native\", function (cm) {\n initScrollbars(cm)\n updateScrollbars(cm)\n cm.display.scrollbars.setScrollTop(cm.doc.scrollTop)\n cm.display.scrollbars.setScrollLeft(cm.doc.scrollLeft)\n }, true)\n option(\"lineNumbers\", false, function (cm) {\n setGuttersForLineNumbers(cm.options)\n guttersChanged(cm)\n }, true)\n option(\"firstLineNumber\", 1, guttersChanged, true)\n option(\"lineNumberFormatter\", function (integer) { return integer; }, guttersChanged, true)\n option(\"showCursorWhenSelecting\", false, updateSelection, true)\n\n option(\"resetSelectionOnContextMenu\", true)\n option(\"lineWiseCopyCut\", true)\n\n option(\"readOnly\", false, function (cm, val) {\n if (val == \"nocursor\") {\n onBlur(cm)\n cm.display.input.blur()\n cm.display.disabled = true\n } else {\n cm.display.disabled = false\n }\n cm.display.input.readOnlyChanged(val)\n })\n option(\"disableInput\", false, function (cm, val) {if (!val) { cm.display.input.reset() }}, true)\n option(\"dragDrop\", true, dragDropChanged)\n option(\"allowDropFileTypes\", null)\n\n option(\"cursorBlinkRate\", 530)\n option(\"cursorScrollMargin\", 0)\n option(\"cursorHeight\", 1, updateSelection, true)\n option(\"singleCursorHeightPerLine\", true, updateSelection, true)\n option(\"workTime\", 100)\n option(\"workDelay\", 100)\n option(\"flattenSpans\", true, resetModeState, true)\n option(\"addModeClass\", false, resetModeState, true)\n option(\"pollInterval\", 100)\n option(\"undoDepth\", 200, function (cm, val) { return cm.doc.history.undoDepth = val; })\n option(\"historyEventDelay\", 1250)\n option(\"viewportMargin\", 10, function (cm) { return cm.refresh(); }, true)\n option(\"maxHighlightLength\", 10000, resetModeState, true)\n option(\"moveInputWithCursor\", true, function (cm, val) {\n if (!val) { cm.display.input.resetPosition() }\n })\n\n option(\"tabindex\", null, function (cm, val) { return cm.display.input.getField().tabIndex = val || \"\"; })\n option(\"autofocus\", null)\n}\n\nfunction guttersChanged(cm) {\n updateGutters(cm)\n regChange(cm)\n alignHorizontally(cm)\n}\n\nfunction dragDropChanged(cm, value, old) {\n var wasOn = old && old != Init\n if (!value != !wasOn) {\n var funcs = cm.display.dragFunctions\n var toggle = value ? on : off\n toggle(cm.display.scroller, \"dragstart\", funcs.start)\n toggle(cm.display.scroller, \"dragenter\", funcs.enter)\n toggle(cm.display.scroller, \"dragover\", funcs.over)\n toggle(cm.display.scroller, \"dragleave\", funcs.leave)\n toggle(cm.display.scroller, \"drop\", funcs.drop)\n }\n}\n\nfunction wrappingChanged(cm) {\n if (cm.options.lineWrapping) {\n addClass(cm.display.wrapper, \"CodeMirror-wrap\")\n cm.display.sizer.style.minWidth = \"\"\n cm.display.sizerWidth = null\n } else {\n rmClass(cm.display.wrapper, \"CodeMirror-wrap\")\n findMaxLine(cm)\n }\n estimateLineHeights(cm)\n regChange(cm)\n clearCaches(cm)\n setTimeout(function () { return updateScrollbars(cm); }, 100)\n}\n\n// A CodeMirror instance represents an editor. This is the object\n// that user code is usually dealing with.\n\nfunction CodeMirror(place, options) {\n var this$1 = this;\n\n if (!(this instanceof CodeMirror)) { return new CodeMirror(place, options) }\n\n this.options = options = options ? copyObj(options) : {}\n // Determine effective options based on given values and defaults.\n copyObj(defaults, options, false)\n setGuttersForLineNumbers(options)\n\n var doc = options.value\n if (typeof doc == \"string\") { doc = new Doc(doc, options.mode, null, options.lineSeparator) }\n this.doc = doc\n\n var input = new CodeMirror.inputStyles[options.inputStyle](this)\n var display = this.display = new Display(place, doc, input)\n display.wrapper.CodeMirror = this\n updateGutters(this)\n themeChanged(this)\n if (options.lineWrapping)\n { this.display.wrapper.className += \" CodeMirror-wrap\" }\n initScrollbars(this)\n\n this.state = {\n keyMaps: [], // stores maps added by addKeyMap\n overlays: [], // highlighting overlays, as added by addOverlay\n modeGen: 0, // bumped when mode/overlay changes, used to invalidate highlighting info\n overwrite: false,\n delayingBlurEvent: false,\n focused: false,\n suppressEdits: false, // used to disable editing during key handlers when in readOnly mode\n pasteIncoming: false, cutIncoming: false, // help recognize paste/cut edits in input.poll\n selectingText: false,\n draggingText: false,\n highlight: new Delayed(), // stores highlight worker timeout\n keySeq: null, // Unfinished key sequence\n specialChars: null\n }\n\n if (options.autofocus && !mobile) { display.input.focus() }\n\n // Override magic textarea content restore that IE sometimes does\n // on our hidden textarea on reload\n if (ie && ie_version < 11) { setTimeout(function () { return this$1.display.input.reset(true); }, 20) }\n\n registerEventHandlers(this)\n ensureGlobalHandlers()\n\n startOperation(this)\n this.curOp.forceUpdate = true\n attachDoc(this, doc)\n\n if ((options.autofocus && !mobile) || this.hasFocus())\n { setTimeout(bind(onFocus, this), 20) }\n else\n { onBlur(this) }\n\n for (var opt in optionHandlers) { if (optionHandlers.hasOwnProperty(opt))\n { optionHandlers[opt](this$1, options[opt], Init) } }\n maybeUpdateLineNumberWidth(this)\n if (options.finishInit) { options.finishInit(this) }\n for (var i = 0; i < initHooks.length; ++i) { initHooks[i](this$1) }\n endOperation(this)\n // Suppress optimizelegibility in Webkit, since it breaks text\n // measuring on line wrapping boundaries.\n if (webkit && options.lineWrapping &&\n getComputedStyle(display.lineDiv).textRendering == \"optimizelegibility\")\n { display.lineDiv.style.textRendering = \"auto\" }\n}\n\n// The default configuration options.\nCodeMirror.defaults = defaults\n// Functions to run when options are changed.\nCodeMirror.optionHandlers = optionHandlers\n\n// Attach the necessary event handlers when initializing the editor\nfunction registerEventHandlers(cm) {\n var d = cm.display\n on(d.scroller, \"mousedown\", operation(cm, onMouseDown))\n // Older IE's will not fire a second mousedown for a double click\n if (ie && ie_version < 11)\n { on(d.scroller, \"dblclick\", operation(cm, function (e) {\n if (signalDOMEvent(cm, e)) { return }\n var pos = posFromMouse(cm, e)\n if (!pos || clickInGutter(cm, e) || eventInWidget(cm.display, e)) { return }\n e_preventDefault(e)\n var word = cm.findWordAt(pos)\n extendSelection(cm.doc, word.anchor, word.head)\n })) }\n else\n { on(d.scroller, \"dblclick\", function (e) { return signalDOMEvent(cm, e) || e_preventDefault(e); }) }\n // Some browsers fire contextmenu *after* opening the menu, at\n // which point we can't mess with it anymore. Context menu is\n // handled in onMouseDown for these browsers.\n if (!captureRightClick) { on(d.scroller, \"contextmenu\", function (e) { return onContextMenu(cm, e); }) }\n\n // Used to suppress mouse event handling when a touch happens\n var touchFinished, prevTouch = {end: 0}\n function finishTouch() {\n if (d.activeTouch) {\n touchFinished = setTimeout(function () { return d.activeTouch = null; }, 1000)\n prevTouch = d.activeTouch\n prevTouch.end = +new Date\n }\n }\n function isMouseLikeTouchEvent(e) {\n if (e.touches.length != 1) { return false }\n var touch = e.touches[0]\n return touch.radiusX <= 1 && touch.radiusY <= 1\n }\n function farAway(touch, other) {\n if (other.left == null) { return true }\n var dx = other.left - touch.left, dy = other.top - touch.top\n return dx * dx + dy * dy > 20 * 20\n }\n on(d.scroller, \"touchstart\", function (e) {\n if (!signalDOMEvent(cm, e) && !isMouseLikeTouchEvent(e)) {\n d.input.ensurePolled()\n clearTimeout(touchFinished)\n var now = +new Date\n d.activeTouch = {start: now, moved: false,\n prev: now - prevTouch.end <= 300 ? prevTouch : null}\n if (e.touches.length == 1) {\n d.activeTouch.left = e.touches[0].pageX\n d.activeTouch.top = e.touches[0].pageY\n }\n }\n })\n on(d.scroller, \"touchmove\", function () {\n if (d.activeTouch) { d.activeTouch.moved = true }\n })\n on(d.scroller, \"touchend\", function (e) {\n var touch = d.activeTouch\n if (touch && !eventInWidget(d, e) && touch.left != null &&\n !touch.moved && new Date - touch.start < 300) {\n var pos = cm.coordsChar(d.activeTouch, \"page\"), range\n if (!touch.prev || farAway(touch, touch.prev)) // Single tap\n { range = new Range(pos, pos) }\n else if (!touch.prev.prev || farAway(touch, touch.prev.prev)) // Double tap\n { range = cm.findWordAt(pos) }\n else // Triple tap\n { range = new Range(Pos(pos.line, 0), clipPos(cm.doc, Pos(pos.line + 1, 0))) }\n cm.setSelection(range.anchor, range.head)\n cm.focus()\n e_preventDefault(e)\n }\n finishTouch()\n })\n on(d.scroller, \"touchcancel\", finishTouch)\n\n // Sync scrolling between fake scrollbars and real scrollable\n // area, ensure viewport is updated when scrolling.\n on(d.scroller, \"scroll\", function () {\n if (d.scroller.clientHeight) {\n setScrollTop(cm, d.scroller.scrollTop)\n setScrollLeft(cm, d.scroller.scrollLeft, true)\n signal(cm, \"scroll\", cm)\n }\n })\n\n // Listen to wheel events in order to try and update the viewport on time.\n on(d.scroller, \"mousewheel\", function (e) { return onScrollWheel(cm, e); })\n on(d.scroller, \"DOMMouseScroll\", function (e) { return onScrollWheel(cm, e); })\n\n // Prevent wrapper from ever scrolling\n on(d.wrapper, \"scroll\", function () { return d.wrapper.scrollTop = d.wrapper.scrollLeft = 0; })\n\n d.dragFunctions = {\n enter: function (e) {if (!signalDOMEvent(cm, e)) { e_stop(e) }},\n over: function (e) {if (!signalDOMEvent(cm, e)) { onDragOver(cm, e); e_stop(e) }},\n start: function (e) { return onDragStart(cm, e); },\n drop: operation(cm, onDrop),\n leave: function (e) {if (!signalDOMEvent(cm, e)) { clearDragCursor(cm) }}\n }\n\n var inp = d.input.getField()\n on(inp, \"keyup\", function (e) { return onKeyUp.call(cm, e); })\n on(inp, \"keydown\", operation(cm, onKeyDown))\n on(inp, \"keypress\", operation(cm, onKeyPress))\n on(inp, \"focus\", function (e) { return onFocus(cm, e); })\n on(inp, \"blur\", function (e) { return onBlur(cm, e); })\n}\n\nvar initHooks = []\nCodeMirror.defineInitHook = function (f) { return initHooks.push(f); }\n\n// Indent the given line. The how parameter can be \"smart\",\n// \"add\"/null, \"subtract\", or \"prev\". When aggressive is false\n// (typically set to true for forced single-line indents), empty\n// lines are not indented, and places where the mode returns Pass\n// are left alone.\nfunction indentLine(cm, n, how, aggressive) {\n var doc = cm.doc, state\n if (how == null) { how = \"add\" }\n if (how == \"smart\") {\n // Fall back to \"prev\" when the mode doesn't have an indentation\n // method.\n if (!doc.mode.indent) { how = \"prev\" }\n else { state = getStateBefore(cm, n) }\n }\n\n var tabSize = cm.options.tabSize\n var line = getLine(doc, n), curSpace = countColumn(line.text, null, tabSize)\n if (line.stateAfter) { line.stateAfter = null }\n var curSpaceString = line.text.match(/^\\s*/)[0], indentation\n if (!aggressive && !/\\S/.test(line.text)) {\n indentation = 0\n how = \"not\"\n } else if (how == \"smart\") {\n indentation = doc.mode.indent(state, line.text.slice(curSpaceString.length), line.text)\n if (indentation == Pass || indentation > 150) {\n if (!aggressive) { return }\n how = \"prev\"\n }\n }\n if (how == \"prev\") {\n if (n > doc.first) { indentation = countColumn(getLine(doc, n-1).text, null, tabSize) }\n else { indentation = 0 }\n } else if (how == \"add\") {\n indentation = curSpace + cm.options.indentUnit\n } else if (how == \"subtract\") {\n indentation = curSpace - cm.options.indentUnit\n } else if (typeof how == \"number\") {\n indentation = curSpace + how\n }\n indentation = Math.max(0, indentation)\n\n var indentString = \"\", pos = 0\n if (cm.options.indentWithTabs)\n { for (var i = Math.floor(indentation / tabSize); i; --i) {pos += tabSize; indentString += \"\\t\"} }\n if (pos < indentation) { indentString += spaceStr(indentation - pos) }\n\n if (indentString != curSpaceString) {\n replaceRange(doc, indentString, Pos(n, 0), Pos(n, curSpaceString.length), \"+input\")\n line.stateAfter = null\n return true\n } else {\n // Ensure that, if the cursor was in the whitespace at the start\n // of the line, it is moved to the end of that space.\n for (var i$1 = 0; i$1 < doc.sel.ranges.length; i$1++) {\n var range = doc.sel.ranges[i$1]\n if (range.head.line == n && range.head.ch < curSpaceString.length) {\n var pos$1 = Pos(n, curSpaceString.length)\n replaceOneSelection(doc, i$1, new Range(pos$1, pos$1))\n break\n }\n }\n }\n}\n\n// This will be set to a {lineWise: bool, text: [string]} object, so\n// that, when pasting, we know what kind of selections the copied\n// text was made out of.\nvar lastCopied = null\n\nfunction setLastCopied(newLastCopied) {\n lastCopied = newLastCopied\n}\n\nfunction applyTextInput(cm, inserted, deleted, sel, origin) {\n var doc = cm.doc\n cm.display.shift = false\n if (!sel) { sel = doc.sel }\n\n var paste = cm.state.pasteIncoming || origin == \"paste\"\n var textLines = splitLinesAuto(inserted), multiPaste = null\n // When pasing N lines into N selections, insert one line per selection\n if (paste && sel.ranges.length > 1) {\n if (lastCopied && lastCopied.text.join(\"\\n\") == inserted) {\n if (sel.ranges.length % lastCopied.text.length == 0) {\n multiPaste = []\n for (var i = 0; i < lastCopied.text.length; i++)\n { multiPaste.push(doc.splitLines(lastCopied.text[i])) }\n }\n } else if (textLines.length == sel.ranges.length) {\n multiPaste = map(textLines, function (l) { return [l]; })\n }\n }\n\n var updateInput\n // Normal behavior is to insert the new text into every selection\n for (var i$1 = sel.ranges.length - 1; i$1 >= 0; i$1--) {\n var range = sel.ranges[i$1]\n var from = range.from(), to = range.to()\n if (range.empty()) {\n if (deleted && deleted > 0) // Handle deletion\n { from = Pos(from.line, from.ch - deleted) }\n else if (cm.state.overwrite && !paste) // Handle overwrite\n { to = Pos(to.line, Math.min(getLine(doc, to.line).text.length, to.ch + lst(textLines).length)) }\n else if (lastCopied && lastCopied.lineWise && lastCopied.text.join(\"\\n\") == inserted)\n { from = to = Pos(from.line, 0) }\n }\n updateInput = cm.curOp.updateInput\n var changeEvent = {from: from, to: to, text: multiPaste ? multiPaste[i$1 % multiPaste.length] : textLines,\n origin: origin || (paste ? \"paste\" : cm.state.cutIncoming ? \"cut\" : \"+input\")}\n makeChange(cm.doc, changeEvent)\n signalLater(cm, \"inputRead\", cm, changeEvent)\n }\n if (inserted && !paste)\n { triggerElectric(cm, inserted) }\n\n ensureCursorVisible(cm)\n cm.curOp.updateInput = updateInput\n cm.curOp.typing = true\n cm.state.pasteIncoming = cm.state.cutIncoming = false\n}\n\nfunction handlePaste(e, cm) {\n var pasted = e.clipboardData && e.clipboardData.getData(\"Text\")\n if (pasted) {\n e.preventDefault()\n if (!cm.isReadOnly() && !cm.options.disableInput)\n { runInOp(cm, function () { return applyTextInput(cm, pasted, 0, null, \"paste\"); }) }\n return true\n }\n}\n\nfunction triggerElectric(cm, inserted) {\n // When an 'electric' character is inserted, immediately trigger a reindent\n if (!cm.options.electricChars || !cm.options.smartIndent) { return }\n var sel = cm.doc.sel\n\n for (var i = sel.ranges.length - 1; i >= 0; i--) {\n var range = sel.ranges[i]\n if (range.head.ch > 100 || (i && sel.ranges[i - 1].head.line == range.head.line)) { continue }\n var mode = cm.getModeAt(range.head)\n var indented = false\n if (mode.electricChars) {\n for (var j = 0; j < mode.electricChars.length; j++)\n { if (inserted.indexOf(mode.electricChars.charAt(j)) > -1) {\n indented = indentLine(cm, range.head.line, \"smart\")\n break\n } }\n } else if (mode.electricInput) {\n if (mode.electricInput.test(getLine(cm.doc, range.head.line).text.slice(0, range.head.ch)))\n { indented = indentLine(cm, range.head.line, \"smart\") }\n }\n if (indented) { signalLater(cm, \"electricInput\", cm, range.head.line) }\n }\n}\n\nfunction copyableRanges(cm) {\n var text = [], ranges = []\n for (var i = 0; i < cm.doc.sel.ranges.length; i++) {\n var line = cm.doc.sel.ranges[i].head.line\n var lineRange = {anchor: Pos(line, 0), head: Pos(line + 1, 0)}\n ranges.push(lineRange)\n text.push(cm.getRange(lineRange.anchor, lineRange.head))\n }\n return {text: text, ranges: ranges}\n}\n\nfunction disableBrowserMagic(field, spellcheck) {\n field.setAttribute(\"autocorrect\", \"off\")\n field.setAttribute(\"autocapitalize\", \"off\")\n field.setAttribute(\"spellcheck\", !!spellcheck)\n}\n\nfunction hiddenTextarea() {\n var te = elt(\"textarea\", null, null, \"position: absolute; bottom: -1em; padding: 0; width: 1px; height: 1em; outline: none\")\n var div = elt(\"div\", [te], null, \"overflow: hidden; position: relative; width: 3px; height: 0px;\")\n // The textarea is kept positioned near the cursor to prevent the\n // fact that it'll be scrolled into view on input from scrolling\n // our fake cursor out of view. On webkit, when wrap=off, paste is\n // very slow. So make the area wide instead.\n if (webkit) { te.style.width = \"1000px\" }\n else { te.setAttribute(\"wrap\", \"off\") }\n // If border: 0; -- iOS fails to open keyboard (issue #1287)\n if (ios) { te.style.border = \"1px solid black\" }\n disableBrowserMagic(te)\n return div\n}\n\n// The publicly visible API. Note that methodOp(f) means\n// 'wrap f in an operation, performed on its `this` parameter'.\n\n// This is not the complete set of editor methods. Most of the\n// methods defined on the Doc type are also injected into\n// CodeMirror.prototype, for backwards compatibility and\n// convenience.\n\nfunction addEditorMethods(CodeMirror) {\n var optionHandlers = CodeMirror.optionHandlers\n\n var helpers = CodeMirror.helpers = {}\n\n CodeMirror.prototype = {\n constructor: CodeMirror,\n focus: function(){window.focus(); this.display.input.focus()},\n\n setOption: function(option, value) {\n var options = this.options, old = options[option]\n if (options[option] == value && option != \"mode\") { return }\n options[option] = value\n if (optionHandlers.hasOwnProperty(option))\n { operation(this, optionHandlers[option])(this, value, old) }\n signal(this, \"optionChange\", this, option)\n },\n\n getOption: function(option) {return this.options[option]},\n getDoc: function() {return this.doc},\n\n addKeyMap: function(map, bottom) {\n this.state.keyMaps[bottom ? \"push\" : \"unshift\"](getKeyMap(map))\n },\n removeKeyMap: function(map) {\n var maps = this.state.keyMaps\n for (var i = 0; i < maps.length; ++i)\n { if (maps[i] == map || maps[i].name == map) {\n maps.splice(i, 1)\n return true\n } }\n },\n\n addOverlay: methodOp(function(spec, options) {\n var mode = spec.token ? spec : CodeMirror.getMode(this.options, spec)\n if (mode.startState) { throw new Error(\"Overlays may not be stateful.\") }\n insertSorted(this.state.overlays,\n {mode: mode, modeSpec: spec, opaque: options && options.opaque,\n priority: (options && options.priority) || 0},\n function (overlay) { return overlay.priority; })\n this.state.modeGen++\n regChange(this)\n }),\n removeOverlay: methodOp(function(spec) {\n var this$1 = this;\n\n var overlays = this.state.overlays\n for (var i = 0; i < overlays.length; ++i) {\n var cur = overlays[i].modeSpec\n if (cur == spec || typeof spec == \"string\" && cur.name == spec) {\n overlays.splice(i, 1)\n this$1.state.modeGen++\n regChange(this$1)\n return\n }\n }\n }),\n\n indentLine: methodOp(function(n, dir, aggressive) {\n if (typeof dir != \"string\" && typeof dir != \"number\") {\n if (dir == null) { dir = this.options.smartIndent ? \"smart\" : \"prev\" }\n else { dir = dir ? \"add\" : \"subtract\" }\n }\n if (isLine(this.doc, n)) { indentLine(this, n, dir, aggressive) }\n }),\n indentSelection: methodOp(function(how) {\n var this$1 = this;\n\n var ranges = this.doc.sel.ranges, end = -1\n for (var i = 0; i < ranges.length; i++) {\n var range = ranges[i]\n if (!range.empty()) {\n var from = range.from(), to = range.to()\n var start = Math.max(end, from.line)\n end = Math.min(this$1.lastLine(), to.line - (to.ch ? 0 : 1)) + 1\n for (var j = start; j < end; ++j)\n { indentLine(this$1, j, how) }\n var newRanges = this$1.doc.sel.ranges\n if (from.ch == 0 && ranges.length == newRanges.length && newRanges[i].from().ch > 0)\n { replaceOneSelection(this$1.doc, i, new Range(from, newRanges[i].to()), sel_dontScroll) }\n } else if (range.head.line > end) {\n indentLine(this$1, range.head.line, how, true)\n end = range.head.line\n if (i == this$1.doc.sel.primIndex) { ensureCursorVisible(this$1) }\n }\n }\n }),\n\n // Fetch the parser token for a given character. Useful for hacks\n // that want to inspect the mode state (say, for completion).\n getTokenAt: function(pos, precise) {\n return takeToken(this, pos, precise)\n },\n\n getLineTokens: function(line, precise) {\n return takeToken(this, Pos(line), precise, true)\n },\n\n getTokenTypeAt: function(pos) {\n pos = clipPos(this.doc, pos)\n var styles = getLineStyles(this, getLine(this.doc, pos.line))\n var before = 0, after = (styles.length - 1) / 2, ch = pos.ch\n var type\n if (ch == 0) { type = styles[2] }\n else { for (;;) {\n var mid = (before + after) >> 1\n if ((mid ? styles[mid * 2 - 1] : 0) >= ch) { after = mid }\n else if (styles[mid * 2 + 1] < ch) { before = mid + 1 }\n else { type = styles[mid * 2 + 2]; break }\n } }\n var cut = type ? type.indexOf(\"overlay \") : -1\n return cut < 0 ? type : cut == 0 ? null : type.slice(0, cut - 1)\n },\n\n getModeAt: function(pos) {\n var mode = this.doc.mode\n if (!mode.innerMode) { return mode }\n return CodeMirror.innerMode(mode, this.getTokenAt(pos).state).mode\n },\n\n getHelper: function(pos, type) {\n return this.getHelpers(pos, type)[0]\n },\n\n getHelpers: function(pos, type) {\n var this$1 = this;\n\n var found = []\n if (!helpers.hasOwnProperty(type)) { return found }\n var help = helpers[type], mode = this.getModeAt(pos)\n if (typeof mode[type] == \"string\") {\n if (help[mode[type]]) { found.push(help[mode[type]]) }\n } else if (mode[type]) {\n for (var i = 0; i < mode[type].length; i++) {\n var val = help[mode[type][i]]\n if (val) { found.push(val) }\n }\n } else if (mode.helperType && help[mode.helperType]) {\n found.push(help[mode.helperType])\n } else if (help[mode.name]) {\n found.push(help[mode.name])\n }\n for (var i$1 = 0; i$1 < help._global.length; i$1++) {\n var cur = help._global[i$1]\n if (cur.pred(mode, this$1) && indexOf(found, cur.val) == -1)\n { found.push(cur.val) }\n }\n return found\n },\n\n getStateAfter: function(line, precise) {\n var doc = this.doc\n line = clipLine(doc, line == null ? doc.first + doc.size - 1: line)\n return getStateBefore(this, line + 1, precise)\n },\n\n cursorCoords: function(start, mode) {\n var pos, range = this.doc.sel.primary()\n if (start == null) { pos = range.head }\n else if (typeof start == \"object\") { pos = clipPos(this.doc, start) }\n else { pos = start ? range.from() : range.to() }\n return cursorCoords(this, pos, mode || \"page\")\n },\n\n charCoords: function(pos, mode) {\n return charCoords(this, clipPos(this.doc, pos), mode || \"page\")\n },\n\n coordsChar: function(coords, mode) {\n coords = fromCoordSystem(this, coords, mode || \"page\")\n return coordsChar(this, coords.left, coords.top)\n },\n\n lineAtHeight: function(height, mode) {\n height = fromCoordSystem(this, {top: height, left: 0}, mode || \"page\").top\n return lineAtHeight(this.doc, height + this.display.viewOffset)\n },\n heightAtLine: function(line, mode, includeWidgets) {\n var end = false, lineObj\n if (typeof line == \"number\") {\n var last = this.doc.first + this.doc.size - 1\n if (line < this.doc.first) { line = this.doc.first }\n else if (line > last) { line = last; end = true }\n lineObj = getLine(this.doc, line)\n } else {\n lineObj = line\n }\n return intoCoordSystem(this, lineObj, {top: 0, left: 0}, mode || \"page\", includeWidgets).top +\n (end ? this.doc.height - heightAtLine(lineObj) : 0)\n },\n\n defaultTextHeight: function() { return textHeight(this.display) },\n defaultCharWidth: function() { return charWidth(this.display) },\n\n getViewport: function() { return {from: this.display.viewFrom, to: this.display.viewTo}},\n\n addWidget: function(pos, node, scroll, vert, horiz) {\n var display = this.display\n pos = cursorCoords(this, clipPos(this.doc, pos))\n var top = pos.bottom, left = pos.left\n node.style.position = \"absolute\"\n node.setAttribute(\"cm-ignore-events\", \"true\")\n this.display.input.setUneditable(node)\n display.sizer.appendChild(node)\n if (vert == \"over\") {\n top = pos.top\n } else if (vert == \"above\" || vert == \"near\") {\n var vspace = Math.max(display.wrapper.clientHeight, this.doc.height),\n hspace = Math.max(display.sizer.clientWidth, display.lineSpace.clientWidth)\n // Default to positioning above (if specified and possible); otherwise default to positioning below\n if ((vert == 'above' || pos.bottom + node.offsetHeight > vspace) && pos.top > node.offsetHeight)\n { top = pos.top - node.offsetHeight }\n else if (pos.bottom + node.offsetHeight <= vspace)\n { top = pos.bottom }\n if (left + node.offsetWidth > hspace)\n { left = hspace - node.offsetWidth }\n }\n node.style.top = top + \"px\"\n node.style.left = node.style.right = \"\"\n if (horiz == \"right\") {\n left = display.sizer.clientWidth - node.offsetWidth\n node.style.right = \"0px\"\n } else {\n if (horiz == \"left\") { left = 0 }\n else if (horiz == \"middle\") { left = (display.sizer.clientWidth - node.offsetWidth) / 2 }\n node.style.left = left + \"px\"\n }\n if (scroll)\n { scrollIntoView(this, left, top, left + node.offsetWidth, top + node.offsetHeight) }\n },\n\n triggerOnKeyDown: methodOp(onKeyDown),\n triggerOnKeyPress: methodOp(onKeyPress),\n triggerOnKeyUp: onKeyUp,\n\n execCommand: function(cmd) {\n if (commands.hasOwnProperty(cmd))\n { return commands[cmd].call(null, this) }\n },\n\n triggerElectric: methodOp(function(text) { triggerElectric(this, text) }),\n\n findPosH: function(from, amount, unit, visually) {\n var this$1 = this;\n\n var dir = 1\n if (amount < 0) { dir = -1; amount = -amount }\n var cur = clipPos(this.doc, from)\n for (var i = 0; i < amount; ++i) {\n cur = findPosH(this$1.doc, cur, dir, unit, visually)\n if (cur.hitSide) { break }\n }\n return cur\n },\n\n moveH: methodOp(function(dir, unit) {\n var this$1 = this;\n\n this.extendSelectionsBy(function (range) {\n if (this$1.display.shift || this$1.doc.extend || range.empty())\n { return findPosH(this$1.doc, range.head, dir, unit, this$1.options.rtlMoveVisually) }\n else\n { return dir < 0 ? range.from() : range.to() }\n }, sel_move)\n }),\n\n deleteH: methodOp(function(dir, unit) {\n var sel = this.doc.sel, doc = this.doc\n if (sel.somethingSelected())\n { doc.replaceSelection(\"\", null, \"+delete\") }\n else\n { deleteNearSelection(this, function (range) {\n var other = findPosH(doc, range.head, dir, unit, false)\n return dir < 0 ? {from: other, to: range.head} : {from: range.head, to: other}\n }) }\n }),\n\n findPosV: function(from, amount, unit, goalColumn) {\n var this$1 = this;\n\n var dir = 1, x = goalColumn\n if (amount < 0) { dir = -1; amount = -amount }\n var cur = clipPos(this.doc, from)\n for (var i = 0; i < amount; ++i) {\n var coords = cursorCoords(this$1, cur, \"div\")\n if (x == null) { x = coords.left }\n else { coords.left = x }\n cur = findPosV(this$1, coords, dir, unit)\n if (cur.hitSide) { break }\n }\n return cur\n },\n\n moveV: methodOp(function(dir, unit) {\n var this$1 = this;\n\n var doc = this.doc, goals = []\n var collapse = !this.display.shift && !doc.extend && doc.sel.somethingSelected()\n doc.extendSelectionsBy(function (range) {\n if (collapse)\n { return dir < 0 ? range.from() : range.to() }\n var headPos = cursorCoords(this$1, range.head, \"div\")\n if (range.goalColumn != null) { headPos.left = range.goalColumn }\n goals.push(headPos.left)\n var pos = findPosV(this$1, headPos, dir, unit)\n if (unit == \"page\" && range == doc.sel.primary())\n { addToScrollPos(this$1, null, charCoords(this$1, pos, \"div\").top - headPos.top) }\n return pos\n }, sel_move)\n if (goals.length) { for (var i = 0; i < doc.sel.ranges.length; i++)\n { doc.sel.ranges[i].goalColumn = goals[i] } }\n }),\n\n // Find the word at the given position (as returned by coordsChar).\n findWordAt: function(pos) {\n var doc = this.doc, line = getLine(doc, pos.line).text\n var start = pos.ch, end = pos.ch\n if (line) {\n var helper = this.getHelper(pos, \"wordChars\")\n if ((pos.xRel < 0 || end == line.length) && start) { --start; } else { ++end }\n var startChar = line.charAt(start)\n var check = isWordChar(startChar, helper)\n ? function (ch) { return isWordChar(ch, helper); }\n : /\\s/.test(startChar) ? function (ch) { return /\\s/.test(ch); }\n : function (ch) { return (!/\\s/.test(ch) && !isWordChar(ch)); }\n while (start > 0 && check(line.charAt(start - 1))) { --start }\n while (end < line.length && check(line.charAt(end))) { ++end }\n }\n return new Range(Pos(pos.line, start), Pos(pos.line, end))\n },\n\n toggleOverwrite: function(value) {\n if (value != null && value == this.state.overwrite) { return }\n if (this.state.overwrite = !this.state.overwrite)\n { addClass(this.display.cursorDiv, \"CodeMirror-overwrite\") }\n else\n { rmClass(this.display.cursorDiv, \"CodeMirror-overwrite\") }\n\n signal(this, \"overwriteToggle\", this, this.state.overwrite)\n },\n hasFocus: function() { return this.display.input.getField() == activeElt() },\n isReadOnly: function() { return !!(this.options.readOnly || this.doc.cantEdit) },\n\n scrollTo: methodOp(function(x, y) {\n if (x != null || y != null) { resolveScrollToPos(this) }\n if (x != null) { this.curOp.scrollLeft = x }\n if (y != null) { this.curOp.scrollTop = y }\n }),\n getScrollInfo: function() {\n var scroller = this.display.scroller\n return {left: scroller.scrollLeft, top: scroller.scrollTop,\n height: scroller.scrollHeight - scrollGap(this) - this.display.barHeight,\n width: scroller.scrollWidth - scrollGap(this) - this.display.barWidth,\n clientHeight: displayHeight(this), clientWidth: displayWidth(this)}\n },\n\n scrollIntoView: methodOp(function(range, margin) {\n if (range == null) {\n range = {from: this.doc.sel.primary().head, to: null}\n if (margin == null) { margin = this.options.cursorScrollMargin }\n } else if (typeof range == \"number\") {\n range = {from: Pos(range, 0), to: null}\n } else if (range.from == null) {\n range = {from: range, to: null}\n }\n if (!range.to) { range.to = range.from }\n range.margin = margin || 0\n\n if (range.from.line != null) {\n resolveScrollToPos(this)\n this.curOp.scrollToPos = range\n } else {\n var sPos = calculateScrollPos(this, Math.min(range.from.left, range.to.left),\n Math.min(range.from.top, range.to.top) - range.margin,\n Math.max(range.from.right, range.to.right),\n Math.max(range.from.bottom, range.to.bottom) + range.margin)\n this.scrollTo(sPos.scrollLeft, sPos.scrollTop)\n }\n }),\n\n setSize: methodOp(function(width, height) {\n var this$1 = this;\n\n var interpret = function (val) { return typeof val == \"number\" || /^\\d+$/.test(String(val)) ? val + \"px\" : val; }\n if (width != null) { this.display.wrapper.style.width = interpret(width) }\n if (height != null) { this.display.wrapper.style.height = interpret(height) }\n if (this.options.lineWrapping) { clearLineMeasurementCache(this) }\n var lineNo = this.display.viewFrom\n this.doc.iter(lineNo, this.display.viewTo, function (line) {\n if (line.widgets) { for (var i = 0; i < line.widgets.length; i++)\n { if (line.widgets[i].noHScroll) { regLineChange(this$1, lineNo, \"widget\"); break } } }\n ++lineNo\n })\n this.curOp.forceUpdate = true\n signal(this, \"refresh\", this)\n }),\n\n operation: function(f){return runInOp(this, f)},\n\n refresh: methodOp(function() {\n var oldHeight = this.display.cachedTextHeight\n regChange(this)\n this.curOp.forceUpdate = true\n clearCaches(this)\n this.scrollTo(this.doc.scrollLeft, this.doc.scrollTop)\n updateGutterSpace(this)\n if (oldHeight == null || Math.abs(oldHeight - textHeight(this.display)) > .5)\n { estimateLineHeights(this) }\n signal(this, \"refresh\", this)\n }),\n\n swapDoc: methodOp(function(doc) {\n var old = this.doc\n old.cm = null\n attachDoc(this, doc)\n clearCaches(this)\n this.display.input.reset()\n this.scrollTo(doc.scrollLeft, doc.scrollTop)\n this.curOp.forceScroll = true\n signalLater(this, \"swapDoc\", this, old)\n return old\n }),\n\n getInputField: function(){return this.display.input.getField()},\n getWrapperElement: function(){return this.display.wrapper},\n getScrollerElement: function(){return this.display.scroller},\n getGutterElement: function(){return this.display.gutters}\n }\n eventMixin(CodeMirror)\n\n CodeMirror.registerHelper = function(type, name, value) {\n if (!helpers.hasOwnProperty(type)) { helpers[type] = CodeMirror[type] = {_global: []} }\n helpers[type][name] = value\n }\n CodeMirror.registerGlobalHelper = function(type, name, predicate, value) {\n CodeMirror.registerHelper(type, name, value)\n helpers[type]._global.push({pred: predicate, val: value})\n }\n}\n\n// Used for horizontal relative motion. Dir is -1 or 1 (left or\n// right), unit can be \"char\", \"column\" (like char, but doesn't\n// cross line boundaries), \"word\" (across next word), or \"group\" (to\n// the start of next group of word or non-word-non-whitespace\n// chars). The visually param controls whether, in right-to-left\n// text, direction 1 means to move towards the next index in the\n// string, or towards the character to the right of the current\n// position. The resulting position will have a hitSide=true\n// property if it reached the end of the document.\nfunction findPosH(doc, pos, dir, unit, visually) {\n var line = pos.line, ch = pos.ch, origDir = dir\n var lineObj = getLine(doc, line)\n function findNextLine() {\n var l = line + dir\n if (l < doc.first || l >= doc.first + doc.size) { return false }\n line = l\n return lineObj = getLine(doc, l)\n }\n function moveOnce(boundToLine) {\n var next = (visually ? moveVisually : moveLogically)(lineObj, ch, dir, true)\n if (next == null) {\n if (!boundToLine && findNextLine()) {\n if (visually) { ch = (dir < 0 ? lineRight : lineLeft)(lineObj) }\n else { ch = dir < 0 ? lineObj.text.length : 0 }\n } else { return false }\n } else { ch = next }\n return true\n }\n\n if (unit == \"char\") {\n moveOnce()\n } else if (unit == \"column\") {\n moveOnce(true)\n } else if (unit == \"word\" || unit == \"group\") {\n var sawType = null, group = unit == \"group\"\n var helper = doc.cm && doc.cm.getHelper(pos, \"wordChars\")\n for (var first = true;; first = false) {\n if (dir < 0 && !moveOnce(!first)) { break }\n var cur = lineObj.text.charAt(ch) || \"\\n\"\n var type = isWordChar(cur, helper) ? \"w\"\n : group && cur == \"\\n\" ? \"n\"\n : !group || /\\s/.test(cur) ? null\n : \"p\"\n if (group && !first && !type) { type = \"s\" }\n if (sawType && sawType != type) {\n if (dir < 0) {dir = 1; moveOnce()}\n break\n }\n\n if (type) { sawType = type }\n if (dir > 0 && !moveOnce(!first)) { break }\n }\n }\n var result = skipAtomic(doc, Pos(line, ch), pos, origDir, true)\n if (!cmp(pos, result)) { result.hitSide = true }\n return result\n}\n\n// For relative vertical movement. Dir may be -1 or 1. Unit can be\n// \"page\" or \"line\". The resulting position will have a hitSide=true\n// property if it reached the end of the document.\nfunction findPosV(cm, pos, dir, unit) {\n var doc = cm.doc, x = pos.left, y\n if (unit == \"page\") {\n var pageSize = Math.min(cm.display.wrapper.clientHeight, window.innerHeight || document.documentElement.clientHeight)\n var moveAmount = Math.max(pageSize - .5 * textHeight(cm.display), 3)\n y = (dir > 0 ? pos.bottom : pos.top) + dir * moveAmount\n\n } else if (unit == \"line\") {\n y = dir > 0 ? pos.bottom + 3 : pos.top - 3\n }\n var target\n for (;;) {\n target = coordsChar(cm, x, y)\n if (!target.outside) { break }\n if (dir < 0 ? y <= 0 : y >= doc.height) { target.hitSide = true; break }\n y += dir * 5\n }\n return target\n}\n\n// CONTENTEDITABLE INPUT STYLE\n\nvar ContentEditableInput = function(cm) {\n this.cm = cm\n this.lastAnchorNode = this.lastAnchorOffset = this.lastFocusNode = this.lastFocusOffset = null\n this.polling = new Delayed()\n this.composing = null\n this.gracePeriod = false\n this.readDOMTimeout = null\n};\n\nContentEditableInput.prototype.init = function (display) {\n var this$1 = this;\n\n var input = this, cm = input.cm\n var div = input.div = display.lineDiv\n disableBrowserMagic(div, cm.options.spellcheck)\n\n on(div, \"paste\", function (e) {\n if (signalDOMEvent(cm, e) || handlePaste(e, cm)) { return }\n // IE doesn't fire input events, so we schedule a read for the pasted content in this way\n if (ie_version <= 11) { setTimeout(operation(cm, function () {\n if (!input.pollContent()) { regChange(cm) }\n }), 20) }\n })\n\n on(div, \"compositionstart\", function (e) {\n this$1.composing = {data: e.data, done: false}\n })\n on(div, \"compositionupdate\", function (e) {\n if (!this$1.composing) { this$1.composing = {data: e.data, done: false} }\n })\n on(div, \"compositionend\", function (e) {\n if (this$1.composing) {\n if (e.data != this$1.composing.data) { this$1.readFromDOMSoon() }\n this$1.composing.done = true\n }\n })\n\n on(div, \"touchstart\", function () { return input.forceCompositionEnd(); })\n\n on(div, \"input\", function () {\n if (!this$1.composing) { this$1.readFromDOMSoon() }\n })\n\n function onCopyCut(e) {\n if (signalDOMEvent(cm, e)) { return }\n if (cm.somethingSelected()) {\n setLastCopied({lineWise: false, text: cm.getSelections()})\n if (e.type == \"cut\") { cm.replaceSelection(\"\", null, \"cut\") }\n } else if (!cm.options.lineWiseCopyCut) {\n return\n } else {\n var ranges = copyableRanges(cm)\n setLastCopied({lineWise: true, text: ranges.text})\n if (e.type == \"cut\") {\n cm.operation(function () {\n cm.setSelections(ranges.ranges, 0, sel_dontScroll)\n cm.replaceSelection(\"\", null, \"cut\")\n })\n }\n }\n if (e.clipboardData) {\n e.clipboardData.clearData()\n var content = lastCopied.text.join(\"\\n\")\n // iOS exposes the clipboard API, but seems to discard content inserted into it\n e.clipboardData.setData(\"Text\", content)\n if (e.clipboardData.getData(\"Text\") == content) {\n e.preventDefault()\n return\n }\n }\n // Old-fashioned briefly-focus-a-textarea hack\n var kludge = hiddenTextarea(), te = kludge.firstChild\n cm.display.lineSpace.insertBefore(kludge, cm.display.lineSpace.firstChild)\n te.value = lastCopied.text.join(\"\\n\")\n var hadFocus = document.activeElement\n selectInput(te)\n setTimeout(function () {\n cm.display.lineSpace.removeChild(kludge)\n hadFocus.focus()\n if (hadFocus == div) { input.showPrimarySelection() }\n }, 50)\n }\n on(div, \"copy\", onCopyCut)\n on(div, \"cut\", onCopyCut)\n};\n\nContentEditableInput.prototype.prepareSelection = function () {\n var result = prepareSelection(this.cm, false)\n result.focus = this.cm.state.focused\n return result\n};\n\nContentEditableInput.prototype.showSelection = function (info, takeFocus) {\n if (!info || !this.cm.display.view.length) { return }\n if (info.focus || takeFocus) { this.showPrimarySelection() }\n this.showMultipleSelections(info)\n};\n\nContentEditableInput.prototype.showPrimarySelection = function () {\n var sel = window.getSelection(), prim = this.cm.doc.sel.primary()\n var curAnchor = domToPos(this.cm, sel.anchorNode, sel.anchorOffset)\n var curFocus = domToPos(this.cm, sel.focusNode, sel.focusOffset)\n if (curAnchor && !curAnchor.bad && curFocus && !curFocus.bad &&\n cmp(minPos(curAnchor, curFocus), prim.from()) == 0 &&\n cmp(maxPos(curAnchor, curFocus), prim.to()) == 0)\n { return }\n\n var start = posToDOM(this.cm, prim.from())\n var end = posToDOM(this.cm, prim.to())\n if (!start && !end) { return }\n\n var view = this.cm.display.view\n var old = sel.rangeCount && sel.getRangeAt(0)\n if (!start) {\n start = {node: view[0].measure.map[2], offset: 0}\n } else if (!end) { // FIXME dangerously hacky\n var measure = view[view.length - 1].measure\n var map = measure.maps ? measure.maps[measure.maps.length - 1] : measure.map\n end = {node: map[map.length - 1], offset: map[map.length - 2] - map[map.length - 3]}\n }\n\n var rng\n try { rng = range(start.node, start.offset, end.offset, end.node) }\n catch(e) {} // Our model of the DOM might be outdated, in which case the range we try to set can be impossible\n if (rng) {\n if (!gecko && this.cm.state.focused) {\n sel.collapse(start.node, start.offset)\n if (!rng.collapsed) {\n sel.removeAllRanges()\n sel.addRange(rng)\n }\n } else {\n sel.removeAllRanges()\n sel.addRange(rng)\n }\n if (old && sel.anchorNode == null) { sel.addRange(old) }\n else if (gecko) { this.startGracePeriod() }\n }\n this.rememberSelection()\n};\n\nContentEditableInput.prototype.startGracePeriod = function () {\n var this$1 = this;\n\n clearTimeout(this.gracePeriod)\n this.gracePeriod = setTimeout(function () {\n this$1.gracePeriod = false\n if (this$1.selectionChanged())\n { this$1.cm.operation(function () { return this$1.cm.curOp.selectionChanged = true; }) }\n }, 20)\n};\n\nContentEditableInput.prototype.showMultipleSelections = function (info) {\n removeChildrenAndAdd(this.cm.display.cursorDiv, info.cursors)\n removeChildrenAndAdd(this.cm.display.selectionDiv, info.selection)\n};\n\nContentEditableInput.prototype.rememberSelection = function () {\n var sel = window.getSelection()\n this.lastAnchorNode = sel.anchorNode; this.lastAnchorOffset = sel.anchorOffset\n this.lastFocusNode = sel.focusNode; this.lastFocusOffset = sel.focusOffset\n};\n\nContentEditableInput.prototype.selectionInEditor = function () {\n var sel = window.getSelection()\n if (!sel.rangeCount) { return false }\n var node = sel.getRangeAt(0).commonAncestorContainer\n return contains(this.div, node)\n};\n\nContentEditableInput.prototype.focus = function () {\n if (this.cm.options.readOnly != \"nocursor\") {\n if (!this.selectionInEditor())\n { this.showSelection(this.prepareSelection(), true) }\n this.div.focus()\n }\n};\nContentEditableInput.prototype.blur = function () { this.div.blur() };\nContentEditableInput.prototype.getField = function () { return this.div };\n\nContentEditableInput.prototype.supportsTouch = function () { return true };\n\nContentEditableInput.prototype.receivedFocus = function () {\n var input = this\n if (this.selectionInEditor())\n { this.pollSelection() }\n else\n { runInOp(this.cm, function () { return input.cm.curOp.selectionChanged = true; }) }\n\n function poll() {\n if (input.cm.state.focused) {\n input.pollSelection()\n input.polling.set(input.cm.options.pollInterval, poll)\n }\n }\n this.polling.set(this.cm.options.pollInterval, poll)\n};\n\nContentEditableInput.prototype.selectionChanged = function () {\n var sel = window.getSelection()\n return sel.anchorNode != this.lastAnchorNode || sel.anchorOffset != this.lastAnchorOffset ||\n sel.focusNode != this.lastFocusNode || sel.focusOffset != this.lastFocusOffset\n};\n\nContentEditableInput.prototype.pollSelection = function () {\n if (!this.composing && this.readDOMTimeout == null && !this.gracePeriod && this.selectionChanged()) {\n var sel = window.getSelection(), cm = this.cm\n this.rememberSelection()\n var anchor = domToPos(cm, sel.anchorNode, sel.anchorOffset)\n var head = domToPos(cm, sel.focusNode, sel.focusOffset)\n if (anchor && head) { runInOp(cm, function () {\n setSelection(cm.doc, simpleSelection(anchor, head), sel_dontScroll)\n if (anchor.bad || head.bad) { cm.curOp.selectionChanged = true }\n }) }\n }\n};\n\nContentEditableInput.prototype.pollContent = function () {\n if (this.readDOMTimeout != null) {\n clearTimeout(this.readDOMTimeout)\n this.readDOMTimeout = null\n }\n\n var cm = this.cm, display = cm.display, sel = cm.doc.sel.primary()\n var from = sel.from(), to = sel.to()\n if (from.ch == 0 && from.line > cm.firstLine())\n { from = Pos(from.line - 1, getLine(cm.doc, from.line - 1).length) }\n if (to.ch == getLine(cm.doc, to.line).text.length && to.line < cm.lastLine())\n { to = Pos(to.line + 1, 0) }\n if (from.line < display.viewFrom || to.line > display.viewTo - 1) { return false }\n\n var fromIndex, fromLine, fromNode\n if (from.line == display.viewFrom || (fromIndex = findViewIndex(cm, from.line)) == 0) {\n fromLine = lineNo(display.view[0].line)\n fromNode = display.view[0].node\n } else {\n fromLine = lineNo(display.view[fromIndex].line)\n fromNode = display.view[fromIndex - 1].node.nextSibling\n }\n var toIndex = findViewIndex(cm, to.line)\n var toLine, toNode\n if (toIndex == display.view.length - 1) {\n toLine = display.viewTo - 1\n toNode = display.lineDiv.lastChild\n } else {\n toLine = lineNo(display.view[toIndex + 1].line) - 1\n toNode = display.view[toIndex + 1].node.previousSibling\n }\n\n if (!fromNode) { return false }\n var newText = cm.doc.splitLines(domTextBetween(cm, fromNode, toNode, fromLine, toLine))\n var oldText = getBetween(cm.doc, Pos(fromLine, 0), Pos(toLine, getLine(cm.doc, toLine).text.length))\n while (newText.length > 1 && oldText.length > 1) {\n if (lst(newText) == lst(oldText)) { newText.pop(); oldText.pop(); toLine-- }\n else if (newText[0] == oldText[0]) { newText.shift(); oldText.shift(); fromLine++ }\n else { break }\n }\n\n var cutFront = 0, cutEnd = 0\n var newTop = newText[0], oldTop = oldText[0], maxCutFront = Math.min(newTop.length, oldTop.length)\n while (cutFront < maxCutFront && newTop.charCodeAt(cutFront) == oldTop.charCodeAt(cutFront))\n { ++cutFront }\n var newBot = lst(newText), oldBot = lst(oldText)\n var maxCutEnd = Math.min(newBot.length - (newText.length == 1 ? cutFront : 0),\n oldBot.length - (oldText.length == 1 ? cutFront : 0))\n while (cutEnd < maxCutEnd &&\n newBot.charCodeAt(newBot.length - cutEnd - 1) == oldBot.charCodeAt(oldBot.length - cutEnd - 1))\n { ++cutEnd }\n\n newText[newText.length - 1] = newBot.slice(0, newBot.length - cutEnd).replace(/^\\u200b+/, \"\")\n newText[0] = newText[0].slice(cutFront).replace(/\\u200b+$/, \"\")\n\n var chFrom = Pos(fromLine, cutFront)\n var chTo = Pos(toLine, oldText.length ? lst(oldText).length - cutEnd : 0)\n if (newText.length > 1 || newText[0] || cmp(chFrom, chTo)) {\n replaceRange(cm.doc, newText, chFrom, chTo, \"+input\")\n return true\n }\n};\n\nContentEditableInput.prototype.ensurePolled = function () {\n this.forceCompositionEnd()\n};\nContentEditableInput.prototype.reset = function () {\n this.forceCompositionEnd()\n};\nContentEditableInput.prototype.forceCompositionEnd = function () {\n if (!this.composing) { return }\n clearTimeout(this.readDOMTimeout)\n this.composing = null\n if (!this.pollContent()) { regChange(this.cm) }\n this.div.blur()\n this.div.focus()\n};\nContentEditableInput.prototype.readFromDOMSoon = function () {\n var this$1 = this;\n\n if (this.readDOMTimeout != null) { return }\n this.readDOMTimeout = setTimeout(function () {\n this$1.readDOMTimeout = null\n if (this$1.composing) {\n if (this$1.composing.done) { this$1.composing = null }\n else { return }\n }\n if (this$1.cm.isReadOnly() || !this$1.pollContent())\n { runInOp(this$1.cm, function () { return regChange(this$1.cm); }) }\n }, 80)\n};\n\nContentEditableInput.prototype.setUneditable = function (node) {\n node.contentEditable = \"false\"\n};\n\nContentEditableInput.prototype.onKeyPress = function (e) {\n e.preventDefault()\n if (!this.cm.isReadOnly())\n { operation(this.cm, applyTextInput)(this.cm, String.fromCharCode(e.charCode == null ? e.keyCode : e.charCode), 0) }\n};\n\nContentEditableInput.prototype.readOnlyChanged = function (val) {\n this.div.contentEditable = String(val != \"nocursor\")\n};\n\nContentEditableInput.prototype.onContextMenu = function () {};\nContentEditableInput.prototype.resetPosition = function () {};\n\nContentEditableInput.prototype.needsContentAttribute = true\n\nfunction posToDOM(cm, pos) {\n var view = findViewForLine(cm, pos.line)\n if (!view || view.hidden) { return null }\n var line = getLine(cm.doc, pos.line)\n var info = mapFromLineView(view, line, pos.line)\n\n var order = getOrder(line), side = \"left\"\n if (order) {\n var partPos = getBidiPartAt(order, pos.ch)\n side = partPos % 2 ? \"right\" : \"left\"\n }\n var result = nodeAndOffsetInLineMap(info.map, pos.ch, side)\n result.offset = result.collapse == \"right\" ? result.end : result.start\n return result\n}\n\nfunction badPos(pos, bad) { if (bad) { pos.bad = true; } return pos }\n\nfunction domTextBetween(cm, from, to, fromLine, toLine) {\n var text = \"\", closing = false, lineSep = cm.doc.lineSeparator()\n function recognizeMarker(id) { return function (marker) { return marker.id == id; } }\n function walk(node) {\n if (node.nodeType == 1) {\n var cmText = node.getAttribute(\"cm-text\")\n if (cmText != null) {\n if (cmText == \"\") { text += node.textContent.replace(/\\u200b/g, \"\") }\n else { text += cmText }\n return\n }\n var markerID = node.getAttribute(\"cm-marker\"), range\n if (markerID) {\n var found = cm.findMarks(Pos(fromLine, 0), Pos(toLine + 1, 0), recognizeMarker(+markerID))\n if (found.length && (range = found[0].find()))\n { text += getBetween(cm.doc, range.from, range.to).join(lineSep) }\n return\n }\n if (node.getAttribute(\"contenteditable\") == \"false\") { return }\n for (var i = 0; i < node.childNodes.length; i++)\n { walk(node.childNodes[i]) }\n if (/^(pre|div|p)$/i.test(node.nodeName))\n { closing = true }\n } else if (node.nodeType == 3) {\n var val = node.nodeValue\n if (!val) { return }\n if (closing) {\n text += lineSep\n closing = false\n }\n text += val\n }\n }\n for (;;) {\n walk(from)\n if (from == to) { break }\n from = from.nextSibling\n }\n return text\n}\n\nfunction domToPos(cm, node, offset) {\n var lineNode\n if (node == cm.display.lineDiv) {\n lineNode = cm.display.lineDiv.childNodes[offset]\n if (!lineNode) { return badPos(cm.clipPos(Pos(cm.display.viewTo - 1)), true) }\n node = null; offset = 0\n } else {\n for (lineNode = node;; lineNode = lineNode.parentNode) {\n if (!lineNode || lineNode == cm.display.lineDiv) { return null }\n if (lineNode.parentNode && lineNode.parentNode == cm.display.lineDiv) { break }\n }\n }\n for (var i = 0; i < cm.display.view.length; i++) {\n var lineView = cm.display.view[i]\n if (lineView.node == lineNode)\n { return locateNodeInLineView(lineView, node, offset) }\n }\n}\n\nfunction locateNodeInLineView(lineView, node, offset) {\n var wrapper = lineView.text.firstChild, bad = false\n if (!node || !contains(wrapper, node)) { return badPos(Pos(lineNo(lineView.line), 0), true) }\n if (node == wrapper) {\n bad = true\n node = wrapper.childNodes[offset]\n offset = 0\n if (!node) {\n var line = lineView.rest ? lst(lineView.rest) : lineView.line\n return badPos(Pos(lineNo(line), line.text.length), bad)\n }\n }\n\n var textNode = node.nodeType == 3 ? node : null, topNode = node\n if (!textNode && node.childNodes.length == 1 && node.firstChild.nodeType == 3) {\n textNode = node.firstChild\n if (offset) { offset = textNode.nodeValue.length }\n }\n while (topNode.parentNode != wrapper) { topNode = topNode.parentNode }\n var measure = lineView.measure, maps = measure.maps\n\n function find(textNode, topNode, offset) {\n for (var i = -1; i < (maps ? maps.length : 0); i++) {\n var map = i < 0 ? measure.map : maps[i]\n for (var j = 0; j < map.length; j += 3) {\n var curNode = map[j + 2]\n if (curNode == textNode || curNode == topNode) {\n var line = lineNo(i < 0 ? lineView.line : lineView.rest[i])\n var ch = map[j] + offset\n if (offset < 0 || curNode != textNode) { ch = map[j + (offset ? 1 : 0)] }\n return Pos(line, ch)\n }\n }\n }\n }\n var found = find(textNode, topNode, offset)\n if (found) { return badPos(found, bad) }\n\n // FIXME this is all really shaky. might handle the few cases it needs to handle, but likely to cause problems\n for (var after = topNode.nextSibling, dist = textNode ? textNode.nodeValue.length - offset : 0; after; after = after.nextSibling) {\n found = find(after, after.firstChild, 0)\n if (found)\n { return badPos(Pos(found.line, found.ch - dist), bad) }\n else\n { dist += after.textContent.length }\n }\n for (var before = topNode.previousSibling, dist$1 = offset; before; before = before.previousSibling) {\n found = find(before, before.firstChild, -1)\n if (found)\n { return badPos(Pos(found.line, found.ch + dist$1), bad) }\n else\n { dist$1 += before.textContent.length }\n }\n}\n\n// TEXTAREA INPUT STYLE\n\nvar TextareaInput = function(cm) {\n this.cm = cm\n // See input.poll and input.reset\n this.prevInput = \"\"\n\n // Flag that indicates whether we expect input to appear real soon\n // now (after some event like 'keypress' or 'input') and are\n // polling intensively.\n this.pollingFast = false\n // Self-resetting timeout for the poller\n this.polling = new Delayed()\n // Tracks when input.reset has punted to just putting a short\n // string into the textarea instead of the full selection.\n this.inaccurateSelection = false\n // Used to work around IE issue with selection being forgotten when focus moves away from textarea\n this.hasSelection = false\n this.composing = null\n};\n\nTextareaInput.prototype.init = function (display) {\n var this$1 = this;\n\n var input = this, cm = this.cm\n\n // Wraps and hides input textarea\n var div = this.wrapper = hiddenTextarea()\n // The semihidden textarea that is focused when the editor is\n // focused, and receives input.\n var te = this.textarea = div.firstChild\n display.wrapper.insertBefore(div, display.wrapper.firstChild)\n\n // Needed to hide big blue blinking cursor on Mobile Safari (doesn't seem to work in iOS 8 anymore)\n if (ios) { te.style.width = \"0px\" }\n\n on(te, \"input\", function () {\n if (ie && ie_version >= 9 && this$1.hasSelection) { this$1.hasSelection = null }\n input.poll()\n })\n\n on(te, \"paste\", function (e) {\n if (signalDOMEvent(cm, e) || handlePaste(e, cm)) { return }\n\n cm.state.pasteIncoming = true\n input.fastPoll()\n })\n\n function prepareCopyCut(e) {\n if (signalDOMEvent(cm, e)) { return }\n if (cm.somethingSelected()) {\n setLastCopied({lineWise: false, text: cm.getSelections()})\n if (input.inaccurateSelection) {\n input.prevInput = \"\"\n input.inaccurateSelection = false\n te.value = lastCopied.text.join(\"\\n\")\n selectInput(te)\n }\n } else if (!cm.options.lineWiseCopyCut) {\n return\n } else {\n var ranges = copyableRanges(cm)\n setLastCopied({lineWise: true, text: ranges.text})\n if (e.type == \"cut\") {\n cm.setSelections(ranges.ranges, null, sel_dontScroll)\n } else {\n input.prevInput = \"\"\n te.value = ranges.text.join(\"\\n\")\n selectInput(te)\n }\n }\n if (e.type == \"cut\") { cm.state.cutIncoming = true }\n }\n on(te, \"cut\", prepareCopyCut)\n on(te, \"copy\", prepareCopyCut)\n\n on(display.scroller, \"paste\", function (e) {\n if (eventInWidget(display, e) || signalDOMEvent(cm, e)) { return }\n cm.state.pasteIncoming = true\n input.focus()\n })\n\n // Prevent normal selection in the editor (we handle our own)\n on(display.lineSpace, \"selectstart\", function (e) {\n if (!eventInWidget(display, e)) { e_preventDefault(e) }\n })\n\n on(te, \"compositionstart\", function () {\n var start = cm.getCursor(\"from\")\n if (input.composing) { input.composing.range.clear() }\n input.composing = {\n start: start,\n range: cm.markText(start, cm.getCursor(\"to\"), {className: \"CodeMirror-composing\"})\n }\n })\n on(te, \"compositionend\", function () {\n if (input.composing) {\n input.poll()\n input.composing.range.clear()\n input.composing = null\n }\n })\n};\n\nTextareaInput.prototype.prepareSelection = function () {\n // Redraw the selection and/or cursor\n var cm = this.cm, display = cm.display, doc = cm.doc\n var result = prepareSelection(cm)\n\n // Move the hidden textarea near the cursor to prevent scrolling artifacts\n if (cm.options.moveInputWithCursor) {\n var headPos = cursorCoords(cm, doc.sel.primary().head, \"div\")\n var wrapOff = display.wrapper.getBoundingClientRect(), lineOff = display.lineDiv.getBoundingClientRect()\n result.teTop = Math.max(0, Math.min(display.wrapper.clientHeight - 10,\n headPos.top + lineOff.top - wrapOff.top))\n result.teLeft = Math.max(0, Math.min(display.wrapper.clientWidth - 10,\n headPos.left + lineOff.left - wrapOff.left))\n }\n\n return result\n};\n\nTextareaInput.prototype.showSelection = function (drawn) {\n var cm = this.cm, display = cm.display\n removeChildrenAndAdd(display.cursorDiv, drawn.cursors)\n removeChildrenAndAdd(display.selectionDiv, drawn.selection)\n if (drawn.teTop != null) {\n this.wrapper.style.top = drawn.teTop + \"px\"\n this.wrapper.style.left = drawn.teLeft + \"px\"\n }\n};\n\n// Reset the input to correspond to the selection (or to be empty,\n// when not typing and nothing is selected)\nTextareaInput.prototype.reset = function (typing) {\n if (this.contextMenuPending) { return }\n var minimal, selected, cm = this.cm, doc = cm.doc\n if (cm.somethingSelected()) {\n this.prevInput = \"\"\n var range = doc.sel.primary()\n minimal = hasCopyEvent &&\n (range.to().line - range.from().line > 100 || (selected = cm.getSelection()).length > 1000)\n var content = minimal ? \"-\" : selected || cm.getSelection()\n this.textarea.value = content\n if (cm.state.focused) { selectInput(this.textarea) }\n if (ie && ie_version >= 9) { this.hasSelection = content }\n } else if (!typing) {\n this.prevInput = this.textarea.value = \"\"\n if (ie && ie_version >= 9) { this.hasSelection = null }\n }\n this.inaccurateSelection = minimal\n};\n\nTextareaInput.prototype.getField = function () { return this.textarea };\n\nTextareaInput.prototype.supportsTouch = function () { return false };\n\nTextareaInput.prototype.focus = function () {\n if (this.cm.options.readOnly != \"nocursor\" && (!mobile || activeElt() != this.textarea)) {\n try { this.textarea.focus() }\n catch (e) {} // IE8 will throw if the textarea is display: none or not in DOM\n }\n};\n\nTextareaInput.prototype.blur = function () { this.textarea.blur() };\n\nTextareaInput.prototype.resetPosition = function () {\n this.wrapper.style.top = this.wrapper.style.left = 0\n};\n\nTextareaInput.prototype.receivedFocus = function () { this.slowPoll() };\n\n// Poll for input changes, using the normal rate of polling. This\n// runs as long as the editor is focused.\nTextareaInput.prototype.slowPoll = function () {\n var this$1 = this;\n\n if (this.pollingFast) { return }\n this.polling.set(this.cm.options.pollInterval, function () {\n this$1.poll()\n if (this$1.cm.state.focused) { this$1.slowPoll() }\n })\n};\n\n// When an event has just come in that is likely to add or change\n// something in the input textarea, we poll faster, to ensure that\n// the change appears on the screen quickly.\nTextareaInput.prototype.fastPoll = function () {\n var missed = false, input = this\n input.pollingFast = true\n function p() {\n var changed = input.poll()\n if (!changed && !missed) {missed = true; input.polling.set(60, p)}\n else {input.pollingFast = false; input.slowPoll()}\n }\n input.polling.set(20, p)\n};\n\n// Read input from the textarea, and update the document to match.\n// When something is selected, it is present in the textarea, and\n// selected (unless it is huge, in which case a placeholder is\n// used). When nothing is selected, the cursor sits after previously\n// seen text (can be empty), which is stored in prevInput (we must\n// not reset the textarea when typing, because that breaks IME).\nTextareaInput.prototype.poll = function () {\n var this$1 = this;\n\n var cm = this.cm, input = this.textarea, prevInput = this.prevInput\n // Since this is called a *lot*, try to bail out as cheaply as\n // possible when it is clear that nothing happened. hasSelection\n // will be the case when there is a lot of text in the textarea,\n // in which case reading its value would be expensive.\n if (this.contextMenuPending || !cm.state.focused ||\n (hasSelection(input) && !prevInput && !this.composing) ||\n cm.isReadOnly() || cm.options.disableInput || cm.state.keySeq)\n { return false }\n\n var text = input.value\n // If nothing changed, bail.\n if (text == prevInput && !cm.somethingSelected()) { return false }\n // Work around nonsensical selection resetting in IE9/10, and\n // inexplicable appearance of private area unicode characters on\n // some key combos in Mac (#2689).\n if (ie && ie_version >= 9 && this.hasSelection === text ||\n mac && /[\\uf700-\\uf7ff]/.test(text)) {\n cm.display.input.reset()\n return false\n }\n\n if (cm.doc.sel == cm.display.selForContextMenu) {\n var first = text.charCodeAt(0)\n if (first == 0x200b && !prevInput) { prevInput = \"\\u200b\" }\n if (first == 0x21da) { this.reset(); return this.cm.execCommand(\"undo\") }\n }\n // Find the part of the input that is actually new\n var same = 0, l = Math.min(prevInput.length, text.length)\n while (same < l && prevInput.charCodeAt(same) == text.charCodeAt(same)) { ++same }\n\n runInOp(cm, function () {\n applyTextInput(cm, text.slice(same), prevInput.length - same,\n null, this$1.composing ? \"*compose\" : null)\n\n // Don't leave long text in the textarea, since it makes further polling slow\n if (text.length > 1000 || text.indexOf(\"\\n\") > -1) { input.value = this$1.prevInput = \"\" }\n else { this$1.prevInput = text }\n\n if (this$1.composing) {\n this$1.composing.range.clear()\n this$1.composing.range = cm.markText(this$1.composing.start, cm.getCursor(\"to\"),\n {className: \"CodeMirror-composing\"})\n }\n })\n return true\n};\n\nTextareaInput.prototype.ensurePolled = function () {\n if (this.pollingFast && this.poll()) { this.pollingFast = false }\n};\n\nTextareaInput.prototype.onKeyPress = function () {\n if (ie && ie_version >= 9) { this.hasSelection = null }\n this.fastPoll()\n};\n\nTextareaInput.prototype.onContextMenu = function (e) {\n var input = this, cm = input.cm, display = cm.display, te = input.textarea\n var pos = posFromMouse(cm, e), scrollPos = display.scroller.scrollTop\n if (!pos || presto) { return } // Opera is difficult.\n\n // Reset the current text selection only if the click is done outside of the selection\n // and 'resetSelectionOnContextMenu' option is true.\n var reset = cm.options.resetSelectionOnContextMenu\n if (reset && cm.doc.sel.contains(pos) == -1)\n { operation(cm, setSelection)(cm.doc, simpleSelection(pos), sel_dontScroll) }\n\n var oldCSS = te.style.cssText, oldWrapperCSS = input.wrapper.style.cssText\n input.wrapper.style.cssText = \"position: absolute\"\n var wrapperBox = input.wrapper.getBoundingClientRect()\n te.style.cssText = \"position: absolute; width: 30px; height: 30px;\\n top: \" + (e.clientY - wrapperBox.top - 5) + \"px; left: \" + (e.clientX - wrapperBox.left - 5) + \"px;\\n z-index: 1000; background: \" + (ie ? \"rgba(255, 255, 255, .05)\" : \"transparent\") + \";\\n outline: none; border-width: 0; outline: none; overflow: hidden; opacity: .05; filter: alpha(opacity=5);\"\n var oldScrollY\n if (webkit) { oldScrollY = window.scrollY } // Work around Chrome issue (#2712)\n display.input.focus()\n if (webkit) { window.scrollTo(null, oldScrollY) }\n display.input.reset()\n // Adds \"Select all\" to context menu in FF\n if (!cm.somethingSelected()) { te.value = input.prevInput = \" \" }\n input.contextMenuPending = true\n display.selForContextMenu = cm.doc.sel\n clearTimeout(display.detectingSelectAll)\n\n // Select-all will be greyed out if there's nothing to select, so\n // this adds a zero-width space so that we can later check whether\n // it got selected.\n function prepareSelectAllHack() {\n if (te.selectionStart != null) {\n var selected = cm.somethingSelected()\n var extval = \"\\u200b\" + (selected ? te.value : \"\")\n te.value = \"\\u21da\" // Used to catch context-menu undo\n te.value = extval\n input.prevInput = selected ? \"\" : \"\\u200b\"\n te.selectionStart = 1; te.selectionEnd = extval.length\n // Re-set this, in case some other handler touched the\n // selection in the meantime.\n display.selForContextMenu = cm.doc.sel\n }\n }\n function rehide() {\n input.contextMenuPending = false\n input.wrapper.style.cssText = oldWrapperCSS\n te.style.cssText = oldCSS\n if (ie && ie_version < 9) { display.scrollbars.setScrollTop(display.scroller.scrollTop = scrollPos) }\n\n // Try to detect the user choosing select-all\n if (te.selectionStart != null) {\n if (!ie || (ie && ie_version < 9)) { prepareSelectAllHack() }\n var i = 0, poll = function () {\n if (display.selForContextMenu == cm.doc.sel && te.selectionStart == 0 &&\n te.selectionEnd > 0 && input.prevInput == \"\\u200b\")\n { operation(cm, selectAll)(cm) }\n else if (i++ < 10) { display.detectingSelectAll = setTimeout(poll, 500) }\n else { display.input.reset() }\n }\n display.detectingSelectAll = setTimeout(poll, 200)\n }\n }\n\n if (ie && ie_version >= 9) { prepareSelectAllHack() }\n if (captureRightClick) {\n e_stop(e)\n var mouseup = function () {\n off(window, \"mouseup\", mouseup)\n setTimeout(rehide, 20)\n }\n on(window, \"mouseup\", mouseup)\n } else {\n setTimeout(rehide, 50)\n }\n};\n\nTextareaInput.prototype.readOnlyChanged = function (val) {\n if (!val) { this.reset() }\n};\n\nTextareaInput.prototype.setUneditable = function () {};\n\nTextareaInput.prototype.needsContentAttribute = false\n\nfunction fromTextArea(textarea, options) {\n options = options ? copyObj(options) : {}\n options.value = textarea.value\n if (!options.tabindex && textarea.tabIndex)\n { options.tabindex = textarea.tabIndex }\n if (!options.placeholder && textarea.placeholder)\n { options.placeholder = textarea.placeholder }\n // Set autofocus to true if this textarea is focused, or if it has\n // autofocus and no other element is focused.\n if (options.autofocus == null) {\n var hasFocus = activeElt()\n options.autofocus = hasFocus == textarea ||\n textarea.getAttribute(\"autofocus\") != null && hasFocus == document.body\n }\n\n function save() {textarea.value = cm.getValue()}\n\n var realSubmit\n if (textarea.form) {\n on(textarea.form, \"submit\", save)\n // Deplorable hack to make the submit method do the right thing.\n if (!options.leaveSubmitMethodAlone) {\n var form = textarea.form\n realSubmit = form.submit\n try {\n var wrappedSubmit = form.submit = function () {\n save()\n form.submit = realSubmit\n form.submit()\n form.submit = wrappedSubmit\n }\n } catch(e) {}\n }\n }\n\n options.finishInit = function (cm) {\n cm.save = save\n cm.getTextArea = function () { return textarea; }\n cm.toTextArea = function () {\n cm.toTextArea = isNaN // Prevent this from being ran twice\n save()\n textarea.parentNode.removeChild(cm.getWrapperElement())\n textarea.style.display = \"\"\n if (textarea.form) {\n off(textarea.form, \"submit\", save)\n if (typeof textarea.form.submit == \"function\")\n { textarea.form.submit = realSubmit }\n }\n }\n }\n\n textarea.style.display = \"none\"\n var cm = CodeMirror(function (node) { return textarea.parentNode.insertBefore(node, textarea.nextSibling); },\n options)\n return cm\n}\n\nfunction addLegacyProps(CodeMirror) {\n CodeMirror.off = off\n CodeMirror.on = on\n CodeMirror.wheelEventPixels = wheelEventPixels\n CodeMirror.Doc = Doc\n CodeMirror.splitLines = splitLinesAuto\n CodeMirror.countColumn = countColumn\n CodeMirror.findColumn = findColumn\n CodeMirror.isWordChar = isWordCharBasic\n CodeMirror.Pass = Pass\n CodeMirror.signal = signal\n CodeMirror.Line = Line\n CodeMirror.changeEnd = changeEnd\n CodeMirror.scrollbarModel = scrollbarModel\n CodeMirror.Pos = Pos\n CodeMirror.cmpPos = cmp\n CodeMirror.modes = modes\n CodeMirror.mimeModes = mimeModes\n CodeMirror.resolveMode = resolveMode\n CodeMirror.getMode = getMode\n CodeMirror.modeExtensions = modeExtensions\n CodeMirror.extendMode = extendMode\n CodeMirror.copyState = copyState\n CodeMirror.startState = startState\n CodeMirror.innerMode = innerMode\n CodeMirror.commands = commands\n CodeMirror.keyMap = keyMap\n CodeMirror.keyName = keyName\n CodeMirror.isModifierKey = isModifierKey\n CodeMirror.lookupKey = lookupKey\n CodeMirror.normalizeKeyMap = normalizeKeyMap\n CodeMirror.StringStream = StringStream\n CodeMirror.SharedTextMarker = SharedTextMarker\n CodeMirror.TextMarker = TextMarker\n CodeMirror.LineWidget = LineWidget\n CodeMirror.e_preventDefault = e_preventDefault\n CodeMirror.e_stopPropagation = e_stopPropagation\n CodeMirror.e_stop = e_stop\n CodeMirror.addClass = addClass\n CodeMirror.contains = contains\n CodeMirror.rmClass = rmClass\n CodeMirror.keyNames = keyNames\n}\n\n// EDITOR CONSTRUCTOR\n\ndefineOptions(CodeMirror)\n\naddEditorMethods(CodeMirror)\n\n// Set up methods on CodeMirror's prototype to redirect to the editor's document.\nvar dontDelegate = \"iter insert remove copy getEditor constructor\".split(\" \")\nfor (var prop in Doc.prototype) { if (Doc.prototype.hasOwnProperty(prop) && indexOf(dontDelegate, prop) < 0)\n { CodeMirror.prototype[prop] = (function(method) {\n return function() {return method.apply(this.doc, arguments)}\n })(Doc.prototype[prop]) } }\n\neventMixin(Doc)\n\n// INPUT HANDLING\n\nCodeMirror.inputStyles = {\"textarea\": TextareaInput, \"contenteditable\": ContentEditableInput}\n\n// MODE DEFINITION AND QUERYING\n\n// Extra arguments are stored as the mode's dependencies, which is\n// used by (legacy) mechanisms like loadmode.js to automatically\n// load a mode. (Preferred mechanism is the require/define calls.)\nCodeMirror.defineMode = function(name/*, mode, …*/) {\n if (!CodeMirror.defaults.mode && name != \"null\") { CodeMirror.defaults.mode = name }\n defineMode.apply(this, arguments)\n}\n\nCodeMirror.defineMIME = defineMIME\n\n// Minimal default mode.\nCodeMirror.defineMode(\"null\", function () { return ({token: function (stream) { return stream.skipToEnd(); }}); })\nCodeMirror.defineMIME(\"text/plain\", \"null\")\n\n// EXTENSIONS\n\nCodeMirror.defineExtension = function (name, func) {\n CodeMirror.prototype[name] = func\n}\nCodeMirror.defineDocExtension = function (name, func) {\n Doc.prototype[name] = func\n}\n\nCodeMirror.fromTextArea = fromTextArea\n\naddLegacyProps(CodeMirror)\n\nCodeMirror.version = \"5.22.0\"\n\nreturn CodeMirror;\n\n})));\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/codemirror/lib/codemirror.js\n ** module id = 23\n ** module chunks = 0\n **/","\"use strict\";\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * \n */\n\nfunction makeEmptyFunction(arg) {\n return function () {\n return arg;\n };\n}\n\n/**\n * This function accepts and discards inputs; it has no side effects. This is\n * primarily useful idiomatically for overridable function endpoints which\n * always need to be callable, since JS lacks a null-call idiom ala Cocoa.\n */\nvar emptyFunction = function emptyFunction() {};\n\nemptyFunction.thatReturns = makeEmptyFunction;\nemptyFunction.thatReturnsFalse = makeEmptyFunction(false);\nemptyFunction.thatReturnsTrue = makeEmptyFunction(true);\nemptyFunction.thatReturnsNull = makeEmptyFunction(null);\nemptyFunction.thatReturnsThis = function () {\n return this;\n};\nemptyFunction.thatReturnsArgument = function (arg) {\n return arg;\n};\n\nmodule.exports = emptyFunction;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/fbjs/lib/emptyFunction.js\n ** module id = 24\n ** module chunks = 0\n **/","/**\n * Copyright 2016-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule ReactInstrumentation\n */\n\n'use strict';\n\nvar debugTool = null;\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactDebugTool = require('./ReactDebugTool');\n debugTool = ReactDebugTool;\n}\n\nmodule.exports = { debugTool: debugTool };\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react/lib/ReactInstrumentation.js\n ** module id = 25\n ** module chunks = 0\n **/","/*!\n Copyright (c) 2016 Jed Watson.\n Licensed under the MIT License (MIT), see\n http://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg)) {\n\t\t\t\tclasses.push(classNames.apply(null, arg));\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tfor (var key in arg) {\n\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/classnames/index.js\n ** module id = 26\n ** module chunks = 0\n **/","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nmodule.exports = root;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_root.js\n ** module id = 27\n ** module chunks = 0\n **/","'use strict';\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _localizers = require('./localizers');\n\nvar _localizers2 = _interopRequireDefault(_localizers);\n\nvar _filter = require('./filter');\n\nvar _filter2 = _interopRequireDefault(_filter);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar filterTypes = Object.keys(_filter2.default).filter(function (i) {\n return i !== 'filter';\n});\n\nfunction getInteractionPropType(key) {\n var types = [_react.PropTypes.bool, _react.PropTypes.oneOf([key])],\n propType = _react.PropTypes.oneOfType(types);\n\n propType.acceptsArray = _react.PropTypes.oneOfType(types.concat(_react.PropTypes.array));\n\n return propType;\n}\n\nmodule.exports = {\n\n elementType: createChainableTypeChecker(function (props, propName, componentName) {\n\n if (typeof props[propName] !== 'function') {\n if (_react2.default.isValidElement(props[propName])) return new Error('Invalid prop `' + propName + '` specified in `' + componentName + '`.' + ' Expected an Element `type`, not an actual Element');\n\n if (typeof props[propName] !== 'string') return new Error('Invalid prop `' + propName + '` specified in `' + componentName + '`.' + ' Expected an Element `type` such as a tag name or return value of React.createClass(...)');\n }\n return null;\n }),\n\n numberFormat: createChainableTypeChecker(function () {\n var _localizers$number;\n\n return (_localizers$number = _localizers2.default.number).propType.apply(_localizers$number, arguments);\n }),\n\n dateFormat: createChainableTypeChecker(function () {\n var _localizers$date;\n\n return (_localizers$date = _localizers2.default.date).propType.apply(_localizers$date, arguments);\n }),\n\n disabled: getInteractionPropType('disabled'),\n readOnly: getInteractionPropType('readOnly'),\n\n accessor: _react2.default.PropTypes.oneOfType([_react2.default.PropTypes.string, _react2.default.PropTypes.func]),\n\n message: _react2.default.PropTypes.oneOfType([_react2.default.PropTypes.node, _react2.default.PropTypes.string]),\n\n filter: _react2.default.PropTypes.oneOfType([_react2.default.PropTypes.func, _react2.default.PropTypes.bool, _react2.default.PropTypes.oneOf(filterTypes)])\n};\n\nfunction createChainableTypeChecker(validate) {\n\n function checkType(isRequired, props, propName, componentName) {\n componentName = componentName || '<<anonymous>>';\n\n for (var _len = arguments.length, args = Array(_len > 4 ? _len - 4 : 0), _key = 4; _key < _len; _key++) {\n args[_key - 4] = arguments[_key];\n }\n\n if (props[propName] == null) {\n if (isRequired) {\n return new Error('Required prop `' + propName + '` was not specified in `' + componentName + '`.');\n }\n } else return validate.apply(undefined, [props, propName, componentName].concat(args));\n }\n\n var chainedCheckType = checkType.bind(null, false);\n chainedCheckType.isRequired = checkType.bind(null, true);\n\n return chainedCheckType;\n}\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-widgets/lib/util/propTypes.js\n ** module id = 28\n ** module chunks = 0\n **/","/**\n * Copyright 2014-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule ReactElement\n */\n\n'use strict';\n\nvar _assign = require('object-assign');\n\nvar ReactCurrentOwner = require('./ReactCurrentOwner');\n\nvar warning = require('fbjs/lib/warning');\nvar canDefineProperty = require('./canDefineProperty');\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\n// The Symbol used to tag the ReactElement type. If there is no native Symbol\n// nor polyfill, then a plain number is used for performance.\nvar REACT_ELEMENT_TYPE = typeof Symbol === 'function' && Symbol['for'] && Symbol['for']('react.element') || 0xeac7;\n\nvar RESERVED_PROPS = {\n key: true,\n ref: true,\n __self: true,\n __source: true\n};\n\nvar specialPropKeyWarningShown, specialPropRefWarningShown;\n\nfunction hasValidRef(config) {\n if (process.env.NODE_ENV !== 'production') {\n if (hasOwnProperty.call(config, 'ref')) {\n var getter = Object.getOwnPropertyDescriptor(config, 'ref').get;\n if (getter && getter.isReactWarning) {\n return false;\n }\n }\n }\n return config.ref !== undefined;\n}\n\nfunction hasValidKey(config) {\n if (process.env.NODE_ENV !== 'production') {\n if (hasOwnProperty.call(config, 'key')) {\n var getter = Object.getOwnPropertyDescriptor(config, 'key').get;\n if (getter && getter.isReactWarning) {\n return false;\n }\n }\n }\n return config.key !== undefined;\n}\n\nfunction defineKeyPropWarningGetter(props, displayName) {\n var warnAboutAccessingKey = function () {\n if (!specialPropKeyWarningShown) {\n specialPropKeyWarningShown = true;\n process.env.NODE_ENV !== 'production' ? warning(false, '%s: `key` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://fb.me/react-special-props)', displayName) : void 0;\n }\n };\n warnAboutAccessingKey.isReactWarning = true;\n Object.defineProperty(props, 'key', {\n get: warnAboutAccessingKey,\n configurable: true\n });\n}\n\nfunction defineRefPropWarningGetter(props, displayName) {\n var warnAboutAccessingRef = function () {\n if (!specialPropRefWarningShown) {\n specialPropRefWarningShown = true;\n process.env.NODE_ENV !== 'production' ? warning(false, '%s: `ref` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://fb.me/react-special-props)', displayName) : void 0;\n }\n };\n warnAboutAccessingRef.isReactWarning = true;\n Object.defineProperty(props, 'ref', {\n get: warnAboutAccessingRef,\n configurable: true\n });\n}\n\n/**\n * Factory method to create a new React element. This no longer adheres to\n * the class pattern, so do not use new to call it. Also, no instanceof check\n * will work. Instead test $$typeof field against Symbol.for('react.element') to check\n * if something is a React Element.\n *\n * @param {*} type\n * @param {*} key\n * @param {string|object} ref\n * @param {*} self A *temporary* helper to detect places where `this` is\n * different from the `owner` when React.createElement is called, so that we\n * can warn. We want to get rid of owner and replace string `ref`s with arrow\n * functions, and as long as `this` and owner are the same, there will be no\n * change in behavior.\n * @param {*} source An annotation object (added by a transpiler or otherwise)\n * indicating filename, line number, and/or other information.\n * @param {*} owner\n * @param {*} props\n * @internal\n */\nvar ReactElement = function (type, key, ref, self, source, owner, props) {\n var element = {\n // This tag allow us to uniquely identify this as a React Element\n $$typeof: REACT_ELEMENT_TYPE,\n\n // Built-in properties that belong on the element\n type: type,\n key: key,\n ref: ref,\n props: props,\n\n // Record the component responsible for creating this element.\n _owner: owner\n };\n\n if (process.env.NODE_ENV !== 'production') {\n // The validation flag is currently mutative. We put it on\n // an external backing store so that we can freeze the whole object.\n // This can be replaced with a WeakMap once they are implemented in\n // commonly used development environments.\n element._store = {};\n var shadowChildren = Array.isArray(props.children) ? props.children.slice(0) : props.children;\n\n // To make comparing ReactElements easier for testing purposes, we make\n // the validation flag non-enumerable (where possible, which should\n // include every environment we run tests in), so the test framework\n // ignores it.\n if (canDefineProperty) {\n Object.defineProperty(element._store, 'validated', {\n configurable: false,\n enumerable: false,\n writable: true,\n value: false\n });\n // self and source are DEV only properties.\n Object.defineProperty(element, '_self', {\n configurable: false,\n enumerable: false,\n writable: false,\n value: self\n });\n Object.defineProperty(element, '_shadowChildren', {\n configurable: false,\n enumerable: false,\n writable: false,\n value: shadowChildren\n });\n // Two elements created in two different places should be considered\n // equal for testing purposes and therefore we hide it from enumeration.\n Object.defineProperty(element, '_source', {\n configurable: false,\n enumerable: false,\n writable: false,\n value: source\n });\n } else {\n element._store.validated = false;\n element._self = self;\n element._shadowChildren = shadowChildren;\n element._source = source;\n }\n if (Object.freeze) {\n Object.freeze(element.props);\n Object.freeze(element);\n }\n }\n\n return element;\n};\n\n/**\n * Create and return a new ReactElement of the given type.\n * See https://facebook.github.io/react/docs/top-level-api.html#react.createelement\n */\nReactElement.createElement = function (type, config, children) {\n var propName;\n\n // Reserved names are extracted\n var props = {};\n\n var key = null;\n var ref = null;\n var self = null;\n var source = null;\n\n if (config != null) {\n if (hasValidRef(config)) {\n ref = config.ref;\n }\n if (hasValidKey(config)) {\n key = '' + config.key;\n }\n\n self = config.__self === undefined ? null : config.__self;\n source = config.__source === undefined ? null : config.__source;\n // Remaining properties are added to a new props object\n for (propName in config) {\n if (hasOwnProperty.call(config, propName) && !RESERVED_PROPS.hasOwnProperty(propName)) {\n props[propName] = config[propName];\n }\n }\n }\n\n // Children can be more than one argument, and those are transferred onto\n // the newly allocated props object.\n var childrenLength = arguments.length - 2;\n if (childrenLength === 1) {\n props.children = children;\n } else if (childrenLength > 1) {\n var childArray = Array(childrenLength);\n for (var i = 0; i < childrenLength; i++) {\n childArray[i] = arguments[i + 2];\n }\n props.children = childArray;\n }\n\n // Resolve default props\n if (type && type.defaultProps) {\n var defaultProps = type.defaultProps;\n for (propName in defaultProps) {\n if (props[propName] === undefined) {\n props[propName] = defaultProps[propName];\n }\n }\n }\n if (process.env.NODE_ENV !== 'production') {\n if (key || ref) {\n if (typeof props.$$typeof === 'undefined' || props.$$typeof !== REACT_ELEMENT_TYPE) {\n var displayName = typeof type === 'function' ? type.displayName || type.name || 'Unknown' : type;\n if (key) {\n defineKeyPropWarningGetter(props, displayName);\n }\n if (ref) {\n defineRefPropWarningGetter(props, displayName);\n }\n }\n }\n }\n return ReactElement(type, key, ref, self, source, ReactCurrentOwner.current, props);\n};\n\n/**\n * Return a function that produces ReactElements of a given type.\n * See https://facebook.github.io/react/docs/top-level-api.html#react.createfactory\n */\nReactElement.createFactory = function (type) {\n var factory = ReactElement.createElement.bind(null, type);\n // Expose the type on the factory and the prototype so that it can be\n // easily accessed on elements. E.g. `<Foo />.type === Foo`.\n // This should not be named `constructor` since this may not be the function\n // that created the element, and it may not even be a constructor.\n // Legacy hook TODO: Warn if this is accessed\n factory.type = type;\n return factory;\n};\n\nReactElement.cloneAndReplaceKey = function (oldElement, newKey) {\n var newElement = ReactElement(oldElement.type, newKey, oldElement.ref, oldElement._self, oldElement._source, oldElement._owner, oldElement.props);\n\n return newElement;\n};\n\n/**\n * Clone and return a new ReactElement using element as the starting point.\n * See https://facebook.github.io/react/docs/top-level-api.html#react.cloneelement\n */\nReactElement.cloneElement = function (element, config, children) {\n var propName;\n\n // Original props are copied\n var props = _assign({}, element.props);\n\n // Reserved names are extracted\n var key = element.key;\n var ref = element.ref;\n // Self is preserved since the owner is preserved.\n var self = element._self;\n // Source is preserved since cloneElement is unlikely to be targeted by a\n // transpiler, and the original source is probably a better indicator of the\n // true owner.\n var source = element._source;\n\n // Owner will be preserved, unless ref is overridden\n var owner = element._owner;\n\n if (config != null) {\n if (hasValidRef(config)) {\n // Silently steal the ref from the parent.\n ref = config.ref;\n owner = ReactCurrentOwner.current;\n }\n if (hasValidKey(config)) {\n key = '' + config.key;\n }\n\n // Remaining properties override existing props\n var defaultProps;\n if (element.type && element.type.defaultProps) {\n defaultProps = element.type.defaultProps;\n }\n for (propName in config) {\n if (hasOwnProperty.call(config, propName) && !RESERVED_PROPS.hasOwnProperty(propName)) {\n if (config[propName] === undefined && defaultProps !== undefined) {\n // Resolve default props\n props[propName] = defaultProps[propName];\n } else {\n props[propName] = config[propName];\n }\n }\n }\n }\n\n // Children can be more than one argument, and those are transferred onto\n // the newly allocated props object.\n var childrenLength = arguments.length - 2;\n if (childrenLength === 1) {\n props.children = children;\n } else if (childrenLength > 1) {\n var childArray = Array(childrenLength);\n for (var i = 0; i < childrenLength; i++) {\n childArray[i] = arguments[i + 2];\n }\n props.children = childArray;\n }\n\n return ReactElement(element.type, key, ref, self, source, owner, props);\n};\n\n/**\n * Verifies the object is a ReactElement.\n * See https://facebook.github.io/react/docs/top-level-api.html#react.isvalidelement\n * @param {?object} object\n * @return {boolean} True if `object` is a valid component.\n * @final\n */\nReactElement.isValidElement = function (object) {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n};\n\nReactElement.REACT_ELEMENT_TYPE = REACT_ELEMENT_TYPE;\n\nmodule.exports = ReactElement;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react/lib/ReactElement.js\n ** module id = 29\n ** module chunks = 0\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule ReactUpdates\n */\n\n'use strict';\n\nvar _prodInvariant = require('./reactProdInvariant'),\n _assign = require('object-assign');\n\nvar CallbackQueue = require('./CallbackQueue');\nvar PooledClass = require('./PooledClass');\nvar ReactFeatureFlags = require('./ReactFeatureFlags');\nvar ReactReconciler = require('./ReactReconciler');\nvar Transaction = require('./Transaction');\n\nvar invariant = require('fbjs/lib/invariant');\n\nvar dirtyComponents = [];\nvar updateBatchNumber = 0;\nvar asapCallbackQueue = CallbackQueue.getPooled();\nvar asapEnqueued = false;\n\nvar batchingStrategy = null;\n\nfunction ensureInjected() {\n !(ReactUpdates.ReactReconcileTransaction && batchingStrategy) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactUpdates: must inject a reconcile transaction class and batching strategy') : _prodInvariant('123') : void 0;\n}\n\nvar NESTED_UPDATES = {\n initialize: function () {\n this.dirtyComponentsLength = dirtyComponents.length;\n },\n close: function () {\n if (this.dirtyComponentsLength !== dirtyComponents.length) {\n // Additional updates were enqueued by componentDidUpdate handlers or\n // similar; before our own UPDATE_QUEUEING wrapper closes, we want to run\n // these new updates so that if A's componentDidUpdate calls setState on\n // B, B will update before the callback A's updater provided when calling\n // setState.\n dirtyComponents.splice(0, this.dirtyComponentsLength);\n flushBatchedUpdates();\n } else {\n dirtyComponents.length = 0;\n }\n }\n};\n\nvar UPDATE_QUEUEING = {\n initialize: function () {\n this.callbackQueue.reset();\n },\n close: function () {\n this.callbackQueue.notifyAll();\n }\n};\n\nvar TRANSACTION_WRAPPERS = [NESTED_UPDATES, UPDATE_QUEUEING];\n\nfunction ReactUpdatesFlushTransaction() {\n this.reinitializeTransaction();\n this.dirtyComponentsLength = null;\n this.callbackQueue = CallbackQueue.getPooled();\n this.reconcileTransaction = ReactUpdates.ReactReconcileTransaction.getPooled(\n /* useCreateElement */true);\n}\n\n_assign(ReactUpdatesFlushTransaction.prototype, Transaction.Mixin, {\n getTransactionWrappers: function () {\n return TRANSACTION_WRAPPERS;\n },\n\n destructor: function () {\n this.dirtyComponentsLength = null;\n CallbackQueue.release(this.callbackQueue);\n this.callbackQueue = null;\n ReactUpdates.ReactReconcileTransaction.release(this.reconcileTransaction);\n this.reconcileTransaction = null;\n },\n\n perform: function (method, scope, a) {\n // Essentially calls `this.reconcileTransaction.perform(method, scope, a)`\n // with this transaction's wrappers around it.\n return Transaction.Mixin.perform.call(this, this.reconcileTransaction.perform, this.reconcileTransaction, method, scope, a);\n }\n});\n\nPooledClass.addPoolingTo(ReactUpdatesFlushTransaction);\n\nfunction batchedUpdates(callback, a, b, c, d, e) {\n ensureInjected();\n batchingStrategy.batchedUpdates(callback, a, b, c, d, e);\n}\n\n/**\n * Array comparator for ReactComponents by mount ordering.\n *\n * @param {ReactComponent} c1 first component you're comparing\n * @param {ReactComponent} c2 second component you're comparing\n * @return {number} Return value usable by Array.prototype.sort().\n */\nfunction mountOrderComparator(c1, c2) {\n return c1._mountOrder - c2._mountOrder;\n}\n\nfunction runBatchedUpdates(transaction) {\n var len = transaction.dirtyComponentsLength;\n !(len === dirtyComponents.length) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Expected flush transaction\\'s stored dirty-components length (%s) to match dirty-components array length (%s).', len, dirtyComponents.length) : _prodInvariant('124', len, dirtyComponents.length) : void 0;\n\n // Since reconciling a component higher in the owner hierarchy usually (not\n // always -- see shouldComponentUpdate()) will reconcile children, reconcile\n // them before their children by sorting the array.\n dirtyComponents.sort(mountOrderComparator);\n\n // Any updates enqueued while reconciling must be performed after this entire\n // batch. Otherwise, if dirtyComponents is [A, B] where A has children B and\n // C, B could update twice in a single batch if C's render enqueues an update\n // to B (since B would have already updated, we should skip it, and the only\n // way we can know to do so is by checking the batch counter).\n updateBatchNumber++;\n\n for (var i = 0; i < len; i++) {\n // If a component is unmounted before pending changes apply, it will still\n // be here, but we assume that it has cleared its _pendingCallbacks and\n // that performUpdateIfNecessary is a noop.\n var component = dirtyComponents[i];\n\n // If performUpdateIfNecessary happens to enqueue any new updates, we\n // shouldn't execute the callbacks until the next render happens, so\n // stash the callbacks first\n var callbacks = component._pendingCallbacks;\n component._pendingCallbacks = null;\n\n var markerName;\n if (ReactFeatureFlags.logTopLevelRenders) {\n var namedComponent = component;\n // Duck type TopLevelWrapper. This is probably always true.\n if (component._currentElement.props === component._renderedComponent._currentElement) {\n namedComponent = component._renderedComponent;\n }\n markerName = 'React update: ' + namedComponent.getName();\n console.time(markerName);\n }\n\n ReactReconciler.performUpdateIfNecessary(component, transaction.reconcileTransaction, updateBatchNumber);\n\n if (markerName) {\n console.timeEnd(markerName);\n }\n\n if (callbacks) {\n for (var j = 0; j < callbacks.length; j++) {\n transaction.callbackQueue.enqueue(callbacks[j], component.getPublicInstance());\n }\n }\n }\n}\n\nvar flushBatchedUpdates = function () {\n // ReactUpdatesFlushTransaction's wrappers will clear the dirtyComponents\n // array and perform any updates enqueued by mount-ready handlers (i.e.,\n // componentDidUpdate) but we need to check here too in order to catch\n // updates enqueued by setState callbacks and asap calls.\n while (dirtyComponents.length || asapEnqueued) {\n if (dirtyComponents.length) {\n var transaction = ReactUpdatesFlushTransaction.getPooled();\n transaction.perform(runBatchedUpdates, null, transaction);\n ReactUpdatesFlushTransaction.release(transaction);\n }\n\n if (asapEnqueued) {\n asapEnqueued = false;\n var queue = asapCallbackQueue;\n asapCallbackQueue = CallbackQueue.getPooled();\n queue.notifyAll();\n CallbackQueue.release(queue);\n }\n }\n};\n\n/**\n * Mark a component as needing a rerender, adding an optional callback to a\n * list of functions which will be executed once the rerender occurs.\n */\nfunction enqueueUpdate(component) {\n ensureInjected();\n\n // Various parts of our code (such as ReactCompositeComponent's\n // _renderValidatedComponent) assume that calls to render aren't nested;\n // verify that that's the case. (This is called by each top-level update\n // function, like setState, forceUpdate, etc.; creation and\n // destruction of top-level components is guarded in ReactMount.)\n\n if (!batchingStrategy.isBatchingUpdates) {\n batchingStrategy.batchedUpdates(enqueueUpdate, component);\n return;\n }\n\n dirtyComponents.push(component);\n if (component._updateBatchNumber == null) {\n component._updateBatchNumber = updateBatchNumber + 1;\n }\n}\n\n/**\n * Enqueue a callback to be run at the end of the current batching cycle. Throws\n * if no updates are currently being performed.\n */\nfunction asap(callback, context) {\n !batchingStrategy.isBatchingUpdates ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactUpdates.asap: Can\\'t enqueue an asap callback in a context whereupdates are not being batched.') : _prodInvariant('125') : void 0;\n asapCallbackQueue.enqueue(callback, context);\n asapEnqueued = true;\n}\n\nvar ReactUpdatesInjection = {\n injectReconcileTransaction: function (ReconcileTransaction) {\n !ReconcileTransaction ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactUpdates: must provide a reconcile transaction class') : _prodInvariant('126') : void 0;\n ReactUpdates.ReactReconcileTransaction = ReconcileTransaction;\n },\n\n injectBatchingStrategy: function (_batchingStrategy) {\n !_batchingStrategy ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactUpdates: must provide a batching strategy') : _prodInvariant('127') : void 0;\n !(typeof _batchingStrategy.batchedUpdates === 'function') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactUpdates: must provide a batchedUpdates() function') : _prodInvariant('128') : void 0;\n !(typeof _batchingStrategy.isBatchingUpdates === 'boolean') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactUpdates: must provide an isBatchingUpdates boolean attribute') : _prodInvariant('129') : void 0;\n batchingStrategy = _batchingStrategy;\n }\n};\n\nvar ReactUpdates = {\n /**\n * React references `ReactReconcileTransaction` using this property in order\n * to allow dependency injection.\n *\n * @internal\n */\n ReactReconcileTransaction: null,\n\n batchedUpdates: batchedUpdates,\n enqueueUpdate: enqueueUpdate,\n flushBatchedUpdates: flushBatchedUpdates,\n injection: ReactUpdatesInjection,\n asap: asap\n};\n\nmodule.exports = ReactUpdates;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react/lib/ReactUpdates.js\n ** module id = 30\n ** module chunks = 0\n **/","'use strict';\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactDom = require('react-dom');\n\nvar _reactDom2 = _interopRequireDefault(_reactDom);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar _version = _react2.default.version.split('.').map(parseFloat);\n\nmodule.exports = {\n version: function version() {\n return _version;\n },\n findDOMNode: function findDOMNode(component) {\n return _reactDom2.default.findDOMNode(component);\n },\n batchedUpdates: function batchedUpdates(cb) {\n _reactDom2.default.unstable_batchedUpdates(cb);\n }\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-widgets/lib/util/compat.js\n ** module id = 31\n ** module chunks = 0\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule EventConstants\n */\n\n'use strict';\n\nvar keyMirror = require('fbjs/lib/keyMirror');\n\nvar PropagationPhases = keyMirror({ bubbled: null, captured: null });\n\n/**\n * Types of raw signals from the browser caught at the top level.\n */\nvar topLevelTypes = keyMirror({\n topAbort: null,\n topAnimationEnd: null,\n topAnimationIteration: null,\n topAnimationStart: null,\n topBlur: null,\n topCanPlay: null,\n topCanPlayThrough: null,\n topChange: null,\n topClick: null,\n topCompositionEnd: null,\n topCompositionStart: null,\n topCompositionUpdate: null,\n topContextMenu: null,\n topCopy: null,\n topCut: null,\n topDoubleClick: null,\n topDrag: null,\n topDragEnd: null,\n topDragEnter: null,\n topDragExit: null,\n topDragLeave: null,\n topDragOver: null,\n topDragStart: null,\n topDrop: null,\n topDurationChange: null,\n topEmptied: null,\n topEncrypted: null,\n topEnded: null,\n topError: null,\n topFocus: null,\n topInput: null,\n topInvalid: null,\n topKeyDown: null,\n topKeyPress: null,\n topKeyUp: null,\n topLoad: null,\n topLoadedData: null,\n topLoadedMetadata: null,\n topLoadStart: null,\n topMouseDown: null,\n topMouseMove: null,\n topMouseOut: null,\n topMouseOver: null,\n topMouseUp: null,\n topPaste: null,\n topPause: null,\n topPlay: null,\n topPlaying: null,\n topProgress: null,\n topRateChange: null,\n topReset: null,\n topScroll: null,\n topSeeked: null,\n topSeeking: null,\n topSelectionChange: null,\n topStalled: null,\n topSubmit: null,\n topSuspend: null,\n topTextInput: null,\n topTimeUpdate: null,\n topTouchCancel: null,\n topTouchEnd: null,\n topTouchMove: null,\n topTouchStart: null,\n topTransitionEnd: null,\n topVolumeChange: null,\n topWaiting: null,\n topWheel: null\n});\n\nvar EventConstants = {\n topLevelTypes: topLevelTypes,\n PropagationPhases: PropagationPhases\n};\n\nmodule.exports = EventConstants;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react/lib/EventConstants.js\n ** module id = 32\n ** module chunks = 0\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule SyntheticEvent\n */\n\n'use strict';\n\nvar _assign = require('object-assign');\n\nvar PooledClass = require('./PooledClass');\n\nvar emptyFunction = require('fbjs/lib/emptyFunction');\nvar warning = require('fbjs/lib/warning');\n\nvar didWarnForAddedNewProperty = false;\nvar isProxySupported = typeof Proxy === 'function';\n\nvar shouldBeReleasedProperties = ['dispatchConfig', '_targetInst', 'nativeEvent', 'isDefaultPrevented', 'isPropagationStopped', '_dispatchListeners', '_dispatchInstances'];\n\n/**\n * @interface Event\n * @see http://www.w3.org/TR/DOM-Level-3-Events/\n */\nvar EventInterface = {\n type: null,\n target: null,\n // currentTarget is set when dispatching; no use in copying it here\n currentTarget: emptyFunction.thatReturnsNull,\n eventPhase: null,\n bubbles: null,\n cancelable: null,\n timeStamp: function (event) {\n return event.timeStamp || Date.now();\n },\n defaultPrevented: null,\n isTrusted: null\n};\n\n/**\n * Synthetic events are dispatched by event plugins, typically in response to a\n * top-level event delegation handler.\n *\n * These systems should generally use pooling to reduce the frequency of garbage\n * collection. The system should check `isPersistent` to determine whether the\n * event should be released into the pool after being dispatched. Users that\n * need a persisted event should invoke `persist`.\n *\n * Synthetic events (and subclasses) implement the DOM Level 3 Events API by\n * normalizing browser quirks. Subclasses do not necessarily have to implement a\n * DOM interface; custom application-specific events can also subclass this.\n *\n * @param {object} dispatchConfig Configuration used to dispatch this event.\n * @param {*} targetInst Marker identifying the event target.\n * @param {object} nativeEvent Native browser event.\n * @param {DOMEventTarget} nativeEventTarget Target node.\n */\nfunction SyntheticEvent(dispatchConfig, targetInst, nativeEvent, nativeEventTarget) {\n if (process.env.NODE_ENV !== 'production') {\n // these have a getter/setter for warnings\n delete this.nativeEvent;\n delete this.preventDefault;\n delete this.stopPropagation;\n }\n\n this.dispatchConfig = dispatchConfig;\n this._targetInst = targetInst;\n this.nativeEvent = nativeEvent;\n\n var Interface = this.constructor.Interface;\n for (var propName in Interface) {\n if (!Interface.hasOwnProperty(propName)) {\n continue;\n }\n if (process.env.NODE_ENV !== 'production') {\n delete this[propName]; // this has a getter/setter for warnings\n }\n var normalize = Interface[propName];\n if (normalize) {\n this[propName] = normalize(nativeEvent);\n } else {\n if (propName === 'target') {\n this.target = nativeEventTarget;\n } else {\n this[propName] = nativeEvent[propName];\n }\n }\n }\n\n var defaultPrevented = nativeEvent.defaultPrevented != null ? nativeEvent.defaultPrevented : nativeEvent.returnValue === false;\n if (defaultPrevented) {\n this.isDefaultPrevented = emptyFunction.thatReturnsTrue;\n } else {\n this.isDefaultPrevented = emptyFunction.thatReturnsFalse;\n }\n this.isPropagationStopped = emptyFunction.thatReturnsFalse;\n return this;\n}\n\n_assign(SyntheticEvent.prototype, {\n\n preventDefault: function () {\n this.defaultPrevented = true;\n var event = this.nativeEvent;\n if (!event) {\n return;\n }\n\n if (event.preventDefault) {\n event.preventDefault();\n } else if (typeof event.returnValue !== 'unknown') {\n // eslint-disable-line valid-typeof\n event.returnValue = false;\n }\n this.isDefaultPrevented = emptyFunction.thatReturnsTrue;\n },\n\n stopPropagation: function () {\n var event = this.nativeEvent;\n if (!event) {\n return;\n }\n\n if (event.stopPropagation) {\n event.stopPropagation();\n } else if (typeof event.cancelBubble !== 'unknown') {\n // eslint-disable-line valid-typeof\n // The ChangeEventPlugin registers a \"propertychange\" event for\n // IE. This event does not support bubbling or cancelling, and\n // any references to cancelBubble throw \"Member not found\". A\n // typeof check of \"unknown\" circumvents this issue (and is also\n // IE specific).\n event.cancelBubble = true;\n }\n\n this.isPropagationStopped = emptyFunction.thatReturnsTrue;\n },\n\n /**\n * We release all dispatched `SyntheticEvent`s after each event loop, adding\n * them back into the pool. This allows a way to hold onto a reference that\n * won't be added back into the pool.\n */\n persist: function () {\n this.isPersistent = emptyFunction.thatReturnsTrue;\n },\n\n /**\n * Checks if this event should be released back into the pool.\n *\n * @return {boolean} True if this should not be released, false otherwise.\n */\n isPersistent: emptyFunction.thatReturnsFalse,\n\n /**\n * `PooledClass` looks for `destructor` on each instance it releases.\n */\n destructor: function () {\n var Interface = this.constructor.Interface;\n for (var propName in Interface) {\n if (process.env.NODE_ENV !== 'production') {\n Object.defineProperty(this, propName, getPooledWarningPropertyDefinition(propName, Interface[propName]));\n } else {\n this[propName] = null;\n }\n }\n for (var i = 0; i < shouldBeReleasedProperties.length; i++) {\n this[shouldBeReleasedProperties[i]] = null;\n }\n if (process.env.NODE_ENV !== 'production') {\n Object.defineProperty(this, 'nativeEvent', getPooledWarningPropertyDefinition('nativeEvent', null));\n Object.defineProperty(this, 'preventDefault', getPooledWarningPropertyDefinition('preventDefault', emptyFunction));\n Object.defineProperty(this, 'stopPropagation', getPooledWarningPropertyDefinition('stopPropagation', emptyFunction));\n }\n }\n\n});\n\nSyntheticEvent.Interface = EventInterface;\n\nif (process.env.NODE_ENV !== 'production') {\n if (isProxySupported) {\n /*eslint-disable no-func-assign */\n SyntheticEvent = new Proxy(SyntheticEvent, {\n construct: function (target, args) {\n return this.apply(target, Object.create(target.prototype), args);\n },\n apply: function (constructor, that, args) {\n return new Proxy(constructor.apply(that, args), {\n set: function (target, prop, value) {\n if (prop !== 'isPersistent' && !target.constructor.Interface.hasOwnProperty(prop) && shouldBeReleasedProperties.indexOf(prop) === -1) {\n process.env.NODE_ENV !== 'production' ? warning(didWarnForAddedNewProperty || target.isPersistent(), 'This synthetic event is reused for performance reasons. If you\\'re ' + 'seeing this, you\\'re adding a new property in the synthetic event object. ' + 'The property is never released. See ' + 'https://fb.me/react-event-pooling for more information.') : void 0;\n didWarnForAddedNewProperty = true;\n }\n target[prop] = value;\n return true;\n }\n });\n }\n });\n /*eslint-enable no-func-assign */\n }\n}\n/**\n * Helper to reduce boilerplate when creating subclasses.\n *\n * @param {function} Class\n * @param {?object} Interface\n */\nSyntheticEvent.augmentClass = function (Class, Interface) {\n var Super = this;\n\n var E = function () {};\n E.prototype = Super.prototype;\n var prototype = new E();\n\n _assign(prototype, Class.prototype);\n Class.prototype = prototype;\n Class.prototype.constructor = Class;\n\n Class.Interface = _assign({}, Super.Interface, Interface);\n Class.augmentClass = Super.augmentClass;\n\n PooledClass.addPoolingTo(Class, PooledClass.fourArgumentPooler);\n};\n\nPooledClass.addPoolingTo(SyntheticEvent, PooledClass.fourArgumentPooler);\n\nmodule.exports = SyntheticEvent;\n\n/**\n * Helper to nullify syntheticEvent instance properties when destructing\n *\n * @param {object} SyntheticEvent\n * @param {String} propName\n * @return {object} defineProperty object\n */\nfunction getPooledWarningPropertyDefinition(propName, getVal) {\n var isFunction = typeof getVal === 'function';\n return {\n configurable: true,\n set: set,\n get: get\n };\n\n function set(val) {\n var action = isFunction ? 'setting the method' : 'setting the property';\n warn(action, 'This is effectively a no-op');\n return val;\n }\n\n function get() {\n var action = isFunction ? 'accessing the method' : 'accessing the property';\n var result = isFunction ? 'This is a no-op function' : 'This is set to null';\n warn(action, result);\n return getVal;\n }\n\n function warn(action, result) {\n var warningCondition = false;\n process.env.NODE_ENV !== 'production' ? warning(warningCondition, 'This synthetic event is reused for performance reasons. If you\\'re seeing this, ' + 'you\\'re %s `%s` on a released/nullified synthetic event. %s. ' + 'If you must keep the original synthetic event around, use event.persist(). ' + 'See https://fb.me/react-event-pooling for more information.', action, propName, result) : void 0;\n }\n}\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react/lib/SyntheticEvent.js\n ** module id = 33\n ** module chunks = 0\n **/","\"use strict\";\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n */\n\n/**\n * Allows extraction of a minified key. Let's the build system minify keys\n * without losing the ability to dynamically use key strings as values\n * themselves. Pass in an object with a single key/val pair and it will return\n * you the string key of that single record. Suppose you want to grab the\n * value for a key 'className' inside of an object. Key/val minification may\n * have aliased that key to be 'xa12'. keyOf({className: null}) will return\n * 'xa12' in that case. Resolve keys you want to use once at startup time, then\n * reuse those resolutions.\n */\nvar keyOf = function keyOf(oneKeyObj) {\n var key;\n for (key in oneKeyObj) {\n if (!oneKeyObj.hasOwnProperty(key)) {\n continue;\n }\n return key;\n }\n return null;\n};\n\nmodule.exports = keyOf;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/fbjs/lib/keyOf.js\n ** module id = 34\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\nexports.createPath = exports.parsePath = exports.getQueryStringValueFromPath = exports.stripQueryStringValueFromPath = exports.addQueryStringValueToPath = undefined;\n\nvar _warning = require('warning');\n\nvar _warning2 = _interopRequireDefault(_warning);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar addQueryStringValueToPath = exports.addQueryStringValueToPath = function addQueryStringValueToPath(path, key, value) {\n var _parsePath = parsePath(path);\n\n var pathname = _parsePath.pathname;\n var search = _parsePath.search;\n var hash = _parsePath.hash;\n\n\n return createPath({\n pathname: pathname,\n search: search + (search.indexOf('?') === -1 ? '?' : '&') + key + '=' + value,\n hash: hash\n });\n};\n\nvar stripQueryStringValueFromPath = exports.stripQueryStringValueFromPath = function stripQueryStringValueFromPath(path, key) {\n var _parsePath2 = parsePath(path);\n\n var pathname = _parsePath2.pathname;\n var search = _parsePath2.search;\n var hash = _parsePath2.hash;\n\n\n return createPath({\n pathname: pathname,\n search: search.replace(new RegExp('([?&])' + key + '=[a-zA-Z0-9]+(&?)'), function (match, prefix, suffix) {\n return prefix === '?' ? prefix : suffix;\n }),\n hash: hash\n });\n};\n\nvar getQueryStringValueFromPath = exports.getQueryStringValueFromPath = function getQueryStringValueFromPath(path, key) {\n var _parsePath3 = parsePath(path);\n\n var search = _parsePath3.search;\n\n var match = search.match(new RegExp('[?&]' + key + '=([a-zA-Z0-9]+)'));\n return match && match[1];\n};\n\nvar extractPath = function extractPath(string) {\n var match = string.match(/^(https?:)?\\/\\/[^\\/]*/);\n return match == null ? string : string.substring(match[0].length);\n};\n\nvar parsePath = exports.parsePath = function parsePath(path) {\n var pathname = extractPath(path);\n var search = '';\n var hash = '';\n\n process.env.NODE_ENV !== 'production' ? (0, _warning2.default)(path === pathname, 'A path must be pathname + search + hash only, not a full URL like \"%s\"', path) : void 0;\n\n var hashIndex = pathname.indexOf('#');\n if (hashIndex !== -1) {\n hash = pathname.substring(hashIndex);\n pathname = pathname.substring(0, hashIndex);\n }\n\n var searchIndex = pathname.indexOf('?');\n if (searchIndex !== -1) {\n search = pathname.substring(searchIndex);\n pathname = pathname.substring(0, searchIndex);\n }\n\n if (pathname === '') pathname = '/';\n\n return {\n pathname: pathname,\n search: search,\n hash: hash\n };\n};\n\nvar createPath = exports.createPath = function createPath(location) {\n if (location == null || typeof location === 'string') return location;\n\n var basename = location.basename;\n var pathname = location.pathname;\n var search = location.search;\n var hash = location.hash;\n\n var path = (basename || '') + pathname;\n\n if (search && search !== '?') path += search;\n\n if (hash) path += hash;\n\n return path;\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/history/lib/PathUtils.js\n ** module id = 35\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nexports.isReactChildren = isReactChildren;\nexports.createRouteFromReactElement = createRouteFromReactElement;\nexports.createRoutesFromReactChildren = createRoutesFromReactChildren;\nexports.createRoutes = createRoutes;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction isValidChild(object) {\n return object == null || _react2.default.isValidElement(object);\n}\n\nfunction isReactChildren(object) {\n return isValidChild(object) || Array.isArray(object) && object.every(isValidChild);\n}\n\nfunction createRoute(defaultProps, props) {\n return _extends({}, defaultProps, props);\n}\n\nfunction createRouteFromReactElement(element) {\n var type = element.type;\n var route = createRoute(type.defaultProps, element.props);\n\n if (route.children) {\n var childRoutes = createRoutesFromReactChildren(route.children, route);\n\n if (childRoutes.length) route.childRoutes = childRoutes;\n\n delete route.children;\n }\n\n return route;\n}\n\n/**\n * Creates and returns a routes object from the given ReactChildren. JSX\n * provides a convenient way to visualize how routes in the hierarchy are\n * nested.\n *\n * import { Route, createRoutesFromReactChildren } from 'react-router'\n *\n * const routes = createRoutesFromReactChildren(\n * <Route component={App}>\n * <Route path=\"home\" component={Dashboard}/>\n * <Route path=\"news\" component={NewsFeed}/>\n * </Route>\n * )\n *\n * Note: This method is automatically used when you provide <Route> children\n * to a <Router> component.\n */\nfunction createRoutesFromReactChildren(children, parentRoute) {\n var routes = [];\n\n _react2.default.Children.forEach(children, function (element) {\n if (_react2.default.isValidElement(element)) {\n // Component classes may have a static create* method.\n if (element.type.createRouteFromReactElement) {\n var route = element.type.createRouteFromReactElement(element, parentRoute);\n\n if (route) routes.push(route);\n } else {\n routes.push(createRouteFromReactElement(element));\n }\n }\n });\n\n return routes;\n}\n\n/**\n * Creates and returns an array of routes from the given object which\n * may be a JSX route, a plain object route, or an array of either.\n */\nfunction createRoutes(routes) {\n if (isReactChildren(routes)) {\n routes = createRoutesFromReactChildren(routes);\n } else if (routes && !Array.isArray(routes)) {\n routes = [routes];\n }\n\n return routes;\n}\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-router/lib/RouteUtils.js\n ** module id = 36\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _dateArithmetic = require('date-arithmetic');\n\nvar _dateArithmetic2 = _interopRequireDefault(_dateArithmetic);\n\nvar _constants = require('./constants');\n\nvar _localizers = require('./localizers');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar dates = _extends(_dateArithmetic2.default, {\n parse: function parse(date, format, culture) {\n return _localizers.date.parse(date, format, culture);\n },\n format: function format(date, _format, culture) {\n return _localizers.date.format(date, _format, culture);\n },\n monthsInYear: function monthsInYear(year) {\n var months = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11],\n date = new Date(year, 0, 1);\n\n return months.map(function (i) {\n return dates.month(date, i);\n });\n },\n firstVisibleDay: function firstVisibleDay(date, culture) {\n var firstOfMonth = dates.startOf(date, 'month');\n return dates.startOf(firstOfMonth, 'week', _localizers.date.startOfWeek(culture));\n },\n lastVisibleDay: function lastVisibleDay(date, culture) {\n var endOfMonth = dates.endOf(date, 'month');\n\n return dates.endOf(endOfMonth, 'week', _localizers.date.startOfWeek(culture));\n },\n visibleDays: function visibleDays(date, culture) {\n var current = dates.firstVisibleDay(date, culture),\n last = dates.lastVisibleDay(date, culture),\n days = [];\n\n while (dates.lte(current, last, 'day')) {\n days.push(current);\n current = dates.add(current, 1, 'day');\n }\n\n return days;\n },\n move: function move(date, min, max, unit, direction) {\n var isMonth = unit === 'month',\n isUpOrDown = direction === _constants.directions.UP || direction === _constants.directions.DOWN,\n rangeUnit = _constants.calendarViewUnits[unit],\n addUnit = isMonth && isUpOrDown ? 'week' : _constants.calendarViewUnits[unit],\n amount = isMonth || !isUpOrDown ? 1 : 4,\n newDate;\n\n if (direction === _constants.directions.UP || direction === _constants.directions.LEFT) amount *= -1;\n\n newDate = dates.add(date, amount, addUnit);\n\n return dates.inRange(newDate, min, max, rangeUnit) ? newDate : date;\n },\n merge: function merge(date, time, defaultDate) {\n if (time == null && date == null) return null;\n\n if (time == null) time = defaultDate || new Date();\n if (date == null) date = defaultDate || new Date();\n\n date = dates.startOf(date, 'day');\n date = dates.hours(date, dates.hours(time));\n date = dates.minutes(date, dates.minutes(time));\n date = dates.seconds(date, dates.seconds(time));\n return dates.milliseconds(date, dates.milliseconds(time));\n },\n sameMonth: function sameMonth(dateA, dateB) {\n return dates.eq(dateA, dateB, 'month');\n },\n today: function today() {\n return this.startOf(new Date(), 'day');\n },\n yesterday: function yesterday() {\n return this.add(this.startOf(new Date(), 'day'), -1, 'day');\n },\n tomorrow: function tomorrow() {\n return this.add(this.startOf(new Date(), 'day'), 1, 'day');\n }\n});\n\nexports.default = dates;\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-widgets/lib/util/dates.js\n ** module id = 37\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\nexports.notify = notify;\nexports.instanceId = instanceId;\nexports.isFirstFocusedRender = isFirstFocusedRender;\n\nvar _ = require('./_');\n\nfunction notify(handler, args) {\n handler && handler.apply(null, [].concat(args));\n}\n\nfunction instanceId(component) {\n var suffix = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n\n component.__id || (component.__id = (0, _.uniqueId)('rw_'));\n return (component.props.id || component.__id) + suffix;\n}\n\nfunction isFirstFocusedRender(component) {\n return component._firstFocus || component.state.focused && (component._firstFocus = true);\n}\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-widgets/lib/util/widgetHelpers.js\n ** module id = 38\n ** module chunks = 0\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule PooledClass\n */\n\n'use strict';\n\nvar _prodInvariant = require('./reactProdInvariant');\n\nvar invariant = require('fbjs/lib/invariant');\n\n/**\n * Static poolers. Several custom versions for each potential number of\n * arguments. A completely generic pooler is easy to implement, but would\n * require accessing the `arguments` object. In each of these, `this` refers to\n * the Class itself, not an instance. If any others are needed, simply add them\n * here, or in their own files.\n */\nvar oneArgumentPooler = function (copyFieldsFrom) {\n var Klass = this;\n if (Klass.instancePool.length) {\n var instance = Klass.instancePool.pop();\n Klass.call(instance, copyFieldsFrom);\n return instance;\n } else {\n return new Klass(copyFieldsFrom);\n }\n};\n\nvar twoArgumentPooler = function (a1, a2) {\n var Klass = this;\n if (Klass.instancePool.length) {\n var instance = Klass.instancePool.pop();\n Klass.call(instance, a1, a2);\n return instance;\n } else {\n return new Klass(a1, a2);\n }\n};\n\nvar threeArgumentPooler = function (a1, a2, a3) {\n var Klass = this;\n if (Klass.instancePool.length) {\n var instance = Klass.instancePool.pop();\n Klass.call(instance, a1, a2, a3);\n return instance;\n } else {\n return new Klass(a1, a2, a3);\n }\n};\n\nvar fourArgumentPooler = function (a1, a2, a3, a4) {\n var Klass = this;\n if (Klass.instancePool.length) {\n var instance = Klass.instancePool.pop();\n Klass.call(instance, a1, a2, a3, a4);\n return instance;\n } else {\n return new Klass(a1, a2, a3, a4);\n }\n};\n\nvar fiveArgumentPooler = function (a1, a2, a3, a4, a5) {\n var Klass = this;\n if (Klass.instancePool.length) {\n var instance = Klass.instancePool.pop();\n Klass.call(instance, a1, a2, a3, a4, a5);\n return instance;\n } else {\n return new Klass(a1, a2, a3, a4, a5);\n }\n};\n\nvar standardReleaser = function (instance) {\n var Klass = this;\n !(instance instanceof Klass) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Trying to release an instance into a pool of a different type.') : _prodInvariant('25') : void 0;\n instance.destructor();\n if (Klass.instancePool.length < Klass.poolSize) {\n Klass.instancePool.push(instance);\n }\n};\n\nvar DEFAULT_POOL_SIZE = 10;\nvar DEFAULT_POOLER = oneArgumentPooler;\n\n/**\n * Augments `CopyConstructor` to be a poolable class, augmenting only the class\n * itself (statically) not adding any prototypical fields. Any CopyConstructor\n * you give this may have a `poolSize` property, and will look for a\n * prototypical `destructor` on instances.\n *\n * @param {Function} CopyConstructor Constructor that can be used to reset.\n * @param {Function} pooler Customizable pooler.\n */\nvar addPoolingTo = function (CopyConstructor, pooler) {\n var NewKlass = CopyConstructor;\n NewKlass.instancePool = [];\n NewKlass.getPooled = pooler || DEFAULT_POOLER;\n if (!NewKlass.poolSize) {\n NewKlass.poolSize = DEFAULT_POOL_SIZE;\n }\n NewKlass.release = standardReleaser;\n return NewKlass;\n};\n\nvar PooledClass = {\n addPoolingTo: addPoolingTo,\n oneArgumentPooler: oneArgumentPooler,\n twoArgumentPooler: twoArgumentPooler,\n threeArgumentPooler: threeArgumentPooler,\n fourArgumentPooler: fourArgumentPooler,\n fiveArgumentPooler: fiveArgumentPooler\n};\n\nmodule.exports = PooledClass;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react/lib/PooledClass.js\n ** module id = 39\n ** module chunks = 0\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule ReactCurrentOwner\n */\n\n'use strict';\n\n/**\n * Keeps track of the current owner.\n *\n * The current owner is the component who should own any components that are\n * currently being constructed.\n */\n\nvar ReactCurrentOwner = {\n\n /**\n * @internal\n * @type {ReactComponent}\n */\n current: null\n\n};\n\nmodule.exports = ReactCurrentOwner;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react/lib/ReactCurrentOwner.js\n ** module id = 40\n ** module chunks = 0\n **/","/**\n * Copyright 2014-2015, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n */\n\n'use strict';\n\n/**\n * Similar to invariant but only logs a warning if the condition is not met.\n * This can be used to log issues in development environments in critical\n * paths. Removing the logging code for production environments will keep the\n * same logic and follow the same code paths.\n */\n\nvar warning = function() {};\n\nif (process.env.NODE_ENV !== 'production') {\n warning = function(condition, format, args) {\n var len = arguments.length;\n args = new Array(len > 2 ? len - 2 : 0);\n for (var key = 2; key < len; key++) {\n args[key - 2] = arguments[key];\n }\n if (format === undefined) {\n throw new Error(\n '`warning(condition, format, ...args)` requires a warning ' +\n 'message argument'\n );\n }\n\n if (format.length < 10 || (/^[s\\W]*$/).test(format)) {\n throw new Error(\n 'The warning format should be able to uniquely identify this ' +\n 'warning. Please, use a more descriptive format than: ' + format\n );\n }\n\n if (!condition) {\n var argIndex = 0;\n var message = 'Warning: ' +\n format.replace(/%s/g, function() {\n return args[argIndex++];\n });\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch(x) {}\n }\n };\n}\n\nmodule.exports = warning;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/history/~/warning/browser.js\n ** module id = 41\n ** module chunks = 0\n **/","var baseIsNative = require('./_baseIsNative'),\n getValue = require('./_getValue');\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\nmodule.exports = getNative;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_getNative.js\n ** module id = 42\n ** module chunks = 0\n **/","'use strict';\n\nmodule.exports = require('react/lib/ReactDOM');\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dom/index.js\n ** module id = 43\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\n\nexports.default = function (nodeOrComponent) {\n var reconcileChildren = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : defaultReconcile;\n\n\n return {\n propTypes: {\n ariaActiveDescendantKey: _react2.default.PropTypes.string.isRequired\n },\n\n contextTypes: {\n activeDescendants: shape\n },\n\n childContextTypes: {\n activeDescendants: shape\n },\n\n ariaActiveDescendant: function ariaActiveDescendant(id) {\n var key = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.props.ariaActiveDescendantKey;\n var activeDescendants = this.context.activeDescendants;\n\n var current = this.__ariaActiveDescendantId;\n\n if (id === undefined) return current;\n\n id = reconcileChildren.call(this, key, id);\n\n if (id === undefined) id = current;else {\n this.__ariaActiveDescendantId = id;\n flushAriaToNode(id, nodeOrComponent, this);\n }\n\n activeDescendants && activeDescendants.reconcile(key, id);\n },\n getChildContext: function getChildContext() {\n var _this = this;\n\n return this._context || (this._context = {\n activeDescendants: {\n reconcile: function reconcile(key, id) {\n return _this.ariaActiveDescendant(id, key);\n }\n }\n });\n }\n };\n};\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _compat = require('../util/compat');\n\nvar _compat2 = _interopRequireDefault(_compat);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar shape = _react2.default.PropTypes.shape({\n //setActive: React.PropTypes.func,\n reconcile: _react2.default.PropTypes.func\n});\n\nfunction defaultReconcile(key, id) {\n return id;\n}\n\nfunction flushAriaToNode(id, nodeOrComponent, ctx) {\n var node = typeof nodeOrComponent === 'function' ? nodeOrComponent(ctx) : typeof nodeOrComponent === 'string' ? ctx.refs[nodeOrComponent] : ctx;\n\n if (node) {\n if (id) _compat2.default.findDOMNode(node).setAttribute('aria-activedescendant', id);else _compat2.default.findDOMNode(node).removeAttribute('aria-activedescendant');\n }\n}\n\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-widgets/lib/mixins/AriaDescendantMixin.js\n ** module id = 44\n ** module chunks = 0\n **/","import React, { Component, PropTypes } from 'react';\nimport { Link } from 'react-router';\nimport _ from 'underscore';\nimport moment from 'moment';\nimport { toTitleCase } from '../utils/helpers';\n\nexport default class Breadcrumbs extends Component {\n\n handleChange(e) {\n const { onChange } = this.props;\n onChange(e.target.value);\n }\n\n render() {\n const { link, type, content, editable } = this.props;\n\n let node = null;\n if (editable) {\n let placeholder = 'example.md';\n if (type == 'posts') {\n const date = moment().format('YYYY-MM-DD');\n placeholder = `${date}-your-title.md`;\n }else if (type == 'datafiles') {\n placeholder = 'your-filename.yml';\n }\n node = (<input onChange={(e) => this.handleChange(e)}\n placeholder={placeholder}\n defaultValue={content}\n ref=\"input\" />);\n } else {\n node = content;\n }\n\n return (\n <ul className=\"breadcrumbs\">\n <li><Link to={link}>{toTitleCase(type)}</Link></li>\n <li className=\"filename\">\n {node}\n </li>\n </ul>\n );\n }\n}\n\nBreadcrumbs.propTypes = {\n link: PropTypes.string.isRequired,\n type: PropTypes.string.isRequired,\n content: PropTypes.string.isRequired,\n editable: PropTypes.bool,\n onChange: PropTypes.func\n};\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/components/Breadcrumbs.js\n **/","import React, { PropTypes} from 'react';\nimport _ from 'underscore';\n\nconst Errors = ({errors}) => (\n <ul className=\"error-messages\">\n {_.map(errors, (error,i) => <li key={i}>{error}</li>)}\n </ul>\n);\n\nErrors.propTypes = {\n errors: PropTypes.array.isRequired\n};\n\nexport default Errors;\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/components/Errors.js\n **/","import React from 'react';\n\nconst Splitter = () => <div className=\"splitter\"></div>;\n\nexport default Splitter;\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/components/Splitter.js\n **/","'use strict';\n\nexports.__esModule = true;\nexports.locationsAreEqual = exports.statesAreEqual = exports.createLocation = exports.createQuery = undefined;\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol ? \"symbol\" : typeof obj; };\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _invariant = require('invariant');\n\nvar _invariant2 = _interopRequireDefault(_invariant);\n\nvar _warning = require('warning');\n\nvar _warning2 = _interopRequireDefault(_warning);\n\nvar _PathUtils = require('./PathUtils');\n\nvar _Actions = require('./Actions');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar createQuery = exports.createQuery = function createQuery(props) {\n return _extends(Object.create(null), props);\n};\n\nvar createLocation = exports.createLocation = function createLocation() {\n var input = arguments.length <= 0 || arguments[0] === undefined ? '/' : arguments[0];\n var action = arguments.length <= 1 || arguments[1] === undefined ? _Actions.POP : arguments[1];\n var key = arguments.length <= 2 || arguments[2] === undefined ? null : arguments[2];\n\n var object = typeof input === 'string' ? (0, _PathUtils.parsePath)(input) : input;\n\n process.env.NODE_ENV !== 'production' ? (0, _warning2.default)(!object.path, 'Location descriptor objects should have a `pathname`, not a `path`.') : void 0;\n\n var pathname = object.pathname || '/';\n var search = object.search || '';\n var hash = object.hash || '';\n var state = object.state;\n\n return {\n pathname: pathname,\n search: search,\n hash: hash,\n state: state,\n action: action,\n key: key\n };\n};\n\nvar isDate = function isDate(object) {\n return Object.prototype.toString.call(object) === '[object Date]';\n};\n\nvar statesAreEqual = exports.statesAreEqual = function statesAreEqual(a, b) {\n if (a === b) return true;\n\n var typeofA = typeof a === 'undefined' ? 'undefined' : _typeof(a);\n var typeofB = typeof b === 'undefined' ? 'undefined' : _typeof(b);\n\n if (typeofA !== typeofB) return false;\n\n !(typeofA !== 'function') ? process.env.NODE_ENV !== 'production' ? (0, _invariant2.default)(false, 'You must not store functions in location state') : (0, _invariant2.default)(false) : void 0;\n\n // Not the same object, but same type.\n if (typeofA === 'object') {\n !!(isDate(a) && isDate(b)) ? process.env.NODE_ENV !== 'production' ? (0, _invariant2.default)(false, 'You must not store Date objects in location state') : (0, _invariant2.default)(false) : void 0;\n\n if (!Array.isArray(a)) {\n var keysofA = Object.keys(a);\n var keysofB = Object.keys(b);\n return keysofA.length === keysofB.length && keysofA.every(function (key) {\n return statesAreEqual(a[key], b[key]);\n });\n }\n\n return Array.isArray(b) && a.length === b.length && a.every(function (item, index) {\n return statesAreEqual(item, b[index]);\n });\n }\n\n // All other serializable types (string, number, boolean)\n // should be strict equal.\n return false;\n};\n\nvar locationsAreEqual = exports.locationsAreEqual = function locationsAreEqual(a, b) {\n return a.key === b.key &&\n // a.action === b.action && // Different action !== location change.\n a.pathname === b.pathname && a.search === b.search && a.hash === b.hash && statesAreEqual(a.state, b.state);\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/history/lib/LocationUtils.js\n ** module id = 48\n ** module chunks = 0\n **/","'use strict';\n\n\nfunction isNothing(subject) {\n return (typeof subject === 'undefined') || (subject === null);\n}\n\n\nfunction isObject(subject) {\n return (typeof subject === 'object') && (subject !== null);\n}\n\n\nfunction toArray(sequence) {\n if (Array.isArray(sequence)) return sequence;\n else if (isNothing(sequence)) return [];\n\n return [ sequence ];\n}\n\n\nfunction extend(target, source) {\n var index, length, key, sourceKeys;\n\n if (source) {\n sourceKeys = Object.keys(source);\n\n for (index = 0, length = sourceKeys.length; index < length; index += 1) {\n key = sourceKeys[index];\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\n\nfunction repeat(string, count) {\n var result = '', cycle;\n\n for (cycle = 0; cycle < count; cycle += 1) {\n result += string;\n }\n\n return result;\n}\n\n\nfunction isNegativeZero(number) {\n return (number === 0) && (Number.NEGATIVE_INFINITY === 1 / number);\n}\n\n\nmodule.exports.isNothing = isNothing;\nmodule.exports.isObject = isObject;\nmodule.exports.toArray = toArray;\nmodule.exports.repeat = repeat;\nmodule.exports.isNegativeZero = isNegativeZero;\nmodule.exports.extend = extend;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/js-yaml/lib/js-yaml/common.js\n ** module id = 49\n ** module chunks = 0\n **/","'use strict';\n\n/*eslint-disable max-len*/\n\nvar common = require('./common');\nvar YAMLException = require('./exception');\nvar Type = require('./type');\n\n\nfunction compileList(schema, name, result) {\n var exclude = [];\n\n schema.include.forEach(function (includedSchema) {\n result = compileList(includedSchema, name, result);\n });\n\n schema[name].forEach(function (currentType) {\n result.forEach(function (previousType, previousIndex) {\n if (previousType.tag === currentType.tag && previousType.kind === currentType.kind) {\n exclude.push(previousIndex);\n }\n });\n\n result.push(currentType);\n });\n\n return result.filter(function (type, index) {\n return exclude.indexOf(index) === -1;\n });\n}\n\n\nfunction compileMap(/* lists... */) {\n var result = {\n scalar: {},\n sequence: {},\n mapping: {},\n fallback: {}\n }, index, length;\n\n function collectType(type) {\n result[type.kind][type.tag] = result['fallback'][type.tag] = type;\n }\n\n for (index = 0, length = arguments.length; index < length; index += 1) {\n arguments[index].forEach(collectType);\n }\n return result;\n}\n\n\nfunction Schema(definition) {\n this.include = definition.include || [];\n this.implicit = definition.implicit || [];\n this.explicit = definition.explicit || [];\n\n this.implicit.forEach(function (type) {\n if (type.loadKind && type.loadKind !== 'scalar') {\n throw new YAMLException('There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.');\n }\n });\n\n this.compiledImplicit = compileList(this, 'implicit', []);\n this.compiledExplicit = compileList(this, 'explicit', []);\n this.compiledTypeMap = compileMap(this.compiledImplicit, this.compiledExplicit);\n}\n\n\nSchema.DEFAULT = null;\n\n\nSchema.create = function createSchema() {\n var schemas, types;\n\n switch (arguments.length) {\n case 1:\n schemas = Schema.DEFAULT;\n types = arguments[0];\n break;\n\n case 2:\n schemas = arguments[0];\n types = arguments[1];\n break;\n\n default:\n throw new YAMLException('Wrong number of arguments for Schema.create function');\n }\n\n schemas = common.toArray(schemas);\n types = common.toArray(types);\n\n if (!schemas.every(function (schema) { return schema instanceof Schema; })) {\n throw new YAMLException('Specified list of super schemas (or a single Schema object) contains a non-Schema object.');\n }\n\n if (!types.every(function (type) { return type instanceof Type; })) {\n throw new YAMLException('Specified list of YAML types (or a single Type object) contains a non-Type object.');\n }\n\n return new Schema({\n include: schemas,\n explicit: types\n });\n};\n\n\nmodule.exports = Schema;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/js-yaml/lib/js-yaml/schema.js\n ** module id = 50\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\nexports.compilePattern = compilePattern;\nexports.matchPattern = matchPattern;\nexports.getParamNames = getParamNames;\nexports.getParams = getParams;\nexports.formatPattern = formatPattern;\n\nvar _invariant = require('invariant');\n\nvar _invariant2 = _interopRequireDefault(_invariant);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction escapeRegExp(string) {\n return string.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&');\n}\n\nfunction _compilePattern(pattern) {\n var regexpSource = '';\n var paramNames = [];\n var tokens = [];\n\n var match = void 0,\n lastIndex = 0,\n matcher = /:([a-zA-Z_$][a-zA-Z0-9_$]*)|\\*\\*|\\*|\\(|\\)/g;\n while (match = matcher.exec(pattern)) {\n if (match.index !== lastIndex) {\n tokens.push(pattern.slice(lastIndex, match.index));\n regexpSource += escapeRegExp(pattern.slice(lastIndex, match.index));\n }\n\n if (match[1]) {\n regexpSource += '([^/]+)';\n paramNames.push(match[1]);\n } else if (match[0] === '**') {\n regexpSource += '(.*)';\n paramNames.push('splat');\n } else if (match[0] === '*') {\n regexpSource += '(.*?)';\n paramNames.push('splat');\n } else if (match[0] === '(') {\n regexpSource += '(?:';\n } else if (match[0] === ')') {\n regexpSource += ')?';\n }\n\n tokens.push(match[0]);\n\n lastIndex = matcher.lastIndex;\n }\n\n if (lastIndex !== pattern.length) {\n tokens.push(pattern.slice(lastIndex, pattern.length));\n regexpSource += escapeRegExp(pattern.slice(lastIndex, pattern.length));\n }\n\n return {\n pattern: pattern,\n regexpSource: regexpSource,\n paramNames: paramNames,\n tokens: tokens\n };\n}\n\nvar CompiledPatternsCache = Object.create(null);\n\nfunction compilePattern(pattern) {\n if (!CompiledPatternsCache[pattern]) CompiledPatternsCache[pattern] = _compilePattern(pattern);\n\n return CompiledPatternsCache[pattern];\n}\n\n/**\n * Attempts to match a pattern on the given pathname. Patterns may use\n * the following special characters:\n *\n * - :paramName Matches a URL segment up to the next /, ?, or #. The\n * captured string is considered a \"param\"\n * - () Wraps a segment of the URL that is optional\n * - * Consumes (non-greedy) all characters up to the next\n * character in the pattern, or to the end of the URL if\n * there is none\n * - ** Consumes (greedy) all characters up to the next character\n * in the pattern, or to the end of the URL if there is none\n *\n * The function calls callback(error, matched) when finished.\n * The return value is an object with the following properties:\n *\n * - remainingPathname\n * - paramNames\n * - paramValues\n */\nfunction matchPattern(pattern, pathname) {\n // Ensure pattern starts with leading slash for consistency with pathname.\n if (pattern.charAt(0) !== '/') {\n pattern = '/' + pattern;\n }\n\n var _compilePattern2 = compilePattern(pattern),\n regexpSource = _compilePattern2.regexpSource,\n paramNames = _compilePattern2.paramNames,\n tokens = _compilePattern2.tokens;\n\n if (pattern.charAt(pattern.length - 1) !== '/') {\n regexpSource += '/?'; // Allow optional path separator at end.\n }\n\n // Special-case patterns like '*' for catch-all routes.\n if (tokens[tokens.length - 1] === '*') {\n regexpSource += '$';\n }\n\n var match = pathname.match(new RegExp('^' + regexpSource, 'i'));\n if (match == null) {\n return null;\n }\n\n var matchedPath = match[0];\n var remainingPathname = pathname.substr(matchedPath.length);\n\n if (remainingPathname) {\n // Require that the match ends at a path separator, if we didn't match\n // the full path, so any remaining pathname is a new path segment.\n if (matchedPath.charAt(matchedPath.length - 1) !== '/') {\n return null;\n }\n\n // If there is a remaining pathname, treat the path separator as part of\n // the remaining pathname for properly continuing the match.\n remainingPathname = '/' + remainingPathname;\n }\n\n return {\n remainingPathname: remainingPathname,\n paramNames: paramNames,\n paramValues: match.slice(1).map(function (v) {\n return v && decodeURIComponent(v);\n })\n };\n}\n\nfunction getParamNames(pattern) {\n return compilePattern(pattern).paramNames;\n}\n\nfunction getParams(pattern, pathname) {\n var match = matchPattern(pattern, pathname);\n if (!match) {\n return null;\n }\n\n var paramNames = match.paramNames,\n paramValues = match.paramValues;\n\n var params = {};\n\n paramNames.forEach(function (paramName, index) {\n params[paramName] = paramValues[index];\n });\n\n return params;\n}\n\n/**\n * Returns a version of the given pattern with params interpolated. Throws\n * if there is a dynamic segment of the pattern for which there is no param.\n */\nfunction formatPattern(pattern, params) {\n params = params || {};\n\n var _compilePattern3 = compilePattern(pattern),\n tokens = _compilePattern3.tokens;\n\n var parenCount = 0,\n pathname = '',\n splatIndex = 0,\n parenHistory = [];\n\n var token = void 0,\n paramName = void 0,\n paramValue = void 0;\n for (var i = 0, len = tokens.length; i < len; ++i) {\n token = tokens[i];\n\n if (token === '*' || token === '**') {\n paramValue = Array.isArray(params.splat) ? params.splat[splatIndex++] : params.splat;\n\n !(paramValue != null || parenCount > 0) ? process.env.NODE_ENV !== 'production' ? (0, _invariant2.default)(false, 'Missing splat #%s for path \"%s\"', splatIndex, pattern) : (0, _invariant2.default)(false) : void 0;\n\n if (paramValue != null) pathname += encodeURI(paramValue);\n } else if (token === '(') {\n parenHistory[parenCount] = '';\n parenCount += 1;\n } else if (token === ')') {\n var parenText = parenHistory.pop();\n parenCount -= 1;\n\n if (parenCount) parenHistory[parenCount - 1] += parenText;else pathname += parenText;\n } else if (token.charAt(0) === ':') {\n paramName = token.substring(1);\n paramValue = params[paramName];\n\n !(paramValue != null || parenCount > 0) ? process.env.NODE_ENV !== 'production' ? (0, _invariant2.default)(false, 'Missing \"%s\" parameter for path \"%s\"', paramName, pattern) : (0, _invariant2.default)(false) : void 0;\n\n if (paramValue == null) {\n if (parenCount) {\n parenHistory[parenCount - 1] = '';\n\n var curTokenIdx = tokens.indexOf(token);\n var tokensSubset = tokens.slice(curTokenIdx, tokens.length);\n var nextParenIdx = -1;\n\n for (var _i = 0; _i < tokensSubset.length; _i++) {\n if (tokensSubset[_i] == ')') {\n nextParenIdx = _i;\n break;\n }\n }\n\n !(nextParenIdx > 0) ? process.env.NODE_ENV !== 'production' ? (0, _invariant2.default)(false, 'Path \"%s\" is missing end paren at segment \"%s\"', pattern, tokensSubset.join('')) : (0, _invariant2.default)(false) : void 0;\n\n // jump to ending paren\n i = curTokenIdx + nextParenIdx - 1;\n }\n } else if (parenCount) parenHistory[parenCount - 1] += encodeURIComponent(paramValue);else pathname += encodeURIComponent(paramValue);\n } else {\n if (parenCount) parenHistory[parenCount - 1] += token;else pathname += token;\n }\n }\n\n !(parenCount <= 0) ? process.env.NODE_ENV !== 'production' ? (0, _invariant2.default)(false, 'Path \"%s\" is missing end paren', pattern) : (0, _invariant2.default)(false) : void 0;\n\n return pathname.replace(/\\/+/g, '/');\n}\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-router/lib/PatternUtils.js\n ** module id = 51\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\nexports.default = routerWarning;\nexports._resetWarned = _resetWarned;\n\nvar _warning = require('warning');\n\nvar _warning2 = _interopRequireDefault(_warning);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar warned = {};\n\nfunction routerWarning(falseToWarn, message) {\n // Only issue deprecation warnings once.\n if (message.indexOf('deprecated') !== -1) {\n if (warned[message]) {\n return;\n }\n\n warned[message] = true;\n }\n\n message = '[react-router] ' + message;\n\n for (var _len = arguments.length, args = Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n args[_key - 2] = arguments[_key];\n }\n\n _warning2.default.apply(undefined, [falseToWarn, message].concat(args));\n}\n\nfunction _resetWarned() {\n warned = {};\n}\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-router/lib/routerWarning.js\n ** module id = 52\n ** module chunks = 0\n **/","/**\n * Copyright 2015-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule DOMLazyTree\n */\n\n'use strict';\n\nvar DOMNamespaces = require('./DOMNamespaces');\nvar setInnerHTML = require('./setInnerHTML');\n\nvar createMicrosoftUnsafeLocalFunction = require('./createMicrosoftUnsafeLocalFunction');\nvar setTextContent = require('./setTextContent');\n\nvar ELEMENT_NODE_TYPE = 1;\nvar DOCUMENT_FRAGMENT_NODE_TYPE = 11;\n\n/**\n * In IE (8-11) and Edge, appending nodes with no children is dramatically\n * faster than appending a full subtree, so we essentially queue up the\n * .appendChild calls here and apply them so each node is added to its parent\n * before any children are added.\n *\n * In other browsers, doing so is slower or neutral compared to the other order\n * (in Firefox, twice as slow) so we only do this inversion in IE.\n *\n * See https://github.com/spicyj/innerhtml-vs-createelement-vs-clonenode.\n */\nvar enableLazy = typeof document !== 'undefined' && typeof document.documentMode === 'number' || typeof navigator !== 'undefined' && typeof navigator.userAgent === 'string' && /\\bEdge\\/\\d/.test(navigator.userAgent);\n\nfunction insertTreeChildren(tree) {\n if (!enableLazy) {\n return;\n }\n var node = tree.node;\n var children = tree.children;\n if (children.length) {\n for (var i = 0; i < children.length; i++) {\n insertTreeBefore(node, children[i], null);\n }\n } else if (tree.html != null) {\n setInnerHTML(node, tree.html);\n } else if (tree.text != null) {\n setTextContent(node, tree.text);\n }\n}\n\nvar insertTreeBefore = createMicrosoftUnsafeLocalFunction(function (parentNode, tree, referenceNode) {\n // DocumentFragments aren't actually part of the DOM after insertion so\n // appending children won't update the DOM. We need to ensure the fragment\n // is properly populated first, breaking out of our lazy approach for just\n // this level. Also, some <object> plugins (like Flash Player) will read\n // <param> nodes immediately upon insertion into the DOM, so <object>\n // must also be populated prior to insertion into the DOM.\n if (tree.node.nodeType === DOCUMENT_FRAGMENT_NODE_TYPE || tree.node.nodeType === ELEMENT_NODE_TYPE && tree.node.nodeName.toLowerCase() === 'object' && (tree.node.namespaceURI == null || tree.node.namespaceURI === DOMNamespaces.html)) {\n insertTreeChildren(tree);\n parentNode.insertBefore(tree.node, referenceNode);\n } else {\n parentNode.insertBefore(tree.node, referenceNode);\n insertTreeChildren(tree);\n }\n});\n\nfunction replaceChildWithTree(oldNode, newTree) {\n oldNode.parentNode.replaceChild(newTree.node, oldNode);\n insertTreeChildren(newTree);\n}\n\nfunction queueChild(parentTree, childTree) {\n if (enableLazy) {\n parentTree.children.push(childTree);\n } else {\n parentTree.node.appendChild(childTree.node);\n }\n}\n\nfunction queueHTML(tree, html) {\n if (enableLazy) {\n tree.html = html;\n } else {\n setInnerHTML(tree.node, html);\n }\n}\n\nfunction queueText(tree, text) {\n if (enableLazy) {\n tree.text = text;\n } else {\n setTextContent(tree.node, text);\n }\n}\n\nfunction toString() {\n return this.node.nodeName;\n}\n\nfunction DOMLazyTree(node) {\n return {\n node: node,\n children: [],\n html: null,\n text: null,\n toString: toString\n };\n}\n\nDOMLazyTree.insertTreeBefore = insertTreeBefore;\nDOMLazyTree.replaceChildWithTree = replaceChildWithTree;\nDOMLazyTree.queueChild = queueChild;\nDOMLazyTree.queueHTML = queueHTML;\nDOMLazyTree.queueText = queueText;\n\nmodule.exports = DOMLazyTree;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react/lib/DOMLazyTree.js\n ** module id = 53\n ** module chunks = 0\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule DOMProperty\n */\n\n'use strict';\n\nvar _prodInvariant = require('./reactProdInvariant');\n\nvar invariant = require('fbjs/lib/invariant');\n\nfunction checkMask(value, bitmask) {\n return (value & bitmask) === bitmask;\n}\n\nvar DOMPropertyInjection = {\n /**\n * Mapping from normalized, camelcased property names to a configuration that\n * specifies how the associated DOM property should be accessed or rendered.\n */\n MUST_USE_PROPERTY: 0x1,\n HAS_BOOLEAN_VALUE: 0x4,\n HAS_NUMERIC_VALUE: 0x8,\n HAS_POSITIVE_NUMERIC_VALUE: 0x10 | 0x8,\n HAS_OVERLOADED_BOOLEAN_VALUE: 0x20,\n\n /**\n * Inject some specialized knowledge about the DOM. This takes a config object\n * with the following properties:\n *\n * isCustomAttribute: function that given an attribute name will return true\n * if it can be inserted into the DOM verbatim. Useful for data-* or aria-*\n * attributes where it's impossible to enumerate all of the possible\n * attribute names,\n *\n * Properties: object mapping DOM property name to one of the\n * DOMPropertyInjection constants or null. If your attribute isn't in here,\n * it won't get written to the DOM.\n *\n * DOMAttributeNames: object mapping React attribute name to the DOM\n * attribute name. Attribute names not specified use the **lowercase**\n * normalized name.\n *\n * DOMAttributeNamespaces: object mapping React attribute name to the DOM\n * attribute namespace URL. (Attribute names not specified use no namespace.)\n *\n * DOMPropertyNames: similar to DOMAttributeNames but for DOM properties.\n * Property names not specified use the normalized name.\n *\n * DOMMutationMethods: Properties that require special mutation methods. If\n * `value` is undefined, the mutation method should unset the property.\n *\n * @param {object} domPropertyConfig the config as described above.\n */\n injectDOMPropertyConfig: function (domPropertyConfig) {\n var Injection = DOMPropertyInjection;\n var Properties = domPropertyConfig.Properties || {};\n var DOMAttributeNamespaces = domPropertyConfig.DOMAttributeNamespaces || {};\n var DOMAttributeNames = domPropertyConfig.DOMAttributeNames || {};\n var DOMPropertyNames = domPropertyConfig.DOMPropertyNames || {};\n var DOMMutationMethods = domPropertyConfig.DOMMutationMethods || {};\n\n if (domPropertyConfig.isCustomAttribute) {\n DOMProperty._isCustomAttributeFunctions.push(domPropertyConfig.isCustomAttribute);\n }\n\n for (var propName in Properties) {\n !!DOMProperty.properties.hasOwnProperty(propName) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'injectDOMPropertyConfig(...): You\\'re trying to inject DOM property \\'%s\\' which has already been injected. You may be accidentally injecting the same DOM property config twice, or you may be injecting two configs that have conflicting property names.', propName) : _prodInvariant('48', propName) : void 0;\n\n var lowerCased = propName.toLowerCase();\n var propConfig = Properties[propName];\n\n var propertyInfo = {\n attributeName: lowerCased,\n attributeNamespace: null,\n propertyName: propName,\n mutationMethod: null,\n\n mustUseProperty: checkMask(propConfig, Injection.MUST_USE_PROPERTY),\n hasBooleanValue: checkMask(propConfig, Injection.HAS_BOOLEAN_VALUE),\n hasNumericValue: checkMask(propConfig, Injection.HAS_NUMERIC_VALUE),\n hasPositiveNumericValue: checkMask(propConfig, Injection.HAS_POSITIVE_NUMERIC_VALUE),\n hasOverloadedBooleanValue: checkMask(propConfig, Injection.HAS_OVERLOADED_BOOLEAN_VALUE)\n };\n !(propertyInfo.hasBooleanValue + propertyInfo.hasNumericValue + propertyInfo.hasOverloadedBooleanValue <= 1) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'DOMProperty: Value can be one of boolean, overloaded boolean, or numeric value, but not a combination: %s', propName) : _prodInvariant('50', propName) : void 0;\n\n if (process.env.NODE_ENV !== 'production') {\n DOMProperty.getPossibleStandardName[lowerCased] = propName;\n }\n\n if (DOMAttributeNames.hasOwnProperty(propName)) {\n var attributeName = DOMAttributeNames[propName];\n propertyInfo.attributeName = attributeName;\n if (process.env.NODE_ENV !== 'production') {\n DOMProperty.getPossibleStandardName[attributeName] = propName;\n }\n }\n\n if (DOMAttributeNamespaces.hasOwnProperty(propName)) {\n propertyInfo.attributeNamespace = DOMAttributeNamespaces[propName];\n }\n\n if (DOMPropertyNames.hasOwnProperty(propName)) {\n propertyInfo.propertyName = DOMPropertyNames[propName];\n }\n\n if (DOMMutationMethods.hasOwnProperty(propName)) {\n propertyInfo.mutationMethod = DOMMutationMethods[propName];\n }\n\n DOMProperty.properties[propName] = propertyInfo;\n }\n }\n};\n\n/* eslint-disable max-len */\nvar ATTRIBUTE_NAME_START_CHAR = ':A-Z_a-z\\\\u00C0-\\\\u00D6\\\\u00D8-\\\\u00F6\\\\u00F8-\\\\u02FF\\\\u0370-\\\\u037D\\\\u037F-\\\\u1FFF\\\\u200C-\\\\u200D\\\\u2070-\\\\u218F\\\\u2C00-\\\\u2FEF\\\\u3001-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFFD';\n/* eslint-enable max-len */\n\n/**\n * DOMProperty exports lookup objects that can be used like functions:\n *\n * > DOMProperty.isValid['id']\n * true\n * > DOMProperty.isValid['foobar']\n * undefined\n *\n * Although this may be confusing, it performs better in general.\n *\n * @see http://jsperf.com/key-exists\n * @see http://jsperf.com/key-missing\n */\nvar DOMProperty = {\n\n ID_ATTRIBUTE_NAME: 'data-reactid',\n ROOT_ATTRIBUTE_NAME: 'data-reactroot',\n\n ATTRIBUTE_NAME_START_CHAR: ATTRIBUTE_NAME_START_CHAR,\n ATTRIBUTE_NAME_CHAR: ATTRIBUTE_NAME_START_CHAR + '\\\\-.0-9\\\\u00B7\\\\u0300-\\\\u036F\\\\u203F-\\\\u2040',\n\n /**\n * Map from property \"standard name\" to an object with info about how to set\n * the property in the DOM. Each object contains:\n *\n * attributeName:\n * Used when rendering markup or with `*Attribute()`.\n * attributeNamespace\n * propertyName:\n * Used on DOM node instances. (This includes properties that mutate due to\n * external factors.)\n * mutationMethod:\n * If non-null, used instead of the property or `setAttribute()` after\n * initial render.\n * mustUseProperty:\n * Whether the property must be accessed and mutated as an object property.\n * hasBooleanValue:\n * Whether the property should be removed when set to a falsey value.\n * hasNumericValue:\n * Whether the property must be numeric or parse as a numeric and should be\n * removed when set to a falsey value.\n * hasPositiveNumericValue:\n * Whether the property must be positive numeric or parse as a positive\n * numeric and should be removed when set to a falsey value.\n * hasOverloadedBooleanValue:\n * Whether the property can be used as a flag as well as with a value.\n * Removed when strictly equal to false; present without a value when\n * strictly equal to true; present with a value otherwise.\n */\n properties: {},\n\n /**\n * Mapping from lowercase property names to the properly cased version, used\n * to warn in the case of missing properties. Available only in __DEV__.\n * @type {Object}\n */\n getPossibleStandardName: process.env.NODE_ENV !== 'production' ? {} : null,\n\n /**\n * All of the isCustomAttribute() functions that have been injected.\n */\n _isCustomAttributeFunctions: [],\n\n /**\n * Checks whether a property name is a custom attribute.\n * @method\n */\n isCustomAttribute: function (attributeName) {\n for (var i = 0; i < DOMProperty._isCustomAttributeFunctions.length; i++) {\n var isCustomAttributeFn = DOMProperty._isCustomAttributeFunctions[i];\n if (isCustomAttributeFn(attributeName)) {\n return true;\n }\n }\n return false;\n },\n\n injection: DOMPropertyInjection\n};\n\nmodule.exports = DOMProperty;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react/lib/DOMProperty.js\n ** module id = 54\n ** module chunks = 0\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule ReactReconciler\n */\n\n'use strict';\n\nvar ReactRef = require('./ReactRef');\nvar ReactInstrumentation = require('./ReactInstrumentation');\n\nvar warning = require('fbjs/lib/warning');\n\n/**\n * Helper to call ReactRef.attachRefs with this composite component, split out\n * to avoid allocations in the transaction mount-ready queue.\n */\nfunction attachRefs() {\n ReactRef.attachRefs(this, this._currentElement);\n}\n\nvar ReactReconciler = {\n\n /**\n * Initializes the component, renders markup, and registers event listeners.\n *\n * @param {ReactComponent} internalInstance\n * @param {ReactReconcileTransaction|ReactServerRenderingTransaction} transaction\n * @param {?object} the containing host component instance\n * @param {?object} info about the host container\n * @return {?string} Rendered markup to be inserted into the DOM.\n * @final\n * @internal\n */\n mountComponent: function (internalInstance, transaction, hostParent, hostContainerInfo, context, parentDebugID // 0 in production and for roots\n ) {\n if (process.env.NODE_ENV !== 'production') {\n if (internalInstance._debugID !== 0) {\n ReactInstrumentation.debugTool.onBeforeMountComponent(internalInstance._debugID, internalInstance._currentElement, parentDebugID);\n }\n }\n var markup = internalInstance.mountComponent(transaction, hostParent, hostContainerInfo, context, parentDebugID);\n if (internalInstance._currentElement && internalInstance._currentElement.ref != null) {\n transaction.getReactMountReady().enqueue(attachRefs, internalInstance);\n }\n if (process.env.NODE_ENV !== 'production') {\n if (internalInstance._debugID !== 0) {\n ReactInstrumentation.debugTool.onMountComponent(internalInstance._debugID);\n }\n }\n return markup;\n },\n\n /**\n * Returns a value that can be passed to\n * ReactComponentEnvironment.replaceNodeWithMarkup.\n */\n getHostNode: function (internalInstance) {\n return internalInstance.getHostNode();\n },\n\n /**\n * Releases any resources allocated by `mountComponent`.\n *\n * @final\n * @internal\n */\n unmountComponent: function (internalInstance, safely) {\n if (process.env.NODE_ENV !== 'production') {\n if (internalInstance._debugID !== 0) {\n ReactInstrumentation.debugTool.onBeforeUnmountComponent(internalInstance._debugID);\n }\n }\n ReactRef.detachRefs(internalInstance, internalInstance._currentElement);\n internalInstance.unmountComponent(safely);\n if (process.env.NODE_ENV !== 'production') {\n if (internalInstance._debugID !== 0) {\n ReactInstrumentation.debugTool.onUnmountComponent(internalInstance._debugID);\n }\n }\n },\n\n /**\n * Update a component using a new element.\n *\n * @param {ReactComponent} internalInstance\n * @param {ReactElement} nextElement\n * @param {ReactReconcileTransaction} transaction\n * @param {object} context\n * @internal\n */\n receiveComponent: function (internalInstance, nextElement, transaction, context) {\n var prevElement = internalInstance._currentElement;\n\n if (nextElement === prevElement && context === internalInstance._context) {\n // Since elements are immutable after the owner is rendered,\n // we can do a cheap identity compare here to determine if this is a\n // superfluous reconcile. It's possible for state to be mutable but such\n // change should trigger an update of the owner which would recreate\n // the element. We explicitly check for the existence of an owner since\n // it's possible for an element created outside a composite to be\n // deeply mutated and reused.\n\n // TODO: Bailing out early is just a perf optimization right?\n // TODO: Removing the return statement should affect correctness?\n return;\n }\n\n if (process.env.NODE_ENV !== 'production') {\n if (internalInstance._debugID !== 0) {\n ReactInstrumentation.debugTool.onBeforeUpdateComponent(internalInstance._debugID, nextElement);\n }\n }\n\n var refsChanged = ReactRef.shouldUpdateRefs(prevElement, nextElement);\n\n if (refsChanged) {\n ReactRef.detachRefs(internalInstance, prevElement);\n }\n\n internalInstance.receiveComponent(nextElement, transaction, context);\n\n if (refsChanged && internalInstance._currentElement && internalInstance._currentElement.ref != null) {\n transaction.getReactMountReady().enqueue(attachRefs, internalInstance);\n }\n\n if (process.env.NODE_ENV !== 'production') {\n if (internalInstance._debugID !== 0) {\n ReactInstrumentation.debugTool.onUpdateComponent(internalInstance._debugID);\n }\n }\n },\n\n /**\n * Flush any dirty changes in a component.\n *\n * @param {ReactComponent} internalInstance\n * @param {ReactReconcileTransaction} transaction\n * @internal\n */\n performUpdateIfNecessary: function (internalInstance, transaction, updateBatchNumber) {\n if (internalInstance._updateBatchNumber !== updateBatchNumber) {\n // The component's enqueued batch number should always be the current\n // batch or the following one.\n process.env.NODE_ENV !== 'production' ? warning(internalInstance._updateBatchNumber == null || internalInstance._updateBatchNumber === updateBatchNumber + 1, 'performUpdateIfNecessary: Unexpected batch number (current %s, ' + 'pending %s)', updateBatchNumber, internalInstance._updateBatchNumber) : void 0;\n return;\n }\n if (process.env.NODE_ENV !== 'production') {\n if (internalInstance._debugID !== 0) {\n ReactInstrumentation.debugTool.onBeforeUpdateComponent(internalInstance._debugID, internalInstance._currentElement);\n }\n }\n internalInstance.performUpdateIfNecessary(transaction);\n if (process.env.NODE_ENV !== 'production') {\n if (internalInstance._debugID !== 0) {\n ReactInstrumentation.debugTool.onUpdateComponent(internalInstance._debugID);\n }\n }\n }\n\n};\n\nmodule.exports = ReactReconciler;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react/lib/ReactReconciler.js\n ** module id = 55\n ** module chunks = 0\n **/","import * as ActionTypes from '../constants/actionTypes';\n\nexport function storeContentFields(content) {\n return {\n type: ActionTypes.STORE_CONTENT_FIELDS,\n content\n };\n}\n\nexport function addField(namePrefix) {\n return {\n type: ActionTypes.ADD_METAFIELD,\n namePrefix\n };\n}\n\nexport function removeField(namePrefix, key) {\n return {\n type: ActionTypes.REMOVE_METAFIELD,\n namePrefix,\n key\n };\n}\n\nexport function updateFieldKey(namePrefix, fieldKey, newKey) {\n return {\n type: ActionTypes.UPDATE_FIELD_KEY,\n namePrefix,\n fieldKey,\n newKey\n };\n}\n\nexport function updateFieldValue(nameAttr, value) {\n return {\n type: ActionTypes.UPDATE_FIELD_VALUE,\n nameAttr,\n value\n };\n}\n\nexport function moveArrayItem(namePrefix, srcInd, targetInd) {\n return {\n type: ActionTypes.MOVE_ARRAY_ITEM,\n namePrefix,\n srcInd,\n targetInd\n };\n}\n\nexport function convertField(nameAttr, convertType) {\n return {\n type: ActionTypes.CONVERT_FIELD,\n nameAttr,\n convertType\n };\n}\n\nexport function updateTitle(title) {\n return {\n type: ActionTypes.UPDATE_TITLE,\n title\n };\n}\n\nexport function updateBody(body) {\n return {\n type: ActionTypes.UPDATE_BODY,\n body\n };\n}\n\nexport function updateDraft(draft) {\n return {\n type: ActionTypes.UPDATE_DRAFT,\n draft\n };\n}\n\nexport function updatePath(path) {\n return {\n type: ActionTypes.UPDATE_PATH,\n path\n };\n}\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/actions/metadata.js\n **/","export const API = process.env.NODE_ENV === 'production' ?\n '/_api' :\n 'http://localhost:4000/_api';\n\nexport const getConfigurationUrl = () => `${API}/configuration`;\nexport const putConfigurationUrl = () => `${API}/configuration`;\n\nexport const getPagesUrl = () => `${API}/pages`;\nexport const getPageUrl = (id) => `${API}/pages/${id}`;\nexport const putPageUrl = (id) => `${API}/pages/${id}`;\nexport const deletePageUrl = (id) => `${API}/pages/${id}`;\n\nexport const getCollectionsUrl = () => `${API}/collections`;\nexport const getCollectionUrl = (collection_name) =>\n `${API}/collections/${collection_name}`;\nexport const getCollectionDocumentUrl = (collection_name, id) =>\n `${API}/collections/${collection_name}/${id}`;\nexport const putCollectionDocumentUrl = (collection_name, id) =>\n `${API}/collections/${collection_name}/${id}`;\nexport const deleteCollectionDocumentUrl = (collection_name, id) =>\n `${API}/collections/${collection_name}/${id}`;\n\nexport const getDataFilesUrl = () => `${API}/data`;\nexport const getDataFileUrl = (filename) => `${API}/data/${filename}`;\nexport const putDataFileUrl = (filename) => `${API}/data/${filename}`;\nexport const deleteDataFileUrl = (filename) => `${API}/data/${filename}`;\n\nexport const getStaticFilesUrl = () => `${API}/static_files`;\nexport const getStaticFileUrl = (filename) => `${API}/static_files/${filename}`;\nexport const putStaticFileUrl = (filename) => `${API}/static_files/${filename}`;\nexport const deleteStaticFileUrl = (filename) => `${API}/static_files/${filename}`;\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/constants/api.js\n **/","import fetch from 'isomorphic-fetch';\nimport { addNotification } from '../actions/notifications';\nimport {\n getErrorMessage,\n getFetchErrorMessage,\n getUpdateErrorMessage,\n getDeleteMessage\n} from '../constants/lang';\n\n/**\n * Fetch wrapper for GET request that dispatches actions according to the\n * request status\n * @param {String} url\n * @param {Object} action_success\n * @param {Object} action_failure\n * @return {Function} dispatch\n */\nexport const get = (url, action_success, action_failure, dispatch) => {\n return fetch(url)\n .then(res => res.json())\n .then(data => dispatch({\n type: action_success.type,\n [action_success.name]: data\n }))\n .catch(error => {\n dispatch({\n type: action_failure.type,\n [action_failure.name]: error\n });\n dispatch(addNotification(\n getErrorMessage(),\n getFetchErrorMessage(action_success.name),\n 'error'\n ));\n });\n};\n\n/**\n * Fetch wrapper for PUT request that dispatches actions according to the\n * request status\n * @param {String} url\n * @param {Object} body\n * @param {Object} action_success\n * @param {Object} action_failure\n * @return {Function} dispatch\n */\nexport const put = (url, body, action_success, action_failure, dispatch) => {\n return fetch(url, {\n method: 'PUT',\n body\n })\n .then(res => res.json())\n .then(data => dispatch({\n type: action_success.type,\n [action_success.name]: data\n }))\n .catch(error => {\n dispatch({\n type: action_failure.type,\n [action_failure.name]: error\n });\n dispatch(addNotification(\n getErrorMessage(),\n getUpdateErrorMessage(action_success.name),\n 'error'\n ));\n });\n};\n\n/**\n * Fetch wrapper for DELETE request that dispatches actions according to the\n * request status\n * @param {String} url\n * @param {Object} action_success\n * @param {Object} action_failure\n * @return {Function} dispatch\n */\nexport const del = (url, action_success, action_failure, dispatch) => {\n return fetch(url, {\n method: 'DELETE'\n })\n .then(data => dispatch({\n type: action_success.type,\n id: action_success.id\n }))\n .catch(error => {\n dispatch({\n type: action_failure.type,\n [action_failure.name]: error\n });\n dispatch(addNotification(\n getErrorMessage(),\n getDeleteMessage(action_success.name),\n 'error'\n ));\n });\n};\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/utils/fetch.js\n **/","'use strict';\n\nmodule.exports = function getWindow(node) {\n return node === node.window ? node : node.nodeType === 9 ? node.defaultView || node.parentWindow : false;\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dom-helpers/query/isWindow.js\n ** module id = 59\n ** module chunks = 0\n **/","'use strict';\n\nvar camelize = require('../util/camelizeStyle'),\n hyphenate = require('../util/hyphenateStyle'),\n _getComputedStyle = require('./getComputedStyle'),\n removeStyle = require('./removeStyle');\n\nvar has = Object.prototype.hasOwnProperty;\n\nmodule.exports = function style(node, property, value) {\n var css = '',\n props = property;\n\n if (typeof property === 'string') {\n\n if (value === undefined) return node.style[camelize(property)] || _getComputedStyle(node).getPropertyValue(hyphenate(property));else (props = {})[property] = value;\n }\n\n for (var key in props) if (has.call(props, key)) {\n !props[key] && props[key] !== 0 ? removeStyle(node, hyphenate(key)) : css += hyphenate(key) + ':' + props[key] + ';';\n }\n\n node.style.cssText += ';' + css;\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dom-helpers/style/index.js\n ** module id = 60\n ** module chunks = 0\n **/","'use strict';\nmodule.exports = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dom-helpers/util/inDOM.js\n ** module id = 61\n ** module chunks = 0\n **/","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n */\n\n'use strict';\n\nvar emptyObject = {};\n\nif (process.env.NODE_ENV !== 'production') {\n Object.freeze(emptyObject);\n}\n\nmodule.exports = emptyObject;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/fbjs/lib/emptyObject.js\n ** module id = 62\n ** module chunks = 0\n **/","// YAML error class. http://stackoverflow.com/questions/8458984\n//\n'use strict';\n\nfunction YAMLException(reason, mark) {\n // Super constructor\n Error.call(this);\n\n // Include stack trace in error object\n if (Error.captureStackTrace) {\n // Chrome and NodeJS\n Error.captureStackTrace(this, this.constructor);\n } else {\n // FF, IE 10+ and Safari 6+. Fallback for others\n this.stack = (new Error()).stack || '';\n }\n\n this.name = 'YAMLException';\n this.reason = reason;\n this.mark = mark;\n this.message = (this.reason || '(unknown reason)') + (this.mark ? ' ' + this.mark.toString() : '');\n}\n\n\n// Inherit from Error\nYAMLException.prototype = Object.create(Error.prototype);\nYAMLException.prototype.constructor = YAMLException;\n\n\nYAMLException.prototype.toString = function toString(compact) {\n var result = this.name + ': ';\n\n result += this.reason || '(unknown reason)';\n\n if (!compact && this.mark) {\n result += ' ' + this.mark.toString();\n }\n\n return result;\n};\n\n\nmodule.exports = YAMLException;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/js-yaml/lib/js-yaml/exception.js\n ** module id = 63\n ** module chunks = 0\n **/","// JS-YAML's default schema for `safeLoad` function.\n// It is not described in the YAML specification.\n//\n// This schema is based on standard YAML's Core schema and includes most of\n// extra types described at YAML tag repository. (http://yaml.org/type/)\n\n\n'use strict';\n\n\nvar Schema = require('../schema');\n\n\nmodule.exports = new Schema({\n include: [\n require('./core')\n ],\n implicit: [\n require('../type/timestamp'),\n require('../type/merge')\n ],\n explicit: [\n require('../type/binary'),\n require('../type/omap'),\n require('../type/pairs'),\n require('../type/set')\n ]\n});\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/js-yaml/lib/js-yaml/schema/default_safe.js\n ** module id = 64\n ** module chunks = 0\n **/","var Symbol = require('./_Symbol'),\n getRawTag = require('./_getRawTag'),\n objectToString = require('./_objectToString');\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nmodule.exports = baseGetTag;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_baseGetTag.js\n ** module id = 65\n ** module chunks = 0\n **/","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/isObject.js\n ** module id = 66\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\nexports.routes = exports.route = exports.components = exports.component = exports.history = undefined;\nexports.falsy = falsy;\n\nvar _react = require('react');\n\nvar func = _react.PropTypes.func,\n object = _react.PropTypes.object,\n arrayOf = _react.PropTypes.arrayOf,\n oneOfType = _react.PropTypes.oneOfType,\n element = _react.PropTypes.element,\n shape = _react.PropTypes.shape,\n string = _react.PropTypes.string;\nfunction falsy(props, propName, componentName) {\n if (props[propName]) return new Error('<' + componentName + '> should not have a \"' + propName + '\" prop');\n}\n\nvar history = exports.history = shape({\n listen: func.isRequired,\n push: func.isRequired,\n replace: func.isRequired,\n go: func.isRequired,\n goBack: func.isRequired,\n goForward: func.isRequired\n});\n\nvar component = exports.component = oneOfType([func, string]);\nvar components = exports.components = oneOfType([component, object]);\nvar route = exports.route = oneOfType([object, element]);\nvar routes = exports.routes = oneOfType([route, arrayOf(route)]);\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-router/lib/InternalPropTypes.js\n ** module id = 67\n ** module chunks = 0\n **/","'use strict';\n\nvar _ = require('../util/_');\n\n//backport PureRenderEqual\nmodule.exports = {\n shouldComponentUpdate: function shouldComponentUpdate(nextProps, nextState) {\n return !_.isShallowEqual(this.props, nextProps) || !_.isShallowEqual(this.state, nextState);\n }\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-widgets/lib/mixins/PureRenderMixin.js\n ** module id = 68\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n\n contextTypes: {\n isRtl: _react2.default.PropTypes.bool\n },\n\n isRtl: function isRtl() {\n return !!this.context.isRtl;\n }\n};\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-widgets/lib/mixins/RtlChildContextMixin.js\n ** module id = 69\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\nexports.widgetEditable = exports.widgetEnabled = undefined;\nexports.isDisabled = isDisabled;\nexports.isReadOnly = isReadOnly;\nexports.isDisabledItem = isDisabledItem;\nexports.isReadOnlyItem = isReadOnlyItem;\nexports.contains = contains;\nexports.move = move;\n\nvar _dataHelpers = require('./dataHelpers');\n\nfunction isDisabled(props) {\n return props.disabled === true || props.disabled === 'disabled';\n}\n\nfunction isReadOnly(props) {\n return props.readOnly === true || props.readOnly === 'readOnly';\n}\n\nfunction isDisabledItem(item, props) {\n return isDisabled(props) || contains(item, props.disabled, props.valueField);\n}\n\nfunction isReadOnlyItem(item, props) {\n return isReadOnly(props) || contains(item, props.readOnly, props.valueField);\n}\n\nfunction contains(item, values, valueField) {\n return Array.isArray(values) ? values.some(function (value) {\n return (0, _dataHelpers.valueMatcher)(item, value, valueField);\n }) : (0, _dataHelpers.valueMatcher)(item, values, valueField);\n}\n\nfunction move(dir, item, props, list) {\n var isDisabledOrReadonly = function isDisabledOrReadonly(item) {\n return isDisabledItem(item, props) || isReadOnlyItem(item, props);\n },\n stop = dir === 'next' ? list.last() : list.first(),\n next = list[dir](item);\n\n while (next !== stop && isDisabledOrReadonly(next)) {\n next = list[dir](next);\n }return isDisabledOrReadonly(next) ? item : next;\n}\n\nvar widgetEnabled = exports.widgetEnabled = interactionDecorator(true);\n\nvar widgetEditable = exports.widgetEditable = interactionDecorator(false);\n\nfunction interactionDecorator(disabledOnly) {\n function wrap(method) {\n return function decoratedMethod() {\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n if (!(isDisabled(this.props) || !disabledOnly && isReadOnly(this.props))) return method.apply(this, args);\n };\n }\n\n return function decorate(target, key, desc) {\n if (desc.initializer) {\n (function () {\n var init = desc.initializer;\n desc.initializer = function () {\n return wrap(init());\n };\n })();\n } else desc.value = wrap(desc.value);\n return desc;\n };\n}\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-widgets/lib/util/interaction.js\n ** module id = 70\n ** module chunks = 0\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule EventPluginHub\n */\n\n'use strict';\n\nvar _prodInvariant = require('./reactProdInvariant');\n\nvar EventPluginRegistry = require('./EventPluginRegistry');\nvar EventPluginUtils = require('./EventPluginUtils');\nvar ReactErrorUtils = require('./ReactErrorUtils');\n\nvar accumulateInto = require('./accumulateInto');\nvar forEachAccumulated = require('./forEachAccumulated');\nvar invariant = require('fbjs/lib/invariant');\n\n/**\n * Internal store for event listeners\n */\nvar listenerBank = {};\n\n/**\n * Internal queue of events that have accumulated their dispatches and are\n * waiting to have their dispatches executed.\n */\nvar eventQueue = null;\n\n/**\n * Dispatches an event and releases it back into the pool, unless persistent.\n *\n * @param {?object} event Synthetic event to be dispatched.\n * @param {boolean} simulated If the event is simulated (changes exn behavior)\n * @private\n */\nvar executeDispatchesAndRelease = function (event, simulated) {\n if (event) {\n EventPluginUtils.executeDispatchesInOrder(event, simulated);\n\n if (!event.isPersistent()) {\n event.constructor.release(event);\n }\n }\n};\nvar executeDispatchesAndReleaseSimulated = function (e) {\n return executeDispatchesAndRelease(e, true);\n};\nvar executeDispatchesAndReleaseTopLevel = function (e) {\n return executeDispatchesAndRelease(e, false);\n};\n\nvar getDictionaryKey = function (inst) {\n // Prevents V8 performance issue:\n // https://github.com/facebook/react/pull/7232\n return '.' + inst._rootNodeID;\n};\n\n/**\n * This is a unified interface for event plugins to be installed and configured.\n *\n * Event plugins can implement the following properties:\n *\n * `extractEvents` {function(string, DOMEventTarget, string, object): *}\n * Required. When a top-level event is fired, this method is expected to\n * extract synthetic events that will in turn be queued and dispatched.\n *\n * `eventTypes` {object}\n * Optional, plugins that fire events must publish a mapping of registration\n * names that are used to register listeners. Values of this mapping must\n * be objects that contain `registrationName` or `phasedRegistrationNames`.\n *\n * `executeDispatch` {function(object, function, string)}\n * Optional, allows plugins to override how an event gets dispatched. By\n * default, the listener is simply invoked.\n *\n * Each plugin that is injected into `EventsPluginHub` is immediately operable.\n *\n * @public\n */\nvar EventPluginHub = {\n\n /**\n * Methods for injecting dependencies.\n */\n injection: {\n\n /**\n * @param {array} InjectedEventPluginOrder\n * @public\n */\n injectEventPluginOrder: EventPluginRegistry.injectEventPluginOrder,\n\n /**\n * @param {object} injectedNamesToPlugins Map from names to plugin modules.\n */\n injectEventPluginsByName: EventPluginRegistry.injectEventPluginsByName\n\n },\n\n /**\n * Stores `listener` at `listenerBank[registrationName][key]`. Is idempotent.\n *\n * @param {object} inst The instance, which is the source of events.\n * @param {string} registrationName Name of listener (e.g. `onClick`).\n * @param {function} listener The callback to store.\n */\n putListener: function (inst, registrationName, listener) {\n !(typeof listener === 'function') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Expected %s listener to be a function, instead got type %s', registrationName, typeof listener) : _prodInvariant('94', registrationName, typeof listener) : void 0;\n\n var key = getDictionaryKey(inst);\n var bankForRegistrationName = listenerBank[registrationName] || (listenerBank[registrationName] = {});\n bankForRegistrationName[key] = listener;\n\n var PluginModule = EventPluginRegistry.registrationNameModules[registrationName];\n if (PluginModule && PluginModule.didPutListener) {\n PluginModule.didPutListener(inst, registrationName, listener);\n }\n },\n\n /**\n * @param {object} inst The instance, which is the source of events.\n * @param {string} registrationName Name of listener (e.g. `onClick`).\n * @return {?function} The stored callback.\n */\n getListener: function (inst, registrationName) {\n var bankForRegistrationName = listenerBank[registrationName];\n var key = getDictionaryKey(inst);\n return bankForRegistrationName && bankForRegistrationName[key];\n },\n\n /**\n * Deletes a listener from the registration bank.\n *\n * @param {object} inst The instance, which is the source of events.\n * @param {string} registrationName Name of listener (e.g. `onClick`).\n */\n deleteListener: function (inst, registrationName) {\n var PluginModule = EventPluginRegistry.registrationNameModules[registrationName];\n if (PluginModule && PluginModule.willDeleteListener) {\n PluginModule.willDeleteListener(inst, registrationName);\n }\n\n var bankForRegistrationName = listenerBank[registrationName];\n // TODO: This should never be null -- when is it?\n if (bankForRegistrationName) {\n var key = getDictionaryKey(inst);\n delete bankForRegistrationName[key];\n }\n },\n\n /**\n * Deletes all listeners for the DOM element with the supplied ID.\n *\n * @param {object} inst The instance, which is the source of events.\n */\n deleteAllListeners: function (inst) {\n var key = getDictionaryKey(inst);\n for (var registrationName in listenerBank) {\n if (!listenerBank.hasOwnProperty(registrationName)) {\n continue;\n }\n\n if (!listenerBank[registrationName][key]) {\n continue;\n }\n\n var PluginModule = EventPluginRegistry.registrationNameModules[registrationName];\n if (PluginModule && PluginModule.willDeleteListener) {\n PluginModule.willDeleteListener(inst, registrationName);\n }\n\n delete listenerBank[registrationName][key];\n }\n },\n\n /**\n * Allows registered plugins an opportunity to extract events from top-level\n * native browser events.\n *\n * @return {*} An accumulation of synthetic events.\n * @internal\n */\n extractEvents: function (topLevelType, targetInst, nativeEvent, nativeEventTarget) {\n var events;\n var plugins = EventPluginRegistry.plugins;\n for (var i = 0; i < plugins.length; i++) {\n // Not every plugin in the ordering may be loaded at runtime.\n var possiblePlugin = plugins[i];\n if (possiblePlugin) {\n var extractedEvents = possiblePlugin.extractEvents(topLevelType, targetInst, nativeEvent, nativeEventTarget);\n if (extractedEvents) {\n events = accumulateInto(events, extractedEvents);\n }\n }\n }\n return events;\n },\n\n /**\n * Enqueues a synthetic event that should be dispatched when\n * `processEventQueue` is invoked.\n *\n * @param {*} events An accumulation of synthetic events.\n * @internal\n */\n enqueueEvents: function (events) {\n if (events) {\n eventQueue = accumulateInto(eventQueue, events);\n }\n },\n\n /**\n * Dispatches all synthetic events on the event queue.\n *\n * @internal\n */\n processEventQueue: function (simulated) {\n // Set `eventQueue` to null before processing it so that we can tell if more\n // events get enqueued while processing.\n var processingEventQueue = eventQueue;\n eventQueue = null;\n if (simulated) {\n forEachAccumulated(processingEventQueue, executeDispatchesAndReleaseSimulated);\n } else {\n forEachAccumulated(processingEventQueue, executeDispatchesAndReleaseTopLevel);\n }\n !!eventQueue ? process.env.NODE_ENV !== 'production' ? invariant(false, 'processEventQueue(): Additional events were enqueued while processing an event queue. Support for this has not yet been implemented.') : _prodInvariant('95') : void 0;\n // This would be a good time to rethrow if any of the event handlers threw.\n ReactErrorUtils.rethrowCaughtError();\n },\n\n /**\n * These are needed for tests only. Do not use!\n */\n __purge: function () {\n listenerBank = {};\n },\n\n __getListenerBank: function () {\n return listenerBank;\n }\n\n};\n\nmodule.exports = EventPluginHub;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react/lib/EventPluginHub.js\n ** module id = 71\n ** module chunks = 0\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule EventPropagators\n */\n\n'use strict';\n\nvar EventConstants = require('./EventConstants');\nvar EventPluginHub = require('./EventPluginHub');\nvar EventPluginUtils = require('./EventPluginUtils');\n\nvar accumulateInto = require('./accumulateInto');\nvar forEachAccumulated = require('./forEachAccumulated');\nvar warning = require('fbjs/lib/warning');\n\nvar PropagationPhases = EventConstants.PropagationPhases;\nvar getListener = EventPluginHub.getListener;\n\n/**\n * Some event types have a notion of different registration names for different\n * \"phases\" of propagation. This finds listeners by a given phase.\n */\nfunction listenerAtPhase(inst, event, propagationPhase) {\n var registrationName = event.dispatchConfig.phasedRegistrationNames[propagationPhase];\n return getListener(inst, registrationName);\n}\n\n/**\n * Tags a `SyntheticEvent` with dispatched listeners. Creating this function\n * here, allows us to not have to bind or create functions for each event.\n * Mutating the event's members allows us to not have to create a wrapping\n * \"dispatch\" object that pairs the event with the listener.\n */\nfunction accumulateDirectionalDispatches(inst, upwards, event) {\n if (process.env.NODE_ENV !== 'production') {\n process.env.NODE_ENV !== 'production' ? warning(inst, 'Dispatching inst must not be null') : void 0;\n }\n var phase = upwards ? PropagationPhases.bubbled : PropagationPhases.captured;\n var listener = listenerAtPhase(inst, event, phase);\n if (listener) {\n event._dispatchListeners = accumulateInto(event._dispatchListeners, listener);\n event._dispatchInstances = accumulateInto(event._dispatchInstances, inst);\n }\n}\n\n/**\n * Collect dispatches (must be entirely collected before dispatching - see unit\n * tests). Lazily allocate the array to conserve memory. We must loop through\n * each event and perform the traversal for each one. We cannot perform a\n * single traversal for the entire collection of events because each event may\n * have a different target.\n */\nfunction accumulateTwoPhaseDispatchesSingle(event) {\n if (event && event.dispatchConfig.phasedRegistrationNames) {\n EventPluginUtils.traverseTwoPhase(event._targetInst, accumulateDirectionalDispatches, event);\n }\n}\n\n/**\n * Same as `accumulateTwoPhaseDispatchesSingle`, but skips over the targetID.\n */\nfunction accumulateTwoPhaseDispatchesSingleSkipTarget(event) {\n if (event && event.dispatchConfig.phasedRegistrationNames) {\n var targetInst = event._targetInst;\n var parentInst = targetInst ? EventPluginUtils.getParentInstance(targetInst) : null;\n EventPluginUtils.traverseTwoPhase(parentInst, accumulateDirectionalDispatches, event);\n }\n}\n\n/**\n * Accumulates without regard to direction, does not look for phased\n * registration names. Same as `accumulateDirectDispatchesSingle` but without\n * requiring that the `dispatchMarker` be the same as the dispatched ID.\n */\nfunction accumulateDispatches(inst, ignoredDirection, event) {\n if (event && event.dispatchConfig.registrationName) {\n var registrationName = event.dispatchConfig.registrationName;\n var listener = getListener(inst, registrationName);\n if (listener) {\n event._dispatchListeners = accumulateInto(event._dispatchListeners, listener);\n event._dispatchInstances = accumulateInto(event._dispatchInstances, inst);\n }\n }\n}\n\n/**\n * Accumulates dispatches on an `SyntheticEvent`, but only for the\n * `dispatchMarker`.\n * @param {SyntheticEvent} event\n */\nfunction accumulateDirectDispatchesSingle(event) {\n if (event && event.dispatchConfig.registrationName) {\n accumulateDispatches(event._targetInst, null, event);\n }\n}\n\nfunction accumulateTwoPhaseDispatches(events) {\n forEachAccumulated(events, accumulateTwoPhaseDispatchesSingle);\n}\n\nfunction accumulateTwoPhaseDispatchesSkipTarget(events) {\n forEachAccumulated(events, accumulateTwoPhaseDispatchesSingleSkipTarget);\n}\n\nfunction accumulateEnterLeaveDispatches(leave, enter, from, to) {\n EventPluginUtils.traverseEnterLeave(from, to, accumulateDispatches, leave, enter);\n}\n\nfunction accumulateDirectDispatches(events) {\n forEachAccumulated(events, accumulateDirectDispatchesSingle);\n}\n\n/**\n * A small set of propagation patterns, each of which will accept a small amount\n * of information, and generate a set of \"dispatch ready event objects\" - which\n * are sets of events that have already been annotated with a set of dispatched\n * listener functions/ids. The API is designed this way to discourage these\n * propagation strategies from actually executing the dispatches, since we\n * always want to collect the entire set of dispatches before executing event a\n * single one.\n *\n * @constructor EventPropagators\n */\nvar EventPropagators = {\n accumulateTwoPhaseDispatches: accumulateTwoPhaseDispatches,\n accumulateTwoPhaseDispatchesSkipTarget: accumulateTwoPhaseDispatchesSkipTarget,\n accumulateDirectDispatches: accumulateDirectDispatches,\n accumulateEnterLeaveDispatches: accumulateEnterLeaveDispatches\n};\n\nmodule.exports = EventPropagators;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react/lib/EventPropagators.js\n ** module id = 72\n ** module chunks = 0\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule ReactInstanceMap\n */\n\n'use strict';\n\n/**\n * `ReactInstanceMap` maintains a mapping from a public facing stateful\n * instance (key) and the internal representation (value). This allows public\n * methods to accept the user facing instance as an argument and map them back\n * to internal methods.\n */\n\n// TODO: Replace this with ES6: var ReactInstanceMap = new Map();\n\nvar ReactInstanceMap = {\n\n /**\n * This API should be called `delete` but we'd have to make sure to always\n * transform these to strings for IE support. When this transform is fully\n * supported we can rename it.\n */\n remove: function (key) {\n key._reactInternalInstance = undefined;\n },\n\n get: function (key) {\n return key._reactInternalInstance;\n },\n\n has: function (key) {\n return key._reactInternalInstance !== undefined;\n },\n\n set: function (key, value) {\n key._reactInternalInstance = value;\n }\n\n};\n\nmodule.exports = ReactInstanceMap;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react/lib/ReactInstanceMap.js\n ** module id = 73\n ** module chunks = 0\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule SyntheticUIEvent\n */\n\n'use strict';\n\nvar SyntheticEvent = require('./SyntheticEvent');\n\nvar getEventTarget = require('./getEventTarget');\n\n/**\n * @interface UIEvent\n * @see http://www.w3.org/TR/DOM-Level-3-Events/\n */\nvar UIEventInterface = {\n view: function (event) {\n if (event.view) {\n return event.view;\n }\n\n var target = getEventTarget(event);\n if (target.window === target) {\n // target is a window object\n return target;\n }\n\n var doc = target.ownerDocument;\n // TODO: Figure out why `ownerDocument` is sometimes undefined in IE8.\n if (doc) {\n return doc.defaultView || doc.parentWindow;\n } else {\n return window;\n }\n },\n detail: function (event) {\n return event.detail || 0;\n }\n};\n\n/**\n * @param {object} dispatchConfig Configuration used to dispatch this event.\n * @param {string} dispatchMarker Marker identifying the event target.\n * @param {object} nativeEvent Native browser event.\n * @extends {SyntheticEvent}\n */\nfunction SyntheticUIEvent(dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget) {\n return SyntheticEvent.call(this, dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget);\n}\n\nSyntheticEvent.augmentClass(SyntheticUIEvent, UIEventInterface);\n\nmodule.exports = SyntheticUIEvent;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react/lib/SyntheticUIEvent.js\n ** module id = 74\n ** module chunks = 0\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule Transaction\n */\n\n'use strict';\n\nvar _prodInvariant = require('./reactProdInvariant');\n\nvar invariant = require('fbjs/lib/invariant');\n\n/**\n * `Transaction` creates a black box that is able to wrap any method such that\n * certain invariants are maintained before and after the method is invoked\n * (Even if an exception is thrown while invoking the wrapped method). Whoever\n * instantiates a transaction can provide enforcers of the invariants at\n * creation time. The `Transaction` class itself will supply one additional\n * automatic invariant for you - the invariant that any transaction instance\n * should not be run while it is already being run. You would typically create a\n * single instance of a `Transaction` for reuse multiple times, that potentially\n * is used to wrap several different methods. Wrappers are extremely simple -\n * they only require implementing two methods.\n *\n * <pre>\n * wrappers (injected at creation time)\n * + +\n * | |\n * +-----------------|--------|--------------+\n * | v | |\n * | +---------------+ | |\n * | +--| wrapper1 |---|----+ |\n * | | +---------------+ v | |\n * | | +-------------+ | |\n * | | +----| wrapper2 |--------+ |\n * | | | +-------------+ | | |\n * | | | | | |\n * | v v v v | wrapper\n * | +---+ +---+ +---------+ +---+ +---+ | invariants\n * perform(anyMethod) | | | | | | | | | | | | maintained\n * +----------------->|-|---|-|---|-->|anyMethod|---|---|-|---|-|-------->\n * | | | | | | | | | | | |\n * | | | | | | | | | | | |\n * | | | | | | | | | | | |\n * | +---+ +---+ +---------+ +---+ +---+ |\n * | initialize close |\n * +-----------------------------------------+\n * </pre>\n *\n * Use cases:\n * - Preserving the input selection ranges before/after reconciliation.\n * Restoring selection even in the event of an unexpected error.\n * - Deactivating events while rearranging the DOM, preventing blurs/focuses,\n * while guaranteeing that afterwards, the event system is reactivated.\n * - Flushing a queue of collected DOM mutations to the main UI thread after a\n * reconciliation takes place in a worker thread.\n * - Invoking any collected `componentDidUpdate` callbacks after rendering new\n * content.\n * - (Future use case): Wrapping particular flushes of the `ReactWorker` queue\n * to preserve the `scrollTop` (an automatic scroll aware DOM).\n * - (Future use case): Layout calculations before and after DOM updates.\n *\n * Transactional plugin API:\n * - A module that has an `initialize` method that returns any precomputation.\n * - and a `close` method that accepts the precomputation. `close` is invoked\n * when the wrapped process is completed, or has failed.\n *\n * @param {Array<TransactionalWrapper>} transactionWrapper Wrapper modules\n * that implement `initialize` and `close`.\n * @return {Transaction} Single transaction for reuse in thread.\n *\n * @class Transaction\n */\nvar Mixin = {\n /**\n * Sets up this instance so that it is prepared for collecting metrics. Does\n * so such that this setup method may be used on an instance that is already\n * initialized, in a way that does not consume additional memory upon reuse.\n * That can be useful if you decide to make your subclass of this mixin a\n * \"PooledClass\".\n */\n reinitializeTransaction: function () {\n this.transactionWrappers = this.getTransactionWrappers();\n if (this.wrapperInitData) {\n this.wrapperInitData.length = 0;\n } else {\n this.wrapperInitData = [];\n }\n this._isInTransaction = false;\n },\n\n _isInTransaction: false,\n\n /**\n * @abstract\n * @return {Array<TransactionWrapper>} Array of transaction wrappers.\n */\n getTransactionWrappers: null,\n\n isInTransaction: function () {\n return !!this._isInTransaction;\n },\n\n /**\n * Executes the function within a safety window. Use this for the top level\n * methods that result in large amounts of computation/mutations that would\n * need to be safety checked. The optional arguments helps prevent the need\n * to bind in many cases.\n *\n * @param {function} method Member of scope to call.\n * @param {Object} scope Scope to invoke from.\n * @param {Object?=} a Argument to pass to the method.\n * @param {Object?=} b Argument to pass to the method.\n * @param {Object?=} c Argument to pass to the method.\n * @param {Object?=} d Argument to pass to the method.\n * @param {Object?=} e Argument to pass to the method.\n * @param {Object?=} f Argument to pass to the method.\n *\n * @return {*} Return value from `method`.\n */\n perform: function (method, scope, a, b, c, d, e, f) {\n !!this.isInTransaction() ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Transaction.perform(...): Cannot initialize a transaction when there is already an outstanding transaction.') : _prodInvariant('27') : void 0;\n var errorThrown;\n var ret;\n try {\n this._isInTransaction = true;\n // Catching errors makes debugging more difficult, so we start with\n // errorThrown set to true before setting it to false after calling\n // close -- if it's still set to true in the finally block, it means\n // one of these calls threw.\n errorThrown = true;\n this.initializeAll(0);\n ret = method.call(scope, a, b, c, d, e, f);\n errorThrown = false;\n } finally {\n try {\n if (errorThrown) {\n // If `method` throws, prefer to show that stack trace over any thrown\n // by invoking `closeAll`.\n try {\n this.closeAll(0);\n } catch (err) {}\n } else {\n // Since `method` didn't throw, we don't want to silence the exception\n // here.\n this.closeAll(0);\n }\n } finally {\n this._isInTransaction = false;\n }\n }\n return ret;\n },\n\n initializeAll: function (startIndex) {\n var transactionWrappers = this.transactionWrappers;\n for (var i = startIndex; i < transactionWrappers.length; i++) {\n var wrapper = transactionWrappers[i];\n try {\n // Catching errors makes debugging more difficult, so we start with the\n // OBSERVED_ERROR state before overwriting it with the real return value\n // of initialize -- if it's still set to OBSERVED_ERROR in the finally\n // block, it means wrapper.initialize threw.\n this.wrapperInitData[i] = Transaction.OBSERVED_ERROR;\n this.wrapperInitData[i] = wrapper.initialize ? wrapper.initialize.call(this) : null;\n } finally {\n if (this.wrapperInitData[i] === Transaction.OBSERVED_ERROR) {\n // The initializer for wrapper i threw an error; initialize the\n // remaining wrappers but silence any exceptions from them to ensure\n // that the first error is the one to bubble up.\n try {\n this.initializeAll(i + 1);\n } catch (err) {}\n }\n }\n }\n },\n\n /**\n * Invokes each of `this.transactionWrappers.close[i]` functions, passing into\n * them the respective return values of `this.transactionWrappers.init[i]`\n * (`close`rs that correspond to initializers that failed will not be\n * invoked).\n */\n closeAll: function (startIndex) {\n !this.isInTransaction() ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Transaction.closeAll(): Cannot close transaction when none are open.') : _prodInvariant('28') : void 0;\n var transactionWrappers = this.transactionWrappers;\n for (var i = startIndex; i < transactionWrappers.length; i++) {\n var wrapper = transactionWrappers[i];\n var initData = this.wrapperInitData[i];\n var errorThrown;\n try {\n // Catching errors makes debugging more difficult, so we start with\n // errorThrown set to true before setting it to false after calling\n // close -- if it's still set to true in the finally block, it means\n // wrapper.close threw.\n errorThrown = true;\n if (initData !== Transaction.OBSERVED_ERROR && wrapper.close) {\n wrapper.close.call(this, initData);\n }\n errorThrown = false;\n } finally {\n if (errorThrown) {\n // The closer for wrapper i threw an error; close the remaining\n // wrappers but silence any exceptions from them to ensure that the\n // first error is the one to bubble up.\n try {\n this.closeAll(i + 1);\n } catch (e) {}\n }\n }\n }\n this.wrapperInitData.length = 0;\n }\n};\n\nvar Transaction = {\n\n Mixin: Mixin,\n\n /**\n * Token to look for to determine if an error occurred.\n */\n OBSERVED_ERROR: {}\n\n};\n\nmodule.exports = Transaction;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react/lib/Transaction.js\n ** module id = 75\n ** module chunks = 0\n **/","module.exports = function(module) {\r\n\tif(!module.webpackPolyfill) {\r\n\t\tmodule.deprecate = function() {};\r\n\t\tmodule.paths = [];\r\n\t\t// module.parent = undefined by default\r\n\t\tmodule.children = [];\r\n\t\tmodule.webpackPolyfill = 1;\r\n\t}\r\n\treturn module;\r\n}\r\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** (webpack)/buildin/module.js\n ** module id = 76\n ** module chunks = 0\n **/","import * as ActionTypes from '../constants/actionTypes';\nimport _ from 'underscore';\nimport moment from 'moment';\nimport { validationError } from '../actions/utils';\nimport { get, put } from '../utils/fetch';\nimport { validator } from '../utils/validation';\nimport { slugify, getFilenameFromPath } from '../utils/helpers';\nimport {\n getTitleRequiredMessage,\n getFilenameRequiredMessage,\n getFilenameNotValidMessage\n} from '../constants/lang';\nimport {\n getCollectionsUrl,\n getCollectionUrl,\n getCollectionDocumentUrl,\n putCollectionDocumentUrl,\n deleteCollectionDocumentUrl\n} from '../constants/api';\n\nexport function fetchCollections() {\n return dispatch => {\n dispatch({ type: ActionTypes.FETCH_COLLECTIONS_REQUEST});\n return get(\n getCollectionsUrl(),\n { type: ActionTypes.FETCH_COLLECTIONS_SUCCESS, name: \"collections\"},\n { type: ActionTypes.FETCH_COLLECTIONS_FAILURE, name: \"error\"},\n dispatch\n );\n };\n}\n\nexport function fetchCollection(collection_name) {\n return dispatch => {\n dispatch({ type: ActionTypes.FETCH_COLLECTION_REQUEST});\n return get(\n getCollectionUrl(collection_name),\n { type: ActionTypes.FETCH_COLLECTION_SUCCESS, name: \"collection\"},\n { type: ActionTypes.FETCH_COLLECTION_FAILURE, name: \"error\"},\n dispatch\n );\n };\n}\n\nexport function fetchDocument(collection_name, id) {\n return dispatch => {\n dispatch({ type: ActionTypes.FETCH_DOCUMENT_REQUEST});\n return get(\n getCollectionDocumentUrl(collection_name, id),\n { type: ActionTypes.FETCH_DOCUMENT_SUCCESS, name: \"doc\"},\n { type: ActionTypes.FETCH_DOCUMENT_FAILURE, name: \"error\"},\n dispatch\n );\n };\n}\n\nexport function putDocument(id, collection) {\n return (dispatch, getState) => {\n // get edited fields from metadata state\n const metadata = getState().metadata.metadata;\n let { path, raw_content, title } = metadata;\n\n // if no path given, generate filename from the title\n if (!path && title) {\n path = generateFilenameFromTitle(metadata, collection); // override empty path\n } else { // validate otherwise\n const errors = validateDocument(metadata, collection);\n if (errors.length) {\n return dispatch(validationError(errors));\n }\n }\n // clear errors\n dispatch({type: ActionTypes.CLEAR_ERRORS});\n\n // omit raw_content, path and empty-value keys in metadata state from front_matter\n const front_matter = _.omit(metadata, (value, key, object) => {\n if (key == 'raw_content' || key == 'path' || value == '') return true;\n });\n const payload = JSON.stringify({ raw_content, path, front_matter });\n\n // send the put request\n return put(\n putCollectionDocumentUrl(\n collection, id || getFilenameFromPath(path) // create or update document\n ),\n payload,\n { type: ActionTypes.PUT_DOCUMENT_SUCCESS, name: \"doc\"},\n { type: ActionTypes.PUT_DOCUMENT_FAILURE, name: \"error\"},\n dispatch\n );\n };\n}\n\nconst generateFilenameFromTitle = (metadata, collection) => {\n if (collection == 'posts') {\n // if date is provided, use it, otherwise generate it with today's date\n let date;\n if (metadata.date) {\n date = metadata.date.split(' ')[0];\n } else {\n date = moment().format('YYYY-MM-DD');\n }\n return `${date}-${slugify(metadata.title)}.md`;\n }\n return `${slugify(metadata.title)}.md`;\n};\n\nconst validateDocument = (metadata, collection) => {\n let validations = { title: 'required' }; // base validations\n // base messages\n let messages = {\n 'title.required': getTitleRequiredMessage(),\n 'path.required': getFilenameRequiredMessage()\n };\n\n if (collection == 'posts') {\n validations['path'] = 'required|date';\n messages['path.date'] = getFilenameNotValidMessage();\n }else {\n validations['path'] = 'required|filename';\n messages['path.filename'] = getFilenameNotValidMessage();\n }\n return validator(metadata, validations, messages);\n};\n\nexport function deleteDocument(id, collection) {\n return (dispatch) => {\n return fetch(deleteCollectionDocumentUrl(collection, id), {\n method: 'DELETE'\n })\n .then(data => {\n dispatch({ type: ActionTypes.DELETE_DOCUMENT_SUCCESS });\n dispatch(fetchCollection(collection));\n })\n .catch(error => dispatch({\n type: ActionTypes.DELETE_DOCUMENT_FAILURE,\n error\n }));\n };\n}\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/actions/collections.js\n **/","import React, { Component, PropTypes } from 'react';\nimport SimpleMDE from 'simplemde';\n\nconst classNames = [\n 'editor-toolbar',\n 'CodeMirror',\n 'editor-preview-side',\n 'editor-statusbar'\n];\n\nclass MarkdownEditor extends Component {\n\n componentDidMount() {\n this.create();\n }\n\n shouldComponentUpdate(nextProps) {\n return nextProps.initialValue !== this.props.initialValue;\n }\n\n componentDidUpdate() {\n this.destroy(); this.create();\n }\n\n componentWillUnmount() {\n this.destroy();\n }\n\n create() {\n const { onChange, onSave } = this.props;\n let opts = Object.create(this.props);\n opts['element'] = this.refs.text;\n opts['autoDownloadFontAwesome'] = false;\n let toolbarIcons = [\n 'bold', 'italic', 'heading', '|',\n 'code', 'quote', 'unordered-list', 'ordered-list',\n '|', 'link', 'image', '|', 'preview', 'side-by-side', 'fullscreen', '|'\n ];\n if (onSave) {\n toolbarIcons.push({\n name: \"save\",\n action: () => {\n onSave();\n },\n className: \"fa fa-floppy-o\",\n title: \"Save\"\n });\n }\n opts['toolbar'] = toolbarIcons;\n this.editor = new SimpleMDE(opts);\n this.editor.codemirror.on(\"change\", () => {\n onChange(this.editor.value());\n });\n }\n\n destroy() {\n for (let i in classNames) {\n let elementToRemove = this.refs.container.querySelector('.' + classNames[i]);\n elementToRemove && elementToRemove.remove();\n }\n }\n\n render() {\n return React.createElement('div', { ref: 'container' },\n React.createElement('textarea', { ref: 'text' })\n );\n }\n}\n\nMarkdownEditor.propTypes = {\n initialValue: PropTypes.string.isRequired,\n onChange: PropTypes.func.isRequired,\n onSave: PropTypes.func.isRequired\n};\n\nexport default MarkdownEditor;\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/components/MarkdownEditor.js\n **/","import React, { Component, PropTypes } from 'react';\n\nexport default class InputSearch extends Component {\n\n handleKeyPress(event) {\n const { search } = this.props;\n if (event.charCode == 13) {\n search(event.target.value);\n }\n }\n\n render() {\n const { searchBy } = this.props;\n return (\n <input\n onKeyPress={(e) => this.handleKeyPress(e)}\n type=\"text\"\n className=\"field\"\n placeholder={`Search by ${searchBy}`} />\n );\n }\n}\n\nInputSearch.propTypes = {\n search: PropTypes.func.isRequired,\n searchBy: PropTypes.string.isRequired\n};\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/components/form/InputSearch.js\n **/","import React, { Component, PropTypes } from 'react';\nimport TextareaAutosize from 'react-textarea-autosize';\n\nexport default class InputTitle extends Component {\n\n shouldComponentUpdate(nextProps) {\n return nextProps.title !== this.props.title;\n }\n\n handleChange(e){\n const { onChange } = this.props;\n onChange(e.target.value);\n }\n\n render() {\n const { title } = this.props;\n return (\n <TextareaAutosize\n onChange={(e) => this.handleChange(e)}\n className=\"input-title\"\n placeholder=\"Title\"\n defaultValue={title}\n ref=\"input\"\n />\n );\n }\n}\n\nInputTitle.propTypes = {\n title: PropTypes.string.isRequired,\n onChange: PropTypes.func.isRequired\n};\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/components/form/InputTitle.js\n **/","import React, { Component, PropTypes } from 'react';\nimport { connect } from 'react-redux';\nimport { bindActionCreators } from 'redux';\nimport _ from 'underscore';\nimport MetaField from '../components/metadata/MetaField';\nimport {\n storeContentFields, addField, removeField, updateFieldKey, updateFieldValue,\n moveArrayItem, convertField\n} from '../actions/metadata';\n\nexport class MetaFields extends Component {\n\n componentDidMount() {\n const { storeContentFields, fields } = this.props;\n storeContentFields(fields);\n }\n\n shouldComponentUpdate(nextProps) {\n return nextProps.metadata !== this.props.metadata;\n }\n\n render() {\n const { metadata, addField, removeField, updateFieldKey,\n updateFieldValue, moveArrayItem, convertField, key_prefix } = this.props;\n\n const { path, title, raw_content, ...rest } = metadata;\n\n const metafields = _.map(rest, (field, key) => {\n let type = \"simple\";\n if (_.isObject(field)) type = \"object\";\n if (_.isArray(field)) type = \"array\";\n return (\n <MetaField\n key={key}\n key_prefix={key_prefix}\n type={type}\n parentType=\"top\"\n fieldKey={key}\n fieldValue={field}\n addField={addField}\n removeField={removeField}\n updateFieldKey={updateFieldKey}\n updateFieldValue={updateFieldValue}\n moveArrayItem={moveArrayItem}\n convertField={convertField}\n nameAttr={`metadata['${key}']`}\n namePrefix={`metadata`} />\n );\n });\n\n return (\n <div className=\"metafields\">\n {metafields}\n <div className=\"meta-new\">\n <a onClick={() => addField('metadata')} className=\"tooltip\">\n <i className=\"fa fa-plus-circle\"></i> New metadata field\n <span className=\"tooltip-text\">\n Metadata will be stored as the YAML Front Matter within the document.\n </span>\n </a>\n </div>\n </div>\n );\n }\n}\n\nMetaFields.propTypes = {\n fields: PropTypes.object.isRequired,\n metadata: PropTypes.object.isRequired,\n key_prefix: PropTypes.string.isRequired,\n storeContentFields: PropTypes.func.isRequired,\n addField: PropTypes.func.isRequired,\n removeField: PropTypes.func.isRequired,\n updateFieldKey: PropTypes.func.isRequired,\n updateFieldValue: PropTypes.func.isRequired,\n moveArrayItem: PropTypes.func.isRequired,\n convertField: PropTypes.func.isRequired\n};\n\nconst mapStateToProps = (state) => ({\n metadata: state.metadata.metadata,\n key_prefix: state.metadata.key_prefix\n});\n\nconst mapDispatchToProps = (dispatch) => bindActionCreators({\n storeContentFields,\n addField,\n removeField,\n updateFieldKey,\n updateFieldValue,\n moveArrayItem,\n convertField\n}, dispatch);\n\nexport default connect(mapStateToProps, mapDispatchToProps)(MetaFields);\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/containers/MetaFields.js\n **/","'use strict';\n\nvar offset = require('./offset'),\n getWindow = require('./isWindow');\n\nmodule.exports = function height(node, client) {\n var win = getWindow(node);\n return win ? win.innerHeight : client ? node.clientHeight : offset(node).height;\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dom-helpers/query/height.js\n ** module id = 82\n ** module chunks = 0\n **/","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @typechecks static-only\n */\n\n'use strict';\n\nvar invariant = require('./invariant');\n\n/**\n * Constructs an enumeration with keys equal to their value.\n *\n * For example:\n *\n * var COLORS = keyMirror({blue: null, red: null});\n * var myColor = COLORS.blue;\n * var isColorValid = !!COLORS[myColor];\n *\n * The last line could not be performed if the values of the generated enum were\n * not equal to their keys.\n *\n * Input: {key1: val1, key2: val2}\n * Output: {key1: key1, key2: key2}\n *\n * @param {object} obj\n * @return {object}\n */\nvar keyMirror = function keyMirror(obj) {\n var ret = {};\n var key;\n !(obj instanceof Object && !Array.isArray(obj)) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'keyMirror(...): Argument must be an object.') : invariant(false) : void 0;\n for (key in obj) {\n if (!obj.hasOwnProperty(key)) {\n continue;\n }\n ret[key] = key;\n }\n return ret;\n};\n\nmodule.exports = keyMirror;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/fbjs/lib/keyMirror.js\n ** module id = 83\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\n/**\n * Indicates that navigation was caused by a call to history.push.\n */\nvar PUSH = exports.PUSH = 'PUSH';\n\n/**\n * Indicates that navigation was caused by a call to history.replace.\n */\nvar REPLACE = exports.REPLACE = 'REPLACE';\n\n/**\n * Indicates that navigation was caused by some other action such\n * as using a browser's back/forward buttons and/or manually manipulating\n * the URL in a browser's location bar. This is the default.\n *\n * See https://developer.mozilla.org/en-US/docs/Web/API/WindowEventHandlers/onpopstate\n * for more information.\n */\nvar POP = exports.POP = 'POP';\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/history/lib/Actions.js\n ** module id = 84\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\nvar addEventListener = exports.addEventListener = function addEventListener(node, event, listener) {\n return node.addEventListener ? node.addEventListener(event, listener, false) : node.attachEvent('on' + event, listener);\n};\n\nvar removeEventListener = exports.removeEventListener = function removeEventListener(node, event, listener) {\n return node.removeEventListener ? node.removeEventListener(event, listener, false) : node.detachEvent('on' + event, listener);\n};\n\n/**\n * Returns true if the HTML5 history API is supported. Taken from Modernizr.\n *\n * https://github.com/Modernizr/Modernizr/blob/master/LICENSE\n * https://github.com/Modernizr/Modernizr/blob/master/feature-detects/history.js\n * changed to avoid false negatives for Windows Phones: https://github.com/reactjs/react-router/issues/586\n */\nvar supportsHistory = exports.supportsHistory = function supportsHistory() {\n var ua = window.navigator.userAgent;\n\n if ((ua.indexOf('Android 2.') !== -1 || ua.indexOf('Android 4.0') !== -1) && ua.indexOf('Mobile Safari') !== -1 && ua.indexOf('Chrome') === -1 && ua.indexOf('Windows Phone') === -1) return false;\n\n return window.history && 'pushState' in window.history;\n};\n\n/**\n * Returns false if using go(n) with hash history causes a full page reload.\n */\nvar supportsGoWithoutReloadUsingHash = exports.supportsGoWithoutReloadUsingHash = function supportsGoWithoutReloadUsingHash() {\n return window.navigator.userAgent.indexOf('Firefox') === -1;\n};\n\n/**\n * Returns true if browser fires popstate on hash change.\n * IE10 and IE11 do not.\n */\nvar supportsPopstateOnHashchange = exports.supportsPopstateOnHashchange = function supportsPopstateOnHashchange() {\n return window.navigator.userAgent.indexOf('Trident') === -1;\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/history/lib/DOMUtils.js\n ** module id = 85\n ** module chunks = 0\n **/","// JS-YAML's default schema for `load` function.\n// It is not described in the YAML specification.\n//\n// This schema is based on JS-YAML's default safe schema and includes\n// JavaScript-specific types: !!js/undefined, !!js/regexp and !!js/function.\n//\n// Also this schema is used as default base schema at `Schema.create` function.\n\n\n'use strict';\n\n\nvar Schema = require('../schema');\n\n\nmodule.exports = Schema.DEFAULT = new Schema({\n include: [\n require('./default_safe')\n ],\n explicit: [\n require('../type/js/undefined'),\n require('../type/js/regexp'),\n require('../type/js/function')\n ]\n});\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/js-yaml/lib/js-yaml/schema/default_full.js\n ** module id = 86\n ** module chunks = 0\n **/","var listCacheClear = require('./_listCacheClear'),\n listCacheDelete = require('./_listCacheDelete'),\n listCacheGet = require('./_listCacheGet'),\n listCacheHas = require('./_listCacheHas'),\n listCacheSet = require('./_listCacheSet');\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\nmodule.exports = ListCache;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_ListCache.js\n ** module id = 87\n ** module chunks = 0\n **/","var eq = require('./eq');\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\nmodule.exports = assocIndexOf;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_assocIndexOf.js\n ** module id = 88\n ** module chunks = 0\n **/","var assignValue = require('./_assignValue'),\n baseAssignValue = require('./_baseAssignValue');\n\n/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property identifiers to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @param {Function} [customizer] The function to customize copied values.\n * @returns {Object} Returns `object`.\n */\nfunction copyObject(source, props, object, customizer) {\n var isNew = !object;\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n\n var newValue = customizer\n ? customizer(object[key], source[key], key, object, source)\n : undefined;\n\n if (newValue === undefined) {\n newValue = source[key];\n }\n if (isNew) {\n baseAssignValue(object, key, newValue);\n } else {\n assignValue(object, key, newValue);\n }\n }\n return object;\n}\n\nmodule.exports = copyObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_copyObject.js\n ** module id = 89\n ** module chunks = 0\n **/","var isKeyable = require('./_isKeyable');\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\nmodule.exports = getMapData;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_getMapData.js\n ** module id = 90\n ** module chunks = 0\n **/","var getNative = require('./_getNative');\n\n/* Built-in method references that are verified to be native. */\nvar nativeCreate = getNative(Object, 'create');\n\nmodule.exports = nativeCreate;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_nativeCreate.js\n ** module id = 91\n ** module chunks = 0\n **/","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/isObjectLike.js\n ** module id = 92\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\n\nvar _class, _temp2;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _classnames = require('classnames');\n\nvar _classnames2 = _interopRequireDefault(_classnames);\n\nvar _dates = require('./util/dates');\n\nvar _dates2 = _interopRequireDefault(_dates);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar VIEW_UNITS = ['month', 'year', 'decade', 'century'];\n\nfunction clamp(date, min, max) {\n return _dates2.default.max(_dates2.default.min(date, max), min);\n}\n\nvar CalendarView = function (_React$Component) {\n _inherits(CalendarView, _React$Component);\n\n function CalendarView() {\n _classCallCheck(this, CalendarView);\n\n return _possibleConstructorReturn(this, _React$Component.apply(this, arguments));\n }\n\n CalendarView.prototype.render = function render() {\n var className = this.props.className;\n\n\n return _react2.default.createElement('table', _extends({}, this.props, {\n role: 'grid',\n tabIndex: '-1',\n className: (0, _classnames2.default)(className, 'rw-nav-view', 'rw-calendar-grid')\n }));\n };\n\n return CalendarView;\n}(_react2.default.Component);\n\nvar CalendarViewCell = (_temp2 = _class = function (_React$Component2) {\n _inherits(CalendarViewCell, _React$Component2);\n\n function CalendarViewCell() {\n var _temp, _this2, _ret;\n\n _classCallCheck(this, CalendarViewCell);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this2 = _possibleConstructorReturn(this, _React$Component2.call.apply(_React$Component2, [this].concat(args))), _this2), _this2.handleChange = function () {\n var _this2$props = _this2.props,\n onChange = _this2$props.onChange,\n min = _this2$props.min,\n max = _this2$props.max,\n date = _this2$props.date;\n\n onChange(clamp(date, min, max));\n }, _temp), _possibleConstructorReturn(_this2, _ret);\n }\n\n CalendarViewCell.prototype.isEqual = function isEqual(date) {\n return _dates2.default.eq(this.props.date, date, this.props.unit);\n };\n\n CalendarViewCell.prototype.isEmpty = function isEmpty() {\n var _props = this.props,\n unit = _props.unit,\n min = _props.min,\n max = _props.max,\n date = _props.date;\n\n return !_dates2.default.inRange(date, min, max, unit);\n };\n\n CalendarViewCell.prototype.isNow = function isNow() {\n return this.isEqual(this.props.now);\n };\n\n CalendarViewCell.prototype.isFocused = function isFocused() {\n return this.isEqual(this.props.focused);\n };\n\n CalendarViewCell.prototype.isSelected = function isSelected() {\n return this.isEqual(this.props.selected);\n };\n\n CalendarViewCell.prototype.isOffView = function isOffView() {\n var _props2 = this.props,\n viewUnit = _props2.viewUnit,\n focused = _props2.focused,\n date = _props2.date;\n\n return viewUnit && _dates2.default[viewUnit](date) !== _dates2.default[viewUnit](focused);\n };\n\n CalendarViewCell.prototype.render = function render() {\n var _props3 = this.props,\n children = _props3.children,\n id = _props3.id,\n label = _props3.label,\n disabled = _props3.disabled;\n\n\n if (this.isEmpty()) {\n return _react2.default.createElement(\n 'td',\n { className: 'rw-empty-cell', role: 'presentation' },\n '\\xA0'\n );\n }\n\n return _react2.default.createElement(\n 'td',\n {\n role: 'gridcell',\n id: id,\n title: label,\n 'aria-label': label,\n 'aria-readonly': disabled,\n 'aria-selected': this.isSelected()\n },\n _react2.default.createElement(\n 'span',\n {\n 'aria-labelledby': id,\n onClick: this.handleChange,\n className: (0, _classnames2.default)('rw-btn', this.isNow() && 'rw-now', this.isOffView() && 'rw-off-range', this.isFocused() && 'rw-state-focus', this.isSelected() && 'rw-state-selected')\n },\n children\n )\n );\n };\n\n return CalendarViewCell;\n}(_react2.default.Component), _class.propTypes = {\n id: _react2.default.PropTypes.string,\n label: _react2.default.PropTypes.string,\n today: _react2.default.PropTypes.instanceOf(Date),\n selected: _react2.default.PropTypes.instanceOf(Date),\n focused: _react2.default.PropTypes.instanceOf(Date),\n min: _react2.default.PropTypes.instanceOf(Date),\n max: _react2.default.PropTypes.instanceOf(Date),\n unit: _react2.default.PropTypes.oneOf(['day'].concat(VIEW_UNITS)),\n viewUnit: _react2.default.PropTypes.oneOf(VIEW_UNITS),\n onChange: _react2.default.PropTypes.func.isRequired\n}, _temp2);\n\n\nCalendarView.Row = function (props) {\n return _react2.default.createElement('tr', _extends({ role: 'row' }, props));\n};\nCalendarView.Cell = CalendarViewCell;\n\nexports.default = CalendarView;\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-widgets/lib/CalendarView.js\n ** module id = 93\n ** module chunks = 0\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule DisabledInputUtils\n */\n\n'use strict';\n\nvar disableableMouseListenerNames = {\n onClick: true,\n onDoubleClick: true,\n onMouseDown: true,\n onMouseMove: true,\n onMouseUp: true,\n\n onClickCapture: true,\n onDoubleClickCapture: true,\n onMouseDownCapture: true,\n onMouseMoveCapture: true,\n onMouseUpCapture: true\n};\n\n/**\n * Implements a host component that does not receive mouse events\n * when `disabled` is set.\n */\nvar DisabledInputUtils = {\n getHostProps: function (inst, props) {\n if (!props.disabled) {\n return props;\n }\n\n // Copy the props, except the mouse listeners\n var hostProps = {};\n for (var key in props) {\n if (!disableableMouseListenerNames[key] && props.hasOwnProperty(key)) {\n hostProps[key] = props[key];\n }\n }\n\n return hostProps;\n }\n};\n\nmodule.exports = DisabledInputUtils;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react/lib/DisabledInputUtils.js\n ** module id = 94\n ** module chunks = 0\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule ReactBrowserEventEmitter\n */\n\n'use strict';\n\nvar _assign = require('object-assign');\n\nvar EventConstants = require('./EventConstants');\nvar EventPluginRegistry = require('./EventPluginRegistry');\nvar ReactEventEmitterMixin = require('./ReactEventEmitterMixin');\nvar ViewportMetrics = require('./ViewportMetrics');\n\nvar getVendorPrefixedEventName = require('./getVendorPrefixedEventName');\nvar isEventSupported = require('./isEventSupported');\n\n/**\n * Summary of `ReactBrowserEventEmitter` event handling:\n *\n * - Top-level delegation is used to trap most native browser events. This\n * may only occur in the main thread and is the responsibility of\n * ReactEventListener, which is injected and can therefore support pluggable\n * event sources. This is the only work that occurs in the main thread.\n *\n * - We normalize and de-duplicate events to account for browser quirks. This\n * may be done in the worker thread.\n *\n * - Forward these native events (with the associated top-level type used to\n * trap it) to `EventPluginHub`, which in turn will ask plugins if they want\n * to extract any synthetic events.\n *\n * - The `EventPluginHub` will then process each event by annotating them with\n * \"dispatches\", a sequence of listeners and IDs that care about that event.\n *\n * - The `EventPluginHub` then dispatches the events.\n *\n * Overview of React and the event system:\n *\n * +------------+ .\n * | DOM | .\n * +------------+ .\n * | .\n * v .\n * +------------+ .\n * | ReactEvent | .\n * | Listener | .\n * +------------+ . +-----------+\n * | . +--------+|SimpleEvent|\n * | . | |Plugin |\n * +-----|------+ . v +-----------+\n * | | | . +--------------+ +------------+\n * | +-----------.--->|EventPluginHub| | Event |\n * | | . | | +-----------+ | Propagators|\n * | ReactEvent | . | | |TapEvent | |------------|\n * | Emitter | . | |<---+|Plugin | |other plugin|\n * | | . | | +-----------+ | utilities |\n * | +-----------.--->| | +------------+\n * | | | . +--------------+\n * +-----|------+ . ^ +-----------+\n * | . | |Enter/Leave|\n * + . +-------+|Plugin |\n * +-------------+ . +-----------+\n * | application | .\n * |-------------| .\n * | | .\n * | | .\n * +-------------+ .\n * .\n * React Core . General Purpose Event Plugin System\n */\n\nvar hasEventPageXY;\nvar alreadyListeningTo = {};\nvar isMonitoringScrollValue = false;\nvar reactTopListenersCounter = 0;\n\n// For events like 'submit' which don't consistently bubble (which we trap at a\n// lower node than `document`), binding at `document` would cause duplicate\n// events so we don't include them here\nvar topEventMapping = {\n topAbort: 'abort',\n topAnimationEnd: getVendorPrefixedEventName('animationend') || 'animationend',\n topAnimationIteration: getVendorPrefixedEventName('animationiteration') || 'animationiteration',\n topAnimationStart: getVendorPrefixedEventName('animationstart') || 'animationstart',\n topBlur: 'blur',\n topCanPlay: 'canplay',\n topCanPlayThrough: 'canplaythrough',\n topChange: 'change',\n topClick: 'click',\n topCompositionEnd: 'compositionend',\n topCompositionStart: 'compositionstart',\n topCompositionUpdate: 'compositionupdate',\n topContextMenu: 'contextmenu',\n topCopy: 'copy',\n topCut: 'cut',\n topDoubleClick: 'dblclick',\n topDrag: 'drag',\n topDragEnd: 'dragend',\n topDragEnter: 'dragenter',\n topDragExit: 'dragexit',\n topDragLeave: 'dragleave',\n topDragOver: 'dragover',\n topDragStart: 'dragstart',\n topDrop: 'drop',\n topDurationChange: 'durationchange',\n topEmptied: 'emptied',\n topEncrypted: 'encrypted',\n topEnded: 'ended',\n topError: 'error',\n topFocus: 'focus',\n topInput: 'input',\n topKeyDown: 'keydown',\n topKeyPress: 'keypress',\n topKeyUp: 'keyup',\n topLoadedData: 'loadeddata',\n topLoadedMetadata: 'loadedmetadata',\n topLoadStart: 'loadstart',\n topMouseDown: 'mousedown',\n topMouseMove: 'mousemove',\n topMouseOut: 'mouseout',\n topMouseOver: 'mouseover',\n topMouseUp: 'mouseup',\n topPaste: 'paste',\n topPause: 'pause',\n topPlay: 'play',\n topPlaying: 'playing',\n topProgress: 'progress',\n topRateChange: 'ratechange',\n topScroll: 'scroll',\n topSeeked: 'seeked',\n topSeeking: 'seeking',\n topSelectionChange: 'selectionchange',\n topStalled: 'stalled',\n topSuspend: 'suspend',\n topTextInput: 'textInput',\n topTimeUpdate: 'timeupdate',\n topTouchCancel: 'touchcancel',\n topTouchEnd: 'touchend',\n topTouchMove: 'touchmove',\n topTouchStart: 'touchstart',\n topTransitionEnd: getVendorPrefixedEventName('transitionend') || 'transitionend',\n topVolumeChange: 'volumechange',\n topWaiting: 'waiting',\n topWheel: 'wheel'\n};\n\n/**\n * To ensure no conflicts with other potential React instances on the page\n */\nvar topListenersIDKey = '_reactListenersID' + String(Math.random()).slice(2);\n\nfunction getListeningForDocument(mountAt) {\n // In IE8, `mountAt` is a host object and doesn't have `hasOwnProperty`\n // directly.\n if (!Object.prototype.hasOwnProperty.call(mountAt, topListenersIDKey)) {\n mountAt[topListenersIDKey] = reactTopListenersCounter++;\n alreadyListeningTo[mountAt[topListenersIDKey]] = {};\n }\n return alreadyListeningTo[mountAt[topListenersIDKey]];\n}\n\n/**\n * `ReactBrowserEventEmitter` is used to attach top-level event listeners. For\n * example:\n *\n * EventPluginHub.putListener('myID', 'onClick', myFunction);\n *\n * This would allocate a \"registration\" of `('onClick', myFunction)` on 'myID'.\n *\n * @internal\n */\nvar ReactBrowserEventEmitter = _assign({}, ReactEventEmitterMixin, {\n\n /**\n * Injectable event backend\n */\n ReactEventListener: null,\n\n injection: {\n /**\n * @param {object} ReactEventListener\n */\n injectReactEventListener: function (ReactEventListener) {\n ReactEventListener.setHandleTopLevel(ReactBrowserEventEmitter.handleTopLevel);\n ReactBrowserEventEmitter.ReactEventListener = ReactEventListener;\n }\n },\n\n /**\n * Sets whether or not any created callbacks should be enabled.\n *\n * @param {boolean} enabled True if callbacks should be enabled.\n */\n setEnabled: function (enabled) {\n if (ReactBrowserEventEmitter.ReactEventListener) {\n ReactBrowserEventEmitter.ReactEventListener.setEnabled(enabled);\n }\n },\n\n /**\n * @return {boolean} True if callbacks are enabled.\n */\n isEnabled: function () {\n return !!(ReactBrowserEventEmitter.ReactEventListener && ReactBrowserEventEmitter.ReactEventListener.isEnabled());\n },\n\n /**\n * We listen for bubbled touch events on the document object.\n *\n * Firefox v8.01 (and possibly others) exhibited strange behavior when\n * mounting `onmousemove` events at some node that was not the document\n * element. The symptoms were that if your mouse is not moving over something\n * contained within that mount point (for example on the background) the\n * top-level listeners for `onmousemove` won't be called. However, if you\n * register the `mousemove` on the document object, then it will of course\n * catch all `mousemove`s. This along with iOS quirks, justifies restricting\n * top-level listeners to the document object only, at least for these\n * movement types of events and possibly all events.\n *\n * @see http://www.quirksmode.org/blog/archives/2010/09/click_event_del.html\n *\n * Also, `keyup`/`keypress`/`keydown` do not bubble to the window on IE, but\n * they bubble to document.\n *\n * @param {string} registrationName Name of listener (e.g. `onClick`).\n * @param {object} contentDocumentHandle Document which owns the container\n */\n listenTo: function (registrationName, contentDocumentHandle) {\n var mountAt = contentDocumentHandle;\n var isListening = getListeningForDocument(mountAt);\n var dependencies = EventPluginRegistry.registrationNameDependencies[registrationName];\n\n var topLevelTypes = EventConstants.topLevelTypes;\n for (var i = 0; i < dependencies.length; i++) {\n var dependency = dependencies[i];\n if (!(isListening.hasOwnProperty(dependency) && isListening[dependency])) {\n if (dependency === topLevelTypes.topWheel) {\n if (isEventSupported('wheel')) {\n ReactBrowserEventEmitter.ReactEventListener.trapBubbledEvent(topLevelTypes.topWheel, 'wheel', mountAt);\n } else if (isEventSupported('mousewheel')) {\n ReactBrowserEventEmitter.ReactEventListener.trapBubbledEvent(topLevelTypes.topWheel, 'mousewheel', mountAt);\n } else {\n // Firefox needs to capture a different mouse scroll event.\n // @see http://www.quirksmode.org/dom/events/tests/scroll.html\n ReactBrowserEventEmitter.ReactEventListener.trapBubbledEvent(topLevelTypes.topWheel, 'DOMMouseScroll', mountAt);\n }\n } else if (dependency === topLevelTypes.topScroll) {\n\n if (isEventSupported('scroll', true)) {\n ReactBrowserEventEmitter.ReactEventListener.trapCapturedEvent(topLevelTypes.topScroll, 'scroll', mountAt);\n } else {\n ReactBrowserEventEmitter.ReactEventListener.trapBubbledEvent(topLevelTypes.topScroll, 'scroll', ReactBrowserEventEmitter.ReactEventListener.WINDOW_HANDLE);\n }\n } else if (dependency === topLevelTypes.topFocus || dependency === topLevelTypes.topBlur) {\n\n if (isEventSupported('focus', true)) {\n ReactBrowserEventEmitter.ReactEventListener.trapCapturedEvent(topLevelTypes.topFocus, 'focus', mountAt);\n ReactBrowserEventEmitter.ReactEventListener.trapCapturedEvent(topLevelTypes.topBlur, 'blur', mountAt);\n } else if (isEventSupported('focusin')) {\n // IE has `focusin` and `focusout` events which bubble.\n // @see http://www.quirksmode.org/blog/archives/2008/04/delegating_the.html\n ReactBrowserEventEmitter.ReactEventListener.trapBubbledEvent(topLevelTypes.topFocus, 'focusin', mountAt);\n ReactBrowserEventEmitter.ReactEventListener.trapBubbledEvent(topLevelTypes.topBlur, 'focusout', mountAt);\n }\n\n // to make sure blur and focus event listeners are only attached once\n isListening[topLevelTypes.topBlur] = true;\n isListening[topLevelTypes.topFocus] = true;\n } else if (topEventMapping.hasOwnProperty(dependency)) {\n ReactBrowserEventEmitter.ReactEventListener.trapBubbledEvent(dependency, topEventMapping[dependency], mountAt);\n }\n\n isListening[dependency] = true;\n }\n }\n },\n\n trapBubbledEvent: function (topLevelType, handlerBaseName, handle) {\n return ReactBrowserEventEmitter.ReactEventListener.trapBubbledEvent(topLevelType, handlerBaseName, handle);\n },\n\n trapCapturedEvent: function (topLevelType, handlerBaseName, handle) {\n return ReactBrowserEventEmitter.ReactEventListener.trapCapturedEvent(topLevelType, handlerBaseName, handle);\n },\n\n /**\n * Protect against document.createEvent() returning null\n * Some popup blocker extensions appear to do this:\n * https://github.com/facebook/react/issues/6887\n */\n supportsEventPageXY: function () {\n if (!document.createEvent) {\n return false;\n }\n var ev = document.createEvent('MouseEvent');\n return ev != null && 'pageX' in ev;\n },\n\n /**\n * Listens to window scroll and resize events. We cache scroll values so that\n * application code can access them without triggering reflows.\n *\n * ViewportMetrics is only used by SyntheticMouse/TouchEvent and only when\n * pageX/pageY isn't supported (legacy browsers).\n *\n * NOTE: Scroll events do not bubble.\n *\n * @see http://www.quirksmode.org/dom/events/scroll.html\n */\n ensureScrollValueMonitoring: function () {\n if (hasEventPageXY === undefined) {\n hasEventPageXY = ReactBrowserEventEmitter.supportsEventPageXY();\n }\n if (!hasEventPageXY && !isMonitoringScrollValue) {\n var refresh = ViewportMetrics.refreshScrollValues;\n ReactBrowserEventEmitter.ReactEventListener.monitorScrollValue(refresh);\n isMonitoringScrollValue = true;\n }\n }\n\n});\n\nmodule.exports = ReactBrowserEventEmitter;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react/lib/ReactBrowserEventEmitter.js\n ** module id = 95\n ** module chunks = 0\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule SyntheticMouseEvent\n */\n\n'use strict';\n\nvar SyntheticUIEvent = require('./SyntheticUIEvent');\nvar ViewportMetrics = require('./ViewportMetrics');\n\nvar getEventModifierState = require('./getEventModifierState');\n\n/**\n * @interface MouseEvent\n * @see http://www.w3.org/TR/DOM-Level-3-Events/\n */\nvar MouseEventInterface = {\n screenX: null,\n screenY: null,\n clientX: null,\n clientY: null,\n ctrlKey: null,\n shiftKey: null,\n altKey: null,\n metaKey: null,\n getModifierState: getEventModifierState,\n button: function (event) {\n // Webkit, Firefox, IE9+\n // which: 1 2 3\n // button: 0 1 2 (standard)\n var button = event.button;\n if ('which' in event) {\n return button;\n }\n // IE<9\n // which: undefined\n // button: 0 0 0\n // button: 1 4 2 (onmouseup)\n return button === 2 ? 2 : button === 4 ? 1 : 0;\n },\n buttons: null,\n relatedTarget: function (event) {\n return event.relatedTarget || (event.fromElement === event.srcElement ? event.toElement : event.fromElement);\n },\n // \"Proprietary\" Interface.\n pageX: function (event) {\n return 'pageX' in event ? event.pageX : event.clientX + ViewportMetrics.currentScrollLeft;\n },\n pageY: function (event) {\n return 'pageY' in event ? event.pageY : event.clientY + ViewportMetrics.currentScrollTop;\n }\n};\n\n/**\n * @param {object} dispatchConfig Configuration used to dispatch this event.\n * @param {string} dispatchMarker Marker identifying the event target.\n * @param {object} nativeEvent Native browser event.\n * @extends {SyntheticUIEvent}\n */\nfunction SyntheticMouseEvent(dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget) {\n return SyntheticUIEvent.call(this, dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget);\n}\n\nSyntheticUIEvent.augmentClass(SyntheticMouseEvent, MouseEventInterface);\n\nmodule.exports = SyntheticMouseEvent;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react/lib/SyntheticMouseEvent.js\n ** module id = 96\n ** module chunks = 0\n **/","/**\n * Copyright 2016-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * Based on the escape-html library, which is used under the MIT License below:\n *\n * Copyright (c) 2012-2013 TJ Holowaychuk\n * Copyright (c) 2015 Andreas Lubbe\n * Copyright (c) 2015 Tiancheng \"Timothy\" Gu\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a 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\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\n * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\n * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\n * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\n * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n *\n * @providesModule escapeTextContentForBrowser\n */\n\n'use strict';\n\n// code copied and modified from escape-html\n/**\n * Module variables.\n * @private\n */\n\nvar matchHtmlRegExp = /[\"'&<>]/;\n\n/**\n * Escape special characters in the given string of html.\n *\n * @param {string} string The string to escape for inserting into HTML\n * @return {string}\n * @public\n */\n\nfunction escapeHtml(string) {\n var str = '' + string;\n var match = matchHtmlRegExp.exec(str);\n\n if (!match) {\n return str;\n }\n\n var escape;\n var html = '';\n var index = 0;\n var lastIndex = 0;\n\n for (index = match.index; index < str.length; index++) {\n switch (str.charCodeAt(index)) {\n case 34:\n // \"\n escape = '"';\n break;\n case 38:\n // &\n escape = '&';\n break;\n case 39:\n // '\n escape = '''; // modified from escape-html; used to be '''\n break;\n case 60:\n // <\n escape = '<';\n break;\n case 62:\n // >\n escape = '>';\n break;\n default:\n continue;\n }\n\n if (lastIndex !== index) {\n html += str.substring(lastIndex, index);\n }\n\n lastIndex = index + 1;\n html += escape;\n }\n\n return lastIndex !== index ? html + str.substring(lastIndex, index) : html;\n}\n// end code copied and modified from escape-html\n\n\n/**\n * Escapes text to prevent scripting attacks.\n *\n * @param {*} text Text value to escape.\n * @return {string} An escaped string.\n */\nfunction escapeTextContentForBrowser(text) {\n if (typeof text === 'boolean' || typeof text === 'number') {\n // this shortcircuit helps perf for types that we know will never have\n // special characters, especially given that this function is used often\n // for numeric dom ids.\n return '' + text;\n }\n return escapeHtml(text);\n}\n\nmodule.exports = escapeTextContentForBrowser;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react/lib/escapeTextContentForBrowser.js\n ** module id = 97\n ** module chunks = 0\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule setInnerHTML\n */\n\n'use strict';\n\nvar ExecutionEnvironment = require('fbjs/lib/ExecutionEnvironment');\nvar DOMNamespaces = require('./DOMNamespaces');\n\nvar WHITESPACE_TEST = /^[ \\r\\n\\t\\f]/;\nvar NONVISIBLE_TEST = /<(!--|link|noscript|meta|script|style)[ \\r\\n\\t\\f\\/>]/;\n\nvar createMicrosoftUnsafeLocalFunction = require('./createMicrosoftUnsafeLocalFunction');\n\n// SVG temp container for IE lacking innerHTML\nvar reusableSVGContainer;\n\n/**\n * Set the innerHTML property of a node, ensuring that whitespace is preserved\n * even in IE8.\n *\n * @param {DOMElement} node\n * @param {string} html\n * @internal\n */\nvar setInnerHTML = createMicrosoftUnsafeLocalFunction(function (node, html) {\n // IE does not have innerHTML for SVG nodes, so instead we inject the\n // new markup in a temp node and then move the child nodes across into\n // the target node\n if (node.namespaceURI === DOMNamespaces.svg && !('innerHTML' in node)) {\n reusableSVGContainer = reusableSVGContainer || document.createElement('div');\n reusableSVGContainer.innerHTML = '<svg>' + html + '</svg>';\n var svgNode = reusableSVGContainer.firstChild;\n while (svgNode.firstChild) {\n node.appendChild(svgNode.firstChild);\n }\n } else {\n node.innerHTML = html;\n }\n});\n\nif (ExecutionEnvironment.canUseDOM) {\n // IE8: When updating a just created node with innerHTML only leading\n // whitespace is removed. When updating an existing node with innerHTML\n // whitespace in root TextNodes is also collapsed.\n // @see quirksmode.org/bugreports/archives/2004/11/innerhtml_and_t.html\n\n // Feature detection; only IE8 is known to behave improperly like this.\n var testElement = document.createElement('div');\n testElement.innerHTML = ' ';\n if (testElement.innerHTML === '') {\n setInnerHTML = function (node, html) {\n // Magic theory: IE8 supposedly differentiates between added and updated\n // nodes when processing innerHTML, innerHTML on updated nodes suffers\n // from worse whitespace behavior. Re-adding a node like this triggers\n // the initial and more favorable whitespace behavior.\n // TODO: What to do on a detached node?\n if (node.parentNode) {\n node.parentNode.replaceChild(node, node);\n }\n\n // We also implement a workaround for non-visible tags disappearing into\n // thin air on IE8, this only happens if there is no visible text\n // in-front of the non-visible tags. Piggyback on the whitespace fix\n // and simply check if any non-visible tags appear in the source.\n if (WHITESPACE_TEST.test(html) || html[0] === '<' && NONVISIBLE_TEST.test(html)) {\n // Recover leading whitespace by temporarily prepending any character.\n // \\uFEFF has the potential advantage of being zero-width/invisible.\n // UglifyJS drops U+FEFF chars when parsing, so use String.fromCharCode\n // in hopes that this is preserved even if \"\\uFEFF\" is transformed to\n // the actual Unicode character (by Babel, for example).\n // https://github.com/mishoo/UglifyJS2/blob/v2.4.20/lib/parse.js#L216\n node.innerHTML = String.fromCharCode(0xFEFF) + html;\n\n // deleteData leaves an empty `TextNode` which offsets the index of all\n // children. Definitely want to avoid this.\n var textNode = node.firstChild;\n if (textNode.data.length === 1) {\n node.removeChild(textNode);\n } else {\n textNode.deleteData(0, 1);\n }\n } else {\n node.innerHTML = html;\n }\n };\n }\n testElement = null;\n}\n\nmodule.exports = setInnerHTML;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react/lib/setInnerHTML.js\n ** module id = 98\n ** module chunks = 0\n **/","import * as ActionTypes from '../constants/actionTypes';\nimport _ from 'underscore';\nimport { validationError } from './utils';\nimport { get, put, del } from '../utils/fetch';\nimport { validator } from '../utils/validation';\nimport {\n getParserErrorMessage,\n getContentRequiredMessage,\n getFilenameRequiredMessage\n} from '../constants/lang';\nimport {\n getDataFilesUrl,\n getDataFileUrl,\n putDataFileUrl,\n deleteDataFileUrl\n} from '../constants/api';\n\nexport function fetchDataFiles() {\n return (dispatch) => {\n dispatch({ type: ActionTypes.FETCH_DATAFILES_REQUEST});\n return get(\n getDataFilesUrl(),\n { type: ActionTypes.FETCH_DATAFILES_SUCCESS, name: \"files\"},\n { type: ActionTypes.FETCH_DATAFILES_FAILURE, name: \"error\"},\n dispatch\n );\n };\n}\n\nexport function fetchDataFile(filename) {\n return (dispatch) => {\n dispatch({ type: ActionTypes.FETCH_DATAFILE_REQUEST});\n return get(\n getDataFileUrl(filename),\n { type: ActionTypes.FETCH_DATAFILE_SUCCESS, name: \"file\"},\n { type: ActionTypes.FETCH_DATAFILE_FAILURE, name: \"error\"},\n dispatch\n );\n };\n}\n\nexport function putDataFile(filename, data) {\n return (dispatch, getState) => {\n const errors = validateDatafile(filename, data);\n if (errors.length) {\n return dispatch(validationError(errors));\n }\n // clear errors\n dispatch({type: ActionTypes.CLEAR_ERRORS});\n return put(\n putDataFileUrl(filename),\n JSON.stringify({ raw_content: data }),\n { type: ActionTypes.PUT_DATAFILE_SUCCESS, name: \"file\"},\n { type: ActionTypes.PUT_DATAFILE_FAILURE, name: \"error\"},\n dispatch\n );\n };\n}\n\nfunction validateDatafile(filename, data) {\n return validator(\n { filename, data },\n { 'filename': 'required', 'data': 'required' },\n {\n 'filename.required': getFilenameRequiredMessage(),\n 'data.required': getContentRequiredMessage()\n }\n );\n}\n\nexport function deleteDataFile(filename) {\n return (dispatch) => {\n return fetch(deleteDataFileUrl(filename), {\n method: 'DELETE'\n })\n .then(data => {\n dispatch({ type: ActionTypes.DELETE_DATAFILE_SUCCESS });\n dispatch(fetchDataFiles());\n })\n .catch(error => dispatch({\n type: ActionTypes.DELETE_DATAFILE_FAILURE,\n error\n }));\n };\n}\n\nexport function onDataFileChanged() {\n return {\n type: ActionTypes.DATAFILE_CHANGED\n };\n}\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/actions/datafiles.js\n **/","import * as ActionTypes from '../constants/actionTypes';\n\nexport function addNotification(title, message, level) {\n return {\n type: ActionTypes.ADD_NOTIFICATION,\n notification: {\n title,\n message,\n level\n }\n };\n}\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/actions/notifications.js\n **/","import * as ActionTypes from '../constants/actionTypes';\nimport _ from 'underscore';\nimport { validationError } from '../actions/utils';\nimport { get, put, del } from '../utils/fetch';\nimport { validator } from '../utils/validation';\nimport { slugify } from '../utils/helpers';\nimport {\n getTitleRequiredMessage,\n getFilenameRequiredMessage,\n getFilenameNotValidMessage\n} from '../constants/lang';\nimport {\n getPagesUrl,\n getPageUrl,\n putPageUrl,\n deletePageUrl\n} from '../constants/api';\n\nexport function fetchPages() {\n return (dispatch) => {\n dispatch({ type: ActionTypes.FETCH_PAGES_REQUEST});\n return get(\n getPagesUrl(),\n { type: ActionTypes.FETCH_PAGES_SUCCESS, name: \"pages\"},\n { type: ActionTypes.FETCH_PAGES_FAILURE, name: \"error\"},\n dispatch\n );\n };\n}\n\nexport function fetchPage(id) {\n return (dispatch) => {\n dispatch({ type: ActionTypes.FETCH_PAGE_REQUEST});\n return get(\n getPageUrl(id),\n { type: ActionTypes.FETCH_PAGE_SUCCESS, name: \"page\"},\n { type: ActionTypes.FETCH_PAGE_FAILURE, name: \"error\"},\n dispatch\n );\n };\n}\n\nexport function putPage(name) {\n return (dispatch, getState) => {\n // get edited fields from metadata state\n const metadata = getState().metadata.metadata;\n let { path, raw_content, title } = metadata;\n\n // if no path given, generate filename from the title\n if (!path && title) {\n path = `${slugify(title)}.md`;\n } else {\n const errors = validatePage(metadata);\n if (errors.length) {\n return dispatch(validationError(errors));\n }\n }\n // clear errors\n dispatch({type: ActionTypes.CLEAR_ERRORS});\n\n // omit raw_content, path and empty-value keys in metadata state from front_matter\n const front_matter = _.omit(metadata, (value, key, object) => {\n if (key == 'raw_content' || key == 'path' || value == '') return true;\n });\n const payload = JSON.stringify({ path, front_matter, raw_content });\n\n //send the put request\n return put(\n putPageUrl(name || path), // create or update page\n payload,\n { type: ActionTypes.PUT_PAGE_SUCCESS, name: \"page\"},\n { type: ActionTypes.PUT_PAGE_FAILURE, name: \"error\"},\n dispatch\n );\n };\n}\n\nfunction validatePage(metadata) {\n return validator(\n metadata,\n { 'path': 'required|filename' },\n {\n 'path.required': getTitleRequiredMessage(),\n 'path.filename': getFilenameNotValidMessage()\n }\n );\n}\n\nexport function deletePage(id) {\n return (dispatch) => {\n return fetch(deletePageUrl(id), {\n method: 'DELETE'\n })\n .then(data => {\n dispatch({ type: ActionTypes.DELETE_PAGE_SUCCESS });\n dispatch(fetchPages());\n })\n .catch(error => dispatch({\n type: ActionTypes.DELETE_PAGE_FAILURE,\n error\n }));\n };\n}\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/actions/pages.js\n **/","import React, { Component, PropTypes } from 'react';\nimport AceEditor from 'react-ace';\nimport 'brace/mode/yaml';\nimport 'brace/theme/monokai';\n\nclass Editor extends Component {\n shouldComponentUpdate(nextProps, nextState) {\n return nextProps.content !== this.props.content;\n }\n\n handleChange(value) {\n // TODO better handling\n const { onEditorChange, editorChanged } = this.props;\n if (!editorChanged) {\n onEditorChange();\n }\n }\n\n getValue() {\n return this.refs.ace.editor.getValue();\n }\n\n render() {\n const { content } = this.props;\n return (\n <AceEditor\n value={content}\n mode=\"yaml\"\n theme=\"monokai\"\n width=\"100%\"\n height=\"400px\"\n showGutter={false}\n showPrintMargin={false}\n highlightActiveLine={false}\n className=\"config-editor\"\n fontSize={14}\n ref=\"ace\"\n onChange={() => this.handleChange()}\n />\n );\n }\n}\n\nEditor.propTypes = {\n content: PropTypes.any.isRequired,\n onEditorChange: PropTypes.func.isRequired,\n editorChanged: PropTypes.bool.isRequired\n};\n\nexport default Editor;\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/components/Editor.js\n **/","import React, { Component, PropTypes } from 'react';\nimport Sortable from 'sortablejs';\nimport _ from 'underscore';\n\nimport MetaArrayItem from './MetaArrayItem';\n\nexport class MetaArray extends Component {\n\n sortableGroupDecorator(component) {\n const { moveArrayItem, namePrefix } = this.props;\n if (component) {\n const options = {\n draggable: \".array-item-wrap\",\n group: { name: \"meta-array-items\", pull: false, put: false },\n handle: \".move\",\n animation: 0,\n onEnd: (e) => {\n let srcInd = e.item.getAttribute('data-id');\n moveArrayItem(namePrefix, srcInd, e.newIndex);\n }\n };\n Sortable.create(component, options);\n }\n }\n\n render() {\n const { fieldKey, fieldValue, nameAttr, namePrefix, addField,\n removeField, updateFieldKey, updateFieldValue, moveArrayItem,\n convertField, key_prefix} = this.props;\n const items = _.map(fieldValue, (item, i) => {\n let type = \"simple\";\n if (_.isObject(item)) type = \"object\";\n if (_.isArray(item)) type = \"array\";\n return (\n <MetaArrayItem\n key={`${key_prefix}-${i}`}\n key_prefix={key_prefix}\n index={i}\n fieldKey={fieldKey}\n fieldValue={item}\n type={type}\n addField={addField}\n removeField={removeField}\n updateFieldKey={updateFieldKey}\n updateFieldValue={updateFieldValue}\n moveArrayItem={moveArrayItem}\n convertField={convertField}\n nameAttr={`${namePrefix}[${i}]`}\n namePrefix={namePrefix} />\n );\n });\n return (\n <div className=\"meta-value-array\" ref={this.sortableGroupDecorator.bind(this)}>\n {items}\n <a onClick={() => addField(namePrefix)}\n className=\"add-field-array\" title=\"Add new list item\">\n <i className=\"fa fa-plus\"></i>\n </a>\n </div>\n );\n }\n\n}\n\nMetaArray.propTypes = {\n fieldKey: PropTypes.string.isRequired,\n fieldValue: PropTypes.any.isRequired,\n nameAttr: PropTypes.string.isRequired,\n namePrefix: PropTypes.string.isRequired,\n addField: PropTypes.func.isRequired,\n removeField: PropTypes.func.isRequired,\n updateFieldKey: PropTypes.func.isRequired,\n updateFieldValue: PropTypes.func.isRequired,\n convertField: PropTypes.func.isRequired,\n moveArrayItem: PropTypes.func.isRequired,\n key_prefix: PropTypes.string.isRequired\n};\n\nexport default MetaArray;\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/components/metadata/MetaArray.js\n **/","import React, { Component, PropTypes } from 'react';\n\nexport class MetaButtons extends Component {\n\n handleTypeChange(type) {\n const { onConvertClick } = this.props;\n onConvertClick(type);\n }\n\n handleRemoveClick() {\n const { onRemoveClick } = this.props;\n onRemoveClick();\n }\n\n render() {\n const { currentType, parentType, onDropdownFocus, onDropdownBlur } = this.props;\n return (\n <div className=\"meta-buttons\">\n {\n parentType == 'array' &&\n <span className=\"move\"><i className=\"fa fa-arrows\"></i></span>\n }\n <span className=\"dropdown\">\n <a onFocus={() => onDropdownFocus()}\n onBlur={() => onDropdownBlur()}\n className=\"meta-button\"\n tabIndex=\"1\">\n <i className=\"fa fa-chevron-down\"></i>\n </a>\n <div className=\"dropdown-wrap\">\n {\n currentType != 'simple' &&\n <span onMouseDown={() => this.handleTypeChange('simple')}>\n <i className=\"fa fa-pencil\"></i>Convert to Simple\n </span>\n }\n {\n currentType != 'array' &&\n <span onMouseDown={() => this.handleTypeChange('array')}>\n <i className=\"fa fa-list-ol\"></i>Convert to List\n </span>\n }\n {\n currentType != 'object' &&\n <span onMouseDown={() => this.handleTypeChange('object')}>\n <i className=\"fa fa-th-large\"></i>Convert to Object\n </span>\n }\n <span\n onMouseDown={() => this.handleRemoveClick()}\n className=\"remove-field\">\n <i className=\"fa fa-trash-o\"></i>Remove field\n </span>\n </div>\n </span>\n </div>\n );\n }\n\n}\n\nMetaButtons.propTypes = {\n currentType: PropTypes.string.isRequired,\n parentType: PropTypes.string.isRequired,\n onConvertClick: PropTypes.func.isRequired,\n onRemoveClick: PropTypes.func.isRequired,\n onDropdownFocus: PropTypes.func.isRequired,\n onDropdownBlur: PropTypes.func.isRequired\n};\n\nexport default MetaButtons;\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/components/metadata/MetaButtons.js\n **/","import React, { Component, PropTypes } from 'react';\nimport _ from 'underscore';\nimport MetaObjectItem from './MetaObjectItem';\n\nexport class MetaObject extends Component {\n\n render() {\n const { fieldKey, fieldValue, nameAttr, namePrefix, addField,\n removeField, updateFieldKey, updateFieldValue, convertField, key_prefix,\n moveArrayItem } = this.props;\n const items = _.map(fieldValue, (value, key) => {\n let type = \"simple\";\n if (_.isObject(value)) type = \"object\";\n if (_.isArray(value)) type = \"array\";\n return (\n <MetaObjectItem\n key={key}\n key_prefix={key_prefix}\n fieldKey={key}\n fieldValue={value}\n type={type}\n addField={addField}\n removeField={removeField}\n updateFieldKey={updateFieldKey}\n updateFieldValue={updateFieldValue}\n moveArrayItem={moveArrayItem}\n convertField={convertField}\n nameAttr={`${namePrefix}['${key}']`}\n namePrefix={namePrefix} />\n );\n });\n return (\n <div className=\"meta-value-object\">\n {items}\n <a onClick={() => addField(namePrefix)}\n className=\"add-field-object\" title=\"Add new key/value pair\">\n New key/value pair\n </a>\n </div>\n );\n }\n\n}\n\nMetaObject.propTypes = {\n fieldKey: PropTypes.string.isRequired,\n fieldValue: PropTypes.any.isRequired,\n nameAttr: PropTypes.string.isRequired,\n namePrefix: PropTypes.string.isRequired,\n addField: PropTypes.func.isRequired,\n removeField: PropTypes.func.isRequired,\n convertField: PropTypes.func.isRequired,\n updateFieldKey: PropTypes.func.isRequired,\n updateFieldValue: PropTypes.func.isRequired,\n moveArrayItem: PropTypes.func.isRequired,\n key_prefix: PropTypes.string.isRequired\n};\n\nexport default MetaObject;\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/components/metadata/MetaObject.js\n **/","import React, { Component, PropTypes } from 'react';\nimport TextareaAutosize from 'react-textarea-autosize';\nimport _ from 'underscore';\nimport DateTimePicker from 'react-widgets/lib/DateTimePicker';\nimport moment from 'moment';\nimport momentLocalizer from 'react-widgets/lib/localizers/moment';\nimport 'react-widgets/dist/css/react-widgets.css';\n\nmomentLocalizer(moment);\n\nexport class MetaSimple extends Component {\n\n handleEditableChange(e) {\n const { nameAttr, fieldValue, updateFieldValue } = this.props;\n updateFieldValue(nameAttr, e.target.value);\n }\n\n handleDatepickerChange(date, dateStr) {\n const { nameAttr, fieldValue, updateFieldValue } = this.props;\n let formatted = moment(date).format(\"YYYY-MM-DD hh:mm:ss\");\n updateFieldValue(nameAttr, formatted);\n }\n\n renderEditable() {\n const { fieldValue } = this.props;\n return (\n <TextareaAutosize\n onChange={(e) => this.handleEditableChange(e)}\n className=\"field value-field\"\n defaultValue={fieldValue} />\n );\n }\n\n renderDatepicker() {\n const { fieldValue } = this.props;\n let dateValue = (new Date(fieldValue) == 'Invalid Date') ? null : new Date(fieldValue);\n return (\n <DateTimePicker\n onChange={(v, d) => this.handleDatepickerChange(v, d)}\n className=\"date-field\"\n defaultValue={dateValue} />\n );\n }\n\n render() {\n const { fieldKey } = this.props;\n return (\n <div className=\"meta-value\">\n {fieldKey == 'date' && this.renderDatepicker()}\n {fieldKey != 'date' && this.renderEditable()}\n </div>\n );\n }\n\n}\n\nMetaSimple.propTypes = {\n parentType: PropTypes.string.isRequired,\n fieldKey: PropTypes.string.isRequired,\n fieldValue: PropTypes.any.isRequired,\n updateFieldValue: PropTypes.func.isRequired,\n nameAttr: PropTypes.any.isRequired\n};\n\nexport default MetaSimple;\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/components/metadata/MetaSimple.js\n **/","import _ from 'underscore';\n\nconst DATE_FILENAME_MATCHER = /^(?:.+\\/)*(\\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1]))-(.*)(\\.[^.]+)$/;\nconst FILENAME_MATCHER = /^(.*)(\\.[^.]+)$/;\n\n/**\n * Returns error messages if the given values does not pass the provided validations.\n * @param {Object} values\n * @param {Object} validations\n * @param {Object} messages\n * @return {Array} errorMessages\n */\nexport const validator = (values, validations, messages) => {\n let errorMessages = [];\n _.each(validations, (validationStr, field, list) => {\n const validationArr = validationStr.split('|');\n _.each(validationArr, (single) => {\n if (!validated(values[field], single)) {\n errorMessages.push(messages[`${field}.${single}`]);\n }\n });\n });\n return errorMessages;\n};\n\nconst validated = (field, single) => {\n switch (single) {\n case 'required':\n return !!field;\n case 'date':\n return DATE_FILENAME_MATCHER.test(field);\n case 'filename':\n return FILENAME_MATCHER.test(field);\n default:\n return false;\n }\n};\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/utils/validation.js\n **/","/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh <feross@feross.org> <http://feross.org>\n * @license MIT\n */\n/* eslint-disable no-proto */\n\n'use strict'\n\nvar base64 = require('base64-js')\nvar ieee754 = require('ieee754')\nvar isArray = require('isarray')\n\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Use Object implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * Due to various browser bugs, sometimes the Object implementation will be used even\n * when the browser supports typed arrays.\n *\n * Note:\n *\n * - Firefox 4-29 lacks support for adding new properties to `Uint8Array` instances,\n * See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438.\n *\n * - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function.\n *\n * - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of\n * incorrect length in some situations.\n\n * We detect these buggy browsers and set `Buffer.TYPED_ARRAY_SUPPORT` to `false` so they\n * get the Object implementation, which is slower but behaves correctly.\n */\nBuffer.TYPED_ARRAY_SUPPORT = global.TYPED_ARRAY_SUPPORT !== undefined\n ? global.TYPED_ARRAY_SUPPORT\n : typedArraySupport()\n\n/*\n * Export kMaxLength after typed array support is determined.\n */\nexports.kMaxLength = kMaxLength()\n\nfunction typedArraySupport () {\n try {\n var arr = new Uint8Array(1)\n arr.__proto__ = {__proto__: Uint8Array.prototype, foo: function () { return 42 }}\n return arr.foo() === 42 && // typed array instances can be augmented\n typeof arr.subarray === 'function' && // chrome 9-10 lack `subarray`\n arr.subarray(1, 1).byteLength === 0 // ie10 has broken `subarray`\n } catch (e) {\n return false\n }\n}\n\nfunction kMaxLength () {\n return Buffer.TYPED_ARRAY_SUPPORT\n ? 0x7fffffff\n : 0x3fffffff\n}\n\nfunction createBuffer (that, length) {\n if (kMaxLength() < length) {\n throw new RangeError('Invalid typed array length')\n }\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = new Uint8Array(length)\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n if (that === null) {\n that = new Buffer(length)\n }\n that.length = length\n }\n\n return that\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer (arg, encodingOrOffset, length) {\n if (!Buffer.TYPED_ARRAY_SUPPORT && !(this instanceof Buffer)) {\n return new Buffer(arg, encodingOrOffset, length)\n }\n\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new Error(\n 'If encoding is specified then the first argument must be a string'\n )\n }\n return allocUnsafe(this, arg)\n }\n return from(this, arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\n// TODO: Legacy, not needed anymore. Remove in next major version.\nBuffer._augment = function (arr) {\n arr.__proto__ = Buffer.prototype\n return arr\n}\n\nfunction from (that, value, encodingOrOffset, length) {\n if (typeof value === 'number') {\n throw new TypeError('\"value\" argument must not be a number')\n }\n\n if (typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer) {\n return fromArrayBuffer(that, value, encodingOrOffset, length)\n }\n\n if (typeof value === 'string') {\n return fromString(that, value, encodingOrOffset)\n }\n\n return fromObject(that, value)\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n return from(null, value, encodingOrOffset, length)\n}\n\nif (Buffer.TYPED_ARRAY_SUPPORT) {\n Buffer.prototype.__proto__ = Uint8Array.prototype\n Buffer.__proto__ = Uint8Array\n if (typeof Symbol !== 'undefined' && Symbol.species &&\n Buffer[Symbol.species] === Buffer) {\n // Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97\n Object.defineProperty(Buffer, Symbol.species, {\n value: null,\n configurable: true\n })\n }\n}\n\nfunction assertSize (size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be a number')\n } else if (size < 0) {\n throw new RangeError('\"size\" argument must not be negative')\n }\n}\n\nfunction alloc (that, size, fill, encoding) {\n assertSize(size)\n if (size <= 0) {\n return createBuffer(that, size)\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpretted as a start offset.\n return typeof encoding === 'string'\n ? createBuffer(that, size).fill(fill, encoding)\n : createBuffer(that, size).fill(fill)\n }\n return createBuffer(that, size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n return alloc(null, size, fill, encoding)\n}\n\nfunction allocUnsafe (that, size) {\n assertSize(size)\n that = createBuffer(that, size < 0 ? 0 : checked(size) | 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) {\n for (var i = 0; i < size; ++i) {\n that[i] = 0\n }\n }\n return that\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n return allocUnsafe(null, size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n return allocUnsafe(null, size)\n}\n\nfunction fromString (that, string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8'\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('\"encoding\" must be a valid string encoding')\n }\n\n var length = byteLength(string, encoding) | 0\n that = createBuffer(that, length)\n\n var actual = that.write(string, encoding)\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n that = that.slice(0, actual)\n }\n\n return that\n}\n\nfunction fromArrayLike (that, array) {\n var length = array.length < 0 ? 0 : checked(array.length) | 0\n that = createBuffer(that, length)\n for (var i = 0; i < length; i += 1) {\n that[i] = array[i] & 255\n }\n return that\n}\n\nfunction fromArrayBuffer (that, array, byteOffset, length) {\n array.byteLength // this throws if `array` is not a valid ArrayBuffer\n\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\\'offset\\' is out of bounds')\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\\'length\\' is out of bounds')\n }\n\n if (byteOffset === undefined && length === undefined) {\n array = new Uint8Array(array)\n } else if (length === undefined) {\n array = new Uint8Array(array, byteOffset)\n } else {\n array = new Uint8Array(array, byteOffset, length)\n }\n\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = array\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n that = fromArrayLike(that, array)\n }\n return that\n}\n\nfunction fromObject (that, obj) {\n if (Buffer.isBuffer(obj)) {\n var len = checked(obj.length) | 0\n that = createBuffer(that, len)\n\n if (that.length === 0) {\n return that\n }\n\n obj.copy(that, 0, 0, len)\n return that\n }\n\n if (obj) {\n if ((typeof ArrayBuffer !== 'undefined' &&\n obj.buffer instanceof ArrayBuffer) || 'length' in obj) {\n if (typeof obj.length !== 'number' || isnan(obj.length)) {\n return createBuffer(that, 0)\n }\n return fromArrayLike(that, obj)\n }\n\n if (obj.type === 'Buffer' && isArray(obj.data)) {\n return fromArrayLike(that, obj.data)\n }\n }\n\n throw new TypeError('First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.')\n}\n\nfunction checked (length) {\n // Note: cannot use `length < kMaxLength()` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= kMaxLength()) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' + kMaxLength().toString(16) + ' bytes')\n }\n return length | 0\n}\n\nfunction SlowBuffer (length) {\n if (+length != length) { // eslint-disable-line eqeqeq\n length = 0\n }\n return Buffer.alloc(+length)\n}\n\nBuffer.isBuffer = function isBuffer (b) {\n return !!(b != null && b._isBuffer)\n}\n\nBuffer.compare = function compare (a, b) {\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError('Arguments must be Buffers')\n }\n\n if (a === b) return 0\n\n var x = a.length\n var y = b.length\n\n for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i]\n y = b[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\nBuffer.isEncoding = function isEncoding (encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true\n default:\n return false\n }\n}\n\nBuffer.concat = function concat (list, length) {\n if (!isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0)\n }\n\n var i\n if (length === undefined) {\n length = 0\n for (i = 0; i < list.length; ++i) {\n length += list[i].length\n }\n }\n\n var buffer = Buffer.allocUnsafe(length)\n var pos = 0\n for (i = 0; i < list.length; ++i) {\n var buf = list[i]\n if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n buf.copy(buffer, pos)\n pos += buf.length\n }\n return buffer\n}\n\nfunction byteLength (string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length\n }\n if (typeof ArrayBuffer !== 'undefined' && typeof ArrayBuffer.isView === 'function' &&\n (ArrayBuffer.isView(string) || string instanceof ArrayBuffer)) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n string = '' + string\n }\n\n var len = string.length\n if (len === 0) return 0\n\n // Use a for loop to avoid recursion\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len\n case 'utf8':\n case 'utf-8':\n case undefined:\n return utf8ToBytes(string).length\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2\n case 'hex':\n return len >>> 1\n case 'base64':\n return base64ToBytes(string).length\n default:\n if (loweredCase) return utf8ToBytes(string).length // assume utf8\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n var loweredCase = false\n\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return ''\n }\n\n if (end === undefined || end > this.length) {\n end = this.length\n }\n\n if (end <= 0) {\n return ''\n }\n\n // Force coersion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0\n start >>>= 0\n\n if (end <= start) {\n return ''\n }\n\n if (!encoding) encoding = 'utf8'\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end)\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end)\n\n case 'ascii':\n return asciiSlice(this, start, end)\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end)\n\n case 'base64':\n return base64Slice(this, start, end)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = (encoding + '').toLowerCase()\n loweredCase = true\n }\n }\n}\n\n// The property is used by `Buffer.isBuffer` and `is-buffer` (in Safari 5-7) to detect\n// Buffer instances.\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n var i = b[n]\n b[n] = b[m]\n b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n var len = this.length\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits')\n }\n for (var i = 0; i < len; i += 2) {\n swap(this, i, i + 1)\n }\n return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n var len = this.length\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits')\n }\n for (var i = 0; i < len; i += 4) {\n swap(this, i, i + 3)\n swap(this, i + 1, i + 2)\n }\n return this\n}\n\nBuffer.prototype.swap64 = function swap64 () {\n var len = this.length\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits')\n }\n for (var i = 0; i < len; i += 8) {\n swap(this, i, i + 7)\n swap(this, i + 1, i + 6)\n swap(this, i + 2, i + 5)\n swap(this, i + 3, i + 4)\n }\n return this\n}\n\nBuffer.prototype.toString = function toString () {\n var length = this.length | 0\n if (length === 0) return ''\n if (arguments.length === 0) return utf8Slice(this, 0, length)\n return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.equals = function equals (b) {\n if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n if (this === b) return true\n return Buffer.compare(this, b) === 0\n}\n\nBuffer.prototype.inspect = function inspect () {\n var str = ''\n var max = exports.INSPECT_MAX_BYTES\n if (this.length > 0) {\n str = this.toString('hex', 0, max).match(/.{2}/g).join(' ')\n if (this.length > max) str += ' ... '\n }\n return '<Buffer ' + str + '>'\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n if (!Buffer.isBuffer(target)) {\n throw new TypeError('Argument must be a Buffer')\n }\n\n if (start === undefined) {\n start = 0\n }\n if (end === undefined) {\n end = target ? target.length : 0\n }\n if (thisStart === undefined) {\n thisStart = 0\n }\n if (thisEnd === undefined) {\n thisEnd = this.length\n }\n\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError('out of range index')\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0\n }\n if (thisStart >= thisEnd) {\n return -1\n }\n if (start >= end) {\n return 1\n }\n\n start >>>= 0\n end >>>= 0\n thisStart >>>= 0\n thisEnd >>>= 0\n\n if (this === target) return 0\n\n var x = thisEnd - thisStart\n var y = end - start\n var len = Math.min(x, y)\n\n var thisCopy = this.slice(thisStart, thisEnd)\n var targetCopy = target.slice(start, end)\n\n for (var i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i]\n y = targetCopy[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1\n\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset\n byteOffset = 0\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000\n }\n byteOffset = +byteOffset // Coerce to Number.\n if (isNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : (buffer.length - 1)\n }\n\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n if (byteOffset >= buffer.length) {\n if (dir) return -1\n else byteOffset = buffer.length - 1\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0\n else return -1\n }\n\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding)\n }\n\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n } else if (typeof val === 'number') {\n val = val & 0xFF // Search for a byte value [0-255]\n if (Buffer.TYPED_ARRAY_SUPPORT &&\n typeof Uint8Array.prototype.indexOf === 'function') {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n }\n }\n return arrayIndexOf(buffer, [ val ], byteOffset, encoding, dir)\n }\n\n throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n var indexSize = 1\n var arrLength = arr.length\n var valLength = val.length\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase()\n if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n encoding === 'utf16le' || encoding === 'utf-16le') {\n if (arr.length < 2 || val.length < 2) {\n return -1\n }\n indexSize = 2\n arrLength /= 2\n valLength /= 2\n byteOffset /= 2\n }\n }\n\n function read (buf, i) {\n if (indexSize === 1) {\n return buf[i]\n } else {\n return buf.readUInt16BE(i * indexSize)\n }\n }\n\n var i\n if (dir) {\n var foundIndex = -1\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n } else {\n if (foundIndex !== -1) i -= i - foundIndex\n foundIndex = -1\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\n for (i = byteOffset; i >= 0; i--) {\n var found = true\n for (var j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false\n break\n }\n }\n if (found) return i\n }\n }\n\n return -1\n}\n\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite (buf, string, offset, length) {\n offset = Number(offset) || 0\n var remaining = buf.length - offset\n if (!length) {\n length = remaining\n } else {\n length = Number(length)\n if (length > remaining) {\n length = remaining\n }\n }\n\n // must be an even number of digits\n var strLen = string.length\n if (strLen % 2 !== 0) throw new TypeError('Invalid hex string')\n\n if (length > strLen / 2) {\n length = strLen / 2\n }\n for (var i = 0; i < length; ++i) {\n var parsed = parseInt(string.substr(i * 2, 2), 16)\n if (isNaN(parsed)) return i\n buf[offset + i] = parsed\n }\n return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction asciiWrite (buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction latin1Write (buf, string, offset, length) {\n return asciiWrite(buf, string, offset, length)\n}\n\nfunction base64Write (buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write (buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nBuffer.prototype.write = function write (string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8'\n length = this.length\n offset = 0\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset\n length = this.length\n offset = 0\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset | 0\n if (isFinite(length)) {\n length = length | 0\n if (encoding === undefined) encoding = 'utf8'\n } else {\n encoding = length\n length = undefined\n }\n // legacy write(string, encoding, offset, length) - remove in v0.13\n } else {\n throw new Error(\n 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n )\n }\n\n var remaining = this.length - offset\n if (length === undefined || length > remaining) length = remaining\n\n if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds')\n }\n\n if (!encoding) encoding = 'utf8'\n\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length)\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length)\n\n case 'ascii':\n return asciiWrite(this, string, offset, length)\n\n case 'latin1':\n case 'binary':\n return latin1Write(this, string, offset, length)\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\n\nBuffer.prototype.toJSON = function toJSON () {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0)\n }\n}\n\nfunction base64Slice (buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf)\n } else {\n return base64.fromByteArray(buf.slice(start, end))\n }\n}\n\nfunction utf8Slice (buf, start, end) {\n end = Math.min(buf.length, end)\n var res = []\n\n var i = start\n while (i < end) {\n var firstByte = buf[i]\n var codePoint = null\n var bytesPerSequence = (firstByte > 0xEF) ? 4\n : (firstByte > 0xDF) ? 3\n : (firstByte > 0xBF) ? 2\n : 1\n\n if (i + bytesPerSequence <= end) {\n var secondByte, thirdByte, fourthByte, tempCodePoint\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte\n }\n break\n case 2:\n secondByte = buf[i + 1]\n if ((secondByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\n if (tempCodePoint > 0x7F) {\n codePoint = tempCodePoint\n }\n }\n break\n case 3:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\n if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n codePoint = tempCodePoint\n }\n }\n break\n case 4:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n fourthByte = buf[i + 3]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\n if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n codePoint = tempCodePoint\n }\n }\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xFFFD\n bytesPerSequence = 1\n } else if (codePoint > 0xFFFF) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000\n res.push(codePoint >>> 10 & 0x3FF | 0xD800)\n codePoint = 0xDC00 | codePoint & 0x3FF\n }\n\n res.push(codePoint)\n i += bytesPerSequence\n }\n\n return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nvar MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n var len = codePoints.length\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n }\n\n // Decode in chunks to avoid \"call stack size exceeded\".\n var res = ''\n var i = 0\n while (i < len) {\n res += String.fromCharCode.apply(\n String,\n codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n )\n }\n return res\n}\n\nfunction asciiSlice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7F)\n }\n return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i])\n }\n return ret\n}\n\nfunction hexSlice (buf, start, end) {\n var len = buf.length\n\n if (!start || start < 0) start = 0\n if (!end || end < 0 || end > len) end = len\n\n var out = ''\n for (var i = start; i < end; ++i) {\n out += toHex(buf[i])\n }\n return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n var bytes = buf.slice(start, end)\n var res = ''\n for (var i = 0; i < bytes.length; i += 2) {\n res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256)\n }\n return res\n}\n\nBuffer.prototype.slice = function slice (start, end) {\n var len = this.length\n start = ~~start\n end = end === undefined ? len : ~~end\n\n if (start < 0) {\n start += len\n if (start < 0) start = 0\n } else if (start > len) {\n start = len\n }\n\n if (end < 0) {\n end += len\n if (end < 0) end = 0\n } else if (end > len) {\n end = len\n }\n\n if (end < start) end = start\n\n var newBuf\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n newBuf = this.subarray(start, end)\n newBuf.__proto__ = Buffer.prototype\n } else {\n var sliceLen = end - start\n newBuf = new Buffer(sliceLen, undefined)\n for (var i = 0; i < sliceLen; ++i) {\n newBuf[i] = this[i + start]\n }\n }\n\n return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset (offset, ext, length) {\n if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length)\n }\n\n var val = this[offset + --byteLength]\n var mul = 1\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n return this[offset]\n}\n\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return ((this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16)) +\n (this[offset + 3] * 0x1000000)\n}\n\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] * 0x1000000) +\n ((this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n this[offset + 3])\n}\n\nBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var i = byteLength\n var mul = 1\n var val = this[offset + --i]\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n if (!(this[offset] & 0x80)) return (this[offset])\n return ((0xff - this[offset] + 1) * -1)\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset] | (this[offset + 1] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset + 1] | (this[offset] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16) |\n (this[offset + 3] << 24)\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] << 24) |\n (this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n (this[offset + 3])\n}\n\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, false, 52, 8)\n}\n\nfunction checkInt (buf, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var mul = 1\n var i = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var i = byteLength - 1\n var mul = 1\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nfunction objectWriteUInt16 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; ++i) {\n buf[offset + i] = (value & (0xff << (8 * (littleEndian ? i : 1 - i)))) >>>\n (littleEndian ? i : 1 - i) * 8\n }\n}\n\nBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nfunction objectWriteUInt32 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffffffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; ++i) {\n buf[offset + i] = (value >>> (littleEndian ? i : 3 - i) * 8) & 0xff\n }\n}\n\nBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset + 3] = (value >>> 24)\n this[offset + 2] = (value >>> 16)\n this[offset + 1] = (value >>> 8)\n this[offset] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = 0\n var mul = 1\n var sub = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = byteLength - 1\n var mul = 1\n var sub = 0\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n if (value < 0) value = 0xff + value + 1\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n this[offset + 2] = (value >>> 16)\n this[offset + 3] = (value >>> 24)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (value < 0) value = 0xffffffff + value + 1\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\n }\n ieee754.write(buf, value, offset, littleEndian, 23, 4)\n return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\n }\n ieee754.write(buf, value, offset, littleEndian, 52, 8)\n return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n if (!start) start = 0\n if (!end && end !== 0) end = this.length\n if (targetStart >= target.length) targetStart = target.length\n if (!targetStart) targetStart = 0\n if (end > 0 && end < start) end = start\n\n // Copy 0 bytes; we're done\n if (end === start) return 0\n if (target.length === 0 || this.length === 0) return 0\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds')\n }\n if (start < 0 || start >= this.length) throw new RangeError('sourceStart out of bounds')\n if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n // Are we oob?\n if (end > this.length) end = this.length\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start\n }\n\n var len = end - start\n var i\n\n if (this === target && start < targetStart && targetStart < end) {\n // descending copy from end\n for (i = len - 1; i >= 0; --i) {\n target[i + targetStart] = this[i + start]\n }\n } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) {\n // ascending copy from start\n for (i = 0; i < len; ++i) {\n target[i + targetStart] = this[i + start]\n }\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, start + len),\n targetStart\n )\n }\n\n return len\n}\n\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill (val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start\n start = 0\n end = this.length\n } else if (typeof end === 'string') {\n encoding = end\n end = this.length\n }\n if (val.length === 1) {\n var code = val.charCodeAt(0)\n if (code < 256) {\n val = code\n }\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string')\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n } else if (typeof val === 'number') {\n val = val & 255\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index')\n }\n\n if (end <= start) {\n return this\n }\n\n start = start >>> 0\n end = end === undefined ? this.length : end >>> 0\n\n if (!val) val = 0\n\n var i\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val\n }\n } else {\n var bytes = Buffer.isBuffer(val)\n ? val\n : utf8ToBytes(new Buffer(val, encoding).toString())\n var len = bytes.length\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len]\n }\n }\n\n return this\n}\n\n// HELPER FUNCTIONS\n// ================\n\nvar INVALID_BASE64_RE = /[^+\\/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = stringtrim(str).replace(INVALID_BASE64_RE, '')\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return ''\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = str + '='\n }\n return str\n}\n\nfunction stringtrim (str) {\n if (str.trim) return str.trim()\n return str.replace(/^\\s+|\\s+$/g, '')\n}\n\nfunction toHex (n) {\n if (n < 16) return '0' + n.toString(16)\n return n.toString(16)\n}\n\nfunction utf8ToBytes (string, units) {\n units = units || Infinity\n var codePoint\n var length = string.length\n var leadSurrogate = null\n var bytes = []\n\n for (var i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i)\n\n // is surrogate component\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n }\n\n // valid lead\n leadSurrogate = codePoint\n\n continue\n }\n\n // 2 leads in a row\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n leadSurrogate = codePoint\n continue\n }\n\n // valid surrogate pair\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n }\n\n leadSurrogate = null\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break\n bytes.push(codePoint)\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break\n bytes.push(\n codePoint >> 0x6 | 0xC0,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break\n bytes.push(\n codePoint >> 0xC | 0xE0,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break\n bytes.push(\n codePoint >> 0x12 | 0xF0,\n codePoint >> 0xC & 0x3F | 0x80,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else {\n throw new Error('Invalid code point')\n }\n }\n\n return bytes\n}\n\nfunction asciiToBytes (str) {\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xFF)\n }\n return byteArray\n}\n\nfunction utf16leToBytes (str, units) {\n var c, hi, lo\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break\n\n c = str.charCodeAt(i)\n hi = c >> 8\n lo = c % 256\n byteArray.push(lo)\n byteArray.push(hi)\n }\n\n return byteArray\n}\n\nfunction base64ToBytes (str) {\n return base64.toByteArray(base64clean(str))\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n for (var i = 0; i < length; ++i) {\n if ((i + offset >= dst.length) || (i >= src.length)) break\n dst[i + offset] = src[i]\n }\n return i\n}\n\nfunction isnan (val) {\n return val !== val // eslint-disable-line no-self-compare\n}\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/buffer/index.js\n ** module id = 108\n ** module chunks = 0\n **/","'use strict';\nvar contains = require('./contains'),\n getWindow = require('./isWindow'),\n ownerDocument = require('../ownerDocument');\n\nmodule.exports = function offset(node) {\n var doc = ownerDocument(node),\n win = getWindow(doc),\n docElem = doc && doc.documentElement,\n box = { top: 0, left: 0, height: 0, width: 0 };\n\n if (!doc) return;\n\n // Make sure it's not a disconnected DOM node\n if (!contains(docElem, node)) return box;\n\n if (node.getBoundingClientRect !== undefined) box = node.getBoundingClientRect();\n\n if (box.width || box.height) {\n\n box = {\n top: box.top + (win.pageYOffset || docElem.scrollTop) - (docElem.clientTop || 0),\n left: box.left + (win.pageXOffset || docElem.scrollLeft) - (docElem.clientLeft || 0),\n width: (box.width == null ? node.offsetWidth : box.width) || 0,\n height: (box.height == null ? node.offsetHeight : box.height) || 0\n };\n }\n\n return box;\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dom-helpers/query/offset.js\n ** module id = 109\n ** module chunks = 0\n **/","/**\r\n * Copyright 2014-2015, Facebook, Inc.\r\n * All rights reserved.\r\n * https://github.com/facebook/react/blob/2aeb8a2a6beb00617a4217f7f8284924fa2ad819/src/vendor/core/camelizeStyleName.js\r\n */\n\n'use strict';\nvar camelize = require('./camelize');\nvar msPattern = /^-ms-/;\n\nmodule.exports = function camelizeStyleName(string) {\n return camelize(string.replace(msPattern, 'ms-'));\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dom-helpers/util/camelizeStyle.js\n ** module id = 110\n ** module chunks = 0\n **/","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @typechecks\n * \n */\n\n/*eslint-disable no-self-compare */\n\n'use strict';\n\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\n/**\n * inlined Object.is polyfill to avoid requiring consumers ship their own\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\n */\nfunction is(x, y) {\n // SameValue algorithm\n if (x === y) {\n // Steps 1-5, 7-10\n // Steps 6.b-6.e: +0 != -0\n // Added the nonzero y check to make Flow happy, but it is redundant\n return x !== 0 || y !== 0 || 1 / x === 1 / y;\n } else {\n // Step 6.a: NaN == NaN\n return x !== x && y !== y;\n }\n}\n\n/**\n * Performs equality by iterating through keys on an object and returning false\n * when any key has values which are not strictly equal between the arguments.\n * Returns true when the values of all keys are strictly equal.\n */\nfunction shallowEqual(objA, objB) {\n if (is(objA, objB)) {\n return true;\n }\n\n if (typeof objA !== 'object' || objA === null || typeof objB !== 'object' || objB === null) {\n return false;\n }\n\n var keysA = Object.keys(objA);\n var keysB = Object.keys(objB);\n\n if (keysA.length !== keysB.length) {\n return false;\n }\n\n // Test for A's keys different from B.\n for (var i = 0; i < keysA.length; i++) {\n if (!hasOwnProperty.call(objB, keysA[i]) || !is(objA[keysA[i]], objB[keysA[i]])) {\n return false;\n }\n }\n\n return true;\n}\n\nmodule.exports = shallowEqual;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/fbjs/lib/shallowEqual.js\n ** module id = 111\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\nexports.go = exports.replaceLocation = exports.pushLocation = exports.startListener = exports.getUserConfirmation = exports.getCurrentLocation = undefined;\n\nvar _LocationUtils = require('./LocationUtils');\n\nvar _DOMUtils = require('./DOMUtils');\n\nvar _DOMStateStorage = require('./DOMStateStorage');\n\nvar _PathUtils = require('./PathUtils');\n\nvar _ExecutionEnvironment = require('./ExecutionEnvironment');\n\nvar PopStateEvent = 'popstate';\nvar HashChangeEvent = 'hashchange';\n\nvar needsHashchangeListener = _ExecutionEnvironment.canUseDOM && !(0, _DOMUtils.supportsPopstateOnHashchange)();\n\nvar _createLocation = function _createLocation(historyState) {\n var key = historyState && historyState.key;\n\n return (0, _LocationUtils.createLocation)({\n pathname: window.location.pathname,\n search: window.location.search,\n hash: window.location.hash,\n state: key ? (0, _DOMStateStorage.readState)(key) : undefined\n }, undefined, key);\n};\n\nvar getCurrentLocation = exports.getCurrentLocation = function getCurrentLocation() {\n var historyState = void 0;\n try {\n historyState = window.history.state || {};\n } catch (error) {\n // IE 11 sometimes throws when accessing window.history.state\n // See https://github.com/ReactTraining/history/pull/289\n historyState = {};\n }\n\n return _createLocation(historyState);\n};\n\nvar getUserConfirmation = exports.getUserConfirmation = function getUserConfirmation(message, callback) {\n return callback(window.confirm(message));\n}; // eslint-disable-line no-alert\n\nvar startListener = exports.startListener = function startListener(listener) {\n var handlePopState = function handlePopState(event) {\n if (event.state !== undefined) // Ignore extraneous popstate events in WebKit\n listener(_createLocation(event.state));\n };\n\n (0, _DOMUtils.addEventListener)(window, PopStateEvent, handlePopState);\n\n var handleUnpoppedHashChange = function handleUnpoppedHashChange() {\n return listener(getCurrentLocation());\n };\n\n if (needsHashchangeListener) {\n (0, _DOMUtils.addEventListener)(window, HashChangeEvent, handleUnpoppedHashChange);\n }\n\n return function () {\n (0, _DOMUtils.removeEventListener)(window, PopStateEvent, handlePopState);\n\n if (needsHashchangeListener) {\n (0, _DOMUtils.removeEventListener)(window, HashChangeEvent, handleUnpoppedHashChange);\n }\n };\n};\n\nvar updateLocation = function updateLocation(location, updateState) {\n var state = location.state;\n var key = location.key;\n\n\n if (state !== undefined) (0, _DOMStateStorage.saveState)(key, state);\n\n updateState({ key: key }, (0, _PathUtils.createPath)(location));\n};\n\nvar pushLocation = exports.pushLocation = function pushLocation(location) {\n return updateLocation(location, function (state, path) {\n return window.history.pushState(state, null, path);\n });\n};\n\nvar replaceLocation = exports.replaceLocation = function replaceLocation(location) {\n return updateLocation(location, function (state, path) {\n return window.history.replaceState(state, null, path);\n });\n};\n\nvar go = exports.go = function go(n) {\n if (n) window.history.go(n);\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/history/lib/BrowserProtocol.js\n ** module id = 112\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\nvar canUseDOM = exports.canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/history/lib/ExecutionEnvironment.js\n ** module id = 113\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\n\nvar _AsyncUtils = require('./AsyncUtils');\n\nvar _PathUtils = require('./PathUtils');\n\nvar _runTransitionHook = require('./runTransitionHook');\n\nvar _runTransitionHook2 = _interopRequireDefault(_runTransitionHook);\n\nvar _Actions = require('./Actions');\n\nvar _LocationUtils = require('./LocationUtils');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar createHistory = function createHistory() {\n var options = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];\n var getCurrentLocation = options.getCurrentLocation;\n var getUserConfirmation = options.getUserConfirmation;\n var pushLocation = options.pushLocation;\n var replaceLocation = options.replaceLocation;\n var go = options.go;\n var keyLength = options.keyLength;\n\n\n var currentLocation = void 0;\n var pendingLocation = void 0;\n var beforeListeners = [];\n var listeners = [];\n var allKeys = [];\n\n var getCurrentIndex = function getCurrentIndex() {\n if (pendingLocation && pendingLocation.action === _Actions.POP) return allKeys.indexOf(pendingLocation.key);\n\n if (currentLocation) return allKeys.indexOf(currentLocation.key);\n\n return -1;\n };\n\n var updateLocation = function updateLocation(nextLocation) {\n var currentIndex = getCurrentIndex();\n\n currentLocation = nextLocation;\n\n if (currentLocation.action === _Actions.PUSH) {\n allKeys = [].concat(allKeys.slice(0, currentIndex + 1), [currentLocation.key]);\n } else if (currentLocation.action === _Actions.REPLACE) {\n allKeys[currentIndex] = currentLocation.key;\n }\n\n listeners.forEach(function (listener) {\n return listener(currentLocation);\n });\n };\n\n var listenBefore = function listenBefore(listener) {\n beforeListeners.push(listener);\n\n return function () {\n return beforeListeners = beforeListeners.filter(function (item) {\n return item !== listener;\n });\n };\n };\n\n var listen = function listen(listener) {\n listeners.push(listener);\n\n return function () {\n return listeners = listeners.filter(function (item) {\n return item !== listener;\n });\n };\n };\n\n var confirmTransitionTo = function confirmTransitionTo(location, callback) {\n (0, _AsyncUtils.loopAsync)(beforeListeners.length, function (index, next, done) {\n (0, _runTransitionHook2.default)(beforeListeners[index], location, function (result) {\n return result != null ? done(result) : next();\n });\n }, function (message) {\n if (getUserConfirmation && typeof message === 'string') {\n getUserConfirmation(message, function (ok) {\n return callback(ok !== false);\n });\n } else {\n callback(message !== false);\n }\n });\n };\n\n var transitionTo = function transitionTo(nextLocation) {\n if (currentLocation && (0, _LocationUtils.locationsAreEqual)(currentLocation, nextLocation) || pendingLocation && (0, _LocationUtils.locationsAreEqual)(pendingLocation, nextLocation)) return; // Nothing to do\n\n pendingLocation = nextLocation;\n\n confirmTransitionTo(nextLocation, function (ok) {\n if (pendingLocation !== nextLocation) return; // Transition was interrupted during confirmation\n\n pendingLocation = null;\n\n if (ok) {\n // Treat PUSH to same path like REPLACE to be consistent with browsers\n if (nextLocation.action === _Actions.PUSH) {\n var prevPath = (0, _PathUtils.createPath)(currentLocation);\n var nextPath = (0, _PathUtils.createPath)(nextLocation);\n\n if (nextPath === prevPath && (0, _LocationUtils.statesAreEqual)(currentLocation.state, nextLocation.state)) nextLocation.action = _Actions.REPLACE;\n }\n\n if (nextLocation.action === _Actions.POP) {\n updateLocation(nextLocation);\n } else if (nextLocation.action === _Actions.PUSH) {\n if (pushLocation(nextLocation) !== false) updateLocation(nextLocation);\n } else if (nextLocation.action === _Actions.REPLACE) {\n if (replaceLocation(nextLocation) !== false) updateLocation(nextLocation);\n }\n } else if (currentLocation && nextLocation.action === _Actions.POP) {\n var prevIndex = allKeys.indexOf(currentLocation.key);\n var nextIndex = allKeys.indexOf(nextLocation.key);\n\n if (prevIndex !== -1 && nextIndex !== -1) go(prevIndex - nextIndex); // Restore the URL\n }\n });\n };\n\n var push = function push(input) {\n return transitionTo(createLocation(input, _Actions.PUSH));\n };\n\n var replace = function replace(input) {\n return transitionTo(createLocation(input, _Actions.REPLACE));\n };\n\n var goBack = function goBack() {\n return go(-1);\n };\n\n var goForward = function goForward() {\n return go(1);\n };\n\n var createKey = function createKey() {\n return Math.random().toString(36).substr(2, keyLength || 6);\n };\n\n var createHref = function createHref(location) {\n return (0, _PathUtils.createPath)(location);\n };\n\n var createLocation = function createLocation(location, action) {\n var key = arguments.length <= 2 || arguments[2] === undefined ? createKey() : arguments[2];\n return (0, _LocationUtils.createLocation)(location, action, key);\n };\n\n return {\n getCurrentLocation: getCurrentLocation,\n listenBefore: listenBefore,\n listen: listen,\n transitionTo: transitionTo,\n push: push,\n replace: replace,\n go: go,\n goBack: goBack,\n goForward: goForward,\n createKey: createKey,\n createPath: _PathUtils.createPath,\n createHref: createHref,\n createLocation: createLocation\n };\n};\n\nexports.default = createHistory;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/history/lib/createHistory.js\n ** module id = 114\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\n\nvar _warning = require('warning');\n\nvar _warning2 = _interopRequireDefault(_warning);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar runTransitionHook = function runTransitionHook(hook, location, callback) {\n var result = hook(location, callback);\n\n if (hook.length < 2) {\n // Assume the hook runs synchronously and automatically\n // call the callback with the return value.\n callback(result);\n } else {\n process.env.NODE_ENV !== 'production' ? (0, _warning2.default)(result === undefined, 'You should not \"return\" in a transition hook with a callback argument; ' + 'call the callback instead') : void 0;\n }\n};\n\nexports.default = runTransitionHook;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/history/lib/runTransitionHook.js\n ** module id = 115\n ** module chunks = 0\n **/","// Standard YAML's Failsafe schema.\n// http://www.yaml.org/spec/1.2/spec.html#id2802346\n\n\n'use strict';\n\n\nvar Schema = require('../schema');\n\n\nmodule.exports = new Schema({\n explicit: [\n require('../type/str'),\n require('../type/seq'),\n require('../type/map')\n ]\n});\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/js-yaml/lib/js-yaml/schema/failsafe.js\n ** module id = 116\n ** module chunks = 0\n **/","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map');\n\nmodule.exports = Map;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_Map.js\n ** module id = 117\n ** module chunks = 0\n **/","var root = require('./_root');\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nmodule.exports = Symbol;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_Symbol.js\n ** module id = 118\n ** module chunks = 0\n **/","var Uint8Array = require('./_Uint8Array');\n\n/**\n * Creates a clone of `arrayBuffer`.\n *\n * @private\n * @param {ArrayBuffer} arrayBuffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction cloneArrayBuffer(arrayBuffer) {\n var result = new arrayBuffer.constructor(arrayBuffer.byteLength);\n new Uint8Array(result).set(new Uint8Array(arrayBuffer));\n return result;\n}\n\nmodule.exports = cloneArrayBuffer;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_cloneArrayBuffer.js\n ** module id = 119\n ** module chunks = 0\n **/","var overArg = require('./_overArg');\n\n/** Built-in value references. */\nvar getPrototype = overArg(Object.getPrototypeOf, Object);\n\nmodule.exports = getPrototype;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_getPrototype.js\n ** module id = 120\n ** module chunks = 0\n **/","var arrayFilter = require('./_arrayFilter'),\n stubArray = require('./stubArray');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols;\n\n/**\n * Creates an array of the own enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbols = !nativeGetSymbols ? stubArray : function(object) {\n if (object == null) {\n return [];\n }\n object = Object(object);\n return arrayFilter(nativeGetSymbols(object), function(symbol) {\n return propertyIsEnumerable.call(object, symbol);\n });\n};\n\nmodule.exports = getSymbols;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_getSymbols.js\n ** module id = 121\n ** module chunks = 0\n **/","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\nmodule.exports = isPrototype;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_isPrototype.js\n ** module id = 122\n ** module chunks = 0\n **/","/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\nmodule.exports = isArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/isArray.js\n ** module id = 123\n ** module chunks = 0\n **/","var baseGetTag = require('./_baseGetTag'),\n getPrototype = require('./_getPrototype'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to infer the `Object` constructor. */\nvar objectCtorString = funcToString.call(Object);\n\n/**\n * Checks if `value` is a plain object, that is, an object created by the\n * `Object` constructor or one with a `[[Prototype]]` of `null`.\n *\n * @static\n * @memberOf _\n * @since 0.8.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * _.isPlainObject(new Foo);\n * // => false\n *\n * _.isPlainObject([1, 2, 3]);\n * // => false\n *\n * _.isPlainObject({ 'x': 0, 'y': 0 });\n * // => true\n *\n * _.isPlainObject(Object.create(null));\n * // => true\n */\nfunction isPlainObject(value) {\n if (!isObjectLike(value) || baseGetTag(value) != objectTag) {\n return false;\n }\n var proto = getPrototype(value);\n if (proto === null) {\n return true;\n }\n var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\n return typeof Ctor == 'function' && Ctor instanceof Ctor &&\n funcToString.call(Ctor) == objectCtorString;\n}\n\nmodule.exports = isPlainObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/isPlainObject.js\n ** module id = 124\n ** module chunks = 0\n **/","var arrayLikeKeys = require('./_arrayLikeKeys'),\n baseKeys = require('./_baseKeys'),\n isArrayLike = require('./isArrayLike');\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\nmodule.exports = keys;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/keys.js\n ** module id = 125\n ** module chunks = 0\n **/","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/process/browser.js\n ** module id = 126\n ** module chunks = 0\n **/","var CONSTANTS = {\n\n // Positions\n positions: {\n tl: 'tl',\n tr: 'tr',\n tc: 'tc',\n bl: 'bl',\n br: 'br',\n bc: 'bc'\n },\n\n // Levels\n levels: {\n success: 'success',\n error: 'error',\n warning: 'warning',\n info: 'info'\n },\n\n // Notification defaults\n notification: {\n title: null,\n message: null,\n level: null,\n position: 'tr',\n autoDismiss: 5,\n dismissible: true,\n action: null\n }\n};\n\n\nmodule.exports = CONSTANTS;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-notification-system/dist/constants.js\n ** module id = 127\n ** module chunks = 0\n **/","\"use strict\";\n\nexports.__esModule = true;\nexports.loopAsync = loopAsync;\nexports.mapAsync = mapAsync;\nfunction loopAsync(turns, work, callback) {\n var currentTurn = 0,\n isDone = false;\n var sync = false,\n hasNext = false,\n doneArgs = void 0;\n\n function done() {\n isDone = true;\n if (sync) {\n // Iterate instead of recursing if possible.\n doneArgs = [].concat(Array.prototype.slice.call(arguments));\n return;\n }\n\n callback.apply(this, arguments);\n }\n\n function next() {\n if (isDone) {\n return;\n }\n\n hasNext = true;\n if (sync) {\n // Iterate instead of recursing if possible.\n return;\n }\n\n sync = true;\n\n while (!isDone && currentTurn < turns && hasNext) {\n hasNext = false;\n work.call(this, currentTurn++, next, done);\n }\n\n sync = false;\n\n if (isDone) {\n // This means the loop finished synchronously.\n callback.apply(this, doneArgs);\n return;\n }\n\n if (currentTurn >= turns && hasNext) {\n isDone = true;\n callback();\n }\n }\n\n next();\n}\n\nfunction mapAsync(array, work, callback) {\n var length = array.length;\n var values = [];\n\n if (length === 0) return callback(null, values);\n\n var isDone = false,\n doneCount = 0;\n\n function done(index, error, value) {\n if (isDone) return;\n\n if (error) {\n isDone = true;\n callback(error);\n } else {\n values[index] = value;\n\n isDone = ++doneCount === length;\n\n if (isDone) callback(null, values);\n }\n }\n\n array.forEach(function (item, index) {\n work(item, index, function (error, value) {\n done(index, error, value);\n });\n });\n}\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-router/lib/AsyncUtils.js\n ** module id = 128\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\nexports.ContextProvider = ContextProvider;\nexports.ContextSubscriber = ContextSubscriber;\n\nvar _react = require('react');\n\n// Works around issues with context updates failing to propagate.\n// Caveat: the context value is expected to never change its identity.\n// https://github.com/facebook/react/issues/2517\n// https://github.com/reactjs/react-router/issues/470\n\nvar contextProviderShape = _react.PropTypes.shape({\n subscribe: _react.PropTypes.func.isRequired,\n eventIndex: _react.PropTypes.number.isRequired\n});\n\nfunction makeContextName(name) {\n return '@@contextSubscriber/' + name;\n}\n\nfunction ContextProvider(name) {\n var _childContextTypes, _ref2;\n\n var contextName = makeContextName(name);\n var listenersKey = contextName + '/listeners';\n var eventIndexKey = contextName + '/eventIndex';\n var subscribeKey = contextName + '/subscribe';\n\n return _ref2 = {\n childContextTypes: (_childContextTypes = {}, _childContextTypes[contextName] = contextProviderShape.isRequired, _childContextTypes),\n\n getChildContext: function getChildContext() {\n var _ref;\n\n return _ref = {}, _ref[contextName] = {\n eventIndex: this[eventIndexKey],\n subscribe: this[subscribeKey]\n }, _ref;\n },\n componentWillMount: function componentWillMount() {\n this[listenersKey] = [];\n this[eventIndexKey] = 0;\n },\n componentWillReceiveProps: function componentWillReceiveProps() {\n this[eventIndexKey]++;\n },\n componentDidUpdate: function componentDidUpdate() {\n var _this = this;\n\n this[listenersKey].forEach(function (listener) {\n return listener(_this[eventIndexKey]);\n });\n }\n }, _ref2[subscribeKey] = function (listener) {\n var _this2 = this;\n\n // No need to immediately call listener here.\n this[listenersKey].push(listener);\n\n return function () {\n _this2[listenersKey] = _this2[listenersKey].filter(function (item) {\n return item !== listener;\n });\n };\n }, _ref2;\n}\n\nfunction ContextSubscriber(name) {\n var _contextTypes, _ref4;\n\n var contextName = makeContextName(name);\n var lastRenderedEventIndexKey = contextName + '/lastRenderedEventIndex';\n var handleContextUpdateKey = contextName + '/handleContextUpdate';\n var unsubscribeKey = contextName + '/unsubscribe';\n\n return _ref4 = {\n contextTypes: (_contextTypes = {}, _contextTypes[contextName] = contextProviderShape, _contextTypes),\n\n getInitialState: function getInitialState() {\n var _ref3;\n\n if (!this.context[contextName]) {\n return {};\n }\n\n return _ref3 = {}, _ref3[lastRenderedEventIndexKey] = this.context[contextName].eventIndex, _ref3;\n },\n componentDidMount: function componentDidMount() {\n if (!this.context[contextName]) {\n return;\n }\n\n this[unsubscribeKey] = this.context[contextName].subscribe(this[handleContextUpdateKey]);\n },\n componentWillReceiveProps: function componentWillReceiveProps() {\n var _setState;\n\n if (!this.context[contextName]) {\n return;\n }\n\n this.setState((_setState = {}, _setState[lastRenderedEventIndexKey] = this.context[contextName].eventIndex, _setState));\n },\n componentWillUnmount: function componentWillUnmount() {\n if (!this[unsubscribeKey]) {\n return;\n }\n\n this[unsubscribeKey]();\n this[unsubscribeKey] = null;\n }\n }, _ref4[handleContextUpdateKey] = function (eventIndex) {\n if (eventIndex !== this.state[lastRenderedEventIndexKey]) {\n var _setState2;\n\n this.setState((_setState2 = {}, _setState2[lastRenderedEventIndexKey] = eventIndex, _setState2));\n }\n }, _ref4;\n}\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-router/lib/ContextUtils.js\n ** module id = 129\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\nexports.locationShape = exports.routerShape = undefined;\n\nvar _react = require('react');\n\nvar func = _react.PropTypes.func,\n object = _react.PropTypes.object,\n shape = _react.PropTypes.shape,\n string = _react.PropTypes.string;\nvar routerShape = exports.routerShape = shape({\n push: func.isRequired,\n replace: func.isRequired,\n go: func.isRequired,\n goBack: func.isRequired,\n goForward: func.isRequired,\n setRouteLeaveHook: func.isRequired,\n isActive: func.isRequired\n});\n\nvar locationShape = exports.locationShape = shape({\n pathname: string.isRequired,\n search: string.isRequired,\n state: object,\n action: string.isRequired,\n key: string\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-router/lib/PropTypes.js\n ** module id = 130\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _invariant = require('invariant');\n\nvar _invariant2 = _interopRequireDefault(_invariant);\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _getRouteParams = require('./getRouteParams');\n\nvar _getRouteParams2 = _interopRequireDefault(_getRouteParams);\n\nvar _ContextUtils = require('./ContextUtils');\n\nvar _RouteUtils = require('./RouteUtils');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar _React$PropTypes = _react2.default.PropTypes,\n array = _React$PropTypes.array,\n func = _React$PropTypes.func,\n object = _React$PropTypes.object;\n\n/**\n * A <RouterContext> renders the component tree for a given router state\n * and sets the history object and the current location in context.\n */\n\nvar RouterContext = _react2.default.createClass({\n displayName: 'RouterContext',\n\n\n mixins: [(0, _ContextUtils.ContextProvider)('router')],\n\n propTypes: {\n router: object.isRequired,\n location: object.isRequired,\n routes: array.isRequired,\n params: object.isRequired,\n components: array.isRequired,\n createElement: func.isRequired\n },\n\n getDefaultProps: function getDefaultProps() {\n return {\n createElement: _react2.default.createElement\n };\n },\n\n\n childContextTypes: {\n router: object.isRequired\n },\n\n getChildContext: function getChildContext() {\n return {\n router: this.props.router\n };\n },\n createElement: function createElement(component, props) {\n return component == null ? null : this.props.createElement(component, props);\n },\n render: function render() {\n var _this = this;\n\n var _props = this.props,\n location = _props.location,\n routes = _props.routes,\n params = _props.params,\n components = _props.components,\n router = _props.router;\n\n var element = null;\n\n if (components) {\n element = components.reduceRight(function (element, components, index) {\n if (components == null) return element; // Don't create new children; use the grandchildren.\n\n var route = routes[index];\n var routeParams = (0, _getRouteParams2.default)(route, params);\n var props = {\n location: location,\n params: params,\n route: route,\n router: router,\n routeParams: routeParams,\n routes: routes\n };\n\n if ((0, _RouteUtils.isReactChildren)(element)) {\n props.children = element;\n } else if (element) {\n for (var prop in element) {\n if (Object.prototype.hasOwnProperty.call(element, prop)) props[prop] = element[prop];\n }\n }\n\n if ((typeof components === 'undefined' ? 'undefined' : _typeof(components)) === 'object') {\n var elements = {};\n\n for (var key in components) {\n if (Object.prototype.hasOwnProperty.call(components, key)) {\n // Pass through the key as a prop to createElement to allow\n // custom createElement functions to know which named component\n // they're rendering, for e.g. matching up to fetched data.\n elements[key] = _this.createElement(components[key], _extends({\n key: key }, props));\n }\n }\n\n return elements;\n }\n\n return _this.createElement(components, props);\n }, element);\n }\n\n !(element === null || element === false || _react2.default.isValidElement(element)) ? process.env.NODE_ENV !== 'production' ? (0, _invariant2.default)(false, 'The root route must render a single element') : (0, _invariant2.default)(false) : void 0;\n\n return element;\n }\n});\n\nexports.default = RouterContext;\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-router/lib/RouterContext.js\n ** module id = 131\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _classnames = require('classnames');\n\nvar _classnames2 = _interopRequireDefault(_classnames);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Button = function (_React$Component) {\n _inherits(Button, _React$Component);\n\n function Button() {\n _classCallCheck(this, Button);\n\n return _possibleConstructorReturn(this, _React$Component.apply(this, arguments));\n }\n\n Button.prototype.render = function render() {\n var _props = this.props,\n className = _props.className,\n disabled = _props.disabled,\n label = _props.label,\n icon = _props.icon,\n busy = _props.busy,\n active = _props.active,\n children = _props.children,\n _props$component = _props.component,\n Tag = _props$component === undefined ? 'button' : _props$component,\n props = _objectWithoutProperties(_props, ['className', 'disabled', 'label', 'icon', 'busy', 'active', 'children', 'component']);\n\n var type = props.type;\n\n if (Tag === 'button') type = type || 'button';\n\n return _react2.default.createElement(\n Tag,\n _extends({}, props, {\n tabIndex: '-1',\n title: label,\n type: type,\n disabled: disabled,\n 'aria-disabled': disabled,\n 'aria-label': label,\n className: (0, _classnames2.default)(className, 'rw-btn', active && !disabled && 'rw-state-active')\n }),\n icon && _react2.default.createElement('span', {\n 'aria-hidden': true,\n className: (0, _classnames2.default)('rw-i', 'rw-i-' + icon, busy && 'rw-loading')\n }),\n children\n );\n };\n\n return Button;\n}(_react2.default.Component);\n\nexports.default = Button;\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-widgets/lib/Button.js\n ** module id = 132\n ** module chunks = 0\n **/","'use strict';\n\nvar _require = require('../util/_'),\n has = _require.has;\n\nmodule.exports = {\n componentWillUnmount: function componentWillUnmount() {\n var timers = this._timers || {};\n\n this._unmounted = true;\n\n for (var k in timers) {\n if (has(timers, k)) this.clearTimeout(k);\n }\n },\n clearTimeout: function clearTimeout(key) {\n var timers = this._timers || {};\n window.clearTimeout(timers[key]);\n },\n setTimeout: function setTimeout(key, cb, duration) {\n var _this = this;\n\n var timers = this._timers || (this._timers = Object.create(null));\n\n if (this._unmounted) return;\n\n this.clearTimeout(key);\n timers[key] = window.setTimeout(function () {\n if (!_this._unmounted) cb();\n }, duration);\n }\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-widgets/lib/mixins/TimeoutMixin.js\n ** module id = 133\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\n\nvar _animate = require('./dom/animate');\n\nvar _animate2 = _interopRequireDefault(_animate);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = { animate: _animate2.default };\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-widgets/lib/util/configuration.js\n ** module id = 134\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\n\nvar _calendarViewHierarch, _calendarViewUnits;\n\nvar views = {\n MONTH: 'month',\n YEAR: 'year',\n DECADE: 'decade',\n CENTURY: 'century'\n};\n\nvar directions = exports.directions = {\n LEFT: 'LEFT',\n RIGHT: 'RIGHT',\n UP: 'UP',\n DOWN: 'DOWN'\n};\n\nvar datePopups = exports.datePopups = {\n TIME: 'time',\n CALENDAR: 'calendar'\n};\n\nvar calendarViews = exports.calendarViews = views;\n\nvar calendarViewHierarchy = exports.calendarViewHierarchy = (_calendarViewHierarch = {}, _calendarViewHierarch[views.MONTH] = views.YEAR, _calendarViewHierarch[views.YEAR] = views.DECADE, _calendarViewHierarch[views.DECADE] = views.CENTURY, _calendarViewHierarch);\n\nvar calendarViewUnits = exports.calendarViewUnits = (_calendarViewUnits = {}, _calendarViewUnits[views.MONTH] = 'day', _calendarViewUnits[views.YEAR] = views.MONTH, _calendarViewUnits[views.DECADE] = views.YEAR, _calendarViewUnits[views.CENTURY] = views.DECADE, _calendarViewUnits);\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-widgets/lib/util/constants.js\n ** module id = 135\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nexports.dataValue = dataValue;\nexports.dataText = dataText;\nexports.dataIndexOf = dataIndexOf;\nexports.valueMatcher = valueMatcher;\nexports.dataItem = dataItem;\n\nvar _ = require('./_');\n\nfunction accessor(data, field) {\n var value = data;\n\n if (typeof field === 'function') value = field(data);else if (data == null) value = data;else if (typeof field === 'string' && (typeof data === 'undefined' ? 'undefined' : _typeof(data)) === 'object' && field in data) value = data[field];\n\n return value;\n}\n\nfunction dataValue(item, valueField) {\n return valueField && item && (0, _.has)(item, valueField) ? item[valueField] : item;\n}\n\nfunction dataText(item, textField) {\n var value = accessor(item, textField);\n return value == null ? '' : value + '';\n}\n\nfunction dataIndexOf(data, item, valueField) {\n var idx = -1,\n len = data.length,\n isValueEqual = function isValueEqual(datum) {\n return valueMatcher(item, datum, valueField);\n };\n\n while (++idx < len) {\n var datum = data[idx];\n if (datum === item || isValueEqual(datum)) return idx;\n }\n\n return -1;\n}\n\n/**\n * I don't know that the shallow equal makes sense here but am too afraid to\n * remove it.\n */\nfunction valueMatcher(a, b, valueField) {\n return (0, _.isShallowEqual)(dataValue(a, valueField), dataValue(b, valueField));\n}\n\nfunction dataItem(data, item, valueField) {\n var idx = dataIndexOf(data, dataValue(item, valueField), valueField);\n\n if (idx !== -1) return data[idx];\n\n return item;\n}\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-widgets/lib/util/dataHelpers.js\n ** module id = 136\n ** module chunks = 0\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule DOMChildrenOperations\n */\n\n'use strict';\n\nvar DOMLazyTree = require('./DOMLazyTree');\nvar Danger = require('./Danger');\nvar ReactMultiChildUpdateTypes = require('./ReactMultiChildUpdateTypes');\nvar ReactDOMComponentTree = require('./ReactDOMComponentTree');\nvar ReactInstrumentation = require('./ReactInstrumentation');\n\nvar createMicrosoftUnsafeLocalFunction = require('./createMicrosoftUnsafeLocalFunction');\nvar setInnerHTML = require('./setInnerHTML');\nvar setTextContent = require('./setTextContent');\n\nfunction getNodeAfter(parentNode, node) {\n // Special case for text components, which return [open, close] comments\n // from getHostNode.\n if (Array.isArray(node)) {\n node = node[1];\n }\n return node ? node.nextSibling : parentNode.firstChild;\n}\n\n/**\n * Inserts `childNode` as a child of `parentNode` at the `index`.\n *\n * @param {DOMElement} parentNode Parent node in which to insert.\n * @param {DOMElement} childNode Child node to insert.\n * @param {number} index Index at which to insert the child.\n * @internal\n */\nvar insertChildAt = createMicrosoftUnsafeLocalFunction(function (parentNode, childNode, referenceNode) {\n // We rely exclusively on `insertBefore(node, null)` instead of also using\n // `appendChild(node)`. (Using `undefined` is not allowed by all browsers so\n // we are careful to use `null`.)\n parentNode.insertBefore(childNode, referenceNode);\n});\n\nfunction insertLazyTreeChildAt(parentNode, childTree, referenceNode) {\n DOMLazyTree.insertTreeBefore(parentNode, childTree, referenceNode);\n}\n\nfunction moveChild(parentNode, childNode, referenceNode) {\n if (Array.isArray(childNode)) {\n moveDelimitedText(parentNode, childNode[0], childNode[1], referenceNode);\n } else {\n insertChildAt(parentNode, childNode, referenceNode);\n }\n}\n\nfunction removeChild(parentNode, childNode) {\n if (Array.isArray(childNode)) {\n var closingComment = childNode[1];\n childNode = childNode[0];\n removeDelimitedText(parentNode, childNode, closingComment);\n parentNode.removeChild(closingComment);\n }\n parentNode.removeChild(childNode);\n}\n\nfunction moveDelimitedText(parentNode, openingComment, closingComment, referenceNode) {\n var node = openingComment;\n while (true) {\n var nextNode = node.nextSibling;\n insertChildAt(parentNode, node, referenceNode);\n if (node === closingComment) {\n break;\n }\n node = nextNode;\n }\n}\n\nfunction removeDelimitedText(parentNode, startNode, closingComment) {\n while (true) {\n var node = startNode.nextSibling;\n if (node === closingComment) {\n // The closing comment is removed by ReactMultiChild.\n break;\n } else {\n parentNode.removeChild(node);\n }\n }\n}\n\nfunction replaceDelimitedText(openingComment, closingComment, stringText) {\n var parentNode = openingComment.parentNode;\n var nodeAfterComment = openingComment.nextSibling;\n if (nodeAfterComment === closingComment) {\n // There are no text nodes between the opening and closing comments; insert\n // a new one if stringText isn't empty.\n if (stringText) {\n insertChildAt(parentNode, document.createTextNode(stringText), nodeAfterComment);\n }\n } else {\n if (stringText) {\n // Set the text content of the first node after the opening comment, and\n // remove all following nodes up until the closing comment.\n setTextContent(nodeAfterComment, stringText);\n removeDelimitedText(parentNode, nodeAfterComment, closingComment);\n } else {\n removeDelimitedText(parentNode, openingComment, closingComment);\n }\n }\n\n if (process.env.NODE_ENV !== 'production') {\n ReactInstrumentation.debugTool.onHostOperation(ReactDOMComponentTree.getInstanceFromNode(openingComment)._debugID, 'replace text', stringText);\n }\n}\n\nvar dangerouslyReplaceNodeWithMarkup = Danger.dangerouslyReplaceNodeWithMarkup;\nif (process.env.NODE_ENV !== 'production') {\n dangerouslyReplaceNodeWithMarkup = function (oldChild, markup, prevInstance) {\n Danger.dangerouslyReplaceNodeWithMarkup(oldChild, markup);\n if (prevInstance._debugID !== 0) {\n ReactInstrumentation.debugTool.onHostOperation(prevInstance._debugID, 'replace with', markup.toString());\n } else {\n var nextInstance = ReactDOMComponentTree.getInstanceFromNode(markup.node);\n if (nextInstance._debugID !== 0) {\n ReactInstrumentation.debugTool.onHostOperation(nextInstance._debugID, 'mount', markup.toString());\n }\n }\n };\n}\n\n/**\n * Operations for updating with DOM children.\n */\nvar DOMChildrenOperations = {\n\n dangerouslyReplaceNodeWithMarkup: dangerouslyReplaceNodeWithMarkup,\n\n replaceDelimitedText: replaceDelimitedText,\n\n /**\n * Updates a component's children by processing a series of updates. The\n * update configurations are each expected to have a `parentNode` property.\n *\n * @param {array<object>} updates List of update configurations.\n * @internal\n */\n processUpdates: function (parentNode, updates) {\n if (process.env.NODE_ENV !== 'production') {\n var parentNodeDebugID = ReactDOMComponentTree.getInstanceFromNode(parentNode)._debugID;\n }\n\n for (var k = 0; k < updates.length; k++) {\n var update = updates[k];\n switch (update.type) {\n case ReactMultiChildUpdateTypes.INSERT_MARKUP:\n insertLazyTreeChildAt(parentNode, update.content, getNodeAfter(parentNode, update.afterNode));\n if (process.env.NODE_ENV !== 'production') {\n ReactInstrumentation.debugTool.onHostOperation(parentNodeDebugID, 'insert child', { toIndex: update.toIndex, content: update.content.toString() });\n }\n break;\n case ReactMultiChildUpdateTypes.MOVE_EXISTING:\n moveChild(parentNode, update.fromNode, getNodeAfter(parentNode, update.afterNode));\n if (process.env.NODE_ENV !== 'production') {\n ReactInstrumentation.debugTool.onHostOperation(parentNodeDebugID, 'move child', { fromIndex: update.fromIndex, toIndex: update.toIndex });\n }\n break;\n case ReactMultiChildUpdateTypes.SET_MARKUP:\n setInnerHTML(parentNode, update.content);\n if (process.env.NODE_ENV !== 'production') {\n ReactInstrumentation.debugTool.onHostOperation(parentNodeDebugID, 'replace children', update.content.toString());\n }\n break;\n case ReactMultiChildUpdateTypes.TEXT_CONTENT:\n setTextContent(parentNode, update.content);\n if (process.env.NODE_ENV !== 'production') {\n ReactInstrumentation.debugTool.onHostOperation(parentNodeDebugID, 'replace text', update.content.toString());\n }\n break;\n case ReactMultiChildUpdateTypes.REMOVE_NODE:\n removeChild(parentNode, update.fromNode);\n if (process.env.NODE_ENV !== 'production') {\n ReactInstrumentation.debugTool.onHostOperation(parentNodeDebugID, 'remove child', { fromIndex: update.fromIndex });\n }\n break;\n }\n }\n }\n\n};\n\nmodule.exports = DOMChildrenOperations;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react/lib/DOMChildrenOperations.js\n ** module id = 137\n ** module chunks = 0\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule DOMNamespaces\n */\n\n'use strict';\n\nvar DOMNamespaces = {\n html: 'http://www.w3.org/1999/xhtml',\n mathml: 'http://www.w3.org/1998/Math/MathML',\n svg: 'http://www.w3.org/2000/svg'\n};\n\nmodule.exports = DOMNamespaces;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react/lib/DOMNamespaces.js\n ** module id = 138\n ** module chunks = 0\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule EventPluginRegistry\n */\n\n'use strict';\n\nvar _prodInvariant = require('./reactProdInvariant');\n\nvar invariant = require('fbjs/lib/invariant');\n\n/**\n * Injectable ordering of event plugins.\n */\nvar EventPluginOrder = null;\n\n/**\n * Injectable mapping from names to event plugin modules.\n */\nvar namesToPlugins = {};\n\n/**\n * Recomputes the plugin list using the injected plugins and plugin ordering.\n *\n * @private\n */\nfunction recomputePluginOrdering() {\n if (!EventPluginOrder) {\n // Wait until an `EventPluginOrder` is injected.\n return;\n }\n for (var pluginName in namesToPlugins) {\n var PluginModule = namesToPlugins[pluginName];\n var pluginIndex = EventPluginOrder.indexOf(pluginName);\n !(pluginIndex > -1) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'EventPluginRegistry: Cannot inject event plugins that do not exist in the plugin ordering, `%s`.', pluginName) : _prodInvariant('96', pluginName) : void 0;\n if (EventPluginRegistry.plugins[pluginIndex]) {\n continue;\n }\n !PluginModule.extractEvents ? process.env.NODE_ENV !== 'production' ? invariant(false, 'EventPluginRegistry: Event plugins must implement an `extractEvents` method, but `%s` does not.', pluginName) : _prodInvariant('97', pluginName) : void 0;\n EventPluginRegistry.plugins[pluginIndex] = PluginModule;\n var publishedEvents = PluginModule.eventTypes;\n for (var eventName in publishedEvents) {\n !publishEventForPlugin(publishedEvents[eventName], PluginModule, eventName) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'EventPluginRegistry: Failed to publish event `%s` for plugin `%s`.', eventName, pluginName) : _prodInvariant('98', eventName, pluginName) : void 0;\n }\n }\n}\n\n/**\n * Publishes an event so that it can be dispatched by the supplied plugin.\n *\n * @param {object} dispatchConfig Dispatch configuration for the event.\n * @param {object} PluginModule Plugin publishing the event.\n * @return {boolean} True if the event was successfully published.\n * @private\n */\nfunction publishEventForPlugin(dispatchConfig, PluginModule, eventName) {\n !!EventPluginRegistry.eventNameDispatchConfigs.hasOwnProperty(eventName) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'EventPluginHub: More than one plugin attempted to publish the same event name, `%s`.', eventName) : _prodInvariant('99', eventName) : void 0;\n EventPluginRegistry.eventNameDispatchConfigs[eventName] = dispatchConfig;\n\n var phasedRegistrationNames = dispatchConfig.phasedRegistrationNames;\n if (phasedRegistrationNames) {\n for (var phaseName in phasedRegistrationNames) {\n if (phasedRegistrationNames.hasOwnProperty(phaseName)) {\n var phasedRegistrationName = phasedRegistrationNames[phaseName];\n publishRegistrationName(phasedRegistrationName, PluginModule, eventName);\n }\n }\n return true;\n } else if (dispatchConfig.registrationName) {\n publishRegistrationName(dispatchConfig.registrationName, PluginModule, eventName);\n return true;\n }\n return false;\n}\n\n/**\n * Publishes a registration name that is used to identify dispatched events and\n * can be used with `EventPluginHub.putListener` to register listeners.\n *\n * @param {string} registrationName Registration name to add.\n * @param {object} PluginModule Plugin publishing the event.\n * @private\n */\nfunction publishRegistrationName(registrationName, PluginModule, eventName) {\n !!EventPluginRegistry.registrationNameModules[registrationName] ? process.env.NODE_ENV !== 'production' ? invariant(false, 'EventPluginHub: More than one plugin attempted to publish the same registration name, `%s`.', registrationName) : _prodInvariant('100', registrationName) : void 0;\n EventPluginRegistry.registrationNameModules[registrationName] = PluginModule;\n EventPluginRegistry.registrationNameDependencies[registrationName] = PluginModule.eventTypes[eventName].dependencies;\n\n if (process.env.NODE_ENV !== 'production') {\n var lowerCasedName = registrationName.toLowerCase();\n EventPluginRegistry.possibleRegistrationNames[lowerCasedName] = registrationName;\n\n if (registrationName === 'onDoubleClick') {\n EventPluginRegistry.possibleRegistrationNames.ondblclick = registrationName;\n }\n }\n}\n\n/**\n * Registers plugins so that they can extract and dispatch events.\n *\n * @see {EventPluginHub}\n */\nvar EventPluginRegistry = {\n\n /**\n * Ordered list of injected plugins.\n */\n plugins: [],\n\n /**\n * Mapping from event name to dispatch config\n */\n eventNameDispatchConfigs: {},\n\n /**\n * Mapping from registration name to plugin module\n */\n registrationNameModules: {},\n\n /**\n * Mapping from registration name to event name\n */\n registrationNameDependencies: {},\n\n /**\n * Mapping from lowercase registration names to the properly cased version,\n * used to warn in the case of missing event handlers. Available\n * only in __DEV__.\n * @type {Object}\n */\n possibleRegistrationNames: process.env.NODE_ENV !== 'production' ? {} : null,\n\n /**\n * Injects an ordering of plugins (by plugin name). This allows the ordering\n * to be decoupled from injection of the actual plugins so that ordering is\n * always deterministic regardless of packaging, on-the-fly injection, etc.\n *\n * @param {array} InjectedEventPluginOrder\n * @internal\n * @see {EventPluginHub.injection.injectEventPluginOrder}\n */\n injectEventPluginOrder: function (InjectedEventPluginOrder) {\n !!EventPluginOrder ? process.env.NODE_ENV !== 'production' ? invariant(false, 'EventPluginRegistry: Cannot inject event plugin ordering more than once. You are likely trying to load more than one copy of React.') : _prodInvariant('101') : void 0;\n // Clone the ordering so it cannot be dynamically mutated.\n EventPluginOrder = Array.prototype.slice.call(InjectedEventPluginOrder);\n recomputePluginOrdering();\n },\n\n /**\n * Injects plugins to be used by `EventPluginHub`. The plugin names must be\n * in the ordering injected by `injectEventPluginOrder`.\n *\n * Plugins can be injected as part of page initialization or on-the-fly.\n *\n * @param {object} injectedNamesToPlugins Map from names to plugin modules.\n * @internal\n * @see {EventPluginHub.injection.injectEventPluginsByName}\n */\n injectEventPluginsByName: function (injectedNamesToPlugins) {\n var isOrderingDirty = false;\n for (var pluginName in injectedNamesToPlugins) {\n if (!injectedNamesToPlugins.hasOwnProperty(pluginName)) {\n continue;\n }\n var PluginModule = injectedNamesToPlugins[pluginName];\n if (!namesToPlugins.hasOwnProperty(pluginName) || namesToPlugins[pluginName] !== PluginModule) {\n !!namesToPlugins[pluginName] ? process.env.NODE_ENV !== 'production' ? invariant(false, 'EventPluginRegistry: Cannot inject two different event plugins using the same name, `%s`.', pluginName) : _prodInvariant('102', pluginName) : void 0;\n namesToPlugins[pluginName] = PluginModule;\n isOrderingDirty = true;\n }\n }\n if (isOrderingDirty) {\n recomputePluginOrdering();\n }\n },\n\n /**\n * Looks up the plugin for the supplied event.\n *\n * @param {object} event A synthetic event.\n * @return {?object} The plugin that created the supplied event.\n * @internal\n */\n getPluginModuleForEvent: function (event) {\n var dispatchConfig = event.dispatchConfig;\n if (dispatchConfig.registrationName) {\n return EventPluginRegistry.registrationNameModules[dispatchConfig.registrationName] || null;\n }\n for (var phase in dispatchConfig.phasedRegistrationNames) {\n if (!dispatchConfig.phasedRegistrationNames.hasOwnProperty(phase)) {\n continue;\n }\n var PluginModule = EventPluginRegistry.registrationNameModules[dispatchConfig.phasedRegistrationNames[phase]];\n if (PluginModule) {\n return PluginModule;\n }\n }\n return null;\n },\n\n /**\n * Exposed for unit testing.\n * @private\n */\n _resetEventPlugins: function () {\n EventPluginOrder = null;\n for (var pluginName in namesToPlugins) {\n if (namesToPlugins.hasOwnProperty(pluginName)) {\n delete namesToPlugins[pluginName];\n }\n }\n EventPluginRegistry.plugins.length = 0;\n\n var eventNameDispatchConfigs = EventPluginRegistry.eventNameDispatchConfigs;\n for (var eventName in eventNameDispatchConfigs) {\n if (eventNameDispatchConfigs.hasOwnProperty(eventName)) {\n delete eventNameDispatchConfigs[eventName];\n }\n }\n\n var registrationNameModules = EventPluginRegistry.registrationNameModules;\n for (var registrationName in registrationNameModules) {\n if (registrationNameModules.hasOwnProperty(registrationName)) {\n delete registrationNameModules[registrationName];\n }\n }\n\n if (process.env.NODE_ENV !== 'production') {\n var possibleRegistrationNames = EventPluginRegistry.possibleRegistrationNames;\n for (var lowerCasedName in possibleRegistrationNames) {\n if (possibleRegistrationNames.hasOwnProperty(lowerCasedName)) {\n delete possibleRegistrationNames[lowerCasedName];\n }\n }\n }\n }\n\n};\n\nmodule.exports = EventPluginRegistry;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react/lib/EventPluginRegistry.js\n ** module id = 139\n ** module chunks = 0\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule EventPluginUtils\n */\n\n'use strict';\n\nvar _prodInvariant = require('./reactProdInvariant');\n\nvar EventConstants = require('./EventConstants');\nvar ReactErrorUtils = require('./ReactErrorUtils');\n\nvar invariant = require('fbjs/lib/invariant');\nvar warning = require('fbjs/lib/warning');\n\n/**\n * Injected dependencies:\n */\n\n/**\n * - `ComponentTree`: [required] Module that can convert between React instances\n * and actual node references.\n */\nvar ComponentTree;\nvar TreeTraversal;\nvar injection = {\n injectComponentTree: function (Injected) {\n ComponentTree = Injected;\n if (process.env.NODE_ENV !== 'production') {\n process.env.NODE_ENV !== 'production' ? warning(Injected && Injected.getNodeFromInstance && Injected.getInstanceFromNode, 'EventPluginUtils.injection.injectComponentTree(...): Injected ' + 'module is missing getNodeFromInstance or getInstanceFromNode.') : void 0;\n }\n },\n injectTreeTraversal: function (Injected) {\n TreeTraversal = Injected;\n if (process.env.NODE_ENV !== 'production') {\n process.env.NODE_ENV !== 'production' ? warning(Injected && Injected.isAncestor && Injected.getLowestCommonAncestor, 'EventPluginUtils.injection.injectTreeTraversal(...): Injected ' + 'module is missing isAncestor or getLowestCommonAncestor.') : void 0;\n }\n }\n};\n\nvar topLevelTypes = EventConstants.topLevelTypes;\n\nfunction isEndish(topLevelType) {\n return topLevelType === topLevelTypes.topMouseUp || topLevelType === topLevelTypes.topTouchEnd || topLevelType === topLevelTypes.topTouchCancel;\n}\n\nfunction isMoveish(topLevelType) {\n return topLevelType === topLevelTypes.topMouseMove || topLevelType === topLevelTypes.topTouchMove;\n}\nfunction isStartish(topLevelType) {\n return topLevelType === topLevelTypes.topMouseDown || topLevelType === topLevelTypes.topTouchStart;\n}\n\nvar validateEventDispatches;\nif (process.env.NODE_ENV !== 'production') {\n validateEventDispatches = function (event) {\n var dispatchListeners = event._dispatchListeners;\n var dispatchInstances = event._dispatchInstances;\n\n var listenersIsArr = Array.isArray(dispatchListeners);\n var listenersLen = listenersIsArr ? dispatchListeners.length : dispatchListeners ? 1 : 0;\n\n var instancesIsArr = Array.isArray(dispatchInstances);\n var instancesLen = instancesIsArr ? dispatchInstances.length : dispatchInstances ? 1 : 0;\n\n process.env.NODE_ENV !== 'production' ? warning(instancesIsArr === listenersIsArr && instancesLen === listenersLen, 'EventPluginUtils: Invalid `event`.') : void 0;\n };\n}\n\n/**\n * Dispatch the event to the listener.\n * @param {SyntheticEvent} event SyntheticEvent to handle\n * @param {boolean} simulated If the event is simulated (changes exn behavior)\n * @param {function} listener Application-level callback\n * @param {*} inst Internal component instance\n */\nfunction executeDispatch(event, simulated, listener, inst) {\n var type = event.type || 'unknown-event';\n event.currentTarget = EventPluginUtils.getNodeFromInstance(inst);\n if (simulated) {\n ReactErrorUtils.invokeGuardedCallbackWithCatch(type, listener, event);\n } else {\n ReactErrorUtils.invokeGuardedCallback(type, listener, event);\n }\n event.currentTarget = null;\n}\n\n/**\n * Standard/simple iteration through an event's collected dispatches.\n */\nfunction executeDispatchesInOrder(event, simulated) {\n var dispatchListeners = event._dispatchListeners;\n var dispatchInstances = event._dispatchInstances;\n if (process.env.NODE_ENV !== 'production') {\n validateEventDispatches(event);\n }\n if (Array.isArray(dispatchListeners)) {\n for (var i = 0; i < dispatchListeners.length; i++) {\n if (event.isPropagationStopped()) {\n break;\n }\n // Listeners and Instances are two parallel arrays that are always in sync.\n executeDispatch(event, simulated, dispatchListeners[i], dispatchInstances[i]);\n }\n } else if (dispatchListeners) {\n executeDispatch(event, simulated, dispatchListeners, dispatchInstances);\n }\n event._dispatchListeners = null;\n event._dispatchInstances = null;\n}\n\n/**\n * Standard/simple iteration through an event's collected dispatches, but stops\n * at the first dispatch execution returning true, and returns that id.\n *\n * @return {?string} id of the first dispatch execution who's listener returns\n * true, or null if no listener returned true.\n */\nfunction executeDispatchesInOrderStopAtTrueImpl(event) {\n var dispatchListeners = event._dispatchListeners;\n var dispatchInstances = event._dispatchInstances;\n if (process.env.NODE_ENV !== 'production') {\n validateEventDispatches(event);\n }\n if (Array.isArray(dispatchListeners)) {\n for (var i = 0; i < dispatchListeners.length; i++) {\n if (event.isPropagationStopped()) {\n break;\n }\n // Listeners and Instances are two parallel arrays that are always in sync.\n if (dispatchListeners[i](event, dispatchInstances[i])) {\n return dispatchInstances[i];\n }\n }\n } else if (dispatchListeners) {\n if (dispatchListeners(event, dispatchInstances)) {\n return dispatchInstances;\n }\n }\n return null;\n}\n\n/**\n * @see executeDispatchesInOrderStopAtTrueImpl\n */\nfunction executeDispatchesInOrderStopAtTrue(event) {\n var ret = executeDispatchesInOrderStopAtTrueImpl(event);\n event._dispatchInstances = null;\n event._dispatchListeners = null;\n return ret;\n}\n\n/**\n * Execution of a \"direct\" dispatch - there must be at most one dispatch\n * accumulated on the event or it is considered an error. It doesn't really make\n * sense for an event with multiple dispatches (bubbled) to keep track of the\n * return values at each dispatch execution, but it does tend to make sense when\n * dealing with \"direct\" dispatches.\n *\n * @return {*} The return value of executing the single dispatch.\n */\nfunction executeDirectDispatch(event) {\n if (process.env.NODE_ENV !== 'production') {\n validateEventDispatches(event);\n }\n var dispatchListener = event._dispatchListeners;\n var dispatchInstance = event._dispatchInstances;\n !!Array.isArray(dispatchListener) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'executeDirectDispatch(...): Invalid `event`.') : _prodInvariant('103') : void 0;\n event.currentTarget = dispatchListener ? EventPluginUtils.getNodeFromInstance(dispatchInstance) : null;\n var res = dispatchListener ? dispatchListener(event) : null;\n event.currentTarget = null;\n event._dispatchListeners = null;\n event._dispatchInstances = null;\n return res;\n}\n\n/**\n * @param {SyntheticEvent} event\n * @return {boolean} True iff number of dispatches accumulated is greater than 0.\n */\nfunction hasDispatches(event) {\n return !!event._dispatchListeners;\n}\n\n/**\n * General utilities that are useful in creating custom Event Plugins.\n */\nvar EventPluginUtils = {\n isEndish: isEndish,\n isMoveish: isMoveish,\n isStartish: isStartish,\n\n executeDirectDispatch: executeDirectDispatch,\n executeDispatchesInOrder: executeDispatchesInOrder,\n executeDispatchesInOrderStopAtTrue: executeDispatchesInOrderStopAtTrue,\n hasDispatches: hasDispatches,\n\n getInstanceFromNode: function (node) {\n return ComponentTree.getInstanceFromNode(node);\n },\n getNodeFromInstance: function (node) {\n return ComponentTree.getNodeFromInstance(node);\n },\n isAncestor: function (a, b) {\n return TreeTraversal.isAncestor(a, b);\n },\n getLowestCommonAncestor: function (a, b) {\n return TreeTraversal.getLowestCommonAncestor(a, b);\n },\n getParentInstance: function (inst) {\n return TreeTraversal.getParentInstance(inst);\n },\n traverseTwoPhase: function (target, fn, arg) {\n return TreeTraversal.traverseTwoPhase(target, fn, arg);\n },\n traverseEnterLeave: function (from, to, fn, argFrom, argTo) {\n return TreeTraversal.traverseEnterLeave(from, to, fn, argFrom, argTo);\n },\n\n injection: injection\n};\n\nmodule.exports = EventPluginUtils;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react/lib/EventPluginUtils.js\n ** module id = 140\n ** module chunks = 0\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule KeyEscapeUtils\n * \n */\n\n'use strict';\n\n/**\n * Escape and wrap key so it is safe to use as a reactid\n *\n * @param {string} key to be escaped.\n * @return {string} the escaped key.\n */\n\nfunction escape(key) {\n var escapeRegex = /[=:]/g;\n var escaperLookup = {\n '=': '=0',\n ':': '=2'\n };\n var escapedString = ('' + key).replace(escapeRegex, function (match) {\n return escaperLookup[match];\n });\n\n return '$' + escapedString;\n}\n\n/**\n * Unescape and unwrap key for human-readable display\n *\n * @param {string} key to unescape.\n * @return {string} the unescaped key.\n */\nfunction unescape(key) {\n var unescapeRegex = /(=0|=2)/g;\n var unescaperLookup = {\n '=0': '=',\n '=2': ':'\n };\n var keySubstring = key[0] === '.' && key[1] === '$' ? key.substring(2) : key.substring(1);\n\n return ('' + keySubstring).replace(unescapeRegex, function (match) {\n return unescaperLookup[match];\n });\n}\n\nvar KeyEscapeUtils = {\n escape: escape,\n unescape: unescape\n};\n\nmodule.exports = KeyEscapeUtils;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react/lib/KeyEscapeUtils.js\n ** module id = 141\n ** module chunks = 0\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule LinkedValueUtils\n */\n\n'use strict';\n\nvar _prodInvariant = require('./reactProdInvariant');\n\nvar ReactPropTypes = require('./ReactPropTypes');\nvar ReactPropTypeLocations = require('./ReactPropTypeLocations');\nvar ReactPropTypesSecret = require('./ReactPropTypesSecret');\n\nvar invariant = require('fbjs/lib/invariant');\nvar warning = require('fbjs/lib/warning');\n\nvar hasReadOnlyValue = {\n 'button': true,\n 'checkbox': true,\n 'image': true,\n 'hidden': true,\n 'radio': true,\n 'reset': true,\n 'submit': true\n};\n\nfunction _assertSingleLink(inputProps) {\n !(inputProps.checkedLink == null || inputProps.valueLink == null) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Cannot provide a checkedLink and a valueLink. If you want to use checkedLink, you probably don\\'t want to use valueLink and vice versa.') : _prodInvariant('87') : void 0;\n}\nfunction _assertValueLink(inputProps) {\n _assertSingleLink(inputProps);\n !(inputProps.value == null && inputProps.onChange == null) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Cannot provide a valueLink and a value or onChange event. If you want to use value or onChange, you probably don\\'t want to use valueLink.') : _prodInvariant('88') : void 0;\n}\n\nfunction _assertCheckedLink(inputProps) {\n _assertSingleLink(inputProps);\n !(inputProps.checked == null && inputProps.onChange == null) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Cannot provide a checkedLink and a checked property or onChange event. If you want to use checked or onChange, you probably don\\'t want to use checkedLink') : _prodInvariant('89') : void 0;\n}\n\nvar propTypes = {\n value: function (props, propName, componentName) {\n if (!props[propName] || hasReadOnlyValue[props.type] || props.onChange || props.readOnly || props.disabled) {\n return null;\n }\n return new Error('You provided a `value` prop to a form field without an ' + '`onChange` handler. This will render a read-only field. If ' + 'the field should be mutable use `defaultValue`. Otherwise, ' + 'set either `onChange` or `readOnly`.');\n },\n checked: function (props, propName, componentName) {\n if (!props[propName] || props.onChange || props.readOnly || props.disabled) {\n return null;\n }\n return new Error('You provided a `checked` prop to a form field without an ' + '`onChange` handler. This will render a read-only field. If ' + 'the field should be mutable use `defaultChecked`. Otherwise, ' + 'set either `onChange` or `readOnly`.');\n },\n onChange: ReactPropTypes.func\n};\n\nvar loggedTypeFailures = {};\nfunction getDeclarationErrorAddendum(owner) {\n if (owner) {\n var name = owner.getName();\n if (name) {\n return ' Check the render method of `' + name + '`.';\n }\n }\n return '';\n}\n\n/**\n * Provide a linked `value` attribute for controlled forms. You should not use\n * this outside of the ReactDOM controlled form components.\n */\nvar LinkedValueUtils = {\n checkPropTypes: function (tagName, props, owner) {\n for (var propName in propTypes) {\n if (propTypes.hasOwnProperty(propName)) {\n var error = propTypes[propName](props, propName, tagName, ReactPropTypeLocations.prop, null, ReactPropTypesSecret);\n }\n if (error instanceof Error && !(error.message in loggedTypeFailures)) {\n // Only monitor this failure once because there tends to be a lot of the\n // same error.\n loggedTypeFailures[error.message] = true;\n\n var addendum = getDeclarationErrorAddendum(owner);\n process.env.NODE_ENV !== 'production' ? warning(false, 'Failed form propType: %s%s', error.message, addendum) : void 0;\n }\n }\n },\n\n /**\n * @param {object} inputProps Props for form component\n * @return {*} current value of the input either from value prop or link.\n */\n getValue: function (inputProps) {\n if (inputProps.valueLink) {\n _assertValueLink(inputProps);\n return inputProps.valueLink.value;\n }\n return inputProps.value;\n },\n\n /**\n * @param {object} inputProps Props for form component\n * @return {*} current checked status of the input either from checked prop\n * or link.\n */\n getChecked: function (inputProps) {\n if (inputProps.checkedLink) {\n _assertCheckedLink(inputProps);\n return inputProps.checkedLink.value;\n }\n return inputProps.checked;\n },\n\n /**\n * @param {object} inputProps Props for form component\n * @param {SyntheticEvent} event change event to handle\n */\n executeOnChange: function (inputProps, event) {\n if (inputProps.valueLink) {\n _assertValueLink(inputProps);\n return inputProps.valueLink.requestChange(event.target.value);\n } else if (inputProps.checkedLink) {\n _assertCheckedLink(inputProps);\n return inputProps.checkedLink.requestChange(event.target.checked);\n } else if (inputProps.onChange) {\n return inputProps.onChange.call(undefined, event);\n }\n }\n};\n\nmodule.exports = LinkedValueUtils;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react/lib/LinkedValueUtils.js\n ** module id = 142\n ** module chunks = 0\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule ReactComponent\n */\n\n'use strict';\n\nvar _prodInvariant = require('./reactProdInvariant');\n\nvar ReactNoopUpdateQueue = require('./ReactNoopUpdateQueue');\n\nvar canDefineProperty = require('./canDefineProperty');\nvar emptyObject = require('fbjs/lib/emptyObject');\nvar invariant = require('fbjs/lib/invariant');\nvar warning = require('fbjs/lib/warning');\n\n/**\n * Base class helpers for the updating state of a component.\n */\nfunction ReactComponent(props, context, updater) {\n this.props = props;\n this.context = context;\n this.refs = emptyObject;\n // We initialize the default updater but the real one gets injected by the\n // renderer.\n this.updater = updater || ReactNoopUpdateQueue;\n}\n\nReactComponent.prototype.isReactComponent = {};\n\n/**\n * Sets a subset of the state. Always use this to mutate\n * state. You should treat `this.state` as immutable.\n *\n * There is no guarantee that `this.state` will be immediately updated, so\n * accessing `this.state` after calling this method may return the old value.\n *\n * There is no guarantee that calls to `setState` will run synchronously,\n * as they may eventually be batched together. You can provide an optional\n * callback that will be executed when the call to setState is actually\n * completed.\n *\n * When a function is provided to setState, it will be called at some point in\n * the future (not synchronously). It will be called with the up to date\n * component arguments (state, props, context). These values can be different\n * from this.* because your function may be called after receiveProps but before\n * shouldComponentUpdate, and this new state, props, and context will not yet be\n * assigned to this.\n *\n * @param {object|function} partialState Next partial state or function to\n * produce next partial state to be merged with current state.\n * @param {?function} callback Called after state is updated.\n * @final\n * @protected\n */\nReactComponent.prototype.setState = function (partialState, callback) {\n !(typeof partialState === 'object' || typeof partialState === 'function' || partialState == null) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'setState(...): takes an object of state variables to update or a function which returns an object of state variables.') : _prodInvariant('85') : void 0;\n this.updater.enqueueSetState(this, partialState);\n if (callback) {\n this.updater.enqueueCallback(this, callback, 'setState');\n }\n};\n\n/**\n * Forces an update. This should only be invoked when it is known with\n * certainty that we are **not** in a DOM transaction.\n *\n * You may want to call this when you know that some deeper aspect of the\n * component's state has changed but `setState` was not called.\n *\n * This will not invoke `shouldComponentUpdate`, but it will invoke\n * `componentWillUpdate` and `componentDidUpdate`.\n *\n * @param {?function} callback Called after update is complete.\n * @final\n * @protected\n */\nReactComponent.prototype.forceUpdate = function (callback) {\n this.updater.enqueueForceUpdate(this);\n if (callback) {\n this.updater.enqueueCallback(this, callback, 'forceUpdate');\n }\n};\n\n/**\n * Deprecated APIs. These APIs used to exist on classic React classes but since\n * we would like to deprecate them, we're not going to move them over to this\n * modern base class. Instead, we define a getter that warns if it's accessed.\n */\nif (process.env.NODE_ENV !== 'production') {\n var deprecatedAPIs = {\n isMounted: ['isMounted', 'Instead, make sure to clean up subscriptions and pending requests in ' + 'componentWillUnmount to prevent memory leaks.'],\n replaceState: ['replaceState', 'Refactor your code to use setState instead (see ' + 'https://github.com/facebook/react/issues/3236).']\n };\n var defineDeprecationWarning = function (methodName, info) {\n if (canDefineProperty) {\n Object.defineProperty(ReactComponent.prototype, methodName, {\n get: function () {\n process.env.NODE_ENV !== 'production' ? warning(false, '%s(...) is deprecated in plain JavaScript React classes. %s', info[0], info[1]) : void 0;\n return undefined;\n }\n });\n }\n };\n for (var fnName in deprecatedAPIs) {\n if (deprecatedAPIs.hasOwnProperty(fnName)) {\n defineDeprecationWarning(fnName, deprecatedAPIs[fnName]);\n }\n }\n}\n\nmodule.exports = ReactComponent;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react/lib/ReactComponent.js\n ** module id = 143\n ** module chunks = 0\n **/","/**\n * Copyright 2014-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule ReactComponentEnvironment\n */\n\n'use strict';\n\nvar _prodInvariant = require('./reactProdInvariant');\n\nvar invariant = require('fbjs/lib/invariant');\n\nvar injected = false;\n\nvar ReactComponentEnvironment = {\n\n /**\n * Optionally injectable hook for swapping out mount images in the middle of\n * the tree.\n */\n replaceNodeWithMarkup: null,\n\n /**\n * Optionally injectable hook for processing a queue of child updates. Will\n * later move into MultiChildComponents.\n */\n processChildrenUpdates: null,\n\n injection: {\n injectEnvironment: function (environment) {\n !!injected ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactCompositeComponent: injectEnvironment() can only be called once.') : _prodInvariant('104') : void 0;\n ReactComponentEnvironment.replaceNodeWithMarkup = environment.replaceNodeWithMarkup;\n ReactComponentEnvironment.processChildrenUpdates = environment.processChildrenUpdates;\n injected = true;\n }\n }\n\n};\n\nmodule.exports = ReactComponentEnvironment;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react/lib/ReactComponentEnvironment.js\n ** module id = 144\n ** module chunks = 0\n **/","/**\n * Copyright 2016-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule ReactComponentTreeHook\n */\n\n'use strict';\n\nvar _prodInvariant = require('./reactProdInvariant');\n\nvar ReactCurrentOwner = require('./ReactCurrentOwner');\n\nvar invariant = require('fbjs/lib/invariant');\nvar warning = require('fbjs/lib/warning');\n\nfunction isNative(fn) {\n // Based on isNative() from Lodash\n var funcToString = Function.prototype.toString;\n var hasOwnProperty = Object.prototype.hasOwnProperty;\n var reIsNative = RegExp('^' + funcToString\n // Take an example native function source for comparison\n .call(hasOwnProperty)\n // Strip regex characters so we can use it for regex\n .replace(/[\\\\^$.*+?()[\\]{}|]/g, '\\\\$&')\n // Remove hasOwnProperty from the template to make it generic\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$');\n try {\n var source = funcToString.call(fn);\n return reIsNative.test(source);\n } catch (err) {\n return false;\n }\n}\n\nvar canUseCollections =\n// Array.from\ntypeof Array.from === 'function' &&\n// Map\ntypeof Map === 'function' && isNative(Map) &&\n// Map.prototype.keys\nMap.prototype != null && typeof Map.prototype.keys === 'function' && isNative(Map.prototype.keys) &&\n// Set\ntypeof Set === 'function' && isNative(Set) &&\n// Set.prototype.keys\nSet.prototype != null && typeof Set.prototype.keys === 'function' && isNative(Set.prototype.keys);\n\nvar itemMap;\nvar rootIDSet;\n\nvar itemByKey;\nvar rootByKey;\n\nif (canUseCollections) {\n itemMap = new Map();\n rootIDSet = new Set();\n} else {\n itemByKey = {};\n rootByKey = {};\n}\n\nvar unmountedIDs = [];\n\n// Use non-numeric keys to prevent V8 performance issues:\n// https://github.com/facebook/react/pull/7232\nfunction getKeyFromID(id) {\n return '.' + id;\n}\nfunction getIDFromKey(key) {\n return parseInt(key.substr(1), 10);\n}\n\nfunction get(id) {\n if (canUseCollections) {\n return itemMap.get(id);\n } else {\n var key = getKeyFromID(id);\n return itemByKey[key];\n }\n}\n\nfunction remove(id) {\n if (canUseCollections) {\n itemMap['delete'](id);\n } else {\n var key = getKeyFromID(id);\n delete itemByKey[key];\n }\n}\n\nfunction create(id, element, parentID) {\n var item = {\n element: element,\n parentID: parentID,\n text: null,\n childIDs: [],\n isMounted: false,\n updateCount: 0\n };\n\n if (canUseCollections) {\n itemMap.set(id, item);\n } else {\n var key = getKeyFromID(id);\n itemByKey[key] = item;\n }\n}\n\nfunction addRoot(id) {\n if (canUseCollections) {\n rootIDSet.add(id);\n } else {\n var key = getKeyFromID(id);\n rootByKey[key] = true;\n }\n}\n\nfunction removeRoot(id) {\n if (canUseCollections) {\n rootIDSet['delete'](id);\n } else {\n var key = getKeyFromID(id);\n delete rootByKey[key];\n }\n}\n\nfunction getRegisteredIDs() {\n if (canUseCollections) {\n return Array.from(itemMap.keys());\n } else {\n return Object.keys(itemByKey).map(getIDFromKey);\n }\n}\n\nfunction getRootIDs() {\n if (canUseCollections) {\n return Array.from(rootIDSet.keys());\n } else {\n return Object.keys(rootByKey).map(getIDFromKey);\n }\n}\n\nfunction purgeDeep(id) {\n var item = get(id);\n if (item) {\n var childIDs = item.childIDs;\n\n remove(id);\n childIDs.forEach(purgeDeep);\n }\n}\n\nfunction describeComponentFrame(name, source, ownerName) {\n return '\\n in ' + name + (source ? ' (at ' + source.fileName.replace(/^.*[\\\\\\/]/, '') + ':' + source.lineNumber + ')' : ownerName ? ' (created by ' + ownerName + ')' : '');\n}\n\nfunction getDisplayName(element) {\n if (element == null) {\n return '#empty';\n } else if (typeof element === 'string' || typeof element === 'number') {\n return '#text';\n } else if (typeof element.type === 'string') {\n return element.type;\n } else {\n return element.type.displayName || element.type.name || 'Unknown';\n }\n}\n\nfunction describeID(id) {\n var name = ReactComponentTreeHook.getDisplayName(id);\n var element = ReactComponentTreeHook.getElement(id);\n var ownerID = ReactComponentTreeHook.getOwnerID(id);\n var ownerName;\n if (ownerID) {\n ownerName = ReactComponentTreeHook.getDisplayName(ownerID);\n }\n process.env.NODE_ENV !== 'production' ? warning(element, 'ReactComponentTreeHook: Missing React element for debugID %s when ' + 'building stack', id) : void 0;\n return describeComponentFrame(name, element && element._source, ownerName);\n}\n\nvar ReactComponentTreeHook = {\n onSetChildren: function (id, nextChildIDs) {\n var item = get(id);\n item.childIDs = nextChildIDs;\n\n for (var i = 0; i < nextChildIDs.length; i++) {\n var nextChildID = nextChildIDs[i];\n var nextChild = get(nextChildID);\n !nextChild ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Expected hook events to fire for the child before its parent includes it in onSetChildren().') : _prodInvariant('140') : void 0;\n !(nextChild.childIDs != null || typeof nextChild.element !== 'object' || nextChild.element == null) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Expected onSetChildren() to fire for a container child before its parent includes it in onSetChildren().') : _prodInvariant('141') : void 0;\n !nextChild.isMounted ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Expected onMountComponent() to fire for the child before its parent includes it in onSetChildren().') : _prodInvariant('71') : void 0;\n if (nextChild.parentID == null) {\n nextChild.parentID = id;\n // TODO: This shouldn't be necessary but mounting a new root during in\n // componentWillMount currently causes not-yet-mounted components to\n // be purged from our tree data so their parent ID is missing.\n }\n !(nextChild.parentID === id) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Expected onBeforeMountComponent() parent and onSetChildren() to be consistent (%s has parents %s and %s).', nextChildID, nextChild.parentID, id) : _prodInvariant('142', nextChildID, nextChild.parentID, id) : void 0;\n }\n },\n onBeforeMountComponent: function (id, element, parentID) {\n create(id, element, parentID);\n },\n onBeforeUpdateComponent: function (id, element) {\n var item = get(id);\n if (!item || !item.isMounted) {\n // We may end up here as a result of setState() in componentWillUnmount().\n // In this case, ignore the element.\n return;\n }\n item.element = element;\n },\n onMountComponent: function (id) {\n var item = get(id);\n item.isMounted = true;\n var isRoot = item.parentID === 0;\n if (isRoot) {\n addRoot(id);\n }\n },\n onUpdateComponent: function (id) {\n var item = get(id);\n if (!item || !item.isMounted) {\n // We may end up here as a result of setState() in componentWillUnmount().\n // In this case, ignore the element.\n return;\n }\n item.updateCount++;\n },\n onUnmountComponent: function (id) {\n var item = get(id);\n if (item) {\n // We need to check if it exists.\n // `item` might not exist if it is inside an error boundary, and a sibling\n // error boundary child threw while mounting. Then this instance never\n // got a chance to mount, but it still gets an unmounting event during\n // the error boundary cleanup.\n item.isMounted = false;\n var isRoot = item.parentID === 0;\n if (isRoot) {\n removeRoot(id);\n }\n }\n unmountedIDs.push(id);\n },\n purgeUnmountedComponents: function () {\n if (ReactComponentTreeHook._preventPurging) {\n // Should only be used for testing.\n return;\n }\n\n for (var i = 0; i < unmountedIDs.length; i++) {\n var id = unmountedIDs[i];\n purgeDeep(id);\n }\n unmountedIDs.length = 0;\n },\n isMounted: function (id) {\n var item = get(id);\n return item ? item.isMounted : false;\n },\n getCurrentStackAddendum: function (topElement) {\n var info = '';\n if (topElement) {\n var type = topElement.type;\n var name = typeof type === 'function' ? type.displayName || type.name : type;\n var owner = topElement._owner;\n info += describeComponentFrame(name || 'Unknown', topElement._source, owner && owner.getName());\n }\n\n var currentOwner = ReactCurrentOwner.current;\n var id = currentOwner && currentOwner._debugID;\n\n info += ReactComponentTreeHook.getStackAddendumByID(id);\n return info;\n },\n getStackAddendumByID: function (id) {\n var info = '';\n while (id) {\n info += describeID(id);\n id = ReactComponentTreeHook.getParentID(id);\n }\n return info;\n },\n getChildIDs: function (id) {\n var item = get(id);\n return item ? item.childIDs : [];\n },\n getDisplayName: function (id) {\n var element = ReactComponentTreeHook.getElement(id);\n if (!element) {\n return null;\n }\n return getDisplayName(element);\n },\n getElement: function (id) {\n var item = get(id);\n return item ? item.element : null;\n },\n getOwnerID: function (id) {\n var element = ReactComponentTreeHook.getElement(id);\n if (!element || !element._owner) {\n return null;\n }\n return element._owner._debugID;\n },\n getParentID: function (id) {\n var item = get(id);\n return item ? item.parentID : null;\n },\n getSource: function (id) {\n var item = get(id);\n var element = item ? item.element : null;\n var source = element != null ? element._source : null;\n return source;\n },\n getText: function (id) {\n var element = ReactComponentTreeHook.getElement(id);\n if (typeof element === 'string') {\n return element;\n } else if (typeof element === 'number') {\n return '' + element;\n } else {\n return null;\n }\n },\n getUpdateCount: function (id) {\n var item = get(id);\n return item ? item.updateCount : 0;\n },\n\n\n getRegisteredIDs: getRegisteredIDs,\n\n getRootIDs: getRootIDs\n};\n\nmodule.exports = ReactComponentTreeHook;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react/lib/ReactComponentTreeHook.js\n ** module id = 145\n ** module chunks = 0\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule ReactErrorUtils\n */\n\n'use strict';\n\nvar caughtError = null;\n\n/**\n * Call a function while guarding against errors that happens within it.\n *\n * @param {?String} name of the guard to use for logging or debugging\n * @param {Function} func The function to invoke\n * @param {*} a First argument\n * @param {*} b Second argument\n */\nfunction invokeGuardedCallback(name, func, a, b) {\n try {\n return func(a, b);\n } catch (x) {\n if (caughtError === null) {\n caughtError = x;\n }\n return undefined;\n }\n}\n\nvar ReactErrorUtils = {\n invokeGuardedCallback: invokeGuardedCallback,\n\n /**\n * Invoked by ReactTestUtils.Simulate so that any errors thrown by the event\n * handler are sure to be rethrown by rethrowCaughtError.\n */\n invokeGuardedCallbackWithCatch: invokeGuardedCallback,\n\n /**\n * During execution of guarded functions we will capture the first error which\n * we will rethrow to be handled by the top level error handler.\n */\n rethrowCaughtError: function () {\n if (caughtError) {\n var error = caughtError;\n caughtError = null;\n throw error;\n }\n }\n};\n\nif (process.env.NODE_ENV !== 'production') {\n /**\n * To help development we can get better devtools integration by simulating a\n * real browser event.\n */\n if (typeof window !== 'undefined' && typeof window.dispatchEvent === 'function' && typeof document !== 'undefined' && typeof document.createEvent === 'function') {\n var fakeNode = document.createElement('react');\n ReactErrorUtils.invokeGuardedCallback = function (name, func, a, b) {\n var boundFunc = func.bind(null, a, b);\n var evtType = 'react-' + name;\n fakeNode.addEventListener(evtType, boundFunc, false);\n var evt = document.createEvent('Event');\n evt.initEvent(evtType, false, false);\n fakeNode.dispatchEvent(evt);\n fakeNode.removeEventListener(evtType, boundFunc, false);\n };\n }\n}\n\nmodule.exports = ReactErrorUtils;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react/lib/ReactErrorUtils.js\n ** module id = 146\n ** module chunks = 0\n **/","/**\n * Copyright 2015-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule ReactNoopUpdateQueue\n */\n\n'use strict';\n\nvar warning = require('fbjs/lib/warning');\n\nfunction warnNoop(publicInstance, callerName) {\n if (process.env.NODE_ENV !== 'production') {\n var constructor = publicInstance.constructor;\n process.env.NODE_ENV !== 'production' ? warning(false, '%s(...): Can only update a mounted or mounting component. ' + 'This usually means you called %s() on an unmounted component. ' + 'This is a no-op. Please check the code for the %s component.', callerName, callerName, constructor && (constructor.displayName || constructor.name) || 'ReactClass') : void 0;\n }\n}\n\n/**\n * This is the abstract API for an update queue.\n */\nvar ReactNoopUpdateQueue = {\n\n /**\n * Checks whether or not this composite component is mounted.\n * @param {ReactClass} publicInstance The instance we want to test.\n * @return {boolean} True if mounted, false otherwise.\n * @protected\n * @final\n */\n isMounted: function (publicInstance) {\n return false;\n },\n\n /**\n * Enqueue a callback that will be executed after all the pending updates\n * have processed.\n *\n * @param {ReactClass} publicInstance The instance to use as `this` context.\n * @param {?function} callback Called after state is updated.\n * @internal\n */\n enqueueCallback: function (publicInstance, callback) {},\n\n /**\n * Forces an update. This should only be invoked when it is known with\n * certainty that we are **not** in a DOM transaction.\n *\n * You may want to call this when you know that some deeper aspect of the\n * component's state has changed but `setState` was not called.\n *\n * This will not invoke `shouldComponentUpdate`, but it will invoke\n * `componentWillUpdate` and `componentDidUpdate`.\n *\n * @param {ReactClass} publicInstance The instance that should rerender.\n * @internal\n */\n enqueueForceUpdate: function (publicInstance) {\n warnNoop(publicInstance, 'forceUpdate');\n },\n\n /**\n * Replaces all of the state. Always use this or `setState` to mutate state.\n * You should treat `this.state` as immutable.\n *\n * There is no guarantee that `this.state` will be immediately updated, so\n * accessing `this.state` after calling this method may return the old value.\n *\n * @param {ReactClass} publicInstance The instance that should rerender.\n * @param {object} completeState Next state.\n * @internal\n */\n enqueueReplaceState: function (publicInstance, completeState) {\n warnNoop(publicInstance, 'replaceState');\n },\n\n /**\n * Sets a subset of the state. This only exists because _pendingState is\n * internal. This provides a merging strategy that is not available to deep\n * properties which is confusing. TODO: Expose pendingState or don't use it\n * during the merge.\n *\n * @param {ReactClass} publicInstance The instance that should rerender.\n * @param {object} partialState Next partial state to be merged with state.\n * @internal\n */\n enqueueSetState: function (publicInstance, partialState) {\n warnNoop(publicInstance, 'setState');\n }\n};\n\nmodule.exports = ReactNoopUpdateQueue;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react/lib/ReactNoopUpdateQueue.js\n ** module id = 147\n ** module chunks = 0\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule ReactPropTypeLocationNames\n */\n\n'use strict';\n\nvar ReactPropTypeLocationNames = {};\n\nif (process.env.NODE_ENV !== 'production') {\n ReactPropTypeLocationNames = {\n prop: 'prop',\n context: 'context',\n childContext: 'child context'\n };\n}\n\nmodule.exports = ReactPropTypeLocationNames;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react/lib/ReactPropTypeLocationNames.js\n ** module id = 148\n ** module chunks = 0\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule ReactPropTypeLocations\n */\n\n'use strict';\n\nvar keyMirror = require('fbjs/lib/keyMirror');\n\nvar ReactPropTypeLocations = keyMirror({\n prop: null,\n context: null,\n childContext: null\n});\n\nmodule.exports = ReactPropTypeLocations;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react/lib/ReactPropTypeLocations.js\n ** module id = 149\n ** module chunks = 0\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule ReactPropTypesSecret\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react/lib/ReactPropTypesSecret.js\n ** module id = 150\n ** module chunks = 0\n **/","/**\n * Copyright 2015-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule ReactUpdateQueue\n */\n\n'use strict';\n\nvar _prodInvariant = require('./reactProdInvariant');\n\nvar ReactCurrentOwner = require('./ReactCurrentOwner');\nvar ReactInstanceMap = require('./ReactInstanceMap');\nvar ReactInstrumentation = require('./ReactInstrumentation');\nvar ReactUpdates = require('./ReactUpdates');\n\nvar invariant = require('fbjs/lib/invariant');\nvar warning = require('fbjs/lib/warning');\n\nfunction enqueueUpdate(internalInstance) {\n ReactUpdates.enqueueUpdate(internalInstance);\n}\n\nfunction formatUnexpectedArgument(arg) {\n var type = typeof arg;\n if (type !== 'object') {\n return type;\n }\n var displayName = arg.constructor && arg.constructor.name || type;\n var keys = Object.keys(arg);\n if (keys.length > 0 && keys.length < 20) {\n return displayName + ' (keys: ' + keys.join(', ') + ')';\n }\n return displayName;\n}\n\nfunction getInternalInstanceReadyForUpdate(publicInstance, callerName) {\n var internalInstance = ReactInstanceMap.get(publicInstance);\n if (!internalInstance) {\n if (process.env.NODE_ENV !== 'production') {\n var ctor = publicInstance.constructor;\n // Only warn when we have a callerName. Otherwise we should be silent.\n // We're probably calling from enqueueCallback. We don't want to warn\n // there because we already warned for the corresponding lifecycle method.\n process.env.NODE_ENV !== 'production' ? warning(!callerName, '%s(...): Can only update a mounted or mounting component. ' + 'This usually means you called %s() on an unmounted component. ' + 'This is a no-op. Please check the code for the %s component.', callerName, callerName, ctor && (ctor.displayName || ctor.name) || 'ReactClass') : void 0;\n }\n return null;\n }\n\n if (process.env.NODE_ENV !== 'production') {\n process.env.NODE_ENV !== 'production' ? warning(ReactCurrentOwner.current == null, '%s(...): Cannot update during an existing state transition (such as ' + 'within `render` or another component\\'s constructor). Render methods ' + 'should be a pure function of props and state; constructor ' + 'side-effects are an anti-pattern, but can be moved to ' + '`componentWillMount`.', callerName) : void 0;\n }\n\n return internalInstance;\n}\n\n/**\n * ReactUpdateQueue allows for state updates to be scheduled into a later\n * reconciliation step.\n */\nvar ReactUpdateQueue = {\n\n /**\n * Checks whether or not this composite component is mounted.\n * @param {ReactClass} publicInstance The instance we want to test.\n * @return {boolean} True if mounted, false otherwise.\n * @protected\n * @final\n */\n isMounted: function (publicInstance) {\n if (process.env.NODE_ENV !== 'production') {\n var owner = ReactCurrentOwner.current;\n if (owner !== null) {\n process.env.NODE_ENV !== 'production' ? warning(owner._warnedAboutRefsInRender, '%s is accessing isMounted inside its render() function. ' + 'render() should be a pure function of props and state. It should ' + 'never access something that requires stale data from the previous ' + 'render, such as refs. Move this logic to componentDidMount and ' + 'componentDidUpdate instead.', owner.getName() || 'A component') : void 0;\n owner._warnedAboutRefsInRender = true;\n }\n }\n var internalInstance = ReactInstanceMap.get(publicInstance);\n if (internalInstance) {\n // During componentWillMount and render this will still be null but after\n // that will always render to something. At least for now. So we can use\n // this hack.\n return !!internalInstance._renderedComponent;\n } else {\n return false;\n }\n },\n\n /**\n * Enqueue a callback that will be executed after all the pending updates\n * have processed.\n *\n * @param {ReactClass} publicInstance The instance to use as `this` context.\n * @param {?function} callback Called after state is updated.\n * @param {string} callerName Name of the calling function in the public API.\n * @internal\n */\n enqueueCallback: function (publicInstance, callback, callerName) {\n ReactUpdateQueue.validateCallback(callback, callerName);\n var internalInstance = getInternalInstanceReadyForUpdate(publicInstance);\n\n // Previously we would throw an error if we didn't have an internal\n // instance. Since we want to make it a no-op instead, we mirror the same\n // behavior we have in other enqueue* methods.\n // We also need to ignore callbacks in componentWillMount. See\n // enqueueUpdates.\n if (!internalInstance) {\n return null;\n }\n\n if (internalInstance._pendingCallbacks) {\n internalInstance._pendingCallbacks.push(callback);\n } else {\n internalInstance._pendingCallbacks = [callback];\n }\n // TODO: The callback here is ignored when setState is called from\n // componentWillMount. Either fix it or disallow doing so completely in\n // favor of getInitialState. Alternatively, we can disallow\n // componentWillMount during server-side rendering.\n enqueueUpdate(internalInstance);\n },\n\n enqueueCallbackInternal: function (internalInstance, callback) {\n if (internalInstance._pendingCallbacks) {\n internalInstance._pendingCallbacks.push(callback);\n } else {\n internalInstance._pendingCallbacks = [callback];\n }\n enqueueUpdate(internalInstance);\n },\n\n /**\n * Forces an update. This should only be invoked when it is known with\n * certainty that we are **not** in a DOM transaction.\n *\n * You may want to call this when you know that some deeper aspect of the\n * component's state has changed but `setState` was not called.\n *\n * This will not invoke `shouldComponentUpdate`, but it will invoke\n * `componentWillUpdate` and `componentDidUpdate`.\n *\n * @param {ReactClass} publicInstance The instance that should rerender.\n * @internal\n */\n enqueueForceUpdate: function (publicInstance) {\n var internalInstance = getInternalInstanceReadyForUpdate(publicInstance, 'forceUpdate');\n\n if (!internalInstance) {\n return;\n }\n\n internalInstance._pendingForceUpdate = true;\n\n enqueueUpdate(internalInstance);\n },\n\n /**\n * Replaces all of the state. Always use this or `setState` to mutate state.\n * You should treat `this.state` as immutable.\n *\n * There is no guarantee that `this.state` will be immediately updated, so\n * accessing `this.state` after calling this method may return the old value.\n *\n * @param {ReactClass} publicInstance The instance that should rerender.\n * @param {object} completeState Next state.\n * @internal\n */\n enqueueReplaceState: function (publicInstance, completeState) {\n var internalInstance = getInternalInstanceReadyForUpdate(publicInstance, 'replaceState');\n\n if (!internalInstance) {\n return;\n }\n\n internalInstance._pendingStateQueue = [completeState];\n internalInstance._pendingReplaceState = true;\n\n enqueueUpdate(internalInstance);\n },\n\n /**\n * Sets a subset of the state. This only exists because _pendingState is\n * internal. This provides a merging strategy that is not available to deep\n * properties which is confusing. TODO: Expose pendingState or don't use it\n * during the merge.\n *\n * @param {ReactClass} publicInstance The instance that should rerender.\n * @param {object} partialState Next partial state to be merged with state.\n * @internal\n */\n enqueueSetState: function (publicInstance, partialState) {\n if (process.env.NODE_ENV !== 'production') {\n ReactInstrumentation.debugTool.onSetState();\n process.env.NODE_ENV !== 'production' ? warning(partialState != null, 'setState(...): You passed an undefined or null state object; ' + 'instead, use forceUpdate().') : void 0;\n }\n\n var internalInstance = getInternalInstanceReadyForUpdate(publicInstance, 'setState');\n\n if (!internalInstance) {\n return;\n }\n\n var queue = internalInstance._pendingStateQueue || (internalInstance._pendingStateQueue = []);\n queue.push(partialState);\n\n enqueueUpdate(internalInstance);\n },\n\n enqueueElementInternal: function (internalInstance, nextElement, nextContext) {\n internalInstance._pendingElement = nextElement;\n // TODO: introduce _pendingContext instead of setting it directly.\n internalInstance._context = nextContext;\n enqueueUpdate(internalInstance);\n },\n\n validateCallback: function (callback, callerName) {\n !(!callback || typeof callback === 'function') ? process.env.NODE_ENV !== 'production' ? invariant(false, '%s(...): Expected the last optional `callback` argument to be a function. Instead received: %s.', callerName, formatUnexpectedArgument(callback)) : _prodInvariant('122', callerName, formatUnexpectedArgument(callback)) : void 0;\n }\n\n};\n\nmodule.exports = ReactUpdateQueue;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react/lib/ReactUpdateQueue.js\n ** module id = 151\n ** module chunks = 0\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule createMicrosoftUnsafeLocalFunction\n */\n\n/* globals MSApp */\n\n'use strict';\n\n/**\n * Create a function which has 'unsafe' privileges (required by windows8 apps)\n */\n\nvar createMicrosoftUnsafeLocalFunction = function (func) {\n if (typeof MSApp !== 'undefined' && MSApp.execUnsafeLocalFunction) {\n return function (arg0, arg1, arg2, arg3) {\n MSApp.execUnsafeLocalFunction(function () {\n return func(arg0, arg1, arg2, arg3);\n });\n };\n } else {\n return func;\n }\n};\n\nmodule.exports = createMicrosoftUnsafeLocalFunction;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react/lib/createMicrosoftUnsafeLocalFunction.js\n ** module id = 152\n ** module chunks = 0\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule getEventCharCode\n */\n\n'use strict';\n\n/**\n * `charCode` represents the actual \"character code\" and is safe to use with\n * `String.fromCharCode`. As such, only keys that correspond to printable\n * characters produce a valid `charCode`, the only exception to this is Enter.\n * The Tab-key is considered non-printable and does not have a `charCode`,\n * presumably because it does not produce a tab-character in browsers.\n *\n * @param {object} nativeEvent Native browser event.\n * @return {number} Normalized `charCode` property.\n */\n\nfunction getEventCharCode(nativeEvent) {\n var charCode;\n var keyCode = nativeEvent.keyCode;\n\n if ('charCode' in nativeEvent) {\n charCode = nativeEvent.charCode;\n\n // FF does not set `charCode` for the Enter-key, check against `keyCode`.\n if (charCode === 0 && keyCode === 13) {\n charCode = 13;\n }\n } else {\n // IE8 does not implement `charCode`, but `keyCode` has the correct value.\n charCode = keyCode;\n }\n\n // Some non-printable keys are reported in `charCode`/`keyCode`, discard them.\n // Must not discard the (non-)printable Enter-key.\n if (charCode >= 32 || charCode === 13) {\n return charCode;\n }\n\n return 0;\n}\n\nmodule.exports = getEventCharCode;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react/lib/getEventCharCode.js\n ** module id = 153\n ** module chunks = 0\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule getEventModifierState\n */\n\n'use strict';\n\n/**\n * Translation from modifier key to the associated property in the event.\n * @see http://www.w3.org/TR/DOM-Level-3-Events/#keys-Modifiers\n */\n\nvar modifierKeyToProp = {\n 'Alt': 'altKey',\n 'Control': 'ctrlKey',\n 'Meta': 'metaKey',\n 'Shift': 'shiftKey'\n};\n\n// IE8 does not implement getModifierState so we simply map it to the only\n// modifier keys exposed by the event itself, does not support Lock-keys.\n// Currently, all major browsers except Chrome seems to support Lock-keys.\nfunction modifierStateGetter(keyArg) {\n var syntheticEvent = this;\n var nativeEvent = syntheticEvent.nativeEvent;\n if (nativeEvent.getModifierState) {\n return nativeEvent.getModifierState(keyArg);\n }\n var keyProp = modifierKeyToProp[keyArg];\n return keyProp ? !!nativeEvent[keyProp] : false;\n}\n\nfunction getEventModifierState(nativeEvent) {\n return modifierStateGetter;\n}\n\nmodule.exports = getEventModifierState;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react/lib/getEventModifierState.js\n ** module id = 154\n ** module chunks = 0\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule getEventTarget\n */\n\n'use strict';\n\n/**\n * Gets the target node from a native browser event by accounting for\n * inconsistencies in browser DOM APIs.\n *\n * @param {object} nativeEvent Native browser event.\n * @return {DOMEventTarget} Target node.\n */\n\nfunction getEventTarget(nativeEvent) {\n var target = nativeEvent.target || nativeEvent.srcElement || window;\n\n // Normalize SVG <use> element events #4963\n if (target.correspondingUseElement) {\n target = target.correspondingUseElement;\n }\n\n // Safari may fire events on text nodes (Node.TEXT_NODE is 3).\n // @see http://www.quirksmode.org/js/events_properties.html\n return target.nodeType === 3 ? target.parentNode : target;\n}\n\nmodule.exports = getEventTarget;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react/lib/getEventTarget.js\n ** module id = 155\n ** module chunks = 0\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule isEventSupported\n */\n\n'use strict';\n\nvar ExecutionEnvironment = require('fbjs/lib/ExecutionEnvironment');\n\nvar useHasFeature;\nif (ExecutionEnvironment.canUseDOM) {\n useHasFeature = document.implementation && document.implementation.hasFeature &&\n // always returns true in newer browsers as per the standard.\n // @see http://dom.spec.whatwg.org/#dom-domimplementation-hasfeature\n document.implementation.hasFeature('', '') !== true;\n}\n\n/**\n * Checks if an event is supported in the current execution environment.\n *\n * NOTE: This will not work correctly for non-generic events such as `change`,\n * `reset`, `load`, `error`, and `select`.\n *\n * Borrows from Modernizr.\n *\n * @param {string} eventNameSuffix Event name, e.g. \"click\".\n * @param {?boolean} capture Check if the capture phase is supported.\n * @return {boolean} True if the event is supported.\n * @internal\n * @license Modernizr 3.0.0pre (Custom Build) | MIT\n */\nfunction isEventSupported(eventNameSuffix, capture) {\n if (!ExecutionEnvironment.canUseDOM || capture && !('addEventListener' in document)) {\n return false;\n }\n\n var eventName = 'on' + eventNameSuffix;\n var isSupported = eventName in document;\n\n if (!isSupported) {\n var element = document.createElement('div');\n element.setAttribute(eventName, 'return;');\n isSupported = typeof element[eventName] === 'function';\n }\n\n if (!isSupported && useHasFeature && eventNameSuffix === 'wheel') {\n // This is the only way to test support for the `wheel` event in IE9+.\n isSupported = document.implementation.hasFeature('Events.wheel', '3.0');\n }\n\n return isSupported;\n}\n\nmodule.exports = isEventSupported;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react/lib/isEventSupported.js\n ** module id = 156\n ** module chunks = 0\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule shouldUpdateReactComponent\n */\n\n'use strict';\n\n/**\n * Given a `prevElement` and `nextElement`, determines if the existing\n * instance should be updated as opposed to being destroyed or replaced by a new\n * instance. Both arguments are elements. This ensures that this logic can\n * operate on stateless trees without any backing instance.\n *\n * @param {?object} prevElement\n * @param {?object} nextElement\n * @return {boolean} True if the existing instance should be updated.\n * @protected\n */\n\nfunction shouldUpdateReactComponent(prevElement, nextElement) {\n var prevEmpty = prevElement === null || prevElement === false;\n var nextEmpty = nextElement === null || nextElement === false;\n if (prevEmpty || nextEmpty) {\n return prevEmpty === nextEmpty;\n }\n\n var prevType = typeof prevElement;\n var nextType = typeof nextElement;\n if (prevType === 'string' || prevType === 'number') {\n return nextType === 'string' || nextType === 'number';\n } else {\n return nextType === 'object' && prevElement.type === nextElement.type && prevElement.key === nextElement.key;\n }\n}\n\nmodule.exports = shouldUpdateReactComponent;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react/lib/shouldUpdateReactComponent.js\n ** module id = 157\n ** module chunks = 0\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule traverseAllChildren\n */\n\n'use strict';\n\nvar _prodInvariant = require('./reactProdInvariant');\n\nvar ReactCurrentOwner = require('./ReactCurrentOwner');\nvar ReactElement = require('./ReactElement');\n\nvar getIteratorFn = require('./getIteratorFn');\nvar invariant = require('fbjs/lib/invariant');\nvar KeyEscapeUtils = require('./KeyEscapeUtils');\nvar warning = require('fbjs/lib/warning');\n\nvar SEPARATOR = '.';\nvar SUBSEPARATOR = ':';\n\n/**\n * TODO: Test that a single child and an array with one item have the same key\n * pattern.\n */\n\nvar didWarnAboutMaps = false;\n\n/**\n * Generate a key string that identifies a component within a set.\n *\n * @param {*} component A component that could contain a manual key.\n * @param {number} index Index that is used if a manual key is not provided.\n * @return {string}\n */\nfunction getComponentKey(component, index) {\n // Do some typechecking here since we call this blindly. We want to ensure\n // that we don't block potential future ES APIs.\n if (component && typeof component === 'object' && component.key != null) {\n // Explicit key\n return KeyEscapeUtils.escape(component.key);\n }\n // Implicit key determined by the index in the set\n return index.toString(36);\n}\n\n/**\n * @param {?*} children Children tree container.\n * @param {!string} nameSoFar Name of the key path so far.\n * @param {!function} callback Callback to invoke with each child found.\n * @param {?*} traverseContext Used to pass information throughout the traversal\n * process.\n * @return {!number} The number of children in this subtree.\n */\nfunction traverseAllChildrenImpl(children, nameSoFar, callback, traverseContext) {\n var type = typeof children;\n\n if (type === 'undefined' || type === 'boolean') {\n // All of the above are perceived as null.\n children = null;\n }\n\n if (children === null || type === 'string' || type === 'number' || ReactElement.isValidElement(children)) {\n callback(traverseContext, children,\n // If it's the only child, treat the name as if it was wrapped in an array\n // so that it's consistent if the number of children grows.\n nameSoFar === '' ? SEPARATOR + getComponentKey(children, 0) : nameSoFar);\n return 1;\n }\n\n var child;\n var nextName;\n var subtreeCount = 0; // Count of children found in the current subtree.\n var nextNamePrefix = nameSoFar === '' ? SEPARATOR : nameSoFar + SUBSEPARATOR;\n\n if (Array.isArray(children)) {\n for (var i = 0; i < children.length; i++) {\n child = children[i];\n nextName = nextNamePrefix + getComponentKey(child, i);\n subtreeCount += traverseAllChildrenImpl(child, nextName, callback, traverseContext);\n }\n } else {\n var iteratorFn = getIteratorFn(children);\n if (iteratorFn) {\n var iterator = iteratorFn.call(children);\n var step;\n if (iteratorFn !== children.entries) {\n var ii = 0;\n while (!(step = iterator.next()).done) {\n child = step.value;\n nextName = nextNamePrefix + getComponentKey(child, ii++);\n subtreeCount += traverseAllChildrenImpl(child, nextName, callback, traverseContext);\n }\n } else {\n if (process.env.NODE_ENV !== 'production') {\n var mapsAsChildrenAddendum = '';\n if (ReactCurrentOwner.current) {\n var mapsAsChildrenOwnerName = ReactCurrentOwner.current.getName();\n if (mapsAsChildrenOwnerName) {\n mapsAsChildrenAddendum = ' Check the render method of `' + mapsAsChildrenOwnerName + '`.';\n }\n }\n process.env.NODE_ENV !== 'production' ? warning(didWarnAboutMaps, 'Using Maps as children is not yet fully supported. It is an ' + 'experimental feature that might be removed. Convert it to a ' + 'sequence / iterable of keyed ReactElements instead.%s', mapsAsChildrenAddendum) : void 0;\n didWarnAboutMaps = true;\n }\n // Iterator will provide entry [k,v] tuples rather than values.\n while (!(step = iterator.next()).done) {\n var entry = step.value;\n if (entry) {\n child = entry[1];\n nextName = nextNamePrefix + KeyEscapeUtils.escape(entry[0]) + SUBSEPARATOR + getComponentKey(child, 0);\n subtreeCount += traverseAllChildrenImpl(child, nextName, callback, traverseContext);\n }\n }\n }\n } else if (type === 'object') {\n var addendum = '';\n if (process.env.NODE_ENV !== 'production') {\n addendum = ' If you meant to render a collection of children, use an array ' + 'instead or wrap the object using createFragment(object) from the ' + 'React add-ons.';\n if (children._isReactElement) {\n addendum = ' It looks like you\\'re using an element created by a different ' + 'version of React. Make sure to use only one copy of React.';\n }\n if (ReactCurrentOwner.current) {\n var name = ReactCurrentOwner.current.getName();\n if (name) {\n addendum += ' Check the render method of `' + name + '`.';\n }\n }\n }\n var childrenString = String(children);\n !false ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Objects are not valid as a React child (found: %s).%s', childrenString === '[object Object]' ? 'object with keys {' + Object.keys(children).join(', ') + '}' : childrenString, addendum) : _prodInvariant('31', childrenString === '[object Object]' ? 'object with keys {' + Object.keys(children).join(', ') + '}' : childrenString, addendum) : void 0;\n }\n }\n\n return subtreeCount;\n}\n\n/**\n * Traverses children that are typically specified as `props.children`, but\n * might also be specified through attributes:\n *\n * - `traverseAllChildren(this.props.children, ...)`\n * - `traverseAllChildren(this.props.leftPanelChildren, ...)`\n *\n * The `traverseContext` is an optional argument that is passed through the\n * entire traversal. It can be used to store accumulations or anything else that\n * the callback might find relevant.\n *\n * @param {?*} children Children tree object.\n * @param {!function} callback To invoke upon traversing each child.\n * @param {?*} traverseContext Context for traversal.\n * @return {!number} The number of children in this subtree.\n */\nfunction traverseAllChildren(children, callback, traverseContext) {\n if (children == null) {\n return 0;\n }\n\n return traverseAllChildrenImpl(children, '', callback, traverseContext);\n}\n\nmodule.exports = traverseAllChildren;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react/lib/traverseAllChildren.js\n ** module id = 158\n ** module chunks = 0\n **/","/**\n * Copyright 2015-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule validateDOMNesting\n */\n\n'use strict';\n\nvar _assign = require('object-assign');\n\nvar emptyFunction = require('fbjs/lib/emptyFunction');\nvar warning = require('fbjs/lib/warning');\n\nvar validateDOMNesting = emptyFunction;\n\nif (process.env.NODE_ENV !== 'production') {\n // This validation code was written based on the HTML5 parsing spec:\n // https://html.spec.whatwg.org/multipage/syntax.html#has-an-element-in-scope\n //\n // Note: this does not catch all invalid nesting, nor does it try to (as it's\n // not clear what practical benefit doing so provides); instead, we warn only\n // for cases where the parser will give a parse tree differing from what React\n // intended. For example, <b><div></div></b> is invalid but we don't warn\n // because it still parses correctly; we do warn for other cases like nested\n // <p> tags where the beginning of the second element implicitly closes the\n // first, causing a confusing mess.\n\n // https://html.spec.whatwg.org/multipage/syntax.html#special\n var specialTags = ['address', 'applet', 'area', 'article', 'aside', 'base', 'basefont', 'bgsound', 'blockquote', 'body', 'br', 'button', 'caption', 'center', 'col', 'colgroup', 'dd', 'details', 'dir', 'div', 'dl', 'dt', 'embed', 'fieldset', 'figcaption', 'figure', 'footer', 'form', 'frame', 'frameset', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'header', 'hgroup', 'hr', 'html', 'iframe', 'img', 'input', 'isindex', 'li', 'link', 'listing', 'main', 'marquee', 'menu', 'menuitem', 'meta', 'nav', 'noembed', 'noframes', 'noscript', 'object', 'ol', 'p', 'param', 'plaintext', 'pre', 'script', 'section', 'select', 'source', 'style', 'summary', 'table', 'tbody', 'td', 'template', 'textarea', 'tfoot', 'th', 'thead', 'title', 'tr', 'track', 'ul', 'wbr', 'xmp'];\n\n // https://html.spec.whatwg.org/multipage/syntax.html#has-an-element-in-scope\n var inScopeTags = ['applet', 'caption', 'html', 'table', 'td', 'th', 'marquee', 'object', 'template',\n\n // https://html.spec.whatwg.org/multipage/syntax.html#html-integration-point\n // TODO: Distinguish by namespace here -- for <title>, including it here\n // errs on the side of fewer warnings\n 'foreignObject', 'desc', 'title'];\n\n // https://html.spec.whatwg.org/multipage/syntax.html#has-an-element-in-button-scope\n var buttonScopeTags = inScopeTags.concat(['button']);\n\n // https://html.spec.whatwg.org/multipage/syntax.html#generate-implied-end-tags\n var impliedEndTags = ['dd', 'dt', 'li', 'option', 'optgroup', 'p', 'rp', 'rt'];\n\n var emptyAncestorInfo = {\n current: null,\n\n formTag: null,\n aTagInScope: null,\n buttonTagInScope: null,\n nobrTagInScope: null,\n pTagInButtonScope: null,\n\n listItemTagAutoclosing: null,\n dlItemTagAutoclosing: null\n };\n\n var updatedAncestorInfo = function (oldInfo, tag, instance) {\n var ancestorInfo = _assign({}, oldInfo || emptyAncestorInfo);\n var info = { tag: tag, instance: instance };\n\n if (inScopeTags.indexOf(tag) !== -1) {\n ancestorInfo.aTagInScope = null;\n ancestorInfo.buttonTagInScope = null;\n ancestorInfo.nobrTagInScope = null;\n }\n if (buttonScopeTags.indexOf(tag) !== -1) {\n ancestorInfo.pTagInButtonScope = null;\n }\n\n // See rules for 'li', 'dd', 'dt' start tags in\n // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-inbody\n if (specialTags.indexOf(tag) !== -1 && tag !== 'address' && tag !== 'div' && tag !== 'p') {\n ancestorInfo.listItemTagAutoclosing = null;\n ancestorInfo.dlItemTagAutoclosing = null;\n }\n\n ancestorInfo.current = info;\n\n if (tag === 'form') {\n ancestorInfo.formTag = info;\n }\n if (tag === 'a') {\n ancestorInfo.aTagInScope = info;\n }\n if (tag === 'button') {\n ancestorInfo.buttonTagInScope = info;\n }\n if (tag === 'nobr') {\n ancestorInfo.nobrTagInScope = info;\n }\n if (tag === 'p') {\n ancestorInfo.pTagInButtonScope = info;\n }\n if (tag === 'li') {\n ancestorInfo.listItemTagAutoclosing = info;\n }\n if (tag === 'dd' || tag === 'dt') {\n ancestorInfo.dlItemTagAutoclosing = info;\n }\n\n return ancestorInfo;\n };\n\n /**\n * Returns whether\n */\n var isTagValidWithParent = function (tag, parentTag) {\n // First, let's check if we're in an unusual parsing mode...\n switch (parentTag) {\n // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-inselect\n case 'select':\n return tag === 'option' || tag === 'optgroup' || tag === '#text';\n case 'optgroup':\n return tag === 'option' || tag === '#text';\n // Strictly speaking, seeing an <option> doesn't mean we're in a <select>\n // but\n case 'option':\n return tag === '#text';\n\n // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-intd\n // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-incaption\n // No special behavior since these rules fall back to \"in body\" mode for\n // all except special table nodes which cause bad parsing behavior anyway.\n\n // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-intr\n case 'tr':\n return tag === 'th' || tag === 'td' || tag === 'style' || tag === 'script' || tag === 'template';\n\n // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-intbody\n case 'tbody':\n case 'thead':\n case 'tfoot':\n return tag === 'tr' || tag === 'style' || tag === 'script' || tag === 'template';\n\n // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-incolgroup\n case 'colgroup':\n return tag === 'col' || tag === 'template';\n\n // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-intable\n case 'table':\n return tag === 'caption' || tag === 'colgroup' || tag === 'tbody' || tag === 'tfoot' || tag === 'thead' || tag === 'style' || tag === 'script' || tag === 'template';\n\n // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-inhead\n case 'head':\n return tag === 'base' || tag === 'basefont' || tag === 'bgsound' || tag === 'link' || tag === 'meta' || tag === 'title' || tag === 'noscript' || tag === 'noframes' || tag === 'style' || tag === 'script' || tag === 'template';\n\n // https://html.spec.whatwg.org/multipage/semantics.html#the-html-element\n case 'html':\n return tag === 'head' || tag === 'body';\n case '#document':\n return tag === 'html';\n }\n\n // Probably in the \"in body\" parsing mode, so we outlaw only tag combos\n // where the parsing rules cause implicit opens or closes to be added.\n // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-inbody\n switch (tag) {\n case 'h1':\n case 'h2':\n case 'h3':\n case 'h4':\n case 'h5':\n case 'h6':\n return parentTag !== 'h1' && parentTag !== 'h2' && parentTag !== 'h3' && parentTag !== 'h4' && parentTag !== 'h5' && parentTag !== 'h6';\n\n case 'rp':\n case 'rt':\n return impliedEndTags.indexOf(parentTag) === -1;\n\n case 'body':\n case 'caption':\n case 'col':\n case 'colgroup':\n case 'frame':\n case 'head':\n case 'html':\n case 'tbody':\n case 'td':\n case 'tfoot':\n case 'th':\n case 'thead':\n case 'tr':\n // These tags are only valid with a few parents that have special child\n // parsing rules -- if we're down here, then none of those matched and\n // so we allow it only if we don't know what the parent is, as all other\n // cases are invalid.\n return parentTag == null;\n }\n\n return true;\n };\n\n /**\n * Returns whether\n */\n var findInvalidAncestorForTag = function (tag, ancestorInfo) {\n switch (tag) {\n case 'address':\n case 'article':\n case 'aside':\n case 'blockquote':\n case 'center':\n case 'details':\n case 'dialog':\n case 'dir':\n case 'div':\n case 'dl':\n case 'fieldset':\n case 'figcaption':\n case 'figure':\n case 'footer':\n case 'header':\n case 'hgroup':\n case 'main':\n case 'menu':\n case 'nav':\n case 'ol':\n case 'p':\n case 'section':\n case 'summary':\n case 'ul':\n\n case 'pre':\n case 'listing':\n\n case 'table':\n\n case 'hr':\n\n case 'xmp':\n\n case 'h1':\n case 'h2':\n case 'h3':\n case 'h4':\n case 'h5':\n case 'h6':\n return ancestorInfo.pTagInButtonScope;\n\n case 'form':\n return ancestorInfo.formTag || ancestorInfo.pTagInButtonScope;\n\n case 'li':\n return ancestorInfo.listItemTagAutoclosing;\n\n case 'dd':\n case 'dt':\n return ancestorInfo.dlItemTagAutoclosing;\n\n case 'button':\n return ancestorInfo.buttonTagInScope;\n\n case 'a':\n // Spec says something about storing a list of markers, but it sounds\n // equivalent to this check.\n return ancestorInfo.aTagInScope;\n\n case 'nobr':\n return ancestorInfo.nobrTagInScope;\n }\n\n return null;\n };\n\n /**\n * Given a ReactCompositeComponent instance, return a list of its recursive\n * owners, starting at the root and ending with the instance itself.\n */\n var findOwnerStack = function (instance) {\n if (!instance) {\n return [];\n }\n\n var stack = [];\n do {\n stack.push(instance);\n } while (instance = instance._currentElement._owner);\n stack.reverse();\n return stack;\n };\n\n var didWarn = {};\n\n validateDOMNesting = function (childTag, childText, childInstance, ancestorInfo) {\n ancestorInfo = ancestorInfo || emptyAncestorInfo;\n var parentInfo = ancestorInfo.current;\n var parentTag = parentInfo && parentInfo.tag;\n\n if (childText != null) {\n process.env.NODE_ENV !== 'production' ? warning(childTag == null, 'validateDOMNesting: when childText is passed, childTag should be null') : void 0;\n childTag = '#text';\n }\n\n var invalidParent = isTagValidWithParent(childTag, parentTag) ? null : parentInfo;\n var invalidAncestor = invalidParent ? null : findInvalidAncestorForTag(childTag, ancestorInfo);\n var problematic = invalidParent || invalidAncestor;\n\n if (problematic) {\n var ancestorTag = problematic.tag;\n var ancestorInstance = problematic.instance;\n\n var childOwner = childInstance && childInstance._currentElement._owner;\n var ancestorOwner = ancestorInstance && ancestorInstance._currentElement._owner;\n\n var childOwners = findOwnerStack(childOwner);\n var ancestorOwners = findOwnerStack(ancestorOwner);\n\n var minStackLen = Math.min(childOwners.length, ancestorOwners.length);\n var i;\n\n var deepestCommon = -1;\n for (i = 0; i < minStackLen; i++) {\n if (childOwners[i] === ancestorOwners[i]) {\n deepestCommon = i;\n } else {\n break;\n }\n }\n\n var UNKNOWN = '(unknown)';\n var childOwnerNames = childOwners.slice(deepestCommon + 1).map(function (inst) {\n return inst.getName() || UNKNOWN;\n });\n var ancestorOwnerNames = ancestorOwners.slice(deepestCommon + 1).map(function (inst) {\n return inst.getName() || UNKNOWN;\n });\n var ownerInfo = [].concat(\n // If the parent and child instances have a common owner ancestor, start\n // with that -- otherwise we just start with the parent's owners.\n deepestCommon !== -1 ? childOwners[deepestCommon].getName() || UNKNOWN : [], ancestorOwnerNames, ancestorTag,\n // If we're warning about an invalid (non-parent) ancestry, add '...'\n invalidAncestor ? ['...'] : [], childOwnerNames, childTag).join(' > ');\n\n var warnKey = !!invalidParent + '|' + childTag + '|' + ancestorTag + '|' + ownerInfo;\n if (didWarn[warnKey]) {\n return;\n }\n didWarn[warnKey] = true;\n\n var tagDisplayName = childTag;\n var whitespaceInfo = '';\n if (childTag === '#text') {\n if (/\\S/.test(childText)) {\n tagDisplayName = 'Text nodes';\n } else {\n tagDisplayName = 'Whitespace text nodes';\n whitespaceInfo = ' Make sure you don\\'t have any extra whitespace between tags on ' + 'each line of your source code.';\n }\n } else {\n tagDisplayName = '<' + childTag + '>';\n }\n\n if (invalidParent) {\n var info = '';\n if (ancestorTag === 'table' && childTag === 'tr') {\n info += ' Add a <tbody> to your code to match the DOM tree generated by ' + 'the browser.';\n }\n process.env.NODE_ENV !== 'production' ? warning(false, 'validateDOMNesting(...): %s cannot appear as a child of <%s>.%s ' + 'See %s.%s', tagDisplayName, ancestorTag, whitespaceInfo, ownerInfo, info) : void 0;\n } else {\n process.env.NODE_ENV !== 'production' ? warning(false, 'validateDOMNesting(...): %s cannot appear as a descendant of ' + '<%s>. See %s.', tagDisplayName, ancestorTag, ownerInfo) : void 0;\n }\n }\n };\n\n validateDOMNesting.updatedAncestorInfo = updatedAncestorInfo;\n\n // For testing\n validateDOMNesting.isTagValidInContext = function (tag, ancestorInfo) {\n ancestorInfo = ancestorInfo || emptyAncestorInfo;\n var parentInfo = ancestorInfo.current;\n var parentTag = parentInfo && parentInfo.tag;\n return isTagValidWithParent(tag, parentTag) && !findInvalidAncestorForTag(tag, ancestorInfo);\n };\n}\n\nmodule.exports = validateDOMNesting;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react/lib/validateDOMNesting.js\n ** module id = 159\n ** module chunks = 0\n **/","import * as ActionTypes from '../constants/actionTypes';\nimport { getConfigurationUrl, putConfigurationUrl } from '../constants/api';\nimport { getParserErrorMessage } from '../constants/lang';\nimport { addNotification } from './notifications';\nimport { get, put } from '../utils/fetch';\nimport { toJSON } from '../utils/helpers';\n\nexport function fetchConfig() {\n return dispatch => {\n dispatch({ type: ActionTypes.FETCH_CONFIG_REQUEST});\n return get(\n getConfigurationUrl(),\n { type: ActionTypes.FETCH_CONFIG_SUCCESS, name: \"config\"},\n { type: ActionTypes.FETCH_CONFIG_FAILURE, name: \"error\"},\n dispatch\n );\n };\n}\n\nexport function putConfig(config) {\n return (dispatch) => {\n let json;\n try {\n json = toJSON(config);\n } catch (e) {\n return dispatch(addNotification(getParserErrorMessage(), e.message, 'error'));\n }\n return put(\n putConfigurationUrl(),\n JSON.stringify(json),\n { type: ActionTypes.PUT_CONFIG_SUCCESS, name: \"config\"},\n { type: ActionTypes.PUT_CONFIG_FAILURE, name: \"error\"},\n dispatch\n );\n };\n}\n\nexport function onEditorChange() {\n return {\n type: ActionTypes.CONFIG_EDITOR_CHANGED\n };\n}\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/actions/config.js\n **/","import {\n FETCH_COLLECTIONS_REQUEST,FETCH_COLLECTIONS_SUCCESS,FETCH_COLLECTIONS_FAILURE,\n FETCH_COLLECTION_REQUEST,FETCH_COLLECTION_SUCCESS,FETCH_COLLECTION_FAILURE,\n FETCH_DOCUMENT_REQUEST,FETCH_DOCUMENT_SUCCESS,FETCH_DOCUMENT_FAILURE,\n DELETE_DOCUMENT_SUCCESS,DELETE_DOCUMENT_FAILURE,\n PUT_DOCUMENT_SUCCESS,PUT_DOCUMENT_FAILURE\n} from '../constants/actionTypes';\n\nimport _ from 'underscore';\n\nexport default function collections(state = {\n collections: [],\n currentCollection: {},\n currentDocument: {},\n isFetching: false,\n updated: false\n}, action) {\n switch (action.type) {\n case FETCH_COLLECTIONS_REQUEST:\n case FETCH_COLLECTION_REQUEST:\n case FETCH_DOCUMENT_REQUEST:\n return Object.assign({}, state, {\n isFetching: true\n });\n case FETCH_COLLECTIONS_SUCCESS:\n return Object.assign({}, state, {\n collections: action.collections,\n isFetching: false\n });\n case FETCH_COLLECTION_SUCCESS:\n return Object.assign({}, state, {\n currentCollection: action.collection,\n isFetching: false\n });\n case FETCH_DOCUMENT_SUCCESS:\n return Object.assign({}, state, {\n currentDocument: action.doc,\n isFetching: false\n });\n case FETCH_COLLECTIONS_FAILURE:\n case FETCH_COLLECTION_FAILURE:\n case FETCH_DOCUMENT_FAILURE:\n return Object.assign({}, state, {\n isFetching: false\n });\n case PUT_DOCUMENT_SUCCESS:\n return Object.assign({}, state, {\n currentDocument: action.doc,\n updated: true\n });\n default:\n return Object.assign({}, state, {\n updated: false\n });\n }\n}\n\n// Selectors\nexport const filterByTitle = (list, input) => {\n if (!list) {\n return [];\n }\n if (input) {\n return list.filter(\n p => p.title.toLowerCase().indexOf(input.toLowerCase()) > -1\n );\n }\n return list;\n};\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/reducers/collections.js\n **/","import _ from 'underscore';\nimport {\n FETCH_DATAFILES_REQUEST, FETCH_DATAFILES_SUCCESS, FETCH_DATAFILES_FAILURE,\n FETCH_DATAFILE_REQUEST, FETCH_DATAFILE_SUCCESS, FETCH_DATAFILE_FAILURE,\n PUT_DATAFILE_REQUEST, PUT_DATAFILE_SUCCESS, PUT_DATAFILE_FAILURE,\n DELETE_DATAFILE_REQUEST, DELETE_DATAFILE_SUCCESS, DELETE_DATAFILE_FAILURE,\n DATAFILE_CHANGED\n} from '../constants/actionTypes';\n\nexport default function datafiles(state = {\n files: [],\n currentFile: {},\n isFetching: false,\n updated: false,\n datafileChanged: false\n}, action) {\n switch (action.type) {\n case FETCH_DATAFILES_REQUEST:\n case FETCH_DATAFILE_REQUEST:\n return Object.assign({}, state, {\n isFetching: true\n });\n case FETCH_DATAFILES_SUCCESS:\n return Object.assign({}, state, {\n files: action.files,\n isFetching: false,\n currentFile: {}\n });\n case FETCH_DATAFILES_FAILURE:\n return Object.assign({}, state, {\n isFetching: false,\n currentFile: {}\n });\n case FETCH_DATAFILE_SUCCESS:\n return Object.assign({}, state, {\n currentFile: action.file,\n isFetching: false\n });\n case FETCH_DATAFILE_FAILURE:\n return Object.assign({}, state, {\n currentFile: {},\n isFetching: false\n });\n case PUT_DATAFILE_SUCCESS:\n return Object.assign({}, state, {\n currentFile: action.file,\n updated: true,\n datafileChanged: false\n });\n case PUT_DATAFILE_FAILURE:\n return Object.assign({}, state, {\n datafileChanged: false\n });\n case DATAFILE_CHANGED:\n return Object.assign({}, state, {\n datafileChanged: true,\n updated: false\n });\n default:\n return Object.assign({}, state, {\n updated: false,\n datafileChanged: false\n });\n }\n}\n\n// Selectors\nexport const filterByFilename = (datafiles, input) => {\n if (input) {\n return _.filter(datafiles, file => {\n return file.path.toLowerCase().indexOf(input.toLowerCase()) > -1;\n });\n }\n return datafiles;\n};\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/reducers/datafiles.js\n **/","import _ from 'underscore';\nimport {\n FETCH_PAGES_REQUEST, FETCH_PAGES_SUCCESS, FETCH_PAGES_FAILURE,\n FETCH_PAGE_REQUEST, FETCH_PAGE_SUCCESS, FETCH_PAGE_FAILURE,\n DELETE_PAGE_SUCCESS, DELETE_PAGE_FAILURE, PUT_PAGE_SUCCESS,\n PUT_PAGE_FAILURE\n} from '../constants/actionTypes';\n\nexport default function pages(state = {\n pages: [],\n page: {},\n isFetching: false,\n updated: false\n}, action) {\n switch (action.type) {\n case FETCH_PAGES_REQUEST:\n case FETCH_PAGE_REQUEST:\n return Object.assign({}, state, {\n isFetching: true\n });\n case FETCH_PAGES_SUCCESS:\n return Object.assign({}, state, {\n pages: action.pages,\n isFetching: false,\n page: {}\n });\n case FETCH_PAGES_FAILURE:\n return Object.assign({}, state, {\n isFetching: false,\n page: {}\n });\n case FETCH_PAGE_SUCCESS:\n return Object.assign({}, state, {\n page: action.page,\n isFetching: false\n });\n case FETCH_PAGE_FAILURE:\n return Object.assign({}, state, {\n page: {},\n isFetching: false\n });\n case PUT_PAGE_SUCCESS:\n return Object.assign({}, state, {\n page: action.page,\n updated: true\n });\n default:\n return Object.assign({}, state, {\n updated: false\n });\n }\n}\n\n// Selectors\nexport const filterByFilename = (list, input) => {\n if (input) {\n return list.filter(\n p => p.name.toLowerCase().indexOf(input.toLowerCase()) > -1\n );\n }\n return list;\n};\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/reducers/pages.js\n **/","import _ from 'underscore';\nimport {\n FETCH_STATICFILES_REQUEST, FETCH_STATICFILES_SUCCESS, FETCH_STATICFILES_FAILURE,\n PUT_STATICFILE_REQUEST, PUT_STATICFILE_SUCCESS, PUT_STATICFILE_FAILURE,\n DELETE_STATICFILE_SUCCESS, DELETE_STATICFILE_FAILURE\n} from '../constants/actionTypes';\n\nexport default function staticfiles(state = {\n files: [],\n isFetching: false,\n uploading: false // TODO show loading gif\n}, action) {\n switch (action.type) {\n case FETCH_STATICFILES_REQUEST:\n return Object.assign({}, state, {\n isFetching: true\n });\n case FETCH_STATICFILES_SUCCESS:\n return Object.assign({}, state, {\n files: action.files,\n isFetching: false\n });\n case FETCH_STATICFILES_FAILURE:\n return Object.assign({}, state, {\n isFetching: false\n });\n case PUT_STATICFILE_REQUEST:\n return Object.assign({}, state, {\n uploading: true\n });\n case PUT_STATICFILE_SUCCESS:\n return Object.assign({}, state, {\n uploading: false\n });\n case PUT_STATICFILE_FAILURE:\n return Object.assign({}, state, {\n uploading: false\n });\n default:\n return state;\n }\n}\n\n// Selectors\nexport const filterByFilename = (staticfiles, input) => {\n if (input) {\n return staticfiles.filter(\n sf => sf.path.toLowerCase().indexOf(input.toLowerCase()) > -1\n );\n }\n return staticfiles;\n};\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/reducers/staticfiles.js\n **/","// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: http://codemirror.net/LICENSE\n\n// Utility function that allows modes to be combined. The mode given\n// as the base argument takes care of most of the normal mode\n// functionality, but a second (typically simple) mode is used, which\n// can override the style of text. Both modes get to parse all of the\n// text, but when both assign a non-null style to a piece of code, the\n// overlay wins, unless the combine argument was true and not overridden,\n// or state.overlay.combineTokens was true, in which case the styles are\n// combined.\n\n(function(mod) {\n if (typeof exports == \"object\" && typeof module == \"object\") // CommonJS\n mod(require(\"../../lib/codemirror\"));\n else if (typeof define == \"function\" && define.amd) // AMD\n define([\"../../lib/codemirror\"], mod);\n else // Plain browser env\n mod(CodeMirror);\n})(function(CodeMirror) {\n\"use strict\";\n\nCodeMirror.overlayMode = function(base, overlay, combine) {\n return {\n startState: function() {\n return {\n base: CodeMirror.startState(base),\n overlay: CodeMirror.startState(overlay),\n basePos: 0, baseCur: null,\n overlayPos: 0, overlayCur: null,\n streamSeen: null\n };\n },\n copyState: function(state) {\n return {\n base: CodeMirror.copyState(base, state.base),\n overlay: CodeMirror.copyState(overlay, state.overlay),\n basePos: state.basePos, baseCur: null,\n overlayPos: state.overlayPos, overlayCur: null\n };\n },\n\n token: function(stream, state) {\n if (stream != state.streamSeen ||\n Math.min(state.basePos, state.overlayPos) < stream.start) {\n state.streamSeen = stream;\n state.basePos = state.overlayPos = stream.start;\n }\n\n if (stream.start == state.basePos) {\n state.baseCur = base.token(stream, state.base);\n state.basePos = stream.pos;\n }\n if (stream.start == state.overlayPos) {\n stream.pos = stream.start;\n state.overlayCur = overlay.token(stream, state.overlay);\n state.overlayPos = stream.pos;\n }\n stream.pos = Math.min(state.basePos, state.overlayPos);\n\n // state.overlay.combineTokens always takes precedence over combine,\n // unless set to null\n if (state.overlayCur == null) return state.baseCur;\n else if (state.baseCur != null &&\n state.overlay.combineTokens ||\n combine && state.overlay.combineTokens == null)\n return state.baseCur + \" \" + state.overlayCur;\n else return state.overlayCur;\n },\n\n indent: base.indent && function(state, textAfter) {\n return base.indent(state.base, textAfter);\n },\n electricChars: base.electricChars,\n\n innerMode: function(state) { return {state: state.base, mode: base}; },\n\n blankLine: function(state) {\n var baseToken, overlayToken;\n if (base.blankLine) baseToken = base.blankLine(state.base);\n if (overlay.blankLine) overlayToken = overlay.blankLine(state.overlay);\n\n return overlayToken == null ?\n baseToken :\n (combine && baseToken != null ? baseToken + \" \" + overlayToken : overlayToken);\n }\n };\n};\n\n});\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/codemirror/addon/mode/overlay.js\n ** module id = 165\n ** module chunks = 0\n **/","// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: http://codemirror.net/LICENSE\n\n(function(mod) {\n if (typeof exports == \"object\" && typeof module == \"object\") // CommonJS\n mod(require(\"../../lib/codemirror\"), require(\"../xml/xml\"), require(\"../meta\"));\n else if (typeof define == \"function\" && define.amd) // AMD\n define([\"../../lib/codemirror\", \"../xml/xml\", \"../meta\"], mod);\n else // Plain browser env\n mod(CodeMirror);\n})(function(CodeMirror) {\n\"use strict\";\n\nCodeMirror.defineMode(\"markdown\", function(cmCfg, modeCfg) {\n\n var htmlMode = CodeMirror.getMode(cmCfg, \"text/html\");\n var htmlModeMissing = htmlMode.name == \"null\"\n\n function getMode(name) {\n if (CodeMirror.findModeByName) {\n var found = CodeMirror.findModeByName(name);\n if (found) name = found.mime || found.mimes[0];\n }\n var mode = CodeMirror.getMode(cmCfg, name);\n return mode.name == \"null\" ? null : mode;\n }\n\n // Should characters that affect highlighting be highlighted separate?\n // Does not include characters that will be output (such as `1.` and `-` for lists)\n if (modeCfg.highlightFormatting === undefined)\n modeCfg.highlightFormatting = false;\n\n // Maximum number of nested blockquotes. Set to 0 for infinite nesting.\n // Excess `>` will emit `error` token.\n if (modeCfg.maxBlockquoteDepth === undefined)\n modeCfg.maxBlockquoteDepth = 0;\n\n // Should underscores in words open/close em/strong?\n if (modeCfg.underscoresBreakWords === undefined)\n modeCfg.underscoresBreakWords = true;\n\n // Use `fencedCodeBlocks` to configure fenced code blocks. false to\n // disable, string to specify a precise regexp that the fence should\n // match, and true to allow three or more backticks or tildes (as\n // per CommonMark).\n\n // Turn on task lists? (\"- [ ] \" and \"- [x] \")\n if (modeCfg.taskLists === undefined) modeCfg.taskLists = false;\n\n // Turn on strikethrough syntax\n if (modeCfg.strikethrough === undefined)\n modeCfg.strikethrough = false;\n\n // Allow token types to be overridden by user-provided token types.\n if (modeCfg.tokenTypeOverrides === undefined)\n modeCfg.tokenTypeOverrides = {};\n\n var tokenTypes = {\n header: \"header\",\n code: \"comment\",\n quote: \"quote\",\n list1: \"variable-2\",\n list2: \"variable-3\",\n list3: \"keyword\",\n hr: \"hr\",\n image: \"image\",\n imageAltText: \"image-alt-text\",\n imageMarker: \"image-marker\",\n formatting: \"formatting\",\n linkInline: \"link\",\n linkEmail: \"link\",\n linkText: \"link\",\n linkHref: \"string\",\n em: \"em\",\n strong: \"strong\",\n strikethrough: \"strikethrough\"\n };\n\n for (var tokenType in tokenTypes) {\n if (tokenTypes.hasOwnProperty(tokenType) && modeCfg.tokenTypeOverrides[tokenType]) {\n tokenTypes[tokenType] = modeCfg.tokenTypeOverrides[tokenType];\n }\n }\n\n var hrRE = /^([*\\-_])(?:\\s*\\1){2,}\\s*$/\n , listRE = /^(?:[*\\-+]|^[0-9]+([.)]))\\s+/\n , taskListRE = /^\\[(x| )\\](?=\\s)/ // Must follow listRE\n , atxHeaderRE = modeCfg.allowAtxHeaderWithoutSpace ? /^(#+)/ : /^(#+)(?: |$)/\n , setextHeaderRE = /^ *(?:\\={1,}|-{1,})\\s*$/\n , textRE = /^[^#!\\[\\]*_\\\\<>` \"'(~]+/\n , fencedCodeRE = new RegExp(\"^(\" + (modeCfg.fencedCodeBlocks === true ? \"~~~+|```+\" : modeCfg.fencedCodeBlocks) +\n \")[ \\\\t]*([\\\\w+#\\-]*)\");\n\n function switchInline(stream, state, f) {\n state.f = state.inline = f;\n return f(stream, state);\n }\n\n function switchBlock(stream, state, f) {\n state.f = state.block = f;\n return f(stream, state);\n }\n\n function lineIsEmpty(line) {\n return !line || !/\\S/.test(line.string)\n }\n\n // Blocks\n\n function blankLine(state) {\n // Reset linkTitle state\n state.linkTitle = false;\n // Reset EM state\n state.em = false;\n // Reset STRONG state\n state.strong = false;\n // Reset strikethrough state\n state.strikethrough = false;\n // Reset state.quote\n state.quote = 0;\n // Reset state.indentedCode\n state.indentedCode = false;\n if (htmlModeMissing && state.f == htmlBlock) {\n state.f = inlineNormal;\n state.block = blockNormal;\n }\n // Reset state.trailingSpace\n state.trailingSpace = 0;\n state.trailingSpaceNewLine = false;\n // Mark this line as blank\n state.prevLine = state.thisLine\n state.thisLine = null\n return null;\n }\n\n function blockNormal(stream, state) {\n\n var sol = stream.sol();\n\n var prevLineIsList = state.list !== false,\n prevLineIsIndentedCode = state.indentedCode;\n\n state.indentedCode = false;\n\n if (prevLineIsList) {\n if (state.indentationDiff >= 0) { // Continued list\n if (state.indentationDiff < 4) { // Only adjust indentation if *not* a code block\n state.indentation -= state.indentationDiff;\n }\n state.list = null;\n } else if (state.indentation > 0) {\n state.list = null;\n } else { // No longer a list\n state.list = false;\n }\n }\n\n var match = null;\n if (state.indentationDiff >= 4) {\n stream.skipToEnd();\n if (prevLineIsIndentedCode || lineIsEmpty(state.prevLine)) {\n state.indentation -= 4;\n state.indentedCode = true;\n return tokenTypes.code;\n } else {\n return null;\n }\n } else if (stream.eatSpace()) {\n return null;\n } else if ((match = stream.match(atxHeaderRE)) && match[1].length <= 6) {\n state.header = match[1].length;\n if (modeCfg.highlightFormatting) state.formatting = \"header\";\n state.f = state.inline;\n return getType(state);\n } else if (!lineIsEmpty(state.prevLine) && !state.quote && !prevLineIsList &&\n !prevLineIsIndentedCode && (match = stream.match(setextHeaderRE))) {\n state.header = match[0].charAt(0) == '=' ? 1 : 2;\n if (modeCfg.highlightFormatting) state.formatting = \"header\";\n state.f = state.inline;\n return getType(state);\n } else if (stream.eat('>')) {\n state.quote = sol ? 1 : state.quote + 1;\n if (modeCfg.highlightFormatting) state.formatting = \"quote\";\n stream.eatSpace();\n return getType(state);\n } else if (stream.peek() === '[') {\n return switchInline(stream, state, footnoteLink);\n } else if (stream.match(hrRE, true)) {\n state.hr = true;\n return tokenTypes.hr;\n } else if (match = stream.match(listRE)) {\n var listType = match[1] ? \"ol\" : \"ul\";\n state.indentation = stream.column() + stream.current().length;\n state.list = true;\n\n // While this list item's marker's indentation\n // is less than the deepest list item's content's indentation,\n // pop the deepest list item indentation off the stack.\n while (state.listStack && stream.column() < state.listStack[state.listStack.length - 1]) {\n state.listStack.pop();\n }\n\n // Add this list item's content's indentation to the stack\n state.listStack.push(state.indentation);\n\n if (modeCfg.taskLists && stream.match(taskListRE, false)) {\n state.taskList = true;\n }\n state.f = state.inline;\n if (modeCfg.highlightFormatting) state.formatting = [\"list\", \"list-\" + listType];\n return getType(state);\n } else if (modeCfg.fencedCodeBlocks && (match = stream.match(fencedCodeRE, true))) {\n state.fencedChars = match[1]\n // try switching mode\n state.localMode = getMode(match[2]);\n if (state.localMode) state.localState = CodeMirror.startState(state.localMode);\n state.f = state.block = local;\n if (modeCfg.highlightFormatting) state.formatting = \"code-block\";\n state.code = -1\n return getType(state);\n }\n\n return switchInline(stream, state, state.inline);\n }\n\n function htmlBlock(stream, state) {\n var style = htmlMode.token(stream, state.htmlState);\n if (!htmlModeMissing) {\n var inner = CodeMirror.innerMode(htmlMode, state.htmlState)\n if ((inner.mode.name == \"xml\" && inner.state.tagStart === null &&\n (!inner.state.context && inner.state.tokenize.isInText)) ||\n (state.md_inside && stream.current().indexOf(\">\") > -1)) {\n state.f = inlineNormal;\n state.block = blockNormal;\n state.htmlState = null;\n }\n }\n return style;\n }\n\n function local(stream, state) {\n if (state.fencedChars && stream.match(state.fencedChars, false)) {\n state.localMode = state.localState = null;\n state.f = state.block = leavingLocal;\n return null;\n } else if (state.localMode) {\n return state.localMode.token(stream, state.localState);\n } else {\n stream.skipToEnd();\n return tokenTypes.code;\n }\n }\n\n function leavingLocal(stream, state) {\n stream.match(state.fencedChars);\n state.block = blockNormal;\n state.f = inlineNormal;\n state.fencedChars = null;\n if (modeCfg.highlightFormatting) state.formatting = \"code-block\";\n state.code = 1\n var returnType = getType(state);\n state.code = 0\n return returnType;\n }\n\n // Inline\n function getType(state) {\n var styles = [];\n\n if (state.formatting) {\n styles.push(tokenTypes.formatting);\n\n if (typeof state.formatting === \"string\") state.formatting = [state.formatting];\n\n for (var i = 0; i < state.formatting.length; i++) {\n styles.push(tokenTypes.formatting + \"-\" + state.formatting[i]);\n\n if (state.formatting[i] === \"header\") {\n styles.push(tokenTypes.formatting + \"-\" + state.formatting[i] + \"-\" + state.header);\n }\n\n // Add `formatting-quote` and `formatting-quote-#` for blockquotes\n // Add `error` instead if the maximum blockquote nesting depth is passed\n if (state.formatting[i] === \"quote\") {\n if (!modeCfg.maxBlockquoteDepth || modeCfg.maxBlockquoteDepth >= state.quote) {\n styles.push(tokenTypes.formatting + \"-\" + state.formatting[i] + \"-\" + state.quote);\n } else {\n styles.push(\"error\");\n }\n }\n }\n }\n\n if (state.taskOpen) {\n styles.push(\"meta\");\n return styles.length ? styles.join(' ') : null;\n }\n if (state.taskClosed) {\n styles.push(\"property\");\n return styles.length ? styles.join(' ') : null;\n }\n\n if (state.linkHref) {\n styles.push(tokenTypes.linkHref, \"url\");\n } else { // Only apply inline styles to non-url text\n if (state.strong) { styles.push(tokenTypes.strong); }\n if (state.em) { styles.push(tokenTypes.em); }\n if (state.strikethrough) { styles.push(tokenTypes.strikethrough); }\n if (state.linkText) { styles.push(tokenTypes.linkText); }\n if (state.code) { styles.push(tokenTypes.code); }\n if (state.image) { styles.push(tokenTypes.image); }\n if (state.imageAltText) { styles.push(tokenTypes.imageAltText, \"link\"); }\n if (state.imageMarker) { styles.push(tokenTypes.imageMarker); }\n }\n\n if (state.header) { styles.push(tokenTypes.header, tokenTypes.header + \"-\" + state.header); }\n\n if (state.quote) {\n styles.push(tokenTypes.quote);\n\n // Add `quote-#` where the maximum for `#` is modeCfg.maxBlockquoteDepth\n if (!modeCfg.maxBlockquoteDepth || modeCfg.maxBlockquoteDepth >= state.quote) {\n styles.push(tokenTypes.quote + \"-\" + state.quote);\n } else {\n styles.push(tokenTypes.quote + \"-\" + modeCfg.maxBlockquoteDepth);\n }\n }\n\n if (state.list !== false) {\n var listMod = (state.listStack.length - 1) % 3;\n if (!listMod) {\n styles.push(tokenTypes.list1);\n } else if (listMod === 1) {\n styles.push(tokenTypes.list2);\n } else {\n styles.push(tokenTypes.list3);\n }\n }\n\n if (state.trailingSpaceNewLine) {\n styles.push(\"trailing-space-new-line\");\n } else if (state.trailingSpace) {\n styles.push(\"trailing-space-\" + (state.trailingSpace % 2 ? \"a\" : \"b\"));\n }\n\n return styles.length ? styles.join(' ') : null;\n }\n\n function handleText(stream, state) {\n if (stream.match(textRE, true)) {\n return getType(state);\n }\n return undefined;\n }\n\n function inlineNormal(stream, state) {\n var style = state.text(stream, state);\n if (typeof style !== 'undefined')\n return style;\n\n if (state.list) { // List marker (*, +, -, 1., etc)\n state.list = null;\n return getType(state);\n }\n\n if (state.taskList) {\n var taskOpen = stream.match(taskListRE, true)[1] !== \"x\";\n if (taskOpen) state.taskOpen = true;\n else state.taskClosed = true;\n if (modeCfg.highlightFormatting) state.formatting = \"task\";\n state.taskList = false;\n return getType(state);\n }\n\n state.taskOpen = false;\n state.taskClosed = false;\n\n if (state.header && stream.match(/^#+$/, true)) {\n if (modeCfg.highlightFormatting) state.formatting = \"header\";\n return getType(state);\n }\n\n // Get sol() value now, before character is consumed\n var sol = stream.sol();\n\n var ch = stream.next();\n\n // Matches link titles present on next line\n if (state.linkTitle) {\n state.linkTitle = false;\n var matchCh = ch;\n if (ch === '(') {\n matchCh = ')';\n }\n matchCh = (matchCh+'').replace(/([.?*+^$[\\]\\\\(){}|-])/g, \"\\\\$1\");\n var regex = '^\\\\s*(?:[^' + matchCh + '\\\\\\\\]+|\\\\\\\\\\\\\\\\|\\\\\\\\.)' + matchCh;\n if (stream.match(new RegExp(regex), true)) {\n return tokenTypes.linkHref;\n }\n }\n\n // If this block is changed, it may need to be updated in GFM mode\n if (ch === '`') {\n var previousFormatting = state.formatting;\n if (modeCfg.highlightFormatting) state.formatting = \"code\";\n stream.eatWhile('`');\n var count = stream.current().length\n if (state.code == 0) {\n state.code = count\n return getType(state)\n } else if (count == state.code) { // Must be exact\n var t = getType(state)\n state.code = 0\n return t\n } else {\n state.formatting = previousFormatting\n return getType(state)\n }\n } else if (state.code) {\n return getType(state);\n }\n\n if (ch === '\\\\') {\n stream.next();\n if (modeCfg.highlightFormatting) {\n var type = getType(state);\n var formattingEscape = tokenTypes.formatting + \"-escape\";\n return type ? type + \" \" + formattingEscape : formattingEscape;\n }\n }\n\n if (ch === '!' && stream.match(/\\[[^\\]]*\\] ?(?:\\(|\\[)/, false)) {\n state.imageMarker = true;\n state.image = true;\n if (modeCfg.highlightFormatting) state.formatting = \"image\";\n return getType(state);\n }\n\n if (ch === '[' && state.imageMarker && stream.match(/[^\\]]*\\](\\(.*?\\)| ?\\[.*?\\])/, false)) {\n state.imageMarker = false;\n state.imageAltText = true\n if (modeCfg.highlightFormatting) state.formatting = \"image\";\n return getType(state);\n }\n\n if (ch === ']' && state.imageAltText) {\n if (modeCfg.highlightFormatting) state.formatting = \"image\";\n var type = getType(state);\n state.imageAltText = false;\n state.image = false;\n state.inline = state.f = linkHref;\n return type;\n }\n\n if (ch === '[' && stream.match(/[^\\]]*\\](\\(.*\\)| ?\\[.*?\\])/, false) && !state.image) {\n state.linkText = true;\n if (modeCfg.highlightFormatting) state.formatting = \"link\";\n return getType(state);\n }\n\n if (ch === ']' && state.linkText && stream.match(/\\(.*?\\)| ?\\[.*?\\]/, false)) {\n if (modeCfg.highlightFormatting) state.formatting = \"link\";\n var type = getType(state);\n state.linkText = false;\n state.inline = state.f = linkHref;\n return type;\n }\n\n if (ch === '<' && stream.match(/^(https?|ftps?):\\/\\/(?:[^\\\\>]|\\\\.)+>/, false)) {\n state.f = state.inline = linkInline;\n if (modeCfg.highlightFormatting) state.formatting = \"link\";\n var type = getType(state);\n if (type){\n type += \" \";\n } else {\n type = \"\";\n }\n return type + tokenTypes.linkInline;\n }\n\n if (ch === '<' && stream.match(/^[^> \\\\]+@(?:[^\\\\>]|\\\\.)+>/, false)) {\n state.f = state.inline = linkInline;\n if (modeCfg.highlightFormatting) state.formatting = \"link\";\n var type = getType(state);\n if (type){\n type += \" \";\n } else {\n type = \"\";\n }\n return type + tokenTypes.linkEmail;\n }\n\n if (ch === '<' && stream.match(/^(!--|\\w)/, false)) {\n var end = stream.string.indexOf(\">\", stream.pos);\n if (end != -1) {\n var atts = stream.string.substring(stream.start, end);\n if (/markdown\\s*=\\s*('|\"){0,1}1('|\"){0,1}/.test(atts)) state.md_inside = true;\n }\n stream.backUp(1);\n state.htmlState = CodeMirror.startState(htmlMode);\n return switchBlock(stream, state, htmlBlock);\n }\n\n if (ch === '<' && stream.match(/^\\/\\w*?>/)) {\n state.md_inside = false;\n return \"tag\";\n }\n\n var ignoreUnderscore = false;\n if (!modeCfg.underscoresBreakWords) {\n if (ch === '_' && stream.peek() !== '_' && stream.match(/(\\w)/, false)) {\n var prevPos = stream.pos - 2;\n if (prevPos >= 0) {\n var prevCh = stream.string.charAt(prevPos);\n if (prevCh !== '_' && prevCh.match(/(\\w)/, false)) {\n ignoreUnderscore = true;\n }\n }\n }\n }\n if (ch === '*' || (ch === '_' && !ignoreUnderscore)) {\n if (sol && stream.peek() === ' ') {\n // Do nothing, surrounded by newline and space\n } else if (state.strong === ch && stream.eat(ch)) { // Remove STRONG\n if (modeCfg.highlightFormatting) state.formatting = \"strong\";\n var t = getType(state);\n state.strong = false;\n return t;\n } else if (!state.strong && stream.eat(ch)) { // Add STRONG\n state.strong = ch;\n if (modeCfg.highlightFormatting) state.formatting = \"strong\";\n return getType(state);\n } else if (state.em === ch) { // Remove EM\n if (modeCfg.highlightFormatting) state.formatting = \"em\";\n var t = getType(state);\n state.em = false;\n return t;\n } else if (!state.em) { // Add EM\n state.em = ch;\n if (modeCfg.highlightFormatting) state.formatting = \"em\";\n return getType(state);\n }\n } else if (ch === ' ') {\n if (stream.eat('*') || stream.eat('_')) { // Probably surrounded by spaces\n if (stream.peek() === ' ') { // Surrounded by spaces, ignore\n return getType(state);\n } else { // Not surrounded by spaces, back up pointer\n stream.backUp(1);\n }\n }\n }\n\n if (modeCfg.strikethrough) {\n if (ch === '~' && stream.eatWhile(ch)) {\n if (state.strikethrough) {// Remove strikethrough\n if (modeCfg.highlightFormatting) state.formatting = \"strikethrough\";\n var t = getType(state);\n state.strikethrough = false;\n return t;\n } else if (stream.match(/^[^\\s]/, false)) {// Add strikethrough\n state.strikethrough = true;\n if (modeCfg.highlightFormatting) state.formatting = \"strikethrough\";\n return getType(state);\n }\n } else if (ch === ' ') {\n if (stream.match(/^~~/, true)) { // Probably surrounded by space\n if (stream.peek() === ' ') { // Surrounded by spaces, ignore\n return getType(state);\n } else { // Not surrounded by spaces, back up pointer\n stream.backUp(2);\n }\n }\n }\n }\n\n if (ch === ' ') {\n if (stream.match(/ +$/, false)) {\n state.trailingSpace++;\n } else if (state.trailingSpace) {\n state.trailingSpaceNewLine = true;\n }\n }\n\n return getType(state);\n }\n\n function linkInline(stream, state) {\n var ch = stream.next();\n\n if (ch === \">\") {\n state.f = state.inline = inlineNormal;\n if (modeCfg.highlightFormatting) state.formatting = \"link\";\n var type = getType(state);\n if (type){\n type += \" \";\n } else {\n type = \"\";\n }\n return type + tokenTypes.linkInline;\n }\n\n stream.match(/^[^>]+/, true);\n\n return tokenTypes.linkInline;\n }\n\n function linkHref(stream, state) {\n // Check if space, and return NULL if so (to avoid marking the space)\n if(stream.eatSpace()){\n return null;\n }\n var ch = stream.next();\n if (ch === '(' || ch === '[') {\n state.f = state.inline = getLinkHrefInside(ch === \"(\" ? \")\" : \"]\", 0);\n if (modeCfg.highlightFormatting) state.formatting = \"link-string\";\n state.linkHref = true;\n return getType(state);\n }\n return 'error';\n }\n\n var linkRE = {\n \")\": /^(?:[^\\\\\\(\\)]|\\\\.|\\((?:[^\\\\\\(\\)]|\\\\.)*\\))*?(?=\\))/,\n \"]\": /^(?:[^\\\\\\[\\]]|\\\\.|\\[(?:[^\\\\\\[\\\\]]|\\\\.)*\\])*?(?=\\])/\n }\n\n function getLinkHrefInside(endChar) {\n return function(stream, state) {\n var ch = stream.next();\n\n if (ch === endChar) {\n state.f = state.inline = inlineNormal;\n if (modeCfg.highlightFormatting) state.formatting = \"link-string\";\n var returnState = getType(state);\n state.linkHref = false;\n return returnState;\n }\n\n stream.match(linkRE[endChar])\n state.linkHref = true;\n return getType(state);\n };\n }\n\n function footnoteLink(stream, state) {\n if (stream.match(/^([^\\]\\\\]|\\\\.)*\\]:/, false)) {\n state.f = footnoteLinkInside;\n stream.next(); // Consume [\n if (modeCfg.highlightFormatting) state.formatting = \"link\";\n state.linkText = true;\n return getType(state);\n }\n return switchInline(stream, state, inlineNormal);\n }\n\n function footnoteLinkInside(stream, state) {\n if (stream.match(/^\\]:/, true)) {\n state.f = state.inline = footnoteUrl;\n if (modeCfg.highlightFormatting) state.formatting = \"link\";\n var returnType = getType(state);\n state.linkText = false;\n return returnType;\n }\n\n stream.match(/^([^\\]\\\\]|\\\\.)+/, true);\n\n return tokenTypes.linkText;\n }\n\n function footnoteUrl(stream, state) {\n // Check if space, and return NULL if so (to avoid marking the space)\n if(stream.eatSpace()){\n return null;\n }\n // Match URL\n stream.match(/^[^\\s]+/, true);\n // Check for link title\n if (stream.peek() === undefined) { // End of line, set flag to check next line\n state.linkTitle = true;\n } else { // More content on line, check if link title\n stream.match(/^(?:\\s+(?:\"(?:[^\"\\\\]|\\\\\\\\|\\\\.)+\"|'(?:[^'\\\\]|\\\\\\\\|\\\\.)+'|\\((?:[^)\\\\]|\\\\\\\\|\\\\.)+\\)))?/, true);\n }\n state.f = state.inline = inlineNormal;\n return tokenTypes.linkHref + \" url\";\n }\n\n var mode = {\n startState: function() {\n return {\n f: blockNormal,\n\n prevLine: null,\n thisLine: null,\n\n block: blockNormal,\n htmlState: null,\n indentation: 0,\n\n inline: inlineNormal,\n text: handleText,\n\n formatting: false,\n linkText: false,\n linkHref: false,\n linkTitle: false,\n code: 0,\n em: false,\n strong: false,\n header: 0,\n hr: false,\n taskList: false,\n list: false,\n listStack: [],\n quote: 0,\n trailingSpace: 0,\n trailingSpaceNewLine: false,\n strikethrough: false,\n fencedChars: null\n };\n },\n\n copyState: function(s) {\n return {\n f: s.f,\n\n prevLine: s.prevLine,\n thisLine: s.thisLine,\n\n block: s.block,\n htmlState: s.htmlState && CodeMirror.copyState(htmlMode, s.htmlState),\n indentation: s.indentation,\n\n localMode: s.localMode,\n localState: s.localMode ? CodeMirror.copyState(s.localMode, s.localState) : null,\n\n inline: s.inline,\n text: s.text,\n formatting: false,\n linkTitle: s.linkTitle,\n code: s.code,\n em: s.em,\n strong: s.strong,\n strikethrough: s.strikethrough,\n header: s.header,\n hr: s.hr,\n taskList: s.taskList,\n list: s.list,\n listStack: s.listStack.slice(0),\n quote: s.quote,\n indentedCode: s.indentedCode,\n trailingSpace: s.trailingSpace,\n trailingSpaceNewLine: s.trailingSpaceNewLine,\n md_inside: s.md_inside,\n fencedChars: s.fencedChars\n };\n },\n\n token: function(stream, state) {\n\n // Reset state.formatting\n state.formatting = false;\n\n if (stream != state.thisLine) {\n var forceBlankLine = state.header || state.hr;\n\n // Reset state.header and state.hr\n state.header = 0;\n state.hr = false;\n\n if (stream.match(/^\\s*$/, true) || forceBlankLine) {\n blankLine(state);\n if (!forceBlankLine) return null\n state.prevLine = null\n }\n\n state.prevLine = state.thisLine\n state.thisLine = stream\n\n // Reset state.taskList\n state.taskList = false;\n\n // Reset state.trailingSpace\n state.trailingSpace = 0;\n state.trailingSpaceNewLine = false;\n\n state.f = state.block;\n var indentation = stream.match(/^\\s*/, true)[0].replace(/\\t/g, ' ').length;\n state.indentationDiff = Math.min(indentation - state.indentation, 4);\n state.indentation = state.indentation + state.indentationDiff;\n if (indentation > 0) return null;\n }\n return state.f(stream, state);\n },\n\n innerMode: function(state) {\n if (state.block == htmlBlock) return {state: state.htmlState, mode: htmlMode};\n if (state.localState) return {state: state.localState, mode: state.localMode};\n return {state: state, mode: mode};\n },\n\n blankLine: blankLine,\n\n getType: getType,\n\n closeBrackets: \"()[]{}''\\\"\\\"``\",\n fold: \"markdown\"\n };\n return mode;\n}, \"xml\");\n\nCodeMirror.defineMIME(\"text/x-markdown\", \"markdown\");\n\n});\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/codemirror/mode/markdown/markdown.js\n ** module id = 166\n ** module chunks = 0\n **/","// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: http://codemirror.net/LICENSE\n\n(function(mod) {\n if (typeof exports == \"object\" && typeof module == \"object\") // CommonJS\n mod(require(\"../../lib/codemirror\"));\n else if (typeof define == \"function\" && define.amd) // AMD\n define([\"../../lib/codemirror\"], mod);\n else // Plain browser env\n mod(CodeMirror);\n})(function(CodeMirror) {\n\"use strict\";\n\nvar htmlConfig = {\n autoSelfClosers: {'area': true, 'base': true, 'br': true, 'col': true, 'command': true,\n 'embed': true, 'frame': true, 'hr': true, 'img': true, 'input': true,\n 'keygen': true, 'link': true, 'meta': true, 'param': true, 'source': true,\n 'track': true, 'wbr': true, 'menuitem': true},\n implicitlyClosed: {'dd': true, 'li': true, 'optgroup': true, 'option': true, 'p': true,\n 'rp': true, 'rt': true, 'tbody': true, 'td': true, 'tfoot': true,\n 'th': true, 'tr': true},\n contextGrabbers: {\n 'dd': {'dd': true, 'dt': true},\n 'dt': {'dd': true, 'dt': true},\n 'li': {'li': true},\n 'option': {'option': true, 'optgroup': true},\n 'optgroup': {'optgroup': true},\n 'p': {'address': true, 'article': true, 'aside': true, 'blockquote': true, 'dir': true,\n 'div': true, 'dl': true, 'fieldset': true, 'footer': true, 'form': true,\n 'h1': true, 'h2': true, 'h3': true, 'h4': true, 'h5': true, 'h6': true,\n 'header': true, 'hgroup': true, 'hr': true, 'menu': true, 'nav': true, 'ol': true,\n 'p': true, 'pre': true, 'section': true, 'table': true, 'ul': true},\n 'rp': {'rp': true, 'rt': true},\n 'rt': {'rp': true, 'rt': true},\n 'tbody': {'tbody': true, 'tfoot': true},\n 'td': {'td': true, 'th': true},\n 'tfoot': {'tbody': true},\n 'th': {'td': true, 'th': true},\n 'thead': {'tbody': true, 'tfoot': true},\n 'tr': {'tr': true}\n },\n doNotIndent: {\"pre\": true},\n allowUnquoted: true,\n allowMissing: true,\n caseFold: true\n}\n\nvar xmlConfig = {\n autoSelfClosers: {},\n implicitlyClosed: {},\n contextGrabbers: {},\n doNotIndent: {},\n allowUnquoted: false,\n allowMissing: false,\n caseFold: false\n}\n\nCodeMirror.defineMode(\"xml\", function(editorConf, config_) {\n var indentUnit = editorConf.indentUnit\n var config = {}\n var defaults = config_.htmlMode ? htmlConfig : xmlConfig\n for (var prop in defaults) config[prop] = defaults[prop]\n for (var prop in config_) config[prop] = config_[prop]\n\n // Return variables for tokenizers\n var type, setStyle;\n\n function inText(stream, state) {\n function chain(parser) {\n state.tokenize = parser;\n return parser(stream, state);\n }\n\n var ch = stream.next();\n if (ch == \"<\") {\n if (stream.eat(\"!\")) {\n if (stream.eat(\"[\")) {\n if (stream.match(\"CDATA[\")) return chain(inBlock(\"atom\", \"]]>\"));\n else return null;\n } else if (stream.match(\"--\")) {\n return chain(inBlock(\"comment\", \"-->\"));\n } else if (stream.match(\"DOCTYPE\", true, true)) {\n stream.eatWhile(/[\\w\\._\\-]/);\n return chain(doctype(1));\n } else {\n return null;\n }\n } else if (stream.eat(\"?\")) {\n stream.eatWhile(/[\\w\\._\\-]/);\n state.tokenize = inBlock(\"meta\", \"?>\");\n return \"meta\";\n } else {\n type = stream.eat(\"/\") ? \"closeTag\" : \"openTag\";\n state.tokenize = inTag;\n return \"tag bracket\";\n }\n } else if (ch == \"&\") {\n var ok;\n if (stream.eat(\"#\")) {\n if (stream.eat(\"x\")) {\n ok = stream.eatWhile(/[a-fA-F\\d]/) && stream.eat(\";\");\n } else {\n ok = stream.eatWhile(/[\\d]/) && stream.eat(\";\");\n }\n } else {\n ok = stream.eatWhile(/[\\w\\.\\-:]/) && stream.eat(\";\");\n }\n return ok ? \"atom\" : \"error\";\n } else {\n stream.eatWhile(/[^&<]/);\n return null;\n }\n }\n inText.isInText = true;\n\n function inTag(stream, state) {\n var ch = stream.next();\n if (ch == \">\" || (ch == \"/\" && stream.eat(\">\"))) {\n state.tokenize = inText;\n type = ch == \">\" ? \"endTag\" : \"selfcloseTag\";\n return \"tag bracket\";\n } else if (ch == \"=\") {\n type = \"equals\";\n return null;\n } else if (ch == \"<\") {\n state.tokenize = inText;\n state.state = baseState;\n state.tagName = state.tagStart = null;\n var next = state.tokenize(stream, state);\n return next ? next + \" tag error\" : \"tag error\";\n } else if (/[\\'\\\"]/.test(ch)) {\n state.tokenize = inAttribute(ch);\n state.stringStartCol = stream.column();\n return state.tokenize(stream, state);\n } else {\n stream.match(/^[^\\s\\u00a0=<>\\\"\\']*[^\\s\\u00a0=<>\\\"\\'\\/]/);\n return \"word\";\n }\n }\n\n function inAttribute(quote) {\n var closure = function(stream, state) {\n while (!stream.eol()) {\n if (stream.next() == quote) {\n state.tokenize = inTag;\n break;\n }\n }\n return \"string\";\n };\n closure.isInAttribute = true;\n return closure;\n }\n\n function inBlock(style, terminator) {\n return function(stream, state) {\n while (!stream.eol()) {\n if (stream.match(terminator)) {\n state.tokenize = inText;\n break;\n }\n stream.next();\n }\n return style;\n };\n }\n function doctype(depth) {\n return function(stream, state) {\n var ch;\n while ((ch = stream.next()) != null) {\n if (ch == \"<\") {\n state.tokenize = doctype(depth + 1);\n return state.tokenize(stream, state);\n } else if (ch == \">\") {\n if (depth == 1) {\n state.tokenize = inText;\n break;\n } else {\n state.tokenize = doctype(depth - 1);\n return state.tokenize(stream, state);\n }\n }\n }\n return \"meta\";\n };\n }\n\n function Context(state, tagName, startOfLine) {\n this.prev = state.context;\n this.tagName = tagName;\n this.indent = state.indented;\n this.startOfLine = startOfLine;\n if (config.doNotIndent.hasOwnProperty(tagName) || (state.context && state.context.noIndent))\n this.noIndent = true;\n }\n function popContext(state) {\n if (state.context) state.context = state.context.prev;\n }\n function maybePopContext(state, nextTagName) {\n var parentTagName;\n while (true) {\n if (!state.context) {\n return;\n }\n parentTagName = state.context.tagName;\n if (!config.contextGrabbers.hasOwnProperty(parentTagName) ||\n !config.contextGrabbers[parentTagName].hasOwnProperty(nextTagName)) {\n return;\n }\n popContext(state);\n }\n }\n\n function baseState(type, stream, state) {\n if (type == \"openTag\") {\n state.tagStart = stream.column();\n return tagNameState;\n } else if (type == \"closeTag\") {\n return closeTagNameState;\n } else {\n return baseState;\n }\n }\n function tagNameState(type, stream, state) {\n if (type == \"word\") {\n state.tagName = stream.current();\n setStyle = \"tag\";\n return attrState;\n } else {\n setStyle = \"error\";\n return tagNameState;\n }\n }\n function closeTagNameState(type, stream, state) {\n if (type == \"word\") {\n var tagName = stream.current();\n if (state.context && state.context.tagName != tagName &&\n config.implicitlyClosed.hasOwnProperty(state.context.tagName))\n popContext(state);\n if ((state.context && state.context.tagName == tagName) || config.matchClosing === false) {\n setStyle = \"tag\";\n return closeState;\n } else {\n setStyle = \"tag error\";\n return closeStateErr;\n }\n } else {\n setStyle = \"error\";\n return closeStateErr;\n }\n }\n\n function closeState(type, _stream, state) {\n if (type != \"endTag\") {\n setStyle = \"error\";\n return closeState;\n }\n popContext(state);\n return baseState;\n }\n function closeStateErr(type, stream, state) {\n setStyle = \"error\";\n return closeState(type, stream, state);\n }\n\n function attrState(type, _stream, state) {\n if (type == \"word\") {\n setStyle = \"attribute\";\n return attrEqState;\n } else if (type == \"endTag\" || type == \"selfcloseTag\") {\n var tagName = state.tagName, tagStart = state.tagStart;\n state.tagName = state.tagStart = null;\n if (type == \"selfcloseTag\" ||\n config.autoSelfClosers.hasOwnProperty(tagName)) {\n maybePopContext(state, tagName);\n } else {\n maybePopContext(state, tagName);\n state.context = new Context(state, tagName, tagStart == state.indented);\n }\n return baseState;\n }\n setStyle = \"error\";\n return attrState;\n }\n function attrEqState(type, stream, state) {\n if (type == \"equals\") return attrValueState;\n if (!config.allowMissing) setStyle = \"error\";\n return attrState(type, stream, state);\n }\n function attrValueState(type, stream, state) {\n if (type == \"string\") return attrContinuedState;\n if (type == \"word\" && config.allowUnquoted) {setStyle = \"string\"; return attrState;}\n setStyle = \"error\";\n return attrState(type, stream, state);\n }\n function attrContinuedState(type, stream, state) {\n if (type == \"string\") return attrContinuedState;\n return attrState(type, stream, state);\n }\n\n return {\n startState: function(baseIndent) {\n var state = {tokenize: inText,\n state: baseState,\n indented: baseIndent || 0,\n tagName: null, tagStart: null,\n context: null}\n if (baseIndent != null) state.baseIndent = baseIndent\n return state\n },\n\n token: function(stream, state) {\n if (!state.tagName && stream.sol())\n state.indented = stream.indentation();\n\n if (stream.eatSpace()) return null;\n type = null;\n var style = state.tokenize(stream, state);\n if ((style || type) && style != \"comment\") {\n setStyle = null;\n state.state = state.state(type || style, stream, state);\n if (setStyle)\n style = setStyle == \"error\" ? style + \" error\" : setStyle;\n }\n return style;\n },\n\n indent: function(state, textAfter, fullLine) {\n var context = state.context;\n // Indent multi-line strings (e.g. css).\n if (state.tokenize.isInAttribute) {\n if (state.tagStart == state.indented)\n return state.stringStartCol + 1;\n else\n return state.indented + indentUnit;\n }\n if (context && context.noIndent) return CodeMirror.Pass;\n if (state.tokenize != inTag && state.tokenize != inText)\n return fullLine ? fullLine.match(/^(\\s*)/)[0].length : 0;\n // Indent the starts of attribute names.\n if (state.tagName) {\n if (config.multilineTagIndentPastTag !== false)\n return state.tagStart + state.tagName.length + 2;\n else\n return state.tagStart + indentUnit * (config.multilineTagIndentFactor || 1);\n }\n if (config.alignCDATA && /<!\\[CDATA\\[/.test(textAfter)) return 0;\n var tagAfter = textAfter && /^<(\\/)?([\\w_:\\.-]*)/.exec(textAfter);\n if (tagAfter && tagAfter[1]) { // Closing tag spotted\n while (context) {\n if (context.tagName == tagAfter[2]) {\n context = context.prev;\n break;\n } else if (config.implicitlyClosed.hasOwnProperty(context.tagName)) {\n context = context.prev;\n } else {\n break;\n }\n }\n } else if (tagAfter) { // Opening tag spotted\n while (context) {\n var grabbers = config.contextGrabbers[context.tagName];\n if (grabbers && grabbers.hasOwnProperty(tagAfter[2]))\n context = context.prev;\n else\n break;\n }\n }\n while (context && context.prev && !context.startOfLine)\n context = context.prev;\n if (context) return context.indent + indentUnit;\n else return state.baseIndent || 0;\n },\n\n electricInput: /<\\/[\\s\\w:]+>$/,\n blockCommentStart: \"<!--\",\n blockCommentEnd: \"-->\",\n\n configuration: config.htmlMode ? \"html\" : \"xml\",\n helperType: config.htmlMode ? \"html\" : \"xml\",\n\n skipAttribute: function(state) {\n if (state.state == attrValueState)\n state.state = attrState\n }\n };\n});\n\nCodeMirror.defineMIME(\"text/xml\", \"xml\");\nCodeMirror.defineMIME(\"application/xml\", \"xml\");\nif (!CodeMirror.mimeModes.hasOwnProperty(\"text/html\"))\n CodeMirror.defineMIME(\"text/html\", {name: \"xml\", htmlMode: true});\n\n});\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/codemirror/mode/xml/xml.js\n ** module id = 167\n ** module chunks = 0\n **/","\"use strict\";\n\nexports.__esModule = true;\nexports[\"default\"] = ownerDocument;\n\nfunction ownerDocument(node) {\n return node && node.ownerDocument || document;\n}\n\nmodule.exports = exports[\"default\"];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dom-helpers/ownerDocument.js\n ** module id = 168\n ** module chunks = 0\n **/","'use strict';\n\nvar offset = require('./offset'),\n getWindow = require('./isWindow');\n\nmodule.exports = function width(node, client) {\n var win = getWindow(node);\n return win ? win.innerWidth : client ? node.clientWidth : offset(node).width;\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dom-helpers/query/width.js\n ** module id = 169\n ** module chunks = 0\n **/","(function (root, factory) {\n if (typeof define === \"function\" && define.amd) {\n define([\"exports\"], factory);\n } else if (typeof exports === \"object\") {\n factory(exports);\n } else {\n factory(root.babelHelpers = {});\n }\n})(this, function (global) {\n var babelHelpers = global;\n\n babelHelpers.interopRequireDefault = function (obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n };\n\n babelHelpers._extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n})\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dom-helpers/util/babelHelpers.js\n ** module id = 170\n ** module chunks = 0\n **/","'use strict';\n\nvar rUpper = /([A-Z])/g;\n\nmodule.exports = function hyphenate(string) {\n return string.replace(rUpper, '-$1').toLowerCase();\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dom-helpers/util/hyphenate.js\n ** module id = 171\n ** module chunks = 0\n **/","'use strict';\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * @typechecks\n */\n\nvar emptyFunction = require('./emptyFunction');\n\n/**\n * Upstream version of event listener. Does not take into account specific\n * nature of platform.\n */\nvar EventListener = {\n /**\n * Listen to DOM events during the bubble phase.\n *\n * @param {DOMEventTarget} target DOM element to register listener on.\n * @param {string} eventType Event type, e.g. 'click' or 'mouseover'.\n * @param {function} callback Callback function.\n * @return {object} Object with a `remove` method.\n */\n listen: function listen(target, eventType, callback) {\n if (target.addEventListener) {\n target.addEventListener(eventType, callback, false);\n return {\n remove: function remove() {\n target.removeEventListener(eventType, callback, false);\n }\n };\n } else if (target.attachEvent) {\n target.attachEvent('on' + eventType, callback);\n return {\n remove: function remove() {\n target.detachEvent('on' + eventType, callback);\n }\n };\n }\n },\n\n /**\n * Listen to DOM events during the capture phase.\n *\n * @param {DOMEventTarget} target DOM element to register listener on.\n * @param {string} eventType Event type, e.g. 'click' or 'mouseover'.\n * @param {function} callback Callback function.\n * @return {object} Object with a `remove` method.\n */\n capture: function capture(target, eventType, callback) {\n if (target.addEventListener) {\n target.addEventListener(eventType, callback, true);\n return {\n remove: function remove() {\n target.removeEventListener(eventType, callback, true);\n }\n };\n } else {\n if (process.env.NODE_ENV !== 'production') {\n console.error('Attempted to listen to events during the capture phase on a ' + 'browser that does not support the capture phase. Your application ' + 'will not receive some events.');\n }\n return {\n remove: emptyFunction\n };\n }\n },\n\n registerDefault: function registerDefault() {}\n};\n\nmodule.exports = EventListener;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/fbjs/lib/EventListener.js\n ** module id = 172\n ** module chunks = 0\n **/","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n */\n\n'use strict';\n\n/**\n * @param {DOMElement} node input/textarea to focus\n */\n\nfunction focusNode(node) {\n // IE8 can throw \"Can't move focus to the control because it is invisible,\n // not enabled, or of a type that does not accept the focus.\" for all kinds of\n // reasons that are too expensive and fragile to test.\n try {\n node.focus();\n } catch (e) {}\n}\n\nmodule.exports = focusNode;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/fbjs/lib/focusNode.js\n ** module id = 173\n ** module chunks = 0\n **/","'use strict';\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @typechecks\n */\n\n/* eslint-disable fb-www/typeof-undefined */\n\n/**\n * Same as document.activeElement but wraps in a try-catch block. In IE it is\n * not safe to call document.activeElement if there is nothing focused.\n *\n * The activeElement will be null only if the document or document body is not\n * yet defined.\n */\nfunction getActiveElement() /*?DOMElement*/{\n if (typeof document === 'undefined') {\n return null;\n }\n try {\n return document.activeElement || document.body;\n } catch (e) {\n return document.body;\n }\n}\n\nmodule.exports = getActiveElement;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/fbjs/lib/getActiveElement.js\n ** module id = 174\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\nexports.readState = exports.saveState = undefined;\n\nvar _warning = require('warning');\n\nvar _warning2 = _interopRequireDefault(_warning);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar QuotaExceededErrors = {\n QuotaExceededError: true,\n QUOTA_EXCEEDED_ERR: true\n};\n\nvar SecurityErrors = {\n SecurityError: true\n};\n\nvar KeyPrefix = '@@History/';\n\nvar createKey = function createKey(key) {\n return KeyPrefix + key;\n};\n\nvar saveState = exports.saveState = function saveState(key, state) {\n if (!window.sessionStorage) {\n // Session storage is not available or hidden.\n // sessionStorage is undefined in Internet Explorer when served via file protocol.\n process.env.NODE_ENV !== 'production' ? (0, _warning2.default)(false, '[history] Unable to save state; sessionStorage is not available') : void 0;\n\n return;\n }\n\n try {\n if (state == null) {\n window.sessionStorage.removeItem(createKey(key));\n } else {\n window.sessionStorage.setItem(createKey(key), JSON.stringify(state));\n }\n } catch (error) {\n if (SecurityErrors[error.name]) {\n // Blocking cookies in Chrome/Firefox/Safari throws SecurityError on any\n // attempt to access window.sessionStorage.\n process.env.NODE_ENV !== 'production' ? (0, _warning2.default)(false, '[history] Unable to save state; sessionStorage is not available due to security settings') : void 0;\n\n return;\n }\n\n if (QuotaExceededErrors[error.name] && window.sessionStorage.length === 0) {\n // Safari \"private mode\" throws QuotaExceededError.\n process.env.NODE_ENV !== 'production' ? (0, _warning2.default)(false, '[history] Unable to save state; sessionStorage is not available in Safari private mode') : void 0;\n\n return;\n }\n\n throw error;\n }\n};\n\nvar readState = exports.readState = function readState(key) {\n var json = void 0;\n try {\n json = window.sessionStorage.getItem(createKey(key));\n } catch (error) {\n if (SecurityErrors[error.name]) {\n // Blocking cookies in Chrome/Firefox/Safari throws SecurityError on any\n // attempt to access window.sessionStorage.\n process.env.NODE_ENV !== 'production' ? (0, _warning2.default)(false, '[history] Unable to read state; sessionStorage is not available due to security settings') : void 0;\n\n return undefined;\n }\n }\n\n if (json) {\n try {\n return JSON.parse(json);\n } catch (error) {\n // Ignore invalid JSON.\n }\n }\n\n return undefined;\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/history/lib/DOMStateStorage.js\n ** module id = 175\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _runTransitionHook = require('./runTransitionHook');\n\nvar _runTransitionHook2 = _interopRequireDefault(_runTransitionHook);\n\nvar _PathUtils = require('./PathUtils');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar useBasename = function useBasename(createHistory) {\n return function () {\n var options = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];\n\n var history = createHistory(options);\n var basename = options.basename;\n\n\n var addBasename = function addBasename(location) {\n if (!location) return location;\n\n if (basename && location.basename == null) {\n if (location.pathname.indexOf(basename) === 0) {\n location.pathname = location.pathname.substring(basename.length);\n location.basename = basename;\n\n if (location.pathname === '') location.pathname = '/';\n } else {\n location.basename = '';\n }\n }\n\n return location;\n };\n\n var prependBasename = function prependBasename(location) {\n if (!basename) return location;\n\n var object = typeof location === 'string' ? (0, _PathUtils.parsePath)(location) : location;\n var pname = object.pathname;\n var normalizedBasename = basename.slice(-1) === '/' ? basename : basename + '/';\n var normalizedPathname = pname.charAt(0) === '/' ? pname.slice(1) : pname;\n var pathname = normalizedBasename + normalizedPathname;\n\n return _extends({}, object, {\n pathname: pathname\n });\n };\n\n // Override all read methods with basename-aware versions.\n var getCurrentLocation = function getCurrentLocation() {\n return addBasename(history.getCurrentLocation());\n };\n\n var listenBefore = function listenBefore(hook) {\n return history.listenBefore(function (location, callback) {\n return (0, _runTransitionHook2.default)(hook, addBasename(location), callback);\n });\n };\n\n var listen = function listen(listener) {\n return history.listen(function (location) {\n return listener(addBasename(location));\n });\n };\n\n // Override all write methods with basename-aware versions.\n var push = function push(location) {\n return history.push(prependBasename(location));\n };\n\n var replace = function replace(location) {\n return history.replace(prependBasename(location));\n };\n\n var createPath = function createPath(location) {\n return history.createPath(prependBasename(location));\n };\n\n var createHref = function createHref(location) {\n return history.createHref(prependBasename(location));\n };\n\n var createLocation = function createLocation(location) {\n for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return addBasename(history.createLocation.apply(history, [prependBasename(location)].concat(args)));\n };\n\n return _extends({}, history, {\n getCurrentLocation: getCurrentLocation,\n listenBefore: listenBefore,\n listen: listen,\n push: push,\n replace: replace,\n createPath: createPath,\n createHref: createHref,\n createLocation: createLocation\n });\n };\n};\n\nexports.default = useBasename;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/history/lib/useBasename.js\n ** module id = 176\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _queryString = require('query-string');\n\nvar _runTransitionHook = require('./runTransitionHook');\n\nvar _runTransitionHook2 = _interopRequireDefault(_runTransitionHook);\n\nvar _LocationUtils = require('./LocationUtils');\n\nvar _PathUtils = require('./PathUtils');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar defaultStringifyQuery = function defaultStringifyQuery(query) {\n return (0, _queryString.stringify)(query).replace(/%20/g, '+');\n};\n\nvar defaultParseQueryString = _queryString.parse;\n\n/**\n * Returns a new createHistory function that may be used to create\n * history objects that know how to handle URL queries.\n */\nvar useQueries = function useQueries(createHistory) {\n return function () {\n var options = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];\n\n var history = createHistory(options);\n var stringifyQuery = options.stringifyQuery;\n var parseQueryString = options.parseQueryString;\n\n\n if (typeof stringifyQuery !== 'function') stringifyQuery = defaultStringifyQuery;\n\n if (typeof parseQueryString !== 'function') parseQueryString = defaultParseQueryString;\n\n var decodeQuery = function decodeQuery(location) {\n if (!location) return location;\n\n if (location.query == null) location.query = parseQueryString(location.search.substring(1));\n\n return location;\n };\n\n var encodeQuery = function encodeQuery(location, query) {\n if (query == null) return location;\n\n var object = typeof location === 'string' ? (0, _PathUtils.parsePath)(location) : location;\n var queryString = stringifyQuery(query);\n var search = queryString ? '?' + queryString : '';\n\n return _extends({}, object, {\n search: search\n });\n };\n\n // Override all read methods with query-aware versions.\n var getCurrentLocation = function getCurrentLocation() {\n return decodeQuery(history.getCurrentLocation());\n };\n\n var listenBefore = function listenBefore(hook) {\n return history.listenBefore(function (location, callback) {\n return (0, _runTransitionHook2.default)(hook, decodeQuery(location), callback);\n });\n };\n\n var listen = function listen(listener) {\n return history.listen(function (location) {\n return listener(decodeQuery(location));\n });\n };\n\n // Override all write methods with query-aware versions.\n var push = function push(location) {\n return history.push(encodeQuery(location, location.query));\n };\n\n var replace = function replace(location) {\n return history.replace(encodeQuery(location, location.query));\n };\n\n var createPath = function createPath(location) {\n return history.createPath(encodeQuery(location, location.query));\n };\n\n var createHref = function createHref(location) {\n return history.createHref(encodeQuery(location, location.query));\n };\n\n var createLocation = function createLocation(location) {\n for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n var newLocation = history.createLocation.apply(history, [encodeQuery(location, location.query)].concat(args));\n\n if (location.query) newLocation.query = (0, _LocationUtils.createQuery)(location.query);\n\n return decodeQuery(newLocation);\n };\n\n return _extends({}, history, {\n getCurrentLocation: getCurrentLocation,\n listenBefore: listenBefore,\n listen: listen,\n push: push,\n replace: replace,\n createPath: createPath,\n createHref: createHref,\n createLocation: createLocation\n });\n };\n};\n\nexports.default = useQueries;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/history/lib/useQueries.js\n ** module id = 177\n ** module chunks = 0\n **/","/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\n'use strict';\n\nvar REACT_STATICS = {\n childContextTypes: true,\n contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: true,\n mixins: true,\n propTypes: true,\n type: true\n};\n\nvar KNOWN_STATICS = {\n name: true,\n length: true,\n prototype: true,\n caller: true,\n arguments: true,\n arity: true\n};\n\nvar isGetOwnPropertySymbolsAvailable = typeof Object.getOwnPropertySymbols === 'function';\n\nmodule.exports = function hoistNonReactStatics(targetComponent, sourceComponent, customStatics) {\n if (typeof sourceComponent !== 'string') { // don't hoist over string (html) components\n var keys = Object.getOwnPropertyNames(sourceComponent);\n\n /* istanbul ignore else */\n if (isGetOwnPropertySymbolsAvailable) {\n keys = keys.concat(Object.getOwnPropertySymbols(sourceComponent));\n }\n\n for (var i = 0; i < keys.length; ++i) {\n if (!REACT_STATICS[keys[i]] && !KNOWN_STATICS[keys[i]] && (!customStatics || !customStatics[keys[i]])) {\n try {\n targetComponent[keys[i]] = sourceComponent[keys[i]];\n } catch (error) {\n\n }\n }\n }\n }\n\n return targetComponent;\n};\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/hoist-non-react-statics/index.js\n ** module id = 178\n ** module chunks = 0\n **/","// Standard YAML's Core schema.\n// http://www.yaml.org/spec/1.2/spec.html#id2804923\n//\n// NOTE: JS-YAML does not support schema-specific tag resolution restrictions.\n// So, Core schema has no distinctions from JSON schema is JS-YAML.\n\n\n'use strict';\n\n\nvar Schema = require('../schema');\n\n\nmodule.exports = new Schema({\n include: [\n require('./json')\n ]\n});\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/js-yaml/lib/js-yaml/schema/core.js\n ** module id = 179\n ** module chunks = 0\n **/","// Standard YAML's JSON schema.\n// http://www.yaml.org/spec/1.2/spec.html#id2803231\n//\n// NOTE: JS-YAML does not support schema-specific tag resolution restrictions.\n// So, this schema is not such strict as defined in the YAML specification.\n// It allows numbers in binary notaion, use `Null` and `NULL` as `null`, etc.\n\n\n'use strict';\n\n\nvar Schema = require('../schema');\n\n\nmodule.exports = new Schema({\n include: [\n require('./failsafe')\n ],\n implicit: [\n require('../type/null'),\n require('../type/bool'),\n require('../type/int'),\n require('../type/float')\n ]\n});\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/js-yaml/lib/js-yaml/schema/json.js\n ** module id = 180\n ** module chunks = 0\n **/","var baseTimes = require('./_baseTimes'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isIndex = require('./_isIndex'),\n isTypedArray = require('./isTypedArray');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n var isArr = isArray(value),\n isArg = !isArr && isArguments(value),\n isBuff = !isArr && !isArg && isBuffer(value),\n isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n skipIndexes = isArr || isArg || isBuff || isType,\n result = skipIndexes ? baseTimes(value.length, String) : [],\n length = result.length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (\n // Safari 9 has enumerable `arguments.length` in strict mode.\n key == 'length' ||\n // Node.js 0.10 has enumerable non-index properties on buffers.\n (isBuff && (key == 'offset' || key == 'parent')) ||\n // PhantomJS 2 has enumerable non-index properties on typed arrays.\n (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n // Skip index properties.\n isIndex(key, length)\n ))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = arrayLikeKeys;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_arrayLikeKeys.js\n ** module id = 181\n ** module chunks = 0\n **/","/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n}\n\nmodule.exports = arrayPush;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_arrayPush.js\n ** module id = 182\n ** module chunks = 0\n **/","/**\n * A specialized version of `_.reduce` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {*} [accumulator] The initial value.\n * @param {boolean} [initAccum] Specify using the first element of `array` as\n * the initial value.\n * @returns {*} Returns the accumulated value.\n */\nfunction arrayReduce(array, iteratee, accumulator, initAccum) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n if (initAccum && length) {\n accumulator = array[++index];\n }\n while (++index < length) {\n accumulator = iteratee(accumulator, array[index], index, array);\n }\n return accumulator;\n}\n\nmodule.exports = arrayReduce;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_arrayReduce.js\n ** module id = 183\n ** module chunks = 0\n **/","var baseAssignValue = require('./_baseAssignValue'),\n eq = require('./eq');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignValue(object, key, value) {\n var objValue = object[key];\n if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\nmodule.exports = assignValue;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_assignValue.js\n ** module id = 184\n ** module chunks = 0\n **/","var defineProperty = require('./_defineProperty');\n\n/**\n * The base implementation of `assignValue` and `assignMergeValue` without\n * value checks.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction baseAssignValue(object, key, value) {\n if (key == '__proto__' && defineProperty) {\n defineProperty(object, key, {\n 'configurable': true,\n 'enumerable': true,\n 'value': value,\n 'writable': true\n });\n } else {\n object[key] = value;\n }\n}\n\nmodule.exports = baseAssignValue;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_baseAssignValue.js\n ** module id = 185\n ** module chunks = 0\n **/","var arrayPush = require('./_arrayPush'),\n isArray = require('./isArray');\n\n/**\n * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @param {Function} symbolsFunc The function to get the symbols of `object`.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction baseGetAllKeys(object, keysFunc, symbolsFunc) {\n var result = keysFunc(object);\n return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\n}\n\nmodule.exports = baseGetAllKeys;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_baseGetAllKeys.js\n ** module id = 186\n ** module chunks = 0\n **/","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_freeGlobal.js\n ** module id = 187\n ** module chunks = 0\n **/","var arrayPush = require('./_arrayPush'),\n getPrototype = require('./_getPrototype'),\n getSymbols = require('./_getSymbols'),\n stubArray = require('./stubArray');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols;\n\n/**\n * Creates an array of the own and inherited enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbolsIn = !nativeGetSymbols ? stubArray : function(object) {\n var result = [];\n while (object) {\n arrayPush(result, getSymbols(object));\n object = getPrototype(object);\n }\n return result;\n};\n\nmodule.exports = getSymbolsIn;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_getSymbolsIn.js\n ** module id = 188\n ** module chunks = 0\n **/","/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\nmodule.exports = overArg;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_overArg.js\n ** module id = 189\n ** module chunks = 0\n **/","/** Used for built-in method references. */\nvar funcProto = Function.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\nmodule.exports = toSource;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_toSource.js\n ** module id = 190\n ** module chunks = 0\n **/","/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\nmodule.exports = eq;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/eq.js\n ** module id = 191\n ** module chunks = 0\n **/","var isFunction = require('./isFunction'),\n isLength = require('./isLength');\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\nmodule.exports = isArrayLike;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/isArrayLike.js\n ** module id = 192\n ** module chunks = 0\n **/","var root = require('./_root'),\n stubFalse = require('./stubFalse');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined;\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\nmodule.exports = isBuffer;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/isBuffer.js\n ** module id = 193\n ** module chunks = 0\n **/","var baseGetTag = require('./_baseGetTag'),\n isObject = require('./isObject');\n\n/** `Object#toString` result references. */\nvar asyncTag = '[object AsyncFunction]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n proxyTag = '[object Proxy]';\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\nmodule.exports = isFunction;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/isFunction.js\n ** module id = 194\n ** module chunks = 0\n **/","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nmodule.exports = isLength;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/isLength.js\n ** module id = 195\n ** module chunks = 0\n **/","var arrayLikeKeys = require('./_arrayLikeKeys'),\n baseKeysIn = require('./_baseKeysIn'),\n isArrayLike = require('./isArrayLike');\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);\n}\n\nmodule.exports = keysIn;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/keysIn.js\n ** module id = 196\n ** module chunks = 0\n **/","/**\n * This method returns a new empty array.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {Array} Returns the new empty array.\n * @example\n *\n * var arrays = _.times(2, _.stubArray);\n *\n * console.log(arrays);\n * // => [[], []]\n *\n * console.log(arrays[0] === arrays[1]);\n * // => false\n */\nfunction stubArray() {\n return [];\n}\n\nmodule.exports = stubArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/stubArray.js\n ** module id = 197\n ** module chunks = 0\n **/","//! moment.js locale configuration\n//! locale : Afrikaans [af]\n//! author : Werner Mollentze : https://github.com/wernerm\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar af = moment.defineLocale('af', {\n months : 'Januarie_Februarie_Maart_April_Mei_Junie_Julie_Augustus_September_Oktober_November_Desember'.split('_'),\n monthsShort : 'Jan_Feb_Mrt_Apr_Mei_Jun_Jul_Aug_Sep_Okt_Nov_Des'.split('_'),\n weekdays : 'Sondag_Maandag_Dinsdag_Woensdag_Donderdag_Vrydag_Saterdag'.split('_'),\n weekdaysShort : 'Son_Maa_Din_Woe_Don_Vry_Sat'.split('_'),\n weekdaysMin : 'So_Ma_Di_Wo_Do_Vr_Sa'.split('_'),\n meridiemParse: /vm|nm/i,\n isPM : function (input) {\n return /^nm$/i.test(input);\n },\n meridiem : function (hours, minutes, isLower) {\n if (hours < 12) {\n return isLower ? 'vm' : 'VM';\n } else {\n return isLower ? 'nm' : 'NM';\n }\n },\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Vandag om] LT',\n nextDay : '[Môre om] LT',\n nextWeek : 'dddd [om] LT',\n lastDay : '[Gister om] LT',\n lastWeek : '[Laas] dddd [om] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'oor %s',\n past : '%s gelede',\n s : '\\'n paar sekondes',\n m : '\\'n minuut',\n mm : '%d minute',\n h : '\\'n uur',\n hh : '%d ure',\n d : '\\'n dag',\n dd : '%d dae',\n M : '\\'n maand',\n MM : '%d maande',\n y : '\\'n jaar',\n yy : '%d jaar'\n },\n ordinalParse: /\\d{1,2}(ste|de)/,\n ordinal : function (number) {\n return number + ((number === 1 || number === 8 || number >= 20) ? 'ste' : 'de'); // Thanks to Joris Röling : https://github.com/jjupiter\n },\n week : {\n dow : 1, // Maandag is die eerste dag van die week.\n doy : 4 // Die week wat die 4de Januarie bevat is die eerste week van die jaar.\n }\n});\n\nreturn af;\n\n})));\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/moment/locale/af.js\n ** module id = 198\n ** module chunks = 0\n **/","//! moment.js locale configuration\n//! locale : Arabic (Algeria) [ar-dz]\n//! author : Noureddine LOUAHEDJ : https://github.com/noureddineme\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar arDz = moment.defineLocale('ar-dz', {\n months : 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),\n monthsShort : 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),\n weekdays : 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort : 'احد_اثنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin : 'أح_إث_ثلا_أر_خم_جم_سب'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[اليوم على الساعة] LT',\n nextDay: '[غدا على الساعة] LT',\n nextWeek: 'dddd [على الساعة] LT',\n lastDay: '[أمس على الساعة] LT',\n lastWeek: 'dddd [على الساعة] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'في %s',\n past : 'منذ %s',\n s : 'ثوان',\n m : 'دقيقة',\n mm : '%d دقائق',\n h : 'ساعة',\n hh : '%d ساعات',\n d : 'يوم',\n dd : '%d أيام',\n M : 'شهر',\n MM : '%d أشهر',\n y : 'سنة',\n yy : '%d سنوات'\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 4 // The week that contains Jan 1st is the first week of the year.\n }\n});\n\nreturn arDz;\n\n})));\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/moment/locale/ar-dz.js\n ** module id = 199\n ** module chunks = 0\n **/","//! moment.js locale configuration\n//! locale : Arabic (Lybia) [ar-ly]\n//! author : Ali Hmer: https://github.com/kikoanis\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar symbolMap = {\n '1': '1',\n '2': '2',\n '3': '3',\n '4': '4',\n '5': '5',\n '6': '6',\n '7': '7',\n '8': '8',\n '9': '9',\n '0': '0'\n};\nvar pluralForm = function (n) {\n return n === 0 ? 0 : n === 1 ? 1 : n === 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5;\n};\nvar plurals = {\n s : ['أقل من ثانية', 'ثانية واحدة', ['ثانيتان', 'ثانيتين'], '%d ثوان', '%d ثانية', '%d ثانية'],\n m : ['أقل من دقيقة', 'دقيقة واحدة', ['دقيقتان', 'دقيقتين'], '%d دقائق', '%d دقيقة', '%d دقيقة'],\n h : ['أقل من ساعة', 'ساعة واحدة', ['ساعتان', 'ساعتين'], '%d ساعات', '%d ساعة', '%d ساعة'],\n d : ['أقل من يوم', 'يوم واحد', ['يومان', 'يومين'], '%d أيام', '%d يومًا', '%d يوم'],\n M : ['أقل من شهر', 'شهر واحد', ['شهران', 'شهرين'], '%d أشهر', '%d شهرا', '%d شهر'],\n y : ['أقل من عام', 'عام واحد', ['عامان', 'عامين'], '%d أعوام', '%d عامًا', '%d عام']\n};\nvar pluralize = function (u) {\n return function (number, withoutSuffix, string, isFuture) {\n var f = pluralForm(number),\n str = plurals[u][pluralForm(number)];\n if (f === 2) {\n str = str[withoutSuffix ? 0 : 1];\n }\n return str.replace(/%d/i, number);\n };\n};\nvar months = [\n 'يناير',\n 'فبراير',\n 'مارس',\n 'أبريل',\n 'مايو',\n 'يونيو',\n 'يوليو',\n 'أغسطس',\n 'سبتمبر',\n 'أكتوبر',\n 'نوفمبر',\n 'ديسمبر'\n];\n\nvar arLy = moment.defineLocale('ar-ly', {\n months : months,\n monthsShort : months,\n weekdays : 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort : 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin : 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'D/\\u200FM/\\u200FYYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n meridiemParse: /ص|م/,\n isPM : function (input) {\n return 'م' === input;\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ص';\n } else {\n return 'م';\n }\n },\n calendar : {\n sameDay: '[اليوم عند الساعة] LT',\n nextDay: '[غدًا عند الساعة] LT',\n nextWeek: 'dddd [عند الساعة] LT',\n lastDay: '[أمس عند الساعة] LT',\n lastWeek: 'dddd [عند الساعة] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'بعد %s',\n past : 'منذ %s',\n s : pluralize('s'),\n m : pluralize('m'),\n mm : pluralize('m'),\n h : pluralize('h'),\n hh : pluralize('h'),\n d : pluralize('d'),\n dd : pluralize('d'),\n M : pluralize('M'),\n MM : pluralize('M'),\n y : pluralize('y'),\n yy : pluralize('y')\n },\n preparse: function (string) {\n return string.replace(/\\u200f/g, '').replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n }).replace(/,/g, '،');\n },\n week : {\n dow : 6, // Saturday is the first day of the week.\n doy : 12 // The week that contains Jan 1st is the first week of the year.\n }\n});\n\nreturn arLy;\n\n})));\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/moment/locale/ar-ly.js\n ** module id = 200\n ** module chunks = 0\n **/","//! moment.js locale configuration\n//! locale : Arabic (Morocco) [ar-ma]\n//! author : ElFadili Yassine : https://github.com/ElFadiliY\n//! author : Abdel Said : https://github.com/abdelsaid\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar arMa = moment.defineLocale('ar-ma', {\n months : 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'),\n monthsShort : 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'),\n weekdays : 'الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort : 'احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin : 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[اليوم على الساعة] LT',\n nextDay: '[غدا على الساعة] LT',\n nextWeek: 'dddd [على الساعة] LT',\n lastDay: '[أمس على الساعة] LT',\n lastWeek: 'dddd [على الساعة] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'في %s',\n past : 'منذ %s',\n s : 'ثوان',\n m : 'دقيقة',\n mm : '%d دقائق',\n h : 'ساعة',\n hh : '%d ساعات',\n d : 'يوم',\n dd : '%d أيام',\n M : 'شهر',\n MM : '%d أشهر',\n y : 'سنة',\n yy : '%d سنوات'\n },\n week : {\n dow : 6, // Saturday is the first day of the week.\n doy : 12 // The week that contains Jan 1st is the first week of the year.\n }\n});\n\nreturn arMa;\n\n})));\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/moment/locale/ar-ma.js\n ** module id = 201\n ** module chunks = 0\n **/","//! moment.js locale configuration\n//! locale : Arabic (Saudi Arabia) [ar-sa]\n//! author : Suhail Alkowaileet : https://github.com/xsoh\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar symbolMap = {\n '1': '١',\n '2': '٢',\n '3': '٣',\n '4': '٤',\n '5': '٥',\n '6': '٦',\n '7': '٧',\n '8': '٨',\n '9': '٩',\n '0': '٠'\n};\nvar numberMap = {\n '١': '1',\n '٢': '2',\n '٣': '3',\n '٤': '4',\n '٥': '5',\n '٦': '6',\n '٧': '7',\n '٨': '8',\n '٩': '9',\n '٠': '0'\n};\n\nvar arSa = moment.defineLocale('ar-sa', {\n months : 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),\n monthsShort : 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),\n weekdays : 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort : 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin : 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n meridiemParse: /ص|م/,\n isPM : function (input) {\n return 'م' === input;\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ص';\n } else {\n return 'م';\n }\n },\n calendar : {\n sameDay: '[اليوم على الساعة] LT',\n nextDay: '[غدا على الساعة] LT',\n nextWeek: 'dddd [على الساعة] LT',\n lastDay: '[أمس على الساعة] LT',\n lastWeek: 'dddd [على الساعة] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'في %s',\n past : 'منذ %s',\n s : 'ثوان',\n m : 'دقيقة',\n mm : '%d دقائق',\n h : 'ساعة',\n hh : '%d ساعات',\n d : 'يوم',\n dd : '%d أيام',\n M : 'شهر',\n MM : '%d أشهر',\n y : 'سنة',\n yy : '%d سنوات'\n },\n preparse: function (string) {\n return string.replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {\n return numberMap[match];\n }).replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n }).replace(/,/g, '،');\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n }\n});\n\nreturn arSa;\n\n})));\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/moment/locale/ar-sa.js\n ** module id = 202\n ** module chunks = 0\n **/","//! moment.js locale configuration\n//! locale : Arabic (Tunisia) [ar-tn]\n//! author : Nader Toukabri : https://github.com/naderio\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar arTn = moment.defineLocale('ar-tn', {\n months: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),\n monthsShort: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),\n weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact : true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[اليوم على الساعة] LT',\n nextDay: '[غدا على الساعة] LT',\n nextWeek: 'dddd [على الساعة] LT',\n lastDay: '[أمس على الساعة] LT',\n lastWeek: 'dddd [على الساعة] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'في %s',\n past: 'منذ %s',\n s: 'ثوان',\n m: 'دقيقة',\n mm: '%d دقائق',\n h: 'ساعة',\n hh: '%d ساعات',\n d: 'يوم',\n dd: '%d أيام',\n M: 'شهر',\n MM: '%d أشهر',\n y: 'سنة',\n yy: '%d سنوات'\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn arTn;\n\n})));\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/moment/locale/ar-tn.js\n ** module id = 203\n ** module chunks = 0\n **/","//! moment.js locale configuration\n//! locale : Arabic [ar]\n//! author : Abdel Said: https://github.com/abdelsaid\n//! author : Ahmed Elkhatib\n//! author : forabi https://github.com/forabi\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar symbolMap = {\n '1': '١',\n '2': '٢',\n '3': '٣',\n '4': '٤',\n '5': '٥',\n '6': '٦',\n '7': '٧',\n '8': '٨',\n '9': '٩',\n '0': '٠'\n};\nvar numberMap = {\n '١': '1',\n '٢': '2',\n '٣': '3',\n '٤': '4',\n '٥': '5',\n '٦': '6',\n '٧': '7',\n '٨': '8',\n '٩': '9',\n '٠': '0'\n};\nvar pluralForm = function (n) {\n return n === 0 ? 0 : n === 1 ? 1 : n === 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5;\n};\nvar plurals = {\n s : ['أقل من ثانية', 'ثانية واحدة', ['ثانيتان', 'ثانيتين'], '%d ثوان', '%d ثانية', '%d ثانية'],\n m : ['أقل من دقيقة', 'دقيقة واحدة', ['دقيقتان', 'دقيقتين'], '%d دقائق', '%d دقيقة', '%d دقيقة'],\n h : ['أقل من ساعة', 'ساعة واحدة', ['ساعتان', 'ساعتين'], '%d ساعات', '%d ساعة', '%d ساعة'],\n d : ['أقل من يوم', 'يوم واحد', ['يومان', 'يومين'], '%d أيام', '%d يومًا', '%d يوم'],\n M : ['أقل من شهر', 'شهر واحد', ['شهران', 'شهرين'], '%d أشهر', '%d شهرا', '%d شهر'],\n y : ['أقل من عام', 'عام واحد', ['عامان', 'عامين'], '%d أعوام', '%d عامًا', '%d عام']\n};\nvar pluralize = function (u) {\n return function (number, withoutSuffix, string, isFuture) {\n var f = pluralForm(number),\n str = plurals[u][pluralForm(number)];\n if (f === 2) {\n str = str[withoutSuffix ? 0 : 1];\n }\n return str.replace(/%d/i, number);\n };\n};\nvar months = [\n 'كانون الثاني يناير',\n 'شباط فبراير',\n 'آذار مارس',\n 'نيسان أبريل',\n 'أيار مايو',\n 'حزيران يونيو',\n 'تموز يوليو',\n 'آب أغسطس',\n 'أيلول سبتمبر',\n 'تشرين الأول أكتوبر',\n 'تشرين الثاني نوفمبر',\n 'كانون الأول ديسمبر'\n];\n\nvar ar = moment.defineLocale('ar', {\n months : months,\n monthsShort : months,\n weekdays : 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort : 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin : 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'D/\\u200FM/\\u200FYYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n meridiemParse: /ص|م/,\n isPM : function (input) {\n return 'م' === input;\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ص';\n } else {\n return 'م';\n }\n },\n calendar : {\n sameDay: '[اليوم عند الساعة] LT',\n nextDay: '[غدًا عند الساعة] LT',\n nextWeek: 'dddd [عند الساعة] LT',\n lastDay: '[أمس عند الساعة] LT',\n lastWeek: 'dddd [عند الساعة] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'بعد %s',\n past : 'منذ %s',\n s : pluralize('s'),\n m : pluralize('m'),\n mm : pluralize('m'),\n h : pluralize('h'),\n hh : pluralize('h'),\n d : pluralize('d'),\n dd : pluralize('d'),\n M : pluralize('M'),\n MM : pluralize('M'),\n y : pluralize('y'),\n yy : pluralize('y')\n },\n preparse: function (string) {\n return string.replace(/\\u200f/g, '').replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {\n return numberMap[match];\n }).replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n }).replace(/,/g, '،');\n },\n week : {\n dow : 6, // Saturday is the first day of the week.\n doy : 12 // The week that contains Jan 1st is the first week of the year.\n }\n});\n\nreturn ar;\n\n})));\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/moment/locale/ar.js\n ** module id = 204\n ** module chunks = 0\n **/","//! moment.js locale configuration\n//! locale : Azerbaijani [az]\n//! author : topchiyev : https://github.com/topchiyev\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar suffixes = {\n 1: '-inci',\n 5: '-inci',\n 8: '-inci',\n 70: '-inci',\n 80: '-inci',\n 2: '-nci',\n 7: '-nci',\n 20: '-nci',\n 50: '-nci',\n 3: '-üncü',\n 4: '-üncü',\n 100: '-üncü',\n 6: '-ncı',\n 9: '-uncu',\n 10: '-uncu',\n 30: '-uncu',\n 60: '-ıncı',\n 90: '-ıncı'\n};\n\nvar az = moment.defineLocale('az', {\n months : 'yanvar_fevral_mart_aprel_may_iyun_iyul_avqust_sentyabr_oktyabr_noyabr_dekabr'.split('_'),\n monthsShort : 'yan_fev_mar_apr_may_iyn_iyl_avq_sen_okt_noy_dek'.split('_'),\n weekdays : 'Bazar_Bazar ertəsi_Çərşənbə axşamı_Çərşənbə_Cümə axşamı_Cümə_Şənbə'.split('_'),\n weekdaysShort : 'Baz_BzE_ÇAx_Çər_CAx_Cüm_Şən'.split('_'),\n weekdaysMin : 'Bz_BE_ÇA_Çə_CA_Cü_Şə'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[bugün saat] LT',\n nextDay : '[sabah saat] LT',\n nextWeek : '[gələn həftə] dddd [saat] LT',\n lastDay : '[dünən] LT',\n lastWeek : '[keçən həftə] dddd [saat] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s sonra',\n past : '%s əvvəl',\n s : 'birneçə saniyyə',\n m : 'bir dəqiqə',\n mm : '%d dəqiqə',\n h : 'bir saat',\n hh : '%d saat',\n d : 'bir gün',\n dd : '%d gün',\n M : 'bir ay',\n MM : '%d ay',\n y : 'bir il',\n yy : '%d il'\n },\n meridiemParse: /gecə|səhər|gündüz|axşam/,\n isPM : function (input) {\n return /^(gündüz|axşam)$/.test(input);\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'gecə';\n } else if (hour < 12) {\n return 'səhər';\n } else if (hour < 17) {\n return 'gündüz';\n } else {\n return 'axşam';\n }\n },\n ordinalParse: /\\d{1,2}-(ıncı|inci|nci|üncü|ncı|uncu)/,\n ordinal : function (number) {\n if (number === 0) { // special case for zero\n return number + '-ıncı';\n }\n var a = number % 10,\n b = number % 100 - a,\n c = number >= 100 ? 100 : null;\n return number + (suffixes[a] || suffixes[b] || suffixes[c]);\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n});\n\nreturn az;\n\n})));\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/moment/locale/az.js\n ** module id = 205\n ** module chunks = 0\n **/","//! moment.js locale configuration\n//! locale : Belarusian [be]\n//! author : Dmitry Demidov : https://github.com/demidov91\n//! author: Praleska: http://praleska.pro/\n//! Author : Menelion Elensúle : https://github.com/Oire\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nfunction plural(word, num) {\n var forms = word.split('_');\n return num % 10 === 1 && num % 100 !== 11 ? forms[0] : (num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20) ? forms[1] : forms[2]);\n}\nfunction relativeTimeWithPlural(number, withoutSuffix, key) {\n var format = {\n 'mm': withoutSuffix ? 'хвіліна_хвіліны_хвілін' : 'хвіліну_хвіліны_хвілін',\n 'hh': withoutSuffix ? 'гадзіна_гадзіны_гадзін' : 'гадзіну_гадзіны_гадзін',\n 'dd': 'дзень_дні_дзён',\n 'MM': 'месяц_месяцы_месяцаў',\n 'yy': 'год_гады_гадоў'\n };\n if (key === 'm') {\n return withoutSuffix ? 'хвіліна' : 'хвіліну';\n }\n else if (key === 'h') {\n return withoutSuffix ? 'гадзіна' : 'гадзіну';\n }\n else {\n return number + ' ' + plural(format[key], +number);\n }\n}\n\nvar be = moment.defineLocale('be', {\n months : {\n format: 'студзеня_лютага_сакавіка_красавіка_траўня_чэрвеня_ліпеня_жніўня_верасня_кастрычніка_лістапада_снежня'.split('_'),\n standalone: 'студзень_люты_сакавік_красавік_травень_чэрвень_ліпень_жнівень_верасень_кастрычнік_лістапад_снежань'.split('_')\n },\n monthsShort : 'студ_лют_сак_крас_трав_чэрв_ліп_жнів_вер_каст_ліст_снеж'.split('_'),\n weekdays : {\n format: 'нядзелю_панядзелак_аўторак_сераду_чацвер_пятніцу_суботу'.split('_'),\n standalone: 'нядзеля_панядзелак_аўторак_серада_чацвер_пятніца_субота'.split('_'),\n isFormat: /\\[ ?[Вв] ?(?:мінулую|наступную)? ?\\] ?dddd/\n },\n weekdaysShort : 'нд_пн_ат_ср_чц_пт_сб'.split('_'),\n weekdaysMin : 'нд_пн_ат_ср_чц_пт_сб'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY г.',\n LLL : 'D MMMM YYYY г., HH:mm',\n LLLL : 'dddd, D MMMM YYYY г., HH:mm'\n },\n calendar : {\n sameDay: '[Сёння ў] LT',\n nextDay: '[Заўтра ў] LT',\n lastDay: '[Учора ў] LT',\n nextWeek: function () {\n return '[У] dddd [ў] LT';\n },\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n case 3:\n case 5:\n case 6:\n return '[У мінулую] dddd [ў] LT';\n case 1:\n case 2:\n case 4:\n return '[У мінулы] dddd [ў] LT';\n }\n },\n sameElse: 'L'\n },\n relativeTime : {\n future : 'праз %s',\n past : '%s таму',\n s : 'некалькі секунд',\n m : relativeTimeWithPlural,\n mm : relativeTimeWithPlural,\n h : relativeTimeWithPlural,\n hh : relativeTimeWithPlural,\n d : 'дзень',\n dd : relativeTimeWithPlural,\n M : 'месяц',\n MM : relativeTimeWithPlural,\n y : 'год',\n yy : relativeTimeWithPlural\n },\n meridiemParse: /ночы|раніцы|дня|вечара/,\n isPM : function (input) {\n return /^(дня|вечара)$/.test(input);\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'ночы';\n } else if (hour < 12) {\n return 'раніцы';\n } else if (hour < 17) {\n return 'дня';\n } else {\n return 'вечара';\n }\n },\n ordinalParse: /\\d{1,2}-(і|ы|га)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'M':\n case 'd':\n case 'DDD':\n case 'w':\n case 'W':\n return (number % 10 === 2 || number % 10 === 3) && (number % 100 !== 12 && number % 100 !== 13) ? number + '-і' : number + '-ы';\n case 'D':\n return number + '-га';\n default:\n return number;\n }\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n});\n\nreturn be;\n\n})));\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/moment/locale/be.js\n ** module id = 206\n ** module chunks = 0\n **/","//! moment.js locale configuration\n//! locale : Bulgarian [bg]\n//! author : Krasen Borisov : https://github.com/kraz\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar bg = moment.defineLocale('bg', {\n months : 'януари_февруари_март_април_май_юни_юли_август_септември_октомври_ноември_декември'.split('_'),\n monthsShort : 'янр_фев_мар_апр_май_юни_юли_авг_сеп_окт_ное_дек'.split('_'),\n weekdays : 'неделя_понеделник_вторник_сряда_четвъртък_петък_събота'.split('_'),\n weekdaysShort : 'нед_пон_вто_сря_чет_пет_съб'.split('_'),\n weekdaysMin : 'нд_пн_вт_ср_чт_пт_сб'.split('_'),\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'D.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY H:mm',\n LLLL : 'dddd, D MMMM YYYY H:mm'\n },\n calendar : {\n sameDay : '[Днес в] LT',\n nextDay : '[Утре в] LT',\n nextWeek : 'dddd [в] LT',\n lastDay : '[Вчера в] LT',\n lastWeek : function () {\n switch (this.day()) {\n case 0:\n case 3:\n case 6:\n return '[В изминалата] dddd [в] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[В изминалия] dddd [в] LT';\n }\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'след %s',\n past : 'преди %s',\n s : 'няколко секунди',\n m : 'минута',\n mm : '%d минути',\n h : 'час',\n hh : '%d часа',\n d : 'ден',\n dd : '%d дни',\n M : 'месец',\n MM : '%d месеца',\n y : 'година',\n yy : '%d години'\n },\n ordinalParse: /\\d{1,2}-(ев|ен|ти|ви|ри|ми)/,\n ordinal : function (number) {\n var lastDigit = number % 10,\n last2Digits = number % 100;\n if (number === 0) {\n return number + '-ев';\n } else if (last2Digits === 0) {\n return number + '-ен';\n } else if (last2Digits > 10 && last2Digits < 20) {\n return number + '-ти';\n } else if (lastDigit === 1) {\n return number + '-ви';\n } else if (lastDigit === 2) {\n return number + '-ри';\n } else if (lastDigit === 7 || lastDigit === 8) {\n return number + '-ми';\n } else {\n return number + '-ти';\n }\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n});\n\nreturn bg;\n\n})));\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/moment/locale/bg.js\n ** module id = 207\n ** module chunks = 0\n **/","//! moment.js locale configuration\n//! locale : Bengali [bn]\n//! author : Kaushik Gandhi : https://github.com/kaushikgandhi\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar symbolMap = {\n '1': '১',\n '2': '২',\n '3': '৩',\n '4': '৪',\n '5': '৫',\n '6': '৬',\n '7': '৭',\n '8': '৮',\n '9': '৯',\n '0': '০'\n};\nvar numberMap = {\n '১': '1',\n '২': '2',\n '৩': '3',\n '৪': '4',\n '৫': '5',\n '৬': '6',\n '৭': '7',\n '৮': '8',\n '৯': '9',\n '০': '0'\n};\n\nvar bn = moment.defineLocale('bn', {\n months : 'জানুয়ারী_ফেব্রুয়ারি_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্টেম্বর_অক্টোবর_নভেম্বর_ডিসেম্বর'.split('_'),\n monthsShort : 'জানু_ফেব_মার্চ_এপ্র_মে_জুন_জুল_আগ_সেপ্ট_অক্টো_নভে_ডিসে'.split('_'),\n weekdays : 'রবিবার_সোমবার_মঙ্গলবার_বুধবার_বৃহস্পতিবার_শুক্রবার_শনিবার'.split('_'),\n weekdaysShort : 'রবি_সোম_মঙ্গল_বুধ_বৃহস্পতি_শুক্র_শনি'.split('_'),\n weekdaysMin : 'রবি_সোম_মঙ্গ_বুধ_বৃহঃ_শুক্র_শনি'.split('_'),\n longDateFormat : {\n LT : 'A h:mm সময়',\n LTS : 'A h:mm:ss সময়',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY, A h:mm সময়',\n LLLL : 'dddd, D MMMM YYYY, A h:mm সময়'\n },\n calendar : {\n sameDay : '[আজ] LT',\n nextDay : '[আগামীকাল] LT',\n nextWeek : 'dddd, LT',\n lastDay : '[গতকাল] LT',\n lastWeek : '[গত] dddd, LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s পরে',\n past : '%s আগে',\n s : 'কয়েক সেকেন্ড',\n m : 'এক মিনিট',\n mm : '%d মিনিট',\n h : 'এক ঘন্টা',\n hh : '%d ঘন্টা',\n d : 'এক দিন',\n dd : '%d দিন',\n M : 'এক মাস',\n MM : '%d মাস',\n y : 'এক বছর',\n yy : '%d বছর'\n },\n preparse: function (string) {\n return string.replace(/[১২৩৪৫৬৭৮৯০]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n meridiemParse: /রাত|সকাল|দুপুর|বিকাল|রাত/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if ((meridiem === 'রাত' && hour >= 4) ||\n (meridiem === 'দুপুর' && hour < 5) ||\n meridiem === 'বিকাল') {\n return hour + 12;\n } else {\n return hour;\n }\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'রাত';\n } else if (hour < 10) {\n return 'সকাল';\n } else if (hour < 17) {\n return 'দুপুর';\n } else if (hour < 20) {\n return 'বিকাল';\n } else {\n return 'রাত';\n }\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n }\n});\n\nreturn bn;\n\n})));\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/moment/locale/bn.js\n ** module id = 208\n ** module chunks = 0\n **/","//! moment.js locale configuration\n//! locale : Tibetan [bo]\n//! author : Thupten N. Chakrishar : https://github.com/vajradog\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar symbolMap = {\n '1': '༡',\n '2': '༢',\n '3': '༣',\n '4': '༤',\n '5': '༥',\n '6': '༦',\n '7': '༧',\n '8': '༨',\n '9': '༩',\n '0': '༠'\n};\nvar numberMap = {\n '༡': '1',\n '༢': '2',\n '༣': '3',\n '༤': '4',\n '༥': '5',\n '༦': '6',\n '༧': '7',\n '༨': '8',\n '༩': '9',\n '༠': '0'\n};\n\nvar bo = moment.defineLocale('bo', {\n months : 'ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ'.split('_'),\n monthsShort : 'ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ'.split('_'),\n weekdays : 'གཟའ་ཉི་མ་_གཟའ་ཟླ་བ་_གཟའ་མིག་དམར་_གཟའ་ལྷག་པ་_གཟའ་ཕུར་བུ_གཟའ་པ་སངས་_གཟའ་སྤེན་པ་'.split('_'),\n weekdaysShort : 'ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་'.split('_'),\n weekdaysMin : 'ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་'.split('_'),\n longDateFormat : {\n LT : 'A h:mm',\n LTS : 'A h:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY, A h:mm',\n LLLL : 'dddd, D MMMM YYYY, A h:mm'\n },\n calendar : {\n sameDay : '[དི་རིང] LT',\n nextDay : '[སང་ཉིན] LT',\n nextWeek : '[བདུན་ཕྲག་རྗེས་མ], LT',\n lastDay : '[ཁ་སང] LT',\n lastWeek : '[བདུན་ཕྲག་མཐའ་མ] dddd, LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s ལ་',\n past : '%s སྔན་ལ',\n s : 'ལམ་སང',\n m : 'སྐར་མ་གཅིག',\n mm : '%d སྐར་མ',\n h : 'ཆུ་ཚོད་གཅིག',\n hh : '%d ཆུ་ཚོད',\n d : 'ཉིན་གཅིག',\n dd : '%d ཉིན་',\n M : 'ཟླ་བ་གཅིག',\n MM : '%d ཟླ་བ',\n y : 'ལོ་གཅིག',\n yy : '%d ལོ'\n },\n preparse: function (string) {\n return string.replace(/[༡༢༣༤༥༦༧༨༩༠]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n meridiemParse: /མཚན་མོ|ཞོགས་ཀས|ཉིན་གུང|དགོང་དག|མཚན་མོ/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if ((meridiem === 'མཚན་མོ' && hour >= 4) ||\n (meridiem === 'ཉིན་གུང' && hour < 5) ||\n meridiem === 'དགོང་དག') {\n return hour + 12;\n } else {\n return hour;\n }\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'མཚན་མོ';\n } else if (hour < 10) {\n return 'ཞོགས་ཀས';\n } else if (hour < 17) {\n return 'ཉིན་གུང';\n } else if (hour < 20) {\n return 'དགོང་དག';\n } else {\n return 'མཚན་མོ';\n }\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n }\n});\n\nreturn bo;\n\n})));\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/moment/locale/bo.js\n ** module id = 209\n ** module chunks = 0\n **/","//! moment.js locale configuration\n//! locale : Breton [br]\n//! author : Jean-Baptiste Le Duigou : https://github.com/jbleduigou\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nfunction relativeTimeWithMutation(number, withoutSuffix, key) {\n var format = {\n 'mm': 'munutenn',\n 'MM': 'miz',\n 'dd': 'devezh'\n };\n return number + ' ' + mutation(format[key], number);\n}\nfunction specialMutationForYears(number) {\n switch (lastNumber(number)) {\n case 1:\n case 3:\n case 4:\n case 5:\n case 9:\n return number + ' bloaz';\n default:\n return number + ' vloaz';\n }\n}\nfunction lastNumber(number) {\n if (number > 9) {\n return lastNumber(number % 10);\n }\n return number;\n}\nfunction mutation(text, number) {\n if (number === 2) {\n return softMutation(text);\n }\n return text;\n}\nfunction softMutation(text) {\n var mutationTable = {\n 'm': 'v',\n 'b': 'v',\n 'd': 'z'\n };\n if (mutationTable[text.charAt(0)] === undefined) {\n return text;\n }\n return mutationTable[text.charAt(0)] + text.substring(1);\n}\n\nvar br = moment.defineLocale('br', {\n months : 'Genver_C\\'hwevrer_Meurzh_Ebrel_Mae_Mezheven_Gouere_Eost_Gwengolo_Here_Du_Kerzu'.split('_'),\n monthsShort : 'Gen_C\\'hwe_Meu_Ebr_Mae_Eve_Gou_Eos_Gwe_Her_Du_Ker'.split('_'),\n weekdays : 'Sul_Lun_Meurzh_Merc\\'her_Yaou_Gwener_Sadorn'.split('_'),\n weekdaysShort : 'Sul_Lun_Meu_Mer_Yao_Gwe_Sad'.split('_'),\n weekdaysMin : 'Su_Lu_Me_Mer_Ya_Gw_Sa'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'h[e]mm A',\n LTS : 'h[e]mm:ss A',\n L : 'DD/MM/YYYY',\n LL : 'D [a viz] MMMM YYYY',\n LLL : 'D [a viz] MMMM YYYY h[e]mm A',\n LLLL : 'dddd, D [a viz] MMMM YYYY h[e]mm A'\n },\n calendar : {\n sameDay : '[Hiziv da] LT',\n nextDay : '[Warc\\'hoazh da] LT',\n nextWeek : 'dddd [da] LT',\n lastDay : '[Dec\\'h da] LT',\n lastWeek : 'dddd [paset da] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'a-benn %s',\n past : '%s \\'zo',\n s : 'un nebeud segondennoù',\n m : 'ur vunutenn',\n mm : relativeTimeWithMutation,\n h : 'un eur',\n hh : '%d eur',\n d : 'un devezh',\n dd : relativeTimeWithMutation,\n M : 'ur miz',\n MM : relativeTimeWithMutation,\n y : 'ur bloaz',\n yy : specialMutationForYears\n },\n ordinalParse: /\\d{1,2}(añ|vet)/,\n ordinal : function (number) {\n var output = (number === 1) ? 'añ' : 'vet';\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn br;\n\n})));\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/moment/locale/br.js\n ** module id = 210\n ** module chunks = 0\n **/","//! moment.js locale configuration\n//! locale : Bosnian [bs]\n//! author : Nedim Cholich : https://github.com/frontyard\n//! based on (hr) translation by Bojan Marković\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nfunction translate(number, withoutSuffix, key) {\n var result = number + ' ';\n switch (key) {\n case 'm':\n return withoutSuffix ? 'jedna minuta' : 'jedne minute';\n case 'mm':\n if (number === 1) {\n result += 'minuta';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'minute';\n } else {\n result += 'minuta';\n }\n return result;\n case 'h':\n return withoutSuffix ? 'jedan sat' : 'jednog sata';\n case 'hh':\n if (number === 1) {\n result += 'sat';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'sata';\n } else {\n result += 'sati';\n }\n return result;\n case 'dd':\n if (number === 1) {\n result += 'dan';\n } else {\n result += 'dana';\n }\n return result;\n case 'MM':\n if (number === 1) {\n result += 'mjesec';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'mjeseca';\n } else {\n result += 'mjeseci';\n }\n return result;\n case 'yy':\n if (number === 1) {\n result += 'godina';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'godine';\n } else {\n result += 'godina';\n }\n return result;\n }\n}\n\nvar bs = moment.defineLocale('bs', {\n months : 'januar_februar_mart_april_maj_juni_juli_august_septembar_oktobar_novembar_decembar'.split('_'),\n monthsShort : 'jan._feb._mar._apr._maj._jun._jul._aug._sep._okt._nov._dec.'.split('_'),\n monthsParseExact: true,\n weekdays : 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split('_'),\n weekdaysShort : 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),\n weekdaysMin : 'ne_po_ut_sr_če_pe_su'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY H:mm',\n LLLL : 'dddd, D. MMMM YYYY H:mm'\n },\n calendar : {\n sameDay : '[danas u] LT',\n nextDay : '[sutra u] LT',\n nextWeek : function () {\n switch (this.day()) {\n case 0:\n return '[u] [nedjelju] [u] LT';\n case 3:\n return '[u] [srijedu] [u] LT';\n case 6:\n return '[u] [subotu] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[u] dddd [u] LT';\n }\n },\n lastDay : '[jučer u] LT',\n lastWeek : function () {\n switch (this.day()) {\n case 0:\n case 3:\n return '[prošlu] dddd [u] LT';\n case 6:\n return '[prošle] [subote] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[prošli] dddd [u] LT';\n }\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'za %s',\n past : 'prije %s',\n s : 'par sekundi',\n m : translate,\n mm : translate,\n h : translate,\n hh : translate,\n d : 'dan',\n dd : translate,\n M : 'mjesec',\n MM : translate,\n y : 'godinu',\n yy : translate\n },\n ordinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n});\n\nreturn bs;\n\n})));\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/moment/locale/bs.js\n ** module id = 211\n ** module chunks = 0\n **/","//! moment.js locale configuration\n//! locale : Catalan [ca]\n//! author : Juan G. Hurtado : https://github.com/juanghurtado\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar ca = moment.defineLocale('ca', {\n months : 'gener_febrer_març_abril_maig_juny_juliol_agost_setembre_octubre_novembre_desembre'.split('_'),\n monthsShort : 'gen._febr._mar._abr._mai._jun._jul._ag._set._oct._nov._des.'.split('_'),\n monthsParseExact : true,\n weekdays : 'diumenge_dilluns_dimarts_dimecres_dijous_divendres_dissabte'.split('_'),\n weekdaysShort : 'dg._dl._dt._dc._dj._dv._ds.'.split('_'),\n weekdaysMin : 'Dg_Dl_Dt_Dc_Dj_Dv_Ds'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY H:mm',\n LLLL : 'dddd D MMMM YYYY H:mm'\n },\n calendar : {\n sameDay : function () {\n return '[avui a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';\n },\n nextDay : function () {\n return '[demà a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';\n },\n nextWeek : function () {\n return 'dddd [a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';\n },\n lastDay : function () {\n return '[ahir a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';\n },\n lastWeek : function () {\n return '[el] dddd [passat a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'd\\'aquí %s',\n past : 'fa %s',\n s : 'uns segons',\n m : 'un minut',\n mm : '%d minuts',\n h : 'una hora',\n hh : '%d hores',\n d : 'un dia',\n dd : '%d dies',\n M : 'un mes',\n MM : '%d mesos',\n y : 'un any',\n yy : '%d anys'\n },\n ordinalParse: /\\d{1,2}(r|n|t|è|a)/,\n ordinal : function (number, period) {\n var output = (number === 1) ? 'r' :\n (number === 2) ? 'n' :\n (number === 3) ? 'r' :\n (number === 4) ? 't' : 'è';\n if (period === 'w' || period === 'W') {\n output = 'a';\n }\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn ca;\n\n})));\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/moment/locale/ca.js\n ** module id = 212\n ** module chunks = 0\n **/","//! moment.js locale configuration\n//! locale : Czech [cs]\n//! author : petrbela : https://github.com/petrbela\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar months = 'leden_únor_březen_duben_květen_červen_červenec_srpen_září_říjen_listopad_prosinec'.split('_');\nvar monthsShort = 'led_úno_bře_dub_kvě_čvn_čvc_srp_zář_říj_lis_pro'.split('_');\nfunction plural(n) {\n return (n > 1) && (n < 5) && (~~(n / 10) !== 1);\n}\nfunction translate(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n switch (key) {\n case 's': // a few seconds / in a few seconds / a few seconds ago\n return (withoutSuffix || isFuture) ? 'pár sekund' : 'pár sekundami';\n case 'm': // a minute / in a minute / a minute ago\n return withoutSuffix ? 'minuta' : (isFuture ? 'minutu' : 'minutou');\n case 'mm': // 9 minutes / in 9 minutes / 9 minutes ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'minuty' : 'minut');\n } else {\n return result + 'minutami';\n }\n break;\n case 'h': // an hour / in an hour / an hour ago\n return withoutSuffix ? 'hodina' : (isFuture ? 'hodinu' : 'hodinou');\n case 'hh': // 9 hours / in 9 hours / 9 hours ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'hodiny' : 'hodin');\n } else {\n return result + 'hodinami';\n }\n break;\n case 'd': // a day / in a day / a day ago\n return (withoutSuffix || isFuture) ? 'den' : 'dnem';\n case 'dd': // 9 days / in 9 days / 9 days ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'dny' : 'dní');\n } else {\n return result + 'dny';\n }\n break;\n case 'M': // a month / in a month / a month ago\n return (withoutSuffix || isFuture) ? 'měsíc' : 'měsícem';\n case 'MM': // 9 months / in 9 months / 9 months ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'měsíce' : 'měsíců');\n } else {\n return result + 'měsíci';\n }\n break;\n case 'y': // a year / in a year / a year ago\n return (withoutSuffix || isFuture) ? 'rok' : 'rokem';\n case 'yy': // 9 years / in 9 years / 9 years ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'roky' : 'let');\n } else {\n return result + 'lety';\n }\n break;\n }\n}\n\nvar cs = moment.defineLocale('cs', {\n months : months,\n monthsShort : monthsShort,\n monthsParse : (function (months, monthsShort) {\n var i, _monthsParse = [];\n for (i = 0; i < 12; i++) {\n // use custom parser to solve problem with July (červenec)\n _monthsParse[i] = new RegExp('^' + months[i] + '$|^' + monthsShort[i] + '$', 'i');\n }\n return _monthsParse;\n }(months, monthsShort)),\n shortMonthsParse : (function (monthsShort) {\n var i, _shortMonthsParse = [];\n for (i = 0; i < 12; i++) {\n _shortMonthsParse[i] = new RegExp('^' + monthsShort[i] + '$', 'i');\n }\n return _shortMonthsParse;\n }(monthsShort)),\n longMonthsParse : (function (months) {\n var i, _longMonthsParse = [];\n for (i = 0; i < 12; i++) {\n _longMonthsParse[i] = new RegExp('^' + months[i] + '$', 'i');\n }\n return _longMonthsParse;\n }(months)),\n weekdays : 'neděle_pondělí_úterý_středa_čtvrtek_pátek_sobota'.split('_'),\n weekdaysShort : 'ne_po_út_st_čt_pá_so'.split('_'),\n weekdaysMin : 'ne_po_út_st_čt_pá_so'.split('_'),\n longDateFormat : {\n LT: 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY H:mm',\n LLLL : 'dddd D. MMMM YYYY H:mm',\n l : 'D. M. YYYY'\n },\n calendar : {\n sameDay: '[dnes v] LT',\n nextDay: '[zítra v] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[v neděli v] LT';\n case 1:\n case 2:\n return '[v] dddd [v] LT';\n case 3:\n return '[ve středu v] LT';\n case 4:\n return '[ve čtvrtek v] LT';\n case 5:\n return '[v pátek v] LT';\n case 6:\n return '[v sobotu v] LT';\n }\n },\n lastDay: '[včera v] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[minulou neděli v] LT';\n case 1:\n case 2:\n return '[minulé] dddd [v] LT';\n case 3:\n return '[minulou středu v] LT';\n case 4:\n case 5:\n return '[minulý] dddd [v] LT';\n case 6:\n return '[minulou sobotu v] LT';\n }\n },\n sameElse: 'L'\n },\n relativeTime : {\n future : 'za %s',\n past : 'před %s',\n s : translate,\n m : translate,\n mm : translate,\n h : translate,\n hh : translate,\n d : translate,\n dd : translate,\n M : translate,\n MM : translate,\n y : translate,\n yy : translate\n },\n ordinalParse : /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn cs;\n\n})));\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/moment/locale/cs.js\n ** module id = 213\n ** module chunks = 0\n **/","//! moment.js locale configuration\n//! locale : Chuvash [cv]\n//! author : Anatoly Mironov : https://github.com/mirontoli\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar cv = moment.defineLocale('cv', {\n months : 'кӑрлач_нарӑс_пуш_ака_май_ҫӗртме_утӑ_ҫурла_авӑн_юпа_чӳк_раштав'.split('_'),\n monthsShort : 'кӑр_нар_пуш_ака_май_ҫӗр_утӑ_ҫур_авн_юпа_чӳк_раш'.split('_'),\n weekdays : 'вырсарникун_тунтикун_ытларикун_юнкун_кӗҫнерникун_эрнекун_шӑматкун'.split('_'),\n weekdaysShort : 'выр_тун_ытл_юн_кӗҫ_эрн_шӑм'.split('_'),\n weekdaysMin : 'вр_тн_ыт_юн_кҫ_эр_шм'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD-MM-YYYY',\n LL : 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ]',\n LLL : 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm',\n LLLL : 'dddd, YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm'\n },\n calendar : {\n sameDay: '[Паян] LT [сехетре]',\n nextDay: '[Ыран] LT [сехетре]',\n lastDay: '[Ӗнер] LT [сехетре]',\n nextWeek: '[Ҫитес] dddd LT [сехетре]',\n lastWeek: '[Иртнӗ] dddd LT [сехетре]',\n sameElse: 'L'\n },\n relativeTime : {\n future : function (output) {\n var affix = /сехет$/i.exec(output) ? 'рен' : /ҫул$/i.exec(output) ? 'тан' : 'ран';\n return output + affix;\n },\n past : '%s каялла',\n s : 'пӗр-ик ҫеккунт',\n m : 'пӗр минут',\n mm : '%d минут',\n h : 'пӗр сехет',\n hh : '%d сехет',\n d : 'пӗр кун',\n dd : '%d кун',\n M : 'пӗр уйӑх',\n MM : '%d уйӑх',\n y : 'пӗр ҫул',\n yy : '%d ҫул'\n },\n ordinalParse: /\\d{1,2}-мӗш/,\n ordinal : '%d-мӗш',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n});\n\nreturn cv;\n\n})));\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/moment/locale/cv.js\n ** module id = 214\n ** module chunks = 0\n **/","//! moment.js locale configuration\n//! locale : Welsh [cy]\n//! author : Robert Allen : https://github.com/robgallen\n//! author : https://github.com/ryangreaves\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar cy = moment.defineLocale('cy', {\n months: 'Ionawr_Chwefror_Mawrth_Ebrill_Mai_Mehefin_Gorffennaf_Awst_Medi_Hydref_Tachwedd_Rhagfyr'.split('_'),\n monthsShort: 'Ion_Chwe_Maw_Ebr_Mai_Meh_Gor_Aws_Med_Hyd_Tach_Rhag'.split('_'),\n weekdays: 'Dydd Sul_Dydd Llun_Dydd Mawrth_Dydd Mercher_Dydd Iau_Dydd Gwener_Dydd Sadwrn'.split('_'),\n weekdaysShort: 'Sul_Llun_Maw_Mer_Iau_Gwe_Sad'.split('_'),\n weekdaysMin: 'Su_Ll_Ma_Me_Ia_Gw_Sa'.split('_'),\n weekdaysParseExact : true,\n // time formats are the same as en-gb\n longDateFormat: {\n LT: 'HH:mm',\n LTS : 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[Heddiw am] LT',\n nextDay: '[Yfory am] LT',\n nextWeek: 'dddd [am] LT',\n lastDay: '[Ddoe am] LT',\n lastWeek: 'dddd [diwethaf am] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'mewn %s',\n past: '%s yn ôl',\n s: 'ychydig eiliadau',\n m: 'munud',\n mm: '%d munud',\n h: 'awr',\n hh: '%d awr',\n d: 'diwrnod',\n dd: '%d diwrnod',\n M: 'mis',\n MM: '%d mis',\n y: 'blwyddyn',\n yy: '%d flynedd'\n },\n ordinalParse: /\\d{1,2}(fed|ain|af|il|ydd|ed|eg)/,\n // traditional ordinal numbers above 31 are not commonly used in colloquial Welsh\n ordinal: function (number) {\n var b = number,\n output = '',\n lookup = [\n '', 'af', 'il', 'ydd', 'ydd', 'ed', 'ed', 'ed', 'fed', 'fed', 'fed', // 1af to 10fed\n 'eg', 'fed', 'eg', 'eg', 'fed', 'eg', 'eg', 'fed', 'eg', 'fed' // 11eg to 20fed\n ];\n if (b > 20) {\n if (b === 40 || b === 50 || b === 60 || b === 80 || b === 100) {\n output = 'fed'; // not 30ain, 70ain or 90ain\n } else {\n output = 'ain';\n }\n } else if (b > 0) {\n output = lookup[b];\n }\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn cy;\n\n})));\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/moment/locale/cy.js\n ** module id = 215\n ** module chunks = 0\n **/","//! moment.js locale configuration\n//! locale : Danish [da]\n//! author : Ulrik Nielsen : https://github.com/mrbase\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar da = moment.defineLocale('da', {\n months : 'januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december'.split('_'),\n monthsShort : 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'),\n weekdays : 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'),\n weekdaysShort : 'søn_man_tir_ons_tor_fre_lør'.split('_'),\n weekdaysMin : 'sø_ma_ti_on_to_fr_lø'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY HH:mm',\n LLLL : 'dddd [d.] D. MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[I dag kl.] LT',\n nextDay : '[I morgen kl.] LT',\n nextWeek : 'dddd [kl.] LT',\n lastDay : '[I går kl.] LT',\n lastWeek : '[sidste] dddd [kl] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'om %s',\n past : '%s siden',\n s : 'få sekunder',\n m : 'et minut',\n mm : '%d minutter',\n h : 'en time',\n hh : '%d timer',\n d : 'en dag',\n dd : '%d dage',\n M : 'en måned',\n MM : '%d måneder',\n y : 'et år',\n yy : '%d år'\n },\n ordinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn da;\n\n})));\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/moment/locale/da.js\n ** module id = 216\n ** module chunks = 0\n **/","//! moment.js locale configuration\n//! locale : German (Austria) [de-at]\n//! author : lluchs : https://github.com/lluchs\n//! author: Menelion Elensúle: https://github.com/Oire\n//! author : Martin Groller : https://github.com/MadMG\n//! author : Mikolaj Dadela : https://github.com/mik01aj\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nfunction processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n 'm': ['eine Minute', 'einer Minute'],\n 'h': ['eine Stunde', 'einer Stunde'],\n 'd': ['ein Tag', 'einem Tag'],\n 'dd': [number + ' Tage', number + ' Tagen'],\n 'M': ['ein Monat', 'einem Monat'],\n 'MM': [number + ' Monate', number + ' Monaten'],\n 'y': ['ein Jahr', 'einem Jahr'],\n 'yy': [number + ' Jahre', number + ' Jahren']\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n}\n\nvar deAt = moment.defineLocale('de-at', {\n months : 'Jänner_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'),\n monthsShort : 'Jän._Febr._Mrz._Apr._Mai_Jun._Jul._Aug._Sept._Okt._Nov._Dez.'.split('_'),\n monthsParseExact : true,\n weekdays : 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split('_'),\n weekdaysShort : 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'),\n weekdaysMin : 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY HH:mm',\n LLLL : 'dddd, D. MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[heute um] LT [Uhr]',\n sameElse: 'L',\n nextDay: '[morgen um] LT [Uhr]',\n nextWeek: 'dddd [um] LT [Uhr]',\n lastDay: '[gestern um] LT [Uhr]',\n lastWeek: '[letzten] dddd [um] LT [Uhr]'\n },\n relativeTime : {\n future : 'in %s',\n past : 'vor %s',\n s : 'ein paar Sekunden',\n m : processRelativeTime,\n mm : '%d Minuten',\n h : processRelativeTime,\n hh : '%d Stunden',\n d : processRelativeTime,\n dd : processRelativeTime,\n M : processRelativeTime,\n MM : processRelativeTime,\n y : processRelativeTime,\n yy : processRelativeTime\n },\n ordinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn deAt;\n\n})));\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/moment/locale/de-at.js\n ** module id = 217\n ** module chunks = 0\n **/","//! moment.js locale configuration\n//! locale : German [de]\n//! author : lluchs : https://github.com/lluchs\n//! author: Menelion Elensúle: https://github.com/Oire\n//! author : Mikolaj Dadela : https://github.com/mik01aj\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nfunction processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n 'm': ['eine Minute', 'einer Minute'],\n 'h': ['eine Stunde', 'einer Stunde'],\n 'd': ['ein Tag', 'einem Tag'],\n 'dd': [number + ' Tage', number + ' Tagen'],\n 'M': ['ein Monat', 'einem Monat'],\n 'MM': [number + ' Monate', number + ' Monaten'],\n 'y': ['ein Jahr', 'einem Jahr'],\n 'yy': [number + ' Jahre', number + ' Jahren']\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n}\n\nvar de = moment.defineLocale('de', {\n months : 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'),\n monthsShort : 'Jan._Febr._Mrz._Apr._Mai_Jun._Jul._Aug._Sept._Okt._Nov._Dez.'.split('_'),\n monthsParseExact : true,\n weekdays : 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split('_'),\n weekdaysShort : 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'),\n weekdaysMin : 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY HH:mm',\n LLLL : 'dddd, D. MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[heute um] LT [Uhr]',\n sameElse: 'L',\n nextDay: '[morgen um] LT [Uhr]',\n nextWeek: 'dddd [um] LT [Uhr]',\n lastDay: '[gestern um] LT [Uhr]',\n lastWeek: '[letzten] dddd [um] LT [Uhr]'\n },\n relativeTime : {\n future : 'in %s',\n past : 'vor %s',\n s : 'ein paar Sekunden',\n m : processRelativeTime,\n mm : '%d Minuten',\n h : processRelativeTime,\n hh : '%d Stunden',\n d : processRelativeTime,\n dd : processRelativeTime,\n M : processRelativeTime,\n MM : processRelativeTime,\n y : processRelativeTime,\n yy : processRelativeTime\n },\n ordinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn de;\n\n})));\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/moment/locale/de.js\n ** module id = 218\n ** module chunks = 0\n **/","//! moment.js locale configuration\n//! locale : Maldivian [dv]\n//! author : Jawish Hameed : https://github.com/jawish\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar months = [\n 'ޖެނުއަރީ',\n 'ފެބްރުއަރީ',\n 'މާރިޗު',\n 'އޭޕްރީލު',\n 'މޭ',\n 'ޖޫން',\n 'ޖުލައި',\n 'އޯގަސްޓު',\n 'ސެޕްޓެމްބަރު',\n 'އޮކްޓޯބަރު',\n 'ނޮވެމްބަރު',\n 'ޑިސެމްބަރު'\n];\nvar weekdays = [\n 'އާދިއްތަ',\n 'ހޯމަ',\n 'އަންގާރަ',\n 'ބުދަ',\n 'ބުރާސްފަތި',\n 'ހުކުރު',\n 'ހޮނިހިރު'\n];\n\nvar dv = moment.defineLocale('dv', {\n months : months,\n monthsShort : months,\n weekdays : weekdays,\n weekdaysShort : weekdays,\n weekdaysMin : 'އާދި_ހޯމަ_އަން_ބުދަ_ބުރާ_ހުކު_ހޮނި'.split('_'),\n longDateFormat : {\n\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'D/M/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n meridiemParse: /މކ|މފ/,\n isPM : function (input) {\n return 'މފ' === input;\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return 'މކ';\n } else {\n return 'މފ';\n }\n },\n calendar : {\n sameDay : '[މިއަދު] LT',\n nextDay : '[މާދަމާ] LT',\n nextWeek : 'dddd LT',\n lastDay : '[އިއްޔެ] LT',\n lastWeek : '[ފާއިތުވި] dddd LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'ތެރޭގައި %s',\n past : 'ކުރިން %s',\n s : 'ސިކުންތުކޮޅެއް',\n m : 'މިނިޓެއް',\n mm : 'މިނިޓު %d',\n h : 'ގަޑިއިރެއް',\n hh : 'ގަޑިއިރު %d',\n d : 'ދުވަހެއް',\n dd : 'ދުވަސް %d',\n M : 'މަހެއް',\n MM : 'މަސް %d',\n y : 'އަހަރެއް',\n yy : 'އަހަރު %d'\n },\n preparse: function (string) {\n return string.replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/,/g, '،');\n },\n week : {\n dow : 7, // Sunday is the first day of the week.\n doy : 12 // The week that contains Jan 1st is the first week of the year.\n }\n});\n\nreturn dv;\n\n})));\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/moment/locale/dv.js\n ** module id = 219\n ** module chunks = 0\n **/","//! moment.js locale configuration\n//! locale : Greek [el]\n//! author : Aggelos Karalias : https://github.com/mehiel\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\nfunction isFunction(input) {\n return input instanceof Function || Object.prototype.toString.call(input) === '[object Function]';\n}\n\n\nvar el = moment.defineLocale('el', {\n monthsNominativeEl : 'Ιανουάριος_Φεβρουάριος_Μάρτιος_Απρίλιος_Μάιος_Ιούνιος_Ιούλιος_Αύγουστος_Σεπτέμβριος_Οκτώβριος_Νοέμβριος_Δεκέμβριος'.split('_'),\n monthsGenitiveEl : 'Ιανουαρίου_Φεβρουαρίου_Μαρτίου_Απριλίου_Μαΐου_Ιουνίου_Ιουλίου_Αυγούστου_Σεπτεμβρίου_Οκτωβρίου_Νοεμβρίου_Δεκεμβρίου'.split('_'),\n months : function (momentToFormat, format) {\n if (/D/.test(format.substring(0, format.indexOf('MMMM')))) { // if there is a day number before 'MMMM'\n return this._monthsGenitiveEl[momentToFormat.month()];\n } else {\n return this._monthsNominativeEl[momentToFormat.month()];\n }\n },\n monthsShort : 'Ιαν_Φεβ_Μαρ_Απρ_Μαϊ_Ιουν_Ιουλ_Αυγ_Σεπ_Οκτ_Νοε_Δεκ'.split('_'),\n weekdays : 'Κυριακή_Δευτέρα_Τρίτη_Τετάρτη_Πέμπτη_Παρασκευή_Σάββατο'.split('_'),\n weekdaysShort : 'Κυρ_Δευ_Τρι_Τετ_Πεμ_Παρ_Σαβ'.split('_'),\n weekdaysMin : 'Κυ_Δε_Τρ_Τε_Πε_Πα_Σα'.split('_'),\n meridiem : function (hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'μμ' : 'ΜΜ';\n } else {\n return isLower ? 'πμ' : 'ΠΜ';\n }\n },\n isPM : function (input) {\n return ((input + '').toLowerCase()[0] === 'μ');\n },\n meridiemParse : /[ΠΜ]\\.?Μ?\\.?/i,\n longDateFormat : {\n LT : 'h:mm A',\n LTS : 'h:mm:ss A',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY h:mm A',\n LLLL : 'dddd, D MMMM YYYY h:mm A'\n },\n calendarEl : {\n sameDay : '[Σήμερα {}] LT',\n nextDay : '[Αύριο {}] LT',\n nextWeek : 'dddd [{}] LT',\n lastDay : '[Χθες {}] LT',\n lastWeek : function () {\n switch (this.day()) {\n case 6:\n return '[το προηγούμενο] dddd [{}] LT';\n default:\n return '[την προηγούμενη] dddd [{}] LT';\n }\n },\n sameElse : 'L'\n },\n calendar : function (key, mom) {\n var output = this._calendarEl[key],\n hours = mom && mom.hours();\n if (isFunction(output)) {\n output = output.apply(mom);\n }\n return output.replace('{}', (hours % 12 === 1 ? 'στη' : 'στις'));\n },\n relativeTime : {\n future : 'σε %s',\n past : '%s πριν',\n s : 'λίγα δευτερόλεπτα',\n m : 'ένα λεπτό',\n mm : '%d λεπτά',\n h : 'μία ώρα',\n hh : '%d ώρες',\n d : 'μία μέρα',\n dd : '%d μέρες',\n M : 'ένας μήνας',\n MM : '%d μήνες',\n y : 'ένας χρόνος',\n yy : '%d χρόνια'\n },\n ordinalParse: /\\d{1,2}η/,\n ordinal: '%dη',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4st is the first week of the year.\n }\n});\n\nreturn el;\n\n})));\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/moment/locale/el.js\n ** module id = 220\n ** module chunks = 0\n **/","//! moment.js locale configuration\n//! locale : English (Australia) [en-au]\n//! author : Jared Morse : https://github.com/jarcoal\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar enAu = moment.defineLocale('en-au', {\n months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\n monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat : {\n LT : 'h:mm A',\n LTS : 'h:mm:ss A',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY h:mm A',\n LLLL : 'dddd, D MMMM YYYY h:mm A'\n },\n calendar : {\n sameDay : '[Today at] LT',\n nextDay : '[Tomorrow at] LT',\n nextWeek : 'dddd [at] LT',\n lastDay : '[Yesterday at] LT',\n lastWeek : '[Last] dddd [at] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'in %s',\n past : '%s ago',\n s : 'a few seconds',\n m : 'a minute',\n mm : '%d minutes',\n h : 'an hour',\n hh : '%d hours',\n d : 'a day',\n dd : '%d days',\n M : 'a month',\n MM : '%d months',\n y : 'a year',\n yy : '%d years'\n },\n ordinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal : function (number) {\n var b = number % 10,\n output = (~~(number % 100 / 10) === 1) ? 'th' :\n (b === 1) ? 'st' :\n (b === 2) ? 'nd' :\n (b === 3) ? 'rd' : 'th';\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn enAu;\n\n})));\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/moment/locale/en-au.js\n ** module id = 221\n ** module chunks = 0\n **/","//! moment.js locale configuration\n//! locale : English (Canada) [en-ca]\n//! author : Jonathan Abourbih : https://github.com/jonbca\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar enCa = moment.defineLocale('en-ca', {\n months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\n monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat : {\n LT : 'h:mm A',\n LTS : 'h:mm:ss A',\n L : 'YYYY-MM-DD',\n LL : 'MMMM D, YYYY',\n LLL : 'MMMM D, YYYY h:mm A',\n LLLL : 'dddd, MMMM D, YYYY h:mm A'\n },\n calendar : {\n sameDay : '[Today at] LT',\n nextDay : '[Tomorrow at] LT',\n nextWeek : 'dddd [at] LT',\n lastDay : '[Yesterday at] LT',\n lastWeek : '[Last] dddd [at] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'in %s',\n past : '%s ago',\n s : 'a few seconds',\n m : 'a minute',\n mm : '%d minutes',\n h : 'an hour',\n hh : '%d hours',\n d : 'a day',\n dd : '%d days',\n M : 'a month',\n MM : '%d months',\n y : 'a year',\n yy : '%d years'\n },\n ordinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal : function (number) {\n var b = number % 10,\n output = (~~(number % 100 / 10) === 1) ? 'th' :\n (b === 1) ? 'st' :\n (b === 2) ? 'nd' :\n (b === 3) ? 'rd' : 'th';\n return number + output;\n }\n});\n\nreturn enCa;\n\n})));\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/moment/locale/en-ca.js\n ** module id = 222\n ** module chunks = 0\n **/","//! moment.js locale configuration\n//! locale : English (United Kingdom) [en-gb]\n//! author : Chris Gedrim : https://github.com/chrisgedrim\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar enGb = moment.defineLocale('en-gb', {\n months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\n monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Today at] LT',\n nextDay : '[Tomorrow at] LT',\n nextWeek : 'dddd [at] LT',\n lastDay : '[Yesterday at] LT',\n lastWeek : '[Last] dddd [at] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'in %s',\n past : '%s ago',\n s : 'a few seconds',\n m : 'a minute',\n mm : '%d minutes',\n h : 'an hour',\n hh : '%d hours',\n d : 'a day',\n dd : '%d days',\n M : 'a month',\n MM : '%d months',\n y : 'a year',\n yy : '%d years'\n },\n ordinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal : function (number) {\n var b = number % 10,\n output = (~~(number % 100 / 10) === 1) ? 'th' :\n (b === 1) ? 'st' :\n (b === 2) ? 'nd' :\n (b === 3) ? 'rd' : 'th';\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn enGb;\n\n})));\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/moment/locale/en-gb.js\n ** module id = 223\n ** module chunks = 0\n **/","//! moment.js locale configuration\n//! locale : English (Ireland) [en-ie]\n//! author : Chris Cartlidge : https://github.com/chriscartlidge\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar enIe = moment.defineLocale('en-ie', {\n months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\n monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD-MM-YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Today at] LT',\n nextDay : '[Tomorrow at] LT',\n nextWeek : 'dddd [at] LT',\n lastDay : '[Yesterday at] LT',\n lastWeek : '[Last] dddd [at] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'in %s',\n past : '%s ago',\n s : 'a few seconds',\n m : 'a minute',\n mm : '%d minutes',\n h : 'an hour',\n hh : '%d hours',\n d : 'a day',\n dd : '%d days',\n M : 'a month',\n MM : '%d months',\n y : 'a year',\n yy : '%d years'\n },\n ordinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal : function (number) {\n var b = number % 10,\n output = (~~(number % 100 / 10) === 1) ? 'th' :\n (b === 1) ? 'st' :\n (b === 2) ? 'nd' :\n (b === 3) ? 'rd' : 'th';\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn enIe;\n\n})));\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/moment/locale/en-ie.js\n ** module id = 224\n ** module chunks = 0\n **/","//! moment.js locale configuration\n//! locale : English (New Zealand) [en-nz]\n//! author : Luke McGregor : https://github.com/lukemcgregor\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar enNz = moment.defineLocale('en-nz', {\n months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\n monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat : {\n LT : 'h:mm A',\n LTS : 'h:mm:ss A',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY h:mm A',\n LLLL : 'dddd, D MMMM YYYY h:mm A'\n },\n calendar : {\n sameDay : '[Today at] LT',\n nextDay : '[Tomorrow at] LT',\n nextWeek : 'dddd [at] LT',\n lastDay : '[Yesterday at] LT',\n lastWeek : '[Last] dddd [at] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'in %s',\n past : '%s ago',\n s : 'a few seconds',\n m : 'a minute',\n mm : '%d minutes',\n h : 'an hour',\n hh : '%d hours',\n d : 'a day',\n dd : '%d days',\n M : 'a month',\n MM : '%d months',\n y : 'a year',\n yy : '%d years'\n },\n ordinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal : function (number) {\n var b = number % 10,\n output = (~~(number % 100 / 10) === 1) ? 'th' :\n (b === 1) ? 'st' :\n (b === 2) ? 'nd' :\n (b === 3) ? 'rd' : 'th';\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn enNz;\n\n})));\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/moment/locale/en-nz.js\n ** module id = 225\n ** module chunks = 0\n **/","//! moment.js locale configuration\n//! locale : Esperanto [eo]\n//! author : Colin Dean : https://github.com/colindean\n//! komento: Mi estas malcerta se mi korekte traktis akuzativojn en tiu traduko.\n//! Se ne, bonvolu korekti kaj avizi min por ke mi povas lerni!\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar eo = moment.defineLocale('eo', {\n months : 'januaro_februaro_marto_aprilo_majo_junio_julio_aŭgusto_septembro_oktobro_novembro_decembro'.split('_'),\n monthsShort : 'jan_feb_mar_apr_maj_jun_jul_aŭg_sep_okt_nov_dec'.split('_'),\n weekdays : 'Dimanĉo_Lundo_Mardo_Merkredo_Ĵaŭdo_Vendredo_Sabato'.split('_'),\n weekdaysShort : 'Dim_Lun_Mard_Merk_Ĵaŭ_Ven_Sab'.split('_'),\n weekdaysMin : 'Di_Lu_Ma_Me_Ĵa_Ve_Sa'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'YYYY-MM-DD',\n LL : 'D[-an de] MMMM, YYYY',\n LLL : 'D[-an de] MMMM, YYYY HH:mm',\n LLLL : 'dddd, [la] D[-an de] MMMM, YYYY HH:mm'\n },\n meridiemParse: /[ap]\\.t\\.m/i,\n isPM: function (input) {\n return input.charAt(0).toLowerCase() === 'p';\n },\n meridiem : function (hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'p.t.m.' : 'P.T.M.';\n } else {\n return isLower ? 'a.t.m.' : 'A.T.M.';\n }\n },\n calendar : {\n sameDay : '[Hodiaŭ je] LT',\n nextDay : '[Morgaŭ je] LT',\n nextWeek : 'dddd [je] LT',\n lastDay : '[Hieraŭ je] LT',\n lastWeek : '[pasinta] dddd [je] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'je %s',\n past : 'antaŭ %s',\n s : 'sekundoj',\n m : 'minuto',\n mm : '%d minutoj',\n h : 'horo',\n hh : '%d horoj',\n d : 'tago',//ne 'diurno', ĉar estas uzita por proksimumo\n dd : '%d tagoj',\n M : 'monato',\n MM : '%d monatoj',\n y : 'jaro',\n yy : '%d jaroj'\n },\n ordinalParse: /\\d{1,2}a/,\n ordinal : '%da',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n});\n\nreturn eo;\n\n})));\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/moment/locale/eo.js\n ** module id = 226\n ** module chunks = 0\n **/","//! moment.js locale configuration\n//! locale : Spanish (Dominican Republic) [es-do]\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split('_');\nvar monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_');\n\nvar esDo = moment.defineLocale('es-do', {\n months : 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split('_'),\n monthsShort : function (m, format) {\n if (/-MMM-/.test(format)) {\n return monthsShort[m.month()];\n } else {\n return monthsShortDot[m.month()];\n }\n },\n monthsParseExact : true,\n weekdays : 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\n weekdaysShort : 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\n weekdaysMin : 'do_lu_ma_mi_ju_vi_sá'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'h:mm A',\n LTS : 'h:mm:ss A',\n L : 'DD/MM/YYYY',\n LL : 'D [de] MMMM [de] YYYY',\n LLL : 'D [de] MMMM [de] YYYY h:mm A',\n LLLL : 'dddd, D [de] MMMM [de] YYYY h:mm A'\n },\n calendar : {\n sameDay : function () {\n return '[hoy a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n nextDay : function () {\n return '[mañana a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n nextWeek : function () {\n return 'dddd [a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n lastDay : function () {\n return '[ayer a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n lastWeek : function () {\n return '[el] dddd [pasado a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'en %s',\n past : 'hace %s',\n s : 'unos segundos',\n m : 'un minuto',\n mm : '%d minutos',\n h : 'una hora',\n hh : '%d horas',\n d : 'un día',\n dd : '%d días',\n M : 'un mes',\n MM : '%d meses',\n y : 'un año',\n yy : '%d años'\n },\n ordinalParse : /\\d{1,2}º/,\n ordinal : '%dº',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn esDo;\n\n})));\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/moment/locale/es-do.js\n ** module id = 227\n ** module chunks = 0\n **/","//! moment.js locale configuration\n//! locale : Spanish [es]\n//! author : Julio Napurí : https://github.com/julionc\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split('_');\nvar monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_');\n\nvar es = moment.defineLocale('es', {\n months : 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split('_'),\n monthsShort : function (m, format) {\n if (/-MMM-/.test(format)) {\n return monthsShort[m.month()];\n } else {\n return monthsShortDot[m.month()];\n }\n },\n monthsParseExact : true,\n weekdays : 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\n weekdaysShort : 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\n weekdaysMin : 'do_lu_ma_mi_ju_vi_sá'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D [de] MMMM [de] YYYY',\n LLL : 'D [de] MMMM [de] YYYY H:mm',\n LLLL : 'dddd, D [de] MMMM [de] YYYY H:mm'\n },\n calendar : {\n sameDay : function () {\n return '[hoy a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n nextDay : function () {\n return '[mañana a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n nextWeek : function () {\n return 'dddd [a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n lastDay : function () {\n return '[ayer a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n lastWeek : function () {\n return '[el] dddd [pasado a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'en %s',\n past : 'hace %s',\n s : 'unos segundos',\n m : 'un minuto',\n mm : '%d minutos',\n h : 'una hora',\n hh : '%d horas',\n d : 'un día',\n dd : '%d días',\n M : 'un mes',\n MM : '%d meses',\n y : 'un año',\n yy : '%d años'\n },\n ordinalParse : /\\d{1,2}º/,\n ordinal : '%dº',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn es;\n\n})));\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/moment/locale/es.js\n ** module id = 228\n ** module chunks = 0\n **/","//! moment.js locale configuration\n//! locale : Estonian [et]\n//! author : Henry Kehlmann : https://github.com/madhenry\n//! improvements : Illimar Tambek : https://github.com/ragulka\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nfunction processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n 's' : ['mõne sekundi', 'mõni sekund', 'paar sekundit'],\n 'm' : ['ühe minuti', 'üks minut'],\n 'mm': [number + ' minuti', number + ' minutit'],\n 'h' : ['ühe tunni', 'tund aega', 'üks tund'],\n 'hh': [number + ' tunni', number + ' tundi'],\n 'd' : ['ühe päeva', 'üks päev'],\n 'M' : ['kuu aja', 'kuu aega', 'üks kuu'],\n 'MM': [number + ' kuu', number + ' kuud'],\n 'y' : ['ühe aasta', 'aasta', 'üks aasta'],\n 'yy': [number + ' aasta', number + ' aastat']\n };\n if (withoutSuffix) {\n return format[key][2] ? format[key][2] : format[key][1];\n }\n return isFuture ? format[key][0] : format[key][1];\n}\n\nvar et = moment.defineLocale('et', {\n months : 'jaanuar_veebruar_märts_aprill_mai_juuni_juuli_august_september_oktoober_november_detsember'.split('_'),\n monthsShort : 'jaan_veebr_märts_apr_mai_juuni_juuli_aug_sept_okt_nov_dets'.split('_'),\n weekdays : 'pühapäev_esmaspäev_teisipäev_kolmapäev_neljapäev_reede_laupäev'.split('_'),\n weekdaysShort : 'P_E_T_K_N_R_L'.split('_'),\n weekdaysMin : 'P_E_T_K_N_R_L'.split('_'),\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY H:mm',\n LLLL : 'dddd, D. MMMM YYYY H:mm'\n },\n calendar : {\n sameDay : '[Täna,] LT',\n nextDay : '[Homme,] LT',\n nextWeek : '[Järgmine] dddd LT',\n lastDay : '[Eile,] LT',\n lastWeek : '[Eelmine] dddd LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s pärast',\n past : '%s tagasi',\n s : processRelativeTime,\n m : processRelativeTime,\n mm : processRelativeTime,\n h : processRelativeTime,\n hh : processRelativeTime,\n d : processRelativeTime,\n dd : '%d päeva',\n M : processRelativeTime,\n MM : processRelativeTime,\n y : processRelativeTime,\n yy : processRelativeTime\n },\n ordinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn et;\n\n})));\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/moment/locale/et.js\n ** module id = 229\n ** module chunks = 0\n **/","//! moment.js locale configuration\n//! locale : Basque [eu]\n//! author : Eneko Illarramendi : https://github.com/eillarra\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar eu = moment.defineLocale('eu', {\n months : 'urtarrila_otsaila_martxoa_apirila_maiatza_ekaina_uztaila_abuztua_iraila_urria_azaroa_abendua'.split('_'),\n monthsShort : 'urt._ots._mar._api._mai._eka._uzt._abu._ira._urr._aza._abe.'.split('_'),\n monthsParseExact : true,\n weekdays : 'igandea_astelehena_asteartea_asteazkena_osteguna_ostirala_larunbata'.split('_'),\n weekdaysShort : 'ig._al._ar._az._og._ol._lr.'.split('_'),\n weekdaysMin : 'ig_al_ar_az_og_ol_lr'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'YYYY-MM-DD',\n LL : 'YYYY[ko] MMMM[ren] D[a]',\n LLL : 'YYYY[ko] MMMM[ren] D[a] HH:mm',\n LLLL : 'dddd, YYYY[ko] MMMM[ren] D[a] HH:mm',\n l : 'YYYY-M-D',\n ll : 'YYYY[ko] MMM D[a]',\n lll : 'YYYY[ko] MMM D[a] HH:mm',\n llll : 'ddd, YYYY[ko] MMM D[a] HH:mm'\n },\n calendar : {\n sameDay : '[gaur] LT[etan]',\n nextDay : '[bihar] LT[etan]',\n nextWeek : 'dddd LT[etan]',\n lastDay : '[atzo] LT[etan]',\n lastWeek : '[aurreko] dddd LT[etan]',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s barru',\n past : 'duela %s',\n s : 'segundo batzuk',\n m : 'minutu bat',\n mm : '%d minutu',\n h : 'ordu bat',\n hh : '%d ordu',\n d : 'egun bat',\n dd : '%d egun',\n M : 'hilabete bat',\n MM : '%d hilabete',\n y : 'urte bat',\n yy : '%d urte'\n },\n ordinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n});\n\nreturn eu;\n\n})));\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/moment/locale/eu.js\n ** module id = 230\n ** module chunks = 0\n **/","//! moment.js locale configuration\n//! locale : Persian [fa]\n//! author : Ebrahim Byagowi : https://github.com/ebraminio\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar symbolMap = {\n '1': '۱',\n '2': '۲',\n '3': '۳',\n '4': '۴',\n '5': '۵',\n '6': '۶',\n '7': '۷',\n '8': '۸',\n '9': '۹',\n '0': '۰'\n};\nvar numberMap = {\n '۱': '1',\n '۲': '2',\n '۳': '3',\n '۴': '4',\n '۵': '5',\n '۶': '6',\n '۷': '7',\n '۸': '8',\n '۹': '9',\n '۰': '0'\n};\n\nvar fa = moment.defineLocale('fa', {\n months : 'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split('_'),\n monthsShort : 'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split('_'),\n weekdays : 'یک\\u200cشنبه_دوشنبه_سه\\u200cشنبه_چهارشنبه_پنج\\u200cشنبه_جمعه_شنبه'.split('_'),\n weekdaysShort : 'یک\\u200cشنبه_دوشنبه_سه\\u200cشنبه_چهارشنبه_پنج\\u200cشنبه_جمعه_شنبه'.split('_'),\n weekdaysMin : 'ی_د_س_چ_پ_ج_ش'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n meridiemParse: /قبل از ظهر|بعد از ظهر/,\n isPM: function (input) {\n return /بعد از ظهر/.test(input);\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return 'قبل از ظهر';\n } else {\n return 'بعد از ظهر';\n }\n },\n calendar : {\n sameDay : '[امروز ساعت] LT',\n nextDay : '[فردا ساعت] LT',\n nextWeek : 'dddd [ساعت] LT',\n lastDay : '[دیروز ساعت] LT',\n lastWeek : 'dddd [پیش] [ساعت] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'در %s',\n past : '%s پیش',\n s : 'چندین ثانیه',\n m : 'یک دقیقه',\n mm : '%d دقیقه',\n h : 'یک ساعت',\n hh : '%d ساعت',\n d : 'یک روز',\n dd : '%d روز',\n M : 'یک ماه',\n MM : '%d ماه',\n y : 'یک سال',\n yy : '%d سال'\n },\n preparse: function (string) {\n return string.replace(/[۰-۹]/g, function (match) {\n return numberMap[match];\n }).replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n }).replace(/,/g, '،');\n },\n ordinalParse: /\\d{1,2}م/,\n ordinal : '%dم',\n week : {\n dow : 6, // Saturday is the first day of the week.\n doy : 12 // The week that contains Jan 1st is the first week of the year.\n }\n});\n\nreturn fa;\n\n})));\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/moment/locale/fa.js\n ** module id = 231\n ** module chunks = 0\n **/","//! moment.js locale configuration\n//! locale : Finnish [fi]\n//! author : Tarmo Aidantausta : https://github.com/bleadof\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar numbersPast = 'nolla yksi kaksi kolme neljä viisi kuusi seitsemän kahdeksan yhdeksän'.split(' ');\nvar numbersFuture = [\n 'nolla', 'yhden', 'kahden', 'kolmen', 'neljän', 'viiden', 'kuuden',\n numbersPast[7], numbersPast[8], numbersPast[9]\n ];\nfunction translate(number, withoutSuffix, key, isFuture) {\n var result = '';\n switch (key) {\n case 's':\n return isFuture ? 'muutaman sekunnin' : 'muutama sekunti';\n case 'm':\n return isFuture ? 'minuutin' : 'minuutti';\n case 'mm':\n result = isFuture ? 'minuutin' : 'minuuttia';\n break;\n case 'h':\n return isFuture ? 'tunnin' : 'tunti';\n case 'hh':\n result = isFuture ? 'tunnin' : 'tuntia';\n break;\n case 'd':\n return isFuture ? 'päivän' : 'päivä';\n case 'dd':\n result = isFuture ? 'päivän' : 'päivää';\n break;\n case 'M':\n return isFuture ? 'kuukauden' : 'kuukausi';\n case 'MM':\n result = isFuture ? 'kuukauden' : 'kuukautta';\n break;\n case 'y':\n return isFuture ? 'vuoden' : 'vuosi';\n case 'yy':\n result = isFuture ? 'vuoden' : 'vuotta';\n break;\n }\n result = verbalNumber(number, isFuture) + ' ' + result;\n return result;\n}\nfunction verbalNumber(number, isFuture) {\n return number < 10 ? (isFuture ? numbersFuture[number] : numbersPast[number]) : number;\n}\n\nvar fi = moment.defineLocale('fi', {\n months : 'tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kesäkuu_heinäkuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu'.split('_'),\n monthsShort : 'tammi_helmi_maalis_huhti_touko_kesä_heinä_elo_syys_loka_marras_joulu'.split('_'),\n weekdays : 'sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai'.split('_'),\n weekdaysShort : 'su_ma_ti_ke_to_pe_la'.split('_'),\n weekdaysMin : 'su_ma_ti_ke_to_pe_la'.split('_'),\n longDateFormat : {\n LT : 'HH.mm',\n LTS : 'HH.mm.ss',\n L : 'DD.MM.YYYY',\n LL : 'Do MMMM[ta] YYYY',\n LLL : 'Do MMMM[ta] YYYY, [klo] HH.mm',\n LLLL : 'dddd, Do MMMM[ta] YYYY, [klo] HH.mm',\n l : 'D.M.YYYY',\n ll : 'Do MMM YYYY',\n lll : 'Do MMM YYYY, [klo] HH.mm',\n llll : 'ddd, Do MMM YYYY, [klo] HH.mm'\n },\n calendar : {\n sameDay : '[tänään] [klo] LT',\n nextDay : '[huomenna] [klo] LT',\n nextWeek : 'dddd [klo] LT',\n lastDay : '[eilen] [klo] LT',\n lastWeek : '[viime] dddd[na] [klo] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s päästä',\n past : '%s sitten',\n s : translate,\n m : translate,\n mm : translate,\n h : translate,\n hh : translate,\n d : translate,\n dd : translate,\n M : translate,\n MM : translate,\n y : translate,\n yy : translate\n },\n ordinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn fi;\n\n})));\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/moment/locale/fi.js\n ** module id = 232\n ** module chunks = 0\n **/","//! moment.js locale configuration\n//! locale : Faroese [fo]\n//! author : Ragnar Johannesen : https://github.com/ragnar123\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar fo = moment.defineLocale('fo', {\n months : 'januar_februar_mars_apríl_mai_juni_juli_august_september_oktober_november_desember'.split('_'),\n monthsShort : 'jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_'),\n weekdays : 'sunnudagur_mánadagur_týsdagur_mikudagur_hósdagur_fríggjadagur_leygardagur'.split('_'),\n weekdaysShort : 'sun_mán_týs_mik_hós_frí_ley'.split('_'),\n weekdaysMin : 'su_má_tý_mi_hó_fr_le'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D. MMMM, YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Í dag kl.] LT',\n nextDay : '[Í morgin kl.] LT',\n nextWeek : 'dddd [kl.] LT',\n lastDay : '[Í gjár kl.] LT',\n lastWeek : '[síðstu] dddd [kl] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'um %s',\n past : '%s síðani',\n s : 'fá sekund',\n m : 'ein minutt',\n mm : '%d minuttir',\n h : 'ein tími',\n hh : '%d tímar',\n d : 'ein dagur',\n dd : '%d dagar',\n M : 'ein mánaði',\n MM : '%d mánaðir',\n y : 'eitt ár',\n yy : '%d ár'\n },\n ordinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn fo;\n\n})));\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/moment/locale/fo.js\n ** module id = 233\n ** module chunks = 0\n **/","//! moment.js locale configuration\n//! locale : French (Canada) [fr-ca]\n//! author : Jonathan Abourbih : https://github.com/jonbca\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar frCa = moment.defineLocale('fr-ca', {\n months : 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'),\n monthsShort : 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split('_'),\n monthsParseExact : true,\n weekdays : 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),\n weekdaysShort : 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),\n weekdaysMin : 'Di_Lu_Ma_Me_Je_Ve_Sa'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'YYYY-MM-DD',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[Aujourd\\'hui à] LT',\n nextDay: '[Demain à] LT',\n nextWeek: 'dddd [à] LT',\n lastDay: '[Hier à] LT',\n lastWeek: 'dddd [dernier à] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'dans %s',\n past : 'il y a %s',\n s : 'quelques secondes',\n m : 'une minute',\n mm : '%d minutes',\n h : 'une heure',\n hh : '%d heures',\n d : 'un jour',\n dd : '%d jours',\n M : 'un mois',\n MM : '%d mois',\n y : 'un an',\n yy : '%d ans'\n },\n ordinalParse: /\\d{1,2}(er|e)/,\n ordinal : function (number) {\n return number + (number === 1 ? 'er' : 'e');\n }\n});\n\nreturn frCa;\n\n})));\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/moment/locale/fr-ca.js\n ** module id = 234\n ** module chunks = 0\n **/","//! moment.js locale configuration\n//! locale : French (Switzerland) [fr-ch]\n//! author : Gaspard Bucher : https://github.com/gaspard\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar frCh = moment.defineLocale('fr-ch', {\n months : 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'),\n monthsShort : 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split('_'),\n monthsParseExact : true,\n weekdays : 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),\n weekdaysShort : 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),\n weekdaysMin : 'Di_Lu_Ma_Me_Je_Ve_Sa'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[Aujourd\\'hui à] LT',\n nextDay: '[Demain à] LT',\n nextWeek: 'dddd [à] LT',\n lastDay: '[Hier à] LT',\n lastWeek: 'dddd [dernier à] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'dans %s',\n past : 'il y a %s',\n s : 'quelques secondes',\n m : 'une minute',\n mm : '%d minutes',\n h : 'une heure',\n hh : '%d heures',\n d : 'un jour',\n dd : '%d jours',\n M : 'un mois',\n MM : '%d mois',\n y : 'un an',\n yy : '%d ans'\n },\n ordinalParse: /\\d{1,2}(er|e)/,\n ordinal : function (number) {\n return number + (number === 1 ? 'er' : 'e');\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn frCh;\n\n})));\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/moment/locale/fr-ch.js\n ** module id = 235\n ** module chunks = 0\n **/","//! moment.js locale configuration\n//! locale : French [fr]\n//! author : John Fischer : https://github.com/jfroffice\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar fr = moment.defineLocale('fr', {\n months : 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'),\n monthsShort : 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split('_'),\n monthsParseExact : true,\n weekdays : 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),\n weekdaysShort : 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),\n weekdaysMin : 'Di_Lu_Ma_Me_Je_Ve_Sa'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[Aujourd\\'hui à] LT',\n nextDay: '[Demain à] LT',\n nextWeek: 'dddd [à] LT',\n lastDay: '[Hier à] LT',\n lastWeek: 'dddd [dernier à] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'dans %s',\n past : 'il y a %s',\n s : 'quelques secondes',\n m : 'une minute',\n mm : '%d minutes',\n h : 'une heure',\n hh : '%d heures',\n d : 'un jour',\n dd : '%d jours',\n M : 'un mois',\n MM : '%d mois',\n y : 'un an',\n yy : '%d ans'\n },\n ordinalParse: /\\d{1,2}(er|)/,\n ordinal : function (number) {\n return number + (number === 1 ? 'er' : '');\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn fr;\n\n})));\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/moment/locale/fr.js\n ** module id = 236\n ** module chunks = 0\n **/","//! moment.js locale configuration\n//! locale : Frisian [fy]\n//! author : Robin van der Vliet : https://github.com/robin0van0der0v\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar monthsShortWithDots = 'jan._feb._mrt._apr._mai_jun._jul._aug._sep._okt._nov._des.'.split('_');\nvar monthsShortWithoutDots = 'jan_feb_mrt_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_');\n\nvar fy = moment.defineLocale('fy', {\n months : 'jannewaris_febrewaris_maart_april_maaie_juny_july_augustus_septimber_oktober_novimber_desimber'.split('_'),\n monthsShort : function (m, format) {\n if (/-MMM-/.test(format)) {\n return monthsShortWithoutDots[m.month()];\n } else {\n return monthsShortWithDots[m.month()];\n }\n },\n monthsParseExact : true,\n weekdays : 'snein_moandei_tiisdei_woansdei_tongersdei_freed_sneon'.split('_'),\n weekdaysShort : 'si._mo._ti._wo._to._fr._so.'.split('_'),\n weekdaysMin : 'Si_Mo_Ti_Wo_To_Fr_So'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD-MM-YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[hjoed om] LT',\n nextDay: '[moarn om] LT',\n nextWeek: 'dddd [om] LT',\n lastDay: '[juster om] LT',\n lastWeek: '[ôfrûne] dddd [om] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'oer %s',\n past : '%s lyn',\n s : 'in pear sekonden',\n m : 'ien minút',\n mm : '%d minuten',\n h : 'ien oere',\n hh : '%d oeren',\n d : 'ien dei',\n dd : '%d dagen',\n M : 'ien moanne',\n MM : '%d moannen',\n y : 'ien jier',\n yy : '%d jierren'\n },\n ordinalParse: /\\d{1,2}(ste|de)/,\n ordinal : function (number) {\n return number + ((number === 1 || number === 8 || number >= 20) ? 'ste' : 'de');\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn fy;\n\n})));\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/moment/locale/fy.js\n ** module id = 237\n ** module chunks = 0\n **/","//! moment.js locale configuration\n//! locale : Scottish Gaelic [gd]\n//! author : Jon Ashdown : https://github.com/jonashdown\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar months = [\n 'Am Faoilleach', 'An Gearran', 'Am Màrt', 'An Giblean', 'An Cèitean', 'An t-Ògmhios', 'An t-Iuchar', 'An Lùnastal', 'An t-Sultain', 'An Dàmhair', 'An t-Samhain', 'An Dùbhlachd'\n];\n\nvar monthsShort = ['Faoi', 'Gear', 'Màrt', 'Gibl', 'Cèit', 'Ògmh', 'Iuch', 'Lùn', 'Sult', 'Dàmh', 'Samh', 'Dùbh'];\n\nvar weekdays = ['Didòmhnaich', 'Diluain', 'Dimàirt', 'Diciadain', 'Diardaoin', 'Dihaoine', 'Disathairne'];\n\nvar weekdaysShort = ['Did', 'Dil', 'Dim', 'Dic', 'Dia', 'Dih', 'Dis'];\n\nvar weekdaysMin = ['Dò', 'Lu', 'Mà', 'Ci', 'Ar', 'Ha', 'Sa'];\n\nvar gd = moment.defineLocale('gd', {\n months : months,\n monthsShort : monthsShort,\n monthsParseExact : true,\n weekdays : weekdays,\n weekdaysShort : weekdaysShort,\n weekdaysMin : weekdaysMin,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[An-diugh aig] LT',\n nextDay : '[A-màireach aig] LT',\n nextWeek : 'dddd [aig] LT',\n lastDay : '[An-dè aig] LT',\n lastWeek : 'dddd [seo chaidh] [aig] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'ann an %s',\n past : 'bho chionn %s',\n s : 'beagan diogan',\n m : 'mionaid',\n mm : '%d mionaidean',\n h : 'uair',\n hh : '%d uairean',\n d : 'latha',\n dd : '%d latha',\n M : 'mìos',\n MM : '%d mìosan',\n y : 'bliadhna',\n yy : '%d bliadhna'\n },\n ordinalParse : /\\d{1,2}(d|na|mh)/,\n ordinal : function (number) {\n var output = number === 1 ? 'd' : number % 10 === 2 ? 'na' : 'mh';\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn gd;\n\n})));\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/moment/locale/gd.js\n ** module id = 238\n ** module chunks = 0\n **/","//! moment.js locale configuration\n//! locale : Galician [gl]\n//! author : Juan G. Hurtado : https://github.com/juanghurtado\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar gl = moment.defineLocale('gl', {\n months : 'xaneiro_febreiro_marzo_abril_maio_xuño_xullo_agosto_setembro_outubro_novembro_decembro'.split('_'),\n monthsShort : 'xan._feb._mar._abr._mai._xuñ._xul._ago._set._out._nov._dec.'.split('_'),\n monthsParseExact: true,\n weekdays : 'domingo_luns_martes_mércores_xoves_venres_sábado'.split('_'),\n weekdaysShort : 'dom._lun._mar._mér._xov._ven._sáb.'.split('_'),\n weekdaysMin : 'do_lu_ma_mé_xo_ve_sá'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D [de] MMMM [de] YYYY',\n LLL : 'D [de] MMMM [de] YYYY H:mm',\n LLLL : 'dddd, D [de] MMMM [de] YYYY H:mm'\n },\n calendar : {\n sameDay : function () {\n return '[hoxe ' + ((this.hours() !== 1) ? 'ás' : 'á') + '] LT';\n },\n nextDay : function () {\n return '[mañá ' + ((this.hours() !== 1) ? 'ás' : 'á') + '] LT';\n },\n nextWeek : function () {\n return 'dddd [' + ((this.hours() !== 1) ? 'ás' : 'a') + '] LT';\n },\n lastDay : function () {\n return '[onte ' + ((this.hours() !== 1) ? 'á' : 'a') + '] LT';\n },\n lastWeek : function () {\n return '[o] dddd [pasado ' + ((this.hours() !== 1) ? 'ás' : 'a') + '] LT';\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : function (str) {\n if (str.indexOf('un') === 0) {\n return 'n' + str;\n }\n return 'en ' + str;\n },\n past : 'hai %s',\n s : 'uns segundos',\n m : 'un minuto',\n mm : '%d minutos',\n h : 'unha hora',\n hh : '%d horas',\n d : 'un día',\n dd : '%d días',\n M : 'un mes',\n MM : '%d meses',\n y : 'un ano',\n yy : '%d anos'\n },\n ordinalParse : /\\d{1,2}º/,\n ordinal : '%dº',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn gl;\n\n})));\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/moment/locale/gl.js\n ** module id = 239\n ** module chunks = 0\n **/","//! moment.js locale configuration\n//! locale : Hebrew [he]\n//! author : Tomer Cohen : https://github.com/tomer\n//! author : Moshe Simantov : https://github.com/DevelopmentIL\n//! author : Tal Ater : https://github.com/TalAter\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar he = moment.defineLocale('he', {\n months : 'ינואר_פברואר_מרץ_אפריל_מאי_יוני_יולי_אוגוסט_ספטמבר_אוקטובר_נובמבר_דצמבר'.split('_'),\n monthsShort : 'ינו׳_פבר׳_מרץ_אפר׳_מאי_יוני_יולי_אוג׳_ספט׳_אוק׳_נוב׳_דצמ׳'.split('_'),\n weekdays : 'ראשון_שני_שלישי_רביעי_חמישי_שישי_שבת'.split('_'),\n weekdaysShort : 'א׳_ב׳_ג׳_ד׳_ה׳_ו׳_ש׳'.split('_'),\n weekdaysMin : 'א_ב_ג_ד_ה_ו_ש'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D [ב]MMMM YYYY',\n LLL : 'D [ב]MMMM YYYY HH:mm',\n LLLL : 'dddd, D [ב]MMMM YYYY HH:mm',\n l : 'D/M/YYYY',\n ll : 'D MMM YYYY',\n lll : 'D MMM YYYY HH:mm',\n llll : 'ddd, D MMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[היום ב־]LT',\n nextDay : '[מחר ב־]LT',\n nextWeek : 'dddd [בשעה] LT',\n lastDay : '[אתמול ב־]LT',\n lastWeek : '[ביום] dddd [האחרון בשעה] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'בעוד %s',\n past : 'לפני %s',\n s : 'מספר שניות',\n m : 'דקה',\n mm : '%d דקות',\n h : 'שעה',\n hh : function (number) {\n if (number === 2) {\n return 'שעתיים';\n }\n return number + ' שעות';\n },\n d : 'יום',\n dd : function (number) {\n if (number === 2) {\n return 'יומיים';\n }\n return number + ' ימים';\n },\n M : 'חודש',\n MM : function (number) {\n if (number === 2) {\n return 'חודשיים';\n }\n return number + ' חודשים';\n },\n y : 'שנה',\n yy : function (number) {\n if (number === 2) {\n return 'שנתיים';\n } else if (number % 10 === 0 && number !== 10) {\n return number + ' שנה';\n }\n return number + ' שנים';\n }\n },\n meridiemParse: /אחה\"צ|לפנה\"צ|אחרי הצהריים|לפני הצהריים|לפנות בוקר|בבוקר|בערב/i,\n isPM : function (input) {\n return /^(אחה\"צ|אחרי הצהריים|בערב)$/.test(input);\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 5) {\n return 'לפנות בוקר';\n } else if (hour < 10) {\n return 'בבוקר';\n } else if (hour < 12) {\n return isLower ? 'לפנה\"צ' : 'לפני הצהריים';\n } else if (hour < 18) {\n return isLower ? 'אחה\"צ' : 'אחרי הצהריים';\n } else {\n return 'בערב';\n }\n }\n});\n\nreturn he;\n\n})));\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/moment/locale/he.js\n ** module id = 240\n ** module chunks = 0\n **/","//! moment.js locale configuration\n//! locale : Hindi [hi]\n//! author : Mayank Singhal : https://github.com/mayanksinghal\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar symbolMap = {\n '1': '१',\n '2': '२',\n '3': '३',\n '4': '४',\n '5': '५',\n '6': '६',\n '7': '७',\n '8': '८',\n '9': '९',\n '0': '०'\n};\nvar numberMap = {\n '१': '1',\n '२': '2',\n '३': '3',\n '४': '4',\n '५': '5',\n '६': '6',\n '७': '7',\n '८': '8',\n '९': '9',\n '०': '0'\n};\n\nvar hi = moment.defineLocale('hi', {\n months : 'जनवरी_फ़रवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितम्बर_अक्टूबर_नवम्बर_दिसम्बर'.split('_'),\n monthsShort : 'जन._फ़र._मार्च_अप्रै._मई_जून_जुल._अग._सित._अक्टू._नव._दिस.'.split('_'),\n monthsParseExact: true,\n weekdays : 'रविवार_सोमवार_मंगलवार_बुधवार_गुरूवार_शुक्रवार_शनिवार'.split('_'),\n weekdaysShort : 'रवि_सोम_मंगल_बुध_गुरू_शुक्र_शनि'.split('_'),\n weekdaysMin : 'र_सो_मं_बु_गु_शु_श'.split('_'),\n longDateFormat : {\n LT : 'A h:mm बजे',\n LTS : 'A h:mm:ss बजे',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY, A h:mm बजे',\n LLLL : 'dddd, D MMMM YYYY, A h:mm बजे'\n },\n calendar : {\n sameDay : '[आज] LT',\n nextDay : '[कल] LT',\n nextWeek : 'dddd, LT',\n lastDay : '[कल] LT',\n lastWeek : '[पिछले] dddd, LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s में',\n past : '%s पहले',\n s : 'कुछ ही क्षण',\n m : 'एक मिनट',\n mm : '%d मिनट',\n h : 'एक घंटा',\n hh : '%d घंटे',\n d : 'एक दिन',\n dd : '%d दिन',\n M : 'एक महीने',\n MM : '%d महीने',\n y : 'एक वर्ष',\n yy : '%d वर्ष'\n },\n preparse: function (string) {\n return string.replace(/[१२३४५६७८९०]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n // Hindi notation for meridiems are quite fuzzy in practice. While there exists\n // a rigid notion of a 'Pahar' it is not used as rigidly in modern Hindi.\n meridiemParse: /रात|सुबह|दोपहर|शाम/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'रात') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'सुबह') {\n return hour;\n } else if (meridiem === 'दोपहर') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'शाम') {\n return hour + 12;\n }\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'रात';\n } else if (hour < 10) {\n return 'सुबह';\n } else if (hour < 17) {\n return 'दोपहर';\n } else if (hour < 20) {\n return 'शाम';\n } else {\n return 'रात';\n }\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n }\n});\n\nreturn hi;\n\n})));\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/moment/locale/hi.js\n ** module id = 241\n ** module chunks = 0\n **/","//! moment.js locale configuration\n//! locale : Croatian [hr]\n//! author : Bojan Marković : https://github.com/bmarkovic\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nfunction translate(number, withoutSuffix, key) {\n var result = number + ' ';\n switch (key) {\n case 'm':\n return withoutSuffix ? 'jedna minuta' : 'jedne minute';\n case 'mm':\n if (number === 1) {\n result += 'minuta';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'minute';\n } else {\n result += 'minuta';\n }\n return result;\n case 'h':\n return withoutSuffix ? 'jedan sat' : 'jednog sata';\n case 'hh':\n if (number === 1) {\n result += 'sat';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'sata';\n } else {\n result += 'sati';\n }\n return result;\n case 'dd':\n if (number === 1) {\n result += 'dan';\n } else {\n result += 'dana';\n }\n return result;\n case 'MM':\n if (number === 1) {\n result += 'mjesec';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'mjeseca';\n } else {\n result += 'mjeseci';\n }\n return result;\n case 'yy':\n if (number === 1) {\n result += 'godina';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'godine';\n } else {\n result += 'godina';\n }\n return result;\n }\n}\n\nvar hr = moment.defineLocale('hr', {\n months : {\n format: 'siječnja_veljače_ožujka_travnja_svibnja_lipnja_srpnja_kolovoza_rujna_listopada_studenoga_prosinca'.split('_'),\n standalone: 'siječanj_veljača_ožujak_travanj_svibanj_lipanj_srpanj_kolovoz_rujan_listopad_studeni_prosinac'.split('_')\n },\n monthsShort : 'sij._velj._ožu._tra._svi._lip._srp._kol._ruj._lis._stu._pro.'.split('_'),\n monthsParseExact: true,\n weekdays : 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split('_'),\n weekdaysShort : 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),\n weekdaysMin : 'ne_po_ut_sr_če_pe_su'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY H:mm',\n LLLL : 'dddd, D. MMMM YYYY H:mm'\n },\n calendar : {\n sameDay : '[danas u] LT',\n nextDay : '[sutra u] LT',\n nextWeek : function () {\n switch (this.day()) {\n case 0:\n return '[u] [nedjelju] [u] LT';\n case 3:\n return '[u] [srijedu] [u] LT';\n case 6:\n return '[u] [subotu] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[u] dddd [u] LT';\n }\n },\n lastDay : '[jučer u] LT',\n lastWeek : function () {\n switch (this.day()) {\n case 0:\n case 3:\n return '[prošlu] dddd [u] LT';\n case 6:\n return '[prošle] [subote] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[prošli] dddd [u] LT';\n }\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'za %s',\n past : 'prije %s',\n s : 'par sekundi',\n m : translate,\n mm : translate,\n h : translate,\n hh : translate,\n d : 'dan',\n dd : translate,\n M : 'mjesec',\n MM : translate,\n y : 'godinu',\n yy : translate\n },\n ordinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n});\n\nreturn hr;\n\n})));\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/moment/locale/hr.js\n ** module id = 242\n ** module chunks = 0\n **/","//! moment.js locale configuration\n//! locale : Hungarian [hu]\n//! author : Adam Brunner : https://github.com/adambrunner\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar weekEndings = 'vasárnap hétfőn kedden szerdán csütörtökön pénteken szombaton'.split(' ');\nfunction translate(number, withoutSuffix, key, isFuture) {\n var num = number,\n suffix;\n switch (key) {\n case 's':\n return (isFuture || withoutSuffix) ? 'néhány másodperc' : 'néhány másodperce';\n case 'm':\n return 'egy' + (isFuture || withoutSuffix ? ' perc' : ' perce');\n case 'mm':\n return num + (isFuture || withoutSuffix ? ' perc' : ' perce');\n case 'h':\n return 'egy' + (isFuture || withoutSuffix ? ' óra' : ' órája');\n case 'hh':\n return num + (isFuture || withoutSuffix ? ' óra' : ' órája');\n case 'd':\n return 'egy' + (isFuture || withoutSuffix ? ' nap' : ' napja');\n case 'dd':\n return num + (isFuture || withoutSuffix ? ' nap' : ' napja');\n case 'M':\n return 'egy' + (isFuture || withoutSuffix ? ' hónap' : ' hónapja');\n case 'MM':\n return num + (isFuture || withoutSuffix ? ' hónap' : ' hónapja');\n case 'y':\n return 'egy' + (isFuture || withoutSuffix ? ' év' : ' éve');\n case 'yy':\n return num + (isFuture || withoutSuffix ? ' év' : ' éve');\n }\n return '';\n}\nfunction week(isFuture) {\n return (isFuture ? '' : '[múlt] ') + '[' + weekEndings[this.day()] + '] LT[-kor]';\n}\n\nvar hu = moment.defineLocale('hu', {\n months : 'január_február_március_április_május_június_július_augusztus_szeptember_október_november_december'.split('_'),\n monthsShort : 'jan_feb_márc_ápr_máj_jún_júl_aug_szept_okt_nov_dec'.split('_'),\n weekdays : 'vasárnap_hétfő_kedd_szerda_csütörtök_péntek_szombat'.split('_'),\n weekdaysShort : 'vas_hét_kedd_sze_csüt_pén_szo'.split('_'),\n weekdaysMin : 'v_h_k_sze_cs_p_szo'.split('_'),\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'YYYY.MM.DD.',\n LL : 'YYYY. MMMM D.',\n LLL : 'YYYY. MMMM D. H:mm',\n LLLL : 'YYYY. MMMM D., dddd H:mm'\n },\n meridiemParse: /de|du/i,\n isPM: function (input) {\n return input.charAt(1).toLowerCase() === 'u';\n },\n meridiem : function (hours, minutes, isLower) {\n if (hours < 12) {\n return isLower === true ? 'de' : 'DE';\n } else {\n return isLower === true ? 'du' : 'DU';\n }\n },\n calendar : {\n sameDay : '[ma] LT[-kor]',\n nextDay : '[holnap] LT[-kor]',\n nextWeek : function () {\n return week.call(this, true);\n },\n lastDay : '[tegnap] LT[-kor]',\n lastWeek : function () {\n return week.call(this, false);\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s múlva',\n past : '%s',\n s : translate,\n m : translate,\n mm : translate,\n h : translate,\n hh : translate,\n d : translate,\n dd : translate,\n M : translate,\n MM : translate,\n y : translate,\n yy : translate\n },\n ordinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn hu;\n\n})));\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/moment/locale/hu.js\n ** module id = 243\n ** module chunks = 0\n **/","//! moment.js locale configuration\n//! locale : Armenian [hy-am]\n//! author : Armendarabyan : https://github.com/armendarabyan\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar hyAm = moment.defineLocale('hy-am', {\n months : {\n format: 'հունվարի_փետրվարի_մարտի_ապրիլի_մայիսի_հունիսի_հուլիսի_օգոստոսի_սեպտեմբերի_հոկտեմբերի_նոյեմբերի_դեկտեմբերի'.split('_'),\n standalone: 'հունվար_փետրվար_մարտ_ապրիլ_մայիս_հունիս_հուլիս_օգոստոս_սեպտեմբեր_հոկտեմբեր_նոյեմբեր_դեկտեմբեր'.split('_')\n },\n monthsShort : 'հնվ_փտր_մրտ_ապր_մյս_հնս_հլս_օգս_սպտ_հկտ_նմբ_դկտ'.split('_'),\n weekdays : 'կիրակի_երկուշաբթի_երեքշաբթի_չորեքշաբթի_հինգշաբթի_ուրբաթ_շաբաթ'.split('_'),\n weekdaysShort : 'կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ'.split('_'),\n weekdaysMin : 'կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY թ.',\n LLL : 'D MMMM YYYY թ., HH:mm',\n LLLL : 'dddd, D MMMM YYYY թ., HH:mm'\n },\n calendar : {\n sameDay: '[այսօր] LT',\n nextDay: '[վաղը] LT',\n lastDay: '[երեկ] LT',\n nextWeek: function () {\n return 'dddd [օրը ժամը] LT';\n },\n lastWeek: function () {\n return '[անցած] dddd [օրը ժամը] LT';\n },\n sameElse: 'L'\n },\n relativeTime : {\n future : '%s հետո',\n past : '%s առաջ',\n s : 'մի քանի վայրկյան',\n m : 'րոպե',\n mm : '%d րոպե',\n h : 'ժամ',\n hh : '%d ժամ',\n d : 'օր',\n dd : '%d օր',\n M : 'ամիս',\n MM : '%d ամիս',\n y : 'տարի',\n yy : '%d տարի'\n },\n meridiemParse: /գիշերվա|առավոտվա|ցերեկվա|երեկոյան/,\n isPM: function (input) {\n return /^(ցերեկվա|երեկոյան)$/.test(input);\n },\n meridiem : function (hour) {\n if (hour < 4) {\n return 'գիշերվա';\n } else if (hour < 12) {\n return 'առավոտվա';\n } else if (hour < 17) {\n return 'ցերեկվա';\n } else {\n return 'երեկոյան';\n }\n },\n ordinalParse: /\\d{1,2}|\\d{1,2}-(ին|րդ)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'DDD':\n case 'w':\n case 'W':\n case 'DDDo':\n if (number === 1) {\n return number + '-ին';\n }\n return number + '-րդ';\n default:\n return number;\n }\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n});\n\nreturn hyAm;\n\n})));\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/moment/locale/hy-am.js\n ** module id = 244\n ** module chunks = 0\n **/","//! moment.js locale configuration\n//! locale : Indonesian [id]\n//! author : Mohammad Satrio Utomo : https://github.com/tyok\n//! reference: http://id.wikisource.org/wiki/Pedoman_Umum_Ejaan_Bahasa_Indonesia_yang_Disempurnakan\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar id = moment.defineLocale('id', {\n months : 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember'.split('_'),\n monthsShort : 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nov_Des'.split('_'),\n weekdays : 'Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu'.split('_'),\n weekdaysShort : 'Min_Sen_Sel_Rab_Kam_Jum_Sab'.split('_'),\n weekdaysMin : 'Mg_Sn_Sl_Rb_Km_Jm_Sb'.split('_'),\n longDateFormat : {\n LT : 'HH.mm',\n LTS : 'HH.mm.ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY [pukul] HH.mm',\n LLLL : 'dddd, D MMMM YYYY [pukul] HH.mm'\n },\n meridiemParse: /pagi|siang|sore|malam/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'pagi') {\n return hour;\n } else if (meridiem === 'siang') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'sore' || meridiem === 'malam') {\n return hour + 12;\n }\n },\n meridiem : function (hours, minutes, isLower) {\n if (hours < 11) {\n return 'pagi';\n } else if (hours < 15) {\n return 'siang';\n } else if (hours < 19) {\n return 'sore';\n } else {\n return 'malam';\n }\n },\n calendar : {\n sameDay : '[Hari ini pukul] LT',\n nextDay : '[Besok pukul] LT',\n nextWeek : 'dddd [pukul] LT',\n lastDay : '[Kemarin pukul] LT',\n lastWeek : 'dddd [lalu pukul] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'dalam %s',\n past : '%s yang lalu',\n s : 'beberapa detik',\n m : 'semenit',\n mm : '%d menit',\n h : 'sejam',\n hh : '%d jam',\n d : 'sehari',\n dd : '%d hari',\n M : 'sebulan',\n MM : '%d bulan',\n y : 'setahun',\n yy : '%d tahun'\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n});\n\nreturn id;\n\n})));\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/moment/locale/id.js\n ** module id = 245\n ** module chunks = 0\n **/","//! moment.js locale configuration\n//! locale : Icelandic [is]\n//! author : Hinrik Örn Sigurðsson : https://github.com/hinrik\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nfunction plural(n) {\n if (n % 100 === 11) {\n return true;\n } else if (n % 10 === 1) {\n return false;\n }\n return true;\n}\nfunction translate(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n switch (key) {\n case 's':\n return withoutSuffix || isFuture ? 'nokkrar sekúndur' : 'nokkrum sekúndum';\n case 'm':\n return withoutSuffix ? 'mínúta' : 'mínútu';\n case 'mm':\n if (plural(number)) {\n return result + (withoutSuffix || isFuture ? 'mínútur' : 'mínútum');\n } else if (withoutSuffix) {\n return result + 'mínúta';\n }\n return result + 'mínútu';\n case 'hh':\n if (plural(number)) {\n return result + (withoutSuffix || isFuture ? 'klukkustundir' : 'klukkustundum');\n }\n return result + 'klukkustund';\n case 'd':\n if (withoutSuffix) {\n return 'dagur';\n }\n return isFuture ? 'dag' : 'degi';\n case 'dd':\n if (plural(number)) {\n if (withoutSuffix) {\n return result + 'dagar';\n }\n return result + (isFuture ? 'daga' : 'dögum');\n } else if (withoutSuffix) {\n return result + 'dagur';\n }\n return result + (isFuture ? 'dag' : 'degi');\n case 'M':\n if (withoutSuffix) {\n return 'mánuður';\n }\n return isFuture ? 'mánuð' : 'mánuði';\n case 'MM':\n if (plural(number)) {\n if (withoutSuffix) {\n return result + 'mánuðir';\n }\n return result + (isFuture ? 'mánuði' : 'mánuðum');\n } else if (withoutSuffix) {\n return result + 'mánuður';\n }\n return result + (isFuture ? 'mánuð' : 'mánuði');\n case 'y':\n return withoutSuffix || isFuture ? 'ár' : 'ári';\n case 'yy':\n if (plural(number)) {\n return result + (withoutSuffix || isFuture ? 'ár' : 'árum');\n }\n return result + (withoutSuffix || isFuture ? 'ár' : 'ári');\n }\n}\n\nvar is = moment.defineLocale('is', {\n months : 'janúar_febrúar_mars_apríl_maí_júní_júlí_ágúst_september_október_nóvember_desember'.split('_'),\n monthsShort : 'jan_feb_mar_apr_maí_jún_júl_ágú_sep_okt_nóv_des'.split('_'),\n weekdays : 'sunnudagur_mánudagur_þriðjudagur_miðvikudagur_fimmtudagur_föstudagur_laugardagur'.split('_'),\n weekdaysShort : 'sun_mán_þri_mið_fim_fös_lau'.split('_'),\n weekdaysMin : 'Su_Má_Þr_Mi_Fi_Fö_La'.split('_'),\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY [kl.] H:mm',\n LLLL : 'dddd, D. MMMM YYYY [kl.] H:mm'\n },\n calendar : {\n sameDay : '[í dag kl.] LT',\n nextDay : '[á morgun kl.] LT',\n nextWeek : 'dddd [kl.] LT',\n lastDay : '[í gær kl.] LT',\n lastWeek : '[síðasta] dddd [kl.] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'eftir %s',\n past : 'fyrir %s síðan',\n s : translate,\n m : translate,\n mm : translate,\n h : 'klukkustund',\n hh : translate,\n d : translate,\n dd : translate,\n M : translate,\n MM : translate,\n y : translate,\n yy : translate\n },\n ordinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn is;\n\n})));\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/moment/locale/is.js\n ** module id = 246\n ** module chunks = 0\n **/","//! moment.js locale configuration\n//! locale : Italian [it]\n//! author : Lorenzo : https://github.com/aliem\n//! author: Mattia Larentis: https://github.com/nostalgiaz\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar it = moment.defineLocale('it', {\n months : 'gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre'.split('_'),\n monthsShort : 'gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic'.split('_'),\n weekdays : 'Domenica_Lunedì_Martedì_Mercoledì_Giovedì_Venerdì_Sabato'.split('_'),\n weekdaysShort : 'Dom_Lun_Mar_Mer_Gio_Ven_Sab'.split('_'),\n weekdaysMin : 'Do_Lu_Ma_Me_Gi_Ve_Sa'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[Oggi alle] LT',\n nextDay: '[Domani alle] LT',\n nextWeek: 'dddd [alle] LT',\n lastDay: '[Ieri alle] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[la scorsa] dddd [alle] LT';\n default:\n return '[lo scorso] dddd [alle] LT';\n }\n },\n sameElse: 'L'\n },\n relativeTime : {\n future : function (s) {\n return ((/^[0-9].+$/).test(s) ? 'tra' : 'in') + ' ' + s;\n },\n past : '%s fa',\n s : 'alcuni secondi',\n m : 'un minuto',\n mm : '%d minuti',\n h : 'un\\'ora',\n hh : '%d ore',\n d : 'un giorno',\n dd : '%d giorni',\n M : 'un mese',\n MM : '%d mesi',\n y : 'un anno',\n yy : '%d anni'\n },\n ordinalParse : /\\d{1,2}º/,\n ordinal: '%dº',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn it;\n\n})));\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/moment/locale/it.js\n ** module id = 247\n ** module chunks = 0\n **/","//! moment.js locale configuration\n//! locale : Japanese [ja]\n//! author : LI Long : https://github.com/baryon\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar ja = moment.defineLocale('ja', {\n months : '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),\n monthsShort : '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),\n weekdays : '日曜日_月曜日_火曜日_水曜日_木曜日_金曜日_土曜日'.split('_'),\n weekdaysShort : '日_月_火_水_木_金_土'.split('_'),\n weekdaysMin : '日_月_火_水_木_金_土'.split('_'),\n longDateFormat : {\n LT : 'Ah時m分',\n LTS : 'Ah時m分s秒',\n L : 'YYYY/MM/DD',\n LL : 'YYYY年M月D日',\n LLL : 'YYYY年M月D日Ah時m分',\n LLLL : 'YYYY年M月D日Ah時m分 dddd'\n },\n meridiemParse: /午前|午後/i,\n isPM : function (input) {\n return input === '午後';\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return '午前';\n } else {\n return '午後';\n }\n },\n calendar : {\n sameDay : '[今日] LT',\n nextDay : '[明日] LT',\n nextWeek : '[来週]dddd LT',\n lastDay : '[昨日] LT',\n lastWeek : '[前週]dddd LT',\n sameElse : 'L'\n },\n ordinalParse : /\\d{1,2}日/,\n ordinal : function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '日';\n default:\n return number;\n }\n },\n relativeTime : {\n future : '%s後',\n past : '%s前',\n s : '数秒',\n m : '1分',\n mm : '%d分',\n h : '1時間',\n hh : '%d時間',\n d : '1日',\n dd : '%d日',\n M : '1ヶ月',\n MM : '%dヶ月',\n y : '1年',\n yy : '%d年'\n }\n});\n\nreturn ja;\n\n})));\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/moment/locale/ja.js\n ** module id = 248\n ** module chunks = 0\n **/","//! moment.js locale configuration\n//! locale : Javanese [jv]\n//! author : Rony Lantip : https://github.com/lantip\n//! reference: http://jv.wikipedia.org/wiki/Basa_Jawa\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar jv = moment.defineLocale('jv', {\n months : 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_Nopember_Desember'.split('_'),\n monthsShort : 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nop_Des'.split('_'),\n weekdays : 'Minggu_Senen_Seloso_Rebu_Kemis_Jemuwah_Septu'.split('_'),\n weekdaysShort : 'Min_Sen_Sel_Reb_Kem_Jem_Sep'.split('_'),\n weekdaysMin : 'Mg_Sn_Sl_Rb_Km_Jm_Sp'.split('_'),\n longDateFormat : {\n LT : 'HH.mm',\n LTS : 'HH.mm.ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY [pukul] HH.mm',\n LLLL : 'dddd, D MMMM YYYY [pukul] HH.mm'\n },\n meridiemParse: /enjing|siyang|sonten|ndalu/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'enjing') {\n return hour;\n } else if (meridiem === 'siyang') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'sonten' || meridiem === 'ndalu') {\n return hour + 12;\n }\n },\n meridiem : function (hours, minutes, isLower) {\n if (hours < 11) {\n return 'enjing';\n } else if (hours < 15) {\n return 'siyang';\n } else if (hours < 19) {\n return 'sonten';\n } else {\n return 'ndalu';\n }\n },\n calendar : {\n sameDay : '[Dinten puniko pukul] LT',\n nextDay : '[Mbenjang pukul] LT',\n nextWeek : 'dddd [pukul] LT',\n lastDay : '[Kala wingi pukul] LT',\n lastWeek : 'dddd [kepengker pukul] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'wonten ing %s',\n past : '%s ingkang kepengker',\n s : 'sawetawis detik',\n m : 'setunggal menit',\n mm : '%d menit',\n h : 'setunggal jam',\n hh : '%d jam',\n d : 'sedinten',\n dd : '%d dinten',\n M : 'sewulan',\n MM : '%d wulan',\n y : 'setaun',\n yy : '%d taun'\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n});\n\nreturn jv;\n\n})));\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/moment/locale/jv.js\n ** module id = 249\n ** module chunks = 0\n **/","//! moment.js locale configuration\n//! locale : Georgian [ka]\n//! author : Irakli Janiashvili : https://github.com/irakli-janiashvili\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar ka = moment.defineLocale('ka', {\n months : {\n standalone: 'იანვარი_თებერვალი_მარტი_აპრილი_მაისი_ივნისი_ივლისი_აგვისტო_სექტემბერი_ოქტომბერი_ნოემბერი_დეკემბერი'.split('_'),\n format: 'იანვარს_თებერვალს_მარტს_აპრილის_მაისს_ივნისს_ივლისს_აგვისტს_სექტემბერს_ოქტომბერს_ნოემბერს_დეკემბერს'.split('_')\n },\n monthsShort : 'იან_თებ_მარ_აპრ_მაი_ივნ_ივლ_აგვ_სექ_ოქტ_ნოე_დეკ'.split('_'),\n weekdays : {\n standalone: 'კვირა_ორშაბათი_სამშაბათი_ოთხშაბათი_ხუთშაბათი_პარასკევი_შაბათი'.split('_'),\n format: 'კვირას_ორშაბათს_სამშაბათს_ოთხშაბათს_ხუთშაბათს_პარასკევს_შაბათს'.split('_'),\n isFormat: /(წინა|შემდეგ)/\n },\n weekdaysShort : 'კვი_ორშ_სამ_ოთხ_ხუთ_პარ_შაბ'.split('_'),\n weekdaysMin : 'კვ_ორ_სა_ოთ_ხუ_პა_შა'.split('_'),\n longDateFormat : {\n LT : 'h:mm A',\n LTS : 'h:mm:ss A',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY h:mm A',\n LLLL : 'dddd, D MMMM YYYY h:mm A'\n },\n calendar : {\n sameDay : '[დღეს] LT[-ზე]',\n nextDay : '[ხვალ] LT[-ზე]',\n lastDay : '[გუშინ] LT[-ზე]',\n nextWeek : '[შემდეგ] dddd LT[-ზე]',\n lastWeek : '[წინა] dddd LT-ზე',\n sameElse : 'L'\n },\n relativeTime : {\n future : function (s) {\n return (/(წამი|წუთი|საათი|წელი)/).test(s) ?\n s.replace(/ი$/, 'ში') :\n s + 'ში';\n },\n past : function (s) {\n if ((/(წამი|წუთი|საათი|დღე|თვე)/).test(s)) {\n return s.replace(/(ი|ე)$/, 'ის წინ');\n }\n if ((/წელი/).test(s)) {\n return s.replace(/წელი$/, 'წლის წინ');\n }\n },\n s : 'რამდენიმე წამი',\n m : 'წუთი',\n mm : '%d წუთი',\n h : 'საათი',\n hh : '%d საათი',\n d : 'დღე',\n dd : '%d დღე',\n M : 'თვე',\n MM : '%d თვე',\n y : 'წელი',\n yy : '%d წელი'\n },\n ordinalParse: /0|1-ლი|მე-\\d{1,2}|\\d{1,2}-ე/,\n ordinal : function (number) {\n if (number === 0) {\n return number;\n }\n if (number === 1) {\n return number + '-ლი';\n }\n if ((number < 20) || (number <= 100 && (number % 20 === 0)) || (number % 100 === 0)) {\n return 'მე-' + number;\n }\n return number + '-ე';\n },\n week : {\n dow : 1,\n doy : 7\n }\n});\n\nreturn ka;\n\n})));\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/moment/locale/ka.js\n ** module id = 250\n ** module chunks = 0\n **/","//! moment.js locale configuration\n//! locale : Kazakh [kk]\n//! authors : Nurlan Rakhimzhanov : https://github.com/nurlan\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar suffixes = {\n 0: '-ші',\n 1: '-ші',\n 2: '-ші',\n 3: '-ші',\n 4: '-ші',\n 5: '-ші',\n 6: '-шы',\n 7: '-ші',\n 8: '-ші',\n 9: '-шы',\n 10: '-шы',\n 20: '-шы',\n 30: '-шы',\n 40: '-шы',\n 50: '-ші',\n 60: '-шы',\n 70: '-ші',\n 80: '-ші',\n 90: '-шы',\n 100: '-ші'\n};\n\nvar kk = moment.defineLocale('kk', {\n months : 'қаңтар_ақпан_наурыз_сәуір_мамыр_маусым_шілде_тамыз_қыркүйек_қазан_қараша_желтоқсан'.split('_'),\n monthsShort : 'қаң_ақп_нау_сәу_мам_мау_шіл_там_қыр_қаз_қар_жел'.split('_'),\n weekdays : 'жексенбі_дүйсенбі_сейсенбі_сәрсенбі_бейсенбі_жұма_сенбі'.split('_'),\n weekdaysShort : 'жек_дүй_сей_сәр_бей_жұм_сен'.split('_'),\n weekdaysMin : 'жк_дй_сй_ср_бй_жм_сн'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Бүгін сағат] LT',\n nextDay : '[Ертең сағат] LT',\n nextWeek : 'dddd [сағат] LT',\n lastDay : '[Кеше сағат] LT',\n lastWeek : '[Өткен аптаның] dddd [сағат] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s ішінде',\n past : '%s бұрын',\n s : 'бірнеше секунд',\n m : 'бір минут',\n mm : '%d минут',\n h : 'бір сағат',\n hh : '%d сағат',\n d : 'бір күн',\n dd : '%d күн',\n M : 'бір ай',\n MM : '%d ай',\n y : 'бір жыл',\n yy : '%d жыл'\n },\n ordinalParse: /\\d{1,2}-(ші|шы)/,\n ordinal : function (number) {\n var a = number % 10,\n b = number >= 100 ? 100 : null;\n return number + (suffixes[number] || suffixes[a] || suffixes[b]);\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n});\n\nreturn kk;\n\n})));\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/moment/locale/kk.js\n ** module id = 251\n ** module chunks = 0\n **/","//! moment.js locale configuration\n//! locale : Cambodian [km]\n//! author : Kruy Vanna : https://github.com/kruyvanna\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar km = moment.defineLocale('km', {\n months: 'មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ'.split('_'),\n monthsShort: 'មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ'.split('_'),\n weekdays: 'អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍'.split('_'),\n weekdaysShort: 'អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍'.split('_'),\n weekdaysMin: 'អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS : 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[ថ្ងៃនេះ ម៉ោង] LT',\n nextDay: '[ស្អែក ម៉ោង] LT',\n nextWeek: 'dddd [ម៉ោង] LT',\n lastDay: '[ម្សិលមិញ ម៉ោង] LT',\n lastWeek: 'dddd [សប្តាហ៍មុន] [ម៉ោង] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%sទៀត',\n past: '%sមុន',\n s: 'ប៉ុន្មានវិនាទី',\n m: 'មួយនាទី',\n mm: '%d នាទី',\n h: 'មួយម៉ោង',\n hh: '%d ម៉ោង',\n d: 'មួយថ្ងៃ',\n dd: '%d ថ្ងៃ',\n M: 'មួយខែ',\n MM: '%d ខែ',\n y: 'មួយឆ្នាំ',\n yy: '%d ឆ្នាំ'\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn km;\n\n})));\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/moment/locale/km.js\n ** module id = 252\n ** module chunks = 0\n **/","//! moment.js locale configuration\n//! locale : Korean [ko]\n//! author : Kyungwook, Park : https://github.com/kyungw00k\n//! author : Jeeeyul Lee <jeeeyul@gmail.com>\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar ko = moment.defineLocale('ko', {\n months : '1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월'.split('_'),\n monthsShort : '1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월'.split('_'),\n weekdays : '일요일_월요일_화요일_수요일_목요일_금요일_토요일'.split('_'),\n weekdaysShort : '일_월_화_수_목_금_토'.split('_'),\n weekdaysMin : '일_월_화_수_목_금_토'.split('_'),\n longDateFormat : {\n LT : 'A h시 m분',\n LTS : 'A h시 m분 s초',\n L : 'YYYY.MM.DD',\n LL : 'YYYY년 MMMM D일',\n LLL : 'YYYY년 MMMM D일 A h시 m분',\n LLLL : 'YYYY년 MMMM D일 dddd A h시 m분'\n },\n calendar : {\n sameDay : '오늘 LT',\n nextDay : '내일 LT',\n nextWeek : 'dddd LT',\n lastDay : '어제 LT',\n lastWeek : '지난주 dddd LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s 후',\n past : '%s 전',\n s : '몇 초',\n ss : '%d초',\n m : '일분',\n mm : '%d분',\n h : '한 시간',\n hh : '%d시간',\n d : '하루',\n dd : '%d일',\n M : '한 달',\n MM : '%d달',\n y : '일 년',\n yy : '%d년'\n },\n ordinalParse : /\\d{1,2}일/,\n ordinal : '%d일',\n meridiemParse : /오전|오후/,\n isPM : function (token) {\n return token === '오후';\n },\n meridiem : function (hour, minute, isUpper) {\n return hour < 12 ? '오전' : '오후';\n }\n});\n\nreturn ko;\n\n})));\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/moment/locale/ko.js\n ** module id = 253\n ** module chunks = 0\n **/","//! moment.js locale configuration\n//! locale : Kyrgyz [ky]\n//! author : Chyngyz Arystan uulu : https://github.com/chyngyz\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n\nvar suffixes = {\n 0: '-чү',\n 1: '-чи',\n 2: '-чи',\n 3: '-чү',\n 4: '-чү',\n 5: '-чи',\n 6: '-чы',\n 7: '-чи',\n 8: '-чи',\n 9: '-чу',\n 10: '-чу',\n 20: '-чы',\n 30: '-чу',\n 40: '-чы',\n 50: '-чү',\n 60: '-чы',\n 70: '-чи',\n 80: '-чи',\n 90: '-чу',\n 100: '-чү'\n};\n\nvar ky = moment.defineLocale('ky', {\n months : 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split('_'),\n monthsShort : 'янв_фев_март_апр_май_июнь_июль_авг_сен_окт_ноя_дек'.split('_'),\n weekdays : 'Жекшемби_Дүйшөмбү_Шейшемби_Шаршемби_Бейшемби_Жума_Ишемби'.split('_'),\n weekdaysShort : 'Жек_Дүй_Шей_Шар_Бей_Жум_Ише'.split('_'),\n weekdaysMin : 'Жк_Дй_Шй_Шр_Бй_Жм_Иш'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Бүгүн саат] LT',\n nextDay : '[Эртең саат] LT',\n nextWeek : 'dddd [саат] LT',\n lastDay : '[Кече саат] LT',\n lastWeek : '[Өткен аптанын] dddd [күнү] [саат] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s ичинде',\n past : '%s мурун',\n s : 'бирнече секунд',\n m : 'бир мүнөт',\n mm : '%d мүнөт',\n h : 'бир саат',\n hh : '%d саат',\n d : 'бир күн',\n dd : '%d күн',\n M : 'бир ай',\n MM : '%d ай',\n y : 'бир жыл',\n yy : '%d жыл'\n },\n ordinalParse: /\\d{1,2}-(чи|чы|чү|чу)/,\n ordinal : function (number) {\n var a = number % 10,\n b = number >= 100 ? 100 : null;\n return number + (suffixes[number] || suffixes[a] || suffixes[b]);\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n});\n\nreturn ky;\n\n})));\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/moment/locale/ky.js\n ** module id = 254\n ** module chunks = 0\n **/","//! moment.js locale configuration\n//! locale : Luxembourgish [lb]\n//! author : mweimerskirch : https://github.com/mweimerskirch\n//! author : David Raison : https://github.com/kwisatz\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nfunction processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n 'm': ['eng Minutt', 'enger Minutt'],\n 'h': ['eng Stonn', 'enger Stonn'],\n 'd': ['een Dag', 'engem Dag'],\n 'M': ['ee Mount', 'engem Mount'],\n 'y': ['ee Joer', 'engem Joer']\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n}\nfunction processFutureTime(string) {\n var number = string.substr(0, string.indexOf(' '));\n if (eifelerRegelAppliesToNumber(number)) {\n return 'a ' + string;\n }\n return 'an ' + string;\n}\nfunction processPastTime(string) {\n var number = string.substr(0, string.indexOf(' '));\n if (eifelerRegelAppliesToNumber(number)) {\n return 'viru ' + string;\n }\n return 'virun ' + string;\n}\n/**\n * Returns true if the word before the given number loses the '-n' ending.\n * e.g. 'an 10 Deeg' but 'a 5 Deeg'\n *\n * @param number {integer}\n * @returns {boolean}\n */\nfunction eifelerRegelAppliesToNumber(number) {\n number = parseInt(number, 10);\n if (isNaN(number)) {\n return false;\n }\n if (number < 0) {\n // Negative Number --> always true\n return true;\n } else if (number < 10) {\n // Only 1 digit\n if (4 <= number && number <= 7) {\n return true;\n }\n return false;\n } else if (number < 100) {\n // 2 digits\n var lastDigit = number % 10, firstDigit = number / 10;\n if (lastDigit === 0) {\n return eifelerRegelAppliesToNumber(firstDigit);\n }\n return eifelerRegelAppliesToNumber(lastDigit);\n } else if (number < 10000) {\n // 3 or 4 digits --> recursively check first digit\n while (number >= 10) {\n number = number / 10;\n }\n return eifelerRegelAppliesToNumber(number);\n } else {\n // Anything larger than 4 digits: recursively check first n-3 digits\n number = number / 1000;\n return eifelerRegelAppliesToNumber(number);\n }\n}\n\nvar lb = moment.defineLocale('lb', {\n months: 'Januar_Februar_Mäerz_Abrëll_Mee_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'),\n monthsShort: 'Jan._Febr._Mrz._Abr._Mee_Jun._Jul._Aug._Sept._Okt._Nov._Dez.'.split('_'),\n monthsParseExact : true,\n weekdays: 'Sonndeg_Méindeg_Dënschdeg_Mëttwoch_Donneschdeg_Freideg_Samschdeg'.split('_'),\n weekdaysShort: 'So._Mé._Dë._Më._Do._Fr._Sa.'.split('_'),\n weekdaysMin: 'So_Mé_Dë_Më_Do_Fr_Sa'.split('_'),\n weekdaysParseExact : true,\n longDateFormat: {\n LT: 'H:mm [Auer]',\n LTS: 'H:mm:ss [Auer]',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm [Auer]',\n LLLL: 'dddd, D. MMMM YYYY H:mm [Auer]'\n },\n calendar: {\n sameDay: '[Haut um] LT',\n sameElse: 'L',\n nextDay: '[Muer um] LT',\n nextWeek: 'dddd [um] LT',\n lastDay: '[Gëschter um] LT',\n lastWeek: function () {\n // Different date string for 'Dënschdeg' (Tuesday) and 'Donneschdeg' (Thursday) due to phonological rule\n switch (this.day()) {\n case 2:\n case 4:\n return '[Leschten] dddd [um] LT';\n default:\n return '[Leschte] dddd [um] LT';\n }\n }\n },\n relativeTime : {\n future : processFutureTime,\n past : processPastTime,\n s : 'e puer Sekonnen',\n m : processRelativeTime,\n mm : '%d Minutten',\n h : processRelativeTime,\n hh : '%d Stonnen',\n d : processRelativeTime,\n dd : '%d Deeg',\n M : processRelativeTime,\n MM : '%d Méint',\n y : processRelativeTime,\n yy : '%d Joer'\n },\n ordinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn lb;\n\n})));\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/moment/locale/lb.js\n ** module id = 255\n ** module chunks = 0\n **/","//! moment.js locale configuration\n//! locale : Lao [lo]\n//! author : Ryan Hart : https://github.com/ryanhart2\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar lo = moment.defineLocale('lo', {\n months : 'ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ'.split('_'),\n monthsShort : 'ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ'.split('_'),\n weekdays : 'ອາທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ'.split('_'),\n weekdaysShort : 'ທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ'.split('_'),\n weekdaysMin : 'ທ_ຈ_ອຄ_ພ_ພຫ_ສກ_ສ'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'ວັນdddd D MMMM YYYY HH:mm'\n },\n meridiemParse: /ຕອນເຊົ້າ|ຕອນແລງ/,\n isPM: function (input) {\n return input === 'ຕອນແລງ';\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ຕອນເຊົ້າ';\n } else {\n return 'ຕອນແລງ';\n }\n },\n calendar : {\n sameDay : '[ມື້ນີ້ເວລາ] LT',\n nextDay : '[ມື້ອື່ນເວລາ] LT',\n nextWeek : '[ວັນ]dddd[ໜ້າເວລາ] LT',\n lastDay : '[ມື້ວານນີ້ເວລາ] LT',\n lastWeek : '[ວັນ]dddd[ແລ້ວນີ້ເວລາ] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'ອີກ %s',\n past : '%sຜ່ານມາ',\n s : 'ບໍ່ເທົ່າໃດວິນາທີ',\n m : '1 ນາທີ',\n mm : '%d ນາທີ',\n h : '1 ຊົ່ວໂມງ',\n hh : '%d ຊົ່ວໂມງ',\n d : '1 ມື້',\n dd : '%d ມື້',\n M : '1 ເດືອນ',\n MM : '%d ເດືອນ',\n y : '1 ປີ',\n yy : '%d ປີ'\n },\n ordinalParse: /(ທີ່)\\d{1,2}/,\n ordinal : function (number) {\n return 'ທີ່' + number;\n }\n});\n\nreturn lo;\n\n})));\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/moment/locale/lo.js\n ** module id = 256\n ** module chunks = 0\n **/","//! moment.js locale configuration\n//! locale : Lithuanian [lt]\n//! author : Mindaugas Mozūras : https://github.com/mmozuras\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar units = {\n 'm' : 'minutė_minutės_minutę',\n 'mm': 'minutės_minučių_minutes',\n 'h' : 'valanda_valandos_valandą',\n 'hh': 'valandos_valandų_valandas',\n 'd' : 'diena_dienos_dieną',\n 'dd': 'dienos_dienų_dienas',\n 'M' : 'mėnuo_mėnesio_mėnesį',\n 'MM': 'mėnesiai_mėnesių_mėnesius',\n 'y' : 'metai_metų_metus',\n 'yy': 'metai_metų_metus'\n};\nfunction translateSeconds(number, withoutSuffix, key, isFuture) {\n if (withoutSuffix) {\n return 'kelios sekundės';\n } else {\n return isFuture ? 'kelių sekundžių' : 'kelias sekundes';\n }\n}\nfunction translateSingular(number, withoutSuffix, key, isFuture) {\n return withoutSuffix ? forms(key)[0] : (isFuture ? forms(key)[1] : forms(key)[2]);\n}\nfunction special(number) {\n return number % 10 === 0 || (number > 10 && number < 20);\n}\nfunction forms(key) {\n return units[key].split('_');\n}\nfunction translate(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n if (number === 1) {\n return result + translateSingular(number, withoutSuffix, key[0], isFuture);\n } else if (withoutSuffix) {\n return result + (special(number) ? forms(key)[1] : forms(key)[0]);\n } else {\n if (isFuture) {\n return result + forms(key)[1];\n } else {\n return result + (special(number) ? forms(key)[1] : forms(key)[2]);\n }\n }\n}\nvar lt = moment.defineLocale('lt', {\n months : {\n format: 'sausio_vasario_kovo_balandžio_gegužės_birželio_liepos_rugpjūčio_rugsėjo_spalio_lapkričio_gruodžio'.split('_'),\n standalone: 'sausis_vasaris_kovas_balandis_gegužė_birželis_liepa_rugpjūtis_rugsėjis_spalis_lapkritis_gruodis'.split('_'),\n isFormat: /D[oD]?(\\[[^\\[\\]]*\\]|\\s)+MMMM?|MMMM?(\\[[^\\[\\]]*\\]|\\s)+D[oD]?/\n },\n monthsShort : 'sau_vas_kov_bal_geg_bir_lie_rgp_rgs_spa_lap_grd'.split('_'),\n weekdays : {\n format: 'sekmadienį_pirmadienį_antradienį_trečiadienį_ketvirtadienį_penktadienį_šeštadienį'.split('_'),\n standalone: 'sekmadienis_pirmadienis_antradienis_trečiadienis_ketvirtadienis_penktadienis_šeštadienis'.split('_'),\n isFormat: /dddd HH:mm/\n },\n weekdaysShort : 'Sek_Pir_Ant_Tre_Ket_Pen_Šeš'.split('_'),\n weekdaysMin : 'S_P_A_T_K_Pn_Š'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'YYYY-MM-DD',\n LL : 'YYYY [m.] MMMM D [d.]',\n LLL : 'YYYY [m.] MMMM D [d.], HH:mm [val.]',\n LLLL : 'YYYY [m.] MMMM D [d.], dddd, HH:mm [val.]',\n l : 'YYYY-MM-DD',\n ll : 'YYYY [m.] MMMM D [d.]',\n lll : 'YYYY [m.] MMMM D [d.], HH:mm [val.]',\n llll : 'YYYY [m.] MMMM D [d.], ddd, HH:mm [val.]'\n },\n calendar : {\n sameDay : '[Šiandien] LT',\n nextDay : '[Rytoj] LT',\n nextWeek : 'dddd LT',\n lastDay : '[Vakar] LT',\n lastWeek : '[Praėjusį] dddd LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'po %s',\n past : 'prieš %s',\n s : translateSeconds,\n m : translateSingular,\n mm : translate,\n h : translateSingular,\n hh : translate,\n d : translateSingular,\n dd : translate,\n M : translateSingular,\n MM : translate,\n y : translateSingular,\n yy : translate\n },\n ordinalParse: /\\d{1,2}-oji/,\n ordinal : function (number) {\n return number + '-oji';\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn lt;\n\n})));\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/moment/locale/lt.js\n ** module id = 257\n ** module chunks = 0\n **/","//! moment.js locale configuration\n//! locale : Latvian [lv]\n//! author : Kristaps Karlsons : https://github.com/skakri\n//! author : Jānis Elmeris : https://github.com/JanisE\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar units = {\n 'm': 'minūtes_minūtēm_minūte_minūtes'.split('_'),\n 'mm': 'minūtes_minūtēm_minūte_minūtes'.split('_'),\n 'h': 'stundas_stundām_stunda_stundas'.split('_'),\n 'hh': 'stundas_stundām_stunda_stundas'.split('_'),\n 'd': 'dienas_dienām_diena_dienas'.split('_'),\n 'dd': 'dienas_dienām_diena_dienas'.split('_'),\n 'M': 'mēneša_mēnešiem_mēnesis_mēneši'.split('_'),\n 'MM': 'mēneša_mēnešiem_mēnesis_mēneši'.split('_'),\n 'y': 'gada_gadiem_gads_gadi'.split('_'),\n 'yy': 'gada_gadiem_gads_gadi'.split('_')\n};\n/**\n * @param withoutSuffix boolean true = a length of time; false = before/after a period of time.\n */\nfunction format(forms, number, withoutSuffix) {\n if (withoutSuffix) {\n // E.g. \"21 minūte\", \"3 minūtes\".\n return number % 10 === 1 && number % 100 !== 11 ? forms[2] : forms[3];\n } else {\n // E.g. \"21 minūtes\" as in \"pēc 21 minūtes\".\n // E.g. \"3 minūtēm\" as in \"pēc 3 minūtēm\".\n return number % 10 === 1 && number % 100 !== 11 ? forms[0] : forms[1];\n }\n}\nfunction relativeTimeWithPlural(number, withoutSuffix, key) {\n return number + ' ' + format(units[key], number, withoutSuffix);\n}\nfunction relativeTimeWithSingular(number, withoutSuffix, key) {\n return format(units[key], number, withoutSuffix);\n}\nfunction relativeSeconds(number, withoutSuffix) {\n return withoutSuffix ? 'dažas sekundes' : 'dažām sekundēm';\n}\n\nvar lv = moment.defineLocale('lv', {\n months : 'janvāris_februāris_marts_aprīlis_maijs_jūnijs_jūlijs_augusts_septembris_oktobris_novembris_decembris'.split('_'),\n monthsShort : 'jan_feb_mar_apr_mai_jūn_jūl_aug_sep_okt_nov_dec'.split('_'),\n weekdays : 'svētdiena_pirmdiena_otrdiena_trešdiena_ceturtdiena_piektdiena_sestdiena'.split('_'),\n weekdaysShort : 'Sv_P_O_T_C_Pk_S'.split('_'),\n weekdaysMin : 'Sv_P_O_T_C_Pk_S'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY.',\n LL : 'YYYY. [gada] D. MMMM',\n LLL : 'YYYY. [gada] D. MMMM, HH:mm',\n LLLL : 'YYYY. [gada] D. MMMM, dddd, HH:mm'\n },\n calendar : {\n sameDay : '[Šodien pulksten] LT',\n nextDay : '[Rīt pulksten] LT',\n nextWeek : 'dddd [pulksten] LT',\n lastDay : '[Vakar pulksten] LT',\n lastWeek : '[Pagājušā] dddd [pulksten] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'pēc %s',\n past : 'pirms %s',\n s : relativeSeconds,\n m : relativeTimeWithSingular,\n mm : relativeTimeWithPlural,\n h : relativeTimeWithSingular,\n hh : relativeTimeWithPlural,\n d : relativeTimeWithSingular,\n dd : relativeTimeWithPlural,\n M : relativeTimeWithSingular,\n MM : relativeTimeWithPlural,\n y : relativeTimeWithSingular,\n yy : relativeTimeWithPlural\n },\n ordinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn lv;\n\n})));\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/moment/locale/lv.js\n ** module id = 258\n ** module chunks = 0\n **/","//! moment.js locale configuration\n//! locale : Montenegrin [me]\n//! author : Miodrag Nikač <miodrag@restartit.me> : https://github.com/miodragnikac\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar translator = {\n words: { //Different grammatical cases\n m: ['jedan minut', 'jednog minuta'],\n mm: ['minut', 'minuta', 'minuta'],\n h: ['jedan sat', 'jednog sata'],\n hh: ['sat', 'sata', 'sati'],\n dd: ['dan', 'dana', 'dana'],\n MM: ['mjesec', 'mjeseca', 'mjeseci'],\n yy: ['godina', 'godine', 'godina']\n },\n correctGrammaticalCase: function (number, wordKey) {\n return number === 1 ? wordKey[0] : (number >= 2 && number <= 4 ? wordKey[1] : wordKey[2]);\n },\n translate: function (number, withoutSuffix, key) {\n var wordKey = translator.words[key];\n if (key.length === 1) {\n return withoutSuffix ? wordKey[0] : wordKey[1];\n } else {\n return number + ' ' + translator.correctGrammaticalCase(number, wordKey);\n }\n }\n};\n\nvar me = moment.defineLocale('me', {\n months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split('_'),\n monthsShort: 'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split('_'),\n monthsParseExact : true,\n weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split('_'),\n weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),\n weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),\n weekdaysParseExact : true,\n longDateFormat: {\n LT: 'H:mm',\n LTS : 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd, D. MMMM YYYY H:mm'\n },\n calendar: {\n sameDay: '[danas u] LT',\n nextDay: '[sjutra u] LT',\n\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[u] [nedjelju] [u] LT';\n case 3:\n return '[u] [srijedu] [u] LT';\n case 6:\n return '[u] [subotu] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[u] dddd [u] LT';\n }\n },\n lastDay : '[juče u] LT',\n lastWeek : function () {\n var lastWeekDays = [\n '[prošle] [nedjelje] [u] LT',\n '[prošlog] [ponedjeljka] [u] LT',\n '[prošlog] [utorka] [u] LT',\n '[prošle] [srijede] [u] LT',\n '[prošlog] [četvrtka] [u] LT',\n '[prošlog] [petka] [u] LT',\n '[prošle] [subote] [u] LT'\n ];\n return lastWeekDays[this.day()];\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'za %s',\n past : 'prije %s',\n s : 'nekoliko sekundi',\n m : translator.translate,\n mm : translator.translate,\n h : translator.translate,\n hh : translator.translate,\n d : 'dan',\n dd : translator.translate,\n M : 'mjesec',\n MM : translator.translate,\n y : 'godinu',\n yy : translator.translate\n },\n ordinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n});\n\nreturn me;\n\n})));\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/moment/locale/me.js\n ** module id = 259\n ** module chunks = 0\n **/","//! moment.js locale configuration\n//! locale : Maori [mi]\n//! author : John Corrigan <robbiecloset@gmail.com> : https://github.com/johnideal\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar mi = moment.defineLocale('mi', {\n months: 'Kohi-tāte_Hui-tanguru_Poutū-te-rangi_Paenga-whāwhā_Haratua_Pipiri_Hōngoingoi_Here-turi-kōkā_Mahuru_Whiringa-ā-nuku_Whiringa-ā-rangi_Hakihea'.split('_'),\n monthsShort: 'Kohi_Hui_Pou_Pae_Hara_Pipi_Hōngoi_Here_Mahu_Whi-nu_Whi-ra_Haki'.split('_'),\n monthsRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,3}/i,\n monthsStrictRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,3}/i,\n monthsShortRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,3}/i,\n monthsShortStrictRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,2}/i,\n weekdays: 'Rātapu_Mane_Tūrei_Wenerei_Tāite_Paraire_Hātarei'.split('_'),\n weekdaysShort: 'Ta_Ma_Tū_We_Tāi_Pa_Hā'.split('_'),\n weekdaysMin: 'Ta_Ma_Tū_We_Tāi_Pa_Hā'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY [i] HH:mm',\n LLLL: 'dddd, D MMMM YYYY [i] HH:mm'\n },\n calendar: {\n sameDay: '[i teie mahana, i] LT',\n nextDay: '[apopo i] LT',\n nextWeek: 'dddd [i] LT',\n lastDay: '[inanahi i] LT',\n lastWeek: 'dddd [whakamutunga i] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'i roto i %s',\n past: '%s i mua',\n s: 'te hēkona ruarua',\n m: 'he meneti',\n mm: '%d meneti',\n h: 'te haora',\n hh: '%d haora',\n d: 'he ra',\n dd: '%d ra',\n M: 'he marama',\n MM: '%d marama',\n y: 'he tau',\n yy: '%d tau'\n },\n ordinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn mi;\n\n})));\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/moment/locale/mi.js\n ** module id = 260\n ** module chunks = 0\n **/","//! moment.js locale configuration\n//! locale : Macedonian [mk]\n//! author : Borislav Mickov : https://github.com/B0k0\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar mk = moment.defineLocale('mk', {\n months : 'јануари_февруари_март_април_мај_јуни_јули_август_септември_октомври_ноември_декември'.split('_'),\n monthsShort : 'јан_фев_мар_апр_мај_јун_јул_авг_сеп_окт_ное_дек'.split('_'),\n weekdays : 'недела_понеделник_вторник_среда_четврток_петок_сабота'.split('_'),\n weekdaysShort : 'нед_пон_вто_сре_чет_пет_саб'.split('_'),\n weekdaysMin : 'нe_пo_вт_ср_че_пе_сa'.split('_'),\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'D.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY H:mm',\n LLLL : 'dddd, D MMMM YYYY H:mm'\n },\n calendar : {\n sameDay : '[Денес во] LT',\n nextDay : '[Утре во] LT',\n nextWeek : '[Во] dddd [во] LT',\n lastDay : '[Вчера во] LT',\n lastWeek : function () {\n switch (this.day()) {\n case 0:\n case 3:\n case 6:\n return '[Изминатата] dddd [во] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[Изминатиот] dddd [во] LT';\n }\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'после %s',\n past : 'пред %s',\n s : 'неколку секунди',\n m : 'минута',\n mm : '%d минути',\n h : 'час',\n hh : '%d часа',\n d : 'ден',\n dd : '%d дена',\n M : 'месец',\n MM : '%d месеци',\n y : 'година',\n yy : '%d години'\n },\n ordinalParse: /\\d{1,2}-(ев|ен|ти|ви|ри|ми)/,\n ordinal : function (number) {\n var lastDigit = number % 10,\n last2Digits = number % 100;\n if (number === 0) {\n return number + '-ев';\n } else if (last2Digits === 0) {\n return number + '-ен';\n } else if (last2Digits > 10 && last2Digits < 20) {\n return number + '-ти';\n } else if (lastDigit === 1) {\n return number + '-ви';\n } else if (lastDigit === 2) {\n return number + '-ри';\n } else if (lastDigit === 7 || lastDigit === 8) {\n return number + '-ми';\n } else {\n return number + '-ти';\n }\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n});\n\nreturn mk;\n\n})));\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/moment/locale/mk.js\n ** module id = 261\n ** module chunks = 0\n **/","//! moment.js locale configuration\n//! locale : Malayalam [ml]\n//! author : Floyd Pink : https://github.com/floydpink\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar ml = moment.defineLocale('ml', {\n months : 'ജനുവരി_ഫെബ്രുവരി_മാർച്ച്_ഏപ്രിൽ_മേയ്_ജൂൺ_ജൂലൈ_ഓഗസ്റ്റ്_സെപ്റ്റംബർ_ഒക്ടോബർ_നവംബർ_ഡിസംബർ'.split('_'),\n monthsShort : 'ജനു._ഫെബ്രു._മാർ._ഏപ്രി._മേയ്_ജൂൺ_ജൂലൈ._ഓഗ._സെപ്റ്റ._ഒക്ടോ._നവം._ഡിസം.'.split('_'),\n monthsParseExact : true,\n weekdays : 'ഞായറാഴ്ച_തിങ്കളാഴ്ച_ചൊവ്വാഴ്ച_ബുധനാഴ്ച_വ്യാഴാഴ്ച_വെള്ളിയാഴ്ച_ശനിയാഴ്ച'.split('_'),\n weekdaysShort : 'ഞായർ_തിങ്കൾ_ചൊവ്വ_ബുധൻ_വ്യാഴം_വെള്ളി_ശനി'.split('_'),\n weekdaysMin : 'ഞാ_തി_ചൊ_ബു_വ്യാ_വെ_ശ'.split('_'),\n longDateFormat : {\n LT : 'A h:mm -നു',\n LTS : 'A h:mm:ss -നു',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY, A h:mm -നു',\n LLLL : 'dddd, D MMMM YYYY, A h:mm -നു'\n },\n calendar : {\n sameDay : '[ഇന്ന്] LT',\n nextDay : '[നാളെ] LT',\n nextWeek : 'dddd, LT',\n lastDay : '[ഇന്നലെ] LT',\n lastWeek : '[കഴിഞ്ഞ] dddd, LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s കഴിഞ്ഞ്',\n past : '%s മുൻപ്',\n s : 'അൽപ നിമിഷങ്ങൾ',\n m : 'ഒരു മിനിറ്റ്',\n mm : '%d മിനിറ്റ്',\n h : 'ഒരു മണിക്കൂർ',\n hh : '%d മണിക്കൂർ',\n d : 'ഒരു ദിവസം',\n dd : '%d ദിവസം',\n M : 'ഒരു മാസം',\n MM : '%d മാസം',\n y : 'ഒരു വർഷം',\n yy : '%d വർഷം'\n },\n meridiemParse: /രാത്രി|രാവിലെ|ഉച്ച കഴിഞ്ഞ്|വൈകുന്നേരം|രാത്രി/i,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if ((meridiem === 'രാത്രി' && hour >= 4) ||\n meridiem === 'ഉച്ച കഴിഞ്ഞ്' ||\n meridiem === 'വൈകുന്നേരം') {\n return hour + 12;\n } else {\n return hour;\n }\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'രാത്രി';\n } else if (hour < 12) {\n return 'രാവിലെ';\n } else if (hour < 17) {\n return 'ഉച്ച കഴിഞ്ഞ്';\n } else if (hour < 20) {\n return 'വൈകുന്നേരം';\n } else {\n return 'രാത്രി';\n }\n }\n});\n\nreturn ml;\n\n})));\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/moment/locale/ml.js\n ** module id = 262\n ** module chunks = 0\n **/","//! moment.js locale configuration\n//! locale : Marathi [mr]\n//! author : Harshad Kale : https://github.com/kalehv\n//! author : Vivek Athalye : https://github.com/vnathalye\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar symbolMap = {\n '1': '१',\n '2': '२',\n '3': '३',\n '4': '४',\n '5': '५',\n '6': '६',\n '7': '७',\n '8': '८',\n '9': '९',\n '0': '०'\n};\nvar numberMap = {\n '१': '1',\n '२': '2',\n '३': '3',\n '४': '4',\n '५': '5',\n '६': '6',\n '७': '7',\n '८': '8',\n '९': '9',\n '०': '0'\n};\n\nfunction relativeTimeMr(number, withoutSuffix, string, isFuture)\n{\n var output = '';\n if (withoutSuffix) {\n switch (string) {\n case 's': output = 'काही सेकंद'; break;\n case 'm': output = 'एक मिनिट'; break;\n case 'mm': output = '%d मिनिटे'; break;\n case 'h': output = 'एक तास'; break;\n case 'hh': output = '%d तास'; break;\n case 'd': output = 'एक दिवस'; break;\n case 'dd': output = '%d दिवस'; break;\n case 'M': output = 'एक महिना'; break;\n case 'MM': output = '%d महिने'; break;\n case 'y': output = 'एक वर्ष'; break;\n case 'yy': output = '%d वर्षे'; break;\n }\n }\n else {\n switch (string) {\n case 's': output = 'काही सेकंदां'; break;\n case 'm': output = 'एका मिनिटा'; break;\n case 'mm': output = '%d मिनिटां'; break;\n case 'h': output = 'एका तासा'; break;\n case 'hh': output = '%d तासां'; break;\n case 'd': output = 'एका दिवसा'; break;\n case 'dd': output = '%d दिवसां'; break;\n case 'M': output = 'एका महिन्या'; break;\n case 'MM': output = '%d महिन्यां'; break;\n case 'y': output = 'एका वर्षा'; break;\n case 'yy': output = '%d वर्षां'; break;\n }\n }\n return output.replace(/%d/i, number);\n}\n\nvar mr = moment.defineLocale('mr', {\n months : 'जानेवारी_फेब्रुवारी_मार्च_एप्रिल_मे_जून_जुलै_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर'.split('_'),\n monthsShort: 'जाने._फेब्रु._मार्च._एप्रि._मे._जून._जुलै._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.'.split('_'),\n monthsParseExact : true,\n weekdays : 'रविवार_सोमवार_मंगळवार_बुधवार_गुरूवार_शुक्रवार_शनिवार'.split('_'),\n weekdaysShort : 'रवि_सोम_मंगळ_बुध_गुरू_शुक्र_शनि'.split('_'),\n weekdaysMin : 'र_सो_मं_बु_गु_शु_श'.split('_'),\n longDateFormat : {\n LT : 'A h:mm वाजता',\n LTS : 'A h:mm:ss वाजता',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY, A h:mm वाजता',\n LLLL : 'dddd, D MMMM YYYY, A h:mm वाजता'\n },\n calendar : {\n sameDay : '[आज] LT',\n nextDay : '[उद्या] LT',\n nextWeek : 'dddd, LT',\n lastDay : '[काल] LT',\n lastWeek: '[मागील] dddd, LT',\n sameElse : 'L'\n },\n relativeTime : {\n future: '%sमध्ये',\n past: '%sपूर्वी',\n s: relativeTimeMr,\n m: relativeTimeMr,\n mm: relativeTimeMr,\n h: relativeTimeMr,\n hh: relativeTimeMr,\n d: relativeTimeMr,\n dd: relativeTimeMr,\n M: relativeTimeMr,\n MM: relativeTimeMr,\n y: relativeTimeMr,\n yy: relativeTimeMr\n },\n preparse: function (string) {\n return string.replace(/[१२३४५६७८९०]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n meridiemParse: /रात्री|सकाळी|दुपारी|सायंकाळी/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'रात्री') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'सकाळी') {\n return hour;\n } else if (meridiem === 'दुपारी') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'सायंकाळी') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'रात्री';\n } else if (hour < 10) {\n return 'सकाळी';\n } else if (hour < 17) {\n return 'दुपारी';\n } else if (hour < 20) {\n return 'सायंकाळी';\n } else {\n return 'रात्री';\n }\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n }\n});\n\nreturn mr;\n\n})));\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/moment/locale/mr.js\n ** module id = 263\n ** module chunks = 0\n **/","//! moment.js locale configuration\n//! locale : Malay [ms-my]\n//! note : DEPRECATED, the correct one is [ms]\n//! author : Weldan Jamili : https://github.com/weldan\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar msMy = moment.defineLocale('ms-my', {\n months : 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split('_'),\n monthsShort : 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'),\n weekdays : 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'),\n weekdaysShort : 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'),\n weekdaysMin : 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'),\n longDateFormat : {\n LT : 'HH.mm',\n LTS : 'HH.mm.ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY [pukul] HH.mm',\n LLLL : 'dddd, D MMMM YYYY [pukul] HH.mm'\n },\n meridiemParse: /pagi|tengahari|petang|malam/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'pagi') {\n return hour;\n } else if (meridiem === 'tengahari') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'petang' || meridiem === 'malam') {\n return hour + 12;\n }\n },\n meridiem : function (hours, minutes, isLower) {\n if (hours < 11) {\n return 'pagi';\n } else if (hours < 15) {\n return 'tengahari';\n } else if (hours < 19) {\n return 'petang';\n } else {\n return 'malam';\n }\n },\n calendar : {\n sameDay : '[Hari ini pukul] LT',\n nextDay : '[Esok pukul] LT',\n nextWeek : 'dddd [pukul] LT',\n lastDay : '[Kelmarin pukul] LT',\n lastWeek : 'dddd [lepas pukul] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'dalam %s',\n past : '%s yang lepas',\n s : 'beberapa saat',\n m : 'seminit',\n mm : '%d minit',\n h : 'sejam',\n hh : '%d jam',\n d : 'sehari',\n dd : '%d hari',\n M : 'sebulan',\n MM : '%d bulan',\n y : 'setahun',\n yy : '%d tahun'\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n});\n\nreturn msMy;\n\n})));\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/moment/locale/ms-my.js\n ** module id = 264\n ** module chunks = 0\n **/","//! moment.js locale configuration\n//! locale : Malay [ms]\n//! author : Weldan Jamili : https://github.com/weldan\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar ms = moment.defineLocale('ms', {\n months : 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split('_'),\n monthsShort : 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'),\n weekdays : 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'),\n weekdaysShort : 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'),\n weekdaysMin : 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'),\n longDateFormat : {\n LT : 'HH.mm',\n LTS : 'HH.mm.ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY [pukul] HH.mm',\n LLLL : 'dddd, D MMMM YYYY [pukul] HH.mm'\n },\n meridiemParse: /pagi|tengahari|petang|malam/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'pagi') {\n return hour;\n } else if (meridiem === 'tengahari') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'petang' || meridiem === 'malam') {\n return hour + 12;\n }\n },\n meridiem : function (hours, minutes, isLower) {\n if (hours < 11) {\n return 'pagi';\n } else if (hours < 15) {\n return 'tengahari';\n } else if (hours < 19) {\n return 'petang';\n } else {\n return 'malam';\n }\n },\n calendar : {\n sameDay : '[Hari ini pukul] LT',\n nextDay : '[Esok pukul] LT',\n nextWeek : 'dddd [pukul] LT',\n lastDay : '[Kelmarin pukul] LT',\n lastWeek : 'dddd [lepas pukul] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'dalam %s',\n past : '%s yang lepas',\n s : 'beberapa saat',\n m : 'seminit',\n mm : '%d minit',\n h : 'sejam',\n hh : '%d jam',\n d : 'sehari',\n dd : '%d hari',\n M : 'sebulan',\n MM : '%d bulan',\n y : 'setahun',\n yy : '%d tahun'\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n});\n\nreturn ms;\n\n})));\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/moment/locale/ms.js\n ** module id = 265\n ** module chunks = 0\n **/","//! moment.js locale configuration\n//! locale : Burmese [my]\n//! author : Squar team, mysquar.com\n//! author : David Rossellat : https://github.com/gholadr\n//! author : Tin Aung Lin : https://github.com/thanyawzinmin\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar symbolMap = {\n '1': '၁',\n '2': '၂',\n '3': '၃',\n '4': '၄',\n '5': '၅',\n '6': '၆',\n '7': '၇',\n '8': '၈',\n '9': '၉',\n '0': '၀'\n};\nvar numberMap = {\n '၁': '1',\n '၂': '2',\n '၃': '3',\n '၄': '4',\n '၅': '5',\n '၆': '6',\n '၇': '7',\n '၈': '8',\n '၉': '9',\n '၀': '0'\n};\n\nvar my = moment.defineLocale('my', {\n months: 'ဇန်နဝါရီ_ဖေဖော်ဝါရီ_မတ်_ဧပြီ_မေ_ဇွန်_ဇူလိုင်_သြဂုတ်_စက်တင်ဘာ_အောက်တိုဘာ_နိုဝင်ဘာ_ဒီဇင်ဘာ'.split('_'),\n monthsShort: 'ဇန်_ဖေ_မတ်_ပြီ_မေ_ဇွန်_လိုင်_သြ_စက်_အောက်_နို_ဒီ'.split('_'),\n weekdays: 'တနင်္ဂနွေ_တနင်္လာ_အင်္ဂါ_ဗုဒ္ဓဟူး_ကြာသပတေး_သောကြာ_စနေ'.split('_'),\n weekdaysShort: 'နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ'.split('_'),\n weekdaysMin: 'နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ'.split('_'),\n\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[ယနေ.] LT [မှာ]',\n nextDay: '[မနက်ဖြန်] LT [မှာ]',\n nextWeek: 'dddd LT [မှာ]',\n lastDay: '[မနေ.က] LT [မှာ]',\n lastWeek: '[ပြီးခဲ့သော] dddd LT [မှာ]',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'လာမည့် %s မှာ',\n past: 'လွန်ခဲ့သော %s က',\n s: 'စက္ကန်.အနည်းငယ်',\n m: 'တစ်မိနစ်',\n mm: '%d မိနစ်',\n h: 'တစ်နာရီ',\n hh: '%d နာရီ',\n d: 'တစ်ရက်',\n dd: '%d ရက်',\n M: 'တစ်လ',\n MM: '%d လ',\n y: 'တစ်နှစ်',\n yy: '%d နှစ်'\n },\n preparse: function (string) {\n return string.replace(/[၁၂၃၄၅၆၇၈၉၀]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 1st is the first week of the year.\n }\n});\n\nreturn my;\n\n})));\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/moment/locale/my.js\n ** module id = 266\n ** module chunks = 0\n **/","//! moment.js locale configuration\n//! locale : Norwegian Bokmål [nb]\n//! authors : Espen Hovlandsdal : https://github.com/rexxars\n//! Sigurd Gartmann : https://github.com/sigurdga\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar nb = moment.defineLocale('nb', {\n months : 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split('_'),\n monthsShort : 'jan._feb._mars_april_mai_juni_juli_aug._sep._okt._nov._des.'.split('_'),\n monthsParseExact : true,\n weekdays : 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'),\n weekdaysShort : 'sø._ma._ti._on._to._fr._lø.'.split('_'),\n weekdaysMin : 'sø_ma_ti_on_to_fr_lø'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY [kl.] HH:mm',\n LLLL : 'dddd D. MMMM YYYY [kl.] HH:mm'\n },\n calendar : {\n sameDay: '[i dag kl.] LT',\n nextDay: '[i morgen kl.] LT',\n nextWeek: 'dddd [kl.] LT',\n lastDay: '[i går kl.] LT',\n lastWeek: '[forrige] dddd [kl.] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'om %s',\n past : '%s siden',\n s : 'noen sekunder',\n m : 'ett minutt',\n mm : '%d minutter',\n h : 'en time',\n hh : '%d timer',\n d : 'en dag',\n dd : '%d dager',\n M : 'en måned',\n MM : '%d måneder',\n y : 'ett år',\n yy : '%d år'\n },\n ordinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn nb;\n\n})));\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/moment/locale/nb.js\n ** module id = 267\n ** module chunks = 0\n **/","//! moment.js locale configuration\n//! locale : Nepalese [ne]\n//! author : suvash : https://github.com/suvash\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar symbolMap = {\n '1': '१',\n '2': '२',\n '3': '३',\n '4': '४',\n '5': '५',\n '6': '६',\n '7': '७',\n '8': '८',\n '9': '९',\n '0': '०'\n};\nvar numberMap = {\n '१': '1',\n '२': '2',\n '३': '3',\n '४': '4',\n '५': '5',\n '६': '6',\n '७': '7',\n '८': '8',\n '९': '9',\n '०': '0'\n};\n\nvar ne = moment.defineLocale('ne', {\n months : 'जनवरी_फेब्रुवरी_मार्च_अप्रिल_मई_जुन_जुलाई_अगष्ट_सेप्टेम्बर_अक्टोबर_नोभेम्बर_डिसेम्बर'.split('_'),\n monthsShort : 'जन._फेब्रु._मार्च_अप्रि._मई_जुन_जुलाई._अग._सेप्ट._अक्टो._नोभे._डिसे.'.split('_'),\n monthsParseExact : true,\n weekdays : 'आइतबार_सोमबार_मङ्गलबार_बुधबार_बिहिबार_शुक्रबार_शनिबार'.split('_'),\n weekdaysShort : 'आइत._सोम._मङ्गल._बुध._बिहि._शुक्र._शनि.'.split('_'),\n weekdaysMin : 'आ._सो._मं._बु._बि._शु._श.'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'Aको h:mm बजे',\n LTS : 'Aको h:mm:ss बजे',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY, Aको h:mm बजे',\n LLLL : 'dddd, D MMMM YYYY, Aको h:mm बजे'\n },\n preparse: function (string) {\n return string.replace(/[१२३४५६७८९०]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n meridiemParse: /राति|बिहान|दिउँसो|साँझ/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'राति') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'बिहान') {\n return hour;\n } else if (meridiem === 'दिउँसो') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'साँझ') {\n return hour + 12;\n }\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 3) {\n return 'राति';\n } else if (hour < 12) {\n return 'बिहान';\n } else if (hour < 16) {\n return 'दिउँसो';\n } else if (hour < 20) {\n return 'साँझ';\n } else {\n return 'राति';\n }\n },\n calendar : {\n sameDay : '[आज] LT',\n nextDay : '[भोलि] LT',\n nextWeek : '[आउँदो] dddd[,] LT',\n lastDay : '[हिजो] LT',\n lastWeek : '[गएको] dddd[,] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%sमा',\n past : '%s अगाडि',\n s : 'केही क्षण',\n m : 'एक मिनेट',\n mm : '%d मिनेट',\n h : 'एक घण्टा',\n hh : '%d घण्टा',\n d : 'एक दिन',\n dd : '%d दिन',\n M : 'एक महिना',\n MM : '%d महिना',\n y : 'एक बर्ष',\n yy : '%d बर्ष'\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n }\n});\n\nreturn ne;\n\n})));\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/moment/locale/ne.js\n ** module id = 268\n ** module chunks = 0\n **/","//! moment.js locale configuration\n//! locale : Dutch (Belgium) [nl-be]\n//! author : Joris Röling : https://github.com/jorisroling\n//! author : Jacob Middag : https://github.com/middagj\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar monthsShortWithDots = 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split('_');\nvar monthsShortWithoutDots = 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split('_');\n\nvar monthsParse = [/^jan/i, /^feb/i, /^maart|mrt.?$/i, /^apr/i, /^mei$/i, /^jun[i.]?$/i, /^jul[i.]?$/i, /^aug/i, /^sep/i, /^okt/i, /^nov/i, /^dec/i];\nvar monthsRegex = /^(januari|februari|maart|april|mei|april|ju[nl]i|augustus|september|oktober|november|december|jan\\.?|feb\\.?|mrt\\.?|apr\\.?|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i;\n\nvar nlBe = moment.defineLocale('nl-be', {\n months : 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split('_'),\n monthsShort : function (m, format) {\n if (/-MMM-/.test(format)) {\n return monthsShortWithoutDots[m.month()];\n } else {\n return monthsShortWithDots[m.month()];\n }\n },\n\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex: /^(januari|februari|maart|mei|ju[nl]i|april|augustus|september|oktober|november|december)/i,\n monthsShortStrictRegex: /^(jan\\.?|feb\\.?|mrt\\.?|apr\\.?|mei|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i,\n\n monthsParse : monthsParse,\n longMonthsParse : monthsParse,\n shortMonthsParse : monthsParse,\n\n weekdays : 'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split('_'),\n weekdaysShort : 'zo._ma._di._wo._do._vr._za.'.split('_'),\n weekdaysMin : 'Zo_Ma_Di_Wo_Do_Vr_Za'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[vandaag om] LT',\n nextDay: '[morgen om] LT',\n nextWeek: 'dddd [om] LT',\n lastDay: '[gisteren om] LT',\n lastWeek: '[afgelopen] dddd [om] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'over %s',\n past : '%s geleden',\n s : 'een paar seconden',\n m : 'één minuut',\n mm : '%d minuten',\n h : 'één uur',\n hh : '%d uur',\n d : 'één dag',\n dd : '%d dagen',\n M : 'één maand',\n MM : '%d maanden',\n y : 'één jaar',\n yy : '%d jaar'\n },\n ordinalParse: /\\d{1,2}(ste|de)/,\n ordinal : function (number) {\n return number + ((number === 1 || number === 8 || number >= 20) ? 'ste' : 'de');\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn nlBe;\n\n})));\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/moment/locale/nl-be.js\n ** module id = 269\n ** module chunks = 0\n **/","//! moment.js locale configuration\n//! locale : Dutch [nl]\n//! author : Joris Röling : https://github.com/jorisroling\n//! author : Jacob Middag : https://github.com/middagj\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar monthsShortWithDots = 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split('_');\nvar monthsShortWithoutDots = 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split('_');\n\nvar monthsParse = [/^jan/i, /^feb/i, /^maart|mrt.?$/i, /^apr/i, /^mei$/i, /^jun[i.]?$/i, /^jul[i.]?$/i, /^aug/i, /^sep/i, /^okt/i, /^nov/i, /^dec/i];\nvar monthsRegex = /^(januari|februari|maart|april|mei|april|ju[nl]i|augustus|september|oktober|november|december|jan\\.?|feb\\.?|mrt\\.?|apr\\.?|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i;\n\nvar nl = moment.defineLocale('nl', {\n months : 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split('_'),\n monthsShort : function (m, format) {\n if (/-MMM-/.test(format)) {\n return monthsShortWithoutDots[m.month()];\n } else {\n return monthsShortWithDots[m.month()];\n }\n },\n\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex: /^(januari|februari|maart|mei|ju[nl]i|april|augustus|september|oktober|november|december)/i,\n monthsShortStrictRegex: /^(jan\\.?|feb\\.?|mrt\\.?|apr\\.?|mei|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i,\n\n monthsParse : monthsParse,\n longMonthsParse : monthsParse,\n shortMonthsParse : monthsParse,\n\n weekdays : 'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split('_'),\n weekdaysShort : 'zo._ma._di._wo._do._vr._za.'.split('_'),\n weekdaysMin : 'Zo_Ma_Di_Wo_Do_Vr_Za'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD-MM-YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[vandaag om] LT',\n nextDay: '[morgen om] LT',\n nextWeek: 'dddd [om] LT',\n lastDay: '[gisteren om] LT',\n lastWeek: '[afgelopen] dddd [om] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'over %s',\n past : '%s geleden',\n s : 'een paar seconden',\n m : 'één minuut',\n mm : '%d minuten',\n h : 'één uur',\n hh : '%d uur',\n d : 'één dag',\n dd : '%d dagen',\n M : 'één maand',\n MM : '%d maanden',\n y : 'één jaar',\n yy : '%d jaar'\n },\n ordinalParse: /\\d{1,2}(ste|de)/,\n ordinal : function (number) {\n return number + ((number === 1 || number === 8 || number >= 20) ? 'ste' : 'de');\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn nl;\n\n})));\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/moment/locale/nl.js\n ** module id = 270\n ** module chunks = 0\n **/","//! moment.js locale configuration\n//! locale : Nynorsk [nn]\n//! author : https://github.com/mechuwind\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar nn = moment.defineLocale('nn', {\n months : 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split('_'),\n monthsShort : 'jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_'),\n weekdays : 'sundag_måndag_tysdag_onsdag_torsdag_fredag_laurdag'.split('_'),\n weekdaysShort : 'sun_mån_tys_ons_tor_fre_lau'.split('_'),\n weekdaysMin : 'su_må_ty_on_to_fr_lø'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY [kl.] H:mm',\n LLLL : 'dddd D. MMMM YYYY [kl.] HH:mm'\n },\n calendar : {\n sameDay: '[I dag klokka] LT',\n nextDay: '[I morgon klokka] LT',\n nextWeek: 'dddd [klokka] LT',\n lastDay: '[I går klokka] LT',\n lastWeek: '[Føregåande] dddd [klokka] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'om %s',\n past : '%s sidan',\n s : 'nokre sekund',\n m : 'eit minutt',\n mm : '%d minutt',\n h : 'ein time',\n hh : '%d timar',\n d : 'ein dag',\n dd : '%d dagar',\n M : 'ein månad',\n MM : '%d månader',\n y : 'eit år',\n yy : '%d år'\n },\n ordinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn nn;\n\n})));\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/moment/locale/nn.js\n ** module id = 271\n ** module chunks = 0\n **/","//! moment.js locale configuration\n//! locale : Punjabi (India) [pa-in]\n//! author : Harpreet Singh : https://github.com/harpreetkhalsagtbit\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar symbolMap = {\n '1': '੧',\n '2': '੨',\n '3': '੩',\n '4': '੪',\n '5': '੫',\n '6': '੬',\n '7': '੭',\n '8': '੮',\n '9': '੯',\n '0': '੦'\n};\nvar numberMap = {\n '੧': '1',\n '੨': '2',\n '੩': '3',\n '੪': '4',\n '੫': '5',\n '੬': '6',\n '੭': '7',\n '੮': '8',\n '੯': '9',\n '੦': '0'\n};\n\nvar paIn = moment.defineLocale('pa-in', {\n // There are months name as per Nanakshahi Calender but they are not used as rigidly in modern Punjabi.\n months : 'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split('_'),\n monthsShort : 'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split('_'),\n weekdays : 'ਐਤਵਾਰ_ਸੋਮਵਾਰ_ਮੰਗਲਵਾਰ_ਬੁਧਵਾਰ_ਵੀਰਵਾਰ_ਸ਼ੁੱਕਰਵਾਰ_ਸ਼ਨੀਚਰਵਾਰ'.split('_'),\n weekdaysShort : 'ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ'.split('_'),\n weekdaysMin : 'ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ'.split('_'),\n longDateFormat : {\n LT : 'A h:mm ਵਜੇ',\n LTS : 'A h:mm:ss ਵਜੇ',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY, A h:mm ਵਜੇ',\n LLLL : 'dddd, D MMMM YYYY, A h:mm ਵਜੇ'\n },\n calendar : {\n sameDay : '[ਅਜ] LT',\n nextDay : '[ਕਲ] LT',\n nextWeek : 'dddd, LT',\n lastDay : '[ਕਲ] LT',\n lastWeek : '[ਪਿਛਲੇ] dddd, LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s ਵਿੱਚ',\n past : '%s ਪਿਛਲੇ',\n s : 'ਕੁਝ ਸਕਿੰਟ',\n m : 'ਇਕ ਮਿੰਟ',\n mm : '%d ਮਿੰਟ',\n h : 'ਇੱਕ ਘੰਟਾ',\n hh : '%d ਘੰਟੇ',\n d : 'ਇੱਕ ਦਿਨ',\n dd : '%d ਦਿਨ',\n M : 'ਇੱਕ ਮਹੀਨਾ',\n MM : '%d ਮਹੀਨੇ',\n y : 'ਇੱਕ ਸਾਲ',\n yy : '%d ਸਾਲ'\n },\n preparse: function (string) {\n return string.replace(/[੧੨੩੪੫੬੭੮੯੦]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n // Punjabi notation for meridiems are quite fuzzy in practice. While there exists\n // a rigid notion of a 'Pahar' it is not used as rigidly in modern Punjabi.\n meridiemParse: /ਰਾਤ|ਸਵੇਰ|ਦੁਪਹਿਰ|ਸ਼ਾਮ/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'ਰਾਤ') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'ਸਵੇਰ') {\n return hour;\n } else if (meridiem === 'ਦੁਪਹਿਰ') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'ਸ਼ਾਮ') {\n return hour + 12;\n }\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'ਰਾਤ';\n } else if (hour < 10) {\n return 'ਸਵੇਰ';\n } else if (hour < 17) {\n return 'ਦੁਪਹਿਰ';\n } else if (hour < 20) {\n return 'ਸ਼ਾਮ';\n } else {\n return 'ਰਾਤ';\n }\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n }\n});\n\nreturn paIn;\n\n})));\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/moment/locale/pa-in.js\n ** module id = 272\n ** module chunks = 0\n **/","//! moment.js locale configuration\n//! locale : Polish [pl]\n//! author : Rafal Hirsz : https://github.com/evoL\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar monthsNominative = 'styczeń_luty_marzec_kwiecień_maj_czerwiec_lipiec_sierpień_wrzesień_październik_listopad_grudzień'.split('_');\nvar monthsSubjective = 'stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_września_października_listopada_grudnia'.split('_');\nfunction plural(n) {\n return (n % 10 < 5) && (n % 10 > 1) && ((~~(n / 10) % 10) !== 1);\n}\nfunction translate(number, withoutSuffix, key) {\n var result = number + ' ';\n switch (key) {\n case 'm':\n return withoutSuffix ? 'minuta' : 'minutę';\n case 'mm':\n return result + (plural(number) ? 'minuty' : 'minut');\n case 'h':\n return withoutSuffix ? 'godzina' : 'godzinę';\n case 'hh':\n return result + (plural(number) ? 'godziny' : 'godzin');\n case 'MM':\n return result + (plural(number) ? 'miesiące' : 'miesięcy');\n case 'yy':\n return result + (plural(number) ? 'lata' : 'lat');\n }\n}\n\nvar pl = moment.defineLocale('pl', {\n months : function (momentToFormat, format) {\n if (format === '') {\n // Hack: if format empty we know this is used to generate\n // RegExp by moment. Give then back both valid forms of months\n // in RegExp ready format.\n return '(' + monthsSubjective[momentToFormat.month()] + '|' + monthsNominative[momentToFormat.month()] + ')';\n } else if (/D MMMM/.test(format)) {\n return monthsSubjective[momentToFormat.month()];\n } else {\n return monthsNominative[momentToFormat.month()];\n }\n },\n monthsShort : 'sty_lut_mar_kwi_maj_cze_lip_sie_wrz_paź_lis_gru'.split('_'),\n weekdays : 'niedziela_poniedziałek_wtorek_środa_czwartek_piątek_sobota'.split('_'),\n weekdaysShort : 'ndz_pon_wt_śr_czw_pt_sob'.split('_'),\n weekdaysMin : 'Nd_Pn_Wt_Śr_Cz_Pt_So'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[Dziś o] LT',\n nextDay: '[Jutro o] LT',\n nextWeek: '[W] dddd [o] LT',\n lastDay: '[Wczoraj o] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[W zeszłą niedzielę o] LT';\n case 3:\n return '[W zeszłą środę o] LT';\n case 6:\n return '[W zeszłą sobotę o] LT';\n default:\n return '[W zeszły] dddd [o] LT';\n }\n },\n sameElse: 'L'\n },\n relativeTime : {\n future : 'za %s',\n past : '%s temu',\n s : 'kilka sekund',\n m : translate,\n mm : translate,\n h : translate,\n hh : translate,\n d : '1 dzień',\n dd : '%d dni',\n M : 'miesiąc',\n MM : translate,\n y : 'rok',\n yy : translate\n },\n ordinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn pl;\n\n})));\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/moment/locale/pl.js\n ** module id = 273\n ** module chunks = 0\n **/","//! moment.js locale configuration\n//! locale : Portuguese (Brazil) [pt-br]\n//! author : Caio Ribeiro Pereira : https://github.com/caio-ribeiro-pereira\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar ptBr = moment.defineLocale('pt-br', {\n months : 'Janeiro_Fevereiro_Março_Abril_Maio_Junho_Julho_Agosto_Setembro_Outubro_Novembro_Dezembro'.split('_'),\n monthsShort : 'Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez'.split('_'),\n weekdays : 'Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado'.split('_'),\n weekdaysShort : 'Dom_Seg_Ter_Qua_Qui_Sex_Sáb'.split('_'),\n weekdaysMin : 'Dom_2ª_3ª_4ª_5ª_6ª_Sáb'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D [de] MMMM [de] YYYY',\n LLL : 'D [de] MMMM [de] YYYY [às] HH:mm',\n LLLL : 'dddd, D [de] MMMM [de] YYYY [às] HH:mm'\n },\n calendar : {\n sameDay: '[Hoje às] LT',\n nextDay: '[Amanhã às] LT',\n nextWeek: 'dddd [às] LT',\n lastDay: '[Ontem às] LT',\n lastWeek: function () {\n return (this.day() === 0 || this.day() === 6) ?\n '[Último] dddd [às] LT' : // Saturday + Sunday\n '[Última] dddd [às] LT'; // Monday - Friday\n },\n sameElse: 'L'\n },\n relativeTime : {\n future : 'em %s',\n past : '%s atrás',\n s : 'poucos segundos',\n m : 'um minuto',\n mm : '%d minutos',\n h : 'uma hora',\n hh : '%d horas',\n d : 'um dia',\n dd : '%d dias',\n M : 'um mês',\n MM : '%d meses',\n y : 'um ano',\n yy : '%d anos'\n },\n ordinalParse: /\\d{1,2}º/,\n ordinal : '%dº'\n});\n\nreturn ptBr;\n\n})));\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/moment/locale/pt-br.js\n ** module id = 274\n ** module chunks = 0\n **/","//! moment.js locale configuration\n//! locale : Portuguese [pt]\n//! author : Jefferson : https://github.com/jalex79\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar pt = moment.defineLocale('pt', {\n months : 'Janeiro_Fevereiro_Março_Abril_Maio_Junho_Julho_Agosto_Setembro_Outubro_Novembro_Dezembro'.split('_'),\n monthsShort : 'Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez'.split('_'),\n weekdays : 'Domingo_Segunda-Feira_Terça-Feira_Quarta-Feira_Quinta-Feira_Sexta-Feira_Sábado'.split('_'),\n weekdaysShort : 'Dom_Seg_Ter_Qua_Qui_Sex_Sáb'.split('_'),\n weekdaysMin : 'Dom_2ª_3ª_4ª_5ª_6ª_Sáb'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D [de] MMMM [de] YYYY',\n LLL : 'D [de] MMMM [de] YYYY HH:mm',\n LLLL : 'dddd, D [de] MMMM [de] YYYY HH:mm'\n },\n calendar : {\n sameDay: '[Hoje às] LT',\n nextDay: '[Amanhã às] LT',\n nextWeek: 'dddd [às] LT',\n lastDay: '[Ontem às] LT',\n lastWeek: function () {\n return (this.day() === 0 || this.day() === 6) ?\n '[Último] dddd [às] LT' : // Saturday + Sunday\n '[Última] dddd [às] LT'; // Monday - Friday\n },\n sameElse: 'L'\n },\n relativeTime : {\n future : 'em %s',\n past : 'há %s',\n s : 'segundos',\n m : 'um minuto',\n mm : '%d minutos',\n h : 'uma hora',\n hh : '%d horas',\n d : 'um dia',\n dd : '%d dias',\n M : 'um mês',\n MM : '%d meses',\n y : 'um ano',\n yy : '%d anos'\n },\n ordinalParse: /\\d{1,2}º/,\n ordinal : '%dº',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn pt;\n\n})));\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/moment/locale/pt.js\n ** module id = 275\n ** module chunks = 0\n **/","//! moment.js locale configuration\n//! locale : Romanian [ro]\n//! author : Vlad Gurdiga : https://github.com/gurdiga\n//! author : Valentin Agachi : https://github.com/avaly\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nfunction relativeTimeWithPlural(number, withoutSuffix, key) {\n var format = {\n 'mm': 'minute',\n 'hh': 'ore',\n 'dd': 'zile',\n 'MM': 'luni',\n 'yy': 'ani'\n },\n separator = ' ';\n if (number % 100 >= 20 || (number >= 100 && number % 100 === 0)) {\n separator = ' de ';\n }\n return number + separator + format[key];\n}\n\nvar ro = moment.defineLocale('ro', {\n months : 'ianuarie_februarie_martie_aprilie_mai_iunie_iulie_august_septembrie_octombrie_noiembrie_decembrie'.split('_'),\n monthsShort : 'ian._febr._mart._apr._mai_iun._iul._aug._sept._oct._nov._dec.'.split('_'),\n monthsParseExact: true,\n weekdays : 'duminică_luni_marți_miercuri_joi_vineri_sâmbătă'.split('_'),\n weekdaysShort : 'Dum_Lun_Mar_Mie_Joi_Vin_Sâm'.split('_'),\n weekdaysMin : 'Du_Lu_Ma_Mi_Jo_Vi_Sâ'.split('_'),\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY H:mm',\n LLLL : 'dddd, D MMMM YYYY H:mm'\n },\n calendar : {\n sameDay: '[azi la] LT',\n nextDay: '[mâine la] LT',\n nextWeek: 'dddd [la] LT',\n lastDay: '[ieri la] LT',\n lastWeek: '[fosta] dddd [la] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'peste %s',\n past : '%s în urmă',\n s : 'câteva secunde',\n m : 'un minut',\n mm : relativeTimeWithPlural,\n h : 'o oră',\n hh : relativeTimeWithPlural,\n d : 'o zi',\n dd : relativeTimeWithPlural,\n M : 'o lună',\n MM : relativeTimeWithPlural,\n y : 'un an',\n yy : relativeTimeWithPlural\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n});\n\nreturn ro;\n\n})));\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/moment/locale/ro.js\n ** module id = 276\n ** module chunks = 0\n **/","//! moment.js locale configuration\n//! locale : Russian [ru]\n//! author : Viktorminator : https://github.com/Viktorminator\n//! Author : Menelion Elensúle : https://github.com/Oire\n//! author : Коренберг Марк : https://github.com/socketpair\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nfunction plural(word, num) {\n var forms = word.split('_');\n return num % 10 === 1 && num % 100 !== 11 ? forms[0] : (num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20) ? forms[1] : forms[2]);\n}\nfunction relativeTimeWithPlural(number, withoutSuffix, key) {\n var format = {\n 'mm': withoutSuffix ? 'минута_минуты_минут' : 'минуту_минуты_минут',\n 'hh': 'час_часа_часов',\n 'dd': 'день_дня_дней',\n 'MM': 'месяц_месяца_месяцев',\n 'yy': 'год_года_лет'\n };\n if (key === 'm') {\n return withoutSuffix ? 'минута' : 'минуту';\n }\n else {\n return number + ' ' + plural(format[key], +number);\n }\n}\nvar monthsParse = [/^янв/i, /^фев/i, /^мар/i, /^апр/i, /^ма[йя]/i, /^июн/i, /^июл/i, /^авг/i, /^сен/i, /^окт/i, /^ноя/i, /^дек/i];\n\n// http://new.gramota.ru/spravka/rules/139-prop : § 103\n// Сокращения месяцев: http://new.gramota.ru/spravka/buro/search-answer?s=242637\n// CLDR data: http://www.unicode.org/cldr/charts/28/summary/ru.html#1753\nvar ru = moment.defineLocale('ru', {\n months : {\n format: 'января_февраля_марта_апреля_мая_июня_июля_августа_сентября_октября_ноября_декабря'.split('_'),\n standalone: 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split('_')\n },\n monthsShort : {\n // по CLDR именно \"июл.\" и \"июн.\", но какой смысл менять букву на точку ?\n format: 'янв._февр._мар._апр._мая_июня_июля_авг._сент._окт._нояб._дек.'.split('_'),\n standalone: 'янв._февр._март_апр._май_июнь_июль_авг._сент._окт._нояб._дек.'.split('_')\n },\n weekdays : {\n standalone: 'воскресенье_понедельник_вторник_среда_четверг_пятница_суббота'.split('_'),\n format: 'воскресенье_понедельник_вторник_среду_четверг_пятницу_субботу'.split('_'),\n isFormat: /\\[ ?[Вв] ?(?:прошлую|следующую|эту)? ?\\] ?dddd/\n },\n weekdaysShort : 'вс_пн_вт_ср_чт_пт_сб'.split('_'),\n weekdaysMin : 'вс_пн_вт_ср_чт_пт_сб'.split('_'),\n monthsParse : monthsParse,\n longMonthsParse : monthsParse,\n shortMonthsParse : monthsParse,\n\n // полные названия с падежами, по три буквы, для некоторых, по 4 буквы, сокращения с точкой и без точки\n monthsRegex: /^(январ[ья]|янв\\.?|феврал[ья]|февр?\\.?|марта?|мар\\.?|апрел[ья]|апр\\.?|ма[йя]|июн[ья]|июн\\.?|июл[ья]|июл\\.?|августа?|авг\\.?|сентябр[ья]|сент?\\.?|октябр[ья]|окт\\.?|ноябр[ья]|нояб?\\.?|декабр[ья]|дек\\.?)/i,\n\n // копия предыдущего\n monthsShortRegex: /^(январ[ья]|янв\\.?|феврал[ья]|февр?\\.?|марта?|мар\\.?|апрел[ья]|апр\\.?|ма[йя]|июн[ья]|июн\\.?|июл[ья]|июл\\.?|августа?|авг\\.?|сентябр[ья]|сент?\\.?|октябр[ья]|окт\\.?|ноябр[ья]|нояб?\\.?|декабр[ья]|дек\\.?)/i,\n\n // полные названия с падежами\n monthsStrictRegex: /^(январ[яь]|феврал[яь]|марта?|апрел[яь]|ма[яй]|июн[яь]|июл[яь]|августа?|сентябр[яь]|октябр[яь]|ноябр[яь]|декабр[яь])/i,\n\n // Выражение, которое соотвествует только сокращённым формам\n monthsShortStrictRegex: /^(янв\\.|февр?\\.|мар[т.]|апр\\.|ма[яй]|июн[ья.]|июл[ья.]|авг\\.|сент?\\.|окт\\.|нояб?\\.|дек\\.)/i,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY г.',\n LLL : 'D MMMM YYYY г., HH:mm',\n LLLL : 'dddd, D MMMM YYYY г., HH:mm'\n },\n calendar : {\n sameDay: '[Сегодня в] LT',\n nextDay: '[Завтра в] LT',\n lastDay: '[Вчера в] LT',\n nextWeek: function (now) {\n if (now.week() !== this.week()) {\n switch (this.day()) {\n case 0:\n return '[В следующее] dddd [в] LT';\n case 1:\n case 2:\n case 4:\n return '[В следующий] dddd [в] LT';\n case 3:\n case 5:\n case 6:\n return '[В следующую] dddd [в] LT';\n }\n } else {\n if (this.day() === 2) {\n return '[Во] dddd [в] LT';\n } else {\n return '[В] dddd [в] LT';\n }\n }\n },\n lastWeek: function (now) {\n if (now.week() !== this.week()) {\n switch (this.day()) {\n case 0:\n return '[В прошлое] dddd [в] LT';\n case 1:\n case 2:\n case 4:\n return '[В прошлый] dddd [в] LT';\n case 3:\n case 5:\n case 6:\n return '[В прошлую] dddd [в] LT';\n }\n } else {\n if (this.day() === 2) {\n return '[Во] dddd [в] LT';\n } else {\n return '[В] dddd [в] LT';\n }\n }\n },\n sameElse: 'L'\n },\n relativeTime : {\n future : 'через %s',\n past : '%s назад',\n s : 'несколько секунд',\n m : relativeTimeWithPlural,\n mm : relativeTimeWithPlural,\n h : 'час',\n hh : relativeTimeWithPlural,\n d : 'день',\n dd : relativeTimeWithPlural,\n M : 'месяц',\n MM : relativeTimeWithPlural,\n y : 'год',\n yy : relativeTimeWithPlural\n },\n meridiemParse: /ночи|утра|дня|вечера/i,\n isPM : function (input) {\n return /^(дня|вечера)$/.test(input);\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'ночи';\n } else if (hour < 12) {\n return 'утра';\n } else if (hour < 17) {\n return 'дня';\n } else {\n return 'вечера';\n }\n },\n ordinalParse: /\\d{1,2}-(й|го|я)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'M':\n case 'd':\n case 'DDD':\n return number + '-й';\n case 'D':\n return number + '-го';\n case 'w':\n case 'W':\n return number + '-я';\n default:\n return number;\n }\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n});\n\nreturn ru;\n\n})));\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/moment/locale/ru.js\n ** module id = 277\n ** module chunks = 0\n **/","//! moment.js locale configuration\n//! locale : Northern Sami [se]\n//! authors : Bård Rolstad Henriksen : https://github.com/karamell\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n\nvar se = moment.defineLocale('se', {\n months : 'ođđajagemánnu_guovvamánnu_njukčamánnu_cuoŋománnu_miessemánnu_geassemánnu_suoidnemánnu_borgemánnu_čakčamánnu_golggotmánnu_skábmamánnu_juovlamánnu'.split('_'),\n monthsShort : 'ođđj_guov_njuk_cuo_mies_geas_suoi_borg_čakč_golg_skáb_juov'.split('_'),\n weekdays : 'sotnabeaivi_vuossárga_maŋŋebárga_gaskavahkku_duorastat_bearjadat_lávvardat'.split('_'),\n weekdaysShort : 'sotn_vuos_maŋ_gask_duor_bear_láv'.split('_'),\n weekdaysMin : 's_v_m_g_d_b_L'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'MMMM D. [b.] YYYY',\n LLL : 'MMMM D. [b.] YYYY [ti.] HH:mm',\n LLLL : 'dddd, MMMM D. [b.] YYYY [ti.] HH:mm'\n },\n calendar : {\n sameDay: '[otne ti] LT',\n nextDay: '[ihttin ti] LT',\n nextWeek: 'dddd [ti] LT',\n lastDay: '[ikte ti] LT',\n lastWeek: '[ovddit] dddd [ti] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : '%s geažes',\n past : 'maŋit %s',\n s : 'moadde sekunddat',\n m : 'okta minuhta',\n mm : '%d minuhtat',\n h : 'okta diimmu',\n hh : '%d diimmut',\n d : 'okta beaivi',\n dd : '%d beaivvit',\n M : 'okta mánnu',\n MM : '%d mánut',\n y : 'okta jahki',\n yy : '%d jagit'\n },\n ordinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn se;\n\n})));\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/moment/locale/se.js\n ** module id = 278\n ** module chunks = 0\n **/","//! moment.js locale configuration\n//! locale : Sinhalese [si]\n//! author : Sampath Sitinamaluwa : https://github.com/sampathsris\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n/*jshint -W100*/\nvar si = moment.defineLocale('si', {\n months : 'ජනවාරි_පෙබරවාරි_මාර්තු_අප්‍රේල්_මැයි_ජූනි_ජූලි_අගෝස්තු_සැප්තැම්බර්_ඔක්තෝබර්_නොවැම්බර්_දෙසැම්බර්'.split('_'),\n monthsShort : 'ජන_පෙබ_මාර්_අප්_මැයි_ජූනි_ජූලි_අගෝ_සැප්_ඔක්_නොවැ_දෙසැ'.split('_'),\n weekdays : 'ඉරිදා_සඳුදා_අඟහරුවාදා_බදාදා_බ්‍රහස්පතින්දා_සිකුරාදා_සෙනසුරාදා'.split('_'),\n weekdaysShort : 'ඉරි_සඳු_අඟ_බදා_බ්‍රහ_සිකු_සෙන'.split('_'),\n weekdaysMin : 'ඉ_ස_අ_බ_බ්‍ර_සි_සෙ'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'a h:mm',\n LTS : 'a h:mm:ss',\n L : 'YYYY/MM/DD',\n LL : 'YYYY MMMM D',\n LLL : 'YYYY MMMM D, a h:mm',\n LLLL : 'YYYY MMMM D [වැනි] dddd, a h:mm:ss'\n },\n calendar : {\n sameDay : '[අද] LT[ට]',\n nextDay : '[හෙට] LT[ට]',\n nextWeek : 'dddd LT[ට]',\n lastDay : '[ඊයේ] LT[ට]',\n lastWeek : '[පසුගිය] dddd LT[ට]',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%sකින්',\n past : '%sකට පෙර',\n s : 'තත්පර කිහිපය',\n m : 'මිනිත්තුව',\n mm : 'මිනිත්තු %d',\n h : 'පැය',\n hh : 'පැය %d',\n d : 'දිනය',\n dd : 'දින %d',\n M : 'මාසය',\n MM : 'මාස %d',\n y : 'වසර',\n yy : 'වසර %d'\n },\n ordinalParse: /\\d{1,2} වැනි/,\n ordinal : function (number) {\n return number + ' වැනි';\n },\n meridiemParse : /පෙර වරු|පස් වරු|පෙ.ව|ප.ව./,\n isPM : function (input) {\n return input === 'ප.ව.' || input === 'පස් වරු';\n },\n meridiem : function (hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'ප.ව.' : 'පස් වරු';\n } else {\n return isLower ? 'පෙ.ව.' : 'පෙර වරු';\n }\n }\n});\n\nreturn si;\n\n})));\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/moment/locale/si.js\n ** module id = 279\n ** module chunks = 0\n **/","//! moment.js locale configuration\n//! locale : Slovak [sk]\n//! author : Martin Minka : https://github.com/k2s\n//! based on work of petrbela : https://github.com/petrbela\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar months = 'január_február_marec_apríl_máj_jún_júl_august_september_október_november_december'.split('_');\nvar monthsShort = 'jan_feb_mar_apr_máj_jún_júl_aug_sep_okt_nov_dec'.split('_');\nfunction plural(n) {\n return (n > 1) && (n < 5);\n}\nfunction translate(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n switch (key) {\n case 's': // a few seconds / in a few seconds / a few seconds ago\n return (withoutSuffix || isFuture) ? 'pár sekúnd' : 'pár sekundami';\n case 'm': // a minute / in a minute / a minute ago\n return withoutSuffix ? 'minúta' : (isFuture ? 'minútu' : 'minútou');\n case 'mm': // 9 minutes / in 9 minutes / 9 minutes ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'minúty' : 'minút');\n } else {\n return result + 'minútami';\n }\n break;\n case 'h': // an hour / in an hour / an hour ago\n return withoutSuffix ? 'hodina' : (isFuture ? 'hodinu' : 'hodinou');\n case 'hh': // 9 hours / in 9 hours / 9 hours ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'hodiny' : 'hodín');\n } else {\n return result + 'hodinami';\n }\n break;\n case 'd': // a day / in a day / a day ago\n return (withoutSuffix || isFuture) ? 'deň' : 'dňom';\n case 'dd': // 9 days / in 9 days / 9 days ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'dni' : 'dní');\n } else {\n return result + 'dňami';\n }\n break;\n case 'M': // a month / in a month / a month ago\n return (withoutSuffix || isFuture) ? 'mesiac' : 'mesiacom';\n case 'MM': // 9 months / in 9 months / 9 months ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'mesiace' : 'mesiacov');\n } else {\n return result + 'mesiacmi';\n }\n break;\n case 'y': // a year / in a year / a year ago\n return (withoutSuffix || isFuture) ? 'rok' : 'rokom';\n case 'yy': // 9 years / in 9 years / 9 years ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'roky' : 'rokov');\n } else {\n return result + 'rokmi';\n }\n break;\n }\n}\n\nvar sk = moment.defineLocale('sk', {\n months : months,\n monthsShort : monthsShort,\n weekdays : 'nedeľa_pondelok_utorok_streda_štvrtok_piatok_sobota'.split('_'),\n weekdaysShort : 'ne_po_ut_st_št_pi_so'.split('_'),\n weekdaysMin : 'ne_po_ut_st_št_pi_so'.split('_'),\n longDateFormat : {\n LT: 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY H:mm',\n LLLL : 'dddd D. MMMM YYYY H:mm'\n },\n calendar : {\n sameDay: '[dnes o] LT',\n nextDay: '[zajtra o] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[v nedeľu o] LT';\n case 1:\n case 2:\n return '[v] dddd [o] LT';\n case 3:\n return '[v stredu o] LT';\n case 4:\n return '[vo štvrtok o] LT';\n case 5:\n return '[v piatok o] LT';\n case 6:\n return '[v sobotu o] LT';\n }\n },\n lastDay: '[včera o] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[minulú nedeľu o] LT';\n case 1:\n case 2:\n return '[minulý] dddd [o] LT';\n case 3:\n return '[minulú stredu o] LT';\n case 4:\n case 5:\n return '[minulý] dddd [o] LT';\n case 6:\n return '[minulú sobotu o] LT';\n }\n },\n sameElse: 'L'\n },\n relativeTime : {\n future : 'za %s',\n past : 'pred %s',\n s : translate,\n m : translate,\n mm : translate,\n h : translate,\n hh : translate,\n d : translate,\n dd : translate,\n M : translate,\n MM : translate,\n y : translate,\n yy : translate\n },\n ordinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn sk;\n\n})));\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/moment/locale/sk.js\n ** module id = 280\n ** module chunks = 0\n **/","//! moment.js locale configuration\n//! locale : Slovenian [sl]\n//! author : Robert Sedovšek : https://github.com/sedovsek\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nfunction processRelativeTime(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n switch (key) {\n case 's':\n return withoutSuffix || isFuture ? 'nekaj sekund' : 'nekaj sekundami';\n case 'm':\n return withoutSuffix ? 'ena minuta' : 'eno minuto';\n case 'mm':\n if (number === 1) {\n result += withoutSuffix ? 'minuta' : 'minuto';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'minuti' : 'minutama';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'minute' : 'minutami';\n } else {\n result += withoutSuffix || isFuture ? 'minut' : 'minutami';\n }\n return result;\n case 'h':\n return withoutSuffix ? 'ena ura' : 'eno uro';\n case 'hh':\n if (number === 1) {\n result += withoutSuffix ? 'ura' : 'uro';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'uri' : 'urama';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'ure' : 'urami';\n } else {\n result += withoutSuffix || isFuture ? 'ur' : 'urami';\n }\n return result;\n case 'd':\n return withoutSuffix || isFuture ? 'en dan' : 'enim dnem';\n case 'dd':\n if (number === 1) {\n result += withoutSuffix || isFuture ? 'dan' : 'dnem';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'dni' : 'dnevoma';\n } else {\n result += withoutSuffix || isFuture ? 'dni' : 'dnevi';\n }\n return result;\n case 'M':\n return withoutSuffix || isFuture ? 'en mesec' : 'enim mesecem';\n case 'MM':\n if (number === 1) {\n result += withoutSuffix || isFuture ? 'mesec' : 'mesecem';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'meseca' : 'mesecema';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'mesece' : 'meseci';\n } else {\n result += withoutSuffix || isFuture ? 'mesecev' : 'meseci';\n }\n return result;\n case 'y':\n return withoutSuffix || isFuture ? 'eno leto' : 'enim letom';\n case 'yy':\n if (number === 1) {\n result += withoutSuffix || isFuture ? 'leto' : 'letom';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'leti' : 'letoma';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'leta' : 'leti';\n } else {\n result += withoutSuffix || isFuture ? 'let' : 'leti';\n }\n return result;\n }\n}\n\nvar sl = moment.defineLocale('sl', {\n months : 'januar_februar_marec_april_maj_junij_julij_avgust_september_oktober_november_december'.split('_'),\n monthsShort : 'jan._feb._mar._apr._maj._jun._jul._avg._sep._okt._nov._dec.'.split('_'),\n monthsParseExact: true,\n weekdays : 'nedelja_ponedeljek_torek_sreda_četrtek_petek_sobota'.split('_'),\n weekdaysShort : 'ned._pon._tor._sre._čet._pet._sob.'.split('_'),\n weekdaysMin : 'ne_po_to_sr_če_pe_so'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY H:mm',\n LLLL : 'dddd, D. MMMM YYYY H:mm'\n },\n calendar : {\n sameDay : '[danes ob] LT',\n nextDay : '[jutri ob] LT',\n\n nextWeek : function () {\n switch (this.day()) {\n case 0:\n return '[v] [nedeljo] [ob] LT';\n case 3:\n return '[v] [sredo] [ob] LT';\n case 6:\n return '[v] [soboto] [ob] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[v] dddd [ob] LT';\n }\n },\n lastDay : '[včeraj ob] LT',\n lastWeek : function () {\n switch (this.day()) {\n case 0:\n return '[prejšnjo] [nedeljo] [ob] LT';\n case 3:\n return '[prejšnjo] [sredo] [ob] LT';\n case 6:\n return '[prejšnjo] [soboto] [ob] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[prejšnji] dddd [ob] LT';\n }\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'čez %s',\n past : 'pred %s',\n s : processRelativeTime,\n m : processRelativeTime,\n mm : processRelativeTime,\n h : processRelativeTime,\n hh : processRelativeTime,\n d : processRelativeTime,\n dd : processRelativeTime,\n M : processRelativeTime,\n MM : processRelativeTime,\n y : processRelativeTime,\n yy : processRelativeTime\n },\n ordinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n});\n\nreturn sl;\n\n})));\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/moment/locale/sl.js\n ** module id = 281\n ** module chunks = 0\n **/","//! moment.js locale configuration\n//! locale : Albanian [sq]\n//! author : Flakërim Ismani : https://github.com/flakerimi\n//! author : Menelion Elensúle : https://github.com/Oire\n//! author : Oerd Cukalla : https://github.com/oerd\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar sq = moment.defineLocale('sq', {\n months : 'Janar_Shkurt_Mars_Prill_Maj_Qershor_Korrik_Gusht_Shtator_Tetor_Nëntor_Dhjetor'.split('_'),\n monthsShort : 'Jan_Shk_Mar_Pri_Maj_Qer_Kor_Gus_Sht_Tet_Nën_Dhj'.split('_'),\n weekdays : 'E Diel_E Hënë_E Martë_E Mërkurë_E Enjte_E Premte_E Shtunë'.split('_'),\n weekdaysShort : 'Die_Hën_Mar_Mër_Enj_Pre_Sht'.split('_'),\n weekdaysMin : 'D_H_Ma_Më_E_P_Sh'.split('_'),\n weekdaysParseExact : true,\n meridiemParse: /PD|MD/,\n isPM: function (input) {\n return input.charAt(0) === 'M';\n },\n meridiem : function (hours, minutes, isLower) {\n return hours < 12 ? 'PD' : 'MD';\n },\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Sot në] LT',\n nextDay : '[Nesër në] LT',\n nextWeek : 'dddd [në] LT',\n lastDay : '[Dje në] LT',\n lastWeek : 'dddd [e kaluar në] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'në %s',\n past : '%s më parë',\n s : 'disa sekonda',\n m : 'një minutë',\n mm : '%d minuta',\n h : 'një orë',\n hh : '%d orë',\n d : 'një ditë',\n dd : '%d ditë',\n M : 'një muaj',\n MM : '%d muaj',\n y : 'një vit',\n yy : '%d vite'\n },\n ordinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn sq;\n\n})));\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/moment/locale/sq.js\n ** module id = 282\n ** module chunks = 0\n **/","//! moment.js locale configuration\n//! locale : Serbian Cyrillic [sr-cyrl]\n//! author : Milan Janačković<milanjanackovic@gmail.com> : https://github.com/milan-j\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar translator = {\n words: { //Different grammatical cases\n m: ['један минут', 'једне минуте'],\n mm: ['минут', 'минуте', 'минута'],\n h: ['један сат', 'једног сата'],\n hh: ['сат', 'сата', 'сати'],\n dd: ['дан', 'дана', 'дана'],\n MM: ['месец', 'месеца', 'месеци'],\n yy: ['година', 'године', 'година']\n },\n correctGrammaticalCase: function (number, wordKey) {\n return number === 1 ? wordKey[0] : (number >= 2 && number <= 4 ? wordKey[1] : wordKey[2]);\n },\n translate: function (number, withoutSuffix, key) {\n var wordKey = translator.words[key];\n if (key.length === 1) {\n return withoutSuffix ? wordKey[0] : wordKey[1];\n } else {\n return number + ' ' + translator.correctGrammaticalCase(number, wordKey);\n }\n }\n};\n\nvar srCyrl = moment.defineLocale('sr-cyrl', {\n months: 'јануар_фебруар_март_април_мај_јун_јул_август_септембар_октобар_новембар_децембар'.split('_'),\n monthsShort: 'јан._феб._мар._апр._мај_јун_јул_авг._сеп._окт._нов._дец.'.split('_'),\n monthsParseExact: true,\n weekdays: 'недеља_понедељак_уторак_среда_четвртак_петак_субота'.split('_'),\n weekdaysShort: 'нед._пон._уто._сре._чет._пет._суб.'.split('_'),\n weekdaysMin: 'не_по_ут_ср_че_пе_су'.split('_'),\n weekdaysParseExact : true,\n longDateFormat: {\n LT: 'H:mm',\n LTS : 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd, D. MMMM YYYY H:mm'\n },\n calendar: {\n sameDay: '[данас у] LT',\n nextDay: '[сутра у] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[у] [недељу] [у] LT';\n case 3:\n return '[у] [среду] [у] LT';\n case 6:\n return '[у] [суботу] [у] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[у] dddd [у] LT';\n }\n },\n lastDay : '[јуче у] LT',\n lastWeek : function () {\n var lastWeekDays = [\n '[прошле] [недеље] [у] LT',\n '[прошлог] [понедељка] [у] LT',\n '[прошлог] [уторка] [у] LT',\n '[прошле] [среде] [у] LT',\n '[прошлог] [четвртка] [у] LT',\n '[прошлог] [петка] [у] LT',\n '[прошле] [суботе] [у] LT'\n ];\n return lastWeekDays[this.day()];\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'за %s',\n past : 'пре %s',\n s : 'неколико секунди',\n m : translator.translate,\n mm : translator.translate,\n h : translator.translate,\n hh : translator.translate,\n d : 'дан',\n dd : translator.translate,\n M : 'месец',\n MM : translator.translate,\n y : 'годину',\n yy : translator.translate\n },\n ordinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n});\n\nreturn srCyrl;\n\n})));\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/moment/locale/sr-cyrl.js\n ** module id = 283\n ** module chunks = 0\n **/","//! moment.js locale configuration\n//! locale : Serbian [sr]\n//! author : Milan Janačković<milanjanackovic@gmail.com> : https://github.com/milan-j\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar translator = {\n words: { //Different grammatical cases\n m: ['jedan minut', 'jedne minute'],\n mm: ['minut', 'minute', 'minuta'],\n h: ['jedan sat', 'jednog sata'],\n hh: ['sat', 'sata', 'sati'],\n dd: ['dan', 'dana', 'dana'],\n MM: ['mesec', 'meseca', 'meseci'],\n yy: ['godina', 'godine', 'godina']\n },\n correctGrammaticalCase: function (number, wordKey) {\n return number === 1 ? wordKey[0] : (number >= 2 && number <= 4 ? wordKey[1] : wordKey[2]);\n },\n translate: function (number, withoutSuffix, key) {\n var wordKey = translator.words[key];\n if (key.length === 1) {\n return withoutSuffix ? wordKey[0] : wordKey[1];\n } else {\n return number + ' ' + translator.correctGrammaticalCase(number, wordKey);\n }\n }\n};\n\nvar sr = moment.defineLocale('sr', {\n months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split('_'),\n monthsShort: 'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split('_'),\n monthsParseExact: true,\n weekdays: 'nedelja_ponedeljak_utorak_sreda_četvrtak_petak_subota'.split('_'),\n weekdaysShort: 'ned._pon._uto._sre._čet._pet._sub.'.split('_'),\n weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),\n weekdaysParseExact : true,\n longDateFormat: {\n LT: 'H:mm',\n LTS : 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd, D. MMMM YYYY H:mm'\n },\n calendar: {\n sameDay: '[danas u] LT',\n nextDay: '[sutra u] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[u] [nedelju] [u] LT';\n case 3:\n return '[u] [sredu] [u] LT';\n case 6:\n return '[u] [subotu] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[u] dddd [u] LT';\n }\n },\n lastDay : '[juče u] LT',\n lastWeek : function () {\n var lastWeekDays = [\n '[prošle] [nedelje] [u] LT',\n '[prošlog] [ponedeljka] [u] LT',\n '[prošlog] [utorka] [u] LT',\n '[prošle] [srede] [u] LT',\n '[prošlog] [četvrtka] [u] LT',\n '[prošlog] [petka] [u] LT',\n '[prošle] [subote] [u] LT'\n ];\n return lastWeekDays[this.day()];\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'za %s',\n past : 'pre %s',\n s : 'nekoliko sekundi',\n m : translator.translate,\n mm : translator.translate,\n h : translator.translate,\n hh : translator.translate,\n d : 'dan',\n dd : translator.translate,\n M : 'mesec',\n MM : translator.translate,\n y : 'godinu',\n yy : translator.translate\n },\n ordinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n});\n\nreturn sr;\n\n})));\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/moment/locale/sr.js\n ** module id = 284\n ** module chunks = 0\n **/","//! moment.js locale configuration\n//! locale : siSwati [ss]\n//! author : Nicolai Davies<mail@nicolai.io> : https://github.com/nicolaidavies\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n\nvar ss = moment.defineLocale('ss', {\n months : \"Bhimbidvwane_Indlovana_Indlov'lenkhulu_Mabasa_Inkhwekhweti_Inhlaba_Kholwane_Ingci_Inyoni_Imphala_Lweti_Ingongoni\".split('_'),\n monthsShort : 'Bhi_Ina_Inu_Mab_Ink_Inh_Kho_Igc_Iny_Imp_Lwe_Igo'.split('_'),\n weekdays : 'Lisontfo_Umsombuluko_Lesibili_Lesitsatfu_Lesine_Lesihlanu_Umgcibelo'.split('_'),\n weekdaysShort : 'Lis_Umb_Lsb_Les_Lsi_Lsh_Umg'.split('_'),\n weekdaysMin : 'Li_Us_Lb_Lt_Ls_Lh_Ug'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'h:mm A',\n LTS : 'h:mm:ss A',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY h:mm A',\n LLLL : 'dddd, D MMMM YYYY h:mm A'\n },\n calendar : {\n sameDay : '[Namuhla nga] LT',\n nextDay : '[Kusasa nga] LT',\n nextWeek : 'dddd [nga] LT',\n lastDay : '[Itolo nga] LT',\n lastWeek : 'dddd [leliphelile] [nga] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'nga %s',\n past : 'wenteka nga %s',\n s : 'emizuzwana lomcane',\n m : 'umzuzu',\n mm : '%d emizuzu',\n h : 'lihora',\n hh : '%d emahora',\n d : 'lilanga',\n dd : '%d emalanga',\n M : 'inyanga',\n MM : '%d tinyanga',\n y : 'umnyaka',\n yy : '%d iminyaka'\n },\n meridiemParse: /ekuseni|emini|entsambama|ebusuku/,\n meridiem : function (hours, minutes, isLower) {\n if (hours < 11) {\n return 'ekuseni';\n } else if (hours < 15) {\n return 'emini';\n } else if (hours < 19) {\n return 'entsambama';\n } else {\n return 'ebusuku';\n }\n },\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'ekuseni') {\n return hour;\n } else if (meridiem === 'emini') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'entsambama' || meridiem === 'ebusuku') {\n if (hour === 0) {\n return 0;\n }\n return hour + 12;\n }\n },\n ordinalParse: /\\d{1,2}/,\n ordinal : '%d',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn ss;\n\n})));\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/moment/locale/ss.js\n ** module id = 285\n ** module chunks = 0\n **/","//! moment.js locale configuration\n//! locale : Swedish [sv]\n//! author : Jens Alm : https://github.com/ulmus\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar sv = moment.defineLocale('sv', {\n months : 'januari_februari_mars_april_maj_juni_juli_augusti_september_oktober_november_december'.split('_'),\n monthsShort : 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'),\n weekdays : 'söndag_måndag_tisdag_onsdag_torsdag_fredag_lördag'.split('_'),\n weekdaysShort : 'sön_mån_tis_ons_tor_fre_lör'.split('_'),\n weekdaysMin : 'sö_må_ti_on_to_fr_lö'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'YYYY-MM-DD',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY [kl.] HH:mm',\n LLLL : 'dddd D MMMM YYYY [kl.] HH:mm',\n lll : 'D MMM YYYY HH:mm',\n llll : 'ddd D MMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[Idag] LT',\n nextDay: '[Imorgon] LT',\n lastDay: '[Igår] LT',\n nextWeek: '[På] dddd LT',\n lastWeek: '[I] dddd[s] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'om %s',\n past : 'för %s sedan',\n s : 'några sekunder',\n m : 'en minut',\n mm : '%d minuter',\n h : 'en timme',\n hh : '%d timmar',\n d : 'en dag',\n dd : '%d dagar',\n M : 'en månad',\n MM : '%d månader',\n y : 'ett år',\n yy : '%d år'\n },\n ordinalParse: /\\d{1,2}(e|a)/,\n ordinal : function (number) {\n var b = number % 10,\n output = (~~(number % 100 / 10) === 1) ? 'e' :\n (b === 1) ? 'a' :\n (b === 2) ? 'a' :\n (b === 3) ? 'e' : 'e';\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn sv;\n\n})));\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/moment/locale/sv.js\n ** module id = 286\n ** module chunks = 0\n **/","//! moment.js locale configuration\n//! locale : Swahili [sw]\n//! author : Fahad Kassim : https://github.com/fadsel\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar sw = moment.defineLocale('sw', {\n months : 'Januari_Februari_Machi_Aprili_Mei_Juni_Julai_Agosti_Septemba_Oktoba_Novemba_Desemba'.split('_'),\n monthsShort : 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ago_Sep_Okt_Nov_Des'.split('_'),\n weekdays : 'Jumapili_Jumatatu_Jumanne_Jumatano_Alhamisi_Ijumaa_Jumamosi'.split('_'),\n weekdaysShort : 'Jpl_Jtat_Jnne_Jtan_Alh_Ijm_Jmos'.split('_'),\n weekdaysMin : 'J2_J3_J4_J5_Al_Ij_J1'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[leo saa] LT',\n nextDay : '[kesho saa] LT',\n nextWeek : '[wiki ijayo] dddd [saat] LT',\n lastDay : '[jana] LT',\n lastWeek : '[wiki iliyopita] dddd [saat] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s baadaye',\n past : 'tokea %s',\n s : 'hivi punde',\n m : 'dakika moja',\n mm : 'dakika %d',\n h : 'saa limoja',\n hh : 'masaa %d',\n d : 'siku moja',\n dd : 'masiku %d',\n M : 'mwezi mmoja',\n MM : 'miezi %d',\n y : 'mwaka mmoja',\n yy : 'miaka %d'\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n});\n\nreturn sw;\n\n})));\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/moment/locale/sw.js\n ** module id = 287\n ** module chunks = 0\n **/","//! moment.js locale configuration\n//! locale : Tamil [ta]\n//! author : Arjunkumar Krishnamoorthy : https://github.com/tk120404\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar symbolMap = {\n '1': '௧',\n '2': '௨',\n '3': '௩',\n '4': '௪',\n '5': '௫',\n '6': '௬',\n '7': '௭',\n '8': '௮',\n '9': '௯',\n '0': '௦'\n};\nvar numberMap = {\n '௧': '1',\n '௨': '2',\n '௩': '3',\n '௪': '4',\n '௫': '5',\n '௬': '6',\n '௭': '7',\n '௮': '8',\n '௯': '9',\n '௦': '0'\n};\n\nvar ta = moment.defineLocale('ta', {\n months : 'ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்'.split('_'),\n monthsShort : 'ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்'.split('_'),\n weekdays : 'ஞாயிற்றுக்கிழமை_திங்கட்கிழமை_செவ்வாய்கிழமை_புதன்கிழமை_வியாழக்கிழமை_வெள்ளிக்கிழமை_சனிக்கிழமை'.split('_'),\n weekdaysShort : 'ஞாயிறு_திங்கள்_செவ்வாய்_புதன்_வியாழன்_வெள்ளி_சனி'.split('_'),\n weekdaysMin : 'ஞா_தி_செ_பு_வி_வெ_ச'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY, HH:mm',\n LLLL : 'dddd, D MMMM YYYY, HH:mm'\n },\n calendar : {\n sameDay : '[இன்று] LT',\n nextDay : '[நாளை] LT',\n nextWeek : 'dddd, LT',\n lastDay : '[நேற்று] LT',\n lastWeek : '[கடந்த வாரம்] dddd, LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s இல்',\n past : '%s முன்',\n s : 'ஒரு சில விநாடிகள்',\n m : 'ஒரு நிமிடம்',\n mm : '%d நிமிடங்கள்',\n h : 'ஒரு மணி நேரம்',\n hh : '%d மணி நேரம்',\n d : 'ஒரு நாள்',\n dd : '%d நாட்கள்',\n M : 'ஒரு மாதம்',\n MM : '%d மாதங்கள்',\n y : 'ஒரு வருடம்',\n yy : '%d ஆண்டுகள்'\n },\n ordinalParse: /\\d{1,2}வது/,\n ordinal : function (number) {\n return number + 'வது';\n },\n preparse: function (string) {\n return string.replace(/[௧௨௩௪௫௬௭௮௯௦]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n // refer http://ta.wikipedia.org/s/1er1\n meridiemParse: /யாமம்|வைகறை|காலை|நண்பகல்|எற்பாடு|மாலை/,\n meridiem : function (hour, minute, isLower) {\n if (hour < 2) {\n return ' யாமம்';\n } else if (hour < 6) {\n return ' வைகறை'; // வைகறை\n } else if (hour < 10) {\n return ' காலை'; // காலை\n } else if (hour < 14) {\n return ' நண்பகல்'; // நண்பகல்\n } else if (hour < 18) {\n return ' எற்பாடு'; // எற்பாடு\n } else if (hour < 22) {\n return ' மாலை'; // மாலை\n } else {\n return ' யாமம்';\n }\n },\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'யாமம்') {\n return hour < 2 ? hour : hour + 12;\n } else if (meridiem === 'வைகறை' || meridiem === 'காலை') {\n return hour;\n } else if (meridiem === 'நண்பகல்') {\n return hour >= 10 ? hour : hour + 12;\n } else {\n return hour + 12;\n }\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n }\n});\n\nreturn ta;\n\n})));\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/moment/locale/ta.js\n ** module id = 288\n ** module chunks = 0\n **/","//! moment.js locale configuration\n//! locale : Telugu [te]\n//! author : Krishna Chaitanya Thota : https://github.com/kcthota\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar te = moment.defineLocale('te', {\n months : 'జనవరి_ఫిబ్రవరి_మార్చి_ఏప్రిల్_మే_జూన్_జూలై_ఆగస్టు_సెప్టెంబర్_అక్టోబర్_నవంబర్_డిసెంబర్'.split('_'),\n monthsShort : 'జన._ఫిబ్ర._మార్చి_ఏప్రి._మే_జూన్_జూలై_ఆగ._సెప్._అక్టో._నవ._డిసె.'.split('_'),\n monthsParseExact : true,\n weekdays : 'ఆదివారం_సోమవారం_మంగళవారం_బుధవారం_గురువారం_శుక్రవారం_శనివారం'.split('_'),\n weekdaysShort : 'ఆది_సోమ_మంగళ_బుధ_గురు_శుక్ర_శని'.split('_'),\n weekdaysMin : 'ఆ_సో_మం_బు_గు_శు_శ'.split('_'),\n longDateFormat : {\n LT : 'A h:mm',\n LTS : 'A h:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY, A h:mm',\n LLLL : 'dddd, D MMMM YYYY, A h:mm'\n },\n calendar : {\n sameDay : '[నేడు] LT',\n nextDay : '[రేపు] LT',\n nextWeek : 'dddd, LT',\n lastDay : '[నిన్న] LT',\n lastWeek : '[గత] dddd, LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s లో',\n past : '%s క్రితం',\n s : 'కొన్ని క్షణాలు',\n m : 'ఒక నిమిషం',\n mm : '%d నిమిషాలు',\n h : 'ఒక గంట',\n hh : '%d గంటలు',\n d : 'ఒక రోజు',\n dd : '%d రోజులు',\n M : 'ఒక నెల',\n MM : '%d నెలలు',\n y : 'ఒక సంవత్సరం',\n yy : '%d సంవత్సరాలు'\n },\n ordinalParse : /\\d{1,2}వ/,\n ordinal : '%dవ',\n meridiemParse: /రాత్రి|ఉదయం|మధ్యాహ్నం|సాయంత్రం/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'రాత్రి') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'ఉదయం') {\n return hour;\n } else if (meridiem === 'మధ్యాహ్నం') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'సాయంత్రం') {\n return hour + 12;\n }\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'రాత్రి';\n } else if (hour < 10) {\n return 'ఉదయం';\n } else if (hour < 17) {\n return 'మధ్యాహ్నం';\n } else if (hour < 20) {\n return 'సాయంత్రం';\n } else {\n return 'రాత్రి';\n }\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n }\n});\n\nreturn te;\n\n})));\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/moment/locale/te.js\n ** module id = 289\n ** module chunks = 0\n **/","//! moment.js locale configuration\n//! locale : Tetun Dili (East Timor) [tet]\n//! author : Joshua Brooks : https://github.com/joshbrooks\n//! author : Onorio De J. Afonso : https://github.com/marobo\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar tet = moment.defineLocale('tet', {\n months : 'Janeiru_Fevereiru_Marsu_Abril_Maiu_Juniu_Juliu_Augustu_Setembru_Outubru_Novembru_Dezembru'.split('_'),\n monthsShort : 'Jan_Fev_Mar_Abr_Mai_Jun_Jul_Aug_Set_Out_Nov_Dez'.split('_'),\n weekdays : 'Domingu_Segunda_Tersa_Kuarta_Kinta_Sexta_Sabadu'.split('_'),\n weekdaysShort : 'Dom_Seg_Ters_Kua_Kint_Sext_Sab'.split('_'),\n weekdaysMin : 'Do_Seg_Te_Ku_Ki_Sex_Sa'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[Ohin iha] LT',\n nextDay: '[Aban iha] LT',\n nextWeek: 'dddd [iha] LT',\n lastDay: '[Horiseik iha] LT',\n lastWeek: 'dddd [semana kotuk] [iha] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'iha %s',\n past : '%s liuba',\n s : 'minutu balun',\n m : 'minutu ida',\n mm : 'minutus %d',\n h : 'horas ida',\n hh : 'horas %d',\n d : 'loron ida',\n dd : 'loron %d',\n M : 'fulan ida',\n MM : 'fulan %d',\n y : 'tinan ida',\n yy : 'tinan %d'\n },\n ordinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal : function (number) {\n var b = number % 10,\n output = (~~(number % 100 / 10) === 1) ? 'th' :\n (b === 1) ? 'st' :\n (b === 2) ? 'nd' :\n (b === 3) ? 'rd' : 'th';\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn tet;\n\n})));\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/moment/locale/tet.js\n ** module id = 290\n ** module chunks = 0\n **/","//! moment.js locale configuration\n//! locale : Thai [th]\n//! author : Kridsada Thanabulpong : https://github.com/sirn\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar th = moment.defineLocale('th', {\n months : 'มกราคม_กุมภาพันธ์_มีนาคม_เมษายน_พฤษภาคม_มิถุนายน_กรกฎาคม_สิงหาคม_กันยายน_ตุลาคม_พฤศจิกายน_ธันวาคม'.split('_'),\n monthsShort : 'ม.ค._ก.พ._มี.ค._เม.ย._พ.ค._มิ.ย._ก.ค._ส.ค._ก.ย._ต.ค._พ.ย._ธ.ค.'.split('_'),\n monthsParseExact: true,\n weekdays : 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัสบดี_ศุกร์_เสาร์'.split('_'),\n weekdaysShort : 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัส_ศุกร์_เสาร์'.split('_'), // yes, three characters difference\n weekdaysMin : 'อา._จ._อ._พ._พฤ._ศ._ส.'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'YYYY/MM/DD',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY เวลา H:mm',\n LLLL : 'วันddddที่ D MMMM YYYY เวลา H:mm'\n },\n meridiemParse: /ก่อนเที่ยง|หลังเที่ยง/,\n isPM: function (input) {\n return input === 'หลังเที่ยง';\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ก่อนเที่ยง';\n } else {\n return 'หลังเที่ยง';\n }\n },\n calendar : {\n sameDay : '[วันนี้ เวลา] LT',\n nextDay : '[พรุ่งนี้ เวลา] LT',\n nextWeek : 'dddd[หน้า เวลา] LT',\n lastDay : '[เมื่อวานนี้ เวลา] LT',\n lastWeek : '[วัน]dddd[ที่แล้ว เวลา] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'อีก %s',\n past : '%sที่แล้ว',\n s : 'ไม่กี่วินาที',\n m : '1 นาที',\n mm : '%d นาที',\n h : '1 ชั่วโมง',\n hh : '%d ชั่วโมง',\n d : '1 วัน',\n dd : '%d วัน',\n M : '1 เดือน',\n MM : '%d เดือน',\n y : '1 ปี',\n yy : '%d ปี'\n }\n});\n\nreturn th;\n\n})));\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/moment/locale/th.js\n ** module id = 291\n ** module chunks = 0\n **/","//! moment.js locale configuration\n//! locale : Tagalog (Philippines) [tl-ph]\n//! author : Dan Hagman : https://github.com/hagmandan\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar tlPh = moment.defineLocale('tl-ph', {\n months : 'Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre'.split('_'),\n monthsShort : 'Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis'.split('_'),\n weekdays : 'Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado'.split('_'),\n weekdaysShort : 'Lin_Lun_Mar_Miy_Huw_Biy_Sab'.split('_'),\n weekdaysMin : 'Li_Lu_Ma_Mi_Hu_Bi_Sab'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'MM/D/YYYY',\n LL : 'MMMM D, YYYY',\n LLL : 'MMMM D, YYYY HH:mm',\n LLLL : 'dddd, MMMM DD, YYYY HH:mm'\n },\n calendar : {\n sameDay: 'LT [ngayong araw]',\n nextDay: '[Bukas ng] LT',\n nextWeek: 'LT [sa susunod na] dddd',\n lastDay: 'LT [kahapon]',\n lastWeek: 'LT [noong nakaraang] dddd',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'sa loob ng %s',\n past : '%s ang nakalipas',\n s : 'ilang segundo',\n m : 'isang minuto',\n mm : '%d minuto',\n h : 'isang oras',\n hh : '%d oras',\n d : 'isang araw',\n dd : '%d araw',\n M : 'isang buwan',\n MM : '%d buwan',\n y : 'isang taon',\n yy : '%d taon'\n },\n ordinalParse: /\\d{1,2}/,\n ordinal : function (number) {\n return number;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn tlPh;\n\n})));\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/moment/locale/tl-ph.js\n ** module id = 292\n ** module chunks = 0\n **/","//! moment.js locale configuration\n//! locale : Klingon [tlh]\n//! author : Dominika Kruk : https://github.com/amaranthrose\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar numbersNouns = 'pagh_wa’_cha’_wej_loS_vagh_jav_Soch_chorgh_Hut'.split('_');\n\nfunction translateFuture(output) {\n var time = output;\n time = (output.indexOf('jaj') !== -1) ?\n time.slice(0, -3) + 'leS' :\n (output.indexOf('jar') !== -1) ?\n time.slice(0, -3) + 'waQ' :\n (output.indexOf('DIS') !== -1) ?\n time.slice(0, -3) + 'nem' :\n time + ' pIq';\n return time;\n}\n\nfunction translatePast(output) {\n var time = output;\n time = (output.indexOf('jaj') !== -1) ?\n time.slice(0, -3) + 'Hu’' :\n (output.indexOf('jar') !== -1) ?\n time.slice(0, -3) + 'wen' :\n (output.indexOf('DIS') !== -1) ?\n time.slice(0, -3) + 'ben' :\n time + ' ret';\n return time;\n}\n\nfunction translate(number, withoutSuffix, string, isFuture) {\n var numberNoun = numberAsNoun(number);\n switch (string) {\n case 'mm':\n return numberNoun + ' tup';\n case 'hh':\n return numberNoun + ' rep';\n case 'dd':\n return numberNoun + ' jaj';\n case 'MM':\n return numberNoun + ' jar';\n case 'yy':\n return numberNoun + ' DIS';\n }\n}\n\nfunction numberAsNoun(number) {\n var hundred = Math.floor((number % 1000) / 100),\n ten = Math.floor((number % 100) / 10),\n one = number % 10,\n word = '';\n if (hundred > 0) {\n word += numbersNouns[hundred] + 'vatlh';\n }\n if (ten > 0) {\n word += ((word !== '') ? ' ' : '') + numbersNouns[ten] + 'maH';\n }\n if (one > 0) {\n word += ((word !== '') ? ' ' : '') + numbersNouns[one];\n }\n return (word === '') ? 'pagh' : word;\n}\n\nvar tlh = moment.defineLocale('tlh', {\n months : 'tera’ jar wa’_tera’ jar cha’_tera’ jar wej_tera’ jar loS_tera’ jar vagh_tera’ jar jav_tera’ jar Soch_tera’ jar chorgh_tera’ jar Hut_tera’ jar wa’maH_tera’ jar wa’maH wa’_tera’ jar wa’maH cha’'.split('_'),\n monthsShort : 'jar wa’_jar cha’_jar wej_jar loS_jar vagh_jar jav_jar Soch_jar chorgh_jar Hut_jar wa’maH_jar wa’maH wa’_jar wa’maH cha’'.split('_'),\n monthsParseExact : true,\n weekdays : 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'),\n weekdaysShort : 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'),\n weekdaysMin : 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[DaHjaj] LT',\n nextDay: '[wa’leS] LT',\n nextWeek: 'LLL',\n lastDay: '[wa’Hu’] LT',\n lastWeek: 'LLL',\n sameElse: 'L'\n },\n relativeTime : {\n future : translateFuture,\n past : translatePast,\n s : 'puS lup',\n m : 'wa’ tup',\n mm : translate,\n h : 'wa’ rep',\n hh : translate,\n d : 'wa’ jaj',\n dd : translate,\n M : 'wa’ jar',\n MM : translate,\n y : 'wa’ DIS',\n yy : translate\n },\n ordinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn tlh;\n\n})));\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/moment/locale/tlh.js\n ** module id = 293\n ** module chunks = 0\n **/","//! moment.js locale configuration\n//! locale : Turkish [tr]\n//! authors : Erhan Gundogan : https://github.com/erhangundogan,\n//! Burak Yiğit Kaya: https://github.com/BYK\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar suffixes = {\n 1: '\\'inci',\n 5: '\\'inci',\n 8: '\\'inci',\n 70: '\\'inci',\n 80: '\\'inci',\n 2: '\\'nci',\n 7: '\\'nci',\n 20: '\\'nci',\n 50: '\\'nci',\n 3: '\\'üncü',\n 4: '\\'üncü',\n 100: '\\'üncü',\n 6: '\\'ncı',\n 9: '\\'uncu',\n 10: '\\'uncu',\n 30: '\\'uncu',\n 60: '\\'ıncı',\n 90: '\\'ıncı'\n};\n\nvar tr = moment.defineLocale('tr', {\n months : 'Ocak_Şubat_Mart_Nisan_Mayıs_Haziran_Temmuz_Ağustos_Eylül_Ekim_Kasım_Aralık'.split('_'),\n monthsShort : 'Oca_Şub_Mar_Nis_May_Haz_Tem_Ağu_Eyl_Eki_Kas_Ara'.split('_'),\n weekdays : 'Pazar_Pazartesi_Salı_Çarşamba_Perşembe_Cuma_Cumartesi'.split('_'),\n weekdaysShort : 'Paz_Pts_Sal_Çar_Per_Cum_Cts'.split('_'),\n weekdaysMin : 'Pz_Pt_Sa_Ça_Pe_Cu_Ct'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[bugün saat] LT',\n nextDay : '[yarın saat] LT',\n nextWeek : '[haftaya] dddd [saat] LT',\n lastDay : '[dün] LT',\n lastWeek : '[geçen hafta] dddd [saat] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s sonra',\n past : '%s önce',\n s : 'birkaç saniye',\n m : 'bir dakika',\n mm : '%d dakika',\n h : 'bir saat',\n hh : '%d saat',\n d : 'bir gün',\n dd : '%d gün',\n M : 'bir ay',\n MM : '%d ay',\n y : 'bir yıl',\n yy : '%d yıl'\n },\n ordinalParse: /\\d{1,2}'(inci|nci|üncü|ncı|uncu|ıncı)/,\n ordinal : function (number) {\n if (number === 0) { // special case for zero\n return number + '\\'ıncı';\n }\n var a = number % 10,\n b = number % 100 - a,\n c = number >= 100 ? 100 : null;\n return number + (suffixes[a] || suffixes[b] || suffixes[c]);\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n});\n\nreturn tr;\n\n})));\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/moment/locale/tr.js\n ** module id = 294\n ** module chunks = 0\n **/","//! moment.js locale configuration\n//! locale : Talossan [tzl]\n//! author : Robin van der Vliet : https://github.com/robin0van0der0v\n//! author : Iustì Canun\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n// After the year there should be a slash and the amount of years since December 26, 1979 in Roman numerals.\n// This is currently too difficult (maybe even impossible) to add.\nvar tzl = moment.defineLocale('tzl', {\n months : 'Januar_Fevraglh_Març_Avrïu_Mai_Gün_Julia_Guscht_Setemvar_Listopäts_Noemvar_Zecemvar'.split('_'),\n monthsShort : 'Jan_Fev_Mar_Avr_Mai_Gün_Jul_Gus_Set_Lis_Noe_Zec'.split('_'),\n weekdays : 'Súladi_Lúneçi_Maitzi_Márcuri_Xhúadi_Viénerçi_Sáturi'.split('_'),\n weekdaysShort : 'Súl_Lún_Mai_Már_Xhú_Vié_Sát'.split('_'),\n weekdaysMin : 'Sú_Lú_Ma_Má_Xh_Vi_Sá'.split('_'),\n longDateFormat : {\n LT : 'HH.mm',\n LTS : 'HH.mm.ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM [dallas] YYYY',\n LLL : 'D. MMMM [dallas] YYYY HH.mm',\n LLLL : 'dddd, [li] D. MMMM [dallas] YYYY HH.mm'\n },\n meridiemParse: /d\\'o|d\\'a/i,\n isPM : function (input) {\n return 'd\\'o' === input.toLowerCase();\n },\n meridiem : function (hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'd\\'o' : 'D\\'O';\n } else {\n return isLower ? 'd\\'a' : 'D\\'A';\n }\n },\n calendar : {\n sameDay : '[oxhi à] LT',\n nextDay : '[demà à] LT',\n nextWeek : 'dddd [à] LT',\n lastDay : '[ieiri à] LT',\n lastWeek : '[sür el] dddd [lasteu à] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'osprei %s',\n past : 'ja%s',\n s : processRelativeTime,\n m : processRelativeTime,\n mm : processRelativeTime,\n h : processRelativeTime,\n hh : processRelativeTime,\n d : processRelativeTime,\n dd : processRelativeTime,\n M : processRelativeTime,\n MM : processRelativeTime,\n y : processRelativeTime,\n yy : processRelativeTime\n },\n ordinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nfunction processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n 's': ['viensas secunds', '\\'iensas secunds'],\n 'm': ['\\'n míut', '\\'iens míut'],\n 'mm': [number + ' míuts', '' + number + ' míuts'],\n 'h': ['\\'n þora', '\\'iensa þora'],\n 'hh': [number + ' þoras', '' + number + ' þoras'],\n 'd': ['\\'n ziua', '\\'iensa ziua'],\n 'dd': [number + ' ziuas', '' + number + ' ziuas'],\n 'M': ['\\'n mes', '\\'iens mes'],\n 'MM': [number + ' mesen', '' + number + ' mesen'],\n 'y': ['\\'n ar', '\\'iens ar'],\n 'yy': [number + ' ars', '' + number + ' ars']\n };\n return isFuture ? format[key][0] : (withoutSuffix ? format[key][0] : format[key][1]);\n}\n\nreturn tzl;\n\n})));\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/moment/locale/tzl.js\n ** module id = 295\n ** module chunks = 0\n **/","//! moment.js locale configuration\n//! locale : Central Atlas Tamazight Latin [tzm-latn]\n//! author : Abdel Said : https://github.com/abdelsaid\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar tzmLatn = moment.defineLocale('tzm-latn', {\n months : 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split('_'),\n monthsShort : 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split('_'),\n weekdays : 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),\n weekdaysShort : 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),\n weekdaysMin : 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[asdkh g] LT',\n nextDay: '[aska g] LT',\n nextWeek: 'dddd [g] LT',\n lastDay: '[assant g] LT',\n lastWeek: 'dddd [g] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'dadkh s yan %s',\n past : 'yan %s',\n s : 'imik',\n m : 'minuḍ',\n mm : '%d minuḍ',\n h : 'saɛa',\n hh : '%d tassaɛin',\n d : 'ass',\n dd : '%d ossan',\n M : 'ayowr',\n MM : '%d iyyirn',\n y : 'asgas',\n yy : '%d isgasn'\n },\n week : {\n dow : 6, // Saturday is the first day of the week.\n doy : 12 // The week that contains Jan 1st is the first week of the year.\n }\n});\n\nreturn tzmLatn;\n\n})));\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/moment/locale/tzm-latn.js\n ** module id = 296\n ** module chunks = 0\n **/","//! moment.js locale configuration\n//! locale : Central Atlas Tamazight [tzm]\n//! author : Abdel Said : https://github.com/abdelsaid\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar tzm = moment.defineLocale('tzm', {\n months : 'ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ'.split('_'),\n monthsShort : 'ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ'.split('_'),\n weekdays : 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),\n weekdaysShort : 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),\n weekdaysMin : 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS: 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[ⴰⵙⴷⵅ ⴴ] LT',\n nextDay: '[ⴰⵙⴽⴰ ⴴ] LT',\n nextWeek: 'dddd [ⴴ] LT',\n lastDay: '[ⴰⵚⴰⵏⵜ ⴴ] LT',\n lastWeek: 'dddd [ⴴ] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'ⴷⴰⴷⵅ ⵙ ⵢⴰⵏ %s',\n past : 'ⵢⴰⵏ %s',\n s : 'ⵉⵎⵉⴽ',\n m : 'ⵎⵉⵏⵓⴺ',\n mm : '%d ⵎⵉⵏⵓⴺ',\n h : 'ⵙⴰⵄⴰ',\n hh : '%d ⵜⴰⵙⵙⴰⵄⵉⵏ',\n d : 'ⴰⵙⵙ',\n dd : '%d oⵙⵙⴰⵏ',\n M : 'ⴰⵢoⵓⵔ',\n MM : '%d ⵉⵢⵢⵉⵔⵏ',\n y : 'ⴰⵙⴳⴰⵙ',\n yy : '%d ⵉⵙⴳⴰⵙⵏ'\n },\n week : {\n dow : 6, // Saturday is the first day of the week.\n doy : 12 // The week that contains Jan 1st is the first week of the year.\n }\n});\n\nreturn tzm;\n\n})));\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/moment/locale/tzm.js\n ** module id = 297\n ** module chunks = 0\n **/","//! moment.js locale configuration\n//! locale : Ukrainian [uk]\n//! author : zemlanin : https://github.com/zemlanin\n//! Author : Menelion Elensúle : https://github.com/Oire\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nfunction plural(word, num) {\n var forms = word.split('_');\n return num % 10 === 1 && num % 100 !== 11 ? forms[0] : (num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20) ? forms[1] : forms[2]);\n}\nfunction relativeTimeWithPlural(number, withoutSuffix, key) {\n var format = {\n 'mm': withoutSuffix ? 'хвилина_хвилини_хвилин' : 'хвилину_хвилини_хвилин',\n 'hh': withoutSuffix ? 'година_години_годин' : 'годину_години_годин',\n 'dd': 'день_дні_днів',\n 'MM': 'місяць_місяці_місяців',\n 'yy': 'рік_роки_років'\n };\n if (key === 'm') {\n return withoutSuffix ? 'хвилина' : 'хвилину';\n }\n else if (key === 'h') {\n return withoutSuffix ? 'година' : 'годину';\n }\n else {\n return number + ' ' + plural(format[key], +number);\n }\n}\nfunction weekdaysCaseReplace(m, format) {\n var weekdays = {\n 'nominative': 'неділя_понеділок_вівторок_середа_четвер_п’ятниця_субота'.split('_'),\n 'accusative': 'неділю_понеділок_вівторок_середу_четвер_п’ятницю_суботу'.split('_'),\n 'genitive': 'неділі_понеділка_вівторка_середи_четверга_п’ятниці_суботи'.split('_')\n },\n nounCase = (/(\\[[ВвУу]\\]) ?dddd/).test(format) ?\n 'accusative' :\n ((/\\[?(?:минулої|наступної)? ?\\] ?dddd/).test(format) ?\n 'genitive' :\n 'nominative');\n return weekdays[nounCase][m.day()];\n}\nfunction processHoursFunction(str) {\n return function () {\n return str + 'о' + (this.hours() === 11 ? 'б' : '') + '] LT';\n };\n}\n\nvar uk = moment.defineLocale('uk', {\n months : {\n 'format': 'січня_лютого_березня_квітня_травня_червня_липня_серпня_вересня_жовтня_листопада_грудня'.split('_'),\n 'standalone': 'січень_лютий_березень_квітень_травень_червень_липень_серпень_вересень_жовтень_листопад_грудень'.split('_')\n },\n monthsShort : 'січ_лют_бер_квіт_трав_черв_лип_серп_вер_жовт_лист_груд'.split('_'),\n weekdays : weekdaysCaseReplace,\n weekdaysShort : 'нд_пн_вт_ср_чт_пт_сб'.split('_'),\n weekdaysMin : 'нд_пн_вт_ср_чт_пт_сб'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY р.',\n LLL : 'D MMMM YYYY р., HH:mm',\n LLLL : 'dddd, D MMMM YYYY р., HH:mm'\n },\n calendar : {\n sameDay: processHoursFunction('[Сьогодні '),\n nextDay: processHoursFunction('[Завтра '),\n lastDay: processHoursFunction('[Вчора '),\n nextWeek: processHoursFunction('[У] dddd ['),\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n case 3:\n case 5:\n case 6:\n return processHoursFunction('[Минулої] dddd [').call(this);\n case 1:\n case 2:\n case 4:\n return processHoursFunction('[Минулого] dddd [').call(this);\n }\n },\n sameElse: 'L'\n },\n relativeTime : {\n future : 'за %s',\n past : '%s тому',\n s : 'декілька секунд',\n m : relativeTimeWithPlural,\n mm : relativeTimeWithPlural,\n h : 'годину',\n hh : relativeTimeWithPlural,\n d : 'день',\n dd : relativeTimeWithPlural,\n M : 'місяць',\n MM : relativeTimeWithPlural,\n y : 'рік',\n yy : relativeTimeWithPlural\n },\n // M. E.: those two are virtually unused but a user might want to implement them for his/her website for some reason\n meridiemParse: /ночі|ранку|дня|вечора/,\n isPM: function (input) {\n return /^(дня|вечора)$/.test(input);\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'ночі';\n } else if (hour < 12) {\n return 'ранку';\n } else if (hour < 17) {\n return 'дня';\n } else {\n return 'вечора';\n }\n },\n ordinalParse: /\\d{1,2}-(й|го)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'M':\n case 'd':\n case 'DDD':\n case 'w':\n case 'W':\n return number + '-й';\n case 'D':\n return number + '-го';\n default:\n return number;\n }\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n});\n\nreturn uk;\n\n})));\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/moment/locale/uk.js\n ** module id = 298\n ** module chunks = 0\n **/","//! moment.js locale configuration\n//! locale : Uzbek [uz]\n//! author : Sardor Muminov : https://github.com/muminoff\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar uz = moment.defineLocale('uz', {\n months : 'январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр'.split('_'),\n monthsShort : 'янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек'.split('_'),\n weekdays : 'Якшанба_Душанба_Сешанба_Чоршанба_Пайшанба_Жума_Шанба'.split('_'),\n weekdaysShort : 'Якш_Душ_Сеш_Чор_Пай_Жум_Шан'.split('_'),\n weekdaysMin : 'Як_Ду_Се_Чо_Па_Жу_Ша'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'D MMMM YYYY, dddd HH:mm'\n },\n calendar : {\n sameDay : '[Бугун соат] LT [да]',\n nextDay : '[Эртага] LT [да]',\n nextWeek : 'dddd [куни соат] LT [да]',\n lastDay : '[Кеча соат] LT [да]',\n lastWeek : '[Утган] dddd [куни соат] LT [да]',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'Якин %s ичида',\n past : 'Бир неча %s олдин',\n s : 'фурсат',\n m : 'бир дакика',\n mm : '%d дакика',\n h : 'бир соат',\n hh : '%d соат',\n d : 'бир кун',\n dd : '%d кун',\n M : 'бир ой',\n MM : '%d ой',\n y : 'бир йил',\n yy : '%d йил'\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn uz;\n\n})));\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/moment/locale/uz.js\n ** module id = 299\n ** module chunks = 0\n **/","//! moment.js locale configuration\n//! locale : Vietnamese [vi]\n//! author : Bang Nguyen : https://github.com/bangnk\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar vi = moment.defineLocale('vi', {\n months : 'tháng 1_tháng 2_tháng 3_tháng 4_tháng 5_tháng 6_tháng 7_tháng 8_tháng 9_tháng 10_tháng 11_tháng 12'.split('_'),\n monthsShort : 'Th01_Th02_Th03_Th04_Th05_Th06_Th07_Th08_Th09_Th10_Th11_Th12'.split('_'),\n monthsParseExact : true,\n weekdays : 'chủ nhật_thứ hai_thứ ba_thứ tư_thứ năm_thứ sáu_thứ bảy'.split('_'),\n weekdaysShort : 'CN_T2_T3_T4_T5_T6_T7'.split('_'),\n weekdaysMin : 'CN_T2_T3_T4_T5_T6_T7'.split('_'),\n weekdaysParseExact : true,\n meridiemParse: /sa|ch/i,\n isPM : function (input) {\n return /^ch$/i.test(input);\n },\n meridiem : function (hours, minutes, isLower) {\n if (hours < 12) {\n return isLower ? 'sa' : 'SA';\n } else {\n return isLower ? 'ch' : 'CH';\n }\n },\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM [năm] YYYY',\n LLL : 'D MMMM [năm] YYYY HH:mm',\n LLLL : 'dddd, D MMMM [năm] YYYY HH:mm',\n l : 'DD/M/YYYY',\n ll : 'D MMM YYYY',\n lll : 'D MMM YYYY HH:mm',\n llll : 'ddd, D MMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[Hôm nay lúc] LT',\n nextDay: '[Ngày mai lúc] LT',\n nextWeek: 'dddd [tuần tới lúc] LT',\n lastDay: '[Hôm qua lúc] LT',\n lastWeek: 'dddd [tuần rồi lúc] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : '%s tới',\n past : '%s trước',\n s : 'vài giây',\n m : 'một phút',\n mm : '%d phút',\n h : 'một giờ',\n hh : '%d giờ',\n d : 'một ngày',\n dd : '%d ngày',\n M : 'một tháng',\n MM : '%d tháng',\n y : 'một năm',\n yy : '%d năm'\n },\n ordinalParse: /\\d{1,2}/,\n ordinal : function (number) {\n return number;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn vi;\n\n})));\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/moment/locale/vi.js\n ** module id = 300\n ** module chunks = 0\n **/","//! moment.js locale configuration\n//! locale : Pseudo [x-pseudo]\n//! author : Andrew Hood : https://github.com/andrewhood125\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar xPseudo = moment.defineLocale('x-pseudo', {\n months : 'J~áñúá~rý_F~ébrú~árý_~Márc~h_Áp~ríl_~Máý_~Júñé~_Júl~ý_Áú~gúst~_Sép~témb~ér_Ó~ctób~ér_Ñ~óvém~bér_~Décé~mbér'.split('_'),\n monthsShort : 'J~áñ_~Féb_~Már_~Ápr_~Máý_~Júñ_~Júl_~Áúg_~Sép_~Óct_~Ñóv_~Déc'.split('_'),\n monthsParseExact : true,\n weekdays : 'S~úñdá~ý_Mó~ñdáý~_Túé~sdáý~_Wéd~ñésd~áý_T~húrs~dáý_~Fríd~áý_S~átúr~dáý'.split('_'),\n weekdaysShort : 'S~úñ_~Móñ_~Túé_~Wéd_~Thú_~Frí_~Sát'.split('_'),\n weekdaysMin : 'S~ú_Mó~_Tú_~Wé_T~h_Fr~_Sá'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[T~ódá~ý át] LT',\n nextDay : '[T~ómó~rró~w át] LT',\n nextWeek : 'dddd [át] LT',\n lastDay : '[Ý~ést~érdá~ý át] LT',\n lastWeek : '[L~ást] dddd [át] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'í~ñ %s',\n past : '%s á~gó',\n s : 'á ~féw ~sécó~ñds',\n m : 'á ~míñ~úté',\n mm : '%d m~íñú~tés',\n h : 'á~ñ hó~úr',\n hh : '%d h~óúrs',\n d : 'á ~dáý',\n dd : '%d d~áýs',\n M : 'á ~móñ~th',\n MM : '%d m~óñt~hs',\n y : 'á ~ýéár',\n yy : '%d ý~éárs'\n },\n ordinalParse: /\\d{1,2}(th|st|nd|rd)/,\n ordinal : function (number) {\n var b = number % 10,\n output = (~~(number % 100 / 10) === 1) ? 'th' :\n (b === 1) ? 'st' :\n (b === 2) ? 'nd' :\n (b === 3) ? 'rd' : 'th';\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn xPseudo;\n\n})));\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/moment/locale/x-pseudo.js\n ** module id = 301\n ** module chunks = 0\n **/","//! moment.js locale configuration\n//! locale : Yoruba Nigeria [yo]\n//! author : Atolagbe Abisoye : https://github.com/andela-batolagbe\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar yo = moment.defineLocale('yo', {\n months : 'Sẹ́rẹ́_Èrèlè_Ẹrẹ̀nà_Ìgbé_Èbibi_Òkùdu_Agẹmo_Ògún_Owewe_Ọ̀wàrà_Bélú_Ọ̀pẹ̀̀'.split('_'),\n monthsShort : 'Sẹ́r_Èrl_Ẹrn_Ìgb_Èbi_Òkù_Agẹ_Ògú_Owe_Ọ̀wà_Bél_Ọ̀pẹ̀̀'.split('_'),\n weekdays : 'Àìkú_Ajé_Ìsẹ́gun_Ọjọ́rú_Ọjọ́bọ_Ẹtì_Àbámẹ́ta'.split('_'),\n weekdaysShort : 'Àìk_Ajé_Ìsẹ́_Ọjr_Ọjb_Ẹtì_Àbá'.split('_'),\n weekdaysMin : 'Àì_Aj_Ìs_Ọr_Ọb_Ẹt_Àb'.split('_'),\n longDateFormat : {\n LT : 'h:mm A',\n LTS : 'h:mm:ss A',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY h:mm A',\n LLLL : 'dddd, D MMMM YYYY h:mm A'\n },\n calendar : {\n sameDay : '[Ònì ni] LT',\n nextDay : '[Ọ̀la ni] LT',\n nextWeek : 'dddd [Ọsẹ̀ tón\\'bọ] [ni] LT',\n lastDay : '[Àna ni] LT',\n lastWeek : 'dddd [Ọsẹ̀ tólọ́] [ni] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'ní %s',\n past : '%s kọjá',\n s : 'ìsẹjú aayá die',\n m : 'ìsẹjú kan',\n mm : 'ìsẹjú %d',\n h : 'wákati kan',\n hh : 'wákati %d',\n d : 'ọjọ́ kan',\n dd : 'ọjọ́ %d',\n M : 'osù kan',\n MM : 'osù %d',\n y : 'ọdún kan',\n yy : 'ọdún %d'\n },\n ordinalParse : /ọjọ́\\s\\d{1,2}/,\n ordinal : 'ọjọ́ %d',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn yo;\n\n})));\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/moment/locale/yo.js\n ** module id = 302\n ** module chunks = 0\n **/","//! moment.js locale configuration\n//! locale : Chinese (China) [zh-cn]\n//! author : suupic : https://github.com/suupic\n//! author : Zeno Zeng : https://github.com/zenozeng\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar zhCn = moment.defineLocale('zh-cn', {\n months : '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split('_'),\n monthsShort : '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),\n weekdays : '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\n weekdaysShort : '周日_周一_周二_周三_周四_周五_周六'.split('_'),\n weekdaysMin : '日_一_二_三_四_五_六'.split('_'),\n longDateFormat : {\n LT : 'Ah点mm分',\n LTS : 'Ah点m分s秒',\n L : 'YYYY-MM-DD',\n LL : 'YYYY年MMMD日',\n LLL : 'YYYY年MMMD日Ah点mm分',\n LLLL : 'YYYY年MMMD日ddddAh点mm分',\n l : 'YYYY-MM-DD',\n ll : 'YYYY年MMMD日',\n lll : 'YYYY年MMMD日Ah点mm分',\n llll : 'YYYY年MMMD日ddddAh点mm分'\n },\n meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === '凌晨' || meridiem === '早上' ||\n meridiem === '上午') {\n return hour;\n } else if (meridiem === '下午' || meridiem === '晚上') {\n return hour + 12;\n } else {\n // '中午'\n return hour >= 11 ? hour : hour + 12;\n }\n },\n meridiem : function (hour, minute, isLower) {\n var hm = hour * 100 + minute;\n if (hm < 600) {\n return '凌晨';\n } else if (hm < 900) {\n return '早上';\n } else if (hm < 1130) {\n return '上午';\n } else if (hm < 1230) {\n return '中午';\n } else if (hm < 1800) {\n return '下午';\n } else {\n return '晚上';\n }\n },\n calendar : {\n sameDay : function () {\n return this.minutes() === 0 ? '[今天]Ah[点整]' : '[今天]LT';\n },\n nextDay : function () {\n return this.minutes() === 0 ? '[明天]Ah[点整]' : '[明天]LT';\n },\n lastDay : function () {\n return this.minutes() === 0 ? '[昨天]Ah[点整]' : '[昨天]LT';\n },\n nextWeek : function () {\n var startOfWeek, prefix;\n startOfWeek = moment().startOf('week');\n prefix = this.diff(startOfWeek, 'days') >= 7 ? '[下]' : '[本]';\n return this.minutes() === 0 ? prefix + 'dddAh点整' : prefix + 'dddAh点mm';\n },\n lastWeek : function () {\n var startOfWeek, prefix;\n startOfWeek = moment().startOf('week');\n prefix = this.unix() < startOfWeek.unix() ? '[上]' : '[本]';\n return this.minutes() === 0 ? prefix + 'dddAh点整' : prefix + 'dddAh点mm';\n },\n sameElse : 'LL'\n },\n ordinalParse: /\\d{1,2}(日|月|周)/,\n ordinal : function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '日';\n case 'M':\n return number + '月';\n case 'w':\n case 'W':\n return number + '周';\n default:\n return number;\n }\n },\n relativeTime : {\n future : '%s内',\n past : '%s前',\n s : '几秒',\n m : '1 分钟',\n mm : '%d 分钟',\n h : '1 小时',\n hh : '%d 小时',\n d : '1 天',\n dd : '%d 天',\n M : '1 个月',\n MM : '%d 个月',\n y : '1 年',\n yy : '%d 年'\n },\n week : {\n // GB/T 7408-1994《数据元和交换格式·信息交换·日期和时间表示法》与ISO 8601:1988等效\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n});\n\nreturn zhCn;\n\n})));\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/moment/locale/zh-cn.js\n ** module id = 303\n ** module chunks = 0\n **/","//! moment.js locale configuration\n//! locale : Chinese (Hong Kong) [zh-hk]\n//! author : Ben : https://github.com/ben-lin\n//! author : Chris Lam : https://github.com/hehachris\n//! author : Konstantin : https://github.com/skfd\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar zhHk = moment.defineLocale('zh-hk', {\n months : '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split('_'),\n monthsShort : '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),\n weekdays : '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\n weekdaysShort : '週日_週一_週二_週三_週四_週五_週六'.split('_'),\n weekdaysMin : '日_一_二_三_四_五_六'.split('_'),\n longDateFormat : {\n LT : 'Ah點mm分',\n LTS : 'Ah點m分s秒',\n L : 'YYYY年MMMD日',\n LL : 'YYYY年MMMD日',\n LLL : 'YYYY年MMMD日Ah點mm分',\n LLLL : 'YYYY年MMMD日ddddAh點mm分',\n l : 'YYYY年MMMD日',\n ll : 'YYYY年MMMD日',\n lll : 'YYYY年MMMD日Ah點mm分',\n llll : 'YYYY年MMMD日ddddAh點mm分'\n },\n meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {\n return hour;\n } else if (meridiem === '中午') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === '下午' || meridiem === '晚上') {\n return hour + 12;\n }\n },\n meridiem : function (hour, minute, isLower) {\n var hm = hour * 100 + minute;\n if (hm < 600) {\n return '凌晨';\n } else if (hm < 900) {\n return '早上';\n } else if (hm < 1130) {\n return '上午';\n } else if (hm < 1230) {\n return '中午';\n } else if (hm < 1800) {\n return '下午';\n } else {\n return '晚上';\n }\n },\n calendar : {\n sameDay : '[今天]LT',\n nextDay : '[明天]LT',\n nextWeek : '[下]ddddLT',\n lastDay : '[昨天]LT',\n lastWeek : '[上]ddddLT',\n sameElse : 'L'\n },\n ordinalParse: /\\d{1,2}(日|月|週)/,\n ordinal : function (number, period) {\n switch (period) {\n case 'd' :\n case 'D' :\n case 'DDD' :\n return number + '日';\n case 'M' :\n return number + '月';\n case 'w' :\n case 'W' :\n return number + '週';\n default :\n return number;\n }\n },\n relativeTime : {\n future : '%s內',\n past : '%s前',\n s : '幾秒',\n m : '1 分鐘',\n mm : '%d 分鐘',\n h : '1 小時',\n hh : '%d 小時',\n d : '1 天',\n dd : '%d 天',\n M : '1 個月',\n MM : '%d 個月',\n y : '1 年',\n yy : '%d 年'\n }\n});\n\nreturn zhHk;\n\n})));\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/moment/locale/zh-hk.js\n ** module id = 304\n ** module chunks = 0\n **/","//! moment.js locale configuration\n//! locale : Chinese (Taiwan) [zh-tw]\n//! author : Ben : https://github.com/ben-lin\n//! author : Chris Lam : https://github.com/hehachris\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\nvar zhTw = moment.defineLocale('zh-tw', {\n months : '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split('_'),\n monthsShort : '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),\n weekdays : '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\n weekdaysShort : '週日_週一_週二_週三_週四_週五_週六'.split('_'),\n weekdaysMin : '日_一_二_三_四_五_六'.split('_'),\n longDateFormat : {\n LT : 'Ah點mm分',\n LTS : 'Ah點m分s秒',\n L : 'YYYY年MMMD日',\n LL : 'YYYY年MMMD日',\n LLL : 'YYYY年MMMD日Ah點mm分',\n LLLL : 'YYYY年MMMD日ddddAh點mm分',\n l : 'YYYY年MMMD日',\n ll : 'YYYY年MMMD日',\n lll : 'YYYY年MMMD日Ah點mm分',\n llll : 'YYYY年MMMD日ddddAh點mm分'\n },\n meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {\n return hour;\n } else if (meridiem === '中午') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === '下午' || meridiem === '晚上') {\n return hour + 12;\n }\n },\n meridiem : function (hour, minute, isLower) {\n var hm = hour * 100 + minute;\n if (hm < 600) {\n return '凌晨';\n } else if (hm < 900) {\n return '早上';\n } else if (hm < 1130) {\n return '上午';\n } else if (hm < 1230) {\n return '中午';\n } else if (hm < 1800) {\n return '下午';\n } else {\n return '晚上';\n }\n },\n calendar : {\n sameDay : '[今天]LT',\n nextDay : '[明天]LT',\n nextWeek : '[下]ddddLT',\n lastDay : '[昨天]LT',\n lastWeek : '[上]ddddLT',\n sameElse : 'L'\n },\n ordinalParse: /\\d{1,2}(日|月|週)/,\n ordinal : function (number, period) {\n switch (period) {\n case 'd' :\n case 'D' :\n case 'DDD' :\n return number + '日';\n case 'M' :\n return number + '月';\n case 'w' :\n case 'W' :\n return number + '週';\n default :\n return number;\n }\n },\n relativeTime : {\n future : '%s內',\n past : '%s前',\n s : '幾秒',\n m : '1 分鐘',\n mm : '%d 分鐘',\n h : '1 小時',\n hh : '%d 小時',\n d : '1 天',\n dd : '%d 天',\n M : '1 個月',\n MM : '%d 個月',\n y : '1 年',\n yy : '%d 年'\n }\n});\n\nreturn zhTw;\n\n})));\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/moment/locale/zh-tw.js\n ** module id = 305\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\n\nvar _react = require('react');\n\nexports[\"default\"] = _react.PropTypes.shape({\n subscribe: _react.PropTypes.func.isRequired,\n dispatch: _react.PropTypes.func.isRequired,\n getState: _react.PropTypes.func.isRequired\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-redux/lib/utils/storeShape.js\n ** module id = 306\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\nexports[\"default\"] = warning;\n/**\n * Prints a warning in the console if it exists.\n *\n * @param {String} message The warning message.\n * @returns {void}\n */\nfunction warning(message) {\n /* eslint-disable no-console */\n if (typeof console !== 'undefined' && typeof console.error === 'function') {\n console.error(message);\n }\n /* eslint-enable no-console */\n try {\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n /* eslint-disable no-empty */\n } catch (e) {}\n /* eslint-enable no-empty */\n}\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-redux/lib/utils/warning.js\n ** module id = 307\n ** module chunks = 0\n **/","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n/**\n * This action type will be dispatched by the history actions below.\n * If you're writing a middleware to watch for navigation events, be sure to\n * look for actions of this type.\n */\nvar CALL_HISTORY_METHOD = exports.CALL_HISTORY_METHOD = '@@router/CALL_HISTORY_METHOD';\n\nfunction updateLocation(method) {\n return function () {\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return {\n type: CALL_HISTORY_METHOD,\n payload: { method: method, args: args }\n };\n };\n}\n\n/**\n * These actions correspond to the history API.\n * The associated routerMiddleware will capture these events before they get to\n * your reducer and reissue them as the matching function on your history.\n */\nvar push = exports.push = updateLocation('push');\nvar replace = exports.replace = updateLocation('replace');\nvar go = exports.go = updateLocation('go');\nvar goBack = exports.goBack = updateLocation('goBack');\nvar goForward = exports.goForward = updateLocation('goForward');\n\nvar routerActions = exports.routerActions = { push: push, replace: replace, go: go, goBack: goBack, goForward: goForward };\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-router-redux/lib/actions.js\n ** module id = 308\n ** module chunks = 0\n **/","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.routerMiddleware = exports.routerActions = exports.goForward = exports.goBack = exports.go = exports.replace = exports.push = exports.CALL_HISTORY_METHOD = exports.routerReducer = exports.LOCATION_CHANGE = exports.syncHistoryWithStore = undefined;\n\nvar _reducer = require('./reducer');\n\nObject.defineProperty(exports, 'LOCATION_CHANGE', {\n enumerable: true,\n get: function get() {\n return _reducer.LOCATION_CHANGE;\n }\n});\nObject.defineProperty(exports, 'routerReducer', {\n enumerable: true,\n get: function get() {\n return _reducer.routerReducer;\n }\n});\n\nvar _actions = require('./actions');\n\nObject.defineProperty(exports, 'CALL_HISTORY_METHOD', {\n enumerable: true,\n get: function get() {\n return _actions.CALL_HISTORY_METHOD;\n }\n});\nObject.defineProperty(exports, 'push', {\n enumerable: true,\n get: function get() {\n return _actions.push;\n }\n});\nObject.defineProperty(exports, 'replace', {\n enumerable: true,\n get: function get() {\n return _actions.replace;\n }\n});\nObject.defineProperty(exports, 'go', {\n enumerable: true,\n get: function get() {\n return _actions.go;\n }\n});\nObject.defineProperty(exports, 'goBack', {\n enumerable: true,\n get: function get() {\n return _actions.goBack;\n }\n});\nObject.defineProperty(exports, 'goForward', {\n enumerable: true,\n get: function get() {\n return _actions.goForward;\n }\n});\nObject.defineProperty(exports, 'routerActions', {\n enumerable: true,\n get: function get() {\n return _actions.routerActions;\n }\n});\n\nvar _sync = require('./sync');\n\nvar _sync2 = _interopRequireDefault(_sync);\n\nvar _middleware = require('./middleware');\n\nvar _middleware2 = _interopRequireDefault(_middleware);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nexports.syncHistoryWithStore = _sync2['default'];\nexports.routerMiddleware = _middleware2['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-router-redux/lib/index.js\n ** module id = 309\n ** module chunks = 0\n **/","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nexports.routerReducer = routerReducer;\n/**\n * This action type will be dispatched when your history\n * receives a location change.\n */\nvar LOCATION_CHANGE = exports.LOCATION_CHANGE = '@@router/LOCATION_CHANGE';\n\nvar initialState = {\n locationBeforeTransitions: null\n};\n\n/**\n * This reducer will update the state with the most recent location history\n * has transitioned to. This may not be in sync with the router, particularly\n * if you have asynchronously-loaded routes, so reading from and relying on\n * this state is discouraged.\n */\nfunction routerReducer() {\n var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : initialState;\n\n var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n type = _ref.type,\n payload = _ref.payload;\n\n if (type === LOCATION_CHANGE) {\n return _extends({}, state, { locationBeforeTransitions: payload });\n }\n\n return state;\n}\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-router-redux/lib/reducer.js\n ** module id = 310\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _invariant = require('invariant');\n\nvar _invariant2 = _interopRequireDefault(_invariant);\n\nvar _PropTypes = require('./PropTypes');\n\nvar _ContextUtils = require('./ContextUtils');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nvar _React$PropTypes = _react2.default.PropTypes,\n bool = _React$PropTypes.bool,\n object = _React$PropTypes.object,\n string = _React$PropTypes.string,\n func = _React$PropTypes.func,\n oneOfType = _React$PropTypes.oneOfType;\n\n\nfunction isLeftClickEvent(event) {\n return event.button === 0;\n}\n\nfunction isModifiedEvent(event) {\n return !!(event.metaKey || event.altKey || event.ctrlKey || event.shiftKey);\n}\n\n// TODO: De-duplicate against hasAnyProperties in createTransitionManager.\nfunction isEmptyObject(object) {\n for (var p in object) {\n if (Object.prototype.hasOwnProperty.call(object, p)) return false;\n }return true;\n}\n\nfunction resolveToLocation(to, router) {\n return typeof to === 'function' ? to(router.location) : to;\n}\n\n/**\n * A <Link> is used to create an <a> element that links to a route.\n * When that route is active, the link gets the value of its\n * activeClassName prop.\n *\n * For example, assuming you have the following route:\n *\n * <Route path=\"/posts/:postID\" component={Post} />\n *\n * You could use the following component to link to that route:\n *\n * <Link to={`/posts/${post.id}`} />\n *\n * Links may pass along location state and/or query string parameters\n * in the state/query props, respectively.\n *\n * <Link ... query={{ show: true }} state={{ the: 'state' }} />\n */\nvar Link = _react2.default.createClass({\n displayName: 'Link',\n\n\n mixins: [(0, _ContextUtils.ContextSubscriber)('router')],\n\n contextTypes: {\n router: _PropTypes.routerShape\n },\n\n propTypes: {\n to: oneOfType([string, object, func]),\n query: object,\n hash: string,\n state: object,\n activeStyle: object,\n activeClassName: string,\n onlyActiveOnIndex: bool.isRequired,\n onClick: func,\n target: string\n },\n\n getDefaultProps: function getDefaultProps() {\n return {\n onlyActiveOnIndex: false,\n style: {}\n };\n },\n handleClick: function handleClick(event) {\n if (this.props.onClick) this.props.onClick(event);\n\n if (event.defaultPrevented) return;\n\n var router = this.context.router;\n\n !router ? process.env.NODE_ENV !== 'production' ? (0, _invariant2.default)(false, '<Link>s rendered outside of a router context cannot navigate.') : (0, _invariant2.default)(false) : void 0;\n\n if (isModifiedEvent(event) || !isLeftClickEvent(event)) return;\n\n // If target prop is set (e.g. to \"_blank\"), let browser handle link.\n /* istanbul ignore if: untestable with Karma */\n if (this.props.target) return;\n\n event.preventDefault();\n\n router.push(resolveToLocation(this.props.to, router));\n },\n render: function render() {\n var _props = this.props,\n to = _props.to,\n activeClassName = _props.activeClassName,\n activeStyle = _props.activeStyle,\n onlyActiveOnIndex = _props.onlyActiveOnIndex,\n props = _objectWithoutProperties(_props, ['to', 'activeClassName', 'activeStyle', 'onlyActiveOnIndex']);\n\n // Ignore if rendered outside the context of router to simplify unit testing.\n\n\n var router = this.context.router;\n\n\n if (router) {\n // If user does not specify a `to` prop, return an empty anchor tag.\n if (to == null) {\n return _react2.default.createElement('a', props);\n }\n\n var toLocation = resolveToLocation(to, router);\n props.href = router.createHref(toLocation);\n\n if (activeClassName || activeStyle != null && !isEmptyObject(activeStyle)) {\n if (router.isActive(toLocation, onlyActiveOnIndex)) {\n if (activeClassName) {\n if (props.className) {\n props.className += ' ' + activeClassName;\n } else {\n props.className = activeClassName;\n }\n }\n\n if (activeStyle) props.style = _extends({}, props.style, activeStyle);\n }\n }\n }\n\n return _react2.default.createElement('a', _extends({}, props, { onClick: this.handleClick }));\n }\n});\n\nexports.default = Link;\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-router/lib/Link.js\n ** module id = 311\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\nexports.isPromise = isPromise;\nfunction isPromise(obj) {\n return obj && typeof obj.then === 'function';\n}\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-router/lib/PromiseUtils.js\n ** module id = 312\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _invariant = require('invariant');\n\nvar _invariant2 = _interopRequireDefault(_invariant);\n\nvar _RouteUtils = require('./RouteUtils');\n\nvar _PatternUtils = require('./PatternUtils');\n\nvar _InternalPropTypes = require('./InternalPropTypes');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar _React$PropTypes = _react2.default.PropTypes,\n string = _React$PropTypes.string,\n object = _React$PropTypes.object;\n\n/**\n * A <Redirect> is used to declare another URL path a client should\n * be sent to when they request a given URL.\n *\n * Redirects are placed alongside routes in the route configuration\n * and are traversed in the same manner.\n */\n/* eslint-disable react/require-render-return */\n\nvar Redirect = _react2.default.createClass({\n displayName: 'Redirect',\n\n\n statics: {\n createRouteFromReactElement: function createRouteFromReactElement(element) {\n var route = (0, _RouteUtils.createRouteFromReactElement)(element);\n\n if (route.from) route.path = route.from;\n\n route.onEnter = function (nextState, replace) {\n var location = nextState.location,\n params = nextState.params;\n\n\n var pathname = void 0;\n if (route.to.charAt(0) === '/') {\n pathname = (0, _PatternUtils.formatPattern)(route.to, params);\n } else if (!route.to) {\n pathname = location.pathname;\n } else {\n var routeIndex = nextState.routes.indexOf(route);\n var parentPattern = Redirect.getRoutePattern(nextState.routes, routeIndex - 1);\n var pattern = parentPattern.replace(/\\/*$/, '/') + route.to;\n pathname = (0, _PatternUtils.formatPattern)(pattern, params);\n }\n\n replace({\n pathname: pathname,\n query: route.query || location.query,\n state: route.state || location.state\n });\n };\n\n return route;\n },\n getRoutePattern: function getRoutePattern(routes, routeIndex) {\n var parentPattern = '';\n\n for (var i = routeIndex; i >= 0; i--) {\n var route = routes[i];\n var pattern = route.path || '';\n\n parentPattern = pattern.replace(/\\/*$/, '/') + parentPattern;\n\n if (pattern.indexOf('/') === 0) break;\n }\n\n return '/' + parentPattern;\n }\n },\n\n propTypes: {\n path: string,\n from: string, // Alias for path\n to: string.isRequired,\n query: object,\n state: object,\n onEnter: _InternalPropTypes.falsy,\n children: _InternalPropTypes.falsy\n },\n\n /* istanbul ignore next: sanity check */\n render: function render() {\n !false ? process.env.NODE_ENV !== 'production' ? (0, _invariant2.default)(false, '<Redirect> elements are for router configuration only and should not be rendered') : (0, _invariant2.default)(false) : void 0;\n }\n});\n\nexports.default = Redirect;\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-router/lib/Redirect.js\n ** module id = 313\n ** module chunks = 0\n **/","\"use strict\";\n\nexports.__esModule = true;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nexports.createRouterObject = createRouterObject;\nexports.assignRouterState = assignRouterState;\nfunction createRouterObject(history, transitionManager, state) {\n var router = _extends({}, history, {\n setRouteLeaveHook: transitionManager.listenBeforeLeavingRoute,\n isActive: transitionManager.isActive\n });\n\n return assignRouterState(router, state);\n}\n\nfunction assignRouterState(router, _ref) {\n var location = _ref.location,\n params = _ref.params,\n routes = _ref.routes;\n\n router.location = location;\n router.params = params;\n router.routes = routes;\n\n return router;\n}\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-router/lib/RouterUtils.js\n ** module id = 314\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\nexports.default = createMemoryHistory;\n\nvar _useQueries = require('history/lib/useQueries');\n\nvar _useQueries2 = _interopRequireDefault(_useQueries);\n\nvar _useBasename = require('history/lib/useBasename');\n\nvar _useBasename2 = _interopRequireDefault(_useBasename);\n\nvar _createMemoryHistory = require('history/lib/createMemoryHistory');\n\nvar _createMemoryHistory2 = _interopRequireDefault(_createMemoryHistory);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction createMemoryHistory(options) {\n // signatures and type checking differ between `useQueries` and\n // `createMemoryHistory`, have to create `memoryHistory` first because\n // `useQueries` doesn't understand the signature\n var memoryHistory = (0, _createMemoryHistory2.default)(options);\n var createHistory = function createHistory() {\n return memoryHistory;\n };\n var history = (0, _useQueries2.default)((0, _useBasename2.default)(createHistory))(options);\n return history;\n}\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-router/lib/createMemoryHistory.js\n ** module id = 315\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\n\nexports.default = function (createHistory) {\n var history = void 0;\n if (canUseDOM) history = (0, _useRouterHistory2.default)(createHistory)();\n return history;\n};\n\nvar _useRouterHistory = require('./useRouterHistory');\n\nvar _useRouterHistory2 = _interopRequireDefault(_useRouterHistory);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\n\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-router/lib/createRouterHistory.js\n ** module id = 316\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nexports.default = createTransitionManager;\n\nvar _routerWarning = require('./routerWarning');\n\nvar _routerWarning2 = _interopRequireDefault(_routerWarning);\n\nvar _computeChangedRoutes2 = require('./computeChangedRoutes');\n\nvar _computeChangedRoutes3 = _interopRequireDefault(_computeChangedRoutes2);\n\nvar _TransitionUtils = require('./TransitionUtils');\n\nvar _isActive2 = require('./isActive');\n\nvar _isActive3 = _interopRequireDefault(_isActive2);\n\nvar _getComponents = require('./getComponents');\n\nvar _getComponents2 = _interopRequireDefault(_getComponents);\n\nvar _matchRoutes = require('./matchRoutes');\n\nvar _matchRoutes2 = _interopRequireDefault(_matchRoutes);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction hasAnyProperties(object) {\n for (var p in object) {\n if (Object.prototype.hasOwnProperty.call(object, p)) return true;\n }return false;\n}\n\nfunction createTransitionManager(history, routes) {\n var state = {};\n\n // Signature should be (location, indexOnly), but needs to support (path,\n // query, indexOnly)\n function isActive(location, indexOnly) {\n location = history.createLocation(location);\n\n return (0, _isActive3.default)(location, indexOnly, state.location, state.routes, state.params);\n }\n\n var partialNextState = void 0;\n\n function match(location, callback) {\n if (partialNextState && partialNextState.location === location) {\n // Continue from where we left off.\n finishMatch(partialNextState, callback);\n } else {\n (0, _matchRoutes2.default)(routes, location, function (error, nextState) {\n if (error) {\n callback(error);\n } else if (nextState) {\n finishMatch(_extends({}, nextState, { location: location }), callback);\n } else {\n callback();\n }\n });\n }\n }\n\n function finishMatch(nextState, callback) {\n var _computeChangedRoutes = (0, _computeChangedRoutes3.default)(state, nextState),\n leaveRoutes = _computeChangedRoutes.leaveRoutes,\n changeRoutes = _computeChangedRoutes.changeRoutes,\n enterRoutes = _computeChangedRoutes.enterRoutes;\n\n (0, _TransitionUtils.runLeaveHooks)(leaveRoutes, state);\n\n // Tear down confirmation hooks for left routes\n leaveRoutes.filter(function (route) {\n return enterRoutes.indexOf(route) === -1;\n }).forEach(removeListenBeforeHooksForRoute);\n\n // change and enter hooks are run in series\n (0, _TransitionUtils.runChangeHooks)(changeRoutes, state, nextState, function (error, redirectInfo) {\n if (error || redirectInfo) return handleErrorOrRedirect(error, redirectInfo);\n\n (0, _TransitionUtils.runEnterHooks)(enterRoutes, nextState, finishEnterHooks);\n });\n\n function finishEnterHooks(error, redirectInfo) {\n if (error || redirectInfo) return handleErrorOrRedirect(error, redirectInfo);\n\n // TODO: Fetch components after state is updated.\n (0, _getComponents2.default)(nextState, function (error, components) {\n if (error) {\n callback(error);\n } else {\n // TODO: Make match a pure function and have some other API\n // for \"match and update state\".\n callback(null, null, state = _extends({}, nextState, { components: components }));\n }\n });\n }\n\n function handleErrorOrRedirect(error, redirectInfo) {\n if (error) callback(error);else callback(null, redirectInfo);\n }\n }\n\n var RouteGuid = 1;\n\n function getRouteID(route) {\n var create = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n return route.__id__ || create && (route.__id__ = RouteGuid++);\n }\n\n var RouteHooks = Object.create(null);\n\n function getRouteHooksForRoutes(routes) {\n return routes.map(function (route) {\n return RouteHooks[getRouteID(route)];\n }).filter(function (hook) {\n return hook;\n });\n }\n\n function transitionHook(location, callback) {\n (0, _matchRoutes2.default)(routes, location, function (error, nextState) {\n if (nextState == null) {\n // TODO: We didn't actually match anything, but hang\n // onto error/nextState so we don't have to matchRoutes\n // again in the listen callback.\n callback();\n return;\n }\n\n // Cache some state here so we don't have to\n // matchRoutes() again in the listen callback.\n partialNextState = _extends({}, nextState, { location: location });\n\n var hooks = getRouteHooksForRoutes((0, _computeChangedRoutes3.default)(state, partialNextState).leaveRoutes);\n\n var result = void 0;\n for (var i = 0, len = hooks.length; result == null && i < len; ++i) {\n // Passing the location arg here indicates to\n // the user that this is a transition hook.\n result = hooks[i](location);\n }\n\n callback(result);\n });\n }\n\n /* istanbul ignore next: untestable with Karma */\n function beforeUnloadHook() {\n // Synchronously check to see if any route hooks want\n // to prevent the current window/tab from closing.\n if (state.routes) {\n var hooks = getRouteHooksForRoutes(state.routes);\n\n var message = void 0;\n for (var i = 0, len = hooks.length; typeof message !== 'string' && i < len; ++i) {\n // Passing no args indicates to the user that this is a\n // beforeunload hook. We don't know the next location.\n message = hooks[i]();\n }\n\n return message;\n }\n }\n\n var unlistenBefore = void 0,\n unlistenBeforeUnload = void 0;\n\n function removeListenBeforeHooksForRoute(route) {\n var routeID = getRouteID(route);\n if (!routeID) {\n return;\n }\n\n delete RouteHooks[routeID];\n\n if (!hasAnyProperties(RouteHooks)) {\n // teardown transition & beforeunload hooks\n if (unlistenBefore) {\n unlistenBefore();\n unlistenBefore = null;\n }\n\n if (unlistenBeforeUnload) {\n unlistenBeforeUnload();\n unlistenBeforeUnload = null;\n }\n }\n }\n\n /**\n * Registers the given hook function to run before leaving the given route.\n *\n * During a normal transition, the hook function receives the next location\n * as its only argument and can return either a prompt message (string) to show the user,\n * to make sure they want to leave the page; or `false`, to prevent the transition.\n * Any other return value will have no effect.\n *\n * During the beforeunload event (in browsers) the hook receives no arguments.\n * In this case it must return a prompt message to prevent the transition.\n *\n * Returns a function that may be used to unbind the listener.\n */\n function listenBeforeLeavingRoute(route, hook) {\n var thereWereNoRouteHooks = !hasAnyProperties(RouteHooks);\n var routeID = getRouteID(route, true);\n\n RouteHooks[routeID] = hook;\n\n if (thereWereNoRouteHooks) {\n // setup transition & beforeunload hooks\n unlistenBefore = history.listenBefore(transitionHook);\n\n if (history.listenBeforeUnload) unlistenBeforeUnload = history.listenBeforeUnload(beforeUnloadHook);\n }\n\n return function () {\n removeListenBeforeHooksForRoute(route);\n };\n }\n\n /**\n * This is the API for stateful environments. As the location\n * changes, we update state and call the listener. We can also\n * gracefully handle errors and redirects.\n */\n function listen(listener) {\n function historyListener(location) {\n if (state.location === location) {\n listener(null, state);\n } else {\n match(location, function (error, redirectLocation, nextState) {\n if (error) {\n listener(error);\n } else if (redirectLocation) {\n history.replace(redirectLocation);\n } else if (nextState) {\n listener(null, nextState);\n } else {\n process.env.NODE_ENV !== 'production' ? (0, _routerWarning2.default)(false, 'Location \"%s\" did not match any routes', location.pathname + location.search + location.hash) : void 0;\n }\n });\n }\n }\n\n // TODO: Only use a single history listener. Otherwise we'll end up with\n // multiple concurrent calls to match.\n\n // Set up the history listener first in case the initial match redirects.\n var unsubscribe = history.listen(historyListener);\n\n if (state.location) {\n // Picking up on a matchContext.\n listener(null, state);\n } else {\n historyListener(history.getCurrentLocation());\n }\n\n return unsubscribe;\n }\n\n return {\n isActive: isActive,\n match: match,\n listenBeforeLeavingRoute: listenBeforeLeavingRoute,\n listen: listen\n };\n}\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-router/lib/createTransitionManager.js\n ** module id = 317\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\nexports.default = useRouterHistory;\n\nvar _useQueries = require('history/lib/useQueries');\n\nvar _useQueries2 = _interopRequireDefault(_useQueries);\n\nvar _useBasename = require('history/lib/useBasename');\n\nvar _useBasename2 = _interopRequireDefault(_useBasename);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction useRouterHistory(createHistory) {\n return function (options) {\n var history = (0, _useQueries2.default)((0, _useBasename2.default)(createHistory))(options);\n return history;\n };\n}\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-router/lib/useRouterHistory.js\n ** module id = 318\n ** module chunks = 0\n **/","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = undefined;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol ? \"symbol\" : typeof obj; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _class, _temp; /**\n * <TextareaAutosize />\n */\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _calculateNodeHeight = require('./calculateNodeHeight');\n\nvar _calculateNodeHeight2 = _interopRequireDefault(_calculateNodeHeight);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar emptyFunction = function emptyFunction() {};\n\nvar TextareaAutosize = (_temp = _class = function (_React$Component) {\n _inherits(TextareaAutosize, _React$Component);\n\n function TextareaAutosize(props) {\n _classCallCheck(this, TextareaAutosize);\n\n var _this = _possibleConstructorReturn(this, (TextareaAutosize.__proto__ || Object.getPrototypeOf(TextareaAutosize)).call(this, props));\n\n _this.state = {\n height: null,\n minHeight: -Infinity,\n maxHeight: Infinity\n };\n _this._onNextFrameActionId = null;\n _this._rootDOMNode = null;\n _this._onChange = _this._onChange.bind(_this);\n _this._resizeComponent = _this._resizeComponent.bind(_this);\n _this._onRootDOMNode = _this._onRootDOMNode.bind(_this);\n return _this;\n }\n\n _createClass(TextareaAutosize, [{\n key: 'render',\n value: function render() {\n var _props = this.props;\n var valueLink = _props.valueLink;\n var _minRows = _props.minRows;\n var _maxRows = _props.maxRows;\n var _onHeightChange = _props.onHeightChange;\n var _useCacheForDOMMeasurements = _props.useCacheForDOMMeasurements;\n\n var props = _objectWithoutProperties(_props, ['valueLink', 'minRows', 'maxRows', 'onHeightChange', 'useCacheForDOMMeasurements']);\n\n if ((typeof valueLink === 'undefined' ? 'undefined' : _typeof(valueLink)) === 'object') {\n props.value = valueLink.value;\n }\n props.style = _extends({}, props.style, {\n height: this.state.height || 0\n });\n var maxHeight = Math.max(props.style.maxHeight ? props.style.maxHeight : Infinity, this.state.maxHeight);\n if (maxHeight < this.state.height) {\n props.style.overflow = 'hidden';\n }\n return _react2.default.createElement('textarea', _extends({}, props, {\n onChange: this._onChange,\n ref: this._onRootDOMNode\n }));\n }\n }, {\n key: 'componentDidMount',\n value: function componentDidMount() {\n this._resizeComponent();\n window.addEventListener('resize', this._resizeComponent);\n }\n }, {\n key: 'componentWillReceiveProps',\n value: function componentWillReceiveProps() {\n // Re-render with the new content then recalculate the height as required.\n this._clearNextFrame();\n this._onNextFrameActionId = onNextFrame(this._resizeComponent);\n }\n }, {\n key: 'componentDidUpdate',\n value: function componentDidUpdate(prevProps, prevState) {\n // Invoke callback when old height does not equal to new one.\n if (this.state.height !== prevState.height) {\n this.props.onHeightChange(this.state.height);\n }\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n // Remove any scheduled events to prevent manipulating the node after it's\n // been unmounted.\n this._clearNextFrame();\n window.removeEventListener('resize', this._resizeComponent);\n }\n }, {\n key: '_clearNextFrame',\n value: function _clearNextFrame() {\n if (this._onNextFrameActionId) {\n clearNextFrameAction(this._onNextFrameActionId);\n }\n }\n }, {\n key: '_onRootDOMNode',\n value: function _onRootDOMNode(node) {\n this._rootDOMNode = node;\n }\n }, {\n key: '_onChange',\n value: function _onChange(e) {\n this._resizeComponent();\n var _props2 = this.props;\n var valueLink = _props2.valueLink;\n var onChange = _props2.onChange;\n\n if (valueLink) {\n valueLink.requestChange(e.target.value);\n } else {\n onChange(e);\n }\n }\n }, {\n key: '_resizeComponent',\n value: function _resizeComponent() {\n var useCacheForDOMMeasurements = this.props.useCacheForDOMMeasurements;\n\n this.setState((0, _calculateNodeHeight2.default)(this._rootDOMNode, useCacheForDOMMeasurements, this.props.rows || this.props.minRows, this.props.maxRows));\n }\n\n /**\n * Read the current value of <textarea /> from DOM.\n */\n\n }, {\n key: 'focus',\n\n\n /**\n * Put focus on a <textarea /> DOM element.\n */\n value: function focus() {\n this._rootDOMNode.focus();\n }\n\n /**\n * Shifts focus away from a <textarea /> DOM element.\n */\n\n }, {\n key: 'blur',\n value: function blur() {\n this._rootDOMNode.blur();\n }\n }, {\n key: 'value',\n get: function get() {\n return this._rootDOMNode.value;\n }\n\n /**\n * Set the current value of <textarea /> DOM node.\n */\n ,\n set: function set(val) {\n this._rootDOMNode.value = val;\n }\n\n /**\n * Read the current selectionStart of <textarea /> from DOM.\n */\n\n }, {\n key: 'selectionStart',\n get: function get() {\n return this._rootDOMNode.selectionStart;\n }\n\n /**\n * Set the current selectionStart of <textarea /> DOM node.\n */\n ,\n set: function set(selectionStart) {\n this._rootDOMNode.selectionStart = selectionStart;\n }\n\n /**\n * Read the current selectionEnd of <textarea /> from DOM.\n */\n\n }, {\n key: 'selectionEnd',\n get: function get() {\n return this._rootDOMNode.selectionEnd;\n }\n\n /**\n * Set the current selectionEnd of <textarea /> DOM node.\n */\n ,\n set: function set(selectionEnd) {\n this._rootDOMNode.selectionEnd = selectionEnd;\n }\n }]);\n\n return TextareaAutosize;\n}(_react2.default.Component), _class.propTypes = {\n /**\n * Current textarea value.\n */\n value: _react2.default.PropTypes.string,\n\n /**\n * Callback on value change.\n */\n onChange: _react2.default.PropTypes.func,\n\n /**\n * Callback on height changes.\n */\n onHeightChange: _react2.default.PropTypes.func,\n\n /**\n * Try to cache DOM measurements performed by component so that we don't\n * touch DOM when it's not needed.\n *\n * This optimization doesn't work if we dynamically style <textarea />\n * component.\n */\n useCacheForDOMMeasurements: _react2.default.PropTypes.bool,\n\n /**\n * Minimal numbder of rows to show.\n */\n rows: _react2.default.PropTypes.number,\n\n /**\n * Alias for `rows`.\n */\n minRows: _react2.default.PropTypes.number,\n\n /**\n * Maximum number of rows to show.\n */\n maxRows: _react2.default.PropTypes.number\n}, _class.defaultProps = {\n onChange: emptyFunction,\n onHeightChange: emptyFunction,\n useCacheForDOMMeasurements: false\n}, _temp);\nexports.default = TextareaAutosize;\n\n\nfunction onNextFrame(cb) {\n if (window.requestAnimationFrame) {\n return window.requestAnimationFrame(cb);\n }\n return window.setTimeout(cb, 1);\n}\n\nfunction clearNextFrameAction(nextFrameId) {\n if (window.cancelAnimationFrame) {\n window.cancelAnimationFrame(nextFrameId);\n } else {\n window.clearTimeout(nextFrameId);\n }\n}\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-textarea-autosize/lib/TextareaAutosize.js\n ** module id = 319\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _class, _temp;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _classnames = require('classnames');\n\nvar _classnames2 = _interopRequireDefault(_classnames);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Widget = (_temp = _class = function (_React$Component) {\n _inherits(Widget, _React$Component);\n\n function Widget() {\n _classCallCheck(this, Widget);\n\n return _possibleConstructorReturn(this, _React$Component.apply(this, arguments));\n }\n\n Widget.prototype.render = function render() {\n var _props = this.props,\n className = _props.className,\n tabIndex = _props.tabIndex,\n open = _props.open,\n dropUp = _props.dropUp,\n disabled = _props.disabled,\n readOnly = _props.readOnly,\n focused = _props.focused,\n props = _objectWithoutProperties(_props, ['className', 'tabIndex', 'open', 'dropUp', 'disabled', 'readOnly', 'focused']);\n\n var isRtl = !!this.context.isRtl;\n var openClass = 'rw-open' + (dropUp ? '-up' : '');\n\n tabIndex = tabIndex != null ? tabIndex : '-1';\n\n return _react2.default.createElement('div', _extends({}, props, {\n tabIndex: tabIndex,\n className: (0, _classnames2.default)(className, 'rw-widget', isRtl && 'rw-rtl', open && openClass, focused && 'rw-state-focus', disabled && 'rw-state-disabled', readOnly && 'rw-state-readonly')\n }));\n };\n\n return Widget;\n}(_react2.default.Component), _class.propTypes = {\n tabIndex: _react.PropTypes.node,\n focused: _react.PropTypes.bool,\n disabled: _react.PropTypes.bool,\n readOnly: _react.PropTypes.bool,\n open: _react.PropTypes.bool,\n dropUp: _react.PropTypes.bool\n}, _class.contextTypes = {\n isRtl: _react.PropTypes.bool\n}, _temp);\nexports.default = Widget;\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-widgets/lib/Widget.js\n ** module id = 320\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\nexports.default = FocusMixin;\n\nvar _widgetHelpers = require('../util/widgetHelpers');\n\nvar _interaction = require('../util/interaction');\n\nvar _compat = require('../util/compat');\n\nvar _compat2 = _interopRequireDefault(_compat);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _applyDecoratedDescriptor(target, property, decorators, descriptor, context) {\n var desc = {};\n Object['ke' + 'ys'](descriptor).forEach(function (key) {\n desc[key] = descriptor[key];\n });\n desc.enumerable = !!desc.enumerable;\n desc.configurable = !!desc.configurable;\n\n if ('value' in desc || desc.initializer) {\n desc.writable = true;\n }\n\n desc = decorators.slice().reverse().reduce(function (desc, decorator) {\n return decorator(target, property, desc) || desc;\n }, desc);\n\n if (context && desc.initializer !== void 0) {\n desc.value = desc.initializer ? desc.initializer.call(context) : void 0;\n desc.initializer = undefined;\n }\n\n if (desc.initializer === void 0) {\n Object['define' + 'Property'](target, property, desc);\n desc = null;\n }\n\n return desc;\n}\n\nfunction FocusMixin(_ref) {\n var _desc, _value, _obj;\n\n var willHandle = _ref.willHandle,\n didHandle = _ref.didHandle;\n\n function _handleFocus(inst, focused, event) {\n var handler = inst.props[focused ? 'onFocus' : 'onBlur'];\n\n if (handler && event) event.persist();\n\n if (willHandle && willHandle.call(inst, focused, event) === false) return;\n\n inst.setTimeout('focus', function () {\n _compat2.default.batchedUpdates(function () {\n if (didHandle) didHandle.call(inst, focused, event);\n\n if (focused !== inst.state.focused) {\n (0, _widgetHelpers.notify)(handler, event);\n if (inst.isMounted()) inst.setState({ focused: focused });\n }\n });\n });\n }\n\n return _obj = {\n handleBlur: function handleBlur(event) {\n _handleFocus(this, false, event);\n },\n handleFocus: function handleFocus(event) {\n _handleFocus(this, true, event);\n }\n }, (_applyDecoratedDescriptor(_obj, 'handleBlur', [_interaction.widgetEnabled], Object.getOwnPropertyDescriptor(_obj, 'handleBlur'), _obj), _applyDecoratedDescriptor(_obj, 'handleFocus', [_interaction.widgetEnabled], Object.getOwnPropertyDescriptor(_obj, 'handleFocus'), _obj)), _obj;\n}\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-widgets/lib/mixins/FocusMixin.js\n ** module id = 321\n ** module chunks = 0\n **/","'use strict';\n\nvar React = require('react');\n\nmodule.exports = {\n\n propTypes: {\n isRtl: React.PropTypes.bool\n },\n\n contextTypes: {\n isRtl: React.PropTypes.bool\n },\n\n childContextTypes: {\n isRtl: React.PropTypes.bool\n },\n\n getChildContext: function getChildContext() {\n return {\n isRtl: !!(this.props.isRtl || this.context && this.context.isRtl)\n };\n },\n isRtl: function isRtl() {\n return !!(this.props.isRtl || this.context && this.context.isRtl);\n }\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-widgets/lib/mixins/RtlParentContextMixin.js\n ** module id = 322\n ** module chunks = 0\n **/","\"use strict\";\n\nexports.__esModule = true;\nvar common = {\n eq: function eq(a, b) {\n return a === b;\n },\n neq: function neq(a, b) {\n return a !== b;\n },\n gt: function gt(a, b) {\n return a > b;\n },\n gte: function gte(a, b) {\n return a >= b;\n },\n lt: function lt(a, b) {\n return a < b;\n },\n lte: function lte(a, b) {\n return a <= b;\n },\n contains: function contains(a, b) {\n return a.indexOf(b) !== -1;\n },\n startsWith: function startsWith(a, b) {\n return a.lastIndexOf(b, 0) === 0;\n },\n endsWith: function endsWith(a, b) {\n var pos = a.length - b.length,\n lastIndex = a.indexOf(b, pos);\n\n return lastIndex !== -1 && lastIndex === pos;\n }\n};\n\nexports.default = common;\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-widgets/lib/util/filter.js\n ** module id = 323\n ** module chunks = 0\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule CSSProperty\n */\n\n'use strict';\n\n/**\n * CSS properties which accept numbers but are not in units of \"px\".\n */\n\nvar isUnitlessNumber = {\n animationIterationCount: true,\n borderImageOutset: true,\n borderImageSlice: true,\n borderImageWidth: true,\n boxFlex: true,\n boxFlexGroup: true,\n boxOrdinalGroup: true,\n columnCount: true,\n flex: true,\n flexGrow: true,\n flexPositive: true,\n flexShrink: true,\n flexNegative: true,\n flexOrder: true,\n gridRow: true,\n gridColumn: true,\n fontWeight: true,\n lineClamp: true,\n lineHeight: true,\n opacity: true,\n order: true,\n orphans: true,\n tabSize: true,\n widows: true,\n zIndex: true,\n zoom: true,\n\n // SVG-related properties\n fillOpacity: true,\n floodOpacity: true,\n stopOpacity: true,\n strokeDasharray: true,\n strokeDashoffset: true,\n strokeMiterlimit: true,\n strokeOpacity: true,\n strokeWidth: true\n};\n\n/**\n * @param {string} prefix vendor-specific prefix, eg: Webkit\n * @param {string} key style name, eg: transitionDuration\n * @return {string} style name prefixed with `prefix`, properly camelCased, eg:\n * WebkitTransitionDuration\n */\nfunction prefixKey(prefix, key) {\n return prefix + key.charAt(0).toUpperCase() + key.substring(1);\n}\n\n/**\n * Support style names that may come passed in prefixed by adding permutations\n * of vendor prefixes.\n */\nvar prefixes = ['Webkit', 'ms', 'Moz', 'O'];\n\n// Using Object.keys here, or else the vanilla for-in loop makes IE8 go into an\n// infinite loop, because it iterates over the newly added props too.\nObject.keys(isUnitlessNumber).forEach(function (prop) {\n prefixes.forEach(function (prefix) {\n isUnitlessNumber[prefixKey(prefix, prop)] = isUnitlessNumber[prop];\n });\n});\n\n/**\n * Most style properties can be unset by doing .style[prop] = '' but IE8\n * doesn't like doing that with shorthand properties so for the properties that\n * IE8 breaks on, which are listed here, we instead unset each of the\n * individual properties. See http://bugs.jquery.com/ticket/12385.\n * The 4-value 'clock' properties like margin, padding, border-width seem to\n * behave without any problems. Curiously, list-style works too without any\n * special prodding.\n */\nvar shorthandPropertyExpansions = {\n background: {\n backgroundAttachment: true,\n backgroundColor: true,\n backgroundImage: true,\n backgroundPositionX: true,\n backgroundPositionY: true,\n backgroundRepeat: true\n },\n backgroundPosition: {\n backgroundPositionX: true,\n backgroundPositionY: true\n },\n border: {\n borderWidth: true,\n borderStyle: true,\n borderColor: true\n },\n borderBottom: {\n borderBottomWidth: true,\n borderBottomStyle: true,\n borderBottomColor: true\n },\n borderLeft: {\n borderLeftWidth: true,\n borderLeftStyle: true,\n borderLeftColor: true\n },\n borderRight: {\n borderRightWidth: true,\n borderRightStyle: true,\n borderRightColor: true\n },\n borderTop: {\n borderTopWidth: true,\n borderTopStyle: true,\n borderTopColor: true\n },\n font: {\n fontStyle: true,\n fontVariant: true,\n fontWeight: true,\n fontSize: true,\n lineHeight: true,\n fontFamily: true\n },\n outline: {\n outlineWidth: true,\n outlineStyle: true,\n outlineColor: true\n }\n};\n\nvar CSSProperty = {\n isUnitlessNumber: isUnitlessNumber,\n shorthandPropertyExpansions: shorthandPropertyExpansions\n};\n\nmodule.exports = CSSProperty;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react/lib/CSSProperty.js\n ** module id = 324\n ** module chunks = 0\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule CallbackQueue\n */\n\n'use strict';\n\nvar _prodInvariant = require('./reactProdInvariant'),\n _assign = require('object-assign');\n\nvar PooledClass = require('./PooledClass');\n\nvar invariant = require('fbjs/lib/invariant');\n\n/**\n * A specialized pseudo-event module to help keep track of components waiting to\n * be notified when their DOM representations are available for use.\n *\n * This implements `PooledClass`, so you should never need to instantiate this.\n * Instead, use `CallbackQueue.getPooled()`.\n *\n * @class ReactMountReady\n * @implements PooledClass\n * @internal\n */\nfunction CallbackQueue() {\n this._callbacks = null;\n this._contexts = null;\n}\n\n_assign(CallbackQueue.prototype, {\n\n /**\n * Enqueues a callback to be invoked when `notifyAll` is invoked.\n *\n * @param {function} callback Invoked when `notifyAll` is invoked.\n * @param {?object} context Context to call `callback` with.\n * @internal\n */\n enqueue: function (callback, context) {\n this._callbacks = this._callbacks || [];\n this._contexts = this._contexts || [];\n this._callbacks.push(callback);\n this._contexts.push(context);\n },\n\n /**\n * Invokes all enqueued callbacks and clears the queue. This is invoked after\n * the DOM representation of a component has been created or updated.\n *\n * @internal\n */\n notifyAll: function () {\n var callbacks = this._callbacks;\n var contexts = this._contexts;\n if (callbacks) {\n !(callbacks.length === contexts.length) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Mismatched list of contexts in callback queue') : _prodInvariant('24') : void 0;\n this._callbacks = null;\n this._contexts = null;\n for (var i = 0; i < callbacks.length; i++) {\n callbacks[i].call(contexts[i]);\n }\n callbacks.length = 0;\n contexts.length = 0;\n }\n },\n\n checkpoint: function () {\n return this._callbacks ? this._callbacks.length : 0;\n },\n\n rollback: function (len) {\n if (this._callbacks) {\n this._callbacks.length = len;\n this._contexts.length = len;\n }\n },\n\n /**\n * Resets the internal queue.\n *\n * @internal\n */\n reset: function () {\n this._callbacks = null;\n this._contexts = null;\n },\n\n /**\n * `PooledClass` looks for this.\n */\n destructor: function () {\n this.reset();\n }\n\n});\n\nPooledClass.addPoolingTo(CallbackQueue);\n\nmodule.exports = CallbackQueue;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react/lib/CallbackQueue.js\n ** module id = 325\n ** module chunks = 0\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule DOMPropertyOperations\n */\n\n'use strict';\n\nvar DOMProperty = require('./DOMProperty');\nvar ReactDOMComponentTree = require('./ReactDOMComponentTree');\nvar ReactInstrumentation = require('./ReactInstrumentation');\n\nvar quoteAttributeValueForBrowser = require('./quoteAttributeValueForBrowser');\nvar warning = require('fbjs/lib/warning');\n\nvar VALID_ATTRIBUTE_NAME_REGEX = new RegExp('^[' + DOMProperty.ATTRIBUTE_NAME_START_CHAR + '][' + DOMProperty.ATTRIBUTE_NAME_CHAR + ']*$');\nvar illegalAttributeNameCache = {};\nvar validatedAttributeNameCache = {};\n\nfunction isAttributeNameSafe(attributeName) {\n if (validatedAttributeNameCache.hasOwnProperty(attributeName)) {\n return true;\n }\n if (illegalAttributeNameCache.hasOwnProperty(attributeName)) {\n return false;\n }\n if (VALID_ATTRIBUTE_NAME_REGEX.test(attributeName)) {\n validatedAttributeNameCache[attributeName] = true;\n return true;\n }\n illegalAttributeNameCache[attributeName] = true;\n process.env.NODE_ENV !== 'production' ? warning(false, 'Invalid attribute name: `%s`', attributeName) : void 0;\n return false;\n}\n\nfunction shouldIgnoreValue(propertyInfo, value) {\n return value == null || propertyInfo.hasBooleanValue && !value || propertyInfo.hasNumericValue && isNaN(value) || propertyInfo.hasPositiveNumericValue && value < 1 || propertyInfo.hasOverloadedBooleanValue && value === false;\n}\n\n/**\n * Operations for dealing with DOM properties.\n */\nvar DOMPropertyOperations = {\n\n /**\n * Creates markup for the ID property.\n *\n * @param {string} id Unescaped ID.\n * @return {string} Markup string.\n */\n createMarkupForID: function (id) {\n return DOMProperty.ID_ATTRIBUTE_NAME + '=' + quoteAttributeValueForBrowser(id);\n },\n\n setAttributeForID: function (node, id) {\n node.setAttribute(DOMProperty.ID_ATTRIBUTE_NAME, id);\n },\n\n createMarkupForRoot: function () {\n return DOMProperty.ROOT_ATTRIBUTE_NAME + '=\"\"';\n },\n\n setAttributeForRoot: function (node) {\n node.setAttribute(DOMProperty.ROOT_ATTRIBUTE_NAME, '');\n },\n\n /**\n * Creates markup for a property.\n *\n * @param {string} name\n * @param {*} value\n * @return {?string} Markup string, or null if the property was invalid.\n */\n createMarkupForProperty: function (name, value) {\n var propertyInfo = DOMProperty.properties.hasOwnProperty(name) ? DOMProperty.properties[name] : null;\n if (propertyInfo) {\n if (shouldIgnoreValue(propertyInfo, value)) {\n return '';\n }\n var attributeName = propertyInfo.attributeName;\n if (propertyInfo.hasBooleanValue || propertyInfo.hasOverloadedBooleanValue && value === true) {\n return attributeName + '=\"\"';\n }\n return attributeName + '=' + quoteAttributeValueForBrowser(value);\n } else if (DOMProperty.isCustomAttribute(name)) {\n if (value == null) {\n return '';\n }\n return name + '=' + quoteAttributeValueForBrowser(value);\n }\n return null;\n },\n\n /**\n * Creates markup for a custom property.\n *\n * @param {string} name\n * @param {*} value\n * @return {string} Markup string, or empty string if the property was invalid.\n */\n createMarkupForCustomAttribute: function (name, value) {\n if (!isAttributeNameSafe(name) || value == null) {\n return '';\n }\n return name + '=' + quoteAttributeValueForBrowser(value);\n },\n\n /**\n * Sets the value for a property on a node.\n *\n * @param {DOMElement} node\n * @param {string} name\n * @param {*} value\n */\n setValueForProperty: function (node, name, value) {\n var propertyInfo = DOMProperty.properties.hasOwnProperty(name) ? DOMProperty.properties[name] : null;\n if (propertyInfo) {\n var mutationMethod = propertyInfo.mutationMethod;\n if (mutationMethod) {\n mutationMethod(node, value);\n } else if (shouldIgnoreValue(propertyInfo, value)) {\n this.deleteValueForProperty(node, name);\n return;\n } else if (propertyInfo.mustUseProperty) {\n // Contrary to `setAttribute`, object properties are properly\n // `toString`ed by IE8/9.\n node[propertyInfo.propertyName] = value;\n } else {\n var attributeName = propertyInfo.attributeName;\n var namespace = propertyInfo.attributeNamespace;\n // `setAttribute` with objects becomes only `[object]` in IE8/9,\n // ('' + value) makes it output the correct toString()-value.\n if (namespace) {\n node.setAttributeNS(namespace, attributeName, '' + value);\n } else if (propertyInfo.hasBooleanValue || propertyInfo.hasOverloadedBooleanValue && value === true) {\n node.setAttribute(attributeName, '');\n } else {\n node.setAttribute(attributeName, '' + value);\n }\n }\n } else if (DOMProperty.isCustomAttribute(name)) {\n DOMPropertyOperations.setValueForAttribute(node, name, value);\n return;\n }\n\n if (process.env.NODE_ENV !== 'production') {\n var payload = {};\n payload[name] = value;\n ReactInstrumentation.debugTool.onHostOperation(ReactDOMComponentTree.getInstanceFromNode(node)._debugID, 'update attribute', payload);\n }\n },\n\n setValueForAttribute: function (node, name, value) {\n if (!isAttributeNameSafe(name)) {\n return;\n }\n if (value == null) {\n node.removeAttribute(name);\n } else {\n node.setAttribute(name, '' + value);\n }\n\n if (process.env.NODE_ENV !== 'production') {\n var payload = {};\n payload[name] = value;\n ReactInstrumentation.debugTool.onHostOperation(ReactDOMComponentTree.getInstanceFromNode(node)._debugID, 'update attribute', payload);\n }\n },\n\n /**\n * Deletes an attributes from a node.\n *\n * @param {DOMElement} node\n * @param {string} name\n */\n deleteValueForAttribute: function (node, name) {\n node.removeAttribute(name);\n if (process.env.NODE_ENV !== 'production') {\n ReactInstrumentation.debugTool.onHostOperation(ReactDOMComponentTree.getInstanceFromNode(node)._debugID, 'remove attribute', name);\n }\n },\n\n /**\n * Deletes the value for a property on a node.\n *\n * @param {DOMElement} node\n * @param {string} name\n */\n deleteValueForProperty: function (node, name) {\n var propertyInfo = DOMProperty.properties.hasOwnProperty(name) ? DOMProperty.properties[name] : null;\n if (propertyInfo) {\n var mutationMethod = propertyInfo.mutationMethod;\n if (mutationMethod) {\n mutationMethod(node, undefined);\n } else if (propertyInfo.mustUseProperty) {\n var propName = propertyInfo.propertyName;\n if (propertyInfo.hasBooleanValue) {\n node[propName] = false;\n } else {\n node[propName] = '';\n }\n } else {\n node.removeAttribute(propertyInfo.attributeName);\n }\n } else if (DOMProperty.isCustomAttribute(name)) {\n node.removeAttribute(name);\n }\n\n if (process.env.NODE_ENV !== 'production') {\n ReactInstrumentation.debugTool.onHostOperation(ReactDOMComponentTree.getInstanceFromNode(node)._debugID, 'remove attribute', name);\n }\n }\n\n};\n\nmodule.exports = DOMPropertyOperations;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react/lib/DOMPropertyOperations.js\n ** module id = 326\n ** module chunks = 0\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule ReactChildren\n */\n\n'use strict';\n\nvar PooledClass = require('./PooledClass');\nvar ReactElement = require('./ReactElement');\n\nvar emptyFunction = require('fbjs/lib/emptyFunction');\nvar traverseAllChildren = require('./traverseAllChildren');\n\nvar twoArgumentPooler = PooledClass.twoArgumentPooler;\nvar fourArgumentPooler = PooledClass.fourArgumentPooler;\n\nvar userProvidedKeyEscapeRegex = /\\/+/g;\nfunction escapeUserProvidedKey(text) {\n return ('' + text).replace(userProvidedKeyEscapeRegex, '$&/');\n}\n\n/**\n * PooledClass representing the bookkeeping associated with performing a child\n * traversal. Allows avoiding binding callbacks.\n *\n * @constructor ForEachBookKeeping\n * @param {!function} forEachFunction Function to perform traversal with.\n * @param {?*} forEachContext Context to perform context with.\n */\nfunction ForEachBookKeeping(forEachFunction, forEachContext) {\n this.func = forEachFunction;\n this.context = forEachContext;\n this.count = 0;\n}\nForEachBookKeeping.prototype.destructor = function () {\n this.func = null;\n this.context = null;\n this.count = 0;\n};\nPooledClass.addPoolingTo(ForEachBookKeeping, twoArgumentPooler);\n\nfunction forEachSingleChild(bookKeeping, child, name) {\n var func = bookKeeping.func;\n var context = bookKeeping.context;\n\n func.call(context, child, bookKeeping.count++);\n}\n\n/**\n * Iterates through children that are typically specified as `props.children`.\n *\n * See https://facebook.github.io/react/docs/top-level-api.html#react.children.foreach\n *\n * The provided forEachFunc(child, index) will be called for each\n * leaf child.\n *\n * @param {?*} children Children tree container.\n * @param {function(*, int)} forEachFunc\n * @param {*} forEachContext Context for forEachContext.\n */\nfunction forEachChildren(children, forEachFunc, forEachContext) {\n if (children == null) {\n return children;\n }\n var traverseContext = ForEachBookKeeping.getPooled(forEachFunc, forEachContext);\n traverseAllChildren(children, forEachSingleChild, traverseContext);\n ForEachBookKeeping.release(traverseContext);\n}\n\n/**\n * PooledClass representing the bookkeeping associated with performing a child\n * mapping. Allows avoiding binding callbacks.\n *\n * @constructor MapBookKeeping\n * @param {!*} mapResult Object containing the ordered map of results.\n * @param {!function} mapFunction Function to perform mapping with.\n * @param {?*} mapContext Context to perform mapping with.\n */\nfunction MapBookKeeping(mapResult, keyPrefix, mapFunction, mapContext) {\n this.result = mapResult;\n this.keyPrefix = keyPrefix;\n this.func = mapFunction;\n this.context = mapContext;\n this.count = 0;\n}\nMapBookKeeping.prototype.destructor = function () {\n this.result = null;\n this.keyPrefix = null;\n this.func = null;\n this.context = null;\n this.count = 0;\n};\nPooledClass.addPoolingTo(MapBookKeeping, fourArgumentPooler);\n\nfunction mapSingleChildIntoContext(bookKeeping, child, childKey) {\n var result = bookKeeping.result;\n var keyPrefix = bookKeeping.keyPrefix;\n var func = bookKeeping.func;\n var context = bookKeeping.context;\n\n\n var mappedChild = func.call(context, child, bookKeeping.count++);\n if (Array.isArray(mappedChild)) {\n mapIntoWithKeyPrefixInternal(mappedChild, result, childKey, emptyFunction.thatReturnsArgument);\n } else if (mappedChild != null) {\n if (ReactElement.isValidElement(mappedChild)) {\n mappedChild = ReactElement.cloneAndReplaceKey(mappedChild,\n // Keep both the (mapped) and old keys if they differ, just as\n // traverseAllChildren used to do for objects as children\n keyPrefix + (mappedChild.key && (!child || child.key !== mappedChild.key) ? escapeUserProvidedKey(mappedChild.key) + '/' : '') + childKey);\n }\n result.push(mappedChild);\n }\n}\n\nfunction mapIntoWithKeyPrefixInternal(children, array, prefix, func, context) {\n var escapedPrefix = '';\n if (prefix != null) {\n escapedPrefix = escapeUserProvidedKey(prefix) + '/';\n }\n var traverseContext = MapBookKeeping.getPooled(array, escapedPrefix, func, context);\n traverseAllChildren(children, mapSingleChildIntoContext, traverseContext);\n MapBookKeeping.release(traverseContext);\n}\n\n/**\n * Maps children that are typically specified as `props.children`.\n *\n * See https://facebook.github.io/react/docs/top-level-api.html#react.children.map\n *\n * The provided mapFunction(child, key, index) will be called for each\n * leaf child.\n *\n * @param {?*} children Children tree container.\n * @param {function(*, int)} func The map function.\n * @param {*} context Context for mapFunction.\n * @return {object} Object containing the ordered map of results.\n */\nfunction mapChildren(children, func, context) {\n if (children == null) {\n return children;\n }\n var result = [];\n mapIntoWithKeyPrefixInternal(children, result, null, func, context);\n return result;\n}\n\nfunction forEachSingleChildDummy(traverseContext, child, name) {\n return null;\n}\n\n/**\n * Count the number of children that are typically specified as\n * `props.children`.\n *\n * See https://facebook.github.io/react/docs/top-level-api.html#react.children.count\n *\n * @param {?*} children Children tree container.\n * @return {number} The number of children.\n */\nfunction countChildren(children, context) {\n return traverseAllChildren(children, forEachSingleChildDummy, null);\n}\n\n/**\n * Flatten a children object (typically specified as `props.children`) and\n * return an array with appropriately re-keyed children.\n *\n * See https://facebook.github.io/react/docs/top-level-api.html#react.children.toarray\n */\nfunction toArray(children) {\n var result = [];\n mapIntoWithKeyPrefixInternal(children, result, null, emptyFunction.thatReturnsArgument);\n return result;\n}\n\nvar ReactChildren = {\n forEach: forEachChildren,\n map: mapChildren,\n mapIntoWithKeyPrefixInternal: mapIntoWithKeyPrefixInternal,\n count: countChildren,\n toArray: toArray\n};\n\nmodule.exports = ReactChildren;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react/lib/ReactChildren.js\n ** module id = 327\n ** module chunks = 0\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule ReactClass\n */\n\n'use strict';\n\nvar _prodInvariant = require('./reactProdInvariant'),\n _assign = require('object-assign');\n\nvar ReactComponent = require('./ReactComponent');\nvar ReactElement = require('./ReactElement');\nvar ReactPropTypeLocations = require('./ReactPropTypeLocations');\nvar ReactPropTypeLocationNames = require('./ReactPropTypeLocationNames');\nvar ReactNoopUpdateQueue = require('./ReactNoopUpdateQueue');\n\nvar emptyObject = require('fbjs/lib/emptyObject');\nvar invariant = require('fbjs/lib/invariant');\nvar keyMirror = require('fbjs/lib/keyMirror');\nvar keyOf = require('fbjs/lib/keyOf');\nvar warning = require('fbjs/lib/warning');\n\nvar MIXINS_KEY = keyOf({ mixins: null });\n\n/**\n * Policies that describe methods in `ReactClassInterface`.\n */\nvar SpecPolicy = keyMirror({\n /**\n * These methods may be defined only once by the class specification or mixin.\n */\n DEFINE_ONCE: null,\n /**\n * These methods may be defined by both the class specification and mixins.\n * Subsequent definitions will be chained. These methods must return void.\n */\n DEFINE_MANY: null,\n /**\n * These methods are overriding the base class.\n */\n OVERRIDE_BASE: null,\n /**\n * These methods are similar to DEFINE_MANY, except we assume they return\n * objects. We try to merge the keys of the return values of all the mixed in\n * functions. If there is a key conflict we throw.\n */\n DEFINE_MANY_MERGED: null\n});\n\nvar injectedMixins = [];\n\n/**\n * Composite components are higher-level components that compose other composite\n * or host components.\n *\n * To create a new type of `ReactClass`, pass a specification of\n * your new class to `React.createClass`. The only requirement of your class\n * specification is that you implement a `render` method.\n *\n * var MyComponent = React.createClass({\n * render: function() {\n * return <div>Hello World</div>;\n * }\n * });\n *\n * The class specification supports a specific protocol of methods that have\n * special meaning (e.g. `render`). See `ReactClassInterface` for\n * more the comprehensive protocol. Any other properties and methods in the\n * class specification will be available on the prototype.\n *\n * @interface ReactClassInterface\n * @internal\n */\nvar ReactClassInterface = {\n\n /**\n * An array of Mixin objects to include when defining your component.\n *\n * @type {array}\n * @optional\n */\n mixins: SpecPolicy.DEFINE_MANY,\n\n /**\n * An object containing properties and methods that should be defined on\n * the component's constructor instead of its prototype (static methods).\n *\n * @type {object}\n * @optional\n */\n statics: SpecPolicy.DEFINE_MANY,\n\n /**\n * Definition of prop types for this component.\n *\n * @type {object}\n * @optional\n */\n propTypes: SpecPolicy.DEFINE_MANY,\n\n /**\n * Definition of context types for this component.\n *\n * @type {object}\n * @optional\n */\n contextTypes: SpecPolicy.DEFINE_MANY,\n\n /**\n * Definition of context types this component sets for its children.\n *\n * @type {object}\n * @optional\n */\n childContextTypes: SpecPolicy.DEFINE_MANY,\n\n // ==== Definition methods ====\n\n /**\n * Invoked when the component is mounted. Values in the mapping will be set on\n * `this.props` if that prop is not specified (i.e. using an `in` check).\n *\n * This method is invoked before `getInitialState` and therefore cannot rely\n * on `this.state` or use `this.setState`.\n *\n * @return {object}\n * @optional\n */\n getDefaultProps: SpecPolicy.DEFINE_MANY_MERGED,\n\n /**\n * Invoked once before the component is mounted. The return value will be used\n * as the initial value of `this.state`.\n *\n * getInitialState: function() {\n * return {\n * isOn: false,\n * fooBaz: new BazFoo()\n * }\n * }\n *\n * @return {object}\n * @optional\n */\n getInitialState: SpecPolicy.DEFINE_MANY_MERGED,\n\n /**\n * @return {object}\n * @optional\n */\n getChildContext: SpecPolicy.DEFINE_MANY_MERGED,\n\n /**\n * Uses props from `this.props` and state from `this.state` to render the\n * structure of the component.\n *\n * No guarantees are made about when or how often this method is invoked, so\n * it must not have side effects.\n *\n * render: function() {\n * var name = this.props.name;\n * return <div>Hello, {name}!</div>;\n * }\n *\n * @return {ReactComponent}\n * @nosideeffects\n * @required\n */\n render: SpecPolicy.DEFINE_ONCE,\n\n // ==== Delegate methods ====\n\n /**\n * Invoked when the component is initially created and about to be mounted.\n * This may have side effects, but any external subscriptions or data created\n * by this method must be cleaned up in `componentWillUnmount`.\n *\n * @optional\n */\n componentWillMount: SpecPolicy.DEFINE_MANY,\n\n /**\n * Invoked when the component has been mounted and has a DOM representation.\n * However, there is no guarantee that the DOM node is in the document.\n *\n * Use this as an opportunity to operate on the DOM when the component has\n * been mounted (initialized and rendered) for the first time.\n *\n * @param {DOMElement} rootNode DOM element representing the component.\n * @optional\n */\n componentDidMount: SpecPolicy.DEFINE_MANY,\n\n /**\n * Invoked before the component receives new props.\n *\n * Use this as an opportunity to react to a prop transition by updating the\n * state using `this.setState`. Current props are accessed via `this.props`.\n *\n * componentWillReceiveProps: function(nextProps, nextContext) {\n * this.setState({\n * likesIncreasing: nextProps.likeCount > this.props.likeCount\n * });\n * }\n *\n * NOTE: There is no equivalent `componentWillReceiveState`. An incoming prop\n * transition may cause a state change, but the opposite is not true. If you\n * need it, you are probably looking for `componentWillUpdate`.\n *\n * @param {object} nextProps\n * @optional\n */\n componentWillReceiveProps: SpecPolicy.DEFINE_MANY,\n\n /**\n * Invoked while deciding if the component should be updated as a result of\n * receiving new props, state and/or context.\n *\n * Use this as an opportunity to `return false` when you're certain that the\n * transition to the new props/state/context will not require a component\n * update.\n *\n * shouldComponentUpdate: function(nextProps, nextState, nextContext) {\n * return !equal(nextProps, this.props) ||\n * !equal(nextState, this.state) ||\n * !equal(nextContext, this.context);\n * }\n *\n * @param {object} nextProps\n * @param {?object} nextState\n * @param {?object} nextContext\n * @return {boolean} True if the component should update.\n * @optional\n */\n shouldComponentUpdate: SpecPolicy.DEFINE_ONCE,\n\n /**\n * Invoked when the component is about to update due to a transition from\n * `this.props`, `this.state` and `this.context` to `nextProps`, `nextState`\n * and `nextContext`.\n *\n * Use this as an opportunity to perform preparation before an update occurs.\n *\n * NOTE: You **cannot** use `this.setState()` in this method.\n *\n * @param {object} nextProps\n * @param {?object} nextState\n * @param {?object} nextContext\n * @param {ReactReconcileTransaction} transaction\n * @optional\n */\n componentWillUpdate: SpecPolicy.DEFINE_MANY,\n\n /**\n * Invoked when the component's DOM representation has been updated.\n *\n * Use this as an opportunity to operate on the DOM when the component has\n * been updated.\n *\n * @param {object} prevProps\n * @param {?object} prevState\n * @param {?object} prevContext\n * @param {DOMElement} rootNode DOM element representing the component.\n * @optional\n */\n componentDidUpdate: SpecPolicy.DEFINE_MANY,\n\n /**\n * Invoked when the component is about to be removed from its parent and have\n * its DOM representation destroyed.\n *\n * Use this as an opportunity to deallocate any external resources.\n *\n * NOTE: There is no `componentDidUnmount` since your component will have been\n * destroyed by that point.\n *\n * @optional\n */\n componentWillUnmount: SpecPolicy.DEFINE_MANY,\n\n // ==== Advanced methods ====\n\n /**\n * Updates the component's currently mounted DOM representation.\n *\n * By default, this implements React's rendering and reconciliation algorithm.\n * Sophisticated clients may wish to override this.\n *\n * @param {ReactReconcileTransaction} transaction\n * @internal\n * @overridable\n */\n updateComponent: SpecPolicy.OVERRIDE_BASE\n\n};\n\n/**\n * Mapping from class specification keys to special processing functions.\n *\n * Although these are declared like instance properties in the specification\n * when defining classes using `React.createClass`, they are actually static\n * and are accessible on the constructor instead of the prototype. Despite\n * being static, they must be defined outside of the \"statics\" key under\n * which all other static methods are defined.\n */\nvar RESERVED_SPEC_KEYS = {\n displayName: function (Constructor, displayName) {\n Constructor.displayName = displayName;\n },\n mixins: function (Constructor, mixins) {\n if (mixins) {\n for (var i = 0; i < mixins.length; i++) {\n mixSpecIntoComponent(Constructor, mixins[i]);\n }\n }\n },\n childContextTypes: function (Constructor, childContextTypes) {\n if (process.env.NODE_ENV !== 'production') {\n validateTypeDef(Constructor, childContextTypes, ReactPropTypeLocations.childContext);\n }\n Constructor.childContextTypes = _assign({}, Constructor.childContextTypes, childContextTypes);\n },\n contextTypes: function (Constructor, contextTypes) {\n if (process.env.NODE_ENV !== 'production') {\n validateTypeDef(Constructor, contextTypes, ReactPropTypeLocations.context);\n }\n Constructor.contextTypes = _assign({}, Constructor.contextTypes, contextTypes);\n },\n /**\n * Special case getDefaultProps which should move into statics but requires\n * automatic merging.\n */\n getDefaultProps: function (Constructor, getDefaultProps) {\n if (Constructor.getDefaultProps) {\n Constructor.getDefaultProps = createMergedResultFunction(Constructor.getDefaultProps, getDefaultProps);\n } else {\n Constructor.getDefaultProps = getDefaultProps;\n }\n },\n propTypes: function (Constructor, propTypes) {\n if (process.env.NODE_ENV !== 'production') {\n validateTypeDef(Constructor, propTypes, ReactPropTypeLocations.prop);\n }\n Constructor.propTypes = _assign({}, Constructor.propTypes, propTypes);\n },\n statics: function (Constructor, statics) {\n mixStaticSpecIntoComponent(Constructor, statics);\n },\n autobind: function () {} };\n\n// noop\nfunction validateTypeDef(Constructor, typeDef, location) {\n for (var propName in typeDef) {\n if (typeDef.hasOwnProperty(propName)) {\n // use a warning instead of an invariant so components\n // don't show up in prod but only in __DEV__\n process.env.NODE_ENV !== 'production' ? warning(typeof typeDef[propName] === 'function', '%s: %s type `%s` is invalid; it must be a function, usually from ' + 'React.PropTypes.', Constructor.displayName || 'ReactClass', ReactPropTypeLocationNames[location], propName) : void 0;\n }\n }\n}\n\nfunction validateMethodOverride(isAlreadyDefined, name) {\n var specPolicy = ReactClassInterface.hasOwnProperty(name) ? ReactClassInterface[name] : null;\n\n // Disallow overriding of base class methods unless explicitly allowed.\n if (ReactClassMixin.hasOwnProperty(name)) {\n !(specPolicy === SpecPolicy.OVERRIDE_BASE) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactClassInterface: You are attempting to override `%s` from your class specification. Ensure that your method names do not overlap with React methods.', name) : _prodInvariant('73', name) : void 0;\n }\n\n // Disallow defining methods more than once unless explicitly allowed.\n if (isAlreadyDefined) {\n !(specPolicy === SpecPolicy.DEFINE_MANY || specPolicy === SpecPolicy.DEFINE_MANY_MERGED) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactClassInterface: You are attempting to define `%s` on your component more than once. This conflict may be due to a mixin.', name) : _prodInvariant('74', name) : void 0;\n }\n}\n\n/**\n * Mixin helper which handles policy validation and reserved\n * specification keys when building React classes.\n */\nfunction mixSpecIntoComponent(Constructor, spec) {\n if (!spec) {\n if (process.env.NODE_ENV !== 'production') {\n var typeofSpec = typeof spec;\n var isMixinValid = typeofSpec === 'object' && spec !== null;\n\n process.env.NODE_ENV !== 'production' ? warning(isMixinValid, '%s: You\\'re attempting to include a mixin that is either null ' + 'or not an object. Check the mixins included by the component, ' + 'as well as any mixins they include themselves. ' + 'Expected object but got %s.', Constructor.displayName || 'ReactClass', spec === null ? null : typeofSpec) : void 0;\n }\n\n return;\n }\n\n !(typeof spec !== 'function') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactClass: You\\'re attempting to use a component class or function as a mixin. Instead, just use a regular object.') : _prodInvariant('75') : void 0;\n !!ReactElement.isValidElement(spec) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactClass: You\\'re attempting to use a component as a mixin. Instead, just use a regular object.') : _prodInvariant('76') : void 0;\n\n var proto = Constructor.prototype;\n var autoBindPairs = proto.__reactAutoBindPairs;\n\n // By handling mixins before any other properties, we ensure the same\n // chaining order is applied to methods with DEFINE_MANY policy, whether\n // mixins are listed before or after these methods in the spec.\n if (spec.hasOwnProperty(MIXINS_KEY)) {\n RESERVED_SPEC_KEYS.mixins(Constructor, spec.mixins);\n }\n\n for (var name in spec) {\n if (!spec.hasOwnProperty(name)) {\n continue;\n }\n\n if (name === MIXINS_KEY) {\n // We have already handled mixins in a special case above.\n continue;\n }\n\n var property = spec[name];\n var isAlreadyDefined = proto.hasOwnProperty(name);\n validateMethodOverride(isAlreadyDefined, name);\n\n if (RESERVED_SPEC_KEYS.hasOwnProperty(name)) {\n RESERVED_SPEC_KEYS[name](Constructor, property);\n } else {\n // Setup methods on prototype:\n // The following member methods should not be automatically bound:\n // 1. Expected ReactClass methods (in the \"interface\").\n // 2. Overridden methods (that were mixed in).\n var isReactClassMethod = ReactClassInterface.hasOwnProperty(name);\n var isFunction = typeof property === 'function';\n var shouldAutoBind = isFunction && !isReactClassMethod && !isAlreadyDefined && spec.autobind !== false;\n\n if (shouldAutoBind) {\n autoBindPairs.push(name, property);\n proto[name] = property;\n } else {\n if (isAlreadyDefined) {\n var specPolicy = ReactClassInterface[name];\n\n // These cases should already be caught by validateMethodOverride.\n !(isReactClassMethod && (specPolicy === SpecPolicy.DEFINE_MANY_MERGED || specPolicy === SpecPolicy.DEFINE_MANY)) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactClass: Unexpected spec policy %s for key %s when mixing in component specs.', specPolicy, name) : _prodInvariant('77', specPolicy, name) : void 0;\n\n // For methods which are defined more than once, call the existing\n // methods before calling the new property, merging if appropriate.\n if (specPolicy === SpecPolicy.DEFINE_MANY_MERGED) {\n proto[name] = createMergedResultFunction(proto[name], property);\n } else if (specPolicy === SpecPolicy.DEFINE_MANY) {\n proto[name] = createChainedFunction(proto[name], property);\n }\n } else {\n proto[name] = property;\n if (process.env.NODE_ENV !== 'production') {\n // Add verbose displayName to the function, which helps when looking\n // at profiling tools.\n if (typeof property === 'function' && spec.displayName) {\n proto[name].displayName = spec.displayName + '_' + name;\n }\n }\n }\n }\n }\n }\n}\n\nfunction mixStaticSpecIntoComponent(Constructor, statics) {\n if (!statics) {\n return;\n }\n for (var name in statics) {\n var property = statics[name];\n if (!statics.hasOwnProperty(name)) {\n continue;\n }\n\n var isReserved = name in RESERVED_SPEC_KEYS;\n !!isReserved ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactClass: You are attempting to define a reserved property, `%s`, that shouldn\\'t be on the \"statics\" key. Define it as an instance property instead; it will still be accessible on the constructor.', name) : _prodInvariant('78', name) : void 0;\n\n var isInherited = name in Constructor;\n !!isInherited ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactClass: You are attempting to define `%s` on your component more than once. This conflict may be due to a mixin.', name) : _prodInvariant('79', name) : void 0;\n Constructor[name] = property;\n }\n}\n\n/**\n * Merge two objects, but throw if both contain the same key.\n *\n * @param {object} one The first object, which is mutated.\n * @param {object} two The second object\n * @return {object} one after it has been mutated to contain everything in two.\n */\nfunction mergeIntoWithNoDuplicateKeys(one, two) {\n !(one && two && typeof one === 'object' && typeof two === 'object') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'mergeIntoWithNoDuplicateKeys(): Cannot merge non-objects.') : _prodInvariant('80') : void 0;\n\n for (var key in two) {\n if (two.hasOwnProperty(key)) {\n !(one[key] === undefined) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'mergeIntoWithNoDuplicateKeys(): Tried to merge two objects with the same key: `%s`. This conflict may be due to a mixin; in particular, this may be caused by two getInitialState() or getDefaultProps() methods returning objects with clashing keys.', key) : _prodInvariant('81', key) : void 0;\n one[key] = two[key];\n }\n }\n return one;\n}\n\n/**\n * Creates a function that invokes two functions and merges their return values.\n *\n * @param {function} one Function to invoke first.\n * @param {function} two Function to invoke second.\n * @return {function} Function that invokes the two argument functions.\n * @private\n */\nfunction createMergedResultFunction(one, two) {\n return function mergedResult() {\n var a = one.apply(this, arguments);\n var b = two.apply(this, arguments);\n if (a == null) {\n return b;\n } else if (b == null) {\n return a;\n }\n var c = {};\n mergeIntoWithNoDuplicateKeys(c, a);\n mergeIntoWithNoDuplicateKeys(c, b);\n return c;\n };\n}\n\n/**\n * Creates a function that invokes two functions and ignores their return vales.\n *\n * @param {function} one Function to invoke first.\n * @param {function} two Function to invoke second.\n * @return {function} Function that invokes the two argument functions.\n * @private\n */\nfunction createChainedFunction(one, two) {\n return function chainedFunction() {\n one.apply(this, arguments);\n two.apply(this, arguments);\n };\n}\n\n/**\n * Binds a method to the component.\n *\n * @param {object} component Component whose method is going to be bound.\n * @param {function} method Method to be bound.\n * @return {function} The bound method.\n */\nfunction bindAutoBindMethod(component, method) {\n var boundMethod = method.bind(component);\n if (process.env.NODE_ENV !== 'production') {\n boundMethod.__reactBoundContext = component;\n boundMethod.__reactBoundMethod = method;\n boundMethod.__reactBoundArguments = null;\n var componentName = component.constructor.displayName;\n var _bind = boundMethod.bind;\n boundMethod.bind = function (newThis) {\n for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n // User is trying to bind() an autobound method; we effectively will\n // ignore the value of \"this\" that the user is trying to use, so\n // let's warn.\n if (newThis !== component && newThis !== null) {\n process.env.NODE_ENV !== 'production' ? warning(false, 'bind(): React component methods may only be bound to the ' + 'component instance. See %s', componentName) : void 0;\n } else if (!args.length) {\n process.env.NODE_ENV !== 'production' ? warning(false, 'bind(): You are binding a component method to the component. ' + 'React does this for you automatically in a high-performance ' + 'way, so you can safely remove this call. See %s', componentName) : void 0;\n return boundMethod;\n }\n var reboundMethod = _bind.apply(boundMethod, arguments);\n reboundMethod.__reactBoundContext = component;\n reboundMethod.__reactBoundMethod = method;\n reboundMethod.__reactBoundArguments = args;\n return reboundMethod;\n };\n }\n return boundMethod;\n}\n\n/**\n * Binds all auto-bound methods in a component.\n *\n * @param {object} component Component whose method is going to be bound.\n */\nfunction bindAutoBindMethods(component) {\n var pairs = component.__reactAutoBindPairs;\n for (var i = 0; i < pairs.length; i += 2) {\n var autoBindKey = pairs[i];\n var method = pairs[i + 1];\n component[autoBindKey] = bindAutoBindMethod(component, method);\n }\n}\n\n/**\n * Add more to the ReactClass base class. These are all legacy features and\n * therefore not already part of the modern ReactComponent.\n */\nvar ReactClassMixin = {\n\n /**\n * TODO: This will be deprecated because state should always keep a consistent\n * type signature and the only use case for this, is to avoid that.\n */\n replaceState: function (newState, callback) {\n this.updater.enqueueReplaceState(this, newState);\n if (callback) {\n this.updater.enqueueCallback(this, callback, 'replaceState');\n }\n },\n\n /**\n * Checks whether or not this composite component is mounted.\n * @return {boolean} True if mounted, false otherwise.\n * @protected\n * @final\n */\n isMounted: function () {\n return this.updater.isMounted(this);\n }\n};\n\nvar ReactClassComponent = function () {};\n_assign(ReactClassComponent.prototype, ReactComponent.prototype, ReactClassMixin);\n\n/**\n * Module for creating composite components.\n *\n * @class ReactClass\n */\nvar ReactClass = {\n\n /**\n * Creates a composite component class given a class specification.\n * See https://facebook.github.io/react/docs/top-level-api.html#react.createclass\n *\n * @param {object} spec Class specification (which must define `render`).\n * @return {function} Component constructor function.\n * @public\n */\n createClass: function (spec) {\n var Constructor = function (props, context, updater) {\n // This constructor gets overridden by mocks. The argument is used\n // by mocks to assert on what gets mounted.\n\n if (process.env.NODE_ENV !== 'production') {\n process.env.NODE_ENV !== 'production' ? warning(this instanceof Constructor, 'Something is calling a React component directly. Use a factory or ' + 'JSX instead. See: https://fb.me/react-legacyfactory') : void 0;\n }\n\n // Wire up auto-binding\n if (this.__reactAutoBindPairs.length) {\n bindAutoBindMethods(this);\n }\n\n this.props = props;\n this.context = context;\n this.refs = emptyObject;\n this.updater = updater || ReactNoopUpdateQueue;\n\n this.state = null;\n\n // ReactClasses doesn't have constructors. Instead, they use the\n // getInitialState and componentWillMount methods for initialization.\n\n var initialState = this.getInitialState ? this.getInitialState() : null;\n if (process.env.NODE_ENV !== 'production') {\n // We allow auto-mocks to proceed as if they're returning null.\n if (initialState === undefined && this.getInitialState._isMockFunction) {\n // This is probably bad practice. Consider warning here and\n // deprecating this convenience.\n initialState = null;\n }\n }\n !(typeof initialState === 'object' && !Array.isArray(initialState)) ? process.env.NODE_ENV !== 'production' ? invariant(false, '%s.getInitialState(): must return an object or null', Constructor.displayName || 'ReactCompositeComponent') : _prodInvariant('82', Constructor.displayName || 'ReactCompositeComponent') : void 0;\n\n this.state = initialState;\n };\n Constructor.prototype = new ReactClassComponent();\n Constructor.prototype.constructor = Constructor;\n Constructor.prototype.__reactAutoBindPairs = [];\n\n injectedMixins.forEach(mixSpecIntoComponent.bind(null, Constructor));\n\n mixSpecIntoComponent(Constructor, spec);\n\n // Initialize the defaultProps property after all mixins have been merged.\n if (Constructor.getDefaultProps) {\n Constructor.defaultProps = Constructor.getDefaultProps();\n }\n\n if (process.env.NODE_ENV !== 'production') {\n // This is a tag to indicate that the use of these method names is ok,\n // since it's used with createClass. If it's not, then it's likely a\n // mistake so we'll warn you to use the static property, property\n // initializer or constructor respectively.\n if (Constructor.getDefaultProps) {\n Constructor.getDefaultProps.isReactClassApproved = {};\n }\n if (Constructor.prototype.getInitialState) {\n Constructor.prototype.getInitialState.isReactClassApproved = {};\n }\n }\n\n !Constructor.prototype.render ? process.env.NODE_ENV !== 'production' ? invariant(false, 'createClass(...): Class specification must implement a `render` method.') : _prodInvariant('83') : void 0;\n\n if (process.env.NODE_ENV !== 'production') {\n process.env.NODE_ENV !== 'production' ? warning(!Constructor.prototype.componentShouldUpdate, '%s has a method called ' + 'componentShouldUpdate(). Did you mean shouldComponentUpdate()? ' + 'The name is phrased as a question because the function is ' + 'expected to return a value.', spec.displayName || 'A component') : void 0;\n process.env.NODE_ENV !== 'production' ? warning(!Constructor.prototype.componentWillRecieveProps, '%s has a method called ' + 'componentWillRecieveProps(). Did you mean componentWillReceiveProps()?', spec.displayName || 'A component') : void 0;\n }\n\n // Reduce time spent doing lookups by setting these on the prototype.\n for (var methodName in ReactClassInterface) {\n if (!Constructor.prototype[methodName]) {\n Constructor.prototype[methodName] = null;\n }\n }\n\n return Constructor;\n },\n\n injection: {\n injectMixin: function (mixin) {\n injectedMixins.push(mixin);\n }\n }\n\n};\n\nmodule.exports = ReactClass;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react/lib/ReactClass.js\n ** module id = 328\n ** module chunks = 0\n **/","/**\n * Copyright 2015-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule ReactDOMComponentFlags\n */\n\n'use strict';\n\nvar ReactDOMComponentFlags = {\n hasCachedChildNodes: 1 << 0\n};\n\nmodule.exports = ReactDOMComponentFlags;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react/lib/ReactDOMComponentFlags.js\n ** module id = 329\n ** module chunks = 0\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule ReactDOMSelect\n */\n\n'use strict';\n\nvar _assign = require('object-assign');\n\nvar DisabledInputUtils = require('./DisabledInputUtils');\nvar LinkedValueUtils = require('./LinkedValueUtils');\nvar ReactDOMComponentTree = require('./ReactDOMComponentTree');\nvar ReactUpdates = require('./ReactUpdates');\n\nvar warning = require('fbjs/lib/warning');\n\nvar didWarnValueLink = false;\nvar didWarnValueDefaultValue = false;\n\nfunction updateOptionsIfPendingUpdateAndMounted() {\n if (this._rootNodeID && this._wrapperState.pendingUpdate) {\n this._wrapperState.pendingUpdate = false;\n\n var props = this._currentElement.props;\n var value = LinkedValueUtils.getValue(props);\n\n if (value != null) {\n updateOptions(this, Boolean(props.multiple), value);\n }\n }\n}\n\nfunction getDeclarationErrorAddendum(owner) {\n if (owner) {\n var name = owner.getName();\n if (name) {\n return ' Check the render method of `' + name + '`.';\n }\n }\n return '';\n}\n\nvar valuePropNames = ['value', 'defaultValue'];\n\n/**\n * Validation function for `value` and `defaultValue`.\n * @private\n */\nfunction checkSelectPropTypes(inst, props) {\n var owner = inst._currentElement._owner;\n LinkedValueUtils.checkPropTypes('select', props, owner);\n\n if (props.valueLink !== undefined && !didWarnValueLink) {\n process.env.NODE_ENV !== 'production' ? warning(false, '`valueLink` prop on `select` is deprecated; set `value` and `onChange` instead.') : void 0;\n didWarnValueLink = true;\n }\n\n for (var i = 0; i < valuePropNames.length; i++) {\n var propName = valuePropNames[i];\n if (props[propName] == null) {\n continue;\n }\n var isArray = Array.isArray(props[propName]);\n if (props.multiple && !isArray) {\n process.env.NODE_ENV !== 'production' ? warning(false, 'The `%s` prop supplied to <select> must be an array if ' + '`multiple` is true.%s', propName, getDeclarationErrorAddendum(owner)) : void 0;\n } else if (!props.multiple && isArray) {\n process.env.NODE_ENV !== 'production' ? warning(false, 'The `%s` prop supplied to <select> must be a scalar ' + 'value if `multiple` is false.%s', propName, getDeclarationErrorAddendum(owner)) : void 0;\n }\n }\n}\n\n/**\n * @param {ReactDOMComponent} inst\n * @param {boolean} multiple\n * @param {*} propValue A stringable (with `multiple`, a list of stringables).\n * @private\n */\nfunction updateOptions(inst, multiple, propValue) {\n var selectedValue, i;\n var options = ReactDOMComponentTree.getNodeFromInstance(inst).options;\n\n if (multiple) {\n selectedValue = {};\n for (i = 0; i < propValue.length; i++) {\n selectedValue['' + propValue[i]] = true;\n }\n for (i = 0; i < options.length; i++) {\n var selected = selectedValue.hasOwnProperty(options[i].value);\n if (options[i].selected !== selected) {\n options[i].selected = selected;\n }\n }\n } else {\n // Do not set `select.value` as exact behavior isn't consistent across all\n // browsers for all cases.\n selectedValue = '' + propValue;\n for (i = 0; i < options.length; i++) {\n if (options[i].value === selectedValue) {\n options[i].selected = true;\n return;\n }\n }\n if (options.length) {\n options[0].selected = true;\n }\n }\n}\n\n/**\n * Implements a <select> host component that allows optionally setting the\n * props `value` and `defaultValue`. If `multiple` is false, the prop must be a\n * stringable. If `multiple` is true, the prop must be an array of stringables.\n *\n * If `value` is not supplied (or null/undefined), user actions that change the\n * selected option will trigger updates to the rendered options.\n *\n * If it is supplied (and not null/undefined), the rendered options will not\n * update in response to user actions. Instead, the `value` prop must change in\n * order for the rendered options to update.\n *\n * If `defaultValue` is provided, any options with the supplied values will be\n * selected.\n */\nvar ReactDOMSelect = {\n getHostProps: function (inst, props) {\n return _assign({}, DisabledInputUtils.getHostProps(inst, props), {\n onChange: inst._wrapperState.onChange,\n value: undefined\n });\n },\n\n mountWrapper: function (inst, props) {\n if (process.env.NODE_ENV !== 'production') {\n checkSelectPropTypes(inst, props);\n }\n\n var value = LinkedValueUtils.getValue(props);\n inst._wrapperState = {\n pendingUpdate: false,\n initialValue: value != null ? value : props.defaultValue,\n listeners: null,\n onChange: _handleChange.bind(inst),\n wasMultiple: Boolean(props.multiple)\n };\n\n if (props.value !== undefined && props.defaultValue !== undefined && !didWarnValueDefaultValue) {\n process.env.NODE_ENV !== 'production' ? warning(false, 'Select elements must be either controlled or uncontrolled ' + '(specify either the value prop, or the defaultValue prop, but not ' + 'both). Decide between using a controlled or uncontrolled select ' + 'element and remove one of these props. More info: ' + 'https://fb.me/react-controlled-components') : void 0;\n didWarnValueDefaultValue = true;\n }\n },\n\n getSelectValueContext: function (inst) {\n // ReactDOMOption looks at this initial value so the initial generated\n // markup has correct `selected` attributes\n return inst._wrapperState.initialValue;\n },\n\n postUpdateWrapper: function (inst) {\n var props = inst._currentElement.props;\n\n // After the initial mount, we control selected-ness manually so don't pass\n // this value down\n inst._wrapperState.initialValue = undefined;\n\n var wasMultiple = inst._wrapperState.wasMultiple;\n inst._wrapperState.wasMultiple = Boolean(props.multiple);\n\n var value = LinkedValueUtils.getValue(props);\n if (value != null) {\n inst._wrapperState.pendingUpdate = false;\n updateOptions(inst, Boolean(props.multiple), value);\n } else if (wasMultiple !== Boolean(props.multiple)) {\n // For simplicity, reapply `defaultValue` if `multiple` is toggled.\n if (props.defaultValue != null) {\n updateOptions(inst, Boolean(props.multiple), props.defaultValue);\n } else {\n // Revert the select back to its default unselected state.\n updateOptions(inst, Boolean(props.multiple), props.multiple ? [] : '');\n }\n }\n }\n};\n\nfunction _handleChange(event) {\n var props = this._currentElement.props;\n var returnValue = LinkedValueUtils.executeOnChange(props, event);\n\n if (this._rootNodeID) {\n this._wrapperState.pendingUpdate = true;\n }\n ReactUpdates.asap(updateOptionsIfPendingUpdateAndMounted, this);\n return returnValue;\n}\n\nmodule.exports = ReactDOMSelect;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react/lib/ReactDOMSelect.js\n ** module id = 330\n ** module chunks = 0\n **/","/**\n * Copyright 2014-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule ReactEmptyComponent\n */\n\n'use strict';\n\nvar emptyComponentFactory;\n\nvar ReactEmptyComponentInjection = {\n injectEmptyComponentFactory: function (factory) {\n emptyComponentFactory = factory;\n }\n};\n\nvar ReactEmptyComponent = {\n create: function (instantiate) {\n return emptyComponentFactory(instantiate);\n }\n};\n\nReactEmptyComponent.injection = ReactEmptyComponentInjection;\n\nmodule.exports = ReactEmptyComponent;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react/lib/ReactEmptyComponent.js\n ** module id = 331\n ** module chunks = 0\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule ReactFeatureFlags\n * \n */\n\n'use strict';\n\nvar ReactFeatureFlags = {\n // When true, call console.time() before and .timeEnd() after each top-level\n // render (both initial renders and updates). Useful when looking at prod-mode\n // timeline profiles in Chrome, for example.\n logTopLevelRenders: false\n};\n\nmodule.exports = ReactFeatureFlags;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react/lib/ReactFeatureFlags.js\n ** module id = 332\n ** module chunks = 0\n **/","/**\n * Copyright 2014-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule ReactHostComponent\n */\n\n'use strict';\n\nvar _prodInvariant = require('./reactProdInvariant'),\n _assign = require('object-assign');\n\nvar invariant = require('fbjs/lib/invariant');\n\nvar genericComponentClass = null;\n// This registry keeps track of wrapper classes around host tags.\nvar tagToComponentClass = {};\nvar textComponentClass = null;\n\nvar ReactHostComponentInjection = {\n // This accepts a class that receives the tag string. This is a catch all\n // that can render any kind of tag.\n injectGenericComponentClass: function (componentClass) {\n genericComponentClass = componentClass;\n },\n // This accepts a text component class that takes the text string to be\n // rendered as props.\n injectTextComponentClass: function (componentClass) {\n textComponentClass = componentClass;\n },\n // This accepts a keyed object with classes as values. Each key represents a\n // tag. That particular tag will use this class instead of the generic one.\n injectComponentClasses: function (componentClasses) {\n _assign(tagToComponentClass, componentClasses);\n }\n};\n\n/**\n * Get a host internal component class for a specific tag.\n *\n * @param {ReactElement} element The element to create.\n * @return {function} The internal class constructor function.\n */\nfunction createInternalComponent(element) {\n !genericComponentClass ? process.env.NODE_ENV !== 'production' ? invariant(false, 'There is no registered component for the tag %s', element.type) : _prodInvariant('111', element.type) : void 0;\n return new genericComponentClass(element);\n}\n\n/**\n * @param {ReactText} text\n * @return {ReactComponent}\n */\nfunction createInstanceForText(text) {\n return new textComponentClass(text);\n}\n\n/**\n * @param {ReactComponent} component\n * @return {boolean}\n */\nfunction isTextComponent(component) {\n return component instanceof textComponentClass;\n}\n\nvar ReactHostComponent = {\n createInternalComponent: createInternalComponent,\n createInstanceForText: createInstanceForText,\n isTextComponent: isTextComponent,\n injection: ReactHostComponentInjection\n};\n\nmodule.exports = ReactHostComponent;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react/lib/ReactHostComponent.js\n ** module id = 333\n ** module chunks = 0\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule ReactInputSelection\n */\n\n'use strict';\n\nvar ReactDOMSelection = require('./ReactDOMSelection');\n\nvar containsNode = require('fbjs/lib/containsNode');\nvar focusNode = require('fbjs/lib/focusNode');\nvar getActiveElement = require('fbjs/lib/getActiveElement');\n\nfunction isInDocument(node) {\n return containsNode(document.documentElement, node);\n}\n\n/**\n * @ReactInputSelection: React input selection module. Based on Selection.js,\n * but modified to be suitable for react and has a couple of bug fixes (doesn't\n * assume buttons have range selections allowed).\n * Input selection module for React.\n */\nvar ReactInputSelection = {\n\n hasSelectionCapabilities: function (elem) {\n var nodeName = elem && elem.nodeName && elem.nodeName.toLowerCase();\n return nodeName && (nodeName === 'input' && elem.type === 'text' || nodeName === 'textarea' || elem.contentEditable === 'true');\n },\n\n getSelectionInformation: function () {\n var focusedElem = getActiveElement();\n return {\n focusedElem: focusedElem,\n selectionRange: ReactInputSelection.hasSelectionCapabilities(focusedElem) ? ReactInputSelection.getSelection(focusedElem) : null\n };\n },\n\n /**\n * @restoreSelection: If any selection information was potentially lost,\n * restore it. This is useful when performing operations that could remove dom\n * nodes and place them back in, resulting in focus being lost.\n */\n restoreSelection: function (priorSelectionInformation) {\n var curFocusedElem = getActiveElement();\n var priorFocusedElem = priorSelectionInformation.focusedElem;\n var priorSelectionRange = priorSelectionInformation.selectionRange;\n if (curFocusedElem !== priorFocusedElem && isInDocument(priorFocusedElem)) {\n if (ReactInputSelection.hasSelectionCapabilities(priorFocusedElem)) {\n ReactInputSelection.setSelection(priorFocusedElem, priorSelectionRange);\n }\n focusNode(priorFocusedElem);\n }\n },\n\n /**\n * @getSelection: Gets the selection bounds of a focused textarea, input or\n * contentEditable node.\n * -@input: Look up selection bounds of this input\n * -@return {start: selectionStart, end: selectionEnd}\n */\n getSelection: function (input) {\n var selection;\n\n if ('selectionStart' in input) {\n // Modern browser with input or textarea.\n selection = {\n start: input.selectionStart,\n end: input.selectionEnd\n };\n } else if (document.selection && input.nodeName && input.nodeName.toLowerCase() === 'input') {\n // IE8 input.\n var range = document.selection.createRange();\n // There can only be one selection per document in IE, so it must\n // be in our element.\n if (range.parentElement() === input) {\n selection = {\n start: -range.moveStart('character', -input.value.length),\n end: -range.moveEnd('character', -input.value.length)\n };\n }\n } else {\n // Content editable or old IE textarea.\n selection = ReactDOMSelection.getOffsets(input);\n }\n\n return selection || { start: 0, end: 0 };\n },\n\n /**\n * @setSelection: Sets the selection bounds of a textarea or input and focuses\n * the input.\n * -@input Set selection bounds of this input or textarea\n * -@offsets Object of same form that is returned from get*\n */\n setSelection: function (input, offsets) {\n var start = offsets.start;\n var end = offsets.end;\n if (end === undefined) {\n end = start;\n }\n\n if ('selectionStart' in input) {\n input.selectionStart = start;\n input.selectionEnd = Math.min(end, input.value.length);\n } else if (document.selection && input.nodeName && input.nodeName.toLowerCase() === 'input') {\n var range = input.createTextRange();\n range.collapse(true);\n range.moveStart('character', start);\n range.moveEnd('character', end - start);\n range.select();\n } else {\n ReactDOMSelection.setOffsets(input, offsets);\n }\n }\n};\n\nmodule.exports = ReactInputSelection;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react/lib/ReactInputSelection.js\n ** module id = 334\n ** module chunks = 0\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule ReactMount\n */\n\n'use strict';\n\nvar _prodInvariant = require('./reactProdInvariant');\n\nvar DOMLazyTree = require('./DOMLazyTree');\nvar DOMProperty = require('./DOMProperty');\nvar ReactBrowserEventEmitter = require('./ReactBrowserEventEmitter');\nvar ReactCurrentOwner = require('./ReactCurrentOwner');\nvar ReactDOMComponentTree = require('./ReactDOMComponentTree');\nvar ReactDOMContainerInfo = require('./ReactDOMContainerInfo');\nvar ReactDOMFeatureFlags = require('./ReactDOMFeatureFlags');\nvar ReactElement = require('./ReactElement');\nvar ReactFeatureFlags = require('./ReactFeatureFlags');\nvar ReactInstanceMap = require('./ReactInstanceMap');\nvar ReactInstrumentation = require('./ReactInstrumentation');\nvar ReactMarkupChecksum = require('./ReactMarkupChecksum');\nvar ReactReconciler = require('./ReactReconciler');\nvar ReactUpdateQueue = require('./ReactUpdateQueue');\nvar ReactUpdates = require('./ReactUpdates');\n\nvar emptyObject = require('fbjs/lib/emptyObject');\nvar instantiateReactComponent = require('./instantiateReactComponent');\nvar invariant = require('fbjs/lib/invariant');\nvar setInnerHTML = require('./setInnerHTML');\nvar shouldUpdateReactComponent = require('./shouldUpdateReactComponent');\nvar warning = require('fbjs/lib/warning');\n\nvar ATTR_NAME = DOMProperty.ID_ATTRIBUTE_NAME;\nvar ROOT_ATTR_NAME = DOMProperty.ROOT_ATTRIBUTE_NAME;\n\nvar ELEMENT_NODE_TYPE = 1;\nvar DOC_NODE_TYPE = 9;\nvar DOCUMENT_FRAGMENT_NODE_TYPE = 11;\n\nvar instancesByReactRootID = {};\n\n/**\n * Finds the index of the first character\n * that's not common between the two given strings.\n *\n * @return {number} the index of the character where the strings diverge\n */\nfunction firstDifferenceIndex(string1, string2) {\n var minLen = Math.min(string1.length, string2.length);\n for (var i = 0; i < minLen; i++) {\n if (string1.charAt(i) !== string2.charAt(i)) {\n return i;\n }\n }\n return string1.length === string2.length ? -1 : minLen;\n}\n\n/**\n * @param {DOMElement|DOMDocument} container DOM element that may contain\n * a React component\n * @return {?*} DOM element that may have the reactRoot ID, or null.\n */\nfunction getReactRootElementInContainer(container) {\n if (!container) {\n return null;\n }\n\n if (container.nodeType === DOC_NODE_TYPE) {\n return container.documentElement;\n } else {\n return container.firstChild;\n }\n}\n\nfunction internalGetID(node) {\n // If node is something like a window, document, or text node, none of\n // which support attributes or a .getAttribute method, gracefully return\n // the empty string, as if the attribute were missing.\n return node.getAttribute && node.getAttribute(ATTR_NAME) || '';\n}\n\n/**\n * Mounts this component and inserts it into the DOM.\n *\n * @param {ReactComponent} componentInstance The instance to mount.\n * @param {DOMElement} container DOM element to mount into.\n * @param {ReactReconcileTransaction} transaction\n * @param {boolean} shouldReuseMarkup If true, do not insert markup\n */\nfunction mountComponentIntoNode(wrapperInstance, container, transaction, shouldReuseMarkup, context) {\n var markerName;\n if (ReactFeatureFlags.logTopLevelRenders) {\n var wrappedElement = wrapperInstance._currentElement.props;\n var type = wrappedElement.type;\n markerName = 'React mount: ' + (typeof type === 'string' ? type : type.displayName || type.name);\n console.time(markerName);\n }\n\n var markup = ReactReconciler.mountComponent(wrapperInstance, transaction, null, ReactDOMContainerInfo(wrapperInstance, container), context, 0 /* parentDebugID */\n );\n\n if (markerName) {\n console.timeEnd(markerName);\n }\n\n wrapperInstance._renderedComponent._topLevelWrapper = wrapperInstance;\n ReactMount._mountImageIntoNode(markup, container, wrapperInstance, shouldReuseMarkup, transaction);\n}\n\n/**\n * Batched mount.\n *\n * @param {ReactComponent} componentInstance The instance to mount.\n * @param {DOMElement} container DOM element to mount into.\n * @param {boolean} shouldReuseMarkup If true, do not insert markup\n */\nfunction batchedMountComponentIntoNode(componentInstance, container, shouldReuseMarkup, context) {\n var transaction = ReactUpdates.ReactReconcileTransaction.getPooled(\n /* useCreateElement */\n !shouldReuseMarkup && ReactDOMFeatureFlags.useCreateElement);\n transaction.perform(mountComponentIntoNode, null, componentInstance, container, transaction, shouldReuseMarkup, context);\n ReactUpdates.ReactReconcileTransaction.release(transaction);\n}\n\n/**\n * Unmounts a component and removes it from the DOM.\n *\n * @param {ReactComponent} instance React component instance.\n * @param {DOMElement} container DOM element to unmount from.\n * @final\n * @internal\n * @see {ReactMount.unmountComponentAtNode}\n */\nfunction unmountComponentFromNode(instance, container, safely) {\n if (process.env.NODE_ENV !== 'production') {\n ReactInstrumentation.debugTool.onBeginFlush();\n }\n ReactReconciler.unmountComponent(instance, safely);\n if (process.env.NODE_ENV !== 'production') {\n ReactInstrumentation.debugTool.onEndFlush();\n }\n\n if (container.nodeType === DOC_NODE_TYPE) {\n container = container.documentElement;\n }\n\n // http://jsperf.com/emptying-a-node\n while (container.lastChild) {\n container.removeChild(container.lastChild);\n }\n}\n\n/**\n * True if the supplied DOM node has a direct React-rendered child that is\n * not a React root element. Useful for warning in `render`,\n * `unmountComponentAtNode`, etc.\n *\n * @param {?DOMElement} node The candidate DOM node.\n * @return {boolean} True if the DOM element contains a direct child that was\n * rendered by React but is not a root element.\n * @internal\n */\nfunction hasNonRootReactChild(container) {\n var rootEl = getReactRootElementInContainer(container);\n if (rootEl) {\n var inst = ReactDOMComponentTree.getInstanceFromNode(rootEl);\n return !!(inst && inst._hostParent);\n }\n}\n\n/**\n * True if the supplied DOM node is a React DOM element and\n * it has been rendered by another copy of React.\n *\n * @param {?DOMElement} node The candidate DOM node.\n * @return {boolean} True if the DOM has been rendered by another copy of React\n * @internal\n */\nfunction nodeIsRenderedByOtherInstance(container) {\n var rootEl = getReactRootElementInContainer(container);\n return !!(rootEl && isReactNode(rootEl) && !ReactDOMComponentTree.getInstanceFromNode(rootEl));\n}\n\n/**\n * True if the supplied DOM node is a valid node element.\n *\n * @param {?DOMElement} node The candidate DOM node.\n * @return {boolean} True if the DOM is a valid DOM node.\n * @internal\n */\nfunction isValidContainer(node) {\n return !!(node && (node.nodeType === ELEMENT_NODE_TYPE || node.nodeType === DOC_NODE_TYPE || node.nodeType === DOCUMENT_FRAGMENT_NODE_TYPE));\n}\n\n/**\n * True if the supplied DOM node is a valid React node element.\n *\n * @param {?DOMElement} node The candidate DOM node.\n * @return {boolean} True if the DOM is a valid React DOM node.\n * @internal\n */\nfunction isReactNode(node) {\n return isValidContainer(node) && (node.hasAttribute(ROOT_ATTR_NAME) || node.hasAttribute(ATTR_NAME));\n}\n\nfunction getHostRootInstanceInContainer(container) {\n var rootEl = getReactRootElementInContainer(container);\n var prevHostInstance = rootEl && ReactDOMComponentTree.getInstanceFromNode(rootEl);\n return prevHostInstance && !prevHostInstance._hostParent ? prevHostInstance : null;\n}\n\nfunction getTopLevelWrapperInContainer(container) {\n var root = getHostRootInstanceInContainer(container);\n return root ? root._hostContainerInfo._topLevelWrapper : null;\n}\n\n/**\n * Temporary (?) hack so that we can store all top-level pending updates on\n * composites instead of having to worry about different types of components\n * here.\n */\nvar topLevelRootCounter = 1;\nvar TopLevelWrapper = function () {\n this.rootID = topLevelRootCounter++;\n};\nTopLevelWrapper.prototype.isReactComponent = {};\nif (process.env.NODE_ENV !== 'production') {\n TopLevelWrapper.displayName = 'TopLevelWrapper';\n}\nTopLevelWrapper.prototype.render = function () {\n // this.props is actually a ReactElement\n return this.props;\n};\n\n/**\n * Mounting is the process of initializing a React component by creating its\n * representative DOM elements and inserting them into a supplied `container`.\n * Any prior content inside `container` is destroyed in the process.\n *\n * ReactMount.render(\n * component,\n * document.getElementById('container')\n * );\n *\n * <div id=\"container\"> <-- Supplied `container`.\n * <div data-reactid=\".3\"> <-- Rendered reactRoot of React\n * // ... component.\n * </div>\n * </div>\n *\n * Inside of `container`, the first element rendered is the \"reactRoot\".\n */\nvar ReactMount = {\n\n TopLevelWrapper: TopLevelWrapper,\n\n /**\n * Used by devtools. The keys are not important.\n */\n _instancesByReactRootID: instancesByReactRootID,\n\n /**\n * This is a hook provided to support rendering React components while\n * ensuring that the apparent scroll position of its `container` does not\n * change.\n *\n * @param {DOMElement} container The `container` being rendered into.\n * @param {function} renderCallback This must be called once to do the render.\n */\n scrollMonitor: function (container, renderCallback) {\n renderCallback();\n },\n\n /**\n * Take a component that's already mounted into the DOM and replace its props\n * @param {ReactComponent} prevComponent component instance already in the DOM\n * @param {ReactElement} nextElement component instance to render\n * @param {DOMElement} container container to render into\n * @param {?function} callback function triggered on completion\n */\n _updateRootComponent: function (prevComponent, nextElement, nextContext, container, callback) {\n ReactMount.scrollMonitor(container, function () {\n ReactUpdateQueue.enqueueElementInternal(prevComponent, nextElement, nextContext);\n if (callback) {\n ReactUpdateQueue.enqueueCallbackInternal(prevComponent, callback);\n }\n });\n\n return prevComponent;\n },\n\n /**\n * Render a new component into the DOM. Hooked by hooks!\n *\n * @param {ReactElement} nextElement element to render\n * @param {DOMElement} container container to render into\n * @param {boolean} shouldReuseMarkup if we should skip the markup insertion\n * @return {ReactComponent} nextComponent\n */\n _renderNewRootComponent: function (nextElement, container, shouldReuseMarkup, context) {\n // Various parts of our code (such as ReactCompositeComponent's\n // _renderValidatedComponent) assume that calls to render aren't nested;\n // verify that that's the case.\n process.env.NODE_ENV !== 'production' ? warning(ReactCurrentOwner.current == null, '_renderNewRootComponent(): Render methods should be a pure function ' + 'of props and state; triggering nested component updates from ' + 'render is not allowed. If necessary, trigger nested updates in ' + 'componentDidUpdate. Check the render method of %s.', ReactCurrentOwner.current && ReactCurrentOwner.current.getName() || 'ReactCompositeComponent') : void 0;\n\n !isValidContainer(container) ? process.env.NODE_ENV !== 'production' ? invariant(false, '_registerComponent(...): Target container is not a DOM element.') : _prodInvariant('37') : void 0;\n\n ReactBrowserEventEmitter.ensureScrollValueMonitoring();\n var componentInstance = instantiateReactComponent(nextElement, false);\n\n // The initial render is synchronous but any updates that happen during\n // rendering, in componentWillMount or componentDidMount, will be batched\n // according to the current batching strategy.\n\n ReactUpdates.batchedUpdates(batchedMountComponentIntoNode, componentInstance, container, shouldReuseMarkup, context);\n\n var wrapperID = componentInstance._instance.rootID;\n instancesByReactRootID[wrapperID] = componentInstance;\n\n return componentInstance;\n },\n\n /**\n * Renders a React component into the DOM in the supplied `container`.\n *\n * If the React component was previously rendered into `container`, this will\n * perform an update on it and only mutate the DOM as necessary to reflect the\n * latest React component.\n *\n * @param {ReactComponent} parentComponent The conceptual parent of this render tree.\n * @param {ReactElement} nextElement Component element to render.\n * @param {DOMElement} container DOM element to render into.\n * @param {?function} callback function triggered on completion\n * @return {ReactComponent} Component instance rendered in `container`.\n */\n renderSubtreeIntoContainer: function (parentComponent, nextElement, container, callback) {\n !(parentComponent != null && ReactInstanceMap.has(parentComponent)) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'parentComponent must be a valid React Component') : _prodInvariant('38') : void 0;\n return ReactMount._renderSubtreeIntoContainer(parentComponent, nextElement, container, callback);\n },\n\n _renderSubtreeIntoContainer: function (parentComponent, nextElement, container, callback) {\n ReactUpdateQueue.validateCallback(callback, 'ReactDOM.render');\n !ReactElement.isValidElement(nextElement) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactDOM.render(): Invalid component element.%s', typeof nextElement === 'string' ? ' Instead of passing a string like \\'div\\', pass ' + 'React.createElement(\\'div\\') or <div />.' : typeof nextElement === 'function' ? ' Instead of passing a class like Foo, pass ' + 'React.createElement(Foo) or <Foo />.' :\n // Check if it quacks like an element\n nextElement != null && nextElement.props !== undefined ? ' This may be caused by unintentionally loading two independent ' + 'copies of React.' : '') : _prodInvariant('39', typeof nextElement === 'string' ? ' Instead of passing a string like \\'div\\', pass ' + 'React.createElement(\\'div\\') or <div />.' : typeof nextElement === 'function' ? ' Instead of passing a class like Foo, pass ' + 'React.createElement(Foo) or <Foo />.' : nextElement != null && nextElement.props !== undefined ? ' This may be caused by unintentionally loading two independent ' + 'copies of React.' : '') : void 0;\n\n process.env.NODE_ENV !== 'production' ? warning(!container || !container.tagName || container.tagName.toUpperCase() !== 'BODY', 'render(): Rendering components directly into document.body is ' + 'discouraged, since its children are often manipulated by third-party ' + 'scripts and browser extensions. This may lead to subtle ' + 'reconciliation issues. Try rendering into a container element created ' + 'for your app.') : void 0;\n\n var nextWrappedElement = ReactElement(TopLevelWrapper, null, null, null, null, null, nextElement);\n\n var nextContext;\n if (parentComponent) {\n var parentInst = ReactInstanceMap.get(parentComponent);\n nextContext = parentInst._processChildContext(parentInst._context);\n } else {\n nextContext = emptyObject;\n }\n\n var prevComponent = getTopLevelWrapperInContainer(container);\n\n if (prevComponent) {\n var prevWrappedElement = prevComponent._currentElement;\n var prevElement = prevWrappedElement.props;\n if (shouldUpdateReactComponent(prevElement, nextElement)) {\n var publicInst = prevComponent._renderedComponent.getPublicInstance();\n var updatedCallback = callback && function () {\n callback.call(publicInst);\n };\n ReactMount._updateRootComponent(prevComponent, nextWrappedElement, nextContext, container, updatedCallback);\n return publicInst;\n } else {\n ReactMount.unmountComponentAtNode(container);\n }\n }\n\n var reactRootElement = getReactRootElementInContainer(container);\n var containerHasReactMarkup = reactRootElement && !!internalGetID(reactRootElement);\n var containerHasNonRootReactChild = hasNonRootReactChild(container);\n\n if (process.env.NODE_ENV !== 'production') {\n process.env.NODE_ENV !== 'production' ? warning(!containerHasNonRootReactChild, 'render(...): Replacing React-rendered children with a new root ' + 'component. If you intended to update the children of this node, ' + 'you should instead have the existing children update their state ' + 'and render the new components instead of calling ReactDOM.render.') : void 0;\n\n if (!containerHasReactMarkup || reactRootElement.nextSibling) {\n var rootElementSibling = reactRootElement;\n while (rootElementSibling) {\n if (internalGetID(rootElementSibling)) {\n process.env.NODE_ENV !== 'production' ? warning(false, 'render(): Target node has markup rendered by React, but there ' + 'are unrelated nodes as well. This is most commonly caused by ' + 'white-space inserted around server-rendered markup.') : void 0;\n break;\n }\n rootElementSibling = rootElementSibling.nextSibling;\n }\n }\n }\n\n var shouldReuseMarkup = containerHasReactMarkup && !prevComponent && !containerHasNonRootReactChild;\n var component = ReactMount._renderNewRootComponent(nextWrappedElement, container, shouldReuseMarkup, nextContext)._renderedComponent.getPublicInstance();\n if (callback) {\n callback.call(component);\n }\n return component;\n },\n\n /**\n * Renders a React component into the DOM in the supplied `container`.\n * See https://facebook.github.io/react/docs/top-level-api.html#reactdom.render\n *\n * If the React component was previously rendered into `container`, this will\n * perform an update on it and only mutate the DOM as necessary to reflect the\n * latest React component.\n *\n * @param {ReactElement} nextElement Component element to render.\n * @param {DOMElement} container DOM element to render into.\n * @param {?function} callback function triggered on completion\n * @return {ReactComponent} Component instance rendered in `container`.\n */\n render: function (nextElement, container, callback) {\n return ReactMount._renderSubtreeIntoContainer(null, nextElement, container, callback);\n },\n\n /**\n * Unmounts and destroys the React component rendered in the `container`.\n * See https://facebook.github.io/react/docs/top-level-api.html#reactdom.unmountcomponentatnode\n *\n * @param {DOMElement} container DOM element containing a React component.\n * @return {boolean} True if a component was found in and unmounted from\n * `container`\n */\n unmountComponentAtNode: function (container) {\n // Various parts of our code (such as ReactCompositeComponent's\n // _renderValidatedComponent) assume that calls to render aren't nested;\n // verify that that's the case. (Strictly speaking, unmounting won't cause a\n // render but we still don't expect to be in a render call here.)\n process.env.NODE_ENV !== 'production' ? warning(ReactCurrentOwner.current == null, 'unmountComponentAtNode(): Render methods should be a pure function ' + 'of props and state; triggering nested component updates from render ' + 'is not allowed. If necessary, trigger nested updates in ' + 'componentDidUpdate. Check the render method of %s.', ReactCurrentOwner.current && ReactCurrentOwner.current.getName() || 'ReactCompositeComponent') : void 0;\n\n !isValidContainer(container) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'unmountComponentAtNode(...): Target container is not a DOM element.') : _prodInvariant('40') : void 0;\n\n if (process.env.NODE_ENV !== 'production') {\n process.env.NODE_ENV !== 'production' ? warning(!nodeIsRenderedByOtherInstance(container), 'unmountComponentAtNode(): The node you\\'re attempting to unmount ' + 'was rendered by another copy of React.') : void 0;\n }\n\n var prevComponent = getTopLevelWrapperInContainer(container);\n if (!prevComponent) {\n // Check if the node being unmounted was rendered by React, but isn't a\n // root node.\n var containerHasNonRootReactChild = hasNonRootReactChild(container);\n\n // Check if the container itself is a React root node.\n var isContainerReactRoot = container.nodeType === 1 && container.hasAttribute(ROOT_ATTR_NAME);\n\n if (process.env.NODE_ENV !== 'production') {\n process.env.NODE_ENV !== 'production' ? warning(!containerHasNonRootReactChild, 'unmountComponentAtNode(): The node you\\'re attempting to unmount ' + 'was rendered by React and is not a top-level container. %s', isContainerReactRoot ? 'You may have accidentally passed in a React root node instead ' + 'of its container.' : 'Instead, have the parent component update its state and ' + 'rerender in order to remove this component.') : void 0;\n }\n\n return false;\n }\n delete instancesByReactRootID[prevComponent._instance.rootID];\n ReactUpdates.batchedUpdates(unmountComponentFromNode, prevComponent, container, false);\n return true;\n },\n\n _mountImageIntoNode: function (markup, container, instance, shouldReuseMarkup, transaction) {\n !isValidContainer(container) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'mountComponentIntoNode(...): Target container is not valid.') : _prodInvariant('41') : void 0;\n\n if (shouldReuseMarkup) {\n var rootElement = getReactRootElementInContainer(container);\n if (ReactMarkupChecksum.canReuseMarkup(markup, rootElement)) {\n ReactDOMComponentTree.precacheNode(instance, rootElement);\n return;\n } else {\n var checksum = rootElement.getAttribute(ReactMarkupChecksum.CHECKSUM_ATTR_NAME);\n rootElement.removeAttribute(ReactMarkupChecksum.CHECKSUM_ATTR_NAME);\n\n var rootMarkup = rootElement.outerHTML;\n rootElement.setAttribute(ReactMarkupChecksum.CHECKSUM_ATTR_NAME, checksum);\n\n var normalizedMarkup = markup;\n if (process.env.NODE_ENV !== 'production') {\n // because rootMarkup is retrieved from the DOM, various normalizations\n // will have occurred which will not be present in `markup`. Here,\n // insert markup into a <div> or <iframe> depending on the container\n // type to perform the same normalizations before comparing.\n var normalizer;\n if (container.nodeType === ELEMENT_NODE_TYPE) {\n normalizer = document.createElement('div');\n normalizer.innerHTML = markup;\n normalizedMarkup = normalizer.innerHTML;\n } else {\n normalizer = document.createElement('iframe');\n document.body.appendChild(normalizer);\n normalizer.contentDocument.write(markup);\n normalizedMarkup = normalizer.contentDocument.documentElement.outerHTML;\n document.body.removeChild(normalizer);\n }\n }\n\n var diffIndex = firstDifferenceIndex(normalizedMarkup, rootMarkup);\n var difference = ' (client) ' + normalizedMarkup.substring(diffIndex - 20, diffIndex + 20) + '\\n (server) ' + rootMarkup.substring(diffIndex - 20, diffIndex + 20);\n\n !(container.nodeType !== DOC_NODE_TYPE) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'You\\'re trying to render a component to the document using server rendering but the checksum was invalid. This usually means you rendered a different component type or props on the client from the one on the server, or your render() methods are impure. React cannot handle this case due to cross-browser quirks by rendering at the document root. You should look for environment dependent code in your components and ensure the props are the same client and server side:\\n%s', difference) : _prodInvariant('42', difference) : void 0;\n\n if (process.env.NODE_ENV !== 'production') {\n process.env.NODE_ENV !== 'production' ? warning(false, 'React attempted to reuse markup in a container but the ' + 'checksum was invalid. This generally means that you are ' + 'using server rendering and the markup generated on the ' + 'server was not what the client was expecting. React injected ' + 'new markup to compensate which works but you have lost many ' + 'of the benefits of server rendering. Instead, figure out ' + 'why the markup being generated is different on the client ' + 'or server:\\n%s', difference) : void 0;\n }\n }\n }\n\n !(container.nodeType !== DOC_NODE_TYPE) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'You\\'re trying to render a component to the document but you didn\\'t use server rendering. We can\\'t do this without using server rendering due to cross-browser quirks. See ReactDOMServer.renderToString() for server rendering.') : _prodInvariant('43') : void 0;\n\n if (transaction.useCreateElement) {\n while (container.lastChild) {\n container.removeChild(container.lastChild);\n }\n DOMLazyTree.insertTreeBefore(container, markup, null);\n } else {\n setInnerHTML(container, markup);\n ReactDOMComponentTree.precacheNode(instance, container.firstChild);\n }\n\n if (process.env.NODE_ENV !== 'production') {\n var hostNode = ReactDOMComponentTree.getInstanceFromNode(container.firstChild);\n if (hostNode._debugID !== 0) {\n ReactInstrumentation.debugTool.onHostOperation(hostNode._debugID, 'mount', markup.toString());\n }\n }\n }\n};\n\nmodule.exports = ReactMount;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react/lib/ReactMount.js\n ** module id = 335\n ** module chunks = 0\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule ReactMultiChildUpdateTypes\n */\n\n'use strict';\n\nvar keyMirror = require('fbjs/lib/keyMirror');\n\n/**\n * When a component's children are updated, a series of update configuration\n * objects are created in order to batch and serialize the required changes.\n *\n * Enumerates all the possible types of update configurations.\n *\n * @internal\n */\nvar ReactMultiChildUpdateTypes = keyMirror({\n INSERT_MARKUP: null,\n MOVE_EXISTING: null,\n REMOVE_NODE: null,\n SET_MARKUP: null,\n TEXT_CONTENT: null\n});\n\nmodule.exports = ReactMultiChildUpdateTypes;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react/lib/ReactMultiChildUpdateTypes.js\n ** module id = 336\n ** module chunks = 0\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule ReactNodeTypes\n * \n */\n\n'use strict';\n\nvar _prodInvariant = require('./reactProdInvariant');\n\nvar ReactElement = require('./ReactElement');\n\nvar invariant = require('fbjs/lib/invariant');\n\nvar ReactNodeTypes = {\n HOST: 0,\n COMPOSITE: 1,\n EMPTY: 2,\n\n getType: function (node) {\n if (node === null || node === false) {\n return ReactNodeTypes.EMPTY;\n } else if (ReactElement.isValidElement(node)) {\n if (typeof node.type === 'function') {\n return ReactNodeTypes.COMPOSITE;\n } else {\n return ReactNodeTypes.HOST;\n }\n }\n !false ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Unexpected node: %s', node) : _prodInvariant('26', node) : void 0;\n }\n};\n\nmodule.exports = ReactNodeTypes;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react/lib/ReactNodeTypes.js\n ** module id = 337\n ** module chunks = 0\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule ReactPropTypes\n */\n\n'use strict';\n\nvar ReactElement = require('./ReactElement');\nvar ReactPropTypeLocationNames = require('./ReactPropTypeLocationNames');\nvar ReactPropTypesSecret = require('./ReactPropTypesSecret');\n\nvar emptyFunction = require('fbjs/lib/emptyFunction');\nvar getIteratorFn = require('./getIteratorFn');\nvar warning = require('fbjs/lib/warning');\n\n/**\n * Collection of methods that allow declaration and validation of props that are\n * supplied to React components. Example usage:\n *\n * var Props = require('ReactPropTypes');\n * var MyArticle = React.createClass({\n * propTypes: {\n * // An optional string prop named \"description\".\n * description: Props.string,\n *\n * // A required enum prop named \"category\".\n * category: Props.oneOf(['News','Photos']).isRequired,\n *\n * // A prop named \"dialog\" that requires an instance of Dialog.\n * dialog: Props.instanceOf(Dialog).isRequired\n * },\n * render: function() { ... }\n * });\n *\n * A more formal specification of how these methods are used:\n *\n * type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...)\n * decl := ReactPropTypes.{type}(.isRequired)?\n *\n * Each and every declaration produces a function with the same signature. This\n * allows the creation of custom validation functions. For example:\n *\n * var MyLink = React.createClass({\n * propTypes: {\n * // An optional string or URI prop named \"href\".\n * href: function(props, propName, componentName) {\n * var propValue = props[propName];\n * if (propValue != null && typeof propValue !== 'string' &&\n * !(propValue instanceof URI)) {\n * return new Error(\n * 'Expected a string or an URI for ' + propName + ' in ' +\n * componentName\n * );\n * }\n * }\n * },\n * render: function() {...}\n * });\n *\n * @internal\n */\n\nvar ANONYMOUS = '<<anonymous>>';\n\nvar ReactPropTypes = {\n array: createPrimitiveTypeChecker('array'),\n bool: createPrimitiveTypeChecker('boolean'),\n func: createPrimitiveTypeChecker('function'),\n number: createPrimitiveTypeChecker('number'),\n object: createPrimitiveTypeChecker('object'),\n string: createPrimitiveTypeChecker('string'),\n symbol: createPrimitiveTypeChecker('symbol'),\n\n any: createAnyTypeChecker(),\n arrayOf: createArrayOfTypeChecker,\n element: createElementTypeChecker(),\n instanceOf: createInstanceTypeChecker,\n node: createNodeChecker(),\n objectOf: createObjectOfTypeChecker,\n oneOf: createEnumTypeChecker,\n oneOfType: createUnionTypeChecker,\n shape: createShapeTypeChecker\n};\n\n/**\n * inlined Object.is polyfill to avoid requiring consumers ship their own\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\n */\n/*eslint-disable no-self-compare*/\nfunction is(x, y) {\n // SameValue algorithm\n if (x === y) {\n // Steps 1-5, 7-10\n // Steps 6.b-6.e: +0 != -0\n return x !== 0 || 1 / x === 1 / y;\n } else {\n // Step 6.a: NaN == NaN\n return x !== x && y !== y;\n }\n}\n/*eslint-enable no-self-compare*/\n\n/**\n * We use an Error-like object for backward compatibility as people may call\n * PropTypes directly and inspect their output. However we don't use real\n * Errors anymore. We don't inspect their stack anyway, and creating them\n * is prohibitively expensive if they are created too often, such as what\n * happens in oneOfType() for any type before the one that matched.\n */\nfunction PropTypeError(message) {\n this.message = message;\n this.stack = '';\n}\n// Make `instanceof Error` still work for returned errors.\nPropTypeError.prototype = Error.prototype;\n\nfunction createChainableTypeChecker(validate) {\n if (process.env.NODE_ENV !== 'production') {\n var manualPropTypeCallCache = {};\n }\n function checkType(isRequired, props, propName, componentName, location, propFullName, secret) {\n componentName = componentName || ANONYMOUS;\n propFullName = propFullName || propName;\n if (process.env.NODE_ENV !== 'production') {\n if (secret !== ReactPropTypesSecret && typeof console !== 'undefined') {\n var cacheKey = componentName + ':' + propName;\n if (!manualPropTypeCallCache[cacheKey]) {\n process.env.NODE_ENV !== 'production' ? warning(false, 'You are manually calling a React.PropTypes validation ' + 'function for the `%s` prop on `%s`. This is deprecated ' + 'and will not work in the next major version. You may be ' + 'seeing this warning due to a third-party PropTypes library. ' + 'See https://fb.me/react-warning-dont-call-proptypes for details.', propFullName, componentName) : void 0;\n manualPropTypeCallCache[cacheKey] = true;\n }\n }\n }\n if (props[propName] == null) {\n var locationName = ReactPropTypeLocationNames[location];\n if (isRequired) {\n return new PropTypeError('Required ' + locationName + ' `' + propFullName + '` was not specified in ' + ('`' + componentName + '`.'));\n }\n return null;\n } else {\n return validate(props, propName, componentName, location, propFullName);\n }\n }\n\n var chainedCheckType = checkType.bind(null, false);\n chainedCheckType.isRequired = checkType.bind(null, true);\n\n return chainedCheckType;\n}\n\nfunction createPrimitiveTypeChecker(expectedType) {\n function validate(props, propName, componentName, location, propFullName, secret) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== expectedType) {\n var locationName = ReactPropTypeLocationNames[location];\n // `propValue` being instance of, say, date/regexp, pass the 'object'\n // check, but we can offer a more precise error message here rather than\n // 'of type `object`'.\n var preciseType = getPreciseType(propValue);\n\n return new PropTypeError('Invalid ' + locationName + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n}\n\nfunction createAnyTypeChecker() {\n return createChainableTypeChecker(emptyFunction.thatReturns(null));\n}\n\nfunction createArrayOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.');\n }\n var propValue = props[propName];\n if (!Array.isArray(propValue)) {\n var locationName = ReactPropTypeLocationNames[location];\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + locationName + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.'));\n }\n for (var i = 0; i < propValue.length; i++) {\n var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']', ReactPropTypesSecret);\n if (error instanceof Error) {\n return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n}\n\nfunction createElementTypeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n if (!ReactElement.isValidElement(propValue)) {\n var locationName = ReactPropTypeLocationNames[location];\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + locationName + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n}\n\nfunction createInstanceTypeChecker(expectedClass) {\n function validate(props, propName, componentName, location, propFullName) {\n if (!(props[propName] instanceof expectedClass)) {\n var locationName = ReactPropTypeLocationNames[location];\n var expectedClassName = expectedClass.name || ANONYMOUS;\n var actualClassName = getClassName(props[propName]);\n return new PropTypeError('Invalid ' + locationName + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n}\n\nfunction createEnumTypeChecker(expectedValues) {\n if (!Array.isArray(expectedValues)) {\n process.env.NODE_ENV !== 'production' ? warning(false, 'Invalid argument supplied to oneOf, expected an instance of array.') : void 0;\n return emptyFunction.thatReturnsNull;\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n for (var i = 0; i < expectedValues.length; i++) {\n if (is(propValue, expectedValues[i])) {\n return null;\n }\n }\n\n var locationName = ReactPropTypeLocationNames[location];\n var valuesString = JSON.stringify(expectedValues);\n return new PropTypeError('Invalid ' + locationName + ' `' + propFullName + '` of value `' + propValue + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.'));\n }\n return createChainableTypeChecker(validate);\n}\n\nfunction createObjectOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside objectOf.');\n }\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n var locationName = ReactPropTypeLocationNames[location];\n return new PropTypeError('Invalid ' + locationName + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.'));\n }\n for (var key in propValue) {\n if (propValue.hasOwnProperty(key)) {\n var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error instanceof Error) {\n return error;\n }\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n}\n\nfunction createUnionTypeChecker(arrayOfTypeCheckers) {\n if (!Array.isArray(arrayOfTypeCheckers)) {\n process.env.NODE_ENV !== 'production' ? warning(false, 'Invalid argument supplied to oneOfType, expected an instance of array.') : void 0;\n return emptyFunction.thatReturnsNull;\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n if (checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret) == null) {\n return null;\n }\n }\n\n var locationName = ReactPropTypeLocationNames[location];\n return new PropTypeError('Invalid ' + locationName + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`.'));\n }\n return createChainableTypeChecker(validate);\n}\n\nfunction createNodeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n if (!isNode(props[propName])) {\n var locationName = ReactPropTypeLocationNames[location];\n return new PropTypeError('Invalid ' + locationName + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n}\n\nfunction createShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n var locationName = ReactPropTypeLocationNames[location];\n return new PropTypeError('Invalid ' + locationName + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n }\n for (var key in shapeTypes) {\n var checker = shapeTypes[key];\n if (!checker) {\n continue;\n }\n var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error) {\n return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n}\n\nfunction isNode(propValue) {\n switch (typeof propValue) {\n case 'number':\n case 'string':\n case 'undefined':\n return true;\n case 'boolean':\n return !propValue;\n case 'object':\n if (Array.isArray(propValue)) {\n return propValue.every(isNode);\n }\n if (propValue === null || ReactElement.isValidElement(propValue)) {\n return true;\n }\n\n var iteratorFn = getIteratorFn(propValue);\n if (iteratorFn) {\n var iterator = iteratorFn.call(propValue);\n var step;\n if (iteratorFn !== propValue.entries) {\n while (!(step = iterator.next()).done) {\n if (!isNode(step.value)) {\n return false;\n }\n }\n } else {\n // Iterator will provide entry [k,v] tuples rather than values.\n while (!(step = iterator.next()).done) {\n var entry = step.value;\n if (entry) {\n if (!isNode(entry[1])) {\n return false;\n }\n }\n }\n }\n } else {\n return false;\n }\n\n return true;\n default:\n return false;\n }\n}\n\nfunction isSymbol(propType, propValue) {\n // Native Symbol.\n if (propType === 'symbol') {\n return true;\n }\n\n // 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol'\n if (propValue['@@toStringTag'] === 'Symbol') {\n return true;\n }\n\n // Fallback for non-spec compliant Symbols which are polyfilled.\n if (typeof Symbol === 'function' && propValue instanceof Symbol) {\n return true;\n }\n\n return false;\n}\n\n// Equivalent of `typeof` but with special handling for array and regexp.\nfunction getPropType(propValue) {\n var propType = typeof propValue;\n if (Array.isArray(propValue)) {\n return 'array';\n }\n if (propValue instanceof RegExp) {\n // Old webkits (at least until Android 4.0) return 'function' rather than\n // 'object' for typeof a RegExp. We'll normalize this here so that /bla/\n // passes PropTypes.object.\n return 'object';\n }\n if (isSymbol(propType, propValue)) {\n return 'symbol';\n }\n return propType;\n}\n\n// This handles more types than `getPropType`. Only used for error messages.\n// See `createPrimitiveTypeChecker`.\nfunction getPreciseType(propValue) {\n var propType = getPropType(propValue);\n if (propType === 'object') {\n if (propValue instanceof Date) {\n return 'date';\n } else if (propValue instanceof RegExp) {\n return 'regexp';\n }\n }\n return propType;\n}\n\n// Returns class name of the object, if any.\nfunction getClassName(propValue) {\n if (!propValue.constructor || !propValue.constructor.name) {\n return ANONYMOUS;\n }\n return propValue.constructor.name;\n}\n\nmodule.exports = ReactPropTypes;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react/lib/ReactPropTypes.js\n ** module id = 338\n ** module chunks = 0\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule ReactVersion\n */\n\n'use strict';\n\nmodule.exports = '15.3.2';\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react/lib/ReactVersion.js\n ** module id = 339\n ** module chunks = 0\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule ViewportMetrics\n */\n\n'use strict';\n\nvar ViewportMetrics = {\n\n currentScrollLeft: 0,\n\n currentScrollTop: 0,\n\n refreshScrollValues: function (scrollPosition) {\n ViewportMetrics.currentScrollLeft = scrollPosition.x;\n ViewportMetrics.currentScrollTop = scrollPosition.y;\n }\n\n};\n\nmodule.exports = ViewportMetrics;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react/lib/ViewportMetrics.js\n ** module id = 340\n ** module chunks = 0\n **/","/**\n * Copyright 2014-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule accumulateInto\n * \n */\n\n'use strict';\n\nvar _prodInvariant = require('./reactProdInvariant');\n\nvar invariant = require('fbjs/lib/invariant');\n\n/**\n * Accumulates items that must not be null or undefined into the first one. This\n * is used to conserve memory by avoiding array allocations, and thus sacrifices\n * API cleanness. Since `current` can be null before being passed in and not\n * null after this function, make sure to assign it back to `current`:\n *\n * `a = accumulateInto(a, b);`\n *\n * This API should be sparingly used. Try `accumulate` for something cleaner.\n *\n * @return {*|array<*>} An accumulation of items.\n */\n\nfunction accumulateInto(current, next) {\n !(next != null) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'accumulateInto(...): Accumulated items must not be null or undefined.') : _prodInvariant('30') : void 0;\n\n if (current == null) {\n return next;\n }\n\n // Both are not empty. Warning: Never call x.concat(y) when you are not\n // certain that x is an Array (x could be a string with concat method).\n if (Array.isArray(current)) {\n if (Array.isArray(next)) {\n current.push.apply(current, next);\n return current;\n }\n current.push(next);\n return current;\n }\n\n if (Array.isArray(next)) {\n // A bit too dangerous to mutate `next`.\n return [current].concat(next);\n }\n\n return [current, next];\n}\n\nmodule.exports = accumulateInto;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react/lib/accumulateInto.js\n ** module id = 341\n ** module chunks = 0\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule canDefineProperty\n */\n\n'use strict';\n\nvar canDefineProperty = false;\nif (process.env.NODE_ENV !== 'production') {\n try {\n Object.defineProperty({}, 'x', { get: function () {} });\n canDefineProperty = true;\n } catch (x) {\n // IE will fail on defineProperty\n }\n}\n\nmodule.exports = canDefineProperty;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react/lib/canDefineProperty.js\n ** module id = 342\n ** module chunks = 0\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule forEachAccumulated\n * \n */\n\n'use strict';\n\n/**\n * @param {array} arr an \"accumulation\" of items which is either an Array or\n * a single item. Useful when paired with the `accumulate` module. This is a\n * simple utility that allows us to reason about a collection of items, but\n * handling the case when there is exactly one item (and we do not need to\n * allocate an array).\n */\n\nfunction forEachAccumulated(arr, cb, scope) {\n if (Array.isArray(arr)) {\n arr.forEach(cb, scope);\n } else if (arr) {\n cb.call(scope, arr);\n }\n}\n\nmodule.exports = forEachAccumulated;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react/lib/forEachAccumulated.js\n ** module id = 343\n ** module chunks = 0\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule getHostComponentFromComposite\n */\n\n'use strict';\n\nvar ReactNodeTypes = require('./ReactNodeTypes');\n\nfunction getHostComponentFromComposite(inst) {\n var type;\n\n while ((type = inst._renderedNodeType) === ReactNodeTypes.COMPOSITE) {\n inst = inst._renderedComponent;\n }\n\n if (type === ReactNodeTypes.HOST) {\n return inst._renderedComponent;\n } else if (type === ReactNodeTypes.EMPTY) {\n return null;\n }\n}\n\nmodule.exports = getHostComponentFromComposite;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react/lib/getHostComponentFromComposite.js\n ** module id = 344\n ** module chunks = 0\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule getIteratorFn\n * \n */\n\n'use strict';\n\n/* global Symbol */\n\nvar ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;\nvar FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec.\n\n/**\n * Returns the iterator method function contained on the iterable object.\n *\n * Be sure to invoke the function with the iterable as context:\n *\n * var iteratorFn = getIteratorFn(myIterable);\n * if (iteratorFn) {\n * var iterator = iteratorFn.call(myIterable);\n * ...\n * }\n *\n * @param {?object} maybeIterable\n * @return {?function}\n */\nfunction getIteratorFn(maybeIterable) {\n var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]);\n if (typeof iteratorFn === 'function') {\n return iteratorFn;\n }\n}\n\nmodule.exports = getIteratorFn;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react/lib/getIteratorFn.js\n ** module id = 345\n ** module chunks = 0\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule getTextContentAccessor\n */\n\n'use strict';\n\nvar ExecutionEnvironment = require('fbjs/lib/ExecutionEnvironment');\n\nvar contentKey = null;\n\n/**\n * Gets the key used to access text content on a DOM node.\n *\n * @return {?string} Key used to access text content.\n * @internal\n */\nfunction getTextContentAccessor() {\n if (!contentKey && ExecutionEnvironment.canUseDOM) {\n // Prefer textContent to innerText because many browsers support both but\n // SVG <text> elements don't support innerText even when <div> does.\n contentKey = 'textContent' in document.documentElement ? 'textContent' : 'innerText';\n }\n return contentKey;\n}\n\nmodule.exports = getTextContentAccessor;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react/lib/getTextContentAccessor.js\n ** module id = 346\n ** module chunks = 0\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule instantiateReactComponent\n */\n\n'use strict';\n\nvar _prodInvariant = require('./reactProdInvariant'),\n _assign = require('object-assign');\n\nvar ReactCompositeComponent = require('./ReactCompositeComponent');\nvar ReactEmptyComponent = require('./ReactEmptyComponent');\nvar ReactHostComponent = require('./ReactHostComponent');\n\nvar invariant = require('fbjs/lib/invariant');\nvar warning = require('fbjs/lib/warning');\n\n// To avoid a cyclic dependency, we create the final class in this module\nvar ReactCompositeComponentWrapper = function (element) {\n this.construct(element);\n};\n_assign(ReactCompositeComponentWrapper.prototype, ReactCompositeComponent.Mixin, {\n _instantiateReactComponent: instantiateReactComponent\n});\n\nfunction getDeclarationErrorAddendum(owner) {\n if (owner) {\n var name = owner.getName();\n if (name) {\n return ' Check the render method of `' + name + '`.';\n }\n }\n return '';\n}\n\n/**\n * Check if the type reference is a known internal type. I.e. not a user\n * provided composite type.\n *\n * @param {function} type\n * @return {boolean} Returns true if this is a valid internal type.\n */\nfunction isInternalComponentType(type) {\n return typeof type === 'function' && typeof type.prototype !== 'undefined' && typeof type.prototype.mountComponent === 'function' && typeof type.prototype.receiveComponent === 'function';\n}\n\nvar nextDebugID = 1;\n\n/**\n * Given a ReactNode, create an instance that will actually be mounted.\n *\n * @param {ReactNode} node\n * @param {boolean} shouldHaveDebugID\n * @return {object} A new instance of the element's constructor.\n * @protected\n */\nfunction instantiateReactComponent(node, shouldHaveDebugID) {\n var instance;\n\n if (node === null || node === false) {\n instance = ReactEmptyComponent.create(instantiateReactComponent);\n } else if (typeof node === 'object') {\n var element = node;\n !(element && (typeof element.type === 'function' || typeof element.type === 'string')) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s', element.type == null ? element.type : typeof element.type, getDeclarationErrorAddendum(element._owner)) : _prodInvariant('130', element.type == null ? element.type : typeof element.type, getDeclarationErrorAddendum(element._owner)) : void 0;\n\n // Special case string values\n if (typeof element.type === 'string') {\n instance = ReactHostComponent.createInternalComponent(element);\n } else if (isInternalComponentType(element.type)) {\n // This is temporarily available for custom components that are not string\n // representations. I.e. ART. Once those are updated to use the string\n // representation, we can drop this code path.\n instance = new element.type(element);\n\n // We renamed this. Allow the old name for compat. :(\n if (!instance.getHostNode) {\n instance.getHostNode = instance.getNativeNode;\n }\n } else {\n instance = new ReactCompositeComponentWrapper(element);\n }\n } else if (typeof node === 'string' || typeof node === 'number') {\n instance = ReactHostComponent.createInstanceForText(node);\n } else {\n !false ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Encountered invalid React node of type %s', typeof node) : _prodInvariant('131', typeof node) : void 0;\n }\n\n if (process.env.NODE_ENV !== 'production') {\n process.env.NODE_ENV !== 'production' ? warning(typeof instance.mountComponent === 'function' && typeof instance.receiveComponent === 'function' && typeof instance.getHostNode === 'function' && typeof instance.unmountComponent === 'function', 'Only React Components can be mounted.') : void 0;\n }\n\n // These two fields are used by the DOM and ART diffing algorithms\n // respectively. Instead of using expandos on components, we should be\n // storing the state needed by the diffing algorithms elsewhere.\n instance._mountIndex = 0;\n instance._mountImage = null;\n\n if (process.env.NODE_ENV !== 'production') {\n instance._debugID = shouldHaveDebugID ? nextDebugID++ : 0;\n }\n\n // Internal instances should fully constructed at this point, so they should\n // not get any new fields added to them at this point.\n if (process.env.NODE_ENV !== 'production') {\n if (Object.preventExtensions) {\n Object.preventExtensions(instance);\n }\n }\n\n return instance;\n}\n\nmodule.exports = instantiateReactComponent;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react/lib/instantiateReactComponent.js\n ** module id = 347\n ** module chunks = 0\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule isTextInputElement\n * \n */\n\n'use strict';\n\n/**\n * @see http://www.whatwg.org/specs/web-apps/current-work/multipage/the-input-element.html#input-type-attr-summary\n */\n\nvar supportedInputTypes = {\n 'color': true,\n 'date': true,\n 'datetime': true,\n 'datetime-local': true,\n 'email': true,\n 'month': true,\n 'number': true,\n 'password': true,\n 'range': true,\n 'search': true,\n 'tel': true,\n 'text': true,\n 'time': true,\n 'url': true,\n 'week': true\n};\n\nfunction isTextInputElement(elem) {\n var nodeName = elem && elem.nodeName && elem.nodeName.toLowerCase();\n\n if (nodeName === 'input') {\n return !!supportedInputTypes[elem.type];\n }\n\n if (nodeName === 'textarea') {\n return true;\n }\n\n return false;\n}\n\nmodule.exports = isTextInputElement;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react/lib/isTextInputElement.js\n ** module id = 348\n ** module chunks = 0\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule setTextContent\n */\n\n'use strict';\n\nvar ExecutionEnvironment = require('fbjs/lib/ExecutionEnvironment');\nvar escapeTextContentForBrowser = require('./escapeTextContentForBrowser');\nvar setInnerHTML = require('./setInnerHTML');\n\n/**\n * Set the textContent property of a node, ensuring that whitespace is preserved\n * even in IE8. innerText is a poor substitute for textContent and, among many\n * issues, inserts <br> instead of the literal newline chars. innerHTML behaves\n * as it should.\n *\n * @param {DOMElement} node\n * @param {string} text\n * @internal\n */\nvar setTextContent = function (node, text) {\n if (text) {\n var firstChild = node.firstChild;\n\n if (firstChild && firstChild === node.lastChild && firstChild.nodeType === 3) {\n firstChild.nodeValue = text;\n return;\n }\n }\n node.textContent = text;\n};\n\nif (ExecutionEnvironment.canUseDOM) {\n if (!('textContent' in document.documentElement)) {\n setTextContent = function (node, text) {\n setInnerHTML(node, escapeTextContentForBrowser(text));\n };\n }\n}\n\nmodule.exports = setTextContent;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react/lib/setTextContent.js\n ** module id = 349\n ** module chunks = 0\n **/","\"use strict\";\n\nexports.__esModule = true;\nexports[\"default\"] = compose;\n/**\n * Composes single-argument functions from right to left. The rightmost\n * function can take multiple arguments as it provides the signature for\n * the resulting composite function.\n *\n * @param {...Function} funcs The functions to compose.\n * @returns {Function} A function obtained by composing the argument functions\n * from right to left. For example, compose(f, g, h) is identical to doing\n * (...args) => f(g(h(...args))).\n */\n\nfunction compose() {\n for (var _len = arguments.length, funcs = Array(_len), _key = 0; _key < _len; _key++) {\n funcs[_key] = arguments[_key];\n }\n\n if (funcs.length === 0) {\n return function (arg) {\n return arg;\n };\n } else {\n var _ret = function () {\n var last = funcs[funcs.length - 1];\n var rest = funcs.slice(0, -1);\n return {\n v: function v() {\n return rest.reduceRight(function (composed, f) {\n return f(composed);\n }, last.apply(undefined, arguments));\n }\n };\n }();\n\n if (typeof _ret === \"object\") return _ret.v;\n }\n}\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/redux/lib/compose.js\n ** module id = 350\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\nexports.ActionTypes = undefined;\nexports[\"default\"] = createStore;\n\nvar _isPlainObject = require('lodash/isPlainObject');\n\nvar _isPlainObject2 = _interopRequireDefault(_isPlainObject);\n\nvar _symbolObservable = require('symbol-observable');\n\nvar _symbolObservable2 = _interopRequireDefault(_symbolObservable);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\n/**\n * These are private action types reserved by Redux.\n * For any unknown actions, you must return the current state.\n * If the current state is undefined, you must return the initial state.\n * Do not reference these action types directly in your code.\n */\nvar ActionTypes = exports.ActionTypes = {\n INIT: '@@redux/INIT'\n};\n\n/**\n * Creates a Redux store that holds the state tree.\n * The only way to change the data in the store is to call `dispatch()` on it.\n *\n * There should only be a single store in your app. To specify how different\n * parts of the state tree respond to actions, you may combine several reducers\n * into a single reducer function by using `combineReducers`.\n *\n * @param {Function} reducer A function that returns the next state tree, given\n * the current state tree and the action to handle.\n *\n * @param {any} [initialState] The initial state. You may optionally specify it\n * to hydrate the state from the server in universal apps, or to restore a\n * previously serialized user session.\n * If you use `combineReducers` to produce the root reducer function, this must be\n * an object with the same shape as `combineReducers` keys.\n *\n * @param {Function} enhancer The store enhancer. You may optionally specify it\n * to enhance the store with third-party capabilities such as middleware,\n * time travel, persistence, etc. The only store enhancer that ships with Redux\n * is `applyMiddleware()`.\n *\n * @returns {Store} A Redux store that lets you read the state, dispatch actions\n * and subscribe to changes.\n */\nfunction createStore(reducer, initialState, enhancer) {\n var _ref2;\n\n if (typeof initialState === 'function' && typeof enhancer === 'undefined') {\n enhancer = initialState;\n initialState = undefined;\n }\n\n if (typeof enhancer !== 'undefined') {\n if (typeof enhancer !== 'function') {\n throw new Error('Expected the enhancer to be a function.');\n }\n\n return enhancer(createStore)(reducer, initialState);\n }\n\n if (typeof reducer !== 'function') {\n throw new Error('Expected the reducer to be a function.');\n }\n\n var currentReducer = reducer;\n var currentState = initialState;\n var currentListeners = [];\n var nextListeners = currentListeners;\n var isDispatching = false;\n\n function ensureCanMutateNextListeners() {\n if (nextListeners === currentListeners) {\n nextListeners = currentListeners.slice();\n }\n }\n\n /**\n * Reads the state tree managed by the store.\n *\n * @returns {any} The current state tree of your application.\n */\n function getState() {\n return currentState;\n }\n\n /**\n * Adds a change listener. It will be called any time an action is dispatched,\n * and some part of the state tree may potentially have changed. You may then\n * call `getState()` to read the current state tree inside the callback.\n *\n * You may call `dispatch()` from a change listener, with the following\n * caveats:\n *\n * 1. The subscriptions are snapshotted just before every `dispatch()` call.\n * If you subscribe or unsubscribe while the listeners are being invoked, this\n * will not have any effect on the `dispatch()` that is currently in progress.\n * However, the next `dispatch()` call, whether nested or not, will use a more\n * recent snapshot of the subscription list.\n *\n * 2. The listener should not expect to see all state changes, as the state\n * might have been updated multiple times during a nested `dispatch()` before\n * the listener is called. It is, however, guaranteed that all subscribers\n * registered before the `dispatch()` started will be called with the latest\n * state by the time it exits.\n *\n * @param {Function} listener A callback to be invoked on every dispatch.\n * @returns {Function} A function to remove this change listener.\n */\n function subscribe(listener) {\n if (typeof listener !== 'function') {\n throw new Error('Expected listener to be a function.');\n }\n\n var isSubscribed = true;\n\n ensureCanMutateNextListeners();\n nextListeners.push(listener);\n\n return function unsubscribe() {\n if (!isSubscribed) {\n return;\n }\n\n isSubscribed = false;\n\n ensureCanMutateNextListeners();\n var index = nextListeners.indexOf(listener);\n nextListeners.splice(index, 1);\n };\n }\n\n /**\n * Dispatches an action. It is the only way to trigger a state change.\n *\n * The `reducer` function, used to create the store, will be called with the\n * current state tree and the given `action`. Its return value will\n * be considered the **next** state of the tree, and the change listeners\n * will be notified.\n *\n * The base implementation only supports plain object actions. If you want to\n * dispatch a Promise, an Observable, a thunk, or something else, you need to\n * wrap your store creating function into the corresponding middleware. For\n * example, see the documentation for the `redux-thunk` package. Even the\n * middleware will eventually dispatch plain object actions using this method.\n *\n * @param {Object} action A plain object representing “what changed”. It is\n * a good idea to keep actions serializable so you can record and replay user\n * sessions, or use the time travelling `redux-devtools`. An action must have\n * a `type` property which may not be `undefined`. It is a good idea to use\n * string constants for action types.\n *\n * @returns {Object} For convenience, the same action object you dispatched.\n *\n * Note that, if you use a custom middleware, it may wrap `dispatch()` to\n * return something else (for example, a Promise you can await).\n */\n function dispatch(action) {\n if (!(0, _isPlainObject2[\"default\"])(action)) {\n throw new Error('Actions must be plain objects. ' + 'Use custom middleware for async actions.');\n }\n\n if (typeof action.type === 'undefined') {\n throw new Error('Actions may not have an undefined \"type\" property. ' + 'Have you misspelled a constant?');\n }\n\n if (isDispatching) {\n throw new Error('Reducers may not dispatch actions.');\n }\n\n try {\n isDispatching = true;\n currentState = currentReducer(currentState, action);\n } finally {\n isDispatching = false;\n }\n\n var listeners = currentListeners = nextListeners;\n for (var i = 0; i < listeners.length; i++) {\n listeners[i]();\n }\n\n return action;\n }\n\n /**\n * Replaces the reducer currently used by the store to calculate the state.\n *\n * You might need this if your app implements code splitting and you want to\n * load some of the reducers dynamically. You might also need this if you\n * implement a hot reloading mechanism for Redux.\n *\n * @param {Function} nextReducer The reducer for the store to use instead.\n * @returns {void}\n */\n function replaceReducer(nextReducer) {\n if (typeof nextReducer !== 'function') {\n throw new Error('Expected the nextReducer to be a function.');\n }\n\n currentReducer = nextReducer;\n dispatch({ type: ActionTypes.INIT });\n }\n\n /**\n * Interoperability point for observable/reactive libraries.\n * @returns {observable} A minimal observable of state changes.\n * For more information, see the observable proposal:\n * https://github.com/zenparsing/es-observable\n */\n function observable() {\n var _ref;\n\n var outerSubscribe = subscribe;\n return _ref = {\n /**\n * The minimal observable subscription method.\n * @param {Object} observer Any object that can be used as an observer.\n * The observer object should have a `next` method.\n * @returns {subscription} An object with an `unsubscribe` method that can\n * be used to unsubscribe the observable from the store, and prevent further\n * emission of values from the observable.\n */\n\n subscribe: function subscribe(observer) {\n if (typeof observer !== 'object') {\n throw new TypeError('Expected the observer to be an object.');\n }\n\n function observeState() {\n if (observer.next) {\n observer.next(getState());\n }\n }\n\n observeState();\n var unsubscribe = outerSubscribe(observeState);\n return { unsubscribe: unsubscribe };\n }\n }, _ref[_symbolObservable2[\"default\"]] = function () {\n return this;\n }, _ref;\n }\n\n // When a store is created, an \"INIT\" action is dispatched so that every\n // reducer returns their initial state. This effectively populates\n // the initial state tree.\n dispatch({ type: ActionTypes.INIT });\n\n return _ref2 = {\n dispatch: dispatch,\n subscribe: subscribe,\n getState: getState,\n replaceReducer: replaceReducer\n }, _ref2[_symbolObservable2[\"default\"]] = observable, _ref2;\n}\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/redux/lib/createStore.js\n ** module id = 351\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\nexports[\"default\"] = warning;\n/**\n * Prints a warning in the console if it exists.\n *\n * @param {String} message The warning message.\n * @returns {void}\n */\nfunction warning(message) {\n /* eslint-disable no-console */\n if (typeof console !== 'undefined' && typeof console.error === 'function') {\n console.error(message);\n }\n /* eslint-enable no-console */\n try {\n // This error was thrown as a convenience so that if you enable\n // \"break on all exceptions\" in your console,\n // it would pause the execution at this line.\n throw new Error(message);\n /* eslint-disable no-empty */\n } catch (e) {}\n /* eslint-enable no-empty */\n}\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/redux/lib/utils/warning.js\n ** module id = 352\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\n\nvar _createUncontrollable = require('./createUncontrollable');\n\nvar _createUncontrollable2 = _interopRequireDefault(_createUncontrollable);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar mixin = {\n shouldComponentUpdate: function shouldComponentUpdate() {\n //let the forceUpdate trigger the update\n return !this._notifying;\n }\n};\n\nfunction set(component, propName, handler, value, args) {\n if (handler) {\n component._notifying = true;\n handler.call.apply(handler, [component, value].concat(args));\n component._notifying = false;\n }\n\n component._values[propName] = value;\n\n if (component.isMounted()) component.forceUpdate();\n}\n\nexports.default = (0, _createUncontrollable2.default)([mixin], set);\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/uncontrollable/index.js\n ** module id = 353\n ** module chunks = 0\n **/","import * as ActionTypes from '../constants/actionTypes';\nimport _ from 'underscore';\nimport { get, put, del } from '../utils/fetch';\nimport { addNotification } from './notifications';\nimport {\n getSuccessMessage,\n getErrorMessage,\n getUploadSuccessMessage,\n getUploadErrorMessage\n} from '../constants/lang';\nimport {\n getStaticFilesUrl,\n getStaticFileUrl,\n putStaticFileUrl,\n deleteStaticFileUrl\n} from '../constants/api';\n\nexport function fetchStaticFiles() {\n return dispatch => {\n dispatch({ type: ActionTypes.FETCH_STATICFILES_REQUEST});\n return get(\n getStaticFilesUrl(),\n { type: ActionTypes.FETCH_STATICFILES_SUCCESS, name: \"files\"},\n { type: ActionTypes.FETCH_STATICFILES_FAILURE, name: \"error\"},\n dispatch\n );\n };\n}\n\nexport function uploadStaticFiles(files) {\n return (dispatch) => {\n _.each(files, file => {\n const reader = new FileReader();\n reader.readAsDataURL(file);\n reader.onloadend = () => {\n const payload = JSON.stringify({\n encoded_content: reader.result.split('base64,')[1]\n });\n // send the put request\n return fetch(putStaticFileUrl(file.name), {\n method: 'PUT',\n body: payload\n })\n .then(data => {\n dispatch({ type: ActionTypes.PUT_STATICFILE_SUCCESS });\n dispatch(fetchStaticFiles());\n dispatch(addNotification(\n getSuccessMessage(),\n getUploadSuccessMessage(file.name),\n 'success'\n ));\n })\n .catch(error => {\n dispatch({\n type: ActionTypes.PUT_STATICFILE_FAILURE,\n error\n });\n dispatch(addNotification(\n getErrorMessage(),\n getUploadErrorMessage(),\n 'error'\n ));\n });\n };\n });\n };\n}\n\nexport function deleteStaticFile(filename) {\n return (dispatch) => {\n return fetch(deleteStaticFileUrl(filename), {\n method: 'DELETE'\n })\n .then(data => {\n dispatch({ type: ActionTypes.DELETE_STATICFILE_SUCCESS });\n dispatch(fetchStaticFiles());\n })\n .catch(error => dispatch({\n type: ActionTypes.DELETE_STATICFILE_FAILURE,\n error\n }));\n };\n}\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/actions/staticfiles.js\n **/","import React, { Component, PropTypes } from 'react';\nimport { getDeleteMessage } from '../constants/lang';\nimport { getFilenameFromPath } from '../utils/helpers';\n\nexport default class FilePreview extends Component {\n\n handleClickDelete(path) {\n const { onClickDelete } = this.props;\n const filename = getFilenameFromPath(path);\n const confirm = window.confirm(getDeleteMessage(filename));\n if (confirm) {\n onClickDelete(filename);\n }\n }\n\n render() {\n const { file } = this.props;\n const extension = file.extname.substring(1);\n const image = /png|jpg|gif|jpeg/.test(extension);\n return (\n <div className=\"file-preview\">\n <a href={file.http_url} target=\"_blank\">\n {\n image && <img src={file.http_url} />\n }\n {\n !image &&\n <div><i className=\"fa fa-file-text-o\" aria-hidden=\"true\"></i></div>\n }\n </a>\n <span className=\"filename\">{file.path}</span>\n <button onClick={() => this.handleClickDelete(file.path)} className=\"delete\" title=\"Delete file\">x</button>\n </div>\n );\n }\n}\n\nFilePreview.propTypes = {\n file: PropTypes.object.isRequired,\n onClickDelete: PropTypes.func.isRequired\n};\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/components/FilePreview.js\n **/","import React, { Component, PropTypes } from 'react';\n\nexport default class Checkbox extends Component {\n\n handleChange(e) {\n const { onChange, checked } = this.props;\n onChange(e.target.checked);\n }\n\n render() {\n const { text, checked } = this.props;\n return (\n <div className=\"checkbox-container\">\n {text}\n <label className=\"switch\">\n <input onChange={(e) => this.handleChange(e)}\n type=\"checkbox\"\n defaultChecked={checked}\n ref=\"checkbox\" />\n <div className=\"slider round\"></div>\n </label>\n </div>\n );\n }\n}\n\nCheckbox.propTypes = {\n text: PropTypes.string.isRequired,\n checked: PropTypes.bool.isRequired,\n onChange: PropTypes.func.isRequired\n};\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/components/form/Checkbox.js\n **/","import React, { Component, PropTypes } from 'react';\nimport { findDOMNode } from 'react-dom';\nimport MetaArray from './MetaArray';\nimport MetaObject from './MetaObject';\nimport MetaSimple from './MetaSimple';\nimport MetaButtons from './MetaButtons';\n\nexport class MetaArrayItem extends Component {\n\n handleConvertClick(type) {\n const { convertField, nameAttr } = this.props;\n convertField(nameAttr, type);\n }\n\n handleDropdownFocus() {\n findDOMNode(this.refs.wrap).classList.add('showing-dropdown');\n }\n\n handleDropdownBlur() {\n findDOMNode(this.refs.wrap).classList.remove('showing-dropdown');\n }\n\n handleRemoveClick() {\n const { removeField, namePrefix, index } = this.props;\n removeField(namePrefix, index);\n }\n\n render() {\n const { type, fieldKey, fieldValue, index, nameAttr, namePrefix,\n addField, removeField, updateFieldKey, updateFieldValue, moveArrayItem,\n convertField, key_prefix } = this.props;\n const FieldTypes = {\n 'array': MetaArray,\n 'object': MetaObject,\n 'simple': MetaSimple\n };\n const CurrentComponent = FieldTypes[type];\n return (\n <div ref=\"wrap\" data-id={index} className=\"array-item-wrap\">\n <div className=\"array\">\n <div className=\"array-header\">\n <span className=\"array-field-num\">{index+1}.</span>\n <MetaButtons\n currentType={type}\n parentType=\"array\"\n onConvertClick={(type) => this.handleConvertClick(type)}\n onRemoveClick={() => this.handleRemoveClick()}\n onDropdownFocus={() => this.handleDropdownFocus()}\n onDropdownBlur={() => this.handleDropdownBlur()} />\n </div>\n <CurrentComponent\n key_prefix={key_prefix}\n parentType=\"array\"\n fieldKey={fieldKey}\n fieldValue={fieldValue}\n addField={addField}\n removeField={removeField}\n updateFieldKey={updateFieldKey}\n updateFieldValue={updateFieldValue}\n moveArrayItem={moveArrayItem}\n convertField={convertField}\n nameAttr={nameAttr}\n namePrefix={nameAttr} />\n </div>\n </div>\n );\n }\n}\n\nMetaArrayItem.propTypes = {\n type: PropTypes.string.isRequired,\n index: PropTypes.number.isRequired,\n fieldKey: PropTypes.string.isRequired,\n fieldValue: PropTypes.any.isRequired,\n addField: PropTypes.func.isRequired,\n removeField: PropTypes.func.isRequired,\n updateFieldKey: PropTypes.func.isRequired,\n updateFieldValue: PropTypes.func.isRequired,\n moveArrayItem: PropTypes.func.isRequired,\n convertField: PropTypes.func.isRequired,\n nameAttr: PropTypes.string.isRequired,\n namePrefix: PropTypes.string.isRequired,\n key_prefix: PropTypes.string.isRequired\n};\n\nexport default MetaArrayItem;\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/components/metadata/MetaArrayItem.js\n **/","import React, { Component, PropTypes } from 'react';\nimport { findDOMNode } from 'react-dom';\nimport MetaArray from './MetaArray';\nimport MetaObject from './MetaObject';\nimport MetaSimple from './MetaSimple';\nimport MetaButtons from './MetaButtons';\n\nexport class MetaField extends Component {\n\n handleConvertClick(type) {\n const { convertField, nameAttr } = this.props;\n convertField(nameAttr, type);\n }\n\n handleDropdownFocus() {\n findDOMNode(this.refs.wrap).classList.add('showing-dropdown');\n }\n\n handleDropdownBlur() {\n findDOMNode(this.refs.wrap).classList.remove('showing-dropdown');\n }\n\n handleKeyBlur(e) {\n const { namePrefix, fieldKey, updateFieldKey } = this.props;\n let currentValue = findDOMNode(this.refs.field_key).value;\n if (fieldKey != currentValue && currentValue != '') {\n updateFieldKey(namePrefix, fieldKey, currentValue);\n }\n }\n\n handleRemoveClick() {\n const { removeField, namePrefix, fieldKey } = this.props;\n removeField(namePrefix, fieldKey);\n }\n\n render() {\n const { type, parentType, fieldKey, fieldValue, namePrefix, addField,\n removeField, updateFieldKey, updateFieldValue, moveArrayItem,\n convertField, key_prefix } = this.props;\n\n const FieldTypes = {\n 'array': MetaArray,\n 'object': MetaObject,\n 'simple': MetaSimple\n };\n const CurrentComponent = FieldTypes[type];\n return (\n <div ref=\"wrap\" className=\"metafield\">\n <div className=\"meta-key\">\n <input ref=\"field_key\"\n onBlur={() => this.handleKeyBlur()}\n defaultValue={fieldKey}\n className=\"field key-field\"\n type=\"text\"\n placeholder=\"Key\" />\n <MetaButtons\n currentType={type}\n parentType=\"top\"\n onConvertClick={(type) => this.handleConvertClick(type)}\n onRemoveClick={() => this.handleRemoveClick()}\n onDropdownFocus={() => this.handleDropdownFocus()}\n onDropdownBlur={() => this.handleDropdownBlur()} />\n </div>\n <CurrentComponent\n key_prefix={key_prefix}\n fieldKey={fieldKey}\n parentType={parentType}\n fieldValue={fieldValue}\n addField={addField}\n removeField={removeField}\n updateFieldKey={updateFieldKey}\n updateFieldValue={updateFieldValue}\n moveArrayItem={moveArrayItem}\n convertField={convertField}\n nameAttr={`${namePrefix}['${fieldKey}']`}\n namePrefix={`${namePrefix}['${fieldKey}']`} />\n </div>\n );\n }\n}\n\nMetaField.propTypes = {\n type: PropTypes.string.isRequired,\n parentType: PropTypes.string.isRequired,\n addField: PropTypes.func.isRequired,\n removeField: PropTypes.func.isRequired,\n updateFieldKey: PropTypes.func.isRequired,\n updateFieldValue: PropTypes.func.isRequired,\n moveArrayItem: PropTypes.func.isRequired,\n convertField: PropTypes.func.isRequired,\n fieldKey: PropTypes.string.isRequired,\n fieldValue: PropTypes.any.isRequired,\n nameAttr: PropTypes.string.isRequired,\n namePrefix: PropTypes.string.isRequired,\n key_prefix: PropTypes.string.isRequired\n};\n\nexport default MetaField;\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/components/metadata/MetaField.js\n **/","import React, { Component, PropTypes } from 'react';\nimport { findDOMNode } from 'react-dom';\nimport MetaArray from './MetaArray';\nimport MetaObject from './MetaObject';\nimport MetaSimple from './MetaSimple';\nimport MetaButtons from './MetaButtons';\n\nexport class MetaObjectItem extends Component {\n\n handleConvertClick(type) {\n const { convertField, nameAttr } = this.props;\n convertField(nameAttr, type);\n }\n\n handleDropdownFocus() {\n findDOMNode(this.refs.wrap).classList.add('showing-dropdown');\n }\n\n handleDropdownBlur() {\n findDOMNode(this.refs.wrap).classList.remove('showing-dropdown');\n }\n\n handleKeyBlur(e) {\n const { namePrefix, fieldKey, updateFieldKey } = this.props;\n let currentValue = findDOMNode(this.refs.field_key).value;\n if (fieldKey != currentValue && currentValue != '') {\n updateFieldKey(namePrefix, fieldKey, currentValue);\n }\n }\n\n handleRemoveClick() {\n const { removeField, namePrefix, fieldKey } = this.props;\n removeField(namePrefix, fieldKey);\n }\n\n render() {\n const { type, fieldKey, fieldValue, nameAttr, namePrefix, addField,\n removeField, updateFieldKey, updateFieldValue, convertField, key_prefix,\n moveArrayItem } = this.props;\n const FieldTypes = {\n 'array': MetaArray,\n 'object': MetaObject,\n 'simple': MetaSimple\n };\n const CurrentComponent = FieldTypes[type];\n return (\n <div ref=\"wrap\" className=\"object-item-wrap\">\n <div className=\"object-key\">\n <input ref=\"field_key\"\n onBlur={(e) => this.handleKeyBlur(e)}\n defaultValue={fieldKey}\n className=\"field key-field\"\n type=\"text\"\n placeholder=\"Key\" />\n <MetaButtons\n currentType={type}\n parentType=\"object\"\n onConvertClick={(type) => this.handleConvertClick(type)}\n onRemoveClick={() => this.handleRemoveClick()}\n onDropdownFocus={() => this.handleDropdownFocus()}\n onDropdownBlur={() => this.handleDropdownBlur()} />\n </div>\n <div className=\"object-value\">\n <CurrentComponent\n key_prefix={key_prefix}\n parentType=\"object\"\n fieldKey={fieldKey}\n fieldValue={fieldValue}\n addField={addField}\n removeField={removeField}\n updateFieldKey={updateFieldKey}\n updateFieldValue={updateFieldValue}\n moveArrayItem={moveArrayItem}\n convertField={convertField}\n nameAttr={nameAttr}\n namePrefix={nameAttr} />\n </div>\n </div>\n );\n }\n\n}\n\nMetaObjectItem.propTypes = {\n type: PropTypes.string.isRequired,\n fieldKey: PropTypes.string.isRequired,\n fieldValue: PropTypes.any.isRequired,\n nameAttr: PropTypes.string.isRequired,\n namePrefix: PropTypes.string.isRequired,\n addField: PropTypes.func.isRequired,\n removeField: PropTypes.func.isRequired,\n convertField: PropTypes.func.isRequired,\n updateFieldKey: PropTypes.func.isRequired,\n updateFieldValue: PropTypes.func.isRequired,\n moveArrayItem: PropTypes.func.isRequired,\n key_prefix: PropTypes.string.isRequired\n};\nexport default MetaObjectItem;\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/components/metadata/MetaObjectItem.js\n **/","// inline messages\nexport const getDeleteMessage = (filename) =>\n `Are you sure that you want to delete \"${filename}\" ?`;\n\nexport const getLeaveMessage = () =>\n \"You have unsaved changes on this page. Are you sure you want to leave?\";\n\nexport const getNotFoundMessage = (type) =>\n `No ${type} found.`;\n\nexport const getOverrideMessage = (filename) =>\n `${filename} will be overwritten. Continue anyway?`;\n\n// notification messages\nexport const getParserErrorMessage = () => \"Parse Error\";\n\nexport const getSuccessMessage = () => \"Success\";\n\nexport const getErrorMessage = () => \"Error\";\n\nexport const getUploadSuccessMessage = (filename) =>\n `${filename} uploaded successfully`;\n\nexport const getUploadErrorMessage = () =>\n `Error occurred uploading the file.`;\n\nexport const getFetchErrorMessage = (filename) =>\n `Could not fetch the ${filename}`;\n\nexport const getUpdateErrorMessage = (filename) =>\n `Could not update the ${filename}`;\n\nexport const getDeleteErrorMessage = (filename) =>\n `Could not delete the ${filename}`;\n\n// validation messages\nexport const getTitleRequiredMessage = () =>\n \"The title is required.\";\n\nexport const getFilenameRequiredMessage = () =>\n \"The filename is required.\";\n\nexport const getContentRequiredMessage = () =>\n \"The content is required.\";\n\nexport const getFilenameNotValidMessage = () =>\n \"The filename is not valid.\";\n\n// sidebar titles\nexport const sidebar = {\n pages: 'Pages',\n posts: 'Posts',\n datafiles: 'Data Files',\n staticfiles: 'Static Files',\n configuration: 'Configuration'\n};\n\n// button labels\nexport const labels = {\n save: {\n label: 'Save',\n triggeredLabel: 'Saved'\n },\n create: {\n label: 'Create',\n triggeredLabel: 'Created'\n },\n delete: {\n label: 'Delete'\n },\n view: {\n label: 'View'\n },\n upload: {\n label: 'Upload files'\n }\n};\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/constants/lang/en.js\n **/","import React, { Component, PropTypes } from 'react';\n\n// Components\nimport Sidebar from './Sidebar';\nimport Header from './Header';\nimport Notifications from './Notifications';\n\nclass App extends Component {\n\n render() {\n return (\n <div className=\"wrapper\">\n <Sidebar />\n <div className=\"container\">\n <Header />\n <div className=\"content\">\n {this.props.children}\n </div>\n </div>\n <Notifications />\n </div>\n );\n }\n}\n\nApp.propTypes = {\n children: PropTypes.element\n};\n\nexport default App;\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/containers/App.js\n **/","import React, { Component, PropTypes } from 'react';\nimport { connect } from 'react-redux';\nimport { bindActionCreators } from 'redux';\nimport { Link } from 'react-router';\nimport { fetchConfig } from '../actions/config';\nimport { VERSION } from '../constants';\n\nexport class Header extends Component {\n\n componentDidMount() {\n const { fetchConfig } = this.props;\n fetchConfig();\n }\n\n render() {\n const { config } = this.props;\n return (\n <div className=\"header\">\n <h3 className=\"title\">\n <Link target=\"_blank\" to={`/`}>\n <i className=\"fa fa-home\"></i>\n <span>{config.title || 'You have no title!'}</span>\n </Link>\n </h3>\n <span className=\"version\">{VERSION}</span>\n </div>\n );\n }\n}\n\nHeader.propTypes = {\n fetchConfig: PropTypes.func.isRequired,\n config: PropTypes.object.isRequired\n};\n\nconst mapStateToProps = (state) => ({\n config: state.config.config,\n isFetching: state.config.isFetching\n});\n\nconst mapDispatchToProps = (dispatch) => bindActionCreators({\n fetchConfig\n}, dispatch);\n\nexport default connect(mapStateToProps, mapDispatchToProps)(Header);\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/containers/Header.js\n **/","import React, { Component, PropTypes } from 'react';\nimport { connect } from 'react-redux';\nimport NotificationSystem from 'react-notification-system';\n\nexport class Notifications extends Component {\n\n componentDidMount() {\n this.notificationSystem = this.refs.notificationSystem;\n }\n\n componentWillReceiveProps(nextProps) {\n const { notification } = nextProps;\n this.notificationSystem.addNotification({\n title: notification.title,\n message: notification.message,\n level: notification.level,\n position: 'br',\n autoDismiss: 10\n });\n }\n\n render() {\n return <NotificationSystem ref=\"notificationSystem\" />;\n }\n}\n\nNotifications.propTypes = {\n notification: PropTypes.object.isRequired\n};\n\nconst mapStateToProps = (state) => ({\n notification: state.notifications.notification\n});\n\nexport default connect(mapStateToProps)(Notifications);\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/containers/Notifications.js\n **/","import React, { Component, PropTypes } from 'react';\nimport { connect } from 'react-redux';\nimport { bindActionCreators } from 'redux';\nimport { Link } from 'react-router';\nimport { ADMIN_PREFIX } from '../constants';\nimport Splitter from '../components/Splitter';\nimport { fetchCollections } from '../actions/collections';\nimport { capitalize } from '../utils/helpers';\nimport { sidebar } from '../constants/lang';\nimport _ from 'underscore';\n\nexport class Sidebar extends Component {\n\n componentDidMount() {\n const { fetchCollections } = this.props;\n fetchCollections();\n }\n\n renderCollections() {\n const { collections } = this.props;\n\n if (!collections.length) {\n return null;\n }\n\n return _.map(collections, (col, i) =>\n <li key={i}>\n <Link activeClassName=\"active\" to={`${ADMIN_PREFIX}/collections/${col.label}`}>\n <i className=\"fa fa-book\"></i>{capitalize(col.label)}\n </Link>\n </li>\n );\n }\n\n render() {\n return (\n <div className=\"sidebar\">\n <Link className=\"logo\" to={`${ADMIN_PREFIX}/pages`} />\n <ul className=\"routes\">\n <li>\n <Link activeClassName=\"active\" to={`${ADMIN_PREFIX}/pages`}>\n <i className=\"fa fa-file-text\"></i>\n {sidebar.pages}\n </Link>\n </li>\n\n {this.renderCollections()}\n\n <Splitter />\n <li>\n <Link activeClassName=\"active\" to={`${ADMIN_PREFIX}/datafiles`}>\n <i className=\"fa fa-database\"></i>\n {sidebar.datafiles}\n </Link>\n </li>\n <li>\n <Link activeClassName=\"active\" to={`${ADMIN_PREFIX}/staticfiles`}>\n <i className=\"fa fa-file\"></i>\n {sidebar.staticfiles}\n </Link>\n </li>\n <Splitter />\n <li>\n <Link activeClassName=\"active\" to={`${ADMIN_PREFIX}/configuration`}>\n <i className=\"fa fa-cog\"></i>\n {sidebar.configuration}\n </Link>\n </li>\n </ul>\n </div>\n );\n }\n}\n\nSidebar.propTypes = {\n collections: PropTypes.array.isRequired,\n fetchCollections: PropTypes.func.isRequired\n};\n\nconst mapStateToProps = (state) => ({\n collections: state.collections.collections\n});\n\nconst mapDispatchToProps = (dispatch) => bindActionCreators({\n fetchCollections\n}, dispatch);\n\nexport default connect(mapStateToProps,mapDispatchToProps)(Sidebar);\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/containers/Sidebar.js\n **/","import React, { Component, PropTypes } from 'react';\nimport { connect } from 'react-redux';\nimport { bindActionCreators } from 'redux';\nimport { withRouter } from 'react-router';\nimport Editor from '../../components/Editor';\nimport Button from '../../components/Button';\nimport { putConfig, onEditorChange } from '../../actions/config';\nimport { getLeaveMessage } from '../../constants/lang';\nimport { toYAML } from '../../utils/helpers';\n\nexport class Configuration extends Component {\n\n componentDidMount() {\n const { router, route } = this.props;\n router.setRouteLeaveHook(route, this.routerWillLeave.bind(this));\n }\n\n routerWillLeave(nextLocation) {\n if (this.props.editorChanged) {\n return getLeaveMessage();\n }\n }\n\n handleClickSave() {\n const { editorChanged, putConfig } = this.props;\n if (editorChanged) {\n const value = this.refs.editor.getValue();\n putConfig(value);\n }\n }\n\n render() {\n const { editorChanged, onEditorChange, config, updated } = this.props;\n return (\n <div>\n <div className=\"content-header\">\n <h1>Configuration</h1>\n <div className=\"page-buttons\">\n <Button\n onClick={() => this.handleClickSave()}\n type=\"save\"\n active={editorChanged}\n triggered={updated} />\n </div>\n </div>\n <Editor\n editorChanged={editorChanged}\n onEditorChange={onEditorChange}\n content={toYAML(config)}\n ref=\"editor\" />\n </div>\n );\n }\n}\n\nConfiguration.propTypes = {\n config: PropTypes.object.isRequired,\n onEditorChange: PropTypes.func.isRequired,\n putConfig: PropTypes.func.isRequired,\n updated: PropTypes.bool.isRequired,\n editorChanged: PropTypes.bool.isRequired,\n router: PropTypes.object.isRequired,\n route: PropTypes.object.isRequired\n};\n\nconst mapStateToProps = (state) => ({\n config: state.config.config,\n updated: state.config.updated,\n editorChanged: state.config.editorChanged\n});\n\nconst mapDispatchToProps = (dispatch) => bindActionCreators({\n putConfig,\n onEditorChange\n}, dispatch);\n\nexport default withRouter(connect(mapStateToProps, mapDispatchToProps)(Configuration));\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/containers/views/Configuration.js\n **/","import React, { Component, PropTypes } from 'react';\nimport { connect } from 'react-redux';\nimport { bindActionCreators } from 'redux';\nimport { browserHistory, withRouter, Link } from 'react-router';\nimport _ from 'underscore';\nimport Breadcrumbs from '../../components/Breadcrumbs';\nimport Splitter from '../../components/Splitter';\nimport Errors from '../../components/Errors';\nimport Editor from '../../components/Editor';\nimport Button from '../../components/Button';\nimport { clearErrors } from '../../actions/utils';\nimport { getFilenameFromPath } from '../../utils/helpers';\nimport {\n fetchDataFile, putDataFile, deleteDataFile, onDataFileChanged\n} from '../../actions/datafiles';\nimport {\n getLeaveMessage, getDeleteMessage, getNotFoundMessage\n} from '../../constants/lang';\nimport { ADMIN_PREFIX } from '../../constants';\n\nexport class DataFileEdit extends Component {\n\n componentWillMount() {\n const { clearErrors } = this.props;\n clearErrors();\n }\n\n componentDidMount() {\n const { fetchDataFile, params, router, route } = this.props;\n router.setRouteLeaveHook(route, this.routerWillLeave.bind(this));\n fetchDataFile(params.data_file);\n }\n\n routerWillLeave(nextLocation) {\n if (this.props.datafileChanged) {\n return getLeaveMessage();\n }\n }\n\n handleClickSave() {\n const { datafileChanged, putDataFile, params } = this.props;\n if (datafileChanged) {\n const value = this.refs.editor.getValue();\n putDataFile(params.data_file, value);\n }\n }\n\n handleClickDelete(filename) {\n const { deleteDataFile } = this.props;\n const confirm = window.confirm(getDeleteMessage(filename));\n if (confirm) {\n deleteDataFile(filename);\n browserHistory.push(`${ADMIN_PREFIX}/datafiles`);\n }\n }\n\n render() {\n const { datafileChanged, onDataFileChanged, datafile, isFetching, updated, errors, params } = this.props;\n\n if (isFetching) {\n return null;\n }\n\n if (_.isEmpty(datafile)) {\n return <h1>{getNotFoundMessage(\"data file\")}</h1>;\n }\n\n const { path, raw_content } = datafile;\n const filename = getFilenameFromPath(path);\n\n return (\n <div>\n {errors.length > 0 && <Errors errors={errors} />}\n\n <Breadcrumbs\n link={`${ADMIN_PREFIX}/datafiles`}\n content={filename}\n type=\"datafiles\"\n />\n\n <div className=\"content-wrapper\">\n <div className=\"content-body\">\n <Editor\n editorChanged={datafileChanged}\n onEditorChange={onDataFileChanged}\n content={raw_content}\n ref=\"editor\" />\n </div>\n\n <div className=\"content-side\">\n <Button\n onClick={() => this.handleClickSave()}\n type=\"save\"\n active={datafileChanged}\n triggered={updated}\n icon=\"save\"\n block />\n <Splitter />\n <Button\n onClick={() => this.handleClickDelete(filename)}\n type=\"delete\"\n active={true}\n icon=\"trash\"\n block />\n </div>\n </div>\n </div>\n );\n }\n}\n\nDataFileEdit.propTypes = {\n fetchDataFile: PropTypes.func.isRequired,\n putDataFile: PropTypes.func.isRequired,\n deleteDataFile: PropTypes.func.isRequired,\n clearErrors: PropTypes.func.isRequired,\n datafile: PropTypes.object.isRequired,\n onDataFileChanged: PropTypes.func.isRequired,\n isFetching: PropTypes.bool.isRequired,\n updated: PropTypes.bool.isRequired,\n datafileChanged: PropTypes.bool.isRequired,\n errors: PropTypes.array.isRequired,\n params: PropTypes.object.isRequired,\n router: PropTypes.object.isRequired,\n route: PropTypes.object.isRequired\n};\n\nconst mapStateToProps = (state) => ({\n datafile: state.datafiles.currentFile,\n isFetching: state.datafiles.isFetching,\n updated: state.datafiles.updated,\n datafileChanged: state.datafiles.datafileChanged,\n errors: state.utils.errors\n});\n\nconst mapDispatchToProps = (dispatch) => bindActionCreators({\n fetchDataFile,\n putDataFile,\n deleteDataFile,\n onDataFileChanged,\n clearErrors\n}, dispatch);\n\nexport default withRouter(connect(mapStateToProps, mapDispatchToProps)(DataFileEdit));\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/containers/views/DataFileEdit.js\n **/","import React, { Component, PropTypes } from 'react';\nimport { connect } from 'react-redux';\nimport { bindActionCreators } from 'redux';\nimport { browserHistory, withRouter } from 'react-router';\nimport Errors from '../../components/Errors';\nimport Editor from '../../components/Editor';\nimport Button from '../../components/Button';\nimport Breadcrumbs from '../../components/Breadcrumbs';\nimport { putDataFile, onDataFileChanged } from '../../actions/datafiles';\nimport { clearErrors } from '../../actions/utils';\nimport {\n getLeaveMessage, getDeleteMessage, getNotFoundMessage\n} from '../../constants/lang';\nimport { ADMIN_PREFIX } from '../../constants';\n\nexport class DataFileNew extends Component {\n\n componentWillMount() {\n const { clearErrors } = this.props;\n clearErrors();\n }\n\n componentDidMount() {\n const { router, route } = this.props;\n router.setRouteLeaveHook(route, this.routerWillLeave.bind(this));\n }\n\n componentWillReceiveProps(nextProps) {\n if (this.props.updated !== nextProps.updated) {\n const filename = this.refs.breadcrumbs.refs.input.value;\n browserHistory.push(`${ADMIN_PREFIX}/datafiles/${filename}`);\n }\n }\n\n routerWillLeave(nextLocation) {\n if (this.props.datafileChanged) {\n return getLeaveMessage();\n }\n }\n\n handleClickSave() {\n const { datafileChanged, putDataFile } = this.props;\n if (datafileChanged) {\n const filename = this.refs.breadcrumbs.refs.input.value;\n const value = this.refs.editor.getValue();\n putDataFile(filename, value);\n }\n }\n\n render() {\n const { datafileChanged, onDataFileChanged, datafile, updated, errors } = this.props;\n return (\n <div>\n {errors.length > 0 && <Errors errors={errors} />}\n\n <Breadcrumbs onChange={onDataFileChanged}\n ref=\"breadcrumbs\"\n link={`${ADMIN_PREFIX}/datafiles`}\n type=\"datafiles\"\n content=\"\"\n editable />\n\n <div className=\"content-wrapper\">\n <div className=\"content-body\">\n <Editor\n editorChanged={datafileChanged}\n onEditorChange={onDataFileChanged}\n content={''}\n ref=\"editor\" />\n </div>\n\n <div className=\"content-side\">\n <Button\n onClick={() => this.handleClickSave()}\n type=\"create\"\n active={datafileChanged}\n triggered={updated}\n icon=\"plus-square\"\n block />\n </div>\n </div>\n </div>\n );\n }\n}\n\nDataFileNew.propTypes = {\n putDataFile: PropTypes.func.isRequired,\n datafile: PropTypes.object.isRequired,\n onDataFileChanged: PropTypes.func.isRequired,\n clearErrors: PropTypes.func.isRequired,\n errors: PropTypes.array.isRequired,\n updated: PropTypes.bool.isRequired,\n datafileChanged: PropTypes.bool.isRequired,\n router: PropTypes.object.isRequired,\n route: PropTypes.object.isRequired\n};\n\nconst mapStateToProps = (state) => ({\n datafile: state.datafiles.currentFile,\n updated: state.datafiles.updated,\n datafileChanged: state.datafiles.datafileChanged,\n errors: state.utils.errors\n});\n\nconst mapDispatchToProps = (dispatch) => bindActionCreators({\n putDataFile,\n onDataFileChanged,\n clearErrors\n}, dispatch);\n\nexport default withRouter(connect(mapStateToProps, mapDispatchToProps)(DataFileNew));\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/containers/views/DataFileNew.js\n **/","import React, { Component, PropTypes } from 'react';\nimport { Link } from 'react-router';\nimport { connect } from 'react-redux';\nimport { bindActionCreators } from 'redux';\nimport _ from 'underscore';\nimport { getDeleteMessage, getNotFoundMessage } from '../../constants/lang';\nimport InputSearch from '../../components/form/InputSearch';\nimport Button from '../../components/Button';\nimport { fetchDataFiles, deleteDataFile } from '../../actions/datafiles';\nimport { search } from '../../actions/utils';\nimport { filterByFilename } from '../../reducers/datafiles';\nimport { ADMIN_PREFIX } from '../../constants';\n\nexport class DataFiles extends Component {\n\n componentDidMount() {\n const { fetchDataFiles } = this.props;\n fetchDataFiles();\n }\n\n handleClickDelete(filename) {\n const { deleteDataFile } = this.props;\n const confirm = window.confirm(getDeleteMessage(filename));\n if (confirm) {\n deleteDataFile(filename);\n }\n }\n\n renderTable() {\n return (\n <div className=\"content-table\">\n <table>\n <thead>\n <tr>\n <th>Filename</th>\n <th className=\"th-actions\">Actions</th>\n </tr>\n </thead>\n <tbody>{this.renderRows()}</tbody>\n </table>\n </div>\n );\n }\n\n renderRows() {\n const { files } = this.props;\n return _.map(files, (file) => {\n const filename = file.slug+file.ext;\n const to = `${ADMIN_PREFIX}/datafiles/${filename}`;\n return (\n <tr key={file.slug}>\n <td className=\"row-title\">\n <strong>\n <Link to={to}>{filename}</Link>\n </strong>\n </td>\n <td>\n <div className=\"row-actions\">\n <Button\n onClick={() => this.handleClickDelete(filename)}\n type=\"delete\"\n icon=\"trash\"\n active={true}\n thin />\n </div>\n </td>\n </tr>\n );\n });\n }\n\n render() {\n const { isFetching, files, search } = this.props;\n\n if (isFetching) {\n return null;\n }\n\n return (\n <div>\n <div className=\"content-header\">\n <h1>Data Files</h1>\n <div className=\"page-buttons\">\n <Link className=\"btn btn-active\" to={`${ADMIN_PREFIX}/datafiles/new`}>New data file</Link>\n </div>\n <div className=\"pull-right\">\n <InputSearch searchBy=\"filename\" search={search} />\n </div>\n </div>\n {\n files.length > 0 && this.renderTable()\n }\n {\n !files.length && <h1>{getNotFoundMessage(\"data files\")}</h1>\n }\n </div>\n );\n }\n}\n\nDataFiles.propTypes = {\n files: PropTypes.array.isRequired,\n fetchDataFiles: PropTypes.func.isRequired,\n deleteDataFile: PropTypes.func.isRequired,\n isFetching: PropTypes.bool.isRequired,\n search: PropTypes.func.isRequired\n};\n\nconst mapStateToProps = (state) => ({\n files: filterByFilename(state.datafiles.files, state.utils.input),\n isFetching: state.datafiles.isFetching\n});\n\nconst mapDispatchToProps = (dispatch) => bindActionCreators({\n fetchDataFiles,\n deleteDataFile,\n search\n}, dispatch);\n\nexport default connect(mapStateToProps, mapDispatchToProps)(DataFiles);\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/containers/views/DataFiles.js\n **/","import React, { PropTypes, Component } from 'react';\nimport { connect } from 'react-redux';\nimport { bindActionCreators } from 'redux';\nimport { browserHistory, withRouter, Link } from 'react-router';\nimport _ from 'underscore';\nimport Splitter from '../../components/Splitter';\nimport Errors from '../../components/Errors';\nimport Breadcrumbs from '../../components/Breadcrumbs';\nimport Button from '../../components/Button';\nimport InputTitle from '../../components/form/InputTitle';\nimport MarkdownEditor from '../../components/MarkdownEditor';\nimport Metadata from '../../containers/MetaFields';\nimport { fetchDocument, deleteDocument, putDocument } from '../../actions/collections';\nimport { updateTitle, updateBody, updatePath } from '../../actions/metadata';\nimport { clearErrors } from '../../actions/utils';\nimport { getFilenameFromPath } from '../../utils/helpers';\nimport {\n getLeaveMessage, getDeleteMessage, getNotFoundMessage\n} from '../../constants/lang';\nimport { ADMIN_PREFIX } from '../../constants';\n\nexport class DocumentEdit extends Component {\n\n componentWillMount() {\n const { clearErrors } = this.props;\n clearErrors();\n }\n\n componentDidMount() {\n const { fetchDocument, params, router, route } = this.props;\n router.setRouteLeaveHook(route, this.routerWillLeave.bind(this));\n fetchDocument(params.collection_name, params.id);\n }\n\n componentWillReceiveProps(nextProps) {\n if (this.props.updated !== nextProps.updated) {\n const new_path = nextProps.currentDocument.path;\n const path = this.props.currentDocument.path;\n // redirect if the path is changed\n if (new_path != path) {\n const filename = getFilenameFromPath(new_path);\n browserHistory.push(\n `${ADMIN_PREFIX}/collections/${nextProps.currentDocument.collection}/${filename}`\n );\n }\n }\n }\n\n routerWillLeave(nextLocation) {\n if (this.props.fieldChanged) {\n return getLeaveMessage();\n }\n }\n\n handleClickSave(id, collection) {\n const { putDocument, fieldChanged } = this.props;\n if (fieldChanged) {\n putDocument(id, collection);\n }\n }\n\n handleClickDelete(filename, collection) {\n const { deleteDocument } = this.props;\n const confirm = window.confirm(getDeleteMessage(filename));\n if (confirm) {\n deleteDocument(filename, collection);\n browserHistory.push(`${ADMIN_PREFIX}/collections/${collection}`);\n }\n }\n\n render() {\n const {\n isFetching, currentDocument, errors, updateTitle, updateBody, updatePath, updated,\n fieldChanged\n } = this.props;\n\n if (isFetching) {\n return null;\n }\n\n if (_.isEmpty(currentDocument)) {\n return <h1>{getNotFoundMessage(\"document\")}</h1>;\n }\n\n const { title, raw_content, draft, http_url, path, collection, front_matter } = currentDocument;\n\n const filename = getFilenameFromPath(path);\n\n return (\n <div>\n {errors.length > 0 && <Errors errors={errors} />}\n\n <Breadcrumbs\n onChange={updatePath}\n link={`${ADMIN_PREFIX}/collections/${collection}`}\n content={path}\n type={collection}\n editable />\n\n <div className=\"content-wrapper\">\n <div className=\"content-body\">\n <InputTitle onChange={updateTitle} title={title} ref=\"title\" />\n <MarkdownEditor\n onChange={updateBody}\n onSave={() => this.handleClickSave(filename, collection)}\n placeholder=\"Body\"\n initialValue={raw_content}\n ref=\"editor\" />\n <Splitter />\n <Metadata fields={{title, path, raw_content, ...front_matter}} />\n </div>\n\n <div className=\"content-side\">\n <Button\n onClick={() => this.handleClickSave(filename, collection)}\n type=\"save\"\n active={fieldChanged}\n triggered={updated}\n icon=\"save\"\n block />\n {\n http_url &&\n <Button\n to={http_url}\n type=\"view\"\n icon=\"eye\"\n active={true}\n block />\n }\n <Splitter />\n <Button\n onClick={() => this.handleClickDelete(filename, collection)}\n type=\"delete\"\n active={true}\n icon=\"trash\"\n block />\n </div>\n </div>\n </div>\n );\n }\n}\n\nDocumentEdit.propTypes = {\n currentDocument: PropTypes.object.isRequired,\n fetchDocument: PropTypes.func.isRequired,\n deleteDocument: PropTypes.func.isRequired,\n putDocument: PropTypes.func.isRequired,\n updateTitle: PropTypes.func.isRequired,\n updateBody: PropTypes.func.isRequired,\n updatePath: PropTypes.func.isRequired,\n clearErrors: PropTypes.func.isRequired,\n isFetching: PropTypes.bool.isRequired,\n errors: PropTypes.array.isRequired,\n updated: PropTypes.bool.isRequired,\n fieldChanged: PropTypes.bool.isRequired,\n params: PropTypes.object.isRequired,\n router: PropTypes.object.isRequired,\n route: PropTypes.object.isRequired\n};\n\nconst mapStateToProps = (state) => ({\n currentDocument: state.collections.currentDocument,\n isFetching: state.collections.isFetching,\n fieldChanged: state.metadata.fieldChanged,\n updated: state.collections.updated,\n errors: state.utils.errors\n});\n\nconst mapDispatchToProps = (dispatch) => bindActionCreators({\n fetchDocument,\n deleteDocument,\n putDocument,\n updateTitle,\n updateBody,\n updatePath,\n clearErrors\n}, dispatch);\n\nexport default withRouter(connect(mapStateToProps, mapDispatchToProps)(DocumentEdit));\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/containers/views/DocumentEdit.js\n **/","import React, { PropTypes, Component } from 'react';\nimport { connect } from 'react-redux';\nimport { bindActionCreators } from 'redux';\nimport { browserHistory, withRouter } from 'react-router';\nimport Splitter from '../../components/Splitter';\nimport Errors from '../../components/Errors';\nimport Breadcrumbs from '../../components/Breadcrumbs';\nimport Button from '../../components/Button';\nimport InputTitle from '../../components/form/InputTitle';\nimport MarkdownEditor from '../../components/MarkdownEditor';\nimport Metadata from '../../containers/MetaFields';\nimport { updateTitle, updateBody, updatePath } from '../../actions/metadata';\nimport { putDocument } from '../../actions/collections';\nimport { clearErrors } from '../../actions/utils';\nimport { getFilenameFromPath } from '../../utils/helpers';\nimport {\n getLeaveMessage, getDeleteMessage, getNotFoundMessage\n} from '../../constants/lang';\nimport { ADMIN_PREFIX } from '../../constants';\n\nexport class DocumentNew extends Component {\n\n componentWillMount() {\n const { clearErrors } = this.props;\n clearErrors();\n }\n\n componentDidMount() {\n const { router, route } = this.props;\n router.setRouteLeaveHook(route, this.routerWillLeave.bind(this));\n }\n\n componentWillReceiveProps(nextProps) {\n if (this.props.updated !== nextProps.updated) {\n const path = nextProps.currentDocument.path;\n const filename = getFilenameFromPath(path);\n browserHistory.push(\n `${ADMIN_PREFIX}/collections/${nextProps.currentDocument.collection}/${filename}`\n );\n }\n }\n\n routerWillLeave(nextLocation) {\n if (this.props.fieldChanged) {\n return getLeaveMessage();\n }\n }\n\n handleClickSave() {\n const { fieldChanged, putDocument, params } = this.props;\n if (fieldChanged) {\n putDocument(null,params.collection_name);\n }\n }\n\n render() {\n const { errors, updated, updateTitle, updateBody, updatePath, fieldChanged, params } = this.props;\n\n const collection = params.collection_name;\n const link = `${ADMIN_PREFIX}/collections/${collection}`;\n\n return (\n <div>\n {errors.length > 0 && <Errors errors={errors} />}\n\n <Breadcrumbs\n onChange={updatePath}\n link={link}\n type={collection}\n content=\"\"\n editable />\n\n <div className=\"content-wrapper\">\n <div className=\"content-body\">\n <InputTitle onChange={updateTitle} title=\"\" ref=\"title\" />\n <MarkdownEditor\n onChange={updateBody}\n onSave={() => this.handleClickSave()}\n placeholder=\"Body\"\n initialValue=\"\"\n ref=\"editor\" />\n <Splitter />\n <Metadata fields={{}} />\n </div>\n\n <div className=\"content-side\">\n <Button\n onClick={() => this.handleClickSave()}\n type=\"create\"\n active={fieldChanged}\n triggered={updated}\n icon=\"plus-square\"\n block />\n </div>\n\n </div>\n </div>\n );\n }\n}\n\nDocumentNew.propTypes = {\n putDocument: PropTypes.func.isRequired,\n updateTitle: PropTypes.func.isRequired,\n updateBody: PropTypes.func.isRequired,\n updatePath: PropTypes.func.isRequired,\n clearErrors: PropTypes.func.isRequired,\n errors: PropTypes.array.isRequired,\n fieldChanged: PropTypes.bool.isRequired,\n updated: PropTypes.bool.isRequired,\n params: PropTypes.object.isRequired,\n router: PropTypes.object.isRequired,\n route: PropTypes.object.isRequired\n};\n\nconst mapStateToProps = (state) => ({\n currentDocument: state.collections.currentDocument,\n fieldChanged: state.metadata.fieldChanged,\n errors: state.utils.errors,\n updated: state.collections.updated\n});\n\nconst mapDispatchToProps = (dispatch) => bindActionCreators({\n updateTitle,\n updateBody,\n updatePath,\n putDocument,\n clearErrors\n}, dispatch);\n\nexport default withRouter(connect(mapStateToProps, mapDispatchToProps)(DocumentNew));\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/containers/views/DocumentNew.js\n **/","import React, { Component, PropTypes } from 'react';\nimport { Link } from 'react-router';\nimport { connect } from 'react-redux';\nimport { bindActionCreators } from 'redux';\nimport _ from 'underscore';\nimport moment from 'moment';\nimport InputSearch from '../../components/form/InputSearch';\nimport Button from '../../components/Button';\nimport { fetchCollection, deleteDocument } from '../../actions/collections';\nimport { filterByTitle } from '../../reducers/collections';\nimport { capitalize, getFilenameFromPath } from '../../utils/helpers';\nimport { search } from '../../actions/utils';\nimport {\n getLeaveMessage,\n getDeleteMessage,\n getNotFoundMessage\n} from '../../constants/lang';\nimport { ADMIN_PREFIX } from '../../constants';\n\nexport class Documents extends Component {\n\n componentDidMount() {\n const { fetchCollection, params } = this.props;\n fetchCollection(params.collection_name);\n }\n\n componentWillReceiveProps(nextProps) {\n const { fetchCollection, params } = nextProps;\n if (params.collection_name !== this.props.params.collection_name) {\n fetchCollection(params.collection_name);\n }\n }\n\n handleClickDelete(filename, collection) {\n const { deleteDocument } = this.props;\n const confirm = window.confirm(getDeleteMessage(filename));\n if (confirm) {\n deleteDocument(filename, collection);\n }\n }\n\n renderTable() {\n return (\n <div className=\"content-table\">\n <table>\n <thead>\n <tr>\n <th>Name</th>\n <th>Date</th>\n <th className=\"th-actions\">Actions</th>\n </tr>\n </thead>\n <tbody>{this.renderRows()}</tbody>\n </table>\n </div>\n );\n }\n\n renderRows() {\n const { documents } = this.props;\n return _.map(documents, doc => {\n const { id, slug, title, http_url, collection, path } = doc;\n const filename = getFilenameFromPath(path);\n const to = `${ADMIN_PREFIX}/collections/${collection}/${filename}`;\n let date = doc.date.substring(0, doc.date.lastIndexOf(\" \")); // w/o timezone\n date = moment(date).format(\"hh:mm:ss\") == '12:00:00' ?\n moment(date).format(\"ll\") :\n moment(date).format(\"lll\");\n\n return (\n <tr key={id}>\n <td className=\"row-title\">\n <strong>\n <Link to={to}>{title || slug}</Link>\n </strong>\n </td>\n <td>{date}</td>\n <td>\n <div className=\"row-actions\">\n <Button\n onClick={() => this.handleClickDelete(filename, collection)}\n type=\"delete\"\n icon=\"trash\"\n active={true}\n thin />\n {\n http_url &&\n <Button\n to={http_url}\n type=\"view\"\n icon=\"eye\"\n active={true}\n thin />\n }\n </div>\n </td>\n </tr>\n );\n });\n }\n\n render() {\n const { isFetching, documents, search, params } = this.props;\n const { collection_name } = params;\n\n if (isFetching) {\n return null;\n }\n\n return (\n <div>\n <div className=\"content-header\">\n <h1>{capitalize(collection_name)}</h1>\n <div className=\"page-buttons\">\n <Link className=\"btn btn-active\" to={`${ADMIN_PREFIX}/collections/${collection_name}/new`}>\n {collection_name == \"posts\" ? \"New post\" : \"New document\"}\n </Link>\n </div>\n <div className=\"pull-right\">\n <InputSearch searchBy=\"title\" search={search} />\n </div>\n </div>\n {\n documents.length > 0 && this.renderTable()\n }\n {\n !documents.length && <h1>{getNotFoundMessage(\"documents\")}</h1>\n }\n </div>\n );\n }\n}\n\nDocuments.propTypes = {\n isFetching: PropTypes.bool.isRequired,\n documents: PropTypes.array.isRequired,\n fetchCollection: PropTypes.func.isRequired,\n deleteDocument: PropTypes.func.isRequired,\n search: PropTypes.func.isRequired,\n params: PropTypes.object.isRequired\n};\n\nconst mapStateToProps = (state) => ({\n documents: filterByTitle(\n state.collections.currentCollection.documents,\n state.utils.input\n ),\n isFetching: state.collections.isFetching\n});\n\nconst mapDispatchToProps = (dispatch) => bindActionCreators({\n fetchCollection,\n deleteDocument,\n search\n}, dispatch);\n\nexport default connect(mapStateToProps, mapDispatchToProps)(Documents);\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/containers/views/Documents.js\n **/","import React, { Component } from 'react';\n\nexport default class NotFound extends Component {\n render() {\n return (\n <div className=\"notfound\">\n <img src={require(\"../../assets/images/logo-black-red.png\")} />\n <h1>\n Huh. It seems that page is Hyde-ing...\n </h1>\n <h2>The resource you requested was not found.</h2>\n </div>\n );\n }\n}\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/containers/views/NotFound.js\n **/","import React, { PropTypes, Component } from 'react';\nimport { connect } from 'react-redux';\nimport { bindActionCreators } from 'redux';\nimport { browserHistory, withRouter, Link } from 'react-router';\nimport _ from 'underscore';\nimport Button from '../../components/Button';\nimport Splitter from '../../components/Splitter';\nimport Errors from '../../components/Errors';\nimport Breadcrumbs from '../../components/Breadcrumbs';\nimport InputTitle from '../../components/form/InputTitle';\nimport MarkdownEditor from '../../components/MarkdownEditor';\nimport Metadata from '../MetaFields';\nimport { fetchPage, deletePage, putPage } from '../../actions/pages';\nimport { updateTitle, updateBody, updatePath } from '../../actions/metadata';\nimport { clearErrors } from '../../actions/utils';\nimport {\n getLeaveMessage, getDeleteMessage, getNotFoundMessage\n} from '../../constants/lang';\nimport { ADMIN_PREFIX } from '../../constants';\n\nexport class PageEdit extends Component {\n\n componentWillMount() {\n const { clearErrors } = this.props;\n clearErrors();\n }\n\n componentDidMount() {\n const { fetchPage, params, router, route } = this.props;\n router.setRouteLeaveHook(route, this.routerWillLeave.bind(this));\n fetchPage(params.id);\n }\n\n componentWillReceiveProps(nextProps) {\n if (this.props.updated !== nextProps.updated) {\n const new_name = nextProps.page.name;\n const name = this.props.page.name;\n // redirect if the name is changed\n if (new_name != name) {\n browserHistory.push(`${ADMIN_PREFIX}/pages/${new_name}`);\n }\n }\n }\n\n routerWillLeave(nextLocation) {\n if (this.props.fieldChanged) {\n return getLeaveMessage();\n }\n }\n\n handleClickSave(name) {\n const { putPage, fieldChanged } = this.props;\n if (fieldChanged) {\n putPage(name);\n }\n }\n\n handleClickDelete(name) {\n const { deletePage } = this.props;\n const confirm = window.confirm(getDeleteMessage(name));\n if (confirm) {\n deletePage(name);\n browserHistory.push(`${ADMIN_PREFIX}/pages`);\n }\n }\n\n render() {\n const { isFetching, page, errors, updateTitle, updateBody, updatePath,\n updated, fieldChanged } = this.props;\n\n if (isFetching) {\n return null;\n }\n\n if (_.isEmpty(page)) {\n return <h1>{`Could not find the page.`}</h1>;\n }\n\n const { name, raw_content, http_url, path, front_matter } = page;\n const title = front_matter.title ? front_matter.title : '';\n\n return (\n <div>\n {errors.length > 0 && <Errors errors={errors} />}\n\n <Breadcrumbs\n onChange={updatePath}\n content={path}\n link={`${ADMIN_PREFIX}/pages`}\n type=\"pages\"\n editable />\n\n <div className=\"content-wrapper\">\n <div className=\"content-body\">\n <InputTitle onChange={updateTitle} title={title} ref=\"title\" />\n <MarkdownEditor\n onChange={updateBody}\n onSave={() => this.handleClickSave(name)}\n placeholder=\"Body\"\n initialValue={raw_content}\n ref=\"editor\" />\n <Splitter />\n <Metadata fields={{title, raw_content, path, ...front_matter}} />\n </div>\n\n <div className=\"content-side\">\n <Button\n onClick={() => this.handleClickSave(name)}\n type=\"save\"\n active={fieldChanged}\n triggered={updated}\n icon=\"save\"\n block />\n <Button\n to={http_url}\n type=\"view\"\n icon=\"eye\"\n active={true}\n block />\n <Splitter />\n <Button\n onClick={() => this.handleClickDelete(name)}\n type=\"delete\"\n active={true}\n icon=\"trash\"\n block />\n </div>\n\n </div>\n </div>\n );\n }\n\n}\n\nPageEdit.propTypes = {\n page: PropTypes.object.isRequired,\n fetchPage: PropTypes.func.isRequired,\n deletePage: PropTypes.func.isRequired,\n putPage: PropTypes.func.isRequired,\n updateTitle: PropTypes.func.isRequired,\n updateBody: PropTypes.func.isRequired,\n updatePath: PropTypes.func.isRequired,\n clearErrors: PropTypes.func.isRequired,\n isFetching: PropTypes.bool.isRequired,\n errors: PropTypes.array.isRequired,\n fieldChanged: PropTypes.bool.isRequired,\n updated: PropTypes.bool.isRequired,\n params: PropTypes.object.isRequired,\n router: PropTypes.object.isRequired,\n route: PropTypes.object.isRequired\n};\n\nconst mapStateToProps = (state) => ({\n page: state.pages.page,\n isFetching: state.pages.isFetching,\n fieldChanged: state.metadata.fieldChanged,\n updated: state.pages.updated,\n errors: state.utils.errors\n});\n\nconst mapDispatchToProps = (dispatch) => bindActionCreators({\n fetchPage,\n deletePage,\n putPage,\n updateTitle,\n updateBody,\n updatePath,\n clearErrors\n}, dispatch);\n\nexport default withRouter(connect(mapStateToProps, mapDispatchToProps)(PageEdit));\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/containers/views/PageEdit.js\n **/","import React, { PropTypes, Component } from 'react';\nimport { connect } from 'react-redux';\nimport { bindActionCreators } from 'redux';\nimport { browserHistory, withRouter } from 'react-router';\nimport { ADMIN_PREFIX } from '../../constants';\nimport Splitter from '../../components/Splitter';\nimport Errors from '../../components/Errors';\nimport Breadcrumbs from '../../components/Breadcrumbs';\nimport Button from '../../components/Button';\nimport InputTitle from '../../components/form/InputTitle';\nimport Checkbox from '../../components/form/Checkbox';\nimport MarkdownEditor from '../../components/MarkdownEditor';\nimport Metadata from '../../containers/MetaFields';\nimport { updateTitle, updateBody, updatePath, updateDraft } from '../../actions/metadata';\nimport { putPage } from '../../actions/pages';\nimport { clearErrors } from '../../actions/utils';\nimport {\n getLeaveMessage, getDeleteMessage, getNotFoundMessage\n} from '../../constants/lang';\n\nexport class PageNew extends Component {\n\n componentWillMount() {\n const { clearErrors } = this.props;\n clearErrors();\n }\n\n componentDidMount() {\n const { router, route } = this.props;\n router.setRouteLeaveHook(route, this.routerWillLeave.bind(this));\n }\n\n componentWillReceiveProps(nextProps) {\n if (this.props.updated !== nextProps.updated) {\n browserHistory.push(`${ADMIN_PREFIX}/pages/${nextProps.page.name}`);\n }\n }\n\n routerWillLeave(nextLocation) {\n if (this.props.fieldChanged) {\n return getLeaveMessage();\n }\n }\n\n handleClickSave() {\n const { fieldChanged, putPage } = this.props;\n if (fieldChanged) {\n putPage();\n }\n }\n\n render() {\n const { errors, updated, updateTitle, updateBody, updatePath,\n updateDraft, fieldChanged } = this.props;\n\n return (\n <div>\n {errors.length > 0 && <Errors errors={errors} />}\n\n <Breadcrumbs\n onChange={updatePath}\n link={`${ADMIN_PREFIX}/pages`}\n type={\"pages\"}\n content=\"\"\n editable />\n\n <div className=\"content-wrapper\">\n <div className=\"content-body\">\n <InputTitle onChange={updateTitle} title=\"\" ref=\"title\" />\n <MarkdownEditor\n onChange={updateBody}\n onSave={() => this.handleClickSave()}\n placeholder=\"Body\"\n initialValue=\"\"\n ref=\"editor\" />\n <Splitter />\n <Metadata fields={{}} />\n </div>\n\n <div className=\"content-side\">\n <Button\n onClick={() => this.handleClickSave()}\n type=\"create\"\n active={fieldChanged}\n triggered={updated}\n icon=\"plus-square\"\n block />\n </div>\n\n </div>\n </div>\n );\n }\n}\n\nPageNew.propTypes = {\n putPage: PropTypes.func.isRequired,\n updateTitle: PropTypes.func.isRequired,\n updateBody: PropTypes.func.isRequired,\n updatePath: PropTypes.func.isRequired,\n updateDraft: PropTypes.func.isRequired,\n clearErrors: PropTypes.func.isRequired,\n errors: PropTypes.array.isRequired,\n fieldChanged: PropTypes.bool.isRequired,\n updated: PropTypes.bool.isRequired,\n router: PropTypes.object.isRequired,\n route: PropTypes.object.isRequired\n};\n\nconst mapStateToProps = (state) => ({\n page: state.pages.page,\n fieldChanged: state.metadata.fieldChanged,\n errors: state.utils.errors,\n updated: state.pages.updated\n});\n\nconst mapDispatchToProps = (dispatch) => bindActionCreators({\n updateTitle,\n updateBody,\n updatePath,\n updateDraft,\n putPage,\n clearErrors\n}, dispatch);\n\nexport default withRouter(connect(mapStateToProps, mapDispatchToProps)(PageNew));\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/containers/views/PageNew.js\n **/","import React, { Component, PropTypes } from 'react';\nimport { Link } from 'react-router';\nimport { connect } from 'react-redux';\nimport { bindActionCreators } from 'redux';\nimport _ from 'underscore';\nimport Button from '../../components/Button';\nimport InputSearch from '../../components/form/InputSearch';\nimport { fetchPages, deletePage } from '../../actions/pages';\nimport { search } from '../../actions/utils';\nimport { filterByFilename } from '../../reducers/pages';\nimport {\n getLeaveMessage, getDeleteMessage, getNotFoundMessage\n} from '../../constants/lang';\nimport { ADMIN_PREFIX } from '../../constants';\n\nexport class Pages extends Component {\n\n componentDidMount() {\n const { fetchPages } = this.props;\n fetchPages();\n }\n\n handleClickDelete(name) {\n const { deletePage } = this.props;\n const confirm = window.confirm(getDeleteMessage(name));\n if (confirm) {\n deletePage(name);\n }\n }\n\n renderTable() {\n return (\n <div className=\"content-table\">\n <table>\n <thead>\n <tr>\n <th>Filename</th>\n <th className=\"th-actions\">Actions</th>\n </tr>\n </thead>\n <tbody>{this.renderRows()}</tbody>\n </table>\n </div>\n );\n }\n\n renderRows() {\n const { pages } = this.props;\n return _.map(pages, (page) => {\n const { name, http_url, title } = page;\n const to = `${ADMIN_PREFIX}/pages/${name}`;\n return (\n <tr key={name}>\n <td className=\"row-title\">\n <strong>\n <Link to={to}>{name}</Link>\n </strong>\n </td>\n <td>\n <div className=\"row-actions\">\n <Button\n onClick={() => this.handleClickDelete(name)}\n type=\"delete\"\n icon=\"trash\"\n active={true}\n thin />\n <Button\n to={http_url}\n type=\"view\"\n icon=\"eye\"\n active={true}\n thin />\n </div>\n </td>\n </tr>\n );\n });\n }\n\n render() {\n const { isFetching, pages, search } = this.props;\n\n if (isFetching) {\n return null;\n }\n\n return (\n <div>\n <div className=\"content-header\">\n <h1>Pages</h1>\n <div className=\"page-buttons\">\n <Link className=\"btn btn-active\" to={`${ADMIN_PREFIX}/pages/new`}>New page</Link>\n </div>\n <div className=\"pull-right\">\n <InputSearch searchBy=\"filename\" search={search} />\n </div>\n </div>\n {\n pages.length > 0 && this.renderTable()\n }\n {\n !pages.length && <h1>{getNotFoundMessage(\"pages\")}</h1>\n }\n </div>\n );\n }\n}\n\nPages.propTypes = {\n pages: PropTypes.array.isRequired,\n fetchPages: PropTypes.func.isRequired,\n deletePage: PropTypes.func.isRequired,\n isFetching: PropTypes.bool.isRequired,\n search: PropTypes.func.isRequired\n};\n\nconst mapStateToProps = (state) => ({\n pages: filterByFilename(state.pages.pages, state.utils.input),\n isFetching: state.pages.isFetching\n});\n\nconst mapDispatchToProps = (dispatch) => bindActionCreators({\n fetchPages,\n deletePage,\n search\n}, dispatch);\n\nexport default connect(mapStateToProps, mapDispatchToProps)(Pages);\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/containers/views/Pages.js\n **/","import React, { Component, PropTypes } from 'react';\nimport { Link } from 'react-router';\nimport { connect } from 'react-redux';\nimport { bindActionCreators } from 'redux';\nimport _ from 'underscore';\nimport { ADMIN_PREFIX } from '../../constants';\nimport Dropzone from 'react-dropzone';\nimport Button from '../../components/Button';\nimport FilePreview from '../../components/FilePreview';\nimport InputSearch from '../../components/form/InputSearch';\nimport { search } from '../../actions/utils';\nimport { existingUploadedFilenames } from '../../utils/helpers.js';\nimport { filterByFilename } from '../../reducers/staticfiles';\nimport { getOverrideMessage } from '../../constants/lang';\nimport {\n fetchStaticFiles, uploadStaticFiles, deleteStaticFile\n} from '../../actions/staticfiles';\n\nexport class StaticFiles extends Component {\n\n componentDidMount() {\n const { fetchStaticFiles } = this.props;\n fetchStaticFiles();\n }\n\n onDrop (uploadedFiles) {\n const { uploadStaticFiles, files } = this.props;\n const existingFiles = existingUploadedFilenames(uploadedFiles, files);\n if (existingFiles.length > 0) {\n const confirm = window.confirm(getOverrideMessage(existingFiles.join(', ')));\n if (!confirm) {\n return false;\n }\n }\n uploadStaticFiles(uploadedFiles);\n }\n\n openDropzone() {\n this.refs.dropzone.open();\n }\n\n renderDropzone() {\n const { files, deleteStaticFile } = this.props;\n return (\n <Dropzone\n onDrop={(files) => this.onDrop(files)}\n ref=\"dropzone\"\n className=\"dropzone\"\n activeClassName=\"dropzone-active\"\n multiple={true}\n disableClick={true}>\n {\n files.length > 0 &&\n <div className=\"preview-container\">\n {\n _.map(files, (file, i) => {\n return <FilePreview onClickDelete={deleteStaticFile} key={i} file={file} />;\n })\n }\n </div>\n }\n {\n !files.length &&\n <div className=\"preview-info\">\n <i className=\"fa fa-upload\" aria-hidden=\"true\"></i>\n <p>Drag and drop file(s) here to upload</p>\n </div>\n }\n </Dropzone>\n );\n }\n\n render() {\n const { files, isFetching, search } = this.props;\n\n if (isFetching) {\n return null;\n }\n\n return (\n <div>\n <div className=\"content-header\">\n <h1>Static Files</h1>\n <Button\n onClick={() => this.openDropzone()}\n type=\"upload\"\n icon=\"upload\"\n active={true} />\n <div className=\"pull-right\">\n <InputSearch searchBy=\"filename\" search={search} />\n </div>\n </div>\n {this.renderDropzone()}\n </div>\n );\n }\n}\n\nStaticFiles.propTypes = {\n files: PropTypes.array.isRequired,\n isFetching: PropTypes.bool.isRequired,\n fetchStaticFiles: PropTypes.func.isRequired,\n uploadStaticFiles: PropTypes.func.isRequired,\n deleteStaticFile: PropTypes.func.isRequired,\n search: PropTypes.func.isRequired\n};\n\nconst mapStateToProps = (state) => ({\n files: filterByFilename(state.staticfiles.files, state.utils.input),\n isFetching: state.staticfiles.isFetching\n});\n\nconst mapDispatchToProps = (dispatch) => bindActionCreators({\n fetchStaticFiles,\n uploadStaticFiles,\n deleteStaticFile,\n search\n}, dispatch);\n\nexport default connect(mapStateToProps, mapDispatchToProps)(StaticFiles);\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/containers/views/StaticFiles.js\n **/","import {\n FETCH_CONFIG_REQUEST,\n FETCH_CONFIG_SUCCESS,\n FETCH_CONFIG_FAILURE,\n PUT_CONFIG_SUCCESS,\n PUT_CONFIG_FAILURE,\n CONFIG_EDITOR_CHANGED\n} from '../constants/actionTypes';\n\nexport default function config(state = {\n config: {},\n updated: false,\n editorChanged: false,\n isFetching: false\n}, action) {\n switch (action.type) {\n case FETCH_CONFIG_REQUEST:\n return Object.assign({}, state, {\n isFetching: true\n });\n case FETCH_CONFIG_SUCCESS:\n return Object.assign({}, state, {\n config: action.config,\n isFetching: false\n });\n case FETCH_CONFIG_FAILURE:\n return Object.assign({}, state, {\n isFetching: false\n });\n case PUT_CONFIG_SUCCESS:\n return Object.assign({}, state, {\n config: action.config,\n editorChanged: false,\n updated: true\n });\n case PUT_CONFIG_FAILURE:\n return Object.assign({}, state, {\n editorChanged: false\n });\n case CONFIG_EDITOR_CHANGED:\n return Object.assign({}, state, {\n editorChanged: true,\n updated: false\n });\n default:\n return Object.assign({}, state, {\n updated: false,\n editorChanged: false\n });\n }\n}\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/reducers/config.js\n **/","import { combineReducers } from 'redux';\nimport { routerReducer } from 'react-router-redux';\nimport config from './config';\nimport pages from './pages';\nimport collections from './collections';\nimport metadata from './metadata';\nimport datafiles from './datafiles';\nimport staticfiles from './staticfiles';\nimport utils from './utils';\nimport notifications from './notifications';\n\nexport default combineReducers({\n routing: routerReducer,\n config,\n pages,\n collections,\n metadata,\n datafiles,\n staticfiles,\n utils,\n notifications\n});\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/reducers/index.js\n **/","import _ from 'underscore';\n\nimport {\n UPDATE_TITLE, UPDATE_BODY, UPDATE_PATH, UPDATE_DRAFT,\n ADD_METAFIELD, REMOVE_METAFIELD,\n STORE_CONTENT_FIELDS, UPDATE_FIELD_KEY, UPDATE_FIELD_VALUE,\n MOVE_ARRAY_ITEM, CONVERT_FIELD\n} from '../constants/actionTypes';\n\nimport { addField, removeField, updateFieldKey,\n updateFieldValue, moveArrayItem, convertField } from '../utils/metadata';\n\n// TODO normalize the metadata\nexport default function metadata(state = {\n metadata: {},\n new_field_count: 1,\n key_prefix: '', // force children to be destroyed on sort\n fieldChanged: false\n}, action) {\n switch (action.type) {\n case UPDATE_TITLE:\n return Object.assign({}, state, {\n metadata: {\n ...state.metadata,\n title: action.title\n },\n fieldChanged: true\n });\n case UPDATE_BODY:\n return Object.assign({}, state, {\n metadata: {\n ...state.metadata,\n raw_content: action.body\n },\n fieldChanged: true\n });\n case UPDATE_PATH:\n return Object.assign({}, state, {\n metadata: {\n ...state.metadata,\n path: action.path\n },\n fieldChanged: true\n });\n case UPDATE_DRAFT:\n return Object.assign({}, state, {\n draft: {\n ...state.metadata,\n draft: action.draft\n },\n fieldChanged: true\n });\n case STORE_CONTENT_FIELDS:\n return Object.assign({}, state, {\n metadata: action.content\n });\n case ADD_METAFIELD:\n return Object.assign({}, state, {\n metadata: addField(state, action.namePrefix),\n new_field_count: state.new_field_count + 1\n });\n case REMOVE_METAFIELD:\n return Object.assign({}, state, {\n metadata: removeField(state, action.namePrefix, action.key),\n fieldChanged: true,\n key_prefix: Math.random() * 100 + ''\n });\n case UPDATE_FIELD_KEY:\n return Object.assign({}, state, {\n metadata: updateFieldKey(\n state,\n action.namePrefix,\n action.fieldKey,\n action.newKey\n ),\n fieldChanged: true\n });\n case UPDATE_FIELD_VALUE:\n return Object.assign({}, state, {\n metadata: updateFieldValue(\n state,\n action.nameAttr,\n action.value\n ),\n fieldChanged: true\n });\n case MOVE_ARRAY_ITEM:\n return Object.assign({}, state, {\n metadata: moveArrayItem(\n state,\n action.namePrefix,\n action.srcInd,\n action.targetInd\n ),\n key_prefix: Math.random() * 100 + '',\n fieldChanged: true\n });\n case CONVERT_FIELD:\n return Object.assign({}, state, {\n metadata: convertField(\n state,\n action.nameAttr,\n action.convertType\n ),\n new_field_count: state.new_field_count + 1,\n fieldChanged: true\n });\n default:\n return Object.assign({}, state, {\n fieldChanged: false\n });\n }\n}\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/reducers/metadata.js\n **/","import {\n ADD_NOTIFICATION\n} from '../constants/actionTypes';\n\nexport default function notifications(state = {\n notification: {}\n}, action) {\n switch (action.type) {\n case ADD_NOTIFICATION:\n return Object.assign({}, state, {\n notification: action.notification\n });\n default:\n return state;\n }\n}\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/reducers/notifications.js\n **/","import {\n SEARCH_CONTENT,\n CLEAR_ERRORS,\n VALIDATION_ERROR\n} from '../constants/actionTypes';\n\nexport default function utils(state = {\n input: '',\n errors: []\n}, action) {\n switch (action.type) {\n case SEARCH_CONTENT:\n return Object.assign({}, state, {\n input: action.input\n });\n case CLEAR_ERRORS:\n return Object.assign({}, state, {\n errors: []\n });\n case VALIDATION_ERROR:\n return Object.assign({}, state, {\n errors: action.errors\n });\n default:\n return Object.assign({}, state, {\n input: ''\n });\n }\n}\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/reducers/utils.js\n **/","import React from 'react';\nimport { Route, IndexRoute } from 'react-router';\nimport { ADMIN_PREFIX } from './constants';\n\nimport App from './containers/App';\nimport Configuration from './containers/views/Configuration';\nimport Pages from './containers/views/Pages';\nimport PageEdit from './containers/views/PageEdit';\nimport PageNew from './containers/views/PageNew';\nimport Documents from './containers/views/Documents';\nimport DocumentEdit from './containers/views/DocumentEdit';\nimport DocumentNew from './containers/views/DocumentNew';\nimport DataFiles from './containers/views/DataFiles';\nimport DataFileEdit from './containers/views/DataFileEdit';\nimport DataFileNew from './containers/views/DataFileNew';\nimport StaticFiles from './containers/views/StaticFiles';\nimport NotFound from './containers/views/NotFound';\n\nexport default (\n <Route path={`${ADMIN_PREFIX}`} component={App}>\n <IndexRoute component={Pages}/>\n <Route path=\"configuration\" component={Configuration} />\n <Route path=\"pages\">\n <IndexRoute component={Pages} />\n <Route path=\"new\" component={PageNew} />\n <Route path=\":id\" component={PageEdit} />\n </Route>\n <Route path=\"collections\">\n <Route path=\":collection_name\">\n <IndexRoute component={Documents} />\n <Route path=\"new\" component={DocumentNew} />\n <Route path=\":id\" component={DocumentEdit} />\n </Route>\n </Route>\n <Route path=\"datafiles\">\n <IndexRoute component={DataFiles} />\n <Route path=\"new\" component={DataFileNew} />\n <Route path=\":data_file\" component={DataFileEdit} />\n </Route>\n <Route path=\"staticfiles\" component={StaticFiles} />\n <Route path={`${ADMIN_PREFIX}/*`} component={NotFound} />\n </Route>\n);\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/routes.js\n **/","/* eslint-disable global-require */\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./configureStore.prod');\n} else {\n module.exports = require('./configureStore.dev');\n}\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/store/configureStore.js\n **/","import { createStore, applyMiddleware } from 'redux';\nimport rootReducer from '../reducers';\nimport thunk from 'redux-thunk';\n\nexport default function configureStore(initialState) {\n return createStore(rootReducer, applyMiddleware(thunk), initialState);\n}\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/store/configureStore.prod.js\n **/","import _ from 'underscore';\nimport cloneDeep from 'lodash/cloneDeep';\n\n/**\n * Returns the metadata of the state with the new empty field. If the field does\n * not exist, returns the original metadata. Does not mutate the given state.\n * @param {Object} state\n * @param {String} namePrefix\n * @return {Object} metadata\n */\nexport const addField = (state, namePrefix) => {\n let tmpState = cloneDeep(state);\n let field = eval(`tmpState.${namePrefix}`);\n if (field === undefined) return tmpState.metadata;\n if (_.isArray(field)) field.push('');\n else field['New field ' + state.new_field_count] = '';\n return tmpState.metadata;\n};\n\n/**\n * Returns the metadata of the state with the removed key. If the field does not\n * exist, returns the original metadata. Does not mutate the given state.\n * @param {Object} state\n * @param {String} namePrefix\n * @param {String} key\n * @return {Object} metadata\n */\nexport const removeField = (state, namePrefix, key) => {\n let tmpState = cloneDeep(state);\n let field = eval(`tmpState.${namePrefix}`);\n if (field === undefined) return tmpState.metadata;\n if (_.isArray(field)) {\n if (key >= field.length) {\n return tmpState.metadata;\n }\n field.splice(key, 1);\n }\n else {\n if (!_.has(field, key)) {\n return tmpState.metadata;\n }\n delete field[key];\n }\n return tmpState.metadata;\n};\n\n/**\n * Returns the metadata of the state with the updated key. If the field does not\n * exist or the key already exists, returns the original metadata. Does not\n * mutate the given state.\n * @param {Object} state\n * @param {String} namePrefix\n * @param {String} fieldKey\n * @param {String} newKey\n * @return {Object} metadata\n */\nexport const updateFieldKey = (state, namePrefix, fieldKey, newKey) => {\n let tmpState = cloneDeep(state);\n let field = eval(`tmpState.${namePrefix}`);\n if (field === undefined) return tmpState.metadata;\n if (_.has(field, newKey)) return tmpState.metadata;\n field = Object.keys(field)\n .reduce((result, current) => {\n if (current == fieldKey) result[newKey] = field[current];\n else result[current] = field[current];\n return result;\n }, {});\n eval(`tmpState.${namePrefix} = field`);\n return tmpState.metadata;\n};\n\n/**\n * Returns the metadata of the state with the updated value of given path(nameAttr).\n * If the field does not exist, creates a new field. Does not mutate the given state.\n * @param {Object} state\n * @param {String} nameAttr\n * @param {String} value\n * @return {Object} metadata\n */\nexport const updateFieldValue = (state, nameAttr, value) => {\n let tmpState = cloneDeep(state);\n eval(`tmpState.${nameAttr} = value`);\n return tmpState.metadata;\n};\n\n/**\n * Returns the metadata of the state with the converted type of given path(nameAttr).\n * If the field does not exist, returns the original metadata.\n * Does not mutate the given state.\n * @param {Object} state\n * @param {String} nameAttr\n * @param {String} convertType\n * @return {Object} metadata\n */\nexport const convertField = (state, nameAttr, convertType) => {\n let tmpState = cloneDeep(state);\n let field = eval(`tmpState.${nameAttr}`);\n if (field === undefined) return tmpState.metadata;\n if (convertType == 'array') field = [''];\n else if (convertType == 'object') {\n let key = 'New field ' + state.new_field_count;\n field = { [key]: '' };\n }\n else field = '';\n eval(`tmpState.${nameAttr} = field`);\n return tmpState.metadata;\n};\n\n/**\n * Returns the metadata of the state with the sorted array. Moves the array item to\n * target index, shifts the rest of them. If the given path is not an array,\n * returns the original metadata. Does not mutate the given state.\n * @param {Object} state\n * @param {String} namePrefix\n * @param {Number} srcInd\n * @param {Number} targetInd\n * @return {Object} metadata\n */\nexport const moveArrayItem = (state, namePrefix, srcInd, targetInd) => {\n let tmpState = cloneDeep(state);\n let arr = eval(`tmpState.${namePrefix}`);\n if (!_.isArray(arr)) return tmpState.metadata;\n arr.splice(targetInd, 0, arr.splice(srcInd, 1)[0]);\n return tmpState.metadata;\n};\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/utils/metadata.js\n **/","'use strict'\n\nexports.byteLength = byteLength\nexports.toByteArray = toByteArray\nexports.fromByteArray = fromByteArray\n\nvar lookup = []\nvar revLookup = []\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\nfor (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i]\n revLookup[code.charCodeAt(i)] = i\n}\n\nrevLookup['-'.charCodeAt(0)] = 62\nrevLookup['_'.charCodeAt(0)] = 63\n\nfunction placeHoldersCount (b64) {\n var len = b64.length\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // the number of equal signs (place holders)\n // if there are two placeholders, than the two characters before it\n // represent one byte\n // if there is only one, then the three characters before it represent 2 bytes\n // this is just a cheap hack to not do indexOf twice\n return b64[len - 2] === '=' ? 2 : b64[len - 1] === '=' ? 1 : 0\n}\n\nfunction byteLength (b64) {\n // base64 is 4/3 + up to two characters of the original data\n return b64.length * 3 / 4 - placeHoldersCount(b64)\n}\n\nfunction toByteArray (b64) {\n var i, j, l, tmp, placeHolders, arr\n var len = b64.length\n placeHolders = placeHoldersCount(b64)\n\n arr = new Arr(len * 3 / 4 - placeHolders)\n\n // if there are placeholders, only get up to the last complete 4 chars\n l = placeHolders > 0 ? len - 4 : len\n\n var L = 0\n\n for (i = 0, j = 0; i < l; i += 4, j += 3) {\n tmp = (revLookup[b64.charCodeAt(i)] << 18) | (revLookup[b64.charCodeAt(i + 1)] << 12) | (revLookup[b64.charCodeAt(i + 2)] << 6) | revLookup[b64.charCodeAt(i + 3)]\n arr[L++] = (tmp >> 16) & 0xFF\n arr[L++] = (tmp >> 8) & 0xFF\n arr[L++] = tmp & 0xFF\n }\n\n if (placeHolders === 2) {\n tmp = (revLookup[b64.charCodeAt(i)] << 2) | (revLookup[b64.charCodeAt(i + 1)] >> 4)\n arr[L++] = tmp & 0xFF\n } else if (placeHolders === 1) {\n tmp = (revLookup[b64.charCodeAt(i)] << 10) | (revLookup[b64.charCodeAt(i + 1)] << 4) | (revLookup[b64.charCodeAt(i + 2)] >> 2)\n arr[L++] = (tmp >> 8) & 0xFF\n arr[L++] = tmp & 0xFF\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] + lookup[num >> 12 & 0x3F] + lookup[num >> 6 & 0x3F] + lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp\n var output = []\n for (var i = start; i < end; i += 3) {\n tmp = (uint8[i] << 16) + (uint8[i + 1] << 8) + (uint8[i + 2])\n output.push(tripletToBase64(tmp))\n }\n return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n var tmp\n var len = uint8.length\n var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n var output = ''\n var parts = []\n var maxChunkLength = 16383 // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)))\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1]\n output += lookup[tmp >> 2]\n output += lookup[(tmp << 4) & 0x3F]\n output += '=='\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + (uint8[len - 1])\n output += lookup[tmp >> 10]\n output += lookup[(tmp >> 4) & 0x3F]\n output += lookup[(tmp << 2) & 0x3F]\n output += '='\n }\n\n parts.push(output)\n\n return parts.join('')\n}\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/base64-js/index.js\n ** module id = 386\n ** module chunks = 0\n **/","ace.define(\"ace/mode/yaml_highlight_rules\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/mode/text_highlight_rules\"], function(acequire, exports, module) {\n\"use strict\";\n\nvar oop = acequire(\"../lib/oop\");\nvar TextHighlightRules = acequire(\"./text_highlight_rules\").TextHighlightRules;\n\nvar YamlHighlightRules = function() {\n this.$rules = {\n \"start\" : [\n {\n token : \"comment\",\n regex : \"#.*$\"\n }, {\n token : \"list.markup\",\n regex : /^(?:-{3}|\\.{3})\\s*(?=#|$)/ \n }, {\n token : \"list.markup\",\n regex : /^\\s*[\\-?](?:$|\\s)/ \n }, {\n token: \"constant\",\n regex: \"!![\\\\w//]+\"\n }, {\n token: \"constant.language\",\n regex: \"[&\\\\*][a-zA-Z0-9-_]+\"\n }, {\n token: [\"meta.tag\", \"keyword\"],\n regex: /^(\\s*\\w.*?)(:(?:\\s+|$))/\n },{\n token: [\"meta.tag\", \"keyword\"],\n regex: /(\\w+?)(\\s*:(?:\\s+|$))/\n }, {\n token : \"keyword.operator\",\n regex : \"<<\\\\w*:\\\\w*\"\n }, {\n token : \"keyword.operator\",\n regex : \"-\\\\s*(?=[{])\"\n }, {\n token : \"string\", // single line\n regex : '[\"](?:(?:\\\\\\\\.)|(?:[^\"\\\\\\\\]))*?[\"]'\n }, {\n token : \"string\", // multi line string start\n regex : '[|>][-+\\\\d\\\\s]*$',\n next : \"qqstring\"\n }, {\n token : \"string\", // single quoted string\n regex : \"['](?:(?:\\\\\\\\.)|(?:[^'\\\\\\\\]))*?[']\"\n }, {\n token : \"constant.numeric\", // float\n regex : /(\\b|[+\\-\\.])[\\d_]+(?:(?:\\.[\\d_]*)?(?:[eE][+\\-]?[\\d_]+)?)/\n }, {\n token : \"constant.numeric\", // other number\n regex : /[+\\-]?\\.inf\\b|NaN\\b|0x[\\dA-Fa-f_]+|0b[10_]+/\n }, {\n token : \"constant.language.boolean\",\n regex : \"\\\\b(?:true|false|TRUE|FALSE|True|False|yes|no)\\\\b\"\n }, {\n token : \"paren.lparen\",\n regex : \"[[({]\"\n }, {\n token : \"paren.rparen\",\n regex : \"[\\\\])}]\"\n }\n ],\n \"qqstring\" : [\n {\n token : \"string\",\n regex : '(?=(?:(?:\\\\\\\\.)|(?:[^:]))*?:)',\n next : \"start\"\n }, {\n token : \"string\",\n regex : '.+'\n }\n ]};\n\n};\n\noop.inherits(YamlHighlightRules, TextHighlightRules);\n\nexports.YamlHighlightRules = YamlHighlightRules;\n});\n\nace.define(\"ace/mode/matching_brace_outdent\",[\"require\",\"exports\",\"module\",\"ace/range\"], function(acequire, exports, module) {\n\"use strict\";\n\nvar Range = acequire(\"../range\").Range;\n\nvar MatchingBraceOutdent = function() {};\n\n(function() {\n\n this.checkOutdent = function(line, input) {\n if (! /^\\s+$/.test(line))\n return false;\n\n return /^\\s*\\}/.test(input);\n };\n\n this.autoOutdent = function(doc, row) {\n var line = doc.getLine(row);\n var match = line.match(/^(\\s*\\})/);\n\n if (!match) return 0;\n\n var column = match[1].length;\n var openBracePos = doc.findMatchingBracket({row: row, column: column});\n\n if (!openBracePos || openBracePos.row == row) return 0;\n\n var indent = this.$getIndent(doc.getLine(openBracePos.row));\n doc.replace(new Range(row, 0, row, column-1), indent);\n };\n\n this.$getIndent = function(line) {\n return line.match(/^\\s*/)[0];\n };\n\n}).call(MatchingBraceOutdent.prototype);\n\nexports.MatchingBraceOutdent = MatchingBraceOutdent;\n});\n\nace.define(\"ace/mode/folding/coffee\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/mode/folding/fold_mode\",\"ace/range\"], function(acequire, exports, module) {\n\"use strict\";\n\nvar oop = acequire(\"../../lib/oop\");\nvar BaseFoldMode = acequire(\"./fold_mode\").FoldMode;\nvar Range = acequire(\"../../range\").Range;\n\nvar FoldMode = exports.FoldMode = function() {};\noop.inherits(FoldMode, BaseFoldMode);\n\n(function() {\n\n this.getFoldWidgetRange = function(session, foldStyle, row) {\n var range = this.indentationBlock(session, row);\n if (range)\n return range;\n\n var re = /\\S/;\n var line = session.getLine(row);\n var startLevel = line.search(re);\n if (startLevel == -1 || line[startLevel] != \"#\")\n return;\n\n var startColumn = line.length;\n var maxRow = session.getLength();\n var startRow = row;\n var endRow = row;\n\n while (++row < maxRow) {\n line = session.getLine(row);\n var level = line.search(re);\n\n if (level == -1)\n continue;\n\n if (line[level] != \"#\")\n break;\n\n endRow = row;\n }\n\n if (endRow > startRow) {\n var endColumn = session.getLine(endRow).length;\n return new Range(startRow, startColumn, endRow, endColumn);\n }\n };\n this.getFoldWidget = function(session, foldStyle, row) {\n var line = session.getLine(row);\n var indent = line.search(/\\S/);\n var next = session.getLine(row + 1);\n var prev = session.getLine(row - 1);\n var prevIndent = prev.search(/\\S/);\n var nextIndent = next.search(/\\S/);\n\n if (indent == -1) {\n session.foldWidgets[row - 1] = prevIndent!= -1 && prevIndent < nextIndent ? \"start\" : \"\";\n return \"\";\n }\n if (prevIndent == -1) {\n if (indent == nextIndent && line[indent] == \"#\" && next[indent] == \"#\") {\n session.foldWidgets[row - 1] = \"\";\n session.foldWidgets[row + 1] = \"\";\n return \"start\";\n }\n } else if (prevIndent == indent && line[indent] == \"#\" && prev[indent] == \"#\") {\n if (session.getLine(row - 2).search(/\\S/) == -1) {\n session.foldWidgets[row - 1] = \"start\";\n session.foldWidgets[row + 1] = \"\";\n return \"\";\n }\n }\n\n if (prevIndent!= -1 && prevIndent < indent)\n session.foldWidgets[row - 1] = \"start\";\n else\n session.foldWidgets[row - 1] = \"\";\n\n if (indent < nextIndent)\n return \"start\";\n else\n return \"\";\n };\n\n}).call(FoldMode.prototype);\n\n});\n\nace.define(\"ace/mode/yaml\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/mode/text\",\"ace/mode/yaml_highlight_rules\",\"ace/mode/matching_brace_outdent\",\"ace/mode/folding/coffee\"], function(acequire, exports, module) {\n\"use strict\";\n\nvar oop = acequire(\"../lib/oop\");\nvar TextMode = acequire(\"./text\").Mode;\nvar YamlHighlightRules = acequire(\"./yaml_highlight_rules\").YamlHighlightRules;\nvar MatchingBraceOutdent = acequire(\"./matching_brace_outdent\").MatchingBraceOutdent;\nvar FoldMode = acequire(\"./folding/coffee\").FoldMode;\n\nvar Mode = function() {\n this.HighlightRules = YamlHighlightRules;\n this.$outdent = new MatchingBraceOutdent();\n this.foldingRules = new FoldMode();\n this.$behaviour = this.$defaultBehaviour;\n};\noop.inherits(Mode, TextMode);\n\n(function() {\n\n this.lineCommentStart = \"#\";\n \n this.getNextLineIndent = function(state, line, tab) {\n var indent = this.$getIndent(line);\n\n if (state == \"start\") {\n var match = line.match(/^.*[\\{\\(\\[]\\s*$/);\n if (match) {\n indent += tab;\n }\n }\n\n return indent;\n };\n\n this.checkOutdent = function(state, line, input) {\n return this.$outdent.checkOutdent(line, input);\n };\n\n this.autoOutdent = function(state, doc, row) {\n this.$outdent.autoOutdent(doc, row);\n };\n\n\n this.$id = \"ace/mode/yaml\";\n}).call(Mode.prototype);\n\nexports.Mode = Mode;\n\n});\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/brace/mode/yaml.js\n ** module id = 387\n ** module chunks = 0\n **/","ace.define(\"ace/theme/monokai\",[\"require\",\"exports\",\"module\",\"ace/lib/dom\"], function(acequire, exports, module) {\n\nexports.isDark = true;\nexports.cssClass = \"ace-monokai\";\nexports.cssText = \".ace-monokai .ace_gutter {\\\nbackground: #2F3129;\\\ncolor: #8F908A\\\n}\\\n.ace-monokai .ace_print-margin {\\\nwidth: 1px;\\\nbackground: #555651\\\n}\\\n.ace-monokai {\\\nbackground-color: #272822;\\\ncolor: #F8F8F2\\\n}\\\n.ace-monokai .ace_cursor {\\\ncolor: #F8F8F0\\\n}\\\n.ace-monokai .ace_marker-layer .ace_selection {\\\nbackground: #49483E\\\n}\\\n.ace-monokai.ace_multiselect .ace_selection.ace_start {\\\nbox-shadow: 0 0 3px 0px #272822;\\\n}\\\n.ace-monokai .ace_marker-layer .ace_step {\\\nbackground: rgb(102, 82, 0)\\\n}\\\n.ace-monokai .ace_marker-layer .ace_bracket {\\\nmargin: -1px 0 0 -1px;\\\nborder: 1px solid #49483E\\\n}\\\n.ace-monokai .ace_marker-layer .ace_active-line {\\\nbackground: #202020\\\n}\\\n.ace-monokai .ace_gutter-active-line {\\\nbackground-color: #272727\\\n}\\\n.ace-monokai .ace_marker-layer .ace_selected-word {\\\nborder: 1px solid #49483E\\\n}\\\n.ace-monokai .ace_invisible {\\\ncolor: #52524d\\\n}\\\n.ace-monokai .ace_entity.ace_name.ace_tag,\\\n.ace-monokai .ace_keyword,\\\n.ace-monokai .ace_meta.ace_tag,\\\n.ace-monokai .ace_storage {\\\ncolor: #F92672\\\n}\\\n.ace-monokai .ace_punctuation,\\\n.ace-monokai .ace_punctuation.ace_tag {\\\ncolor: #fff\\\n}\\\n.ace-monokai .ace_constant.ace_character,\\\n.ace-monokai .ace_constant.ace_language,\\\n.ace-monokai .ace_constant.ace_numeric,\\\n.ace-monokai .ace_constant.ace_other {\\\ncolor: #AE81FF\\\n}\\\n.ace-monokai .ace_invalid {\\\ncolor: #F8F8F0;\\\nbackground-color: #F92672\\\n}\\\n.ace-monokai .ace_invalid.ace_deprecated {\\\ncolor: #F8F8F0;\\\nbackground-color: #AE81FF\\\n}\\\n.ace-monokai .ace_support.ace_constant,\\\n.ace-monokai .ace_support.ace_function {\\\ncolor: #66D9EF\\\n}\\\n.ace-monokai .ace_fold {\\\nbackground-color: #A6E22E;\\\nborder-color: #F8F8F2\\\n}\\\n.ace-monokai .ace_storage.ace_type,\\\n.ace-monokai .ace_support.ace_class,\\\n.ace-monokai .ace_support.ace_type {\\\nfont-style: italic;\\\ncolor: #66D9EF\\\n}\\\n.ace-monokai .ace_entity.ace_name.ace_function,\\\n.ace-monokai .ace_entity.ace_other,\\\n.ace-monokai .ace_entity.ace_other.ace_attribute-name,\\\n.ace-monokai .ace_variable {\\\ncolor: #A6E22E\\\n}\\\n.ace-monokai .ace_variable.ace_parameter {\\\nfont-style: italic;\\\ncolor: #FD971F\\\n}\\\n.ace-monokai .ace_string {\\\ncolor: #E6DB74\\\n}\\\n.ace-monokai .ace_comment {\\\ncolor: #75715E\\\n}\\\n.ace-monokai .ace_indent-guide {\\\nbackground: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWPQ0FD0ZXBzd/wPAAjVAoxeSgNeAAAAAElFTkSuQmCC) right repeat-y\\\n}\";\n\nvar dom = acequire(\"../lib/dom\");\ndom.importCssString(exports.cssText, exports.cssClass);\n});\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/brace/theme/monokai.js\n ** module id = 388\n ** module chunks = 0\n **/","// Use strict mode (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Strict_mode)\n\"use strict\";\n\n\n// Requires\nvar Typo = require(\"typo-js\");\n\n\n// Create function\nfunction CodeMirrorSpellChecker(options) {\n\t// Initialize\n\toptions = options || {};\n\n\n\t// Verify\n\tif(typeof options.codeMirrorInstance !== \"function\" || typeof options.codeMirrorInstance.defineMode !== \"function\") {\n\t\tconsole.log(\"CodeMirror Spell Checker: You must provide an instance of CodeMirror via the option `codeMirrorInstance`\");\n\t\treturn;\n\t}\n\n\n\t// Because some browsers don't support this functionality yet\n\tif(!String.prototype.includes) {\n\t\tString.prototype.includes = function() {\n\t\t\t\"use strict\";\n\t\t\treturn String.prototype.indexOf.apply(this, arguments) !== -1;\n\t\t};\n\t}\n\n\n\t// Define the new mode\n\toptions.codeMirrorInstance.defineMode(\"spell-checker\", function(config) {\n\t\t// Load AFF/DIC data\n\t\tif(!CodeMirrorSpellChecker.aff_loading) {\n\t\t\tCodeMirrorSpellChecker.aff_loading = true;\n\t\t\tvar xhr_aff = new XMLHttpRequest();\n\t\t\txhr_aff.open(\"GET\", \"https://cdn.jsdelivr.net/codemirror.spell-checker/latest/en_US.aff\", true);\n\t\t\txhr_aff.onload = function() {\n\t\t\t\tif(xhr_aff.readyState === 4 && xhr_aff.status === 200) {\n\t\t\t\t\tCodeMirrorSpellChecker.aff_data = xhr_aff.responseText;\n\t\t\t\t\tCodeMirrorSpellChecker.num_loaded++;\n\n\t\t\t\t\tif(CodeMirrorSpellChecker.num_loaded == 2) {\n\t\t\t\t\t\tCodeMirrorSpellChecker.typo = new Typo(\"en_US\", CodeMirrorSpellChecker.aff_data, CodeMirrorSpellChecker.dic_data, {\n\t\t\t\t\t\t\tplatform: \"any\"\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t};\n\t\t\txhr_aff.send(null);\n\t\t}\n\n\t\tif(!CodeMirrorSpellChecker.dic_loading) {\n\t\t\tCodeMirrorSpellChecker.dic_loading = true;\n\t\t\tvar xhr_dic = new XMLHttpRequest();\n\t\t\txhr_dic.open(\"GET\", \"https://cdn.jsdelivr.net/codemirror.spell-checker/latest/en_US.dic\", true);\n\t\t\txhr_dic.onload = function() {\n\t\t\t\tif(xhr_dic.readyState === 4 && xhr_dic.status === 200) {\n\t\t\t\t\tCodeMirrorSpellChecker.dic_data = xhr_dic.responseText;\n\t\t\t\t\tCodeMirrorSpellChecker.num_loaded++;\n\n\t\t\t\t\tif(CodeMirrorSpellChecker.num_loaded == 2) {\n\t\t\t\t\t\tCodeMirrorSpellChecker.typo = new Typo(\"en_US\", CodeMirrorSpellChecker.aff_data, CodeMirrorSpellChecker.dic_data, {\n\t\t\t\t\t\t\tplatform: \"any\"\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t};\n\t\t\txhr_dic.send(null);\n\t\t}\n\n\n\t\t// Define what separates a word\n\t\tvar rx_word = \"!\\\"#$%&()*+,-./:;<=>?@[\\\\]^_`{|}~ \";\n\n\n\t\t// Create the overlay and such\n\t\tvar overlay = {\n\t\t\ttoken: function(stream) {\n\t\t\t\tvar ch = stream.peek();\n\t\t\t\tvar word = \"\";\n\n\t\t\t\tif(rx_word.includes(ch)) {\n\t\t\t\t\tstream.next();\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\n\t\t\t\twhile((ch = stream.peek()) != null && !rx_word.includes(ch)) {\n\t\t\t\t\tword += ch;\n\t\t\t\t\tstream.next();\n\t\t\t\t}\n\n\t\t\t\tif(CodeMirrorSpellChecker.typo && !CodeMirrorSpellChecker.typo.check(word))\n\t\t\t\t\treturn \"spell-error\"; // CSS class: cm-spell-error\n\n\t\t\t\treturn null;\n\t\t\t}\n\t\t};\n\n\t\tvar mode = options.codeMirrorInstance.getMode(\n\t\t\tconfig, config.backdrop || \"text/plain\"\n\t\t);\n\n\t\treturn options.codeMirrorInstance.overlayMode(mode, overlay, true);\n\t});\n}\n\n\n// Initialize data globally to reduce memory consumption\nCodeMirrorSpellChecker.num_loaded = 0;\nCodeMirrorSpellChecker.aff_loading = false;\nCodeMirrorSpellChecker.dic_loading = false;\nCodeMirrorSpellChecker.aff_data = \"\";\nCodeMirrorSpellChecker.dic_data = \"\";\nCodeMirrorSpellChecker.typo;\n\n\n// Export\nmodule.exports = CodeMirrorSpellChecker;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/codemirror-spell-checker/src/js/spell-checker.js\n ** module id = 389\n ** module chunks = 0\n **/","// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: http://codemirror.net/LICENSE\n\n(function(mod) {\n if (typeof exports == \"object\" && typeof module == \"object\") // CommonJS\n mod(require(\"../../lib/codemirror\"));\n else if (typeof define == \"function\" && define.amd) // AMD\n define([\"../../lib/codemirror\"], mod);\n else // Plain browser env\n mod(CodeMirror);\n})(function(CodeMirror) {\n \"use strict\";\n\n CodeMirror.defineOption(\"fullScreen\", false, function(cm, val, old) {\n if (old == CodeMirror.Init) old = false;\n if (!old == !val) return;\n if (val) setFullscreen(cm);\n else setNormal(cm);\n });\n\n function setFullscreen(cm) {\n var wrap = cm.getWrapperElement();\n cm.state.fullScreenRestore = {scrollTop: window.pageYOffset, scrollLeft: window.pageXOffset,\n width: wrap.style.width, height: wrap.style.height};\n wrap.style.width = \"\";\n wrap.style.height = \"auto\";\n wrap.className += \" CodeMirror-fullscreen\";\n document.documentElement.style.overflow = \"hidden\";\n cm.refresh();\n }\n\n function setNormal(cm) {\n var wrap = cm.getWrapperElement();\n wrap.className = wrap.className.replace(/\\s*CodeMirror-fullscreen\\b/, \"\");\n document.documentElement.style.overflow = \"\";\n var info = cm.state.fullScreenRestore;\n wrap.style.width = info.width; wrap.style.height = info.height;\n window.scrollTo(info.scrollLeft, info.scrollTop);\n cm.refresh();\n }\n});\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/codemirror/addon/display/fullscreen.js\n ** module id = 390\n ** module chunks = 0\n **/","// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: http://codemirror.net/LICENSE\n\n(function(mod) {\n if (typeof exports == \"object\" && typeof module == \"object\") // CommonJS\n mod(require(\"../../lib/codemirror\"));\n else if (typeof define == \"function\" && define.amd) // AMD\n define([\"../../lib/codemirror\"], mod);\n else // Plain browser env\n mod(CodeMirror);\n})(function(CodeMirror) {\n CodeMirror.defineOption(\"placeholder\", \"\", function(cm, val, old) {\n var prev = old && old != CodeMirror.Init;\n if (val && !prev) {\n cm.on(\"blur\", onBlur);\n cm.on(\"change\", onChange);\n cm.on(\"swapDoc\", onChange);\n onChange(cm);\n } else if (!val && prev) {\n cm.off(\"blur\", onBlur);\n cm.off(\"change\", onChange);\n cm.off(\"swapDoc\", onChange);\n clearPlaceholder(cm);\n var wrapper = cm.getWrapperElement();\n wrapper.className = wrapper.className.replace(\" CodeMirror-empty\", \"\");\n }\n\n if (val && !cm.hasFocus()) onBlur(cm);\n });\n\n function clearPlaceholder(cm) {\n if (cm.state.placeholder) {\n cm.state.placeholder.parentNode.removeChild(cm.state.placeholder);\n cm.state.placeholder = null;\n }\n }\n function setPlaceholder(cm) {\n clearPlaceholder(cm);\n var elt = cm.state.placeholder = document.createElement(\"pre\");\n elt.style.cssText = \"height: 0; overflow: visible\";\n elt.className = \"CodeMirror-placeholder\";\n var placeHolder = cm.getOption(\"placeholder\")\n if (typeof placeHolder == \"string\") placeHolder = document.createTextNode(placeHolder)\n elt.appendChild(placeHolder)\n cm.display.lineSpace.insertBefore(elt, cm.display.lineSpace.firstChild);\n }\n\n function onBlur(cm) {\n if (isEmpty(cm)) setPlaceholder(cm);\n }\n function onChange(cm) {\n var wrapper = cm.getWrapperElement(), empty = isEmpty(cm);\n wrapper.className = wrapper.className.replace(\" CodeMirror-empty\", \"\") + (empty ? \" CodeMirror-empty\" : \"\");\n\n if (empty) setPlaceholder(cm);\n else clearPlaceholder(cm);\n }\n\n function isEmpty(cm) {\n return (cm.lineCount() === 1) && (cm.getLine(0) === \"\");\n }\n});\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/codemirror/addon/display/placeholder.js\n ** module id = 391\n ** module chunks = 0\n **/","// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: http://codemirror.net/LICENSE\n\n(function(mod) {\n if (typeof exports == \"object\" && typeof module == \"object\") // CommonJS\n mod(require(\"../../lib/codemirror\"));\n else if (typeof define == \"function\" && define.amd) // AMD\n define([\"../../lib/codemirror\"], mod);\n else // Plain browser env\n mod(CodeMirror);\n})(function(CodeMirror) {\n \"use strict\";\n\n var listRE = /^(\\s*)(>[> ]*|- \\[[x ]\\]\\s|[*+-]\\s|(\\d+)([.)]))(\\s*)/,\n emptyListRE = /^(\\s*)(>[> ]*|- \\[[x ]\\]|[*+-]|(\\d+)[.)])(\\s*)$/,\n unorderedListRE = /[*+-]\\s/;\n\n CodeMirror.commands.newlineAndIndentContinueMarkdownList = function(cm) {\n if (cm.getOption(\"disableInput\")) return CodeMirror.Pass;\n var ranges = cm.listSelections(), replacements = [];\n for (var i = 0; i < ranges.length; i++) {\n var pos = ranges[i].head;\n var eolState = cm.getStateAfter(pos.line);\n var inList = eolState.list !== false;\n var inQuote = eolState.quote !== 0;\n\n var line = cm.getLine(pos.line), match = listRE.exec(line);\n if (!ranges[i].empty() || (!inList && !inQuote) || !match) {\n cm.execCommand(\"newlineAndIndent\");\n return;\n }\n if (emptyListRE.test(line)) {\n cm.replaceRange(\"\", {\n line: pos.line, ch: 0\n }, {\n line: pos.line, ch: pos.ch + 1\n });\n replacements[i] = \"\\n\";\n } else {\n var indent = match[1], after = match[5];\n var bullet = unorderedListRE.test(match[2]) || match[2].indexOf(\">\") >= 0\n ? match[2].replace(\"x\", \" \")\n : (parseInt(match[3], 10) + 1) + match[4];\n\n replacements[i] = \"\\n\" + indent + bullet + after;\n }\n }\n\n cm.replaceSelections(replacements);\n };\n});\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/codemirror/addon/edit/continuelist.js\n ** module id = 392\n ** module chunks = 0\n **/","// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: http://codemirror.net/LICENSE\n\n// Because sometimes you need to mark the selected *text*.\n//\n// Adds an option 'styleSelectedText' which, when enabled, gives\n// selected text the CSS class given as option value, or\n// \"CodeMirror-selectedtext\" when the value is not a string.\n\n(function(mod) {\n if (typeof exports == \"object\" && typeof module == \"object\") // CommonJS\n mod(require(\"../../lib/codemirror\"));\n else if (typeof define == \"function\" && define.amd) // AMD\n define([\"../../lib/codemirror\"], mod);\n else // Plain browser env\n mod(CodeMirror);\n})(function(CodeMirror) {\n \"use strict\";\n\n CodeMirror.defineOption(\"styleSelectedText\", false, function(cm, val, old) {\n var prev = old && old != CodeMirror.Init;\n if (val && !prev) {\n cm.state.markedSelection = [];\n cm.state.markedSelectionStyle = typeof val == \"string\" ? val : \"CodeMirror-selectedtext\";\n reset(cm);\n cm.on(\"cursorActivity\", onCursorActivity);\n cm.on(\"change\", onChange);\n } else if (!val && prev) {\n cm.off(\"cursorActivity\", onCursorActivity);\n cm.off(\"change\", onChange);\n clear(cm);\n cm.state.markedSelection = cm.state.markedSelectionStyle = null;\n }\n });\n\n function onCursorActivity(cm) {\n cm.operation(function() { update(cm); });\n }\n\n function onChange(cm) {\n if (cm.state.markedSelection.length)\n cm.operation(function() { clear(cm); });\n }\n\n var CHUNK_SIZE = 8;\n var Pos = CodeMirror.Pos;\n var cmp = CodeMirror.cmpPos;\n\n function coverRange(cm, from, to, addAt) {\n if (cmp(from, to) == 0) return;\n var array = cm.state.markedSelection;\n var cls = cm.state.markedSelectionStyle;\n for (var line = from.line;;) {\n var start = line == from.line ? from : Pos(line, 0);\n var endLine = line + CHUNK_SIZE, atEnd = endLine >= to.line;\n var end = atEnd ? to : Pos(endLine, 0);\n var mark = cm.markText(start, end, {className: cls});\n if (addAt == null) array.push(mark);\n else array.splice(addAt++, 0, mark);\n if (atEnd) break;\n line = endLine;\n }\n }\n\n function clear(cm) {\n var array = cm.state.markedSelection;\n for (var i = 0; i < array.length; ++i) array[i].clear();\n array.length = 0;\n }\n\n function reset(cm) {\n clear(cm);\n var ranges = cm.listSelections();\n for (var i = 0; i < ranges.length; i++)\n coverRange(cm, ranges[i].from(), ranges[i].to());\n }\n\n function update(cm) {\n if (!cm.somethingSelected()) return clear(cm);\n if (cm.listSelections().length > 1) return reset(cm);\n\n var from = cm.getCursor(\"start\"), to = cm.getCursor(\"end\");\n\n var array = cm.state.markedSelection;\n if (!array.length) return coverRange(cm, from, to);\n\n var coverStart = array[0].find(), coverEnd = array[array.length - 1].find();\n if (!coverStart || !coverEnd || to.line - from.line < CHUNK_SIZE ||\n cmp(from, coverEnd.to) >= 0 || cmp(to, coverStart.from) <= 0)\n return reset(cm);\n\n while (cmp(from, coverStart.from) > 0) {\n array.shift().clear();\n coverStart = array[0].find();\n }\n if (cmp(from, coverStart.from) < 0) {\n if (coverStart.to.line - from.line < CHUNK_SIZE) {\n array.shift().clear();\n coverRange(cm, from, coverStart.to, 0);\n } else {\n coverRange(cm, from, coverStart.from, 0);\n }\n }\n\n while (cmp(to, coverEnd.to) < 0) {\n array.pop().clear();\n coverEnd = array[array.length - 1].find();\n }\n if (cmp(to, coverEnd.to) > 0) {\n if (to.line - coverEnd.from.line < CHUNK_SIZE) {\n array.pop().clear();\n coverRange(cm, coverEnd.from, to);\n } else {\n coverRange(cm, coverEnd.to, to);\n }\n }\n }\n});\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/codemirror/addon/selection/mark-selection.js\n ** module id = 393\n ** module chunks = 0\n **/","// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: http://codemirror.net/LICENSE\n\n(function(mod) {\n if (typeof exports == \"object\" && typeof module == \"object\") // CommonJS\n mod(require(\"../../lib/codemirror\"), require(\"../markdown/markdown\"), require(\"../../addon/mode/overlay\"));\n else if (typeof define == \"function\" && define.amd) // AMD\n define([\"../../lib/codemirror\", \"../markdown/markdown\", \"../../addon/mode/overlay\"], mod);\n else // Plain browser env\n mod(CodeMirror);\n})(function(CodeMirror) {\n\"use strict\";\n\nvar urlRE = /^((?:(?:aaas?|about|acap|adiumxtra|af[ps]|aim|apt|attachment|aw|beshare|bitcoin|bolo|callto|cap|chrome(?:-extension)?|cid|coap|com-eventbrite-attendee|content|crid|cvs|data|dav|dict|dlna-(?:playcontainer|playsingle)|dns|doi|dtn|dvb|ed2k|facetime|feed|file|finger|fish|ftp|geo|gg|git|gizmoproject|go|gopher|gtalk|h323|hcp|https?|iax|icap|icon|im|imap|info|ipn|ipp|irc[6s]?|iris(?:\\.beep|\\.lwz|\\.xpc|\\.xpcs)?|itms|jar|javascript|jms|keyparc|lastfm|ldaps?|magnet|mailto|maps|market|message|mid|mms|ms-help|msnim|msrps?|mtqp|mumble|mupdate|mvn|news|nfs|nih?|nntp|notes|oid|opaquelocktoken|palm|paparazzi|platform|pop|pres|proxy|psyc|query|res(?:ource)?|rmi|rsync|rtmp|rtsp|secondlife|service|session|sftp|sgn|shttp|sieve|sips?|skype|sm[bs]|snmp|soap\\.beeps?|soldat|spotify|ssh|steam|svn|tag|teamspeak|tel(?:net)?|tftp|things|thismessage|tip|tn3270|tv|udp|unreal|urn|ut2004|vemmi|ventrilo|view-source|webcal|wss?|wtai|wyciwyg|xcon(?:-userid)?|xfire|xmlrpc\\.beeps?|xmpp|xri|ymsgr|z39\\.50[rs]?):(?:\\/{1,3}|[a-z0-9%])|www\\d{0,3}[.]|[a-z0-9.\\-]+[.][a-z]{2,4}\\/)(?:[^\\s()<>]|\\([^\\s()<>]*\\))+(?:\\([^\\s()<>]*\\)|[^\\s`*!()\\[\\]{};:'\".,<>?«»“”‘’]))/i\n\nCodeMirror.defineMode(\"gfm\", function(config, modeConfig) {\n var codeDepth = 0;\n function blankLine(state) {\n state.code = false;\n return null;\n }\n var gfmOverlay = {\n startState: function() {\n return {\n code: false,\n codeBlock: false,\n ateSpace: false\n };\n },\n copyState: function(s) {\n return {\n code: s.code,\n codeBlock: s.codeBlock,\n ateSpace: s.ateSpace\n };\n },\n token: function(stream, state) {\n state.combineTokens = null;\n\n // Hack to prevent formatting override inside code blocks (block and inline)\n if (state.codeBlock) {\n if (stream.match(/^```+/)) {\n state.codeBlock = false;\n return null;\n }\n stream.skipToEnd();\n return null;\n }\n if (stream.sol()) {\n state.code = false;\n }\n if (stream.sol() && stream.match(/^```+/)) {\n stream.skipToEnd();\n state.codeBlock = true;\n return null;\n }\n // If this block is changed, it may need to be updated in Markdown mode\n if (stream.peek() === '`') {\n stream.next();\n var before = stream.pos;\n stream.eatWhile('`');\n var difference = 1 + stream.pos - before;\n if (!state.code) {\n codeDepth = difference;\n state.code = true;\n } else {\n if (difference === codeDepth) { // Must be exact\n state.code = false;\n }\n }\n return null;\n } else if (state.code) {\n stream.next();\n return null;\n }\n // Check if space. If so, links can be formatted later on\n if (stream.eatSpace()) {\n state.ateSpace = true;\n return null;\n }\n if (stream.sol() || state.ateSpace) {\n state.ateSpace = false;\n if (modeConfig.gitHubSpice !== false) {\n if(stream.match(/^(?:[a-zA-Z0-9\\-_]+\\/)?(?:[a-zA-Z0-9\\-_]+@)?(?:[a-f0-9]{7,40}\\b)/)) {\n // User/Project@SHA\n // User@SHA\n // SHA\n state.combineTokens = true;\n return \"link\";\n } else if (stream.match(/^(?:[a-zA-Z0-9\\-_]+\\/)?(?:[a-zA-Z0-9\\-_]+)?#[0-9]+\\b/)) {\n // User/Project#Num\n // User#Num\n // #Num\n state.combineTokens = true;\n return \"link\";\n }\n }\n }\n if (stream.match(urlRE) &&\n stream.string.slice(stream.start - 2, stream.start) != \"](\" &&\n (stream.start == 0 || /\\W/.test(stream.string.charAt(stream.start - 1)))) {\n // URLs\n // Taken from http://daringfireball.net/2010/07/improved_regex_for_matching_urls\n // And then (issue #1160) simplified to make it not crash the Chrome Regexp engine\n // And then limited url schemes to the CommonMark list, so foo:bar isn't matched as a URL\n state.combineTokens = true;\n return \"link\";\n }\n stream.next();\n return null;\n },\n blankLine: blankLine\n };\n\n var markdownConfig = {\n underscoresBreakWords: false,\n taskLists: true,\n fencedCodeBlocks: '```',\n strikethrough: true\n };\n for (var attr in modeConfig) {\n markdownConfig[attr] = modeConfig[attr];\n }\n markdownConfig.name = \"markdown\";\n return CodeMirror.overlayMode(CodeMirror.getMode(config, markdownConfig), gfmOverlay);\n\n}, \"markdown\");\n\n CodeMirror.defineMIME(\"text/x-gfm\", \"gfm\");\n});\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/codemirror/mode/gfm/gfm.js\n ** module id = 394\n ** module chunks = 0\n **/","// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: http://codemirror.net/LICENSE\n\n(function(mod) {\n if (typeof exports == \"object\" && typeof module == \"object\") // CommonJS\n mod(require(\"../lib/codemirror\"));\n else if (typeof define == \"function\" && define.amd) // AMD\n define([\"../lib/codemirror\"], mod);\n else // Plain browser env\n mod(CodeMirror);\n})(function(CodeMirror) {\n \"use strict\";\n\n CodeMirror.modeInfo = [\n {name: \"APL\", mime: \"text/apl\", mode: \"apl\", ext: [\"dyalog\", \"apl\"]},\n {name: \"PGP\", mimes: [\"application/pgp\", \"application/pgp-keys\", \"application/pgp-signature\"], mode: \"asciiarmor\", ext: [\"pgp\"]},\n {name: \"ASN.1\", mime: \"text/x-ttcn-asn\", mode: \"asn.1\", ext: [\"asn\", \"asn1\"]},\n {name: \"Asterisk\", mime: \"text/x-asterisk\", mode: \"asterisk\", file: /^extensions\\.conf$/i},\n {name: \"Brainfuck\", mime: \"text/x-brainfuck\", mode: \"brainfuck\", ext: [\"b\", \"bf\"]},\n {name: \"C\", mime: \"text/x-csrc\", mode: \"clike\", ext: [\"c\", \"h\"]},\n {name: \"C++\", mime: \"text/x-c++src\", mode: \"clike\", ext: [\"cpp\", \"c++\", \"cc\", \"cxx\", \"hpp\", \"h++\", \"hh\", \"hxx\"], alias: [\"cpp\"]},\n {name: \"Cobol\", mime: \"text/x-cobol\", mode: \"cobol\", ext: [\"cob\", \"cpy\"]},\n {name: \"C#\", mime: \"text/x-csharp\", mode: \"clike\", ext: [\"cs\"], alias: [\"csharp\"]},\n {name: \"Clojure\", mime: \"text/x-clojure\", mode: \"clojure\", ext: [\"clj\", \"cljc\", \"cljx\"]},\n {name: \"ClojureScript\", mime: \"text/x-clojurescript\", mode: \"clojure\", ext: [\"cljs\"]},\n {name: \"Closure Stylesheets (GSS)\", mime: \"text/x-gss\", mode: \"css\", ext: [\"gss\"]},\n {name: \"CMake\", mime: \"text/x-cmake\", mode: \"cmake\", ext: [\"cmake\", \"cmake.in\"], file: /^CMakeLists.txt$/},\n {name: \"CoffeeScript\", mime: \"text/x-coffeescript\", mode: \"coffeescript\", ext: [\"coffee\"], alias: [\"coffee\", \"coffee-script\"]},\n {name: \"Common Lisp\", mime: \"text/x-common-lisp\", mode: \"commonlisp\", ext: [\"cl\", \"lisp\", \"el\"], alias: [\"lisp\"]},\n {name: \"Cypher\", mime: \"application/x-cypher-query\", mode: \"cypher\", ext: [\"cyp\", \"cypher\"]},\n {name: \"Cython\", mime: \"text/x-cython\", mode: \"python\", ext: [\"pyx\", \"pxd\", \"pxi\"]},\n {name: \"Crystal\", mime: \"text/x-crystal\", mode: \"crystal\", ext: [\"cr\"]},\n {name: \"CSS\", mime: \"text/css\", mode: \"css\", ext: [\"css\"]},\n {name: \"CQL\", mime: \"text/x-cassandra\", mode: \"sql\", ext: [\"cql\"]},\n {name: \"D\", mime: \"text/x-d\", mode: \"d\", ext: [\"d\"]},\n {name: \"Dart\", mimes: [\"application/dart\", \"text/x-dart\"], mode: \"dart\", ext: [\"dart\"]},\n {name: \"diff\", mime: \"text/x-diff\", mode: \"diff\", ext: [\"diff\", \"patch\"]},\n {name: \"Django\", mime: \"text/x-django\", mode: \"django\"},\n {name: \"Dockerfile\", mime: \"text/x-dockerfile\", mode: \"dockerfile\", file: /^Dockerfile$/},\n {name: \"DTD\", mime: \"application/xml-dtd\", mode: \"dtd\", ext: [\"dtd\"]},\n {name: \"Dylan\", mime: \"text/x-dylan\", mode: \"dylan\", ext: [\"dylan\", \"dyl\", \"intr\"]},\n {name: \"EBNF\", mime: \"text/x-ebnf\", mode: \"ebnf\"},\n {name: \"ECL\", mime: \"text/x-ecl\", mode: \"ecl\", ext: [\"ecl\"]},\n {name: \"edn\", mime: \"application/edn\", mode: \"clojure\", ext: [\"edn\"]},\n {name: \"Eiffel\", mime: \"text/x-eiffel\", mode: \"eiffel\", ext: [\"e\"]},\n {name: \"Elm\", mime: \"text/x-elm\", mode: \"elm\", ext: [\"elm\"]},\n {name: \"Embedded Javascript\", mime: \"application/x-ejs\", mode: \"htmlembedded\", ext: [\"ejs\"]},\n {name: \"Embedded Ruby\", mime: \"application/x-erb\", mode: \"htmlembedded\", ext: [\"erb\"]},\n {name: \"Erlang\", mime: \"text/x-erlang\", mode: \"erlang\", ext: [\"erl\"]},\n {name: \"Factor\", mime: \"text/x-factor\", mode: \"factor\", ext: [\"factor\"]},\n {name: \"FCL\", mime: \"text/x-fcl\", mode: \"fcl\"},\n {name: \"Forth\", mime: \"text/x-forth\", mode: \"forth\", ext: [\"forth\", \"fth\", \"4th\"]},\n {name: \"Fortran\", mime: \"text/x-fortran\", mode: \"fortran\", ext: [\"f\", \"for\", \"f77\", \"f90\"]},\n {name: \"F#\", mime: \"text/x-fsharp\", mode: \"mllike\", ext: [\"fs\"], alias: [\"fsharp\"]},\n {name: \"Gas\", mime: \"text/x-gas\", mode: \"gas\", ext: [\"s\"]},\n {name: \"Gherkin\", mime: \"text/x-feature\", mode: \"gherkin\", ext: [\"feature\"]},\n {name: \"GitHub Flavored Markdown\", mime: \"text/x-gfm\", mode: \"gfm\", file: /^(readme|contributing|history).md$/i},\n {name: \"Go\", mime: \"text/x-go\", mode: \"go\", ext: [\"go\"]},\n {name: \"Groovy\", mime: \"text/x-groovy\", mode: \"groovy\", ext: [\"groovy\", \"gradle\"], file: /^Jenkinsfile$/},\n {name: \"HAML\", mime: \"text/x-haml\", mode: \"haml\", ext: [\"haml\"]},\n {name: \"Haskell\", mime: \"text/x-haskell\", mode: \"haskell\", ext: [\"hs\"]},\n {name: \"Haskell (Literate)\", mime: \"text/x-literate-haskell\", mode: \"haskell-literate\", ext: [\"lhs\"]},\n {name: \"Haxe\", mime: \"text/x-haxe\", mode: \"haxe\", ext: [\"hx\"]},\n {name: \"HXML\", mime: \"text/x-hxml\", mode: \"haxe\", ext: [\"hxml\"]},\n {name: \"ASP.NET\", mime: \"application/x-aspx\", mode: \"htmlembedded\", ext: [\"aspx\"], alias: [\"asp\", \"aspx\"]},\n {name: \"HTML\", mime: \"text/html\", mode: \"htmlmixed\", ext: [\"html\", \"htm\"], alias: [\"xhtml\"]},\n {name: \"HTTP\", mime: \"message/http\", mode: \"http\"},\n {name: \"IDL\", mime: \"text/x-idl\", mode: \"idl\", ext: [\"pro\"]},\n {name: \"Pug\", mime: \"text/x-pug\", mode: \"pug\", ext: [\"jade\", \"pug\"], alias: [\"jade\"]},\n {name: \"Java\", mime: \"text/x-java\", mode: \"clike\", ext: [\"java\"]},\n {name: \"Java Server Pages\", mime: \"application/x-jsp\", mode: \"htmlembedded\", ext: [\"jsp\"], alias: [\"jsp\"]},\n {name: \"JavaScript\", mimes: [\"text/javascript\", \"text/ecmascript\", \"application/javascript\", \"application/x-javascript\", \"application/ecmascript\"],\n mode: \"javascript\", ext: [\"js\"], alias: [\"ecmascript\", \"js\", \"node\"]},\n {name: \"JSON\", mimes: [\"application/json\", \"application/x-json\"], mode: \"javascript\", ext: [\"json\", \"map\"], alias: [\"json5\"]},\n {name: \"JSON-LD\", mime: \"application/ld+json\", mode: \"javascript\", ext: [\"jsonld\"], alias: [\"jsonld\"]},\n {name: \"JSX\", mime: \"text/jsx\", mode: \"jsx\", ext: [\"jsx\"]},\n {name: \"Jinja2\", mime: \"null\", mode: \"jinja2\"},\n {name: \"Julia\", mime: \"text/x-julia\", mode: \"julia\", ext: [\"jl\"]},\n {name: \"Kotlin\", mime: \"text/x-kotlin\", mode: \"clike\", ext: [\"kt\"]},\n {name: \"LESS\", mime: \"text/x-less\", mode: \"css\", ext: [\"less\"]},\n {name: \"LiveScript\", mime: \"text/x-livescript\", mode: \"livescript\", ext: [\"ls\"], alias: [\"ls\"]},\n {name: \"Lua\", mime: \"text/x-lua\", mode: \"lua\", ext: [\"lua\"]},\n {name: \"Markdown\", mime: \"text/x-markdown\", mode: \"markdown\", ext: [\"markdown\", \"md\", \"mkd\"]},\n {name: \"mIRC\", mime: \"text/mirc\", mode: \"mirc\"},\n {name: \"MariaDB SQL\", mime: \"text/x-mariadb\", mode: \"sql\"},\n {name: \"Mathematica\", mime: \"text/x-mathematica\", mode: \"mathematica\", ext: [\"m\", \"nb\"]},\n {name: \"Modelica\", mime: \"text/x-modelica\", mode: \"modelica\", ext: [\"mo\"]},\n {name: \"MUMPS\", mime: \"text/x-mumps\", mode: \"mumps\", ext: [\"mps\"]},\n {name: \"MS SQL\", mime: \"text/x-mssql\", mode: \"sql\"},\n {name: \"mbox\", mime: \"application/mbox\", mode: \"mbox\", ext: [\"mbox\"]},\n {name: \"MySQL\", mime: \"text/x-mysql\", mode: \"sql\"},\n {name: \"Nginx\", mime: \"text/x-nginx-conf\", mode: \"nginx\", file: /nginx.*\\.conf$/i},\n {name: \"NSIS\", mime: \"text/x-nsis\", mode: \"nsis\", ext: [\"nsh\", \"nsi\"]},\n {name: \"NTriples\", mime: \"text/n-triples\", mode: \"ntriples\", ext: [\"nt\"]},\n {name: \"Objective C\", mime: \"text/x-objectivec\", mode: \"clike\", ext: [\"m\", \"mm\"], alias: [\"objective-c\", \"objc\"]},\n {name: \"OCaml\", mime: \"text/x-ocaml\", mode: \"mllike\", ext: [\"ml\", \"mli\", \"mll\", \"mly\"]},\n {name: \"Octave\", mime: \"text/x-octave\", mode: \"octave\", ext: [\"m\"]},\n {name: \"Oz\", mime: \"text/x-oz\", mode: \"oz\", ext: [\"oz\"]},\n {name: \"Pascal\", mime: \"text/x-pascal\", mode: \"pascal\", ext: [\"p\", \"pas\"]},\n {name: \"PEG.js\", mime: \"null\", mode: \"pegjs\", ext: [\"jsonld\"]},\n {name: \"Perl\", mime: \"text/x-perl\", mode: \"perl\", ext: [\"pl\", \"pm\"]},\n {name: \"PHP\", mime: \"application/x-httpd-php\", mode: \"php\", ext: [\"php\", \"php3\", \"php4\", \"php5\", \"phtml\"]},\n {name: \"Pig\", mime: \"text/x-pig\", mode: \"pig\", ext: [\"pig\"]},\n {name: \"Plain Text\", mime: \"text/plain\", mode: \"null\", ext: [\"txt\", \"text\", \"conf\", \"def\", \"list\", \"log\"]},\n {name: \"PLSQL\", mime: \"text/x-plsql\", mode: \"sql\", ext: [\"pls\"]},\n {name: \"PowerShell\", mime: \"application/x-powershell\", mode: \"powershell\", ext: [\"ps1\", \"psd1\", \"psm1\"]},\n {name: \"Properties files\", mime: \"text/x-properties\", mode: \"properties\", ext: [\"properties\", \"ini\", \"in\"], alias: [\"ini\", \"properties\"]},\n {name: \"ProtoBuf\", mime: \"text/x-protobuf\", mode: \"protobuf\", ext: [\"proto\"]},\n {name: \"Python\", mime: \"text/x-python\", mode: \"python\", ext: [\"BUILD\", \"bzl\", \"py\", \"pyw\"], file: /^(BUCK|BUILD)$/},\n {name: \"Puppet\", mime: \"text/x-puppet\", mode: \"puppet\", ext: [\"pp\"]},\n {name: \"Q\", mime: \"text/x-q\", mode: \"q\", ext: [\"q\"]},\n {name: \"R\", mime: \"text/x-rsrc\", mode: \"r\", ext: [\"r\", \"R\"], alias: [\"rscript\"]},\n {name: \"reStructuredText\", mime: \"text/x-rst\", mode: \"rst\", ext: [\"rst\"], alias: [\"rst\"]},\n {name: \"RPM Changes\", mime: \"text/x-rpm-changes\", mode: \"rpm\"},\n {name: \"RPM Spec\", mime: \"text/x-rpm-spec\", mode: \"rpm\", ext: [\"spec\"]},\n {name: \"Ruby\", mime: \"text/x-ruby\", mode: \"ruby\", ext: [\"rb\"], alias: [\"jruby\", \"macruby\", \"rake\", \"rb\", \"rbx\"]},\n {name: \"Rust\", mime: \"text/x-rustsrc\", mode: \"rust\", ext: [\"rs\"]},\n {name: \"SAS\", mime: \"text/x-sas\", mode: \"sas\", ext: [\"sas\"]},\n {name: \"Sass\", mime: \"text/x-sass\", mode: \"sass\", ext: [\"sass\"]},\n {name: \"Scala\", mime: \"text/x-scala\", mode: \"clike\", ext: [\"scala\"]},\n {name: \"Scheme\", mime: \"text/x-scheme\", mode: \"scheme\", ext: [\"scm\", \"ss\"]},\n {name: \"SCSS\", mime: \"text/x-scss\", mode: \"css\", ext: [\"scss\"]},\n {name: \"Shell\", mime: \"text/x-sh\", mode: \"shell\", ext: [\"sh\", \"ksh\", \"bash\"], alias: [\"bash\", \"sh\", \"zsh\"], file: /^PKGBUILD$/},\n {name: \"Sieve\", mime: \"application/sieve\", mode: \"sieve\", ext: [\"siv\", \"sieve\"]},\n {name: \"Slim\", mimes: [\"text/x-slim\", \"application/x-slim\"], mode: \"slim\", ext: [\"slim\"]},\n {name: \"Smalltalk\", mime: \"text/x-stsrc\", mode: \"smalltalk\", ext: [\"st\"]},\n {name: \"Smarty\", mime: \"text/x-smarty\", mode: \"smarty\", ext: [\"tpl\"]},\n {name: \"Solr\", mime: \"text/x-solr\", mode: \"solr\"},\n {name: \"Soy\", mime: \"text/x-soy\", mode: \"soy\", ext: [\"soy\"], alias: [\"closure template\"]},\n {name: \"SPARQL\", mime: \"application/sparql-query\", mode: \"sparql\", ext: [\"rq\", \"sparql\"], alias: [\"sparul\"]},\n {name: \"Spreadsheet\", mime: \"text/x-spreadsheet\", mode: \"spreadsheet\", alias: [\"excel\", \"formula\"]},\n {name: \"SQL\", mime: \"text/x-sql\", mode: \"sql\", ext: [\"sql\"]},\n {name: \"Squirrel\", mime: \"text/x-squirrel\", mode: \"clike\", ext: [\"nut\"]},\n {name: \"Stylus\", mime: \"text/x-styl\", mode: \"stylus\", ext: [\"styl\"]},\n {name: \"Swift\", mime: \"text/x-swift\", mode: \"swift\", ext: [\"swift\"]},\n {name: \"sTeX\", mime: \"text/x-stex\", mode: \"stex\"},\n {name: \"LaTeX\", mime: \"text/x-latex\", mode: \"stex\", ext: [\"text\", \"ltx\"], alias: [\"tex\"]},\n {name: \"SystemVerilog\", mime: \"text/x-systemverilog\", mode: \"verilog\", ext: [\"v\"]},\n {name: \"Tcl\", mime: \"text/x-tcl\", mode: \"tcl\", ext: [\"tcl\"]},\n {name: \"Textile\", mime: \"text/x-textile\", mode: \"textile\", ext: [\"textile\"]},\n {name: \"TiddlyWiki \", mime: \"text/x-tiddlywiki\", mode: \"tiddlywiki\"},\n {name: \"Tiki wiki\", mime: \"text/tiki\", mode: \"tiki\"},\n {name: \"TOML\", mime: \"text/x-toml\", mode: \"toml\", ext: [\"toml\"]},\n {name: \"Tornado\", mime: \"text/x-tornado\", mode: \"tornado\"},\n {name: \"troff\", mime: \"text/troff\", mode: \"troff\", ext: [\"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\"]},\n {name: \"TTCN\", mime: \"text/x-ttcn\", mode: \"ttcn\", ext: [\"ttcn\", \"ttcn3\", \"ttcnpp\"]},\n {name: \"TTCN_CFG\", mime: \"text/x-ttcn-cfg\", mode: \"ttcn-cfg\", ext: [\"cfg\"]},\n {name: \"Turtle\", mime: \"text/turtle\", mode: \"turtle\", ext: [\"ttl\"]},\n {name: \"TypeScript\", mime: \"application/typescript\", mode: \"javascript\", ext: [\"ts\"], alias: [\"ts\"]},\n {name: \"Twig\", mime: \"text/x-twig\", mode: \"twig\"},\n {name: \"Web IDL\", mime: \"text/x-webidl\", mode: \"webidl\", ext: [\"webidl\"]},\n {name: \"VB.NET\", mime: \"text/x-vb\", mode: \"vb\", ext: [\"vb\"]},\n {name: \"VBScript\", mime: \"text/vbscript\", mode: \"vbscript\", ext: [\"vbs\"]},\n {name: \"Velocity\", mime: \"text/velocity\", mode: \"velocity\", ext: [\"vtl\"]},\n {name: \"Verilog\", mime: \"text/x-verilog\", mode: \"verilog\", ext: [\"v\"]},\n {name: \"VHDL\", mime: \"text/x-vhdl\", mode: \"vhdl\", ext: [\"vhd\", \"vhdl\"]},\n {name: \"Vue.js Component\", mimes: [\"script/x-vue\", \"text/x-vue\"], mode: \"vue\", ext: [\"vue\"]},\n {name: \"XML\", mimes: [\"application/xml\", \"text/xml\"], mode: \"xml\", ext: [\"xml\", \"xsl\", \"xsd\"], alias: [\"rss\", \"wsdl\", \"xsd\"]},\n {name: \"XQuery\", mime: \"application/xquery\", mode: \"xquery\", ext: [\"xy\", \"xquery\"]},\n {name: \"Yacas\", mime: \"text/x-yacas\", mode: \"yacas\", ext: [\"ys\"]},\n {name: \"YAML\", mimes: [\"text/x-yaml\", \"text/yaml\"], mode: \"yaml\", ext: [\"yaml\", \"yml\"], alias: [\"yml\"]},\n {name: \"Z80\", mime: \"text/x-z80\", mode: \"z80\", ext: [\"z80\"]},\n {name: \"mscgen\", mime: \"text/x-mscgen\", mode: \"mscgen\", ext: [\"mscgen\", \"mscin\", \"msc\"]},\n {name: \"xu\", mime: \"text/x-xu\", mode: \"mscgen\", ext: [\"xu\"]},\n {name: \"msgenny\", mime: \"text/x-msgenny\", mode: \"mscgen\", ext: [\"msgenny\"]}\n ];\n // Ensure all modes have a mime property for backwards compatibility\n for (var i = 0; i < CodeMirror.modeInfo.length; i++) {\n var info = CodeMirror.modeInfo[i];\n if (info.mimes) info.mime = info.mimes[0];\n }\n\n CodeMirror.findModeByMIME = function(mime) {\n mime = mime.toLowerCase();\n for (var i = 0; i < CodeMirror.modeInfo.length; i++) {\n var info = CodeMirror.modeInfo[i];\n if (info.mime == mime) return info;\n if (info.mimes) for (var j = 0; j < info.mimes.length; j++)\n if (info.mimes[j] == mime) return info;\n }\n };\n\n CodeMirror.findModeByExtension = function(ext) {\n for (var i = 0; i < CodeMirror.modeInfo.length; i++) {\n var info = CodeMirror.modeInfo[i];\n if (info.ext) for (var j = 0; j < info.ext.length; j++)\n if (info.ext[j] == ext) return info;\n }\n };\n\n CodeMirror.findModeByFileName = function(filename) {\n for (var i = 0; i < CodeMirror.modeInfo.length; i++) {\n var info = CodeMirror.modeInfo[i];\n if (info.file && info.file.test(filename)) return info;\n }\n var dot = filename.lastIndexOf(\".\");\n var ext = dot > -1 && filename.substring(dot + 1, filename.length);\n if (ext) return CodeMirror.findModeByExtension(ext);\n };\n\n CodeMirror.findModeByName = function(name) {\n name = name.toLowerCase();\n for (var i = 0; i < CodeMirror.modeInfo.length; i++) {\n var info = CodeMirror.modeInfo[i];\n if (info.name.toLowerCase() == name) return info;\n if (info.alias) for (var j = 0; j < info.alias.length; j++)\n if (info.alias[j].toLowerCase() == name) return info;\n }\n };\n});\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/codemirror/mode/meta.js\n ** module id = 395\n ** module chunks = 0\n **/","var MILI = 'milliseconds'\n , SECONDS = 'seconds'\n , MINUTES = 'minutes'\n , HOURS = 'hours'\n , DAY = 'day'\n , WEEK = 'week'\n , MONTH = 'month'\n , YEAR = 'year'\n , DECADE = 'decade'\n , CENTURY = 'century';\n\nvar dates = module.exports = {\n\n add: function(date, num, unit) {\n date = new Date(date)\n\n switch (unit){\n case MILI:\n case SECONDS:\n case MINUTES:\n case HOURS:\n case YEAR:\n return dates[unit](date, dates[unit](date) + num)\n case DAY:\n return dates.date(date, dates.date(date) + num)\n case WEEK:\n return dates.date(date, dates.date(date) + (7 * num)) \n case MONTH:\n return monthMath(date, num)\n case DECADE:\n return dates.year(date, dates.year(date) + (num * 10))\n case CENTURY:\n return dates.year(date, dates.year(date) + (num * 100))\n }\n\n throw new TypeError('Invalid units: \"' + unit + '\"')\n },\n\n subtract: function(date, num, unit) {\n return dates.add(date, -num, unit)\n },\n\n startOf: function(date, unit, firstOfWeek) {\n date = new Date(date)\n\n switch (unit) {\n case 'century':\n case 'decade':\n case 'year':\n date = dates.month(date, 0);\n case 'month':\n date = dates.date(date, 1);\n case 'week':\n case 'day':\n date = dates.hours(date, 0);\n case 'hours':\n date = dates.minutes(date, 0);\n case 'minutes':\n date = dates.seconds(date, 0);\n case 'seconds':\n date = dates.milliseconds(date, 0);\n }\n\n if (unit === DECADE) \n date = dates.subtract(date, dates.year(date) % 10, 'year')\n \n if (unit === CENTURY) \n date = dates.subtract(date, dates.year(date) % 100, 'year')\n\n if (unit === WEEK) \n date = dates.weekday(date, 0, firstOfWeek);\n\n return date\n },\n\n\n endOf: function(date, unit, firstOfWeek){\n date = new Date(date)\n date = dates.startOf(date, unit, firstOfWeek)\n date = dates.add(date, 1, unit)\n date = dates.subtract(date, 1, MILI)\n return date\n },\n\n eq: createComparer(function(a, b){ return a === b }),\n neq: createComparer(function(a, b){ return a !== b }),\n gt: createComparer(function(a, b){ return a > b }),\n gte: createComparer(function(a, b){ return a >= b }),\n lt: createComparer(function(a, b){ return a < b }),\n lte: createComparer(function(a, b){ return a <= b }),\n\n min: function(){\n return new Date(Math.min.apply(Math, arguments))\n },\n\n max: function(){\n return new Date(Math.max.apply(Math, arguments))\n },\n \n inRange: function(day, min, max, unit){\n unit = unit || 'day'\n\n return (!min || dates.gte(day, min, unit))\n && (!max || dates.lte(day, max, unit))\n },\n\n milliseconds: createAccessor('Milliseconds'),\n seconds: createAccessor('Seconds'),\n minutes: createAccessor('Minutes'),\n hours: createAccessor('Hours'),\n day: createAccessor('Day'),\n date: createAccessor('Date'),\n month: createAccessor('Month'),\n year: createAccessor('FullYear'),\n\n decade: function (date, val) {\n return val === undefined \n ? dates.year(dates.startOf(date, DECADE))\n : dates.add(date, val + 10, YEAR);\n },\n\n century: function (date, val) {\n return val === undefined \n ? dates.year(dates.startOf(date, CENTURY))\n : dates.add(date, val + 100, YEAR);\n },\n\n weekday: function (date, val, firstDay) {\n var weekday = (dates.day(date) + 7 - (firstDay || 0) ) % 7;\n\n return val === undefined \n ? weekday \n : dates.add(date, val - weekday, DAY);\n },\n\n diff: function (date1, date2, unit, asFloat) {\n var dividend, divisor, result;\n\n switch (unit) {\n case MILI:\n case SECONDS:\n case MINUTES:\n case HOURS:\n case DAY:\n case WEEK:\n dividend = date2.getTime() - date1.getTime(); break;\n case MONTH:\n case YEAR:\n case DECADE:\n case CENTURY:\n dividend = (dates.year(date2) - dates.year(date1)) * 12 + dates.month(date2) - dates.month(date1); break;\n default:\n throw new TypeError('Invalid units: \"' + unit + '\"');\n }\n\n switch (unit) {\n case MILI:\n divisor = 1; break;\n case SECONDS:\n divisor = 1000; break;\n case MINUTES:\n divisor = 1000 * 60; break;\n case HOURS:\n divisor = 1000 * 60 * 60; break;\n case DAY:\n divisor = 1000 * 60 * 60 * 24; break;\n case WEEK:\n divisor = 1000 * 60 * 60 * 24 * 7; break;\n case MONTH:\n divisor = 1; break;\n case YEAR:\n divisor = 12; break;\n case DECADE:\n divisor = 120; break;\n case CENTURY:\n divisor = 1200; break;\n default:\n throw new TypeError('Invalid units: \"' + unit + '\"');\n }\n\n result = dividend / divisor;\n\n return asFloat ? result : absoluteFloor(result);\n }\n};\n\nfunction absoluteFloor(number) {\n return number < 0 ? Math.ceil(number) : Math.floor(number);\n}\n\nfunction monthMath(date, val){\n var current = dates.month(date)\n , newMonth = (current + val);\n\n date = dates.month(date, newMonth)\n\n while (newMonth < 0 ) newMonth = 12 + newMonth\n \n //month rollover\n if ( dates.month(date) !== ( newMonth % 12))\n date = dates.date(date, 0) //move to last of month\n\n return date\n}\n\nfunction createAccessor(method){\n return function(date, val){\n if (val === undefined)\n return date['get' + method]()\n\n date = new Date(date)\n date['set' + method](val)\n return date\n }\n}\n\nfunction createComparer(operator) {\n return function (a, b, unit) {\n return operator(+dates.startOf(a, unit), +dates.startOf(b, unit))\n };\n}\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/date-arithmetic/index.js\n ** module id = 396\n ** module chunks = 0\n **/","'use strict';\n\nvar babelHelpers = require('./util/babelHelpers.js');\n\nexports.__esModule = true;\n\n/**\r\n * document.activeElement\r\n */\nexports['default'] = activeElement;\n\nvar _ownerDocument = require('./ownerDocument');\n\nvar _ownerDocument2 = babelHelpers.interopRequireDefault(_ownerDocument);\n\nfunction activeElement() {\n var doc = arguments[0] === undefined ? document : arguments[0];\n\n try {\n return doc.activeElement;\n } catch (e) {}\n}\n\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dom-helpers/activeElement.js\n ** module id = 397\n ** module chunks = 0\n **/","'use strict';\nvar canUseDOM = require('../util/inDOM');\nvar off = function off() {};\n\nif (canUseDOM) {\n\n off = (function () {\n\n if (document.addEventListener) return function (node, eventName, handler, capture) {\n return node.removeEventListener(eventName, handler, capture || false);\n };else if (document.attachEvent) return function (node, eventName, handler) {\n return node.detachEvent('on' + eventName, handler);\n };\n })();\n}\n\nmodule.exports = off;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dom-helpers/events/off.js\n ** module id = 398\n ** module chunks = 0\n **/","'use strict';\nvar canUseDOM = require('../util/inDOM');\nvar on = function on() {};\n\nif (canUseDOM) {\n on = (function () {\n\n if (document.addEventListener) return function (node, eventName, handler, capture) {\n return node.addEventListener(eventName, handler, capture || false);\n };else if (document.attachEvent) return function (node, eventName, handler) {\n return node.attachEvent('on' + eventName, handler);\n };\n })();\n}\n\nmodule.exports = on;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dom-helpers/events/on.js\n ** module id = 399\n ** module chunks = 0\n **/","'use strict';\nvar canUseDOM = require('../util/inDOM');\n\nvar contains = (function () {\n var root = canUseDOM && document.documentElement;\n\n return root && root.contains ? function (context, node) {\n return context.contains(node);\n } : root && root.compareDocumentPosition ? function (context, node) {\n return context === node || !!(context.compareDocumentPosition(node) & 16);\n } : function (context, node) {\n if (node) do {\n if (node === context) return true;\n } while (node = node.parentNode);\n\n return false;\n };\n})();\n\nmodule.exports = contains;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dom-helpers/query/contains.js\n ** module id = 400\n ** module chunks = 0\n **/","'use strict';\n\nvar css = require('../style'),\n height = require('./height');\n\nmodule.exports = function scrollPrarent(node) {\n var position = css(node, 'position'),\n excludeStatic = position === 'absolute',\n ownerDoc = node.ownerDocument;\n\n if (position === 'fixed') return ownerDoc || document;\n\n while ((node = node.parentNode) && node.nodeType !== 9) {\n\n var isStatic = excludeStatic && css(node, 'position') === 'static',\n style = css(node, 'overflow') + css(node, 'overflow-y') + css(node, 'overflow-x');\n\n if (isStatic) continue;\n\n if (/(auto|scroll)/.test(style) && height(node) < node.scrollHeight) return node;\n }\n\n return document;\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dom-helpers/query/scrollParent.js\n ** module id = 401\n ** module chunks = 0\n **/","'use strict';\nvar getWindow = require('./isWindow');\n\nmodule.exports = function scrollTop(node, val) {\n var win = getWindow(node);\n\n if (val === undefined) return win ? 'pageYOffset' in win ? win.pageYOffset : win.document.documentElement.scrollTop : node.scrollTop;\n\n if (win) win.scrollTo('pageXOffset' in win ? win.pageXOffset : win.document.documentElement.scrollLeft, val);else node.scrollTop = val;\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dom-helpers/query/scrollTop.js\n ** module id = 402\n ** module chunks = 0\n **/","'use strict';\n\nvar babelHelpers = require('../util/babelHelpers.js');\n\nvar _utilCamelizeStyle = require('../util/camelizeStyle');\n\nvar _utilCamelizeStyle2 = babelHelpers.interopRequireDefault(_utilCamelizeStyle);\n\nvar rposition = /^(top|right|bottom|left)$/;\nvar rnumnonpx = /^([+-]?(?:\\d*\\.|)\\d+(?:[eE][+-]?\\d+|))(?!px)[a-z%]+$/i;\n\nmodule.exports = function _getComputedStyle(node) {\n if (!node) throw new TypeError('No Element passed to `getComputedStyle()`');\n var doc = node.ownerDocument;\n\n return 'defaultView' in doc ? doc.defaultView.opener ? node.ownerDocument.defaultView.getComputedStyle(node, null) : window.getComputedStyle(node, null) : { //ie 8 \"magic\" from: https://github.com/jquery/jquery/blob/1.11-stable/src/css/curCSS.js#L72\n getPropertyValue: function getPropertyValue(prop) {\n var style = node.style;\n\n prop = (0, _utilCamelizeStyle2['default'])(prop);\n\n if (prop == 'float') prop = 'styleFloat';\n\n var current = node.currentStyle[prop] || null;\n\n if (current == null && style && style[prop]) current = style[prop];\n\n if (rnumnonpx.test(current) && !rposition.test(prop)) {\n // Remember the original values\n var left = style.left;\n var runStyle = node.runtimeStyle;\n var rsLeft = runStyle && runStyle.left;\n\n // Put in the new values to get a computed value out\n if (rsLeft) runStyle.left = node.currentStyle.left;\n\n style.left = prop === 'fontSize' ? '1em' : current;\n current = style.pixelLeft + 'px';\n\n // Revert the changed values\n style.left = left;\n if (rsLeft) runStyle.left = rsLeft;\n }\n\n return current;\n }\n };\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dom-helpers/style/getComputedStyle.js\n ** module id = 403\n ** module chunks = 0\n **/","'use strict';\n\nmodule.exports = function removeStyle(node, key) {\n return 'removeProperty' in node.style ? node.style.removeProperty(key) : node.style.removeAttribute(key);\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dom-helpers/style/removeStyle.js\n ** module id = 404\n ** module chunks = 0\n **/","'use strict';\nvar canUseDOM = require('../util/inDOM');\n\nvar has = Object.prototype.hasOwnProperty,\n transform = 'transform',\n transition = {},\n transitionTiming,\n transitionDuration,\n transitionProperty,\n transitionDelay;\n\nif (canUseDOM) {\n transition = getTransitionProperties();\n\n transform = transition.prefix + transform;\n\n transitionProperty = transition.prefix + 'transition-property';\n transitionDuration = transition.prefix + 'transition-duration';\n transitionDelay = transition.prefix + 'transition-delay';\n transitionTiming = transition.prefix + 'transition-timing-function';\n}\n\nmodule.exports = {\n transform: transform,\n end: transition.end,\n property: transitionProperty,\n timing: transitionTiming,\n delay: transitionDelay,\n duration: transitionDuration\n};\n\nfunction getTransitionProperties() {\n var endEvent,\n prefix = '',\n transitions = {\n O: 'otransitionend',\n Moz: 'transitionend',\n Webkit: 'webkitTransitionEnd',\n ms: 'MSTransitionEnd'\n };\n\n var element = document.createElement('div');\n\n for (var vendor in transitions) if (has.call(transitions, vendor)) {\n if (element.style[vendor + 'TransitionProperty'] !== undefined) {\n prefix = '-' + vendor.toLowerCase() + '-';\n endEvent = transitions[vendor];\n break;\n }\n }\n\n if (!endEvent && element.style.transitionProperty !== undefined) endEvent = 'transitionend';\n\n return { end: endEvent, prefix: prefix };\n}\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dom-helpers/transition/properties.js\n ** module id = 405\n ** module chunks = 0\n **/","\"use strict\";\n\nvar rHyphen = /-(.)/g;\n\nmodule.exports = function camelize(string) {\n return string.replace(rHyphen, function (_, chr) {\n return chr.toUpperCase();\n });\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dom-helpers/util/camelize.js\n ** module id = 406\n ** module chunks = 0\n **/","/**\r\n * Copyright 2013-2014, Facebook, Inc.\r\n * All rights reserved.\r\n * https://github.com/facebook/react/blob/2aeb8a2a6beb00617a4217f7f8284924fa2ad819/src/vendor/core/hyphenateStyleName.js\r\n */\n\n\"use strict\";\n\nvar hyphenate = require(\"./hyphenate\");\nvar msPattern = /^ms-/;\n\nmodule.exports = function hyphenateStyleName(string) {\n return hyphenate(string).replace(msPattern, \"-ms-\");\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dom-helpers/util/hyphenateStyle.js\n ** module id = 407\n ** module chunks = 0\n **/","'use strict';\n\nvar canUseDOM = require('./inDOM');\n\nvar vendors = ['', 'webkit', 'moz', 'o', 'ms'],\n cancel = 'clearTimeout',\n raf = fallback,\n compatRaf;\n\nvar getKey = function getKey(vendor, k) {\n return vendor + (!vendor ? k : k[0].toUpperCase() + k.substr(1)) + 'AnimationFrame';\n};\n\nif (canUseDOM) {\n vendors.some(function (vendor) {\n var rafKey = getKey(vendor, 'request');\n\n if (rafKey in window) {\n cancel = getKey(vendor, 'cancel');\n return raf = function (cb) {\n return window[rafKey](cb);\n };\n }\n });\n}\n\n/* https://github.com/component/raf */\nvar prev = new Date().getTime();\n\nfunction fallback(fn) {\n var curr = new Date().getTime(),\n ms = Math.max(0, 16 - (curr - prev)),\n req = setTimeout(fn, ms);\n\n prev = curr;\n return req;\n}\n\ncompatRaf = function (cb) {\n return raf(cb);\n};\ncompatRaf.cancel = function (id) {\n return window[cancel](id);\n};\n\nmodule.exports = compatRaf;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dom-helpers/util/requestAnimationFrame.js\n ** module id = 408\n ** module chunks = 0\n **/","'use strict';\nvar getOffset = require('../query/offset'),\n height = require('../query/height'),\n getScrollParent = require('../query/scrollParent'),\n scrollTop = require('../query/scrollTop'),\n raf = require('./requestAnimationFrame'),\n getWindow = require('../query/isWindow');\n\nmodule.exports = function scrollTo(selected, scrollParent) {\n var offset = getOffset(selected),\n poff = { top: 0, left: 0 },\n list,\n listScrollTop,\n selectedTop,\n isWin,\n selectedHeight,\n listHeight,\n bottom;\n\n if (!selected) return;\n\n list = scrollParent || getScrollParent(selected);\n isWin = getWindow(list);\n listScrollTop = scrollTop(list);\n\n listHeight = height(list, true);\n isWin = getWindow(list);\n\n if (!isWin) poff = getOffset(list);\n\n offset = {\n top: offset.top - poff.top,\n left: offset.left - poff.left,\n height: offset.height,\n width: offset.width\n };\n\n selectedHeight = offset.height;\n selectedTop = offset.top + (isWin ? 0 : listScrollTop);\n bottom = selectedTop + selectedHeight;\n\n listScrollTop = listScrollTop > selectedTop ? selectedTop : bottom > listScrollTop + listHeight ? bottom - listHeight : listScrollTop;\n\n var id = raf(function () {\n return scrollTop(list, listScrollTop);\n });\n\n return function () {\n return raf.cancel(id);\n };\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dom-helpers/util/scrollTo.js\n ** module id = 409\n ** module chunks = 0\n **/","/*\n Copyright (c) jQuery Foundation, Inc. and Contributors, All Rights Reserved.\n\n Redistribution and use in source and binary forms, with or without\n modification, are permitted provided that the following conditions are met:\n\n * Redistributions of source code must retain the above copyright\n notice, this list of conditions and the following disclaimer.\n * Redistributions in binary form must reproduce the above copyright\n notice, this list of conditions and the following disclaimer in the\n documentation and/or other materials provided with the distribution.\n\n THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\n AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\n ARE DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY\n DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\n LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND\n ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF\n THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n*/\n\n(function (root, factory) {\n 'use strict';\n\n // Universal Module Definition (UMD) to support AMD, CommonJS/Node.js,\n // Rhino, and plain browser loading.\n\n /* istanbul ignore next */\n if (typeof define === 'function' && define.amd) {\n define(['exports'], factory);\n } else if (typeof exports !== 'undefined') {\n factory(exports);\n } else {\n factory((root.esprima = {}));\n }\n}(this, function (exports) {\n 'use strict';\n\n var Token,\n TokenName,\n FnExprTokens,\n Syntax,\n PlaceHolders,\n Messages,\n Regex,\n source,\n strict,\n index,\n lineNumber,\n lineStart,\n hasLineTerminator,\n lastIndex,\n lastLineNumber,\n lastLineStart,\n startIndex,\n startLineNumber,\n startLineStart,\n scanning,\n length,\n lookahead,\n state,\n extra,\n isBindingElement,\n isAssignmentTarget,\n firstCoverInitializedNameError;\n\n Token = {\n BooleanLiteral: 1,\n EOF: 2,\n Identifier: 3,\n Keyword: 4,\n NullLiteral: 5,\n NumericLiteral: 6,\n Punctuator: 7,\n StringLiteral: 8,\n RegularExpression: 9,\n Template: 10\n };\n\n TokenName = {};\n TokenName[Token.BooleanLiteral] = 'Boolean';\n TokenName[Token.EOF] = '<end>';\n TokenName[Token.Identifier] = 'Identifier';\n TokenName[Token.Keyword] = 'Keyword';\n TokenName[Token.NullLiteral] = 'Null';\n TokenName[Token.NumericLiteral] = 'Numeric';\n TokenName[Token.Punctuator] = 'Punctuator';\n TokenName[Token.StringLiteral] = 'String';\n TokenName[Token.RegularExpression] = 'RegularExpression';\n TokenName[Token.Template] = 'Template';\n\n // A function following one of those tokens is an expression.\n FnExprTokens = ['(', '{', '[', 'in', 'typeof', 'instanceof', 'new',\n 'return', 'case', 'delete', 'throw', 'void',\n // assignment operators\n '=', '+=', '-=', '*=', '/=', '%=', '<<=', '>>=', '>>>=',\n '&=', '|=', '^=', ',',\n // binary/unary operators\n '+', '-', '*', '/', '%', '++', '--', '<<', '>>', '>>>', '&',\n '|', '^', '!', '~', '&&', '||', '?', ':', '===', '==', '>=',\n '<=', '<', '>', '!=', '!=='];\n\n Syntax = {\n AssignmentExpression: 'AssignmentExpression',\n AssignmentPattern: 'AssignmentPattern',\n ArrayExpression: 'ArrayExpression',\n ArrayPattern: 'ArrayPattern',\n ArrowFunctionExpression: 'ArrowFunctionExpression',\n BlockStatement: 'BlockStatement',\n BinaryExpression: 'BinaryExpression',\n BreakStatement: 'BreakStatement',\n CallExpression: 'CallExpression',\n CatchClause: 'CatchClause',\n ClassBody: 'ClassBody',\n ClassDeclaration: 'ClassDeclaration',\n ClassExpression: 'ClassExpression',\n ConditionalExpression: 'ConditionalExpression',\n ContinueStatement: 'ContinueStatement',\n DoWhileStatement: 'DoWhileStatement',\n DebuggerStatement: 'DebuggerStatement',\n EmptyStatement: 'EmptyStatement',\n ExportAllDeclaration: 'ExportAllDeclaration',\n ExportDefaultDeclaration: 'ExportDefaultDeclaration',\n ExportNamedDeclaration: 'ExportNamedDeclaration',\n ExportSpecifier: 'ExportSpecifier',\n ExpressionStatement: 'ExpressionStatement',\n ForStatement: 'ForStatement',\n ForOfStatement: 'ForOfStatement',\n ForInStatement: 'ForInStatement',\n FunctionDeclaration: 'FunctionDeclaration',\n FunctionExpression: 'FunctionExpression',\n Identifier: 'Identifier',\n IfStatement: 'IfStatement',\n ImportDeclaration: 'ImportDeclaration',\n ImportDefaultSpecifier: 'ImportDefaultSpecifier',\n ImportNamespaceSpecifier: 'ImportNamespaceSpecifier',\n ImportSpecifier: 'ImportSpecifier',\n Literal: 'Literal',\n LabeledStatement: 'LabeledStatement',\n LogicalExpression: 'LogicalExpression',\n MemberExpression: 'MemberExpression',\n MetaProperty: 'MetaProperty',\n MethodDefinition: 'MethodDefinition',\n NewExpression: 'NewExpression',\n ObjectExpression: 'ObjectExpression',\n ObjectPattern: 'ObjectPattern',\n Program: 'Program',\n Property: 'Property',\n RestElement: 'RestElement',\n ReturnStatement: 'ReturnStatement',\n SequenceExpression: 'SequenceExpression',\n SpreadElement: 'SpreadElement',\n Super: 'Super',\n SwitchCase: 'SwitchCase',\n SwitchStatement: 'SwitchStatement',\n TaggedTemplateExpression: 'TaggedTemplateExpression',\n TemplateElement: 'TemplateElement',\n TemplateLiteral: 'TemplateLiteral',\n ThisExpression: 'ThisExpression',\n ThrowStatement: 'ThrowStatement',\n TryStatement: 'TryStatement',\n UnaryExpression: 'UnaryExpression',\n UpdateExpression: 'UpdateExpression',\n VariableDeclaration: 'VariableDeclaration',\n VariableDeclarator: 'VariableDeclarator',\n WhileStatement: 'WhileStatement',\n WithStatement: 'WithStatement',\n YieldExpression: 'YieldExpression'\n };\n\n PlaceHolders = {\n ArrowParameterPlaceHolder: 'ArrowParameterPlaceHolder'\n };\n\n // Error messages should be identical to V8.\n Messages = {\n UnexpectedToken: 'Unexpected token %0',\n UnexpectedNumber: 'Unexpected number',\n UnexpectedString: 'Unexpected string',\n UnexpectedIdentifier: 'Unexpected identifier',\n UnexpectedReserved: 'Unexpected reserved word',\n UnexpectedTemplate: 'Unexpected quasi %0',\n UnexpectedEOS: 'Unexpected end of input',\n NewlineAfterThrow: 'Illegal newline after throw',\n InvalidRegExp: 'Invalid regular expression',\n UnterminatedRegExp: 'Invalid regular expression: missing /',\n InvalidLHSInAssignment: 'Invalid left-hand side in assignment',\n InvalidLHSInForIn: 'Invalid left-hand side in for-in',\n InvalidLHSInForLoop: 'Invalid left-hand side in for-loop',\n MultipleDefaultsInSwitch: 'More than one default clause in switch statement',\n NoCatchOrFinally: 'Missing catch or finally after try',\n UnknownLabel: 'Undefined label \\'%0\\'',\n Redeclaration: '%0 \\'%1\\' has already been declared',\n IllegalContinue: 'Illegal continue statement',\n IllegalBreak: 'Illegal break statement',\n IllegalReturn: 'Illegal return statement',\n StrictModeWith: 'Strict mode code may not include a with statement',\n StrictCatchVariable: 'Catch variable may not be eval or arguments in strict mode',\n StrictVarName: 'Variable name may not be eval or arguments in strict mode',\n StrictParamName: 'Parameter name eval or arguments is not allowed in strict mode',\n StrictParamDupe: 'Strict mode function may not have duplicate parameter names',\n StrictFunctionName: 'Function name may not be eval or arguments in strict mode',\n StrictOctalLiteral: 'Octal literals are not allowed in strict mode.',\n StrictDelete: 'Delete of an unqualified identifier in strict mode.',\n StrictLHSAssignment: 'Assignment to eval or arguments is not allowed in strict mode',\n StrictLHSPostfix: 'Postfix increment/decrement may not have eval or arguments operand in strict mode',\n StrictLHSPrefix: 'Prefix increment/decrement may not have eval or arguments operand in strict mode',\n StrictReservedWord: 'Use of future reserved word in strict mode',\n TemplateOctalLiteral: 'Octal literals are not allowed in template strings.',\n ParameterAfterRestParameter: 'Rest parameter must be last formal parameter',\n DefaultRestParameter: 'Unexpected token =',\n ObjectPatternAsRestParameter: 'Unexpected token {',\n DuplicateProtoProperty: 'Duplicate __proto__ fields are not allowed in object literals',\n ConstructorSpecialMethod: 'Class constructor may not be an accessor',\n DuplicateConstructor: 'A class may only have one constructor',\n StaticPrototype: 'Classes may not have static property named prototype',\n MissingFromClause: 'Unexpected token',\n NoAsAfterImportNamespace: 'Unexpected token',\n InvalidModuleSpecifier: 'Unexpected token',\n IllegalImportDeclaration: 'Unexpected token',\n IllegalExportDeclaration: 'Unexpected token',\n DuplicateBinding: 'Duplicate binding %0'\n };\n\n // See also tools/generate-unicode-regex.js.\n Regex = {\n // ECMAScript 6/Unicode v7.0.0 NonAsciiIdentifierStart:\n NonAsciiIdentifierStart: /[\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0620-\\u064A\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06E5\\u06E6\\u06EE\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA\\u07F4\\u07F5\\u07FA\\u0800-\\u0815\\u081A\\u0824\\u0828\\u0840-\\u0858\\u08A0-\\u08B2\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0980\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09F0\\u09F1\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D\\u0C58\\u0C59\\u0C60\\u0C61\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D60\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E46\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EDC-\\u0EDF\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u13A0-\\u13F4\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u1820-\\u1877\\u1880-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19C1-\\u19C7\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4B\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1CE9-\\u1CEC\\u1CEE-\\u1CF1\\u1CF5\\u1CF6\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2071\\u207F\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2118-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u3005-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u309B-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FCC\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B\\uA640-\\uA66E\\uA67F-\\uA69D\\uA6A0-\\uA6EF\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA78E\\uA790-\\uA7AD\\uA7B0\\uA7B1\\uA7F7-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF\\uA9E0-\\uA9E4\\uA9E6-\\uA9EF\\uA9FA-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB5F\\uAB64\\uAB65\\uABC0-\\uABE2\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]|\\uD800[\\uDC00-\\uDC0B\\uDC0D-\\uDC26\\uDC28-\\uDC3A\\uDC3C\\uDC3D\\uDC3F-\\uDC4D\\uDC50-\\uDC5D\\uDC80-\\uDCFA\\uDD40-\\uDD74\\uDE80-\\uDE9C\\uDEA0-\\uDED0\\uDF00-\\uDF1F\\uDF30-\\uDF4A\\uDF50-\\uDF75\\uDF80-\\uDF9D\\uDFA0-\\uDFC3\\uDFC8-\\uDFCF\\uDFD1-\\uDFD5]|\\uD801[\\uDC00-\\uDC9D\\uDD00-\\uDD27\\uDD30-\\uDD63\\uDE00-\\uDF36\\uDF40-\\uDF55\\uDF60-\\uDF67]|\\uD802[\\uDC00-\\uDC05\\uDC08\\uDC0A-\\uDC35\\uDC37\\uDC38\\uDC3C\\uDC3F-\\uDC55\\uDC60-\\uDC76\\uDC80-\\uDC9E\\uDD00-\\uDD15\\uDD20-\\uDD39\\uDD80-\\uDDB7\\uDDBE\\uDDBF\\uDE00\\uDE10-\\uDE13\\uDE15-\\uDE17\\uDE19-\\uDE33\\uDE60-\\uDE7C\\uDE80-\\uDE9C\\uDEC0-\\uDEC7\\uDEC9-\\uDEE4\\uDF00-\\uDF35\\uDF40-\\uDF55\\uDF60-\\uDF72\\uDF80-\\uDF91]|\\uD803[\\uDC00-\\uDC48]|\\uD804[\\uDC03-\\uDC37\\uDC83-\\uDCAF\\uDCD0-\\uDCE8\\uDD03-\\uDD26\\uDD50-\\uDD72\\uDD76\\uDD83-\\uDDB2\\uDDC1-\\uDDC4\\uDDDA\\uDE00-\\uDE11\\uDE13-\\uDE2B\\uDEB0-\\uDEDE\\uDF05-\\uDF0C\\uDF0F\\uDF10\\uDF13-\\uDF28\\uDF2A-\\uDF30\\uDF32\\uDF33\\uDF35-\\uDF39\\uDF3D\\uDF5D-\\uDF61]|\\uD805[\\uDC80-\\uDCAF\\uDCC4\\uDCC5\\uDCC7\\uDD80-\\uDDAE\\uDE00-\\uDE2F\\uDE44\\uDE80-\\uDEAA]|\\uD806[\\uDCA0-\\uDCDF\\uDCFF\\uDEC0-\\uDEF8]|\\uD808[\\uDC00-\\uDF98]|\\uD809[\\uDC00-\\uDC6E]|[\\uD80C\\uD840-\\uD868\\uD86A-\\uD86C][\\uDC00-\\uDFFF]|\\uD80D[\\uDC00-\\uDC2E]|\\uD81A[\\uDC00-\\uDE38\\uDE40-\\uDE5E\\uDED0-\\uDEED\\uDF00-\\uDF2F\\uDF40-\\uDF43\\uDF63-\\uDF77\\uDF7D-\\uDF8F]|\\uD81B[\\uDF00-\\uDF44\\uDF50\\uDF93-\\uDF9F]|\\uD82C[\\uDC00\\uDC01]|\\uD82F[\\uDC00-\\uDC6A\\uDC70-\\uDC7C\\uDC80-\\uDC88\\uDC90-\\uDC99]|\\uD835[\\uDC00-\\uDC54\\uDC56-\\uDC9C\\uDC9E\\uDC9F\\uDCA2\\uDCA5\\uDCA6\\uDCA9-\\uDCAC\\uDCAE-\\uDCB9\\uDCBB\\uDCBD-\\uDCC3\\uDCC5-\\uDD05\\uDD07-\\uDD0A\\uDD0D-\\uDD14\\uDD16-\\uDD1C\\uDD1E-\\uDD39\\uDD3B-\\uDD3E\\uDD40-\\uDD44\\uDD46\\uDD4A-\\uDD50\\uDD52-\\uDEA5\\uDEA8-\\uDEC0\\uDEC2-\\uDEDA\\uDEDC-\\uDEFA\\uDEFC-\\uDF14\\uDF16-\\uDF34\\uDF36-\\uDF4E\\uDF50-\\uDF6E\\uDF70-\\uDF88\\uDF8A-\\uDFA8\\uDFAA-\\uDFC2\\uDFC4-\\uDFCB]|\\uD83A[\\uDC00-\\uDCC4]|\\uD83B[\\uDE00-\\uDE03\\uDE05-\\uDE1F\\uDE21\\uDE22\\uDE24\\uDE27\\uDE29-\\uDE32\\uDE34-\\uDE37\\uDE39\\uDE3B\\uDE42\\uDE47\\uDE49\\uDE4B\\uDE4D-\\uDE4F\\uDE51\\uDE52\\uDE54\\uDE57\\uDE59\\uDE5B\\uDE5D\\uDE5F\\uDE61\\uDE62\\uDE64\\uDE67-\\uDE6A\\uDE6C-\\uDE72\\uDE74-\\uDE77\\uDE79-\\uDE7C\\uDE7E\\uDE80-\\uDE89\\uDE8B-\\uDE9B\\uDEA1-\\uDEA3\\uDEA5-\\uDEA9\\uDEAB-\\uDEBB]|\\uD869[\\uDC00-\\uDED6\\uDF00-\\uDFFF]|\\uD86D[\\uDC00-\\uDF34\\uDF40-\\uDFFF]|\\uD86E[\\uDC00-\\uDC1D]|\\uD87E[\\uDC00-\\uDE1D]/,\n\n // ECMAScript 6/Unicode v7.0.0 NonAsciiIdentifierPart:\n NonAsciiIdentifierPart: /[\\xAA\\xB5\\xB7\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0300-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u0483-\\u0487\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0610-\\u061A\\u0620-\\u0669\\u066E-\\u06D3\\u06D5-\\u06DC\\u06DF-\\u06E8\\u06EA-\\u06FC\\u06FF\\u0710-\\u074A\\u074D-\\u07B1\\u07C0-\\u07F5\\u07FA\\u0800-\\u082D\\u0840-\\u085B\\u08A0-\\u08B2\\u08E4-\\u0963\\u0966-\\u096F\\u0971-\\u0983\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BC-\\u09C4\\u09C7\\u09C8\\u09CB-\\u09CE\\u09D7\\u09DC\\u09DD\\u09DF-\\u09E3\\u09E6-\\u09F1\\u0A01-\\u0A03\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A3C\\u0A3E-\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A59-\\u0A5C\\u0A5E\\u0A66-\\u0A75\\u0A81-\\u0A83\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABC-\\u0AC5\\u0AC7-\\u0AC9\\u0ACB-\\u0ACD\\u0AD0\\u0AE0-\\u0AE3\\u0AE6-\\u0AEF\\u0B01-\\u0B03\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3C-\\u0B44\\u0B47\\u0B48\\u0B4B-\\u0B4D\\u0B56\\u0B57\\u0B5C\\u0B5D\\u0B5F-\\u0B63\\u0B66-\\u0B6F\\u0B71\\u0B82\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BBE-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCD\\u0BD0\\u0BD7\\u0BE6-\\u0BEF\\u0C00-\\u0C03\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D-\\u0C44\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C58\\u0C59\\u0C60-\\u0C63\\u0C66-\\u0C6F\\u0C81-\\u0C83\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBC-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA-\\u0CCD\\u0CD5\\u0CD6\\u0CDE\\u0CE0-\\u0CE3\\u0CE6-\\u0CEF\\u0CF1\\u0CF2\\u0D01-\\u0D03\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D-\\u0D44\\u0D46-\\u0D48\\u0D4A-\\u0D4E\\u0D57\\u0D60-\\u0D63\\u0D66-\\u0D6F\\u0D7A-\\u0D7F\\u0D82\\u0D83\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0DCA\\u0DCF-\\u0DD4\\u0DD6\\u0DD8-\\u0DDF\\u0DE6-\\u0DEF\\u0DF2\\u0DF3\\u0E01-\\u0E3A\\u0E40-\\u0E4E\\u0E50-\\u0E59\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB9\\u0EBB-\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EC8-\\u0ECD\\u0ED0-\\u0ED9\\u0EDC-\\u0EDF\\u0F00\\u0F18\\u0F19\\u0F20-\\u0F29\\u0F35\\u0F37\\u0F39\\u0F3E-\\u0F47\\u0F49-\\u0F6C\\u0F71-\\u0F84\\u0F86-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u1000-\\u1049\\u1050-\\u109D\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u135D-\\u135F\\u1369-\\u1371\\u1380-\\u138F\\u13A0-\\u13F4\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1714\\u1720-\\u1734\\u1740-\\u1753\\u1760-\\u176C\\u176E-\\u1770\\u1772\\u1773\\u1780-\\u17D3\\u17D7\\u17DC\\u17DD\\u17E0-\\u17E9\\u180B-\\u180D\\u1810-\\u1819\\u1820-\\u1877\\u1880-\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1920-\\u192B\\u1930-\\u193B\\u1946-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u19D0-\\u19DA\\u1A00-\\u1A1B\\u1A20-\\u1A5E\\u1A60-\\u1A7C\\u1A7F-\\u1A89\\u1A90-\\u1A99\\u1AA7\\u1AB0-\\u1ABD\\u1B00-\\u1B4B\\u1B50-\\u1B59\\u1B6B-\\u1B73\\u1B80-\\u1BF3\\u1C00-\\u1C37\\u1C40-\\u1C49\\u1C4D-\\u1C7D\\u1CD0-\\u1CD2\\u1CD4-\\u1CF6\\u1CF8\\u1CF9\\u1D00-\\u1DF5\\u1DFC-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u200C\\u200D\\u203F\\u2040\\u2054\\u2071\\u207F\\u2090-\\u209C\\u20D0-\\u20DC\\u20E1\\u20E5-\\u20F0\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2118-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D7F-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2DE0-\\u2DFF\\u3005-\\u3007\\u3021-\\u302F\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u3099-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FCC\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA62B\\uA640-\\uA66F\\uA674-\\uA67D\\uA67F-\\uA69D\\uA69F-\\uA6F1\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA78E\\uA790-\\uA7AD\\uA7B0\\uA7B1\\uA7F7-\\uA827\\uA840-\\uA873\\uA880-\\uA8C4\\uA8D0-\\uA8D9\\uA8E0-\\uA8F7\\uA8FB\\uA900-\\uA92D\\uA930-\\uA953\\uA960-\\uA97C\\uA980-\\uA9C0\\uA9CF-\\uA9D9\\uA9E0-\\uA9FE\\uAA00-\\uAA36\\uAA40-\\uAA4D\\uAA50-\\uAA59\\uAA60-\\uAA76\\uAA7A-\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEF\\uAAF2-\\uAAF6\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB5F\\uAB64\\uAB65\\uABC0-\\uABEA\\uABEC\\uABED\\uABF0-\\uABF9\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE00-\\uFE0F\\uFE20-\\uFE2D\\uFE33\\uFE34\\uFE4D-\\uFE4F\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF10-\\uFF19\\uFF21-\\uFF3A\\uFF3F\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]|\\uD800[\\uDC00-\\uDC0B\\uDC0D-\\uDC26\\uDC28-\\uDC3A\\uDC3C\\uDC3D\\uDC3F-\\uDC4D\\uDC50-\\uDC5D\\uDC80-\\uDCFA\\uDD40-\\uDD74\\uDDFD\\uDE80-\\uDE9C\\uDEA0-\\uDED0\\uDEE0\\uDF00-\\uDF1F\\uDF30-\\uDF4A\\uDF50-\\uDF7A\\uDF80-\\uDF9D\\uDFA0-\\uDFC3\\uDFC8-\\uDFCF\\uDFD1-\\uDFD5]|\\uD801[\\uDC00-\\uDC9D\\uDCA0-\\uDCA9\\uDD00-\\uDD27\\uDD30-\\uDD63\\uDE00-\\uDF36\\uDF40-\\uDF55\\uDF60-\\uDF67]|\\uD802[\\uDC00-\\uDC05\\uDC08\\uDC0A-\\uDC35\\uDC37\\uDC38\\uDC3C\\uDC3F-\\uDC55\\uDC60-\\uDC76\\uDC80-\\uDC9E\\uDD00-\\uDD15\\uDD20-\\uDD39\\uDD80-\\uDDB7\\uDDBE\\uDDBF\\uDE00-\\uDE03\\uDE05\\uDE06\\uDE0C-\\uDE13\\uDE15-\\uDE17\\uDE19-\\uDE33\\uDE38-\\uDE3A\\uDE3F\\uDE60-\\uDE7C\\uDE80-\\uDE9C\\uDEC0-\\uDEC7\\uDEC9-\\uDEE6\\uDF00-\\uDF35\\uDF40-\\uDF55\\uDF60-\\uDF72\\uDF80-\\uDF91]|\\uD803[\\uDC00-\\uDC48]|\\uD804[\\uDC00-\\uDC46\\uDC66-\\uDC6F\\uDC7F-\\uDCBA\\uDCD0-\\uDCE8\\uDCF0-\\uDCF9\\uDD00-\\uDD34\\uDD36-\\uDD3F\\uDD50-\\uDD73\\uDD76\\uDD80-\\uDDC4\\uDDD0-\\uDDDA\\uDE00-\\uDE11\\uDE13-\\uDE37\\uDEB0-\\uDEEA\\uDEF0-\\uDEF9\\uDF01-\\uDF03\\uDF05-\\uDF0C\\uDF0F\\uDF10\\uDF13-\\uDF28\\uDF2A-\\uDF30\\uDF32\\uDF33\\uDF35-\\uDF39\\uDF3C-\\uDF44\\uDF47\\uDF48\\uDF4B-\\uDF4D\\uDF57\\uDF5D-\\uDF63\\uDF66-\\uDF6C\\uDF70-\\uDF74]|\\uD805[\\uDC80-\\uDCC5\\uDCC7\\uDCD0-\\uDCD9\\uDD80-\\uDDB5\\uDDB8-\\uDDC0\\uDE00-\\uDE40\\uDE44\\uDE50-\\uDE59\\uDE80-\\uDEB7\\uDEC0-\\uDEC9]|\\uD806[\\uDCA0-\\uDCE9\\uDCFF\\uDEC0-\\uDEF8]|\\uD808[\\uDC00-\\uDF98]|\\uD809[\\uDC00-\\uDC6E]|[\\uD80C\\uD840-\\uD868\\uD86A-\\uD86C][\\uDC00-\\uDFFF]|\\uD80D[\\uDC00-\\uDC2E]|\\uD81A[\\uDC00-\\uDE38\\uDE40-\\uDE5E\\uDE60-\\uDE69\\uDED0-\\uDEED\\uDEF0-\\uDEF4\\uDF00-\\uDF36\\uDF40-\\uDF43\\uDF50-\\uDF59\\uDF63-\\uDF77\\uDF7D-\\uDF8F]|\\uD81B[\\uDF00-\\uDF44\\uDF50-\\uDF7E\\uDF8F-\\uDF9F]|\\uD82C[\\uDC00\\uDC01]|\\uD82F[\\uDC00-\\uDC6A\\uDC70-\\uDC7C\\uDC80-\\uDC88\\uDC90-\\uDC99\\uDC9D\\uDC9E]|\\uD834[\\uDD65-\\uDD69\\uDD6D-\\uDD72\\uDD7B-\\uDD82\\uDD85-\\uDD8B\\uDDAA-\\uDDAD\\uDE42-\\uDE44]|\\uD835[\\uDC00-\\uDC54\\uDC56-\\uDC9C\\uDC9E\\uDC9F\\uDCA2\\uDCA5\\uDCA6\\uDCA9-\\uDCAC\\uDCAE-\\uDCB9\\uDCBB\\uDCBD-\\uDCC3\\uDCC5-\\uDD05\\uDD07-\\uDD0A\\uDD0D-\\uDD14\\uDD16-\\uDD1C\\uDD1E-\\uDD39\\uDD3B-\\uDD3E\\uDD40-\\uDD44\\uDD46\\uDD4A-\\uDD50\\uDD52-\\uDEA5\\uDEA8-\\uDEC0\\uDEC2-\\uDEDA\\uDEDC-\\uDEFA\\uDEFC-\\uDF14\\uDF16-\\uDF34\\uDF36-\\uDF4E\\uDF50-\\uDF6E\\uDF70-\\uDF88\\uDF8A-\\uDFA8\\uDFAA-\\uDFC2\\uDFC4-\\uDFCB\\uDFCE-\\uDFFF]|\\uD83A[\\uDC00-\\uDCC4\\uDCD0-\\uDCD6]|\\uD83B[\\uDE00-\\uDE03\\uDE05-\\uDE1F\\uDE21\\uDE22\\uDE24\\uDE27\\uDE29-\\uDE32\\uDE34-\\uDE37\\uDE39\\uDE3B\\uDE42\\uDE47\\uDE49\\uDE4B\\uDE4D-\\uDE4F\\uDE51\\uDE52\\uDE54\\uDE57\\uDE59\\uDE5B\\uDE5D\\uDE5F\\uDE61\\uDE62\\uDE64\\uDE67-\\uDE6A\\uDE6C-\\uDE72\\uDE74-\\uDE77\\uDE79-\\uDE7C\\uDE7E\\uDE80-\\uDE89\\uDE8B-\\uDE9B\\uDEA1-\\uDEA3\\uDEA5-\\uDEA9\\uDEAB-\\uDEBB]|\\uD869[\\uDC00-\\uDED6\\uDF00-\\uDFFF]|\\uD86D[\\uDC00-\\uDF34\\uDF40-\\uDFFF]|\\uD86E[\\uDC00-\\uDC1D]|\\uD87E[\\uDC00-\\uDE1D]|\\uDB40[\\uDD00-\\uDDEF]/\n };\n\n // Ensure the condition is true, otherwise throw an error.\n // This is only to have a better contract semantic, i.e. another safety net\n // to catch a logic error. The condition shall be fulfilled in normal case.\n // Do NOT use this to enforce a certain condition on any user input.\n\n function assert(condition, message) {\n /* istanbul ignore if */\n if (!condition) {\n throw new Error('ASSERT: ' + message);\n }\n }\n\n function isDecimalDigit(ch) {\n return (ch >= 0x30 && ch <= 0x39); // 0..9\n }\n\n function isHexDigit(ch) {\n return '0123456789abcdefABCDEF'.indexOf(ch) >= 0;\n }\n\n function isOctalDigit(ch) {\n return '01234567'.indexOf(ch) >= 0;\n }\n\n function octalToDecimal(ch) {\n // \\0 is not octal escape sequence\n var octal = (ch !== '0'), code = '01234567'.indexOf(ch);\n\n if (index < length && isOctalDigit(source[index])) {\n octal = true;\n code = code * 8 + '01234567'.indexOf(source[index++]);\n\n // 3 digits are only allowed when string starts\n // with 0, 1, 2, 3\n if ('0123'.indexOf(ch) >= 0 &&\n index < length &&\n isOctalDigit(source[index])) {\n code = code * 8 + '01234567'.indexOf(source[index++]);\n }\n }\n\n return {\n code: code,\n octal: octal\n };\n }\n\n // ECMA-262 11.2 White Space\n\n function isWhiteSpace(ch) {\n return (ch === 0x20) || (ch === 0x09) || (ch === 0x0B) || (ch === 0x0C) || (ch === 0xA0) ||\n (ch >= 0x1680 && [0x1680, 0x180E, 0x2000, 0x2001, 0x2002, 0x2003, 0x2004, 0x2005, 0x2006, 0x2007, 0x2008, 0x2009, 0x200A, 0x202F, 0x205F, 0x3000, 0xFEFF].indexOf(ch) >= 0);\n }\n\n // ECMA-262 11.3 Line Terminators\n\n function isLineTerminator(ch) {\n return (ch === 0x0A) || (ch === 0x0D) || (ch === 0x2028) || (ch === 0x2029);\n }\n\n // ECMA-262 11.6 Identifier Names and Identifiers\n\n function fromCodePoint(cp) {\n return (cp < 0x10000) ? String.fromCharCode(cp) :\n String.fromCharCode(0xD800 + ((cp - 0x10000) >> 10)) +\n String.fromCharCode(0xDC00 + ((cp - 0x10000) & 1023));\n }\n\n function isIdentifierStart(ch) {\n return (ch === 0x24) || (ch === 0x5F) || // $ (dollar) and _ (underscore)\n (ch >= 0x41 && ch <= 0x5A) || // A..Z\n (ch >= 0x61 && ch <= 0x7A) || // a..z\n (ch === 0x5C) || // \\ (backslash)\n ((ch >= 0x80) && Regex.NonAsciiIdentifierStart.test(fromCodePoint(ch)));\n }\n\n function isIdentifierPart(ch) {\n return (ch === 0x24) || (ch === 0x5F) || // $ (dollar) and _ (underscore)\n (ch >= 0x41 && ch <= 0x5A) || // A..Z\n (ch >= 0x61 && ch <= 0x7A) || // a..z\n (ch >= 0x30 && ch <= 0x39) || // 0..9\n (ch === 0x5C) || // \\ (backslash)\n ((ch >= 0x80) && Regex.NonAsciiIdentifierPart.test(fromCodePoint(ch)));\n }\n\n // ECMA-262 11.6.2.2 Future Reserved Words\n\n function isFutureReservedWord(id) {\n switch (id) {\n case 'enum':\n case 'export':\n case 'import':\n case 'super':\n return true;\n default:\n return false;\n }\n }\n\n function isStrictModeReservedWord(id) {\n switch (id) {\n case 'implements':\n case 'interface':\n case 'package':\n case 'private':\n case 'protected':\n case 'public':\n case 'static':\n case 'yield':\n case 'let':\n return true;\n default:\n return false;\n }\n }\n\n function isRestrictedWord(id) {\n return id === 'eval' || id === 'arguments';\n }\n\n // ECMA-262 11.6.2.1 Keywords\n\n function isKeyword(id) {\n switch (id.length) {\n case 2:\n return (id === 'if') || (id === 'in') || (id === 'do');\n case 3:\n return (id === 'var') || (id === 'for') || (id === 'new') ||\n (id === 'try') || (id === 'let');\n case 4:\n return (id === 'this') || (id === 'else') || (id === 'case') ||\n (id === 'void') || (id === 'with') || (id === 'enum');\n case 5:\n return (id === 'while') || (id === 'break') || (id === 'catch') ||\n (id === 'throw') || (id === 'const') || (id === 'yield') ||\n (id === 'class') || (id === 'super');\n case 6:\n return (id === 'return') || (id === 'typeof') || (id === 'delete') ||\n (id === 'switch') || (id === 'export') || (id === 'import');\n case 7:\n return (id === 'default') || (id === 'finally') || (id === 'extends');\n case 8:\n return (id === 'function') || (id === 'continue') || (id === 'debugger');\n case 10:\n return (id === 'instanceof');\n default:\n return false;\n }\n }\n\n // ECMA-262 11.4 Comments\n\n function addComment(type, value, start, end, loc) {\n var comment;\n\n assert(typeof start === 'number', 'Comment must have valid position');\n\n state.lastCommentStart = start;\n\n comment = {\n type: type,\n value: value\n };\n if (extra.range) {\n comment.range = [start, end];\n }\n if (extra.loc) {\n comment.loc = loc;\n }\n extra.comments.push(comment);\n if (extra.attachComment) {\n extra.leadingComments.push(comment);\n extra.trailingComments.push(comment);\n }\n if (extra.tokenize) {\n comment.type = comment.type + 'Comment';\n if (extra.delegate) {\n comment = extra.delegate(comment);\n }\n extra.tokens.push(comment);\n }\n }\n\n function skipSingleLineComment(offset) {\n var start, loc, ch, comment;\n\n start = index - offset;\n loc = {\n start: {\n line: lineNumber,\n column: index - lineStart - offset\n }\n };\n\n while (index < length) {\n ch = source.charCodeAt(index);\n ++index;\n if (isLineTerminator(ch)) {\n hasLineTerminator = true;\n if (extra.comments) {\n comment = source.slice(start + offset, index - 1);\n loc.end = {\n line: lineNumber,\n column: index - lineStart - 1\n };\n addComment('Line', comment, start, index - 1, loc);\n }\n if (ch === 13 && source.charCodeAt(index) === 10) {\n ++index;\n }\n ++lineNumber;\n lineStart = index;\n return;\n }\n }\n\n if (extra.comments) {\n comment = source.slice(start + offset, index);\n loc.end = {\n line: lineNumber,\n column: index - lineStart\n };\n addComment('Line', comment, start, index, loc);\n }\n }\n\n function skipMultiLineComment() {\n var start, loc, ch, comment;\n\n if (extra.comments) {\n start = index - 2;\n loc = {\n start: {\n line: lineNumber,\n column: index - lineStart - 2\n }\n };\n }\n\n while (index < length) {\n ch = source.charCodeAt(index);\n if (isLineTerminator(ch)) {\n if (ch === 0x0D && source.charCodeAt(index + 1) === 0x0A) {\n ++index;\n }\n hasLineTerminator = true;\n ++lineNumber;\n ++index;\n lineStart = index;\n } else if (ch === 0x2A) {\n // Block comment ends with '*/'.\n if (source.charCodeAt(index + 1) === 0x2F) {\n ++index;\n ++index;\n if (extra.comments) {\n comment = source.slice(start + 2, index - 2);\n loc.end = {\n line: lineNumber,\n column: index - lineStart\n };\n addComment('Block', comment, start, index, loc);\n }\n return;\n }\n ++index;\n } else {\n ++index;\n }\n }\n\n // Ran off the end of the file - the whole thing is a comment\n if (extra.comments) {\n loc.end = {\n line: lineNumber,\n column: index - lineStart\n };\n comment = source.slice(start + 2, index);\n addComment('Block', comment, start, index, loc);\n }\n tolerateUnexpectedToken();\n }\n\n function skipComment() {\n var ch, start;\n hasLineTerminator = false;\n\n start = (index === 0);\n while (index < length) {\n ch = source.charCodeAt(index);\n\n if (isWhiteSpace(ch)) {\n ++index;\n } else if (isLineTerminator(ch)) {\n hasLineTerminator = true;\n ++index;\n if (ch === 0x0D && source.charCodeAt(index) === 0x0A) {\n ++index;\n }\n ++lineNumber;\n lineStart = index;\n start = true;\n } else if (ch === 0x2F) { // U+002F is '/'\n ch = source.charCodeAt(index + 1);\n if (ch === 0x2F) {\n ++index;\n ++index;\n skipSingleLineComment(2);\n start = true;\n } else if (ch === 0x2A) { // U+002A is '*'\n ++index;\n ++index;\n skipMultiLineComment();\n } else {\n break;\n }\n } else if (start && ch === 0x2D) { // U+002D is '-'\n // U+003E is '>'\n if ((source.charCodeAt(index + 1) === 0x2D) && (source.charCodeAt(index + 2) === 0x3E)) {\n // '-->' is a single-line comment\n index += 3;\n skipSingleLineComment(3);\n } else {\n break;\n }\n } else if (ch === 0x3C) { // U+003C is '<'\n if (source.slice(index + 1, index + 4) === '!--') {\n ++index; // `<`\n ++index; // `!`\n ++index; // `-`\n ++index; // `-`\n skipSingleLineComment(4);\n } else {\n break;\n }\n } else {\n break;\n }\n }\n }\n\n function scanHexEscape(prefix) {\n var i, len, ch, code = 0;\n\n len = (prefix === 'u') ? 4 : 2;\n for (i = 0; i < len; ++i) {\n if (index < length && isHexDigit(source[index])) {\n ch = source[index++];\n code = code * 16 + '0123456789abcdef'.indexOf(ch.toLowerCase());\n } else {\n return '';\n }\n }\n return String.fromCharCode(code);\n }\n\n function scanUnicodeCodePointEscape() {\n var ch, code;\n\n ch = source[index];\n code = 0;\n\n // At least, one hex digit is required.\n if (ch === '}') {\n throwUnexpectedToken();\n }\n\n while (index < length) {\n ch = source[index++];\n if (!isHexDigit(ch)) {\n break;\n }\n code = code * 16 + '0123456789abcdef'.indexOf(ch.toLowerCase());\n }\n\n if (code > 0x10FFFF || ch !== '}') {\n throwUnexpectedToken();\n }\n\n return fromCodePoint(code);\n }\n\n function codePointAt(i) {\n var cp, first, second;\n\n cp = source.charCodeAt(i);\n if (cp >= 0xD800 && cp <= 0xDBFF) {\n second = source.charCodeAt(i + 1);\n if (second >= 0xDC00 && second <= 0xDFFF) {\n first = cp;\n cp = (first - 0xD800) * 0x400 + second - 0xDC00 + 0x10000;\n }\n }\n\n return cp;\n }\n\n function getComplexIdentifier() {\n var cp, ch, id;\n\n cp = codePointAt(index);\n id = fromCodePoint(cp);\n index += id.length;\n\n // '\\u' (U+005C, U+0075) denotes an escaped character.\n if (cp === 0x5C) {\n if (source.charCodeAt(index) !== 0x75) {\n throwUnexpectedToken();\n }\n ++index;\n if (source[index] === '{') {\n ++index;\n ch = scanUnicodeCodePointEscape();\n } else {\n ch = scanHexEscape('u');\n cp = ch.charCodeAt(0);\n if (!ch || ch === '\\\\' || !isIdentifierStart(cp)) {\n throwUnexpectedToken();\n }\n }\n id = ch;\n }\n\n while (index < length) {\n cp = codePointAt(index);\n if (!isIdentifierPart(cp)) {\n break;\n }\n ch = fromCodePoint(cp);\n id += ch;\n index += ch.length;\n\n // '\\u' (U+005C, U+0075) denotes an escaped character.\n if (cp === 0x5C) {\n id = id.substr(0, id.length - 1);\n if (source.charCodeAt(index) !== 0x75) {\n throwUnexpectedToken();\n }\n ++index;\n if (source[index] === '{') {\n ++index;\n ch = scanUnicodeCodePointEscape();\n } else {\n ch = scanHexEscape('u');\n cp = ch.charCodeAt(0);\n if (!ch || ch === '\\\\' || !isIdentifierPart(cp)) {\n throwUnexpectedToken();\n }\n }\n id += ch;\n }\n }\n\n return id;\n }\n\n function getIdentifier() {\n var start, ch;\n\n start = index++;\n while (index < length) {\n ch = source.charCodeAt(index);\n if (ch === 0x5C) {\n // Blackslash (U+005C) marks Unicode escape sequence.\n index = start;\n return getComplexIdentifier();\n } else if (ch >= 0xD800 && ch < 0xDFFF) {\n // Need to handle surrogate pairs.\n index = start;\n return getComplexIdentifier();\n }\n if (isIdentifierPart(ch)) {\n ++index;\n } else {\n break;\n }\n }\n\n return source.slice(start, index);\n }\n\n function scanIdentifier() {\n var start, id, type;\n\n start = index;\n\n // Backslash (U+005C) starts an escaped character.\n id = (source.charCodeAt(index) === 0x5C) ? getComplexIdentifier() : getIdentifier();\n\n // There is no keyword or literal with only one character.\n // Thus, it must be an identifier.\n if (id.length === 1) {\n type = Token.Identifier;\n } else if (isKeyword(id)) {\n type = Token.Keyword;\n } else if (id === 'null') {\n type = Token.NullLiteral;\n } else if (id === 'true' || id === 'false') {\n type = Token.BooleanLiteral;\n } else {\n type = Token.Identifier;\n }\n\n return {\n type: type,\n value: id,\n lineNumber: lineNumber,\n lineStart: lineStart,\n start: start,\n end: index\n };\n }\n\n\n // ECMA-262 11.7 Punctuators\n\n function scanPunctuator() {\n var token, str;\n\n token = {\n type: Token.Punctuator,\n value: '',\n lineNumber: lineNumber,\n lineStart: lineStart,\n start: index,\n end: index\n };\n\n // Check for most common single-character punctuators.\n str = source[index];\n switch (str) {\n\n case '(':\n if (extra.tokenize) {\n extra.openParenToken = extra.tokenValues.length;\n }\n ++index;\n break;\n\n case '{':\n if (extra.tokenize) {\n extra.openCurlyToken = extra.tokenValues.length;\n }\n state.curlyStack.push('{');\n ++index;\n break;\n\n case '.':\n ++index;\n if (source[index] === '.' && source[index + 1] === '.') {\n // Spread operator: ...\n index += 2;\n str = '...';\n }\n break;\n\n case '}':\n ++index;\n state.curlyStack.pop();\n break;\n case ')':\n case ';':\n case ',':\n case '[':\n case ']':\n case ':':\n case '?':\n case '~':\n ++index;\n break;\n\n default:\n // 4-character punctuator.\n str = source.substr(index, 4);\n if (str === '>>>=') {\n index += 4;\n } else {\n\n // 3-character punctuators.\n str = str.substr(0, 3);\n if (str === '===' || str === '!==' || str === '>>>' ||\n str === '<<=' || str === '>>=') {\n index += 3;\n } else {\n\n // 2-character punctuators.\n str = str.substr(0, 2);\n if (str === '&&' || str === '||' || str === '==' || str === '!=' ||\n str === '+=' || str === '-=' || str === '*=' || str === '/=' ||\n str === '++' || str === '--' || str === '<<' || str === '>>' ||\n str === '&=' || str === '|=' || str === '^=' || str === '%=' ||\n str === '<=' || str === '>=' || str === '=>') {\n index += 2;\n } else {\n\n // 1-character punctuators.\n str = source[index];\n if ('<>=!+-*%&|^/'.indexOf(str) >= 0) {\n ++index;\n }\n }\n }\n }\n }\n\n if (index === token.start) {\n throwUnexpectedToken();\n }\n\n token.end = index;\n token.value = str;\n return token;\n }\n\n // ECMA-262 11.8.3 Numeric Literals\n\n function scanHexLiteral(start) {\n var number = '';\n\n while (index < length) {\n if (!isHexDigit(source[index])) {\n break;\n }\n number += source[index++];\n }\n\n if (number.length === 0) {\n throwUnexpectedToken();\n }\n\n if (isIdentifierStart(source.charCodeAt(index))) {\n throwUnexpectedToken();\n }\n\n return {\n type: Token.NumericLiteral,\n value: parseInt('0x' + number, 16),\n lineNumber: lineNumber,\n lineStart: lineStart,\n start: start,\n end: index\n };\n }\n\n function scanBinaryLiteral(start) {\n var ch, number;\n\n number = '';\n\n while (index < length) {\n ch = source[index];\n if (ch !== '0' && ch !== '1') {\n break;\n }\n number += source[index++];\n }\n\n if (number.length === 0) {\n // only 0b or 0B\n throwUnexpectedToken();\n }\n\n if (index < length) {\n ch = source.charCodeAt(index);\n /* istanbul ignore else */\n if (isIdentifierStart(ch) || isDecimalDigit(ch)) {\n throwUnexpectedToken();\n }\n }\n\n return {\n type: Token.NumericLiteral,\n value: parseInt(number, 2),\n lineNumber: lineNumber,\n lineStart: lineStart,\n start: start,\n end: index\n };\n }\n\n function scanOctalLiteral(prefix, start) {\n var number, octal;\n\n if (isOctalDigit(prefix)) {\n octal = true;\n number = '0' + source[index++];\n } else {\n octal = false;\n ++index;\n number = '';\n }\n\n while (index < length) {\n if (!isOctalDigit(source[index])) {\n break;\n }\n number += source[index++];\n }\n\n if (!octal && number.length === 0) {\n // only 0o or 0O\n throwUnexpectedToken();\n }\n\n if (isIdentifierStart(source.charCodeAt(index)) || isDecimalDigit(source.charCodeAt(index))) {\n throwUnexpectedToken();\n }\n\n return {\n type: Token.NumericLiteral,\n value: parseInt(number, 8),\n octal: octal,\n lineNumber: lineNumber,\n lineStart: lineStart,\n start: start,\n end: index\n };\n }\n\n function isImplicitOctalLiteral() {\n var i, ch;\n\n // Implicit octal, unless there is a non-octal digit.\n // (Annex B.1.1 on Numeric Literals)\n for (i = index + 1; i < length; ++i) {\n ch = source[i];\n if (ch === '8' || ch === '9') {\n return false;\n }\n if (!isOctalDigit(ch)) {\n return true;\n }\n }\n\n return true;\n }\n\n function scanNumericLiteral() {\n var number, start, ch;\n\n ch = source[index];\n assert(isDecimalDigit(ch.charCodeAt(0)) || (ch === '.'),\n 'Numeric literal must start with a decimal digit or a decimal point');\n\n start = index;\n number = '';\n if (ch !== '.') {\n number = source[index++];\n ch = source[index];\n\n // Hex number starts with '0x'.\n // Octal number starts with '0'.\n // Octal number in ES6 starts with '0o'.\n // Binary number in ES6 starts with '0b'.\n if (number === '0') {\n if (ch === 'x' || ch === 'X') {\n ++index;\n return scanHexLiteral(start);\n }\n if (ch === 'b' || ch === 'B') {\n ++index;\n return scanBinaryLiteral(start);\n }\n if (ch === 'o' || ch === 'O') {\n return scanOctalLiteral(ch, start);\n }\n\n if (isOctalDigit(ch)) {\n if (isImplicitOctalLiteral()) {\n return scanOctalLiteral(ch, start);\n }\n }\n }\n\n while (isDecimalDigit(source.charCodeAt(index))) {\n number += source[index++];\n }\n ch = source[index];\n }\n\n if (ch === '.') {\n number += source[index++];\n while (isDecimalDigit(source.charCodeAt(index))) {\n number += source[index++];\n }\n ch = source[index];\n }\n\n if (ch === 'e' || ch === 'E') {\n number += source[index++];\n\n ch = source[index];\n if (ch === '+' || ch === '-') {\n number += source[index++];\n }\n if (isDecimalDigit(source.charCodeAt(index))) {\n while (isDecimalDigit(source.charCodeAt(index))) {\n number += source[index++];\n }\n } else {\n throwUnexpectedToken();\n }\n }\n\n if (isIdentifierStart(source.charCodeAt(index))) {\n throwUnexpectedToken();\n }\n\n return {\n type: Token.NumericLiteral,\n value: parseFloat(number),\n lineNumber: lineNumber,\n lineStart: lineStart,\n start: start,\n end: index\n };\n }\n\n // ECMA-262 11.8.4 String Literals\n\n function scanStringLiteral() {\n var str = '', quote, start, ch, unescaped, octToDec, octal = false;\n\n quote = source[index];\n assert((quote === '\\'' || quote === '\"'),\n 'String literal must starts with a quote');\n\n start = index;\n ++index;\n\n while (index < length) {\n ch = source[index++];\n\n if (ch === quote) {\n quote = '';\n break;\n } else if (ch === '\\\\') {\n ch = source[index++];\n if (!ch || !isLineTerminator(ch.charCodeAt(0))) {\n switch (ch) {\n case 'u':\n case 'x':\n if (source[index] === '{') {\n ++index;\n str += scanUnicodeCodePointEscape();\n } else {\n unescaped = scanHexEscape(ch);\n if (!unescaped) {\n throw throwUnexpectedToken();\n }\n str += unescaped;\n }\n break;\n case 'n':\n str += '\\n';\n break;\n case 'r':\n str += '\\r';\n break;\n case 't':\n str += '\\t';\n break;\n case 'b':\n str += '\\b';\n break;\n case 'f':\n str += '\\f';\n break;\n case 'v':\n str += '\\x0B';\n break;\n case '8':\n case '9':\n str += ch;\n tolerateUnexpectedToken();\n break;\n\n default:\n if (isOctalDigit(ch)) {\n octToDec = octalToDecimal(ch);\n\n octal = octToDec.octal || octal;\n str += String.fromCharCode(octToDec.code);\n } else {\n str += ch;\n }\n break;\n }\n } else {\n ++lineNumber;\n if (ch === '\\r' && source[index] === '\\n') {\n ++index;\n }\n lineStart = index;\n }\n } else if (isLineTerminator(ch.charCodeAt(0))) {\n break;\n } else {\n str += ch;\n }\n }\n\n if (quote !== '') {\n index = start;\n throwUnexpectedToken();\n }\n\n return {\n type: Token.StringLiteral,\n value: str,\n octal: octal,\n lineNumber: startLineNumber,\n lineStart: startLineStart,\n start: start,\n end: index\n };\n }\n\n // ECMA-262 11.8.6 Template Literal Lexical Components\n\n function scanTemplate() {\n var cooked = '', ch, start, rawOffset, terminated, head, tail, restore, unescaped;\n\n terminated = false;\n tail = false;\n start = index;\n head = (source[index] === '`');\n rawOffset = 2;\n\n ++index;\n\n while (index < length) {\n ch = source[index++];\n if (ch === '`') {\n rawOffset = 1;\n tail = true;\n terminated = true;\n break;\n } else if (ch === '$') {\n if (source[index] === '{') {\n state.curlyStack.push('${');\n ++index;\n terminated = true;\n break;\n }\n cooked += ch;\n } else if (ch === '\\\\') {\n ch = source[index++];\n if (!isLineTerminator(ch.charCodeAt(0))) {\n switch (ch) {\n case 'n':\n cooked += '\\n';\n break;\n case 'r':\n cooked += '\\r';\n break;\n case 't':\n cooked += '\\t';\n break;\n case 'u':\n case 'x':\n if (source[index] === '{') {\n ++index;\n cooked += scanUnicodeCodePointEscape();\n } else {\n restore = index;\n unescaped = scanHexEscape(ch);\n if (unescaped) {\n cooked += unescaped;\n } else {\n index = restore;\n cooked += ch;\n }\n }\n break;\n case 'b':\n cooked += '\\b';\n break;\n case 'f':\n cooked += '\\f';\n break;\n case 'v':\n cooked += '\\v';\n break;\n\n default:\n if (ch === '0') {\n if (isDecimalDigit(source.charCodeAt(index))) {\n // Illegal: \\01 \\02 and so on\n throwError(Messages.TemplateOctalLiteral);\n }\n cooked += '\\0';\n } else if (isOctalDigit(ch)) {\n // Illegal: \\1 \\2\n throwError(Messages.TemplateOctalLiteral);\n } else {\n cooked += ch;\n }\n break;\n }\n } else {\n ++lineNumber;\n if (ch === '\\r' && source[index] === '\\n') {\n ++index;\n }\n lineStart = index;\n }\n } else if (isLineTerminator(ch.charCodeAt(0))) {\n ++lineNumber;\n if (ch === '\\r' && source[index] === '\\n') {\n ++index;\n }\n lineStart = index;\n cooked += '\\n';\n } else {\n cooked += ch;\n }\n }\n\n if (!terminated) {\n throwUnexpectedToken();\n }\n\n if (!head) {\n state.curlyStack.pop();\n }\n\n return {\n type: Token.Template,\n value: {\n cooked: cooked,\n raw: source.slice(start + 1, index - rawOffset)\n },\n head: head,\n tail: tail,\n lineNumber: lineNumber,\n lineStart: lineStart,\n start: start,\n end: index\n };\n }\n\n // ECMA-262 11.8.5 Regular Expression Literals\n\n function testRegExp(pattern, flags) {\n // The BMP character to use as a replacement for astral symbols when\n // translating an ES6 \"u\"-flagged pattern to an ES5-compatible\n // approximation.\n // Note: replacing with '\\uFFFF' enables false positives in unlikely\n // scenarios. For example, `[\\u{1044f}-\\u{10440}]` is an invalid\n // pattern that would not be detected by this substitution.\n var astralSubstitute = '\\uFFFF',\n tmp = pattern;\n\n if (flags.indexOf('u') >= 0) {\n tmp = tmp\n // Replace every Unicode escape sequence with the equivalent\n // BMP character or a constant ASCII code point in the case of\n // astral symbols. (See the above note on `astralSubstitute`\n // for more information.)\n .replace(/\\\\u\\{([0-9a-fA-F]+)\\}|\\\\u([a-fA-F0-9]{4})/g, function ($0, $1, $2) {\n var codePoint = parseInt($1 || $2, 16);\n if (codePoint > 0x10FFFF) {\n throwUnexpectedToken(null, Messages.InvalidRegExp);\n }\n if (codePoint <= 0xFFFF) {\n return String.fromCharCode(codePoint);\n }\n return astralSubstitute;\n })\n // Replace each paired surrogate with a single ASCII symbol to\n // avoid throwing on regular expressions that are only valid in\n // combination with the \"u\" flag.\n .replace(\n /[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]/g,\n astralSubstitute\n );\n }\n\n // First, detect invalid regular expressions.\n try {\n RegExp(tmp);\n } catch (e) {\n throwUnexpectedToken(null, Messages.InvalidRegExp);\n }\n\n // Return a regular expression object for this pattern-flag pair, or\n // `null` in case the current environment doesn't support the flags it\n // uses.\n try {\n return new RegExp(pattern, flags);\n } catch (exception) {\n /* istanbul ignore next */\n return null;\n }\n }\n\n function scanRegExpBody() {\n var ch, str, classMarker, terminated, body;\n\n ch = source[index];\n assert(ch === '/', 'Regular expression literal must start with a slash');\n str = source[index++];\n\n classMarker = false;\n terminated = false;\n while (index < length) {\n ch = source[index++];\n str += ch;\n if (ch === '\\\\') {\n ch = source[index++];\n // ECMA-262 7.8.5\n if (isLineTerminator(ch.charCodeAt(0))) {\n throwUnexpectedToken(null, Messages.UnterminatedRegExp);\n }\n str += ch;\n } else if (isLineTerminator(ch.charCodeAt(0))) {\n throwUnexpectedToken(null, Messages.UnterminatedRegExp);\n } else if (classMarker) {\n if (ch === ']') {\n classMarker = false;\n }\n } else {\n if (ch === '/') {\n terminated = true;\n break;\n } else if (ch === '[') {\n classMarker = true;\n }\n }\n }\n\n if (!terminated) {\n throwUnexpectedToken(null, Messages.UnterminatedRegExp);\n }\n\n // Exclude leading and trailing slash.\n body = str.substr(1, str.length - 2);\n return {\n value: body,\n literal: str\n };\n }\n\n function scanRegExpFlags() {\n var ch, str, flags, restore;\n\n str = '';\n flags = '';\n while (index < length) {\n ch = source[index];\n if (!isIdentifierPart(ch.charCodeAt(0))) {\n break;\n }\n\n ++index;\n if (ch === '\\\\' && index < length) {\n ch = source[index];\n if (ch === 'u') {\n ++index;\n restore = index;\n ch = scanHexEscape('u');\n if (ch) {\n flags += ch;\n for (str += '\\\\u'; restore < index; ++restore) {\n str += source[restore];\n }\n } else {\n index = restore;\n flags += 'u';\n str += '\\\\u';\n }\n tolerateUnexpectedToken();\n } else {\n str += '\\\\';\n tolerateUnexpectedToken();\n }\n } else {\n flags += ch;\n str += ch;\n }\n }\n\n return {\n value: flags,\n literal: str\n };\n }\n\n function scanRegExp() {\n var start, body, flags, value;\n scanning = true;\n\n lookahead = null;\n skipComment();\n start = index;\n\n body = scanRegExpBody();\n flags = scanRegExpFlags();\n value = testRegExp(body.value, flags.value);\n scanning = false;\n if (extra.tokenize) {\n return {\n type: Token.RegularExpression,\n value: value,\n regex: {\n pattern: body.value,\n flags: flags.value\n },\n lineNumber: lineNumber,\n lineStart: lineStart,\n start: start,\n end: index\n };\n }\n\n return {\n literal: body.literal + flags.literal,\n value: value,\n regex: {\n pattern: body.value,\n flags: flags.value\n },\n start: start,\n end: index\n };\n }\n\n function collectRegex() {\n var pos, loc, regex, token;\n\n skipComment();\n\n pos = index;\n loc = {\n start: {\n line: lineNumber,\n column: index - lineStart\n }\n };\n\n regex = scanRegExp();\n\n loc.end = {\n line: lineNumber,\n column: index - lineStart\n };\n\n /* istanbul ignore next */\n if (!extra.tokenize) {\n // Pop the previous token, which is likely '/' or '/='\n if (extra.tokens.length > 0) {\n token = extra.tokens[extra.tokens.length - 1];\n if (token.range[0] === pos && token.type === 'Punctuator') {\n if (token.value === '/' || token.value === '/=') {\n extra.tokens.pop();\n }\n }\n }\n\n extra.tokens.push({\n type: 'RegularExpression',\n value: regex.literal,\n regex: regex.regex,\n range: [pos, index],\n loc: loc\n });\n }\n\n return regex;\n }\n\n function isIdentifierName(token) {\n return token.type === Token.Identifier ||\n token.type === Token.Keyword ||\n token.type === Token.BooleanLiteral ||\n token.type === Token.NullLiteral;\n }\n\n // Using the following algorithm:\n // https://github.com/mozilla/sweet.js/wiki/design\n\n function advanceSlash() {\n var regex, previous, check;\n\n function testKeyword(value) {\n return value && (value.length > 1) && (value[0] >= 'a') && (value[0] <= 'z');\n }\n\n previous = extra.tokenValues[extra.tokenValues.length - 1];\n regex = (previous !== null);\n\n switch (previous) {\n case 'this':\n case ']':\n regex = false;\n break;\n\n case ')':\n check = extra.tokenValues[extra.openParenToken - 1];\n regex = (check === 'if' || check === 'while' || check === 'for' || check === 'with');\n break;\n\n case '}':\n // Dividing a function by anything makes little sense,\n // but we have to check for that.\n regex = false;\n if (testKeyword(extra.tokenValues[extra.openCurlyToken - 3])) {\n // Anonymous function, e.g. function(){} /42\n check = extra.tokenValues[extra.openCurlyToken - 4];\n regex = check ? (FnExprTokens.indexOf(check) < 0) : false;\n } else if (testKeyword(extra.tokenValues[extra.openCurlyToken - 4])) {\n // Named function, e.g. function f(){} /42/\n check = extra.tokenValues[extra.openCurlyToken - 5];\n regex = check ? (FnExprTokens.indexOf(check) < 0) : true;\n }\n }\n\n return regex ? collectRegex() : scanPunctuator();\n }\n\n function advance() {\n var cp, token;\n\n if (index >= length) {\n return {\n type: Token.EOF,\n lineNumber: lineNumber,\n lineStart: lineStart,\n start: index,\n end: index\n };\n }\n\n cp = source.charCodeAt(index);\n\n if (isIdentifierStart(cp)) {\n token = scanIdentifier();\n if (strict && isStrictModeReservedWord(token.value)) {\n token.type = Token.Keyword;\n }\n return token;\n }\n\n // Very common: ( and ) and ;\n if (cp === 0x28 || cp === 0x29 || cp === 0x3B) {\n return scanPunctuator();\n }\n\n // String literal starts with single quote (U+0027) or double quote (U+0022).\n if (cp === 0x27 || cp === 0x22) {\n return scanStringLiteral();\n }\n\n // Dot (.) U+002E can also start a floating-point number, hence the need\n // to check the next character.\n if (cp === 0x2E) {\n if (isDecimalDigit(source.charCodeAt(index + 1))) {\n return scanNumericLiteral();\n }\n return scanPunctuator();\n }\n\n if (isDecimalDigit(cp)) {\n return scanNumericLiteral();\n }\n\n // Slash (/) U+002F can also start a regex.\n if (extra.tokenize && cp === 0x2F) {\n return advanceSlash();\n }\n\n // Template literals start with ` (U+0060) for template head\n // or } (U+007D) for template middle or template tail.\n if (cp === 0x60 || (cp === 0x7D && state.curlyStack[state.curlyStack.length - 1] === '${')) {\n return scanTemplate();\n }\n\n // Possible identifier start in a surrogate pair.\n if (cp >= 0xD800 && cp < 0xDFFF) {\n cp = codePointAt(index);\n if (isIdentifierStart(cp)) {\n return scanIdentifier();\n }\n }\n\n return scanPunctuator();\n }\n\n function collectToken() {\n var loc, token, value, entry;\n\n loc = {\n start: {\n line: lineNumber,\n column: index - lineStart\n }\n };\n\n token = advance();\n loc.end = {\n line: lineNumber,\n column: index - lineStart\n };\n\n if (token.type !== Token.EOF) {\n value = source.slice(token.start, token.end);\n entry = {\n type: TokenName[token.type],\n value: value,\n range: [token.start, token.end],\n loc: loc\n };\n if (token.regex) {\n entry.regex = {\n pattern: token.regex.pattern,\n flags: token.regex.flags\n };\n }\n if (extra.tokenValues) {\n extra.tokenValues.push((entry.type === 'Punctuator' || entry.type === 'Keyword') ? entry.value : null);\n }\n if (extra.tokenize) {\n if (!extra.range) {\n delete entry.range;\n }\n if (!extra.loc) {\n delete entry.loc;\n }\n if (extra.delegate) {\n entry = extra.delegate(entry);\n }\n }\n extra.tokens.push(entry);\n }\n\n return token;\n }\n\n function lex() {\n var token;\n scanning = true;\n\n lastIndex = index;\n lastLineNumber = lineNumber;\n lastLineStart = lineStart;\n\n skipComment();\n\n token = lookahead;\n\n startIndex = index;\n startLineNumber = lineNumber;\n startLineStart = lineStart;\n\n lookahead = (typeof extra.tokens !== 'undefined') ? collectToken() : advance();\n scanning = false;\n return token;\n }\n\n function peek() {\n scanning = true;\n\n skipComment();\n\n lastIndex = index;\n lastLineNumber = lineNumber;\n lastLineStart = lineStart;\n\n startIndex = index;\n startLineNumber = lineNumber;\n startLineStart = lineStart;\n\n lookahead = (typeof extra.tokens !== 'undefined') ? collectToken() : advance();\n scanning = false;\n }\n\n function Position() {\n this.line = startLineNumber;\n this.column = startIndex - startLineStart;\n }\n\n function SourceLocation() {\n this.start = new Position();\n this.end = null;\n }\n\n function WrappingSourceLocation(startToken) {\n this.start = {\n line: startToken.lineNumber,\n column: startToken.start - startToken.lineStart\n };\n this.end = null;\n }\n\n function Node() {\n if (extra.range) {\n this.range = [startIndex, 0];\n }\n if (extra.loc) {\n this.loc = new SourceLocation();\n }\n }\n\n function WrappingNode(startToken) {\n if (extra.range) {\n this.range = [startToken.start, 0];\n }\n if (extra.loc) {\n this.loc = new WrappingSourceLocation(startToken);\n }\n }\n\n WrappingNode.prototype = Node.prototype = {\n\n processComment: function () {\n var lastChild,\n innerComments,\n leadingComments,\n trailingComments,\n bottomRight = extra.bottomRightStack,\n i,\n comment,\n last = bottomRight[bottomRight.length - 1];\n\n if (this.type === Syntax.Program) {\n if (this.body.length > 0) {\n return;\n }\n }\n /**\n * patch innnerComments for properties empty block\n * `function a() {/** comments **\\/}`\n */\n\n if (this.type === Syntax.BlockStatement && this.body.length === 0) {\n innerComments = [];\n for (i = extra.leadingComments.length - 1; i >= 0; --i) {\n comment = extra.leadingComments[i];\n if (this.range[1] >= comment.range[1]) {\n innerComments.unshift(comment);\n extra.leadingComments.splice(i, 1);\n extra.trailingComments.splice(i, 1);\n }\n }\n if (innerComments.length) {\n this.innerComments = innerComments;\n //bottomRight.push(this);\n return;\n }\n }\n\n if (extra.trailingComments.length > 0) {\n trailingComments = [];\n for (i = extra.trailingComments.length - 1; i >= 0; --i) {\n comment = extra.trailingComments[i];\n if (comment.range[0] >= this.range[1]) {\n trailingComments.unshift(comment);\n extra.trailingComments.splice(i, 1);\n }\n }\n extra.trailingComments = [];\n } else {\n if (last && last.trailingComments && last.trailingComments[0].range[0] >= this.range[1]) {\n trailingComments = last.trailingComments;\n delete last.trailingComments;\n }\n }\n\n // Eating the stack.\n while (last && last.range[0] >= this.range[0]) {\n lastChild = bottomRight.pop();\n last = bottomRight[bottomRight.length - 1];\n }\n\n if (lastChild) {\n if (lastChild.leadingComments) {\n leadingComments = [];\n for (i = lastChild.leadingComments.length - 1; i >= 0; --i) {\n comment = lastChild.leadingComments[i];\n if (comment.range[1] <= this.range[0]) {\n leadingComments.unshift(comment);\n lastChild.leadingComments.splice(i, 1);\n }\n }\n\n if (!lastChild.leadingComments.length) {\n lastChild.leadingComments = undefined;\n }\n }\n } else if (extra.leadingComments.length > 0) {\n leadingComments = [];\n for (i = extra.leadingComments.length - 1; i >= 0; --i) {\n comment = extra.leadingComments[i];\n if (comment.range[1] <= this.range[0]) {\n leadingComments.unshift(comment);\n extra.leadingComments.splice(i, 1);\n }\n }\n }\n\n\n if (leadingComments && leadingComments.length > 0) {\n this.leadingComments = leadingComments;\n }\n if (trailingComments && trailingComments.length > 0) {\n this.trailingComments = trailingComments;\n }\n\n bottomRight.push(this);\n },\n\n finish: function () {\n if (extra.range) {\n this.range[1] = lastIndex;\n }\n if (extra.loc) {\n this.loc.end = {\n line: lastLineNumber,\n column: lastIndex - lastLineStart\n };\n if (extra.source) {\n this.loc.source = extra.source;\n }\n }\n\n if (extra.attachComment) {\n this.processComment();\n }\n },\n\n finishArrayExpression: function (elements) {\n this.type = Syntax.ArrayExpression;\n this.elements = elements;\n this.finish();\n return this;\n },\n\n finishArrayPattern: function (elements) {\n this.type = Syntax.ArrayPattern;\n this.elements = elements;\n this.finish();\n return this;\n },\n\n finishArrowFunctionExpression: function (params, defaults, body, expression) {\n this.type = Syntax.ArrowFunctionExpression;\n this.id = null;\n this.params = params;\n this.defaults = defaults;\n this.body = body;\n this.generator = false;\n this.expression = expression;\n this.finish();\n return this;\n },\n\n finishAssignmentExpression: function (operator, left, right) {\n this.type = Syntax.AssignmentExpression;\n this.operator = operator;\n this.left = left;\n this.right = right;\n this.finish();\n return this;\n },\n\n finishAssignmentPattern: function (left, right) {\n this.type = Syntax.AssignmentPattern;\n this.left = left;\n this.right = right;\n this.finish();\n return this;\n },\n\n finishBinaryExpression: function (operator, left, right) {\n this.type = (operator === '||' || operator === '&&') ? Syntax.LogicalExpression : Syntax.BinaryExpression;\n this.operator = operator;\n this.left = left;\n this.right = right;\n this.finish();\n return this;\n },\n\n finishBlockStatement: function (body) {\n this.type = Syntax.BlockStatement;\n this.body = body;\n this.finish();\n return this;\n },\n\n finishBreakStatement: function (label) {\n this.type = Syntax.BreakStatement;\n this.label = label;\n this.finish();\n return this;\n },\n\n finishCallExpression: function (callee, args) {\n this.type = Syntax.CallExpression;\n this.callee = callee;\n this.arguments = args;\n this.finish();\n return this;\n },\n\n finishCatchClause: function (param, body) {\n this.type = Syntax.CatchClause;\n this.param = param;\n this.body = body;\n this.finish();\n return this;\n },\n\n finishClassBody: function (body) {\n this.type = Syntax.ClassBody;\n this.body = body;\n this.finish();\n return this;\n },\n\n finishClassDeclaration: function (id, superClass, body) {\n this.type = Syntax.ClassDeclaration;\n this.id = id;\n this.superClass = superClass;\n this.body = body;\n this.finish();\n return this;\n },\n\n finishClassExpression: function (id, superClass, body) {\n this.type = Syntax.ClassExpression;\n this.id = id;\n this.superClass = superClass;\n this.body = body;\n this.finish();\n return this;\n },\n\n finishConditionalExpression: function (test, consequent, alternate) {\n this.type = Syntax.ConditionalExpression;\n this.test = test;\n this.consequent = consequent;\n this.alternate = alternate;\n this.finish();\n return this;\n },\n\n finishContinueStatement: function (label) {\n this.type = Syntax.ContinueStatement;\n this.label = label;\n this.finish();\n return this;\n },\n\n finishDebuggerStatement: function () {\n this.type = Syntax.DebuggerStatement;\n this.finish();\n return this;\n },\n\n finishDoWhileStatement: function (body, test) {\n this.type = Syntax.DoWhileStatement;\n this.body = body;\n this.test = test;\n this.finish();\n return this;\n },\n\n finishEmptyStatement: function () {\n this.type = Syntax.EmptyStatement;\n this.finish();\n return this;\n },\n\n finishExpressionStatement: function (expression) {\n this.type = Syntax.ExpressionStatement;\n this.expression = expression;\n this.finish();\n return this;\n },\n\n finishForStatement: function (init, test, update, body) {\n this.type = Syntax.ForStatement;\n this.init = init;\n this.test = test;\n this.update = update;\n this.body = body;\n this.finish();\n return this;\n },\n\n finishForOfStatement: function (left, right, body) {\n this.type = Syntax.ForOfStatement;\n this.left = left;\n this.right = right;\n this.body = body;\n this.finish();\n return this;\n },\n\n finishForInStatement: function (left, right, body) {\n this.type = Syntax.ForInStatement;\n this.left = left;\n this.right = right;\n this.body = body;\n this.each = false;\n this.finish();\n return this;\n },\n\n finishFunctionDeclaration: function (id, params, defaults, body, generator) {\n this.type = Syntax.FunctionDeclaration;\n this.id = id;\n this.params = params;\n this.defaults = defaults;\n this.body = body;\n this.generator = generator;\n this.expression = false;\n this.finish();\n return this;\n },\n\n finishFunctionExpression: function (id, params, defaults, body, generator) {\n this.type = Syntax.FunctionExpression;\n this.id = id;\n this.params = params;\n this.defaults = defaults;\n this.body = body;\n this.generator = generator;\n this.expression = false;\n this.finish();\n return this;\n },\n\n finishIdentifier: function (name) {\n this.type = Syntax.Identifier;\n this.name = name;\n this.finish();\n return this;\n },\n\n finishIfStatement: function (test, consequent, alternate) {\n this.type = Syntax.IfStatement;\n this.test = test;\n this.consequent = consequent;\n this.alternate = alternate;\n this.finish();\n return this;\n },\n\n finishLabeledStatement: function (label, body) {\n this.type = Syntax.LabeledStatement;\n this.label = label;\n this.body = body;\n this.finish();\n return this;\n },\n\n finishLiteral: function (token) {\n this.type = Syntax.Literal;\n this.value = token.value;\n this.raw = source.slice(token.start, token.end);\n if (token.regex) {\n this.regex = token.regex;\n }\n this.finish();\n return this;\n },\n\n finishMemberExpression: function (accessor, object, property) {\n this.type = Syntax.MemberExpression;\n this.computed = accessor === '[';\n this.object = object;\n this.property = property;\n this.finish();\n return this;\n },\n\n finishMetaProperty: function (meta, property) {\n this.type = Syntax.MetaProperty;\n this.meta = meta;\n this.property = property;\n this.finish();\n return this;\n },\n\n finishNewExpression: function (callee, args) {\n this.type = Syntax.NewExpression;\n this.callee = callee;\n this.arguments = args;\n this.finish();\n return this;\n },\n\n finishObjectExpression: function (properties) {\n this.type = Syntax.ObjectExpression;\n this.properties = properties;\n this.finish();\n return this;\n },\n\n finishObjectPattern: function (properties) {\n this.type = Syntax.ObjectPattern;\n this.properties = properties;\n this.finish();\n return this;\n },\n\n finishPostfixExpression: function (operator, argument) {\n this.type = Syntax.UpdateExpression;\n this.operator = operator;\n this.argument = argument;\n this.prefix = false;\n this.finish();\n return this;\n },\n\n finishProgram: function (body, sourceType) {\n this.type = Syntax.Program;\n this.body = body;\n this.sourceType = sourceType;\n this.finish();\n return this;\n },\n\n finishProperty: function (kind, key, computed, value, method, shorthand) {\n this.type = Syntax.Property;\n this.key = key;\n this.computed = computed;\n this.value = value;\n this.kind = kind;\n this.method = method;\n this.shorthand = shorthand;\n this.finish();\n return this;\n },\n\n finishRestElement: function (argument) {\n this.type = Syntax.RestElement;\n this.argument = argument;\n this.finish();\n return this;\n },\n\n finishReturnStatement: function (argument) {\n this.type = Syntax.ReturnStatement;\n this.argument = argument;\n this.finish();\n return this;\n },\n\n finishSequenceExpression: function (expressions) {\n this.type = Syntax.SequenceExpression;\n this.expressions = expressions;\n this.finish();\n return this;\n },\n\n finishSpreadElement: function (argument) {\n this.type = Syntax.SpreadElement;\n this.argument = argument;\n this.finish();\n return this;\n },\n\n finishSwitchCase: function (test, consequent) {\n this.type = Syntax.SwitchCase;\n this.test = test;\n this.consequent = consequent;\n this.finish();\n return this;\n },\n\n finishSuper: function () {\n this.type = Syntax.Super;\n this.finish();\n return this;\n },\n\n finishSwitchStatement: function (discriminant, cases) {\n this.type = Syntax.SwitchStatement;\n this.discriminant = discriminant;\n this.cases = cases;\n this.finish();\n return this;\n },\n\n finishTaggedTemplateExpression: function (tag, quasi) {\n this.type = Syntax.TaggedTemplateExpression;\n this.tag = tag;\n this.quasi = quasi;\n this.finish();\n return this;\n },\n\n finishTemplateElement: function (value, tail) {\n this.type = Syntax.TemplateElement;\n this.value = value;\n this.tail = tail;\n this.finish();\n return this;\n },\n\n finishTemplateLiteral: function (quasis, expressions) {\n this.type = Syntax.TemplateLiteral;\n this.quasis = quasis;\n this.expressions = expressions;\n this.finish();\n return this;\n },\n\n finishThisExpression: function () {\n this.type = Syntax.ThisExpression;\n this.finish();\n return this;\n },\n\n finishThrowStatement: function (argument) {\n this.type = Syntax.ThrowStatement;\n this.argument = argument;\n this.finish();\n return this;\n },\n\n finishTryStatement: function (block, handler, finalizer) {\n this.type = Syntax.TryStatement;\n this.block = block;\n this.guardedHandlers = [];\n this.handlers = handler ? [handler] : [];\n this.handler = handler;\n this.finalizer = finalizer;\n this.finish();\n return this;\n },\n\n finishUnaryExpression: function (operator, argument) {\n this.type = (operator === '++' || operator === '--') ? Syntax.UpdateExpression : Syntax.UnaryExpression;\n this.operator = operator;\n this.argument = argument;\n this.prefix = true;\n this.finish();\n return this;\n },\n\n finishVariableDeclaration: function (declarations) {\n this.type = Syntax.VariableDeclaration;\n this.declarations = declarations;\n this.kind = 'var';\n this.finish();\n return this;\n },\n\n finishLexicalDeclaration: function (declarations, kind) {\n this.type = Syntax.VariableDeclaration;\n this.declarations = declarations;\n this.kind = kind;\n this.finish();\n return this;\n },\n\n finishVariableDeclarator: function (id, init) {\n this.type = Syntax.VariableDeclarator;\n this.id = id;\n this.init = init;\n this.finish();\n return this;\n },\n\n finishWhileStatement: function (test, body) {\n this.type = Syntax.WhileStatement;\n this.test = test;\n this.body = body;\n this.finish();\n return this;\n },\n\n finishWithStatement: function (object, body) {\n this.type = Syntax.WithStatement;\n this.object = object;\n this.body = body;\n this.finish();\n return this;\n },\n\n finishExportSpecifier: function (local, exported) {\n this.type = Syntax.ExportSpecifier;\n this.exported = exported || local;\n this.local = local;\n this.finish();\n return this;\n },\n\n finishImportDefaultSpecifier: function (local) {\n this.type = Syntax.ImportDefaultSpecifier;\n this.local = local;\n this.finish();\n return this;\n },\n\n finishImportNamespaceSpecifier: function (local) {\n this.type = Syntax.ImportNamespaceSpecifier;\n this.local = local;\n this.finish();\n return this;\n },\n\n finishExportNamedDeclaration: function (declaration, specifiers, src) {\n this.type = Syntax.ExportNamedDeclaration;\n this.declaration = declaration;\n this.specifiers = specifiers;\n this.source = src;\n this.finish();\n return this;\n },\n\n finishExportDefaultDeclaration: function (declaration) {\n this.type = Syntax.ExportDefaultDeclaration;\n this.declaration = declaration;\n this.finish();\n return this;\n },\n\n finishExportAllDeclaration: function (src) {\n this.type = Syntax.ExportAllDeclaration;\n this.source = src;\n this.finish();\n return this;\n },\n\n finishImportSpecifier: function (local, imported) {\n this.type = Syntax.ImportSpecifier;\n this.local = local || imported;\n this.imported = imported;\n this.finish();\n return this;\n },\n\n finishImportDeclaration: function (specifiers, src) {\n this.type = Syntax.ImportDeclaration;\n this.specifiers = specifiers;\n this.source = src;\n this.finish();\n return this;\n },\n\n finishYieldExpression: function (argument, delegate) {\n this.type = Syntax.YieldExpression;\n this.argument = argument;\n this.delegate = delegate;\n this.finish();\n return this;\n }\n };\n\n\n function recordError(error) {\n var e, existing;\n\n for (e = 0; e < extra.errors.length; e++) {\n existing = extra.errors[e];\n // Prevent duplicated error.\n /* istanbul ignore next */\n if (existing.index === error.index && existing.message === error.message) {\n return;\n }\n }\n\n extra.errors.push(error);\n }\n\n function constructError(msg, column) {\n var error = new Error(msg);\n try {\n throw error;\n } catch (base) {\n /* istanbul ignore else */\n if (Object.create && Object.defineProperty) {\n error = Object.create(base);\n Object.defineProperty(error, 'column', { value: column });\n }\n } finally {\n return error;\n }\n }\n\n function createError(line, pos, description) {\n var msg, column, error;\n\n msg = 'Line ' + line + ': ' + description;\n column = pos - (scanning ? lineStart : lastLineStart) + 1;\n error = constructError(msg, column);\n error.lineNumber = line;\n error.description = description;\n error.index = pos;\n return error;\n }\n\n // Throw an exception\n\n function throwError(messageFormat) {\n var args, msg;\n\n args = Array.prototype.slice.call(arguments, 1);\n msg = messageFormat.replace(/%(\\d)/g,\n function (whole, idx) {\n assert(idx < args.length, 'Message reference must be in range');\n return args[idx];\n }\n );\n\n throw createError(lastLineNumber, lastIndex, msg);\n }\n\n function tolerateError(messageFormat) {\n var args, msg, error;\n\n args = Array.prototype.slice.call(arguments, 1);\n /* istanbul ignore next */\n msg = messageFormat.replace(/%(\\d)/g,\n function (whole, idx) {\n assert(idx < args.length, 'Message reference must be in range');\n return args[idx];\n }\n );\n\n error = createError(lineNumber, lastIndex, msg);\n if (extra.errors) {\n recordError(error);\n } else {\n throw error;\n }\n }\n\n // Throw an exception because of the token.\n\n function unexpectedTokenError(token, message) {\n var value, msg = message || Messages.UnexpectedToken;\n\n if (token) {\n if (!message) {\n msg = (token.type === Token.EOF) ? Messages.UnexpectedEOS :\n (token.type === Token.Identifier) ? Messages.UnexpectedIdentifier :\n (token.type === Token.NumericLiteral) ? Messages.UnexpectedNumber :\n (token.type === Token.StringLiteral) ? Messages.UnexpectedString :\n (token.type === Token.Template) ? Messages.UnexpectedTemplate :\n Messages.UnexpectedToken;\n\n if (token.type === Token.Keyword) {\n if (isFutureReservedWord(token.value)) {\n msg = Messages.UnexpectedReserved;\n } else if (strict && isStrictModeReservedWord(token.value)) {\n msg = Messages.StrictReservedWord;\n }\n }\n }\n\n value = (token.type === Token.Template) ? token.value.raw : token.value;\n } else {\n value = 'ILLEGAL';\n }\n\n msg = msg.replace('%0', value);\n\n return (token && typeof token.lineNumber === 'number') ?\n createError(token.lineNumber, token.start, msg) :\n createError(scanning ? lineNumber : lastLineNumber, scanning ? index : lastIndex, msg);\n }\n\n function throwUnexpectedToken(token, message) {\n throw unexpectedTokenError(token, message);\n }\n\n function tolerateUnexpectedToken(token, message) {\n var error = unexpectedTokenError(token, message);\n if (extra.errors) {\n recordError(error);\n } else {\n throw error;\n }\n }\n\n // Expect the next token to match the specified punctuator.\n // If not, an exception will be thrown.\n\n function expect(value) {\n var token = lex();\n if (token.type !== Token.Punctuator || token.value !== value) {\n throwUnexpectedToken(token);\n }\n }\n\n /**\n * @name expectCommaSeparator\n * @description Quietly expect a comma when in tolerant mode, otherwise delegates\n * to <code>expect(value)</code>\n * @since 2.0\n */\n function expectCommaSeparator() {\n var token;\n\n if (extra.errors) {\n token = lookahead;\n if (token.type === Token.Punctuator && token.value === ',') {\n lex();\n } else if (token.type === Token.Punctuator && token.value === ';') {\n lex();\n tolerateUnexpectedToken(token);\n } else {\n tolerateUnexpectedToken(token, Messages.UnexpectedToken);\n }\n } else {\n expect(',');\n }\n }\n\n // Expect the next token to match the specified keyword.\n // If not, an exception will be thrown.\n\n function expectKeyword(keyword) {\n var token = lex();\n if (token.type !== Token.Keyword || token.value !== keyword) {\n throwUnexpectedToken(token);\n }\n }\n\n // Return true if the next token matches the specified punctuator.\n\n function match(value) {\n return lookahead.type === Token.Punctuator && lookahead.value === value;\n }\n\n // Return true if the next token matches the specified keyword\n\n function matchKeyword(keyword) {\n return lookahead.type === Token.Keyword && lookahead.value === keyword;\n }\n\n // Return true if the next token matches the specified contextual keyword\n // (where an identifier is sometimes a keyword depending on the context)\n\n function matchContextualKeyword(keyword) {\n return lookahead.type === Token.Identifier && lookahead.value === keyword;\n }\n\n // Return true if the next token is an assignment operator\n\n function matchAssign() {\n var op;\n\n if (lookahead.type !== Token.Punctuator) {\n return false;\n }\n op = lookahead.value;\n return op === '=' ||\n op === '*=' ||\n op === '/=' ||\n op === '%=' ||\n op === '+=' ||\n op === '-=' ||\n op === '<<=' ||\n op === '>>=' ||\n op === '>>>=' ||\n op === '&=' ||\n op === '^=' ||\n op === '|=';\n }\n\n function consumeSemicolon() {\n // Catch the very common case first: immediately a semicolon (U+003B).\n if (source.charCodeAt(startIndex) === 0x3B || match(';')) {\n lex();\n return;\n }\n\n if (hasLineTerminator) {\n return;\n }\n\n // FIXME(ikarienator): this is seemingly an issue in the previous location info convention.\n lastIndex = startIndex;\n lastLineNumber = startLineNumber;\n lastLineStart = startLineStart;\n\n if (lookahead.type !== Token.EOF && !match('}')) {\n throwUnexpectedToken(lookahead);\n }\n }\n\n // Cover grammar support.\n //\n // When an assignment expression position starts with an left parenthesis, the determination of the type\n // of the syntax is to be deferred arbitrarily long until the end of the parentheses pair (plus a lookahead)\n // or the first comma. This situation also defers the determination of all the expressions nested in the pair.\n //\n // There are three productions that can be parsed in a parentheses pair that needs to be determined\n // after the outermost pair is closed. They are:\n //\n // 1. AssignmentExpression\n // 2. BindingElements\n // 3. AssignmentTargets\n //\n // In order to avoid exponential backtracking, we use two flags to denote if the production can be\n // binding element or assignment target.\n //\n // The three productions have the relationship:\n //\n // BindingElements ⊆ AssignmentTargets ⊆ AssignmentExpression\n //\n // with a single exception that CoverInitializedName when used directly in an Expression, generates\n // an early error. Therefore, we need the third state, firstCoverInitializedNameError, to track the\n // first usage of CoverInitializedName and report it when we reached the end of the parentheses pair.\n //\n // isolateCoverGrammar function runs the given parser function with a new cover grammar context, and it does not\n // effect the current flags. This means the production the parser parses is only used as an expression. Therefore\n // the CoverInitializedName check is conducted.\n //\n // inheritCoverGrammar function runs the given parse function with a new cover grammar context, and it propagates\n // the flags outside of the parser. This means the production the parser parses is used as a part of a potential\n // pattern. The CoverInitializedName check is deferred.\n function isolateCoverGrammar(parser) {\n var oldIsBindingElement = isBindingElement,\n oldIsAssignmentTarget = isAssignmentTarget,\n oldFirstCoverInitializedNameError = firstCoverInitializedNameError,\n result;\n isBindingElement = true;\n isAssignmentTarget = true;\n firstCoverInitializedNameError = null;\n result = parser();\n if (firstCoverInitializedNameError !== null) {\n throwUnexpectedToken(firstCoverInitializedNameError);\n }\n isBindingElement = oldIsBindingElement;\n isAssignmentTarget = oldIsAssignmentTarget;\n firstCoverInitializedNameError = oldFirstCoverInitializedNameError;\n return result;\n }\n\n function inheritCoverGrammar(parser) {\n var oldIsBindingElement = isBindingElement,\n oldIsAssignmentTarget = isAssignmentTarget,\n oldFirstCoverInitializedNameError = firstCoverInitializedNameError,\n result;\n isBindingElement = true;\n isAssignmentTarget = true;\n firstCoverInitializedNameError = null;\n result = parser();\n isBindingElement = isBindingElement && oldIsBindingElement;\n isAssignmentTarget = isAssignmentTarget && oldIsAssignmentTarget;\n firstCoverInitializedNameError = oldFirstCoverInitializedNameError || firstCoverInitializedNameError;\n return result;\n }\n\n // ECMA-262 13.3.3 Destructuring Binding Patterns\n\n function parseArrayPattern(params, kind) {\n var node = new Node(), elements = [], rest, restNode;\n expect('[');\n\n while (!match(']')) {\n if (match(',')) {\n lex();\n elements.push(null);\n } else {\n if (match('...')) {\n restNode = new Node();\n lex();\n params.push(lookahead);\n rest = parseVariableIdentifier(kind);\n elements.push(restNode.finishRestElement(rest));\n break;\n } else {\n elements.push(parsePatternWithDefault(params, kind));\n }\n if (!match(']')) {\n expect(',');\n }\n }\n\n }\n\n expect(']');\n\n return node.finishArrayPattern(elements);\n }\n\n function parsePropertyPattern(params, kind) {\n var node = new Node(), key, keyToken, computed = match('['), init;\n if (lookahead.type === Token.Identifier) {\n keyToken = lookahead;\n key = parseVariableIdentifier();\n if (match('=')) {\n params.push(keyToken);\n lex();\n init = parseAssignmentExpression();\n\n return node.finishProperty(\n 'init', key, false,\n new WrappingNode(keyToken).finishAssignmentPattern(key, init), false, true);\n } else if (!match(':')) {\n params.push(keyToken);\n return node.finishProperty('init', key, false, key, false, true);\n }\n } else {\n key = parseObjectPropertyKey();\n }\n expect(':');\n init = parsePatternWithDefault(params, kind);\n return node.finishProperty('init', key, computed, init, false, false);\n }\n\n function parseObjectPattern(params, kind) {\n var node = new Node(), properties = [];\n\n expect('{');\n\n while (!match('}')) {\n properties.push(parsePropertyPattern(params, kind));\n if (!match('}')) {\n expect(',');\n }\n }\n\n lex();\n\n return node.finishObjectPattern(properties);\n }\n\n function parsePattern(params, kind) {\n if (match('[')) {\n return parseArrayPattern(params, kind);\n } else if (match('{')) {\n return parseObjectPattern(params, kind);\n } else if (matchKeyword('let')) {\n if (kind === 'const' || kind === 'let') {\n tolerateUnexpectedToken(lookahead, Messages.UnexpectedToken);\n }\n }\n\n params.push(lookahead);\n return parseVariableIdentifier(kind);\n }\n\n function parsePatternWithDefault(params, kind) {\n var startToken = lookahead, pattern, previousAllowYield, right;\n pattern = parsePattern(params, kind);\n if (match('=')) {\n lex();\n previousAllowYield = state.allowYield;\n state.allowYield = true;\n right = isolateCoverGrammar(parseAssignmentExpression);\n state.allowYield = previousAllowYield;\n pattern = new WrappingNode(startToken).finishAssignmentPattern(pattern, right);\n }\n return pattern;\n }\n\n // ECMA-262 12.2.5 Array Initializer\n\n function parseArrayInitializer() {\n var elements = [], node = new Node(), restSpread;\n\n expect('[');\n\n while (!match(']')) {\n if (match(',')) {\n lex();\n elements.push(null);\n } else if (match('...')) {\n restSpread = new Node();\n lex();\n restSpread.finishSpreadElement(inheritCoverGrammar(parseAssignmentExpression));\n\n if (!match(']')) {\n isAssignmentTarget = isBindingElement = false;\n expect(',');\n }\n elements.push(restSpread);\n } else {\n elements.push(inheritCoverGrammar(parseAssignmentExpression));\n\n if (!match(']')) {\n expect(',');\n }\n }\n }\n\n lex();\n\n return node.finishArrayExpression(elements);\n }\n\n // ECMA-262 12.2.6 Object Initializer\n\n function parsePropertyFunction(node, paramInfo, isGenerator) {\n var previousStrict, body;\n\n isAssignmentTarget = isBindingElement = false;\n\n previousStrict = strict;\n body = isolateCoverGrammar(parseFunctionSourceElements);\n\n if (strict && paramInfo.firstRestricted) {\n tolerateUnexpectedToken(paramInfo.firstRestricted, paramInfo.message);\n }\n if (strict && paramInfo.stricted) {\n tolerateUnexpectedToken(paramInfo.stricted, paramInfo.message);\n }\n\n strict = previousStrict;\n return node.finishFunctionExpression(null, paramInfo.params, paramInfo.defaults, body, isGenerator);\n }\n\n function parsePropertyMethodFunction() {\n var params, method, node = new Node(),\n previousAllowYield = state.allowYield;\n\n state.allowYield = false;\n params = parseParams();\n state.allowYield = previousAllowYield;\n\n state.allowYield = false;\n method = parsePropertyFunction(node, params, false);\n state.allowYield = previousAllowYield;\n\n return method;\n }\n\n function parseObjectPropertyKey() {\n var token, node = new Node(), expr;\n\n token = lex();\n\n // Note: This function is called only from parseObjectProperty(), where\n // EOF and Punctuator tokens are already filtered out.\n\n switch (token.type) {\n case Token.StringLiteral:\n case Token.NumericLiteral:\n if (strict && token.octal) {\n tolerateUnexpectedToken(token, Messages.StrictOctalLiteral);\n }\n return node.finishLiteral(token);\n case Token.Identifier:\n case Token.BooleanLiteral:\n case Token.NullLiteral:\n case Token.Keyword:\n return node.finishIdentifier(token.value);\n case Token.Punctuator:\n if (token.value === '[') {\n expr = isolateCoverGrammar(parseAssignmentExpression);\n expect(']');\n return expr;\n }\n break;\n }\n throwUnexpectedToken(token);\n }\n\n function lookaheadPropertyName() {\n switch (lookahead.type) {\n case Token.Identifier:\n case Token.StringLiteral:\n case Token.BooleanLiteral:\n case Token.NullLiteral:\n case Token.NumericLiteral:\n case Token.Keyword:\n return true;\n case Token.Punctuator:\n return lookahead.value === '[';\n }\n return false;\n }\n\n // This function is to try to parse a MethodDefinition as defined in 14.3. But in the case of object literals,\n // it might be called at a position where there is in fact a short hand identifier pattern or a data property.\n // This can only be determined after we consumed up to the left parentheses.\n //\n // In order to avoid back tracking, it returns `null` if the position is not a MethodDefinition and the caller\n // is responsible to visit other options.\n function tryParseMethodDefinition(token, key, computed, node) {\n var value, options, methodNode, params,\n previousAllowYield = state.allowYield;\n\n if (token.type === Token.Identifier) {\n // check for `get` and `set`;\n\n if (token.value === 'get' && lookaheadPropertyName()) {\n computed = match('[');\n key = parseObjectPropertyKey();\n methodNode = new Node();\n expect('(');\n expect(')');\n\n state.allowYield = false;\n value = parsePropertyFunction(methodNode, {\n params: [],\n defaults: [],\n stricted: null,\n firstRestricted: null,\n message: null\n }, false);\n state.allowYield = previousAllowYield;\n\n return node.finishProperty('get', key, computed, value, false, false);\n } else if (token.value === 'set' && lookaheadPropertyName()) {\n computed = match('[');\n key = parseObjectPropertyKey();\n methodNode = new Node();\n expect('(');\n\n options = {\n params: [],\n defaultCount: 0,\n defaults: [],\n firstRestricted: null,\n paramSet: {}\n };\n if (match(')')) {\n tolerateUnexpectedToken(lookahead);\n } else {\n state.allowYield = false;\n parseParam(options);\n state.allowYield = previousAllowYield;\n if (options.defaultCount === 0) {\n options.defaults = [];\n }\n }\n expect(')');\n\n state.allowYield = false;\n value = parsePropertyFunction(methodNode, options, false);\n state.allowYield = previousAllowYield;\n\n return node.finishProperty('set', key, computed, value, false, false);\n }\n } else if (token.type === Token.Punctuator && token.value === '*' && lookaheadPropertyName()) {\n computed = match('[');\n key = parseObjectPropertyKey();\n methodNode = new Node();\n\n state.allowYield = true;\n params = parseParams();\n state.allowYield = previousAllowYield;\n\n state.allowYield = false;\n value = parsePropertyFunction(methodNode, params, true);\n state.allowYield = previousAllowYield;\n\n return node.finishProperty('init', key, computed, value, true, false);\n }\n\n if (key && match('(')) {\n value = parsePropertyMethodFunction();\n return node.finishProperty('init', key, computed, value, true, false);\n }\n\n // Not a MethodDefinition.\n return null;\n }\n\n function parseObjectProperty(hasProto) {\n var token = lookahead, node = new Node(), computed, key, maybeMethod, proto, value;\n\n computed = match('[');\n if (match('*')) {\n lex();\n } else {\n key = parseObjectPropertyKey();\n }\n maybeMethod = tryParseMethodDefinition(token, key, computed, node);\n if (maybeMethod) {\n return maybeMethod;\n }\n\n if (!key) {\n throwUnexpectedToken(lookahead);\n }\n\n // Check for duplicated __proto__\n if (!computed) {\n proto = (key.type === Syntax.Identifier && key.name === '__proto__') ||\n (key.type === Syntax.Literal && key.value === '__proto__');\n if (hasProto.value && proto) {\n tolerateError(Messages.DuplicateProtoProperty);\n }\n hasProto.value |= proto;\n }\n\n if (match(':')) {\n lex();\n value = inheritCoverGrammar(parseAssignmentExpression);\n return node.finishProperty('init', key, computed, value, false, false);\n }\n\n if (token.type === Token.Identifier) {\n if (match('=')) {\n firstCoverInitializedNameError = lookahead;\n lex();\n value = isolateCoverGrammar(parseAssignmentExpression);\n return node.finishProperty('init', key, computed,\n new WrappingNode(token).finishAssignmentPattern(key, value), false, true);\n }\n return node.finishProperty('init', key, computed, key, false, true);\n }\n\n throwUnexpectedToken(lookahead);\n }\n\n function parseObjectInitializer() {\n var properties = [], hasProto = {value: false}, node = new Node();\n\n expect('{');\n\n while (!match('}')) {\n properties.push(parseObjectProperty(hasProto));\n\n if (!match('}')) {\n expectCommaSeparator();\n }\n }\n\n expect('}');\n\n return node.finishObjectExpression(properties);\n }\n\n function reinterpretExpressionAsPattern(expr) {\n var i;\n switch (expr.type) {\n case Syntax.Identifier:\n case Syntax.MemberExpression:\n case Syntax.RestElement:\n case Syntax.AssignmentPattern:\n break;\n case Syntax.SpreadElement:\n expr.type = Syntax.RestElement;\n reinterpretExpressionAsPattern(expr.argument);\n break;\n case Syntax.ArrayExpression:\n expr.type = Syntax.ArrayPattern;\n for (i = 0; i < expr.elements.length; i++) {\n if (expr.elements[i] !== null) {\n reinterpretExpressionAsPattern(expr.elements[i]);\n }\n }\n break;\n case Syntax.ObjectExpression:\n expr.type = Syntax.ObjectPattern;\n for (i = 0; i < expr.properties.length; i++) {\n reinterpretExpressionAsPattern(expr.properties[i].value);\n }\n break;\n case Syntax.AssignmentExpression:\n expr.type = Syntax.AssignmentPattern;\n reinterpretExpressionAsPattern(expr.left);\n break;\n default:\n // Allow other node type for tolerant parsing.\n break;\n }\n }\n\n // ECMA-262 12.2.9 Template Literals\n\n function parseTemplateElement(option) {\n var node, token;\n\n if (lookahead.type !== Token.Template || (option.head && !lookahead.head)) {\n throwUnexpectedToken();\n }\n\n node = new Node();\n token = lex();\n\n return node.finishTemplateElement({ raw: token.value.raw, cooked: token.value.cooked }, token.tail);\n }\n\n function parseTemplateLiteral() {\n var quasi, quasis, expressions, node = new Node();\n\n quasi = parseTemplateElement({ head: true });\n quasis = [quasi];\n expressions = [];\n\n while (!quasi.tail) {\n expressions.push(parseExpression());\n quasi = parseTemplateElement({ head: false });\n quasis.push(quasi);\n }\n\n return node.finishTemplateLiteral(quasis, expressions);\n }\n\n // ECMA-262 12.2.10 The Grouping Operator\n\n function parseGroupExpression() {\n var expr, expressions, startToken, i, params = [];\n\n expect('(');\n\n if (match(')')) {\n lex();\n if (!match('=>')) {\n expect('=>');\n }\n return {\n type: PlaceHolders.ArrowParameterPlaceHolder,\n params: [],\n rawParams: []\n };\n }\n\n startToken = lookahead;\n if (match('...')) {\n expr = parseRestElement(params);\n expect(')');\n if (!match('=>')) {\n expect('=>');\n }\n return {\n type: PlaceHolders.ArrowParameterPlaceHolder,\n params: [expr]\n };\n }\n\n isBindingElement = true;\n expr = inheritCoverGrammar(parseAssignmentExpression);\n\n if (match(',')) {\n isAssignmentTarget = false;\n expressions = [expr];\n\n while (startIndex < length) {\n if (!match(',')) {\n break;\n }\n lex();\n\n if (match('...')) {\n if (!isBindingElement) {\n throwUnexpectedToken(lookahead);\n }\n expressions.push(parseRestElement(params));\n expect(')');\n if (!match('=>')) {\n expect('=>');\n }\n isBindingElement = false;\n for (i = 0; i < expressions.length; i++) {\n reinterpretExpressionAsPattern(expressions[i]);\n }\n return {\n type: PlaceHolders.ArrowParameterPlaceHolder,\n params: expressions\n };\n }\n\n expressions.push(inheritCoverGrammar(parseAssignmentExpression));\n }\n\n expr = new WrappingNode(startToken).finishSequenceExpression(expressions);\n }\n\n\n expect(')');\n\n if (match('=>')) {\n if (expr.type === Syntax.Identifier && expr.name === 'yield') {\n return {\n type: PlaceHolders.ArrowParameterPlaceHolder,\n params: [expr]\n };\n }\n\n if (!isBindingElement) {\n throwUnexpectedToken(lookahead);\n }\n\n if (expr.type === Syntax.SequenceExpression) {\n for (i = 0; i < expr.expressions.length; i++) {\n reinterpretExpressionAsPattern(expr.expressions[i]);\n }\n } else {\n reinterpretExpressionAsPattern(expr);\n }\n\n expr = {\n type: PlaceHolders.ArrowParameterPlaceHolder,\n params: expr.type === Syntax.SequenceExpression ? expr.expressions : [expr]\n };\n }\n isBindingElement = false;\n return expr;\n }\n\n\n // ECMA-262 12.2 Primary Expressions\n\n function parsePrimaryExpression() {\n var type, token, expr, node;\n\n if (match('(')) {\n isBindingElement = false;\n return inheritCoverGrammar(parseGroupExpression);\n }\n\n if (match('[')) {\n return inheritCoverGrammar(parseArrayInitializer);\n }\n\n if (match('{')) {\n return inheritCoverGrammar(parseObjectInitializer);\n }\n\n type = lookahead.type;\n node = new Node();\n\n if (type === Token.Identifier) {\n if (state.sourceType === 'module' && lookahead.value === 'await') {\n tolerateUnexpectedToken(lookahead);\n }\n expr = node.finishIdentifier(lex().value);\n } else if (type === Token.StringLiteral || type === Token.NumericLiteral) {\n isAssignmentTarget = isBindingElement = false;\n if (strict && lookahead.octal) {\n tolerateUnexpectedToken(lookahead, Messages.StrictOctalLiteral);\n }\n expr = node.finishLiteral(lex());\n } else if (type === Token.Keyword) {\n if (!strict && state.allowYield && matchKeyword('yield')) {\n return parseNonComputedProperty();\n }\n if (!strict && matchKeyword('let')) {\n return node.finishIdentifier(lex().value);\n }\n isAssignmentTarget = isBindingElement = false;\n if (matchKeyword('function')) {\n return parseFunctionExpression();\n }\n if (matchKeyword('this')) {\n lex();\n return node.finishThisExpression();\n }\n if (matchKeyword('class')) {\n return parseClassExpression();\n }\n throwUnexpectedToken(lex());\n } else if (type === Token.BooleanLiteral) {\n isAssignmentTarget = isBindingElement = false;\n token = lex();\n token.value = (token.value === 'true');\n expr = node.finishLiteral(token);\n } else if (type === Token.NullLiteral) {\n isAssignmentTarget = isBindingElement = false;\n token = lex();\n token.value = null;\n expr = node.finishLiteral(token);\n } else if (match('/') || match('/=')) {\n isAssignmentTarget = isBindingElement = false;\n index = startIndex;\n\n if (typeof extra.tokens !== 'undefined') {\n token = collectRegex();\n } else {\n token = scanRegExp();\n }\n lex();\n expr = node.finishLiteral(token);\n } else if (type === Token.Template) {\n expr = parseTemplateLiteral();\n } else {\n throwUnexpectedToken(lex());\n }\n\n return expr;\n }\n\n // ECMA-262 12.3 Left-Hand-Side Expressions\n\n function parseArguments() {\n var args = [], expr;\n\n expect('(');\n\n if (!match(')')) {\n while (startIndex < length) {\n if (match('...')) {\n expr = new Node();\n lex();\n expr.finishSpreadElement(isolateCoverGrammar(parseAssignmentExpression));\n } else {\n expr = isolateCoverGrammar(parseAssignmentExpression);\n }\n args.push(expr);\n if (match(')')) {\n break;\n }\n expectCommaSeparator();\n }\n }\n\n expect(')');\n\n return args;\n }\n\n function parseNonComputedProperty() {\n var token, node = new Node();\n\n token = lex();\n\n if (!isIdentifierName(token)) {\n throwUnexpectedToken(token);\n }\n\n return node.finishIdentifier(token.value);\n }\n\n function parseNonComputedMember() {\n expect('.');\n\n return parseNonComputedProperty();\n }\n\n function parseComputedMember() {\n var expr;\n\n expect('[');\n\n expr = isolateCoverGrammar(parseExpression);\n\n expect(']');\n\n return expr;\n }\n\n // ECMA-262 12.3.3 The new Operator\n\n function parseNewExpression() {\n var callee, args, node = new Node();\n\n expectKeyword('new');\n\n if (match('.')) {\n lex();\n if (lookahead.type === Token.Identifier && lookahead.value === 'target') {\n if (state.inFunctionBody) {\n lex();\n return node.finishMetaProperty('new', 'target');\n }\n }\n throwUnexpectedToken(lookahead);\n }\n\n callee = isolateCoverGrammar(parseLeftHandSideExpression);\n args = match('(') ? parseArguments() : [];\n\n isAssignmentTarget = isBindingElement = false;\n\n return node.finishNewExpression(callee, args);\n }\n\n // ECMA-262 12.3.4 Function Calls\n\n function parseLeftHandSideExpressionAllowCall() {\n var quasi, expr, args, property, startToken, previousAllowIn = state.allowIn;\n\n startToken = lookahead;\n state.allowIn = true;\n\n if (matchKeyword('super') && state.inFunctionBody) {\n expr = new Node();\n lex();\n expr = expr.finishSuper();\n if (!match('(') && !match('.') && !match('[')) {\n throwUnexpectedToken(lookahead);\n }\n } else {\n expr = inheritCoverGrammar(matchKeyword('new') ? parseNewExpression : parsePrimaryExpression);\n }\n\n for (;;) {\n if (match('.')) {\n isBindingElement = false;\n isAssignmentTarget = true;\n property = parseNonComputedMember();\n expr = new WrappingNode(startToken).finishMemberExpression('.', expr, property);\n } else if (match('(')) {\n isBindingElement = false;\n isAssignmentTarget = false;\n args = parseArguments();\n expr = new WrappingNode(startToken).finishCallExpression(expr, args);\n } else if (match('[')) {\n isBindingElement = false;\n isAssignmentTarget = true;\n property = parseComputedMember();\n expr = new WrappingNode(startToken).finishMemberExpression('[', expr, property);\n } else if (lookahead.type === Token.Template && lookahead.head) {\n quasi = parseTemplateLiteral();\n expr = new WrappingNode(startToken).finishTaggedTemplateExpression(expr, quasi);\n } else {\n break;\n }\n }\n state.allowIn = previousAllowIn;\n\n return expr;\n }\n\n // ECMA-262 12.3 Left-Hand-Side Expressions\n\n function parseLeftHandSideExpression() {\n var quasi, expr, property, startToken;\n assert(state.allowIn, 'callee of new expression always allow in keyword.');\n\n startToken = lookahead;\n\n if (matchKeyword('super') && state.inFunctionBody) {\n expr = new Node();\n lex();\n expr = expr.finishSuper();\n if (!match('[') && !match('.')) {\n throwUnexpectedToken(lookahead);\n }\n } else {\n expr = inheritCoverGrammar(matchKeyword('new') ? parseNewExpression : parsePrimaryExpression);\n }\n\n for (;;) {\n if (match('[')) {\n isBindingElement = false;\n isAssignmentTarget = true;\n property = parseComputedMember();\n expr = new WrappingNode(startToken).finishMemberExpression('[', expr, property);\n } else if (match('.')) {\n isBindingElement = false;\n isAssignmentTarget = true;\n property = parseNonComputedMember();\n expr = new WrappingNode(startToken).finishMemberExpression('.', expr, property);\n } else if (lookahead.type === Token.Template && lookahead.head) {\n quasi = parseTemplateLiteral();\n expr = new WrappingNode(startToken).finishTaggedTemplateExpression(expr, quasi);\n } else {\n break;\n }\n }\n return expr;\n }\n\n // ECMA-262 12.4 Postfix Expressions\n\n function parsePostfixExpression() {\n var expr, token, startToken = lookahead;\n\n expr = inheritCoverGrammar(parseLeftHandSideExpressionAllowCall);\n\n if (!hasLineTerminator && lookahead.type === Token.Punctuator) {\n if (match('++') || match('--')) {\n // ECMA-262 11.3.1, 11.3.2\n if (strict && expr.type === Syntax.Identifier && isRestrictedWord(expr.name)) {\n tolerateError(Messages.StrictLHSPostfix);\n }\n\n if (!isAssignmentTarget) {\n tolerateError(Messages.InvalidLHSInAssignment);\n }\n\n isAssignmentTarget = isBindingElement = false;\n\n token = lex();\n expr = new WrappingNode(startToken).finishPostfixExpression(token.value, expr);\n }\n }\n\n return expr;\n }\n\n // ECMA-262 12.5 Unary Operators\n\n function parseUnaryExpression() {\n var token, expr, startToken;\n\n if (lookahead.type !== Token.Punctuator && lookahead.type !== Token.Keyword) {\n expr = parsePostfixExpression();\n } else if (match('++') || match('--')) {\n startToken = lookahead;\n token = lex();\n expr = inheritCoverGrammar(parseUnaryExpression);\n // ECMA-262 11.4.4, 11.4.5\n if (strict && expr.type === Syntax.Identifier && isRestrictedWord(expr.name)) {\n tolerateError(Messages.StrictLHSPrefix);\n }\n\n if (!isAssignmentTarget) {\n tolerateError(Messages.InvalidLHSInAssignment);\n }\n expr = new WrappingNode(startToken).finishUnaryExpression(token.value, expr);\n isAssignmentTarget = isBindingElement = false;\n } else if (match('+') || match('-') || match('~') || match('!')) {\n startToken = lookahead;\n token = lex();\n expr = inheritCoverGrammar(parseUnaryExpression);\n expr = new WrappingNode(startToken).finishUnaryExpression(token.value, expr);\n isAssignmentTarget = isBindingElement = false;\n } else if (matchKeyword('delete') || matchKeyword('void') || matchKeyword('typeof')) {\n startToken = lookahead;\n token = lex();\n expr = inheritCoverGrammar(parseUnaryExpression);\n expr = new WrappingNode(startToken).finishUnaryExpression(token.value, expr);\n if (strict && expr.operator === 'delete' && expr.argument.type === Syntax.Identifier) {\n tolerateError(Messages.StrictDelete);\n }\n isAssignmentTarget = isBindingElement = false;\n } else {\n expr = parsePostfixExpression();\n }\n\n return expr;\n }\n\n function binaryPrecedence(token, allowIn) {\n var prec = 0;\n\n if (token.type !== Token.Punctuator && token.type !== Token.Keyword) {\n return 0;\n }\n\n switch (token.value) {\n case '||':\n prec = 1;\n break;\n\n case '&&':\n prec = 2;\n break;\n\n case '|':\n prec = 3;\n break;\n\n case '^':\n prec = 4;\n break;\n\n case '&':\n prec = 5;\n break;\n\n case '==':\n case '!=':\n case '===':\n case '!==':\n prec = 6;\n break;\n\n case '<':\n case '>':\n case '<=':\n case '>=':\n case 'instanceof':\n prec = 7;\n break;\n\n case 'in':\n prec = allowIn ? 7 : 0;\n break;\n\n case '<<':\n case '>>':\n case '>>>':\n prec = 8;\n break;\n\n case '+':\n case '-':\n prec = 9;\n break;\n\n case '*':\n case '/':\n case '%':\n prec = 11;\n break;\n\n default:\n break;\n }\n\n return prec;\n }\n\n // ECMA-262 12.6 Multiplicative Operators\n // ECMA-262 12.7 Additive Operators\n // ECMA-262 12.8 Bitwise Shift Operators\n // ECMA-262 12.9 Relational Operators\n // ECMA-262 12.10 Equality Operators\n // ECMA-262 12.11 Binary Bitwise Operators\n // ECMA-262 12.12 Binary Logical Operators\n\n function parseBinaryExpression() {\n var marker, markers, expr, token, prec, stack, right, operator, left, i;\n\n marker = lookahead;\n left = inheritCoverGrammar(parseUnaryExpression);\n\n token = lookahead;\n prec = binaryPrecedence(token, state.allowIn);\n if (prec === 0) {\n return left;\n }\n isAssignmentTarget = isBindingElement = false;\n token.prec = prec;\n lex();\n\n markers = [marker, lookahead];\n right = isolateCoverGrammar(parseUnaryExpression);\n\n stack = [left, token, right];\n\n while ((prec = binaryPrecedence(lookahead, state.allowIn)) > 0) {\n\n // Reduce: make a binary expression from the three topmost entries.\n while ((stack.length > 2) && (prec <= stack[stack.length - 2].prec)) {\n right = stack.pop();\n operator = stack.pop().value;\n left = stack.pop();\n markers.pop();\n expr = new WrappingNode(markers[markers.length - 1]).finishBinaryExpression(operator, left, right);\n stack.push(expr);\n }\n\n // Shift.\n token = lex();\n token.prec = prec;\n stack.push(token);\n markers.push(lookahead);\n expr = isolateCoverGrammar(parseUnaryExpression);\n stack.push(expr);\n }\n\n // Final reduce to clean-up the stack.\n i = stack.length - 1;\n expr = stack[i];\n markers.pop();\n while (i > 1) {\n expr = new WrappingNode(markers.pop()).finishBinaryExpression(stack[i - 1].value, stack[i - 2], expr);\n i -= 2;\n }\n\n return expr;\n }\n\n\n // ECMA-262 12.13 Conditional Operator\n\n function parseConditionalExpression() {\n var expr, previousAllowIn, consequent, alternate, startToken;\n\n startToken = lookahead;\n\n expr = inheritCoverGrammar(parseBinaryExpression);\n if (match('?')) {\n lex();\n previousAllowIn = state.allowIn;\n state.allowIn = true;\n consequent = isolateCoverGrammar(parseAssignmentExpression);\n state.allowIn = previousAllowIn;\n expect(':');\n alternate = isolateCoverGrammar(parseAssignmentExpression);\n\n expr = new WrappingNode(startToken).finishConditionalExpression(expr, consequent, alternate);\n isAssignmentTarget = isBindingElement = false;\n }\n\n return expr;\n }\n\n // ECMA-262 14.2 Arrow Function Definitions\n\n function parseConciseBody() {\n if (match('{')) {\n return parseFunctionSourceElements();\n }\n return isolateCoverGrammar(parseAssignmentExpression);\n }\n\n function checkPatternParam(options, param) {\n var i;\n switch (param.type) {\n case Syntax.Identifier:\n validateParam(options, param, param.name);\n break;\n case Syntax.RestElement:\n checkPatternParam(options, param.argument);\n break;\n case Syntax.AssignmentPattern:\n checkPatternParam(options, param.left);\n break;\n case Syntax.ArrayPattern:\n for (i = 0; i < param.elements.length; i++) {\n if (param.elements[i] !== null) {\n checkPatternParam(options, param.elements[i]);\n }\n }\n break;\n case Syntax.YieldExpression:\n break;\n default:\n assert(param.type === Syntax.ObjectPattern, 'Invalid type');\n for (i = 0; i < param.properties.length; i++) {\n checkPatternParam(options, param.properties[i].value);\n }\n break;\n }\n }\n function reinterpretAsCoverFormalsList(expr) {\n var i, len, param, params, defaults, defaultCount, options, token;\n\n defaults = [];\n defaultCount = 0;\n params = [expr];\n\n switch (expr.type) {\n case Syntax.Identifier:\n break;\n case PlaceHolders.ArrowParameterPlaceHolder:\n params = expr.params;\n break;\n default:\n return null;\n }\n\n options = {\n paramSet: {}\n };\n\n for (i = 0, len = params.length; i < len; i += 1) {\n param = params[i];\n switch (param.type) {\n case Syntax.AssignmentPattern:\n params[i] = param.left;\n if (param.right.type === Syntax.YieldExpression) {\n if (param.right.argument) {\n throwUnexpectedToken(lookahead);\n }\n param.right.type = Syntax.Identifier;\n param.right.name = 'yield';\n delete param.right.argument;\n delete param.right.delegate;\n }\n defaults.push(param.right);\n ++defaultCount;\n checkPatternParam(options, param.left);\n break;\n default:\n checkPatternParam(options, param);\n params[i] = param;\n defaults.push(null);\n break;\n }\n }\n\n if (strict || !state.allowYield) {\n for (i = 0, len = params.length; i < len; i += 1) {\n param = params[i];\n if (param.type === Syntax.YieldExpression) {\n throwUnexpectedToken(lookahead);\n }\n }\n }\n\n if (options.message === Messages.StrictParamDupe) {\n token = strict ? options.stricted : options.firstRestricted;\n throwUnexpectedToken(token, options.message);\n }\n\n if (defaultCount === 0) {\n defaults = [];\n }\n\n return {\n params: params,\n defaults: defaults,\n stricted: options.stricted,\n firstRestricted: options.firstRestricted,\n message: options.message\n };\n }\n\n function parseArrowFunctionExpression(options, node) {\n var previousStrict, previousAllowYield, body;\n\n if (hasLineTerminator) {\n tolerateUnexpectedToken(lookahead);\n }\n expect('=>');\n\n previousStrict = strict;\n previousAllowYield = state.allowYield;\n state.allowYield = true;\n\n body = parseConciseBody();\n\n if (strict && options.firstRestricted) {\n throwUnexpectedToken(options.firstRestricted, options.message);\n }\n if (strict && options.stricted) {\n tolerateUnexpectedToken(options.stricted, options.message);\n }\n\n strict = previousStrict;\n state.allowYield = previousAllowYield;\n\n return node.finishArrowFunctionExpression(options.params, options.defaults, body, body.type !== Syntax.BlockStatement);\n }\n\n // ECMA-262 14.4 Yield expression\n\n function parseYieldExpression() {\n var argument, expr, delegate, previousAllowYield;\n\n argument = null;\n expr = new Node();\n delegate = false;\n\n expectKeyword('yield');\n\n if (!hasLineTerminator) {\n previousAllowYield = state.allowYield;\n state.allowYield = false;\n delegate = match('*');\n if (delegate) {\n lex();\n argument = parseAssignmentExpression();\n } else {\n if (!match(';') && !match('}') && !match(')') && lookahead.type !== Token.EOF) {\n argument = parseAssignmentExpression();\n }\n }\n state.allowYield = previousAllowYield;\n }\n\n return expr.finishYieldExpression(argument, delegate);\n }\n\n // ECMA-262 12.14 Assignment Operators\n\n function parseAssignmentExpression() {\n var token, expr, right, list, startToken;\n\n startToken = lookahead;\n token = lookahead;\n\n if (!state.allowYield && matchKeyword('yield')) {\n return parseYieldExpression();\n }\n\n expr = parseConditionalExpression();\n\n if (expr.type === PlaceHolders.ArrowParameterPlaceHolder || match('=>')) {\n isAssignmentTarget = isBindingElement = false;\n list = reinterpretAsCoverFormalsList(expr);\n\n if (list) {\n firstCoverInitializedNameError = null;\n return parseArrowFunctionExpression(list, new WrappingNode(startToken));\n }\n\n return expr;\n }\n\n if (matchAssign()) {\n if (!isAssignmentTarget) {\n tolerateError(Messages.InvalidLHSInAssignment);\n }\n\n // ECMA-262 12.1.1\n if (strict && expr.type === Syntax.Identifier) {\n if (isRestrictedWord(expr.name)) {\n tolerateUnexpectedToken(token, Messages.StrictLHSAssignment);\n }\n if (isStrictModeReservedWord(expr.name)) {\n tolerateUnexpectedToken(token, Messages.StrictReservedWord);\n }\n }\n\n if (!match('=')) {\n isAssignmentTarget = isBindingElement = false;\n } else {\n reinterpretExpressionAsPattern(expr);\n }\n\n token = lex();\n right = isolateCoverGrammar(parseAssignmentExpression);\n expr = new WrappingNode(startToken).finishAssignmentExpression(token.value, expr, right);\n firstCoverInitializedNameError = null;\n }\n\n return expr;\n }\n\n // ECMA-262 12.15 Comma Operator\n\n function parseExpression() {\n var expr, startToken = lookahead, expressions;\n\n expr = isolateCoverGrammar(parseAssignmentExpression);\n\n if (match(',')) {\n expressions = [expr];\n\n while (startIndex < length) {\n if (!match(',')) {\n break;\n }\n lex();\n expressions.push(isolateCoverGrammar(parseAssignmentExpression));\n }\n\n expr = new WrappingNode(startToken).finishSequenceExpression(expressions);\n }\n\n return expr;\n }\n\n // ECMA-262 13.2 Block\n\n function parseStatementListItem() {\n if (lookahead.type === Token.Keyword) {\n switch (lookahead.value) {\n case 'export':\n if (state.sourceType !== 'module') {\n tolerateUnexpectedToken(lookahead, Messages.IllegalExportDeclaration);\n }\n return parseExportDeclaration();\n case 'import':\n if (state.sourceType !== 'module') {\n tolerateUnexpectedToken(lookahead, Messages.IllegalImportDeclaration);\n }\n return parseImportDeclaration();\n case 'const':\n return parseLexicalDeclaration({inFor: false});\n case 'function':\n return parseFunctionDeclaration(new Node());\n case 'class':\n return parseClassDeclaration();\n }\n }\n\n if (matchKeyword('let') && isLexicalDeclaration()) {\n return parseLexicalDeclaration({inFor: false});\n }\n\n return parseStatement();\n }\n\n function parseStatementList() {\n var list = [];\n while (startIndex < length) {\n if (match('}')) {\n break;\n }\n list.push(parseStatementListItem());\n }\n\n return list;\n }\n\n function parseBlock() {\n var block, node = new Node();\n\n expect('{');\n\n block = parseStatementList();\n\n expect('}');\n\n return node.finishBlockStatement(block);\n }\n\n // ECMA-262 13.3.2 Variable Statement\n\n function parseVariableIdentifier(kind) {\n var token, node = new Node();\n\n token = lex();\n\n if (token.type === Token.Keyword && token.value === 'yield') {\n if (strict) {\n tolerateUnexpectedToken(token, Messages.StrictReservedWord);\n } if (!state.allowYield) {\n throwUnexpectedToken(token);\n }\n } else if (token.type !== Token.Identifier) {\n if (strict && token.type === Token.Keyword && isStrictModeReservedWord(token.value)) {\n tolerateUnexpectedToken(token, Messages.StrictReservedWord);\n } else {\n if (strict || token.value !== 'let' || kind !== 'var') {\n throwUnexpectedToken(token);\n }\n }\n } else if (state.sourceType === 'module' && token.type === Token.Identifier && token.value === 'await') {\n tolerateUnexpectedToken(token);\n }\n\n return node.finishIdentifier(token.value);\n }\n\n function parseVariableDeclaration(options) {\n var init = null, id, node = new Node(), params = [];\n\n id = parsePattern(params, 'var');\n\n // ECMA-262 12.2.1\n if (strict && isRestrictedWord(id.name)) {\n tolerateError(Messages.StrictVarName);\n }\n\n if (match('=')) {\n lex();\n init = isolateCoverGrammar(parseAssignmentExpression);\n } else if (id.type !== Syntax.Identifier && !options.inFor) {\n expect('=');\n }\n\n return node.finishVariableDeclarator(id, init);\n }\n\n function parseVariableDeclarationList(options) {\n var opt, list;\n\n opt = { inFor: options.inFor };\n list = [parseVariableDeclaration(opt)];\n\n while (match(',')) {\n lex();\n list.push(parseVariableDeclaration(opt));\n }\n\n return list;\n }\n\n function parseVariableStatement(node) {\n var declarations;\n\n expectKeyword('var');\n\n declarations = parseVariableDeclarationList({ inFor: false });\n\n consumeSemicolon();\n\n return node.finishVariableDeclaration(declarations);\n }\n\n // ECMA-262 13.3.1 Let and Const Declarations\n\n function parseLexicalBinding(kind, options) {\n var init = null, id, node = new Node(), params = [];\n\n id = parsePattern(params, kind);\n\n // ECMA-262 12.2.1\n if (strict && id.type === Syntax.Identifier && isRestrictedWord(id.name)) {\n tolerateError(Messages.StrictVarName);\n }\n\n if (kind === 'const') {\n if (!matchKeyword('in') && !matchContextualKeyword('of')) {\n expect('=');\n init = isolateCoverGrammar(parseAssignmentExpression);\n }\n } else if ((!options.inFor && id.type !== Syntax.Identifier) || match('=')) {\n expect('=');\n init = isolateCoverGrammar(parseAssignmentExpression);\n }\n\n return node.finishVariableDeclarator(id, init);\n }\n\n function parseBindingList(kind, options) {\n var list = [parseLexicalBinding(kind, options)];\n\n while (match(',')) {\n lex();\n list.push(parseLexicalBinding(kind, options));\n }\n\n return list;\n }\n\n\n function tokenizerState() {\n return {\n index: index,\n lineNumber: lineNumber,\n lineStart: lineStart,\n hasLineTerminator: hasLineTerminator,\n lastIndex: lastIndex,\n lastLineNumber: lastLineNumber,\n lastLineStart: lastLineStart,\n startIndex: startIndex,\n startLineNumber: startLineNumber,\n startLineStart: startLineStart,\n lookahead: lookahead,\n tokenCount: extra.tokens ? extra.tokens.length : 0\n };\n }\n\n function resetTokenizerState(ts) {\n index = ts.index;\n lineNumber = ts.lineNumber;\n lineStart = ts.lineStart;\n hasLineTerminator = ts.hasLineTerminator;\n lastIndex = ts.lastIndex;\n lastLineNumber = ts.lastLineNumber;\n lastLineStart = ts.lastLineStart;\n startIndex = ts.startIndex;\n startLineNumber = ts.startLineNumber;\n startLineStart = ts.startLineStart;\n lookahead = ts.lookahead;\n if (extra.tokens) {\n extra.tokens.splice(ts.tokenCount, extra.tokens.length);\n }\n }\n\n function isLexicalDeclaration() {\n var lexical, ts;\n\n ts = tokenizerState();\n\n lex();\n lexical = (lookahead.type === Token.Identifier) || match('[') || match('{') ||\n matchKeyword('let') || matchKeyword('yield');\n\n resetTokenizerState(ts);\n\n return lexical;\n }\n\n function parseLexicalDeclaration(options) {\n var kind, declarations, node = new Node();\n\n kind = lex().value;\n assert(kind === 'let' || kind === 'const', 'Lexical declaration must be either let or const');\n\n declarations = parseBindingList(kind, options);\n\n consumeSemicolon();\n\n return node.finishLexicalDeclaration(declarations, kind);\n }\n\n function parseRestElement(params) {\n var param, node = new Node();\n\n lex();\n\n if (match('{')) {\n throwError(Messages.ObjectPatternAsRestParameter);\n }\n\n params.push(lookahead);\n\n param = parseVariableIdentifier();\n\n if (match('=')) {\n throwError(Messages.DefaultRestParameter);\n }\n\n if (!match(')')) {\n throwError(Messages.ParameterAfterRestParameter);\n }\n\n return node.finishRestElement(param);\n }\n\n // ECMA-262 13.4 Empty Statement\n\n function parseEmptyStatement(node) {\n expect(';');\n return node.finishEmptyStatement();\n }\n\n // ECMA-262 12.4 Expression Statement\n\n function parseExpressionStatement(node) {\n var expr = parseExpression();\n consumeSemicolon();\n return node.finishExpressionStatement(expr);\n }\n\n // ECMA-262 13.6 If statement\n\n function parseIfStatement(node) {\n var test, consequent, alternate;\n\n expectKeyword('if');\n\n expect('(');\n\n test = parseExpression();\n\n expect(')');\n\n consequent = parseStatement();\n\n if (matchKeyword('else')) {\n lex();\n alternate = parseStatement();\n } else {\n alternate = null;\n }\n\n return node.finishIfStatement(test, consequent, alternate);\n }\n\n // ECMA-262 13.7 Iteration Statements\n\n function parseDoWhileStatement(node) {\n var body, test, oldInIteration;\n\n expectKeyword('do');\n\n oldInIteration = state.inIteration;\n state.inIteration = true;\n\n body = parseStatement();\n\n state.inIteration = oldInIteration;\n\n expectKeyword('while');\n\n expect('(');\n\n test = parseExpression();\n\n expect(')');\n\n if (match(';')) {\n lex();\n }\n\n return node.finishDoWhileStatement(body, test);\n }\n\n function parseWhileStatement(node) {\n var test, body, oldInIteration;\n\n expectKeyword('while');\n\n expect('(');\n\n test = parseExpression();\n\n expect(')');\n\n oldInIteration = state.inIteration;\n state.inIteration = true;\n\n body = parseStatement();\n\n state.inIteration = oldInIteration;\n\n return node.finishWhileStatement(test, body);\n }\n\n function parseForStatement(node) {\n var init, forIn, initSeq, initStartToken, test, update, left, right, kind, declarations,\n body, oldInIteration, previousAllowIn = state.allowIn;\n\n init = test = update = null;\n forIn = true;\n\n expectKeyword('for');\n\n expect('(');\n\n if (match(';')) {\n lex();\n } else {\n if (matchKeyword('var')) {\n init = new Node();\n lex();\n\n state.allowIn = false;\n declarations = parseVariableDeclarationList({ inFor: true });\n state.allowIn = previousAllowIn;\n\n if (declarations.length === 1 && matchKeyword('in')) {\n init = init.finishVariableDeclaration(declarations);\n lex();\n left = init;\n right = parseExpression();\n init = null;\n } else if (declarations.length === 1 && declarations[0].init === null && matchContextualKeyword('of')) {\n init = init.finishVariableDeclaration(declarations);\n lex();\n left = init;\n right = parseAssignmentExpression();\n init = null;\n forIn = false;\n } else {\n init = init.finishVariableDeclaration(declarations);\n expect(';');\n }\n } else if (matchKeyword('const') || matchKeyword('let')) {\n init = new Node();\n kind = lex().value;\n\n if (!strict && lookahead.value === 'in') {\n init = init.finishIdentifier(kind);\n lex();\n left = init;\n right = parseExpression();\n init = null;\n } else {\n state.allowIn = false;\n declarations = parseBindingList(kind, {inFor: true});\n state.allowIn = previousAllowIn;\n\n if (declarations.length === 1 && declarations[0].init === null && matchKeyword('in')) {\n init = init.finishLexicalDeclaration(declarations, kind);\n lex();\n left = init;\n right = parseExpression();\n init = null;\n } else if (declarations.length === 1 && declarations[0].init === null && matchContextualKeyword('of')) {\n init = init.finishLexicalDeclaration(declarations, kind);\n lex();\n left = init;\n right = parseAssignmentExpression();\n init = null;\n forIn = false;\n } else {\n consumeSemicolon();\n init = init.finishLexicalDeclaration(declarations, kind);\n }\n }\n } else {\n initStartToken = lookahead;\n state.allowIn = false;\n init = inheritCoverGrammar(parseAssignmentExpression);\n state.allowIn = previousAllowIn;\n\n if (matchKeyword('in')) {\n if (!isAssignmentTarget) {\n tolerateError(Messages.InvalidLHSInForIn);\n }\n\n lex();\n reinterpretExpressionAsPattern(init);\n left = init;\n right = parseExpression();\n init = null;\n } else if (matchContextualKeyword('of')) {\n if (!isAssignmentTarget) {\n tolerateError(Messages.InvalidLHSInForLoop);\n }\n\n lex();\n reinterpretExpressionAsPattern(init);\n left = init;\n right = parseAssignmentExpression();\n init = null;\n forIn = false;\n } else {\n if (match(',')) {\n initSeq = [init];\n while (match(',')) {\n lex();\n initSeq.push(isolateCoverGrammar(parseAssignmentExpression));\n }\n init = new WrappingNode(initStartToken).finishSequenceExpression(initSeq);\n }\n expect(';');\n }\n }\n }\n\n if (typeof left === 'undefined') {\n\n if (!match(';')) {\n test = parseExpression();\n }\n expect(';');\n\n if (!match(')')) {\n update = parseExpression();\n }\n }\n\n expect(')');\n\n oldInIteration = state.inIteration;\n state.inIteration = true;\n\n body = isolateCoverGrammar(parseStatement);\n\n state.inIteration = oldInIteration;\n\n return (typeof left === 'undefined') ?\n node.finishForStatement(init, test, update, body) :\n forIn ? node.finishForInStatement(left, right, body) :\n node.finishForOfStatement(left, right, body);\n }\n\n // ECMA-262 13.8 The continue statement\n\n function parseContinueStatement(node) {\n var label = null, key;\n\n expectKeyword('continue');\n\n // Optimize the most common form: 'continue;'.\n if (source.charCodeAt(startIndex) === 0x3B) {\n lex();\n\n if (!state.inIteration) {\n throwError(Messages.IllegalContinue);\n }\n\n return node.finishContinueStatement(null);\n }\n\n if (hasLineTerminator) {\n if (!state.inIteration) {\n throwError(Messages.IllegalContinue);\n }\n\n return node.finishContinueStatement(null);\n }\n\n if (lookahead.type === Token.Identifier) {\n label = parseVariableIdentifier();\n\n key = '$' + label.name;\n if (!Object.prototype.hasOwnProperty.call(state.labelSet, key)) {\n throwError(Messages.UnknownLabel, label.name);\n }\n }\n\n consumeSemicolon();\n\n if (label === null && !state.inIteration) {\n throwError(Messages.IllegalContinue);\n }\n\n return node.finishContinueStatement(label);\n }\n\n // ECMA-262 13.9 The break statement\n\n function parseBreakStatement(node) {\n var label = null, key;\n\n expectKeyword('break');\n\n // Catch the very common case first: immediately a semicolon (U+003B).\n if (source.charCodeAt(lastIndex) === 0x3B) {\n lex();\n\n if (!(state.inIteration || state.inSwitch)) {\n throwError(Messages.IllegalBreak);\n }\n\n return node.finishBreakStatement(null);\n }\n\n if (hasLineTerminator) {\n if (!(state.inIteration || state.inSwitch)) {\n throwError(Messages.IllegalBreak);\n }\n } else if (lookahead.type === Token.Identifier) {\n label = parseVariableIdentifier();\n\n key = '$' + label.name;\n if (!Object.prototype.hasOwnProperty.call(state.labelSet, key)) {\n throwError(Messages.UnknownLabel, label.name);\n }\n }\n\n consumeSemicolon();\n\n if (label === null && !(state.inIteration || state.inSwitch)) {\n throwError(Messages.IllegalBreak);\n }\n\n return node.finishBreakStatement(label);\n }\n\n // ECMA-262 13.10 The return statement\n\n function parseReturnStatement(node) {\n var argument = null;\n\n expectKeyword('return');\n\n if (!state.inFunctionBody) {\n tolerateError(Messages.IllegalReturn);\n }\n\n // 'return' followed by a space and an identifier is very common.\n if (source.charCodeAt(lastIndex) === 0x20) {\n if (isIdentifierStart(source.charCodeAt(lastIndex + 1))) {\n argument = parseExpression();\n consumeSemicolon();\n return node.finishReturnStatement(argument);\n }\n }\n\n if (hasLineTerminator) {\n // HACK\n return node.finishReturnStatement(null);\n }\n\n if (!match(';')) {\n if (!match('}') && lookahead.type !== Token.EOF) {\n argument = parseExpression();\n }\n }\n\n consumeSemicolon();\n\n return node.finishReturnStatement(argument);\n }\n\n // ECMA-262 13.11 The with statement\n\n function parseWithStatement(node) {\n var object, body;\n\n if (strict) {\n tolerateError(Messages.StrictModeWith);\n }\n\n expectKeyword('with');\n\n expect('(');\n\n object = parseExpression();\n\n expect(')');\n\n body = parseStatement();\n\n return node.finishWithStatement(object, body);\n }\n\n // ECMA-262 13.12 The switch statement\n\n function parseSwitchCase() {\n var test, consequent = [], statement, node = new Node();\n\n if (matchKeyword('default')) {\n lex();\n test = null;\n } else {\n expectKeyword('case');\n test = parseExpression();\n }\n expect(':');\n\n while (startIndex < length) {\n if (match('}') || matchKeyword('default') || matchKeyword('case')) {\n break;\n }\n statement = parseStatementListItem();\n consequent.push(statement);\n }\n\n return node.finishSwitchCase(test, consequent);\n }\n\n function parseSwitchStatement(node) {\n var discriminant, cases, clause, oldInSwitch, defaultFound;\n\n expectKeyword('switch');\n\n expect('(');\n\n discriminant = parseExpression();\n\n expect(')');\n\n expect('{');\n\n cases = [];\n\n if (match('}')) {\n lex();\n return node.finishSwitchStatement(discriminant, cases);\n }\n\n oldInSwitch = state.inSwitch;\n state.inSwitch = true;\n defaultFound = false;\n\n while (startIndex < length) {\n if (match('}')) {\n break;\n }\n clause = parseSwitchCase();\n if (clause.test === null) {\n if (defaultFound) {\n throwError(Messages.MultipleDefaultsInSwitch);\n }\n defaultFound = true;\n }\n cases.push(clause);\n }\n\n state.inSwitch = oldInSwitch;\n\n expect('}');\n\n return node.finishSwitchStatement(discriminant, cases);\n }\n\n // ECMA-262 13.14 The throw statement\n\n function parseThrowStatement(node) {\n var argument;\n\n expectKeyword('throw');\n\n if (hasLineTerminator) {\n throwError(Messages.NewlineAfterThrow);\n }\n\n argument = parseExpression();\n\n consumeSemicolon();\n\n return node.finishThrowStatement(argument);\n }\n\n // ECMA-262 13.15 The try statement\n\n function parseCatchClause() {\n var param, params = [], paramMap = {}, key, i, body, node = new Node();\n\n expectKeyword('catch');\n\n expect('(');\n if (match(')')) {\n throwUnexpectedToken(lookahead);\n }\n\n param = parsePattern(params);\n for (i = 0; i < params.length; i++) {\n key = '$' + params[i].value;\n if (Object.prototype.hasOwnProperty.call(paramMap, key)) {\n tolerateError(Messages.DuplicateBinding, params[i].value);\n }\n paramMap[key] = true;\n }\n\n // ECMA-262 12.14.1\n if (strict && isRestrictedWord(param.name)) {\n tolerateError(Messages.StrictCatchVariable);\n }\n\n expect(')');\n body = parseBlock();\n return node.finishCatchClause(param, body);\n }\n\n function parseTryStatement(node) {\n var block, handler = null, finalizer = null;\n\n expectKeyword('try');\n\n block = parseBlock();\n\n if (matchKeyword('catch')) {\n handler = parseCatchClause();\n }\n\n if (matchKeyword('finally')) {\n lex();\n finalizer = parseBlock();\n }\n\n if (!handler && !finalizer) {\n throwError(Messages.NoCatchOrFinally);\n }\n\n return node.finishTryStatement(block, handler, finalizer);\n }\n\n // ECMA-262 13.16 The debugger statement\n\n function parseDebuggerStatement(node) {\n expectKeyword('debugger');\n\n consumeSemicolon();\n\n return node.finishDebuggerStatement();\n }\n\n // 13 Statements\n\n function parseStatement() {\n var type = lookahead.type,\n expr,\n labeledBody,\n key,\n node;\n\n if (type === Token.EOF) {\n throwUnexpectedToken(lookahead);\n }\n\n if (type === Token.Punctuator && lookahead.value === '{') {\n return parseBlock();\n }\n isAssignmentTarget = isBindingElement = true;\n node = new Node();\n\n if (type === Token.Punctuator) {\n switch (lookahead.value) {\n case ';':\n return parseEmptyStatement(node);\n case '(':\n return parseExpressionStatement(node);\n default:\n break;\n }\n } else if (type === Token.Keyword) {\n switch (lookahead.value) {\n case 'break':\n return parseBreakStatement(node);\n case 'continue':\n return parseContinueStatement(node);\n case 'debugger':\n return parseDebuggerStatement(node);\n case 'do':\n return parseDoWhileStatement(node);\n case 'for':\n return parseForStatement(node);\n case 'function':\n return parseFunctionDeclaration(node);\n case 'if':\n return parseIfStatement(node);\n case 'return':\n return parseReturnStatement(node);\n case 'switch':\n return parseSwitchStatement(node);\n case 'throw':\n return parseThrowStatement(node);\n case 'try':\n return parseTryStatement(node);\n case 'var':\n return parseVariableStatement(node);\n case 'while':\n return parseWhileStatement(node);\n case 'with':\n return parseWithStatement(node);\n default:\n break;\n }\n }\n\n expr = parseExpression();\n\n // ECMA-262 12.12 Labelled Statements\n if ((expr.type === Syntax.Identifier) && match(':')) {\n lex();\n\n key = '$' + expr.name;\n if (Object.prototype.hasOwnProperty.call(state.labelSet, key)) {\n throwError(Messages.Redeclaration, 'Label', expr.name);\n }\n\n state.labelSet[key] = true;\n labeledBody = parseStatement();\n delete state.labelSet[key];\n return node.finishLabeledStatement(expr, labeledBody);\n }\n\n consumeSemicolon();\n\n return node.finishExpressionStatement(expr);\n }\n\n // ECMA-262 14.1 Function Definition\n\n function parseFunctionSourceElements() {\n var statement, body = [], token, directive, firstRestricted,\n oldLabelSet, oldInIteration, oldInSwitch, oldInFunctionBody,\n node = new Node();\n\n expect('{');\n\n while (startIndex < length) {\n if (lookahead.type !== Token.StringLiteral) {\n break;\n }\n token = lookahead;\n\n statement = parseStatementListItem();\n body.push(statement);\n if (statement.expression.type !== Syntax.Literal) {\n // this is not directive\n break;\n }\n directive = source.slice(token.start + 1, token.end - 1);\n if (directive === 'use strict') {\n strict = true;\n if (firstRestricted) {\n tolerateUnexpectedToken(firstRestricted, Messages.StrictOctalLiteral);\n }\n } else {\n if (!firstRestricted && token.octal) {\n firstRestricted = token;\n }\n }\n }\n\n oldLabelSet = state.labelSet;\n oldInIteration = state.inIteration;\n oldInSwitch = state.inSwitch;\n oldInFunctionBody = state.inFunctionBody;\n\n state.labelSet = {};\n state.inIteration = false;\n state.inSwitch = false;\n state.inFunctionBody = true;\n\n while (startIndex < length) {\n if (match('}')) {\n break;\n }\n body.push(parseStatementListItem());\n }\n\n expect('}');\n\n state.labelSet = oldLabelSet;\n state.inIteration = oldInIteration;\n state.inSwitch = oldInSwitch;\n state.inFunctionBody = oldInFunctionBody;\n\n return node.finishBlockStatement(body);\n }\n\n function validateParam(options, param, name) {\n var key = '$' + name;\n if (strict) {\n if (isRestrictedWord(name)) {\n options.stricted = param;\n options.message = Messages.StrictParamName;\n }\n if (Object.prototype.hasOwnProperty.call(options.paramSet, key)) {\n options.stricted = param;\n options.message = Messages.StrictParamDupe;\n }\n } else if (!options.firstRestricted) {\n if (isRestrictedWord(name)) {\n options.firstRestricted = param;\n options.message = Messages.StrictParamName;\n } else if (isStrictModeReservedWord(name)) {\n options.firstRestricted = param;\n options.message = Messages.StrictReservedWord;\n } else if (Object.prototype.hasOwnProperty.call(options.paramSet, key)) {\n options.stricted = param;\n options.message = Messages.StrictParamDupe;\n }\n }\n options.paramSet[key] = true;\n }\n\n function parseParam(options) {\n var token, param, params = [], i, def;\n\n token = lookahead;\n if (token.value === '...') {\n param = parseRestElement(params);\n validateParam(options, param.argument, param.argument.name);\n options.params.push(param);\n options.defaults.push(null);\n return false;\n }\n\n param = parsePatternWithDefault(params);\n for (i = 0; i < params.length; i++) {\n validateParam(options, params[i], params[i].value);\n }\n\n if (param.type === Syntax.AssignmentPattern) {\n def = param.right;\n param = param.left;\n ++options.defaultCount;\n }\n\n options.params.push(param);\n options.defaults.push(def);\n\n return !match(')');\n }\n\n function parseParams(firstRestricted) {\n var options;\n\n options = {\n params: [],\n defaultCount: 0,\n defaults: [],\n firstRestricted: firstRestricted\n };\n\n expect('(');\n\n if (!match(')')) {\n options.paramSet = {};\n while (startIndex < length) {\n if (!parseParam(options)) {\n break;\n }\n expect(',');\n }\n }\n\n expect(')');\n\n if (options.defaultCount === 0) {\n options.defaults = [];\n }\n\n return {\n params: options.params,\n defaults: options.defaults,\n stricted: options.stricted,\n firstRestricted: options.firstRestricted,\n message: options.message\n };\n }\n\n function parseFunctionDeclaration(node, identifierIsOptional) {\n var id = null, params = [], defaults = [], body, token, stricted, tmp, firstRestricted, message, previousStrict,\n isGenerator, previousAllowYield;\n\n previousAllowYield = state.allowYield;\n\n expectKeyword('function');\n\n isGenerator = match('*');\n if (isGenerator) {\n lex();\n }\n\n if (!identifierIsOptional || !match('(')) {\n token = lookahead;\n id = parseVariableIdentifier();\n if (strict) {\n if (isRestrictedWord(token.value)) {\n tolerateUnexpectedToken(token, Messages.StrictFunctionName);\n }\n } else {\n if (isRestrictedWord(token.value)) {\n firstRestricted = token;\n message = Messages.StrictFunctionName;\n } else if (isStrictModeReservedWord(token.value)) {\n firstRestricted = token;\n message = Messages.StrictReservedWord;\n }\n }\n }\n\n state.allowYield = !isGenerator;\n tmp = parseParams(firstRestricted);\n params = tmp.params;\n defaults = tmp.defaults;\n stricted = tmp.stricted;\n firstRestricted = tmp.firstRestricted;\n if (tmp.message) {\n message = tmp.message;\n }\n\n\n previousStrict = strict;\n body = parseFunctionSourceElements();\n if (strict && firstRestricted) {\n throwUnexpectedToken(firstRestricted, message);\n }\n if (strict && stricted) {\n tolerateUnexpectedToken(stricted, message);\n }\n\n strict = previousStrict;\n state.allowYield = previousAllowYield;\n\n return node.finishFunctionDeclaration(id, params, defaults, body, isGenerator);\n }\n\n function parseFunctionExpression() {\n var token, id = null, stricted, firstRestricted, message, tmp,\n params = [], defaults = [], body, previousStrict, node = new Node(),\n isGenerator, previousAllowYield;\n\n previousAllowYield = state.allowYield;\n\n expectKeyword('function');\n\n isGenerator = match('*');\n if (isGenerator) {\n lex();\n }\n\n state.allowYield = !isGenerator;\n if (!match('(')) {\n token = lookahead;\n id = (!strict && !isGenerator && matchKeyword('yield')) ? parseNonComputedProperty() : parseVariableIdentifier();\n if (strict) {\n if (isRestrictedWord(token.value)) {\n tolerateUnexpectedToken(token, Messages.StrictFunctionName);\n }\n } else {\n if (isRestrictedWord(token.value)) {\n firstRestricted = token;\n message = Messages.StrictFunctionName;\n } else if (isStrictModeReservedWord(token.value)) {\n firstRestricted = token;\n message = Messages.StrictReservedWord;\n }\n }\n }\n\n tmp = parseParams(firstRestricted);\n params = tmp.params;\n defaults = tmp.defaults;\n stricted = tmp.stricted;\n firstRestricted = tmp.firstRestricted;\n if (tmp.message) {\n message = tmp.message;\n }\n\n previousStrict = strict;\n body = parseFunctionSourceElements();\n if (strict && firstRestricted) {\n throwUnexpectedToken(firstRestricted, message);\n }\n if (strict && stricted) {\n tolerateUnexpectedToken(stricted, message);\n }\n strict = previousStrict;\n state.allowYield = previousAllowYield;\n\n return node.finishFunctionExpression(id, params, defaults, body, isGenerator);\n }\n\n // ECMA-262 14.5 Class Definitions\n\n function parseClassBody() {\n var classBody, token, isStatic, hasConstructor = false, body, method, computed, key;\n\n classBody = new Node();\n\n expect('{');\n body = [];\n while (!match('}')) {\n if (match(';')) {\n lex();\n } else {\n method = new Node();\n token = lookahead;\n isStatic = false;\n computed = match('[');\n if (match('*')) {\n lex();\n } else {\n key = parseObjectPropertyKey();\n if (key.name === 'static' && (lookaheadPropertyName() || match('*'))) {\n token = lookahead;\n isStatic = true;\n computed = match('[');\n if (match('*')) {\n lex();\n } else {\n key = parseObjectPropertyKey();\n }\n }\n }\n method = tryParseMethodDefinition(token, key, computed, method);\n if (method) {\n method['static'] = isStatic; // jscs:ignore requireDotNotation\n if (method.kind === 'init') {\n method.kind = 'method';\n }\n if (!isStatic) {\n if (!method.computed && (method.key.name || method.key.value.toString()) === 'constructor') {\n if (method.kind !== 'method' || !method.method || method.value.generator) {\n throwUnexpectedToken(token, Messages.ConstructorSpecialMethod);\n }\n if (hasConstructor) {\n throwUnexpectedToken(token, Messages.DuplicateConstructor);\n } else {\n hasConstructor = true;\n }\n method.kind = 'constructor';\n }\n } else {\n if (!method.computed && (method.key.name || method.key.value.toString()) === 'prototype') {\n throwUnexpectedToken(token, Messages.StaticPrototype);\n }\n }\n method.type = Syntax.MethodDefinition;\n delete method.method;\n delete method.shorthand;\n body.push(method);\n } else {\n throwUnexpectedToken(lookahead);\n }\n }\n }\n lex();\n return classBody.finishClassBody(body);\n }\n\n function parseClassDeclaration(identifierIsOptional) {\n var id = null, superClass = null, classNode = new Node(), classBody, previousStrict = strict;\n strict = true;\n\n expectKeyword('class');\n\n if (!identifierIsOptional || lookahead.type === Token.Identifier) {\n id = parseVariableIdentifier();\n }\n\n if (matchKeyword('extends')) {\n lex();\n superClass = isolateCoverGrammar(parseLeftHandSideExpressionAllowCall);\n }\n classBody = parseClassBody();\n strict = previousStrict;\n\n return classNode.finishClassDeclaration(id, superClass, classBody);\n }\n\n function parseClassExpression() {\n var id = null, superClass = null, classNode = new Node(), classBody, previousStrict = strict;\n strict = true;\n\n expectKeyword('class');\n\n if (lookahead.type === Token.Identifier) {\n id = parseVariableIdentifier();\n }\n\n if (matchKeyword('extends')) {\n lex();\n superClass = isolateCoverGrammar(parseLeftHandSideExpressionAllowCall);\n }\n classBody = parseClassBody();\n strict = previousStrict;\n\n return classNode.finishClassExpression(id, superClass, classBody);\n }\n\n // ECMA-262 15.2 Modules\n\n function parseModuleSpecifier() {\n var node = new Node();\n\n if (lookahead.type !== Token.StringLiteral) {\n throwError(Messages.InvalidModuleSpecifier);\n }\n return node.finishLiteral(lex());\n }\n\n // ECMA-262 15.2.3 Exports\n\n function parseExportSpecifier() {\n var exported, local, node = new Node(), def;\n if (matchKeyword('default')) {\n // export {default} from 'something';\n def = new Node();\n lex();\n local = def.finishIdentifier('default');\n } else {\n local = parseVariableIdentifier();\n }\n if (matchContextualKeyword('as')) {\n lex();\n exported = parseNonComputedProperty();\n }\n return node.finishExportSpecifier(local, exported);\n }\n\n function parseExportNamedDeclaration(node) {\n var declaration = null,\n isExportFromIdentifier,\n src = null, specifiers = [];\n\n // non-default export\n if (lookahead.type === Token.Keyword) {\n // covers:\n // export var f = 1;\n switch (lookahead.value) {\n case 'let':\n case 'const':\n declaration = parseLexicalDeclaration({inFor: false});\n return node.finishExportNamedDeclaration(declaration, specifiers, null);\n case 'var':\n case 'class':\n case 'function':\n declaration = parseStatementListItem();\n return node.finishExportNamedDeclaration(declaration, specifiers, null);\n }\n }\n\n expect('{');\n while (!match('}')) {\n isExportFromIdentifier = isExportFromIdentifier || matchKeyword('default');\n specifiers.push(parseExportSpecifier());\n if (!match('}')) {\n expect(',');\n if (match('}')) {\n break;\n }\n }\n }\n expect('}');\n\n if (matchContextualKeyword('from')) {\n // covering:\n // export {default} from 'foo';\n // export {foo} from 'foo';\n lex();\n src = parseModuleSpecifier();\n consumeSemicolon();\n } else if (isExportFromIdentifier) {\n // covering:\n // export {default}; // missing fromClause\n throwError(lookahead.value ?\n Messages.UnexpectedToken : Messages.MissingFromClause, lookahead.value);\n } else {\n // cover\n // export {foo};\n consumeSemicolon();\n }\n return node.finishExportNamedDeclaration(declaration, specifiers, src);\n }\n\n function parseExportDefaultDeclaration(node) {\n var declaration = null,\n expression = null;\n\n // covers:\n // export default ...\n expectKeyword('default');\n\n if (matchKeyword('function')) {\n // covers:\n // export default function foo () {}\n // export default function () {}\n declaration = parseFunctionDeclaration(new Node(), true);\n return node.finishExportDefaultDeclaration(declaration);\n }\n if (matchKeyword('class')) {\n declaration = parseClassDeclaration(true);\n return node.finishExportDefaultDeclaration(declaration);\n }\n\n if (matchContextualKeyword('from')) {\n throwError(Messages.UnexpectedToken, lookahead.value);\n }\n\n // covers:\n // export default {};\n // export default [];\n // export default (1 + 2);\n if (match('{')) {\n expression = parseObjectInitializer();\n } else if (match('[')) {\n expression = parseArrayInitializer();\n } else {\n expression = parseAssignmentExpression();\n }\n consumeSemicolon();\n return node.finishExportDefaultDeclaration(expression);\n }\n\n function parseExportAllDeclaration(node) {\n var src;\n\n // covers:\n // export * from 'foo';\n expect('*');\n if (!matchContextualKeyword('from')) {\n throwError(lookahead.value ?\n Messages.UnexpectedToken : Messages.MissingFromClause, lookahead.value);\n }\n lex();\n src = parseModuleSpecifier();\n consumeSemicolon();\n\n return node.finishExportAllDeclaration(src);\n }\n\n function parseExportDeclaration() {\n var node = new Node();\n if (state.inFunctionBody) {\n throwError(Messages.IllegalExportDeclaration);\n }\n\n expectKeyword('export');\n\n if (matchKeyword('default')) {\n return parseExportDefaultDeclaration(node);\n }\n if (match('*')) {\n return parseExportAllDeclaration(node);\n }\n return parseExportNamedDeclaration(node);\n }\n\n // ECMA-262 15.2.2 Imports\n\n function parseImportSpecifier() {\n // import {<foo as bar>} ...;\n var local, imported, node = new Node();\n\n imported = parseNonComputedProperty();\n if (matchContextualKeyword('as')) {\n lex();\n local = parseVariableIdentifier();\n }\n\n return node.finishImportSpecifier(local, imported);\n }\n\n function parseNamedImports() {\n var specifiers = [];\n // {foo, bar as bas}\n expect('{');\n while (!match('}')) {\n specifiers.push(parseImportSpecifier());\n if (!match('}')) {\n expect(',');\n if (match('}')) {\n break;\n }\n }\n }\n expect('}');\n return specifiers;\n }\n\n function parseImportDefaultSpecifier() {\n // import <foo> ...;\n var local, node = new Node();\n\n local = parseNonComputedProperty();\n\n return node.finishImportDefaultSpecifier(local);\n }\n\n function parseImportNamespaceSpecifier() {\n // import <* as foo> ...;\n var local, node = new Node();\n\n expect('*');\n if (!matchContextualKeyword('as')) {\n throwError(Messages.NoAsAfterImportNamespace);\n }\n lex();\n local = parseNonComputedProperty();\n\n return node.finishImportNamespaceSpecifier(local);\n }\n\n function parseImportDeclaration() {\n var specifiers = [], src, node = new Node();\n\n if (state.inFunctionBody) {\n throwError(Messages.IllegalImportDeclaration);\n }\n\n expectKeyword('import');\n\n if (lookahead.type === Token.StringLiteral) {\n // import 'foo';\n src = parseModuleSpecifier();\n } else {\n\n if (match('{')) {\n // import {bar}\n specifiers = specifiers.concat(parseNamedImports());\n } else if (match('*')) {\n // import * as foo\n specifiers.push(parseImportNamespaceSpecifier());\n } else if (isIdentifierName(lookahead) && !matchKeyword('default')) {\n // import foo\n specifiers.push(parseImportDefaultSpecifier());\n if (match(',')) {\n lex();\n if (match('*')) {\n // import foo, * as foo\n specifiers.push(parseImportNamespaceSpecifier());\n } else if (match('{')) {\n // import foo, {bar}\n specifiers = specifiers.concat(parseNamedImports());\n } else {\n throwUnexpectedToken(lookahead);\n }\n }\n } else {\n throwUnexpectedToken(lex());\n }\n\n if (!matchContextualKeyword('from')) {\n throwError(lookahead.value ?\n Messages.UnexpectedToken : Messages.MissingFromClause, lookahead.value);\n }\n lex();\n src = parseModuleSpecifier();\n }\n\n consumeSemicolon();\n return node.finishImportDeclaration(specifiers, src);\n }\n\n // ECMA-262 15.1 Scripts\n\n function parseScriptBody() {\n var statement, body = [], token, directive, firstRestricted;\n\n while (startIndex < length) {\n token = lookahead;\n if (token.type !== Token.StringLiteral) {\n break;\n }\n\n statement = parseStatementListItem();\n body.push(statement);\n if (statement.expression.type !== Syntax.Literal) {\n // this is not directive\n break;\n }\n directive = source.slice(token.start + 1, token.end - 1);\n if (directive === 'use strict') {\n strict = true;\n if (firstRestricted) {\n tolerateUnexpectedToken(firstRestricted, Messages.StrictOctalLiteral);\n }\n } else {\n if (!firstRestricted && token.octal) {\n firstRestricted = token;\n }\n }\n }\n\n while (startIndex < length) {\n statement = parseStatementListItem();\n /* istanbul ignore if */\n if (typeof statement === 'undefined') {\n break;\n }\n body.push(statement);\n }\n return body;\n }\n\n function parseProgram() {\n var body, node;\n\n peek();\n node = new Node();\n\n body = parseScriptBody();\n return node.finishProgram(body, state.sourceType);\n }\n\n function filterTokenLocation() {\n var i, entry, token, tokens = [];\n\n for (i = 0; i < extra.tokens.length; ++i) {\n entry = extra.tokens[i];\n token = {\n type: entry.type,\n value: entry.value\n };\n if (entry.regex) {\n token.regex = {\n pattern: entry.regex.pattern,\n flags: entry.regex.flags\n };\n }\n if (extra.range) {\n token.range = entry.range;\n }\n if (extra.loc) {\n token.loc = entry.loc;\n }\n tokens.push(token);\n }\n\n extra.tokens = tokens;\n }\n\n function tokenize(code, options, delegate) {\n var toString,\n tokens;\n\n toString = String;\n if (typeof code !== 'string' && !(code instanceof String)) {\n code = toString(code);\n }\n\n source = code;\n index = 0;\n lineNumber = (source.length > 0) ? 1 : 0;\n lineStart = 0;\n startIndex = index;\n startLineNumber = lineNumber;\n startLineStart = lineStart;\n length = source.length;\n lookahead = null;\n state = {\n allowIn: true,\n allowYield: true,\n labelSet: {},\n inFunctionBody: false,\n inIteration: false,\n inSwitch: false,\n lastCommentStart: -1,\n curlyStack: []\n };\n\n extra = {};\n\n // Options matching.\n options = options || {};\n\n // Of course we collect tokens here.\n options.tokens = true;\n extra.tokens = [];\n extra.tokenValues = [];\n extra.tokenize = true;\n extra.delegate = delegate;\n\n // The following two fields are necessary to compute the Regex tokens.\n extra.openParenToken = -1;\n extra.openCurlyToken = -1;\n\n extra.range = (typeof options.range === 'boolean') && options.range;\n extra.loc = (typeof options.loc === 'boolean') && options.loc;\n\n if (typeof options.comment === 'boolean' && options.comment) {\n extra.comments = [];\n }\n if (typeof options.tolerant === 'boolean' && options.tolerant) {\n extra.errors = [];\n }\n\n try {\n peek();\n if (lookahead.type === Token.EOF) {\n return extra.tokens;\n }\n\n lex();\n while (lookahead.type !== Token.EOF) {\n try {\n lex();\n } catch (lexError) {\n if (extra.errors) {\n recordError(lexError);\n // We have to break on the first error\n // to avoid infinite loops.\n break;\n } else {\n throw lexError;\n }\n }\n }\n\n tokens = extra.tokens;\n if (typeof extra.errors !== 'undefined') {\n tokens.errors = extra.errors;\n }\n } catch (e) {\n throw e;\n } finally {\n extra = {};\n }\n return tokens;\n }\n\n function parse(code, options) {\n var program, toString;\n\n toString = String;\n if (typeof code !== 'string' && !(code instanceof String)) {\n code = toString(code);\n }\n\n source = code;\n index = 0;\n lineNumber = (source.length > 0) ? 1 : 0;\n lineStart = 0;\n startIndex = index;\n startLineNumber = lineNumber;\n startLineStart = lineStart;\n length = source.length;\n lookahead = null;\n state = {\n allowIn: true,\n allowYield: true,\n labelSet: {},\n inFunctionBody: false,\n inIteration: false,\n inSwitch: false,\n lastCommentStart: -1,\n curlyStack: [],\n sourceType: 'script'\n };\n strict = false;\n\n extra = {};\n if (typeof options !== 'undefined') {\n extra.range = (typeof options.range === 'boolean') && options.range;\n extra.loc = (typeof options.loc === 'boolean') && options.loc;\n extra.attachComment = (typeof options.attachComment === 'boolean') && options.attachComment;\n\n if (extra.loc && options.source !== null && options.source !== undefined) {\n extra.source = toString(options.source);\n }\n\n if (typeof options.tokens === 'boolean' && options.tokens) {\n extra.tokens = [];\n }\n if (typeof options.comment === 'boolean' && options.comment) {\n extra.comments = [];\n }\n if (typeof options.tolerant === 'boolean' && options.tolerant) {\n extra.errors = [];\n }\n if (extra.attachComment) {\n extra.range = true;\n extra.comments = [];\n extra.bottomRightStack = [];\n extra.trailingComments = [];\n extra.leadingComments = [];\n }\n if (options.sourceType === 'module') {\n // very restrictive condition for now\n state.sourceType = options.sourceType;\n strict = true;\n }\n }\n\n try {\n program = parseProgram();\n if (typeof extra.comments !== 'undefined') {\n program.comments = extra.comments;\n }\n if (typeof extra.tokens !== 'undefined') {\n filterTokenLocation();\n program.tokens = extra.tokens;\n }\n if (typeof extra.errors !== 'undefined') {\n program.errors = extra.errors;\n }\n } catch (e) {\n throw e;\n } finally {\n extra = {};\n }\n\n return program;\n }\n\n // Sync with *.json manifests.\n exports.version = '2.7.3';\n\n exports.tokenize = tokenize;\n\n exports.parse = parse;\n\n // Deep copy.\n /* istanbul ignore next */\n exports.Syntax = (function () {\n var name, types = {};\n\n if (typeof Object.create === 'function') {\n types = Object.create(null);\n }\n\n for (name in Syntax) {\n if (Syntax.hasOwnProperty(name)) {\n types[name] = Syntax[name];\n }\n }\n\n if (typeof Object.freeze === 'function') {\n Object.freeze(types);\n }\n\n return types;\n }());\n\n}));\n/* vim: set sw=4 ts=4 et tw=80 : */\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/esprima/esprima.js\n ** module id = 410\n ** module chunks = 0\n **/","\"use strict\";\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @typechecks\n */\n\nvar _hyphenPattern = /-(.)/g;\n\n/**\n * Camelcases a hyphenated string, for example:\n *\n * > camelize('background-color')\n * < \"backgroundColor\"\n *\n * @param {string} string\n * @return {string}\n */\nfunction camelize(string) {\n return string.replace(_hyphenPattern, function (_, character) {\n return character.toUpperCase();\n });\n}\n\nmodule.exports = camelize;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/fbjs/lib/camelize.js\n ** module id = 413\n ** module chunks = 0\n **/","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @typechecks\n */\n\n'use strict';\n\nvar camelize = require('./camelize');\n\nvar msPattern = /^-ms-/;\n\n/**\n * Camelcases a hyphenated CSS property name, for example:\n *\n * > camelizeStyleName('background-color')\n * < \"backgroundColor\"\n * > camelizeStyleName('-moz-transition')\n * < \"MozTransition\"\n * > camelizeStyleName('-ms-transition')\n * < \"msTransition\"\n *\n * As Andi Smith suggests\n * (http://www.andismith.com/blog/2012/02/modernizr-prefixed/), an `-ms` prefix\n * is converted to lowercase `ms`.\n *\n * @param {string} string\n * @return {string}\n */\nfunction camelizeStyleName(string) {\n return camelize(string.replace(msPattern, 'ms-'));\n}\n\nmodule.exports = camelizeStyleName;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/fbjs/lib/camelizeStyleName.js\n ** module id = 414\n ** module chunks = 0\n **/","'use strict';\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * \n */\n\nvar isTextNode = require('./isTextNode');\n\n/*eslint-disable no-bitwise */\n\n/**\n * Checks if a given DOM node contains or is another DOM node.\n */\nfunction containsNode(outerNode, innerNode) {\n if (!outerNode || !innerNode) {\n return false;\n } else if (outerNode === innerNode) {\n return true;\n } else if (isTextNode(outerNode)) {\n return false;\n } else if (isTextNode(innerNode)) {\n return containsNode(outerNode, innerNode.parentNode);\n } else if ('contains' in outerNode) {\n return outerNode.contains(innerNode);\n } else if (outerNode.compareDocumentPosition) {\n return !!(outerNode.compareDocumentPosition(innerNode) & 16);\n } else {\n return false;\n }\n}\n\nmodule.exports = containsNode;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/fbjs/lib/containsNode.js\n ** module id = 415\n ** module chunks = 0\n **/","'use strict';\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @typechecks\n */\n\nvar invariant = require('./invariant');\n\n/**\n * Convert array-like objects to arrays.\n *\n * This API assumes the caller knows the contents of the data type. For less\n * well defined inputs use createArrayFromMixed.\n *\n * @param {object|function|filelist} obj\n * @return {array}\n */\nfunction toArray(obj) {\n var length = obj.length;\n\n // Some browsers builtin objects can report typeof 'function' (e.g. NodeList\n // in old versions of Safari).\n !(!Array.isArray(obj) && (typeof obj === 'object' || typeof obj === 'function')) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'toArray: Array-like object expected') : invariant(false) : void 0;\n\n !(typeof length === 'number') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'toArray: Object needs a length property') : invariant(false) : void 0;\n\n !(length === 0 || length - 1 in obj) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'toArray: Object should have keys for indices') : invariant(false) : void 0;\n\n !(typeof obj.callee !== 'function') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'toArray: Object can\\'t be `arguments`. Use rest params ' + '(function(...args) {}) or Array.from() instead.') : invariant(false) : void 0;\n\n // Old IE doesn't give collections access to hasOwnProperty. Assume inputs\n // without method will throw during the slice call and skip straight to the\n // fallback.\n if (obj.hasOwnProperty) {\n try {\n return Array.prototype.slice.call(obj);\n } catch (e) {\n // IE < 9 does not support Array#slice on collections objects\n }\n }\n\n // Fall back to copying key by key. This assumes all keys have a value,\n // so will not preserve sparsely populated inputs.\n var ret = Array(length);\n for (var ii = 0; ii < length; ii++) {\n ret[ii] = obj[ii];\n }\n return ret;\n}\n\n/**\n * Perform a heuristic test to determine if an object is \"array-like\".\n *\n * A monk asked Joshu, a Zen master, \"Has a dog Buddha nature?\"\n * Joshu replied: \"Mu.\"\n *\n * This function determines if its argument has \"array nature\": it returns\n * true if the argument is an actual array, an `arguments' object, or an\n * HTMLCollection (e.g. node.childNodes or node.getElementsByTagName()).\n *\n * It will return false for other array-like objects like Filelist.\n *\n * @param {*} obj\n * @return {boolean}\n */\nfunction hasArrayNature(obj) {\n return (\n // not null/false\n !!obj && (\n // arrays are objects, NodeLists are functions in Safari\n typeof obj == 'object' || typeof obj == 'function') &&\n // quacks like an array\n 'length' in obj &&\n // not window\n !('setInterval' in obj) &&\n // no DOM node should be considered an array-like\n // a 'select' element has 'length' and 'item' properties on IE8\n typeof obj.nodeType != 'number' && (\n // a real array\n Array.isArray(obj) ||\n // arguments\n 'callee' in obj ||\n // HTMLCollection/NodeList\n 'item' in obj)\n );\n}\n\n/**\n * Ensure that the argument is an array by wrapping it in an array if it is not.\n * Creates a copy of the argument if it is already an array.\n *\n * This is mostly useful idiomatically:\n *\n * var createArrayFromMixed = require('createArrayFromMixed');\n *\n * function takesOneOrMoreThings(things) {\n * things = createArrayFromMixed(things);\n * ...\n * }\n *\n * This allows you to treat `things' as an array, but accept scalars in the API.\n *\n * If you need to convert an array-like object, like `arguments`, into an array\n * use toArray instead.\n *\n * @param {*} obj\n * @return {array}\n */\nfunction createArrayFromMixed(obj) {\n if (!hasArrayNature(obj)) {\n return [obj];\n } else if (Array.isArray(obj)) {\n return obj.slice();\n } else {\n return toArray(obj);\n }\n}\n\nmodule.exports = createArrayFromMixed;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/fbjs/lib/createArrayFromMixed.js\n ** module id = 416\n ** module chunks = 0\n **/","'use strict';\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @typechecks\n */\n\n/*eslint-disable fb-www/unsafe-html*/\n\nvar ExecutionEnvironment = require('./ExecutionEnvironment');\n\nvar createArrayFromMixed = require('./createArrayFromMixed');\nvar getMarkupWrap = require('./getMarkupWrap');\nvar invariant = require('./invariant');\n\n/**\n * Dummy container used to render all markup.\n */\nvar dummyNode = ExecutionEnvironment.canUseDOM ? document.createElement('div') : null;\n\n/**\n * Pattern used by `getNodeName`.\n */\nvar nodeNamePattern = /^\\s*<(\\w+)/;\n\n/**\n * Extracts the `nodeName` of the first element in a string of markup.\n *\n * @param {string} markup String of markup.\n * @return {?string} Node name of the supplied markup.\n */\nfunction getNodeName(markup) {\n var nodeNameMatch = markup.match(nodeNamePattern);\n return nodeNameMatch && nodeNameMatch[1].toLowerCase();\n}\n\n/**\n * Creates an array containing the nodes rendered from the supplied markup. The\n * optionally supplied `handleScript` function will be invoked once for each\n * <script> element that is rendered. If no `handleScript` function is supplied,\n * an exception is thrown if any <script> elements are rendered.\n *\n * @param {string} markup A string of valid HTML markup.\n * @param {?function} handleScript Invoked once for each rendered <script>.\n * @return {array<DOMElement|DOMTextNode>} An array of rendered nodes.\n */\nfunction createNodesFromMarkup(markup, handleScript) {\n var node = dummyNode;\n !!!dummyNode ? process.env.NODE_ENV !== 'production' ? invariant(false, 'createNodesFromMarkup dummy not initialized') : invariant(false) : void 0;\n var nodeName = getNodeName(markup);\n\n var wrap = nodeName && getMarkupWrap(nodeName);\n if (wrap) {\n node.innerHTML = wrap[1] + markup + wrap[2];\n\n var wrapDepth = wrap[0];\n while (wrapDepth--) {\n node = node.lastChild;\n }\n } else {\n node.innerHTML = markup;\n }\n\n var scripts = node.getElementsByTagName('script');\n if (scripts.length) {\n !handleScript ? process.env.NODE_ENV !== 'production' ? invariant(false, 'createNodesFromMarkup(...): Unexpected <script> element rendered.') : invariant(false) : void 0;\n createArrayFromMixed(scripts).forEach(handleScript);\n }\n\n var nodes = Array.from(node.childNodes);\n while (node.lastChild) {\n node.removeChild(node.lastChild);\n }\n return nodes;\n}\n\nmodule.exports = createNodesFromMarkup;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/fbjs/lib/createNodesFromMarkup.js\n ** module id = 417\n ** module chunks = 0\n **/","'use strict';\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n */\n\n/*eslint-disable fb-www/unsafe-html */\n\nvar ExecutionEnvironment = require('./ExecutionEnvironment');\n\nvar invariant = require('./invariant');\n\n/**\n * Dummy container used to detect which wraps are necessary.\n */\nvar dummyNode = ExecutionEnvironment.canUseDOM ? document.createElement('div') : null;\n\n/**\n * Some browsers cannot use `innerHTML` to render certain elements standalone,\n * so we wrap them, render the wrapped nodes, then extract the desired node.\n *\n * In IE8, certain elements cannot render alone, so wrap all elements ('*').\n */\n\nvar shouldWrap = {};\n\nvar selectWrap = [1, '<select multiple=\"true\">', '</select>'];\nvar tableWrap = [1, '<table>', '</table>'];\nvar trWrap = [3, '<table><tbody><tr>', '</tr></tbody></table>'];\n\nvar svgWrap = [1, '<svg xmlns=\"http://www.w3.org/2000/svg\">', '</svg>'];\n\nvar markupWrap = {\n '*': [1, '?<div>', '</div>'],\n\n 'area': [1, '<map>', '</map>'],\n 'col': [2, '<table><tbody></tbody><colgroup>', '</colgroup></table>'],\n 'legend': [1, '<fieldset>', '</fieldset>'],\n 'param': [1, '<object>', '</object>'],\n 'tr': [2, '<table><tbody>', '</tbody></table>'],\n\n 'optgroup': selectWrap,\n 'option': selectWrap,\n\n 'caption': tableWrap,\n 'colgroup': tableWrap,\n 'tbody': tableWrap,\n 'tfoot': tableWrap,\n 'thead': tableWrap,\n\n 'td': trWrap,\n 'th': trWrap\n};\n\n// Initialize the SVG elements since we know they'll always need to be wrapped\n// consistently. If they are created inside a <div> they will be initialized in\n// the wrong namespace (and will not display).\nvar svgElements = ['circle', 'clipPath', 'defs', 'ellipse', 'g', 'image', 'line', 'linearGradient', 'mask', 'path', 'pattern', 'polygon', 'polyline', 'radialGradient', 'rect', 'stop', 'text', 'tspan'];\nsvgElements.forEach(function (nodeName) {\n markupWrap[nodeName] = svgWrap;\n shouldWrap[nodeName] = true;\n});\n\n/**\n * Gets the markup wrap configuration for the supplied `nodeName`.\n *\n * NOTE: This lazily detects which wraps are necessary for the current browser.\n *\n * @param {string} nodeName Lowercase `nodeName`.\n * @return {?array} Markup wrap configuration, if applicable.\n */\nfunction getMarkupWrap(nodeName) {\n !!!dummyNode ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Markup wrapping node not initialized') : invariant(false) : void 0;\n if (!markupWrap.hasOwnProperty(nodeName)) {\n nodeName = '*';\n }\n if (!shouldWrap.hasOwnProperty(nodeName)) {\n if (nodeName === '*') {\n dummyNode.innerHTML = '<link />';\n } else {\n dummyNode.innerHTML = '<' + nodeName + '></' + nodeName + '>';\n }\n shouldWrap[nodeName] = !dummyNode.firstChild;\n }\n return shouldWrap[nodeName] ? markupWrap[nodeName] : null;\n}\n\nmodule.exports = getMarkupWrap;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/fbjs/lib/getMarkupWrap.js\n ** module id = 418\n ** module chunks = 0\n **/","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @typechecks\n */\n\n'use strict';\n\n/**\n * Gets the scroll position of the supplied element or window.\n *\n * The return values are unbounded, unlike `getScrollPosition`. This means they\n * may be negative or exceed the element boundaries (which is possible using\n * inertial scrolling).\n *\n * @param {DOMWindow|DOMElement} scrollable\n * @return {object} Map with `x` and `y` keys.\n */\n\nfunction getUnboundedScrollPosition(scrollable) {\n if (scrollable === window) {\n return {\n x: window.pageXOffset || document.documentElement.scrollLeft,\n y: window.pageYOffset || document.documentElement.scrollTop\n };\n }\n return {\n x: scrollable.scrollLeft,\n y: scrollable.scrollTop\n };\n}\n\nmodule.exports = getUnboundedScrollPosition;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/fbjs/lib/getUnboundedScrollPosition.js\n ** module id = 419\n ** module chunks = 0\n **/","'use strict';\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @typechecks\n */\n\nvar _uppercasePattern = /([A-Z])/g;\n\n/**\n * Hyphenates a camelcased string, for example:\n *\n * > hyphenate('backgroundColor')\n * < \"background-color\"\n *\n * For CSS style names, use `hyphenateStyleName` instead which works properly\n * with all vendor prefixes, including `ms`.\n *\n * @param {string} string\n * @return {string}\n */\nfunction hyphenate(string) {\n return string.replace(_uppercasePattern, '-$1').toLowerCase();\n}\n\nmodule.exports = hyphenate;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/fbjs/lib/hyphenate.js\n ** module id = 420\n ** module chunks = 0\n **/","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @typechecks\n */\n\n'use strict';\n\nvar hyphenate = require('./hyphenate');\n\nvar msPattern = /^ms-/;\n\n/**\n * Hyphenates a camelcased CSS property name, for example:\n *\n * > hyphenateStyleName('backgroundColor')\n * < \"background-color\"\n * > hyphenateStyleName('MozTransition')\n * < \"-moz-transition\"\n * > hyphenateStyleName('msTransition')\n * < \"-ms-transition\"\n *\n * As Modernizr suggests (http://modernizr.com/docs/#prefixed), an `ms` prefix\n * is converted to `-ms-`.\n *\n * @param {string} string\n * @return {string}\n */\nfunction hyphenateStyleName(string) {\n return hyphenate(string).replace(msPattern, '-ms-');\n}\n\nmodule.exports = hyphenateStyleName;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/fbjs/lib/hyphenateStyleName.js\n ** module id = 421\n ** module chunks = 0\n **/","'use strict';\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @typechecks\n */\n\n/**\n * @param {*} object The object to check.\n * @return {boolean} Whether or not the object is a DOM node.\n */\nfunction isNode(object) {\n return !!(object && (typeof Node === 'function' ? object instanceof Node : typeof object === 'object' && typeof object.nodeType === 'number' && typeof object.nodeName === 'string'));\n}\n\nmodule.exports = isNode;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/fbjs/lib/isNode.js\n ** module id = 422\n ** module chunks = 0\n **/","'use strict';\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @typechecks\n */\n\nvar isNode = require('./isNode');\n\n/**\n * @param {*} object The object to check.\n * @return {boolean} Whether or not the object is a DOM text node.\n */\nfunction isTextNode(object) {\n return isNode(object) && object.nodeType == 3;\n}\n\nmodule.exports = isTextNode;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/fbjs/lib/isTextNode.js\n ** module id = 423\n ** module chunks = 0\n **/","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * \n * @typechecks static-only\n */\n\n'use strict';\n\n/**\n * Memoizes the return value of a function that accepts one string argument.\n */\n\nfunction memoizeStringOnly(callback) {\n var cache = {};\n return function (string) {\n if (!cache.hasOwnProperty(string)) {\n cache[string] = callback.call(this, string);\n }\n return cache[string];\n };\n}\n\nmodule.exports = memoizeStringOnly;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/fbjs/lib/memoizeStringOnly.js\n ** module id = 424\n ** module chunks = 0\n **/","module.exports = __webpack_public_path__ + \"c4c172d28f17a61e4476715c58640841.png\";\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/assets/images/logo-black-red.png\n ** module id = 425\n ** module chunks = 0\n **/","module.exports = __webpack_public_path__ + \"favicon.ico\";\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/assets/favicon.ico\n ** module id = 426\n ** module chunks = 0\n **/","\"use strict\";\n\nexports.__esModule = true;\nvar loopAsync = exports.loopAsync = function loopAsync(turns, work, callback) {\n var currentTurn = 0,\n isDone = false;\n var isSync = false,\n hasNext = false,\n doneArgs = void 0;\n\n var done = function done() {\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n isDone = true;\n\n if (isSync) {\n // Iterate instead of recursing if possible.\n doneArgs = args;\n return;\n }\n\n callback.apply(undefined, args);\n };\n\n var next = function next() {\n if (isDone) return;\n\n hasNext = true;\n\n if (isSync) return; // Iterate instead of recursing if possible.\n\n isSync = true;\n\n while (!isDone && currentTurn < turns && hasNext) {\n hasNext = false;\n work(currentTurn++, next, done);\n }\n\n isSync = false;\n\n if (isDone) {\n // This means the loop finished synchronously.\n callback.apply(undefined, doneArgs);\n return;\n }\n\n if (currentTurn >= turns && hasNext) {\n isDone = true;\n callback();\n }\n };\n\n next();\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/history/lib/AsyncUtils.js\n ** module id = 427\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\nexports.replaceLocation = exports.pushLocation = exports.startListener = exports.getCurrentLocation = exports.go = exports.getUserConfirmation = undefined;\n\nvar _BrowserProtocol = require('./BrowserProtocol');\n\nObject.defineProperty(exports, 'getUserConfirmation', {\n enumerable: true,\n get: function get() {\n return _BrowserProtocol.getUserConfirmation;\n }\n});\nObject.defineProperty(exports, 'go', {\n enumerable: true,\n get: function get() {\n return _BrowserProtocol.go;\n }\n});\n\nvar _warning = require('warning');\n\nvar _warning2 = _interopRequireDefault(_warning);\n\nvar _LocationUtils = require('./LocationUtils');\n\nvar _DOMUtils = require('./DOMUtils');\n\nvar _DOMStateStorage = require('./DOMStateStorage');\n\nvar _PathUtils = require('./PathUtils');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar HashChangeEvent = 'hashchange';\n\nvar getHashPath = function getHashPath() {\n // We can't use window.location.hash here because it's not\n // consistent across browsers - Firefox will pre-decode it!\n var href = window.location.href;\n var hashIndex = href.indexOf('#');\n return hashIndex === -1 ? '' : href.substring(hashIndex + 1);\n};\n\nvar pushHashPath = function pushHashPath(path) {\n return window.location.hash = path;\n};\n\nvar replaceHashPath = function replaceHashPath(path) {\n var hashIndex = window.location.href.indexOf('#');\n\n window.location.replace(window.location.href.slice(0, hashIndex >= 0 ? hashIndex : 0) + '#' + path);\n};\n\nvar getCurrentLocation = exports.getCurrentLocation = function getCurrentLocation(pathCoder, queryKey) {\n var path = pathCoder.decodePath(getHashPath());\n var key = (0, _PathUtils.getQueryStringValueFromPath)(path, queryKey);\n\n var state = void 0;\n if (key) {\n path = (0, _PathUtils.stripQueryStringValueFromPath)(path, queryKey);\n state = (0, _DOMStateStorage.readState)(key);\n }\n\n var init = (0, _PathUtils.parsePath)(path);\n init.state = state;\n\n return (0, _LocationUtils.createLocation)(init, undefined, key);\n};\n\nvar prevLocation = void 0;\n\nvar startListener = exports.startListener = function startListener(listener, pathCoder, queryKey) {\n var handleHashChange = function handleHashChange() {\n var path = getHashPath();\n var encodedPath = pathCoder.encodePath(path);\n\n if (path !== encodedPath) {\n // Always be sure we have a properly-encoded hash.\n replaceHashPath(encodedPath);\n } else {\n var currentLocation = getCurrentLocation(pathCoder, queryKey);\n\n if (prevLocation && currentLocation.key && prevLocation.key === currentLocation.key) return; // Ignore extraneous hashchange events\n\n prevLocation = currentLocation;\n\n listener(currentLocation);\n }\n };\n\n // Ensure the hash is encoded properly.\n var path = getHashPath();\n var encodedPath = pathCoder.encodePath(path);\n\n if (path !== encodedPath) replaceHashPath(encodedPath);\n\n (0, _DOMUtils.addEventListener)(window, HashChangeEvent, handleHashChange);\n\n return function () {\n return (0, _DOMUtils.removeEventListener)(window, HashChangeEvent, handleHashChange);\n };\n};\n\nvar updateLocation = function updateLocation(location, pathCoder, queryKey, updateHash) {\n var state = location.state;\n var key = location.key;\n\n\n var path = pathCoder.encodePath((0, _PathUtils.createPath)(location));\n\n if (state !== undefined) {\n path = (0, _PathUtils.addQueryStringValueToPath)(path, queryKey, key);\n (0, _DOMStateStorage.saveState)(key, state);\n }\n\n prevLocation = location;\n\n updateHash(path);\n};\n\nvar pushLocation = exports.pushLocation = function pushLocation(location, pathCoder, queryKey) {\n return updateLocation(location, pathCoder, queryKey, function (path) {\n if (getHashPath() !== path) {\n pushHashPath(path);\n } else {\n process.env.NODE_ENV !== 'production' ? (0, _warning2.default)(false, 'You cannot PUSH the same path using hash history') : void 0;\n }\n });\n};\n\nvar replaceLocation = exports.replaceLocation = function replaceLocation(location, pathCoder, queryKey) {\n return updateLocation(location, pathCoder, queryKey, function (path) {\n if (getHashPath() !== path) replaceHashPath(path);\n });\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/history/lib/HashProtocol.js\n ** module id = 428\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\nexports.replaceLocation = exports.pushLocation = exports.getCurrentLocation = exports.go = exports.getUserConfirmation = undefined;\n\nvar _BrowserProtocol = require('./BrowserProtocol');\n\nObject.defineProperty(exports, 'getUserConfirmation', {\n enumerable: true,\n get: function get() {\n return _BrowserProtocol.getUserConfirmation;\n }\n});\nObject.defineProperty(exports, 'go', {\n enumerable: true,\n get: function get() {\n return _BrowserProtocol.go;\n }\n});\n\nvar _LocationUtils = require('./LocationUtils');\n\nvar _PathUtils = require('./PathUtils');\n\nvar getCurrentLocation = exports.getCurrentLocation = function getCurrentLocation() {\n return (0, _LocationUtils.createLocation)(window.location);\n};\n\nvar pushLocation = exports.pushLocation = function pushLocation(location) {\n window.location.href = (0, _PathUtils.createPath)(location);\n return false; // Don't update location\n};\n\nvar replaceLocation = exports.replaceLocation = function replaceLocation(location) {\n window.location.replace((0, _PathUtils.createPath)(location));\n return false; // Don't update location\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/history/lib/RefreshProtocol.js\n ** module id = 429\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _invariant = require('invariant');\n\nvar _invariant2 = _interopRequireDefault(_invariant);\n\nvar _ExecutionEnvironment = require('./ExecutionEnvironment');\n\nvar _BrowserProtocol = require('./BrowserProtocol');\n\nvar BrowserProtocol = _interopRequireWildcard(_BrowserProtocol);\n\nvar _RefreshProtocol = require('./RefreshProtocol');\n\nvar RefreshProtocol = _interopRequireWildcard(_RefreshProtocol);\n\nvar _DOMUtils = require('./DOMUtils');\n\nvar _createHistory = require('./createHistory');\n\nvar _createHistory2 = _interopRequireDefault(_createHistory);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * Creates and returns a history object that uses HTML5's history API\n * (pushState, replaceState, and the popstate event) to manage history.\n * This is the recommended method of managing history in browsers because\n * it provides the cleanest URLs.\n *\n * Note: In browsers that do not support the HTML5 history API full\n * page reloads will be used to preserve clean URLs. You can force this\n * behavior using { forceRefresh: true } in options.\n */\nvar createBrowserHistory = function createBrowserHistory() {\n var options = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];\n\n !_ExecutionEnvironment.canUseDOM ? process.env.NODE_ENV !== 'production' ? (0, _invariant2.default)(false, 'Browser history needs a DOM') : (0, _invariant2.default)(false) : void 0;\n\n var useRefresh = options.forceRefresh || !(0, _DOMUtils.supportsHistory)();\n var Protocol = useRefresh ? RefreshProtocol : BrowserProtocol;\n\n var getUserConfirmation = Protocol.getUserConfirmation;\n var getCurrentLocation = Protocol.getCurrentLocation;\n var pushLocation = Protocol.pushLocation;\n var replaceLocation = Protocol.replaceLocation;\n var go = Protocol.go;\n\n\n var history = (0, _createHistory2.default)(_extends({\n getUserConfirmation: getUserConfirmation }, options, {\n getCurrentLocation: getCurrentLocation,\n pushLocation: pushLocation,\n replaceLocation: replaceLocation,\n go: go\n }));\n\n var listenerCount = 0,\n stopListener = void 0;\n\n var startListener = function startListener(listener, before) {\n if (++listenerCount === 1) stopListener = BrowserProtocol.startListener(history.transitionTo);\n\n var unlisten = before ? history.listenBefore(listener) : history.listen(listener);\n\n return function () {\n unlisten();\n\n if (--listenerCount === 0) stopListener();\n };\n };\n\n var listenBefore = function listenBefore(listener) {\n return startListener(listener, true);\n };\n\n var listen = function listen(listener) {\n return startListener(listener, false);\n };\n\n return _extends({}, history, {\n listenBefore: listenBefore,\n listen: listen\n });\n};\n\nexports.default = createBrowserHistory;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/history/lib/createBrowserHistory.js\n ** module id = 430\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _warning = require('warning');\n\nvar _warning2 = _interopRequireDefault(_warning);\n\nvar _invariant = require('invariant');\n\nvar _invariant2 = _interopRequireDefault(_invariant);\n\nvar _ExecutionEnvironment = require('./ExecutionEnvironment');\n\nvar _DOMUtils = require('./DOMUtils');\n\nvar _HashProtocol = require('./HashProtocol');\n\nvar HashProtocol = _interopRequireWildcard(_HashProtocol);\n\nvar _createHistory = require('./createHistory');\n\nvar _createHistory2 = _interopRequireDefault(_createHistory);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar DefaultQueryKey = '_k';\n\nvar addLeadingSlash = function addLeadingSlash(path) {\n return path.charAt(0) === '/' ? path : '/' + path;\n};\n\nvar HashPathCoders = {\n hashbang: {\n encodePath: function encodePath(path) {\n return path.charAt(0) === '!' ? path : '!' + path;\n },\n decodePath: function decodePath(path) {\n return path.charAt(0) === '!' ? path.substring(1) : path;\n }\n },\n noslash: {\n encodePath: function encodePath(path) {\n return path.charAt(0) === '/' ? path.substring(1) : path;\n },\n decodePath: addLeadingSlash\n },\n slash: {\n encodePath: addLeadingSlash,\n decodePath: addLeadingSlash\n }\n};\n\nvar createHashHistory = function createHashHistory() {\n var options = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];\n\n !_ExecutionEnvironment.canUseDOM ? process.env.NODE_ENV !== 'production' ? (0, _invariant2.default)(false, 'Hash history needs a DOM') : (0, _invariant2.default)(false) : void 0;\n\n var queryKey = options.queryKey;\n var hashType = options.hashType;\n\n\n process.env.NODE_ENV !== 'production' ? (0, _warning2.default)(queryKey !== false, 'Using { queryKey: false } no longer works. Instead, just don\\'t ' + 'use location state if you don\\'t want a key in your URL query string') : void 0;\n\n if (typeof queryKey !== 'string') queryKey = DefaultQueryKey;\n\n if (hashType == null) hashType = 'slash';\n\n if (!(hashType in HashPathCoders)) {\n process.env.NODE_ENV !== 'production' ? (0, _warning2.default)(false, 'Invalid hash type: %s', hashType) : void 0;\n\n hashType = 'slash';\n }\n\n var pathCoder = HashPathCoders[hashType];\n\n var getUserConfirmation = HashProtocol.getUserConfirmation;\n\n\n var getCurrentLocation = function getCurrentLocation() {\n return HashProtocol.getCurrentLocation(pathCoder, queryKey);\n };\n\n var pushLocation = function pushLocation(location) {\n return HashProtocol.pushLocation(location, pathCoder, queryKey);\n };\n\n var replaceLocation = function replaceLocation(location) {\n return HashProtocol.replaceLocation(location, pathCoder, queryKey);\n };\n\n var history = (0, _createHistory2.default)(_extends({\n getUserConfirmation: getUserConfirmation }, options, {\n getCurrentLocation: getCurrentLocation,\n pushLocation: pushLocation,\n replaceLocation: replaceLocation,\n go: HashProtocol.go\n }));\n\n var listenerCount = 0,\n stopListener = void 0;\n\n var startListener = function startListener(listener, before) {\n if (++listenerCount === 1) stopListener = HashProtocol.startListener(history.transitionTo, pathCoder, queryKey);\n\n var unlisten = before ? history.listenBefore(listener) : history.listen(listener);\n\n return function () {\n unlisten();\n\n if (--listenerCount === 0) stopListener();\n };\n };\n\n var listenBefore = function listenBefore(listener) {\n return startListener(listener, true);\n };\n\n var listen = function listen(listener) {\n return startListener(listener, false);\n };\n\n var goIsSupportedWithoutReload = (0, _DOMUtils.supportsGoWithoutReloadUsingHash)();\n\n var go = function go(n) {\n process.env.NODE_ENV !== 'production' ? (0, _warning2.default)(goIsSupportedWithoutReload, 'Hash history go(n) causes a full page reload in this browser') : void 0;\n\n history.go(n);\n };\n\n var createHref = function createHref(path) {\n return '#' + pathCoder.encodePath(history.createHref(path));\n };\n\n return _extends({}, history, {\n listenBefore: listenBefore,\n listen: listen,\n go: go,\n createHref: createHref\n });\n};\n\nexports.default = createHashHistory;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/history/lib/createHashHistory.js\n ** module id = 431\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _warning = require('warning');\n\nvar _warning2 = _interopRequireDefault(_warning);\n\nvar _invariant = require('invariant');\n\nvar _invariant2 = _interopRequireDefault(_invariant);\n\nvar _LocationUtils = require('./LocationUtils');\n\nvar _PathUtils = require('./PathUtils');\n\nvar _createHistory = require('./createHistory');\n\nvar _createHistory2 = _interopRequireDefault(_createHistory);\n\nvar _Actions = require('./Actions');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar createStateStorage = function createStateStorage(entries) {\n return entries.filter(function (entry) {\n return entry.state;\n }).reduce(function (memo, entry) {\n memo[entry.key] = entry.state;\n return memo;\n }, {});\n};\n\nvar createMemoryHistory = function createMemoryHistory() {\n var options = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];\n\n if (Array.isArray(options)) {\n options = { entries: options };\n } else if (typeof options === 'string') {\n options = { entries: [options] };\n }\n\n var getCurrentLocation = function getCurrentLocation() {\n var entry = entries[current];\n var path = (0, _PathUtils.createPath)(entry);\n\n var key = void 0,\n state = void 0;\n if (entry.key) {\n key = entry.key;\n state = readState(key);\n }\n\n var init = (0, _PathUtils.parsePath)(path);\n\n return (0, _LocationUtils.createLocation)(_extends({}, init, { state: state }), undefined, key);\n };\n\n var canGo = function canGo(n) {\n var index = current + n;\n return index >= 0 && index < entries.length;\n };\n\n var go = function go(n) {\n if (!n) return;\n\n if (!canGo(n)) {\n process.env.NODE_ENV !== 'production' ? (0, _warning2.default)(false, 'Cannot go(%s) there is not enough history', n) : void 0;\n\n return;\n }\n\n current += n;\n var currentLocation = getCurrentLocation();\n\n // Change action to POP\n history.transitionTo(_extends({}, currentLocation, { action: _Actions.POP }));\n };\n\n var pushLocation = function pushLocation(location) {\n current += 1;\n\n if (current < entries.length) entries.splice(current);\n\n entries.push(location);\n\n saveState(location.key, location.state);\n };\n\n var replaceLocation = function replaceLocation(location) {\n entries[current] = location;\n saveState(location.key, location.state);\n };\n\n var history = (0, _createHistory2.default)(_extends({}, options, {\n getCurrentLocation: getCurrentLocation,\n pushLocation: pushLocation,\n replaceLocation: replaceLocation,\n go: go\n }));\n\n var _options = options;\n var entries = _options.entries;\n var current = _options.current;\n\n\n if (typeof entries === 'string') {\n entries = [entries];\n } else if (!Array.isArray(entries)) {\n entries = ['/'];\n }\n\n entries = entries.map(function (entry) {\n return (0, _LocationUtils.createLocation)(entry);\n });\n\n if (current == null) {\n current = entries.length - 1;\n } else {\n !(current >= 0 && current < entries.length) ? process.env.NODE_ENV !== 'production' ? (0, _invariant2.default)(false, 'Current index must be >= 0 and < %s, was %s', entries.length, current) : (0, _invariant2.default)(false) : void 0;\n }\n\n var storage = createStateStorage(entries);\n\n var saveState = function saveState(key, state) {\n return storage[key] = state;\n };\n\n var readState = function readState(key) {\n return storage[key];\n };\n\n return _extends({}, history, {\n canGo: canGo\n });\n};\n\nexports.default = createMemoryHistory;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/history/lib/createMemoryHistory.js\n ** module id = 432\n ** module chunks = 0\n **/","exports.read = function (buffer, offset, isLE, mLen, nBytes) {\n var e, m\n var eLen = nBytes * 8 - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var nBits = -7\n var i = isLE ? (nBytes - 1) : 0\n var d = isLE ? -1 : 1\n var s = buffer[offset + i]\n\n i += d\n\n e = s & ((1 << (-nBits)) - 1)\n s >>= (-nBits)\n nBits += eLen\n for (; nBits > 0; e = e * 256 + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & ((1 << (-nBits)) - 1)\n e >>= (-nBits)\n nBits += mLen\n for (; nBits > 0; m = m * 256 + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias\n } else if (e === eMax) {\n return m ? NaN : ((s ? -1 : 1) * Infinity)\n } else {\n m = m + Math.pow(2, mLen)\n e = e - eBias\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n}\n\nexports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c\n var eLen = nBytes * 8 - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)\n var i = isLE ? 0 : (nBytes - 1)\n var d = isLE ? 1 : -1\n var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0\n\n value = Math.abs(value)\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0\n e = eMax\n } else {\n e = Math.floor(Math.log(value) / Math.LN2)\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--\n c *= 2\n }\n if (e + eBias >= 1) {\n value += rt / c\n } else {\n value += rt * Math.pow(2, 1 - eBias)\n }\n if (value * c >= 2) {\n e++\n c /= 2\n }\n\n if (e + eBias >= eMax) {\n m = 0\n e = eMax\n } else if (e + eBias >= 1) {\n m = (value * c - 1) * Math.pow(2, mLen)\n e = e + eBias\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)\n e = 0\n }\n }\n\n for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n e = (e << mLen) | m\n eLen += mLen\n for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n buffer[offset + i - d] |= s * 128\n}\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/ieee754/index.js\n ** module id = 433\n ** module chunks = 0\n **/","var toString = {}.toString;\n\nmodule.exports = Array.isArray || function (arr) {\n return toString.call(arr) == '[object Array]';\n};\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/isarray/index.js\n ** module id = 434\n ** module chunks = 0\n **/","// the whatwg-fetch polyfill installs the fetch() function\n// on the global object (window or self)\n//\n// Return that as the export for use in Webpack, Browserify etc.\nrequire('whatwg-fetch');\nmodule.exports = self.fetch.bind(self);\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/isomorphic-fetch/fetch-npm-browserify.js\n ** module id = 435\n ** module chunks = 0\n **/","'use strict';\n\n\nvar yaml = require('./lib/js-yaml.js');\n\n\nmodule.exports = yaml;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/js-yaml/index.js\n ** module id = 436\n ** module chunks = 0\n **/","'use strict';\n\n\nvar loader = require('./js-yaml/loader');\nvar dumper = require('./js-yaml/dumper');\n\n\nfunction deprecated(name) {\n return function () {\n throw new Error('Function ' + name + ' is deprecated and cannot be used.');\n };\n}\n\n\nmodule.exports.Type = require('./js-yaml/type');\nmodule.exports.Schema = require('./js-yaml/schema');\nmodule.exports.FAILSAFE_SCHEMA = require('./js-yaml/schema/failsafe');\nmodule.exports.JSON_SCHEMA = require('./js-yaml/schema/json');\nmodule.exports.CORE_SCHEMA = require('./js-yaml/schema/core');\nmodule.exports.DEFAULT_SAFE_SCHEMA = require('./js-yaml/schema/default_safe');\nmodule.exports.DEFAULT_FULL_SCHEMA = require('./js-yaml/schema/default_full');\nmodule.exports.load = loader.load;\nmodule.exports.loadAll = loader.loadAll;\nmodule.exports.safeLoad = loader.safeLoad;\nmodule.exports.safeLoadAll = loader.safeLoadAll;\nmodule.exports.dump = dumper.dump;\nmodule.exports.safeDump = dumper.safeDump;\nmodule.exports.YAMLException = require('./js-yaml/exception');\n\n// Deprecated schema names from JS-YAML 2.0.x\nmodule.exports.MINIMAL_SCHEMA = require('./js-yaml/schema/failsafe');\nmodule.exports.SAFE_SCHEMA = require('./js-yaml/schema/default_safe');\nmodule.exports.DEFAULT_SCHEMA = require('./js-yaml/schema/default_full');\n\n// Deprecated functions from JS-YAML 1.x.x\nmodule.exports.scan = deprecated('scan');\nmodule.exports.parse = deprecated('parse');\nmodule.exports.compose = deprecated('compose');\nmodule.exports.addConstructor = deprecated('addConstructor');\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/js-yaml/lib/js-yaml.js\n ** module id = 437\n ** module chunks = 0\n **/","'use strict';\n\n/*eslint-disable no-use-before-define*/\n\nvar common = require('./common');\nvar YAMLException = require('./exception');\nvar DEFAULT_FULL_SCHEMA = require('./schema/default_full');\nvar DEFAULT_SAFE_SCHEMA = require('./schema/default_safe');\n\nvar _toString = Object.prototype.toString;\nvar _hasOwnProperty = Object.prototype.hasOwnProperty;\n\nvar CHAR_TAB = 0x09; /* Tab */\nvar CHAR_LINE_FEED = 0x0A; /* LF */\nvar CHAR_SPACE = 0x20; /* Space */\nvar CHAR_EXCLAMATION = 0x21; /* ! */\nvar CHAR_DOUBLE_QUOTE = 0x22; /* \" */\nvar CHAR_SHARP = 0x23; /* # */\nvar CHAR_PERCENT = 0x25; /* % */\nvar CHAR_AMPERSAND = 0x26; /* & */\nvar CHAR_SINGLE_QUOTE = 0x27; /* ' */\nvar CHAR_ASTERISK = 0x2A; /* * */\nvar CHAR_COMMA = 0x2C; /* , */\nvar CHAR_MINUS = 0x2D; /* - */\nvar CHAR_COLON = 0x3A; /* : */\nvar CHAR_GREATER_THAN = 0x3E; /* > */\nvar CHAR_QUESTION = 0x3F; /* ? */\nvar CHAR_COMMERCIAL_AT = 0x40; /* @ */\nvar CHAR_LEFT_SQUARE_BRACKET = 0x5B; /* [ */\nvar CHAR_RIGHT_SQUARE_BRACKET = 0x5D; /* ] */\nvar CHAR_GRAVE_ACCENT = 0x60; /* ` */\nvar CHAR_LEFT_CURLY_BRACKET = 0x7B; /* { */\nvar CHAR_VERTICAL_LINE = 0x7C; /* | */\nvar CHAR_RIGHT_CURLY_BRACKET = 0x7D; /* } */\n\nvar ESCAPE_SEQUENCES = {};\n\nESCAPE_SEQUENCES[0x00] = '\\\\0';\nESCAPE_SEQUENCES[0x07] = '\\\\a';\nESCAPE_SEQUENCES[0x08] = '\\\\b';\nESCAPE_SEQUENCES[0x09] = '\\\\t';\nESCAPE_SEQUENCES[0x0A] = '\\\\n';\nESCAPE_SEQUENCES[0x0B] = '\\\\v';\nESCAPE_SEQUENCES[0x0C] = '\\\\f';\nESCAPE_SEQUENCES[0x0D] = '\\\\r';\nESCAPE_SEQUENCES[0x1B] = '\\\\e';\nESCAPE_SEQUENCES[0x22] = '\\\\\"';\nESCAPE_SEQUENCES[0x5C] = '\\\\\\\\';\nESCAPE_SEQUENCES[0x85] = '\\\\N';\nESCAPE_SEQUENCES[0xA0] = '\\\\_';\nESCAPE_SEQUENCES[0x2028] = '\\\\L';\nESCAPE_SEQUENCES[0x2029] = '\\\\P';\n\nvar DEPRECATED_BOOLEANS_SYNTAX = [\n 'y', 'Y', 'yes', 'Yes', 'YES', 'on', 'On', 'ON',\n 'n', 'N', 'no', 'No', 'NO', 'off', 'Off', 'OFF'\n];\n\nfunction compileStyleMap(schema, map) {\n var result, keys, index, length, tag, style, type;\n\n if (map === null) return {};\n\n result = {};\n keys = Object.keys(map);\n\n for (index = 0, length = keys.length; index < length; index += 1) {\n tag = keys[index];\n style = String(map[tag]);\n\n if (tag.slice(0, 2) === '!!') {\n tag = 'tag:yaml.org,2002:' + tag.slice(2);\n }\n type = schema.compiledTypeMap['fallback'][tag];\n\n if (type && _hasOwnProperty.call(type.styleAliases, style)) {\n style = type.styleAliases[style];\n }\n\n result[tag] = style;\n }\n\n return result;\n}\n\nfunction encodeHex(character) {\n var string, handle, length;\n\n string = character.toString(16).toUpperCase();\n\n if (character <= 0xFF) {\n handle = 'x';\n length = 2;\n } else if (character <= 0xFFFF) {\n handle = 'u';\n length = 4;\n } else if (character <= 0xFFFFFFFF) {\n handle = 'U';\n length = 8;\n } else {\n throw new YAMLException('code point within a string may not be greater than 0xFFFFFFFF');\n }\n\n return '\\\\' + handle + common.repeat('0', length - string.length) + string;\n}\n\nfunction State(options) {\n this.schema = options['schema'] || DEFAULT_FULL_SCHEMA;\n this.indent = Math.max(1, (options['indent'] || 2));\n this.skipInvalid = options['skipInvalid'] || false;\n this.flowLevel = (common.isNothing(options['flowLevel']) ? -1 : options['flowLevel']);\n this.styleMap = compileStyleMap(this.schema, options['styles'] || null);\n this.sortKeys = options['sortKeys'] || false;\n this.lineWidth = options['lineWidth'] || 80;\n this.noRefs = options['noRefs'] || false;\n this.noCompatMode = options['noCompatMode'] || false;\n\n this.implicitTypes = this.schema.compiledImplicit;\n this.explicitTypes = this.schema.compiledExplicit;\n\n this.tag = null;\n this.result = '';\n\n this.duplicates = [];\n this.usedDuplicates = null;\n}\n\n// Indents every line in a string. Empty lines (\\n only) are not indented.\nfunction indentString(string, spaces) {\n var ind = common.repeat(' ', spaces),\n position = 0,\n next = -1,\n result = '',\n line,\n length = string.length;\n\n while (position < length) {\n next = string.indexOf('\\n', position);\n if (next === -1) {\n line = string.slice(position);\n position = length;\n } else {\n line = string.slice(position, next + 1);\n position = next + 1;\n }\n\n if (line.length && line !== '\\n') result += ind;\n\n result += line;\n }\n\n return result;\n}\n\nfunction generateNextLine(state, level) {\n return '\\n' + common.repeat(' ', state.indent * level);\n}\n\nfunction testImplicitResolving(state, str) {\n var index, length, type;\n\n for (index = 0, length = state.implicitTypes.length; index < length; index += 1) {\n type = state.implicitTypes[index];\n\n if (type.resolve(str)) {\n return true;\n }\n }\n\n return false;\n}\n\n// [33] s-white ::= s-space | s-tab\nfunction isWhitespace(c) {\n return c === CHAR_SPACE || c === CHAR_TAB;\n}\n\n// Returns true if the character can be printed without escaping.\n// From YAML 1.2: \"any allowed characters known to be non-printable\n// should also be escaped. [However,] This isn’t mandatory\"\n// Derived from nb-char - \\t - #x85 - #xA0 - #x2028 - #x2029.\nfunction isPrintable(c) {\n return (0x00020 <= c && c <= 0x00007E)\n || ((0x000A1 <= c && c <= 0x00D7FF) && c !== 0x2028 && c !== 0x2029)\n || ((0x0E000 <= c && c <= 0x00FFFD) && c !== 0xFEFF /* BOM */)\n || (0x10000 <= c && c <= 0x10FFFF);\n}\n\n// Simplified test for values allowed after the first character in plain style.\nfunction isPlainSafe(c) {\n // Uses a subset of nb-char - c-flow-indicator - \":\" - \"#\"\n // where nb-char ::= c-printable - b-char - c-byte-order-mark.\n return isPrintable(c) && c !== 0xFEFF\n // - c-flow-indicator\n && c !== CHAR_COMMA\n && c !== CHAR_LEFT_SQUARE_BRACKET\n && c !== CHAR_RIGHT_SQUARE_BRACKET\n && c !== CHAR_LEFT_CURLY_BRACKET\n && c !== CHAR_RIGHT_CURLY_BRACKET\n // - \":\" - \"#\"\n && c !== CHAR_COLON\n && c !== CHAR_SHARP;\n}\n\n// Simplified test for values allowed as the first character in plain style.\nfunction isPlainSafeFirst(c) {\n // Uses a subset of ns-char - c-indicator\n // where ns-char = nb-char - s-white.\n return isPrintable(c) && c !== 0xFEFF\n && !isWhitespace(c) // - s-white\n // - (c-indicator ::=\n // “-” | “?” | “:” | “,” | “[” | “]” | “{” | “}”\n && c !== CHAR_MINUS\n && c !== CHAR_QUESTION\n && c !== CHAR_COLON\n && c !== CHAR_COMMA\n && c !== CHAR_LEFT_SQUARE_BRACKET\n && c !== CHAR_RIGHT_SQUARE_BRACKET\n && c !== CHAR_LEFT_CURLY_BRACKET\n && c !== CHAR_RIGHT_CURLY_BRACKET\n // | “#” | “&” | “*” | “!” | “|” | “>” | “'” | “\"”\n && c !== CHAR_SHARP\n && c !== CHAR_AMPERSAND\n && c !== CHAR_ASTERISK\n && c !== CHAR_EXCLAMATION\n && c !== CHAR_VERTICAL_LINE\n && c !== CHAR_GREATER_THAN\n && c !== CHAR_SINGLE_QUOTE\n && c !== CHAR_DOUBLE_QUOTE\n // | “%” | “@” | “`”)\n && c !== CHAR_PERCENT\n && c !== CHAR_COMMERCIAL_AT\n && c !== CHAR_GRAVE_ACCENT;\n}\n\nvar STYLE_PLAIN = 1,\n STYLE_SINGLE = 2,\n STYLE_LITERAL = 3,\n STYLE_FOLDED = 4,\n STYLE_DOUBLE = 5;\n\n// Determines which scalar styles are possible and returns the preferred style.\n// lineWidth = -1 => no limit.\n// Pre-conditions: str.length > 0.\n// Post-conditions:\n// STYLE_PLAIN or STYLE_SINGLE => no \\n are in the string.\n// STYLE_LITERAL => no lines are suitable for folding (or lineWidth is -1).\n// STYLE_FOLDED => a line > lineWidth and can be folded (and lineWidth != -1).\nfunction chooseScalarStyle(string, singleLineOnly, indentPerLevel, lineWidth, testAmbiguousType) {\n var i;\n var char;\n var hasLineBreak = false;\n var hasFoldableLine = false; // only checked if shouldTrackWidth\n var shouldTrackWidth = lineWidth !== -1;\n var previousLineBreak = -1; // count the first line correctly\n var plain = isPlainSafeFirst(string.charCodeAt(0))\n && !isWhitespace(string.charCodeAt(string.length - 1));\n\n if (singleLineOnly) {\n // Case: no block styles.\n // Check for disallowed characters to rule out plain and single.\n for (i = 0; i < string.length; i++) {\n char = string.charCodeAt(i);\n if (!isPrintable(char)) {\n return STYLE_DOUBLE;\n }\n plain = plain && isPlainSafe(char);\n }\n } else {\n // Case: block styles permitted.\n for (i = 0; i < string.length; i++) {\n char = string.charCodeAt(i);\n if (char === CHAR_LINE_FEED) {\n hasLineBreak = true;\n // Check if any line can be folded.\n if (shouldTrackWidth) {\n hasFoldableLine = hasFoldableLine ||\n // Foldable line = too long, and not more-indented.\n (i - previousLineBreak - 1 > lineWidth &&\n string[previousLineBreak + 1] !== ' ');\n previousLineBreak = i;\n }\n } else if (!isPrintable(char)) {\n return STYLE_DOUBLE;\n }\n plain = plain && isPlainSafe(char);\n }\n // in case the end is missing a \\n\n hasFoldableLine = hasFoldableLine || (shouldTrackWidth &&\n (i - previousLineBreak - 1 > lineWidth &&\n string[previousLineBreak + 1] !== ' '));\n }\n // Although every style can represent \\n without escaping, prefer block styles\n // for multiline, since they're more readable and they don't add empty lines.\n // Also prefer folding a super-long line.\n if (!hasLineBreak && !hasFoldableLine) {\n // Strings interpretable as another type have to be quoted;\n // e.g. the string 'true' vs. the boolean true.\n return plain && !testAmbiguousType(string)\n ? STYLE_PLAIN : STYLE_SINGLE;\n }\n // Edge case: block indentation indicator can only have one digit.\n if (string[0] === ' ' && indentPerLevel > 9) {\n return STYLE_DOUBLE;\n }\n // At this point we know block styles are valid.\n // Prefer literal style unless we want to fold.\n return hasFoldableLine ? STYLE_FOLDED : STYLE_LITERAL;\n}\n\n// Note: line breaking/folding is implemented for only the folded style.\n// NB. We drop the last trailing newline (if any) of a returned block scalar\n// since the dumper adds its own newline. This always works:\n// • No ending newline => unaffected; already using strip \"-\" chomping.\n// • Ending newline => removed then restored.\n// Importantly, this keeps the \"+\" chomp indicator from gaining an extra line.\nfunction writeScalar(state, string, level, iskey) {\n state.dump = (function () {\n if (string.length === 0) {\n return \"''\";\n }\n if (!state.noCompatMode &&\n DEPRECATED_BOOLEANS_SYNTAX.indexOf(string) !== -1) {\n return \"'\" + string + \"'\";\n }\n\n var indent = state.indent * Math.max(1, level); // no 0-indent scalars\n // As indentation gets deeper, let the width decrease monotonically\n // to the lower bound min(state.lineWidth, 40).\n // Note that this implies\n // state.lineWidth ≤ 40 + state.indent: width is fixed at the lower bound.\n // state.lineWidth > 40 + state.indent: width decreases until the lower bound.\n // This behaves better than a constant minimum width which disallows narrower options,\n // or an indent threshold which causes the width to suddenly increase.\n var lineWidth = state.lineWidth === -1\n ? -1 : Math.max(Math.min(state.lineWidth, 40), state.lineWidth - indent);\n\n // Without knowing if keys are implicit/explicit, assume implicit for safety.\n var singleLineOnly = iskey\n // No block styles in flow mode.\n || (state.flowLevel > -1 && level >= state.flowLevel);\n function testAmbiguity(string) {\n return testImplicitResolving(state, string);\n }\n\n switch (chooseScalarStyle(string, singleLineOnly, state.indent, lineWidth, testAmbiguity)) {\n case STYLE_PLAIN:\n return string;\n case STYLE_SINGLE:\n return \"'\" + string.replace(/'/g, \"''\") + \"'\";\n case STYLE_LITERAL:\n return '|' + blockHeader(string, state.indent)\n + dropEndingNewline(indentString(string, indent));\n case STYLE_FOLDED:\n return '>' + blockHeader(string, state.indent)\n + dropEndingNewline(indentString(foldString(string, lineWidth), indent));\n case STYLE_DOUBLE:\n return '\"' + escapeString(string, lineWidth) + '\"';\n default:\n throw new YAMLException('impossible error: invalid scalar style');\n }\n }());\n}\n\n// Pre-conditions: string is valid for a block scalar, 1 <= indentPerLevel <= 9.\nfunction blockHeader(string, indentPerLevel) {\n var indentIndicator = (string[0] === ' ') ? String(indentPerLevel) : '';\n\n // note the special case: the string '\\n' counts as a \"trailing\" empty line.\n var clip = string[string.length - 1] === '\\n';\n var keep = clip && (string[string.length - 2] === '\\n' || string === '\\n');\n var chomp = keep ? '+' : (clip ? '' : '-');\n\n return indentIndicator + chomp + '\\n';\n}\n\n// (See the note for writeScalar.)\nfunction dropEndingNewline(string) {\n return string[string.length - 1] === '\\n' ? string.slice(0, -1) : string;\n}\n\n// Note: a long line without a suitable break point will exceed the width limit.\n// Pre-conditions: every char in str isPrintable, str.length > 0, width > 0.\nfunction foldString(string, width) {\n // In folded style, $k$ consecutive newlines output as $k+1$ newlines—\n // unless they're before or after a more-indented line, or at the very\n // beginning or end, in which case $k$ maps to $k$.\n // Therefore, parse each chunk as newline(s) followed by a content line.\n var lineRe = /(\\n+)([^\\n]*)/g;\n\n // first line (possibly an empty line)\n var result = (function () {\n var nextLF = string.indexOf('\\n');\n nextLF = nextLF !== -1 ? nextLF : string.length;\n lineRe.lastIndex = nextLF;\n return foldLine(string.slice(0, nextLF), width);\n }());\n // If we haven't reached the first content line yet, don't add an extra \\n.\n var prevMoreIndented = string[0] === '\\n' || string[0] === ' ';\n var moreIndented;\n\n // rest of the lines\n var match;\n while ((match = lineRe.exec(string))) {\n var prefix = match[1], line = match[2];\n moreIndented = (line[0] === ' ');\n result += prefix\n + (!prevMoreIndented && !moreIndented && line !== ''\n ? '\\n' : '')\n + foldLine(line, width);\n prevMoreIndented = moreIndented;\n }\n\n return result;\n}\n\n// Greedy line breaking.\n// Picks the longest line under the limit each time,\n// otherwise settles for the shortest line over the limit.\n// NB. More-indented lines *cannot* be folded, as that would add an extra \\n.\nfunction foldLine(line, width) {\n if (line === '' || line[0] === ' ') return line;\n\n // Since a more-indented line adds a \\n, breaks can't be followed by a space.\n var breakRe = / [^ ]/g; // note: the match index will always be <= length-2.\n var match;\n // start is an inclusive index. end, curr, and next are exclusive.\n var start = 0, end, curr = 0, next = 0;\n var result = '';\n\n // Invariants: 0 <= start <= length-1.\n // 0 <= curr <= next <= max(0, length-2). curr - start <= width.\n // Inside the loop:\n // A match implies length >= 2, so curr and next are <= length-2.\n while ((match = breakRe.exec(line))) {\n next = match.index;\n // maintain invariant: curr - start <= width\n if (next - start > width) {\n end = (curr > start) ? curr : next; // derive end <= length-2\n result += '\\n' + line.slice(start, end);\n // skip the space that was output as \\n\n start = end + 1; // derive start <= length-1\n }\n curr = next;\n }\n\n // By the invariants, start <= length-1, so there is something left over.\n // It is either the whole string or a part starting from non-whitespace.\n result += '\\n';\n // Insert a break if the remainder is too long and there is a break available.\n if (line.length - start > width && curr > start) {\n result += line.slice(start, curr) + '\\n' + line.slice(curr + 1);\n } else {\n result += line.slice(start);\n }\n\n return result.slice(1); // drop extra \\n joiner\n}\n\n// Escapes a double-quoted string.\nfunction escapeString(string) {\n var result = '';\n var char;\n var escapeSeq;\n\n for (var i = 0; i < string.length; i++) {\n char = string.charCodeAt(i);\n escapeSeq = ESCAPE_SEQUENCES[char];\n result += !escapeSeq && isPrintable(char)\n ? string[i]\n : escapeSeq || encodeHex(char);\n }\n\n return result;\n}\n\nfunction writeFlowSequence(state, level, object) {\n var _result = '',\n _tag = state.tag,\n index,\n length;\n\n for (index = 0, length = object.length; index < length; index += 1) {\n // Write only valid elements.\n if (writeNode(state, level, object[index], false, false)) {\n if (index !== 0) _result += ', ';\n _result += state.dump;\n }\n }\n\n state.tag = _tag;\n state.dump = '[' + _result + ']';\n}\n\nfunction writeBlockSequence(state, level, object, compact) {\n var _result = '',\n _tag = state.tag,\n index,\n length;\n\n for (index = 0, length = object.length; index < length; index += 1) {\n // Write only valid elements.\n if (writeNode(state, level + 1, object[index], true, true)) {\n if (!compact || index !== 0) {\n _result += generateNextLine(state, level);\n }\n _result += '- ' + state.dump;\n }\n }\n\n state.tag = _tag;\n state.dump = _result || '[]'; // Empty sequence if no valid values.\n}\n\nfunction writeFlowMapping(state, level, object) {\n var _result = '',\n _tag = state.tag,\n objectKeyList = Object.keys(object),\n index,\n length,\n objectKey,\n objectValue,\n pairBuffer;\n\n for (index = 0, length = objectKeyList.length; index < length; index += 1) {\n pairBuffer = '';\n\n if (index !== 0) pairBuffer += ', ';\n\n objectKey = objectKeyList[index];\n objectValue = object[objectKey];\n\n if (!writeNode(state, level, objectKey, false, false)) {\n continue; // Skip this pair because of invalid key;\n }\n\n if (state.dump.length > 1024) pairBuffer += '? ';\n\n pairBuffer += state.dump + ': ';\n\n if (!writeNode(state, level, objectValue, false, false)) {\n continue; // Skip this pair because of invalid value.\n }\n\n pairBuffer += state.dump;\n\n // Both key and value are valid.\n _result += pairBuffer;\n }\n\n state.tag = _tag;\n state.dump = '{' + _result + '}';\n}\n\nfunction writeBlockMapping(state, level, object, compact) {\n var _result = '',\n _tag = state.tag,\n objectKeyList = Object.keys(object),\n index,\n length,\n objectKey,\n objectValue,\n explicitPair,\n pairBuffer;\n\n // Allow sorting keys so that the output file is deterministic\n if (state.sortKeys === true) {\n // Default sorting\n objectKeyList.sort();\n } else if (typeof state.sortKeys === 'function') {\n // Custom sort function\n objectKeyList.sort(state.sortKeys);\n } else if (state.sortKeys) {\n // Something is wrong\n throw new YAMLException('sortKeys must be a boolean or a function');\n }\n\n for (index = 0, length = objectKeyList.length; index < length; index += 1) {\n pairBuffer = '';\n\n if (!compact || index !== 0) {\n pairBuffer += generateNextLine(state, level);\n }\n\n objectKey = objectKeyList[index];\n objectValue = object[objectKey];\n\n if (!writeNode(state, level + 1, objectKey, true, true, true)) {\n continue; // Skip this pair because of invalid key.\n }\n\n explicitPair = (state.tag !== null && state.tag !== '?') ||\n (state.dump && state.dump.length > 1024);\n\n if (explicitPair) {\n if (state.dump && CHAR_LINE_FEED === state.dump.charCodeAt(0)) {\n pairBuffer += '?';\n } else {\n pairBuffer += '? ';\n }\n }\n\n pairBuffer += state.dump;\n\n if (explicitPair) {\n pairBuffer += generateNextLine(state, level);\n }\n\n if (!writeNode(state, level + 1, objectValue, true, explicitPair)) {\n continue; // Skip this pair because of invalid value.\n }\n\n if (state.dump && CHAR_LINE_FEED === state.dump.charCodeAt(0)) {\n pairBuffer += ':';\n } else {\n pairBuffer += ': ';\n }\n\n pairBuffer += state.dump;\n\n // Both key and value are valid.\n _result += pairBuffer;\n }\n\n state.tag = _tag;\n state.dump = _result || '{}'; // Empty mapping if no valid pairs.\n}\n\nfunction detectType(state, object, explicit) {\n var _result, typeList, index, length, type, style;\n\n typeList = explicit ? state.explicitTypes : state.implicitTypes;\n\n for (index = 0, length = typeList.length; index < length; index += 1) {\n type = typeList[index];\n\n if ((type.instanceOf || type.predicate) &&\n (!type.instanceOf || ((typeof object === 'object') && (object instanceof type.instanceOf))) &&\n (!type.predicate || type.predicate(object))) {\n\n state.tag = explicit ? type.tag : '?';\n\n if (type.represent) {\n style = state.styleMap[type.tag] || type.defaultStyle;\n\n if (_toString.call(type.represent) === '[object Function]') {\n _result = type.represent(object, style);\n } else if (_hasOwnProperty.call(type.represent, style)) {\n _result = type.represent[style](object, style);\n } else {\n throw new YAMLException('!<' + type.tag + '> tag resolver accepts not \"' + style + '\" style');\n }\n\n state.dump = _result;\n }\n\n return true;\n }\n }\n\n return false;\n}\n\n// Serializes `object` and writes it to global `result`.\n// Returns true on success, or false on invalid object.\n//\nfunction writeNode(state, level, object, block, compact, iskey) {\n state.tag = null;\n state.dump = object;\n\n if (!detectType(state, object, false)) {\n detectType(state, object, true);\n }\n\n var type = _toString.call(state.dump);\n\n if (block) {\n block = (state.flowLevel < 0 || state.flowLevel > level);\n }\n\n var objectOrArray = type === '[object Object]' || type === '[object Array]',\n duplicateIndex,\n duplicate;\n\n if (objectOrArray) {\n duplicateIndex = state.duplicates.indexOf(object);\n duplicate = duplicateIndex !== -1;\n }\n\n if ((state.tag !== null && state.tag !== '?') || duplicate || (state.indent !== 2 && level > 0)) {\n compact = false;\n }\n\n if (duplicate && state.usedDuplicates[duplicateIndex]) {\n state.dump = '*ref_' + duplicateIndex;\n } else {\n if (objectOrArray && duplicate && !state.usedDuplicates[duplicateIndex]) {\n state.usedDuplicates[duplicateIndex] = true;\n }\n if (type === '[object Object]') {\n if (block && (Object.keys(state.dump).length !== 0)) {\n writeBlockMapping(state, level, state.dump, compact);\n if (duplicate) {\n state.dump = '&ref_' + duplicateIndex + state.dump;\n }\n } else {\n writeFlowMapping(state, level, state.dump);\n if (duplicate) {\n state.dump = '&ref_' + duplicateIndex + ' ' + state.dump;\n }\n }\n } else if (type === '[object Array]') {\n if (block && (state.dump.length !== 0)) {\n writeBlockSequence(state, level, state.dump, compact);\n if (duplicate) {\n state.dump = '&ref_' + duplicateIndex + state.dump;\n }\n } else {\n writeFlowSequence(state, level, state.dump);\n if (duplicate) {\n state.dump = '&ref_' + duplicateIndex + ' ' + state.dump;\n }\n }\n } else if (type === '[object String]') {\n if (state.tag !== '?') {\n writeScalar(state, state.dump, level, iskey);\n }\n } else {\n if (state.skipInvalid) return false;\n throw new YAMLException('unacceptable kind of an object to dump ' + type);\n }\n\n if (state.tag !== null && state.tag !== '?') {\n state.dump = '!<' + state.tag + '> ' + state.dump;\n }\n }\n\n return true;\n}\n\nfunction getDuplicateReferences(object, state) {\n var objects = [],\n duplicatesIndexes = [],\n index,\n length;\n\n inspectNode(object, objects, duplicatesIndexes);\n\n for (index = 0, length = duplicatesIndexes.length; index < length; index += 1) {\n state.duplicates.push(objects[duplicatesIndexes[index]]);\n }\n state.usedDuplicates = new Array(length);\n}\n\nfunction inspectNode(object, objects, duplicatesIndexes) {\n var objectKeyList,\n index,\n length;\n\n if (object !== null && typeof object === 'object') {\n index = objects.indexOf(object);\n if (index !== -1) {\n if (duplicatesIndexes.indexOf(index) === -1) {\n duplicatesIndexes.push(index);\n }\n } else {\n objects.push(object);\n\n if (Array.isArray(object)) {\n for (index = 0, length = object.length; index < length; index += 1) {\n inspectNode(object[index], objects, duplicatesIndexes);\n }\n } else {\n objectKeyList = Object.keys(object);\n\n for (index = 0, length = objectKeyList.length; index < length; index += 1) {\n inspectNode(object[objectKeyList[index]], objects, duplicatesIndexes);\n }\n }\n }\n }\n}\n\nfunction dump(input, options) {\n options = options || {};\n\n var state = new State(options);\n\n if (!state.noRefs) getDuplicateReferences(input, state);\n\n if (writeNode(state, 0, input, true, true)) return state.dump + '\\n';\n\n return '';\n}\n\nfunction safeDump(input, options) {\n return dump(input, common.extend({ schema: DEFAULT_SAFE_SCHEMA }, options));\n}\n\nmodule.exports.dump = dump;\nmodule.exports.safeDump = safeDump;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/js-yaml/lib/js-yaml/dumper.js\n ** module id = 438\n ** module chunks = 0\n **/","'use strict';\n\n/*eslint-disable max-len,no-use-before-define*/\n\nvar common = require('./common');\nvar YAMLException = require('./exception');\nvar Mark = require('./mark');\nvar DEFAULT_SAFE_SCHEMA = require('./schema/default_safe');\nvar DEFAULT_FULL_SCHEMA = require('./schema/default_full');\n\n\nvar _hasOwnProperty = Object.prototype.hasOwnProperty;\n\n\nvar CONTEXT_FLOW_IN = 1;\nvar CONTEXT_FLOW_OUT = 2;\nvar CONTEXT_BLOCK_IN = 3;\nvar CONTEXT_BLOCK_OUT = 4;\n\n\nvar CHOMPING_CLIP = 1;\nvar CHOMPING_STRIP = 2;\nvar CHOMPING_KEEP = 3;\n\n\nvar PATTERN_NON_PRINTABLE = /[\\x00-\\x08\\x0B\\x0C\\x0E-\\x1F\\x7F-\\x84\\x86-\\x9F\\uFFFE\\uFFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF]/;\nvar PATTERN_NON_ASCII_LINE_BREAKS = /[\\x85\\u2028\\u2029]/;\nvar PATTERN_FLOW_INDICATORS = /[,\\[\\]\\{\\}]/;\nvar PATTERN_TAG_HANDLE = /^(?:!|!!|![a-z\\-]+!)$/i;\nvar PATTERN_TAG_URI = /^(?:!|[^,\\[\\]\\{\\}])(?:%[0-9a-f]{2}|[0-9a-z\\-#;\\/\\?:@&=\\+\\$,_\\.!~\\*'\\(\\)\\[\\]])*$/i;\n\n\nfunction is_EOL(c) {\n return (c === 0x0A/* LF */) || (c === 0x0D/* CR */);\n}\n\nfunction is_WHITE_SPACE(c) {\n return (c === 0x09/* Tab */) || (c === 0x20/* Space */);\n}\n\nfunction is_WS_OR_EOL(c) {\n return (c === 0x09/* Tab */) ||\n (c === 0x20/* Space */) ||\n (c === 0x0A/* LF */) ||\n (c === 0x0D/* CR */);\n}\n\nfunction is_FLOW_INDICATOR(c) {\n return c === 0x2C/* , */ ||\n c === 0x5B/* [ */ ||\n c === 0x5D/* ] */ ||\n c === 0x7B/* { */ ||\n c === 0x7D/* } */;\n}\n\nfunction fromHexCode(c) {\n var lc;\n\n if ((0x30/* 0 */ <= c) && (c <= 0x39/* 9 */)) {\n return c - 0x30;\n }\n\n /*eslint-disable no-bitwise*/\n lc = c | 0x20;\n\n if ((0x61/* a */ <= lc) && (lc <= 0x66/* f */)) {\n return lc - 0x61 + 10;\n }\n\n return -1;\n}\n\nfunction escapedHexLen(c) {\n if (c === 0x78/* x */) { return 2; }\n if (c === 0x75/* u */) { return 4; }\n if (c === 0x55/* U */) { return 8; }\n return 0;\n}\n\nfunction fromDecimalCode(c) {\n if ((0x30/* 0 */ <= c) && (c <= 0x39/* 9 */)) {\n return c - 0x30;\n }\n\n return -1;\n}\n\nfunction simpleEscapeSequence(c) {\n return (c === 0x30/* 0 */) ? '\\x00' :\n (c === 0x61/* a */) ? '\\x07' :\n (c === 0x62/* b */) ? '\\x08' :\n (c === 0x74/* t */) ? '\\x09' :\n (c === 0x09/* Tab */) ? '\\x09' :\n (c === 0x6E/* n */) ? '\\x0A' :\n (c === 0x76/* v */) ? '\\x0B' :\n (c === 0x66/* f */) ? '\\x0C' :\n (c === 0x72/* r */) ? '\\x0D' :\n (c === 0x65/* e */) ? '\\x1B' :\n (c === 0x20/* Space */) ? ' ' :\n (c === 0x22/* \" */) ? '\\x22' :\n (c === 0x2F/* / */) ? '/' :\n (c === 0x5C/* \\ */) ? '\\x5C' :\n (c === 0x4E/* N */) ? '\\x85' :\n (c === 0x5F/* _ */) ? '\\xA0' :\n (c === 0x4C/* L */) ? '\\u2028' :\n (c === 0x50/* P */) ? '\\u2029' : '';\n}\n\nfunction charFromCodepoint(c) {\n if (c <= 0xFFFF) {\n return String.fromCharCode(c);\n }\n // Encode UTF-16 surrogate pair\n // https://en.wikipedia.org/wiki/UTF-16#Code_points_U.2B010000_to_U.2B10FFFF\n return String.fromCharCode(((c - 0x010000) >> 10) + 0xD800,\n ((c - 0x010000) & 0x03FF) + 0xDC00);\n}\n\nvar simpleEscapeCheck = new Array(256); // integer, for fast access\nvar simpleEscapeMap = new Array(256);\nfor (var i = 0; i < 256; i++) {\n simpleEscapeCheck[i] = simpleEscapeSequence(i) ? 1 : 0;\n simpleEscapeMap[i] = simpleEscapeSequence(i);\n}\n\n\nfunction State(input, options) {\n this.input = input;\n\n this.filename = options['filename'] || null;\n this.schema = options['schema'] || DEFAULT_FULL_SCHEMA;\n this.onWarning = options['onWarning'] || null;\n this.legacy = options['legacy'] || false;\n this.json = options['json'] || false;\n this.listener = options['listener'] || null;\n\n this.implicitTypes = this.schema.compiledImplicit;\n this.typeMap = this.schema.compiledTypeMap;\n\n this.length = input.length;\n this.position = 0;\n this.line = 0;\n this.lineStart = 0;\n this.lineIndent = 0;\n\n this.documents = [];\n\n /*\n this.version;\n this.checkLineBreaks;\n this.tagMap;\n this.anchorMap;\n this.tag;\n this.anchor;\n this.kind;\n this.result;*/\n\n}\n\n\nfunction generateError(state, message) {\n return new YAMLException(\n message,\n new Mark(state.filename, state.input, state.position, state.line, (state.position - state.lineStart)));\n}\n\nfunction throwError(state, message) {\n throw generateError(state, message);\n}\n\nfunction throwWarning(state, message) {\n if (state.onWarning) {\n state.onWarning.call(null, generateError(state, message));\n }\n}\n\n\nvar directiveHandlers = {\n\n YAML: function handleYamlDirective(state, name, args) {\n\n var match, major, minor;\n\n if (state.version !== null) {\n throwError(state, 'duplication of %YAML directive');\n }\n\n if (args.length !== 1) {\n throwError(state, 'YAML directive accepts exactly one argument');\n }\n\n match = /^([0-9]+)\\.([0-9]+)$/.exec(args[0]);\n\n if (match === null) {\n throwError(state, 'ill-formed argument of the YAML directive');\n }\n\n major = parseInt(match[1], 10);\n minor = parseInt(match[2], 10);\n\n if (major !== 1) {\n throwError(state, 'unacceptable YAML version of the document');\n }\n\n state.version = args[0];\n state.checkLineBreaks = (minor < 2);\n\n if (minor !== 1 && minor !== 2) {\n throwWarning(state, 'unsupported YAML version of the document');\n }\n },\n\n TAG: function handleTagDirective(state, name, args) {\n\n var handle, prefix;\n\n if (args.length !== 2) {\n throwError(state, 'TAG directive accepts exactly two arguments');\n }\n\n handle = args[0];\n prefix = args[1];\n\n if (!PATTERN_TAG_HANDLE.test(handle)) {\n throwError(state, 'ill-formed tag handle (first argument) of the TAG directive');\n }\n\n if (_hasOwnProperty.call(state.tagMap, handle)) {\n throwError(state, 'there is a previously declared suffix for \"' + handle + '\" tag handle');\n }\n\n if (!PATTERN_TAG_URI.test(prefix)) {\n throwError(state, 'ill-formed tag prefix (second argument) of the TAG directive');\n }\n\n state.tagMap[handle] = prefix;\n }\n};\n\n\nfunction captureSegment(state, start, end, checkJson) {\n var _position, _length, _character, _result;\n\n if (start < end) {\n _result = state.input.slice(start, end);\n\n if (checkJson) {\n for (_position = 0, _length = _result.length;\n _position < _length;\n _position += 1) {\n _character = _result.charCodeAt(_position);\n if (!(_character === 0x09 ||\n (0x20 <= _character && _character <= 0x10FFFF))) {\n throwError(state, 'expected valid JSON character');\n }\n }\n } else if (PATTERN_NON_PRINTABLE.test(_result)) {\n throwError(state, 'the stream contains non-printable characters');\n }\n\n state.result += _result;\n }\n}\n\nfunction mergeMappings(state, destination, source, overridableKeys) {\n var sourceKeys, key, index, quantity;\n\n if (!common.isObject(source)) {\n throwError(state, 'cannot merge mappings; the provided source object is unacceptable');\n }\n\n sourceKeys = Object.keys(source);\n\n for (index = 0, quantity = sourceKeys.length; index < quantity; index += 1) {\n key = sourceKeys[index];\n\n if (!_hasOwnProperty.call(destination, key)) {\n destination[key] = source[key];\n overridableKeys[key] = true;\n }\n }\n}\n\nfunction storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, valueNode) {\n var index, quantity;\n\n keyNode = String(keyNode);\n\n if (_result === null) {\n _result = {};\n }\n\n if (keyTag === 'tag:yaml.org,2002:merge') {\n if (Array.isArray(valueNode)) {\n for (index = 0, quantity = valueNode.length; index < quantity; index += 1) {\n mergeMappings(state, _result, valueNode[index], overridableKeys);\n }\n } else {\n mergeMappings(state, _result, valueNode, overridableKeys);\n }\n } else {\n if (!state.json &&\n !_hasOwnProperty.call(overridableKeys, keyNode) &&\n _hasOwnProperty.call(_result, keyNode)) {\n throwError(state, 'duplicated mapping key');\n }\n _result[keyNode] = valueNode;\n delete overridableKeys[keyNode];\n }\n\n return _result;\n}\n\nfunction readLineBreak(state) {\n var ch;\n\n ch = state.input.charCodeAt(state.position);\n\n if (ch === 0x0A/* LF */) {\n state.position++;\n } else if (ch === 0x0D/* CR */) {\n state.position++;\n if (state.input.charCodeAt(state.position) === 0x0A/* LF */) {\n state.position++;\n }\n } else {\n throwError(state, 'a line break is expected');\n }\n\n state.line += 1;\n state.lineStart = state.position;\n}\n\nfunction skipSeparationSpace(state, allowComments, checkIndent) {\n var lineBreaks = 0,\n ch = state.input.charCodeAt(state.position);\n\n while (ch !== 0) {\n while (is_WHITE_SPACE(ch)) {\n ch = state.input.charCodeAt(++state.position);\n }\n\n if (allowComments && ch === 0x23/* # */) {\n do {\n ch = state.input.charCodeAt(++state.position);\n } while (ch !== 0x0A/* LF */ && ch !== 0x0D/* CR */ && ch !== 0);\n }\n\n if (is_EOL(ch)) {\n readLineBreak(state);\n\n ch = state.input.charCodeAt(state.position);\n lineBreaks++;\n state.lineIndent = 0;\n\n while (ch === 0x20/* Space */) {\n state.lineIndent++;\n ch = state.input.charCodeAt(++state.position);\n }\n } else {\n break;\n }\n }\n\n if (checkIndent !== -1 && lineBreaks !== 0 && state.lineIndent < checkIndent) {\n throwWarning(state, 'deficient indentation');\n }\n\n return lineBreaks;\n}\n\nfunction testDocumentSeparator(state) {\n var _position = state.position,\n ch;\n\n ch = state.input.charCodeAt(_position);\n\n // Condition state.position === state.lineStart is tested\n // in parent on each call, for efficiency. No needs to test here again.\n if ((ch === 0x2D/* - */ || ch === 0x2E/* . */) &&\n ch === state.input.charCodeAt(_position + 1) &&\n ch === state.input.charCodeAt(_position + 2)) {\n\n _position += 3;\n\n ch = state.input.charCodeAt(_position);\n\n if (ch === 0 || is_WS_OR_EOL(ch)) {\n return true;\n }\n }\n\n return false;\n}\n\nfunction writeFoldedLines(state, count) {\n if (count === 1) {\n state.result += ' ';\n } else if (count > 1) {\n state.result += common.repeat('\\n', count - 1);\n }\n}\n\n\nfunction readPlainScalar(state, nodeIndent, withinFlowCollection) {\n var preceding,\n following,\n captureStart,\n captureEnd,\n hasPendingContent,\n _line,\n _lineStart,\n _lineIndent,\n _kind = state.kind,\n _result = state.result,\n ch;\n\n ch = state.input.charCodeAt(state.position);\n\n if (is_WS_OR_EOL(ch) ||\n is_FLOW_INDICATOR(ch) ||\n ch === 0x23/* # */ ||\n ch === 0x26/* & */ ||\n ch === 0x2A/* * */ ||\n ch === 0x21/* ! */ ||\n ch === 0x7C/* | */ ||\n ch === 0x3E/* > */ ||\n ch === 0x27/* ' */ ||\n ch === 0x22/* \" */ ||\n ch === 0x25/* % */ ||\n ch === 0x40/* @ */ ||\n ch === 0x60/* ` */) {\n return false;\n }\n\n if (ch === 0x3F/* ? */ || ch === 0x2D/* - */) {\n following = state.input.charCodeAt(state.position + 1);\n\n if (is_WS_OR_EOL(following) ||\n withinFlowCollection && is_FLOW_INDICATOR(following)) {\n return false;\n }\n }\n\n state.kind = 'scalar';\n state.result = '';\n captureStart = captureEnd = state.position;\n hasPendingContent = false;\n\n while (ch !== 0) {\n if (ch === 0x3A/* : */) {\n following = state.input.charCodeAt(state.position + 1);\n\n if (is_WS_OR_EOL(following) ||\n withinFlowCollection && is_FLOW_INDICATOR(following)) {\n break;\n }\n\n } else if (ch === 0x23/* # */) {\n preceding = state.input.charCodeAt(state.position - 1);\n\n if (is_WS_OR_EOL(preceding)) {\n break;\n }\n\n } else if ((state.position === state.lineStart && testDocumentSeparator(state)) ||\n withinFlowCollection && is_FLOW_INDICATOR(ch)) {\n break;\n\n } else if (is_EOL(ch)) {\n _line = state.line;\n _lineStart = state.lineStart;\n _lineIndent = state.lineIndent;\n skipSeparationSpace(state, false, -1);\n\n if (state.lineIndent >= nodeIndent) {\n hasPendingContent = true;\n ch = state.input.charCodeAt(state.position);\n continue;\n } else {\n state.position = captureEnd;\n state.line = _line;\n state.lineStart = _lineStart;\n state.lineIndent = _lineIndent;\n break;\n }\n }\n\n if (hasPendingContent) {\n captureSegment(state, captureStart, captureEnd, false);\n writeFoldedLines(state, state.line - _line);\n captureStart = captureEnd = state.position;\n hasPendingContent = false;\n }\n\n if (!is_WHITE_SPACE(ch)) {\n captureEnd = state.position + 1;\n }\n\n ch = state.input.charCodeAt(++state.position);\n }\n\n captureSegment(state, captureStart, captureEnd, false);\n\n if (state.result) {\n return true;\n }\n\n state.kind = _kind;\n state.result = _result;\n return false;\n}\n\nfunction readSingleQuotedScalar(state, nodeIndent) {\n var ch,\n captureStart, captureEnd;\n\n ch = state.input.charCodeAt(state.position);\n\n if (ch !== 0x27/* ' */) {\n return false;\n }\n\n state.kind = 'scalar';\n state.result = '';\n state.position++;\n captureStart = captureEnd = state.position;\n\n while ((ch = state.input.charCodeAt(state.position)) !== 0) {\n if (ch === 0x27/* ' */) {\n captureSegment(state, captureStart, state.position, true);\n ch = state.input.charCodeAt(++state.position);\n\n if (ch === 0x27/* ' */) {\n captureStart = state.position;\n state.position++;\n captureEnd = state.position;\n } else {\n return true;\n }\n\n } else if (is_EOL(ch)) {\n captureSegment(state, captureStart, captureEnd, true);\n writeFoldedLines(state, skipSeparationSpace(state, false, nodeIndent));\n captureStart = captureEnd = state.position;\n\n } else if (state.position === state.lineStart && testDocumentSeparator(state)) {\n throwError(state, 'unexpected end of the document within a single quoted scalar');\n\n } else {\n state.position++;\n captureEnd = state.position;\n }\n }\n\n throwError(state, 'unexpected end of the stream within a single quoted scalar');\n}\n\nfunction readDoubleQuotedScalar(state, nodeIndent) {\n var captureStart,\n captureEnd,\n hexLength,\n hexResult,\n tmp,\n ch;\n\n ch = state.input.charCodeAt(state.position);\n\n if (ch !== 0x22/* \" */) {\n return false;\n }\n\n state.kind = 'scalar';\n state.result = '';\n state.position++;\n captureStart = captureEnd = state.position;\n\n while ((ch = state.input.charCodeAt(state.position)) !== 0) {\n if (ch === 0x22/* \" */) {\n captureSegment(state, captureStart, state.position, true);\n state.position++;\n return true;\n\n } else if (ch === 0x5C/* \\ */) {\n captureSegment(state, captureStart, state.position, true);\n ch = state.input.charCodeAt(++state.position);\n\n if (is_EOL(ch)) {\n skipSeparationSpace(state, false, nodeIndent);\n\n // TODO: rework to inline fn with no type cast?\n } else if (ch < 256 && simpleEscapeCheck[ch]) {\n state.result += simpleEscapeMap[ch];\n state.position++;\n\n } else if ((tmp = escapedHexLen(ch)) > 0) {\n hexLength = tmp;\n hexResult = 0;\n\n for (; hexLength > 0; hexLength--) {\n ch = state.input.charCodeAt(++state.position);\n\n if ((tmp = fromHexCode(ch)) >= 0) {\n hexResult = (hexResult << 4) + tmp;\n\n } else {\n throwError(state, 'expected hexadecimal character');\n }\n }\n\n state.result += charFromCodepoint(hexResult);\n\n state.position++;\n\n } else {\n throwError(state, 'unknown escape sequence');\n }\n\n captureStart = captureEnd = state.position;\n\n } else if (is_EOL(ch)) {\n captureSegment(state, captureStart, captureEnd, true);\n writeFoldedLines(state, skipSeparationSpace(state, false, nodeIndent));\n captureStart = captureEnd = state.position;\n\n } else if (state.position === state.lineStart && testDocumentSeparator(state)) {\n throwError(state, 'unexpected end of the document within a double quoted scalar');\n\n } else {\n state.position++;\n captureEnd = state.position;\n }\n }\n\n throwError(state, 'unexpected end of the stream within a double quoted scalar');\n}\n\nfunction readFlowCollection(state, nodeIndent) {\n var readNext = true,\n _line,\n _tag = state.tag,\n _result,\n _anchor = state.anchor,\n following,\n terminator,\n isPair,\n isExplicitPair,\n isMapping,\n overridableKeys = {},\n keyNode,\n keyTag,\n valueNode,\n ch;\n\n ch = state.input.charCodeAt(state.position);\n\n if (ch === 0x5B/* [ */) {\n terminator = 0x5D;/* ] */\n isMapping = false;\n _result = [];\n } else if (ch === 0x7B/* { */) {\n terminator = 0x7D;/* } */\n isMapping = true;\n _result = {};\n } else {\n return false;\n }\n\n if (state.anchor !== null) {\n state.anchorMap[state.anchor] = _result;\n }\n\n ch = state.input.charCodeAt(++state.position);\n\n while (ch !== 0) {\n skipSeparationSpace(state, true, nodeIndent);\n\n ch = state.input.charCodeAt(state.position);\n\n if (ch === terminator) {\n state.position++;\n state.tag = _tag;\n state.anchor = _anchor;\n state.kind = isMapping ? 'mapping' : 'sequence';\n state.result = _result;\n return true;\n } else if (!readNext) {\n throwError(state, 'missed comma between flow collection entries');\n }\n\n keyTag = keyNode = valueNode = null;\n isPair = isExplicitPair = false;\n\n if (ch === 0x3F/* ? */) {\n following = state.input.charCodeAt(state.position + 1);\n\n if (is_WS_OR_EOL(following)) {\n isPair = isExplicitPair = true;\n state.position++;\n skipSeparationSpace(state, true, nodeIndent);\n }\n }\n\n _line = state.line;\n composeNode(state, nodeIndent, CONTEXT_FLOW_IN, false, true);\n keyTag = state.tag;\n keyNode = state.result;\n skipSeparationSpace(state, true, nodeIndent);\n\n ch = state.input.charCodeAt(state.position);\n\n if ((isExplicitPair || state.line === _line) && ch === 0x3A/* : */) {\n isPair = true;\n ch = state.input.charCodeAt(++state.position);\n skipSeparationSpace(state, true, nodeIndent);\n composeNode(state, nodeIndent, CONTEXT_FLOW_IN, false, true);\n valueNode = state.result;\n }\n\n if (isMapping) {\n storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, valueNode);\n } else if (isPair) {\n _result.push(storeMappingPair(state, null, overridableKeys, keyTag, keyNode, valueNode));\n } else {\n _result.push(keyNode);\n }\n\n skipSeparationSpace(state, true, nodeIndent);\n\n ch = state.input.charCodeAt(state.position);\n\n if (ch === 0x2C/* , */) {\n readNext = true;\n ch = state.input.charCodeAt(++state.position);\n } else {\n readNext = false;\n }\n }\n\n throwError(state, 'unexpected end of the stream within a flow collection');\n}\n\nfunction readBlockScalar(state, nodeIndent) {\n var captureStart,\n folding,\n chomping = CHOMPING_CLIP,\n didReadContent = false,\n detectedIndent = false,\n textIndent = nodeIndent,\n emptyLines = 0,\n atMoreIndented = false,\n tmp,\n ch;\n\n ch = state.input.charCodeAt(state.position);\n\n if (ch === 0x7C/* | */) {\n folding = false;\n } else if (ch === 0x3E/* > */) {\n folding = true;\n } else {\n return false;\n }\n\n state.kind = 'scalar';\n state.result = '';\n\n while (ch !== 0) {\n ch = state.input.charCodeAt(++state.position);\n\n if (ch === 0x2B/* + */ || ch === 0x2D/* - */) {\n if (CHOMPING_CLIP === chomping) {\n chomping = (ch === 0x2B/* + */) ? CHOMPING_KEEP : CHOMPING_STRIP;\n } else {\n throwError(state, 'repeat of a chomping mode identifier');\n }\n\n } else if ((tmp = fromDecimalCode(ch)) >= 0) {\n if (tmp === 0) {\n throwError(state, 'bad explicit indentation width of a block scalar; it cannot be less than one');\n } else if (!detectedIndent) {\n textIndent = nodeIndent + tmp - 1;\n detectedIndent = true;\n } else {\n throwError(state, 'repeat of an indentation width identifier');\n }\n\n } else {\n break;\n }\n }\n\n if (is_WHITE_SPACE(ch)) {\n do { ch = state.input.charCodeAt(++state.position); }\n while (is_WHITE_SPACE(ch));\n\n if (ch === 0x23/* # */) {\n do { ch = state.input.charCodeAt(++state.position); }\n while (!is_EOL(ch) && (ch !== 0));\n }\n }\n\n while (ch !== 0) {\n readLineBreak(state);\n state.lineIndent = 0;\n\n ch = state.input.charCodeAt(state.position);\n\n while ((!detectedIndent || state.lineIndent < textIndent) &&\n (ch === 0x20/* Space */)) {\n state.lineIndent++;\n ch = state.input.charCodeAt(++state.position);\n }\n\n if (!detectedIndent && state.lineIndent > textIndent) {\n textIndent = state.lineIndent;\n }\n\n if (is_EOL(ch)) {\n emptyLines++;\n continue;\n }\n\n // End of the scalar.\n if (state.lineIndent < textIndent) {\n\n // Perform the chomping.\n if (chomping === CHOMPING_KEEP) {\n state.result += common.repeat('\\n', didReadContent ? 1 + emptyLines : emptyLines);\n } else if (chomping === CHOMPING_CLIP) {\n if (didReadContent) { // i.e. only if the scalar is not empty.\n state.result += '\\n';\n }\n }\n\n // Break this `while` cycle and go to the funciton's epilogue.\n break;\n }\n\n // Folded style: use fancy rules to handle line breaks.\n if (folding) {\n\n // Lines starting with white space characters (more-indented lines) are not folded.\n if (is_WHITE_SPACE(ch)) {\n atMoreIndented = true;\n // except for the first content line (cf. Example 8.1)\n state.result += common.repeat('\\n', didReadContent ? 1 + emptyLines : emptyLines);\n\n // End of more-indented block.\n } else if (atMoreIndented) {\n atMoreIndented = false;\n state.result += common.repeat('\\n', emptyLines + 1);\n\n // Just one line break - perceive as the same line.\n } else if (emptyLines === 0) {\n if (didReadContent) { // i.e. only if we have already read some scalar content.\n state.result += ' ';\n }\n\n // Several line breaks - perceive as different lines.\n } else {\n state.result += common.repeat('\\n', emptyLines);\n }\n\n // Literal style: just add exact number of line breaks between content lines.\n } else {\n // Keep all line breaks except the header line break.\n state.result += common.repeat('\\n', didReadContent ? 1 + emptyLines : emptyLines);\n }\n\n didReadContent = true;\n detectedIndent = true;\n emptyLines = 0;\n captureStart = state.position;\n\n while (!is_EOL(ch) && (ch !== 0)) {\n ch = state.input.charCodeAt(++state.position);\n }\n\n captureSegment(state, captureStart, state.position, false);\n }\n\n return true;\n}\n\nfunction readBlockSequence(state, nodeIndent) {\n var _line,\n _tag = state.tag,\n _anchor = state.anchor,\n _result = [],\n following,\n detected = false,\n ch;\n\n if (state.anchor !== null) {\n state.anchorMap[state.anchor] = _result;\n }\n\n ch = state.input.charCodeAt(state.position);\n\n while (ch !== 0) {\n\n if (ch !== 0x2D/* - */) {\n break;\n }\n\n following = state.input.charCodeAt(state.position + 1);\n\n if (!is_WS_OR_EOL(following)) {\n break;\n }\n\n detected = true;\n state.position++;\n\n if (skipSeparationSpace(state, true, -1)) {\n if (state.lineIndent <= nodeIndent) {\n _result.push(null);\n ch = state.input.charCodeAt(state.position);\n continue;\n }\n }\n\n _line = state.line;\n composeNode(state, nodeIndent, CONTEXT_BLOCK_IN, false, true);\n _result.push(state.result);\n skipSeparationSpace(state, true, -1);\n\n ch = state.input.charCodeAt(state.position);\n\n if ((state.line === _line || state.lineIndent > nodeIndent) && (ch !== 0)) {\n throwError(state, 'bad indentation of a sequence entry');\n } else if (state.lineIndent < nodeIndent) {\n break;\n }\n }\n\n if (detected) {\n state.tag = _tag;\n state.anchor = _anchor;\n state.kind = 'sequence';\n state.result = _result;\n return true;\n }\n return false;\n}\n\nfunction readBlockMapping(state, nodeIndent, flowIndent) {\n var following,\n allowCompact,\n _line,\n _tag = state.tag,\n _anchor = state.anchor,\n _result = {},\n overridableKeys = {},\n keyTag = null,\n keyNode = null,\n valueNode = null,\n atExplicitKey = false,\n detected = false,\n ch;\n\n if (state.anchor !== null) {\n state.anchorMap[state.anchor] = _result;\n }\n\n ch = state.input.charCodeAt(state.position);\n\n while (ch !== 0) {\n following = state.input.charCodeAt(state.position + 1);\n _line = state.line; // Save the current line.\n\n //\n // Explicit notation case. There are two separate blocks:\n // first for the key (denoted by \"?\") and second for the value (denoted by \":\")\n //\n if ((ch === 0x3F/* ? */ || ch === 0x3A/* : */) && is_WS_OR_EOL(following)) {\n\n if (ch === 0x3F/* ? */) {\n if (atExplicitKey) {\n storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, null);\n keyTag = keyNode = valueNode = null;\n }\n\n detected = true;\n atExplicitKey = true;\n allowCompact = true;\n\n } else if (atExplicitKey) {\n // i.e. 0x3A/* : */ === character after the explicit key.\n atExplicitKey = false;\n allowCompact = true;\n\n } else {\n throwError(state, 'incomplete explicit mapping pair; a key node is missed');\n }\n\n state.position += 1;\n ch = following;\n\n //\n // Implicit notation case. Flow-style node as the key first, then \":\", and the value.\n //\n } else if (composeNode(state, flowIndent, CONTEXT_FLOW_OUT, false, true)) {\n\n if (state.line === _line) {\n ch = state.input.charCodeAt(state.position);\n\n while (is_WHITE_SPACE(ch)) {\n ch = state.input.charCodeAt(++state.position);\n }\n\n if (ch === 0x3A/* : */) {\n ch = state.input.charCodeAt(++state.position);\n\n if (!is_WS_OR_EOL(ch)) {\n throwError(state, 'a whitespace character is expected after the key-value separator within a block mapping');\n }\n\n if (atExplicitKey) {\n storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, null);\n keyTag = keyNode = valueNode = null;\n }\n\n detected = true;\n atExplicitKey = false;\n allowCompact = false;\n keyTag = state.tag;\n keyNode = state.result;\n\n } else if (detected) {\n throwError(state, 'can not read an implicit mapping pair; a colon is missed');\n\n } else {\n state.tag = _tag;\n state.anchor = _anchor;\n return true; // Keep the result of `composeNode`.\n }\n\n } else if (detected) {\n throwError(state, 'can not read a block mapping entry; a multiline key may not be an implicit key');\n\n } else {\n state.tag = _tag;\n state.anchor = _anchor;\n return true; // Keep the result of `composeNode`.\n }\n\n } else {\n break; // Reading is done. Go to the epilogue.\n }\n\n //\n // Common reading code for both explicit and implicit notations.\n //\n if (state.line === _line || state.lineIndent > nodeIndent) {\n if (composeNode(state, nodeIndent, CONTEXT_BLOCK_OUT, true, allowCompact)) {\n if (atExplicitKey) {\n keyNode = state.result;\n } else {\n valueNode = state.result;\n }\n }\n\n if (!atExplicitKey) {\n storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, valueNode);\n keyTag = keyNode = valueNode = null;\n }\n\n skipSeparationSpace(state, true, -1);\n ch = state.input.charCodeAt(state.position);\n }\n\n if (state.lineIndent > nodeIndent && (ch !== 0)) {\n throwError(state, 'bad indentation of a mapping entry');\n } else if (state.lineIndent < nodeIndent) {\n break;\n }\n }\n\n //\n // Epilogue.\n //\n\n // Special case: last mapping's node contains only the key in explicit notation.\n if (atExplicitKey) {\n storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, null);\n }\n\n // Expose the resulting mapping.\n if (detected) {\n state.tag = _tag;\n state.anchor = _anchor;\n state.kind = 'mapping';\n state.result = _result;\n }\n\n return detected;\n}\n\nfunction readTagProperty(state) {\n var _position,\n isVerbatim = false,\n isNamed = false,\n tagHandle,\n tagName,\n ch;\n\n ch = state.input.charCodeAt(state.position);\n\n if (ch !== 0x21/* ! */) return false;\n\n if (state.tag !== null) {\n throwError(state, 'duplication of a tag property');\n }\n\n ch = state.input.charCodeAt(++state.position);\n\n if (ch === 0x3C/* < */) {\n isVerbatim = true;\n ch = state.input.charCodeAt(++state.position);\n\n } else if (ch === 0x21/* ! */) {\n isNamed = true;\n tagHandle = '!!';\n ch = state.input.charCodeAt(++state.position);\n\n } else {\n tagHandle = '!';\n }\n\n _position = state.position;\n\n if (isVerbatim) {\n do { ch = state.input.charCodeAt(++state.position); }\n while (ch !== 0 && ch !== 0x3E/* > */);\n\n if (state.position < state.length) {\n tagName = state.input.slice(_position, state.position);\n ch = state.input.charCodeAt(++state.position);\n } else {\n throwError(state, 'unexpected end of the stream within a verbatim tag');\n }\n } else {\n while (ch !== 0 && !is_WS_OR_EOL(ch)) {\n\n if (ch === 0x21/* ! */) {\n if (!isNamed) {\n tagHandle = state.input.slice(_position - 1, state.position + 1);\n\n if (!PATTERN_TAG_HANDLE.test(tagHandle)) {\n throwError(state, 'named tag handle cannot contain such characters');\n }\n\n isNamed = true;\n _position = state.position + 1;\n } else {\n throwError(state, 'tag suffix cannot contain exclamation marks');\n }\n }\n\n ch = state.input.charCodeAt(++state.position);\n }\n\n tagName = state.input.slice(_position, state.position);\n\n if (PATTERN_FLOW_INDICATORS.test(tagName)) {\n throwError(state, 'tag suffix cannot contain flow indicator characters');\n }\n }\n\n if (tagName && !PATTERN_TAG_URI.test(tagName)) {\n throwError(state, 'tag name cannot contain such characters: ' + tagName);\n }\n\n if (isVerbatim) {\n state.tag = tagName;\n\n } else if (_hasOwnProperty.call(state.tagMap, tagHandle)) {\n state.tag = state.tagMap[tagHandle] + tagName;\n\n } else if (tagHandle === '!') {\n state.tag = '!' + tagName;\n\n } else if (tagHandle === '!!') {\n state.tag = 'tag:yaml.org,2002:' + tagName;\n\n } else {\n throwError(state, 'undeclared tag handle \"' + tagHandle + '\"');\n }\n\n return true;\n}\n\nfunction readAnchorProperty(state) {\n var _position,\n ch;\n\n ch = state.input.charCodeAt(state.position);\n\n if (ch !== 0x26/* & */) return false;\n\n if (state.anchor !== null) {\n throwError(state, 'duplication of an anchor property');\n }\n\n ch = state.input.charCodeAt(++state.position);\n _position = state.position;\n\n while (ch !== 0 && !is_WS_OR_EOL(ch) && !is_FLOW_INDICATOR(ch)) {\n ch = state.input.charCodeAt(++state.position);\n }\n\n if (state.position === _position) {\n throwError(state, 'name of an anchor node must contain at least one character');\n }\n\n state.anchor = state.input.slice(_position, state.position);\n return true;\n}\n\nfunction readAlias(state) {\n var _position, alias,\n ch;\n\n ch = state.input.charCodeAt(state.position);\n\n if (ch !== 0x2A/* * */) return false;\n\n ch = state.input.charCodeAt(++state.position);\n _position = state.position;\n\n while (ch !== 0 && !is_WS_OR_EOL(ch) && !is_FLOW_INDICATOR(ch)) {\n ch = state.input.charCodeAt(++state.position);\n }\n\n if (state.position === _position) {\n throwError(state, 'name of an alias node must contain at least one character');\n }\n\n alias = state.input.slice(_position, state.position);\n\n if (!state.anchorMap.hasOwnProperty(alias)) {\n throwError(state, 'unidentified alias \"' + alias + '\"');\n }\n\n state.result = state.anchorMap[alias];\n skipSeparationSpace(state, true, -1);\n return true;\n}\n\nfunction composeNode(state, parentIndent, nodeContext, allowToSeek, allowCompact) {\n var allowBlockStyles,\n allowBlockScalars,\n allowBlockCollections,\n indentStatus = 1, // 1: this>parent, 0: this=parent, -1: this<parent\n atNewLine = false,\n hasContent = false,\n typeIndex,\n typeQuantity,\n type,\n flowIndent,\n blockIndent;\n\n if (state.listener !== null) {\n state.listener('open', state);\n }\n\n state.tag = null;\n state.anchor = null;\n state.kind = null;\n state.result = null;\n\n allowBlockStyles = allowBlockScalars = allowBlockCollections =\n CONTEXT_BLOCK_OUT === nodeContext ||\n CONTEXT_BLOCK_IN === nodeContext;\n\n if (allowToSeek) {\n if (skipSeparationSpace(state, true, -1)) {\n atNewLine = true;\n\n if (state.lineIndent > parentIndent) {\n indentStatus = 1;\n } else if (state.lineIndent === parentIndent) {\n indentStatus = 0;\n } else if (state.lineIndent < parentIndent) {\n indentStatus = -1;\n }\n }\n }\n\n if (indentStatus === 1) {\n while (readTagProperty(state) || readAnchorProperty(state)) {\n if (skipSeparationSpace(state, true, -1)) {\n atNewLine = true;\n allowBlockCollections = allowBlockStyles;\n\n if (state.lineIndent > parentIndent) {\n indentStatus = 1;\n } else if (state.lineIndent === parentIndent) {\n indentStatus = 0;\n } else if (state.lineIndent < parentIndent) {\n indentStatus = -1;\n }\n } else {\n allowBlockCollections = false;\n }\n }\n }\n\n if (allowBlockCollections) {\n allowBlockCollections = atNewLine || allowCompact;\n }\n\n if (indentStatus === 1 || CONTEXT_BLOCK_OUT === nodeContext) {\n if (CONTEXT_FLOW_IN === nodeContext || CONTEXT_FLOW_OUT === nodeContext) {\n flowIndent = parentIndent;\n } else {\n flowIndent = parentIndent + 1;\n }\n\n blockIndent = state.position - state.lineStart;\n\n if (indentStatus === 1) {\n if (allowBlockCollections &&\n (readBlockSequence(state, blockIndent) ||\n readBlockMapping(state, blockIndent, flowIndent)) ||\n readFlowCollection(state, flowIndent)) {\n hasContent = true;\n } else {\n if ((allowBlockScalars && readBlockScalar(state, flowIndent)) ||\n readSingleQuotedScalar(state, flowIndent) ||\n readDoubleQuotedScalar(state, flowIndent)) {\n hasContent = true;\n\n } else if (readAlias(state)) {\n hasContent = true;\n\n if (state.tag !== null || state.anchor !== null) {\n throwError(state, 'alias node should not have any properties');\n }\n\n } else if (readPlainScalar(state, flowIndent, CONTEXT_FLOW_IN === nodeContext)) {\n hasContent = true;\n\n if (state.tag === null) {\n state.tag = '?';\n }\n }\n\n if (state.anchor !== null) {\n state.anchorMap[state.anchor] = state.result;\n }\n }\n } else if (indentStatus === 0) {\n // Special case: block sequences are allowed to have same indentation level as the parent.\n // http://www.yaml.org/spec/1.2/spec.html#id2799784\n hasContent = allowBlockCollections && readBlockSequence(state, blockIndent);\n }\n }\n\n if (state.tag !== null && state.tag !== '!') {\n if (state.tag === '?') {\n for (typeIndex = 0, typeQuantity = state.implicitTypes.length;\n typeIndex < typeQuantity;\n typeIndex += 1) {\n type = state.implicitTypes[typeIndex];\n\n // Implicit resolving is not allowed for non-scalar types, and '?'\n // non-specific tag is only assigned to plain scalars. So, it isn't\n // needed to check for 'kind' conformity.\n\n if (type.resolve(state.result)) { // `state.result` updated in resolver if matched\n state.result = type.construct(state.result);\n state.tag = type.tag;\n if (state.anchor !== null) {\n state.anchorMap[state.anchor] = state.result;\n }\n break;\n }\n }\n } else if (_hasOwnProperty.call(state.typeMap[state.kind || 'fallback'], state.tag)) {\n type = state.typeMap[state.kind || 'fallback'][state.tag];\n\n if (state.result !== null && type.kind !== state.kind) {\n throwError(state, 'unacceptable node kind for !<' + state.tag + '> tag; it should be \"' + type.kind + '\", not \"' + state.kind + '\"');\n }\n\n if (!type.resolve(state.result)) { // `state.result` updated in resolver if matched\n throwError(state, 'cannot resolve a node with !<' + state.tag + '> explicit tag');\n } else {\n state.result = type.construct(state.result);\n if (state.anchor !== null) {\n state.anchorMap[state.anchor] = state.result;\n }\n }\n } else {\n throwError(state, 'unknown tag !<' + state.tag + '>');\n }\n }\n\n if (state.listener !== null) {\n state.listener('close', state);\n }\n return state.tag !== null || state.anchor !== null || hasContent;\n}\n\nfunction readDocument(state) {\n var documentStart = state.position,\n _position,\n directiveName,\n directiveArgs,\n hasDirectives = false,\n ch;\n\n state.version = null;\n state.checkLineBreaks = state.legacy;\n state.tagMap = {};\n state.anchorMap = {};\n\n while ((ch = state.input.charCodeAt(state.position)) !== 0) {\n skipSeparationSpace(state, true, -1);\n\n ch = state.input.charCodeAt(state.position);\n\n if (state.lineIndent > 0 || ch !== 0x25/* % */) {\n break;\n }\n\n hasDirectives = true;\n ch = state.input.charCodeAt(++state.position);\n _position = state.position;\n\n while (ch !== 0 && !is_WS_OR_EOL(ch)) {\n ch = state.input.charCodeAt(++state.position);\n }\n\n directiveName = state.input.slice(_position, state.position);\n directiveArgs = [];\n\n if (directiveName.length < 1) {\n throwError(state, 'directive name must not be less than one character in length');\n }\n\n while (ch !== 0) {\n while (is_WHITE_SPACE(ch)) {\n ch = state.input.charCodeAt(++state.position);\n }\n\n if (ch === 0x23/* # */) {\n do { ch = state.input.charCodeAt(++state.position); }\n while (ch !== 0 && !is_EOL(ch));\n break;\n }\n\n if (is_EOL(ch)) break;\n\n _position = state.position;\n\n while (ch !== 0 && !is_WS_OR_EOL(ch)) {\n ch = state.input.charCodeAt(++state.position);\n }\n\n directiveArgs.push(state.input.slice(_position, state.position));\n }\n\n if (ch !== 0) readLineBreak(state);\n\n if (_hasOwnProperty.call(directiveHandlers, directiveName)) {\n directiveHandlers[directiveName](state, directiveName, directiveArgs);\n } else {\n throwWarning(state, 'unknown document directive \"' + directiveName + '\"');\n }\n }\n\n skipSeparationSpace(state, true, -1);\n\n if (state.lineIndent === 0 &&\n state.input.charCodeAt(state.position) === 0x2D/* - */ &&\n state.input.charCodeAt(state.position + 1) === 0x2D/* - */ &&\n state.input.charCodeAt(state.position + 2) === 0x2D/* - */) {\n state.position += 3;\n skipSeparationSpace(state, true, -1);\n\n } else if (hasDirectives) {\n throwError(state, 'directives end mark is expected');\n }\n\n composeNode(state, state.lineIndent - 1, CONTEXT_BLOCK_OUT, false, true);\n skipSeparationSpace(state, true, -1);\n\n if (state.checkLineBreaks &&\n PATTERN_NON_ASCII_LINE_BREAKS.test(state.input.slice(documentStart, state.position))) {\n throwWarning(state, 'non-ASCII line breaks are interpreted as content');\n }\n\n state.documents.push(state.result);\n\n if (state.position === state.lineStart && testDocumentSeparator(state)) {\n\n if (state.input.charCodeAt(state.position) === 0x2E/* . */) {\n state.position += 3;\n skipSeparationSpace(state, true, -1);\n }\n return;\n }\n\n if (state.position < (state.length - 1)) {\n throwError(state, 'end of the stream or a document separator is expected');\n } else {\n return;\n }\n}\n\n\nfunction loadDocuments(input, options) {\n input = String(input);\n options = options || {};\n\n if (input.length !== 0) {\n\n // Add tailing `\\n` if not exists\n if (input.charCodeAt(input.length - 1) !== 0x0A/* LF */ &&\n input.charCodeAt(input.length - 1) !== 0x0D/* CR */) {\n input += '\\n';\n }\n\n // Strip BOM\n if (input.charCodeAt(0) === 0xFEFF) {\n input = input.slice(1);\n }\n }\n\n var state = new State(input, options);\n\n // Use 0 as string terminator. That significantly simplifies bounds check.\n state.input += '\\0';\n\n while (state.input.charCodeAt(state.position) === 0x20/* Space */) {\n state.lineIndent += 1;\n state.position += 1;\n }\n\n while (state.position < (state.length - 1)) {\n readDocument(state);\n }\n\n return state.documents;\n}\n\n\nfunction loadAll(input, iterator, options) {\n var documents = loadDocuments(input, options), index, length;\n\n for (index = 0, length = documents.length; index < length; index += 1) {\n iterator(documents[index]);\n }\n}\n\n\nfunction load(input, options) {\n var documents = loadDocuments(input, options);\n\n if (documents.length === 0) {\n /*eslint-disable no-undefined*/\n return undefined;\n } else if (documents.length === 1) {\n return documents[0];\n }\n throw new YAMLException('expected a single document in the stream, but found more');\n}\n\n\nfunction safeLoadAll(input, output, options) {\n loadAll(input, output, common.extend({ schema: DEFAULT_SAFE_SCHEMA }, options));\n}\n\n\nfunction safeLoad(input, options) {\n return load(input, common.extend({ schema: DEFAULT_SAFE_SCHEMA }, options));\n}\n\n\nmodule.exports.loadAll = loadAll;\nmodule.exports.load = load;\nmodule.exports.safeLoadAll = safeLoadAll;\nmodule.exports.safeLoad = safeLoad;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/js-yaml/lib/js-yaml/loader.js\n ** module id = 439\n ** module chunks = 0\n **/","'use strict';\n\n\nvar common = require('./common');\n\n\nfunction Mark(name, buffer, position, line, column) {\n this.name = name;\n this.buffer = buffer;\n this.position = position;\n this.line = line;\n this.column = column;\n}\n\n\nMark.prototype.getSnippet = function getSnippet(indent, maxLength) {\n var head, start, tail, end, snippet;\n\n if (!this.buffer) return null;\n\n indent = indent || 4;\n maxLength = maxLength || 75;\n\n head = '';\n start = this.position;\n\n while (start > 0 && '\\x00\\r\\n\\x85\\u2028\\u2029'.indexOf(this.buffer.charAt(start - 1)) === -1) {\n start -= 1;\n if (this.position - start > (maxLength / 2 - 1)) {\n head = ' ... ';\n start += 5;\n break;\n }\n }\n\n tail = '';\n end = this.position;\n\n while (end < this.buffer.length && '\\x00\\r\\n\\x85\\u2028\\u2029'.indexOf(this.buffer.charAt(end)) === -1) {\n end += 1;\n if (end - this.position > (maxLength / 2 - 1)) {\n tail = ' ... ';\n end -= 5;\n break;\n }\n }\n\n snippet = this.buffer.slice(start, end);\n\n return common.repeat(' ', indent) + head + snippet + tail + '\\n' +\n common.repeat(' ', indent + this.position - start + head.length) + '^';\n};\n\n\nMark.prototype.toString = function toString(compact) {\n var snippet, where = '';\n\n if (this.name) {\n where += 'in \"' + this.name + '\" ';\n }\n\n where += 'at line ' + (this.line + 1) + ', column ' + (this.column + 1);\n\n if (!compact) {\n snippet = this.getSnippet();\n\n if (snippet) {\n where += ':\\n' + snippet;\n }\n }\n\n return where;\n};\n\n\nmodule.exports = Mark;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/js-yaml/lib/js-yaml/mark.js\n ** module id = 440\n ** module chunks = 0\n **/","'use strict';\n\n/*eslint-disable no-bitwise*/\n\nvar NodeBuffer;\n\ntry {\n // A trick for browserified version, to not include `Buffer` shim\n var _require = require;\n NodeBuffer = _require('buffer').Buffer;\n} catch (__) {}\n\nvar Type = require('../type');\n\n\n// [ 64, 65, 66 ] -> [ padding, CR, LF ]\nvar BASE64_MAP = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\\n\\r';\n\n\nfunction resolveYamlBinary(data) {\n if (data === null) return false;\n\n var code, idx, bitlen = 0, max = data.length, map = BASE64_MAP;\n\n // Convert one by one.\n for (idx = 0; idx < max; idx++) {\n code = map.indexOf(data.charAt(idx));\n\n // Skip CR/LF\n if (code > 64) continue;\n\n // Fail on illegal characters\n if (code < 0) return false;\n\n bitlen += 6;\n }\n\n // If there are any bits left, source was corrupted\n return (bitlen % 8) === 0;\n}\n\nfunction constructYamlBinary(data) {\n var idx, tailbits,\n input = data.replace(/[\\r\\n=]/g, ''), // remove CR/LF & padding to simplify scan\n max = input.length,\n map = BASE64_MAP,\n bits = 0,\n result = [];\n\n // Collect by 6*4 bits (3 bytes)\n\n for (idx = 0; idx < max; idx++) {\n if ((idx % 4 === 0) && idx) {\n result.push((bits >> 16) & 0xFF);\n result.push((bits >> 8) & 0xFF);\n result.push(bits & 0xFF);\n }\n\n bits = (bits << 6) | map.indexOf(input.charAt(idx));\n }\n\n // Dump tail\n\n tailbits = (max % 4) * 6;\n\n if (tailbits === 0) {\n result.push((bits >> 16) & 0xFF);\n result.push((bits >> 8) & 0xFF);\n result.push(bits & 0xFF);\n } else if (tailbits === 18) {\n result.push((bits >> 10) & 0xFF);\n result.push((bits >> 2) & 0xFF);\n } else if (tailbits === 12) {\n result.push((bits >> 4) & 0xFF);\n }\n\n // Wrap into Buffer for NodeJS and leave Array for browser\n if (NodeBuffer) return new NodeBuffer(result);\n\n return result;\n}\n\nfunction representYamlBinary(object /*, style*/) {\n var result = '', bits = 0, idx, tail,\n max = object.length,\n map = BASE64_MAP;\n\n // Convert every three bytes to 4 ASCII characters.\n\n for (idx = 0; idx < max; idx++) {\n if ((idx % 3 === 0) && idx) {\n result += map[(bits >> 18) & 0x3F];\n result += map[(bits >> 12) & 0x3F];\n result += map[(bits >> 6) & 0x3F];\n result += map[bits & 0x3F];\n }\n\n bits = (bits << 8) + object[idx];\n }\n\n // Dump tail\n\n tail = max % 3;\n\n if (tail === 0) {\n result += map[(bits >> 18) & 0x3F];\n result += map[(bits >> 12) & 0x3F];\n result += map[(bits >> 6) & 0x3F];\n result += map[bits & 0x3F];\n } else if (tail === 2) {\n result += map[(bits >> 10) & 0x3F];\n result += map[(bits >> 4) & 0x3F];\n result += map[(bits << 2) & 0x3F];\n result += map[64];\n } else if (tail === 1) {\n result += map[(bits >> 2) & 0x3F];\n result += map[(bits << 4) & 0x3F];\n result += map[64];\n result += map[64];\n }\n\n return result;\n}\n\nfunction isBinary(object) {\n return NodeBuffer && NodeBuffer.isBuffer(object);\n}\n\nmodule.exports = new Type('tag:yaml.org,2002:binary', {\n kind: 'scalar',\n resolve: resolveYamlBinary,\n construct: constructYamlBinary,\n predicate: isBinary,\n represent: representYamlBinary\n});\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/js-yaml/lib/js-yaml/type/binary.js\n ** module id = 441\n ** module chunks = 0\n **/","'use strict';\n\nvar Type = require('../type');\n\nfunction resolveYamlBoolean(data) {\n if (data === null) return false;\n\n var max = data.length;\n\n return (max === 4 && (data === 'true' || data === 'True' || data === 'TRUE')) ||\n (max === 5 && (data === 'false' || data === 'False' || data === 'FALSE'));\n}\n\nfunction constructYamlBoolean(data) {\n return data === 'true' ||\n data === 'True' ||\n data === 'TRUE';\n}\n\nfunction isBoolean(object) {\n return Object.prototype.toString.call(object) === '[object Boolean]';\n}\n\nmodule.exports = new Type('tag:yaml.org,2002:bool', {\n kind: 'scalar',\n resolve: resolveYamlBoolean,\n construct: constructYamlBoolean,\n predicate: isBoolean,\n represent: {\n lowercase: function (object) { return object ? 'true' : 'false'; },\n uppercase: function (object) { return object ? 'TRUE' : 'FALSE'; },\n camelcase: function (object) { return object ? 'True' : 'False'; }\n },\n defaultStyle: 'lowercase'\n});\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/js-yaml/lib/js-yaml/type/bool.js\n ** module id = 442\n ** module chunks = 0\n **/","'use strict';\n\nvar common = require('../common');\nvar Type = require('../type');\n\nvar YAML_FLOAT_PATTERN = new RegExp(\n '^(?:[-+]?(?:[0-9][0-9_]*)\\\\.[0-9_]*(?:[eE][-+][0-9]+)?' +\n '|\\\\.[0-9_]+(?:[eE][-+][0-9]+)?' +\n '|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\\\\.[0-9_]*' +\n '|[-+]?\\\\.(?:inf|Inf|INF)' +\n '|\\\\.(?:nan|NaN|NAN))$');\n\nfunction resolveYamlFloat(data) {\n if (data === null) return false;\n\n if (!YAML_FLOAT_PATTERN.test(data)) return false;\n\n return true;\n}\n\nfunction constructYamlFloat(data) {\n var value, sign, base, digits;\n\n value = data.replace(/_/g, '').toLowerCase();\n sign = value[0] === '-' ? -1 : 1;\n digits = [];\n\n if ('+-'.indexOf(value[0]) >= 0) {\n value = value.slice(1);\n }\n\n if (value === '.inf') {\n return (sign === 1) ? Number.POSITIVE_INFINITY : Number.NEGATIVE_INFINITY;\n\n } else if (value === '.nan') {\n return NaN;\n\n } else if (value.indexOf(':') >= 0) {\n value.split(':').forEach(function (v) {\n digits.unshift(parseFloat(v, 10));\n });\n\n value = 0.0;\n base = 1;\n\n digits.forEach(function (d) {\n value += d * base;\n base *= 60;\n });\n\n return sign * value;\n\n }\n return sign * parseFloat(value, 10);\n}\n\n\nvar SCIENTIFIC_WITHOUT_DOT = /^[-+]?[0-9]+e/;\n\nfunction representYamlFloat(object, style) {\n var res;\n\n if (isNaN(object)) {\n switch (style) {\n case 'lowercase': return '.nan';\n case 'uppercase': return '.NAN';\n case 'camelcase': return '.NaN';\n }\n } else if (Number.POSITIVE_INFINITY === object) {\n switch (style) {\n case 'lowercase': return '.inf';\n case 'uppercase': return '.INF';\n case 'camelcase': return '.Inf';\n }\n } else if (Number.NEGATIVE_INFINITY === object) {\n switch (style) {\n case 'lowercase': return '-.inf';\n case 'uppercase': return '-.INF';\n case 'camelcase': return '-.Inf';\n }\n } else if (common.isNegativeZero(object)) {\n return '-0.0';\n }\n\n res = object.toString(10);\n\n // JS stringifier can build scientific format without dots: 5e-100,\n // while YAML requres dot: 5.e-100. Fix it with simple hack\n\n return SCIENTIFIC_WITHOUT_DOT.test(res) ? res.replace('e', '.e') : res;\n}\n\nfunction isFloat(object) {\n return (Object.prototype.toString.call(object) === '[object Number]') &&\n (object % 1 !== 0 || common.isNegativeZero(object));\n}\n\nmodule.exports = new Type('tag:yaml.org,2002:float', {\n kind: 'scalar',\n resolve: resolveYamlFloat,\n construct: constructYamlFloat,\n predicate: isFloat,\n represent: representYamlFloat,\n defaultStyle: 'lowercase'\n});\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/js-yaml/lib/js-yaml/type/float.js\n ** module id = 443\n ** module chunks = 0\n **/","'use strict';\n\nvar common = require('../common');\nvar Type = require('../type');\n\nfunction isHexCode(c) {\n return ((0x30/* 0 */ <= c) && (c <= 0x39/* 9 */)) ||\n ((0x41/* A */ <= c) && (c <= 0x46/* F */)) ||\n ((0x61/* a */ <= c) && (c <= 0x66/* f */));\n}\n\nfunction isOctCode(c) {\n return ((0x30/* 0 */ <= c) && (c <= 0x37/* 7 */));\n}\n\nfunction isDecCode(c) {\n return ((0x30/* 0 */ <= c) && (c <= 0x39/* 9 */));\n}\n\nfunction resolveYamlInteger(data) {\n if (data === null) return false;\n\n var max = data.length,\n index = 0,\n hasDigits = false,\n ch;\n\n if (!max) return false;\n\n ch = data[index];\n\n // sign\n if (ch === '-' || ch === '+') {\n ch = data[++index];\n }\n\n if (ch === '0') {\n // 0\n if (index + 1 === max) return true;\n ch = data[++index];\n\n // base 2, base 8, base 16\n\n if (ch === 'b') {\n // base 2\n index++;\n\n for (; index < max; index++) {\n ch = data[index];\n if (ch === '_') continue;\n if (ch !== '0' && ch !== '1') return false;\n hasDigits = true;\n }\n return hasDigits;\n }\n\n\n if (ch === 'x') {\n // base 16\n index++;\n\n for (; index < max; index++) {\n ch = data[index];\n if (ch === '_') continue;\n if (!isHexCode(data.charCodeAt(index))) return false;\n hasDigits = true;\n }\n return hasDigits;\n }\n\n // base 8\n for (; index < max; index++) {\n ch = data[index];\n if (ch === '_') continue;\n if (!isOctCode(data.charCodeAt(index))) return false;\n hasDigits = true;\n }\n return hasDigits;\n }\n\n // base 10 (except 0) or base 60\n\n for (; index < max; index++) {\n ch = data[index];\n if (ch === '_') continue;\n if (ch === ':') break;\n if (!isDecCode(data.charCodeAt(index))) {\n return false;\n }\n hasDigits = true;\n }\n\n if (!hasDigits) return false;\n\n // if !base60 - done;\n if (ch !== ':') return true;\n\n // base60 almost not used, no needs to optimize\n return /^(:[0-5]?[0-9])+$/.test(data.slice(index));\n}\n\nfunction constructYamlInteger(data) {\n var value = data, sign = 1, ch, base, digits = [];\n\n if (value.indexOf('_') !== -1) {\n value = value.replace(/_/g, '');\n }\n\n ch = value[0];\n\n if (ch === '-' || ch === '+') {\n if (ch === '-') sign = -1;\n value = value.slice(1);\n ch = value[0];\n }\n\n if (value === '0') return 0;\n\n if (ch === '0') {\n if (value[1] === 'b') return sign * parseInt(value.slice(2), 2);\n if (value[1] === 'x') return sign * parseInt(value, 16);\n return sign * parseInt(value, 8);\n }\n\n if (value.indexOf(':') !== -1) {\n value.split(':').forEach(function (v) {\n digits.unshift(parseInt(v, 10));\n });\n\n value = 0;\n base = 1;\n\n digits.forEach(function (d) {\n value += (d * base);\n base *= 60;\n });\n\n return sign * value;\n\n }\n\n return sign * parseInt(value, 10);\n}\n\nfunction isInteger(object) {\n return (Object.prototype.toString.call(object)) === '[object Number]' &&\n (object % 1 === 0 && !common.isNegativeZero(object));\n}\n\nmodule.exports = new Type('tag:yaml.org,2002:int', {\n kind: 'scalar',\n resolve: resolveYamlInteger,\n construct: constructYamlInteger,\n predicate: isInteger,\n represent: {\n binary: function (object) { return '0b' + object.toString(2); },\n octal: function (object) { return '0' + object.toString(8); },\n decimal: function (object) { return object.toString(10); },\n hexadecimal: function (object) { return '0x' + object.toString(16).toUpperCase(); }\n },\n defaultStyle: 'decimal',\n styleAliases: {\n binary: [ 2, 'bin' ],\n octal: [ 8, 'oct' ],\n decimal: [ 10, 'dec' ],\n hexadecimal: [ 16, 'hex' ]\n }\n});\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/js-yaml/lib/js-yaml/type/int.js\n ** module id = 444\n ** module chunks = 0\n **/","'use strict';\n\nvar esprima;\n\n// Browserified version does not have esprima\n//\n// 1. For node.js just require module as deps\n// 2. For browser try to require mudule via external AMD system.\n// If not found - try to fallback to window.esprima. If not\n// found too - then fail to parse.\n//\ntry {\n // workaround to exclude package from browserify list.\n var _require = require;\n esprima = _require('esprima');\n} catch (_) {\n /*global window */\n if (typeof window !== 'undefined') esprima = window.esprima;\n}\n\nvar Type = require('../../type');\n\nfunction resolveJavascriptFunction(data) {\n if (data === null) return false;\n\n try {\n var source = '(' + data + ')',\n ast = esprima.parse(source, { range: true });\n\n if (ast.type !== 'Program' ||\n ast.body.length !== 1 ||\n ast.body[0].type !== 'ExpressionStatement' ||\n ast.body[0].expression.type !== 'FunctionExpression') {\n return false;\n }\n\n return true;\n } catch (err) {\n return false;\n }\n}\n\nfunction constructJavascriptFunction(data) {\n /*jslint evil:true*/\n\n var source = '(' + data + ')',\n ast = esprima.parse(source, { range: true }),\n params = [],\n body;\n\n if (ast.type !== 'Program' ||\n ast.body.length !== 1 ||\n ast.body[0].type !== 'ExpressionStatement' ||\n ast.body[0].expression.type !== 'FunctionExpression') {\n throw new Error('Failed to resolve function');\n }\n\n ast.body[0].expression.params.forEach(function (param) {\n params.push(param.name);\n });\n\n body = ast.body[0].expression.body.range;\n\n // Esprima's ranges include the first '{' and the last '}' characters on\n // function expressions. So cut them out.\n /*eslint-disable no-new-func*/\n return new Function(params, source.slice(body[0] + 1, body[1] - 1));\n}\n\nfunction representJavascriptFunction(object /*, style*/) {\n return object.toString();\n}\n\nfunction isFunction(object) {\n return Object.prototype.toString.call(object) === '[object Function]';\n}\n\nmodule.exports = new Type('tag:yaml.org,2002:js/function', {\n kind: 'scalar',\n resolve: resolveJavascriptFunction,\n construct: constructJavascriptFunction,\n predicate: isFunction,\n represent: representJavascriptFunction\n});\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/js-yaml/lib/js-yaml/type/js/function.js\n ** module id = 445\n ** module chunks = 0\n **/","'use strict';\n\nvar Type = require('../../type');\n\nfunction resolveJavascriptRegExp(data) {\n if (data === null) return false;\n if (data.length === 0) return false;\n\n var regexp = data,\n tail = /\\/([gim]*)$/.exec(data),\n modifiers = '';\n\n // if regexp starts with '/' it can have modifiers and must be properly closed\n // `/foo/gim` - modifiers tail can be maximum 3 chars\n if (regexp[0] === '/') {\n if (tail) modifiers = tail[1];\n\n if (modifiers.length > 3) return false;\n // if expression starts with /, is should be properly terminated\n if (regexp[regexp.length - modifiers.length - 1] !== '/') return false;\n }\n\n return true;\n}\n\nfunction constructJavascriptRegExp(data) {\n var regexp = data,\n tail = /\\/([gim]*)$/.exec(data),\n modifiers = '';\n\n // `/foo/gim` - tail can be maximum 4 chars\n if (regexp[0] === '/') {\n if (tail) modifiers = tail[1];\n regexp = regexp.slice(1, regexp.length - modifiers.length - 1);\n }\n\n return new RegExp(regexp, modifiers);\n}\n\nfunction representJavascriptRegExp(object /*, style*/) {\n var result = '/' + object.source + '/';\n\n if (object.global) result += 'g';\n if (object.multiline) result += 'm';\n if (object.ignoreCase) result += 'i';\n\n return result;\n}\n\nfunction isRegExp(object) {\n return Object.prototype.toString.call(object) === '[object RegExp]';\n}\n\nmodule.exports = new Type('tag:yaml.org,2002:js/regexp', {\n kind: 'scalar',\n resolve: resolveJavascriptRegExp,\n construct: constructJavascriptRegExp,\n predicate: isRegExp,\n represent: representJavascriptRegExp\n});\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/js-yaml/lib/js-yaml/type/js/regexp.js\n ** module id = 446\n ** module chunks = 0\n **/","'use strict';\n\nvar Type = require('../../type');\n\nfunction resolveJavascriptUndefined() {\n return true;\n}\n\nfunction constructJavascriptUndefined() {\n /*eslint-disable no-undefined*/\n return undefined;\n}\n\nfunction representJavascriptUndefined() {\n return '';\n}\n\nfunction isUndefined(object) {\n return typeof object === 'undefined';\n}\n\nmodule.exports = new Type('tag:yaml.org,2002:js/undefined', {\n kind: 'scalar',\n resolve: resolveJavascriptUndefined,\n construct: constructJavascriptUndefined,\n predicate: isUndefined,\n represent: representJavascriptUndefined\n});\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/js-yaml/lib/js-yaml/type/js/undefined.js\n ** module id = 447\n ** module chunks = 0\n **/","'use strict';\n\nvar Type = require('../type');\n\nmodule.exports = new Type('tag:yaml.org,2002:map', {\n kind: 'mapping',\n construct: function (data) { return data !== null ? data : {}; }\n});\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/js-yaml/lib/js-yaml/type/map.js\n ** module id = 448\n ** module chunks = 0\n **/","'use strict';\n\nvar Type = require('../type');\n\nfunction resolveYamlMerge(data) {\n return data === '<<' || data === null;\n}\n\nmodule.exports = new Type('tag:yaml.org,2002:merge', {\n kind: 'scalar',\n resolve: resolveYamlMerge\n});\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/js-yaml/lib/js-yaml/type/merge.js\n ** module id = 449\n ** module chunks = 0\n **/","'use strict';\n\nvar Type = require('../type');\n\nfunction resolveYamlNull(data) {\n if (data === null) return true;\n\n var max = data.length;\n\n return (max === 1 && data === '~') ||\n (max === 4 && (data === 'null' || data === 'Null' || data === 'NULL'));\n}\n\nfunction constructYamlNull() {\n return null;\n}\n\nfunction isNull(object) {\n return object === null;\n}\n\nmodule.exports = new Type('tag:yaml.org,2002:null', {\n kind: 'scalar',\n resolve: resolveYamlNull,\n construct: constructYamlNull,\n predicate: isNull,\n represent: {\n canonical: function () { return '~'; },\n lowercase: function () { return 'null'; },\n uppercase: function () { return 'NULL'; },\n camelcase: function () { return 'Null'; }\n },\n defaultStyle: 'lowercase'\n});\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/js-yaml/lib/js-yaml/type/null.js\n ** module id = 450\n ** module chunks = 0\n **/","'use strict';\n\nvar Type = require('../type');\n\nvar _hasOwnProperty = Object.prototype.hasOwnProperty;\nvar _toString = Object.prototype.toString;\n\nfunction resolveYamlOmap(data) {\n if (data === null) return true;\n\n var objectKeys = [], index, length, pair, pairKey, pairHasKey,\n object = data;\n\n for (index = 0, length = object.length; index < length; index += 1) {\n pair = object[index];\n pairHasKey = false;\n\n if (_toString.call(pair) !== '[object Object]') return false;\n\n for (pairKey in pair) {\n if (_hasOwnProperty.call(pair, pairKey)) {\n if (!pairHasKey) pairHasKey = true;\n else return false;\n }\n }\n\n if (!pairHasKey) return false;\n\n if (objectKeys.indexOf(pairKey) === -1) objectKeys.push(pairKey);\n else return false;\n }\n\n return true;\n}\n\nfunction constructYamlOmap(data) {\n return data !== null ? data : [];\n}\n\nmodule.exports = new Type('tag:yaml.org,2002:omap', {\n kind: 'sequence',\n resolve: resolveYamlOmap,\n construct: constructYamlOmap\n});\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/js-yaml/lib/js-yaml/type/omap.js\n ** module id = 451\n ** module chunks = 0\n **/","'use strict';\n\nvar Type = require('../type');\n\nvar _toString = Object.prototype.toString;\n\nfunction resolveYamlPairs(data) {\n if (data === null) return true;\n\n var index, length, pair, keys, result,\n object = data;\n\n result = new Array(object.length);\n\n for (index = 0, length = object.length; index < length; index += 1) {\n pair = object[index];\n\n if (_toString.call(pair) !== '[object Object]') return false;\n\n keys = Object.keys(pair);\n\n if (keys.length !== 1) return false;\n\n result[index] = [ keys[0], pair[keys[0]] ];\n }\n\n return true;\n}\n\nfunction constructYamlPairs(data) {\n if (data === null) return [];\n\n var index, length, pair, keys, result,\n object = data;\n\n result = new Array(object.length);\n\n for (index = 0, length = object.length; index < length; index += 1) {\n pair = object[index];\n\n keys = Object.keys(pair);\n\n result[index] = [ keys[0], pair[keys[0]] ];\n }\n\n return result;\n}\n\nmodule.exports = new Type('tag:yaml.org,2002:pairs', {\n kind: 'sequence',\n resolve: resolveYamlPairs,\n construct: constructYamlPairs\n});\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/js-yaml/lib/js-yaml/type/pairs.js\n ** module id = 452\n ** module chunks = 0\n **/","'use strict';\n\nvar Type = require('../type');\n\nmodule.exports = new Type('tag:yaml.org,2002:seq', {\n kind: 'sequence',\n construct: function (data) { return data !== null ? data : []; }\n});\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/js-yaml/lib/js-yaml/type/seq.js\n ** module id = 453\n ** module chunks = 0\n **/","'use strict';\n\nvar Type = require('../type');\n\nvar _hasOwnProperty = Object.prototype.hasOwnProperty;\n\nfunction resolveYamlSet(data) {\n if (data === null) return true;\n\n var key, object = data;\n\n for (key in object) {\n if (_hasOwnProperty.call(object, key)) {\n if (object[key] !== null) return false;\n }\n }\n\n return true;\n}\n\nfunction constructYamlSet(data) {\n return data !== null ? data : {};\n}\n\nmodule.exports = new Type('tag:yaml.org,2002:set', {\n kind: 'mapping',\n resolve: resolveYamlSet,\n construct: constructYamlSet\n});\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/js-yaml/lib/js-yaml/type/set.js\n ** module id = 454\n ** module chunks = 0\n **/","'use strict';\n\nvar Type = require('../type');\n\nmodule.exports = new Type('tag:yaml.org,2002:str', {\n kind: 'scalar',\n construct: function (data) { return data !== null ? data : ''; }\n});\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/js-yaml/lib/js-yaml/type/str.js\n ** module id = 455\n ** module chunks = 0\n **/","'use strict';\n\nvar Type = require('../type');\n\nvar YAML_DATE_REGEXP = new RegExp(\n '^([0-9][0-9][0-9][0-9])' + // [1] year\n '-([0-9][0-9])' + // [2] month\n '-([0-9][0-9])$'); // [3] day\n\nvar YAML_TIMESTAMP_REGEXP = new RegExp(\n '^([0-9][0-9][0-9][0-9])' + // [1] year\n '-([0-9][0-9]?)' + // [2] month\n '-([0-9][0-9]?)' + // [3] day\n '(?:[Tt]|[ \\\\t]+)' + // ...\n '([0-9][0-9]?)' + // [4] hour\n ':([0-9][0-9])' + // [5] minute\n ':([0-9][0-9])' + // [6] second\n '(?:\\\\.([0-9]*))?' + // [7] fraction\n '(?:[ \\\\t]*(Z|([-+])([0-9][0-9]?)' + // [8] tz [9] tz_sign [10] tz_hour\n '(?::([0-9][0-9]))?))?$'); // [11] tz_minute\n\nfunction resolveYamlTimestamp(data) {\n if (data === null) return false;\n if (YAML_DATE_REGEXP.exec(data) !== null) return true;\n if (YAML_TIMESTAMP_REGEXP.exec(data) !== null) return true;\n return false;\n}\n\nfunction constructYamlTimestamp(data) {\n var match, year, month, day, hour, minute, second, fraction = 0,\n delta = null, tz_hour, tz_minute, date;\n\n match = YAML_DATE_REGEXP.exec(data);\n if (match === null) match = YAML_TIMESTAMP_REGEXP.exec(data);\n\n if (match === null) throw new Error('Date resolve error');\n\n // match: [1] year [2] month [3] day\n\n year = +(match[1]);\n month = +(match[2]) - 1; // JS month starts with 0\n day = +(match[3]);\n\n if (!match[4]) { // no hour\n return new Date(Date.UTC(year, month, day));\n }\n\n // match: [4] hour [5] minute [6] second [7] fraction\n\n hour = +(match[4]);\n minute = +(match[5]);\n second = +(match[6]);\n\n if (match[7]) {\n fraction = match[7].slice(0, 3);\n while (fraction.length < 3) { // milli-seconds\n fraction += '0';\n }\n fraction = +fraction;\n }\n\n // match: [8] tz [9] tz_sign [10] tz_hour [11] tz_minute\n\n if (match[9]) {\n tz_hour = +(match[10]);\n tz_minute = +(match[11] || 0);\n delta = (tz_hour * 60 + tz_minute) * 60000; // delta in mili-seconds\n if (match[9] === '-') delta = -delta;\n }\n\n date = new Date(Date.UTC(year, month, day, hour, minute, second, fraction));\n\n if (delta) date.setTime(date.getTime() - delta);\n\n return date;\n}\n\nfunction representYamlTimestamp(object /*, style*/) {\n return object.toISOString();\n}\n\nmodule.exports = new Type('tag:yaml.org,2002:timestamp', {\n kind: 'scalar',\n resolve: resolveYamlTimestamp,\n construct: constructYamlTimestamp,\n instanceOf: Date,\n represent: representYamlTimestamp\n});\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/js-yaml/lib/js-yaml/type/timestamp.js\n ** module id = 456\n ** module chunks = 0\n **/","/**\n * lodash (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors <https://jquery.org/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used to compose bitmasks for comparison styles. */\nvar UNORDERED_COMPARE_FLAG = 1,\n PARTIAL_COMPARE_FLAG = 2;\n\n/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n return freeProcess && freeProcess.binding('util');\n } catch (e) {}\n}());\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * A specialized version of `_.some` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array ? array.length : 0;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\n/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\n/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\n/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\n/**\n * Checks if `value` is a host object in IE < 9.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a host object, else `false`.\n */\nfunction isHostObject(value) {\n // Many host objects are `Object` objects that can coerce to strings\n // despite having improperly defined `toString` methods.\n var result = false;\n if (value != null && typeof value.toString != 'function') {\n try {\n result = !!(value + '');\n } catch (e) {}\n }\n return result;\n}\n\n/**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\nfunction mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n}\n\n/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\n/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype,\n funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/** Built-in value references. */\nvar Symbol = root.Symbol,\n Uint8Array = root.Uint8Array,\n propertyIsEnumerable = objectProto.propertyIsEnumerable,\n splice = arrayProto.splice;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = overArg(Object.keys, Object);\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView'),\n Map = getNative(root, 'Map'),\n Promise = getNative(root, 'Promise'),\n Set = getNative(root, 'Set'),\n WeakMap = getNative(root, 'WeakMap'),\n nativeCreate = getNative(Object, 'create');\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n}\n\n/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n return this.has(key) && delete this.__data__[key];\n}\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? data[key] !== undefined : hasOwnProperty.call(data, key);\n}\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n}\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n return true;\n}\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n return getMapData(this, key)['delete'](key);\n}\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n getMapData(this, key).set(key, value);\n return this;\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\n/**\n *\n * Creates an array cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\nfunction SetCache(values) {\n var index = -1,\n length = values ? values.length : 0;\n\n this.__data__ = new MapCache;\n while (++index < length) {\n this.add(values[index]);\n }\n}\n\n/**\n * Adds `value` to the array cache.\n *\n * @private\n * @name add\n * @memberOf SetCache\n * @alias push\n * @param {*} value The value to cache.\n * @returns {Object} Returns the cache instance.\n */\nfunction setCacheAdd(value) {\n this.__data__.set(value, HASH_UNDEFINED);\n return this;\n}\n\n/**\n * Checks if `value` is in the array cache.\n *\n * @private\n * @name has\n * @memberOf SetCache\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */\nfunction setCacheHas(value) {\n return this.__data__.has(value);\n}\n\n// Add methods to `SetCache`.\nSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\nSetCache.prototype.has = setCacheHas;\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n this.__data__ = new ListCache(entries);\n}\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n}\n\n/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n return this.__data__['delete'](key);\n}\n\n/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\n/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var cache = this.__data__;\n if (cache instanceof ListCache) {\n var pairs = cache.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n return this;\n }\n cache = this.__data__ = new MapCache(pairs);\n }\n cache.set(key, value);\n return this;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n // Safari 8.1 makes `arguments.callee` enumerable in strict mode.\n // Safari 9 makes `arguments.length` enumerable in strict mode.\n var result = (isArray(value) || isArguments(value))\n ? baseTimes(value.length, String)\n : [];\n\n var length = result.length,\n skipIndexes = !!length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (key == 'length' || isIndex(key, length)))) {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\n/**\n * The base implementation of `getTag`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n return objectToString.call(value);\n}\n\n/**\n * The base implementation of `_.isEqual` which supports partial comparisons\n * and tracks traversed objects.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {boolean} [bitmask] The bitmask of comparison flags.\n * The bitmask may be composed of the following flags:\n * 1 - Unordered comparison\n * 2 - Partial comparison\n * @param {Object} [stack] Tracks traversed `value` and `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, customizer, bitmask, stack) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObject(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, baseIsEqual, customizer, bitmask, stack);\n}\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {number} [bitmask] The bitmask of comparison flags. See `baseIsEqual`\n * for more details.\n * @param {Object} [stack] Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, equalFunc, customizer, bitmask, stack) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = arrayTag,\n othTag = arrayTag;\n\n if (!objIsArr) {\n objTag = getTag(object);\n objTag = objTag == argsTag ? objectTag : objTag;\n }\n if (!othIsArr) {\n othTag = getTag(other);\n othTag = othTag == argsTag ? objectTag : othTag;\n }\n var objIsObj = objTag == objectTag && !isHostObject(object),\n othIsObj = othTag == objectTag && !isHostObject(other),\n isSameTag = objTag == othTag;\n\n if (isSameTag && !objIsObj) {\n stack || (stack = new Stack);\n return (objIsArr || isTypedArray(object))\n ? equalArrays(object, other, equalFunc, customizer, bitmask, stack)\n : equalByTag(object, other, objTag, equalFunc, customizer, bitmask, stack);\n }\n if (!(bitmask & PARTIAL_COMPARE_FLAG)) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n var objUnwrapped = objIsWrapped ? object.value() : object,\n othUnwrapped = othIsWrapped ? other.value() : other;\n\n stack || (stack = new Stack);\n return equalFunc(objUnwrapped, othUnwrapped, customizer, bitmask, stack);\n }\n }\n if (!isSameTag) {\n return false;\n }\n stack || (stack = new Stack);\n return equalObjects(object, other, equalFunc, customizer, bitmask, stack);\n}\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = (isFunction(value) || isHostObject(value)) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[objectToString.call(value)];\n}\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} customizer The function to customize comparisons.\n * @param {number} bitmask The bitmask of comparison flags. See `baseIsEqual`\n * for more details.\n * @param {Object} stack Tracks traversed `array` and `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, equalFunc, customizer, bitmask, stack) {\n var isPartial = bitmask & PARTIAL_COMPARE_FLAG,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(array);\n if (stacked && stack.get(other)) {\n return stacked == other;\n }\n var index = -1,\n result = true,\n seen = (bitmask & UNORDERED_COMPARE_FLAG) ? new SetCache : undefined;\n\n stack.set(array, other);\n stack.set(other, array);\n\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, arrValue, index, other, array, stack)\n : customizer(arrValue, othValue, index, array, other, stack);\n }\n if (compared !== undefined) {\n if (compared) {\n continue;\n }\n result = false;\n break;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (seen) {\n if (!arraySome(other, function(othValue, othIndex) {\n if (!seen.has(othIndex) &&\n (arrValue === othValue || equalFunc(arrValue, othValue, customizer, bitmask, stack))) {\n return seen.add(othIndex);\n }\n })) {\n result = false;\n break;\n }\n } else if (!(\n arrValue === othValue ||\n equalFunc(arrValue, othValue, customizer, bitmask, stack)\n )) {\n result = false;\n break;\n }\n }\n stack['delete'](array);\n stack['delete'](other);\n return result;\n}\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} customizer The function to customize comparisons.\n * @param {number} bitmask The bitmask of comparison flags. See `baseIsEqual`\n * for more details.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag, equalFunc, customizer, bitmask, stack) {\n switch (tag) {\n case dataViewTag:\n if ((object.byteLength != other.byteLength) ||\n (object.byteOffset != other.byteOffset)) {\n return false;\n }\n object = object.buffer;\n other = other.buffer;\n\n case arrayBufferTag:\n if ((object.byteLength != other.byteLength) ||\n !equalFunc(new Uint8Array(object), new Uint8Array(other))) {\n return false;\n }\n return true;\n\n case boolTag:\n case dateTag:\n case numberTag:\n // Coerce booleans to `1` or `0` and dates to milliseconds.\n // Invalid dates are coerced to `NaN`.\n return eq(+object, +other);\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings, primitives and objects,\n // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring\n // for more details.\n return object == (other + '');\n\n case mapTag:\n var convert = mapToArray;\n\n case setTag:\n var isPartial = bitmask & PARTIAL_COMPARE_FLAG;\n convert || (convert = setToArray);\n\n if (object.size != other.size && !isPartial) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked) {\n return stacked == other;\n }\n bitmask |= UNORDERED_COMPARE_FLAG;\n\n // Recursively compare objects (susceptible to call stack limits).\n stack.set(object, other);\n var result = equalArrays(convert(object), convert(other), equalFunc, customizer, bitmask, stack);\n stack['delete'](object);\n return result;\n\n case symbolTag:\n if (symbolValueOf) {\n return symbolValueOf.call(object) == symbolValueOf.call(other);\n }\n }\n return false;\n}\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} customizer The function to customize comparisons.\n * @param {number} bitmask The bitmask of comparison flags. See `baseIsEqual`\n * for more details.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, equalFunc, customizer, bitmask, stack) {\n var isPartial = bitmask & PARTIAL_COMPARE_FLAG,\n objProps = keys(object),\n objLength = objProps.length,\n othProps = keys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isPartial) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked && stack.get(other)) {\n return stacked == other;\n }\n var result = true;\n stack.set(object, other);\n stack.set(other, object);\n\n var skipCtor = isPartial;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, objValue, key, other, object, stack)\n : customizer(objValue, othValue, key, object, other, stack);\n }\n // Recursively compare objects (susceptible to call stack limits).\n if (!(compared === undefined\n ? (objValue === othValue || equalFunc(objValue, othValue, customizer, bitmask, stack))\n : compared\n )) {\n result = false;\n break;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (result && !skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n result = false;\n }\n }\n stack['delete'](object);\n stack['delete'](other);\n return result;\n}\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11,\n// for data views in Edge < 14, and promises in Node.js.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = objectToString.call(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : undefined;\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n length = length == null ? MAX_SAFE_INTEGER : length;\n return !!length &&\n (typeof value == 'number' || reIsUint.test(value)) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\n/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to process.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\n/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nfunction isArguments(value) {\n // Safari 8.1 makes `arguments.callee` enumerable in strict mode.\n return isArrayLikeObject(value) && hasOwnProperty.call(value, 'callee') &&\n (!propertyIsEnumerable.call(value, 'callee') || objectToString.call(value) == argsTag);\n}\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n}\n\n/**\n * Performs a deep comparison between two values to determine if they are\n * equivalent.\n *\n * **Note:** This method supports comparing arrays, array buffers, booleans,\n * date objects, error objects, maps, numbers, `Object` objects, regexes,\n * sets, strings, symbols, and typed arrays. `Object` objects are compared\n * by their own, not inherited, enumerable properties. Functions and DOM\n * nodes are **not** supported.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.isEqual(object, other);\n * // => true\n *\n * object === other;\n * // => false\n */\nfunction isEqual(value, other) {\n return baseIsEqual(value, other);\n}\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 8-9 which returns 'object' for typed array and other constructors.\n var tag = isObject(value) ? objectToString.call(value) : '';\n return tag == funcTag || tag == genTag;\n}\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\nmodule.exports = isEqual;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash.isequal/index.js\n ** module id = 457\n ** module chunks = 0\n **/","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView');\n\nmodule.exports = DataView;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_DataView.js\n ** module id = 458\n ** module chunks = 0\n **/","var hashClear = require('./_hashClear'),\n hashDelete = require('./_hashDelete'),\n hashGet = require('./_hashGet'),\n hashHas = require('./_hashHas'),\n hashSet = require('./_hashSet');\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\nmodule.exports = Hash;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_Hash.js\n ** module id = 459\n ** module chunks = 0\n **/","var mapCacheClear = require('./_mapCacheClear'),\n mapCacheDelete = require('./_mapCacheDelete'),\n mapCacheGet = require('./_mapCacheGet'),\n mapCacheHas = require('./_mapCacheHas'),\n mapCacheSet = require('./_mapCacheSet');\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\nmodule.exports = MapCache;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_MapCache.js\n ** module id = 460\n ** module chunks = 0\n **/","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Promise = getNative(root, 'Promise');\n\nmodule.exports = Promise;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_Promise.js\n ** module id = 461\n ** module chunks = 0\n **/","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Set = getNative(root, 'Set');\n\nmodule.exports = Set;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_Set.js\n ** module id = 462\n ** module chunks = 0\n **/","var ListCache = require('./_ListCache'),\n stackClear = require('./_stackClear'),\n stackDelete = require('./_stackDelete'),\n stackGet = require('./_stackGet'),\n stackHas = require('./_stackHas'),\n stackSet = require('./_stackSet');\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n var data = this.__data__ = new ListCache(entries);\n this.size = data.size;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\nmodule.exports = Stack;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_Stack.js\n ** module id = 463\n ** module chunks = 0\n **/","var root = require('./_root');\n\n/** Built-in value references. */\nvar Uint8Array = root.Uint8Array;\n\nmodule.exports = Uint8Array;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_Uint8Array.js\n ** module id = 464\n ** module chunks = 0\n **/","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar WeakMap = getNative(root, 'WeakMap');\n\nmodule.exports = WeakMap;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_WeakMap.js\n ** module id = 465\n ** module chunks = 0\n **/","/**\n * Adds the key-value `pair` to `map`.\n *\n * @private\n * @param {Object} map The map to modify.\n * @param {Array} pair The key-value pair to add.\n * @returns {Object} Returns `map`.\n */\nfunction addMapEntry(map, pair) {\n // Don't return `map.set` because it's not chainable in IE 11.\n map.set(pair[0], pair[1]);\n return map;\n}\n\nmodule.exports = addMapEntry;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_addMapEntry.js\n ** module id = 466\n ** module chunks = 0\n **/","/**\n * Adds `value` to `set`.\n *\n * @private\n * @param {Object} set The set to modify.\n * @param {*} value The value to add.\n * @returns {Object} Returns `set`.\n */\nfunction addSetEntry(set, value) {\n // Don't return `set.add` because it's not chainable in IE 11.\n set.add(value);\n return set;\n}\n\nmodule.exports = addSetEntry;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_addSetEntry.js\n ** module id = 467\n ** module chunks = 0\n **/","/**\n * A specialized version of `_.forEach` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\nfunction arrayEach(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (iteratee(array[index], index, array) === false) {\n break;\n }\n }\n return array;\n}\n\nmodule.exports = arrayEach;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_arrayEach.js\n ** module id = 468\n ** module chunks = 0\n **/","/**\n * A specialized version of `_.filter` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\nfunction arrayFilter(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result[resIndex++] = value;\n }\n }\n return result;\n}\n\nmodule.exports = arrayFilter;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_arrayFilter.js\n ** module id = 469\n ** module chunks = 0\n **/","var copyObject = require('./_copyObject'),\n keys = require('./keys');\n\n/**\n * The base implementation of `_.assign` without support for multiple sources\n * or `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssign(object, source) {\n return object && copyObject(source, keys(source), object);\n}\n\nmodule.exports = baseAssign;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_baseAssign.js\n ** module id = 470\n ** module chunks = 0\n **/","var copyObject = require('./_copyObject'),\n keysIn = require('./keysIn');\n\n/**\n * The base implementation of `_.assignIn` without support for multiple sources\n * or `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssignIn(object, source) {\n return object && copyObject(source, keysIn(source), object);\n}\n\nmodule.exports = baseAssignIn;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_baseAssignIn.js\n ** module id = 471\n ** module chunks = 0\n **/","var Stack = require('./_Stack'),\n arrayEach = require('./_arrayEach'),\n assignValue = require('./_assignValue'),\n baseAssign = require('./_baseAssign'),\n baseAssignIn = require('./_baseAssignIn'),\n cloneBuffer = require('./_cloneBuffer'),\n copyArray = require('./_copyArray'),\n copySymbols = require('./_copySymbols'),\n copySymbolsIn = require('./_copySymbolsIn'),\n getAllKeys = require('./_getAllKeys'),\n getAllKeysIn = require('./_getAllKeysIn'),\n getTag = require('./_getTag'),\n initCloneArray = require('./_initCloneArray'),\n initCloneByTag = require('./_initCloneByTag'),\n initCloneObject = require('./_initCloneObject'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isObject = require('./isObject'),\n keys = require('./keys');\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_DEEP_FLAG = 1,\n CLONE_FLAT_FLAG = 2,\n CLONE_SYMBOLS_FLAG = 4;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values supported by `_.clone`. */\nvar cloneableTags = {};\ncloneableTags[argsTag] = cloneableTags[arrayTag] =\ncloneableTags[arrayBufferTag] = cloneableTags[dataViewTag] =\ncloneableTags[boolTag] = cloneableTags[dateTag] =\ncloneableTags[float32Tag] = cloneableTags[float64Tag] =\ncloneableTags[int8Tag] = cloneableTags[int16Tag] =\ncloneableTags[int32Tag] = cloneableTags[mapTag] =\ncloneableTags[numberTag] = cloneableTags[objectTag] =\ncloneableTags[regexpTag] = cloneableTags[setTag] =\ncloneableTags[stringTag] = cloneableTags[symbolTag] =\ncloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\ncloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\ncloneableTags[errorTag] = cloneableTags[funcTag] =\ncloneableTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.clone` and `_.cloneDeep` which tracks\n * traversed objects.\n *\n * @private\n * @param {*} value The value to clone.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Deep clone\n * 2 - Flatten inherited properties\n * 4 - Clone symbols\n * @param {Function} [customizer] The function to customize cloning.\n * @param {string} [key] The key of `value`.\n * @param {Object} [object] The parent object of `value`.\n * @param {Object} [stack] Tracks traversed objects and their clone counterparts.\n * @returns {*} Returns the cloned value.\n */\nfunction baseClone(value, bitmask, customizer, key, object, stack) {\n var result,\n isDeep = bitmask & CLONE_DEEP_FLAG,\n isFlat = bitmask & CLONE_FLAT_FLAG,\n isFull = bitmask & CLONE_SYMBOLS_FLAG;\n\n if (customizer) {\n result = object ? customizer(value, key, object, stack) : customizer(value);\n }\n if (result !== undefined) {\n return result;\n }\n if (!isObject(value)) {\n return value;\n }\n var isArr = isArray(value);\n if (isArr) {\n result = initCloneArray(value);\n if (!isDeep) {\n return copyArray(value, result);\n }\n } else {\n var tag = getTag(value),\n isFunc = tag == funcTag || tag == genTag;\n\n if (isBuffer(value)) {\n return cloneBuffer(value, isDeep);\n }\n if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n result = (isFlat || isFunc) ? {} : initCloneObject(value);\n if (!isDeep) {\n return isFlat\n ? copySymbolsIn(value, baseAssignIn(result, value))\n : copySymbols(value, baseAssign(result, value));\n }\n } else {\n if (!cloneableTags[tag]) {\n return object ? value : {};\n }\n result = initCloneByTag(value, tag, baseClone, isDeep);\n }\n }\n // Check for circular references and return its corresponding clone.\n stack || (stack = new Stack);\n var stacked = stack.get(value);\n if (stacked) {\n return stacked;\n }\n stack.set(value, result);\n\n var keysFunc = isFull\n ? (isFlat ? getAllKeysIn : getAllKeys)\n : (isFlat ? keysIn : keys);\n\n var props = isArr ? undefined : keysFunc(value);\n arrayEach(props || value, function(subValue, key) {\n if (props) {\n key = subValue;\n subValue = value[key];\n }\n // Recursively populate clone (susceptible to call stack limits).\n assignValue(result, key, baseClone(subValue, bitmask, customizer, key, value, stack));\n });\n return result;\n}\n\nmodule.exports = baseClone;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_baseClone.js\n ** module id = 472\n ** module chunks = 0\n **/","var isObject = require('./isObject');\n\n/** Built-in value references. */\nvar objectCreate = Object.create;\n\n/**\n * The base implementation of `_.create` without support for assigning\n * properties to the created object.\n *\n * @private\n * @param {Object} proto The object to inherit from.\n * @returns {Object} Returns the new object.\n */\nvar baseCreate = (function() {\n function object() {}\n return function(proto) {\n if (!isObject(proto)) {\n return {};\n }\n if (objectCreate) {\n return objectCreate(proto);\n }\n object.prototype = proto;\n var result = new object;\n object.prototype = undefined;\n return result;\n };\n}());\n\nmodule.exports = baseCreate;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_baseCreate.js\n ** module id = 473\n ** module chunks = 0\n **/","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]';\n\n/**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\nfunction baseIsArguments(value) {\n return isObjectLike(value) && baseGetTag(value) == argsTag;\n}\n\nmodule.exports = baseIsArguments;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_baseIsArguments.js\n ** module id = 474\n ** module chunks = 0\n **/","var isFunction = require('./isFunction'),\n isMasked = require('./_isMasked'),\n isObject = require('./isObject'),\n toSource = require('./_toSource');\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\nmodule.exports = baseIsNative;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_baseIsNative.js\n ** module id = 475\n ** module chunks = 0\n **/","var baseGetTag = require('./_baseGetTag'),\n isLength = require('./isLength'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n}\n\nmodule.exports = baseIsTypedArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_baseIsTypedArray.js\n ** module id = 476\n ** module chunks = 0\n **/","var isPrototype = require('./_isPrototype'),\n nativeKeys = require('./_nativeKeys');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = baseKeys;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_baseKeys.js\n ** module id = 477\n ** module chunks = 0\n **/","var isObject = require('./isObject'),\n isPrototype = require('./_isPrototype'),\n nativeKeysIn = require('./_nativeKeysIn');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeysIn(object) {\n if (!isObject(object)) {\n return nativeKeysIn(object);\n }\n var isProto = isPrototype(object),\n result = [];\n\n for (var key in object) {\n if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = baseKeysIn;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_baseKeysIn.js\n ** module id = 478\n ** module chunks = 0\n **/","/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\nmodule.exports = baseTimes;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_baseTimes.js\n ** module id = 479\n ** module chunks = 0\n **/","/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\nmodule.exports = baseUnary;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_baseUnary.js\n ** module id = 480\n ** module chunks = 0\n **/","var root = require('./_root');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined,\n allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined;\n\n/**\n * Creates a clone of `buffer`.\n *\n * @private\n * @param {Buffer} buffer The buffer to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Buffer} Returns the cloned buffer.\n */\nfunction cloneBuffer(buffer, isDeep) {\n if (isDeep) {\n return buffer.slice();\n }\n var length = buffer.length,\n result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length);\n\n buffer.copy(result);\n return result;\n}\n\nmodule.exports = cloneBuffer;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_cloneBuffer.js\n ** module id = 481\n ** module chunks = 0\n **/","var cloneArrayBuffer = require('./_cloneArrayBuffer');\n\n/**\n * Creates a clone of `dataView`.\n *\n * @private\n * @param {Object} dataView The data view to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned data view.\n */\nfunction cloneDataView(dataView, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(dataView.buffer) : dataView.buffer;\n return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength);\n}\n\nmodule.exports = cloneDataView;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_cloneDataView.js\n ** module id = 482\n ** module chunks = 0\n **/","var addMapEntry = require('./_addMapEntry'),\n arrayReduce = require('./_arrayReduce'),\n mapToArray = require('./_mapToArray');\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_DEEP_FLAG = 1;\n\n/**\n * Creates a clone of `map`.\n *\n * @private\n * @param {Object} map The map to clone.\n * @param {Function} cloneFunc The function to clone values.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned map.\n */\nfunction cloneMap(map, isDeep, cloneFunc) {\n var array = isDeep ? cloneFunc(mapToArray(map), CLONE_DEEP_FLAG) : mapToArray(map);\n return arrayReduce(array, addMapEntry, new map.constructor);\n}\n\nmodule.exports = cloneMap;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_cloneMap.js\n ** module id = 483\n ** module chunks = 0\n **/","/** Used to match `RegExp` flags from their coerced string values. */\nvar reFlags = /\\w*$/;\n\n/**\n * Creates a clone of `regexp`.\n *\n * @private\n * @param {Object} regexp The regexp to clone.\n * @returns {Object} Returns the cloned regexp.\n */\nfunction cloneRegExp(regexp) {\n var result = new regexp.constructor(regexp.source, reFlags.exec(regexp));\n result.lastIndex = regexp.lastIndex;\n return result;\n}\n\nmodule.exports = cloneRegExp;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_cloneRegExp.js\n ** module id = 484\n ** module chunks = 0\n **/","var addSetEntry = require('./_addSetEntry'),\n arrayReduce = require('./_arrayReduce'),\n setToArray = require('./_setToArray');\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_DEEP_FLAG = 1;\n\n/**\n * Creates a clone of `set`.\n *\n * @private\n * @param {Object} set The set to clone.\n * @param {Function} cloneFunc The function to clone values.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned set.\n */\nfunction cloneSet(set, isDeep, cloneFunc) {\n var array = isDeep ? cloneFunc(setToArray(set), CLONE_DEEP_FLAG) : setToArray(set);\n return arrayReduce(array, addSetEntry, new set.constructor);\n}\n\nmodule.exports = cloneSet;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_cloneSet.js\n ** module id = 485\n ** module chunks = 0\n **/","var Symbol = require('./_Symbol');\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * Creates a clone of the `symbol` object.\n *\n * @private\n * @param {Object} symbol The symbol object to clone.\n * @returns {Object} Returns the cloned symbol object.\n */\nfunction cloneSymbol(symbol) {\n return symbolValueOf ? Object(symbolValueOf.call(symbol)) : {};\n}\n\nmodule.exports = cloneSymbol;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_cloneSymbol.js\n ** module id = 486\n ** module chunks = 0\n **/","var cloneArrayBuffer = require('./_cloneArrayBuffer');\n\n/**\n * Creates a clone of `typedArray`.\n *\n * @private\n * @param {Object} typedArray The typed array to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned typed array.\n */\nfunction cloneTypedArray(typedArray, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;\n return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);\n}\n\nmodule.exports = cloneTypedArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_cloneTypedArray.js\n ** module id = 487\n ** module chunks = 0\n **/","/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction copyArray(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\nmodule.exports = copyArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_copyArray.js\n ** module id = 488\n ** module chunks = 0\n **/","var copyObject = require('./_copyObject'),\n getSymbols = require('./_getSymbols');\n\n/**\n * Copies own symbols of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy symbols from.\n * @param {Object} [object={}] The object to copy symbols to.\n * @returns {Object} Returns `object`.\n */\nfunction copySymbols(source, object) {\n return copyObject(source, getSymbols(source), object);\n}\n\nmodule.exports = copySymbols;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_copySymbols.js\n ** module id = 489\n ** module chunks = 0\n **/","var copyObject = require('./_copyObject'),\n getSymbolsIn = require('./_getSymbolsIn');\n\n/**\n * Copies own and inherited symbols of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy symbols from.\n * @param {Object} [object={}] The object to copy symbols to.\n * @returns {Object} Returns `object`.\n */\nfunction copySymbolsIn(source, object) {\n return copyObject(source, getSymbolsIn(source), object);\n}\n\nmodule.exports = copySymbolsIn;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_copySymbolsIn.js\n ** module id = 490\n ** module chunks = 0\n **/","var root = require('./_root');\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\nmodule.exports = coreJsData;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_coreJsData.js\n ** module id = 491\n ** module chunks = 0\n **/","var getNative = require('./_getNative');\n\nvar defineProperty = (function() {\n try {\n var func = getNative(Object, 'defineProperty');\n func({}, '', {});\n return func;\n } catch (e) {}\n}());\n\nmodule.exports = defineProperty;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_defineProperty.js\n ** module id = 492\n ** module chunks = 0\n **/","var baseGetAllKeys = require('./_baseGetAllKeys'),\n getSymbols = require('./_getSymbols'),\n keys = require('./keys');\n\n/**\n * Creates an array of own enumerable property names and symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeys(object) {\n return baseGetAllKeys(object, keys, getSymbols);\n}\n\nmodule.exports = getAllKeys;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_getAllKeys.js\n ** module id = 493\n ** module chunks = 0\n **/","var baseGetAllKeys = require('./_baseGetAllKeys'),\n getSymbolsIn = require('./_getSymbolsIn'),\n keysIn = require('./keysIn');\n\n/**\n * Creates an array of own and inherited enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeysIn(object) {\n return baseGetAllKeys(object, keysIn, getSymbolsIn);\n}\n\nmodule.exports = getAllKeysIn;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_getAllKeysIn.js\n ** module id = 494\n ** module chunks = 0\n **/","var Symbol = require('./_Symbol');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nmodule.exports = getRawTag;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_getRawTag.js\n ** module id = 495\n ** module chunks = 0\n **/","var DataView = require('./_DataView'),\n Map = require('./_Map'),\n Promise = require('./_Promise'),\n Set = require('./_Set'),\n WeakMap = require('./_WeakMap'),\n baseGetTag = require('./_baseGetTag'),\n toSource = require('./_toSource');\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n setTag = '[object Set]',\n weakMapTag = '[object WeakMap]';\n\nvar dataViewTag = '[object DataView]';\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = baseGetTag(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : '';\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\nmodule.exports = getTag;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_getTag.js\n ** module id = 496\n ** module chunks = 0\n **/","/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\nmodule.exports = getValue;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_getValue.js\n ** module id = 497\n ** module chunks = 0\n **/","var nativeCreate = require('./_nativeCreate');\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n this.size = 0;\n}\n\nmodule.exports = hashClear;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_hashClear.js\n ** module id = 498\n ** module chunks = 0\n **/","/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n}\n\nmodule.exports = hashDelete;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_hashDelete.js\n ** module id = 499\n ** module chunks = 0\n **/","var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\nmodule.exports = hashGet;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_hashGet.js\n ** module id = 500\n ** module chunks = 0\n **/","var nativeCreate = require('./_nativeCreate');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n}\n\nmodule.exports = hashHas;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_hashHas.js\n ** module id = 501\n ** module chunks = 0\n **/","var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\nmodule.exports = hashSet;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_hashSet.js\n ** module id = 502\n ** module chunks = 0\n **/","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Initializes an array clone.\n *\n * @private\n * @param {Array} array The array to clone.\n * @returns {Array} Returns the initialized clone.\n */\nfunction initCloneArray(array) {\n var length = array.length,\n result = array.constructor(length);\n\n // Add properties assigned by `RegExp#exec`.\n if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n result.index = array.index;\n result.input = array.input;\n }\n return result;\n}\n\nmodule.exports = initCloneArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_initCloneArray.js\n ** module id = 503\n ** module chunks = 0\n **/","var cloneArrayBuffer = require('./_cloneArrayBuffer'),\n cloneDataView = require('./_cloneDataView'),\n cloneMap = require('./_cloneMap'),\n cloneRegExp = require('./_cloneRegExp'),\n cloneSet = require('./_cloneSet'),\n cloneSymbol = require('./_cloneSymbol'),\n cloneTypedArray = require('./_cloneTypedArray');\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/**\n * Initializes an object clone based on its `toStringTag`.\n *\n * **Note:** This function only supports cloning values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to clone.\n * @param {string} tag The `toStringTag` of the object to clone.\n * @param {Function} cloneFunc The function to clone values.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneByTag(object, tag, cloneFunc, isDeep) {\n var Ctor = object.constructor;\n switch (tag) {\n case arrayBufferTag:\n return cloneArrayBuffer(object);\n\n case boolTag:\n case dateTag:\n return new Ctor(+object);\n\n case dataViewTag:\n return cloneDataView(object, isDeep);\n\n case float32Tag: case float64Tag:\n case int8Tag: case int16Tag: case int32Tag:\n case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n return cloneTypedArray(object, isDeep);\n\n case mapTag:\n return cloneMap(object, isDeep, cloneFunc);\n\n case numberTag:\n case stringTag:\n return new Ctor(object);\n\n case regexpTag:\n return cloneRegExp(object);\n\n case setTag:\n return cloneSet(object, isDeep, cloneFunc);\n\n case symbolTag:\n return cloneSymbol(object);\n }\n}\n\nmodule.exports = initCloneByTag;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_initCloneByTag.js\n ** module id = 504\n ** module chunks = 0\n **/","var baseCreate = require('./_baseCreate'),\n getPrototype = require('./_getPrototype'),\n isPrototype = require('./_isPrototype');\n\n/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n return (typeof object.constructor == 'function' && !isPrototype(object))\n ? baseCreate(getPrototype(object))\n : {};\n}\n\nmodule.exports = initCloneObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_initCloneObject.js\n ** module id = 505\n ** module chunks = 0\n **/","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n length = length == null ? MAX_SAFE_INTEGER : length;\n return !!length &&\n (typeof value == 'number' || reIsUint.test(value)) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\nmodule.exports = isIndex;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_isIndex.js\n ** module id = 506\n ** module chunks = 0\n **/","/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\nmodule.exports = isKeyable;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_isKeyable.js\n ** module id = 507\n ** module chunks = 0\n **/","var coreJsData = require('./_coreJsData');\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\nmodule.exports = isMasked;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_isMasked.js\n ** module id = 508\n ** module chunks = 0\n **/","/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n}\n\nmodule.exports = listCacheClear;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_listCacheClear.js\n ** module id = 509\n ** module chunks = 0\n **/","var assocIndexOf = require('./_assocIndexOf');\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype;\n\n/** Built-in value references. */\nvar splice = arrayProto.splice;\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n --this.size;\n return true;\n}\n\nmodule.exports = listCacheDelete;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_listCacheDelete.js\n ** module id = 510\n ** module chunks = 0\n **/","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\nmodule.exports = listCacheGet;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_listCacheGet.js\n ** module id = 511\n ** module chunks = 0\n **/","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\nmodule.exports = listCacheHas;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_listCacheHas.js\n ** module id = 512\n ** module chunks = 0\n **/","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\nmodule.exports = listCacheSet;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_listCacheSet.js\n ** module id = 513\n ** module chunks = 0\n **/","var Hash = require('./_Hash'),\n ListCache = require('./_ListCache'),\n Map = require('./_Map');\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.size = 0;\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\nmodule.exports = mapCacheClear;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_mapCacheClear.js\n ** module id = 514\n ** module chunks = 0\n **/","var getMapData = require('./_getMapData');\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n var result = getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n}\n\nmodule.exports = mapCacheDelete;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_mapCacheDelete.js\n ** module id = 515\n ** module chunks = 0\n **/","var getMapData = require('./_getMapData');\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\nmodule.exports = mapCacheGet;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_mapCacheGet.js\n ** module id = 516\n ** module chunks = 0\n **/","var getMapData = require('./_getMapData');\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\nmodule.exports = mapCacheHas;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_mapCacheHas.js\n ** module id = 517\n ** module chunks = 0\n **/","var getMapData = require('./_getMapData');\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n var data = getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n}\n\nmodule.exports = mapCacheSet;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_mapCacheSet.js\n ** module id = 518\n ** module chunks = 0\n **/","/**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\nfunction mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n}\n\nmodule.exports = mapToArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_mapToArray.js\n ** module id = 519\n ** module chunks = 0\n **/","var overArg = require('./_overArg');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = overArg(Object.keys, Object);\n\nmodule.exports = nativeKeys;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_nativeKeys.js\n ** module id = 520\n ** module chunks = 0\n **/","/**\n * This function is like\n * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * except that it includes inherited enumerable properties.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction nativeKeysIn(object) {\n var result = [];\n if (object != null) {\n for (var key in Object(object)) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = nativeKeysIn;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_nativeKeysIn.js\n ** module id = 521\n ** module chunks = 0\n **/","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n}());\n\nmodule.exports = nodeUtil;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_nodeUtil.js\n ** module id = 522\n ** module chunks = 0\n **/","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nmodule.exports = objectToString;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_objectToString.js\n ** module id = 523\n ** module chunks = 0\n **/","/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\nmodule.exports = setToArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_setToArray.js\n ** module id = 524\n ** module chunks = 0\n **/","var ListCache = require('./_ListCache');\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n this.size = 0;\n}\n\nmodule.exports = stackClear;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_stackClear.js\n ** module id = 525\n ** module chunks = 0\n **/","/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n var data = this.__data__,\n result = data['delete'](key);\n\n this.size = data.size;\n return result;\n}\n\nmodule.exports = stackDelete;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_stackDelete.js\n ** module id = 526\n ** module chunks = 0\n **/","/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\nmodule.exports = stackGet;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_stackGet.js\n ** module id = 527\n ** module chunks = 0\n **/","/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\nmodule.exports = stackHas;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_stackHas.js\n ** module id = 528\n ** module chunks = 0\n **/","var ListCache = require('./_ListCache'),\n Map = require('./_Map'),\n MapCache = require('./_MapCache');\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var data = this.__data__;\n if (data instanceof ListCache) {\n var pairs = data.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n this.size = ++data.size;\n return this;\n }\n data = this.__data__ = new MapCache(pairs);\n }\n data.set(key, value);\n this.size = data.size;\n return this;\n}\n\nmodule.exports = stackSet;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_stackSet.js\n ** module id = 529\n ** module chunks = 0\n **/","var baseClone = require('./_baseClone');\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_DEEP_FLAG = 1,\n CLONE_SYMBOLS_FLAG = 4;\n\n/**\n * This method is like `_.clone` except that it recursively clones `value`.\n *\n * @static\n * @memberOf _\n * @since 1.0.0\n * @category Lang\n * @param {*} value The value to recursively clone.\n * @returns {*} Returns the deep cloned value.\n * @see _.clone\n * @example\n *\n * var objects = [{ 'a': 1 }, { 'b': 2 }];\n *\n * var deep = _.cloneDeep(objects);\n * console.log(deep[0] === objects[0]);\n * // => false\n */\nfunction cloneDeep(value) {\n return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG);\n}\n\nmodule.exports = cloneDeep;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/cloneDeep.js\n ** module id = 530\n ** module chunks = 0\n **/","var baseIsArguments = require('./_baseIsArguments'),\n isObjectLike = require('./isObjectLike');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nvar isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n !propertyIsEnumerable.call(value, 'callee');\n};\n\nmodule.exports = isArguments;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/isArguments.js\n ** module id = 531\n ** module chunks = 0\n **/","var baseIsTypedArray = require('./_baseIsTypedArray'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\nmodule.exports = isTypedArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/isTypedArray.js\n ** module id = 532\n ** module chunks = 0\n **/","/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = stubFalse;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/stubFalse.js\n ** module id = 533\n ** module chunks = 0\n **/","/**\n * marked - a markdown parser\n * Copyright (c) 2011-2014, Christopher Jeffrey. (MIT Licensed)\n * https://github.com/chjj/marked\n */\n\n;(function() {\n\n/**\n * Block-Level Grammar\n */\n\nvar block = {\n newline: /^\\n+/,\n code: /^( {4}[^\\n]+\\n*)+/,\n fences: noop,\n hr: /^( *[-*_]){3,} *(?:\\n+|$)/,\n heading: /^ *(#{1,6}) *([^\\n]+?) *#* *(?:\\n+|$)/,\n nptable: noop,\n lheading: /^([^\\n]+)\\n *(=|-){2,} *(?:\\n+|$)/,\n blockquote: /^( *>[^\\n]+(\\n(?!def)[^\\n]+)*\\n*)+/,\n list: /^( *)(bull) [\\s\\S]+?(?:hr|def|\\n{2,}(?! )(?!\\1bull )\\n*|\\s*$)/,\n html: /^ *(?:comment *(?:\\n|\\s*$)|closed *(?:\\n{2,}|\\s*$)|closing *(?:\\n{2,}|\\s*$))/,\n def: /^ *\\[([^\\]]+)\\]: *<?([^\\s>]+)>?(?: +[\"(]([^\\n]+)[\")])? *(?:\\n+|$)/,\n table: noop,\n paragraph: /^((?:[^\\n]+\\n?(?!hr|heading|lheading|blockquote|tag|def))+)\\n*/,\n text: /^[^\\n]+/\n};\n\nblock.bullet = /(?:[*+-]|\\d+\\.)/;\nblock.item = /^( *)(bull) [^\\n]*(?:\\n(?!\\1bull )[^\\n]*)*/;\nblock.item = replace(block.item, 'gm')\n (/bull/g, block.bullet)\n ();\n\nblock.list = replace(block.list)\n (/bull/g, block.bullet)\n ('hr', '\\\\n+(?=\\\\1?(?:[-*_] *){3,}(?:\\\\n+|$))')\n ('def', '\\\\n+(?=' + block.def.source + ')')\n ();\n\nblock.blockquote = replace(block.blockquote)\n ('def', block.def)\n ();\n\nblock._tag = '(?!(?:'\n + 'a|em|strong|small|s|cite|q|dfn|abbr|data|time|code'\n + '|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo'\n + '|span|br|wbr|ins|del|img)\\\\b)\\\\w+(?!:/|[^\\\\w\\\\s@]*@)\\\\b';\n\nblock.html = replace(block.html)\n ('comment', /<!--[\\s\\S]*?-->/)\n ('closed', /<(tag)[\\s\\S]+?<\\/\\1>/)\n ('closing', /<tag(?:\"[^\"]*\"|'[^']*'|[^'\">])*?>/)\n (/tag/g, block._tag)\n ();\n\nblock.paragraph = replace(block.paragraph)\n ('hr', block.hr)\n ('heading', block.heading)\n ('lheading', block.lheading)\n ('blockquote', block.blockquote)\n ('tag', '<' + block._tag)\n ('def', block.def)\n ();\n\n/**\n * Normal Block Grammar\n */\n\nblock.normal = merge({}, block);\n\n/**\n * GFM Block Grammar\n */\n\nblock.gfm = merge({}, block.normal, {\n fences: /^ *(`{3,}|~{3,})[ \\.]*(\\S+)? *\\n([\\s\\S]*?)\\s*\\1 *(?:\\n+|$)/,\n paragraph: /^/,\n heading: /^ *(#{1,6}) +([^\\n]+?) *#* *(?:\\n+|$)/\n});\n\nblock.gfm.paragraph = replace(block.paragraph)\n ('(?!', '(?!'\n + block.gfm.fences.source.replace('\\\\1', '\\\\2') + '|'\n + block.list.source.replace('\\\\1', '\\\\3') + '|')\n ();\n\n/**\n * GFM + Tables Block Grammar\n */\n\nblock.tables = merge({}, block.gfm, {\n nptable: /^ *(\\S.*\\|.*)\\n *([-:]+ *\\|[-| :]*)\\n((?:.*\\|.*(?:\\n|$))*)\\n*/,\n table: /^ *\\|(.+)\\n *\\|( *[-:]+[-| :]*)\\n((?: *\\|.*(?:\\n|$))*)\\n*/\n});\n\n/**\n * Block Lexer\n */\n\nfunction Lexer(options) {\n this.tokens = [];\n this.tokens.links = {};\n this.options = options || marked.defaults;\n this.rules = block.normal;\n\n if (this.options.gfm) {\n if (this.options.tables) {\n this.rules = block.tables;\n } else {\n this.rules = block.gfm;\n }\n }\n}\n\n/**\n * Expose Block Rules\n */\n\nLexer.rules = block;\n\n/**\n * Static Lex Method\n */\n\nLexer.lex = function(src, options) {\n var lexer = new Lexer(options);\n return lexer.lex(src);\n};\n\n/**\n * Preprocessing\n */\n\nLexer.prototype.lex = function(src) {\n src = src\n .replace(/\\r\\n|\\r/g, '\\n')\n .replace(/\\t/g, ' ')\n .replace(/\\u00a0/g, ' ')\n .replace(/\\u2424/g, '\\n');\n\n return this.token(src, true);\n};\n\n/**\n * Lexing\n */\n\nLexer.prototype.token = function(src, top, bq) {\n var src = src.replace(/^ +$/gm, '')\n , next\n , loose\n , cap\n , bull\n , b\n , item\n , space\n , i\n , l;\n\n while (src) {\n // newline\n if (cap = this.rules.newline.exec(src)) {\n src = src.substring(cap[0].length);\n if (cap[0].length > 1) {\n this.tokens.push({\n type: 'space'\n });\n }\n }\n\n // code\n if (cap = this.rules.code.exec(src)) {\n src = src.substring(cap[0].length);\n cap = cap[0].replace(/^ {4}/gm, '');\n this.tokens.push({\n type: 'code',\n text: !this.options.pedantic\n ? cap.replace(/\\n+$/, '')\n : cap\n });\n continue;\n }\n\n // fences (gfm)\n if (cap = this.rules.fences.exec(src)) {\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: 'code',\n lang: cap[2],\n text: cap[3] || ''\n });\n continue;\n }\n\n // heading\n if (cap = this.rules.heading.exec(src)) {\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: 'heading',\n depth: cap[1].length,\n text: cap[2]\n });\n continue;\n }\n\n // table no leading pipe (gfm)\n if (top && (cap = this.rules.nptable.exec(src))) {\n src = src.substring(cap[0].length);\n\n item = {\n type: 'table',\n header: cap[1].replace(/^ *| *\\| *$/g, '').split(/ *\\| */),\n align: cap[2].replace(/^ *|\\| *$/g, '').split(/ *\\| */),\n cells: cap[3].replace(/\\n$/, '').split('\\n')\n };\n\n for (i = 0; i < item.align.length; i++) {\n if (/^ *-+: *$/.test(item.align[i])) {\n item.align[i] = 'right';\n } else if (/^ *:-+: *$/.test(item.align[i])) {\n item.align[i] = 'center';\n } else if (/^ *:-+ *$/.test(item.align[i])) {\n item.align[i] = 'left';\n } else {\n item.align[i] = null;\n }\n }\n\n for (i = 0; i < item.cells.length; i++) {\n item.cells[i] = item.cells[i].split(/ *\\| */);\n }\n\n this.tokens.push(item);\n\n continue;\n }\n\n // lheading\n if (cap = this.rules.lheading.exec(src)) {\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: 'heading',\n depth: cap[2] === '=' ? 1 : 2,\n text: cap[1]\n });\n continue;\n }\n\n // hr\n if (cap = this.rules.hr.exec(src)) {\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: 'hr'\n });\n continue;\n }\n\n // blockquote\n if (cap = this.rules.blockquote.exec(src)) {\n src = src.substring(cap[0].length);\n\n this.tokens.push({\n type: 'blockquote_start'\n });\n\n cap = cap[0].replace(/^ *> ?/gm, '');\n\n // Pass `top` to keep the current\n // \"toplevel\" state. This is exactly\n // how markdown.pl works.\n this.token(cap, top, true);\n\n this.tokens.push({\n type: 'blockquote_end'\n });\n\n continue;\n }\n\n // list\n if (cap = this.rules.list.exec(src)) {\n src = src.substring(cap[0].length);\n bull = cap[2];\n\n this.tokens.push({\n type: 'list_start',\n ordered: bull.length > 1\n });\n\n // Get each top-level item.\n cap = cap[0].match(this.rules.item);\n\n next = false;\n l = cap.length;\n i = 0;\n\n for (; i < l; i++) {\n item = cap[i];\n\n // Remove the list item's bullet\n // so it is seen as the next token.\n space = item.length;\n item = item.replace(/^ *([*+-]|\\d+\\.) +/, '');\n\n // Outdent whatever the\n // list item contains. Hacky.\n if (~item.indexOf('\\n ')) {\n space -= item.length;\n item = !this.options.pedantic\n ? item.replace(new RegExp('^ {1,' + space + '}', 'gm'), '')\n : item.replace(/^ {1,4}/gm, '');\n }\n\n // Determine whether the next list item belongs here.\n // Backpedal if it does not belong in this list.\n if (this.options.smartLists && i !== l - 1) {\n b = block.bullet.exec(cap[i + 1])[0];\n if (bull !== b && !(bull.length > 1 && b.length > 1)) {\n src = cap.slice(i + 1).join('\\n') + src;\n i = l - 1;\n }\n }\n\n // Determine whether item is loose or not.\n // Use: /(^|\\n)(?! )[^\\n]+\\n\\n(?!\\s*$)/\n // for discount behavior.\n loose = next || /\\n\\n(?!\\s*$)/.test(item);\n if (i !== l - 1) {\n next = item.charAt(item.length - 1) === '\\n';\n if (!loose) loose = next;\n }\n\n this.tokens.push({\n type: loose\n ? 'loose_item_start'\n : 'list_item_start'\n });\n\n // Recurse.\n this.token(item, false, bq);\n\n this.tokens.push({\n type: 'list_item_end'\n });\n }\n\n this.tokens.push({\n type: 'list_end'\n });\n\n continue;\n }\n\n // html\n if (cap = this.rules.html.exec(src)) {\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: this.options.sanitize\n ? 'paragraph'\n : 'html',\n pre: !this.options.sanitizer\n && (cap[1] === 'pre' || cap[1] === 'script' || cap[1] === 'style'),\n text: cap[0]\n });\n continue;\n }\n\n // def\n if ((!bq && top) && (cap = this.rules.def.exec(src))) {\n src = src.substring(cap[0].length);\n this.tokens.links[cap[1].toLowerCase()] = {\n href: cap[2],\n title: cap[3]\n };\n continue;\n }\n\n // table (gfm)\n if (top && (cap = this.rules.table.exec(src))) {\n src = src.substring(cap[0].length);\n\n item = {\n type: 'table',\n header: cap[1].replace(/^ *| *\\| *$/g, '').split(/ *\\| */),\n align: cap[2].replace(/^ *|\\| *$/g, '').split(/ *\\| */),\n cells: cap[3].replace(/(?: *\\| *)?\\n$/, '').split('\\n')\n };\n\n for (i = 0; i < item.align.length; i++) {\n if (/^ *-+: *$/.test(item.align[i])) {\n item.align[i] = 'right';\n } else if (/^ *:-+: *$/.test(item.align[i])) {\n item.align[i] = 'center';\n } else if (/^ *:-+ *$/.test(item.align[i])) {\n item.align[i] = 'left';\n } else {\n item.align[i] = null;\n }\n }\n\n for (i = 0; i < item.cells.length; i++) {\n item.cells[i] = item.cells[i]\n .replace(/^ *\\| *| *\\| *$/g, '')\n .split(/ *\\| */);\n }\n\n this.tokens.push(item);\n\n continue;\n }\n\n // top-level paragraph\n if (top && (cap = this.rules.paragraph.exec(src))) {\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: 'paragraph',\n text: cap[1].charAt(cap[1].length - 1) === '\\n'\n ? cap[1].slice(0, -1)\n : cap[1]\n });\n continue;\n }\n\n // text\n if (cap = this.rules.text.exec(src)) {\n // Top-level should never reach here.\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: 'text',\n text: cap[0]\n });\n continue;\n }\n\n if (src) {\n throw new\n Error('Infinite loop on byte: ' + src.charCodeAt(0));\n }\n }\n\n return this.tokens;\n};\n\n/**\n * Inline-Level Grammar\n */\n\nvar inline = {\n escape: /^\\\\([\\\\`*{}\\[\\]()#+\\-.!_>])/,\n autolink: /^<([^ >]+(@|:\\/)[^ >]+)>/,\n url: noop,\n tag: /^<!--[\\s\\S]*?-->|^<\\/?\\w+(?:\"[^\"]*\"|'[^']*'|[^'\">])*?>/,\n link: /^!?\\[(inside)\\]\\(href\\)/,\n reflink: /^!?\\[(inside)\\]\\s*\\[([^\\]]*)\\]/,\n nolink: /^!?\\[((?:\\[[^\\]]*\\]|[^\\[\\]])*)\\]/,\n strong: /^__([\\s\\S]+?)__(?!_)|^\\*\\*([\\s\\S]+?)\\*\\*(?!\\*)/,\n em: /^\\b_((?:[^_]|__)+?)_\\b|^\\*((?:\\*\\*|[\\s\\S])+?)\\*(?!\\*)/,\n code: /^(`+)\\s*([\\s\\S]*?[^`])\\s*\\1(?!`)/,\n br: /^ {2,}\\n(?!\\s*$)/,\n del: noop,\n text: /^[\\s\\S]+?(?=[\\\\<!\\[_*`]| {2,}\\n|$)/\n};\n\ninline._inside = /(?:\\[[^\\]]*\\]|[^\\[\\]]|\\](?=[^\\[]*\\]))*/;\ninline._href = /\\s*<?([\\s\\S]*?)>?(?:\\s+['\"]([\\s\\S]*?)['\"])?\\s*/;\n\ninline.link = replace(inline.link)\n ('inside', inline._inside)\n ('href', inline._href)\n ();\n\ninline.reflink = replace(inline.reflink)\n ('inside', inline._inside)\n ();\n\n/**\n * Normal Inline Grammar\n */\n\ninline.normal = merge({}, inline);\n\n/**\n * Pedantic Inline Grammar\n */\n\ninline.pedantic = merge({}, inline.normal, {\n strong: /^__(?=\\S)([\\s\\S]*?\\S)__(?!_)|^\\*\\*(?=\\S)([\\s\\S]*?\\S)\\*\\*(?!\\*)/,\n em: /^_(?=\\S)([\\s\\S]*?\\S)_(?!_)|^\\*(?=\\S)([\\s\\S]*?\\S)\\*(?!\\*)/\n});\n\n/**\n * GFM Inline Grammar\n */\n\ninline.gfm = merge({}, inline.normal, {\n escape: replace(inline.escape)('])', '~|])')(),\n url: /^(https?:\\/\\/[^\\s<]+[^<.,:;\"')\\]\\s])/,\n del: /^~~(?=\\S)([\\s\\S]*?\\S)~~/,\n text: replace(inline.text)\n (']|', '~]|')\n ('|', '|https?://|')\n ()\n});\n\n/**\n * GFM + Line Breaks Inline Grammar\n */\n\ninline.breaks = merge({}, inline.gfm, {\n br: replace(inline.br)('{2,}', '*')(),\n text: replace(inline.gfm.text)('{2,}', '*')()\n});\n\n/**\n * Inline Lexer & Compiler\n */\n\nfunction InlineLexer(links, options) {\n this.options = options || marked.defaults;\n this.links = links;\n this.rules = inline.normal;\n this.renderer = this.options.renderer || new Renderer;\n this.renderer.options = this.options;\n\n if (!this.links) {\n throw new\n Error('Tokens array requires a `links` property.');\n }\n\n if (this.options.gfm) {\n if (this.options.breaks) {\n this.rules = inline.breaks;\n } else {\n this.rules = inline.gfm;\n }\n } else if (this.options.pedantic) {\n this.rules = inline.pedantic;\n }\n}\n\n/**\n * Expose Inline Rules\n */\n\nInlineLexer.rules = inline;\n\n/**\n * Static Lexing/Compiling Method\n */\n\nInlineLexer.output = function(src, links, options) {\n var inline = new InlineLexer(links, options);\n return inline.output(src);\n};\n\n/**\n * Lexing/Compiling\n */\n\nInlineLexer.prototype.output = function(src) {\n var out = ''\n , link\n , text\n , href\n , cap;\n\n while (src) {\n // escape\n if (cap = this.rules.escape.exec(src)) {\n src = src.substring(cap[0].length);\n out += cap[1];\n continue;\n }\n\n // autolink\n if (cap = this.rules.autolink.exec(src)) {\n src = src.substring(cap[0].length);\n if (cap[2] === '@') {\n text = cap[1].charAt(6) === ':'\n ? this.mangle(cap[1].substring(7))\n : this.mangle(cap[1]);\n href = this.mangle('mailto:') + text;\n } else {\n text = escape(cap[1]);\n href = text;\n }\n out += this.renderer.link(href, null, text);\n continue;\n }\n\n // url (gfm)\n if (!this.inLink && (cap = this.rules.url.exec(src))) {\n src = src.substring(cap[0].length);\n text = escape(cap[1]);\n href = text;\n out += this.renderer.link(href, null, text);\n continue;\n }\n\n // tag\n if (cap = this.rules.tag.exec(src)) {\n if (!this.inLink && /^<a /i.test(cap[0])) {\n this.inLink = true;\n } else if (this.inLink && /^<\\/a>/i.test(cap[0])) {\n this.inLink = false;\n }\n src = src.substring(cap[0].length);\n out += this.options.sanitize\n ? this.options.sanitizer\n ? this.options.sanitizer(cap[0])\n : escape(cap[0])\n : cap[0]\n continue;\n }\n\n // link\n if (cap = this.rules.link.exec(src)) {\n src = src.substring(cap[0].length);\n this.inLink = true;\n out += this.outputLink(cap, {\n href: cap[2],\n title: cap[3]\n });\n this.inLink = false;\n continue;\n }\n\n // reflink, nolink\n if ((cap = this.rules.reflink.exec(src))\n || (cap = this.rules.nolink.exec(src))) {\n src = src.substring(cap[0].length);\n link = (cap[2] || cap[1]).replace(/\\s+/g, ' ');\n link = this.links[link.toLowerCase()];\n if (!link || !link.href) {\n out += cap[0].charAt(0);\n src = cap[0].substring(1) + src;\n continue;\n }\n this.inLink = true;\n out += this.outputLink(cap, link);\n this.inLink = false;\n continue;\n }\n\n // strong\n if (cap = this.rules.strong.exec(src)) {\n src = src.substring(cap[0].length);\n out += this.renderer.strong(this.output(cap[2] || cap[1]));\n continue;\n }\n\n // em\n if (cap = this.rules.em.exec(src)) {\n src = src.substring(cap[0].length);\n out += this.renderer.em(this.output(cap[2] || cap[1]));\n continue;\n }\n\n // code\n if (cap = this.rules.code.exec(src)) {\n src = src.substring(cap[0].length);\n out += this.renderer.codespan(escape(cap[2], true));\n continue;\n }\n\n // br\n if (cap = this.rules.br.exec(src)) {\n src = src.substring(cap[0].length);\n out += this.renderer.br();\n continue;\n }\n\n // del (gfm)\n if (cap = this.rules.del.exec(src)) {\n src = src.substring(cap[0].length);\n out += this.renderer.del(this.output(cap[1]));\n continue;\n }\n\n // text\n if (cap = this.rules.text.exec(src)) {\n src = src.substring(cap[0].length);\n out += this.renderer.text(escape(this.smartypants(cap[0])));\n continue;\n }\n\n if (src) {\n throw new\n Error('Infinite loop on byte: ' + src.charCodeAt(0));\n }\n }\n\n return out;\n};\n\n/**\n * Compile Link\n */\n\nInlineLexer.prototype.outputLink = function(cap, link) {\n var href = escape(link.href)\n , title = link.title ? escape(link.title) : null;\n\n return cap[0].charAt(0) !== '!'\n ? this.renderer.link(href, title, this.output(cap[1]))\n : this.renderer.image(href, title, escape(cap[1]));\n};\n\n/**\n * Smartypants Transformations\n */\n\nInlineLexer.prototype.smartypants = function(text) {\n if (!this.options.smartypants) return text;\n return text\n // em-dashes\n .replace(/---/g, '\\u2014')\n // en-dashes\n .replace(/--/g, '\\u2013')\n // opening singles\n .replace(/(^|[-\\u2014/(\\[{\"\\s])'/g, '$1\\u2018')\n // closing singles & apostrophes\n .replace(/'/g, '\\u2019')\n // opening doubles\n .replace(/(^|[-\\u2014/(\\[{\\u2018\\s])\"/g, '$1\\u201c')\n // closing doubles\n .replace(/\"/g, '\\u201d')\n // ellipses\n .replace(/\\.{3}/g, '\\u2026');\n};\n\n/**\n * Mangle Links\n */\n\nInlineLexer.prototype.mangle = function(text) {\n if (!this.options.mangle) return text;\n var out = ''\n , l = text.length\n , i = 0\n , ch;\n\n for (; i < l; i++) {\n ch = text.charCodeAt(i);\n if (Math.random() > 0.5) {\n ch = 'x' + ch.toString(16);\n }\n out += '&#' + ch + ';';\n }\n\n return out;\n};\n\n/**\n * Renderer\n */\n\nfunction Renderer(options) {\n this.options = options || {};\n}\n\nRenderer.prototype.code = function(code, lang, escaped) {\n if (this.options.highlight) {\n var out = this.options.highlight(code, lang);\n if (out != null && out !== code) {\n escaped = true;\n code = out;\n }\n }\n\n if (!lang) {\n return '<pre><code>'\n + (escaped ? code : escape(code, true))\n + '\\n</code></pre>';\n }\n\n return '<pre><code class=\"'\n + this.options.langPrefix\n + escape(lang, true)\n + '\">'\n + (escaped ? code : escape(code, true))\n + '\\n</code></pre>\\n';\n};\n\nRenderer.prototype.blockquote = function(quote) {\n return '<blockquote>\\n' + quote + '</blockquote>\\n';\n};\n\nRenderer.prototype.html = function(html) {\n return html;\n};\n\nRenderer.prototype.heading = function(text, level, raw) {\n return '<h'\n + level\n + ' id=\"'\n + this.options.headerPrefix\n + raw.toLowerCase().replace(/[^\\w]+/g, '-')\n + '\">'\n + text\n + '</h'\n + level\n + '>\\n';\n};\n\nRenderer.prototype.hr = function() {\n return this.options.xhtml ? '<hr/>\\n' : '<hr>\\n';\n};\n\nRenderer.prototype.list = function(body, ordered) {\n var type = ordered ? 'ol' : 'ul';\n return '<' + type + '>\\n' + body + '</' + type + '>\\n';\n};\n\nRenderer.prototype.listitem = function(text) {\n return '<li>' + text + '</li>\\n';\n};\n\nRenderer.prototype.paragraph = function(text) {\n return '<p>' + text + '</p>\\n';\n};\n\nRenderer.prototype.table = function(header, body) {\n return '<table>\\n'\n + '<thead>\\n'\n + header\n + '</thead>\\n'\n + '<tbody>\\n'\n + body\n + '</tbody>\\n'\n + '</table>\\n';\n};\n\nRenderer.prototype.tablerow = function(content) {\n return '<tr>\\n' + content + '</tr>\\n';\n};\n\nRenderer.prototype.tablecell = function(content, flags) {\n var type = flags.header ? 'th' : 'td';\n var tag = flags.align\n ? '<' + type + ' style=\"text-align:' + flags.align + '\">'\n : '<' + type + '>';\n return tag + content + '</' + type + '>\\n';\n};\n\n// span level renderer\nRenderer.prototype.strong = function(text) {\n return '<strong>' + text + '</strong>';\n};\n\nRenderer.prototype.em = function(text) {\n return '<em>' + text + '</em>';\n};\n\nRenderer.prototype.codespan = function(text) {\n return '<code>' + text + '</code>';\n};\n\nRenderer.prototype.br = function() {\n return this.options.xhtml ? '<br/>' : '<br>';\n};\n\nRenderer.prototype.del = function(text) {\n return '<del>' + text + '</del>';\n};\n\nRenderer.prototype.link = function(href, title, text) {\n if (this.options.sanitize) {\n try {\n var prot = decodeURIComponent(unescape(href))\n .replace(/[^\\w:]/g, '')\n .toLowerCase();\n } catch (e) {\n return '';\n }\n if (prot.indexOf('javascript:') === 0 || prot.indexOf('vbscript:') === 0) {\n return '';\n }\n }\n var out = '<a href=\"' + href + '\"';\n if (title) {\n out += ' title=\"' + title + '\"';\n }\n out += '>' + text + '</a>';\n return out;\n};\n\nRenderer.prototype.image = function(href, title, text) {\n var out = '<img src=\"' + href + '\" alt=\"' + text + '\"';\n if (title) {\n out += ' title=\"' + title + '\"';\n }\n out += this.options.xhtml ? '/>' : '>';\n return out;\n};\n\nRenderer.prototype.text = function(text) {\n return text;\n};\n\n/**\n * Parsing & Compiling\n */\n\nfunction Parser(options) {\n this.tokens = [];\n this.token = null;\n this.options = options || marked.defaults;\n this.options.renderer = this.options.renderer || new Renderer;\n this.renderer = this.options.renderer;\n this.renderer.options = this.options;\n}\n\n/**\n * Static Parse Method\n */\n\nParser.parse = function(src, options, renderer) {\n var parser = new Parser(options, renderer);\n return parser.parse(src);\n};\n\n/**\n * Parse Loop\n */\n\nParser.prototype.parse = function(src) {\n this.inline = new InlineLexer(src.links, this.options, this.renderer);\n this.tokens = src.reverse();\n\n var out = '';\n while (this.next()) {\n out += this.tok();\n }\n\n return out;\n};\n\n/**\n * Next Token\n */\n\nParser.prototype.next = function() {\n return this.token = this.tokens.pop();\n};\n\n/**\n * Preview Next Token\n */\n\nParser.prototype.peek = function() {\n return this.tokens[this.tokens.length - 1] || 0;\n};\n\n/**\n * Parse Text Tokens\n */\n\nParser.prototype.parseText = function() {\n var body = this.token.text;\n\n while (this.peek().type === 'text') {\n body += '\\n' + this.next().text;\n }\n\n return this.inline.output(body);\n};\n\n/**\n * Parse Current Token\n */\n\nParser.prototype.tok = function() {\n switch (this.token.type) {\n case 'space': {\n return '';\n }\n case 'hr': {\n return this.renderer.hr();\n }\n case 'heading': {\n return this.renderer.heading(\n this.inline.output(this.token.text),\n this.token.depth,\n this.token.text);\n }\n case 'code': {\n return this.renderer.code(this.token.text,\n this.token.lang,\n this.token.escaped);\n }\n case 'table': {\n var header = ''\n , body = ''\n , i\n , row\n , cell\n , flags\n , j;\n\n // header\n cell = '';\n for (i = 0; i < this.token.header.length; i++) {\n flags = { header: true, align: this.token.align[i] };\n cell += this.renderer.tablecell(\n this.inline.output(this.token.header[i]),\n { header: true, align: this.token.align[i] }\n );\n }\n header += this.renderer.tablerow(cell);\n\n for (i = 0; i < this.token.cells.length; i++) {\n row = this.token.cells[i];\n\n cell = '';\n for (j = 0; j < row.length; j++) {\n cell += this.renderer.tablecell(\n this.inline.output(row[j]),\n { header: false, align: this.token.align[j] }\n );\n }\n\n body += this.renderer.tablerow(cell);\n }\n return this.renderer.table(header, body);\n }\n case 'blockquote_start': {\n var body = '';\n\n while (this.next().type !== 'blockquote_end') {\n body += this.tok();\n }\n\n return this.renderer.blockquote(body);\n }\n case 'list_start': {\n var body = ''\n , ordered = this.token.ordered;\n\n while (this.next().type !== 'list_end') {\n body += this.tok();\n }\n\n return this.renderer.list(body, ordered);\n }\n case 'list_item_start': {\n var body = '';\n\n while (this.next().type !== 'list_item_end') {\n body += this.token.type === 'text'\n ? this.parseText()\n : this.tok();\n }\n\n return this.renderer.listitem(body);\n }\n case 'loose_item_start': {\n var body = '';\n\n while (this.next().type !== 'list_item_end') {\n body += this.tok();\n }\n\n return this.renderer.listitem(body);\n }\n case 'html': {\n var html = !this.token.pre && !this.options.pedantic\n ? this.inline.output(this.token.text)\n : this.token.text;\n return this.renderer.html(html);\n }\n case 'paragraph': {\n return this.renderer.paragraph(this.inline.output(this.token.text));\n }\n case 'text': {\n return this.renderer.paragraph(this.parseText());\n }\n }\n};\n\n/**\n * Helpers\n */\n\nfunction escape(html, encode) {\n return html\n .replace(!encode ? /&(?!#?\\w+;)/g : /&/g, '&')\n .replace(/</g, '<')\n .replace(/>/g, '>')\n .replace(/\"/g, '"')\n .replace(/'/g, ''');\n}\n\nfunction unescape(html) {\n\t// explicitly match decimal, hex, and named HTML entities \n return html.replace(/&(#(?:\\d+)|(?:#x[0-9A-Fa-f]+)|(?:\\w+));?/g, function(_, n) {\n n = n.toLowerCase();\n if (n === 'colon') return ':';\n if (n.charAt(0) === '#') {\n return n.charAt(1) === 'x'\n ? String.fromCharCode(parseInt(n.substring(2), 16))\n : String.fromCharCode(+n.substring(1));\n }\n return '';\n });\n}\n\nfunction replace(regex, opt) {\n regex = regex.source;\n opt = opt || '';\n return function self(name, val) {\n if (!name) return new RegExp(regex, opt);\n val = val.source || val;\n val = val.replace(/(^|[^\\[])\\^/g, '$1');\n regex = regex.replace(name, val);\n return self;\n };\n}\n\nfunction noop() {}\nnoop.exec = noop;\n\nfunction merge(obj) {\n var i = 1\n , target\n , key;\n\n for (; i < arguments.length; i++) {\n target = arguments[i];\n for (key in target) {\n if (Object.prototype.hasOwnProperty.call(target, key)) {\n obj[key] = target[key];\n }\n }\n }\n\n return obj;\n}\n\n\n/**\n * Marked\n */\n\nfunction marked(src, opt, callback) {\n if (callback || typeof opt === 'function') {\n if (!callback) {\n callback = opt;\n opt = null;\n }\n\n opt = merge({}, marked.defaults, opt || {});\n\n var highlight = opt.highlight\n , tokens\n , pending\n , i = 0;\n\n try {\n tokens = Lexer.lex(src, opt)\n } catch (e) {\n return callback(e);\n }\n\n pending = tokens.length;\n\n var done = function(err) {\n if (err) {\n opt.highlight = highlight;\n return callback(err);\n }\n\n var out;\n\n try {\n out = Parser.parse(tokens, opt);\n } catch (e) {\n err = e;\n }\n\n opt.highlight = highlight;\n\n return err\n ? callback(err)\n : callback(null, out);\n };\n\n if (!highlight || highlight.length < 3) {\n return done();\n }\n\n delete opt.highlight;\n\n if (!pending) return done();\n\n for (; i < tokens.length; i++) {\n (function(token) {\n if (token.type !== 'code') {\n return --pending || done();\n }\n return highlight(token.text, token.lang, function(err, code) {\n if (err) return done(err);\n if (code == null || code === token.text) {\n return --pending || done();\n }\n token.text = code;\n token.escaped = true;\n --pending || done();\n });\n })(tokens[i]);\n }\n\n return;\n }\n try {\n if (opt) opt = merge({}, marked.defaults, opt);\n return Parser.parse(Lexer.lex(src, opt), opt);\n } catch (e) {\n e.message += '\\nPlease report this to https://github.com/chjj/marked.';\n if ((opt || marked.defaults).silent) {\n return '<p>An error occured:</p><pre>'\n + escape(e.message + '', true)\n + '</pre>';\n }\n throw e;\n }\n}\n\n/**\n * Options\n */\n\nmarked.options =\nmarked.setOptions = function(opt) {\n merge(marked.defaults, opt);\n return marked;\n};\n\nmarked.defaults = {\n gfm: true,\n tables: true,\n breaks: false,\n pedantic: false,\n sanitize: false,\n sanitizer: null,\n mangle: true,\n smartLists: false,\n silent: false,\n highlight: null,\n langPrefix: 'lang-',\n smartypants: false,\n headerPrefix: '',\n renderer: new Renderer,\n xhtml: false\n};\n\n/**\n * Expose\n */\n\nmarked.Parser = Parser;\nmarked.parser = Parser.parse;\n\nmarked.Renderer = Renderer;\n\nmarked.Lexer = Lexer;\nmarked.lexer = Lexer.lex;\n\nmarked.InlineLexer = InlineLexer;\nmarked.inlineLexer = InlineLexer.output;\n\nmarked.parse = marked;\n\nif (typeof module !== 'undefined' && typeof exports === 'object') {\n module.exports = marked;\n} else if (typeof define === 'function' && define.amd) {\n define(function() { return marked; });\n} else {\n this.marked = marked;\n}\n\n}).call(function() {\n return this || (typeof window !== 'undefined' ? window : global);\n}());\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/marked/lib/marked.js\n ** module id = 534\n ** module chunks = 0\n **/","var map = {\n\t\"./af\": 198,\n\t\"./af.js\": 198,\n\t\"./ar\": 204,\n\t\"./ar-dz\": 199,\n\t\"./ar-dz.js\": 199,\n\t\"./ar-ly\": 200,\n\t\"./ar-ly.js\": 200,\n\t\"./ar-ma\": 201,\n\t\"./ar-ma.js\": 201,\n\t\"./ar-sa\": 202,\n\t\"./ar-sa.js\": 202,\n\t\"./ar-tn\": 203,\n\t\"./ar-tn.js\": 203,\n\t\"./ar.js\": 204,\n\t\"./az\": 205,\n\t\"./az.js\": 205,\n\t\"./be\": 206,\n\t\"./be.js\": 206,\n\t\"./bg\": 207,\n\t\"./bg.js\": 207,\n\t\"./bn\": 208,\n\t\"./bn.js\": 208,\n\t\"./bo\": 209,\n\t\"./bo.js\": 209,\n\t\"./br\": 210,\n\t\"./br.js\": 210,\n\t\"./bs\": 211,\n\t\"./bs.js\": 211,\n\t\"./ca\": 212,\n\t\"./ca.js\": 212,\n\t\"./cs\": 213,\n\t\"./cs.js\": 213,\n\t\"./cv\": 214,\n\t\"./cv.js\": 214,\n\t\"./cy\": 215,\n\t\"./cy.js\": 215,\n\t\"./da\": 216,\n\t\"./da.js\": 216,\n\t\"./de\": 218,\n\t\"./de-at\": 217,\n\t\"./de-at.js\": 217,\n\t\"./de.js\": 218,\n\t\"./dv\": 219,\n\t\"./dv.js\": 219,\n\t\"./el\": 220,\n\t\"./el.js\": 220,\n\t\"./en-au\": 221,\n\t\"./en-au.js\": 221,\n\t\"./en-ca\": 222,\n\t\"./en-ca.js\": 222,\n\t\"./en-gb\": 223,\n\t\"./en-gb.js\": 223,\n\t\"./en-ie\": 224,\n\t\"./en-ie.js\": 224,\n\t\"./en-nz\": 225,\n\t\"./en-nz.js\": 225,\n\t\"./eo\": 226,\n\t\"./eo.js\": 226,\n\t\"./es\": 228,\n\t\"./es-do\": 227,\n\t\"./es-do.js\": 227,\n\t\"./es.js\": 228,\n\t\"./et\": 229,\n\t\"./et.js\": 229,\n\t\"./eu\": 230,\n\t\"./eu.js\": 230,\n\t\"./fa\": 231,\n\t\"./fa.js\": 231,\n\t\"./fi\": 232,\n\t\"./fi.js\": 232,\n\t\"./fo\": 233,\n\t\"./fo.js\": 233,\n\t\"./fr\": 236,\n\t\"./fr-ca\": 234,\n\t\"./fr-ca.js\": 234,\n\t\"./fr-ch\": 235,\n\t\"./fr-ch.js\": 235,\n\t\"./fr.js\": 236,\n\t\"./fy\": 237,\n\t\"./fy.js\": 237,\n\t\"./gd\": 238,\n\t\"./gd.js\": 238,\n\t\"./gl\": 239,\n\t\"./gl.js\": 239,\n\t\"./he\": 240,\n\t\"./he.js\": 240,\n\t\"./hi\": 241,\n\t\"./hi.js\": 241,\n\t\"./hr\": 242,\n\t\"./hr.js\": 242,\n\t\"./hu\": 243,\n\t\"./hu.js\": 243,\n\t\"./hy-am\": 244,\n\t\"./hy-am.js\": 244,\n\t\"./id\": 245,\n\t\"./id.js\": 245,\n\t\"./is\": 246,\n\t\"./is.js\": 246,\n\t\"./it\": 247,\n\t\"./it.js\": 247,\n\t\"./ja\": 248,\n\t\"./ja.js\": 248,\n\t\"./jv\": 249,\n\t\"./jv.js\": 249,\n\t\"./ka\": 250,\n\t\"./ka.js\": 250,\n\t\"./kk\": 251,\n\t\"./kk.js\": 251,\n\t\"./km\": 252,\n\t\"./km.js\": 252,\n\t\"./ko\": 253,\n\t\"./ko.js\": 253,\n\t\"./ky\": 254,\n\t\"./ky.js\": 254,\n\t\"./lb\": 255,\n\t\"./lb.js\": 255,\n\t\"./lo\": 256,\n\t\"./lo.js\": 256,\n\t\"./lt\": 257,\n\t\"./lt.js\": 257,\n\t\"./lv\": 258,\n\t\"./lv.js\": 258,\n\t\"./me\": 259,\n\t\"./me.js\": 259,\n\t\"./mi\": 260,\n\t\"./mi.js\": 260,\n\t\"./mk\": 261,\n\t\"./mk.js\": 261,\n\t\"./ml\": 262,\n\t\"./ml.js\": 262,\n\t\"./mr\": 263,\n\t\"./mr.js\": 263,\n\t\"./ms\": 265,\n\t\"./ms-my\": 264,\n\t\"./ms-my.js\": 264,\n\t\"./ms.js\": 265,\n\t\"./my\": 266,\n\t\"./my.js\": 266,\n\t\"./nb\": 267,\n\t\"./nb.js\": 267,\n\t\"./ne\": 268,\n\t\"./ne.js\": 268,\n\t\"./nl\": 270,\n\t\"./nl-be\": 269,\n\t\"./nl-be.js\": 269,\n\t\"./nl.js\": 270,\n\t\"./nn\": 271,\n\t\"./nn.js\": 271,\n\t\"./pa-in\": 272,\n\t\"./pa-in.js\": 272,\n\t\"./pl\": 273,\n\t\"./pl.js\": 273,\n\t\"./pt\": 275,\n\t\"./pt-br\": 274,\n\t\"./pt-br.js\": 274,\n\t\"./pt.js\": 275,\n\t\"./ro\": 276,\n\t\"./ro.js\": 276,\n\t\"./ru\": 277,\n\t\"./ru.js\": 277,\n\t\"./se\": 278,\n\t\"./se.js\": 278,\n\t\"./si\": 279,\n\t\"./si.js\": 279,\n\t\"./sk\": 280,\n\t\"./sk.js\": 280,\n\t\"./sl\": 281,\n\t\"./sl.js\": 281,\n\t\"./sq\": 282,\n\t\"./sq.js\": 282,\n\t\"./sr\": 284,\n\t\"./sr-cyrl\": 283,\n\t\"./sr-cyrl.js\": 283,\n\t\"./sr.js\": 284,\n\t\"./ss\": 285,\n\t\"./ss.js\": 285,\n\t\"./sv\": 286,\n\t\"./sv.js\": 286,\n\t\"./sw\": 287,\n\t\"./sw.js\": 287,\n\t\"./ta\": 288,\n\t\"./ta.js\": 288,\n\t\"./te\": 289,\n\t\"./te.js\": 289,\n\t\"./tet\": 290,\n\t\"./tet.js\": 290,\n\t\"./th\": 291,\n\t\"./th.js\": 291,\n\t\"./tl-ph\": 292,\n\t\"./tl-ph.js\": 292,\n\t\"./tlh\": 293,\n\t\"./tlh.js\": 293,\n\t\"./tr\": 294,\n\t\"./tr.js\": 294,\n\t\"./tzl\": 295,\n\t\"./tzl.js\": 295,\n\t\"./tzm\": 297,\n\t\"./tzm-latn\": 296,\n\t\"./tzm-latn.js\": 296,\n\t\"./tzm.js\": 297,\n\t\"./uk\": 298,\n\t\"./uk.js\": 298,\n\t\"./uz\": 299,\n\t\"./uz.js\": 299,\n\t\"./vi\": 300,\n\t\"./vi.js\": 300,\n\t\"./x-pseudo\": 301,\n\t\"./x-pseudo.js\": 301,\n\t\"./yo\": 302,\n\t\"./yo.js\": 302,\n\t\"./zh-cn\": 303,\n\t\"./zh-cn.js\": 303,\n\t\"./zh-hk\": 304,\n\t\"./zh-hk.js\": 304,\n\t\"./zh-tw\": 305,\n\t\"./zh-tw.js\": 305\n};\nfunction webpackContext(req) {\n\treturn __webpack_require__(webpackContextResolve(req));\n};\nfunction webpackContextResolve(req) {\n\treturn map[req] || (function() { throw new Error(\"Cannot find module '\" + req + \"'.\") }());\n};\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 535;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/moment/locale ^\\.\\/.*$\n ** module id = 535\n ** module chunks = 0\n **/","'use strict';\nvar strictUriEncode = require('strict-uri-encode');\nvar objectAssign = require('object-assign');\n\nfunction encode(value, opts) {\n\tif (opts.encode) {\n\t\treturn opts.strict ? strictUriEncode(value) : encodeURIComponent(value);\n\t}\n\n\treturn value;\n}\n\nexports.extract = function (str) {\n\treturn str.split('?')[1] || '';\n};\n\nexports.parse = function (str) {\n\t// Create an object with no prototype\n\t// https://github.com/sindresorhus/query-string/issues/47\n\tvar ret = Object.create(null);\n\n\tif (typeof str !== 'string') {\n\t\treturn ret;\n\t}\n\n\tstr = str.trim().replace(/^(\\?|#|&)/, '');\n\n\tif (!str) {\n\t\treturn ret;\n\t}\n\n\tstr.split('&').forEach(function (param) {\n\t\tvar parts = param.replace(/\\+/g, ' ').split('=');\n\t\t// Firefox (pre 40) decodes `%3D` to `=`\n\t\t// https://github.com/sindresorhus/query-string/pull/37\n\t\tvar key = parts.shift();\n\t\tvar val = parts.length > 0 ? parts.join('=') : undefined;\n\n\t\tkey = decodeURIComponent(key);\n\n\t\t// missing `=` should be `null`:\n\t\t// http://w3.org/TR/2012/WD-url-20120524/#collect-url-parameters\n\t\tval = val === undefined ? null : decodeURIComponent(val);\n\n\t\tif (ret[key] === undefined) {\n\t\t\tret[key] = val;\n\t\t} else if (Array.isArray(ret[key])) {\n\t\t\tret[key].push(val);\n\t\t} else {\n\t\t\tret[key] = [ret[key], val];\n\t\t}\n\t});\n\n\treturn ret;\n};\n\nexports.stringify = function (obj, opts) {\n\tvar defaults = {\n\t\tencode: true,\n\t\tstrict: true\n\t};\n\n\topts = objectAssign(defaults, opts);\n\n\treturn obj ? Object.keys(obj).sort().map(function (key) {\n\t\tvar val = obj[key];\n\n\t\tif (val === undefined) {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (val === null) {\n\t\t\treturn encode(key, opts);\n\t\t}\n\n\t\tif (Array.isArray(val)) {\n\t\t\tvar result = [];\n\n\t\t\tval.slice().forEach(function (val2) {\n\t\t\t\tif (val2 === undefined) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (val2 === null) {\n\t\t\t\t\tresult.push(encode(key, opts));\n\t\t\t\t} else {\n\t\t\t\t\tresult.push(encode(key, opts) + '=' + encode(val2, opts));\n\t\t\t\t}\n\t\t\t});\n\n\t\t\treturn result.join('&');\n\t\t}\n\n\t\treturn encode(key, opts) + '=' + encode(val, opts);\n\t}).filter(function (x) {\n\t\treturn x.length > 0;\n\t}).join('&') : '';\n};\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/query-string/index.js\n ** module id = 536\n ** module chunks = 0\n **/","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _brace = require('brace');\n\nvar _brace2 = _interopRequireDefault(_brace);\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _lodash = require('lodash.isequal');\n\nvar _lodash2 = _interopRequireDefault(_lodash);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar _ace$acequire = _brace2.default.acequire('ace/range'),\n Range = _ace$acequire.Range;\n\nvar editorOptions = ['minLines', 'maxLines', 'readOnly', 'highlightActiveLine', 'tabSize', 'enableBasicAutocompletion', 'enableLiveAutocompletion', 'enableSnippets'];\n\nvar ReactAce = function (_PureComponent) {\n _inherits(ReactAce, _PureComponent);\n\n function ReactAce(props) {\n _classCallCheck(this, ReactAce);\n\n var _this = _possibleConstructorReturn(this, (ReactAce.__proto__ || Object.getPrototypeOf(ReactAce)).call(this, props));\n\n ['onChange', 'onFocus', 'onBlur', 'onCopy', 'onPaste', 'onScroll', 'handleOptions'].forEach(function (method) {\n _this[method] = _this[method].bind(_this);\n });\n return _this;\n }\n\n _createClass(ReactAce, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n var _this2 = this;\n\n var _props = this.props,\n name = _props.name,\n className = _props.className,\n onBeforeLoad = _props.onBeforeLoad,\n mode = _props.mode,\n focus = _props.focus,\n theme = _props.theme,\n fontSize = _props.fontSize,\n value = _props.value,\n defaultValue = _props.defaultValue,\n cursorStart = _props.cursorStart,\n showGutter = _props.showGutter,\n wrapEnabled = _props.wrapEnabled,\n showPrintMargin = _props.showPrintMargin,\n keyboardHandler = _props.keyboardHandler,\n onLoad = _props.onLoad,\n commands = _props.commands,\n annotations = _props.annotations,\n markers = _props.markers;\n\n\n this.editor = _brace2.default.edit(this.refs.editor);\n\n if (onBeforeLoad) {\n onBeforeLoad(_brace2.default);\n }\n\n var editorProps = Object.keys(this.props.editorProps);\n for (var i = 0; i < editorProps.length; i++) {\n this.editor[editorProps[i]] = this.props.editorProps[editorProps[i]];\n }\n\n this.editor.getSession().setMode('ace/mode/' + mode);\n this.editor.setTheme('ace/theme/' + theme);\n this.editor.setFontSize(fontSize);\n this.editor.setValue(defaultValue === undefined ? value : defaultValue, cursorStart);\n this.editor.renderer.setShowGutter(showGutter);\n this.editor.getSession().setUseWrapMode(wrapEnabled);\n this.editor.setShowPrintMargin(showPrintMargin);\n this.editor.on('focus', this.onFocus);\n this.editor.on('blur', this.onBlur);\n this.editor.on('copy', this.onCopy);\n this.editor.on('paste', this.onPaste);\n this.editor.on('change', this.onChange);\n this.editor.session.on('changeScrollTop', this.onScroll);\n this.handleOptions(this.props);\n this.editor.getSession().setAnnotations(annotations || []);\n this.handleMarkers(markers || []);\n\n // get a list of possible options to avoid 'misspelled option errors'\n var availableOptions = this.editor.$options;\n for (var _i = 0; _i < editorOptions.length; _i++) {\n var option = editorOptions[_i];\n if (availableOptions.hasOwnProperty(option)) {\n this.editor.setOption(option, this.props[option]);\n }\n }\n\n if (Array.isArray(commands)) {\n commands.forEach(function (command) {\n _this2.editor.commands.addCommand(command);\n });\n }\n\n if (keyboardHandler) {\n this.editor.setKeyboardHandler('ace/keyboard/' + keyboardHandler);\n }\n\n if (className) {\n this.refs.editor.className += ' ' + className;\n }\n\n if (focus) {\n this.editor.focus();\n }\n\n if (onLoad) {\n onLoad(this.editor);\n }\n }\n }, {\n key: 'componentWillReceiveProps',\n value: function componentWillReceiveProps(nextProps) {\n var _this3 = this;\n\n var oldProps = this.props;\n\n for (var i = 0; i < editorOptions.length; i++) {\n var option = editorOptions[i];\n if (nextProps[option] !== oldProps[option]) {\n this.editor.setOption(option, nextProps[option]);\n }\n }\n\n if (nextProps.className !== oldProps.className) {\n (function () {\n var appliedClasses = _this3.refs.editor.className;\n var appliedClassesArray = appliedClasses.trim().split(' ');\n var oldClassesArray = oldProps.className.trim().split(' ');\n oldClassesArray.forEach(function (oldClass) {\n var index = appliedClassesArray.indexOf(oldClass);\n appliedClassesArray.splice(index, 1);\n });\n _this3.refs.editor.className = ' ' + nextProps.className + ' ' + appliedClassesArray.join(' ');\n })();\n }\n\n if (nextProps.mode !== oldProps.mode) {\n this.editor.getSession().setMode('ace/mode/' + nextProps.mode);\n }\n if (nextProps.theme !== oldProps.theme) {\n this.editor.setTheme('ace/theme/' + nextProps.theme);\n }\n if (nextProps.keyboardHandler !== oldProps.keyboardHandler) {\n if (nextProps.keyboardHandler) {\n this.editor.setKeyboardHandler('ace/keyboard/' + nextProps.keyboardHandler);\n } else {\n this.editor.setKeyboardHandler(null);\n }\n }\n if (nextProps.fontSize !== oldProps.fontSize) {\n this.editor.setFontSize(nextProps.fontSize);\n }\n if (nextProps.wrapEnabled !== oldProps.wrapEnabled) {\n this.editor.getSession().setUseWrapMode(nextProps.wrapEnabled);\n }\n if (nextProps.showPrintMargin !== oldProps.showPrintMargin) {\n this.editor.setShowPrintMargin(nextProps.showPrintMargin);\n }\n if (nextProps.showGutter !== oldProps.showGutter) {\n this.editor.renderer.setShowGutter(nextProps.showGutter);\n }\n if (!(0, _lodash2.default)(nextProps.setOptions, oldProps.setOptions)) {\n this.handleOptions(nextProps);\n }\n if (!(0, _lodash2.default)(nextProps.annotations, oldProps.annotations)) {\n this.editor.getSession().setAnnotations(nextProps.annotations || []);\n }\n if (!(0, _lodash2.default)(nextProps.markers, oldProps.markers)) {\n this.handleMarkers(nextProps.markers || []);\n }\n if (this.editor && this.editor.getValue() !== nextProps.value) {\n // editor.setValue is a synchronous function call, change event is emitted before setValue return.\n this.silent = true;\n var pos = this.editor.session.selection.toJSON();\n this.editor.setValue(nextProps.value, nextProps.cursorStart);\n this.editor.session.selection.fromJSON(pos);\n this.silent = false;\n }\n\n if (nextProps.focus && !oldProps.focus) {\n this.editor.focus();\n }\n if (nextProps.height !== this.props.height) {\n this.editor.resize();\n }\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n this.editor.destroy();\n this.editor = null;\n }\n }, {\n key: 'onChange',\n value: function onChange() {\n if (this.props.onChange && !this.silent) {\n var value = this.editor.getValue();\n this.props.onChange(value);\n }\n }\n }, {\n key: 'onFocus',\n value: function onFocus() {\n if (this.props.onFocus) {\n this.props.onFocus();\n }\n }\n }, {\n key: 'onBlur',\n value: function onBlur() {\n if (this.props.onBlur) {\n this.props.onBlur();\n }\n }\n }, {\n key: 'onCopy',\n value: function onCopy(text) {\n if (this.props.onCopy) {\n this.props.onCopy(text);\n }\n }\n }, {\n key: 'onPaste',\n value: function onPaste(text) {\n if (this.props.onPaste) {\n this.props.onPaste(text);\n }\n }\n }, {\n key: 'onScroll',\n value: function onScroll() {\n if (this.props.onScroll) {\n this.props.onScroll(this.editor);\n }\n }\n }, {\n key: 'handleOptions',\n value: function handleOptions(props) {\n var setOptions = Object.keys(props.setOptions);\n for (var y = 0; y < setOptions.length; y++) {\n this.editor.setOption(setOptions[y], props.setOptions[setOptions[y]]);\n }\n }\n }, {\n key: 'handleMarkers',\n value: function handleMarkers(markers) {\n var _this4 = this;\n\n // remove foreground markers\n var currentMarkers = this.editor.getSession().getMarkers(true);\n for (var i in currentMarkers) {\n if (currentMarkers.hasOwnProperty(i)) {\n this.editor.getSession().removeMarker(currentMarkers[i].id);\n }\n }\n // remove background markers\n currentMarkers = this.editor.getSession().getMarkers(false);\n for (var _i2 in currentMarkers) {\n if (currentMarkers.hasOwnProperty(_i2)) {\n this.editor.getSession().removeMarker(currentMarkers[_i2].id);\n }\n }\n // add new markers\n markers.forEach(function (_ref) {\n var startRow = _ref.startRow,\n startCol = _ref.startCol,\n endRow = _ref.endRow,\n endCol = _ref.endCol,\n className = _ref.className,\n type = _ref.type,\n _ref$inFront = _ref.inFront,\n inFront = _ref$inFront === undefined ? false : _ref$inFront;\n\n var range = new Range(startRow, startCol, endRow, endCol);\n _this4.editor.getSession().addMarker(range, className, type, inFront);\n });\n }\n }, {\n key: 'render',\n value: function render() {\n var _props2 = this.props,\n name = _props2.name,\n width = _props2.width,\n height = _props2.height,\n style = _props2.style;\n\n var divStyle = _extends({ width: width, height: height }, style);\n return _react2.default.createElement('div', { ref: 'editor',\n id: name,\n style: divStyle\n });\n }\n }]);\n\n return ReactAce;\n}(_react.PureComponent);\n\nexports.default = ReactAce;\n\n\nReactAce.propTypes = {\n mode: _react.PropTypes.string,\n focus: _react.PropTypes.bool,\n theme: _react.PropTypes.string,\n name: _react.PropTypes.string,\n className: _react.PropTypes.string,\n height: _react.PropTypes.string,\n width: _react.PropTypes.string,\n fontSize: _react.PropTypes.oneOfType([_react.PropTypes.number, _react.PropTypes.string]),\n showGutter: _react.PropTypes.bool,\n onChange: _react.PropTypes.func,\n onCopy: _react.PropTypes.func,\n onPaste: _react.PropTypes.func,\n onFocus: _react.PropTypes.func,\n onBlur: _react.PropTypes.func,\n onScroll: _react.PropTypes.func,\n value: _react.PropTypes.string,\n defaultValue: _react.PropTypes.string,\n onLoad: _react.PropTypes.func,\n onBeforeLoad: _react.PropTypes.func,\n minLines: _react.PropTypes.number,\n maxLines: _react.PropTypes.number,\n readOnly: _react.PropTypes.bool,\n highlightActiveLine: _react.PropTypes.bool,\n tabSize: _react.PropTypes.number,\n showPrintMargin: _react.PropTypes.bool,\n cursorStart: _react.PropTypes.number,\n editorProps: _react.PropTypes.object,\n setOptions: _react.PropTypes.object,\n annotations: _react.PropTypes.array,\n markers: _react.PropTypes.array,\n keyboardHandler: _react.PropTypes.string,\n wrapEnabled: _react.PropTypes.bool,\n enableBasicAutocompletion: _react.PropTypes.oneOfType([_react.PropTypes.bool, _react.PropTypes.array]),\n enableLiveAutocompletion: _react.PropTypes.oneOfType([_react.PropTypes.bool, _react.PropTypes.array]),\n commands: _react.PropTypes.array\n};\n\nReactAce.defaultProps = {\n name: 'brace-editor',\n focus: false,\n mode: '',\n theme: '',\n height: '500px',\n width: '500px',\n value: '',\n fontSize: 12,\n showGutter: true,\n onChange: null,\n onPaste: null,\n onLoad: null,\n onScroll: null,\n minLines: null,\n maxLines: null,\n readOnly: false,\n highlightActiveLine: true,\n showPrintMargin: true,\n tabSize: 4,\n cursorStart: 1,\n editorProps: {},\n setOptions: {},\n wrapEnabled: false,\n enableBasicAutocompletion: false,\n enableLiveAutocompletion: false\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-ace/lib/ace.js\n ** module id = 537\n ** module chunks = 0\n **/","/* ***** BEGIN LICENSE BLOCK *****\n * Distributed under the BSD license:\n *\n * Copyright (c) 2010, Ajax.org B.V.\n * All rights reserved.\n *\n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are met:\n * * Redistributions of source code must retain the above copyright\n * notice, this list of conditions and the following disclaimer.\n * * Redistributions in binary form must reproduce the above copyright\n * notice, this list of conditions and the following disclaimer in the\n * documentation and/or other materials provided with the distribution.\n * * Neither the name of Ajax.org B.V. nor the\n * names of its contributors may be used to endorse or promote products\n * derived from this software without specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\n * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\n * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\n * DISCLAIMED. IN NO EVENT SHALL AJAX.ORG B.V. BE LIABLE FOR ANY\n * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\n * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND\n * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\n * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n *\n * ***** END LICENSE BLOCK ***** */\n\n/**\n * Define a module along with a payload\n * @param module a name for the payload\n * @param payload a function to call with (acequire, exports, module) params\n */\n\n(function() {\n\nvar ACE_NAMESPACE = \"ace\";\n\nvar global = (function() { return this; })();\nif (!global && typeof window != \"undefined\") global = window; // strict mode\n\n\nif (!ACE_NAMESPACE && typeof acequirejs !== \"undefined\")\n return;\n\n\nvar define = function(module, deps, payload) {\n if (typeof module !== \"string\") {\n if (define.original)\n define.original.apply(this, arguments);\n else {\n console.error(\"dropping module because define wasn\\'t a string.\");\n console.trace();\n }\n return;\n }\n if (arguments.length == 2)\n payload = deps;\n if (!define.modules[module]) {\n define.payloads[module] = payload;\n define.modules[module] = null;\n }\n};\n\ndefine.modules = {};\ndefine.payloads = {};\n\n/**\n * Get at functionality define()ed using the function above\n */\nvar _acequire = function(parentId, module, callback) {\n if (typeof module === \"string\") {\n var payload = lookup(parentId, module);\n if (payload != undefined) {\n callback && callback();\n return payload;\n }\n } else if (Object.prototype.toString.call(module) === \"[object Array]\") {\n var params = [];\n for (var i = 0, l = module.length; i < l; ++i) {\n var dep = lookup(parentId, module[i]);\n if (dep == undefined && acequire.original)\n return;\n params.push(dep);\n }\n return callback && callback.apply(null, params) || true;\n }\n};\n\nvar acequire = function(module, callback) {\n var packagedModule = _acequire(\"\", module, callback);\n if (packagedModule == undefined && acequire.original)\n return acequire.original.apply(this, arguments);\n return packagedModule;\n};\n\nvar normalizeModule = function(parentId, moduleName) {\n // normalize plugin acequires\n if (moduleName.indexOf(\"!\") !== -1) {\n var chunks = moduleName.split(\"!\");\n return normalizeModule(parentId, chunks[0]) + \"!\" + normalizeModule(parentId, chunks[1]);\n }\n // normalize relative acequires\n if (moduleName.charAt(0) == \".\") {\n var base = parentId.split(\"/\").slice(0, -1).join(\"/\");\n moduleName = base + \"/\" + moduleName;\n\n while(moduleName.indexOf(\".\") !== -1 && previous != moduleName) {\n var previous = moduleName;\n moduleName = moduleName.replace(/\\/\\.\\//, \"/\").replace(/[^\\/]+\\/\\.\\.\\//, \"\");\n }\n }\n return moduleName;\n};\n\n/**\n * Internal function to lookup moduleNames and resolve them by calling the\n * definition function if needed.\n */\nvar lookup = function(parentId, moduleName) {\n moduleName = normalizeModule(parentId, moduleName);\n\n var module = define.modules[moduleName];\n if (!module) {\n module = define.payloads[moduleName];\n if (typeof module === 'function') {\n var exports = {};\n var mod = {\n id: moduleName,\n uri: '',\n exports: exports,\n packaged: true\n };\n\n var req = function(module, callback) {\n return _acequire(moduleName, module, callback);\n };\n\n var returnValue = module(req, exports, mod);\n exports = returnValue || mod.exports;\n define.modules[moduleName] = exports;\n delete define.payloads[moduleName];\n }\n module = define.modules[moduleName] = exports || module;\n }\n return module;\n};\n\nfunction exportAce(ns) {\n var root = global;\n if (ns) {\n if (!global[ns])\n global[ns] = {};\n root = global[ns];\n }\n\n if (!root.define || !root.define.packaged) {\n define.original = root.define;\n root.define = define;\n root.define.packaged = true;\n }\n\n if (!root.acequire || !root.acequire.packaged) {\n acequire.original = root.acequire;\n root.acequire = acequire;\n root.acequire.packaged = true;\n }\n}\n\nexportAce(ACE_NAMESPACE);\n\n})();\n\nace.define(\"ace/lib/regexp\",[\"require\",\"exports\",\"module\"], function(acequire, exports, module) {\n\"use strict\";\n\n var real = {\n exec: RegExp.prototype.exec,\n test: RegExp.prototype.test,\n match: String.prototype.match,\n replace: String.prototype.replace,\n split: String.prototype.split\n },\n compliantExecNpcg = real.exec.call(/()??/, \"\")[1] === undefined, // check `exec` handling of nonparticipating capturing groups\n compliantLastIndexIncrement = function () {\n var x = /^/g;\n real.test.call(x, \"\");\n return !x.lastIndex;\n }();\n\n if (compliantLastIndexIncrement && compliantExecNpcg)\n return;\n RegExp.prototype.exec = function (str) {\n var match = real.exec.apply(this, arguments),\n name, r2;\n if ( typeof(str) == 'string' && match) {\n if (!compliantExecNpcg && match.length > 1 && indexOf(match, \"\") > -1) {\n r2 = RegExp(this.source, real.replace.call(getNativeFlags(this), \"g\", \"\"));\n real.replace.call(str.slice(match.index), r2, function () {\n for (var i = 1; i < arguments.length - 2; i++) {\n if (arguments[i] === undefined)\n match[i] = undefined;\n }\n });\n }\n if (this._xregexp && this._xregexp.captureNames) {\n for (var i = 1; i < match.length; i++) {\n name = this._xregexp.captureNames[i - 1];\n if (name)\n match[name] = match[i];\n }\n }\n if (!compliantLastIndexIncrement && this.global && !match[0].length && (this.lastIndex > match.index))\n this.lastIndex--;\n }\n return match;\n };\n if (!compliantLastIndexIncrement) {\n RegExp.prototype.test = function (str) {\n var match = real.exec.call(this, str);\n if (match && this.global && !match[0].length && (this.lastIndex > match.index))\n this.lastIndex--;\n return !!match;\n };\n }\n\n function getNativeFlags (regex) {\n return (regex.global ? \"g\" : \"\") +\n (regex.ignoreCase ? \"i\" : \"\") +\n (regex.multiline ? \"m\" : \"\") +\n (regex.extended ? \"x\" : \"\") + // Proposed for ES4; included in AS3\n (regex.sticky ? \"y\" : \"\");\n }\n\n function indexOf (array, item, from) {\n if (Array.prototype.indexOf) // Use the native array method if available\n return array.indexOf(item, from);\n for (var i = from || 0; i < array.length; i++) {\n if (array[i] === item)\n return i;\n }\n return -1;\n }\n\n});\n\nace.define(\"ace/lib/es5-shim\",[\"require\",\"exports\",\"module\"], function(acequire, exports, module) {\n\nfunction Empty() {}\n\nif (!Function.prototype.bind) {\n Function.prototype.bind = function bind(that) { // .length is 1\n var target = this;\n if (typeof target != \"function\") {\n throw new TypeError(\"Function.prototype.bind called on incompatible \" + target);\n }\n var args = slice.call(arguments, 1); // for normal call\n var bound = function () {\n\n if (this instanceof bound) {\n\n var result = target.apply(\n this,\n args.concat(slice.call(arguments))\n );\n if (Object(result) === result) {\n return result;\n }\n return this;\n\n } else {\n return target.apply(\n that,\n args.concat(slice.call(arguments))\n );\n\n }\n\n };\n if(target.prototype) {\n Empty.prototype = target.prototype;\n bound.prototype = new Empty();\n Empty.prototype = null;\n }\n return bound;\n };\n}\nvar call = Function.prototype.call;\nvar prototypeOfArray = Array.prototype;\nvar prototypeOfObject = Object.prototype;\nvar slice = prototypeOfArray.slice;\nvar _toString = call.bind(prototypeOfObject.toString);\nvar owns = call.bind(prototypeOfObject.hasOwnProperty);\nvar defineGetter;\nvar defineSetter;\nvar lookupGetter;\nvar lookupSetter;\nvar supportsAccessors;\nif ((supportsAccessors = owns(prototypeOfObject, \"__defineGetter__\"))) {\n defineGetter = call.bind(prototypeOfObject.__defineGetter__);\n defineSetter = call.bind(prototypeOfObject.__defineSetter__);\n lookupGetter = call.bind(prototypeOfObject.__lookupGetter__);\n lookupSetter = call.bind(prototypeOfObject.__lookupSetter__);\n}\nif ([1,2].splice(0).length != 2) {\n if(function() { // test IE < 9 to splice bug - see issue #138\n function makeArray(l) {\n var a = new Array(l+2);\n a[0] = a[1] = 0;\n return a;\n }\n var array = [], lengthBefore;\n \n array.splice.apply(array, makeArray(20));\n array.splice.apply(array, makeArray(26));\n\n lengthBefore = array.length; //46\n array.splice(5, 0, \"XXX\"); // add one element\n\n lengthBefore + 1 == array.length\n\n if (lengthBefore + 1 == array.length) {\n return true;// has right splice implementation without bugs\n }\n }()) {//IE 6/7\n var array_splice = Array.prototype.splice;\n Array.prototype.splice = function(start, deleteCount) {\n if (!arguments.length) {\n return [];\n } else {\n return array_splice.apply(this, [\n start === void 0 ? 0 : start,\n deleteCount === void 0 ? (this.length - start) : deleteCount\n ].concat(slice.call(arguments, 2)))\n }\n };\n } else {//IE8\n Array.prototype.splice = function(pos, removeCount){\n var length = this.length;\n if (pos > 0) {\n if (pos > length)\n pos = length;\n } else if (pos == void 0) {\n pos = 0;\n } else if (pos < 0) {\n pos = Math.max(length + pos, 0);\n }\n\n if (!(pos+removeCount < length))\n removeCount = length - pos;\n\n var removed = this.slice(pos, pos+removeCount);\n var insert = slice.call(arguments, 2);\n var add = insert.length; \n if (pos === length) {\n if (add) {\n this.push.apply(this, insert);\n }\n } else {\n var remove = Math.min(removeCount, length - pos);\n var tailOldPos = pos + remove;\n var tailNewPos = tailOldPos + add - remove;\n var tailCount = length - tailOldPos;\n var lengthAfterRemove = length - remove;\n\n if (tailNewPos < tailOldPos) { // case A\n for (var i = 0; i < tailCount; ++i) {\n this[tailNewPos+i] = this[tailOldPos+i];\n }\n } else if (tailNewPos > tailOldPos) { // case B\n for (i = tailCount; i--; ) {\n this[tailNewPos+i] = this[tailOldPos+i];\n }\n } // else, add == remove (nothing to do)\n\n if (add && pos === lengthAfterRemove) {\n this.length = lengthAfterRemove; // truncate array\n this.push.apply(this, insert);\n } else {\n this.length = lengthAfterRemove + add; // reserves space\n for (i = 0; i < add; ++i) {\n this[pos+i] = insert[i];\n }\n }\n }\n return removed;\n };\n }\n}\nif (!Array.isArray) {\n Array.isArray = function isArray(obj) {\n return _toString(obj) == \"[object Array]\";\n };\n}\nvar boxedString = Object(\"a\"),\n splitString = boxedString[0] != \"a\" || !(0 in boxedString);\n\nif (!Array.prototype.forEach) {\n Array.prototype.forEach = function forEach(fun /*, thisp*/) {\n var object = toObject(this),\n self = splitString && _toString(this) == \"[object String]\" ?\n this.split(\"\") :\n object,\n thisp = arguments[1],\n i = -1,\n length = self.length >>> 0;\n if (_toString(fun) != \"[object Function]\") {\n throw new TypeError(); // TODO message\n }\n\n while (++i < length) {\n if (i in self) {\n fun.call(thisp, self[i], i, object);\n }\n }\n };\n}\nif (!Array.prototype.map) {\n Array.prototype.map = function map(fun /*, thisp*/) {\n var object = toObject(this),\n self = splitString && _toString(this) == \"[object String]\" ?\n this.split(\"\") :\n object,\n length = self.length >>> 0,\n result = Array(length),\n thisp = arguments[1];\n if (_toString(fun) != \"[object Function]\") {\n throw new TypeError(fun + \" is not a function\");\n }\n\n for (var i = 0; i < length; i++) {\n if (i in self)\n result[i] = fun.call(thisp, self[i], i, object);\n }\n return result;\n };\n}\nif (!Array.prototype.filter) {\n Array.prototype.filter = function filter(fun /*, thisp */) {\n var object = toObject(this),\n self = splitString && _toString(this) == \"[object String]\" ?\n this.split(\"\") :\n object,\n length = self.length >>> 0,\n result = [],\n value,\n thisp = arguments[1];\n if (_toString(fun) != \"[object Function]\") {\n throw new TypeError(fun + \" is not a function\");\n }\n\n for (var i = 0; i < length; i++) {\n if (i in self) {\n value = self[i];\n if (fun.call(thisp, value, i, object)) {\n result.push(value);\n }\n }\n }\n return result;\n };\n}\nif (!Array.prototype.every) {\n Array.prototype.every = function every(fun /*, thisp */) {\n var object = toObject(this),\n self = splitString && _toString(this) == \"[object String]\" ?\n this.split(\"\") :\n object,\n length = self.length >>> 0,\n thisp = arguments[1];\n if (_toString(fun) != \"[object Function]\") {\n throw new TypeError(fun + \" is not a function\");\n }\n\n for (var i = 0; i < length; i++) {\n if (i in self && !fun.call(thisp, self[i], i, object)) {\n return false;\n }\n }\n return true;\n };\n}\nif (!Array.prototype.some) {\n Array.prototype.some = function some(fun /*, thisp */) {\n var object = toObject(this),\n self = splitString && _toString(this) == \"[object String]\" ?\n this.split(\"\") :\n object,\n length = self.length >>> 0,\n thisp = arguments[1];\n if (_toString(fun) != \"[object Function]\") {\n throw new TypeError(fun + \" is not a function\");\n }\n\n for (var i = 0; i < length; i++) {\n if (i in self && fun.call(thisp, self[i], i, object)) {\n return true;\n }\n }\n return false;\n };\n}\nif (!Array.prototype.reduce) {\n Array.prototype.reduce = function reduce(fun /*, initial*/) {\n var object = toObject(this),\n self = splitString && _toString(this) == \"[object String]\" ?\n this.split(\"\") :\n object,\n length = self.length >>> 0;\n if (_toString(fun) != \"[object Function]\") {\n throw new TypeError(fun + \" is not a function\");\n }\n if (!length && arguments.length == 1) {\n throw new TypeError(\"reduce of empty array with no initial value\");\n }\n\n var i = 0;\n var result;\n if (arguments.length >= 2) {\n result = arguments[1];\n } else {\n do {\n if (i in self) {\n result = self[i++];\n break;\n }\n if (++i >= length) {\n throw new TypeError(\"reduce of empty array with no initial value\");\n }\n } while (true);\n }\n\n for (; i < length; i++) {\n if (i in self) {\n result = fun.call(void 0, result, self[i], i, object);\n }\n }\n\n return result;\n };\n}\nif (!Array.prototype.reduceRight) {\n Array.prototype.reduceRight = function reduceRight(fun /*, initial*/) {\n var object = toObject(this),\n self = splitString && _toString(this) == \"[object String]\" ?\n this.split(\"\") :\n object,\n length = self.length >>> 0;\n if (_toString(fun) != \"[object Function]\") {\n throw new TypeError(fun + \" is not a function\");\n }\n if (!length && arguments.length == 1) {\n throw new TypeError(\"reduceRight of empty array with no initial value\");\n }\n\n var result, i = length - 1;\n if (arguments.length >= 2) {\n result = arguments[1];\n } else {\n do {\n if (i in self) {\n result = self[i--];\n break;\n }\n if (--i < 0) {\n throw new TypeError(\"reduceRight of empty array with no initial value\");\n }\n } while (true);\n }\n\n do {\n if (i in this) {\n result = fun.call(void 0, result, self[i], i, object);\n }\n } while (i--);\n\n return result;\n };\n}\nif (!Array.prototype.indexOf || ([0, 1].indexOf(1, 2) != -1)) {\n Array.prototype.indexOf = function indexOf(sought /*, fromIndex */ ) {\n var self = splitString && _toString(this) == \"[object String]\" ?\n this.split(\"\") :\n toObject(this),\n length = self.length >>> 0;\n\n if (!length) {\n return -1;\n }\n\n var i = 0;\n if (arguments.length > 1) {\n i = toInteger(arguments[1]);\n }\n i = i >= 0 ? i : Math.max(0, length + i);\n for (; i < length; i++) {\n if (i in self && self[i] === sought) {\n return i;\n }\n }\n return -1;\n };\n}\nif (!Array.prototype.lastIndexOf || ([0, 1].lastIndexOf(0, -3) != -1)) {\n Array.prototype.lastIndexOf = function lastIndexOf(sought /*, fromIndex */) {\n var self = splitString && _toString(this) == \"[object String]\" ?\n this.split(\"\") :\n toObject(this),\n length = self.length >>> 0;\n\n if (!length) {\n return -1;\n }\n var i = length - 1;\n if (arguments.length > 1) {\n i = Math.min(i, toInteger(arguments[1]));\n }\n i = i >= 0 ? i : length - Math.abs(i);\n for (; i >= 0; i--) {\n if (i in self && sought === self[i]) {\n return i;\n }\n }\n return -1;\n };\n}\nif (!Object.getPrototypeOf) {\n Object.getPrototypeOf = function getPrototypeOf(object) {\n return object.__proto__ || (\n object.constructor ?\n object.constructor.prototype :\n prototypeOfObject\n );\n };\n}\nif (!Object.getOwnPropertyDescriptor) {\n var ERR_NON_OBJECT = \"Object.getOwnPropertyDescriptor called on a \" +\n \"non-object: \";\n Object.getOwnPropertyDescriptor = function getOwnPropertyDescriptor(object, property) {\n if ((typeof object != \"object\" && typeof object != \"function\") || object === null)\n throw new TypeError(ERR_NON_OBJECT + object);\n if (!owns(object, property))\n return;\n\n var descriptor, getter, setter;\n descriptor = { enumerable: true, configurable: true };\n if (supportsAccessors) {\n var prototype = object.__proto__;\n object.__proto__ = prototypeOfObject;\n\n var getter = lookupGetter(object, property);\n var setter = lookupSetter(object, property);\n object.__proto__ = prototype;\n\n if (getter || setter) {\n if (getter) descriptor.get = getter;\n if (setter) descriptor.set = setter;\n return descriptor;\n }\n }\n descriptor.value = object[property];\n return descriptor;\n };\n}\nif (!Object.getOwnPropertyNames) {\n Object.getOwnPropertyNames = function getOwnPropertyNames(object) {\n return Object.keys(object);\n };\n}\nif (!Object.create) {\n var createEmpty;\n if (Object.prototype.__proto__ === null) {\n createEmpty = function () {\n return { \"__proto__\": null };\n };\n } else {\n createEmpty = function () {\n var empty = {};\n for (var i in empty)\n empty[i] = null;\n empty.constructor =\n empty.hasOwnProperty =\n empty.propertyIsEnumerable =\n empty.isPrototypeOf =\n empty.toLocaleString =\n empty.toString =\n empty.valueOf =\n empty.__proto__ = null;\n return empty;\n }\n }\n\n Object.create = function create(prototype, properties) {\n var object;\n if (prototype === null) {\n object = createEmpty();\n } else {\n if (typeof prototype != \"object\")\n throw new TypeError(\"typeof prototype[\"+(typeof prototype)+\"] != 'object'\");\n var Type = function () {};\n Type.prototype = prototype;\n object = new Type();\n object.__proto__ = prototype;\n }\n if (properties !== void 0)\n Object.defineProperties(object, properties);\n return object;\n };\n}\n\nfunction doesDefinePropertyWork(object) {\n try {\n Object.defineProperty(object, \"sentinel\", {});\n return \"sentinel\" in object;\n } catch (exception) {\n }\n}\nif (Object.defineProperty) {\n var definePropertyWorksOnObject = doesDefinePropertyWork({});\n var definePropertyWorksOnDom = typeof document == \"undefined\" ||\n doesDefinePropertyWork(document.createElement(\"div\"));\n if (!definePropertyWorksOnObject || !definePropertyWorksOnDom) {\n var definePropertyFallback = Object.defineProperty;\n }\n}\n\nif (!Object.defineProperty || definePropertyFallback) {\n var ERR_NON_OBJECT_DESCRIPTOR = \"Property description must be an object: \";\n var ERR_NON_OBJECT_TARGET = \"Object.defineProperty called on non-object: \"\n var ERR_ACCESSORS_NOT_SUPPORTED = \"getters & setters can not be defined \" +\n \"on this javascript engine\";\n\n Object.defineProperty = function defineProperty(object, property, descriptor) {\n if ((typeof object != \"object\" && typeof object != \"function\") || object === null)\n throw new TypeError(ERR_NON_OBJECT_TARGET + object);\n if ((typeof descriptor != \"object\" && typeof descriptor != \"function\") || descriptor === null)\n throw new TypeError(ERR_NON_OBJECT_DESCRIPTOR + descriptor);\n if (definePropertyFallback) {\n try {\n return definePropertyFallback.call(Object, object, property, descriptor);\n } catch (exception) {\n }\n }\n if (owns(descriptor, \"value\")) {\n\n if (supportsAccessors && (lookupGetter(object, property) ||\n lookupSetter(object, property)))\n {\n var prototype = object.__proto__;\n object.__proto__ = prototypeOfObject;\n delete object[property];\n object[property] = descriptor.value;\n object.__proto__ = prototype;\n } else {\n object[property] = descriptor.value;\n }\n } else {\n if (!supportsAccessors)\n throw new TypeError(ERR_ACCESSORS_NOT_SUPPORTED);\n if (owns(descriptor, \"get\"))\n defineGetter(object, property, descriptor.get);\n if (owns(descriptor, \"set\"))\n defineSetter(object, property, descriptor.set);\n }\n\n return object;\n };\n}\nif (!Object.defineProperties) {\n Object.defineProperties = function defineProperties(object, properties) {\n for (var property in properties) {\n if (owns(properties, property))\n Object.defineProperty(object, property, properties[property]);\n }\n return object;\n };\n}\nif (!Object.seal) {\n Object.seal = function seal(object) {\n return object;\n };\n}\nif (!Object.freeze) {\n Object.freeze = function freeze(object) {\n return object;\n };\n}\ntry {\n Object.freeze(function () {});\n} catch (exception) {\n Object.freeze = (function freeze(freezeObject) {\n return function freeze(object) {\n if (typeof object == \"function\") {\n return object;\n } else {\n return freezeObject(object);\n }\n };\n })(Object.freeze);\n}\nif (!Object.preventExtensions) {\n Object.preventExtensions = function preventExtensions(object) {\n return object;\n };\n}\nif (!Object.isSealed) {\n Object.isSealed = function isSealed(object) {\n return false;\n };\n}\nif (!Object.isFrozen) {\n Object.isFrozen = function isFrozen(object) {\n return false;\n };\n}\nif (!Object.isExtensible) {\n Object.isExtensible = function isExtensible(object) {\n if (Object(object) === object) {\n throw new TypeError(); // TODO message\n }\n var name = '';\n while (owns(object, name)) {\n name += '?';\n }\n object[name] = true;\n var returnValue = owns(object, name);\n delete object[name];\n return returnValue;\n };\n}\nif (!Object.keys) {\n var hasDontEnumBug = true,\n dontEnums = [\n \"toString\",\n \"toLocaleString\",\n \"valueOf\",\n \"hasOwnProperty\",\n \"isPrototypeOf\",\n \"propertyIsEnumerable\",\n \"constructor\"\n ],\n dontEnumsLength = dontEnums.length;\n\n for (var key in {\"toString\": null}) {\n hasDontEnumBug = false;\n }\n\n Object.keys = function keys(object) {\n\n if (\n (typeof object != \"object\" && typeof object != \"function\") ||\n object === null\n ) {\n throw new TypeError(\"Object.keys called on a non-object\");\n }\n\n var keys = [];\n for (var name in object) {\n if (owns(object, name)) {\n keys.push(name);\n }\n }\n\n if (hasDontEnumBug) {\n for (var i = 0, ii = dontEnumsLength; i < ii; i++) {\n var dontEnum = dontEnums[i];\n if (owns(object, dontEnum)) {\n keys.push(dontEnum);\n }\n }\n }\n return keys;\n };\n\n}\nif (!Date.now) {\n Date.now = function now() {\n return new Date().getTime();\n };\n}\nvar ws = \"\\x09\\x0A\\x0B\\x0C\\x0D\\x20\\xA0\\u1680\\u180E\\u2000\\u2001\\u2002\\u2003\" +\n \"\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\" +\n \"\\u2029\\uFEFF\";\nif (!String.prototype.trim || ws.trim()) {\n ws = \"[\" + ws + \"]\";\n var trimBeginRegexp = new RegExp(\"^\" + ws + ws + \"*\"),\n trimEndRegexp = new RegExp(ws + ws + \"*$\");\n String.prototype.trim = function trim() {\n return String(this).replace(trimBeginRegexp, \"\").replace(trimEndRegexp, \"\");\n };\n}\n\nfunction toInteger(n) {\n n = +n;\n if (n !== n) { // isNaN\n n = 0;\n } else if (n !== 0 && n !== (1/0) && n !== -(1/0)) {\n n = (n > 0 || -1) * Math.floor(Math.abs(n));\n }\n return n;\n}\n\nfunction isPrimitive(input) {\n var type = typeof input;\n return (\n input === null ||\n type === \"undefined\" ||\n type === \"boolean\" ||\n type === \"number\" ||\n type === \"string\"\n );\n}\n\nfunction toPrimitive(input) {\n var val, valueOf, toString;\n if (isPrimitive(input)) {\n return input;\n }\n valueOf = input.valueOf;\n if (typeof valueOf === \"function\") {\n val = valueOf.call(input);\n if (isPrimitive(val)) {\n return val;\n }\n }\n toString = input.toString;\n if (typeof toString === \"function\") {\n val = toString.call(input);\n if (isPrimitive(val)) {\n return val;\n }\n }\n throw new TypeError();\n}\nvar toObject = function (o) {\n if (o == null) { // this matches both null and undefined\n throw new TypeError(\"can't convert \"+o+\" to object\");\n }\n return Object(o);\n};\n\n});\n\nace.define(\"ace/lib/fixoldbrowsers\",[\"require\",\"exports\",\"module\",\"ace/lib/regexp\",\"ace/lib/es5-shim\"], function(acequire, exports, module) {\n\"use strict\";\n\nacequire(\"./regexp\");\nacequire(\"./es5-shim\");\n\n});\n\nace.define(\"ace/lib/dom\",[\"require\",\"exports\",\"module\"], function(acequire, exports, module) {\n\"use strict\";\n\nvar XHTML_NS = \"http://www.w3.org/1999/xhtml\";\n\nexports.getDocumentHead = function(doc) {\n if (!doc)\n doc = document;\n return doc.head || doc.getElementsByTagName(\"head\")[0] || doc.documentElement;\n};\n\nexports.createElement = function(tag, ns) {\n return document.createElementNS ?\n document.createElementNS(ns || XHTML_NS, tag) :\n document.createElement(tag);\n};\n\nexports.hasCssClass = function(el, name) {\n var classes = (el.className || \"\").split(/\\s+/g);\n return classes.indexOf(name) !== -1;\n};\nexports.addCssClass = function(el, name) {\n if (!exports.hasCssClass(el, name)) {\n el.className += \" \" + name;\n }\n};\nexports.removeCssClass = function(el, name) {\n var classes = el.className.split(/\\s+/g);\n while (true) {\n var index = classes.indexOf(name);\n if (index == -1) {\n break;\n }\n classes.splice(index, 1);\n }\n el.className = classes.join(\" \");\n};\n\nexports.toggleCssClass = function(el, name) {\n var classes = el.className.split(/\\s+/g), add = true;\n while (true) {\n var index = classes.indexOf(name);\n if (index == -1) {\n break;\n }\n add = false;\n classes.splice(index, 1);\n }\n if (add)\n classes.push(name);\n\n el.className = classes.join(\" \");\n return add;\n};\nexports.setCssClass = function(node, className, include) {\n if (include) {\n exports.addCssClass(node, className);\n } else {\n exports.removeCssClass(node, className);\n }\n};\n\nexports.hasCssString = function(id, doc) {\n var index = 0, sheets;\n doc = doc || document;\n\n if (doc.createStyleSheet && (sheets = doc.styleSheets)) {\n while (index < sheets.length)\n if (sheets[index++].owningElement.id === id) return true;\n } else if ((sheets = doc.getElementsByTagName(\"style\"))) {\n while (index < sheets.length)\n if (sheets[index++].id === id) return true;\n }\n\n return false;\n};\n\nexports.importCssString = function importCssString(cssText, id, doc) {\n doc = doc || document;\n if (id && exports.hasCssString(id, doc))\n return null;\n \n var style;\n \n if (id)\n cssText += \"\\n/*# sourceURL=ace/css/\" + id + \" */\";\n \n if (doc.createStyleSheet) {\n style = doc.createStyleSheet();\n style.cssText = cssText;\n if (id)\n style.owningElement.id = id;\n } else {\n style = exports.createElement(\"style\");\n style.appendChild(doc.createTextNode(cssText));\n if (id)\n style.id = id;\n\n exports.getDocumentHead(doc).appendChild(style);\n }\n};\n\nexports.importCssStylsheet = function(uri, doc) {\n if (doc.createStyleSheet) {\n doc.createStyleSheet(uri);\n } else {\n var link = exports.createElement('link');\n link.rel = 'stylesheet';\n link.href = uri;\n\n exports.getDocumentHead(doc).appendChild(link);\n }\n};\n\nexports.getInnerWidth = function(element) {\n return (\n parseInt(exports.computedStyle(element, \"paddingLeft\"), 10) +\n parseInt(exports.computedStyle(element, \"paddingRight\"), 10) + \n element.clientWidth\n );\n};\n\nexports.getInnerHeight = function(element) {\n return (\n parseInt(exports.computedStyle(element, \"paddingTop\"), 10) +\n parseInt(exports.computedStyle(element, \"paddingBottom\"), 10) +\n element.clientHeight\n );\n};\n\nexports.scrollbarWidth = function(document) {\n var inner = exports.createElement(\"ace_inner\");\n inner.style.width = \"100%\";\n inner.style.minWidth = \"0px\";\n inner.style.height = \"200px\";\n inner.style.display = \"block\";\n\n var outer = exports.createElement(\"ace_outer\");\n var style = outer.style;\n\n style.position = \"absolute\";\n style.left = \"-10000px\";\n style.overflow = \"hidden\";\n style.width = \"200px\";\n style.minWidth = \"0px\";\n style.height = \"150px\";\n style.display = \"block\";\n\n outer.appendChild(inner);\n\n var body = document.documentElement;\n body.appendChild(outer);\n\n var noScrollbar = inner.offsetWidth;\n\n style.overflow = \"scroll\";\n var withScrollbar = inner.offsetWidth;\n\n if (noScrollbar == withScrollbar) {\n withScrollbar = outer.clientWidth;\n }\n\n body.removeChild(outer);\n\n return noScrollbar-withScrollbar;\n};\n\nif (typeof document == \"undefined\") {\n exports.importCssString = function() {};\n return;\n}\n\nif (window.pageYOffset !== undefined) {\n exports.getPageScrollTop = function() {\n return window.pageYOffset;\n };\n\n exports.getPageScrollLeft = function() {\n return window.pageXOffset;\n };\n}\nelse {\n exports.getPageScrollTop = function() {\n return document.body.scrollTop;\n };\n\n exports.getPageScrollLeft = function() {\n return document.body.scrollLeft;\n };\n}\n\nif (window.getComputedStyle)\n exports.computedStyle = function(element, style) {\n if (style)\n return (window.getComputedStyle(element, \"\") || {})[style] || \"\";\n return window.getComputedStyle(element, \"\") || {};\n };\nelse\n exports.computedStyle = function(element, style) {\n if (style)\n return element.currentStyle[style];\n return element.currentStyle;\n };\nexports.setInnerHtml = function(el, innerHtml) {\n var element = el.cloneNode(false);//document.createElement(\"div\");\n element.innerHTML = innerHtml;\n el.parentNode.replaceChild(element, el);\n return element;\n};\n\nif (\"textContent\" in document.documentElement) {\n exports.setInnerText = function(el, innerText) {\n el.textContent = innerText;\n };\n\n exports.getInnerText = function(el) {\n return el.textContent;\n };\n}\nelse {\n exports.setInnerText = function(el, innerText) {\n el.innerText = innerText;\n };\n\n exports.getInnerText = function(el) {\n return el.innerText;\n };\n}\n\nexports.getParentWindow = function(document) {\n return document.defaultView || document.parentWindow;\n};\n\n});\n\nace.define(\"ace/lib/oop\",[\"require\",\"exports\",\"module\"], function(acequire, exports, module) {\n\"use strict\";\n\nexports.inherits = function(ctor, superCtor) {\n ctor.super_ = superCtor;\n ctor.prototype = Object.create(superCtor.prototype, {\n constructor: {\n value: ctor,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n};\n\nexports.mixin = function(obj, mixin) {\n for (var key in mixin) {\n obj[key] = mixin[key];\n }\n return obj;\n};\n\nexports.implement = function(proto, mixin) {\n exports.mixin(proto, mixin);\n};\n\n});\n\nace.define(\"ace/lib/keys\",[\"require\",\"exports\",\"module\",\"ace/lib/fixoldbrowsers\",\"ace/lib/oop\"], function(acequire, exports, module) {\n\"use strict\";\n\nacequire(\"./fixoldbrowsers\");\n\nvar oop = acequire(\"./oop\");\nvar Keys = (function() {\n var ret = {\n MODIFIER_KEYS: {\n 16: 'Shift', 17: 'Ctrl', 18: 'Alt', 224: 'Meta'\n },\n\n KEY_MODS: {\n \"ctrl\": 1, \"alt\": 2, \"option\" : 2, \"shift\": 4,\n \"super\": 8, \"meta\": 8, \"command\": 8, \"cmd\": 8\n },\n\n FUNCTION_KEYS : {\n 8 : \"Backspace\",\n 9 : \"Tab\",\n 13 : \"Return\",\n 19 : \"Pause\",\n 27 : \"Esc\",\n 32 : \"Space\",\n 33 : \"PageUp\",\n 34 : \"PageDown\",\n 35 : \"End\",\n 36 : \"Home\",\n 37 : \"Left\",\n 38 : \"Up\",\n 39 : \"Right\",\n 40 : \"Down\",\n 44 : \"Print\",\n 45 : \"Insert\",\n 46 : \"Delete\",\n 96 : \"Numpad0\",\n 97 : \"Numpad1\",\n 98 : \"Numpad2\",\n 99 : \"Numpad3\",\n 100: \"Numpad4\",\n 101: \"Numpad5\",\n 102: \"Numpad6\",\n 103: \"Numpad7\",\n 104: \"Numpad8\",\n 105: \"Numpad9\",\n '-13': \"NumpadEnter\",\n 112: \"F1\",\n 113: \"F2\",\n 114: \"F3\",\n 115: \"F4\",\n 116: \"F5\",\n 117: \"F6\",\n 118: \"F7\",\n 119: \"F8\",\n 120: \"F9\",\n 121: \"F10\",\n 122: \"F11\",\n 123: \"F12\",\n 144: \"Numlock\",\n 145: \"Scrolllock\"\n },\n\n PRINTABLE_KEYS: {\n 32: ' ', 48: '0', 49: '1', 50: '2', 51: '3', 52: '4', 53: '5',\n 54: '6', 55: '7', 56: '8', 57: '9', 59: ';', 61: '=', 65: 'a',\n 66: 'b', 67: 'c', 68: 'd', 69: 'e', 70: 'f', 71: 'g', 72: 'h',\n 73: 'i', 74: 'j', 75: 'k', 76: 'l', 77: 'm', 78: 'n', 79: 'o',\n 80: 'p', 81: 'q', 82: 'r', 83: 's', 84: 't', 85: 'u', 86: 'v',\n 87: 'w', 88: 'x', 89: 'y', 90: 'z', 107: '+', 109: '-', 110: '.',\n 186: ';', 187: '=', 188: ',', 189: '-', 190: '.', 191: '/', 192: '`',\n 219: '[', 220: '\\\\',221: ']', 222: \"'\", 111: '/', 106: '*'\n }\n };\n var name, i;\n for (i in ret.FUNCTION_KEYS) {\n name = ret.FUNCTION_KEYS[i].toLowerCase();\n ret[name] = parseInt(i, 10);\n }\n for (i in ret.PRINTABLE_KEYS) {\n name = ret.PRINTABLE_KEYS[i].toLowerCase();\n ret[name] = parseInt(i, 10);\n }\n oop.mixin(ret, ret.MODIFIER_KEYS);\n oop.mixin(ret, ret.PRINTABLE_KEYS);\n oop.mixin(ret, ret.FUNCTION_KEYS);\n ret.enter = ret[\"return\"];\n ret.escape = ret.esc;\n ret.del = ret[\"delete\"];\n ret[173] = '-';\n \n (function() {\n var mods = [\"cmd\", \"ctrl\", \"alt\", \"shift\"];\n for (var i = Math.pow(2, mods.length); i--;) { \n ret.KEY_MODS[i] = mods.filter(function(x) {\n return i & ret.KEY_MODS[x];\n }).join(\"-\") + \"-\";\n }\n })();\n\n ret.KEY_MODS[0] = \"\";\n ret.KEY_MODS[-1] = \"input-\";\n\n return ret;\n})();\noop.mixin(exports, Keys);\n\nexports.keyCodeToString = function(keyCode) {\n var keyString = Keys[keyCode];\n if (typeof keyString != \"string\")\n keyString = String.fromCharCode(keyCode);\n return keyString.toLowerCase();\n};\n\n});\n\nace.define(\"ace/lib/useragent\",[\"require\",\"exports\",\"module\"], function(acequire, exports, module) {\n\"use strict\";\nexports.OS = {\n LINUX: \"LINUX\",\n MAC: \"MAC\",\n WINDOWS: \"WINDOWS\"\n};\nexports.getOS = function() {\n if (exports.isMac) {\n return exports.OS.MAC;\n } else if (exports.isLinux) {\n return exports.OS.LINUX;\n } else {\n return exports.OS.WINDOWS;\n }\n};\nif (typeof navigator != \"object\")\n return;\n\nvar os = (navigator.platform.match(/mac|win|linux/i) || [\"other\"])[0].toLowerCase();\nvar ua = navigator.userAgent;\nexports.isWin = (os == \"win\");\nexports.isMac = (os == \"mac\");\nexports.isLinux = (os == \"linux\");\nexports.isIE = \n (navigator.appName == \"Microsoft Internet Explorer\" || navigator.appName.indexOf(\"MSAppHost\") >= 0)\n ? parseFloat((ua.match(/(?:MSIE |Trident\\/[0-9]+[\\.0-9]+;.*rv:)([0-9]+[\\.0-9]+)/)||[])[1])\n : parseFloat((ua.match(/(?:Trident\\/[0-9]+[\\.0-9]+;.*rv:)([0-9]+[\\.0-9]+)/)||[])[1]); // for ie\n \nexports.isOldIE = exports.isIE && exports.isIE < 9;\nexports.isGecko = exports.isMozilla = (window.Controllers || window.controllers) && window.navigator.product === \"Gecko\";\nexports.isOldGecko = exports.isGecko && parseInt((ua.match(/rv\\:(\\d+)/)||[])[1], 10) < 4;\nexports.isOpera = window.opera && Object.prototype.toString.call(window.opera) == \"[object Opera]\";\nexports.isWebKit = parseFloat(ua.split(\"WebKit/\")[1]) || undefined;\n\nexports.isChrome = parseFloat(ua.split(\" Chrome/\")[1]) || undefined;\n\nexports.isAIR = ua.indexOf(\"AdobeAIR\") >= 0;\n\nexports.isIPad = ua.indexOf(\"iPad\") >= 0;\n\nexports.isTouchPad = ua.indexOf(\"TouchPad\") >= 0;\n\nexports.isChromeOS = ua.indexOf(\" CrOS \") >= 0;\n\n});\n\nace.define(\"ace/lib/event\",[\"require\",\"exports\",\"module\",\"ace/lib/keys\",\"ace/lib/useragent\"], function(acequire, exports, module) {\n\"use strict\";\n\nvar keys = acequire(\"./keys\");\nvar useragent = acequire(\"./useragent\");\n\nvar pressedKeys = null;\nvar ts = 0;\n\nexports.addListener = function(elem, type, callback) {\n if (elem.addEventListener) {\n return elem.addEventListener(type, callback, false);\n }\n if (elem.attachEvent) {\n var wrapper = function() {\n callback.call(elem, window.event);\n };\n callback._wrapper = wrapper;\n elem.attachEvent(\"on\" + type, wrapper);\n }\n};\n\nexports.removeListener = function(elem, type, callback) {\n if (elem.removeEventListener) {\n return elem.removeEventListener(type, callback, false);\n }\n if (elem.detachEvent) {\n elem.detachEvent(\"on\" + type, callback._wrapper || callback);\n }\n};\nexports.stopEvent = function(e) {\n exports.stopPropagation(e);\n exports.preventDefault(e);\n return false;\n};\n\nexports.stopPropagation = function(e) {\n if (e.stopPropagation)\n e.stopPropagation();\n else\n e.cancelBubble = true;\n};\n\nexports.preventDefault = function(e) {\n if (e.preventDefault)\n e.preventDefault();\n else\n e.returnValue = false;\n};\nexports.getButton = function(e) {\n if (e.type == \"dblclick\")\n return 0;\n if (e.type == \"contextmenu\" || (useragent.isMac && (e.ctrlKey && !e.altKey && !e.shiftKey)))\n return 2;\n if (e.preventDefault) {\n return e.button;\n }\n else {\n return {1:0, 2:2, 4:1}[e.button];\n }\n};\n\nexports.capture = function(el, eventHandler, releaseCaptureHandler) {\n function onMouseUp(e) {\n eventHandler && eventHandler(e);\n releaseCaptureHandler && releaseCaptureHandler(e);\n\n exports.removeListener(document, \"mousemove\", eventHandler, true);\n exports.removeListener(document, \"mouseup\", onMouseUp, true);\n exports.removeListener(document, \"dragstart\", onMouseUp, true);\n }\n\n exports.addListener(document, \"mousemove\", eventHandler, true);\n exports.addListener(document, \"mouseup\", onMouseUp, true);\n exports.addListener(document, \"dragstart\", onMouseUp, true);\n \n return onMouseUp;\n};\n\nexports.addTouchMoveListener = function (el, callback) {\n if (\"ontouchmove\" in el) {\n var startx, starty;\n exports.addListener(el, \"touchstart\", function (e) {\n var touchObj = e.changedTouches[0];\n startx = touchObj.clientX;\n starty = touchObj.clientY;\n });\n exports.addListener(el, \"touchmove\", function (e) {\n var factor = 1,\n touchObj = e.changedTouches[0];\n\n e.wheelX = -(touchObj.clientX - startx) / factor;\n e.wheelY = -(touchObj.clientY - starty) / factor;\n\n startx = touchObj.clientX;\n starty = touchObj.clientY;\n\n callback(e);\n });\n } \n};\n\nexports.addMouseWheelListener = function(el, callback) {\n if (\"onmousewheel\" in el) {\n exports.addListener(el, \"mousewheel\", function(e) {\n var factor = 8;\n if (e.wheelDeltaX !== undefined) {\n e.wheelX = -e.wheelDeltaX / factor;\n e.wheelY = -e.wheelDeltaY / factor;\n } else {\n e.wheelX = 0;\n e.wheelY = -e.wheelDelta / factor;\n }\n callback(e);\n });\n } else if (\"onwheel\" in el) {\n exports.addListener(el, \"wheel\", function(e) {\n var factor = 0.35;\n switch (e.deltaMode) {\n case e.DOM_DELTA_PIXEL:\n e.wheelX = e.deltaX * factor || 0;\n e.wheelY = e.deltaY * factor || 0;\n break;\n case e.DOM_DELTA_LINE:\n case e.DOM_DELTA_PAGE:\n e.wheelX = (e.deltaX || 0) * 5;\n e.wheelY = (e.deltaY || 0) * 5;\n break;\n }\n \n callback(e);\n });\n } else {\n exports.addListener(el, \"DOMMouseScroll\", function(e) {\n if (e.axis && e.axis == e.HORIZONTAL_AXIS) {\n e.wheelX = (e.detail || 0) * 5;\n e.wheelY = 0;\n } else {\n e.wheelX = 0;\n e.wheelY = (e.detail || 0) * 5;\n }\n callback(e);\n });\n }\n};\n\nexports.addMultiMouseDownListener = function(elements, timeouts, eventHandler, callbackName) {\n var clicks = 0;\n var startX, startY, timer; \n var eventNames = {\n 2: \"dblclick\",\n 3: \"tripleclick\",\n 4: \"quadclick\"\n };\n\n function onMousedown(e) {\n if (exports.getButton(e) !== 0) {\n clicks = 0;\n } else if (e.detail > 1) {\n clicks++;\n if (clicks > 4)\n clicks = 1;\n } else {\n clicks = 1;\n }\n if (useragent.isIE) {\n var isNewClick = Math.abs(e.clientX - startX) > 5 || Math.abs(e.clientY - startY) > 5;\n if (!timer || isNewClick)\n clicks = 1;\n if (timer)\n clearTimeout(timer);\n timer = setTimeout(function() {timer = null}, timeouts[clicks - 1] || 600);\n\n if (clicks == 1) {\n startX = e.clientX;\n startY = e.clientY;\n }\n }\n \n e._clicks = clicks;\n\n eventHandler[callbackName](\"mousedown\", e);\n\n if (clicks > 4)\n clicks = 0;\n else if (clicks > 1)\n return eventHandler[callbackName](eventNames[clicks], e);\n }\n function onDblclick(e) {\n clicks = 2;\n if (timer)\n clearTimeout(timer);\n timer = setTimeout(function() {timer = null}, timeouts[clicks - 1] || 600);\n eventHandler[callbackName](\"mousedown\", e);\n eventHandler[callbackName](eventNames[clicks], e);\n }\n if (!Array.isArray(elements))\n elements = [elements];\n elements.forEach(function(el) {\n exports.addListener(el, \"mousedown\", onMousedown);\n if (useragent.isOldIE)\n exports.addListener(el, \"dblclick\", onDblclick);\n });\n};\n\nvar getModifierHash = useragent.isMac && useragent.isOpera && !(\"KeyboardEvent\" in window)\n ? function(e) {\n return 0 | (e.metaKey ? 1 : 0) | (e.altKey ? 2 : 0) | (e.shiftKey ? 4 : 0) | (e.ctrlKey ? 8 : 0);\n }\n : function(e) {\n return 0 | (e.ctrlKey ? 1 : 0) | (e.altKey ? 2 : 0) | (e.shiftKey ? 4 : 0) | (e.metaKey ? 8 : 0);\n };\n\nexports.getModifierString = function(e) {\n return keys.KEY_MODS[getModifierHash(e)];\n};\n\nfunction normalizeCommandKeys(callback, e, keyCode) {\n var hashId = getModifierHash(e);\n\n if (!useragent.isMac && pressedKeys) {\n if (pressedKeys.OSKey)\n hashId |= 8;\n if (pressedKeys.altGr) {\n if ((3 & hashId) != 3)\n pressedKeys.altGr = 0;\n else\n return;\n }\n if (keyCode === 18 || keyCode === 17) {\n var location = \"location\" in e ? e.location : e.keyLocation;\n if (keyCode === 17 && location === 1) {\n if (pressedKeys[keyCode] == 1)\n ts = e.timeStamp;\n } else if (keyCode === 18 && hashId === 3 && location === 2) {\n var dt = e.timeStamp - ts;\n if (dt < 50)\n pressedKeys.altGr = true;\n }\n }\n }\n \n if (keyCode in keys.MODIFIER_KEYS) {\n keyCode = -1;\n }\n if (hashId & 8 && (keyCode >= 91 && keyCode <= 93)) {\n keyCode = -1;\n }\n \n if (!hashId && keyCode === 13) {\n var location = \"location\" in e ? e.location : e.keyLocation;\n if (location === 3) {\n callback(e, hashId, -keyCode);\n if (e.defaultPrevented)\n return;\n }\n }\n \n if (useragent.isChromeOS && hashId & 8) {\n callback(e, hashId, keyCode);\n if (e.defaultPrevented)\n return;\n else\n hashId &= ~8;\n }\n if (!hashId && !(keyCode in keys.FUNCTION_KEYS) && !(keyCode in keys.PRINTABLE_KEYS)) {\n return false;\n }\n \n return callback(e, hashId, keyCode);\n}\n\n\nexports.addCommandKeyListener = function(el, callback) {\n var addListener = exports.addListener;\n if (useragent.isOldGecko || (useragent.isOpera && !(\"KeyboardEvent\" in window))) {\n var lastKeyDownKeyCode = null;\n addListener(el, \"keydown\", function(e) {\n lastKeyDownKeyCode = e.keyCode;\n });\n addListener(el, \"keypress\", function(e) {\n return normalizeCommandKeys(callback, e, lastKeyDownKeyCode);\n });\n } else {\n var lastDefaultPrevented = null;\n\n addListener(el, \"keydown\", function(e) {\n var keyCode = e.keyCode;\n pressedKeys[keyCode] = (pressedKeys[keyCode] || 0) + 1;\n if (keyCode == 91 || keyCode == 92) {\n pressedKeys.OSKey = true;\n } else if (pressedKeys.OSKey) {\n if (e.timeStamp - pressedKeys.lastT > 200 && pressedKeys.count == 1)\n resetPressedKeys();\n }\n if (pressedKeys[keyCode] == 1)\n pressedKeys.count++;\n pressedKeys.lastT = e.timeStamp;\n var result = normalizeCommandKeys(callback, e, keyCode);\n lastDefaultPrevented = e.defaultPrevented;\n return result;\n });\n\n addListener(el, \"keypress\", function(e) {\n if (lastDefaultPrevented && (e.ctrlKey || e.altKey || e.shiftKey || e.metaKey)) {\n exports.stopEvent(e);\n lastDefaultPrevented = null;\n }\n });\n\n addListener(el, \"keyup\", function(e) {\n var keyCode = e.keyCode;\n if (!pressedKeys[keyCode]) {\n resetPressedKeys();\n } else {\n pressedKeys.count = Math.max(pressedKeys.count - 1, 0);\n }\n if (keyCode == 91 || keyCode == 92) {\n pressedKeys.OSKey = false;\n }\n pressedKeys[keyCode] = null;\n });\n\n if (!pressedKeys) {\n resetPressedKeys();\n addListener(window, \"focus\", resetPressedKeys);\n }\n }\n};\nfunction resetPressedKeys() {\n pressedKeys = Object.create(null);\n pressedKeys.count = 0;\n pressedKeys.lastT = 0;\n}\n\nif (typeof window == \"object\" && window.postMessage && !useragent.isOldIE) {\n var postMessageId = 1;\n exports.nextTick = function(callback, win) {\n win = win || window;\n var messageName = \"zero-timeout-message-\" + postMessageId;\n exports.addListener(win, \"message\", function listener(e) {\n if (e.data == messageName) {\n exports.stopPropagation(e);\n exports.removeListener(win, \"message\", listener);\n callback();\n }\n });\n win.postMessage(messageName, \"*\");\n };\n}\n\n\nexports.nextFrame = typeof window == \"object\" && (window.requestAnimationFrame\n || window.mozRequestAnimationFrame\n || window.webkitRequestAnimationFrame\n || window.msRequestAnimationFrame\n || window.oRequestAnimationFrame);\n\nif (exports.nextFrame)\n exports.nextFrame = exports.nextFrame.bind(window);\nelse\n exports.nextFrame = function(callback) {\n setTimeout(callback, 17);\n };\n});\n\nace.define(\"ace/lib/lang\",[\"require\",\"exports\",\"module\"], function(acequire, exports, module) {\n\"use strict\";\n\nexports.last = function(a) {\n return a[a.length - 1];\n};\n\nexports.stringReverse = function(string) {\n return string.split(\"\").reverse().join(\"\");\n};\n\nexports.stringRepeat = function (string, count) {\n var result = '';\n while (count > 0) {\n if (count & 1)\n result += string;\n\n if (count >>= 1)\n string += string;\n }\n return result;\n};\n\nvar trimBeginRegexp = /^\\s\\s*/;\nvar trimEndRegexp = /\\s\\s*$/;\n\nexports.stringTrimLeft = function (string) {\n return string.replace(trimBeginRegexp, '');\n};\n\nexports.stringTrimRight = function (string) {\n return string.replace(trimEndRegexp, '');\n};\n\nexports.copyObject = function(obj) {\n var copy = {};\n for (var key in obj) {\n copy[key] = obj[key];\n }\n return copy;\n};\n\nexports.copyArray = function(array){\n var copy = [];\n for (var i=0, l=array.length; i<l; i++) {\n if (array[i] && typeof array[i] == \"object\")\n copy[i] = this.copyObject( array[i] );\n else \n copy[i] = array[i];\n }\n return copy;\n};\n\nexports.deepCopy = function deepCopy(obj) {\n if (typeof obj !== \"object\" || !obj)\n return obj;\n var copy;\n if (Array.isArray(obj)) {\n copy = [];\n for (var key = 0; key < obj.length; key++) {\n copy[key] = deepCopy(obj[key]);\n }\n return copy;\n }\n var cons = obj.constructor;\n if (cons === RegExp)\n return obj;\n \n copy = cons();\n for (var key in obj) {\n copy[key] = deepCopy(obj[key]);\n }\n return copy;\n};\n\nexports.arrayToMap = function(arr) {\n var map = {};\n for (var i=0; i<arr.length; i++) {\n map[arr[i]] = 1;\n }\n return map;\n\n};\n\nexports.createMap = function(props) {\n var map = Object.create(null);\n for (var i in props) {\n map[i] = props[i];\n }\n return map;\n};\nexports.arrayRemove = function(array, value) {\n for (var i = 0; i <= array.length; i++) {\n if (value === array[i]) {\n array.splice(i, 1);\n }\n }\n};\n\nexports.escapeRegExp = function(str) {\n return str.replace(/([.*+?^${}()|[\\]\\/\\\\])/g, '\\\\$1');\n};\n\nexports.escapeHTML = function(str) {\n return str.replace(/&/g, \"&\").replace(/\"/g, \""\").replace(/'/g, \"'\").replace(/</g, \"<\");\n};\n\nexports.getMatchOffsets = function(string, regExp) {\n var matches = [];\n\n string.replace(regExp, function(str) {\n matches.push({\n offset: arguments[arguments.length-2],\n length: str.length\n });\n });\n\n return matches;\n};\nexports.deferredCall = function(fcn) {\n var timer = null;\n var callback = function() {\n timer = null;\n fcn();\n };\n\n var deferred = function(timeout) {\n deferred.cancel();\n timer = setTimeout(callback, timeout || 0);\n return deferred;\n };\n\n deferred.schedule = deferred;\n\n deferred.call = function() {\n this.cancel();\n fcn();\n return deferred;\n };\n\n deferred.cancel = function() {\n clearTimeout(timer);\n timer = null;\n return deferred;\n };\n \n deferred.isPending = function() {\n return timer;\n };\n\n return deferred;\n};\n\n\nexports.delayedCall = function(fcn, defaultTimeout) {\n var timer = null;\n var callback = function() {\n timer = null;\n fcn();\n };\n\n var _self = function(timeout) {\n if (timer == null)\n timer = setTimeout(callback, timeout || defaultTimeout);\n };\n\n _self.delay = function(timeout) {\n timer && clearTimeout(timer);\n timer = setTimeout(callback, timeout || defaultTimeout);\n };\n _self.schedule = _self;\n\n _self.call = function() {\n this.cancel();\n fcn();\n };\n\n _self.cancel = function() {\n timer && clearTimeout(timer);\n timer = null;\n };\n\n _self.isPending = function() {\n return timer;\n };\n\n return _self;\n};\n});\n\nace.define(\"ace/keyboard/textinput\",[\"require\",\"exports\",\"module\",\"ace/lib/event\",\"ace/lib/useragent\",\"ace/lib/dom\",\"ace/lib/lang\"], function(acequire, exports, module) {\n\"use strict\";\n\nvar event = acequire(\"../lib/event\");\nvar useragent = acequire(\"../lib/useragent\");\nvar dom = acequire(\"../lib/dom\");\nvar lang = acequire(\"../lib/lang\");\nvar BROKEN_SETDATA = useragent.isChrome < 18;\nvar USE_IE_MIME_TYPE = useragent.isIE;\n\nvar TextInput = function(parentNode, host) {\n var text = dom.createElement(\"textarea\");\n text.className = \"ace_text-input\";\n\n if (useragent.isTouchPad)\n text.setAttribute(\"x-palm-disable-auto-cap\", true);\n\n text.setAttribute(\"wrap\", \"off\");\n text.setAttribute(\"autocorrect\", \"off\");\n text.setAttribute(\"autocapitalize\", \"off\");\n text.setAttribute(\"spellcheck\", false);\n\n text.style.opacity = \"0\";\n if (useragent.isOldIE) text.style.top = \"-1000px\";\n parentNode.insertBefore(text, parentNode.firstChild);\n\n var PLACEHOLDER = \"\\x01\\x01\";\n\n var copied = false;\n var pasted = false;\n var inComposition = false;\n var tempStyle = '';\n var isSelectionEmpty = true;\n try { var isFocused = document.activeElement === text; } catch(e) {}\n \n event.addListener(text, \"blur\", function(e) {\n host.onBlur(e);\n isFocused = false;\n });\n event.addListener(text, \"focus\", function(e) {\n isFocused = true;\n host.onFocus(e);\n resetSelection();\n });\n this.focus = function() {\n if (tempStyle) return text.focus();\n var top = text.style.top;\n text.style.position = \"fixed\";\n text.style.top = \"0px\";\n text.focus();\n setTimeout(function() {\n text.style.position = \"\";\n if (text.style.top == \"0px\")\n text.style.top = top;\n }, 0);\n };\n this.blur = function() {\n text.blur();\n };\n this.isFocused = function() {\n return isFocused;\n };\n var syncSelection = lang.delayedCall(function() {\n isFocused && resetSelection(isSelectionEmpty);\n });\n var syncValue = lang.delayedCall(function() {\n if (!inComposition) {\n text.value = PLACEHOLDER;\n isFocused && resetSelection();\n }\n });\n\n function resetSelection(isEmpty) {\n if (inComposition)\n return;\n inComposition = true;\n \n if (inputHandler) {\n selectionStart = 0;\n selectionEnd = isEmpty ? 0 : text.value.length - 1;\n } else {\n var selectionStart = isEmpty ? 2 : 1;\n var selectionEnd = 2;\n }\n try {\n text.setSelectionRange(selectionStart, selectionEnd);\n } catch(e){}\n \n inComposition = false;\n }\n\n function resetValue() {\n if (inComposition)\n return;\n text.value = PLACEHOLDER;\n if (useragent.isWebKit)\n syncValue.schedule();\n }\n\n useragent.isWebKit || host.addEventListener('changeSelection', function() {\n if (host.selection.isEmpty() != isSelectionEmpty) {\n isSelectionEmpty = !isSelectionEmpty;\n syncSelection.schedule();\n }\n });\n\n resetValue();\n if (isFocused)\n host.onFocus();\n\n\n var isAllSelected = function(text) {\n return text.selectionStart === 0 && text.selectionEnd === text.value.length;\n };\n if (!text.setSelectionRange && text.createTextRange) {\n text.setSelectionRange = function(selectionStart, selectionEnd) {\n var range = this.createTextRange();\n range.collapse(true);\n range.moveStart('character', selectionStart);\n range.moveEnd('character', selectionEnd);\n range.select();\n };\n isAllSelected = function(text) {\n try {\n var range = text.ownerDocument.selection.createRange();\n }catch(e) {}\n if (!range || range.parentElement() != text) return false;\n return range.text == text.value;\n }\n }\n if (useragent.isOldIE) {\n var inPropertyChange = false;\n var onPropertyChange = function(e){\n if (inPropertyChange)\n return;\n var data = text.value;\n if (inComposition || !data || data == PLACEHOLDER)\n return;\n if (e && data == PLACEHOLDER[0])\n return syncProperty.schedule();\n\n sendText(data);\n inPropertyChange = true;\n resetValue();\n inPropertyChange = false;\n };\n var syncProperty = lang.delayedCall(onPropertyChange);\n event.addListener(text, \"propertychange\", onPropertyChange);\n\n var keytable = { 13:1, 27:1 };\n event.addListener(text, \"keyup\", function (e) {\n if (inComposition && (!text.value || keytable[e.keyCode]))\n setTimeout(onCompositionEnd, 0);\n if ((text.value.charCodeAt(0)||0) < 129) {\n return syncProperty.call();\n }\n inComposition ? onCompositionUpdate() : onCompositionStart();\n });\n event.addListener(text, \"keydown\", function (e) {\n syncProperty.schedule(50);\n });\n }\n\n var onSelect = function(e) {\n if (copied) {\n copied = false;\n } else if (isAllSelected(text)) {\n host.selectAll();\n resetSelection();\n } else if (inputHandler) {\n resetSelection(host.selection.isEmpty());\n }\n };\n\n var inputHandler = null;\n this.setInputHandler = function(cb) {inputHandler = cb};\n this.getInputHandler = function() {return inputHandler};\n var afterContextMenu = false;\n \n var sendText = function(data) {\n if (inputHandler) {\n data = inputHandler(data);\n inputHandler = null;\n }\n if (pasted) {\n resetSelection();\n if (data)\n host.onPaste(data);\n pasted = false;\n } else if (data == PLACEHOLDER.charAt(0)) {\n if (afterContextMenu)\n host.execCommand(\"del\", {source: \"ace\"});\n else // some versions of android do not fire keydown when pressing backspace\n host.execCommand(\"backspace\", {source: \"ace\"});\n } else {\n if (data.substring(0, 2) == PLACEHOLDER)\n data = data.substr(2);\n else if (data.charAt(0) == PLACEHOLDER.charAt(0))\n data = data.substr(1);\n else if (data.charAt(data.length - 1) == PLACEHOLDER.charAt(0))\n data = data.slice(0, -1);\n if (data.charAt(data.length - 1) == PLACEHOLDER.charAt(0))\n data = data.slice(0, -1);\n \n if (data)\n host.onTextInput(data);\n }\n if (afterContextMenu)\n afterContextMenu = false;\n };\n var onInput = function(e) {\n if (inComposition)\n return;\n var data = text.value;\n sendText(data);\n resetValue();\n };\n \n var handleClipboardData = function(e, data) {\n var clipboardData = e.clipboardData || window.clipboardData;\n if (!clipboardData || BROKEN_SETDATA)\n return;\n var mime = USE_IE_MIME_TYPE ? \"Text\" : \"text/plain\";\n if (data) {\n return clipboardData.setData(mime, data) !== false;\n } else {\n return clipboardData.getData(mime);\n }\n };\n\n var doCopy = function(e, isCut) {\n var data = host.getCopyText();\n if (!data)\n return event.preventDefault(e);\n\n if (handleClipboardData(e, data)) {\n isCut ? host.onCut() : host.onCopy();\n event.preventDefault(e);\n } else {\n copied = true;\n text.value = data;\n text.select();\n setTimeout(function(){\n copied = false;\n resetValue();\n resetSelection();\n isCut ? host.onCut() : host.onCopy();\n });\n }\n };\n \n var onCut = function(e) {\n doCopy(e, true);\n };\n \n var onCopy = function(e) {\n doCopy(e, false);\n };\n \n var onPaste = function(e) {\n var data = handleClipboardData(e);\n if (typeof data == \"string\") {\n if (data)\n host.onPaste(data, e);\n if (useragent.isIE)\n setTimeout(resetSelection);\n event.preventDefault(e);\n }\n else {\n text.value = \"\";\n pasted = true;\n }\n };\n\n event.addCommandKeyListener(text, host.onCommandKey.bind(host));\n\n event.addListener(text, \"select\", onSelect);\n\n event.addListener(text, \"input\", onInput);\n\n event.addListener(text, \"cut\", onCut);\n event.addListener(text, \"copy\", onCopy);\n event.addListener(text, \"paste\", onPaste);\n if (!('oncut' in text) || !('oncopy' in text) || !('onpaste' in text)){\n event.addListener(parentNode, \"keydown\", function(e) {\n if ((useragent.isMac && !e.metaKey) || !e.ctrlKey)\n return;\n\n switch (e.keyCode) {\n case 67:\n onCopy(e);\n break;\n case 86:\n onPaste(e);\n break;\n case 88:\n onCut(e);\n break;\n }\n });\n }\n var onCompositionStart = function(e) {\n if (inComposition || !host.onCompositionStart || host.$readOnly) \n return;\n inComposition = {};\n host.onCompositionStart();\n setTimeout(onCompositionUpdate, 0);\n host.on(\"mousedown\", onCompositionEnd);\n if (!host.selection.isEmpty()) {\n host.insert(\"\");\n host.session.markUndoGroup();\n host.selection.clearSelection();\n }\n host.session.markUndoGroup();\n };\n\n var onCompositionUpdate = function() {\n if (!inComposition || !host.onCompositionUpdate || host.$readOnly)\n return;\n var val = text.value.replace(/\\x01/g, \"\");\n if (inComposition.lastValue === val) return;\n \n host.onCompositionUpdate(val);\n if (inComposition.lastValue)\n host.undo();\n inComposition.lastValue = val;\n if (inComposition.lastValue) {\n var r = host.selection.getRange();\n host.insert(inComposition.lastValue);\n host.session.markUndoGroup();\n inComposition.range = host.selection.getRange();\n host.selection.setRange(r);\n host.selection.clearSelection();\n }\n };\n\n var onCompositionEnd = function(e) {\n if (!host.onCompositionEnd || host.$readOnly) return;\n var c = inComposition;\n inComposition = false;\n var timer = setTimeout(function() {\n timer = null;\n var str = text.value.replace(/\\x01/g, \"\");\n if (inComposition)\n return;\n else if (str == c.lastValue)\n resetValue();\n else if (!c.lastValue && str) {\n resetValue();\n sendText(str);\n }\n });\n inputHandler = function compositionInputHandler(str) {\n if (timer)\n clearTimeout(timer);\n str = str.replace(/\\x01/g, \"\");\n if (str == c.lastValue)\n return \"\";\n if (c.lastValue && timer)\n host.undo();\n return str;\n };\n host.onCompositionEnd();\n host.removeListener(\"mousedown\", onCompositionEnd);\n if (e.type == \"compositionend\" && c.range) {\n host.selection.setRange(c.range);\n }\n };\n \n \n\n var syncComposition = lang.delayedCall(onCompositionUpdate, 50);\n\n event.addListener(text, \"compositionstart\", onCompositionStart);\n if (useragent.isGecko) {\n event.addListener(text, \"text\", function(){syncComposition.schedule()});\n } else {\n event.addListener(text, \"keyup\", function(){syncComposition.schedule()});\n event.addListener(text, \"keydown\", function(){syncComposition.schedule()});\n }\n event.addListener(text, \"compositionend\", onCompositionEnd);\n\n this.getElement = function() {\n return text;\n };\n\n this.setReadOnly = function(readOnly) {\n text.readOnly = readOnly;\n };\n\n this.onContextMenu = function(e) {\n afterContextMenu = true;\n resetSelection(host.selection.isEmpty());\n host._emit(\"nativecontextmenu\", {target: host, domEvent: e});\n this.moveToMouse(e, true);\n };\n \n this.moveToMouse = function(e, bringToFront) {\n if (!bringToFront && useragent.isOldIE)\n return;\n if (!tempStyle)\n tempStyle = text.style.cssText;\n text.style.cssText = (bringToFront ? \"z-index:100000;\" : \"\")\n + \"height:\" + text.style.height + \";\"\n + (useragent.isIE ? \"opacity:0.1;\" : \"\");\n\n var rect = host.container.getBoundingClientRect();\n var style = dom.computedStyle(host.container);\n var top = rect.top + (parseInt(style.borderTopWidth) || 0);\n var left = rect.left + (parseInt(rect.borderLeftWidth) || 0);\n var maxTop = rect.bottom - top - text.clientHeight -2;\n var move = function(e) {\n text.style.left = e.clientX - left - 2 + \"px\";\n text.style.top = Math.min(e.clientY - top - 2, maxTop) + \"px\";\n }; \n move(e);\n\n if (e.type != \"mousedown\")\n return;\n\n if (host.renderer.$keepTextAreaAtCursor)\n host.renderer.$keepTextAreaAtCursor = null;\n\n clearTimeout(closeTimeout);\n if (useragent.isWin && !useragent.isOldIE)\n event.capture(host.container, move, onContextMenuClose);\n };\n\n this.onContextMenuClose = onContextMenuClose;\n var closeTimeout;\n function onContextMenuClose() {\n clearTimeout(closeTimeout);\n closeTimeout = setTimeout(function () {\n if (tempStyle) {\n text.style.cssText = tempStyle;\n tempStyle = '';\n }\n if (host.renderer.$keepTextAreaAtCursor == null) {\n host.renderer.$keepTextAreaAtCursor = true;\n host.renderer.$moveTextAreaToCursor();\n }\n }, useragent.isOldIE ? 200 : 0);\n }\n\n var onContextMenu = function(e) {\n host.textInput.onContextMenu(e);\n onContextMenuClose();\n };\n event.addListener(text, \"mouseup\", onContextMenu);\n event.addListener(text, \"mousedown\", function(e) {\n e.preventDefault();\n onContextMenuClose();\n });\n event.addListener(host.renderer.scroller, \"contextmenu\", onContextMenu);\n event.addListener(text, \"contextmenu\", onContextMenu);\n};\n\nexports.TextInput = TextInput;\n});\n\nace.define(\"ace/mouse/default_handlers\",[\"require\",\"exports\",\"module\",\"ace/lib/dom\",\"ace/lib/event\",\"ace/lib/useragent\"], function(acequire, exports, module) {\n\"use strict\";\n\nvar dom = acequire(\"../lib/dom\");\nvar event = acequire(\"../lib/event\");\nvar useragent = acequire(\"../lib/useragent\");\n\nvar DRAG_OFFSET = 0; // pixels\n\nfunction DefaultHandlers(mouseHandler) {\n mouseHandler.$clickSelection = null;\n\n var editor = mouseHandler.editor;\n editor.setDefaultHandler(\"mousedown\", this.onMouseDown.bind(mouseHandler));\n editor.setDefaultHandler(\"dblclick\", this.onDoubleClick.bind(mouseHandler));\n editor.setDefaultHandler(\"tripleclick\", this.onTripleClick.bind(mouseHandler));\n editor.setDefaultHandler(\"quadclick\", this.onQuadClick.bind(mouseHandler));\n editor.setDefaultHandler(\"mousewheel\", this.onMouseWheel.bind(mouseHandler));\n editor.setDefaultHandler(\"touchmove\", this.onTouchMove.bind(mouseHandler));\n\n var exports = [\"select\", \"startSelect\", \"selectEnd\", \"selectAllEnd\", \"selectByWordsEnd\",\n \"selectByLinesEnd\", \"dragWait\", \"dragWaitEnd\", \"focusWait\"];\n\n exports.forEach(function(x) {\n mouseHandler[x] = this[x];\n }, this);\n\n mouseHandler.selectByLines = this.extendSelectionBy.bind(mouseHandler, \"getLineRange\");\n mouseHandler.selectByWords = this.extendSelectionBy.bind(mouseHandler, \"getWordRange\");\n}\n\n(function() {\n\n this.onMouseDown = function(ev) {\n var inSelection = ev.inSelection();\n var pos = ev.getDocumentPosition();\n this.mousedownEvent = ev;\n var editor = this.editor;\n\n var button = ev.getButton();\n if (button !== 0) {\n var selectionRange = editor.getSelectionRange();\n var selectionEmpty = selectionRange.isEmpty();\n editor.$blockScrolling++;\n if (selectionEmpty || button == 1)\n editor.selection.moveToPosition(pos);\n editor.$blockScrolling--;\n if (button == 2)\n editor.textInput.onContextMenu(ev.domEvent);\n return; // stopping event here breaks contextmenu on ff mac\n }\n\n this.mousedownEvent.time = Date.now();\n if (inSelection && !editor.isFocused()) {\n editor.focus();\n if (this.$focusTimout && !this.$clickSelection && !editor.inMultiSelectMode) {\n this.setState(\"focusWait\");\n this.captureMouse(ev);\n return;\n }\n }\n\n this.captureMouse(ev);\n this.startSelect(pos, ev.domEvent._clicks > 1);\n return ev.preventDefault();\n };\n\n this.startSelect = function(pos, waitForClickSelection) {\n pos = pos || this.editor.renderer.screenToTextCoordinates(this.x, this.y);\n var editor = this.editor;\n editor.$blockScrolling++;\n if (this.mousedownEvent.getShiftKey())\n editor.selection.selectToPosition(pos);\n else if (!waitForClickSelection)\n editor.selection.moveToPosition(pos);\n if (!waitForClickSelection)\n this.select();\n if (editor.renderer.scroller.setCapture) {\n editor.renderer.scroller.setCapture();\n }\n editor.setStyle(\"ace_selecting\");\n this.setState(\"select\");\n editor.$blockScrolling--;\n };\n\n this.select = function() {\n var anchor, editor = this.editor;\n var cursor = editor.renderer.screenToTextCoordinates(this.x, this.y);\n editor.$blockScrolling++;\n if (this.$clickSelection) {\n var cmp = this.$clickSelection.comparePoint(cursor);\n\n if (cmp == -1) {\n anchor = this.$clickSelection.end;\n } else if (cmp == 1) {\n anchor = this.$clickSelection.start;\n } else {\n var orientedRange = calcRangeOrientation(this.$clickSelection, cursor);\n cursor = orientedRange.cursor;\n anchor = orientedRange.anchor;\n }\n editor.selection.setSelectionAnchor(anchor.row, anchor.column);\n }\n editor.selection.selectToPosition(cursor);\n editor.$blockScrolling--;\n editor.renderer.scrollCursorIntoView();\n };\n\n this.extendSelectionBy = function(unitName) {\n var anchor, editor = this.editor;\n var cursor = editor.renderer.screenToTextCoordinates(this.x, this.y);\n var range = editor.selection[unitName](cursor.row, cursor.column);\n editor.$blockScrolling++;\n if (this.$clickSelection) {\n var cmpStart = this.$clickSelection.comparePoint(range.start);\n var cmpEnd = this.$clickSelection.comparePoint(range.end);\n\n if (cmpStart == -1 && cmpEnd <= 0) {\n anchor = this.$clickSelection.end;\n if (range.end.row != cursor.row || range.end.column != cursor.column)\n cursor = range.start;\n } else if (cmpEnd == 1 && cmpStart >= 0) {\n anchor = this.$clickSelection.start;\n if (range.start.row != cursor.row || range.start.column != cursor.column)\n cursor = range.end;\n } else if (cmpStart == -1 && cmpEnd == 1) {\n cursor = range.end;\n anchor = range.start;\n } else {\n var orientedRange = calcRangeOrientation(this.$clickSelection, cursor);\n cursor = orientedRange.cursor;\n anchor = orientedRange.anchor;\n }\n editor.selection.setSelectionAnchor(anchor.row, anchor.column);\n }\n editor.selection.selectToPosition(cursor);\n editor.$blockScrolling--;\n editor.renderer.scrollCursorIntoView();\n };\n\n this.selectEnd =\n this.selectAllEnd =\n this.selectByWordsEnd =\n this.selectByLinesEnd = function() {\n this.$clickSelection = null;\n this.editor.unsetStyle(\"ace_selecting\");\n if (this.editor.renderer.scroller.releaseCapture) {\n this.editor.renderer.scroller.releaseCapture();\n }\n };\n\n this.focusWait = function() {\n var distance = calcDistance(this.mousedownEvent.x, this.mousedownEvent.y, this.x, this.y);\n var time = Date.now();\n\n if (distance > DRAG_OFFSET || time - this.mousedownEvent.time > this.$focusTimout)\n this.startSelect(this.mousedownEvent.getDocumentPosition());\n };\n\n this.onDoubleClick = function(ev) {\n var pos = ev.getDocumentPosition();\n var editor = this.editor;\n var session = editor.session;\n\n var range = session.getBracketRange(pos);\n if (range) {\n if (range.isEmpty()) {\n range.start.column--;\n range.end.column++;\n }\n this.setState(\"select\");\n } else {\n range = editor.selection.getWordRange(pos.row, pos.column);\n this.setState(\"selectByWords\");\n }\n this.$clickSelection = range;\n this.select();\n };\n\n this.onTripleClick = function(ev) {\n var pos = ev.getDocumentPosition();\n var editor = this.editor;\n\n this.setState(\"selectByLines\");\n var range = editor.getSelectionRange();\n if (range.isMultiLine() && range.contains(pos.row, pos.column)) {\n this.$clickSelection = editor.selection.getLineRange(range.start.row);\n this.$clickSelection.end = editor.selection.getLineRange(range.end.row).end;\n } else {\n this.$clickSelection = editor.selection.getLineRange(pos.row);\n }\n this.select();\n };\n\n this.onQuadClick = function(ev) {\n var editor = this.editor;\n\n editor.selectAll();\n this.$clickSelection = editor.getSelectionRange();\n this.setState(\"selectAll\");\n };\n\n this.onMouseWheel = function(ev) {\n if (ev.getAccelKey())\n return;\n if (ev.getShiftKey() && ev.wheelY && !ev.wheelX) {\n ev.wheelX = ev.wheelY;\n ev.wheelY = 0;\n }\n\n var t = ev.domEvent.timeStamp;\n var dt = t - (this.$lastScrollTime||0);\n \n var editor = this.editor;\n var isScrolable = editor.renderer.isScrollableBy(ev.wheelX * ev.speed, ev.wheelY * ev.speed);\n if (isScrolable || dt < 200) {\n this.$lastScrollTime = t;\n editor.renderer.scrollBy(ev.wheelX * ev.speed, ev.wheelY * ev.speed);\n return ev.stop();\n }\n };\n \n this.onTouchMove = function (ev) {\n var t = ev.domEvent.timeStamp;\n var dt = t - (this.$lastScrollTime || 0);\n\n var editor = this.editor;\n var isScrolable = editor.renderer.isScrollableBy(ev.wheelX * ev.speed, ev.wheelY * ev.speed);\n if (isScrolable || dt < 200) {\n this.$lastScrollTime = t;\n editor.renderer.scrollBy(ev.wheelX * ev.speed, ev.wheelY * ev.speed);\n return ev.stop();\n }\n };\n\n}).call(DefaultHandlers.prototype);\n\nexports.DefaultHandlers = DefaultHandlers;\n\nfunction calcDistance(ax, ay, bx, by) {\n return Math.sqrt(Math.pow(bx - ax, 2) + Math.pow(by - ay, 2));\n}\n\nfunction calcRangeOrientation(range, cursor) {\n if (range.start.row == range.end.row)\n var cmp = 2 * cursor.column - range.start.column - range.end.column;\n else if (range.start.row == range.end.row - 1 && !range.start.column && !range.end.column)\n var cmp = cursor.column - 4;\n else\n var cmp = 2 * cursor.row - range.start.row - range.end.row;\n\n if (cmp < 0)\n return {cursor: range.start, anchor: range.end};\n else\n return {cursor: range.end, anchor: range.start};\n}\n\n});\n\nace.define(\"ace/tooltip\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/lib/dom\"], function(acequire, exports, module) {\n\"use strict\";\n\nvar oop = acequire(\"./lib/oop\");\nvar dom = acequire(\"./lib/dom\");\nfunction Tooltip (parentNode) {\n this.isOpen = false;\n this.$element = null;\n this.$parentNode = parentNode;\n}\n\n(function() {\n this.$init = function() {\n this.$element = dom.createElement(\"div\");\n this.$element.className = \"ace_tooltip\";\n this.$element.style.display = \"none\";\n this.$parentNode.appendChild(this.$element);\n return this.$element;\n };\n this.getElement = function() {\n return this.$element || this.$init();\n };\n this.setText = function(text) {\n dom.setInnerText(this.getElement(), text);\n };\n this.setHtml = function(html) {\n this.getElement().innerHTML = html;\n };\n this.setPosition = function(x, y) {\n this.getElement().style.left = x + \"px\";\n this.getElement().style.top = y + \"px\";\n };\n this.setClassName = function(className) {\n dom.addCssClass(this.getElement(), className);\n };\n this.show = function(text, x, y) {\n if (text != null)\n this.setText(text);\n if (x != null && y != null)\n this.setPosition(x, y);\n if (!this.isOpen) {\n this.getElement().style.display = \"block\";\n this.isOpen = true;\n }\n };\n\n this.hide = function() {\n if (this.isOpen) {\n this.getElement().style.display = \"none\";\n this.isOpen = false;\n }\n };\n this.getHeight = function() {\n return this.getElement().offsetHeight;\n };\n this.getWidth = function() {\n return this.getElement().offsetWidth;\n };\n\n}).call(Tooltip.prototype);\n\nexports.Tooltip = Tooltip;\n});\n\nace.define(\"ace/mouse/default_gutter_handler\",[\"require\",\"exports\",\"module\",\"ace/lib/dom\",\"ace/lib/oop\",\"ace/lib/event\",\"ace/tooltip\"], function(acequire, exports, module) {\n\"use strict\";\nvar dom = acequire(\"../lib/dom\");\nvar oop = acequire(\"../lib/oop\");\nvar event = acequire(\"../lib/event\");\nvar Tooltip = acequire(\"../tooltip\").Tooltip;\n\nfunction GutterHandler(mouseHandler) {\n var editor = mouseHandler.editor;\n var gutter = editor.renderer.$gutterLayer;\n var tooltip = new GutterTooltip(editor.container);\n\n mouseHandler.editor.setDefaultHandler(\"guttermousedown\", function(e) {\n if (!editor.isFocused() || e.getButton() != 0)\n return;\n var gutterRegion = gutter.getRegion(e);\n\n if (gutterRegion == \"foldWidgets\")\n return;\n\n var row = e.getDocumentPosition().row;\n var selection = editor.session.selection;\n\n if (e.getShiftKey())\n selection.selectTo(row, 0);\n else {\n if (e.domEvent.detail == 2) {\n editor.selectAll();\n return e.preventDefault();\n }\n mouseHandler.$clickSelection = editor.selection.getLineRange(row);\n }\n mouseHandler.setState(\"selectByLines\");\n mouseHandler.captureMouse(e);\n return e.preventDefault();\n });\n\n\n var tooltipTimeout, mouseEvent, tooltipAnnotation;\n\n function showTooltip() {\n var row = mouseEvent.getDocumentPosition().row;\n var annotation = gutter.$annotations[row];\n if (!annotation)\n return hideTooltip();\n\n var maxRow = editor.session.getLength();\n if (row == maxRow) {\n var screenRow = editor.renderer.pixelToScreenCoordinates(0, mouseEvent.y).row;\n var pos = mouseEvent.$pos;\n if (screenRow > editor.session.documentToScreenRow(pos.row, pos.column))\n return hideTooltip();\n }\n\n if (tooltipAnnotation == annotation)\n return;\n tooltipAnnotation = annotation.text.join(\"<br/>\");\n\n tooltip.setHtml(tooltipAnnotation);\n tooltip.show();\n editor.on(\"mousewheel\", hideTooltip);\n\n if (mouseHandler.$tooltipFollowsMouse) {\n moveTooltip(mouseEvent);\n } else {\n var gutterElement = mouseEvent.domEvent.target;\n var rect = gutterElement.getBoundingClientRect();\n var style = tooltip.getElement().style;\n style.left = rect.right + \"px\";\n style.top = rect.bottom + \"px\";\n }\n }\n\n function hideTooltip() {\n if (tooltipTimeout)\n tooltipTimeout = clearTimeout(tooltipTimeout);\n if (tooltipAnnotation) {\n tooltip.hide();\n tooltipAnnotation = null;\n editor.removeEventListener(\"mousewheel\", hideTooltip);\n }\n }\n\n function moveTooltip(e) {\n tooltip.setPosition(e.x, e.y);\n }\n\n mouseHandler.editor.setDefaultHandler(\"guttermousemove\", function(e) {\n var target = e.domEvent.target || e.domEvent.srcElement;\n if (dom.hasCssClass(target, \"ace_fold-widget\"))\n return hideTooltip();\n\n if (tooltipAnnotation && mouseHandler.$tooltipFollowsMouse)\n moveTooltip(e);\n\n mouseEvent = e;\n if (tooltipTimeout)\n return;\n tooltipTimeout = setTimeout(function() {\n tooltipTimeout = null;\n if (mouseEvent && !mouseHandler.isMousePressed)\n showTooltip();\n else\n hideTooltip();\n }, 50);\n });\n\n event.addListener(editor.renderer.$gutter, \"mouseout\", function(e) {\n mouseEvent = null;\n if (!tooltipAnnotation || tooltipTimeout)\n return;\n\n tooltipTimeout = setTimeout(function() {\n tooltipTimeout = null;\n hideTooltip();\n }, 50);\n });\n \n editor.on(\"changeSession\", hideTooltip);\n}\n\nfunction GutterTooltip(parentNode) {\n Tooltip.call(this, parentNode);\n}\n\noop.inherits(GutterTooltip, Tooltip);\n\n(function(){\n this.setPosition = function(x, y) {\n var windowWidth = window.innerWidth || document.documentElement.clientWidth;\n var windowHeight = window.innerHeight || document.documentElement.clientHeight;\n var width = this.getWidth();\n var height = this.getHeight();\n x += 15;\n y += 15;\n if (x + width > windowWidth) {\n x -= (x + width) - windowWidth;\n }\n if (y + height > windowHeight) {\n y -= 20 + height;\n }\n Tooltip.prototype.setPosition.call(this, x, y);\n };\n\n}).call(GutterTooltip.prototype);\n\n\n\nexports.GutterHandler = GutterHandler;\n\n});\n\nace.define(\"ace/mouse/mouse_event\",[\"require\",\"exports\",\"module\",\"ace/lib/event\",\"ace/lib/useragent\"], function(acequire, exports, module) {\n\"use strict\";\n\nvar event = acequire(\"../lib/event\");\nvar useragent = acequire(\"../lib/useragent\");\nvar MouseEvent = exports.MouseEvent = function(domEvent, editor) {\n this.domEvent = domEvent;\n this.editor = editor;\n \n this.x = this.clientX = domEvent.clientX;\n this.y = this.clientY = domEvent.clientY;\n\n this.$pos = null;\n this.$inSelection = null;\n \n this.propagationStopped = false;\n this.defaultPrevented = false;\n};\n\n(function() { \n \n this.stopPropagation = function() {\n event.stopPropagation(this.domEvent);\n this.propagationStopped = true;\n };\n \n this.preventDefault = function() {\n event.preventDefault(this.domEvent);\n this.defaultPrevented = true;\n };\n \n this.stop = function() {\n this.stopPropagation();\n this.preventDefault();\n };\n this.getDocumentPosition = function() {\n if (this.$pos)\n return this.$pos;\n \n this.$pos = this.editor.renderer.screenToTextCoordinates(this.clientX, this.clientY);\n return this.$pos;\n };\n this.inSelection = function() {\n if (this.$inSelection !== null)\n return this.$inSelection;\n \n var editor = this.editor;\n \n\n var selectionRange = editor.getSelectionRange();\n if (selectionRange.isEmpty())\n this.$inSelection = false;\n else {\n var pos = this.getDocumentPosition();\n this.$inSelection = selectionRange.contains(pos.row, pos.column);\n }\n\n return this.$inSelection;\n };\n this.getButton = function() {\n return event.getButton(this.domEvent);\n };\n this.getShiftKey = function() {\n return this.domEvent.shiftKey;\n };\n \n this.getAccelKey = useragent.isMac\n ? function() { return this.domEvent.metaKey; }\n : function() { return this.domEvent.ctrlKey; };\n \n}).call(MouseEvent.prototype);\n\n});\n\nace.define(\"ace/mouse/dragdrop_handler\",[\"require\",\"exports\",\"module\",\"ace/lib/dom\",\"ace/lib/event\",\"ace/lib/useragent\"], function(acequire, exports, module) {\n\"use strict\";\n\nvar dom = acequire(\"../lib/dom\");\nvar event = acequire(\"../lib/event\");\nvar useragent = acequire(\"../lib/useragent\");\n\nvar AUTOSCROLL_DELAY = 200;\nvar SCROLL_CURSOR_DELAY = 200;\nvar SCROLL_CURSOR_HYSTERESIS = 5;\n\nfunction DragdropHandler(mouseHandler) {\n\n var editor = mouseHandler.editor;\n\n var blankImage = dom.createElement(\"img\");\n blankImage.src = \"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\";\n if (useragent.isOpera)\n blankImage.style.cssText = \"width:1px;height:1px;position:fixed;top:0;left:0;z-index:2147483647;opacity:0;\";\n\n var exports = [\"dragWait\", \"dragWaitEnd\", \"startDrag\", \"dragReadyEnd\", \"onMouseDrag\"];\n\n exports.forEach(function(x) {\n mouseHandler[x] = this[x];\n }, this);\n editor.addEventListener(\"mousedown\", this.onMouseDown.bind(mouseHandler));\n\n\n var mouseTarget = editor.container;\n var dragSelectionMarker, x, y;\n var timerId, range;\n var dragCursor, counter = 0;\n var dragOperation;\n var isInternal;\n var autoScrollStartTime;\n var cursorMovedTime;\n var cursorPointOnCaretMoved;\n\n this.onDragStart = function(e) {\n if (this.cancelDrag || !mouseTarget.draggable) {\n var self = this;\n setTimeout(function(){\n self.startSelect();\n self.captureMouse(e);\n }, 0);\n return e.preventDefault();\n }\n range = editor.getSelectionRange();\n\n var dataTransfer = e.dataTransfer;\n dataTransfer.effectAllowed = editor.getReadOnly() ? \"copy\" : \"copyMove\";\n if (useragent.isOpera) {\n editor.container.appendChild(blankImage);\n blankImage.scrollTop = 0;\n }\n dataTransfer.setDragImage && dataTransfer.setDragImage(blankImage, 0, 0);\n if (useragent.isOpera) {\n editor.container.removeChild(blankImage);\n }\n dataTransfer.clearData();\n dataTransfer.setData(\"Text\", editor.session.getTextRange());\n\n isInternal = true;\n this.setState(\"drag\");\n };\n\n this.onDragEnd = function(e) {\n mouseTarget.draggable = false;\n isInternal = false;\n this.setState(null);\n if (!editor.getReadOnly()) {\n var dropEffect = e.dataTransfer.dropEffect;\n if (!dragOperation && dropEffect == \"move\")\n editor.session.remove(editor.getSelectionRange());\n editor.renderer.$cursorLayer.setBlinking(true);\n }\n this.editor.unsetStyle(\"ace_dragging\");\n this.editor.renderer.setCursorStyle(\"\");\n };\n\n this.onDragEnter = function(e) {\n if (editor.getReadOnly() || !canAccept(e.dataTransfer))\n return;\n x = e.clientX;\n y = e.clientY;\n if (!dragSelectionMarker)\n addDragMarker();\n counter++;\n e.dataTransfer.dropEffect = dragOperation = getDropEffect(e);\n return event.preventDefault(e);\n };\n\n this.onDragOver = function(e) {\n if (editor.getReadOnly() || !canAccept(e.dataTransfer))\n return;\n x = e.clientX;\n y = e.clientY;\n if (!dragSelectionMarker) {\n addDragMarker();\n counter++;\n }\n if (onMouseMoveTimer !== null)\n onMouseMoveTimer = null;\n\n e.dataTransfer.dropEffect = dragOperation = getDropEffect(e);\n return event.preventDefault(e);\n };\n\n this.onDragLeave = function(e) {\n counter--;\n if (counter <= 0 && dragSelectionMarker) {\n clearDragMarker();\n dragOperation = null;\n return event.preventDefault(e);\n }\n };\n\n this.onDrop = function(e) {\n if (!dragCursor)\n return;\n var dataTransfer = e.dataTransfer;\n if (isInternal) {\n switch (dragOperation) {\n case \"move\":\n if (range.contains(dragCursor.row, dragCursor.column)) {\n range = {\n start: dragCursor,\n end: dragCursor\n };\n } else {\n range = editor.moveText(range, dragCursor);\n }\n break;\n case \"copy\":\n range = editor.moveText(range, dragCursor, true);\n break;\n }\n } else {\n var dropData = dataTransfer.getData('Text');\n range = {\n start: dragCursor,\n end: editor.session.insert(dragCursor, dropData)\n };\n editor.focus();\n dragOperation = null;\n }\n clearDragMarker();\n return event.preventDefault(e);\n };\n\n event.addListener(mouseTarget, \"dragstart\", this.onDragStart.bind(mouseHandler));\n event.addListener(mouseTarget, \"dragend\", this.onDragEnd.bind(mouseHandler));\n event.addListener(mouseTarget, \"dragenter\", this.onDragEnter.bind(mouseHandler));\n event.addListener(mouseTarget, \"dragover\", this.onDragOver.bind(mouseHandler));\n event.addListener(mouseTarget, \"dragleave\", this.onDragLeave.bind(mouseHandler));\n event.addListener(mouseTarget, \"drop\", this.onDrop.bind(mouseHandler));\n\n function scrollCursorIntoView(cursor, prevCursor) {\n var now = Date.now();\n var vMovement = !prevCursor || cursor.row != prevCursor.row;\n var hMovement = !prevCursor || cursor.column != prevCursor.column;\n if (!cursorMovedTime || vMovement || hMovement) {\n editor.$blockScrolling += 1;\n editor.moveCursorToPosition(cursor);\n editor.$blockScrolling -= 1;\n cursorMovedTime = now;\n cursorPointOnCaretMoved = {x: x, y: y};\n } else {\n var distance = calcDistance(cursorPointOnCaretMoved.x, cursorPointOnCaretMoved.y, x, y);\n if (distance > SCROLL_CURSOR_HYSTERESIS) {\n cursorMovedTime = null;\n } else if (now - cursorMovedTime >= SCROLL_CURSOR_DELAY) {\n editor.renderer.scrollCursorIntoView();\n cursorMovedTime = null;\n }\n }\n }\n\n function autoScroll(cursor, prevCursor) {\n var now = Date.now();\n var lineHeight = editor.renderer.layerConfig.lineHeight;\n var characterWidth = editor.renderer.layerConfig.characterWidth;\n var editorRect = editor.renderer.scroller.getBoundingClientRect();\n var offsets = {\n x: {\n left: x - editorRect.left,\n right: editorRect.right - x\n },\n y: {\n top: y - editorRect.top,\n bottom: editorRect.bottom - y\n }\n };\n var nearestXOffset = Math.min(offsets.x.left, offsets.x.right);\n var nearestYOffset = Math.min(offsets.y.top, offsets.y.bottom);\n var scrollCursor = {row: cursor.row, column: cursor.column};\n if (nearestXOffset / characterWidth <= 2) {\n scrollCursor.column += (offsets.x.left < offsets.x.right ? -3 : +2);\n }\n if (nearestYOffset / lineHeight <= 1) {\n scrollCursor.row += (offsets.y.top < offsets.y.bottom ? -1 : +1);\n }\n var vScroll = cursor.row != scrollCursor.row;\n var hScroll = cursor.column != scrollCursor.column;\n var vMovement = !prevCursor || cursor.row != prevCursor.row;\n if (vScroll || (hScroll && !vMovement)) {\n if (!autoScrollStartTime)\n autoScrollStartTime = now;\n else if (now - autoScrollStartTime >= AUTOSCROLL_DELAY)\n editor.renderer.scrollCursorIntoView(scrollCursor);\n } else {\n autoScrollStartTime = null;\n }\n }\n\n function onDragInterval() {\n var prevCursor = dragCursor;\n dragCursor = editor.renderer.screenToTextCoordinates(x, y);\n scrollCursorIntoView(dragCursor, prevCursor);\n autoScroll(dragCursor, prevCursor);\n }\n\n function addDragMarker() {\n range = editor.selection.toOrientedRange();\n dragSelectionMarker = editor.session.addMarker(range, \"ace_selection\", editor.getSelectionStyle());\n editor.clearSelection();\n if (editor.isFocused())\n editor.renderer.$cursorLayer.setBlinking(false);\n clearInterval(timerId);\n onDragInterval();\n timerId = setInterval(onDragInterval, 20);\n counter = 0;\n event.addListener(document, \"mousemove\", onMouseMove);\n }\n\n function clearDragMarker() {\n clearInterval(timerId);\n editor.session.removeMarker(dragSelectionMarker);\n dragSelectionMarker = null;\n editor.$blockScrolling += 1;\n editor.selection.fromOrientedRange(range);\n editor.$blockScrolling -= 1;\n if (editor.isFocused() && !isInternal)\n editor.renderer.$cursorLayer.setBlinking(!editor.getReadOnly());\n range = null;\n dragCursor = null;\n counter = 0;\n autoScrollStartTime = null;\n cursorMovedTime = null;\n event.removeListener(document, \"mousemove\", onMouseMove);\n }\n var onMouseMoveTimer = null;\n function onMouseMove() {\n if (onMouseMoveTimer == null) {\n onMouseMoveTimer = setTimeout(function() {\n if (onMouseMoveTimer != null && dragSelectionMarker)\n clearDragMarker();\n }, 20);\n }\n }\n\n function canAccept(dataTransfer) {\n var types = dataTransfer.types;\n return !types || Array.prototype.some.call(types, function(type) {\n return type == 'text/plain' || type == 'Text';\n });\n }\n\n function getDropEffect(e) {\n var copyAllowed = ['copy', 'copymove', 'all', 'uninitialized'];\n var moveAllowed = ['move', 'copymove', 'linkmove', 'all', 'uninitialized'];\n\n var copyModifierState = useragent.isMac ? e.altKey : e.ctrlKey;\n var effectAllowed = \"uninitialized\";\n try {\n effectAllowed = e.dataTransfer.effectAllowed.toLowerCase();\n } catch (e) {}\n var dropEffect = \"none\";\n\n if (copyModifierState && copyAllowed.indexOf(effectAllowed) >= 0)\n dropEffect = \"copy\";\n else if (moveAllowed.indexOf(effectAllowed) >= 0)\n dropEffect = \"move\";\n else if (copyAllowed.indexOf(effectAllowed) >= 0)\n dropEffect = \"copy\";\n\n return dropEffect;\n }\n}\n\n(function() {\n\n this.dragWait = function() {\n var interval = Date.now() - this.mousedownEvent.time;\n if (interval > this.editor.getDragDelay())\n this.startDrag();\n };\n\n this.dragWaitEnd = function() {\n var target = this.editor.container;\n target.draggable = false;\n this.startSelect(this.mousedownEvent.getDocumentPosition());\n this.selectEnd();\n };\n\n this.dragReadyEnd = function(e) {\n this.editor.renderer.$cursorLayer.setBlinking(!this.editor.getReadOnly());\n this.editor.unsetStyle(\"ace_dragging\");\n this.editor.renderer.setCursorStyle(\"\");\n this.dragWaitEnd();\n };\n\n this.startDrag = function(){\n this.cancelDrag = false;\n var editor = this.editor;\n var target = editor.container;\n target.draggable = true;\n editor.renderer.$cursorLayer.setBlinking(false);\n editor.setStyle(\"ace_dragging\");\n var cursorStyle = useragent.isWin ? \"default\" : \"move\";\n editor.renderer.setCursorStyle(cursorStyle);\n this.setState(\"dragReady\");\n };\n\n this.onMouseDrag = function(e) {\n var target = this.editor.container;\n if (useragent.isIE && this.state == \"dragReady\") {\n var distance = calcDistance(this.mousedownEvent.x, this.mousedownEvent.y, this.x, this.y);\n if (distance > 3)\n target.dragDrop();\n }\n if (this.state === \"dragWait\") {\n var distance = calcDistance(this.mousedownEvent.x, this.mousedownEvent.y, this.x, this.y);\n if (distance > 0) {\n target.draggable = false;\n this.startSelect(this.mousedownEvent.getDocumentPosition());\n }\n }\n };\n\n this.onMouseDown = function(e) {\n if (!this.$dragEnabled)\n return;\n this.mousedownEvent = e;\n var editor = this.editor;\n\n var inSelection = e.inSelection();\n var button = e.getButton();\n var clickCount = e.domEvent.detail || 1;\n if (clickCount === 1 && button === 0 && inSelection) {\n if (e.editor.inMultiSelectMode && (e.getAccelKey() || e.getShiftKey()))\n return;\n this.mousedownEvent.time = Date.now();\n var eventTarget = e.domEvent.target || e.domEvent.srcElement;\n if (\"unselectable\" in eventTarget)\n eventTarget.unselectable = \"on\";\n if (editor.getDragDelay()) {\n if (useragent.isWebKit) {\n this.cancelDrag = true;\n var mouseTarget = editor.container;\n mouseTarget.draggable = true;\n }\n this.setState(\"dragWait\");\n } else {\n this.startDrag();\n }\n this.captureMouse(e, this.onMouseDrag.bind(this));\n e.defaultPrevented = true;\n }\n };\n\n}).call(DragdropHandler.prototype);\n\n\nfunction calcDistance(ax, ay, bx, by) {\n return Math.sqrt(Math.pow(bx - ax, 2) + Math.pow(by - ay, 2));\n}\n\nexports.DragdropHandler = DragdropHandler;\n\n});\n\nace.define(\"ace/lib/net\",[\"require\",\"exports\",\"module\",\"ace/lib/dom\"], function(acequire, exports, module) {\n\"use strict\";\nvar dom = acequire(\"./dom\");\n\nexports.get = function (url, callback) {\n var xhr = new XMLHttpRequest();\n xhr.open('GET', url, true);\n xhr.onreadystatechange = function () {\n if (xhr.readyState === 4) {\n callback(xhr.responseText);\n }\n };\n xhr.send(null);\n};\n\nexports.loadScript = function(path, callback) {\n var head = dom.getDocumentHead();\n var s = document.createElement('script');\n\n s.src = path;\n head.appendChild(s);\n\n s.onload = s.onreadystatechange = function(_, isAbort) {\n if (isAbort || !s.readyState || s.readyState == \"loaded\" || s.readyState == \"complete\") {\n s = s.onload = s.onreadystatechange = null;\n if (!isAbort)\n callback();\n }\n };\n};\nexports.qualifyURL = function(url) {\n var a = document.createElement('a');\n a.href = url;\n return a.href;\n}\n\n});\n\nace.define(\"ace/lib/event_emitter\",[\"require\",\"exports\",\"module\"], function(acequire, exports, module) {\n\"use strict\";\n\nvar EventEmitter = {};\nvar stopPropagation = function() { this.propagationStopped = true; };\nvar preventDefault = function() { this.defaultPrevented = true; };\n\nEventEmitter._emit =\nEventEmitter._dispatchEvent = function(eventName, e) {\n this._eventRegistry || (this._eventRegistry = {});\n this._defaultHandlers || (this._defaultHandlers = {});\n\n var listeners = this._eventRegistry[eventName] || [];\n var defaultHandler = this._defaultHandlers[eventName];\n if (!listeners.length && !defaultHandler)\n return;\n\n if (typeof e != \"object\" || !e)\n e = {};\n\n if (!e.type)\n e.type = eventName;\n if (!e.stopPropagation)\n e.stopPropagation = stopPropagation;\n if (!e.preventDefault)\n e.preventDefault = preventDefault;\n\n listeners = listeners.slice();\n for (var i=0; i<listeners.length; i++) {\n listeners[i](e, this);\n if (e.propagationStopped)\n break;\n }\n \n if (defaultHandler && !e.defaultPrevented)\n return defaultHandler(e, this);\n};\n\n\nEventEmitter._signal = function(eventName, e) {\n var listeners = (this._eventRegistry || {})[eventName];\n if (!listeners)\n return;\n listeners = listeners.slice();\n for (var i=0; i<listeners.length; i++)\n listeners[i](e, this);\n};\n\nEventEmitter.once = function(eventName, callback) {\n var _self = this;\n callback && this.addEventListener(eventName, function newCallback() {\n _self.removeEventListener(eventName, newCallback);\n callback.apply(null, arguments);\n });\n};\n\n\nEventEmitter.setDefaultHandler = function(eventName, callback) {\n var handlers = this._defaultHandlers\n if (!handlers)\n handlers = this._defaultHandlers = {_disabled_: {}};\n \n if (handlers[eventName]) {\n var old = handlers[eventName];\n var disabled = handlers._disabled_[eventName];\n if (!disabled)\n handlers._disabled_[eventName] = disabled = [];\n disabled.push(old);\n var i = disabled.indexOf(callback);\n if (i != -1) \n disabled.splice(i, 1);\n }\n handlers[eventName] = callback;\n};\nEventEmitter.removeDefaultHandler = function(eventName, callback) {\n var handlers = this._defaultHandlers\n if (!handlers)\n return;\n var disabled = handlers._disabled_[eventName];\n \n if (handlers[eventName] == callback) {\n var old = handlers[eventName];\n if (disabled)\n this.setDefaultHandler(eventName, disabled.pop());\n } else if (disabled) {\n var i = disabled.indexOf(callback);\n if (i != -1)\n disabled.splice(i, 1);\n }\n};\n\nEventEmitter.on =\nEventEmitter.addEventListener = function(eventName, callback, capturing) {\n this._eventRegistry = this._eventRegistry || {};\n\n var listeners = this._eventRegistry[eventName];\n if (!listeners)\n listeners = this._eventRegistry[eventName] = [];\n\n if (listeners.indexOf(callback) == -1)\n listeners[capturing ? \"unshift\" : \"push\"](callback);\n return callback;\n};\n\nEventEmitter.off =\nEventEmitter.removeListener =\nEventEmitter.removeEventListener = function(eventName, callback) {\n this._eventRegistry = this._eventRegistry || {};\n\n var listeners = this._eventRegistry[eventName];\n if (!listeners)\n return;\n\n var index = listeners.indexOf(callback);\n if (index !== -1)\n listeners.splice(index, 1);\n};\n\nEventEmitter.removeAllListeners = function(eventName) {\n if (this._eventRegistry) this._eventRegistry[eventName] = [];\n};\n\nexports.EventEmitter = EventEmitter;\n\n});\n\nace.define(\"ace/lib/app_config\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/lib/event_emitter\"], function(acequire, exports, module) {\n\"no use strict\";\n\nvar oop = acequire(\"./oop\");\nvar EventEmitter = acequire(\"./event_emitter\").EventEmitter;\n\nvar optionsProvider = {\n setOptions: function(optList) {\n Object.keys(optList).forEach(function(key) {\n this.setOption(key, optList[key]);\n }, this);\n },\n getOptions: function(optionNames) {\n var result = {};\n if (!optionNames) {\n optionNames = Object.keys(this.$options);\n } else if (!Array.isArray(optionNames)) {\n result = optionNames;\n optionNames = Object.keys(result);\n }\n optionNames.forEach(function(key) {\n result[key] = this.getOption(key);\n }, this);\n return result;\n },\n setOption: function(name, value) {\n if (this[\"$\" + name] === value)\n return;\n var opt = this.$options[name];\n if (!opt) {\n return warn('misspelled option \"' + name + '\"');\n }\n if (opt.forwardTo)\n return this[opt.forwardTo] && this[opt.forwardTo].setOption(name, value);\n\n if (!opt.handlesSet)\n this[\"$\" + name] = value;\n if (opt && opt.set)\n opt.set.call(this, value);\n },\n getOption: function(name) {\n var opt = this.$options[name];\n if (!opt) {\n return warn('misspelled option \"' + name + '\"');\n }\n if (opt.forwardTo)\n return this[opt.forwardTo] && this[opt.forwardTo].getOption(name);\n return opt && opt.get ? opt.get.call(this) : this[\"$\" + name];\n }\n};\n\nfunction warn(message) {\n if (typeof console != \"undefined\" && console.warn)\n console.warn.apply(console, arguments);\n}\n\nfunction reportError(msg, data) {\n var e = new Error(msg);\n e.data = data;\n if (typeof console == \"object\" && console.error)\n console.error(e);\n setTimeout(function() { throw e; });\n}\n\nvar AppConfig = function() {\n this.$defaultOptions = {};\n};\n\n(function() {\n oop.implement(this, EventEmitter);\n this.defineOptions = function(obj, path, options) {\n if (!obj.$options)\n this.$defaultOptions[path] = obj.$options = {};\n\n Object.keys(options).forEach(function(key) {\n var opt = options[key];\n if (typeof opt == \"string\")\n opt = {forwardTo: opt};\n\n opt.name || (opt.name = key);\n obj.$options[opt.name] = opt;\n if (\"initialValue\" in opt)\n obj[\"$\" + opt.name] = opt.initialValue;\n });\n oop.implement(obj, optionsProvider);\n\n return this;\n };\n\n this.resetOptions = function(obj) {\n Object.keys(obj.$options).forEach(function(key) {\n var opt = obj.$options[key];\n if (\"value\" in opt)\n obj.setOption(key, opt.value);\n });\n };\n\n this.setDefaultValue = function(path, name, value) {\n var opts = this.$defaultOptions[path] || (this.$defaultOptions[path] = {});\n if (opts[name]) {\n if (opts.forwardTo)\n this.setDefaultValue(opts.forwardTo, name, value);\n else\n opts[name].value = value;\n }\n };\n\n this.setDefaultValues = function(path, optionHash) {\n Object.keys(optionHash).forEach(function(key) {\n this.setDefaultValue(path, key, optionHash[key]);\n }, this);\n };\n \n this.warn = warn;\n this.reportError = reportError;\n \n}).call(AppConfig.prototype);\n\nexports.AppConfig = AppConfig;\n\n});\n\nace.define(\"ace/config\",[\"require\",\"exports\",\"module\",\"ace/lib/lang\",\"ace/lib/oop\",\"ace/lib/net\",\"ace/lib/app_config\"], function(acequire, exports, module) {\n\"no use strict\";\n\nvar lang = acequire(\"./lib/lang\");\nvar oop = acequire(\"./lib/oop\");\nvar net = acequire(\"./lib/net\");\nvar AppConfig = acequire(\"./lib/app_config\").AppConfig;\n\nmodule.exports = exports = new AppConfig();\n\nvar global = (function() {\n return this || typeof window != \"undefined\" && window;\n})();\n\nvar options = {\n packaged: false,\n workerPath: null,\n modePath: null,\n themePath: null,\n basePath: \"\",\n suffix: \".js\",\n $moduleUrls: {}\n};\n\nexports.get = function(key) {\n if (!options.hasOwnProperty(key))\n throw new Error(\"Unknown config key: \" + key);\n\n return options[key];\n};\n\nexports.set = function(key, value) {\n if (!options.hasOwnProperty(key))\n throw new Error(\"Unknown config key: \" + key);\n\n options[key] = value;\n};\n\nexports.all = function() {\n return lang.copyObject(options);\n};\nexports.moduleUrl = function(name, component) {\n if (options.$moduleUrls[name])\n return options.$moduleUrls[name];\n\n var parts = name.split(\"/\");\n component = component || parts[parts.length - 2] || \"\";\n var sep = component == \"snippets\" ? \"/\" : \"-\";\n var base = parts[parts.length - 1];\n if (component == \"worker\" && sep == \"-\") {\n var re = new RegExp(\"^\" + component + \"[\\\\-_]|[\\\\-_]\" + component + \"$\", \"g\");\n base = base.replace(re, \"\");\n }\n\n if ((!base || base == component) && parts.length > 1)\n base = parts[parts.length - 2];\n var path = options[component + \"Path\"];\n if (path == null) {\n path = options.basePath;\n } else if (sep == \"/\") {\n component = sep = \"\";\n }\n if (path && path.slice(-1) != \"/\")\n path += \"/\";\n return path + component + sep + base + this.get(\"suffix\");\n};\n\nexports.setModuleUrl = function(name, subst) {\n return options.$moduleUrls[name] = subst;\n};\n\nexports.$loading = {};\nexports.loadModule = function(moduleName, onLoad) {\n var module, moduleType;\n if (Array.isArray(moduleName)) {\n moduleType = moduleName[0];\n moduleName = moduleName[1];\n }\n\n try {\n module = acequire(moduleName);\n } catch (e) {}\n if (module && !exports.$loading[moduleName])\n return onLoad && onLoad(module);\n\n if (!exports.$loading[moduleName])\n exports.$loading[moduleName] = [];\n\n exports.$loading[moduleName].push(onLoad);\n\n if (exports.$loading[moduleName].length > 1)\n return;\n\n var afterLoad = function() {\n acequire([moduleName], function(module) {\n exports._emit(\"load.module\", {name: moduleName, module: module});\n var listeners = exports.$loading[moduleName];\n exports.$loading[moduleName] = null;\n listeners.forEach(function(onLoad) {\n onLoad && onLoad(module);\n });\n });\n };\n\n if (!exports.get(\"packaged\"))\n return afterLoad();\n net.loadScript(exports.moduleUrl(moduleName, moduleType), afterLoad);\n};\ninit(true);function init(packaged) {\n\n if (!global || !global.document)\n return;\n \n options.packaged = packaged || acequire.packaged || module.packaged || (global.define && define.packaged);\n\n var scriptOptions = {};\n var scriptUrl = \"\";\n var currentScript = (document.currentScript || document._currentScript ); // native or polyfill\n var currentDocument = currentScript && currentScript.ownerDocument || document;\n \n var scripts = currentDocument.getElementsByTagName(\"script\");\n for (var i=0; i<scripts.length; i++) {\n var script = scripts[i];\n\n var src = script.src || script.getAttribute(\"src\");\n if (!src)\n continue;\n\n var attributes = script.attributes;\n for (var j=0, l=attributes.length; j < l; j++) {\n var attr = attributes[j];\n if (attr.name.indexOf(\"data-ace-\") === 0) {\n scriptOptions[deHyphenate(attr.name.replace(/^data-ace-/, \"\"))] = attr.value;\n }\n }\n\n var m = src.match(/^(.*)\\/ace(\\-\\w+)?\\.js(\\?|$)/);\n if (m)\n scriptUrl = m[1];\n }\n\n if (scriptUrl) {\n scriptOptions.base = scriptOptions.base || scriptUrl;\n scriptOptions.packaged = true;\n }\n\n scriptOptions.basePath = scriptOptions.base;\n scriptOptions.workerPath = scriptOptions.workerPath || scriptOptions.base;\n scriptOptions.modePath = scriptOptions.modePath || scriptOptions.base;\n scriptOptions.themePath = scriptOptions.themePath || scriptOptions.base;\n delete scriptOptions.base;\n\n for (var key in scriptOptions)\n if (typeof scriptOptions[key] !== \"undefined\")\n exports.set(key, scriptOptions[key]);\n}\n\nexports.init = init;\n\nfunction deHyphenate(str) {\n return str.replace(/-(.)/g, function(m, m1) { return m1.toUpperCase(); });\n}\n\n});\n\nace.define(\"ace/mouse/mouse_handler\",[\"require\",\"exports\",\"module\",\"ace/lib/event\",\"ace/lib/useragent\",\"ace/mouse/default_handlers\",\"ace/mouse/default_gutter_handler\",\"ace/mouse/mouse_event\",\"ace/mouse/dragdrop_handler\",\"ace/config\"], function(acequire, exports, module) {\n\"use strict\";\n\nvar event = acequire(\"../lib/event\");\nvar useragent = acequire(\"../lib/useragent\");\nvar DefaultHandlers = acequire(\"./default_handlers\").DefaultHandlers;\nvar DefaultGutterHandler = acequire(\"./default_gutter_handler\").GutterHandler;\nvar MouseEvent = acequire(\"./mouse_event\").MouseEvent;\nvar DragdropHandler = acequire(\"./dragdrop_handler\").DragdropHandler;\nvar config = acequire(\"../config\");\n\nvar MouseHandler = function(editor) {\n var _self = this;\n this.editor = editor;\n\n new DefaultHandlers(this);\n new DefaultGutterHandler(this);\n new DragdropHandler(this);\n\n var focusEditor = function(e) {\n var windowBlurred = !document.hasFocus || !document.hasFocus()\n || !editor.isFocused() && document.activeElement == (editor.textInput && editor.textInput.getElement())\n if (windowBlurred)\n window.focus();\n editor.focus();\n };\n\n var mouseTarget = editor.renderer.getMouseEventTarget();\n event.addListener(mouseTarget, \"click\", this.onMouseEvent.bind(this, \"click\"));\n event.addListener(mouseTarget, \"mousemove\", this.onMouseMove.bind(this, \"mousemove\"));\n event.addMultiMouseDownListener([\n mouseTarget,\n editor.renderer.scrollBarV && editor.renderer.scrollBarV.inner,\n editor.renderer.scrollBarH && editor.renderer.scrollBarH.inner,\n editor.textInput && editor.textInput.getElement()\n ].filter(Boolean), [400, 300, 250], this, \"onMouseEvent\");\n event.addMouseWheelListener(editor.container, this.onMouseWheel.bind(this, \"mousewheel\"));\n event.addTouchMoveListener(editor.container, this.onTouchMove.bind(this, \"touchmove\"));\n\n var gutterEl = editor.renderer.$gutter;\n event.addListener(gutterEl, \"mousedown\", this.onMouseEvent.bind(this, \"guttermousedown\"));\n event.addListener(gutterEl, \"click\", this.onMouseEvent.bind(this, \"gutterclick\"));\n event.addListener(gutterEl, \"dblclick\", this.onMouseEvent.bind(this, \"gutterdblclick\"));\n event.addListener(gutterEl, \"mousemove\", this.onMouseEvent.bind(this, \"guttermousemove\"));\n\n event.addListener(mouseTarget, \"mousedown\", focusEditor);\n event.addListener(gutterEl, \"mousedown\", focusEditor);\n if (useragent.isIE && editor.renderer.scrollBarV) {\n event.addListener(editor.renderer.scrollBarV.element, \"mousedown\", focusEditor);\n event.addListener(editor.renderer.scrollBarH.element, \"mousedown\", focusEditor);\n }\n\n editor.on(\"mousemove\", function(e){\n if (_self.state || _self.$dragDelay || !_self.$dragEnabled)\n return;\n\n var character = editor.renderer.screenToTextCoordinates(e.x, e.y);\n var range = editor.session.selection.getRange();\n var renderer = editor.renderer;\n\n if (!range.isEmpty() && range.insideStart(character.row, character.column)) {\n renderer.setCursorStyle(\"default\");\n } else {\n renderer.setCursorStyle(\"\");\n }\n });\n};\n\n(function() {\n this.onMouseEvent = function(name, e) {\n this.editor._emit(name, new MouseEvent(e, this.editor));\n };\n\n this.onMouseMove = function(name, e) {\n var listeners = this.editor._eventRegistry && this.editor._eventRegistry.mousemove;\n if (!listeners || !listeners.length)\n return;\n\n this.editor._emit(name, new MouseEvent(e, this.editor));\n };\n\n this.onMouseWheel = function(name, e) {\n var mouseEvent = new MouseEvent(e, this.editor);\n mouseEvent.speed = this.$scrollSpeed * 2;\n mouseEvent.wheelX = e.wheelX;\n mouseEvent.wheelY = e.wheelY;\n\n this.editor._emit(name, mouseEvent);\n };\n \n this.onTouchMove = function (name, e) {\n var mouseEvent = new MouseEvent(e, this.editor);\n mouseEvent.speed = 1;//this.$scrollSpeed * 2;\n mouseEvent.wheelX = e.wheelX;\n mouseEvent.wheelY = e.wheelY;\n this.editor._emit(name, mouseEvent);\n };\n\n this.setState = function(state) {\n this.state = state;\n };\n\n this.captureMouse = function(ev, mouseMoveHandler) {\n this.x = ev.x;\n this.y = ev.y;\n\n this.isMousePressed = true;\n var renderer = this.editor.renderer;\n if (renderer.$keepTextAreaAtCursor)\n renderer.$keepTextAreaAtCursor = null;\n\n var self = this;\n var onMouseMove = function(e) {\n if (!e) return;\n if (useragent.isWebKit && !e.which && self.releaseMouse)\n return self.releaseMouse();\n\n self.x = e.clientX;\n self.y = e.clientY;\n mouseMoveHandler && mouseMoveHandler(e);\n self.mouseEvent = new MouseEvent(e, self.editor);\n self.$mouseMoved = true;\n };\n\n var onCaptureEnd = function(e) {\n clearInterval(timerId);\n onCaptureInterval();\n self[self.state + \"End\"] && self[self.state + \"End\"](e);\n self.state = \"\";\n if (renderer.$keepTextAreaAtCursor == null) {\n renderer.$keepTextAreaAtCursor = true;\n renderer.$moveTextAreaToCursor();\n }\n self.isMousePressed = false;\n self.$onCaptureMouseMove = self.releaseMouse = null;\n e && self.onMouseEvent(\"mouseup\", e);\n };\n\n var onCaptureInterval = function() {\n self[self.state] && self[self.state]();\n self.$mouseMoved = false;\n };\n\n if (useragent.isOldIE && ev.domEvent.type == \"dblclick\") {\n return setTimeout(function() {onCaptureEnd(ev);});\n }\n\n self.$onCaptureMouseMove = onMouseMove;\n self.releaseMouse = event.capture(this.editor.container, onMouseMove, onCaptureEnd);\n var timerId = setInterval(onCaptureInterval, 20);\n };\n this.releaseMouse = null;\n this.cancelContextMenu = function() {\n var stop = function(e) {\n if (e && e.domEvent && e.domEvent.type != \"contextmenu\")\n return;\n this.editor.off(\"nativecontextmenu\", stop);\n if (e && e.domEvent)\n event.stopEvent(e.domEvent);\n }.bind(this);\n setTimeout(stop, 10);\n this.editor.on(\"nativecontextmenu\", stop);\n };\n}).call(MouseHandler.prototype);\n\nconfig.defineOptions(MouseHandler.prototype, \"mouseHandler\", {\n scrollSpeed: {initialValue: 2},\n dragDelay: {initialValue: (useragent.isMac ? 150 : 0)},\n dragEnabled: {initialValue: true},\n focusTimout: {initialValue: 0},\n tooltipFollowsMouse: {initialValue: true}\n});\n\n\nexports.MouseHandler = MouseHandler;\n});\n\nace.define(\"ace/mouse/fold_handler\",[\"require\",\"exports\",\"module\"], function(acequire, exports, module) {\n\"use strict\";\n\nfunction FoldHandler(editor) {\n\n editor.on(\"click\", function(e) {\n var position = e.getDocumentPosition();\n var session = editor.session;\n var fold = session.getFoldAt(position.row, position.column, 1);\n if (fold) {\n if (e.getAccelKey())\n session.removeFold(fold);\n else\n session.expandFold(fold);\n\n e.stop();\n }\n });\n\n editor.on(\"gutterclick\", function(e) {\n var gutterRegion = editor.renderer.$gutterLayer.getRegion(e);\n\n if (gutterRegion == \"foldWidgets\") {\n var row = e.getDocumentPosition().row;\n var session = editor.session;\n if (session.foldWidgets && session.foldWidgets[row])\n editor.session.onFoldWidgetClick(row, e);\n if (!editor.isFocused())\n editor.focus();\n e.stop();\n }\n });\n\n editor.on(\"gutterdblclick\", function(e) {\n var gutterRegion = editor.renderer.$gutterLayer.getRegion(e);\n\n if (gutterRegion == \"foldWidgets\") {\n var row = e.getDocumentPosition().row;\n var session = editor.session;\n var data = session.getParentFoldRangeData(row, true);\n var range = data.range || data.firstRange;\n\n if (range) {\n row = range.start.row;\n var fold = session.getFoldAt(row, session.getLine(row).length, 1);\n\n if (fold) {\n session.removeFold(fold);\n } else {\n session.addFold(\"...\", range);\n editor.renderer.scrollCursorIntoView({row: range.start.row, column: 0});\n }\n }\n e.stop();\n }\n });\n}\n\nexports.FoldHandler = FoldHandler;\n\n});\n\nace.define(\"ace/keyboard/keybinding\",[\"require\",\"exports\",\"module\",\"ace/lib/keys\",\"ace/lib/event\"], function(acequire, exports, module) {\n\"use strict\";\n\nvar keyUtil = acequire(\"../lib/keys\");\nvar event = acequire(\"../lib/event\");\n\nvar KeyBinding = function(editor) {\n this.$editor = editor;\n this.$data = {editor: editor};\n this.$handlers = [];\n this.setDefaultHandler(editor.commands);\n};\n\n(function() {\n this.setDefaultHandler = function(kb) {\n this.removeKeyboardHandler(this.$defaultHandler);\n this.$defaultHandler = kb;\n this.addKeyboardHandler(kb, 0);\n };\n\n this.setKeyboardHandler = function(kb) {\n var h = this.$handlers;\n if (h[h.length - 1] == kb)\n return;\n\n while (h[h.length - 1] && h[h.length - 1] != this.$defaultHandler)\n this.removeKeyboardHandler(h[h.length - 1]);\n\n this.addKeyboardHandler(kb, 1);\n };\n\n this.addKeyboardHandler = function(kb, pos) {\n if (!kb)\n return;\n if (typeof kb == \"function\" && !kb.handleKeyboard)\n kb.handleKeyboard = kb;\n var i = this.$handlers.indexOf(kb);\n if (i != -1)\n this.$handlers.splice(i, 1);\n\n if (pos == undefined)\n this.$handlers.push(kb);\n else\n this.$handlers.splice(pos, 0, kb);\n\n if (i == -1 && kb.attach)\n kb.attach(this.$editor);\n };\n\n this.removeKeyboardHandler = function(kb) {\n var i = this.$handlers.indexOf(kb);\n if (i == -1)\n return false;\n this.$handlers.splice(i, 1);\n kb.detach && kb.detach(this.$editor);\n return true;\n };\n\n this.getKeyboardHandler = function() {\n return this.$handlers[this.$handlers.length - 1];\n };\n \n this.getStatusText = function() {\n var data = this.$data;\n var editor = data.editor;\n return this.$handlers.map(function(h) {\n return h.getStatusText && h.getStatusText(editor, data) || \"\";\n }).filter(Boolean).join(\" \");\n };\n\n this.$callKeyboardHandlers = function(hashId, keyString, keyCode, e) {\n var toExecute;\n var success = false;\n var commands = this.$editor.commands;\n\n for (var i = this.$handlers.length; i--;) {\n toExecute = this.$handlers[i].handleKeyboard(\n this.$data, hashId, keyString, keyCode, e\n );\n if (!toExecute || !toExecute.command)\n continue;\n if (toExecute.command == \"null\") {\n success = true;\n } else {\n success = commands.exec(toExecute.command, this.$editor, toExecute.args, e);\n }\n if (success && e && hashId != -1 && \n toExecute.passEvent != true && toExecute.command.passEvent != true\n ) {\n event.stopEvent(e);\n }\n if (success)\n break;\n }\n \n if (!success && hashId == -1) {\n toExecute = {command: \"insertstring\"};\n success = commands.exec(\"insertstring\", this.$editor, keyString);\n }\n \n if (success)\n this.$editor._signal(\"keyboardActivity\", toExecute);\n \n return success;\n };\n\n this.onCommandKey = function(e, hashId, keyCode) {\n var keyString = keyUtil.keyCodeToString(keyCode);\n this.$callKeyboardHandlers(hashId, keyString, keyCode, e);\n };\n\n this.onTextInput = function(text) {\n this.$callKeyboardHandlers(-1, text);\n };\n\n}).call(KeyBinding.prototype);\n\nexports.KeyBinding = KeyBinding;\n});\n\nace.define(\"ace/range\",[\"require\",\"exports\",\"module\"], function(acequire, exports, module) {\n\"use strict\";\nvar comparePoints = function(p1, p2) {\n return p1.row - p2.row || p1.column - p2.column;\n};\nvar Range = function(startRow, startColumn, endRow, endColumn) {\n this.start = {\n row: startRow,\n column: startColumn\n };\n\n this.end = {\n row: endRow,\n column: endColumn\n };\n};\n\n(function() {\n this.isEqual = function(range) {\n return this.start.row === range.start.row &&\n this.end.row === range.end.row &&\n this.start.column === range.start.column &&\n this.end.column === range.end.column;\n };\n this.toString = function() {\n return (\"Range: [\" + this.start.row + \"/\" + this.start.column +\n \"] -> [\" + this.end.row + \"/\" + this.end.column + \"]\");\n };\n\n this.contains = function(row, column) {\n return this.compare(row, column) == 0;\n };\n this.compareRange = function(range) {\n var cmp,\n end = range.end,\n start = range.start;\n\n cmp = this.compare(end.row, end.column);\n if (cmp == 1) {\n cmp = this.compare(start.row, start.column);\n if (cmp == 1) {\n return 2;\n } else if (cmp == 0) {\n return 1;\n } else {\n return 0;\n }\n } else if (cmp == -1) {\n return -2;\n } else {\n cmp = this.compare(start.row, start.column);\n if (cmp == -1) {\n return -1;\n } else if (cmp == 1) {\n return 42;\n } else {\n return 0;\n }\n }\n };\n this.comparePoint = function(p) {\n return this.compare(p.row, p.column);\n };\n this.containsRange = function(range) {\n return this.comparePoint(range.start) == 0 && this.comparePoint(range.end) == 0;\n };\n this.intersects = function(range) {\n var cmp = this.compareRange(range);\n return (cmp == -1 || cmp == 0 || cmp == 1);\n };\n this.isEnd = function(row, column) {\n return this.end.row == row && this.end.column == column;\n };\n this.isStart = function(row, column) {\n return this.start.row == row && this.start.column == column;\n };\n this.setStart = function(row, column) {\n if (typeof row == \"object\") {\n this.start.column = row.column;\n this.start.row = row.row;\n } else {\n this.start.row = row;\n this.start.column = column;\n }\n };\n this.setEnd = function(row, column) {\n if (typeof row == \"object\") {\n this.end.column = row.column;\n this.end.row = row.row;\n } else {\n this.end.row = row;\n this.end.column = column;\n }\n };\n this.inside = function(row, column) {\n if (this.compare(row, column) == 0) {\n if (this.isEnd(row, column) || this.isStart(row, column)) {\n return false;\n } else {\n return true;\n }\n }\n return false;\n };\n this.insideStart = function(row, column) {\n if (this.compare(row, column) == 0) {\n if (this.isEnd(row, column)) {\n return false;\n } else {\n return true;\n }\n }\n return false;\n };\n this.insideEnd = function(row, column) {\n if (this.compare(row, column) == 0) {\n if (this.isStart(row, column)) {\n return false;\n } else {\n return true;\n }\n }\n return false;\n };\n this.compare = function(row, column) {\n if (!this.isMultiLine()) {\n if (row === this.start.row) {\n return column < this.start.column ? -1 : (column > this.end.column ? 1 : 0);\n }\n }\n\n if (row < this.start.row)\n return -1;\n\n if (row > this.end.row)\n return 1;\n\n if (this.start.row === row)\n return column >= this.start.column ? 0 : -1;\n\n if (this.end.row === row)\n return column <= this.end.column ? 0 : 1;\n\n return 0;\n };\n this.compareStart = function(row, column) {\n if (this.start.row == row && this.start.column == column) {\n return -1;\n } else {\n return this.compare(row, column);\n }\n };\n this.compareEnd = function(row, column) {\n if (this.end.row == row && this.end.column == column) {\n return 1;\n } else {\n return this.compare(row, column);\n }\n };\n this.compareInside = function(row, column) {\n if (this.end.row == row && this.end.column == column) {\n return 1;\n } else if (this.start.row == row && this.start.column == column) {\n return -1;\n } else {\n return this.compare(row, column);\n }\n };\n this.clipRows = function(firstRow, lastRow) {\n if (this.end.row > lastRow)\n var end = {row: lastRow + 1, column: 0};\n else if (this.end.row < firstRow)\n var end = {row: firstRow, column: 0};\n\n if (this.start.row > lastRow)\n var start = {row: lastRow + 1, column: 0};\n else if (this.start.row < firstRow)\n var start = {row: firstRow, column: 0};\n\n return Range.fromPoints(start || this.start, end || this.end);\n };\n this.extend = function(row, column) {\n var cmp = this.compare(row, column);\n\n if (cmp == 0)\n return this;\n else if (cmp == -1)\n var start = {row: row, column: column};\n else\n var end = {row: row, column: column};\n\n return Range.fromPoints(start || this.start, end || this.end);\n };\n\n this.isEmpty = function() {\n return (this.start.row === this.end.row && this.start.column === this.end.column);\n };\n this.isMultiLine = function() {\n return (this.start.row !== this.end.row);\n };\n this.clone = function() {\n return Range.fromPoints(this.start, this.end);\n };\n this.collapseRows = function() {\n if (this.end.column == 0)\n return new Range(this.start.row, 0, Math.max(this.start.row, this.end.row-1), 0)\n else\n return new Range(this.start.row, 0, this.end.row, 0)\n };\n this.toScreenRange = function(session) {\n var screenPosStart = session.documentToScreenPosition(this.start);\n var screenPosEnd = session.documentToScreenPosition(this.end);\n\n return new Range(\n screenPosStart.row, screenPosStart.column,\n screenPosEnd.row, screenPosEnd.column\n );\n };\n this.moveBy = function(row, column) {\n this.start.row += row;\n this.start.column += column;\n this.end.row += row;\n this.end.column += column;\n };\n\n}).call(Range.prototype);\nRange.fromPoints = function(start, end) {\n return new Range(start.row, start.column, end.row, end.column);\n};\nRange.comparePoints = comparePoints;\n\nRange.comparePoints = function(p1, p2) {\n return p1.row - p2.row || p1.column - p2.column;\n};\n\n\nexports.Range = Range;\n});\n\nace.define(\"ace/selection\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/lib/lang\",\"ace/lib/event_emitter\",\"ace/range\"], function(acequire, exports, module) {\n\"use strict\";\n\nvar oop = acequire(\"./lib/oop\");\nvar lang = acequire(\"./lib/lang\");\nvar EventEmitter = acequire(\"./lib/event_emitter\").EventEmitter;\nvar Range = acequire(\"./range\").Range;\nvar Selection = function(session) {\n this.session = session;\n this.doc = session.getDocument();\n\n this.clearSelection();\n this.lead = this.selectionLead = this.doc.createAnchor(0, 0);\n this.anchor = this.selectionAnchor = this.doc.createAnchor(0, 0);\n\n var self = this;\n this.lead.on(\"change\", function(e) {\n self._emit(\"changeCursor\");\n if (!self.$isEmpty)\n self._emit(\"changeSelection\");\n if (!self.$keepDesiredColumnOnChange && e.old.column != e.value.column)\n self.$desiredColumn = null;\n });\n\n this.selectionAnchor.on(\"change\", function() {\n if (!self.$isEmpty)\n self._emit(\"changeSelection\");\n });\n};\n\n(function() {\n\n oop.implement(this, EventEmitter);\n this.isEmpty = function() {\n return (this.$isEmpty || (\n this.anchor.row == this.lead.row &&\n this.anchor.column == this.lead.column\n ));\n };\n this.isMultiLine = function() {\n if (this.isEmpty()) {\n return false;\n }\n\n return this.getRange().isMultiLine();\n };\n this.getCursor = function() {\n return this.lead.getPosition();\n };\n this.setSelectionAnchor = function(row, column) {\n this.anchor.setPosition(row, column);\n\n if (this.$isEmpty) {\n this.$isEmpty = false;\n this._emit(\"changeSelection\");\n }\n };\n this.getSelectionAnchor = function() {\n if (this.$isEmpty)\n return this.getSelectionLead();\n else\n return this.anchor.getPosition();\n };\n this.getSelectionLead = function() {\n return this.lead.getPosition();\n };\n this.shiftSelection = function(columns) {\n if (this.$isEmpty) {\n this.moveCursorTo(this.lead.row, this.lead.column + columns);\n return;\n }\n\n var anchor = this.getSelectionAnchor();\n var lead = this.getSelectionLead();\n\n var isBackwards = this.isBackwards();\n\n if (!isBackwards || anchor.column !== 0)\n this.setSelectionAnchor(anchor.row, anchor.column + columns);\n\n if (isBackwards || lead.column !== 0) {\n this.$moveSelection(function() {\n this.moveCursorTo(lead.row, lead.column + columns);\n });\n }\n };\n this.isBackwards = function() {\n var anchor = this.anchor;\n var lead = this.lead;\n return (anchor.row > lead.row || (anchor.row == lead.row && anchor.column > lead.column));\n };\n this.getRange = function() {\n var anchor = this.anchor;\n var lead = this.lead;\n\n if (this.isEmpty())\n return Range.fromPoints(lead, lead);\n\n if (this.isBackwards()) {\n return Range.fromPoints(lead, anchor);\n }\n else {\n return Range.fromPoints(anchor, lead);\n }\n };\n this.clearSelection = function() {\n if (!this.$isEmpty) {\n this.$isEmpty = true;\n this._emit(\"changeSelection\");\n }\n };\n this.selectAll = function() {\n var lastRow = this.doc.getLength() - 1;\n this.setSelectionAnchor(0, 0);\n this.moveCursorTo(lastRow, this.doc.getLine(lastRow).length);\n };\n this.setRange =\n this.setSelectionRange = function(range, reverse) {\n if (reverse) {\n this.setSelectionAnchor(range.end.row, range.end.column);\n this.selectTo(range.start.row, range.start.column);\n } else {\n this.setSelectionAnchor(range.start.row, range.start.column);\n this.selectTo(range.end.row, range.end.column);\n }\n if (this.getRange().isEmpty())\n this.$isEmpty = true;\n this.$desiredColumn = null;\n };\n\n this.$moveSelection = function(mover) {\n var lead = this.lead;\n if (this.$isEmpty)\n this.setSelectionAnchor(lead.row, lead.column);\n\n mover.call(this);\n };\n this.selectTo = function(row, column) {\n this.$moveSelection(function() {\n this.moveCursorTo(row, column);\n });\n };\n this.selectToPosition = function(pos) {\n this.$moveSelection(function() {\n this.moveCursorToPosition(pos);\n });\n };\n this.moveTo = function(row, column) {\n this.clearSelection();\n this.moveCursorTo(row, column);\n };\n this.moveToPosition = function(pos) {\n this.clearSelection();\n this.moveCursorToPosition(pos);\n };\n this.selectUp = function() {\n this.$moveSelection(this.moveCursorUp);\n };\n this.selectDown = function() {\n this.$moveSelection(this.moveCursorDown);\n };\n this.selectRight = function() {\n this.$moveSelection(this.moveCursorRight);\n };\n this.selectLeft = function() {\n this.$moveSelection(this.moveCursorLeft);\n };\n this.selectLineStart = function() {\n this.$moveSelection(this.moveCursorLineStart);\n };\n this.selectLineEnd = function() {\n this.$moveSelection(this.moveCursorLineEnd);\n };\n this.selectFileEnd = function() {\n this.$moveSelection(this.moveCursorFileEnd);\n };\n this.selectFileStart = function() {\n this.$moveSelection(this.moveCursorFileStart);\n };\n this.selectWordRight = function() {\n this.$moveSelection(this.moveCursorWordRight);\n };\n this.selectWordLeft = function() {\n this.$moveSelection(this.moveCursorWordLeft);\n };\n this.getWordRange = function(row, column) {\n if (typeof column == \"undefined\") {\n var cursor = row || this.lead;\n row = cursor.row;\n column = cursor.column;\n }\n return this.session.getWordRange(row, column);\n };\n this.selectWord = function() {\n this.setSelectionRange(this.getWordRange());\n };\n this.selectAWord = function() {\n var cursor = this.getCursor();\n var range = this.session.getAWordRange(cursor.row, cursor.column);\n this.setSelectionRange(range);\n };\n\n this.getLineRange = function(row, excludeLastChar) {\n var rowStart = typeof row == \"number\" ? row : this.lead.row;\n var rowEnd;\n\n var foldLine = this.session.getFoldLine(rowStart);\n if (foldLine) {\n rowStart = foldLine.start.row;\n rowEnd = foldLine.end.row;\n } else {\n rowEnd = rowStart;\n }\n if (excludeLastChar === true)\n return new Range(rowStart, 0, rowEnd, this.session.getLine(rowEnd).length);\n else\n return new Range(rowStart, 0, rowEnd + 1, 0);\n };\n this.selectLine = function() {\n this.setSelectionRange(this.getLineRange());\n };\n this.moveCursorUp = function() {\n this.moveCursorBy(-1, 0);\n };\n this.moveCursorDown = function() {\n this.moveCursorBy(1, 0);\n };\n this.moveCursorLeft = function() {\n var cursor = this.lead.getPosition(),\n fold;\n\n if (fold = this.session.getFoldAt(cursor.row, cursor.column, -1)) {\n this.moveCursorTo(fold.start.row, fold.start.column);\n } else if (cursor.column === 0) {\n if (cursor.row > 0) {\n this.moveCursorTo(cursor.row - 1, this.doc.getLine(cursor.row - 1).length);\n }\n }\n else {\n var tabSize = this.session.getTabSize();\n if (this.session.isTabStop(cursor) && this.doc.getLine(cursor.row).slice(cursor.column-tabSize, cursor.column).split(\" \").length-1 == tabSize)\n this.moveCursorBy(0, -tabSize);\n else\n this.moveCursorBy(0, -1);\n }\n };\n this.moveCursorRight = function() {\n var cursor = this.lead.getPosition(),\n fold;\n if (fold = this.session.getFoldAt(cursor.row, cursor.column, 1)) {\n this.moveCursorTo(fold.end.row, fold.end.column);\n }\n else if (this.lead.column == this.doc.getLine(this.lead.row).length) {\n if (this.lead.row < this.doc.getLength() - 1) {\n this.moveCursorTo(this.lead.row + 1, 0);\n }\n }\n else {\n var tabSize = this.session.getTabSize();\n var cursor = this.lead;\n if (this.session.isTabStop(cursor) && this.doc.getLine(cursor.row).slice(cursor.column, cursor.column+tabSize).split(\" \").length-1 == tabSize)\n this.moveCursorBy(0, tabSize);\n else\n this.moveCursorBy(0, 1);\n }\n };\n this.moveCursorLineStart = function() {\n var row = this.lead.row;\n var column = this.lead.column;\n var screenRow = this.session.documentToScreenRow(row, column);\n var firstColumnPosition = this.session.screenToDocumentPosition(screenRow, 0);\n var beforeCursor = this.session.getDisplayLine(\n row, null, firstColumnPosition.row,\n firstColumnPosition.column\n );\n\n var leadingSpace = beforeCursor.match(/^\\s*/);\n if (leadingSpace[0].length != column && !this.session.$useEmacsStyleLineStart)\n firstColumnPosition.column += leadingSpace[0].length;\n this.moveCursorToPosition(firstColumnPosition);\n };\n this.moveCursorLineEnd = function() {\n var lead = this.lead;\n var lineEnd = this.session.getDocumentLastRowColumnPosition(lead.row, lead.column);\n if (this.lead.column == lineEnd.column) {\n var line = this.session.getLine(lineEnd.row);\n if (lineEnd.column == line.length) {\n var textEnd = line.search(/\\s+$/);\n if (textEnd > 0)\n lineEnd.column = textEnd;\n }\n }\n\n this.moveCursorTo(lineEnd.row, lineEnd.column);\n };\n this.moveCursorFileEnd = function() {\n var row = this.doc.getLength() - 1;\n var column = this.doc.getLine(row).length;\n this.moveCursorTo(row, column);\n };\n this.moveCursorFileStart = function() {\n this.moveCursorTo(0, 0);\n };\n this.moveCursorLongWordRight = function() {\n var row = this.lead.row;\n var column = this.lead.column;\n var line = this.doc.getLine(row);\n var rightOfCursor = line.substring(column);\n\n var match;\n this.session.nonTokenRe.lastIndex = 0;\n this.session.tokenRe.lastIndex = 0;\n var fold = this.session.getFoldAt(row, column, 1);\n if (fold) {\n this.moveCursorTo(fold.end.row, fold.end.column);\n return;\n }\n if (match = this.session.nonTokenRe.exec(rightOfCursor)) {\n column += this.session.nonTokenRe.lastIndex;\n this.session.nonTokenRe.lastIndex = 0;\n rightOfCursor = line.substring(column);\n }\n if (column >= line.length) {\n this.moveCursorTo(row, line.length);\n this.moveCursorRight();\n if (row < this.doc.getLength() - 1)\n this.moveCursorWordRight();\n return;\n }\n if (match = this.session.tokenRe.exec(rightOfCursor)) {\n column += this.session.tokenRe.lastIndex;\n this.session.tokenRe.lastIndex = 0;\n }\n\n this.moveCursorTo(row, column);\n };\n this.moveCursorLongWordLeft = function() {\n var row = this.lead.row;\n var column = this.lead.column;\n var fold;\n if (fold = this.session.getFoldAt(row, column, -1)) {\n this.moveCursorTo(fold.start.row, fold.start.column);\n return;\n }\n\n var str = this.session.getFoldStringAt(row, column, -1);\n if (str == null) {\n str = this.doc.getLine(row).substring(0, column);\n }\n\n var leftOfCursor = lang.stringReverse(str);\n var match;\n this.session.nonTokenRe.lastIndex = 0;\n this.session.tokenRe.lastIndex = 0;\n if (match = this.session.nonTokenRe.exec(leftOfCursor)) {\n column -= this.session.nonTokenRe.lastIndex;\n leftOfCursor = leftOfCursor.slice(this.session.nonTokenRe.lastIndex);\n this.session.nonTokenRe.lastIndex = 0;\n }\n if (column <= 0) {\n this.moveCursorTo(row, 0);\n this.moveCursorLeft();\n if (row > 0)\n this.moveCursorWordLeft();\n return;\n }\n if (match = this.session.tokenRe.exec(leftOfCursor)) {\n column -= this.session.tokenRe.lastIndex;\n this.session.tokenRe.lastIndex = 0;\n }\n\n this.moveCursorTo(row, column);\n };\n\n this.$shortWordEndIndex = function(rightOfCursor) {\n var match, index = 0, ch;\n var whitespaceRe = /\\s/;\n var tokenRe = this.session.tokenRe;\n\n tokenRe.lastIndex = 0;\n if (match = this.session.tokenRe.exec(rightOfCursor)) {\n index = this.session.tokenRe.lastIndex;\n } else {\n while ((ch = rightOfCursor[index]) && whitespaceRe.test(ch))\n index ++;\n\n if (index < 1) {\n tokenRe.lastIndex = 0;\n while ((ch = rightOfCursor[index]) && !tokenRe.test(ch)) {\n tokenRe.lastIndex = 0;\n index ++;\n if (whitespaceRe.test(ch)) {\n if (index > 2) {\n index--;\n break;\n } else {\n while ((ch = rightOfCursor[index]) && whitespaceRe.test(ch))\n index ++;\n if (index > 2)\n break;\n }\n }\n }\n }\n }\n tokenRe.lastIndex = 0;\n\n return index;\n };\n\n this.moveCursorShortWordRight = function() {\n var row = this.lead.row;\n var column = this.lead.column;\n var line = this.doc.getLine(row);\n var rightOfCursor = line.substring(column);\n\n var fold = this.session.getFoldAt(row, column, 1);\n if (fold)\n return this.moveCursorTo(fold.end.row, fold.end.column);\n\n if (column == line.length) {\n var l = this.doc.getLength();\n do {\n row++;\n rightOfCursor = this.doc.getLine(row);\n } while (row < l && /^\\s*$/.test(rightOfCursor));\n\n if (!/^\\s+/.test(rightOfCursor))\n rightOfCursor = \"\";\n column = 0;\n }\n\n var index = this.$shortWordEndIndex(rightOfCursor);\n\n this.moveCursorTo(row, column + index);\n };\n\n this.moveCursorShortWordLeft = function() {\n var row = this.lead.row;\n var column = this.lead.column;\n\n var fold;\n if (fold = this.session.getFoldAt(row, column, -1))\n return this.moveCursorTo(fold.start.row, fold.start.column);\n\n var line = this.session.getLine(row).substring(0, column);\n if (column === 0) {\n do {\n row--;\n line = this.doc.getLine(row);\n } while (row > 0 && /^\\s*$/.test(line));\n\n column = line.length;\n if (!/\\s+$/.test(line))\n line = \"\";\n }\n\n var leftOfCursor = lang.stringReverse(line);\n var index = this.$shortWordEndIndex(leftOfCursor);\n\n return this.moveCursorTo(row, column - index);\n };\n\n this.moveCursorWordRight = function() {\n if (this.session.$selectLongWords)\n this.moveCursorLongWordRight();\n else\n this.moveCursorShortWordRight();\n };\n\n this.moveCursorWordLeft = function() {\n if (this.session.$selectLongWords)\n this.moveCursorLongWordLeft();\n else\n this.moveCursorShortWordLeft();\n };\n this.moveCursorBy = function(rows, chars) {\n var screenPos = this.session.documentToScreenPosition(\n this.lead.row,\n this.lead.column\n );\n\n if (chars === 0) {\n if (this.$desiredColumn)\n screenPos.column = this.$desiredColumn;\n else\n this.$desiredColumn = screenPos.column;\n }\n\n var docPos = this.session.screenToDocumentPosition(screenPos.row + rows, screenPos.column);\n \n if (rows !== 0 && chars === 0 && docPos.row === this.lead.row && docPos.column === this.lead.column) {\n if (this.session.lineWidgets && this.session.lineWidgets[docPos.row]) {\n if (docPos.row > 0 || rows > 0)\n docPos.row++;\n }\n }\n this.moveCursorTo(docPos.row, docPos.column + chars, chars === 0);\n };\n this.moveCursorToPosition = function(position) {\n this.moveCursorTo(position.row, position.column);\n };\n this.moveCursorTo = function(row, column, keepDesiredColumn) {\n var fold = this.session.getFoldAt(row, column, 1);\n if (fold) {\n row = fold.start.row;\n column = fold.start.column;\n }\n\n this.$keepDesiredColumnOnChange = true;\n this.lead.setPosition(row, column);\n this.$keepDesiredColumnOnChange = false;\n\n if (!keepDesiredColumn)\n this.$desiredColumn = null;\n };\n this.moveCursorToScreen = function(row, column, keepDesiredColumn) {\n var pos = this.session.screenToDocumentPosition(row, column);\n this.moveCursorTo(pos.row, pos.column, keepDesiredColumn);\n };\n this.detach = function() {\n this.lead.detach();\n this.anchor.detach();\n this.session = this.doc = null;\n };\n\n this.fromOrientedRange = function(range) {\n this.setSelectionRange(range, range.cursor == range.start);\n this.$desiredColumn = range.desiredColumn || this.$desiredColumn;\n };\n\n this.toOrientedRange = function(range) {\n var r = this.getRange();\n if (range) {\n range.start.column = r.start.column;\n range.start.row = r.start.row;\n range.end.column = r.end.column;\n range.end.row = r.end.row;\n } else {\n range = r;\n }\n\n range.cursor = this.isBackwards() ? range.start : range.end;\n range.desiredColumn = this.$desiredColumn;\n return range;\n };\n this.getRangeOfMovements = function(func) {\n var start = this.getCursor();\n try {\n func(this);\n var end = this.getCursor();\n return Range.fromPoints(start,end);\n } catch(e) {\n return Range.fromPoints(start,start);\n } finally {\n this.moveCursorToPosition(start);\n }\n };\n\n this.toJSON = function() {\n if (this.rangeCount) {\n var data = this.ranges.map(function(r) {\n var r1 = r.clone();\n r1.isBackwards = r.cursor == r.start;\n return r1;\n });\n } else {\n var data = this.getRange();\n data.isBackwards = this.isBackwards();\n }\n return data;\n };\n\n this.fromJSON = function(data) {\n if (data.start == undefined) {\n if (this.rangeList) {\n this.toSingleRange(data[0]);\n for (var i = data.length; i--; ) {\n var r = Range.fromPoints(data[i].start, data[i].end);\n if (data[i].isBackwards)\n r.cursor = r.start;\n this.addRange(r, true);\n }\n return;\n } else\n data = data[0];\n }\n if (this.rangeList)\n this.toSingleRange(data);\n this.setSelectionRange(data, data.isBackwards);\n };\n\n this.isEqual = function(data) {\n if ((data.length || this.rangeCount) && data.length != this.rangeCount)\n return false;\n if (!data.length || !this.ranges)\n return this.getRange().isEqual(data);\n\n for (var i = this.ranges.length; i--; ) {\n if (!this.ranges[i].isEqual(data[i]))\n return false;\n }\n return true;\n };\n\n}).call(Selection.prototype);\n\nexports.Selection = Selection;\n});\n\nace.define(\"ace/tokenizer\",[\"require\",\"exports\",\"module\",\"ace/config\"], function(acequire, exports, module) {\n\"use strict\";\n\nvar config = acequire(\"./config\");\nvar MAX_TOKEN_COUNT = 2000;\nvar Tokenizer = function(rules) {\n this.states = rules;\n\n this.regExps = {};\n this.matchMappings = {};\n for (var key in this.states) {\n var state = this.states[key];\n var ruleRegExps = [];\n var matchTotal = 0;\n var mapping = this.matchMappings[key] = {defaultToken: \"text\"};\n var flag = \"g\";\n\n var splitterRurles = [];\n for (var i = 0; i < state.length; i++) {\n var rule = state[i];\n if (rule.defaultToken)\n mapping.defaultToken = rule.defaultToken;\n if (rule.caseInsensitive)\n flag = \"gi\";\n if (rule.regex == null)\n continue;\n\n if (rule.regex instanceof RegExp)\n rule.regex = rule.regex.toString().slice(1, -1);\n var adjustedregex = rule.regex;\n var matchcount = new RegExp(\"(?:(\" + adjustedregex + \")|(.))\").exec(\"a\").length - 2;\n if (Array.isArray(rule.token)) {\n if (rule.token.length == 1 || matchcount == 1) {\n rule.token = rule.token[0];\n } else if (matchcount - 1 != rule.token.length) {\n this.reportError(\"number of classes and regexp groups doesn't match\", { \n rule: rule,\n groupCount: matchcount - 1\n });\n rule.token = rule.token[0];\n } else {\n rule.tokenArray = rule.token;\n rule.token = null;\n rule.onMatch = this.$arrayTokens;\n }\n } else if (typeof rule.token == \"function\" && !rule.onMatch) {\n if (matchcount > 1)\n rule.onMatch = this.$applyToken;\n else\n rule.onMatch = rule.token;\n }\n\n if (matchcount > 1) {\n if (/\\\\\\d/.test(rule.regex)) {\n adjustedregex = rule.regex.replace(/\\\\([0-9]+)/g, function(match, digit) {\n return \"\\\\\" + (parseInt(digit, 10) + matchTotal + 1);\n });\n } else {\n matchcount = 1;\n adjustedregex = this.removeCapturingGroups(rule.regex);\n }\n if (!rule.splitRegex && typeof rule.token != \"string\")\n splitterRurles.push(rule); // flag will be known only at the very end\n }\n\n mapping[matchTotal] = i;\n matchTotal += matchcount;\n\n ruleRegExps.push(adjustedregex);\n if (!rule.onMatch)\n rule.onMatch = null;\n }\n \n if (!ruleRegExps.length) {\n mapping[0] = 0;\n ruleRegExps.push(\"$\");\n }\n \n splitterRurles.forEach(function(rule) {\n rule.splitRegex = this.createSplitterRegexp(rule.regex, flag);\n }, this);\n\n this.regExps[key] = new RegExp(\"(\" + ruleRegExps.join(\")|(\") + \")|($)\", flag);\n }\n};\n\n(function() {\n this.$setMaxTokenCount = function(m) {\n MAX_TOKEN_COUNT = m | 0;\n };\n \n this.$applyToken = function(str) {\n var values = this.splitRegex.exec(str).slice(1);\n var types = this.token.apply(this, values);\n if (typeof types === \"string\")\n return [{type: types, value: str}];\n\n var tokens = [];\n for (var i = 0, l = types.length; i < l; i++) {\n if (values[i])\n tokens[tokens.length] = {\n type: types[i],\n value: values[i]\n };\n }\n return tokens;\n };\n\n this.$arrayTokens = function(str) {\n if (!str)\n return [];\n var values = this.splitRegex.exec(str);\n if (!values)\n return \"text\";\n var tokens = [];\n var types = this.tokenArray;\n for (var i = 0, l = types.length; i < l; i++) {\n if (values[i + 1])\n tokens[tokens.length] = {\n type: types[i],\n value: values[i + 1]\n };\n }\n return tokens;\n };\n\n this.removeCapturingGroups = function(src) {\n var r = src.replace(\n /\\[(?:\\\\.|[^\\]])*?\\]|\\\\.|\\(\\?[:=!]|(\\()/g,\n function(x, y) {return y ? \"(?:\" : x;}\n );\n return r;\n };\n\n this.createSplitterRegexp = function(src, flag) {\n if (src.indexOf(\"(?=\") != -1) {\n var stack = 0;\n var inChClass = false;\n var lastCapture = {};\n src.replace(/(\\\\.)|(\\((?:\\?[=!])?)|(\\))|([\\[\\]])/g, function(\n m, esc, parenOpen, parenClose, square, index\n ) {\n if (inChClass) {\n inChClass = square != \"]\";\n } else if (square) {\n inChClass = true;\n } else if (parenClose) {\n if (stack == lastCapture.stack) {\n lastCapture.end = index+1;\n lastCapture.stack = -1;\n }\n stack--;\n } else if (parenOpen) {\n stack++;\n if (parenOpen.length != 1) {\n lastCapture.stack = stack\n lastCapture.start = index;\n }\n }\n return m;\n });\n\n if (lastCapture.end != null && /^\\)*$/.test(src.substr(lastCapture.end)))\n src = src.substring(0, lastCapture.start) + src.substr(lastCapture.end);\n }\n if (src.charAt(0) != \"^\") src = \"^\" + src;\n if (src.charAt(src.length - 1) != \"$\") src += \"$\";\n \n return new RegExp(src, (flag||\"\").replace(\"g\", \"\"));\n };\n this.getLineTokens = function(line, startState) {\n if (startState && typeof startState != \"string\") {\n var stack = startState.slice(0);\n startState = stack[0];\n if (startState === \"#tmp\") {\n stack.shift()\n startState = stack.shift()\n }\n } else\n var stack = [];\n\n var currentState = startState || \"start\";\n var state = this.states[currentState];\n if (!state) {\n currentState = \"start\";\n state = this.states[currentState];\n }\n var mapping = this.matchMappings[currentState];\n var re = this.regExps[currentState];\n re.lastIndex = 0;\n\n var match, tokens = [];\n var lastIndex = 0;\n var matchAttempts = 0;\n\n var token = {type: null, value: \"\"};\n\n while (match = re.exec(line)) {\n var type = mapping.defaultToken;\n var rule = null;\n var value = match[0];\n var index = re.lastIndex;\n\n if (index - value.length > lastIndex) {\n var skipped = line.substring(lastIndex, index - value.length);\n if (token.type == type) {\n token.value += skipped;\n } else {\n if (token.type)\n tokens.push(token);\n token = {type: type, value: skipped};\n }\n }\n\n for (var i = 0; i < match.length-2; i++) {\n if (match[i + 1] === undefined)\n continue;\n\n rule = state[mapping[i]];\n\n if (rule.onMatch)\n type = rule.onMatch(value, currentState, stack);\n else\n type = rule.token;\n\n if (rule.next) {\n if (typeof rule.next == \"string\") {\n currentState = rule.next;\n } else {\n currentState = rule.next(currentState, stack);\n }\n \n state = this.states[currentState];\n if (!state) {\n this.reportError(\"state doesn't exist\", currentState);\n currentState = \"start\";\n state = this.states[currentState];\n }\n mapping = this.matchMappings[currentState];\n lastIndex = index;\n re = this.regExps[currentState];\n re.lastIndex = index;\n }\n break;\n }\n\n if (value) {\n if (typeof type === \"string\") {\n if ((!rule || rule.merge !== false) && token.type === type) {\n token.value += value;\n } else {\n if (token.type)\n tokens.push(token);\n token = {type: type, value: value};\n }\n } else if (type) {\n if (token.type)\n tokens.push(token);\n token = {type: null, value: \"\"};\n for (var i = 0; i < type.length; i++)\n tokens.push(type[i]);\n }\n }\n\n if (lastIndex == line.length)\n break;\n\n lastIndex = index;\n\n if (matchAttempts++ > MAX_TOKEN_COUNT) {\n if (matchAttempts > 2 * line.length) {\n this.reportError(\"infinite loop with in ace tokenizer\", {\n startState: startState,\n line: line\n });\n }\n while (lastIndex < line.length) {\n if (token.type)\n tokens.push(token);\n token = {\n value: line.substring(lastIndex, lastIndex += 2000),\n type: \"overflow\"\n };\n }\n currentState = \"start\";\n stack = [];\n break;\n }\n }\n\n if (token.type)\n tokens.push(token);\n \n if (stack.length > 1) {\n if (stack[0] !== currentState)\n stack.unshift(\"#tmp\", currentState);\n }\n return {\n tokens : tokens,\n state : stack.length ? stack : currentState\n };\n };\n \n this.reportError = config.reportError;\n \n}).call(Tokenizer.prototype);\n\nexports.Tokenizer = Tokenizer;\n});\n\nace.define(\"ace/mode/text_highlight_rules\",[\"require\",\"exports\",\"module\",\"ace/lib/lang\"], function(acequire, exports, module) {\n\"use strict\";\n\nvar lang = acequire(\"../lib/lang\");\n\nvar TextHighlightRules = function() {\n\n this.$rules = {\n \"start\" : [{\n token : \"empty_line\",\n regex : '^$'\n }, {\n defaultToken : \"text\"\n }]\n };\n};\n\n(function() {\n\n this.addRules = function(rules, prefix) {\n if (!prefix) {\n for (var key in rules)\n this.$rules[key] = rules[key];\n return;\n }\n for (var key in rules) {\n var state = rules[key];\n for (var i = 0; i < state.length; i++) {\n var rule = state[i];\n if (rule.next || rule.onMatch) {\n if (typeof rule.next == \"string\") {\n if (rule.next.indexOf(prefix) !== 0)\n rule.next = prefix + rule.next;\n }\n if (rule.nextState && rule.nextState.indexOf(prefix) !== 0)\n rule.nextState = prefix + rule.nextState;\n }\n }\n this.$rules[prefix + key] = state;\n }\n };\n\n this.getRules = function() {\n return this.$rules;\n };\n\n this.embedRules = function (HighlightRules, prefix, escapeRules, states, append) {\n var embedRules = typeof HighlightRules == \"function\"\n ? new HighlightRules().getRules()\n : HighlightRules;\n if (states) {\n for (var i = 0; i < states.length; i++)\n states[i] = prefix + states[i];\n } else {\n states = [];\n for (var key in embedRules)\n states.push(prefix + key);\n }\n\n this.addRules(embedRules, prefix);\n\n if (escapeRules) {\n var addRules = Array.prototype[append ? \"push\" : \"unshift\"];\n for (var i = 0; i < states.length; i++)\n addRules.apply(this.$rules[states[i]], lang.deepCopy(escapeRules));\n }\n\n if (!this.$embeds)\n this.$embeds = [];\n this.$embeds.push(prefix);\n };\n\n this.getEmbeds = function() {\n return this.$embeds;\n };\n\n var pushState = function(currentState, stack) {\n if (currentState != \"start\" || stack.length)\n stack.unshift(this.nextState, currentState);\n return this.nextState;\n };\n var popState = function(currentState, stack) {\n stack.shift();\n return stack.shift() || \"start\";\n };\n\n this.normalizeRules = function() {\n var id = 0;\n var rules = this.$rules;\n function processState(key) {\n var state = rules[key];\n state.processed = true;\n for (var i = 0; i < state.length; i++) {\n var rule = state[i];\n if (!rule.regex && rule.start) {\n rule.regex = rule.start;\n if (!rule.next)\n rule.next = [];\n rule.next.push({\n defaultToken: rule.token\n }, {\n token: rule.token + \".end\",\n regex: rule.end || rule.start,\n next: \"pop\"\n });\n rule.token = rule.token + \".start\";\n rule.push = true;\n }\n var next = rule.next || rule.push;\n if (next && Array.isArray(next)) {\n var stateName = rule.stateName;\n if (!stateName) {\n stateName = rule.token;\n if (typeof stateName != \"string\")\n stateName = stateName[0] || \"\";\n if (rules[stateName])\n stateName += id++;\n }\n rules[stateName] = next;\n rule.next = stateName;\n processState(stateName);\n } else if (next == \"pop\") {\n rule.next = popState;\n }\n\n if (rule.push) {\n rule.nextState = rule.next || rule.push;\n rule.next = pushState;\n delete rule.push;\n }\n\n if (rule.rules) {\n for (var r in rule.rules) {\n if (rules[r]) {\n if (rules[r].push)\n rules[r].push.apply(rules[r], rule.rules[r]);\n } else {\n rules[r] = rule.rules[r];\n }\n }\n }\n if (rule.include || typeof rule == \"string\") {\n var includeName = rule.include || rule;\n var toInsert = rules[includeName];\n } else if (Array.isArray(rule))\n toInsert = rule;\n\n if (toInsert) {\n var args = [i, 1].concat(toInsert);\n if (rule.noEscape)\n args = args.filter(function(x) {return !x.next;});\n state.splice.apply(state, args);\n i--;\n toInsert = null;\n }\n \n if (rule.keywordMap) {\n rule.token = this.createKeywordMapper(\n rule.keywordMap, rule.defaultToken || \"text\", rule.caseInsensitive\n );\n delete rule.defaultToken;\n }\n }\n }\n Object.keys(rules).forEach(processState, this);\n };\n\n this.createKeywordMapper = function(map, defaultToken, ignoreCase, splitChar) {\n var keywords = Object.create(null);\n Object.keys(map).forEach(function(className) {\n var a = map[className];\n if (ignoreCase)\n a = a.toLowerCase();\n var list = a.split(splitChar || \"|\");\n for (var i = list.length; i--; )\n keywords[list[i]] = className;\n });\n if (Object.getPrototypeOf(keywords)) {\n keywords.__proto__ = null;\n }\n this.$keywordList = Object.keys(keywords);\n map = null;\n return ignoreCase\n ? function(value) {return keywords[value.toLowerCase()] || defaultToken }\n : function(value) {return keywords[value] || defaultToken };\n };\n\n this.getKeywords = function() {\n return this.$keywords;\n };\n\n}).call(TextHighlightRules.prototype);\n\nexports.TextHighlightRules = TextHighlightRules;\n});\n\nace.define(\"ace/mode/behaviour\",[\"require\",\"exports\",\"module\"], function(acequire, exports, module) {\n\"use strict\";\n\nvar Behaviour = function() {\n this.$behaviours = {};\n};\n\n(function () {\n\n this.add = function (name, action, callback) {\n switch (undefined) {\n case this.$behaviours:\n this.$behaviours = {};\n case this.$behaviours[name]:\n this.$behaviours[name] = {};\n }\n this.$behaviours[name][action] = callback;\n }\n \n this.addBehaviours = function (behaviours) {\n for (var key in behaviours) {\n for (var action in behaviours[key]) {\n this.add(key, action, behaviours[key][action]);\n }\n }\n }\n \n this.remove = function (name) {\n if (this.$behaviours && this.$behaviours[name]) {\n delete this.$behaviours[name];\n }\n }\n \n this.inherit = function (mode, filter) {\n if (typeof mode === \"function\") {\n var behaviours = new mode().getBehaviours(filter);\n } else {\n var behaviours = mode.getBehaviours(filter);\n }\n this.addBehaviours(behaviours);\n }\n \n this.getBehaviours = function (filter) {\n if (!filter) {\n return this.$behaviours;\n } else {\n var ret = {}\n for (var i = 0; i < filter.length; i++) {\n if (this.$behaviours[filter[i]]) {\n ret[filter[i]] = this.$behaviours[filter[i]];\n }\n }\n return ret;\n }\n }\n\n}).call(Behaviour.prototype);\n\nexports.Behaviour = Behaviour;\n});\n\nace.define(\"ace/unicode\",[\"require\",\"exports\",\"module\"], function(acequire, exports, module) {\n\"use strict\";\nexports.packages = {};\n\naddUnicodePackage({\n L: \"0041-005A0061-007A00AA00B500BA00C0-00D600D8-00F600F8-02C102C6-02D102E0-02E402EC02EE0370-037403760377037A-037D03860388-038A038C038E-03A103A3-03F503F7-0481048A-05250531-055605590561-058705D0-05EA05F0-05F20621-064A066E066F0671-06D306D506E506E606EE06EF06FA-06FC06FF07100712-072F074D-07A507B107CA-07EA07F407F507FA0800-0815081A082408280904-0939093D09500958-0961097109720979-097F0985-098C098F09900993-09A809AA-09B009B209B6-09B909BD09CE09DC09DD09DF-09E109F009F10A05-0A0A0A0F0A100A13-0A280A2A-0A300A320A330A350A360A380A390A59-0A5C0A5E0A72-0A740A85-0A8D0A8F-0A910A93-0AA80AAA-0AB00AB20AB30AB5-0AB90ABD0AD00AE00AE10B05-0B0C0B0F0B100B13-0B280B2A-0B300B320B330B35-0B390B3D0B5C0B5D0B5F-0B610B710B830B85-0B8A0B8E-0B900B92-0B950B990B9A0B9C0B9E0B9F0BA30BA40BA8-0BAA0BAE-0BB90BD00C05-0C0C0C0E-0C100C12-0C280C2A-0C330C35-0C390C3D0C580C590C600C610C85-0C8C0C8E-0C900C92-0CA80CAA-0CB30CB5-0CB90CBD0CDE0CE00CE10D05-0D0C0D0E-0D100D12-0D280D2A-0D390D3D0D600D610D7A-0D7F0D85-0D960D9A-0DB10DB3-0DBB0DBD0DC0-0DC60E01-0E300E320E330E40-0E460E810E820E840E870E880E8A0E8D0E94-0E970E99-0E9F0EA1-0EA30EA50EA70EAA0EAB0EAD-0EB00EB20EB30EBD0EC0-0EC40EC60EDC0EDD0F000F40-0F470F49-0F6C0F88-0F8B1000-102A103F1050-1055105A-105D106110651066106E-10701075-1081108E10A0-10C510D0-10FA10FC1100-1248124A-124D1250-12561258125A-125D1260-1288128A-128D1290-12B012B2-12B512B8-12BE12C012C2-12C512C8-12D612D8-13101312-13151318-135A1380-138F13A0-13F41401-166C166F-167F1681-169A16A0-16EA1700-170C170E-17111720-17311740-17511760-176C176E-17701780-17B317D717DC1820-18771880-18A818AA18B0-18F51900-191C1950-196D1970-19741980-19AB19C1-19C71A00-1A161A20-1A541AA71B05-1B331B45-1B4B1B83-1BA01BAE1BAF1C00-1C231C4D-1C4F1C5A-1C7D1CE9-1CEC1CEE-1CF11D00-1DBF1E00-1F151F18-1F1D1F20-1F451F48-1F4D1F50-1F571F591F5B1F5D1F5F-1F7D1F80-1FB41FB6-1FBC1FBE1FC2-1FC41FC6-1FCC1FD0-1FD31FD6-1FDB1FE0-1FEC1FF2-1FF41FF6-1FFC2071207F2090-209421022107210A-211321152119-211D212421262128212A-212D212F-2139213C-213F2145-2149214E218321842C00-2C2E2C30-2C5E2C60-2CE42CEB-2CEE2D00-2D252D30-2D652D6F2D80-2D962DA0-2DA62DA8-2DAE2DB0-2DB62DB8-2DBE2DC0-2DC62DC8-2DCE2DD0-2DD62DD8-2DDE2E2F300530063031-3035303B303C3041-3096309D-309F30A1-30FA30FC-30FF3105-312D3131-318E31A0-31B731F0-31FF3400-4DB54E00-9FCBA000-A48CA4D0-A4FDA500-A60CA610-A61FA62AA62BA640-A65FA662-A66EA67F-A697A6A0-A6E5A717-A71FA722-A788A78BA78CA7FB-A801A803-A805A807-A80AA80C-A822A840-A873A882-A8B3A8F2-A8F7A8FBA90A-A925A930-A946A960-A97CA984-A9B2A9CFAA00-AA28AA40-AA42AA44-AA4BAA60-AA76AA7AAA80-AAAFAAB1AAB5AAB6AAB9-AABDAAC0AAC2AADB-AADDABC0-ABE2AC00-D7A3D7B0-D7C6D7CB-D7FBF900-FA2DFA30-FA6DFA70-FAD9FB00-FB06FB13-FB17FB1DFB1F-FB28FB2A-FB36FB38-FB3CFB3EFB40FB41FB43FB44FB46-FBB1FBD3-FD3DFD50-FD8FFD92-FDC7FDF0-FDFBFE70-FE74FE76-FEFCFF21-FF3AFF41-FF5AFF66-FFBEFFC2-FFC7FFCA-FFCFFFD2-FFD7FFDA-FFDC\",\n Ll: \"0061-007A00AA00B500BA00DF-00F600F8-00FF01010103010501070109010B010D010F01110113011501170119011B011D011F01210123012501270129012B012D012F01310133013501370138013A013C013E014001420144014601480149014B014D014F01510153015501570159015B015D015F01610163016501670169016B016D016F0171017301750177017A017C017E-0180018301850188018C018D019201950199-019B019E01A101A301A501A801AA01AB01AD01B001B401B601B901BA01BD-01BF01C601C901CC01CE01D001D201D401D601D801DA01DC01DD01DF01E101E301E501E701E901EB01ED01EF01F001F301F501F901FB01FD01FF02010203020502070209020B020D020F02110213021502170219021B021D021F02210223022502270229022B022D022F02310233-0239023C023F0240024202470249024B024D024F-02930295-02AF037103730377037B-037D039003AC-03CE03D003D103D5-03D703D903DB03DD03DF03E103E303E503E703E903EB03ED03EF-03F303F503F803FB03FC0430-045F04610463046504670469046B046D046F04710473047504770479047B047D047F0481048B048D048F04910493049504970499049B049D049F04A104A304A504A704A904AB04AD04AF04B104B304B504B704B904BB04BD04BF04C204C404C604C804CA04CC04CE04CF04D104D304D504D704D904DB04DD04DF04E104E304E504E704E904EB04ED04EF04F104F304F504F704F904FB04FD04FF05010503050505070509050B050D050F05110513051505170519051B051D051F0521052305250561-05871D00-1D2B1D62-1D771D79-1D9A1E011E031E051E071E091E0B1E0D1E0F1E111E131E151E171E191E1B1E1D1E1F1E211E231E251E271E291E2B1E2D1E2F1E311E331E351E371E391E3B1E3D1E3F1E411E431E451E471E491E4B1E4D1E4F1E511E531E551E571E591E5B1E5D1E5F1E611E631E651E671E691E6B1E6D1E6F1E711E731E751E771E791E7B1E7D1E7F1E811E831E851E871E891E8B1E8D1E8F1E911E931E95-1E9D1E9F1EA11EA31EA51EA71EA91EAB1EAD1EAF1EB11EB31EB51EB71EB91EBB1EBD1EBF1EC11EC31EC51EC71EC91ECB1ECD1ECF1ED11ED31ED51ED71ED91EDB1EDD1EDF1EE11EE31EE51EE71EE91EEB1EED1EEF1EF11EF31EF51EF71EF91EFB1EFD1EFF-1F071F10-1F151F20-1F271F30-1F371F40-1F451F50-1F571F60-1F671F70-1F7D1F80-1F871F90-1F971FA0-1FA71FB0-1FB41FB61FB71FBE1FC2-1FC41FC61FC71FD0-1FD31FD61FD71FE0-1FE71FF2-1FF41FF61FF7210A210E210F2113212F21342139213C213D2146-2149214E21842C30-2C5E2C612C652C662C682C6A2C6C2C712C732C742C76-2C7C2C812C832C852C872C892C8B2C8D2C8F2C912C932C952C972C992C9B2C9D2C9F2CA12CA32CA52CA72CA92CAB2CAD2CAF2CB12CB32CB52CB72CB92CBB2CBD2CBF2CC12CC32CC52CC72CC92CCB2CCD2CCF2CD12CD32CD52CD72CD92CDB2CDD2CDF2CE12CE32CE42CEC2CEE2D00-2D25A641A643A645A647A649A64BA64DA64FA651A653A655A657A659A65BA65DA65FA663A665A667A669A66BA66DA681A683A685A687A689A68BA68DA68FA691A693A695A697A723A725A727A729A72BA72DA72F-A731A733A735A737A739A73BA73DA73FA741A743A745A747A749A74BA74DA74FA751A753A755A757A759A75BA75DA75FA761A763A765A767A769A76BA76DA76FA771-A778A77AA77CA77FA781A783A785A787A78CFB00-FB06FB13-FB17FF41-FF5A\",\n Lu: \"0041-005A00C0-00D600D8-00DE01000102010401060108010A010C010E01100112011401160118011A011C011E01200122012401260128012A012C012E01300132013401360139013B013D013F0141014301450147014A014C014E01500152015401560158015A015C015E01600162016401660168016A016C016E017001720174017601780179017B017D018101820184018601870189-018B018E-0191019301940196-0198019C019D019F01A001A201A401A601A701A901AC01AE01AF01B1-01B301B501B701B801BC01C401C701CA01CD01CF01D101D301D501D701D901DB01DE01E001E201E401E601E801EA01EC01EE01F101F401F6-01F801FA01FC01FE02000202020402060208020A020C020E02100212021402160218021A021C021E02200222022402260228022A022C022E02300232023A023B023D023E02410243-02460248024A024C024E03700372037603860388-038A038C038E038F0391-03A103A3-03AB03CF03D2-03D403D803DA03DC03DE03E003E203E403E603E803EA03EC03EE03F403F703F903FA03FD-042F04600462046404660468046A046C046E04700472047404760478047A047C047E0480048A048C048E04900492049404960498049A049C049E04A004A204A404A604A804AA04AC04AE04B004B204B404B604B804BA04BC04BE04C004C104C304C504C704C904CB04CD04D004D204D404D604D804DA04DC04DE04E004E204E404E604E804EA04EC04EE04F004F204F404F604F804FA04FC04FE05000502050405060508050A050C050E05100512051405160518051A051C051E0520052205240531-055610A0-10C51E001E021E041E061E081E0A1E0C1E0E1E101E121E141E161E181E1A1E1C1E1E1E201E221E241E261E281E2A1E2C1E2E1E301E321E341E361E381E3A1E3C1E3E1E401E421E441E461E481E4A1E4C1E4E1E501E521E541E561E581E5A1E5C1E5E1E601E621E641E661E681E6A1E6C1E6E1E701E721E741E761E781E7A1E7C1E7E1E801E821E841E861E881E8A1E8C1E8E1E901E921E941E9E1EA01EA21EA41EA61EA81EAA1EAC1EAE1EB01EB21EB41EB61EB81EBA1EBC1EBE1EC01EC21EC41EC61EC81ECA1ECC1ECE1ED01ED21ED41ED61ED81EDA1EDC1EDE1EE01EE21EE41EE61EE81EEA1EEC1EEE1EF01EF21EF41EF61EF81EFA1EFC1EFE1F08-1F0F1F18-1F1D1F28-1F2F1F38-1F3F1F48-1F4D1F591F5B1F5D1F5F1F68-1F6F1FB8-1FBB1FC8-1FCB1FD8-1FDB1FE8-1FEC1FF8-1FFB21022107210B-210D2110-211221152119-211D212421262128212A-212D2130-2133213E213F214521832C00-2C2E2C602C62-2C642C672C692C6B2C6D-2C702C722C752C7E-2C802C822C842C862C882C8A2C8C2C8E2C902C922C942C962C982C9A2C9C2C9E2CA02CA22CA42CA62CA82CAA2CAC2CAE2CB02CB22CB42CB62CB82CBA2CBC2CBE2CC02CC22CC42CC62CC82CCA2CCC2CCE2CD02CD22CD42CD62CD82CDA2CDC2CDE2CE02CE22CEB2CEDA640A642A644A646A648A64AA64CA64EA650A652A654A656A658A65AA65CA65EA662A664A666A668A66AA66CA680A682A684A686A688A68AA68CA68EA690A692A694A696A722A724A726A728A72AA72CA72EA732A734A736A738A73AA73CA73EA740A742A744A746A748A74AA74CA74EA750A752A754A756A758A75AA75CA75EA760A762A764A766A768A76AA76CA76EA779A77BA77DA77EA780A782A784A786A78BFF21-FF3A\",\n Lt: \"01C501C801CB01F21F88-1F8F1F98-1F9F1FA8-1FAF1FBC1FCC1FFC\",\n Lm: \"02B0-02C102C6-02D102E0-02E402EC02EE0374037A0559064006E506E607F407F507FA081A0824082809710E460EC610FC17D718431AA71C78-1C7D1D2C-1D611D781D9B-1DBF2071207F2090-20942C7D2D6F2E2F30053031-3035303B309D309E30FC-30FEA015A4F8-A4FDA60CA67FA717-A71FA770A788A9CFAA70AADDFF70FF9EFF9F\",\n Lo: \"01BB01C0-01C3029405D0-05EA05F0-05F20621-063F0641-064A066E066F0671-06D306D506EE06EF06FA-06FC06FF07100712-072F074D-07A507B107CA-07EA0800-08150904-0939093D09500958-096109720979-097F0985-098C098F09900993-09A809AA-09B009B209B6-09B909BD09CE09DC09DD09DF-09E109F009F10A05-0A0A0A0F0A100A13-0A280A2A-0A300A320A330A350A360A380A390A59-0A5C0A5E0A72-0A740A85-0A8D0A8F-0A910A93-0AA80AAA-0AB00AB20AB30AB5-0AB90ABD0AD00AE00AE10B05-0B0C0B0F0B100B13-0B280B2A-0B300B320B330B35-0B390B3D0B5C0B5D0B5F-0B610B710B830B85-0B8A0B8E-0B900B92-0B950B990B9A0B9C0B9E0B9F0BA30BA40BA8-0BAA0BAE-0BB90BD00C05-0C0C0C0E-0C100C12-0C280C2A-0C330C35-0C390C3D0C580C590C600C610C85-0C8C0C8E-0C900C92-0CA80CAA-0CB30CB5-0CB90CBD0CDE0CE00CE10D05-0D0C0D0E-0D100D12-0D280D2A-0D390D3D0D600D610D7A-0D7F0D85-0D960D9A-0DB10DB3-0DBB0DBD0DC0-0DC60E01-0E300E320E330E40-0E450E810E820E840E870E880E8A0E8D0E94-0E970E99-0E9F0EA1-0EA30EA50EA70EAA0EAB0EAD-0EB00EB20EB30EBD0EC0-0EC40EDC0EDD0F000F40-0F470F49-0F6C0F88-0F8B1000-102A103F1050-1055105A-105D106110651066106E-10701075-1081108E10D0-10FA1100-1248124A-124D1250-12561258125A-125D1260-1288128A-128D1290-12B012B2-12B512B8-12BE12C012C2-12C512C8-12D612D8-13101312-13151318-135A1380-138F13A0-13F41401-166C166F-167F1681-169A16A0-16EA1700-170C170E-17111720-17311740-17511760-176C176E-17701780-17B317DC1820-18421844-18771880-18A818AA18B0-18F51900-191C1950-196D1970-19741980-19AB19C1-19C71A00-1A161A20-1A541B05-1B331B45-1B4B1B83-1BA01BAE1BAF1C00-1C231C4D-1C4F1C5A-1C771CE9-1CEC1CEE-1CF12135-21382D30-2D652D80-2D962DA0-2DA62DA8-2DAE2DB0-2DB62DB8-2DBE2DC0-2DC62DC8-2DCE2DD0-2DD62DD8-2DDE3006303C3041-3096309F30A1-30FA30FF3105-312D3131-318E31A0-31B731F0-31FF3400-4DB54E00-9FCBA000-A014A016-A48CA4D0-A4F7A500-A60BA610-A61FA62AA62BA66EA6A0-A6E5A7FB-A801A803-A805A807-A80AA80C-A822A840-A873A882-A8B3A8F2-A8F7A8FBA90A-A925A930-A946A960-A97CA984-A9B2AA00-AA28AA40-AA42AA44-AA4BAA60-AA6FAA71-AA76AA7AAA80-AAAFAAB1AAB5AAB6AAB9-AABDAAC0AAC2AADBAADCABC0-ABE2AC00-D7A3D7B0-D7C6D7CB-D7FBF900-FA2DFA30-FA6DFA70-FAD9FB1DFB1F-FB28FB2A-FB36FB38-FB3CFB3EFB40FB41FB43FB44FB46-FBB1FBD3-FD3DFD50-FD8FFD92-FDC7FDF0-FDFBFE70-FE74FE76-FEFCFF66-FF6FFF71-FF9DFFA0-FFBEFFC2-FFC7FFCA-FFCFFFD2-FFD7FFDA-FFDC\",\n M: \"0300-036F0483-04890591-05BD05BF05C105C205C405C505C70610-061A064B-065E067006D6-06DC06DE-06E406E706E806EA-06ED07110730-074A07A6-07B007EB-07F30816-0819081B-08230825-08270829-082D0900-0903093C093E-094E0951-0955096209630981-098309BC09BE-09C409C709C809CB-09CD09D709E209E30A01-0A030A3C0A3E-0A420A470A480A4B-0A4D0A510A700A710A750A81-0A830ABC0ABE-0AC50AC7-0AC90ACB-0ACD0AE20AE30B01-0B030B3C0B3E-0B440B470B480B4B-0B4D0B560B570B620B630B820BBE-0BC20BC6-0BC80BCA-0BCD0BD70C01-0C030C3E-0C440C46-0C480C4A-0C4D0C550C560C620C630C820C830CBC0CBE-0CC40CC6-0CC80CCA-0CCD0CD50CD60CE20CE30D020D030D3E-0D440D46-0D480D4A-0D4D0D570D620D630D820D830DCA0DCF-0DD40DD60DD8-0DDF0DF20DF30E310E34-0E3A0E47-0E4E0EB10EB4-0EB90EBB0EBC0EC8-0ECD0F180F190F350F370F390F3E0F3F0F71-0F840F860F870F90-0F970F99-0FBC0FC6102B-103E1056-1059105E-10601062-10641067-106D1071-10741082-108D108F109A-109D135F1712-17141732-1734175217531772177317B6-17D317DD180B-180D18A91920-192B1930-193B19B0-19C019C819C91A17-1A1B1A55-1A5E1A60-1A7C1A7F1B00-1B041B34-1B441B6B-1B731B80-1B821BA1-1BAA1C24-1C371CD0-1CD21CD4-1CE81CED1CF21DC0-1DE61DFD-1DFF20D0-20F02CEF-2CF12DE0-2DFF302A-302F3099309AA66F-A672A67CA67DA6F0A6F1A802A806A80BA823-A827A880A881A8B4-A8C4A8E0-A8F1A926-A92DA947-A953A980-A983A9B3-A9C0AA29-AA36AA43AA4CAA4DAA7BAAB0AAB2-AAB4AAB7AAB8AABEAABFAAC1ABE3-ABEAABECABEDFB1EFE00-FE0FFE20-FE26\",\n Mn: \"0300-036F0483-04870591-05BD05BF05C105C205C405C505C70610-061A064B-065E067006D6-06DC06DF-06E406E706E806EA-06ED07110730-074A07A6-07B007EB-07F30816-0819081B-08230825-08270829-082D0900-0902093C0941-0948094D0951-095509620963098109BC09C1-09C409CD09E209E30A010A020A3C0A410A420A470A480A4B-0A4D0A510A700A710A750A810A820ABC0AC1-0AC50AC70AC80ACD0AE20AE30B010B3C0B3F0B41-0B440B4D0B560B620B630B820BC00BCD0C3E-0C400C46-0C480C4A-0C4D0C550C560C620C630CBC0CBF0CC60CCC0CCD0CE20CE30D41-0D440D4D0D620D630DCA0DD2-0DD40DD60E310E34-0E3A0E47-0E4E0EB10EB4-0EB90EBB0EBC0EC8-0ECD0F180F190F350F370F390F71-0F7E0F80-0F840F860F870F90-0F970F99-0FBC0FC6102D-10301032-10371039103A103D103E10581059105E-10601071-1074108210851086108D109D135F1712-17141732-1734175217531772177317B7-17BD17C617C9-17D317DD180B-180D18A91920-19221927192819321939-193B1A171A181A561A58-1A5E1A601A621A65-1A6C1A73-1A7C1A7F1B00-1B031B341B36-1B3A1B3C1B421B6B-1B731B801B811BA2-1BA51BA81BA91C2C-1C331C361C371CD0-1CD21CD4-1CE01CE2-1CE81CED1DC0-1DE61DFD-1DFF20D0-20DC20E120E5-20F02CEF-2CF12DE0-2DFF302A-302F3099309AA66FA67CA67DA6F0A6F1A802A806A80BA825A826A8C4A8E0-A8F1A926-A92DA947-A951A980-A982A9B3A9B6-A9B9A9BCAA29-AA2EAA31AA32AA35AA36AA43AA4CAAB0AAB2-AAB4AAB7AAB8AABEAABFAAC1ABE5ABE8ABEDFB1EFE00-FE0FFE20-FE26\",\n Mc: \"0903093E-09400949-094C094E0982098309BE-09C009C709C809CB09CC09D70A030A3E-0A400A830ABE-0AC00AC90ACB0ACC0B020B030B3E0B400B470B480B4B0B4C0B570BBE0BBF0BC10BC20BC6-0BC80BCA-0BCC0BD70C01-0C030C41-0C440C820C830CBE0CC0-0CC40CC70CC80CCA0CCB0CD50CD60D020D030D3E-0D400D46-0D480D4A-0D4C0D570D820D830DCF-0DD10DD8-0DDF0DF20DF30F3E0F3F0F7F102B102C10311038103B103C105610571062-10641067-106D108310841087-108C108F109A-109C17B617BE-17C517C717C81923-19261929-192B193019311933-193819B0-19C019C819C91A19-1A1B1A551A571A611A631A641A6D-1A721B041B351B3B1B3D-1B411B431B441B821BA11BA61BA71BAA1C24-1C2B1C341C351CE11CF2A823A824A827A880A881A8B4-A8C3A952A953A983A9B4A9B5A9BAA9BBA9BD-A9C0AA2FAA30AA33AA34AA4DAA7BABE3ABE4ABE6ABE7ABE9ABEAABEC\",\n Me: \"0488048906DE20DD-20E020E2-20E4A670-A672\",\n N: \"0030-003900B200B300B900BC-00BE0660-066906F0-06F907C0-07C90966-096F09E6-09EF09F4-09F90A66-0A6F0AE6-0AEF0B66-0B6F0BE6-0BF20C66-0C6F0C78-0C7E0CE6-0CEF0D66-0D750E50-0E590ED0-0ED90F20-0F331040-10491090-10991369-137C16EE-16F017E0-17E917F0-17F91810-18191946-194F19D0-19DA1A80-1A891A90-1A991B50-1B591BB0-1BB91C40-1C491C50-1C5920702074-20792080-20892150-21822185-21892460-249B24EA-24FF2776-27932CFD30073021-30293038-303A3192-31953220-32293251-325F3280-328932B1-32BFA620-A629A6E6-A6EFA830-A835A8D0-A8D9A900-A909A9D0-A9D9AA50-AA59ABF0-ABF9FF10-FF19\",\n Nd: \"0030-00390660-066906F0-06F907C0-07C90966-096F09E6-09EF0A66-0A6F0AE6-0AEF0B66-0B6F0BE6-0BEF0C66-0C6F0CE6-0CEF0D66-0D6F0E50-0E590ED0-0ED90F20-0F291040-10491090-109917E0-17E91810-18191946-194F19D0-19DA1A80-1A891A90-1A991B50-1B591BB0-1BB91C40-1C491C50-1C59A620-A629A8D0-A8D9A900-A909A9D0-A9D9AA50-AA59ABF0-ABF9FF10-FF19\",\n Nl: \"16EE-16F02160-21822185-218830073021-30293038-303AA6E6-A6EF\",\n No: \"00B200B300B900BC-00BE09F4-09F90BF0-0BF20C78-0C7E0D70-0D750F2A-0F331369-137C17F0-17F920702074-20792080-20892150-215F21892460-249B24EA-24FF2776-27932CFD3192-31953220-32293251-325F3280-328932B1-32BFA830-A835\",\n P: \"0021-00230025-002A002C-002F003A003B003F0040005B-005D005F007B007D00A100AB00B700BB00BF037E0387055A-055F0589058A05BE05C005C305C605F305F40609060A060C060D061B061E061F066A-066D06D40700-070D07F7-07F90830-083E0964096509700DF40E4F0E5A0E5B0F04-0F120F3A-0F3D0F850FD0-0FD4104A-104F10FB1361-13681400166D166E169B169C16EB-16ED1735173617D4-17D617D8-17DA1800-180A1944194519DE19DF1A1E1A1F1AA0-1AA61AA8-1AAD1B5A-1B601C3B-1C3F1C7E1C7F1CD32010-20272030-20432045-20512053-205E207D207E208D208E2329232A2768-277527C527C627E6-27EF2983-299829D8-29DB29FC29FD2CF9-2CFC2CFE2CFF2E00-2E2E2E302E313001-30033008-30113014-301F3030303D30A030FBA4FEA4FFA60D-A60FA673A67EA6F2-A6F7A874-A877A8CEA8CFA8F8-A8FAA92EA92FA95FA9C1-A9CDA9DEA9DFAA5C-AA5FAADEAADFABEBFD3EFD3FFE10-FE19FE30-FE52FE54-FE61FE63FE68FE6AFE6BFF01-FF03FF05-FF0AFF0C-FF0FFF1AFF1BFF1FFF20FF3B-FF3DFF3FFF5BFF5DFF5F-FF65\",\n Pd: \"002D058A05BE140018062010-20152E172E1A301C303030A0FE31FE32FE58FE63FF0D\",\n Ps: \"0028005B007B0F3A0F3C169B201A201E2045207D208D23292768276A276C276E27702772277427C527E627E827EA27EC27EE2983298529872989298B298D298F299129932995299729D829DA29FC2E222E242E262E283008300A300C300E3010301430163018301A301DFD3EFE17FE35FE37FE39FE3BFE3DFE3FFE41FE43FE47FE59FE5BFE5DFF08FF3BFF5BFF5FFF62\",\n Pe: \"0029005D007D0F3B0F3D169C2046207E208E232A2769276B276D276F27712773277527C627E727E927EB27ED27EF298429862988298A298C298E2990299229942996299829D929DB29FD2E232E252E272E293009300B300D300F3011301530173019301B301E301FFD3FFE18FE36FE38FE3AFE3CFE3EFE40FE42FE44FE48FE5AFE5CFE5EFF09FF3DFF5DFF60FF63\",\n Pi: \"00AB2018201B201C201F20392E022E042E092E0C2E1C2E20\",\n Pf: \"00BB2019201D203A2E032E052E0A2E0D2E1D2E21\",\n Pc: \"005F203F20402054FE33FE34FE4D-FE4FFF3F\",\n Po: \"0021-00230025-0027002A002C002E002F003A003B003F0040005C00A100B700BF037E0387055A-055F058905C005C305C605F305F40609060A060C060D061B061E061F066A-066D06D40700-070D07F7-07F90830-083E0964096509700DF40E4F0E5A0E5B0F04-0F120F850FD0-0FD4104A-104F10FB1361-1368166D166E16EB-16ED1735173617D4-17D617D8-17DA1800-18051807-180A1944194519DE19DF1A1E1A1F1AA0-1AA61AA8-1AAD1B5A-1B601C3B-1C3F1C7E1C7F1CD3201620172020-20272030-2038203B-203E2041-20432047-205120532055-205E2CF9-2CFC2CFE2CFF2E002E012E06-2E082E0B2E0E-2E162E182E192E1B2E1E2E1F2E2A-2E2E2E302E313001-3003303D30FBA4FEA4FFA60D-A60FA673A67EA6F2-A6F7A874-A877A8CEA8CFA8F8-A8FAA92EA92FA95FA9C1-A9CDA9DEA9DFAA5C-AA5FAADEAADFABEBFE10-FE16FE19FE30FE45FE46FE49-FE4CFE50-FE52FE54-FE57FE5F-FE61FE68FE6AFE6BFF01-FF03FF05-FF07FF0AFF0CFF0EFF0FFF1AFF1BFF1FFF20FF3CFF61FF64FF65\",\n S: \"0024002B003C-003E005E0060007C007E00A2-00A900AC00AE-00B100B400B600B800D700F702C2-02C502D2-02DF02E5-02EB02ED02EF-02FF03750384038503F604820606-0608060B060E060F06E906FD06FE07F609F209F309FA09FB0AF10B700BF3-0BFA0C7F0CF10CF20D790E3F0F01-0F030F13-0F170F1A-0F1F0F340F360F380FBE-0FC50FC7-0FCC0FCE0FCF0FD5-0FD8109E109F13601390-139917DB194019E0-19FF1B61-1B6A1B74-1B7C1FBD1FBF-1FC11FCD-1FCF1FDD-1FDF1FED-1FEF1FFD1FFE20442052207A-207C208A-208C20A0-20B8210021012103-21062108210921142116-2118211E-2123212521272129212E213A213B2140-2144214A-214D214F2190-2328232B-23E82400-24262440-244A249C-24E92500-26CD26CF-26E126E326E8-26FF2701-27042706-2709270C-27272729-274B274D274F-27522756-275E2761-276727942798-27AF27B1-27BE27C0-27C427C7-27CA27CC27D0-27E527F0-29822999-29D729DC-29FB29FE-2B4C2B50-2B592CE5-2CEA2E80-2E992E9B-2EF32F00-2FD52FF0-2FFB300430123013302030363037303E303F309B309C319031913196-319F31C0-31E33200-321E322A-32503260-327F328A-32B032C0-32FE3300-33FF4DC0-4DFFA490-A4C6A700-A716A720A721A789A78AA828-A82BA836-A839AA77-AA79FB29FDFCFDFDFE62FE64-FE66FE69FF04FF0BFF1C-FF1EFF3EFF40FF5CFF5EFFE0-FFE6FFE8-FFEEFFFCFFFD\",\n Sm: \"002B003C-003E007C007E00AC00B100D700F703F60606-060820442052207A-207C208A-208C2140-2144214B2190-2194219A219B21A021A321A621AE21CE21CF21D221D421F4-22FF2308-230B23202321237C239B-23B323DC-23E125B725C125F8-25FF266F27C0-27C427C7-27CA27CC27D0-27E527F0-27FF2900-29822999-29D729DC-29FB29FE-2AFF2B30-2B442B47-2B4CFB29FE62FE64-FE66FF0BFF1C-FF1EFF5CFF5EFFE2FFE9-FFEC\",\n Sc: \"002400A2-00A5060B09F209F309FB0AF10BF90E3F17DB20A0-20B8A838FDFCFE69FF04FFE0FFE1FFE5FFE6\",\n Sk: \"005E006000A800AF00B400B802C2-02C502D2-02DF02E5-02EB02ED02EF-02FF0375038403851FBD1FBF-1FC11FCD-1FCF1FDD-1FDF1FED-1FEF1FFD1FFE309B309CA700-A716A720A721A789A78AFF3EFF40FFE3\",\n So: \"00A600A700A900AE00B000B60482060E060F06E906FD06FE07F609FA0B700BF3-0BF80BFA0C7F0CF10CF20D790F01-0F030F13-0F170F1A-0F1F0F340F360F380FBE-0FC50FC7-0FCC0FCE0FCF0FD5-0FD8109E109F13601390-1399194019E0-19FF1B61-1B6A1B74-1B7C210021012103-21062108210921142116-2118211E-2123212521272129212E213A213B214A214C214D214F2195-2199219C-219F21A121A221A421A521A7-21AD21AF-21CD21D021D121D321D5-21F32300-2307230C-231F2322-2328232B-237B237D-239A23B4-23DB23E2-23E82400-24262440-244A249C-24E92500-25B625B8-25C025C2-25F72600-266E2670-26CD26CF-26E126E326E8-26FF2701-27042706-2709270C-27272729-274B274D274F-27522756-275E2761-276727942798-27AF27B1-27BE2800-28FF2B00-2B2F2B452B462B50-2B592CE5-2CEA2E80-2E992E9B-2EF32F00-2FD52FF0-2FFB300430123013302030363037303E303F319031913196-319F31C0-31E33200-321E322A-32503260-327F328A-32B032C0-32FE3300-33FF4DC0-4DFFA490-A4C6A828-A82BA836A837A839AA77-AA79FDFDFFE4FFE8FFEDFFEEFFFCFFFD\",\n Z: \"002000A01680180E2000-200A20282029202F205F3000\",\n Zs: \"002000A01680180E2000-200A202F205F3000\",\n Zl: \"2028\",\n Zp: \"2029\",\n C: \"0000-001F007F-009F00AD03780379037F-0383038B038D03A20526-05300557055805600588058B-059005C8-05CF05EB-05EF05F5-0605061C061D0620065F06DD070E070F074B074C07B2-07BF07FB-07FF082E082F083F-08FF093A093B094F095609570973-097809800984098D098E0991099209A909B109B3-09B509BA09BB09C509C609C909CA09CF-09D609D8-09DB09DE09E409E509FC-0A000A040A0B-0A0E0A110A120A290A310A340A370A3A0A3B0A3D0A43-0A460A490A4A0A4E-0A500A52-0A580A5D0A5F-0A650A76-0A800A840A8E0A920AA90AB10AB40ABA0ABB0AC60ACA0ACE0ACF0AD1-0ADF0AE40AE50AF00AF2-0B000B040B0D0B0E0B110B120B290B310B340B3A0B3B0B450B460B490B4A0B4E-0B550B58-0B5B0B5E0B640B650B72-0B810B840B8B-0B8D0B910B96-0B980B9B0B9D0BA0-0BA20BA5-0BA70BAB-0BAD0BBA-0BBD0BC3-0BC50BC90BCE0BCF0BD1-0BD60BD8-0BE50BFB-0C000C040C0D0C110C290C340C3A-0C3C0C450C490C4E-0C540C570C5A-0C5F0C640C650C70-0C770C800C810C840C8D0C910CA90CB40CBA0CBB0CC50CC90CCE-0CD40CD7-0CDD0CDF0CE40CE50CF00CF3-0D010D040D0D0D110D290D3A-0D3C0D450D490D4E-0D560D58-0D5F0D640D650D76-0D780D800D810D840D97-0D990DB20DBC0DBE0DBF0DC7-0DC90DCB-0DCE0DD50DD70DE0-0DF10DF5-0E000E3B-0E3E0E5C-0E800E830E850E860E890E8B0E8C0E8E-0E930E980EA00EA40EA60EA80EA90EAC0EBA0EBE0EBF0EC50EC70ECE0ECF0EDA0EDB0EDE-0EFF0F480F6D-0F700F8C-0F8F0F980FBD0FCD0FD9-0FFF10C6-10CF10FD-10FF1249124E124F12571259125E125F1289128E128F12B112B612B712BF12C112C612C712D7131113161317135B-135E137D-137F139A-139F13F5-13FF169D-169F16F1-16FF170D1715-171F1737-173F1754-175F176D17711774-177F17B417B517DE17DF17EA-17EF17FA-17FF180F181A-181F1878-187F18AB-18AF18F6-18FF191D-191F192C-192F193C-193F1941-1943196E196F1975-197F19AC-19AF19CA-19CF19DB-19DD1A1C1A1D1A5F1A7D1A7E1A8A-1A8F1A9A-1A9F1AAE-1AFF1B4C-1B4F1B7D-1B7F1BAB-1BAD1BBA-1BFF1C38-1C3A1C4A-1C4C1C80-1CCF1CF3-1CFF1DE7-1DFC1F161F171F1E1F1F1F461F471F4E1F4F1F581F5A1F5C1F5E1F7E1F7F1FB51FC51FD41FD51FDC1FF01FF11FF51FFF200B-200F202A-202E2060-206F20722073208F2095-209F20B9-20CF20F1-20FF218A-218F23E9-23FF2427-243F244B-245F26CE26E226E4-26E727002705270A270B2728274C274E2753-2755275F27602795-279727B027BF27CB27CD-27CF2B4D-2B4F2B5A-2BFF2C2F2C5F2CF2-2CF82D26-2D2F2D66-2D6E2D70-2D7F2D97-2D9F2DA72DAF2DB72DBF2DC72DCF2DD72DDF2E32-2E7F2E9A2EF4-2EFF2FD6-2FEF2FFC-2FFF3040309730983100-3104312E-3130318F31B8-31BF31E4-31EF321F32FF4DB6-4DBF9FCC-9FFFA48D-A48FA4C7-A4CFA62C-A63FA660A661A674-A67BA698-A69FA6F8-A6FFA78D-A7FAA82C-A82FA83A-A83FA878-A87FA8C5-A8CDA8DA-A8DFA8FC-A8FFA954-A95EA97D-A97FA9CEA9DA-A9DDA9E0-A9FFAA37-AA3FAA4EAA4FAA5AAA5BAA7C-AA7FAAC3-AADAAAE0-ABBFABEEABEFABFA-ABFFD7A4-D7AFD7C7-D7CAD7FC-F8FFFA2EFA2FFA6EFA6FFADA-FAFFFB07-FB12FB18-FB1CFB37FB3DFB3FFB42FB45FBB2-FBD2FD40-FD4FFD90FD91FDC8-FDEFFDFEFDFFFE1A-FE1FFE27-FE2FFE53FE67FE6C-FE6FFE75FEFD-FF00FFBF-FFC1FFC8FFC9FFD0FFD1FFD8FFD9FFDD-FFDFFFE7FFEF-FFFBFFFEFFFF\",\n Cc: \"0000-001F007F-009F\",\n Cf: \"00AD0600-060306DD070F17B417B5200B-200F202A-202E2060-2064206A-206FFEFFFFF9-FFFB\",\n Co: \"E000-F8FF\",\n Cs: \"D800-DFFF\",\n Cn: \"03780379037F-0383038B038D03A20526-05300557055805600588058B-059005C8-05CF05EB-05EF05F5-05FF06040605061C061D0620065F070E074B074C07B2-07BF07FB-07FF082E082F083F-08FF093A093B094F095609570973-097809800984098D098E0991099209A909B109B3-09B509BA09BB09C509C609C909CA09CF-09D609D8-09DB09DE09E409E509FC-0A000A040A0B-0A0E0A110A120A290A310A340A370A3A0A3B0A3D0A43-0A460A490A4A0A4E-0A500A52-0A580A5D0A5F-0A650A76-0A800A840A8E0A920AA90AB10AB40ABA0ABB0AC60ACA0ACE0ACF0AD1-0ADF0AE40AE50AF00AF2-0B000B040B0D0B0E0B110B120B290B310B340B3A0B3B0B450B460B490B4A0B4E-0B550B58-0B5B0B5E0B640B650B72-0B810B840B8B-0B8D0B910B96-0B980B9B0B9D0BA0-0BA20BA5-0BA70BAB-0BAD0BBA-0BBD0BC3-0BC50BC90BCE0BCF0BD1-0BD60BD8-0BE50BFB-0C000C040C0D0C110C290C340C3A-0C3C0C450C490C4E-0C540C570C5A-0C5F0C640C650C70-0C770C800C810C840C8D0C910CA90CB40CBA0CBB0CC50CC90CCE-0CD40CD7-0CDD0CDF0CE40CE50CF00CF3-0D010D040D0D0D110D290D3A-0D3C0D450D490D4E-0D560D58-0D5F0D640D650D76-0D780D800D810D840D97-0D990DB20DBC0DBE0DBF0DC7-0DC90DCB-0DCE0DD50DD70DE0-0DF10DF5-0E000E3B-0E3E0E5C-0E800E830E850E860E890E8B0E8C0E8E-0E930E980EA00EA40EA60EA80EA90EAC0EBA0EBE0EBF0EC50EC70ECE0ECF0EDA0EDB0EDE-0EFF0F480F6D-0F700F8C-0F8F0F980FBD0FCD0FD9-0FFF10C6-10CF10FD-10FF1249124E124F12571259125E125F1289128E128F12B112B612B712BF12C112C612C712D7131113161317135B-135E137D-137F139A-139F13F5-13FF169D-169F16F1-16FF170D1715-171F1737-173F1754-175F176D17711774-177F17DE17DF17EA-17EF17FA-17FF180F181A-181F1878-187F18AB-18AF18F6-18FF191D-191F192C-192F193C-193F1941-1943196E196F1975-197F19AC-19AF19CA-19CF19DB-19DD1A1C1A1D1A5F1A7D1A7E1A8A-1A8F1A9A-1A9F1AAE-1AFF1B4C-1B4F1B7D-1B7F1BAB-1BAD1BBA-1BFF1C38-1C3A1C4A-1C4C1C80-1CCF1CF3-1CFF1DE7-1DFC1F161F171F1E1F1F1F461F471F4E1F4F1F581F5A1F5C1F5E1F7E1F7F1FB51FC51FD41FD51FDC1FF01FF11FF51FFF2065-206920722073208F2095-209F20B9-20CF20F1-20FF218A-218F23E9-23FF2427-243F244B-245F26CE26E226E4-26E727002705270A270B2728274C274E2753-2755275F27602795-279727B027BF27CB27CD-27CF2B4D-2B4F2B5A-2BFF2C2F2C5F2CF2-2CF82D26-2D2F2D66-2D6E2D70-2D7F2D97-2D9F2DA72DAF2DB72DBF2DC72DCF2DD72DDF2E32-2E7F2E9A2EF4-2EFF2FD6-2FEF2FFC-2FFF3040309730983100-3104312E-3130318F31B8-31BF31E4-31EF321F32FF4DB6-4DBF9FCC-9FFFA48D-A48FA4C7-A4CFA62C-A63FA660A661A674-A67BA698-A69FA6F8-A6FFA78D-A7FAA82C-A82FA83A-A83FA878-A87FA8C5-A8CDA8DA-A8DFA8FC-A8FFA954-A95EA97D-A97FA9CEA9DA-A9DDA9E0-A9FFAA37-AA3FAA4EAA4FAA5AAA5BAA7C-AA7FAAC3-AADAAAE0-ABBFABEEABEFABFA-ABFFD7A4-D7AFD7C7-D7CAD7FC-D7FFFA2EFA2FFA6EFA6FFADA-FAFFFB07-FB12FB18-FB1CFB37FB3DFB3FFB42FB45FBB2-FBD2FD40-FD4FFD90FD91FDC8-FDEFFDFEFDFFFE1A-FE1FFE27-FE2FFE53FE67FE6C-FE6FFE75FEFDFEFEFF00FFBF-FFC1FFC8FFC9FFD0FFD1FFD8FFD9FFDD-FFDFFFE7FFEF-FFF8FFFEFFFF\"\n});\n\nfunction addUnicodePackage (pack) {\n var codePoint = /\\w{4}/g;\n for (var name in pack)\n exports.packages[name] = pack[name].replace(codePoint, \"\\\\u$&\");\n}\n\n});\n\nace.define(\"ace/token_iterator\",[\"require\",\"exports\",\"module\"], function(acequire, exports, module) {\n\"use strict\";\nvar TokenIterator = function(session, initialRow, initialColumn) {\n this.$session = session;\n this.$row = initialRow;\n this.$rowTokens = session.getTokens(initialRow);\n\n var token = session.getTokenAt(initialRow, initialColumn);\n this.$tokenIndex = token ? token.index : -1;\n};\n\n(function() { \n this.stepBackward = function() {\n this.$tokenIndex -= 1;\n \n while (this.$tokenIndex < 0) {\n this.$row -= 1;\n if (this.$row < 0) {\n this.$row = 0;\n return null;\n }\n \n this.$rowTokens = this.$session.getTokens(this.$row);\n this.$tokenIndex = this.$rowTokens.length - 1;\n }\n \n return this.$rowTokens[this.$tokenIndex];\n }; \n this.stepForward = function() {\n this.$tokenIndex += 1;\n var rowCount;\n while (this.$tokenIndex >= this.$rowTokens.length) {\n this.$row += 1;\n if (!rowCount)\n rowCount = this.$session.getLength();\n if (this.$row >= rowCount) {\n this.$row = rowCount - 1;\n return null;\n }\n\n this.$rowTokens = this.$session.getTokens(this.$row);\n this.$tokenIndex = 0;\n }\n \n return this.$rowTokens[this.$tokenIndex];\n }; \n this.getCurrentToken = function () {\n return this.$rowTokens[this.$tokenIndex];\n }; \n this.getCurrentTokenRow = function () {\n return this.$row;\n }; \n this.getCurrentTokenColumn = function() {\n var rowTokens = this.$rowTokens;\n var tokenIndex = this.$tokenIndex;\n var column = rowTokens[tokenIndex].start;\n if (column !== undefined)\n return column;\n \n column = 0;\n while (tokenIndex > 0) {\n tokenIndex -= 1;\n column += rowTokens[tokenIndex].value.length;\n }\n \n return column; \n };\n this.getCurrentTokenPosition = function() {\n return {row: this.$row, column: this.getCurrentTokenColumn()};\n };\n \n}).call(TokenIterator.prototype);\n\nexports.TokenIterator = TokenIterator;\n});\n\nace.define(\"ace/mode/text\",[\"require\",\"exports\",\"module\",\"ace/tokenizer\",\"ace/mode/text_highlight_rules\",\"ace/mode/behaviour\",\"ace/unicode\",\"ace/lib/lang\",\"ace/token_iterator\",\"ace/range\"], function(acequire, exports, module) {\n\"use strict\";\n\nvar Tokenizer = acequire(\"../tokenizer\").Tokenizer;\nvar TextHighlightRules = acequire(\"./text_highlight_rules\").TextHighlightRules;\nvar Behaviour = acequire(\"./behaviour\").Behaviour;\nvar unicode = acequire(\"../unicode\");\nvar lang = acequire(\"../lib/lang\");\nvar TokenIterator = acequire(\"../token_iterator\").TokenIterator;\nvar Range = acequire(\"../range\").Range;\n\nvar Mode = function() {\n this.HighlightRules = TextHighlightRules;\n this.$behaviour = new Behaviour();\n};\n\n(function() {\n\n this.tokenRe = new RegExp(\"^[\"\n + unicode.packages.L\n + unicode.packages.Mn + unicode.packages.Mc\n + unicode.packages.Nd\n + unicode.packages.Pc + \"\\\\$_]+\", \"g\"\n );\n\n this.nonTokenRe = new RegExp(\"^(?:[^\"\n + unicode.packages.L\n + unicode.packages.Mn + unicode.packages.Mc\n + unicode.packages.Nd\n + unicode.packages.Pc + \"\\\\$_]|\\\\s])+\", \"g\"\n );\n\n this.getTokenizer = function() {\n if (!this.$tokenizer) {\n this.$highlightRules = this.$highlightRules || new this.HighlightRules();\n this.$tokenizer = new Tokenizer(this.$highlightRules.getRules());\n }\n return this.$tokenizer;\n };\n\n this.lineCommentStart = \"\";\n this.blockComment = \"\";\n\n this.toggleCommentLines = function(state, session, startRow, endRow) {\n var doc = session.doc;\n\n var ignoreBlankLines = true;\n var shouldRemove = true;\n var minIndent = Infinity;\n var tabSize = session.getTabSize();\n var insertAtTabStop = false;\n\n if (!this.lineCommentStart) {\n if (!this.blockComment)\n return false;\n var lineCommentStart = this.blockComment.start;\n var lineCommentEnd = this.blockComment.end;\n var regexpStart = new RegExp(\"^(\\\\s*)(?:\" + lang.escapeRegExp(lineCommentStart) + \")\");\n var regexpEnd = new RegExp(\"(?:\" + lang.escapeRegExp(lineCommentEnd) + \")\\\\s*$\");\n\n var comment = function(line, i) {\n if (testRemove(line, i))\n return;\n if (!ignoreBlankLines || /\\S/.test(line)) {\n doc.insertInLine({row: i, column: line.length}, lineCommentEnd);\n doc.insertInLine({row: i, column: minIndent}, lineCommentStart);\n }\n };\n\n var uncomment = function(line, i) {\n var m;\n if (m = line.match(regexpEnd))\n doc.removeInLine(i, line.length - m[0].length, line.length);\n if (m = line.match(regexpStart))\n doc.removeInLine(i, m[1].length, m[0].length);\n };\n\n var testRemove = function(line, row) {\n if (regexpStart.test(line))\n return true;\n var tokens = session.getTokens(row);\n for (var i = 0; i < tokens.length; i++) {\n if (tokens[i].type === \"comment\")\n return true;\n }\n };\n } else {\n if (Array.isArray(this.lineCommentStart)) {\n var regexpStart = this.lineCommentStart.map(lang.escapeRegExp).join(\"|\");\n var lineCommentStart = this.lineCommentStart[0];\n } else {\n var regexpStart = lang.escapeRegExp(this.lineCommentStart);\n var lineCommentStart = this.lineCommentStart;\n }\n regexpStart = new RegExp(\"^(\\\\s*)(?:\" + regexpStart + \") ?\");\n \n insertAtTabStop = session.getUseSoftTabs();\n\n var uncomment = function(line, i) {\n var m = line.match(regexpStart);\n if (!m) return;\n var start = m[1].length, end = m[0].length;\n if (!shouldInsertSpace(line, start, end) && m[0][end - 1] == \" \")\n end--;\n doc.removeInLine(i, start, end);\n };\n var commentWithSpace = lineCommentStart + \" \";\n var comment = function(line, i) {\n if (!ignoreBlankLines || /\\S/.test(line)) {\n if (shouldInsertSpace(line, minIndent, minIndent))\n doc.insertInLine({row: i, column: minIndent}, commentWithSpace);\n else\n doc.insertInLine({row: i, column: minIndent}, lineCommentStart);\n }\n };\n var testRemove = function(line, i) {\n return regexpStart.test(line);\n };\n \n var shouldInsertSpace = function(line, before, after) {\n var spaces = 0;\n while (before-- && line.charAt(before) == \" \")\n spaces++;\n if (spaces % tabSize != 0)\n return false;\n var spaces = 0;\n while (line.charAt(after++) == \" \")\n spaces++;\n if (tabSize > 2)\n return spaces % tabSize != tabSize - 1;\n else\n return spaces % tabSize == 0;\n return true;\n };\n }\n\n function iter(fun) {\n for (var i = startRow; i <= endRow; i++)\n fun(doc.getLine(i), i);\n }\n\n\n var minEmptyLength = Infinity;\n iter(function(line, i) {\n var indent = line.search(/\\S/);\n if (indent !== -1) {\n if (indent < minIndent)\n minIndent = indent;\n if (shouldRemove && !testRemove(line, i))\n shouldRemove = false;\n } else if (minEmptyLength > line.length) {\n minEmptyLength = line.length;\n }\n });\n\n if (minIndent == Infinity) {\n minIndent = minEmptyLength;\n ignoreBlankLines = false;\n shouldRemove = false;\n }\n\n if (insertAtTabStop && minIndent % tabSize != 0)\n minIndent = Math.floor(minIndent / tabSize) * tabSize;\n\n iter(shouldRemove ? uncomment : comment);\n };\n\n this.toggleBlockComment = function(state, session, range, cursor) {\n var comment = this.blockComment;\n if (!comment)\n return;\n if (!comment.start && comment[0])\n comment = comment[0];\n\n var iterator = new TokenIterator(session, cursor.row, cursor.column);\n var token = iterator.getCurrentToken();\n\n var sel = session.selection;\n var initialRange = session.selection.toOrientedRange();\n var startRow, colDiff;\n\n if (token && /comment/.test(token.type)) {\n var startRange, endRange;\n while (token && /comment/.test(token.type)) {\n var i = token.value.indexOf(comment.start);\n if (i != -1) {\n var row = iterator.getCurrentTokenRow();\n var column = iterator.getCurrentTokenColumn() + i;\n startRange = new Range(row, column, row, column + comment.start.length);\n break;\n }\n token = iterator.stepBackward();\n }\n\n var iterator = new TokenIterator(session, cursor.row, cursor.column);\n var token = iterator.getCurrentToken();\n while (token && /comment/.test(token.type)) {\n var i = token.value.indexOf(comment.end);\n if (i != -1) {\n var row = iterator.getCurrentTokenRow();\n var column = iterator.getCurrentTokenColumn() + i;\n endRange = new Range(row, column, row, column + comment.end.length);\n break;\n }\n token = iterator.stepForward();\n }\n if (endRange)\n session.remove(endRange);\n if (startRange) {\n session.remove(startRange);\n startRow = startRange.start.row;\n colDiff = -comment.start.length;\n }\n } else {\n colDiff = comment.start.length;\n startRow = range.start.row;\n session.insert(range.end, comment.end);\n session.insert(range.start, comment.start);\n }\n if (initialRange.start.row == startRow)\n initialRange.start.column += colDiff;\n if (initialRange.end.row == startRow)\n initialRange.end.column += colDiff;\n session.selection.fromOrientedRange(initialRange);\n };\n\n this.getNextLineIndent = function(state, line, tab) {\n return this.$getIndent(line);\n };\n\n this.checkOutdent = function(state, line, input) {\n return false;\n };\n\n this.autoOutdent = function(state, doc, row) {\n };\n\n this.$getIndent = function(line) {\n return line.match(/^\\s*/)[0];\n };\n\n this.createWorker = function(session) {\n return null;\n };\n\n this.createModeDelegates = function (mapping) {\n this.$embeds = [];\n this.$modes = {};\n for (var i in mapping) {\n if (mapping[i]) {\n this.$embeds.push(i);\n this.$modes[i] = new mapping[i]();\n }\n }\n\n var delegations = [\"toggleBlockComment\", \"toggleCommentLines\", \"getNextLineIndent\", \n \"checkOutdent\", \"autoOutdent\", \"transformAction\", \"getCompletions\"];\n\n for (var i = 0; i < delegations.length; i++) {\n (function(scope) {\n var functionName = delegations[i];\n var defaultHandler = scope[functionName];\n scope[delegations[i]] = function() {\n return this.$delegator(functionName, arguments, defaultHandler);\n };\n }(this));\n }\n };\n\n this.$delegator = function(method, args, defaultHandler) {\n var state = args[0];\n if (typeof state != \"string\")\n state = state[0];\n for (var i = 0; i < this.$embeds.length; i++) {\n if (!this.$modes[this.$embeds[i]]) continue;\n\n var split = state.split(this.$embeds[i]);\n if (!split[0] && split[1]) {\n args[0] = split[1];\n var mode = this.$modes[this.$embeds[i]];\n return mode[method].apply(mode, args);\n }\n }\n var ret = defaultHandler.apply(this, args);\n return defaultHandler ? ret : undefined;\n };\n\n this.transformAction = function(state, action, editor, session, param) {\n if (this.$behaviour) {\n var behaviours = this.$behaviour.getBehaviours();\n for (var key in behaviours) {\n if (behaviours[key][action]) {\n var ret = behaviours[key][action].apply(this, arguments);\n if (ret) {\n return ret;\n }\n }\n }\n }\n };\n \n this.getKeywords = function(append) {\n if (!this.completionKeywords) {\n var rules = this.$tokenizer.rules;\n var completionKeywords = [];\n for (var rule in rules) {\n var ruleItr = rules[rule];\n for (var r = 0, l = ruleItr.length; r < l; r++) {\n if (typeof ruleItr[r].token === \"string\") {\n if (/keyword|support|storage/.test(ruleItr[r].token))\n completionKeywords.push(ruleItr[r].regex);\n }\n else if (typeof ruleItr[r].token === \"object\") {\n for (var a = 0, aLength = ruleItr[r].token.length; a < aLength; a++) { \n if (/keyword|support|storage/.test(ruleItr[r].token[a])) {\n var rule = ruleItr[r].regex.match(/\\(.+?\\)/g)[a];\n completionKeywords.push(rule.substr(1, rule.length - 2));\n }\n }\n }\n }\n }\n this.completionKeywords = completionKeywords;\n }\n if (!append)\n return this.$keywordList;\n return completionKeywords.concat(this.$keywordList || []);\n };\n \n this.$createKeywordList = function() {\n if (!this.$highlightRules)\n this.getTokenizer();\n return this.$keywordList = this.$highlightRules.$keywordList || [];\n };\n\n this.getCompletions = function(state, session, pos, prefix) {\n var keywords = this.$keywordList || this.$createKeywordList();\n return keywords.map(function(word) {\n return {\n name: word,\n value: word,\n score: 0,\n meta: \"keyword\"\n };\n });\n };\n\n this.$id = \"ace/mode/text\";\n}).call(Mode.prototype);\n\nexports.Mode = Mode;\n});\n\nace.define(\"ace/apply_delta\",[\"require\",\"exports\",\"module\"], function(acequire, exports, module) {\n\"use strict\";\n\nfunction throwDeltaError(delta, errorText){\n console.log(\"Invalid Delta:\", delta);\n throw \"Invalid Delta: \" + errorText;\n}\n\nfunction positionInDocument(docLines, position) {\n return position.row >= 0 && position.row < docLines.length &&\n position.column >= 0 && position.column <= docLines[position.row].length;\n}\n\nfunction validateDelta(docLines, delta) {\n if (delta.action != \"insert\" && delta.action != \"remove\")\n throwDeltaError(delta, \"delta.action must be 'insert' or 'remove'\");\n if (!(delta.lines instanceof Array))\n throwDeltaError(delta, \"delta.lines must be an Array\");\n if (!delta.start || !delta.end)\n throwDeltaError(delta, \"delta.start/end must be an present\");\n var start = delta.start;\n if (!positionInDocument(docLines, delta.start))\n throwDeltaError(delta, \"delta.start must be contained in document\");\n var end = delta.end;\n if (delta.action == \"remove\" && !positionInDocument(docLines, end))\n throwDeltaError(delta, \"delta.end must contained in document for 'remove' actions\");\n var numRangeRows = end.row - start.row;\n var numRangeLastLineChars = (end.column - (numRangeRows == 0 ? start.column : 0));\n if (numRangeRows != delta.lines.length - 1 || delta.lines[numRangeRows].length != numRangeLastLineChars)\n throwDeltaError(delta, \"delta.range must match delta lines\");\n}\n\nexports.applyDelta = function(docLines, delta, doNotValidate) {\n \n var row = delta.start.row;\n var startColumn = delta.start.column;\n var line = docLines[row] || \"\";\n switch (delta.action) {\n case \"insert\":\n var lines = delta.lines;\n if (lines.length === 1) {\n docLines[row] = line.substring(0, startColumn) + delta.lines[0] + line.substring(startColumn);\n } else {\n var args = [row, 1].concat(delta.lines);\n docLines.splice.apply(docLines, args);\n docLines[row] = line.substring(0, startColumn) + docLines[row];\n docLines[row + delta.lines.length - 1] += line.substring(startColumn);\n }\n break;\n case \"remove\":\n var endColumn = delta.end.column;\n var endRow = delta.end.row;\n if (row === endRow) {\n docLines[row] = line.substring(0, startColumn) + line.substring(endColumn);\n } else {\n docLines.splice(\n row, endRow - row + 1,\n line.substring(0, startColumn) + docLines[endRow].substring(endColumn)\n );\n }\n break;\n }\n}\n});\n\nace.define(\"ace/anchor\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/lib/event_emitter\"], function(acequire, exports, module) {\n\"use strict\";\n\nvar oop = acequire(\"./lib/oop\");\nvar EventEmitter = acequire(\"./lib/event_emitter\").EventEmitter;\n\nvar Anchor = exports.Anchor = function(doc, row, column) {\n this.$onChange = this.onChange.bind(this);\n this.attach(doc);\n \n if (typeof column == \"undefined\")\n this.setPosition(row.row, row.column);\n else\n this.setPosition(row, column);\n};\n\n(function() {\n\n oop.implement(this, EventEmitter);\n this.getPosition = function() {\n return this.$clipPositionToDocument(this.row, this.column);\n };\n this.getDocument = function() {\n return this.document;\n };\n this.$insertRight = false;\n this.onChange = function(delta) {\n if (delta.start.row == delta.end.row && delta.start.row != this.row)\n return;\n\n if (delta.start.row > this.row)\n return;\n \n var point = $getTransformedPoint(delta, {row: this.row, column: this.column}, this.$insertRight);\n this.setPosition(point.row, point.column, true);\n };\n \n function $pointsInOrder(point1, point2, equalPointsInOrder) {\n var bColIsAfter = equalPointsInOrder ? point1.column <= point2.column : point1.column < point2.column;\n return (point1.row < point2.row) || (point1.row == point2.row && bColIsAfter);\n }\n \n function $getTransformedPoint(delta, point, moveIfEqual) {\n var deltaIsInsert = delta.action == \"insert\";\n var deltaRowShift = (deltaIsInsert ? 1 : -1) * (delta.end.row - delta.start.row);\n var deltaColShift = (deltaIsInsert ? 1 : -1) * (delta.end.column - delta.start.column);\n var deltaStart = delta.start;\n var deltaEnd = deltaIsInsert ? deltaStart : delta.end; // Collapse insert range.\n if ($pointsInOrder(point, deltaStart, moveIfEqual)) {\n return {\n row: point.row,\n column: point.column\n };\n }\n if ($pointsInOrder(deltaEnd, point, !moveIfEqual)) {\n return {\n row: point.row + deltaRowShift,\n column: point.column + (point.row == deltaEnd.row ? deltaColShift : 0)\n };\n }\n \n return {\n row: deltaStart.row,\n column: deltaStart.column\n };\n }\n this.setPosition = function(row, column, noClip) {\n var pos;\n if (noClip) {\n pos = {\n row: row,\n column: column\n };\n } else {\n pos = this.$clipPositionToDocument(row, column);\n }\n\n if (this.row == pos.row && this.column == pos.column)\n return;\n\n var old = {\n row: this.row,\n column: this.column\n };\n\n this.row = pos.row;\n this.column = pos.column;\n this._signal(\"change\", {\n old: old,\n value: pos\n });\n };\n this.detach = function() {\n this.document.removeEventListener(\"change\", this.$onChange);\n };\n this.attach = function(doc) {\n this.document = doc || this.document;\n this.document.on(\"change\", this.$onChange);\n };\n this.$clipPositionToDocument = function(row, column) {\n var pos = {};\n\n if (row >= this.document.getLength()) {\n pos.row = Math.max(0, this.document.getLength() - 1);\n pos.column = this.document.getLine(pos.row).length;\n }\n else if (row < 0) {\n pos.row = 0;\n pos.column = 0;\n }\n else {\n pos.row = row;\n pos.column = Math.min(this.document.getLine(pos.row).length, Math.max(0, column));\n }\n\n if (column < 0)\n pos.column = 0;\n\n return pos;\n };\n\n}).call(Anchor.prototype);\n\n});\n\nace.define(\"ace/document\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/apply_delta\",\"ace/lib/event_emitter\",\"ace/range\",\"ace/anchor\"], function(acequire, exports, module) {\n\"use strict\";\n\nvar oop = acequire(\"./lib/oop\");\nvar applyDelta = acequire(\"./apply_delta\").applyDelta;\nvar EventEmitter = acequire(\"./lib/event_emitter\").EventEmitter;\nvar Range = acequire(\"./range\").Range;\nvar Anchor = acequire(\"./anchor\").Anchor;\n\nvar Document = function(textOrLines) {\n this.$lines = [\"\"];\n if (textOrLines.length === 0) {\n this.$lines = [\"\"];\n } else if (Array.isArray(textOrLines)) {\n this.insertMergedLines({row: 0, column: 0}, textOrLines);\n } else {\n this.insert({row: 0, column:0}, textOrLines);\n }\n};\n\n(function() {\n\n oop.implement(this, EventEmitter);\n this.setValue = function(text) {\n var len = this.getLength() - 1;\n this.remove(new Range(0, 0, len, this.getLine(len).length));\n this.insert({row: 0, column: 0}, text);\n };\n this.getValue = function() {\n return this.getAllLines().join(this.getNewLineCharacter());\n };\n this.createAnchor = function(row, column) {\n return new Anchor(this, row, column);\n };\n if (\"aaa\".split(/a/).length === 0) {\n this.$split = function(text) {\n return text.replace(/\\r\\n|\\r/g, \"\\n\").split(\"\\n\");\n };\n } else {\n this.$split = function(text) {\n return text.split(/\\r\\n|\\r|\\n/);\n };\n }\n\n\n this.$detectNewLine = function(text) {\n var match = text.match(/^.*?(\\r\\n|\\r|\\n)/m);\n this.$autoNewLine = match ? match[1] : \"\\n\";\n this._signal(\"changeNewLineMode\");\n };\n this.getNewLineCharacter = function() {\n switch (this.$newLineMode) {\n case \"windows\":\n return \"\\r\\n\";\n case \"unix\":\n return \"\\n\";\n default:\n return this.$autoNewLine || \"\\n\";\n }\n };\n\n this.$autoNewLine = \"\";\n this.$newLineMode = \"auto\";\n this.setNewLineMode = function(newLineMode) {\n if (this.$newLineMode === newLineMode)\n return;\n\n this.$newLineMode = newLineMode;\n this._signal(\"changeNewLineMode\");\n };\n this.getNewLineMode = function() {\n return this.$newLineMode;\n };\n this.isNewLine = function(text) {\n return (text == \"\\r\\n\" || text == \"\\r\" || text == \"\\n\");\n };\n this.getLine = function(row) {\n return this.$lines[row] || \"\";\n };\n this.getLines = function(firstRow, lastRow) {\n return this.$lines.slice(firstRow, lastRow + 1);\n };\n this.getAllLines = function() {\n return this.getLines(0, this.getLength());\n };\n this.getLength = function() {\n return this.$lines.length;\n };\n this.getTextRange = function(range) {\n return this.getLinesForRange(range).join(this.getNewLineCharacter());\n };\n this.getLinesForRange = function(range) {\n var lines;\n if (range.start.row === range.end.row) {\n lines = [this.getLine(range.start.row).substring(range.start.column, range.end.column)];\n } else {\n lines = this.getLines(range.start.row, range.end.row);\n lines[0] = (lines[0] || \"\").substring(range.start.column);\n var l = lines.length - 1;\n if (range.end.row - range.start.row == l)\n lines[l] = lines[l].substring(0, range.end.column);\n }\n return lines;\n };\n this.insertLines = function(row, lines) {\n console.warn(\"Use of document.insertLines is deprecated. Use the insertFullLines method instead.\");\n return this.insertFullLines(row, lines);\n };\n this.removeLines = function(firstRow, lastRow) {\n console.warn(\"Use of document.removeLines is deprecated. Use the removeFullLines method instead.\");\n return this.removeFullLines(firstRow, lastRow);\n };\n this.insertNewLine = function(position) {\n console.warn(\"Use of document.insertNewLine is deprecated. Use insertMergedLines(position, [\\'\\', \\'\\']) instead.\");\n return this.insertMergedLines(position, [\"\", \"\"]);\n };\n this.insert = function(position, text) {\n if (this.getLength() <= 1)\n this.$detectNewLine(text);\n \n return this.insertMergedLines(position, this.$split(text));\n };\n this.insertInLine = function(position, text) {\n var start = this.clippedPos(position.row, position.column);\n var end = this.pos(position.row, position.column + text.length);\n \n this.applyDelta({\n start: start,\n end: end,\n action: \"insert\",\n lines: [text]\n }, true);\n \n return this.clonePos(end);\n };\n \n this.clippedPos = function(row, column) {\n var length = this.getLength();\n if (row === undefined) {\n row = length;\n } else if (row < 0) {\n row = 0;\n } else if (row >= length) {\n row = length - 1;\n column = undefined;\n }\n var line = this.getLine(row);\n if (column == undefined)\n column = line.length;\n column = Math.min(Math.max(column, 0), line.length);\n return {row: row, column: column};\n };\n \n this.clonePos = function(pos) {\n return {row: pos.row, column: pos.column};\n };\n \n this.pos = function(row, column) {\n return {row: row, column: column};\n };\n \n this.$clipPosition = function(position) {\n var length = this.getLength();\n if (position.row >= length) {\n position.row = Math.max(0, length - 1);\n position.column = this.getLine(length - 1).length;\n } else {\n position.row = Math.max(0, position.row);\n position.column = Math.min(Math.max(position.column, 0), this.getLine(position.row).length);\n }\n return position;\n };\n this.insertFullLines = function(row, lines) {\n row = Math.min(Math.max(row, 0), this.getLength());\n var column = 0;\n if (row < this.getLength()) {\n lines = lines.concat([\"\"]);\n column = 0;\n } else {\n lines = [\"\"].concat(lines);\n row--;\n column = this.$lines[row].length;\n }\n this.insertMergedLines({row: row, column: column}, lines);\n }; \n this.insertMergedLines = function(position, lines) {\n var start = this.clippedPos(position.row, position.column);\n var end = {\n row: start.row + lines.length - 1,\n column: (lines.length == 1 ? start.column : 0) + lines[lines.length - 1].length\n };\n \n this.applyDelta({\n start: start,\n end: end,\n action: \"insert\",\n lines: lines\n });\n \n return this.clonePos(end);\n };\n this.remove = function(range) {\n var start = this.clippedPos(range.start.row, range.start.column);\n var end = this.clippedPos(range.end.row, range.end.column);\n this.applyDelta({\n start: start,\n end: end,\n action: \"remove\",\n lines: this.getLinesForRange({start: start, end: end})\n });\n return this.clonePos(start);\n };\n this.removeInLine = function(row, startColumn, endColumn) {\n var start = this.clippedPos(row, startColumn);\n var end = this.clippedPos(row, endColumn);\n \n this.applyDelta({\n start: start,\n end: end,\n action: \"remove\",\n lines: this.getLinesForRange({start: start, end: end})\n }, true);\n \n return this.clonePos(start);\n };\n this.removeFullLines = function(firstRow, lastRow) {\n firstRow = Math.min(Math.max(0, firstRow), this.getLength() - 1);\n lastRow = Math.min(Math.max(0, lastRow ), this.getLength() - 1);\n var deleteFirstNewLine = lastRow == this.getLength() - 1 && firstRow > 0;\n var deleteLastNewLine = lastRow < this.getLength() - 1;\n var startRow = ( deleteFirstNewLine ? firstRow - 1 : firstRow );\n var startCol = ( deleteFirstNewLine ? this.getLine(startRow).length : 0 );\n var endRow = ( deleteLastNewLine ? lastRow + 1 : lastRow );\n var endCol = ( deleteLastNewLine ? 0 : this.getLine(endRow).length ); \n var range = new Range(startRow, startCol, endRow, endCol);\n var deletedLines = this.$lines.slice(firstRow, lastRow + 1);\n \n this.applyDelta({\n start: range.start,\n end: range.end,\n action: \"remove\",\n lines: this.getLinesForRange(range)\n });\n return deletedLines;\n };\n this.removeNewLine = function(row) {\n if (row < this.getLength() - 1 && row >= 0) {\n this.applyDelta({\n start: this.pos(row, this.getLine(row).length),\n end: this.pos(row + 1, 0),\n action: \"remove\",\n lines: [\"\", \"\"]\n });\n }\n };\n this.replace = function(range, text) {\n if (!(range instanceof Range))\n range = Range.fromPoints(range.start, range.end);\n if (text.length === 0 && range.isEmpty())\n return range.start;\n if (text == this.getTextRange(range))\n return range.end;\n\n this.remove(range);\n var end;\n if (text) {\n end = this.insert(range.start, text);\n }\n else {\n end = range.start;\n }\n \n return end;\n };\n this.applyDeltas = function(deltas) {\n for (var i=0; i<deltas.length; i++) {\n this.applyDelta(deltas[i]);\n }\n };\n this.revertDeltas = function(deltas) {\n for (var i=deltas.length-1; i>=0; i--) {\n this.revertDelta(deltas[i]);\n }\n };\n this.applyDelta = function(delta, doNotValidate) {\n var isInsert = delta.action == \"insert\";\n if (isInsert ? delta.lines.length <= 1 && !delta.lines[0]\n : !Range.comparePoints(delta.start, delta.end)) {\n return;\n }\n \n if (isInsert && delta.lines.length > 20000)\n this.$splitAndapplyLargeDelta(delta, 20000);\n applyDelta(this.$lines, delta, doNotValidate);\n this._signal(\"change\", delta);\n };\n \n this.$splitAndapplyLargeDelta = function(delta, MAX) {\n var lines = delta.lines;\n var l = lines.length;\n var row = delta.start.row; \n var column = delta.start.column;\n var from = 0, to = 0;\n do {\n from = to;\n to += MAX - 1;\n var chunk = lines.slice(from, to);\n if (to > l) {\n delta.lines = chunk;\n delta.start.row = row + from;\n delta.start.column = column;\n break;\n }\n chunk.push(\"\");\n this.applyDelta({\n start: this.pos(row + from, column),\n end: this.pos(row + to, column = 0),\n action: delta.action,\n lines: chunk\n }, true);\n } while(true);\n };\n this.revertDelta = function(delta) {\n this.applyDelta({\n start: this.clonePos(delta.start),\n end: this.clonePos(delta.end),\n action: (delta.action == \"insert\" ? \"remove\" : \"insert\"),\n lines: delta.lines.slice()\n });\n };\n this.indexToPosition = function(index, startRow) {\n var lines = this.$lines || this.getAllLines();\n var newlineLength = this.getNewLineCharacter().length;\n for (var i = startRow || 0, l = lines.length; i < l; i++) {\n index -= lines[i].length + newlineLength;\n if (index < 0)\n return {row: i, column: index + lines[i].length + newlineLength};\n }\n return {row: l-1, column: lines[l-1].length};\n };\n this.positionToIndex = function(pos, startRow) {\n var lines = this.$lines || this.getAllLines();\n var newlineLength = this.getNewLineCharacter().length;\n var index = 0;\n var row = Math.min(pos.row, lines.length);\n for (var i = startRow || 0; i < row; ++i)\n index += lines[i].length + newlineLength;\n\n return index + pos.column;\n };\n\n}).call(Document.prototype);\n\nexports.Document = Document;\n});\n\nace.define(\"ace/background_tokenizer\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/lib/event_emitter\"], function(acequire, exports, module) {\n\"use strict\";\n\nvar oop = acequire(\"./lib/oop\");\nvar EventEmitter = acequire(\"./lib/event_emitter\").EventEmitter;\n\nvar BackgroundTokenizer = function(tokenizer, editor) {\n this.running = false;\n this.lines = [];\n this.states = [];\n this.currentLine = 0;\n this.tokenizer = tokenizer;\n\n var self = this;\n\n this.$worker = function() {\n if (!self.running) { return; }\n\n var workerStart = new Date();\n var currentLine = self.currentLine;\n var endLine = -1;\n var doc = self.doc;\n\n var startLine = currentLine;\n while (self.lines[currentLine])\n currentLine++;\n \n var len = doc.getLength();\n var processedLines = 0;\n self.running = false;\n while (currentLine < len) {\n self.$tokenizeRow(currentLine);\n endLine = currentLine;\n do {\n currentLine++;\n } while (self.lines[currentLine]);\n processedLines ++;\n if ((processedLines % 5 === 0) && (new Date() - workerStart) > 20) { \n self.running = setTimeout(self.$worker, 20);\n break;\n }\n }\n self.currentLine = currentLine;\n \n if (startLine <= endLine)\n self.fireUpdateEvent(startLine, endLine);\n };\n};\n\n(function(){\n\n oop.implement(this, EventEmitter);\n this.setTokenizer = function(tokenizer) {\n this.tokenizer = tokenizer;\n this.lines = [];\n this.states = [];\n\n this.start(0);\n };\n this.setDocument = function(doc) {\n this.doc = doc;\n this.lines = [];\n this.states = [];\n\n this.stop();\n };\n this.fireUpdateEvent = function(firstRow, lastRow) {\n var data = {\n first: firstRow,\n last: lastRow\n };\n this._signal(\"update\", {data: data});\n };\n this.start = function(startRow) {\n this.currentLine = Math.min(startRow || 0, this.currentLine, this.doc.getLength());\n this.lines.splice(this.currentLine, this.lines.length);\n this.states.splice(this.currentLine, this.states.length);\n\n this.stop();\n this.running = setTimeout(this.$worker, 700);\n };\n \n this.scheduleStart = function() {\n if (!this.running)\n this.running = setTimeout(this.$worker, 700);\n }\n\n this.$updateOnChange = function(delta) {\n var startRow = delta.start.row;\n var len = delta.end.row - startRow;\n\n if (len === 0) {\n this.lines[startRow] = null;\n } else if (delta.action == \"remove\") {\n this.lines.splice(startRow, len + 1, null);\n this.states.splice(startRow, len + 1, null);\n } else {\n var args = Array(len + 1);\n args.unshift(startRow, 1);\n this.lines.splice.apply(this.lines, args);\n this.states.splice.apply(this.states, args);\n }\n\n this.currentLine = Math.min(startRow, this.currentLine, this.doc.getLength());\n\n this.stop();\n };\n this.stop = function() {\n if (this.running)\n clearTimeout(this.running);\n this.running = false;\n };\n this.getTokens = function(row) {\n return this.lines[row] || this.$tokenizeRow(row);\n };\n this.getState = function(row) {\n if (this.currentLine == row)\n this.$tokenizeRow(row);\n return this.states[row] || \"start\";\n };\n\n this.$tokenizeRow = function(row) {\n var line = this.doc.getLine(row);\n var state = this.states[row - 1];\n\n var data = this.tokenizer.getLineTokens(line, state, row);\n\n if (this.states[row] + \"\" !== data.state + \"\") {\n this.states[row] = data.state;\n this.lines[row + 1] = null;\n if (this.currentLine > row + 1)\n this.currentLine = row + 1;\n } else if (this.currentLine == row) {\n this.currentLine = row + 1;\n }\n\n return this.lines[row] = data.tokens;\n };\n\n}).call(BackgroundTokenizer.prototype);\n\nexports.BackgroundTokenizer = BackgroundTokenizer;\n});\n\nace.define(\"ace/search_highlight\",[\"require\",\"exports\",\"module\",\"ace/lib/lang\",\"ace/lib/oop\",\"ace/range\"], function(acequire, exports, module) {\n\"use strict\";\n\nvar lang = acequire(\"./lib/lang\");\nvar oop = acequire(\"./lib/oop\");\nvar Range = acequire(\"./range\").Range;\n\nvar SearchHighlight = function(regExp, clazz, type) {\n this.setRegexp(regExp);\n this.clazz = clazz;\n this.type = type || \"text\";\n};\n\n(function() {\n this.MAX_RANGES = 500;\n \n this.setRegexp = function(regExp) {\n if (this.regExp+\"\" == regExp+\"\")\n return;\n this.regExp = regExp;\n this.cache = [];\n };\n\n this.update = function(html, markerLayer, session, config) {\n if (!this.regExp)\n return;\n var start = config.firstRow, end = config.lastRow;\n\n for (var i = start; i <= end; i++) {\n var ranges = this.cache[i];\n if (ranges == null) {\n ranges = lang.getMatchOffsets(session.getLine(i), this.regExp);\n if (ranges.length > this.MAX_RANGES)\n ranges = ranges.slice(0, this.MAX_RANGES);\n ranges = ranges.map(function(match) {\n return new Range(i, match.offset, i, match.offset + match.length);\n });\n this.cache[i] = ranges.length ? ranges : \"\";\n }\n\n for (var j = ranges.length; j --; ) {\n markerLayer.drawSingleLineMarker(\n html, ranges[j].toScreenRange(session), this.clazz, config);\n }\n }\n };\n\n}).call(SearchHighlight.prototype);\n\nexports.SearchHighlight = SearchHighlight;\n});\n\nace.define(\"ace/edit_session/fold_line\",[\"require\",\"exports\",\"module\",\"ace/range\"], function(acequire, exports, module) {\n\"use strict\";\n\nvar Range = acequire(\"../range\").Range;\nfunction FoldLine(foldData, folds) {\n this.foldData = foldData;\n if (Array.isArray(folds)) {\n this.folds = folds;\n } else {\n folds = this.folds = [ folds ];\n }\n\n var last = folds[folds.length - 1];\n this.range = new Range(folds[0].start.row, folds[0].start.column,\n last.end.row, last.end.column);\n this.start = this.range.start;\n this.end = this.range.end;\n\n this.folds.forEach(function(fold) {\n fold.setFoldLine(this);\n }, this);\n}\n\n(function() {\n this.shiftRow = function(shift) {\n this.start.row += shift;\n this.end.row += shift;\n this.folds.forEach(function(fold) {\n fold.start.row += shift;\n fold.end.row += shift;\n });\n };\n\n this.addFold = function(fold) {\n if (fold.sameRow) {\n if (fold.start.row < this.startRow || fold.endRow > this.endRow) {\n throw new Error(\"Can't add a fold to this FoldLine as it has no connection\");\n }\n this.folds.push(fold);\n this.folds.sort(function(a, b) {\n return -a.range.compareEnd(b.start.row, b.start.column);\n });\n if (this.range.compareEnd(fold.start.row, fold.start.column) > 0) {\n this.end.row = fold.end.row;\n this.end.column = fold.end.column;\n } else if (this.range.compareStart(fold.end.row, fold.end.column) < 0) {\n this.start.row = fold.start.row;\n this.start.column = fold.start.column;\n }\n } else if (fold.start.row == this.end.row) {\n this.folds.push(fold);\n this.end.row = fold.end.row;\n this.end.column = fold.end.column;\n } else if (fold.end.row == this.start.row) {\n this.folds.unshift(fold);\n this.start.row = fold.start.row;\n this.start.column = fold.start.column;\n } else {\n throw new Error(\"Trying to add fold to FoldRow that doesn't have a matching row\");\n }\n fold.foldLine = this;\n };\n\n this.containsRow = function(row) {\n return row >= this.start.row && row <= this.end.row;\n };\n\n this.walk = function(callback, endRow, endColumn) {\n var lastEnd = 0,\n folds = this.folds,\n fold,\n cmp, stop, isNewRow = true;\n\n if (endRow == null) {\n endRow = this.end.row;\n endColumn = this.end.column;\n }\n\n for (var i = 0; i < folds.length; i++) {\n fold = folds[i];\n\n cmp = fold.range.compareStart(endRow, endColumn);\n if (cmp == -1) {\n callback(null, endRow, endColumn, lastEnd, isNewRow);\n return;\n }\n\n stop = callback(null, fold.start.row, fold.start.column, lastEnd, isNewRow);\n stop = !stop && callback(fold.placeholder, fold.start.row, fold.start.column, lastEnd);\n if (stop || cmp === 0) {\n return;\n }\n isNewRow = !fold.sameRow;\n lastEnd = fold.end.column;\n }\n callback(null, endRow, endColumn, lastEnd, isNewRow);\n };\n\n this.getNextFoldTo = function(row, column) {\n var fold, cmp;\n for (var i = 0; i < this.folds.length; i++) {\n fold = this.folds[i];\n cmp = fold.range.compareEnd(row, column);\n if (cmp == -1) {\n return {\n fold: fold,\n kind: \"after\"\n };\n } else if (cmp === 0) {\n return {\n fold: fold,\n kind: \"inside\"\n };\n }\n }\n return null;\n };\n\n this.addRemoveChars = function(row, column, len) {\n var ret = this.getNextFoldTo(row, column),\n fold, folds;\n if (ret) {\n fold = ret.fold;\n if (ret.kind == \"inside\"\n && fold.start.column != column\n && fold.start.row != row)\n {\n window.console && window.console.log(row, column, fold);\n } else if (fold.start.row == row) {\n folds = this.folds;\n var i = folds.indexOf(fold);\n if (i === 0) {\n this.start.column += len;\n }\n for (i; i < folds.length; i++) {\n fold = folds[i];\n fold.start.column += len;\n if (!fold.sameRow) {\n return;\n }\n fold.end.column += len;\n }\n this.end.column += len;\n }\n }\n };\n\n this.split = function(row, column) {\n var pos = this.getNextFoldTo(row, column);\n \n if (!pos || pos.kind == \"inside\")\n return null;\n \n var fold = pos.fold;\n var folds = this.folds;\n var foldData = this.foldData;\n \n var i = folds.indexOf(fold);\n var foldBefore = folds[i - 1];\n this.end.row = foldBefore.end.row;\n this.end.column = foldBefore.end.column;\n folds = folds.splice(i, folds.length - i);\n\n var newFoldLine = new FoldLine(foldData, folds);\n foldData.splice(foldData.indexOf(this) + 1, 0, newFoldLine);\n return newFoldLine;\n };\n\n this.merge = function(foldLineNext) {\n var folds = foldLineNext.folds;\n for (var i = 0; i < folds.length; i++) {\n this.addFold(folds[i]);\n }\n var foldData = this.foldData;\n foldData.splice(foldData.indexOf(foldLineNext), 1);\n };\n\n this.toString = function() {\n var ret = [this.range.toString() + \": [\" ];\n\n this.folds.forEach(function(fold) {\n ret.push(\" \" + fold.toString());\n });\n ret.push(\"]\");\n return ret.join(\"\\n\");\n };\n\n this.idxToPosition = function(idx) {\n var lastFoldEndColumn = 0;\n\n for (var i = 0; i < this.folds.length; i++) {\n var fold = this.folds[i];\n\n idx -= fold.start.column - lastFoldEndColumn;\n if (idx < 0) {\n return {\n row: fold.start.row,\n column: fold.start.column + idx\n };\n }\n\n idx -= fold.placeholder.length;\n if (idx < 0) {\n return fold.start;\n }\n\n lastFoldEndColumn = fold.end.column;\n }\n\n return {\n row: this.end.row,\n column: this.end.column + idx\n };\n };\n}).call(FoldLine.prototype);\n\nexports.FoldLine = FoldLine;\n});\n\nace.define(\"ace/range_list\",[\"require\",\"exports\",\"module\",\"ace/range\"], function(acequire, exports, module) {\n\"use strict\";\nvar Range = acequire(\"./range\").Range;\nvar comparePoints = Range.comparePoints;\n\nvar RangeList = function() {\n this.ranges = [];\n};\n\n(function() {\n this.comparePoints = comparePoints;\n\n this.pointIndex = function(pos, excludeEdges, startIndex) {\n var list = this.ranges;\n\n for (var i = startIndex || 0; i < list.length; i++) {\n var range = list[i];\n var cmpEnd = comparePoints(pos, range.end);\n if (cmpEnd > 0)\n continue;\n var cmpStart = comparePoints(pos, range.start);\n if (cmpEnd === 0)\n return excludeEdges && cmpStart !== 0 ? -i-2 : i;\n if (cmpStart > 0 || (cmpStart === 0 && !excludeEdges))\n return i;\n\n return -i-1;\n }\n return -i - 1;\n };\n\n this.add = function(range) {\n var excludeEdges = !range.isEmpty();\n var startIndex = this.pointIndex(range.start, excludeEdges);\n if (startIndex < 0)\n startIndex = -startIndex - 1;\n\n var endIndex = this.pointIndex(range.end, excludeEdges, startIndex);\n\n if (endIndex < 0)\n endIndex = -endIndex - 1;\n else\n endIndex++;\n return this.ranges.splice(startIndex, endIndex - startIndex, range);\n };\n\n this.addList = function(list) {\n var removed = [];\n for (var i = list.length; i--; ) {\n removed.push.apply(removed, this.add(list[i]));\n }\n return removed;\n };\n\n this.substractPoint = function(pos) {\n var i = this.pointIndex(pos);\n\n if (i >= 0)\n return this.ranges.splice(i, 1);\n };\n this.merge = function() {\n var removed = [];\n var list = this.ranges;\n \n list = list.sort(function(a, b) {\n return comparePoints(a.start, b.start);\n });\n \n var next = list[0], range;\n for (var i = 1; i < list.length; i++) {\n range = next;\n next = list[i];\n var cmp = comparePoints(range.end, next.start);\n if (cmp < 0)\n continue;\n\n if (cmp == 0 && !range.isEmpty() && !next.isEmpty())\n continue;\n\n if (comparePoints(range.end, next.end) < 0) {\n range.end.row = next.end.row;\n range.end.column = next.end.column;\n }\n\n list.splice(i, 1);\n removed.push(next);\n next = range;\n i--;\n }\n \n this.ranges = list;\n\n return removed;\n };\n\n this.contains = function(row, column) {\n return this.pointIndex({row: row, column: column}) >= 0;\n };\n\n this.containsPoint = function(pos) {\n return this.pointIndex(pos) >= 0;\n };\n\n this.rangeAtPoint = function(pos) {\n var i = this.pointIndex(pos);\n if (i >= 0)\n return this.ranges[i];\n };\n\n\n this.clipRows = function(startRow, endRow) {\n var list = this.ranges;\n if (list[0].start.row > endRow || list[list.length - 1].start.row < startRow)\n return [];\n\n var startIndex = this.pointIndex({row: startRow, column: 0});\n if (startIndex < 0)\n startIndex = -startIndex - 1;\n var endIndex = this.pointIndex({row: endRow, column: 0}, startIndex);\n if (endIndex < 0)\n endIndex = -endIndex - 1;\n\n var clipped = [];\n for (var i = startIndex; i < endIndex; i++) {\n clipped.push(list[i]);\n }\n return clipped;\n };\n\n this.removeAll = function() {\n return this.ranges.splice(0, this.ranges.length);\n };\n\n this.attach = function(session) {\n if (this.session)\n this.detach();\n\n this.session = session;\n this.onChange = this.$onChange.bind(this);\n\n this.session.on('change', this.onChange);\n };\n\n this.detach = function() {\n if (!this.session)\n return;\n this.session.removeListener('change', this.onChange);\n this.session = null;\n };\n\n this.$onChange = function(delta) {\n if (delta.action == \"insert\"){\n var start = delta.start;\n var end = delta.end;\n } else {\n var end = delta.start;\n var start = delta.end;\n }\n var startRow = start.row;\n var endRow = end.row;\n var lineDif = endRow - startRow;\n\n var colDiff = -start.column + end.column;\n var ranges = this.ranges;\n\n for (var i = 0, n = ranges.length; i < n; i++) {\n var r = ranges[i];\n if (r.end.row < startRow)\n continue;\n if (r.start.row > startRow)\n break;\n\n if (r.start.row == startRow && r.start.column >= start.column ) {\n if (r.start.column == start.column && this.$insertRight) {\n } else {\n r.start.column += colDiff;\n r.start.row += lineDif;\n }\n }\n if (r.end.row == startRow && r.end.column >= start.column) {\n if (r.end.column == start.column && this.$insertRight) {\n continue;\n }\n if (r.end.column == start.column && colDiff > 0 && i < n - 1) { \n if (r.end.column > r.start.column && r.end.column == ranges[i+1].start.column)\n r.end.column -= colDiff;\n }\n r.end.column += colDiff;\n r.end.row += lineDif;\n }\n }\n\n if (lineDif != 0 && i < n) {\n for (; i < n; i++) {\n var r = ranges[i];\n r.start.row += lineDif;\n r.end.row += lineDif;\n }\n }\n };\n\n}).call(RangeList.prototype);\n\nexports.RangeList = RangeList;\n});\n\nace.define(\"ace/edit_session/fold\",[\"require\",\"exports\",\"module\",\"ace/range\",\"ace/range_list\",\"ace/lib/oop\"], function(acequire, exports, module) {\n\"use strict\";\n\nvar Range = acequire(\"../range\").Range;\nvar RangeList = acequire(\"../range_list\").RangeList;\nvar oop = acequire(\"../lib/oop\")\nvar Fold = exports.Fold = function(range, placeholder) {\n this.foldLine = null;\n this.placeholder = placeholder;\n this.range = range;\n this.start = range.start;\n this.end = range.end;\n\n this.sameRow = range.start.row == range.end.row;\n this.subFolds = this.ranges = [];\n};\n\noop.inherits(Fold, RangeList);\n\n(function() {\n\n this.toString = function() {\n return '\"' + this.placeholder + '\" ' + this.range.toString();\n };\n\n this.setFoldLine = function(foldLine) {\n this.foldLine = foldLine;\n this.subFolds.forEach(function(fold) {\n fold.setFoldLine(foldLine);\n });\n };\n\n this.clone = function() {\n var range = this.range.clone();\n var fold = new Fold(range, this.placeholder);\n this.subFolds.forEach(function(subFold) {\n fold.subFolds.push(subFold.clone());\n });\n fold.collapseChildren = this.collapseChildren;\n return fold;\n };\n\n this.addSubFold = function(fold) {\n if (this.range.isEqual(fold))\n return;\n\n if (!this.range.containsRange(fold))\n throw new Error(\"A fold can't intersect already existing fold\" + fold.range + this.range);\n consumeRange(fold, this.start);\n\n var row = fold.start.row, column = fold.start.column;\n for (var i = 0, cmp = -1; i < this.subFolds.length; i++) {\n cmp = this.subFolds[i].range.compare(row, column);\n if (cmp != 1)\n break;\n }\n var afterStart = this.subFolds[i];\n\n if (cmp == 0)\n return afterStart.addSubFold(fold);\n var row = fold.range.end.row, column = fold.range.end.column;\n for (var j = i, cmp = -1; j < this.subFolds.length; j++) {\n cmp = this.subFolds[j].range.compare(row, column);\n if (cmp != 1)\n break;\n }\n var afterEnd = this.subFolds[j];\n\n if (cmp == 0)\n throw new Error(\"A fold can't intersect already existing fold\" + fold.range + this.range);\n\n var consumedFolds = this.subFolds.splice(i, j - i, fold);\n fold.setFoldLine(this.foldLine);\n\n return fold;\n };\n \n this.restoreRange = function(range) {\n return restoreRange(range, this.start);\n };\n\n}).call(Fold.prototype);\n\nfunction consumePoint(point, anchor) {\n point.row -= anchor.row;\n if (point.row == 0)\n point.column -= anchor.column;\n}\nfunction consumeRange(range, anchor) {\n consumePoint(range.start, anchor);\n consumePoint(range.end, anchor);\n}\nfunction restorePoint(point, anchor) {\n if (point.row == 0)\n point.column += anchor.column;\n point.row += anchor.row;\n}\nfunction restoreRange(range, anchor) {\n restorePoint(range.start, anchor);\n restorePoint(range.end, anchor);\n}\n\n});\n\nace.define(\"ace/edit_session/folding\",[\"require\",\"exports\",\"module\",\"ace/range\",\"ace/edit_session/fold_line\",\"ace/edit_session/fold\",\"ace/token_iterator\"], function(acequire, exports, module) {\n\"use strict\";\n\nvar Range = acequire(\"../range\").Range;\nvar FoldLine = acequire(\"./fold_line\").FoldLine;\nvar Fold = acequire(\"./fold\").Fold;\nvar TokenIterator = acequire(\"../token_iterator\").TokenIterator;\n\nfunction Folding() {\n this.getFoldAt = function(row, column, side) {\n var foldLine = this.getFoldLine(row);\n if (!foldLine)\n return null;\n\n var folds = foldLine.folds;\n for (var i = 0; i < folds.length; i++) {\n var fold = folds[i];\n if (fold.range.contains(row, column)) {\n if (side == 1 && fold.range.isEnd(row, column)) {\n continue;\n } else if (side == -1 && fold.range.isStart(row, column)) {\n continue;\n }\n return fold;\n }\n }\n };\n this.getFoldsInRange = function(range) {\n var start = range.start;\n var end = range.end;\n var foldLines = this.$foldData;\n var foundFolds = [];\n\n start.column += 1;\n end.column -= 1;\n\n for (var i = 0; i < foldLines.length; i++) {\n var cmp = foldLines[i].range.compareRange(range);\n if (cmp == 2) {\n continue;\n }\n else if (cmp == -2) {\n break;\n }\n\n var folds = foldLines[i].folds;\n for (var j = 0; j < folds.length; j++) {\n var fold = folds[j];\n cmp = fold.range.compareRange(range);\n if (cmp == -2) {\n break;\n } else if (cmp == 2) {\n continue;\n } else\n if (cmp == 42) {\n break;\n }\n foundFolds.push(fold);\n }\n }\n start.column -= 1;\n end.column += 1;\n\n return foundFolds;\n };\n\n this.getFoldsInRangeList = function(ranges) {\n if (Array.isArray(ranges)) {\n var folds = [];\n ranges.forEach(function(range) {\n folds = folds.concat(this.getFoldsInRange(range));\n }, this);\n } else {\n var folds = this.getFoldsInRange(ranges);\n }\n return folds;\n };\n this.getAllFolds = function() {\n var folds = [];\n var foldLines = this.$foldData;\n \n for (var i = 0; i < foldLines.length; i++)\n for (var j = 0; j < foldLines[i].folds.length; j++)\n folds.push(foldLines[i].folds[j]);\n\n return folds;\n };\n this.getFoldStringAt = function(row, column, trim, foldLine) {\n foldLine = foldLine || this.getFoldLine(row);\n if (!foldLine)\n return null;\n\n var lastFold = {\n end: { column: 0 }\n };\n var str, fold;\n for (var i = 0; i < foldLine.folds.length; i++) {\n fold = foldLine.folds[i];\n var cmp = fold.range.compareEnd(row, column);\n if (cmp == -1) {\n str = this\n .getLine(fold.start.row)\n .substring(lastFold.end.column, fold.start.column);\n break;\n }\n else if (cmp === 0) {\n return null;\n }\n lastFold = fold;\n }\n if (!str)\n str = this.getLine(fold.start.row).substring(lastFold.end.column);\n\n if (trim == -1)\n return str.substring(0, column - lastFold.end.column);\n else if (trim == 1)\n return str.substring(column - lastFold.end.column);\n else\n return str;\n };\n\n this.getFoldLine = function(docRow, startFoldLine) {\n var foldData = this.$foldData;\n var i = 0;\n if (startFoldLine)\n i = foldData.indexOf(startFoldLine);\n if (i == -1)\n i = 0;\n for (i; i < foldData.length; i++) {\n var foldLine = foldData[i];\n if (foldLine.start.row <= docRow && foldLine.end.row >= docRow) {\n return foldLine;\n } else if (foldLine.end.row > docRow) {\n return null;\n }\n }\n return null;\n };\n this.getNextFoldLine = function(docRow, startFoldLine) {\n var foldData = this.$foldData;\n var i = 0;\n if (startFoldLine)\n i = foldData.indexOf(startFoldLine);\n if (i == -1)\n i = 0;\n for (i; i < foldData.length; i++) {\n var foldLine = foldData[i];\n if (foldLine.end.row >= docRow) {\n return foldLine;\n }\n }\n return null;\n };\n\n this.getFoldedRowCount = function(first, last) {\n var foldData = this.$foldData, rowCount = last-first+1;\n for (var i = 0; i < foldData.length; i++) {\n var foldLine = foldData[i],\n end = foldLine.end.row,\n start = foldLine.start.row;\n if (end >= last) {\n if (start < last) {\n if (start >= first)\n rowCount -= last-start;\n else\n rowCount = 0; // in one fold\n }\n break;\n } else if (end >= first){\n if (start >= first) // fold inside range\n rowCount -= end-start;\n else\n rowCount -= end-first+1;\n }\n }\n return rowCount;\n };\n\n this.$addFoldLine = function(foldLine) {\n this.$foldData.push(foldLine);\n this.$foldData.sort(function(a, b) {\n return a.start.row - b.start.row;\n });\n return foldLine;\n };\n this.addFold = function(placeholder, range) {\n var foldData = this.$foldData;\n var added = false;\n var fold;\n \n if (placeholder instanceof Fold)\n fold = placeholder;\n else {\n fold = new Fold(range, placeholder);\n fold.collapseChildren = range.collapseChildren;\n }\n this.$clipRangeToDocument(fold.range);\n\n var startRow = fold.start.row;\n var startColumn = fold.start.column;\n var endRow = fold.end.row;\n var endColumn = fold.end.column;\n if (!(startRow < endRow || \n startRow == endRow && startColumn <= endColumn - 2))\n throw new Error(\"The range has to be at least 2 characters width\");\n\n var startFold = this.getFoldAt(startRow, startColumn, 1);\n var endFold = this.getFoldAt(endRow, endColumn, -1);\n if (startFold && endFold == startFold)\n return startFold.addSubFold(fold);\n\n if (startFold && !startFold.range.isStart(startRow, startColumn))\n this.removeFold(startFold);\n \n if (endFold && !endFold.range.isEnd(endRow, endColumn))\n this.removeFold(endFold);\n var folds = this.getFoldsInRange(fold.range);\n if (folds.length > 0) {\n this.removeFolds(folds);\n folds.forEach(function(subFold) {\n fold.addSubFold(subFold);\n });\n }\n\n for (var i = 0; i < foldData.length; i++) {\n var foldLine = foldData[i];\n if (endRow == foldLine.start.row) {\n foldLine.addFold(fold);\n added = true;\n break;\n } else if (startRow == foldLine.end.row) {\n foldLine.addFold(fold);\n added = true;\n if (!fold.sameRow) {\n var foldLineNext = foldData[i + 1];\n if (foldLineNext && foldLineNext.start.row == endRow) {\n foldLine.merge(foldLineNext);\n break;\n }\n }\n break;\n } else if (endRow <= foldLine.start.row) {\n break;\n }\n }\n\n if (!added)\n foldLine = this.$addFoldLine(new FoldLine(this.$foldData, fold));\n\n if (this.$useWrapMode)\n this.$updateWrapData(foldLine.start.row, foldLine.start.row);\n else\n this.$updateRowLengthCache(foldLine.start.row, foldLine.start.row);\n this.$modified = true;\n this._signal(\"changeFold\", { data: fold, action: \"add\" });\n\n return fold;\n };\n\n this.addFolds = function(folds) {\n folds.forEach(function(fold) {\n this.addFold(fold);\n }, this);\n };\n\n this.removeFold = function(fold) {\n var foldLine = fold.foldLine;\n var startRow = foldLine.start.row;\n var endRow = foldLine.end.row;\n\n var foldLines = this.$foldData;\n var folds = foldLine.folds;\n if (folds.length == 1) {\n foldLines.splice(foldLines.indexOf(foldLine), 1);\n } else\n if (foldLine.range.isEnd(fold.end.row, fold.end.column)) {\n folds.pop();\n foldLine.end.row = folds[folds.length - 1].end.row;\n foldLine.end.column = folds[folds.length - 1].end.column;\n } else\n if (foldLine.range.isStart(fold.start.row, fold.start.column)) {\n folds.shift();\n foldLine.start.row = folds[0].start.row;\n foldLine.start.column = folds[0].start.column;\n } else\n if (fold.sameRow) {\n folds.splice(folds.indexOf(fold), 1);\n } else\n {\n var newFoldLine = foldLine.split(fold.start.row, fold.start.column);\n folds = newFoldLine.folds;\n folds.shift();\n newFoldLine.start.row = folds[0].start.row;\n newFoldLine.start.column = folds[0].start.column;\n }\n\n if (!this.$updating) {\n if (this.$useWrapMode)\n this.$updateWrapData(startRow, endRow);\n else\n this.$updateRowLengthCache(startRow, endRow);\n }\n this.$modified = true;\n this._signal(\"changeFold\", { data: fold, action: \"remove\" });\n };\n\n this.removeFolds = function(folds) {\n var cloneFolds = [];\n for (var i = 0; i < folds.length; i++) {\n cloneFolds.push(folds[i]);\n }\n\n cloneFolds.forEach(function(fold) {\n this.removeFold(fold);\n }, this);\n this.$modified = true;\n };\n\n this.expandFold = function(fold) {\n this.removeFold(fold);\n fold.subFolds.forEach(function(subFold) {\n fold.restoreRange(subFold);\n this.addFold(subFold);\n }, this);\n if (fold.collapseChildren > 0) {\n this.foldAll(fold.start.row+1, fold.end.row, fold.collapseChildren-1);\n }\n fold.subFolds = [];\n };\n\n this.expandFolds = function(folds) {\n folds.forEach(function(fold) {\n this.expandFold(fold);\n }, this);\n };\n\n this.unfold = function(location, expandInner) {\n var range, folds;\n if (location == null) {\n range = new Range(0, 0, this.getLength(), 0);\n expandInner = true;\n } else if (typeof location == \"number\")\n range = new Range(location, 0, location, this.getLine(location).length);\n else if (\"row\" in location)\n range = Range.fromPoints(location, location);\n else\n range = location;\n \n folds = this.getFoldsInRangeList(range);\n if (expandInner) {\n this.removeFolds(folds);\n } else {\n var subFolds = folds;\n while (subFolds.length) {\n this.expandFolds(subFolds);\n subFolds = this.getFoldsInRangeList(range);\n }\n }\n if (folds.length)\n return folds;\n };\n this.isRowFolded = function(docRow, startFoldRow) {\n return !!this.getFoldLine(docRow, startFoldRow);\n };\n\n this.getRowFoldEnd = function(docRow, startFoldRow) {\n var foldLine = this.getFoldLine(docRow, startFoldRow);\n return foldLine ? foldLine.end.row : docRow;\n };\n\n this.getRowFoldStart = function(docRow, startFoldRow) {\n var foldLine = this.getFoldLine(docRow, startFoldRow);\n return foldLine ? foldLine.start.row : docRow;\n };\n\n this.getFoldDisplayLine = function(foldLine, endRow, endColumn, startRow, startColumn) {\n if (startRow == null)\n startRow = foldLine.start.row;\n if (startColumn == null)\n startColumn = 0;\n if (endRow == null)\n endRow = foldLine.end.row;\n if (endColumn == null)\n endColumn = this.getLine(endRow).length;\n var doc = this.doc;\n var textLine = \"\";\n\n foldLine.walk(function(placeholder, row, column, lastColumn) {\n if (row < startRow)\n return;\n if (row == startRow) {\n if (column < startColumn)\n return;\n lastColumn = Math.max(startColumn, lastColumn);\n }\n\n if (placeholder != null) {\n textLine += placeholder;\n } else {\n textLine += doc.getLine(row).substring(lastColumn, column);\n }\n }, endRow, endColumn);\n return textLine;\n };\n\n this.getDisplayLine = function(row, endColumn, startRow, startColumn) {\n var foldLine = this.getFoldLine(row);\n\n if (!foldLine) {\n var line;\n line = this.doc.getLine(row);\n return line.substring(startColumn || 0, endColumn || line.length);\n } else {\n return this.getFoldDisplayLine(\n foldLine, row, endColumn, startRow, startColumn);\n }\n };\n\n this.$cloneFoldData = function() {\n var fd = [];\n fd = this.$foldData.map(function(foldLine) {\n var folds = foldLine.folds.map(function(fold) {\n return fold.clone();\n });\n return new FoldLine(fd, folds);\n });\n\n return fd;\n };\n\n this.toggleFold = function(tryToUnfold) {\n var selection = this.selection;\n var range = selection.getRange();\n var fold;\n var bracketPos;\n\n if (range.isEmpty()) {\n var cursor = range.start;\n fold = this.getFoldAt(cursor.row, cursor.column);\n\n if (fold) {\n this.expandFold(fold);\n return;\n } else if (bracketPos = this.findMatchingBracket(cursor)) {\n if (range.comparePoint(bracketPos) == 1) {\n range.end = bracketPos;\n } else {\n range.start = bracketPos;\n range.start.column++;\n range.end.column--;\n }\n } else if (bracketPos = this.findMatchingBracket({row: cursor.row, column: cursor.column + 1})) {\n if (range.comparePoint(bracketPos) == 1)\n range.end = bracketPos;\n else\n range.start = bracketPos;\n\n range.start.column++;\n } else {\n range = this.getCommentFoldRange(cursor.row, cursor.column) || range;\n }\n } else {\n var folds = this.getFoldsInRange(range);\n if (tryToUnfold && folds.length) {\n this.expandFolds(folds);\n return;\n } else if (folds.length == 1 ) {\n fold = folds[0];\n }\n }\n\n if (!fold)\n fold = this.getFoldAt(range.start.row, range.start.column);\n\n if (fold && fold.range.toString() == range.toString()) {\n this.expandFold(fold);\n return;\n }\n\n var placeholder = \"...\";\n if (!range.isMultiLine()) {\n placeholder = this.getTextRange(range);\n if (placeholder.length < 4)\n return;\n placeholder = placeholder.trim().substring(0, 2) + \"..\";\n }\n\n this.addFold(placeholder, range);\n };\n\n this.getCommentFoldRange = function(row, column, dir) {\n var iterator = new TokenIterator(this, row, column);\n var token = iterator.getCurrentToken();\n if (token && /^comment|string/.test(token.type)) {\n var range = new Range();\n var re = new RegExp(token.type.replace(/\\..*/, \"\\\\.\"));\n if (dir != 1) {\n do {\n token = iterator.stepBackward();\n } while (token && re.test(token.type));\n iterator.stepForward();\n }\n \n range.start.row = iterator.getCurrentTokenRow();\n range.start.column = iterator.getCurrentTokenColumn() + 2;\n\n iterator = new TokenIterator(this, row, column);\n \n if (dir != -1) {\n do {\n token = iterator.stepForward();\n } while (token && re.test(token.type));\n token = iterator.stepBackward();\n } else\n token = iterator.getCurrentToken();\n\n range.end.row = iterator.getCurrentTokenRow();\n range.end.column = iterator.getCurrentTokenColumn() + token.value.length - 2;\n return range;\n }\n };\n\n this.foldAll = function(startRow, endRow, depth) {\n if (depth == undefined)\n depth = 100000; // JSON.stringify doesn't hanle Infinity\n var foldWidgets = this.foldWidgets;\n if (!foldWidgets)\n return; // mode doesn't support folding\n endRow = endRow || this.getLength();\n startRow = startRow || 0;\n for (var row = startRow; row < endRow; row++) {\n if (foldWidgets[row] == null)\n foldWidgets[row] = this.getFoldWidget(row);\n if (foldWidgets[row] != \"start\")\n continue;\n\n var range = this.getFoldWidgetRange(row);\n if (range && range.isMultiLine()\n && range.end.row <= endRow\n && range.start.row >= startRow\n ) {\n row = range.end.row;\n try {\n var fold = this.addFold(\"...\", range);\n if (fold)\n fold.collapseChildren = depth;\n } catch(e) {}\n }\n }\n };\n this.$foldStyles = {\n \"manual\": 1,\n \"markbegin\": 1,\n \"markbeginend\": 1\n };\n this.$foldStyle = \"markbegin\";\n this.setFoldStyle = function(style) {\n if (!this.$foldStyles[style])\n throw new Error(\"invalid fold style: \" + style + \"[\" + Object.keys(this.$foldStyles).join(\", \") + \"]\");\n \n if (this.$foldStyle == style)\n return;\n\n this.$foldStyle = style;\n \n if (style == \"manual\")\n this.unfold();\n var mode = this.$foldMode;\n this.$setFolding(null);\n this.$setFolding(mode);\n };\n\n this.$setFolding = function(foldMode) {\n if (this.$foldMode == foldMode)\n return;\n \n this.$foldMode = foldMode;\n \n this.off('change', this.$updateFoldWidgets);\n this.off('tokenizerUpdate', this.$tokenizerUpdateFoldWidgets);\n this._signal(\"changeAnnotation\");\n \n if (!foldMode || this.$foldStyle == \"manual\") {\n this.foldWidgets = null;\n return;\n }\n \n this.foldWidgets = [];\n this.getFoldWidget = foldMode.getFoldWidget.bind(foldMode, this, this.$foldStyle);\n this.getFoldWidgetRange = foldMode.getFoldWidgetRange.bind(foldMode, this, this.$foldStyle);\n \n this.$updateFoldWidgets = this.updateFoldWidgets.bind(this);\n this.$tokenizerUpdateFoldWidgets = this.tokenizerUpdateFoldWidgets.bind(this);\n this.on('change', this.$updateFoldWidgets);\n this.on('tokenizerUpdate', this.$tokenizerUpdateFoldWidgets);\n };\n\n this.getParentFoldRangeData = function (row, ignoreCurrent) {\n var fw = this.foldWidgets;\n if (!fw || (ignoreCurrent && fw[row]))\n return {};\n\n var i = row - 1, firstRange;\n while (i >= 0) {\n var c = fw[i];\n if (c == null)\n c = fw[i] = this.getFoldWidget(i);\n\n if (c == \"start\") {\n var range = this.getFoldWidgetRange(i);\n if (!firstRange)\n firstRange = range;\n if (range && range.end.row >= row)\n break;\n }\n i--;\n }\n\n return {\n range: i !== -1 && range,\n firstRange: firstRange\n };\n };\n\n this.onFoldWidgetClick = function(row, e) {\n e = e.domEvent;\n var options = {\n children: e.shiftKey,\n all: e.ctrlKey || e.metaKey,\n siblings: e.altKey\n };\n \n var range = this.$toggleFoldWidget(row, options);\n if (!range) {\n var el = (e.target || e.srcElement);\n if (el && /ace_fold-widget/.test(el.className))\n el.className += \" ace_invalid\";\n }\n };\n \n this.$toggleFoldWidget = function(row, options) {\n if (!this.getFoldWidget)\n return;\n var type = this.getFoldWidget(row);\n var line = this.getLine(row);\n\n var dir = type === \"end\" ? -1 : 1;\n var fold = this.getFoldAt(row, dir === -1 ? 0 : line.length, dir);\n\n if (fold) {\n if (options.children || options.all)\n this.removeFold(fold);\n else\n this.expandFold(fold);\n return;\n }\n\n var range = this.getFoldWidgetRange(row, true);\n if (range && !range.isMultiLine()) {\n fold = this.getFoldAt(range.start.row, range.start.column, 1);\n if (fold && range.isEqual(fold.range)) {\n this.removeFold(fold);\n return;\n }\n }\n \n if (options.siblings) {\n var data = this.getParentFoldRangeData(row);\n if (data.range) {\n var startRow = data.range.start.row + 1;\n var endRow = data.range.end.row;\n }\n this.foldAll(startRow, endRow, options.all ? 10000 : 0);\n } else if (options.children) {\n endRow = range ? range.end.row : this.getLength();\n this.foldAll(row + 1, endRow, options.all ? 10000 : 0);\n } else if (range) {\n if (options.all) \n range.collapseChildren = 10000;\n this.addFold(\"...\", range);\n }\n \n return range;\n };\n \n \n \n this.toggleFoldWidget = function(toggleParent) {\n var row = this.selection.getCursor().row;\n row = this.getRowFoldStart(row);\n var range = this.$toggleFoldWidget(row, {});\n \n if (range)\n return;\n var data = this.getParentFoldRangeData(row, true);\n range = data.range || data.firstRange;\n \n if (range) {\n row = range.start.row;\n var fold = this.getFoldAt(row, this.getLine(row).length, 1);\n\n if (fold) {\n this.removeFold(fold);\n } else {\n this.addFold(\"...\", range);\n }\n }\n };\n\n this.updateFoldWidgets = function(delta) {\n var firstRow = delta.start.row;\n var len = delta.end.row - firstRow;\n\n if (len === 0) {\n this.foldWidgets[firstRow] = null;\n } else if (delta.action == 'remove') {\n this.foldWidgets.splice(firstRow, len + 1, null);\n } else {\n var args = Array(len + 1);\n args.unshift(firstRow, 1);\n this.foldWidgets.splice.apply(this.foldWidgets, args);\n }\n };\n this.tokenizerUpdateFoldWidgets = function(e) {\n var rows = e.data;\n if (rows.first != rows.last) {\n if (this.foldWidgets.length > rows.first)\n this.foldWidgets.splice(rows.first, this.foldWidgets.length);\n }\n };\n}\n\nexports.Folding = Folding;\n\n});\n\nace.define(\"ace/edit_session/bracket_match\",[\"require\",\"exports\",\"module\",\"ace/token_iterator\",\"ace/range\"], function(acequire, exports, module) {\n\"use strict\";\n\nvar TokenIterator = acequire(\"../token_iterator\").TokenIterator;\nvar Range = acequire(\"../range\").Range;\n\n\nfunction BracketMatch() {\n\n this.findMatchingBracket = function(position, chr) {\n if (position.column == 0) return null;\n\n var charBeforeCursor = chr || this.getLine(position.row).charAt(position.column-1);\n if (charBeforeCursor == \"\") return null;\n\n var match = charBeforeCursor.match(/([\\(\\[\\{])|([\\)\\]\\}])/);\n if (!match)\n return null;\n\n if (match[1])\n return this.$findClosingBracket(match[1], position);\n else\n return this.$findOpeningBracket(match[2], position);\n };\n \n this.getBracketRange = function(pos) {\n var line = this.getLine(pos.row);\n var before = true, range;\n\n var chr = line.charAt(pos.column-1);\n var match = chr && chr.match(/([\\(\\[\\{])|([\\)\\]\\}])/);\n if (!match) {\n chr = line.charAt(pos.column);\n pos = {row: pos.row, column: pos.column + 1};\n match = chr && chr.match(/([\\(\\[\\{])|([\\)\\]\\}])/);\n before = false;\n }\n if (!match)\n return null;\n\n if (match[1]) {\n var bracketPos = this.$findClosingBracket(match[1], pos);\n if (!bracketPos)\n return null;\n range = Range.fromPoints(pos, bracketPos);\n if (!before) {\n range.end.column++;\n range.start.column--;\n }\n range.cursor = range.end;\n } else {\n var bracketPos = this.$findOpeningBracket(match[2], pos);\n if (!bracketPos)\n return null;\n range = Range.fromPoints(bracketPos, pos);\n if (!before) {\n range.start.column++;\n range.end.column--;\n }\n range.cursor = range.start;\n }\n \n return range;\n };\n\n this.$brackets = {\n \")\": \"(\",\n \"(\": \")\",\n \"]\": \"[\",\n \"[\": \"]\",\n \"{\": \"}\",\n \"}\": \"{\"\n };\n\n this.$findOpeningBracket = function(bracket, position, typeRe) {\n var openBracket = this.$brackets[bracket];\n var depth = 1;\n\n var iterator = new TokenIterator(this, position.row, position.column);\n var token = iterator.getCurrentToken();\n if (!token)\n token = iterator.stepForward();\n if (!token)\n return;\n \n if (!typeRe){\n typeRe = new RegExp(\n \"(\\\\.?\" +\n token.type.replace(\".\", \"\\\\.\").replace(\"rparen\", \".paren\")\n .replace(/\\b(?:end)\\b/, \"(?:start|begin|end)\")\n + \")+\"\n );\n }\n var valueIndex = position.column - iterator.getCurrentTokenColumn() - 2;\n var value = token.value;\n \n while (true) {\n \n while (valueIndex >= 0) {\n var chr = value.charAt(valueIndex);\n if (chr == openBracket) {\n depth -= 1;\n if (depth == 0) {\n return {row: iterator.getCurrentTokenRow(),\n column: valueIndex + iterator.getCurrentTokenColumn()};\n }\n }\n else if (chr == bracket) {\n depth += 1;\n }\n valueIndex -= 1;\n }\n do {\n token = iterator.stepBackward();\n } while (token && !typeRe.test(token.type));\n\n if (token == null)\n break;\n \n value = token.value;\n valueIndex = value.length - 1;\n }\n \n return null;\n };\n\n this.$findClosingBracket = function(bracket, position, typeRe) {\n var closingBracket = this.$brackets[bracket];\n var depth = 1;\n\n var iterator = new TokenIterator(this, position.row, position.column);\n var token = iterator.getCurrentToken();\n if (!token)\n token = iterator.stepForward();\n if (!token)\n return;\n\n if (!typeRe){\n typeRe = new RegExp(\n \"(\\\\.?\" +\n token.type.replace(\".\", \"\\\\.\").replace(\"lparen\", \".paren\")\n .replace(/\\b(?:start|begin)\\b/, \"(?:start|begin|end)\")\n + \")+\"\n );\n }\n var valueIndex = position.column - iterator.getCurrentTokenColumn();\n\n while (true) {\n\n var value = token.value;\n var valueLength = value.length;\n while (valueIndex < valueLength) {\n var chr = value.charAt(valueIndex);\n if (chr == closingBracket) {\n depth -= 1;\n if (depth == 0) {\n return {row: iterator.getCurrentTokenRow(),\n column: valueIndex + iterator.getCurrentTokenColumn()};\n }\n }\n else if (chr == bracket) {\n depth += 1;\n }\n valueIndex += 1;\n }\n do {\n token = iterator.stepForward();\n } while (token && !typeRe.test(token.type));\n\n if (token == null)\n break;\n\n valueIndex = 0;\n }\n \n return null;\n };\n}\nexports.BracketMatch = BracketMatch;\n\n});\n\nace.define(\"ace/edit_session\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/lib/lang\",\"ace/config\",\"ace/lib/event_emitter\",\"ace/selection\",\"ace/mode/text\",\"ace/range\",\"ace/document\",\"ace/background_tokenizer\",\"ace/search_highlight\",\"ace/edit_session/folding\",\"ace/edit_session/bracket_match\"], function(acequire, exports, module) {\n\"use strict\";\n\nvar oop = acequire(\"./lib/oop\");\nvar lang = acequire(\"./lib/lang\");\nvar config = acequire(\"./config\");\nvar EventEmitter = acequire(\"./lib/event_emitter\").EventEmitter;\nvar Selection = acequire(\"./selection\").Selection;\nvar TextMode = acequire(\"./mode/text\").Mode;\nvar Range = acequire(\"./range\").Range;\nvar Document = acequire(\"./document\").Document;\nvar BackgroundTokenizer = acequire(\"./background_tokenizer\").BackgroundTokenizer;\nvar SearchHighlight = acequire(\"./search_highlight\").SearchHighlight;\n\nvar EditSession = function(text, mode) {\n this.$breakpoints = [];\n this.$decorations = [];\n this.$frontMarkers = {};\n this.$backMarkers = {};\n this.$markerId = 1;\n this.$undoSelect = true;\n\n this.$foldData = [];\n this.$foldData.toString = function() {\n return this.join(\"\\n\");\n };\n this.on(\"changeFold\", this.onChangeFold.bind(this));\n this.$onChange = this.onChange.bind(this);\n\n if (typeof text != \"object\" || !text.getLine)\n text = new Document(text);\n\n this.setDocument(text);\n this.selection = new Selection(this);\n\n config.resetOptions(this);\n this.setMode(mode);\n config._signal(\"session\", this);\n};\n\n\n(function() {\n\n oop.implement(this, EventEmitter);\n this.setDocument = function(doc) {\n if (this.doc)\n this.doc.removeListener(\"change\", this.$onChange);\n\n this.doc = doc;\n doc.on(\"change\", this.$onChange);\n\n if (this.bgTokenizer)\n this.bgTokenizer.setDocument(this.getDocument());\n\n this.resetCaches();\n };\n this.getDocument = function() {\n return this.doc;\n };\n this.$resetRowCache = function(docRow) {\n if (!docRow) {\n this.$docRowCache = [];\n this.$screenRowCache = [];\n return;\n }\n var l = this.$docRowCache.length;\n var i = this.$getRowCacheIndex(this.$docRowCache, docRow) + 1;\n if (l > i) {\n this.$docRowCache.splice(i, l);\n this.$screenRowCache.splice(i, l);\n }\n };\n\n this.$getRowCacheIndex = function(cacheArray, val) {\n var low = 0;\n var hi = cacheArray.length - 1;\n\n while (low <= hi) {\n var mid = (low + hi) >> 1;\n var c = cacheArray[mid];\n\n if (val > c)\n low = mid + 1;\n else if (val < c)\n hi = mid - 1;\n else\n return mid;\n }\n\n return low -1;\n };\n\n this.resetCaches = function() {\n this.$modified = true;\n this.$wrapData = [];\n this.$rowLengthCache = [];\n this.$resetRowCache(0);\n if (this.bgTokenizer)\n this.bgTokenizer.start(0);\n };\n\n this.onChangeFold = function(e) {\n var fold = e.data;\n this.$resetRowCache(fold.start.row);\n };\n\n this.onChange = function(delta) {\n this.$modified = true;\n\n this.$resetRowCache(delta.start.row);\n\n var removedFolds = this.$updateInternalDataOnChange(delta);\n if (!this.$fromUndo && this.$undoManager && !delta.ignore) {\n this.$deltasDoc.push(delta);\n if (removedFolds && removedFolds.length != 0) {\n this.$deltasFold.push({\n action: \"removeFolds\",\n folds: removedFolds\n });\n }\n\n this.$informUndoManager.schedule();\n }\n\n this.bgTokenizer && this.bgTokenizer.$updateOnChange(delta);\n this._signal(\"change\", delta);\n };\n this.setValue = function(text) {\n this.doc.setValue(text);\n this.selection.moveTo(0, 0);\n\n this.$resetRowCache(0);\n this.$deltas = [];\n this.$deltasDoc = [];\n this.$deltasFold = [];\n this.setUndoManager(this.$undoManager);\n this.getUndoManager().reset();\n };\n this.getValue =\n this.toString = function() {\n return this.doc.getValue();\n };\n this.getSelection = function() {\n return this.selection;\n };\n this.getState = function(row) {\n return this.bgTokenizer.getState(row);\n };\n this.getTokens = function(row) {\n return this.bgTokenizer.getTokens(row);\n };\n this.getTokenAt = function(row, column) {\n var tokens = this.bgTokenizer.getTokens(row);\n var token, c = 0;\n if (column == null) {\n i = tokens.length - 1;\n c = this.getLine(row).length;\n } else {\n for (var i = 0; i < tokens.length; i++) {\n c += tokens[i].value.length;\n if (c >= column)\n break;\n }\n }\n token = tokens[i];\n if (!token)\n return null;\n token.index = i;\n token.start = c - token.value.length;\n return token;\n };\n this.setUndoManager = function(undoManager) {\n this.$undoManager = undoManager;\n this.$deltas = [];\n this.$deltasDoc = [];\n this.$deltasFold = [];\n\n if (this.$informUndoManager)\n this.$informUndoManager.cancel();\n\n if (undoManager) {\n var self = this;\n\n this.$syncInformUndoManager = function() {\n self.$informUndoManager.cancel();\n\n if (self.$deltasFold.length) {\n self.$deltas.push({\n group: \"fold\",\n deltas: self.$deltasFold\n });\n self.$deltasFold = [];\n }\n\n if (self.$deltasDoc.length) {\n self.$deltas.push({\n group: \"doc\",\n deltas: self.$deltasDoc\n });\n self.$deltasDoc = [];\n }\n\n if (self.$deltas.length > 0) {\n undoManager.execute({\n action: \"aceupdate\",\n args: [self.$deltas, self],\n merge: self.mergeUndoDeltas\n });\n }\n self.mergeUndoDeltas = false;\n self.$deltas = [];\n };\n this.$informUndoManager = lang.delayedCall(this.$syncInformUndoManager);\n }\n };\n this.markUndoGroup = function() {\n if (this.$syncInformUndoManager)\n this.$syncInformUndoManager();\n };\n \n this.$defaultUndoManager = {\n undo: function() {},\n redo: function() {},\n reset: function() {}\n };\n this.getUndoManager = function() {\n return this.$undoManager || this.$defaultUndoManager;\n };\n this.getTabString = function() {\n if (this.getUseSoftTabs()) {\n return lang.stringRepeat(\" \", this.getTabSize());\n } else {\n return \"\\t\";\n }\n };\n this.setUseSoftTabs = function(val) {\n this.setOption(\"useSoftTabs\", val);\n };\n this.getUseSoftTabs = function() {\n return this.$useSoftTabs && !this.$mode.$indentWithTabs;\n };\n this.setTabSize = function(tabSize) {\n this.setOption(\"tabSize\", tabSize);\n };\n this.getTabSize = function() {\n return this.$tabSize;\n };\n this.isTabStop = function(position) {\n return this.$useSoftTabs && (position.column % this.$tabSize === 0);\n };\n\n this.$overwrite = false;\n this.setOverwrite = function(overwrite) {\n this.setOption(\"overwrite\", overwrite);\n };\n this.getOverwrite = function() {\n return this.$overwrite;\n };\n this.toggleOverwrite = function() {\n this.setOverwrite(!this.$overwrite);\n };\n this.addGutterDecoration = function(row, className) {\n if (!this.$decorations[row])\n this.$decorations[row] = \"\";\n this.$decorations[row] += \" \" + className;\n this._signal(\"changeBreakpoint\", {});\n };\n this.removeGutterDecoration = function(row, className) {\n this.$decorations[row] = (this.$decorations[row] || \"\").replace(\" \" + className, \"\");\n this._signal(\"changeBreakpoint\", {});\n };\n this.getBreakpoints = function() {\n return this.$breakpoints;\n };\n this.setBreakpoints = function(rows) {\n this.$breakpoints = [];\n for (var i=0; i<rows.length; i++) {\n this.$breakpoints[rows[i]] = \"ace_breakpoint\";\n }\n this._signal(\"changeBreakpoint\", {});\n };\n this.clearBreakpoints = function() {\n this.$breakpoints = [];\n this._signal(\"changeBreakpoint\", {});\n };\n this.setBreakpoint = function(row, className) {\n if (className === undefined)\n className = \"ace_breakpoint\";\n if (className)\n this.$breakpoints[row] = className;\n else\n delete this.$breakpoints[row];\n this._signal(\"changeBreakpoint\", {});\n };\n this.clearBreakpoint = function(row) {\n delete this.$breakpoints[row];\n this._signal(\"changeBreakpoint\", {});\n };\n this.addMarker = function(range, clazz, type, inFront) {\n var id = this.$markerId++;\n\n var marker = {\n range : range,\n type : type || \"line\",\n renderer: typeof type == \"function\" ? type : null,\n clazz : clazz,\n inFront: !!inFront,\n id: id\n };\n\n if (inFront) {\n this.$frontMarkers[id] = marker;\n this._signal(\"changeFrontMarker\");\n } else {\n this.$backMarkers[id] = marker;\n this._signal(\"changeBackMarker\");\n }\n\n return id;\n };\n this.addDynamicMarker = function(marker, inFront) {\n if (!marker.update)\n return;\n var id = this.$markerId++;\n marker.id = id;\n marker.inFront = !!inFront;\n\n if (inFront) {\n this.$frontMarkers[id] = marker;\n this._signal(\"changeFrontMarker\");\n } else {\n this.$backMarkers[id] = marker;\n this._signal(\"changeBackMarker\");\n }\n\n return marker;\n };\n this.removeMarker = function(markerId) {\n var marker = this.$frontMarkers[markerId] || this.$backMarkers[markerId];\n if (!marker)\n return;\n\n var markers = marker.inFront ? this.$frontMarkers : this.$backMarkers;\n if (marker) {\n delete (markers[markerId]);\n this._signal(marker.inFront ? \"changeFrontMarker\" : \"changeBackMarker\");\n }\n };\n this.getMarkers = function(inFront) {\n return inFront ? this.$frontMarkers : this.$backMarkers;\n };\n\n this.highlight = function(re) {\n if (!this.$searchHighlight) {\n var highlight = new SearchHighlight(null, \"ace_selected-word\", \"text\");\n this.$searchHighlight = this.addDynamicMarker(highlight);\n }\n this.$searchHighlight.setRegexp(re);\n };\n this.highlightLines = function(startRow, endRow, clazz, inFront) {\n if (typeof endRow != \"number\") {\n clazz = endRow;\n endRow = startRow;\n }\n if (!clazz)\n clazz = \"ace_step\";\n\n var range = new Range(startRow, 0, endRow, Infinity);\n range.id = this.addMarker(range, clazz, \"fullLine\", inFront);\n return range;\n };\n this.setAnnotations = function(annotations) {\n this.$annotations = annotations;\n this._signal(\"changeAnnotation\", {});\n };\n this.getAnnotations = function() {\n return this.$annotations || [];\n };\n this.clearAnnotations = function() {\n this.setAnnotations([]);\n };\n this.$detectNewLine = function(text) {\n var match = text.match(/^.*?(\\r?\\n)/m);\n if (match) {\n this.$autoNewLine = match[1];\n } else {\n this.$autoNewLine = \"\\n\";\n }\n };\n this.getWordRange = function(row, column) {\n var line = this.getLine(row);\n\n var inToken = false;\n if (column > 0)\n inToken = !!line.charAt(column - 1).match(this.tokenRe);\n\n if (!inToken)\n inToken = !!line.charAt(column).match(this.tokenRe);\n\n if (inToken)\n var re = this.tokenRe;\n else if (/^\\s+$/.test(line.slice(column-1, column+1)))\n var re = /\\s/;\n else\n var re = this.nonTokenRe;\n\n var start = column;\n if (start > 0) {\n do {\n start--;\n }\n while (start >= 0 && line.charAt(start).match(re));\n start++;\n }\n\n var end = column;\n while (end < line.length && line.charAt(end).match(re)) {\n end++;\n }\n\n return new Range(row, start, row, end);\n };\n this.getAWordRange = function(row, column) {\n var wordRange = this.getWordRange(row, column);\n var line = this.getLine(wordRange.end.row);\n\n while (line.charAt(wordRange.end.column).match(/[ \\t]/)) {\n wordRange.end.column += 1;\n }\n return wordRange;\n };\n this.setNewLineMode = function(newLineMode) {\n this.doc.setNewLineMode(newLineMode);\n };\n this.getNewLineMode = function() {\n return this.doc.getNewLineMode();\n };\n this.setUseWorker = function(useWorker) { this.setOption(\"useWorker\", useWorker); };\n this.getUseWorker = function() { return this.$useWorker; };\n this.onReloadTokenizer = function(e) {\n var rows = e.data;\n this.bgTokenizer.start(rows.first);\n this._signal(\"tokenizerUpdate\", e);\n };\n\n this.$modes = {};\n this.$mode = null;\n this.$modeId = null;\n this.setMode = function(mode, cb) {\n if (mode && typeof mode === \"object\") {\n if (mode.getTokenizer)\n return this.$onChangeMode(mode);\n var options = mode;\n var path = options.path;\n } else {\n path = mode || \"ace/mode/text\";\n }\n if (!this.$modes[\"ace/mode/text\"])\n this.$modes[\"ace/mode/text\"] = new TextMode();\n\n if (this.$modes[path] && !options) {\n this.$onChangeMode(this.$modes[path]);\n cb && cb();\n return;\n }\n this.$modeId = path;\n config.loadModule([\"mode\", path], function(m) {\n if (this.$modeId !== path)\n return cb && cb();\n if (this.$modes[path] && !options) {\n this.$onChangeMode(this.$modes[path]);\n } else if (m && m.Mode) {\n m = new m.Mode(options);\n if (!options) {\n this.$modes[path] = m;\n m.$id = path;\n }\n this.$onChangeMode(m);\n }\n cb && cb();\n }.bind(this));\n if (!this.$mode)\n this.$onChangeMode(this.$modes[\"ace/mode/text\"], true);\n };\n\n this.$onChangeMode = function(mode, $isPlaceholder) {\n if (!$isPlaceholder)\n this.$modeId = mode.$id;\n if (this.$mode === mode) \n return;\n\n this.$mode = mode;\n\n this.$stopWorker();\n\n if (this.$useWorker)\n this.$startWorker();\n\n var tokenizer = mode.getTokenizer();\n\n if(tokenizer.addEventListener !== undefined) {\n var onReloadTokenizer = this.onReloadTokenizer.bind(this);\n tokenizer.addEventListener(\"update\", onReloadTokenizer);\n }\n\n if (!this.bgTokenizer) {\n this.bgTokenizer = new BackgroundTokenizer(tokenizer);\n var _self = this;\n this.bgTokenizer.addEventListener(\"update\", function(e) {\n _self._signal(\"tokenizerUpdate\", e);\n });\n } else {\n this.bgTokenizer.setTokenizer(tokenizer);\n }\n\n this.bgTokenizer.setDocument(this.getDocument());\n\n this.tokenRe = mode.tokenRe;\n this.nonTokenRe = mode.nonTokenRe;\n\n \n if (!$isPlaceholder) {\n if (mode.attachToSession)\n mode.attachToSession(this);\n this.$options.wrapMethod.set.call(this, this.$wrapMethod);\n this.$setFolding(mode.foldingRules);\n this.bgTokenizer.start(0);\n this._emit(\"changeMode\");\n }\n };\n\n this.$stopWorker = function() {\n if (this.$worker) {\n this.$worker.terminate();\n this.$worker = null;\n }\n };\n\n this.$startWorker = function() {\n try {\n this.$worker = this.$mode.createWorker(this);\n } catch (e) {\n config.warn(\"Could not load worker\", e);\n this.$worker = null;\n }\n };\n this.getMode = function() {\n return this.$mode;\n };\n\n this.$scrollTop = 0;\n this.setScrollTop = function(scrollTop) {\n if (this.$scrollTop === scrollTop || isNaN(scrollTop))\n return;\n\n this.$scrollTop = scrollTop;\n this._signal(\"changeScrollTop\", scrollTop);\n };\n this.getScrollTop = function() {\n return this.$scrollTop;\n };\n\n this.$scrollLeft = 0;\n this.setScrollLeft = function(scrollLeft) {\n if (this.$scrollLeft === scrollLeft || isNaN(scrollLeft))\n return;\n\n this.$scrollLeft = scrollLeft;\n this._signal(\"changeScrollLeft\", scrollLeft);\n };\n this.getScrollLeft = function() {\n return this.$scrollLeft;\n };\n this.getScreenWidth = function() {\n this.$computeWidth();\n if (this.lineWidgets) \n return Math.max(this.getLineWidgetMaxWidth(), this.screenWidth);\n return this.screenWidth;\n };\n \n this.getLineWidgetMaxWidth = function() {\n if (this.lineWidgetsWidth != null) return this.lineWidgetsWidth;\n var width = 0;\n this.lineWidgets.forEach(function(w) {\n if (w && w.screenWidth > width)\n width = w.screenWidth;\n });\n return this.lineWidgetWidth = width;\n };\n\n this.$computeWidth = function(force) {\n if (this.$modified || force) {\n this.$modified = false;\n\n if (this.$useWrapMode)\n return this.screenWidth = this.$wrapLimit;\n\n var lines = this.doc.getAllLines();\n var cache = this.$rowLengthCache;\n var longestScreenLine = 0;\n var foldIndex = 0;\n var foldLine = this.$foldData[foldIndex];\n var foldStart = foldLine ? foldLine.start.row : Infinity;\n var len = lines.length;\n\n for (var i = 0; i < len; i++) {\n if (i > foldStart) {\n i = foldLine.end.row + 1;\n if (i >= len)\n break;\n foldLine = this.$foldData[foldIndex++];\n foldStart = foldLine ? foldLine.start.row : Infinity;\n }\n\n if (cache[i] == null)\n cache[i] = this.$getStringScreenWidth(lines[i])[0];\n\n if (cache[i] > longestScreenLine)\n longestScreenLine = cache[i];\n }\n this.screenWidth = longestScreenLine;\n }\n };\n this.getLine = function(row) {\n return this.doc.getLine(row);\n };\n this.getLines = function(firstRow, lastRow) {\n return this.doc.getLines(firstRow, lastRow);\n };\n this.getLength = function() {\n return this.doc.getLength();\n };\n this.getTextRange = function(range) {\n return this.doc.getTextRange(range || this.selection.getRange());\n };\n this.insert = function(position, text) {\n return this.doc.insert(position, text);\n };\n this.remove = function(range) {\n return this.doc.remove(range);\n };\n this.removeFullLines = function(firstRow, lastRow){\n return this.doc.removeFullLines(firstRow, lastRow);\n };\n this.undoChanges = function(deltas, dontSelect) {\n if (!deltas.length)\n return;\n\n this.$fromUndo = true;\n var lastUndoRange = null;\n for (var i = deltas.length - 1; i != -1; i--) {\n var delta = deltas[i];\n if (delta.group == \"doc\") {\n this.doc.revertDeltas(delta.deltas);\n lastUndoRange =\n this.$getUndoSelection(delta.deltas, true, lastUndoRange);\n } else {\n delta.deltas.forEach(function(foldDelta) {\n this.addFolds(foldDelta.folds);\n }, this);\n }\n }\n this.$fromUndo = false;\n lastUndoRange &&\n this.$undoSelect &&\n !dontSelect &&\n this.selection.setSelectionRange(lastUndoRange);\n return lastUndoRange;\n };\n this.redoChanges = function(deltas, dontSelect) {\n if (!deltas.length)\n return;\n\n this.$fromUndo = true;\n var lastUndoRange = null;\n for (var i = 0; i < deltas.length; i++) {\n var delta = deltas[i];\n if (delta.group == \"doc\") {\n this.doc.applyDeltas(delta.deltas);\n lastUndoRange =\n this.$getUndoSelection(delta.deltas, false, lastUndoRange);\n }\n }\n this.$fromUndo = false;\n lastUndoRange &&\n this.$undoSelect &&\n !dontSelect &&\n this.selection.setSelectionRange(lastUndoRange);\n return lastUndoRange;\n };\n this.setUndoSelect = function(enable) {\n this.$undoSelect = enable;\n };\n\n this.$getUndoSelection = function(deltas, isUndo, lastUndoRange) {\n function isInsert(delta) {\n return isUndo ? delta.action !== \"insert\" : delta.action === \"insert\";\n }\n\n var delta = deltas[0];\n var range, point;\n var lastDeltaIsInsert = false;\n if (isInsert(delta)) {\n range = Range.fromPoints(delta.start, delta.end);\n lastDeltaIsInsert = true;\n } else {\n range = Range.fromPoints(delta.start, delta.start);\n lastDeltaIsInsert = false;\n }\n\n for (var i = 1; i < deltas.length; i++) {\n delta = deltas[i];\n if (isInsert(delta)) {\n point = delta.start;\n if (range.compare(point.row, point.column) == -1) {\n range.setStart(point);\n }\n point = delta.end;\n if (range.compare(point.row, point.column) == 1) {\n range.setEnd(point);\n }\n lastDeltaIsInsert = true;\n } else {\n point = delta.start;\n if (range.compare(point.row, point.column) == -1) {\n range = Range.fromPoints(delta.start, delta.start);\n }\n lastDeltaIsInsert = false;\n }\n }\n if (lastUndoRange != null) {\n if (Range.comparePoints(lastUndoRange.start, range.start) === 0) {\n lastUndoRange.start.column += range.end.column - range.start.column;\n lastUndoRange.end.column += range.end.column - range.start.column;\n }\n\n var cmp = lastUndoRange.compareRange(range);\n if (cmp == 1) {\n range.setStart(lastUndoRange.start);\n } else if (cmp == -1) {\n range.setEnd(lastUndoRange.end);\n }\n }\n\n return range;\n };\n this.replace = function(range, text) {\n return this.doc.replace(range, text);\n };\n this.moveText = function(fromRange, toPosition, copy) {\n var text = this.getTextRange(fromRange);\n var folds = this.getFoldsInRange(fromRange);\n\n var toRange = Range.fromPoints(toPosition, toPosition);\n if (!copy) {\n this.remove(fromRange);\n var rowDiff = fromRange.start.row - fromRange.end.row;\n var collDiff = rowDiff ? -fromRange.end.column : fromRange.start.column - fromRange.end.column;\n if (collDiff) {\n if (toRange.start.row == fromRange.end.row && toRange.start.column > fromRange.end.column)\n toRange.start.column += collDiff;\n if (toRange.end.row == fromRange.end.row && toRange.end.column > fromRange.end.column)\n toRange.end.column += collDiff;\n }\n if (rowDiff && toRange.start.row >= fromRange.end.row) {\n toRange.start.row += rowDiff;\n toRange.end.row += rowDiff;\n }\n }\n\n toRange.end = this.insert(toRange.start, text);\n if (folds.length) {\n var oldStart = fromRange.start;\n var newStart = toRange.start;\n var rowDiff = newStart.row - oldStart.row;\n var collDiff = newStart.column - oldStart.column;\n this.addFolds(folds.map(function(x) {\n x = x.clone();\n if (x.start.row == oldStart.row)\n x.start.column += collDiff;\n if (x.end.row == oldStart.row)\n x.end.column += collDiff;\n x.start.row += rowDiff;\n x.end.row += rowDiff;\n return x;\n }));\n }\n\n return toRange;\n };\n this.indentRows = function(startRow, endRow, indentString) {\n indentString = indentString.replace(/\\t/g, this.getTabString());\n for (var row=startRow; row<=endRow; row++)\n this.doc.insertInLine({row: row, column: 0}, indentString);\n };\n this.outdentRows = function (range) {\n var rowRange = range.collapseRows();\n var deleteRange = new Range(0, 0, 0, 0);\n var size = this.getTabSize();\n\n for (var i = rowRange.start.row; i <= rowRange.end.row; ++i) {\n var line = this.getLine(i);\n\n deleteRange.start.row = i;\n deleteRange.end.row = i;\n for (var j = 0; j < size; ++j)\n if (line.charAt(j) != ' ')\n break;\n if (j < size && line.charAt(j) == '\\t') {\n deleteRange.start.column = j;\n deleteRange.end.column = j + 1;\n } else {\n deleteRange.start.column = 0;\n deleteRange.end.column = j;\n }\n this.remove(deleteRange);\n }\n };\n\n this.$moveLines = function(firstRow, lastRow, dir) {\n firstRow = this.getRowFoldStart(firstRow);\n lastRow = this.getRowFoldEnd(lastRow);\n if (dir < 0) {\n var row = this.getRowFoldStart(firstRow + dir);\n if (row < 0) return 0;\n var diff = row-firstRow;\n } else if (dir > 0) {\n var row = this.getRowFoldEnd(lastRow + dir);\n if (row > this.doc.getLength()-1) return 0;\n var diff = row-lastRow;\n } else {\n firstRow = this.$clipRowToDocument(firstRow);\n lastRow = this.$clipRowToDocument(lastRow);\n var diff = lastRow - firstRow + 1;\n }\n\n var range = new Range(firstRow, 0, lastRow, Number.MAX_VALUE);\n var folds = this.getFoldsInRange(range).map(function(x){\n x = x.clone();\n x.start.row += diff;\n x.end.row += diff;\n return x;\n });\n \n var lines = dir == 0\n ? this.doc.getLines(firstRow, lastRow)\n : this.doc.removeFullLines(firstRow, lastRow);\n this.doc.insertFullLines(firstRow+diff, lines);\n folds.length && this.addFolds(folds);\n return diff;\n };\n this.moveLinesUp = function(firstRow, lastRow) {\n return this.$moveLines(firstRow, lastRow, -1);\n };\n this.moveLinesDown = function(firstRow, lastRow) {\n return this.$moveLines(firstRow, lastRow, 1);\n };\n this.duplicateLines = function(firstRow, lastRow) {\n return this.$moveLines(firstRow, lastRow, 0);\n };\n\n\n this.$clipRowToDocument = function(row) {\n return Math.max(0, Math.min(row, this.doc.getLength()-1));\n };\n\n this.$clipColumnToRow = function(row, column) {\n if (column < 0)\n return 0;\n return Math.min(this.doc.getLine(row).length, column);\n };\n\n\n this.$clipPositionToDocument = function(row, column) {\n column = Math.max(0, column);\n\n if (row < 0) {\n row = 0;\n column = 0;\n } else {\n var len = this.doc.getLength();\n if (row >= len) {\n row = len - 1;\n column = this.doc.getLine(len-1).length;\n } else {\n column = Math.min(this.doc.getLine(row).length, column);\n }\n }\n\n return {\n row: row,\n column: column\n };\n };\n\n this.$clipRangeToDocument = function(range) {\n if (range.start.row < 0) {\n range.start.row = 0;\n range.start.column = 0;\n } else {\n range.start.column = this.$clipColumnToRow(\n range.start.row,\n range.start.column\n );\n }\n\n var len = this.doc.getLength() - 1;\n if (range.end.row > len) {\n range.end.row = len;\n range.end.column = this.doc.getLine(len).length;\n } else {\n range.end.column = this.$clipColumnToRow(\n range.end.row,\n range.end.column\n );\n }\n return range;\n };\n this.$wrapLimit = 80;\n this.$useWrapMode = false;\n this.$wrapLimitRange = {\n min : null,\n max : null\n };\n this.setUseWrapMode = function(useWrapMode) {\n if (useWrapMode != this.$useWrapMode) {\n this.$useWrapMode = useWrapMode;\n this.$modified = true;\n this.$resetRowCache(0);\n if (useWrapMode) {\n var len = this.getLength();\n this.$wrapData = Array(len);\n this.$updateWrapData(0, len - 1);\n }\n\n this._signal(\"changeWrapMode\");\n }\n };\n this.getUseWrapMode = function() {\n return this.$useWrapMode;\n };\n this.setWrapLimitRange = function(min, max) {\n if (this.$wrapLimitRange.min !== min || this.$wrapLimitRange.max !== max) {\n this.$wrapLimitRange = { min: min, max: max };\n this.$modified = true;\n if (this.$useWrapMode)\n this._signal(\"changeWrapMode\");\n }\n };\n this.adjustWrapLimit = function(desiredLimit, $printMargin) {\n var limits = this.$wrapLimitRange;\n if (limits.max < 0)\n limits = {min: $printMargin, max: $printMargin};\n var wrapLimit = this.$constrainWrapLimit(desiredLimit, limits.min, limits.max);\n if (wrapLimit != this.$wrapLimit && wrapLimit > 1) {\n this.$wrapLimit = wrapLimit;\n this.$modified = true;\n if (this.$useWrapMode) {\n this.$updateWrapData(0, this.getLength() - 1);\n this.$resetRowCache(0);\n this._signal(\"changeWrapLimit\");\n }\n return true;\n }\n return false;\n };\n\n this.$constrainWrapLimit = function(wrapLimit, min, max) {\n if (min)\n wrapLimit = Math.max(min, wrapLimit);\n\n if (max)\n wrapLimit = Math.min(max, wrapLimit);\n\n return wrapLimit;\n };\n this.getWrapLimit = function() {\n return this.$wrapLimit;\n };\n this.setWrapLimit = function (limit) {\n this.setWrapLimitRange(limit, limit);\n };\n this.getWrapLimitRange = function() {\n return {\n min : this.$wrapLimitRange.min,\n max : this.$wrapLimitRange.max\n };\n };\n\n this.$updateInternalDataOnChange = function(delta) {\n var useWrapMode = this.$useWrapMode;\n var action = delta.action;\n var start = delta.start;\n var end = delta.end;\n var firstRow = start.row;\n var lastRow = end.row;\n var len = lastRow - firstRow;\n var removedFolds = null;\n \n this.$updating = true;\n if (len != 0) {\n if (action === \"remove\") {\n this[useWrapMode ? \"$wrapData\" : \"$rowLengthCache\"].splice(firstRow, len);\n\n var foldLines = this.$foldData;\n removedFolds = this.getFoldsInRange(delta);\n this.removeFolds(removedFolds);\n\n var foldLine = this.getFoldLine(end.row);\n var idx = 0;\n if (foldLine) {\n foldLine.addRemoveChars(end.row, end.column, start.column - end.column);\n foldLine.shiftRow(-len);\n\n var foldLineBefore = this.getFoldLine(firstRow);\n if (foldLineBefore && foldLineBefore !== foldLine) {\n foldLineBefore.merge(foldLine);\n foldLine = foldLineBefore;\n }\n idx = foldLines.indexOf(foldLine) + 1;\n }\n\n for (idx; idx < foldLines.length; idx++) {\n var foldLine = foldLines[idx];\n if (foldLine.start.row >= end.row) {\n foldLine.shiftRow(-len);\n }\n }\n\n lastRow = firstRow;\n } else {\n var args = Array(len);\n args.unshift(firstRow, 0);\n var arr = useWrapMode ? this.$wrapData : this.$rowLengthCache\n arr.splice.apply(arr, args);\n var foldLines = this.$foldData;\n var foldLine = this.getFoldLine(firstRow);\n var idx = 0;\n if (foldLine) {\n var cmp = foldLine.range.compareInside(start.row, start.column);\n if (cmp == 0) {\n foldLine = foldLine.split(start.row, start.column);\n if (foldLine) {\n foldLine.shiftRow(len);\n foldLine.addRemoveChars(lastRow, 0, end.column - start.column);\n }\n } else\n if (cmp == -1) {\n foldLine.addRemoveChars(firstRow, 0, end.column - start.column);\n foldLine.shiftRow(len);\n }\n idx = foldLines.indexOf(foldLine) + 1;\n }\n\n for (idx; idx < foldLines.length; idx++) {\n var foldLine = foldLines[idx];\n if (foldLine.start.row >= firstRow) {\n foldLine.shiftRow(len);\n }\n }\n }\n } else {\n len = Math.abs(delta.start.column - delta.end.column);\n if (action === \"remove\") {\n removedFolds = this.getFoldsInRange(delta);\n this.removeFolds(removedFolds);\n\n len = -len;\n }\n var foldLine = this.getFoldLine(firstRow);\n if (foldLine) {\n foldLine.addRemoveChars(firstRow, start.column, len);\n }\n }\n\n if (useWrapMode && this.$wrapData.length != this.doc.getLength()) {\n console.error(\"doc.getLength() and $wrapData.length have to be the same!\");\n }\n this.$updating = false;\n\n if (useWrapMode)\n this.$updateWrapData(firstRow, lastRow);\n else\n this.$updateRowLengthCache(firstRow, lastRow);\n\n return removedFolds;\n };\n\n this.$updateRowLengthCache = function(firstRow, lastRow, b) {\n this.$rowLengthCache[firstRow] = null;\n this.$rowLengthCache[lastRow] = null;\n };\n\n this.$updateWrapData = function(firstRow, lastRow) {\n var lines = this.doc.getAllLines();\n var tabSize = this.getTabSize();\n var wrapData = this.$wrapData;\n var wrapLimit = this.$wrapLimit;\n var tokens;\n var foldLine;\n\n var row = firstRow;\n lastRow = Math.min(lastRow, lines.length - 1);\n while (row <= lastRow) {\n foldLine = this.getFoldLine(row, foldLine);\n if (!foldLine) {\n tokens = this.$getDisplayTokens(lines[row]);\n wrapData[row] = this.$computeWrapSplits(tokens, wrapLimit, tabSize);\n row ++;\n } else {\n tokens = [];\n foldLine.walk(function(placeholder, row, column, lastColumn) {\n var walkTokens;\n if (placeholder != null) {\n walkTokens = this.$getDisplayTokens(\n placeholder, tokens.length);\n walkTokens[0] = PLACEHOLDER_START;\n for (var i = 1; i < walkTokens.length; i++) {\n walkTokens[i] = PLACEHOLDER_BODY;\n }\n } else {\n walkTokens = this.$getDisplayTokens(\n lines[row].substring(lastColumn, column),\n tokens.length);\n }\n tokens = tokens.concat(walkTokens);\n }.bind(this),\n foldLine.end.row,\n lines[foldLine.end.row].length + 1\n );\n\n wrapData[foldLine.start.row] = this.$computeWrapSplits(tokens, wrapLimit, tabSize);\n row = foldLine.end.row + 1;\n }\n }\n };\n var CHAR = 1,\n CHAR_EXT = 2,\n PLACEHOLDER_START = 3,\n PLACEHOLDER_BODY = 4,\n PUNCTUATION = 9,\n SPACE = 10,\n TAB = 11,\n TAB_SPACE = 12;\n\n\n this.$computeWrapSplits = function(tokens, wrapLimit, tabSize) {\n if (tokens.length == 0) {\n return [];\n }\n\n var splits = [];\n var displayLength = tokens.length;\n var lastSplit = 0, lastDocSplit = 0;\n\n var isCode = this.$wrapAsCode;\n\n var indentedSoftWrap = this.$indentedSoftWrap;\n var maxIndent = wrapLimit <= Math.max(2 * tabSize, 8)\n || indentedSoftWrap === false ? 0 : Math.floor(wrapLimit / 2);\n\n function getWrapIndent() {\n var indentation = 0;\n if (maxIndent === 0)\n return indentation;\n if (indentedSoftWrap) {\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i];\n if (token == SPACE)\n indentation += 1;\n else if (token == TAB)\n indentation += tabSize;\n else if (token == TAB_SPACE)\n continue;\n else\n break;\n }\n }\n if (isCode && indentedSoftWrap !== false)\n indentation += tabSize;\n return Math.min(indentation, maxIndent);\n }\n function addSplit(screenPos) {\n var displayed = tokens.slice(lastSplit, screenPos);\n var len = displayed.length;\n displayed.join(\"\")\n .replace(/12/g, function() {\n len -= 1;\n })\n .replace(/2/g, function() {\n len -= 1;\n });\n\n if (!splits.length) {\n indent = getWrapIndent();\n splits.indent = indent;\n }\n lastDocSplit += len;\n splits.push(lastDocSplit);\n lastSplit = screenPos;\n }\n var indent = 0;\n while (displayLength - lastSplit > wrapLimit - indent) {\n var split = lastSplit + wrapLimit - indent;\n if (tokens[split - 1] >= SPACE && tokens[split] >= SPACE) {\n addSplit(split);\n continue;\n }\n if (tokens[split] == PLACEHOLDER_START || tokens[split] == PLACEHOLDER_BODY) {\n for (split; split != lastSplit - 1; split--) {\n if (tokens[split] == PLACEHOLDER_START) {\n break;\n }\n }\n if (split > lastSplit) {\n addSplit(split);\n continue;\n }\n split = lastSplit + wrapLimit;\n for (split; split < tokens.length; split++) {\n if (tokens[split] != PLACEHOLDER_BODY) {\n break;\n }\n }\n if (split == tokens.length) {\n break; // Breaks the while-loop.\n }\n addSplit(split);\n continue;\n }\n var minSplit = Math.max(split - (wrapLimit -(wrapLimit>>2)), lastSplit - 1);\n while (split > minSplit && tokens[split] < PLACEHOLDER_START) {\n split --;\n }\n if (isCode) {\n while (split > minSplit && tokens[split] < PLACEHOLDER_START) {\n split --;\n }\n while (split > minSplit && tokens[split] == PUNCTUATION) {\n split --;\n }\n } else {\n while (split > minSplit && tokens[split] < SPACE) {\n split --;\n }\n }\n if (split > minSplit) {\n addSplit(++split);\n continue;\n }\n split = lastSplit + wrapLimit;\n if (tokens[split] == CHAR_EXT)\n split--;\n addSplit(split - indent);\n }\n return splits;\n };\n this.$getDisplayTokens = function(str, offset) {\n var arr = [];\n var tabSize;\n offset = offset || 0;\n\n for (var i = 0; i < str.length; i++) {\n var c = str.charCodeAt(i);\n if (c == 9) {\n tabSize = this.getScreenTabSize(arr.length + offset);\n arr.push(TAB);\n for (var n = 1; n < tabSize; n++) {\n arr.push(TAB_SPACE);\n }\n }\n else if (c == 32) {\n arr.push(SPACE);\n } else if((c > 39 && c < 48) || (c > 57 && c < 64)) {\n arr.push(PUNCTUATION);\n }\n else if (c >= 0x1100 && isFullWidth(c)) {\n arr.push(CHAR, CHAR_EXT);\n } else {\n arr.push(CHAR);\n }\n }\n return arr;\n };\n this.$getStringScreenWidth = function(str, maxScreenColumn, screenColumn) {\n if (maxScreenColumn == 0)\n return [0, 0];\n if (maxScreenColumn == null)\n maxScreenColumn = Infinity;\n screenColumn = screenColumn || 0;\n\n var c, column;\n for (column = 0; column < str.length; column++) {\n c = str.charCodeAt(column);\n if (c == 9) {\n screenColumn += this.getScreenTabSize(screenColumn);\n }\n else if (c >= 0x1100 && isFullWidth(c)) {\n screenColumn += 2;\n } else {\n screenColumn += 1;\n }\n if (screenColumn > maxScreenColumn) {\n break;\n }\n }\n\n return [screenColumn, column];\n };\n\n this.lineWidgets = null;\n this.getRowLength = function(row) {\n if (this.lineWidgets)\n var h = this.lineWidgets[row] && this.lineWidgets[row].rowCount || 0;\n else \n h = 0\n if (!this.$useWrapMode || !this.$wrapData[row]) {\n return 1 + h;\n } else {\n return this.$wrapData[row].length + 1 + h;\n }\n };\n this.getRowLineCount = function(row) {\n if (!this.$useWrapMode || !this.$wrapData[row]) {\n return 1;\n } else {\n return this.$wrapData[row].length + 1;\n }\n };\n\n this.getRowWrapIndent = function(screenRow) {\n if (this.$useWrapMode) {\n var pos = this.screenToDocumentPosition(screenRow, Number.MAX_VALUE);\n var splits = this.$wrapData[pos.row];\n return splits.length && splits[0] < pos.column ? splits.indent : 0;\n } else {\n return 0;\n }\n }\n this.getScreenLastRowColumn = function(screenRow) {\n var pos = this.screenToDocumentPosition(screenRow, Number.MAX_VALUE);\n return this.documentToScreenColumn(pos.row, pos.column);\n };\n this.getDocumentLastRowColumn = function(docRow, docColumn) {\n var screenRow = this.documentToScreenRow(docRow, docColumn);\n return this.getScreenLastRowColumn(screenRow);\n };\n this.getDocumentLastRowColumnPosition = function(docRow, docColumn) {\n var screenRow = this.documentToScreenRow(docRow, docColumn);\n return this.screenToDocumentPosition(screenRow, Number.MAX_VALUE / 10);\n };\n this.getRowSplitData = function(row) {\n if (!this.$useWrapMode) {\n return undefined;\n } else {\n return this.$wrapData[row];\n }\n };\n this.getScreenTabSize = function(screenColumn) {\n return this.$tabSize - screenColumn % this.$tabSize;\n };\n\n\n this.screenToDocumentRow = function(screenRow, screenColumn) {\n return this.screenToDocumentPosition(screenRow, screenColumn).row;\n };\n\n\n this.screenToDocumentColumn = function(screenRow, screenColumn) {\n return this.screenToDocumentPosition(screenRow, screenColumn).column;\n };\n this.screenToDocumentPosition = function(screenRow, screenColumn) {\n if (screenRow < 0)\n return {row: 0, column: 0};\n\n var line;\n var docRow = 0;\n var docColumn = 0;\n var column;\n var row = 0;\n var rowLength = 0;\n\n var rowCache = this.$screenRowCache;\n var i = this.$getRowCacheIndex(rowCache, screenRow);\n var l = rowCache.length;\n if (l && i >= 0) {\n var row = rowCache[i];\n var docRow = this.$docRowCache[i];\n var doCache = screenRow > rowCache[l - 1];\n } else {\n var doCache = !l;\n }\n\n var maxRow = this.getLength() - 1;\n var foldLine = this.getNextFoldLine(docRow);\n var foldStart = foldLine ? foldLine.start.row : Infinity;\n\n while (row <= screenRow) {\n rowLength = this.getRowLength(docRow);\n if (row + rowLength > screenRow || docRow >= maxRow) {\n break;\n } else {\n row += rowLength;\n docRow++;\n if (docRow > foldStart) {\n docRow = foldLine.end.row+1;\n foldLine = this.getNextFoldLine(docRow, foldLine);\n foldStart = foldLine ? foldLine.start.row : Infinity;\n }\n }\n\n if (doCache) {\n this.$docRowCache.push(docRow);\n this.$screenRowCache.push(row);\n }\n }\n\n if (foldLine && foldLine.start.row <= docRow) {\n line = this.getFoldDisplayLine(foldLine);\n docRow = foldLine.start.row;\n } else if (row + rowLength <= screenRow || docRow > maxRow) {\n return {\n row: maxRow,\n column: this.getLine(maxRow).length\n };\n } else {\n line = this.getLine(docRow);\n foldLine = null;\n }\n var wrapIndent = 0;\n if (this.$useWrapMode) {\n var splits = this.$wrapData[docRow];\n if (splits) {\n var splitIndex = Math.floor(screenRow - row);\n column = splits[splitIndex];\n if(splitIndex > 0 && splits.length) {\n wrapIndent = splits.indent;\n docColumn = splits[splitIndex - 1] || splits[splits.length - 1];\n line = line.substring(docColumn);\n }\n }\n }\n\n docColumn += this.$getStringScreenWidth(line, screenColumn - wrapIndent)[1];\n if (this.$useWrapMode && docColumn >= column)\n docColumn = column - 1;\n\n if (foldLine)\n return foldLine.idxToPosition(docColumn);\n\n return {row: docRow, column: docColumn};\n };\n this.documentToScreenPosition = function(docRow, docColumn) {\n if (typeof docColumn === \"undefined\")\n var pos = this.$clipPositionToDocument(docRow.row, docRow.column);\n else\n pos = this.$clipPositionToDocument(docRow, docColumn);\n\n docRow = pos.row;\n docColumn = pos.column;\n\n var screenRow = 0;\n var foldStartRow = null;\n var fold = null;\n fold = this.getFoldAt(docRow, docColumn, 1);\n if (fold) {\n docRow = fold.start.row;\n docColumn = fold.start.column;\n }\n\n var rowEnd, row = 0;\n\n\n var rowCache = this.$docRowCache;\n var i = this.$getRowCacheIndex(rowCache, docRow);\n var l = rowCache.length;\n if (l && i >= 0) {\n var row = rowCache[i];\n var screenRow = this.$screenRowCache[i];\n var doCache = docRow > rowCache[l - 1];\n } else {\n var doCache = !l;\n }\n\n var foldLine = this.getNextFoldLine(row);\n var foldStart = foldLine ?foldLine.start.row :Infinity;\n\n while (row < docRow) {\n if (row >= foldStart) {\n rowEnd = foldLine.end.row + 1;\n if (rowEnd > docRow)\n break;\n foldLine = this.getNextFoldLine(rowEnd, foldLine);\n foldStart = foldLine ?foldLine.start.row :Infinity;\n }\n else {\n rowEnd = row + 1;\n }\n\n screenRow += this.getRowLength(row);\n row = rowEnd;\n\n if (doCache) {\n this.$docRowCache.push(row);\n this.$screenRowCache.push(screenRow);\n }\n }\n var textLine = \"\";\n if (foldLine && row >= foldStart) {\n textLine = this.getFoldDisplayLine(foldLine, docRow, docColumn);\n foldStartRow = foldLine.start.row;\n } else {\n textLine = this.getLine(docRow).substring(0, docColumn);\n foldStartRow = docRow;\n }\n var wrapIndent = 0;\n if (this.$useWrapMode) {\n var wrapRow = this.$wrapData[foldStartRow];\n if (wrapRow) {\n var screenRowOffset = 0;\n while (textLine.length >= wrapRow[screenRowOffset]) {\n screenRow ++;\n screenRowOffset++;\n }\n textLine = textLine.substring(\n wrapRow[screenRowOffset - 1] || 0, textLine.length\n );\n wrapIndent = screenRowOffset > 0 ? wrapRow.indent : 0;\n }\n }\n\n return {\n row: screenRow,\n column: wrapIndent + this.$getStringScreenWidth(textLine)[0]\n };\n };\n this.documentToScreenColumn = function(row, docColumn) {\n return this.documentToScreenPosition(row, docColumn).column;\n };\n this.documentToScreenRow = function(docRow, docColumn) {\n return this.documentToScreenPosition(docRow, docColumn).row;\n };\n this.getScreenLength = function() {\n var screenRows = 0;\n var fold = null;\n if (!this.$useWrapMode) {\n screenRows = this.getLength();\n var foldData = this.$foldData;\n for (var i = 0; i < foldData.length; i++) {\n fold = foldData[i];\n screenRows -= fold.end.row - fold.start.row;\n }\n } else {\n var lastRow = this.$wrapData.length;\n var row = 0, i = 0;\n var fold = this.$foldData[i++];\n var foldStart = fold ? fold.start.row :Infinity;\n\n while (row < lastRow) {\n var splits = this.$wrapData[row];\n screenRows += splits ? splits.length + 1 : 1;\n row ++;\n if (row > foldStart) {\n row = fold.end.row+1;\n fold = this.$foldData[i++];\n foldStart = fold ?fold.start.row :Infinity;\n }\n }\n }\n if (this.lineWidgets)\n screenRows += this.$getWidgetScreenLength();\n\n return screenRows;\n };\n this.$setFontMetrics = function(fm) {\n if (!this.$enableVarChar) return;\n this.$getStringScreenWidth = function(str, maxScreenColumn, screenColumn) {\n if (maxScreenColumn === 0)\n return [0, 0];\n if (!maxScreenColumn)\n maxScreenColumn = Infinity;\n screenColumn = screenColumn || 0;\n \n var c, column;\n for (column = 0; column < str.length; column++) {\n c = str.charAt(column);\n if (c === \"\\t\") {\n screenColumn += this.getScreenTabSize(screenColumn);\n } else {\n screenColumn += fm.getCharacterWidth(c);\n }\n if (screenColumn > maxScreenColumn) {\n break;\n }\n }\n \n return [screenColumn, column];\n };\n };\n \n this.destroy = function() {\n if (this.bgTokenizer) {\n this.bgTokenizer.setDocument(null);\n this.bgTokenizer = null;\n }\n this.$stopWorker();\n };\n function isFullWidth(c) {\n if (c < 0x1100)\n return false;\n return c >= 0x1100 && c <= 0x115F ||\n c >= 0x11A3 && c <= 0x11A7 ||\n c >= 0x11FA && c <= 0x11FF ||\n c >= 0x2329 && c <= 0x232A ||\n c >= 0x2E80 && c <= 0x2E99 ||\n c >= 0x2E9B && c <= 0x2EF3 ||\n c >= 0x2F00 && c <= 0x2FD5 ||\n c >= 0x2FF0 && c <= 0x2FFB ||\n c >= 0x3000 && c <= 0x303E ||\n c >= 0x3041 && c <= 0x3096 ||\n c >= 0x3099 && c <= 0x30FF ||\n c >= 0x3105 && c <= 0x312D ||\n c >= 0x3131 && c <= 0x318E ||\n c >= 0x3190 && c <= 0x31BA ||\n c >= 0x31C0 && c <= 0x31E3 ||\n c >= 0x31F0 && c <= 0x321E ||\n c >= 0x3220 && c <= 0x3247 ||\n c >= 0x3250 && c <= 0x32FE ||\n c >= 0x3300 && c <= 0x4DBF ||\n c >= 0x4E00 && c <= 0xA48C ||\n c >= 0xA490 && c <= 0xA4C6 ||\n c >= 0xA960 && c <= 0xA97C ||\n c >= 0xAC00 && c <= 0xD7A3 ||\n c >= 0xD7B0 && c <= 0xD7C6 ||\n c >= 0xD7CB && c <= 0xD7FB ||\n c >= 0xF900 && c <= 0xFAFF ||\n c >= 0xFE10 && c <= 0xFE19 ||\n c >= 0xFE30 && c <= 0xFE52 ||\n c >= 0xFE54 && c <= 0xFE66 ||\n c >= 0xFE68 && c <= 0xFE6B ||\n c >= 0xFF01 && c <= 0xFF60 ||\n c >= 0xFFE0 && c <= 0xFFE6;\n }\n\n}).call(EditSession.prototype);\n\nacequire(\"./edit_session/folding\").Folding.call(EditSession.prototype);\nacequire(\"./edit_session/bracket_match\").BracketMatch.call(EditSession.prototype);\n\n\nconfig.defineOptions(EditSession.prototype, \"session\", {\n wrap: {\n set: function(value) {\n if (!value || value == \"off\")\n value = false;\n else if (value == \"free\")\n value = true;\n else if (value == \"printMargin\")\n value = -1;\n else if (typeof value == \"string\")\n value = parseInt(value, 10) || false;\n\n if (this.$wrap == value)\n return;\n this.$wrap = value;\n if (!value) {\n this.setUseWrapMode(false);\n } else {\n var col = typeof value == \"number\" ? value : null;\n this.setWrapLimitRange(col, col);\n this.setUseWrapMode(true);\n }\n },\n get: function() {\n if (this.getUseWrapMode()) {\n if (this.$wrap == -1)\n return \"printMargin\";\n if (!this.getWrapLimitRange().min)\n return \"free\";\n return this.$wrap;\n }\n return \"off\";\n },\n handlesSet: true\n }, \n wrapMethod: {\n set: function(val) {\n val = val == \"auto\"\n ? this.$mode.type != \"text\"\n : val != \"text\";\n if (val != this.$wrapAsCode) {\n this.$wrapAsCode = val;\n if (this.$useWrapMode) {\n this.$modified = true;\n this.$resetRowCache(0);\n this.$updateWrapData(0, this.getLength() - 1);\n }\n }\n },\n initialValue: \"auto\"\n },\n indentedSoftWrap: { initialValue: true },\n firstLineNumber: {\n set: function() {this._signal(\"changeBreakpoint\");},\n initialValue: 1\n },\n useWorker: {\n set: function(useWorker) {\n this.$useWorker = useWorker;\n\n this.$stopWorker();\n if (useWorker)\n this.$startWorker();\n },\n initialValue: true\n },\n useSoftTabs: {initialValue: true},\n tabSize: {\n set: function(tabSize) {\n if (isNaN(tabSize) || this.$tabSize === tabSize) return;\n\n this.$modified = true;\n this.$rowLengthCache = [];\n this.$tabSize = tabSize;\n this._signal(\"changeTabSize\");\n },\n initialValue: 4,\n handlesSet: true\n },\n overwrite: {\n set: function(val) {this._signal(\"changeOverwrite\");},\n initialValue: false\n },\n newLineMode: {\n set: function(val) {this.doc.setNewLineMode(val)},\n get: function() {return this.doc.getNewLineMode()},\n handlesSet: true\n },\n mode: {\n set: function(val) { this.setMode(val) },\n get: function() { return this.$modeId }\n }\n});\n\nexports.EditSession = EditSession;\n});\n\nace.define(\"ace/search\",[\"require\",\"exports\",\"module\",\"ace/lib/lang\",\"ace/lib/oop\",\"ace/range\"], function(acequire, exports, module) {\n\"use strict\";\n\nvar lang = acequire(\"./lib/lang\");\nvar oop = acequire(\"./lib/oop\");\nvar Range = acequire(\"./range\").Range;\n\nvar Search = function() {\n this.$options = {};\n};\n\n(function() {\n this.set = function(options) {\n oop.mixin(this.$options, options);\n return this;\n };\n this.getOptions = function() {\n return lang.copyObject(this.$options);\n };\n this.setOptions = function(options) {\n this.$options = options;\n };\n this.find = function(session) {\n var options = this.$options;\n var iterator = this.$matchIterator(session, options);\n if (!iterator)\n return false;\n\n var firstRange = null;\n iterator.forEach(function(range, row, offset) {\n if (!range.start) {\n var column = range.offset + (offset || 0);\n firstRange = new Range(row, column, row, column + range.length);\n if (!range.length && options.start && options.start.start\n && options.skipCurrent != false && firstRange.isEqual(options.start)\n ) {\n firstRange = null;\n return false;\n }\n } else\n firstRange = range;\n return true;\n });\n\n return firstRange;\n };\n this.findAll = function(session) {\n var options = this.$options;\n if (!options.needle)\n return [];\n this.$assembleRegExp(options);\n\n var range = options.range;\n var lines = range\n ? session.getLines(range.start.row, range.end.row)\n : session.doc.getAllLines();\n\n var ranges = [];\n var re = options.re;\n if (options.$isMultiLine) {\n var len = re.length;\n var maxRow = lines.length - len;\n var prevRange;\n outer: for (var row = re.offset || 0; row <= maxRow; row++) {\n for (var j = 0; j < len; j++)\n if (lines[row + j].search(re[j]) == -1)\n continue outer;\n \n var startLine = lines[row];\n var line = lines[row + len - 1];\n var startIndex = startLine.length - startLine.match(re[0])[0].length;\n var endIndex = line.match(re[len - 1])[0].length;\n \n if (prevRange && prevRange.end.row === row &&\n prevRange.end.column > startIndex\n ) {\n continue;\n }\n ranges.push(prevRange = new Range(\n row, startIndex, row + len - 1, endIndex\n ));\n if (len > 2)\n row = row + len - 2;\n }\n } else {\n for (var i = 0; i < lines.length; i++) {\n var matches = lang.getMatchOffsets(lines[i], re);\n for (var j = 0; j < matches.length; j++) {\n var match = matches[j];\n ranges.push(new Range(i, match.offset, i, match.offset + match.length));\n }\n }\n }\n\n if (range) {\n var startColumn = range.start.column;\n var endColumn = range.start.column;\n var i = 0, j = ranges.length - 1;\n while (i < j && ranges[i].start.column < startColumn && ranges[i].start.row == range.start.row)\n i++;\n\n while (i < j && ranges[j].end.column > endColumn && ranges[j].end.row == range.end.row)\n j--;\n \n ranges = ranges.slice(i, j + 1);\n for (i = 0, j = ranges.length; i < j; i++) {\n ranges[i].start.row += range.start.row;\n ranges[i].end.row += range.start.row;\n }\n }\n\n return ranges;\n };\n this.replace = function(input, replacement) {\n var options = this.$options;\n\n var re = this.$assembleRegExp(options);\n if (options.$isMultiLine)\n return replacement;\n\n if (!re)\n return;\n\n var match = re.exec(input);\n if (!match || match[0].length != input.length)\n return null;\n \n replacement = input.replace(re, replacement);\n if (options.preserveCase) {\n replacement = replacement.split(\"\");\n for (var i = Math.min(input.length, input.length); i--; ) {\n var ch = input[i];\n if (ch && ch.toLowerCase() != ch)\n replacement[i] = replacement[i].toUpperCase();\n else\n replacement[i] = replacement[i].toLowerCase();\n }\n replacement = replacement.join(\"\");\n }\n \n return replacement;\n };\n\n this.$matchIterator = function(session, options) {\n var re = this.$assembleRegExp(options);\n if (!re)\n return false;\n\n var callback;\n if (options.$isMultiLine) {\n var len = re.length;\n var matchIterator = function(line, row, offset) {\n var startIndex = line.search(re[0]);\n if (startIndex == -1)\n return;\n for (var i = 1; i < len; i++) {\n line = session.getLine(row + i);\n if (line.search(re[i]) == -1)\n return;\n }\n\n var endIndex = line.match(re[len - 1])[0].length;\n\n var range = new Range(row, startIndex, row + len - 1, endIndex);\n if (re.offset == 1) {\n range.start.row--;\n range.start.column = Number.MAX_VALUE;\n } else if (offset)\n range.start.column += offset;\n\n if (callback(range))\n return true;\n };\n } else if (options.backwards) {\n var matchIterator = function(line, row, startIndex) {\n var matches = lang.getMatchOffsets(line, re);\n for (var i = matches.length-1; i >= 0; i--)\n if (callback(matches[i], row, startIndex))\n return true;\n };\n } else {\n var matchIterator = function(line, row, startIndex) {\n var matches = lang.getMatchOffsets(line, re);\n for (var i = 0; i < matches.length; i++)\n if (callback(matches[i], row, startIndex))\n return true;\n };\n }\n \n var lineIterator = this.$lineIterator(session, options);\n\n return {\n forEach: function(_callback) {\n callback = _callback;\n lineIterator.forEach(matchIterator);\n }\n };\n };\n\n this.$assembleRegExp = function(options, $disableFakeMultiline) {\n if (options.needle instanceof RegExp)\n return options.re = options.needle;\n\n var needle = options.needle;\n\n if (!options.needle)\n return options.re = false;\n\n if (!options.regExp)\n needle = lang.escapeRegExp(needle);\n\n if (options.wholeWord)\n needle = \"\\\\b\" + needle + \"\\\\b\";\n\n var modifier = options.caseSensitive ? \"gm\" : \"gmi\";\n\n options.$isMultiLine = !$disableFakeMultiline && /[\\n\\r]/.test(needle);\n if (options.$isMultiLine)\n return options.re = this.$assembleMultilineRegExp(needle, modifier);\n\n try {\n var re = new RegExp(needle, modifier);\n } catch(e) {\n re = false;\n }\n return options.re = re;\n };\n\n this.$assembleMultilineRegExp = function(needle, modifier) {\n var parts = needle.replace(/\\r\\n|\\r|\\n/g, \"$\\n^\").split(\"\\n\");\n var re = [];\n for (var i = 0; i < parts.length; i++) try {\n re.push(new RegExp(parts[i], modifier));\n } catch(e) {\n return false;\n }\n if (parts[0] == \"\") {\n re.shift();\n re.offset = 1;\n } else {\n re.offset = 0;\n }\n return re;\n };\n\n this.$lineIterator = function(session, options) {\n var backwards = options.backwards == true;\n var skipCurrent = options.skipCurrent != false;\n\n var range = options.range;\n var start = options.start;\n if (!start)\n start = range ? range[backwards ? \"end\" : \"start\"] : session.selection.getRange();\n \n if (start.start)\n start = start[skipCurrent != backwards ? \"end\" : \"start\"];\n\n var firstRow = range ? range.start.row : 0;\n var lastRow = range ? range.end.row : session.getLength() - 1;\n\n var forEach = backwards ? function(callback) {\n var row = start.row;\n\n var line = session.getLine(row).substring(0, start.column);\n if (callback(line, row))\n return;\n\n for (row--; row >= firstRow; row--)\n if (callback(session.getLine(row), row))\n return;\n\n if (options.wrap == false)\n return;\n\n for (row = lastRow, firstRow = start.row; row >= firstRow; row--)\n if (callback(session.getLine(row), row))\n return;\n } : function(callback) {\n var row = start.row;\n\n var line = session.getLine(row).substr(start.column);\n if (callback(line, row, start.column))\n return;\n\n for (row = row+1; row <= lastRow; row++)\n if (callback(session.getLine(row), row))\n return;\n\n if (options.wrap == false)\n return;\n\n for (row = firstRow, lastRow = start.row; row <= lastRow; row++)\n if (callback(session.getLine(row), row))\n return;\n };\n \n return {forEach: forEach};\n };\n\n}).call(Search.prototype);\n\nexports.Search = Search;\n});\n\nace.define(\"ace/keyboard/hash_handler\",[\"require\",\"exports\",\"module\",\"ace/lib/keys\",\"ace/lib/useragent\"], function(acequire, exports, module) {\n\"use strict\";\n\nvar keyUtil = acequire(\"../lib/keys\");\nvar useragent = acequire(\"../lib/useragent\");\nvar KEY_MODS = keyUtil.KEY_MODS;\n\nfunction HashHandler(config, platform) {\n this.platform = platform || (useragent.isMac ? \"mac\" : \"win\");\n this.commands = {};\n this.commandKeyBinding = {};\n this.addCommands(config);\n this.$singleCommand = true;\n}\n\nfunction MultiHashHandler(config, platform) {\n HashHandler.call(this, config, platform);\n this.$singleCommand = false;\n}\n\nMultiHashHandler.prototype = HashHandler.prototype;\n\n(function() {\n \n\n this.addCommand = function(command) {\n if (this.commands[command.name])\n this.removeCommand(command);\n\n this.commands[command.name] = command;\n\n if (command.bindKey)\n this._buildKeyHash(command);\n };\n\n this.removeCommand = function(command, keepCommand) {\n var name = command && (typeof command === 'string' ? command : command.name);\n command = this.commands[name];\n if (!keepCommand)\n delete this.commands[name];\n var ckb = this.commandKeyBinding;\n for (var keyId in ckb) {\n var cmdGroup = ckb[keyId];\n if (cmdGroup == command) {\n delete ckb[keyId];\n } else if (Array.isArray(cmdGroup)) {\n var i = cmdGroup.indexOf(command);\n if (i != -1) {\n cmdGroup.splice(i, 1);\n if (cmdGroup.length == 1)\n ckb[keyId] = cmdGroup[0];\n }\n }\n }\n };\n\n this.bindKey = function(key, command, position) {\n if (typeof key == \"object\" && key) {\n if (position == undefined)\n position = key.position;\n key = key[this.platform];\n }\n if (!key)\n return;\n if (typeof command == \"function\")\n return this.addCommand({exec: command, bindKey: key, name: command.name || key});\n \n key.split(\"|\").forEach(function(keyPart) {\n var chain = \"\";\n if (keyPart.indexOf(\" \") != -1) {\n var parts = keyPart.split(/\\s+/);\n keyPart = parts.pop();\n parts.forEach(function(keyPart) {\n var binding = this.parseKeys(keyPart);\n var id = KEY_MODS[binding.hashId] + binding.key;\n chain += (chain ? \" \" : \"\") + id;\n this._addCommandToBinding(chain, \"chainKeys\");\n }, this);\n chain += \" \";\n }\n var binding = this.parseKeys(keyPart);\n var id = KEY_MODS[binding.hashId] + binding.key;\n this._addCommandToBinding(chain + id, command, position);\n }, this);\n };\n \n function getPosition(command) {\n return typeof command == \"object\" && command.bindKey\n && command.bindKey.position || 0;\n }\n this._addCommandToBinding = function(keyId, command, position) {\n var ckb = this.commandKeyBinding, i;\n if (!command) {\n delete ckb[keyId];\n } else if (!ckb[keyId] || this.$singleCommand) {\n ckb[keyId] = command;\n } else {\n if (!Array.isArray(ckb[keyId])) {\n ckb[keyId] = [ckb[keyId]];\n } else if ((i = ckb[keyId].indexOf(command)) != -1) {\n ckb[keyId].splice(i, 1);\n }\n\n if (typeof position != \"number\") {\n if (position || command.isDefault)\n position = -100;\n else\n position = getPosition(command);\n }\n var commands = ckb[keyId];\n for (i = 0; i < commands.length; i++) {\n var other = commands[i];\n var otherPos = getPosition(other);\n if (otherPos > position)\n break;\n }\n commands.splice(i, 0, command);\n }\n };\n\n this.addCommands = function(commands) {\n commands && Object.keys(commands).forEach(function(name) {\n var command = commands[name];\n if (!command)\n return;\n \n if (typeof command === \"string\")\n return this.bindKey(command, name);\n\n if (typeof command === \"function\")\n command = { exec: command };\n\n if (typeof command !== \"object\")\n return;\n\n if (!command.name)\n command.name = name;\n\n this.addCommand(command);\n }, this);\n };\n\n this.removeCommands = function(commands) {\n Object.keys(commands).forEach(function(name) {\n this.removeCommand(commands[name]);\n }, this);\n };\n\n this.bindKeys = function(keyList) {\n Object.keys(keyList).forEach(function(key) {\n this.bindKey(key, keyList[key]);\n }, this);\n };\n\n this._buildKeyHash = function(command) {\n this.bindKey(command.bindKey, command);\n };\n this.parseKeys = function(keys) {\n var parts = keys.toLowerCase().split(/[\\-\\+]([\\-\\+])?/).filter(function(x){return x});\n var key = parts.pop();\n\n var keyCode = keyUtil[key];\n if (keyUtil.FUNCTION_KEYS[keyCode])\n key = keyUtil.FUNCTION_KEYS[keyCode].toLowerCase();\n else if (!parts.length)\n return {key: key, hashId: -1};\n else if (parts.length == 1 && parts[0] == \"shift\")\n return {key: key.toUpperCase(), hashId: -1};\n\n var hashId = 0;\n for (var i = parts.length; i--;) {\n var modifier = keyUtil.KEY_MODS[parts[i]];\n if (modifier == null) {\n if (typeof console != \"undefined\")\n console.error(\"invalid modifier \" + parts[i] + \" in \" + keys);\n return false;\n }\n hashId |= modifier;\n }\n return {key: key, hashId: hashId};\n };\n\n this.findKeyCommand = function findKeyCommand(hashId, keyString) {\n var key = KEY_MODS[hashId] + keyString;\n return this.commandKeyBinding[key];\n };\n\n this.handleKeyboard = function(data, hashId, keyString, keyCode) {\n if (keyCode < 0) return;\n var key = KEY_MODS[hashId] + keyString;\n var command = this.commandKeyBinding[key];\n if (data.$keyChain) {\n data.$keyChain += \" \" + key;\n command = this.commandKeyBinding[data.$keyChain] || command;\n }\n \n if (command) {\n if (command == \"chainKeys\" || command[command.length - 1] == \"chainKeys\") {\n data.$keyChain = data.$keyChain || key;\n return {command: \"null\"};\n }\n }\n \n if (data.$keyChain) {\n if ((!hashId || hashId == 4) && keyString.length == 1)\n data.$keyChain = data.$keyChain.slice(0, -key.length - 1); // wait for input\n else if (hashId == -1 || keyCode > 0)\n data.$keyChain = \"\"; // reset keyChain\n }\n return {command: command};\n };\n \n this.getStatusText = function(editor, data) {\n return data.$keyChain || \"\";\n };\n\n}).call(HashHandler.prototype);\n\nexports.HashHandler = HashHandler;\nexports.MultiHashHandler = MultiHashHandler;\n});\n\nace.define(\"ace/commands/command_manager\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/keyboard/hash_handler\",\"ace/lib/event_emitter\"], function(acequire, exports, module) {\n\"use strict\";\n\nvar oop = acequire(\"../lib/oop\");\nvar MultiHashHandler = acequire(\"../keyboard/hash_handler\").MultiHashHandler;\nvar EventEmitter = acequire(\"../lib/event_emitter\").EventEmitter;\n\nvar CommandManager = function(platform, commands) {\n MultiHashHandler.call(this, commands, platform);\n this.byName = this.commands;\n this.setDefaultHandler(\"exec\", function(e) {\n return e.command.exec(e.editor, e.args || {});\n });\n};\n\noop.inherits(CommandManager, MultiHashHandler);\n\n(function() {\n\n oop.implement(this, EventEmitter);\n\n this.exec = function(command, editor, args) {\n if (Array.isArray(command)) {\n for (var i = command.length; i--; ) {\n if (this.exec(command[i], editor, args)) return true;\n }\n return false;\n }\n \n if (typeof command === \"string\")\n command = this.commands[command];\n\n if (!command)\n return false;\n\n if (editor && editor.$readOnly && !command.readOnly)\n return false;\n\n var e = {editor: editor, command: command, args: args};\n e.returnValue = this._emit(\"exec\", e);\n this._signal(\"afterExec\", e);\n\n return e.returnValue === false ? false : true;\n };\n\n this.toggleRecording = function(editor) {\n if (this.$inReplay)\n return;\n\n editor && editor._emit(\"changeStatus\");\n if (this.recording) {\n this.macro.pop();\n this.removeEventListener(\"exec\", this.$addCommandToMacro);\n\n if (!this.macro.length)\n this.macro = this.oldMacro;\n\n return this.recording = false;\n }\n if (!this.$addCommandToMacro) {\n this.$addCommandToMacro = function(e) {\n this.macro.push([e.command, e.args]);\n }.bind(this);\n }\n\n this.oldMacro = this.macro;\n this.macro = [];\n this.on(\"exec\", this.$addCommandToMacro);\n return this.recording = true;\n };\n\n this.replay = function(editor) {\n if (this.$inReplay || !this.macro)\n return;\n\n if (this.recording)\n return this.toggleRecording(editor);\n\n try {\n this.$inReplay = true;\n this.macro.forEach(function(x) {\n if (typeof x == \"string\")\n this.exec(x, editor);\n else\n this.exec(x[0], editor, x[1]);\n }, this);\n } finally {\n this.$inReplay = false;\n }\n };\n\n this.trimMacro = function(m) {\n return m.map(function(x){\n if (typeof x[0] != \"string\")\n x[0] = x[0].name;\n if (!x[1])\n x = x[0];\n return x;\n });\n };\n\n}).call(CommandManager.prototype);\n\nexports.CommandManager = CommandManager;\n\n});\n\nace.define(\"ace/commands/default_commands\",[\"require\",\"exports\",\"module\",\"ace/lib/lang\",\"ace/config\",\"ace/range\"], function(acequire, exports, module) {\n\"use strict\";\n\nvar lang = acequire(\"../lib/lang\");\nvar config = acequire(\"../config\");\nvar Range = acequire(\"../range\").Range;\n\nfunction bindKey(win, mac) {\n return {win: win, mac: mac};\n}\nexports.commands = [{\n name: \"showSettingsMenu\",\n bindKey: bindKey(\"Ctrl-,\", \"Command-,\"),\n exec: function(editor) {\n config.loadModule(\"ace/ext/settings_menu\", function(module) {\n module.init(editor);\n editor.showSettingsMenu();\n });\n },\n readOnly: true\n}, {\n name: \"goToNextError\",\n bindKey: bindKey(\"Alt-E\", \"Ctrl-E\"),\n exec: function(editor) {\n config.loadModule(\"ace/ext/error_marker\", function(module) {\n module.showErrorMarker(editor, 1);\n });\n },\n scrollIntoView: \"animate\",\n readOnly: true\n}, {\n name: \"goToPreviousError\",\n bindKey: bindKey(\"Alt-Shift-E\", \"Ctrl-Shift-E\"),\n exec: function(editor) {\n config.loadModule(\"ace/ext/error_marker\", function(module) {\n module.showErrorMarker(editor, -1);\n });\n },\n scrollIntoView: \"animate\",\n readOnly: true\n}, {\n name: \"selectall\",\n bindKey: bindKey(\"Ctrl-A\", \"Command-A\"),\n exec: function(editor) { editor.selectAll(); },\n readOnly: true\n}, {\n name: \"centerselection\",\n bindKey: bindKey(null, \"Ctrl-L\"),\n exec: function(editor) { editor.centerSelection(); },\n readOnly: true\n}, {\n name: \"gotoline\",\n bindKey: bindKey(\"Ctrl-L\", \"Command-L\"),\n exec: function(editor) {\n var line = parseInt(prompt(\"Enter line number:\"), 10);\n if (!isNaN(line)) {\n editor.gotoLine(line);\n }\n },\n readOnly: true\n}, {\n name: \"fold\",\n bindKey: bindKey(\"Alt-L|Ctrl-F1\", \"Command-Alt-L|Command-F1\"),\n exec: function(editor) { editor.session.toggleFold(false); },\n multiSelectAction: \"forEach\",\n scrollIntoView: \"center\",\n readOnly: true\n}, {\n name: \"unfold\",\n bindKey: bindKey(\"Alt-Shift-L|Ctrl-Shift-F1\", \"Command-Alt-Shift-L|Command-Shift-F1\"),\n exec: function(editor) { editor.session.toggleFold(true); },\n multiSelectAction: \"forEach\",\n scrollIntoView: \"center\",\n readOnly: true\n}, {\n name: \"toggleFoldWidget\",\n bindKey: bindKey(\"F2\", \"F2\"),\n exec: function(editor) { editor.session.toggleFoldWidget(); },\n multiSelectAction: \"forEach\",\n scrollIntoView: \"center\",\n readOnly: true\n}, {\n name: \"toggleParentFoldWidget\",\n bindKey: bindKey(\"Alt-F2\", \"Alt-F2\"),\n exec: function(editor) { editor.session.toggleFoldWidget(true); },\n multiSelectAction: \"forEach\",\n scrollIntoView: \"center\",\n readOnly: true\n}, {\n name: \"foldall\",\n bindKey: bindKey(null, \"Ctrl-Command-Option-0\"),\n exec: function(editor) { editor.session.foldAll(); },\n scrollIntoView: \"center\",\n readOnly: true\n}, {\n name: \"foldOther\",\n bindKey: bindKey(\"Alt-0\", \"Command-Option-0\"),\n exec: function(editor) { \n editor.session.foldAll();\n editor.session.unfold(editor.selection.getAllRanges());\n },\n scrollIntoView: \"center\",\n readOnly: true\n}, {\n name: \"unfoldall\",\n bindKey: bindKey(\"Alt-Shift-0\", \"Command-Option-Shift-0\"),\n exec: function(editor) { editor.session.unfold(); },\n scrollIntoView: \"center\",\n readOnly: true\n}, {\n name: \"findnext\",\n bindKey: bindKey(\"Ctrl-K\", \"Command-G\"),\n exec: function(editor) { editor.findNext(); },\n multiSelectAction: \"forEach\",\n scrollIntoView: \"center\",\n readOnly: true\n}, {\n name: \"findprevious\",\n bindKey: bindKey(\"Ctrl-Shift-K\", \"Command-Shift-G\"),\n exec: function(editor) { editor.findPrevious(); },\n multiSelectAction: \"forEach\",\n scrollIntoView: \"center\",\n readOnly: true\n}, {\n name: \"selectOrFindNext\",\n bindKey: bindKey(\"Alt-K\", \"Ctrl-G\"),\n exec: function(editor) {\n if (editor.selection.isEmpty())\n editor.selection.selectWord();\n else\n editor.findNext(); \n },\n readOnly: true\n}, {\n name: \"selectOrFindPrevious\",\n bindKey: bindKey(\"Alt-Shift-K\", \"Ctrl-Shift-G\"),\n exec: function(editor) { \n if (editor.selection.isEmpty())\n editor.selection.selectWord();\n else\n editor.findPrevious();\n },\n readOnly: true\n}, {\n name: \"find\",\n bindKey: bindKey(\"Ctrl-F\", \"Command-F\"),\n exec: function(editor) {\n config.loadModule(\"ace/ext/searchbox\", function(e) {e.Search(editor)});\n },\n readOnly: true\n}, {\n name: \"overwrite\",\n bindKey: \"Insert\",\n exec: function(editor) { editor.toggleOverwrite(); },\n readOnly: true\n}, {\n name: \"selecttostart\",\n bindKey: bindKey(\"Ctrl-Shift-Home\", \"Command-Shift-Up\"),\n exec: function(editor) { editor.getSelection().selectFileStart(); },\n multiSelectAction: \"forEach\",\n readOnly: true,\n scrollIntoView: \"animate\",\n aceCommandGroup: \"fileJump\"\n}, {\n name: \"gotostart\",\n bindKey: bindKey(\"Ctrl-Home\", \"Command-Home|Command-Up\"),\n exec: function(editor) { editor.navigateFileStart(); },\n multiSelectAction: \"forEach\",\n readOnly: true,\n scrollIntoView: \"animate\",\n aceCommandGroup: \"fileJump\"\n}, {\n name: \"selectup\",\n bindKey: bindKey(\"Shift-Up\", \"Shift-Up\"),\n exec: function(editor) { editor.getSelection().selectUp(); },\n multiSelectAction: \"forEach\",\n scrollIntoView: \"cursor\",\n readOnly: true\n}, {\n name: \"golineup\",\n bindKey: bindKey(\"Up\", \"Up|Ctrl-P\"),\n exec: function(editor, args) { editor.navigateUp(args.times); },\n multiSelectAction: \"forEach\",\n scrollIntoView: \"cursor\",\n readOnly: true\n}, {\n name: \"selecttoend\",\n bindKey: bindKey(\"Ctrl-Shift-End\", \"Command-Shift-Down\"),\n exec: function(editor) { editor.getSelection().selectFileEnd(); },\n multiSelectAction: \"forEach\",\n readOnly: true,\n scrollIntoView: \"animate\",\n aceCommandGroup: \"fileJump\"\n}, {\n name: \"gotoend\",\n bindKey: bindKey(\"Ctrl-End\", \"Command-End|Command-Down\"),\n exec: function(editor) { editor.navigateFileEnd(); },\n multiSelectAction: \"forEach\",\n readOnly: true,\n scrollIntoView: \"animate\",\n aceCommandGroup: \"fileJump\"\n}, {\n name: \"selectdown\",\n bindKey: bindKey(\"Shift-Down\", \"Shift-Down\"),\n exec: function(editor) { editor.getSelection().selectDown(); },\n multiSelectAction: \"forEach\",\n scrollIntoView: \"cursor\",\n readOnly: true\n}, {\n name: \"golinedown\",\n bindKey: bindKey(\"Down\", \"Down|Ctrl-N\"),\n exec: function(editor, args) { editor.navigateDown(args.times); },\n multiSelectAction: \"forEach\",\n scrollIntoView: \"cursor\",\n readOnly: true\n}, {\n name: \"selectwordleft\",\n bindKey: bindKey(\"Ctrl-Shift-Left\", \"Option-Shift-Left\"),\n exec: function(editor) { editor.getSelection().selectWordLeft(); },\n multiSelectAction: \"forEach\",\n scrollIntoView: \"cursor\",\n readOnly: true\n}, {\n name: \"gotowordleft\",\n bindKey: bindKey(\"Ctrl-Left\", \"Option-Left\"),\n exec: function(editor) { editor.navigateWordLeft(); },\n multiSelectAction: \"forEach\",\n scrollIntoView: \"cursor\",\n readOnly: true\n}, {\n name: \"selecttolinestart\",\n bindKey: bindKey(\"Alt-Shift-Left\", \"Command-Shift-Left\"),\n exec: function(editor) { editor.getSelection().selectLineStart(); },\n multiSelectAction: \"forEach\",\n scrollIntoView: \"cursor\",\n readOnly: true\n}, {\n name: \"gotolinestart\",\n bindKey: bindKey(\"Alt-Left|Home\", \"Command-Left|Home|Ctrl-A\"),\n exec: function(editor) { editor.navigateLineStart(); },\n multiSelectAction: \"forEach\",\n scrollIntoView: \"cursor\",\n readOnly: true\n}, {\n name: \"selectleft\",\n bindKey: bindKey(\"Shift-Left\", \"Shift-Left\"),\n exec: function(editor) { editor.getSelection().selectLeft(); },\n multiSelectAction: \"forEach\",\n scrollIntoView: \"cursor\",\n readOnly: true\n}, {\n name: \"gotoleft\",\n bindKey: bindKey(\"Left\", \"Left|Ctrl-B\"),\n exec: function(editor, args) { editor.navigateLeft(args.times); },\n multiSelectAction: \"forEach\",\n scrollIntoView: \"cursor\",\n readOnly: true\n}, {\n name: \"selectwordright\",\n bindKey: bindKey(\"Ctrl-Shift-Right\", \"Option-Shift-Right\"),\n exec: function(editor) { editor.getSelection().selectWordRight(); },\n multiSelectAction: \"forEach\",\n scrollIntoView: \"cursor\",\n readOnly: true\n}, {\n name: \"gotowordright\",\n bindKey: bindKey(\"Ctrl-Right\", \"Option-Right\"),\n exec: function(editor) { editor.navigateWordRight(); },\n multiSelectAction: \"forEach\",\n scrollIntoView: \"cursor\",\n readOnly: true\n}, {\n name: \"selecttolineend\",\n bindKey: bindKey(\"Alt-Shift-Right\", \"Command-Shift-Right\"),\n exec: function(editor) { editor.getSelection().selectLineEnd(); },\n multiSelectAction: \"forEach\",\n scrollIntoView: \"cursor\",\n readOnly: true\n}, {\n name: \"gotolineend\",\n bindKey: bindKey(\"Alt-Right|End\", \"Command-Right|End|Ctrl-E\"),\n exec: function(editor) { editor.navigateLineEnd(); },\n multiSelectAction: \"forEach\",\n scrollIntoView: \"cursor\",\n readOnly: true\n}, {\n name: \"selectright\",\n bindKey: bindKey(\"Shift-Right\", \"Shift-Right\"),\n exec: function(editor) { editor.getSelection().selectRight(); },\n multiSelectAction: \"forEach\",\n scrollIntoView: \"cursor\",\n readOnly: true\n}, {\n name: \"gotoright\",\n bindKey: bindKey(\"Right\", \"Right|Ctrl-F\"),\n exec: function(editor, args) { editor.navigateRight(args.times); },\n multiSelectAction: \"forEach\",\n scrollIntoView: \"cursor\",\n readOnly: true\n}, {\n name: \"selectpagedown\",\n bindKey: \"Shift-PageDown\",\n exec: function(editor) { editor.selectPageDown(); },\n readOnly: true\n}, {\n name: \"pagedown\",\n bindKey: bindKey(null, \"Option-PageDown\"),\n exec: function(editor) { editor.scrollPageDown(); },\n readOnly: true\n}, {\n name: \"gotopagedown\",\n bindKey: bindKey(\"PageDown\", \"PageDown|Ctrl-V\"),\n exec: function(editor) { editor.gotoPageDown(); },\n readOnly: true\n}, {\n name: \"selectpageup\",\n bindKey: \"Shift-PageUp\",\n exec: function(editor) { editor.selectPageUp(); },\n readOnly: true\n}, {\n name: \"pageup\",\n bindKey: bindKey(null, \"Option-PageUp\"),\n exec: function(editor) { editor.scrollPageUp(); },\n readOnly: true\n}, {\n name: \"gotopageup\",\n bindKey: \"PageUp\",\n exec: function(editor) { editor.gotoPageUp(); },\n readOnly: true\n}, {\n name: \"scrollup\",\n bindKey: bindKey(\"Ctrl-Up\", null),\n exec: function(e) { e.renderer.scrollBy(0, -2 * e.renderer.layerConfig.lineHeight); },\n readOnly: true\n}, {\n name: \"scrolldown\",\n bindKey: bindKey(\"Ctrl-Down\", null),\n exec: function(e) { e.renderer.scrollBy(0, 2 * e.renderer.layerConfig.lineHeight); },\n readOnly: true\n}, {\n name: \"selectlinestart\",\n bindKey: \"Shift-Home\",\n exec: function(editor) { editor.getSelection().selectLineStart(); },\n multiSelectAction: \"forEach\",\n scrollIntoView: \"cursor\",\n readOnly: true\n}, {\n name: \"selectlineend\",\n bindKey: \"Shift-End\",\n exec: function(editor) { editor.getSelection().selectLineEnd(); },\n multiSelectAction: \"forEach\",\n scrollIntoView: \"cursor\",\n readOnly: true\n}, {\n name: \"togglerecording\",\n bindKey: bindKey(\"Ctrl-Alt-E\", \"Command-Option-E\"),\n exec: function(editor) { editor.commands.toggleRecording(editor); },\n readOnly: true\n}, {\n name: \"replaymacro\",\n bindKey: bindKey(\"Ctrl-Shift-E\", \"Command-Shift-E\"),\n exec: function(editor) { editor.commands.replay(editor); },\n readOnly: true\n}, {\n name: \"jumptomatching\",\n bindKey: bindKey(\"Ctrl-P\", \"Ctrl-P\"),\n exec: function(editor) { editor.jumpToMatching(); },\n multiSelectAction: \"forEach\",\n scrollIntoView: \"animate\",\n readOnly: true\n}, {\n name: \"selecttomatching\",\n bindKey: bindKey(\"Ctrl-Shift-P\", \"Ctrl-Shift-P\"),\n exec: function(editor) { editor.jumpToMatching(true); },\n multiSelectAction: \"forEach\",\n scrollIntoView: \"animate\",\n readOnly: true\n}, {\n name: \"expandToMatching\",\n bindKey: bindKey(\"Ctrl-Shift-M\", \"Ctrl-Shift-M\"),\n exec: function(editor) { editor.jumpToMatching(true, true); },\n multiSelectAction: \"forEach\",\n scrollIntoView: \"animate\",\n readOnly: true\n}, {\n name: \"passKeysToBrowser\",\n bindKey: bindKey(null, null),\n exec: function() {},\n passEvent: true,\n readOnly: true\n}, {\n name: \"copy\",\n exec: function(editor) {\n },\n readOnly: true\n},\n{\n name: \"cut\",\n exec: function(editor) {\n var range = editor.getSelectionRange();\n editor._emit(\"cut\", range);\n\n if (!editor.selection.isEmpty()) {\n editor.session.remove(range);\n editor.clearSelection();\n }\n },\n scrollIntoView: \"cursor\",\n multiSelectAction: \"forEach\"\n}, {\n name: \"paste\",\n exec: function(editor, args) {\n editor.$handlePaste(args);\n },\n scrollIntoView: \"cursor\"\n}, {\n name: \"removeline\",\n bindKey: bindKey(\"Ctrl-D\", \"Command-D\"),\n exec: function(editor) { editor.removeLines(); },\n scrollIntoView: \"cursor\",\n multiSelectAction: \"forEachLine\"\n}, {\n name: \"duplicateSelection\",\n bindKey: bindKey(\"Ctrl-Shift-D\", \"Command-Shift-D\"),\n exec: function(editor) { editor.duplicateSelection(); },\n scrollIntoView: \"cursor\",\n multiSelectAction: \"forEach\"\n}, {\n name: \"sortlines\",\n bindKey: bindKey(\"Ctrl-Alt-S\", \"Command-Alt-S\"),\n exec: function(editor) { editor.sortLines(); },\n scrollIntoView: \"selection\",\n multiSelectAction: \"forEachLine\"\n}, {\n name: \"togglecomment\",\n bindKey: bindKey(\"Ctrl-/\", \"Command-/\"),\n exec: function(editor) { editor.toggleCommentLines(); },\n multiSelectAction: \"forEachLine\",\n scrollIntoView: \"selectionPart\"\n}, {\n name: \"toggleBlockComment\",\n bindKey: bindKey(\"Ctrl-Shift-/\", \"Command-Shift-/\"),\n exec: function(editor) { editor.toggleBlockComment(); },\n multiSelectAction: \"forEach\",\n scrollIntoView: \"selectionPart\"\n}, {\n name: \"modifyNumberUp\",\n bindKey: bindKey(\"Ctrl-Shift-Up\", \"Alt-Shift-Up\"),\n exec: function(editor) { editor.modifyNumber(1); },\n scrollIntoView: \"cursor\",\n multiSelectAction: \"forEach\"\n}, {\n name: \"modifyNumberDown\",\n bindKey: bindKey(\"Ctrl-Shift-Down\", \"Alt-Shift-Down\"),\n exec: function(editor) { editor.modifyNumber(-1); },\n scrollIntoView: \"cursor\",\n multiSelectAction: \"forEach\"\n}, {\n name: \"replace\",\n bindKey: bindKey(\"Ctrl-H\", \"Command-Option-F\"),\n exec: function(editor) {\n config.loadModule(\"ace/ext/searchbox\", function(e) {e.Search(editor, true)});\n }\n}, {\n name: \"undo\",\n bindKey: bindKey(\"Ctrl-Z\", \"Command-Z\"),\n exec: function(editor) { editor.undo(); }\n}, {\n name: \"redo\",\n bindKey: bindKey(\"Ctrl-Shift-Z|Ctrl-Y\", \"Command-Shift-Z|Command-Y\"),\n exec: function(editor) { editor.redo(); }\n}, {\n name: \"copylinesup\",\n bindKey: bindKey(\"Alt-Shift-Up\", \"Command-Option-Up\"),\n exec: function(editor) { editor.copyLinesUp(); },\n scrollIntoView: \"cursor\"\n}, {\n name: \"movelinesup\",\n bindKey: bindKey(\"Alt-Up\", \"Option-Up\"),\n exec: function(editor) { editor.moveLinesUp(); },\n scrollIntoView: \"cursor\"\n}, {\n name: \"copylinesdown\",\n bindKey: bindKey(\"Alt-Shift-Down\", \"Command-Option-Down\"),\n exec: function(editor) { editor.copyLinesDown(); },\n scrollIntoView: \"cursor\"\n}, {\n name: \"movelinesdown\",\n bindKey: bindKey(\"Alt-Down\", \"Option-Down\"),\n exec: function(editor) { editor.moveLinesDown(); },\n scrollIntoView: \"cursor\"\n}, {\n name: \"del\",\n bindKey: bindKey(\"Delete\", \"Delete|Ctrl-D|Shift-Delete\"),\n exec: function(editor) { editor.remove(\"right\"); },\n multiSelectAction: \"forEach\",\n scrollIntoView: \"cursor\"\n}, {\n name: \"backspace\",\n bindKey: bindKey(\n \"Shift-Backspace|Backspace\",\n \"Ctrl-Backspace|Shift-Backspace|Backspace|Ctrl-H\"\n ),\n exec: function(editor) { editor.remove(\"left\"); },\n multiSelectAction: \"forEach\",\n scrollIntoView: \"cursor\"\n}, {\n name: \"cut_or_delete\",\n bindKey: bindKey(\"Shift-Delete\", null),\n exec: function(editor) { \n if (editor.selection.isEmpty()) {\n editor.remove(\"left\");\n } else {\n return false;\n }\n },\n multiSelectAction: \"forEach\",\n scrollIntoView: \"cursor\"\n}, {\n name: \"removetolinestart\",\n bindKey: bindKey(\"Alt-Backspace\", \"Command-Backspace\"),\n exec: function(editor) { editor.removeToLineStart(); },\n multiSelectAction: \"forEach\",\n scrollIntoView: \"cursor\"\n}, {\n name: \"removetolineend\",\n bindKey: bindKey(\"Alt-Delete\", \"Ctrl-K\"),\n exec: function(editor) { editor.removeToLineEnd(); },\n multiSelectAction: \"forEach\",\n scrollIntoView: \"cursor\"\n}, {\n name: \"removewordleft\",\n bindKey: bindKey(\"Ctrl-Backspace\", \"Alt-Backspace|Ctrl-Alt-Backspace\"),\n exec: function(editor) { editor.removeWordLeft(); },\n multiSelectAction: \"forEach\",\n scrollIntoView: \"cursor\"\n}, {\n name: \"removewordright\",\n bindKey: bindKey(\"Ctrl-Delete\", \"Alt-Delete\"),\n exec: function(editor) { editor.removeWordRight(); },\n multiSelectAction: \"forEach\",\n scrollIntoView: \"cursor\"\n}, {\n name: \"outdent\",\n bindKey: bindKey(\"Shift-Tab\", \"Shift-Tab\"),\n exec: function(editor) { editor.blockOutdent(); },\n multiSelectAction: \"forEach\",\n scrollIntoView: \"selectionPart\"\n}, {\n name: \"indent\",\n bindKey: bindKey(\"Tab\", \"Tab\"),\n exec: function(editor) { editor.indent(); },\n multiSelectAction: \"forEach\",\n scrollIntoView: \"selectionPart\"\n}, {\n name: \"blockoutdent\",\n bindKey: bindKey(\"Ctrl-[\", \"Ctrl-[\"),\n exec: function(editor) { editor.blockOutdent(); },\n multiSelectAction: \"forEachLine\",\n scrollIntoView: \"selectionPart\"\n}, {\n name: \"blockindent\",\n bindKey: bindKey(\"Ctrl-]\", \"Ctrl-]\"),\n exec: function(editor) { editor.blockIndent(); },\n multiSelectAction: \"forEachLine\",\n scrollIntoView: \"selectionPart\"\n}, {\n name: \"insertstring\",\n exec: function(editor, str) { editor.insert(str); },\n multiSelectAction: \"forEach\",\n scrollIntoView: \"cursor\"\n}, {\n name: \"inserttext\",\n exec: function(editor, args) {\n editor.insert(lang.stringRepeat(args.text || \"\", args.times || 1));\n },\n multiSelectAction: \"forEach\",\n scrollIntoView: \"cursor\"\n}, {\n name: \"splitline\",\n bindKey: bindKey(null, \"Ctrl-O\"),\n exec: function(editor) { editor.splitLine(); },\n multiSelectAction: \"forEach\",\n scrollIntoView: \"cursor\"\n}, {\n name: \"transposeletters\",\n bindKey: bindKey(\"Ctrl-T\", \"Ctrl-T\"),\n exec: function(editor) { editor.transposeLetters(); },\n multiSelectAction: function(editor) {editor.transposeSelections(1); },\n scrollIntoView: \"cursor\"\n}, {\n name: \"touppercase\",\n bindKey: bindKey(\"Ctrl-U\", \"Ctrl-U\"),\n exec: function(editor) { editor.toUpperCase(); },\n multiSelectAction: \"forEach\",\n scrollIntoView: \"cursor\"\n}, {\n name: \"tolowercase\",\n bindKey: bindKey(\"Ctrl-Shift-U\", \"Ctrl-Shift-U\"),\n exec: function(editor) { editor.toLowerCase(); },\n multiSelectAction: \"forEach\",\n scrollIntoView: \"cursor\"\n}, {\n name: \"expandtoline\",\n bindKey: bindKey(\"Ctrl-Shift-L\", \"Command-Shift-L\"),\n exec: function(editor) {\n var range = editor.selection.getRange();\n\n range.start.column = range.end.column = 0;\n range.end.row++;\n editor.selection.setRange(range, false);\n },\n multiSelectAction: \"forEach\",\n scrollIntoView: \"cursor\",\n readOnly: true\n}, {\n name: \"joinlines\",\n bindKey: bindKey(null, null),\n exec: function(editor) {\n var isBackwards = editor.selection.isBackwards();\n var selectionStart = isBackwards ? editor.selection.getSelectionLead() : editor.selection.getSelectionAnchor();\n var selectionEnd = isBackwards ? editor.selection.getSelectionAnchor() : editor.selection.getSelectionLead();\n var firstLineEndCol = editor.session.doc.getLine(selectionStart.row).length;\n var selectedText = editor.session.doc.getTextRange(editor.selection.getRange());\n var selectedCount = selectedText.replace(/\\n\\s*/, \" \").length;\n var insertLine = editor.session.doc.getLine(selectionStart.row);\n\n for (var i = selectionStart.row + 1; i <= selectionEnd.row + 1; i++) {\n var curLine = lang.stringTrimLeft(lang.stringTrimRight(editor.session.doc.getLine(i)));\n if (curLine.length !== 0) {\n curLine = \" \" + curLine;\n }\n insertLine += curLine;\n }\n\n if (selectionEnd.row + 1 < (editor.session.doc.getLength() - 1)) {\n insertLine += editor.session.doc.getNewLineCharacter();\n }\n\n editor.clearSelection();\n editor.session.doc.replace(new Range(selectionStart.row, 0, selectionEnd.row + 2, 0), insertLine);\n\n if (selectedCount > 0) {\n editor.selection.moveCursorTo(selectionStart.row, selectionStart.column);\n editor.selection.selectTo(selectionStart.row, selectionStart.column + selectedCount);\n } else {\n firstLineEndCol = editor.session.doc.getLine(selectionStart.row).length > firstLineEndCol ? (firstLineEndCol + 1) : firstLineEndCol;\n editor.selection.moveCursorTo(selectionStart.row, firstLineEndCol);\n }\n },\n multiSelectAction: \"forEach\",\n readOnly: true\n}, {\n name: \"invertSelection\",\n bindKey: bindKey(null, null),\n exec: function(editor) {\n var endRow = editor.session.doc.getLength() - 1;\n var endCol = editor.session.doc.getLine(endRow).length;\n var ranges = editor.selection.rangeList.ranges;\n var newRanges = [];\n if (ranges.length < 1) {\n ranges = [editor.selection.getRange()];\n }\n\n for (var i = 0; i < ranges.length; i++) {\n if (i == (ranges.length - 1)) {\n if (!(ranges[i].end.row === endRow && ranges[i].end.column === endCol)) {\n newRanges.push(new Range(ranges[i].end.row, ranges[i].end.column, endRow, endCol));\n }\n }\n\n if (i === 0) {\n if (!(ranges[i].start.row === 0 && ranges[i].start.column === 0)) {\n newRanges.push(new Range(0, 0, ranges[i].start.row, ranges[i].start.column));\n }\n } else {\n newRanges.push(new Range(ranges[i-1].end.row, ranges[i-1].end.column, ranges[i].start.row, ranges[i].start.column));\n }\n }\n\n editor.exitMultiSelectMode();\n editor.clearSelection();\n\n for(var i = 0; i < newRanges.length; i++) {\n editor.selection.addRange(newRanges[i], false);\n }\n },\n readOnly: true,\n scrollIntoView: \"none\"\n}];\n\n});\n\nace.define(\"ace/editor\",[\"require\",\"exports\",\"module\",\"ace/lib/fixoldbrowsers\",\"ace/lib/oop\",\"ace/lib/dom\",\"ace/lib/lang\",\"ace/lib/useragent\",\"ace/keyboard/textinput\",\"ace/mouse/mouse_handler\",\"ace/mouse/fold_handler\",\"ace/keyboard/keybinding\",\"ace/edit_session\",\"ace/search\",\"ace/range\",\"ace/lib/event_emitter\",\"ace/commands/command_manager\",\"ace/commands/default_commands\",\"ace/config\",\"ace/token_iterator\"], function(acequire, exports, module) {\n\"use strict\";\n\nacequire(\"./lib/fixoldbrowsers\");\n\nvar oop = acequire(\"./lib/oop\");\nvar dom = acequire(\"./lib/dom\");\nvar lang = acequire(\"./lib/lang\");\nvar useragent = acequire(\"./lib/useragent\");\nvar TextInput = acequire(\"./keyboard/textinput\").TextInput;\nvar MouseHandler = acequire(\"./mouse/mouse_handler\").MouseHandler;\nvar FoldHandler = acequire(\"./mouse/fold_handler\").FoldHandler;\nvar KeyBinding = acequire(\"./keyboard/keybinding\").KeyBinding;\nvar EditSession = acequire(\"./edit_session\").EditSession;\nvar Search = acequire(\"./search\").Search;\nvar Range = acequire(\"./range\").Range;\nvar EventEmitter = acequire(\"./lib/event_emitter\").EventEmitter;\nvar CommandManager = acequire(\"./commands/command_manager\").CommandManager;\nvar defaultCommands = acequire(\"./commands/default_commands\").commands;\nvar config = acequire(\"./config\");\nvar TokenIterator = acequire(\"./token_iterator\").TokenIterator;\nvar Editor = function(renderer, session) {\n var container = renderer.getContainerElement();\n this.container = container;\n this.renderer = renderer;\n\n this.commands = new CommandManager(useragent.isMac ? \"mac\" : \"win\", defaultCommands);\n this.textInput = new TextInput(renderer.getTextAreaContainer(), this);\n this.renderer.textarea = this.textInput.getElement();\n this.keyBinding = new KeyBinding(this);\n this.$mouseHandler = new MouseHandler(this);\n new FoldHandler(this);\n\n this.$blockScrolling = 0;\n this.$search = new Search().set({\n wrap: true\n });\n\n this.$historyTracker = this.$historyTracker.bind(this);\n this.commands.on(\"exec\", this.$historyTracker);\n\n this.$initOperationListeners();\n \n this._$emitInputEvent = lang.delayedCall(function() {\n this._signal(\"input\", {});\n if (this.session && this.session.bgTokenizer)\n this.session.bgTokenizer.scheduleStart();\n }.bind(this));\n \n this.on(\"change\", function(_, _self) {\n _self._$emitInputEvent.schedule(31);\n });\n\n this.setSession(session || new EditSession(\"\"));\n config.resetOptions(this);\n config._signal(\"editor\", this);\n};\n\n(function(){\n\n oop.implement(this, EventEmitter);\n\n this.$initOperationListeners = function() {\n function last(a) {return a[a.length - 1]}\n\n this.selections = [];\n this.commands.on(\"exec\", this.startOperation.bind(this), true);\n this.commands.on(\"afterExec\", this.endOperation.bind(this), true);\n\n this.$opResetTimer = lang.delayedCall(this.endOperation.bind(this));\n\n this.on(\"change\", function() {\n this.curOp || this.startOperation();\n this.curOp.docChanged = true;\n }.bind(this), true);\n\n this.on(\"changeSelection\", function() {\n this.curOp || this.startOperation();\n this.curOp.selectionChanged = true;\n }.bind(this), true);\n };\n\n this.curOp = null;\n this.prevOp = {};\n this.startOperation = function(commadEvent) {\n if (this.curOp) {\n if (!commadEvent || this.curOp.command)\n return;\n this.prevOp = this.curOp;\n }\n if (!commadEvent) {\n this.previousCommand = null;\n commadEvent = {};\n }\n\n this.$opResetTimer.schedule();\n this.curOp = {\n command: commadEvent.command || {},\n args: commadEvent.args,\n scrollTop: this.renderer.scrollTop\n };\n if (this.curOp.command.name && this.curOp.command.scrollIntoView !== undefined)\n this.$blockScrolling++;\n };\n\n this.endOperation = function(e) {\n if (this.curOp) {\n if (e && e.returnValue === false)\n return this.curOp = null;\n this._signal(\"beforeEndOperation\");\n var command = this.curOp.command;\n if (command.name && this.$blockScrolling > 0)\n this.$blockScrolling--;\n var scrollIntoView = command && command.scrollIntoView;\n if (scrollIntoView) {\n switch (scrollIntoView) {\n case \"center-animate\":\n scrollIntoView = \"animate\";\n case \"center\":\n this.renderer.scrollCursorIntoView(null, 0.5);\n break;\n case \"animate\":\n case \"cursor\":\n this.renderer.scrollCursorIntoView();\n break;\n case \"selectionPart\":\n var range = this.selection.getRange();\n var config = this.renderer.layerConfig;\n if (range.start.row >= config.lastRow || range.end.row <= config.firstRow) {\n this.renderer.scrollSelectionIntoView(this.selection.anchor, this.selection.lead);\n }\n break;\n default:\n break;\n }\n if (scrollIntoView == \"animate\")\n this.renderer.animateScrolling(this.curOp.scrollTop);\n }\n \n this.prevOp = this.curOp;\n this.curOp = null;\n }\n };\n this.$mergeableCommands = [\"backspace\", \"del\", \"insertstring\"];\n this.$historyTracker = function(e) {\n if (!this.$mergeUndoDeltas)\n return;\n\n var prev = this.prevOp;\n var mergeableCommands = this.$mergeableCommands;\n var shouldMerge = prev.command && (e.command.name == prev.command.name);\n if (e.command.name == \"insertstring\") {\n var text = e.args;\n if (this.mergeNextCommand === undefined)\n this.mergeNextCommand = true;\n\n shouldMerge = shouldMerge\n && this.mergeNextCommand // previous command allows to coalesce with\n && (!/\\s/.test(text) || /\\s/.test(prev.args)); // previous insertion was of same type\n\n this.mergeNextCommand = true;\n } else {\n shouldMerge = shouldMerge\n && mergeableCommands.indexOf(e.command.name) !== -1; // the command is mergeable\n }\n\n if (\n this.$mergeUndoDeltas != \"always\"\n && Date.now() - this.sequenceStartTime > 2000\n ) {\n shouldMerge = false; // the sequence is too long\n }\n\n if (shouldMerge)\n this.session.mergeUndoDeltas = true;\n else if (mergeableCommands.indexOf(e.command.name) !== -1)\n this.sequenceStartTime = Date.now();\n };\n this.setKeyboardHandler = function(keyboardHandler, cb) {\n if (keyboardHandler && typeof keyboardHandler === \"string\") {\n this.$keybindingId = keyboardHandler;\n var _self = this;\n config.loadModule([\"keybinding\", keyboardHandler], function(module) {\n if (_self.$keybindingId == keyboardHandler)\n _self.keyBinding.setKeyboardHandler(module && module.handler);\n cb && cb();\n });\n } else {\n this.$keybindingId = null;\n this.keyBinding.setKeyboardHandler(keyboardHandler);\n cb && cb();\n }\n };\n this.getKeyboardHandler = function() {\n return this.keyBinding.getKeyboardHandler();\n };\n this.setSession = function(session) {\n if (this.session == session)\n return;\n if (this.curOp) this.endOperation();\n this.curOp = {};\n\n var oldSession = this.session;\n if (oldSession) {\n this.session.off(\"change\", this.$onDocumentChange);\n this.session.off(\"changeMode\", this.$onChangeMode);\n this.session.off(\"tokenizerUpdate\", this.$onTokenizerUpdate);\n this.session.off(\"changeTabSize\", this.$onChangeTabSize);\n this.session.off(\"changeWrapLimit\", this.$onChangeWrapLimit);\n this.session.off(\"changeWrapMode\", this.$onChangeWrapMode);\n this.session.off(\"changeFold\", this.$onChangeFold);\n this.session.off(\"changeFrontMarker\", this.$onChangeFrontMarker);\n this.session.off(\"changeBackMarker\", this.$onChangeBackMarker);\n this.session.off(\"changeBreakpoint\", this.$onChangeBreakpoint);\n this.session.off(\"changeAnnotation\", this.$onChangeAnnotation);\n this.session.off(\"changeOverwrite\", this.$onCursorChange);\n this.session.off(\"changeScrollTop\", this.$onScrollTopChange);\n this.session.off(\"changeScrollLeft\", this.$onScrollLeftChange);\n\n var selection = this.session.getSelection();\n selection.off(\"changeCursor\", this.$onCursorChange);\n selection.off(\"changeSelection\", this.$onSelectionChange);\n }\n\n this.session = session;\n if (session) {\n this.$onDocumentChange = this.onDocumentChange.bind(this);\n session.on(\"change\", this.$onDocumentChange);\n this.renderer.setSession(session);\n \n this.$onChangeMode = this.onChangeMode.bind(this);\n session.on(\"changeMode\", this.$onChangeMode);\n \n this.$onTokenizerUpdate = this.onTokenizerUpdate.bind(this);\n session.on(\"tokenizerUpdate\", this.$onTokenizerUpdate);\n \n this.$onChangeTabSize = this.renderer.onChangeTabSize.bind(this.renderer);\n session.on(\"changeTabSize\", this.$onChangeTabSize);\n \n this.$onChangeWrapLimit = this.onChangeWrapLimit.bind(this);\n session.on(\"changeWrapLimit\", this.$onChangeWrapLimit);\n \n this.$onChangeWrapMode = this.onChangeWrapMode.bind(this);\n session.on(\"changeWrapMode\", this.$onChangeWrapMode);\n \n this.$onChangeFold = this.onChangeFold.bind(this);\n session.on(\"changeFold\", this.$onChangeFold);\n \n this.$onChangeFrontMarker = this.onChangeFrontMarker.bind(this);\n this.session.on(\"changeFrontMarker\", this.$onChangeFrontMarker);\n \n this.$onChangeBackMarker = this.onChangeBackMarker.bind(this);\n this.session.on(\"changeBackMarker\", this.$onChangeBackMarker);\n \n this.$onChangeBreakpoint = this.onChangeBreakpoint.bind(this);\n this.session.on(\"changeBreakpoint\", this.$onChangeBreakpoint);\n \n this.$onChangeAnnotation = this.onChangeAnnotation.bind(this);\n this.session.on(\"changeAnnotation\", this.$onChangeAnnotation);\n \n this.$onCursorChange = this.onCursorChange.bind(this);\n this.session.on(\"changeOverwrite\", this.$onCursorChange);\n \n this.$onScrollTopChange = this.onScrollTopChange.bind(this);\n this.session.on(\"changeScrollTop\", this.$onScrollTopChange);\n \n this.$onScrollLeftChange = this.onScrollLeftChange.bind(this);\n this.session.on(\"changeScrollLeft\", this.$onScrollLeftChange);\n \n this.selection = session.getSelection();\n this.selection.on(\"changeCursor\", this.$onCursorChange);\n \n this.$onSelectionChange = this.onSelectionChange.bind(this);\n this.selection.on(\"changeSelection\", this.$onSelectionChange);\n \n this.onChangeMode();\n \n this.$blockScrolling += 1;\n this.onCursorChange();\n this.$blockScrolling -= 1;\n \n this.onScrollTopChange();\n this.onScrollLeftChange();\n this.onSelectionChange();\n this.onChangeFrontMarker();\n this.onChangeBackMarker();\n this.onChangeBreakpoint();\n this.onChangeAnnotation();\n this.session.getUseWrapMode() && this.renderer.adjustWrapLimit();\n this.renderer.updateFull();\n } else {\n this.selection = null;\n this.renderer.setSession(session);\n }\n\n this._signal(\"changeSession\", {\n session: session,\n oldSession: oldSession\n });\n \n this.curOp = null;\n \n oldSession && oldSession._signal(\"changeEditor\", {oldEditor: this});\n session && session._signal(\"changeEditor\", {editor: this});\n };\n this.getSession = function() {\n return this.session;\n };\n this.setValue = function(val, cursorPos) {\n this.session.doc.setValue(val);\n\n if (!cursorPos)\n this.selectAll();\n else if (cursorPos == 1)\n this.navigateFileEnd();\n else if (cursorPos == -1)\n this.navigateFileStart();\n\n return val;\n };\n this.getValue = function() {\n return this.session.getValue();\n };\n this.getSelection = function() {\n return this.selection;\n };\n this.resize = function(force) {\n this.renderer.onResize(force);\n };\n this.setTheme = function(theme, cb) {\n this.renderer.setTheme(theme, cb);\n };\n this.getTheme = function() {\n return this.renderer.getTheme();\n };\n this.setStyle = function(style) {\n this.renderer.setStyle(style);\n };\n this.unsetStyle = function(style) {\n this.renderer.unsetStyle(style);\n };\n this.getFontSize = function () {\n return this.getOption(\"fontSize\") ||\n dom.computedStyle(this.container, \"fontSize\");\n };\n this.setFontSize = function(size) {\n this.setOption(\"fontSize\", size);\n };\n\n this.$highlightBrackets = function() {\n if (this.session.$bracketHighlight) {\n this.session.removeMarker(this.session.$bracketHighlight);\n this.session.$bracketHighlight = null;\n }\n\n if (this.$highlightPending) {\n return;\n }\n var self = this;\n this.$highlightPending = true;\n setTimeout(function() {\n self.$highlightPending = false;\n var session = self.session;\n if (!session || !session.bgTokenizer) return;\n var pos = session.findMatchingBracket(self.getCursorPosition());\n if (pos) {\n var range = new Range(pos.row, pos.column, pos.row, pos.column + 1);\n } else if (session.$mode.getMatching) {\n var range = session.$mode.getMatching(self.session);\n }\n if (range)\n session.$bracketHighlight = session.addMarker(range, \"ace_bracket\", \"text\");\n }, 50);\n };\n this.$highlightTags = function() {\n if (this.$highlightTagPending)\n return;\n var self = this;\n this.$highlightTagPending = true;\n setTimeout(function() {\n self.$highlightTagPending = false;\n \n var session = self.session;\n if (!session || !session.bgTokenizer) return;\n \n var pos = self.getCursorPosition();\n var iterator = new TokenIterator(self.session, pos.row, pos.column);\n var token = iterator.getCurrentToken();\n \n if (!token || !/\\b(?:tag-open|tag-name)/.test(token.type)) {\n session.removeMarker(session.$tagHighlight);\n session.$tagHighlight = null;\n return;\n }\n \n if (token.type.indexOf(\"tag-open\") != -1) {\n token = iterator.stepForward();\n if (!token)\n return;\n }\n \n var tag = token.value;\n var depth = 0;\n var prevToken = iterator.stepBackward();\n \n if (prevToken.value == '<'){\n do {\n prevToken = token;\n token = iterator.stepForward();\n \n if (token && token.value === tag && token.type.indexOf('tag-name') !== -1) {\n if (prevToken.value === '<'){\n depth++;\n } else if (prevToken.value === '</'){\n depth--;\n }\n }\n \n } while (token && depth >= 0);\n } else {\n do {\n token = prevToken;\n prevToken = iterator.stepBackward();\n \n if (token && token.value === tag && token.type.indexOf('tag-name') !== -1) {\n if (prevToken.value === '<') {\n depth++;\n } else if (prevToken.value === '</') {\n depth--;\n }\n }\n } while (prevToken && depth <= 0);\n iterator.stepForward();\n }\n \n if (!token) {\n session.removeMarker(session.$tagHighlight);\n session.$tagHighlight = null;\n return;\n }\n \n var row = iterator.getCurrentTokenRow();\n var column = iterator.getCurrentTokenColumn();\n var range = new Range(row, column, row, column+token.value.length);\n if (session.$tagHighlight && range.compareRange(session.$backMarkers[session.$tagHighlight].range)!==0) {\n session.removeMarker(session.$tagHighlight);\n session.$tagHighlight = null;\n }\n \n if (range && !session.$tagHighlight)\n session.$tagHighlight = session.addMarker(range, \"ace_bracket\", \"text\");\n }, 50);\n };\n this.focus = function() {\n var _self = this;\n setTimeout(function() {\n _self.textInput.focus();\n });\n this.textInput.focus();\n };\n this.isFocused = function() {\n return this.textInput.isFocused();\n };\n this.blur = function() {\n this.textInput.blur();\n };\n this.onFocus = function(e) {\n if (this.$isFocused)\n return;\n this.$isFocused = true;\n this.renderer.showCursor();\n this.renderer.visualizeFocus();\n this._emit(\"focus\", e);\n };\n this.onBlur = function(e) {\n if (!this.$isFocused)\n return;\n this.$isFocused = false;\n this.renderer.hideCursor();\n this.renderer.visualizeBlur();\n this._emit(\"blur\", e);\n };\n\n this.$cursorChange = function() {\n this.renderer.updateCursor();\n };\n this.onDocumentChange = function(delta) {\n var wrap = this.session.$useWrapMode;\n var lastRow = (delta.start.row == delta.end.row ? delta.end.row : Infinity);\n this.renderer.updateLines(delta.start.row, lastRow, wrap);\n\n this._signal(\"change\", delta);\n this.$cursorChange();\n this.$updateHighlightActiveLine();\n };\n\n this.onTokenizerUpdate = function(e) {\n var rows = e.data;\n this.renderer.updateLines(rows.first, rows.last);\n };\n\n\n this.onScrollTopChange = function() {\n this.renderer.scrollToY(this.session.getScrollTop());\n };\n\n this.onScrollLeftChange = function() {\n this.renderer.scrollToX(this.session.getScrollLeft());\n };\n this.onCursorChange = function() {\n this.$cursorChange();\n\n if (!this.$blockScrolling) {\n config.warn(\"Automatically scrolling cursor into view after selection change\",\n \"this will be disabled in the next version\",\n \"set editor.$blockScrolling = Infinity to disable this message\"\n );\n this.renderer.scrollCursorIntoView();\n }\n\n this.$highlightBrackets();\n this.$highlightTags();\n this.$updateHighlightActiveLine();\n this._signal(\"changeSelection\");\n };\n\n this.$updateHighlightActiveLine = function() {\n var session = this.getSession();\n\n var highlight;\n if (this.$highlightActiveLine) {\n if ((this.$selectionStyle != \"line\" || !this.selection.isMultiLine()))\n highlight = this.getCursorPosition();\n if (this.renderer.$maxLines && this.session.getLength() === 1 && !(this.renderer.$minLines > 1))\n highlight = false;\n }\n\n if (session.$highlightLineMarker && !highlight) {\n session.removeMarker(session.$highlightLineMarker.id);\n session.$highlightLineMarker = null;\n } else if (!session.$highlightLineMarker && highlight) {\n var range = new Range(highlight.row, highlight.column, highlight.row, Infinity);\n range.id = session.addMarker(range, \"ace_active-line\", \"screenLine\");\n session.$highlightLineMarker = range;\n } else if (highlight) {\n session.$highlightLineMarker.start.row = highlight.row;\n session.$highlightLineMarker.end.row = highlight.row;\n session.$highlightLineMarker.start.column = highlight.column;\n session._signal(\"changeBackMarker\");\n }\n };\n\n this.onSelectionChange = function(e) {\n var session = this.session;\n\n if (session.$selectionMarker) {\n session.removeMarker(session.$selectionMarker);\n }\n session.$selectionMarker = null;\n\n if (!this.selection.isEmpty()) {\n var range = this.selection.getRange();\n var style = this.getSelectionStyle();\n session.$selectionMarker = session.addMarker(range, \"ace_selection\", style);\n } else {\n this.$updateHighlightActiveLine();\n }\n\n var re = this.$highlightSelectedWord && this.$getSelectionHighLightRegexp();\n this.session.highlight(re);\n\n this._signal(\"changeSelection\");\n };\n\n this.$getSelectionHighLightRegexp = function() {\n var session = this.session;\n\n var selection = this.getSelectionRange();\n if (selection.isEmpty() || selection.isMultiLine())\n return;\n\n var startOuter = selection.start.column - 1;\n var endOuter = selection.end.column + 1;\n var line = session.getLine(selection.start.row);\n var lineCols = line.length;\n var needle = line.substring(Math.max(startOuter, 0),\n Math.min(endOuter, lineCols));\n if ((startOuter >= 0 && /^[\\w\\d]/.test(needle)) ||\n (endOuter <= lineCols && /[\\w\\d]$/.test(needle)))\n return;\n\n needle = line.substring(selection.start.column, selection.end.column);\n if (!/^[\\w\\d]+$/.test(needle))\n return;\n\n var re = this.$search.$assembleRegExp({\n wholeWord: true,\n caseSensitive: true,\n needle: needle\n });\n\n return re;\n };\n\n\n this.onChangeFrontMarker = function() {\n this.renderer.updateFrontMarkers();\n };\n\n this.onChangeBackMarker = function() {\n this.renderer.updateBackMarkers();\n };\n\n\n this.onChangeBreakpoint = function() {\n this.renderer.updateBreakpoints();\n };\n\n this.onChangeAnnotation = function() {\n this.renderer.setAnnotations(this.session.getAnnotations());\n };\n\n\n this.onChangeMode = function(e) {\n this.renderer.updateText();\n this._emit(\"changeMode\", e);\n };\n\n\n this.onChangeWrapLimit = function() {\n this.renderer.updateFull();\n };\n\n this.onChangeWrapMode = function() {\n this.renderer.onResize(true);\n };\n\n\n this.onChangeFold = function() {\n this.$updateHighlightActiveLine();\n this.renderer.updateFull();\n };\n this.getSelectedText = function() {\n return this.session.getTextRange(this.getSelectionRange());\n };\n this.getCopyText = function() {\n var text = this.getSelectedText();\n this._signal(\"copy\", text);\n return text;\n };\n this.onCopy = function() {\n this.commands.exec(\"copy\", this);\n };\n this.onCut = function() {\n this.commands.exec(\"cut\", this);\n };\n this.onPaste = function(text, event) {\n var e = {text: text, event: event};\n this.commands.exec(\"paste\", this, e);\n };\n \n this.$handlePaste = function(e) {\n if (typeof e == \"string\") \n e = {text: e};\n this._signal(\"paste\", e);\n var text = e.text;\n if (!this.inMultiSelectMode || this.inVirtualSelectionMode) {\n this.insert(text);\n } else {\n var lines = text.split(/\\r\\n|\\r|\\n/);\n var ranges = this.selection.rangeList.ranges;\n \n if (lines.length > ranges.length || lines.length < 2 || !lines[1])\n return this.commands.exec(\"insertstring\", this, text);\n \n for (var i = ranges.length; i--;) {\n var range = ranges[i];\n if (!range.isEmpty())\n this.session.remove(range);\n \n this.session.insert(range.start, lines[i]);\n }\n }\n };\n\n this.execCommand = function(command, args) {\n return this.commands.exec(command, this, args);\n };\n this.insert = function(text, pasted) {\n var session = this.session;\n var mode = session.getMode();\n var cursor = this.getCursorPosition();\n\n if (this.getBehavioursEnabled() && !pasted) {\n var transform = mode.transformAction(session.getState(cursor.row), 'insertion', this, session, text);\n if (transform) {\n if (text !== transform.text) {\n this.session.mergeUndoDeltas = false;\n this.$mergeNextCommand = false;\n }\n text = transform.text;\n\n }\n }\n \n if (text == \"\\t\")\n text = this.session.getTabString();\n if (!this.selection.isEmpty()) {\n var range = this.getSelectionRange();\n cursor = this.session.remove(range);\n this.clearSelection();\n }\n else if (this.session.getOverwrite()) {\n var range = new Range.fromPoints(cursor, cursor);\n range.end.column += text.length;\n this.session.remove(range);\n }\n\n if (text == \"\\n\" || text == \"\\r\\n\") {\n var line = session.getLine(cursor.row);\n if (cursor.column > line.search(/\\S|$/)) {\n var d = line.substr(cursor.column).search(/\\S|$/);\n session.doc.removeInLine(cursor.row, cursor.column, cursor.column + d);\n }\n }\n this.clearSelection();\n\n var start = cursor.column;\n var lineState = session.getState(cursor.row);\n var line = session.getLine(cursor.row);\n var shouldOutdent = mode.checkOutdent(lineState, line, text);\n var end = session.insert(cursor, text);\n\n if (transform && transform.selection) {\n if (transform.selection.length == 2) { // Transform relative to the current column\n this.selection.setSelectionRange(\n new Range(cursor.row, start + transform.selection[0],\n cursor.row, start + transform.selection[1]));\n } else { // Transform relative to the current row.\n this.selection.setSelectionRange(\n new Range(cursor.row + transform.selection[0],\n transform.selection[1],\n cursor.row + transform.selection[2],\n transform.selection[3]));\n }\n }\n\n if (session.getDocument().isNewLine(text)) {\n var lineIndent = mode.getNextLineIndent(lineState, line.slice(0, cursor.column), session.getTabString());\n\n session.insert({row: cursor.row+1, column: 0}, lineIndent);\n }\n if (shouldOutdent)\n mode.autoOutdent(lineState, session, cursor.row);\n };\n\n this.onTextInput = function(text) {\n this.keyBinding.onTextInput(text);\n };\n\n this.onCommandKey = function(e, hashId, keyCode) {\n this.keyBinding.onCommandKey(e, hashId, keyCode);\n };\n this.setOverwrite = function(overwrite) {\n this.session.setOverwrite(overwrite);\n };\n this.getOverwrite = function() {\n return this.session.getOverwrite();\n };\n this.toggleOverwrite = function() {\n this.session.toggleOverwrite();\n };\n this.setScrollSpeed = function(speed) {\n this.setOption(\"scrollSpeed\", speed);\n };\n this.getScrollSpeed = function() {\n return this.getOption(\"scrollSpeed\");\n };\n this.setDragDelay = function(dragDelay) {\n this.setOption(\"dragDelay\", dragDelay);\n };\n this.getDragDelay = function() {\n return this.getOption(\"dragDelay\");\n };\n this.setSelectionStyle = function(val) {\n this.setOption(\"selectionStyle\", val);\n };\n this.getSelectionStyle = function() {\n return this.getOption(\"selectionStyle\");\n };\n this.setHighlightActiveLine = function(shouldHighlight) {\n this.setOption(\"highlightActiveLine\", shouldHighlight);\n };\n this.getHighlightActiveLine = function() {\n return this.getOption(\"highlightActiveLine\");\n };\n this.setHighlightGutterLine = function(shouldHighlight) {\n this.setOption(\"highlightGutterLine\", shouldHighlight);\n };\n\n this.getHighlightGutterLine = function() {\n return this.getOption(\"highlightGutterLine\");\n };\n this.setHighlightSelectedWord = function(shouldHighlight) {\n this.setOption(\"highlightSelectedWord\", shouldHighlight);\n };\n this.getHighlightSelectedWord = function() {\n return this.$highlightSelectedWord;\n };\n\n this.setAnimatedScroll = function(shouldAnimate){\n this.renderer.setAnimatedScroll(shouldAnimate);\n };\n\n this.getAnimatedScroll = function(){\n return this.renderer.getAnimatedScroll();\n };\n this.setShowInvisibles = function(showInvisibles) {\n this.renderer.setShowInvisibles(showInvisibles);\n };\n this.getShowInvisibles = function() {\n return this.renderer.getShowInvisibles();\n };\n\n this.setDisplayIndentGuides = function(display) {\n this.renderer.setDisplayIndentGuides(display);\n };\n\n this.getDisplayIndentGuides = function() {\n return this.renderer.getDisplayIndentGuides();\n };\n this.setShowPrintMargin = function(showPrintMargin) {\n this.renderer.setShowPrintMargin(showPrintMargin);\n };\n this.getShowPrintMargin = function() {\n return this.renderer.getShowPrintMargin();\n };\n this.setPrintMarginColumn = function(showPrintMargin) {\n this.renderer.setPrintMarginColumn(showPrintMargin);\n };\n this.getPrintMarginColumn = function() {\n return this.renderer.getPrintMarginColumn();\n };\n this.setReadOnly = function(readOnly) {\n this.setOption(\"readOnly\", readOnly);\n };\n this.getReadOnly = function() {\n return this.getOption(\"readOnly\");\n };\n this.setBehavioursEnabled = function (enabled) {\n this.setOption(\"behavioursEnabled\", enabled);\n };\n this.getBehavioursEnabled = function () {\n return this.getOption(\"behavioursEnabled\");\n };\n this.setWrapBehavioursEnabled = function (enabled) {\n this.setOption(\"wrapBehavioursEnabled\", enabled);\n };\n this.getWrapBehavioursEnabled = function () {\n return this.getOption(\"wrapBehavioursEnabled\");\n };\n this.setShowFoldWidgets = function(show) {\n this.setOption(\"showFoldWidgets\", show);\n\n };\n this.getShowFoldWidgets = function() {\n return this.getOption(\"showFoldWidgets\");\n };\n\n this.setFadeFoldWidgets = function(fade) {\n this.setOption(\"fadeFoldWidgets\", fade);\n };\n\n this.getFadeFoldWidgets = function() {\n return this.getOption(\"fadeFoldWidgets\");\n };\n this.remove = function(dir) {\n if (this.selection.isEmpty()){\n if (dir == \"left\")\n this.selection.selectLeft();\n else\n this.selection.selectRight();\n }\n\n var range = this.getSelectionRange();\n if (this.getBehavioursEnabled()) {\n var session = this.session;\n var state = session.getState(range.start.row);\n var new_range = session.getMode().transformAction(state, 'deletion', this, session, range);\n\n if (range.end.column === 0) {\n var text = session.getTextRange(range);\n if (text[text.length - 1] == \"\\n\") {\n var line = session.getLine(range.end.row);\n if (/^\\s+$/.test(line)) {\n range.end.column = line.length;\n }\n }\n }\n if (new_range)\n range = new_range;\n }\n\n this.session.remove(range);\n this.clearSelection();\n };\n this.removeWordRight = function() {\n if (this.selection.isEmpty())\n this.selection.selectWordRight();\n\n this.session.remove(this.getSelectionRange());\n this.clearSelection();\n };\n this.removeWordLeft = function() {\n if (this.selection.isEmpty())\n this.selection.selectWordLeft();\n\n this.session.remove(this.getSelectionRange());\n this.clearSelection();\n };\n this.removeToLineStart = function() {\n if (this.selection.isEmpty())\n this.selection.selectLineStart();\n\n this.session.remove(this.getSelectionRange());\n this.clearSelection();\n };\n this.removeToLineEnd = function() {\n if (this.selection.isEmpty())\n this.selection.selectLineEnd();\n\n var range = this.getSelectionRange();\n if (range.start.column == range.end.column && range.start.row == range.end.row) {\n range.end.column = 0;\n range.end.row++;\n }\n\n this.session.remove(range);\n this.clearSelection();\n };\n this.splitLine = function() {\n if (!this.selection.isEmpty()) {\n this.session.remove(this.getSelectionRange());\n this.clearSelection();\n }\n\n var cursor = this.getCursorPosition();\n this.insert(\"\\n\");\n this.moveCursorToPosition(cursor);\n };\n this.transposeLetters = function() {\n if (!this.selection.isEmpty()) {\n return;\n }\n\n var cursor = this.getCursorPosition();\n var column = cursor.column;\n if (column === 0)\n return;\n\n var line = this.session.getLine(cursor.row);\n var swap, range;\n if (column < line.length) {\n swap = line.charAt(column) + line.charAt(column-1);\n range = new Range(cursor.row, column-1, cursor.row, column+1);\n }\n else {\n swap = line.charAt(column-1) + line.charAt(column-2);\n range = new Range(cursor.row, column-2, cursor.row, column);\n }\n this.session.replace(range, swap);\n };\n this.toLowerCase = function() {\n var originalRange = this.getSelectionRange();\n if (this.selection.isEmpty()) {\n this.selection.selectWord();\n }\n\n var range = this.getSelectionRange();\n var text = this.session.getTextRange(range);\n this.session.replace(range, text.toLowerCase());\n this.selection.setSelectionRange(originalRange);\n };\n this.toUpperCase = function() {\n var originalRange = this.getSelectionRange();\n if (this.selection.isEmpty()) {\n this.selection.selectWord();\n }\n\n var range = this.getSelectionRange();\n var text = this.session.getTextRange(range);\n this.session.replace(range, text.toUpperCase());\n this.selection.setSelectionRange(originalRange);\n };\n this.indent = function() {\n var session = this.session;\n var range = this.getSelectionRange();\n\n if (range.start.row < range.end.row) {\n var rows = this.$getSelectedRows();\n session.indentRows(rows.first, rows.last, \"\\t\");\n return;\n } else if (range.start.column < range.end.column) {\n var text = session.getTextRange(range);\n if (!/^\\s+$/.test(text)) {\n var rows = this.$getSelectedRows();\n session.indentRows(rows.first, rows.last, \"\\t\");\n return;\n }\n }\n \n var line = session.getLine(range.start.row);\n var position = range.start;\n var size = session.getTabSize();\n var column = session.documentToScreenColumn(position.row, position.column);\n\n if (this.session.getUseSoftTabs()) {\n var count = (size - column % size);\n var indentString = lang.stringRepeat(\" \", count);\n } else {\n var count = column % size;\n while (line[range.start.column] == \" \" && count) {\n range.start.column--;\n count--;\n }\n this.selection.setSelectionRange(range);\n indentString = \"\\t\";\n }\n return this.insert(indentString);\n };\n this.blockIndent = function() {\n var rows = this.$getSelectedRows();\n this.session.indentRows(rows.first, rows.last, \"\\t\");\n };\n this.blockOutdent = function() {\n var selection = this.session.getSelection();\n this.session.outdentRows(selection.getRange());\n };\n this.sortLines = function() {\n var rows = this.$getSelectedRows();\n var session = this.session;\n\n var lines = [];\n for (i = rows.first; i <= rows.last; i++)\n lines.push(session.getLine(i));\n\n lines.sort(function(a, b) {\n if (a.toLowerCase() < b.toLowerCase()) return -1;\n if (a.toLowerCase() > b.toLowerCase()) return 1;\n return 0;\n });\n\n var deleteRange = new Range(0, 0, 0, 0);\n for (var i = rows.first; i <= rows.last; i++) {\n var line = session.getLine(i);\n deleteRange.start.row = i;\n deleteRange.end.row = i;\n deleteRange.end.column = line.length;\n session.replace(deleteRange, lines[i-rows.first]);\n }\n };\n this.toggleCommentLines = function() {\n var state = this.session.getState(this.getCursorPosition().row);\n var rows = this.$getSelectedRows();\n this.session.getMode().toggleCommentLines(state, this.session, rows.first, rows.last);\n };\n\n this.toggleBlockComment = function() {\n var cursor = this.getCursorPosition();\n var state = this.session.getState(cursor.row);\n var range = this.getSelectionRange();\n this.session.getMode().toggleBlockComment(state, this.session, range, cursor);\n };\n this.getNumberAt = function(row, column) {\n var _numberRx = /[\\-]?[0-9]+(?:\\.[0-9]+)?/g;\n _numberRx.lastIndex = 0;\n\n var s = this.session.getLine(row);\n while (_numberRx.lastIndex < column) {\n var m = _numberRx.exec(s);\n if(m.index <= column && m.index+m[0].length >= column){\n var number = {\n value: m[0],\n start: m.index,\n end: m.index+m[0].length\n };\n return number;\n }\n }\n return null;\n };\n this.modifyNumber = function(amount) {\n var row = this.selection.getCursor().row;\n var column = this.selection.getCursor().column;\n var charRange = new Range(row, column-1, row, column);\n\n var c = this.session.getTextRange(charRange);\n if (!isNaN(parseFloat(c)) && isFinite(c)) {\n var nr = this.getNumberAt(row, column);\n if (nr) {\n var fp = nr.value.indexOf(\".\") >= 0 ? nr.start + nr.value.indexOf(\".\") + 1 : nr.end;\n var decimals = nr.start + nr.value.length - fp;\n\n var t = parseFloat(nr.value);\n t *= Math.pow(10, decimals);\n\n\n if(fp !== nr.end && column < fp){\n amount *= Math.pow(10, nr.end - column - 1);\n } else {\n amount *= Math.pow(10, nr.end - column);\n }\n\n t += amount;\n t /= Math.pow(10, decimals);\n var nnr = t.toFixed(decimals);\n var replaceRange = new Range(row, nr.start, row, nr.end);\n this.session.replace(replaceRange, nnr);\n this.moveCursorTo(row, Math.max(nr.start +1, column + nnr.length - nr.value.length));\n\n }\n }\n };\n this.removeLines = function() {\n var rows = this.$getSelectedRows();\n this.session.removeFullLines(rows.first, rows.last);\n this.clearSelection();\n };\n\n this.duplicateSelection = function() {\n var sel = this.selection;\n var doc = this.session;\n var range = sel.getRange();\n var reverse = sel.isBackwards();\n if (range.isEmpty()) {\n var row = range.start.row;\n doc.duplicateLines(row, row);\n } else {\n var point = reverse ? range.start : range.end;\n var endPoint = doc.insert(point, doc.getTextRange(range), false);\n range.start = point;\n range.end = endPoint;\n\n sel.setSelectionRange(range, reverse);\n }\n };\n this.moveLinesDown = function() {\n this.$moveLines(1, false);\n };\n this.moveLinesUp = function() {\n this.$moveLines(-1, false);\n };\n this.moveText = function(range, toPosition, copy) {\n return this.session.moveText(range, toPosition, copy);\n };\n this.copyLinesUp = function() {\n this.$moveLines(-1, true);\n };\n this.copyLinesDown = function() {\n this.$moveLines(1, true);\n };\n this.$moveLines = function(dir, copy) {\n var rows, moved;\n var selection = this.selection;\n if (!selection.inMultiSelectMode || this.inVirtualSelectionMode) {\n var range = selection.toOrientedRange();\n rows = this.$getSelectedRows(range);\n moved = this.session.$moveLines(rows.first, rows.last, copy ? 0 : dir);\n if (copy && dir == -1) moved = 0;\n range.moveBy(moved, 0);\n selection.fromOrientedRange(range);\n } else {\n var ranges = selection.rangeList.ranges;\n selection.rangeList.detach(this.session);\n this.inVirtualSelectionMode = true;\n \n var diff = 0;\n var totalDiff = 0;\n var l = ranges.length;\n for (var i = 0; i < l; i++) {\n var rangeIndex = i;\n ranges[i].moveBy(diff, 0);\n rows = this.$getSelectedRows(ranges[i]);\n var first = rows.first;\n var last = rows.last;\n while (++i < l) {\n if (totalDiff) ranges[i].moveBy(totalDiff, 0);\n var subRows = this.$getSelectedRows(ranges[i]);\n if (copy && subRows.first != last)\n break;\n else if (!copy && subRows.first > last + 1)\n break;\n last = subRows.last;\n }\n i--;\n diff = this.session.$moveLines(first, last, copy ? 0 : dir);\n if (copy && dir == -1) rangeIndex = i + 1;\n while (rangeIndex <= i) {\n ranges[rangeIndex].moveBy(diff, 0);\n rangeIndex++;\n }\n if (!copy) diff = 0;\n totalDiff += diff;\n }\n \n selection.fromOrientedRange(selection.ranges[0]);\n selection.rangeList.attach(this.session);\n this.inVirtualSelectionMode = false;\n }\n };\n this.$getSelectedRows = function(range) {\n range = (range || this.getSelectionRange()).collapseRows();\n\n return {\n first: this.session.getRowFoldStart(range.start.row),\n last: this.session.getRowFoldEnd(range.end.row)\n };\n };\n\n this.onCompositionStart = function(text) {\n this.renderer.showComposition(this.getCursorPosition());\n };\n\n this.onCompositionUpdate = function(text) {\n this.renderer.setCompositionText(text);\n };\n\n this.onCompositionEnd = function() {\n this.renderer.hideComposition();\n };\n this.getFirstVisibleRow = function() {\n return this.renderer.getFirstVisibleRow();\n };\n this.getLastVisibleRow = function() {\n return this.renderer.getLastVisibleRow();\n };\n this.isRowVisible = function(row) {\n return (row >= this.getFirstVisibleRow() && row <= this.getLastVisibleRow());\n };\n this.isRowFullyVisible = function(row) {\n return (row >= this.renderer.getFirstFullyVisibleRow() && row <= this.renderer.getLastFullyVisibleRow());\n };\n this.$getVisibleRowCount = function() {\n return this.renderer.getScrollBottomRow() - this.renderer.getScrollTopRow() + 1;\n };\n\n this.$moveByPage = function(dir, select) {\n var renderer = this.renderer;\n var config = this.renderer.layerConfig;\n var rows = dir * Math.floor(config.height / config.lineHeight);\n\n this.$blockScrolling++;\n if (select === true) {\n this.selection.$moveSelection(function(){\n this.moveCursorBy(rows, 0);\n });\n } else if (select === false) {\n this.selection.moveCursorBy(rows, 0);\n this.selection.clearSelection();\n }\n this.$blockScrolling--;\n\n var scrollTop = renderer.scrollTop;\n\n renderer.scrollBy(0, rows * config.lineHeight);\n if (select != null)\n renderer.scrollCursorIntoView(null, 0.5);\n\n renderer.animateScrolling(scrollTop);\n };\n this.selectPageDown = function() {\n this.$moveByPage(1, true);\n };\n this.selectPageUp = function() {\n this.$moveByPage(-1, true);\n };\n this.gotoPageDown = function() {\n this.$moveByPage(1, false);\n };\n this.gotoPageUp = function() {\n this.$moveByPage(-1, false);\n };\n this.scrollPageDown = function() {\n this.$moveByPage(1);\n };\n this.scrollPageUp = function() {\n this.$moveByPage(-1);\n };\n this.scrollToRow = function(row) {\n this.renderer.scrollToRow(row);\n };\n this.scrollToLine = function(line, center, animate, callback) {\n this.renderer.scrollToLine(line, center, animate, callback);\n };\n this.centerSelection = function() {\n var range = this.getSelectionRange();\n var pos = {\n row: Math.floor(range.start.row + (range.end.row - range.start.row) / 2),\n column: Math.floor(range.start.column + (range.end.column - range.start.column) / 2)\n };\n this.renderer.alignCursor(pos, 0.5);\n };\n this.getCursorPosition = function() {\n return this.selection.getCursor();\n };\n this.getCursorPositionScreen = function() {\n return this.session.documentToScreenPosition(this.getCursorPosition());\n };\n this.getSelectionRange = function() {\n return this.selection.getRange();\n };\n this.selectAll = function() {\n this.$blockScrolling += 1;\n this.selection.selectAll();\n this.$blockScrolling -= 1;\n };\n this.clearSelection = function() {\n this.selection.clearSelection();\n };\n this.moveCursorTo = function(row, column) {\n this.selection.moveCursorTo(row, column);\n };\n this.moveCursorToPosition = function(pos) {\n this.selection.moveCursorToPosition(pos);\n };\n this.jumpToMatching = function(select, expand) {\n var cursor = this.getCursorPosition();\n var iterator = new TokenIterator(this.session, cursor.row, cursor.column);\n var prevToken = iterator.getCurrentToken();\n var token = prevToken || iterator.stepForward();\n\n if (!token) return;\n var matchType;\n var found = false;\n var depth = {};\n var i = cursor.column - token.start;\n var bracketType;\n var brackets = {\n \")\": \"(\",\n \"(\": \"(\",\n \"]\": \"[\",\n \"[\": \"[\",\n \"{\": \"{\",\n \"}\": \"{\"\n };\n \n do {\n if (token.value.match(/[{}()\\[\\]]/g)) {\n for (; i < token.value.length && !found; i++) {\n if (!brackets[token.value[i]]) {\n continue;\n }\n\n bracketType = brackets[token.value[i]] + '.' + token.type.replace(\"rparen\", \"lparen\");\n\n if (isNaN(depth[bracketType])) {\n depth[bracketType] = 0;\n }\n\n switch (token.value[i]) {\n case '(':\n case '[':\n case '{':\n depth[bracketType]++;\n break;\n case ')':\n case ']':\n case '}':\n depth[bracketType]--;\n\n if (depth[bracketType] === -1) {\n matchType = 'bracket';\n found = true;\n }\n break;\n }\n }\n }\n else if (token && token.type.indexOf('tag-name') !== -1) {\n if (isNaN(depth[token.value])) {\n depth[token.value] = 0;\n }\n \n if (prevToken.value === '<') {\n depth[token.value]++;\n }\n else if (prevToken.value === '</') {\n depth[token.value]--;\n }\n \n if (depth[token.value] === -1) {\n matchType = 'tag';\n found = true;\n }\n }\n\n if (!found) {\n prevToken = token;\n token = iterator.stepForward();\n i = 0;\n }\n } while (token && !found);\n if (!matchType)\n return;\n\n var range, pos;\n if (matchType === 'bracket') {\n range = this.session.getBracketRange(cursor);\n if (!range) {\n range = new Range(\n iterator.getCurrentTokenRow(),\n iterator.getCurrentTokenColumn() + i - 1,\n iterator.getCurrentTokenRow(),\n iterator.getCurrentTokenColumn() + i - 1\n );\n pos = range.start;\n if (expand || pos.row === cursor.row && Math.abs(pos.column - cursor.column) < 2)\n range = this.session.getBracketRange(pos);\n }\n }\n else if (matchType === 'tag') {\n if (token && token.type.indexOf('tag-name') !== -1) \n var tag = token.value;\n else\n return;\n\n range = new Range(\n iterator.getCurrentTokenRow(),\n iterator.getCurrentTokenColumn() - 2,\n iterator.getCurrentTokenRow(),\n iterator.getCurrentTokenColumn() - 2\n );\n if (range.compare(cursor.row, cursor.column) === 0) {\n found = false;\n do {\n token = prevToken;\n prevToken = iterator.stepBackward();\n \n if (prevToken) {\n if (prevToken.type.indexOf('tag-close') !== -1) {\n range.setEnd(iterator.getCurrentTokenRow(), iterator.getCurrentTokenColumn() + 1);\n }\n\n if (token.value === tag && token.type.indexOf('tag-name') !== -1) {\n if (prevToken.value === '<') {\n depth[tag]++;\n }\n else if (prevToken.value === '</') {\n depth[tag]--;\n }\n \n if (depth[tag] === 0)\n found = true;\n }\n }\n } while (prevToken && !found);\n }\n if (token && token.type.indexOf('tag-name')) {\n pos = range.start;\n if (pos.row == cursor.row && Math.abs(pos.column - cursor.column) < 2)\n pos = range.end;\n }\n }\n\n pos = range && range.cursor || pos;\n if (pos) {\n if (select) {\n if (range && expand) {\n this.selection.setRange(range);\n } else if (range && range.isEqual(this.getSelectionRange())) {\n this.clearSelection();\n } else {\n this.selection.selectTo(pos.row, pos.column);\n }\n } else {\n this.selection.moveTo(pos.row, pos.column);\n }\n }\n };\n this.gotoLine = function(lineNumber, column, animate) {\n this.selection.clearSelection();\n this.session.unfold({row: lineNumber - 1, column: column || 0});\n\n this.$blockScrolling += 1;\n this.exitMultiSelectMode && this.exitMultiSelectMode();\n this.moveCursorTo(lineNumber - 1, column || 0);\n this.$blockScrolling -= 1;\n\n if (!this.isRowFullyVisible(lineNumber - 1))\n this.scrollToLine(lineNumber - 1, true, animate);\n };\n this.navigateTo = function(row, column) {\n this.selection.moveTo(row, column);\n };\n this.navigateUp = function(times) {\n if (this.selection.isMultiLine() && !this.selection.isBackwards()) {\n var selectionStart = this.selection.anchor.getPosition();\n return this.moveCursorToPosition(selectionStart);\n }\n this.selection.clearSelection();\n this.selection.moveCursorBy(-times || -1, 0);\n };\n this.navigateDown = function(times) {\n if (this.selection.isMultiLine() && this.selection.isBackwards()) {\n var selectionEnd = this.selection.anchor.getPosition();\n return this.moveCursorToPosition(selectionEnd);\n }\n this.selection.clearSelection();\n this.selection.moveCursorBy(times || 1, 0);\n };\n this.navigateLeft = function(times) {\n if (!this.selection.isEmpty()) {\n var selectionStart = this.getSelectionRange().start;\n this.moveCursorToPosition(selectionStart);\n }\n else {\n times = times || 1;\n while (times--) {\n this.selection.moveCursorLeft();\n }\n }\n this.clearSelection();\n };\n this.navigateRight = function(times) {\n if (!this.selection.isEmpty()) {\n var selectionEnd = this.getSelectionRange().end;\n this.moveCursorToPosition(selectionEnd);\n }\n else {\n times = times || 1;\n while (times--) {\n this.selection.moveCursorRight();\n }\n }\n this.clearSelection();\n };\n this.navigateLineStart = function() {\n this.selection.moveCursorLineStart();\n this.clearSelection();\n };\n this.navigateLineEnd = function() {\n this.selection.moveCursorLineEnd();\n this.clearSelection();\n };\n this.navigateFileEnd = function() {\n this.selection.moveCursorFileEnd();\n this.clearSelection();\n };\n this.navigateFileStart = function() {\n this.selection.moveCursorFileStart();\n this.clearSelection();\n };\n this.navigateWordRight = function() {\n this.selection.moveCursorWordRight();\n this.clearSelection();\n };\n this.navigateWordLeft = function() {\n this.selection.moveCursorWordLeft();\n this.clearSelection();\n };\n this.replace = function(replacement, options) {\n if (options)\n this.$search.set(options);\n\n var range = this.$search.find(this.session);\n var replaced = 0;\n if (!range)\n return replaced;\n\n if (this.$tryReplace(range, replacement)) {\n replaced = 1;\n }\n if (range !== null) {\n this.selection.setSelectionRange(range);\n this.renderer.scrollSelectionIntoView(range.start, range.end);\n }\n\n return replaced;\n };\n this.replaceAll = function(replacement, options) {\n if (options) {\n this.$search.set(options);\n }\n\n var ranges = this.$search.findAll(this.session);\n var replaced = 0;\n if (!ranges.length)\n return replaced;\n\n this.$blockScrolling += 1;\n\n var selection = this.getSelectionRange();\n this.selection.moveTo(0, 0);\n\n for (var i = ranges.length - 1; i >= 0; --i) {\n if(this.$tryReplace(ranges[i], replacement)) {\n replaced++;\n }\n }\n\n this.selection.setSelectionRange(selection);\n this.$blockScrolling -= 1;\n\n return replaced;\n };\n\n this.$tryReplace = function(range, replacement) {\n var input = this.session.getTextRange(range);\n replacement = this.$search.replace(input, replacement);\n if (replacement !== null) {\n range.end = this.session.replace(range, replacement);\n return range;\n } else {\n return null;\n }\n };\n this.getLastSearchOptions = function() {\n return this.$search.getOptions();\n };\n this.find = function(needle, options, animate) {\n if (!options)\n options = {};\n\n if (typeof needle == \"string\" || needle instanceof RegExp)\n options.needle = needle;\n else if (typeof needle == \"object\")\n oop.mixin(options, needle);\n\n var range = this.selection.getRange();\n if (options.needle == null) {\n needle = this.session.getTextRange(range)\n || this.$search.$options.needle;\n if (!needle) {\n range = this.session.getWordRange(range.start.row, range.start.column);\n needle = this.session.getTextRange(range);\n }\n this.$search.set({needle: needle});\n }\n\n this.$search.set(options);\n if (!options.start)\n this.$search.set({start: range});\n\n var newRange = this.$search.find(this.session);\n if (options.preventScroll)\n return newRange;\n if (newRange) {\n this.revealRange(newRange, animate);\n return newRange;\n }\n if (options.backwards)\n range.start = range.end;\n else\n range.end = range.start;\n this.selection.setRange(range);\n };\n this.findNext = function(options, animate) {\n this.find({skipCurrent: true, backwards: false}, options, animate);\n };\n this.findPrevious = function(options, animate) {\n this.find(options, {skipCurrent: true, backwards: true}, animate);\n };\n\n this.revealRange = function(range, animate) {\n this.$blockScrolling += 1;\n this.session.unfold(range);\n this.selection.setSelectionRange(range);\n this.$blockScrolling -= 1;\n\n var scrollTop = this.renderer.scrollTop;\n this.renderer.scrollSelectionIntoView(range.start, range.end, 0.5);\n if (animate !== false)\n this.renderer.animateScrolling(scrollTop);\n };\n this.undo = function() {\n this.$blockScrolling++;\n this.session.getUndoManager().undo();\n this.$blockScrolling--;\n this.renderer.scrollCursorIntoView(null, 0.5);\n };\n this.redo = function() {\n this.$blockScrolling++;\n this.session.getUndoManager().redo();\n this.$blockScrolling--;\n this.renderer.scrollCursorIntoView(null, 0.5);\n };\n this.destroy = function() {\n this.renderer.destroy();\n this._signal(\"destroy\", this);\n if (this.session) {\n this.session.destroy();\n }\n };\n this.setAutoScrollEditorIntoView = function(enable) {\n if (!enable)\n return;\n var rect;\n var self = this;\n var shouldScroll = false;\n if (!this.$scrollAnchor)\n this.$scrollAnchor = document.createElement(\"div\");\n var scrollAnchor = this.$scrollAnchor;\n scrollAnchor.style.cssText = \"position:absolute\";\n this.container.insertBefore(scrollAnchor, this.container.firstChild);\n var onChangeSelection = this.on(\"changeSelection\", function() {\n shouldScroll = true;\n });\n var onBeforeRender = this.renderer.on(\"beforeRender\", function() {\n if (shouldScroll)\n rect = self.renderer.container.getBoundingClientRect();\n });\n var onAfterRender = this.renderer.on(\"afterRender\", function() {\n if (shouldScroll && rect && (self.isFocused()\n || self.searchBox && self.searchBox.isFocused())\n ) {\n var renderer = self.renderer;\n var pos = renderer.$cursorLayer.$pixelPos;\n var config = renderer.layerConfig;\n var top = pos.top - config.offset;\n if (pos.top >= 0 && top + rect.top < 0) {\n shouldScroll = true;\n } else if (pos.top < config.height &&\n pos.top + rect.top + config.lineHeight > window.innerHeight) {\n shouldScroll = false;\n } else {\n shouldScroll = null;\n }\n if (shouldScroll != null) {\n scrollAnchor.style.top = top + \"px\";\n scrollAnchor.style.left = pos.left + \"px\";\n scrollAnchor.style.height = config.lineHeight + \"px\";\n scrollAnchor.scrollIntoView(shouldScroll);\n }\n shouldScroll = rect = null;\n }\n });\n this.setAutoScrollEditorIntoView = function(enable) {\n if (enable)\n return;\n delete this.setAutoScrollEditorIntoView;\n this.off(\"changeSelection\", onChangeSelection);\n this.renderer.off(\"afterRender\", onAfterRender);\n this.renderer.off(\"beforeRender\", onBeforeRender);\n };\n };\n\n\n this.$resetCursorStyle = function() {\n var style = this.$cursorStyle || \"ace\";\n var cursorLayer = this.renderer.$cursorLayer;\n if (!cursorLayer)\n return;\n cursorLayer.setSmoothBlinking(/smooth/.test(style));\n cursorLayer.isBlinking = !this.$readOnly && style != \"wide\";\n dom.setCssClass(cursorLayer.element, \"ace_slim-cursors\", /slim/.test(style));\n };\n\n}).call(Editor.prototype);\n\n\n\nconfig.defineOptions(Editor.prototype, \"editor\", {\n selectionStyle: {\n set: function(style) {\n this.onSelectionChange();\n this._signal(\"changeSelectionStyle\", {data: style});\n },\n initialValue: \"line\"\n },\n highlightActiveLine: {\n set: function() {this.$updateHighlightActiveLine();},\n initialValue: true\n },\n highlightSelectedWord: {\n set: function(shouldHighlight) {this.$onSelectionChange();},\n initialValue: true\n },\n readOnly: {\n set: function(readOnly) {\n this.$resetCursorStyle(); \n },\n initialValue: false\n },\n cursorStyle: {\n set: function(val) { this.$resetCursorStyle(); },\n values: [\"ace\", \"slim\", \"smooth\", \"wide\"],\n initialValue: \"ace\"\n },\n mergeUndoDeltas: {\n values: [false, true, \"always\"],\n initialValue: true\n },\n behavioursEnabled: {initialValue: true},\n wrapBehavioursEnabled: {initialValue: true},\n autoScrollEditorIntoView: {\n set: function(val) {this.setAutoScrollEditorIntoView(val)}\n },\n keyboardHandler: {\n set: function(val) { this.setKeyboardHandler(val); },\n get: function() { return this.keybindingId; },\n handlesSet: true\n },\n\n hScrollBarAlwaysVisible: \"renderer\",\n vScrollBarAlwaysVisible: \"renderer\",\n highlightGutterLine: \"renderer\",\n animatedScroll: \"renderer\",\n showInvisibles: \"renderer\",\n showPrintMargin: \"renderer\",\n printMarginColumn: \"renderer\",\n printMargin: \"renderer\",\n fadeFoldWidgets: \"renderer\",\n showFoldWidgets: \"renderer\",\n showLineNumbers: \"renderer\",\n showGutter: \"renderer\",\n displayIndentGuides: \"renderer\",\n fontSize: \"renderer\",\n fontFamily: \"renderer\",\n maxLines: \"renderer\",\n minLines: \"renderer\",\n scrollPastEnd: \"renderer\",\n fixedWidthGutter: \"renderer\",\n theme: \"renderer\",\n\n scrollSpeed: \"$mouseHandler\",\n dragDelay: \"$mouseHandler\",\n dragEnabled: \"$mouseHandler\",\n focusTimout: \"$mouseHandler\",\n tooltipFollowsMouse: \"$mouseHandler\",\n\n firstLineNumber: \"session\",\n overwrite: \"session\",\n newLineMode: \"session\",\n useWorker: \"session\",\n useSoftTabs: \"session\",\n tabSize: \"session\",\n wrap: \"session\",\n indentedSoftWrap: \"session\",\n foldStyle: \"session\",\n mode: \"session\"\n});\n\nexports.Editor = Editor;\n});\n\nace.define(\"ace/undomanager\",[\"require\",\"exports\",\"module\"], function(acequire, exports, module) {\n\"use strict\";\nvar UndoManager = function() {\n this.reset();\n};\n\n(function() {\n this.execute = function(options) {\n var deltaSets = options.args[0];\n this.$doc = options.args[1];\n if (options.merge && this.hasUndo()){\n this.dirtyCounter--;\n deltaSets = this.$undoStack.pop().concat(deltaSets);\n }\n this.$undoStack.push(deltaSets);\n this.$redoStack = [];\n if (this.dirtyCounter < 0) {\n this.dirtyCounter = NaN;\n }\n this.dirtyCounter++;\n };\n this.undo = function(dontSelect) {\n var deltaSets = this.$undoStack.pop();\n var undoSelectionRange = null;\n if (deltaSets) {\n undoSelectionRange = this.$doc.undoChanges(deltaSets, dontSelect);\n this.$redoStack.push(deltaSets);\n this.dirtyCounter--;\n }\n\n return undoSelectionRange;\n };\n this.redo = function(dontSelect) {\n var deltaSets = this.$redoStack.pop();\n var redoSelectionRange = null;\n if (deltaSets) {\n redoSelectionRange =\n this.$doc.redoChanges(this.$deserializeDeltas(deltaSets), dontSelect);\n this.$undoStack.push(deltaSets);\n this.dirtyCounter++;\n }\n return redoSelectionRange;\n };\n this.reset = function() {\n this.$undoStack = [];\n this.$redoStack = [];\n this.dirtyCounter = 0;\n };\n this.hasUndo = function() {\n return this.$undoStack.length > 0;\n };\n this.hasRedo = function() {\n return this.$redoStack.length > 0;\n };\n this.markClean = function() {\n this.dirtyCounter = 0;\n };\n this.isClean = function() {\n return this.dirtyCounter === 0;\n };\n this.$serializeDeltas = function(deltaSets) {\n return cloneDeltaSetsObj(deltaSets, $serializeDelta);\n };\n this.$deserializeDeltas = function(deltaSets) {\n return cloneDeltaSetsObj(deltaSets, $deserializeDelta);\n };\n \n function $serializeDelta(delta){\n return {\n action: delta.action,\n start: delta.start,\n end: delta.end,\n lines: delta.lines.length == 1 ? null : delta.lines,\n text: delta.lines.length == 1 ? delta.lines[0] : null\n };\n }\n \n function $deserializeDelta(delta) {\n return {\n action: delta.action,\n start: delta.start,\n end: delta.end,\n lines: delta.lines || [delta.text]\n };\n }\n \n function cloneDeltaSetsObj(deltaSets_old, fnGetModifiedDelta) {\n var deltaSets_new = new Array(deltaSets_old.length);\n for (var i = 0; i < deltaSets_old.length; i++) {\n var deltaSet_old = deltaSets_old[i];\n var deltaSet_new = { group: deltaSet_old.group, deltas: new Array(deltaSet_old.length)};\n \n for (var j = 0; j < deltaSet_old.deltas.length; j++) {\n var delta_old = deltaSet_old.deltas[j];\n deltaSet_new.deltas[j] = fnGetModifiedDelta(delta_old);\n }\n \n deltaSets_new[i] = deltaSet_new;\n }\n return deltaSets_new;\n }\n \n}).call(UndoManager.prototype);\n\nexports.UndoManager = UndoManager;\n});\n\nace.define(\"ace/layer/gutter\",[\"require\",\"exports\",\"module\",\"ace/lib/dom\",\"ace/lib/oop\",\"ace/lib/lang\",\"ace/lib/event_emitter\"], function(acequire, exports, module) {\n\"use strict\";\n\nvar dom = acequire(\"../lib/dom\");\nvar oop = acequire(\"../lib/oop\");\nvar lang = acequire(\"../lib/lang\");\nvar EventEmitter = acequire(\"../lib/event_emitter\").EventEmitter;\n\nvar Gutter = function(parentEl) {\n this.element = dom.createElement(\"div\");\n this.element.className = \"ace_layer ace_gutter-layer\";\n parentEl.appendChild(this.element);\n this.setShowFoldWidgets(this.$showFoldWidgets);\n \n this.gutterWidth = 0;\n\n this.$annotations = [];\n this.$updateAnnotations = this.$updateAnnotations.bind(this);\n\n this.$cells = [];\n};\n\n(function() {\n\n oop.implement(this, EventEmitter);\n\n this.setSession = function(session) {\n if (this.session)\n this.session.removeEventListener(\"change\", this.$updateAnnotations);\n this.session = session;\n if (session)\n session.on(\"change\", this.$updateAnnotations);\n };\n\n this.addGutterDecoration = function(row, className){\n if (window.console)\n console.warn && console.warn(\"deprecated use session.addGutterDecoration\");\n this.session.addGutterDecoration(row, className);\n };\n\n this.removeGutterDecoration = function(row, className){\n if (window.console)\n console.warn && console.warn(\"deprecated use session.removeGutterDecoration\");\n this.session.removeGutterDecoration(row, className);\n };\n\n this.setAnnotations = function(annotations) {\n this.$annotations = [];\n for (var i = 0; i < annotations.length; i++) {\n var annotation = annotations[i];\n var row = annotation.row;\n var rowInfo = this.$annotations[row];\n if (!rowInfo)\n rowInfo = this.$annotations[row] = {text: []};\n \n var annoText = annotation.text;\n annoText = annoText ? lang.escapeHTML(annoText) : annotation.html || \"\";\n\n if (rowInfo.text.indexOf(annoText) === -1)\n rowInfo.text.push(annoText);\n\n var type = annotation.type;\n if (type == \"error\")\n rowInfo.className = \" ace_error\";\n else if (type == \"warning\" && rowInfo.className != \" ace_error\")\n rowInfo.className = \" ace_warning\";\n else if (type == \"info\" && (!rowInfo.className))\n rowInfo.className = \" ace_info\";\n }\n };\n\n this.$updateAnnotations = function (delta) {\n if (!this.$annotations.length)\n return;\n var firstRow = delta.start.row;\n var len = delta.end.row - firstRow;\n if (len === 0) {\n } else if (delta.action == 'remove') {\n this.$annotations.splice(firstRow, len + 1, null);\n } else {\n var args = new Array(len + 1);\n args.unshift(firstRow, 1);\n this.$annotations.splice.apply(this.$annotations, args);\n }\n };\n\n this.update = function(config) {\n var session = this.session;\n var firstRow = config.firstRow;\n var lastRow = Math.min(config.lastRow + config.gutterOffset, // needed to compensate for hor scollbar\n session.getLength() - 1);\n var fold = session.getNextFoldLine(firstRow);\n var foldStart = fold ? fold.start.row : Infinity;\n var foldWidgets = this.$showFoldWidgets && session.foldWidgets;\n var breakpoints = session.$breakpoints;\n var decorations = session.$decorations;\n var firstLineNumber = session.$firstLineNumber;\n var lastLineNumber = 0;\n \n var gutterRenderer = session.gutterRenderer || this.$renderer;\n\n var cell = null;\n var index = -1;\n var row = firstRow;\n while (true) {\n if (row > foldStart) {\n row = fold.end.row + 1;\n fold = session.getNextFoldLine(row, fold);\n foldStart = fold ? fold.start.row : Infinity;\n }\n if (row > lastRow) {\n while (this.$cells.length > index + 1) {\n cell = this.$cells.pop();\n this.element.removeChild(cell.element);\n }\n break;\n }\n\n cell = this.$cells[++index];\n if (!cell) {\n cell = {element: null, textNode: null, foldWidget: null};\n cell.element = dom.createElement(\"div\");\n cell.textNode = document.createTextNode('');\n cell.element.appendChild(cell.textNode);\n this.element.appendChild(cell.element);\n this.$cells[index] = cell;\n }\n\n var className = \"ace_gutter-cell \";\n if (breakpoints[row])\n className += breakpoints[row];\n if (decorations[row])\n className += decorations[row];\n if (this.$annotations[row])\n className += this.$annotations[row].className;\n if (cell.element.className != className)\n cell.element.className = className;\n\n var height = session.getRowLength(row) * config.lineHeight + \"px\";\n if (height != cell.element.style.height)\n cell.element.style.height = height;\n\n if (foldWidgets) {\n var c = foldWidgets[row];\n if (c == null)\n c = foldWidgets[row] = session.getFoldWidget(row);\n }\n\n if (c) {\n if (!cell.foldWidget) {\n cell.foldWidget = dom.createElement(\"span\");\n cell.element.appendChild(cell.foldWidget);\n }\n var className = \"ace_fold-widget ace_\" + c;\n if (c == \"start\" && row == foldStart && row < fold.end.row)\n className += \" ace_closed\";\n else\n className += \" ace_open\";\n if (cell.foldWidget.className != className)\n cell.foldWidget.className = className;\n\n var height = config.lineHeight + \"px\";\n if (cell.foldWidget.style.height != height)\n cell.foldWidget.style.height = height;\n } else {\n if (cell.foldWidget) {\n cell.element.removeChild(cell.foldWidget);\n cell.foldWidget = null;\n }\n }\n \n var text = lastLineNumber = gutterRenderer\n ? gutterRenderer.getText(session, row)\n : row + firstLineNumber;\n if (text != cell.textNode.data)\n cell.textNode.data = text;\n\n row++;\n }\n\n this.element.style.height = config.minHeight + \"px\";\n\n if (this.$fixedWidth || session.$useWrapMode)\n lastLineNumber = session.getLength() + firstLineNumber;\n\n var gutterWidth = gutterRenderer \n ? gutterRenderer.getWidth(session, lastLineNumber, config)\n : lastLineNumber.toString().length * config.characterWidth;\n \n var padding = this.$padding || this.$computePadding();\n gutterWidth += padding.left + padding.right;\n if (gutterWidth !== this.gutterWidth && !isNaN(gutterWidth)) {\n this.gutterWidth = gutterWidth;\n this.element.style.width = Math.ceil(this.gutterWidth) + \"px\";\n this._emit(\"changeGutterWidth\", gutterWidth);\n }\n };\n\n this.$fixedWidth = false;\n \n this.$showLineNumbers = true;\n this.$renderer = \"\";\n this.setShowLineNumbers = function(show) {\n this.$renderer = !show && {\n getWidth: function() {return \"\"},\n getText: function() {return \"\"}\n };\n };\n \n this.getShowLineNumbers = function() {\n return this.$showLineNumbers;\n };\n \n this.$showFoldWidgets = true;\n this.setShowFoldWidgets = function(show) {\n if (show)\n dom.addCssClass(this.element, \"ace_folding-enabled\");\n else\n dom.removeCssClass(this.element, \"ace_folding-enabled\");\n\n this.$showFoldWidgets = show;\n this.$padding = null;\n };\n \n this.getShowFoldWidgets = function() {\n return this.$showFoldWidgets;\n };\n\n this.$computePadding = function() {\n if (!this.element.firstChild)\n return {left: 0, right: 0};\n var style = dom.computedStyle(this.element.firstChild);\n this.$padding = {};\n this.$padding.left = parseInt(style.paddingLeft) + 1 || 0;\n this.$padding.right = parseInt(style.paddingRight) || 0;\n return this.$padding;\n };\n\n this.getRegion = function(point) {\n var padding = this.$padding || this.$computePadding();\n var rect = this.element.getBoundingClientRect();\n if (point.x < padding.left + rect.left)\n return \"markers\";\n if (this.$showFoldWidgets && point.x > rect.right - padding.right)\n return \"foldWidgets\";\n };\n\n}).call(Gutter.prototype);\n\nexports.Gutter = Gutter;\n\n});\n\nace.define(\"ace/layer/marker\",[\"require\",\"exports\",\"module\",\"ace/range\",\"ace/lib/dom\"], function(acequire, exports, module) {\n\"use strict\";\n\nvar Range = acequire(\"../range\").Range;\nvar dom = acequire(\"../lib/dom\");\n\nvar Marker = function(parentEl) {\n this.element = dom.createElement(\"div\");\n this.element.className = \"ace_layer ace_marker-layer\";\n parentEl.appendChild(this.element);\n};\n\n(function() {\n\n this.$padding = 0;\n\n this.setPadding = function(padding) {\n this.$padding = padding;\n };\n this.setSession = function(session) {\n this.session = session;\n };\n \n this.setMarkers = function(markers) {\n this.markers = markers;\n };\n\n this.update = function(config) {\n var config = config || this.config;\n if (!config)\n return;\n\n this.config = config;\n\n\n var html = [];\n for (var key in this.markers) {\n var marker = this.markers[key];\n\n if (!marker.range) {\n marker.update(html, this, this.session, config);\n continue;\n }\n\n var range = marker.range.clipRows(config.firstRow, config.lastRow);\n if (range.isEmpty()) continue;\n\n range = range.toScreenRange(this.session);\n if (marker.renderer) {\n var top = this.$getTop(range.start.row, config);\n var left = this.$padding + range.start.column * config.characterWidth;\n marker.renderer(html, range, left, top, config);\n } else if (marker.type == \"fullLine\") {\n this.drawFullLineMarker(html, range, marker.clazz, config);\n } else if (marker.type == \"screenLine\") {\n this.drawScreenLineMarker(html, range, marker.clazz, config);\n } else if (range.isMultiLine()) {\n if (marker.type == \"text\")\n this.drawTextMarker(html, range, marker.clazz, config);\n else\n this.drawMultiLineMarker(html, range, marker.clazz, config);\n } else {\n this.drawSingleLineMarker(html, range, marker.clazz + \" ace_start\" + \" ace_br15\", config);\n }\n }\n this.element.innerHTML = html.join(\"\");\n };\n\n this.$getTop = function(row, layerConfig) {\n return (row - layerConfig.firstRowScreen) * layerConfig.lineHeight;\n };\n\n function getBorderClass(tl, tr, br, bl) {\n return (tl ? 1 : 0) | (tr ? 2 : 0) | (br ? 4 : 0) | (bl ? 8 : 0);\n }\n this.drawTextMarker = function(stringBuilder, range, clazz, layerConfig, extraStyle) {\n var session = this.session;\n var start = range.start.row;\n var end = range.end.row;\n var row = start;\n var prev = 0; \n var curr = 0;\n var next = session.getScreenLastRowColumn(row);\n var lineRange = new Range(row, range.start.column, row, curr);\n for (; row <= end; row++) {\n lineRange.start.row = lineRange.end.row = row;\n lineRange.start.column = row == start ? range.start.column : session.getRowWrapIndent(row);\n lineRange.end.column = next;\n prev = curr;\n curr = next;\n next = row + 1 < end ? session.getScreenLastRowColumn(row + 1) : row == end ? 0 : range.end.column;\n this.drawSingleLineMarker(stringBuilder, lineRange, \n clazz + (row == start ? \" ace_start\" : \"\") + \" ace_br\"\n + getBorderClass(row == start || row == start + 1 && range.start.column, prev < curr, curr > next, row == end),\n layerConfig, row == end ? 0 : 1, extraStyle);\n }\n };\n this.drawMultiLineMarker = function(stringBuilder, range, clazz, config, extraStyle) {\n var padding = this.$padding;\n var height = config.lineHeight;\n var top = this.$getTop(range.start.row, config);\n var left = padding + range.start.column * config.characterWidth;\n extraStyle = extraStyle || \"\";\n\n stringBuilder.push(\n \"<div class='\", clazz, \" ace_br1 ace_start' style='\",\n \"height:\", height, \"px;\",\n \"right:0;\",\n \"top:\", top, \"px;\",\n \"left:\", left, \"px;\", extraStyle, \"'></div>\"\n );\n top = this.$getTop(range.end.row, config);\n var width = range.end.column * config.characterWidth;\n\n stringBuilder.push(\n \"<div class='\", clazz, \" ace_br12' style='\",\n \"height:\", height, \"px;\",\n \"width:\", width, \"px;\",\n \"top:\", top, \"px;\",\n \"left:\", padding, \"px;\", extraStyle, \"'></div>\"\n );\n height = (range.end.row - range.start.row - 1) * config.lineHeight;\n if (height <= 0)\n return;\n top = this.$getTop(range.start.row + 1, config);\n \n var radiusClass = (range.start.column ? 1 : 0) | (range.end.column ? 0 : 8);\n\n stringBuilder.push(\n \"<div class='\", clazz, (radiusClass ? \" ace_br\" + radiusClass : \"\"), \"' style='\",\n \"height:\", height, \"px;\",\n \"right:0;\",\n \"top:\", top, \"px;\",\n \"left:\", padding, \"px;\", extraStyle, \"'></div>\"\n );\n };\n this.drawSingleLineMarker = function(stringBuilder, range, clazz, config, extraLength, extraStyle) {\n var height = config.lineHeight;\n var width = (range.end.column + (extraLength || 0) - range.start.column) * config.characterWidth;\n\n var top = this.$getTop(range.start.row, config);\n var left = this.$padding + range.start.column * config.characterWidth;\n\n stringBuilder.push(\n \"<div class='\", clazz, \"' style='\",\n \"height:\", height, \"px;\",\n \"width:\", width, \"px;\",\n \"top:\", top, \"px;\",\n \"left:\", left, \"px;\", extraStyle || \"\", \"'></div>\"\n );\n };\n\n this.drawFullLineMarker = function(stringBuilder, range, clazz, config, extraStyle) {\n var top = this.$getTop(range.start.row, config);\n var height = config.lineHeight;\n if (range.start.row != range.end.row)\n height += this.$getTop(range.end.row, config) - top;\n\n stringBuilder.push(\n \"<div class='\", clazz, \"' style='\",\n \"height:\", height, \"px;\",\n \"top:\", top, \"px;\",\n \"left:0;right:0;\", extraStyle || \"\", \"'></div>\"\n );\n };\n \n this.drawScreenLineMarker = function(stringBuilder, range, clazz, config, extraStyle) {\n var top = this.$getTop(range.start.row, config);\n var height = config.lineHeight;\n\n stringBuilder.push(\n \"<div class='\", clazz, \"' style='\",\n \"height:\", height, \"px;\",\n \"top:\", top, \"px;\",\n \"left:0;right:0;\", extraStyle || \"\", \"'></div>\"\n );\n };\n\n}).call(Marker.prototype);\n\nexports.Marker = Marker;\n\n});\n\nace.define(\"ace/layer/text\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/lib/dom\",\"ace/lib/lang\",\"ace/lib/useragent\",\"ace/lib/event_emitter\"], function(acequire, exports, module) {\n\"use strict\";\n\nvar oop = acequire(\"../lib/oop\");\nvar dom = acequire(\"../lib/dom\");\nvar lang = acequire(\"../lib/lang\");\nvar useragent = acequire(\"../lib/useragent\");\nvar EventEmitter = acequire(\"../lib/event_emitter\").EventEmitter;\n\nvar Text = function(parentEl) {\n this.element = dom.createElement(\"div\");\n this.element.className = \"ace_layer ace_text-layer\";\n parentEl.appendChild(this.element);\n this.$updateEolChar = this.$updateEolChar.bind(this);\n};\n\n(function() {\n\n oop.implement(this, EventEmitter);\n\n this.EOF_CHAR = \"\\xB6\";\n this.EOL_CHAR_LF = \"\\xAC\";\n this.EOL_CHAR_CRLF = \"\\xa4\";\n this.EOL_CHAR = this.EOL_CHAR_LF;\n this.TAB_CHAR = \"\\u2014\"; //\"\\u21E5\";\n this.SPACE_CHAR = \"\\xB7\";\n this.$padding = 0;\n\n this.$updateEolChar = function() {\n var EOL_CHAR = this.session.doc.getNewLineCharacter() == \"\\n\"\n ? this.EOL_CHAR_LF\n : this.EOL_CHAR_CRLF;\n if (this.EOL_CHAR != EOL_CHAR) {\n this.EOL_CHAR = EOL_CHAR;\n return true;\n }\n }\n\n this.setPadding = function(padding) {\n this.$padding = padding;\n this.element.style.padding = \"0 \" + padding + \"px\";\n };\n\n this.getLineHeight = function() {\n return this.$fontMetrics.$characterSize.height || 0;\n };\n\n this.getCharacterWidth = function() {\n return this.$fontMetrics.$characterSize.width || 0;\n };\n \n this.$setFontMetrics = function(measure) {\n this.$fontMetrics = measure;\n this.$fontMetrics.on(\"changeCharacterSize\", function(e) {\n this._signal(\"changeCharacterSize\", e);\n }.bind(this));\n this.$pollSizeChanges();\n }\n\n this.checkForSizeChanges = function() {\n this.$fontMetrics.checkForSizeChanges();\n };\n this.$pollSizeChanges = function() {\n return this.$pollSizeChangesTimer = this.$fontMetrics.$pollSizeChanges();\n };\n this.setSession = function(session) {\n this.session = session;\n if (session)\n this.$computeTabString();\n };\n\n this.showInvisibles = false;\n this.setShowInvisibles = function(showInvisibles) {\n if (this.showInvisibles == showInvisibles)\n return false;\n\n this.showInvisibles = showInvisibles;\n this.$computeTabString();\n return true;\n };\n\n this.displayIndentGuides = true;\n this.setDisplayIndentGuides = function(display) {\n if (this.displayIndentGuides == display)\n return false;\n\n this.displayIndentGuides = display;\n this.$computeTabString();\n return true;\n };\n\n this.$tabStrings = [];\n this.onChangeTabSize =\n this.$computeTabString = function() {\n var tabSize = this.session.getTabSize();\n this.tabSize = tabSize;\n var tabStr = this.$tabStrings = [0];\n for (var i = 1; i < tabSize + 1; i++) {\n if (this.showInvisibles) {\n tabStr.push(\"<span class='ace_invisible ace_invisible_tab'>\"\n + lang.stringRepeat(this.TAB_CHAR, i)\n + \"</span>\");\n } else {\n tabStr.push(lang.stringRepeat(\" \", i));\n }\n }\n if (this.displayIndentGuides) {\n this.$indentGuideRe = /\\s\\S| \\t|\\t |\\s$/;\n var className = \"ace_indent-guide\";\n var spaceClass = \"\";\n var tabClass = \"\";\n if (this.showInvisibles) {\n className += \" ace_invisible\";\n spaceClass = \" ace_invisible_space\";\n tabClass = \" ace_invisible_tab\";\n var spaceContent = lang.stringRepeat(this.SPACE_CHAR, this.tabSize);\n var tabContent = lang.stringRepeat(this.TAB_CHAR, this.tabSize);\n } else{\n var spaceContent = lang.stringRepeat(\" \", this.tabSize);\n var tabContent = spaceContent;\n }\n\n this.$tabStrings[\" \"] = \"<span class='\" + className + spaceClass + \"'>\" + spaceContent + \"</span>\";\n this.$tabStrings[\"\\t\"] = \"<span class='\" + className + tabClass + \"'>\" + tabContent + \"</span>\";\n }\n };\n\n this.updateLines = function(config, firstRow, lastRow) {\n if (this.config.lastRow != config.lastRow ||\n this.config.firstRow != config.firstRow) {\n this.scrollLines(config);\n }\n this.config = config;\n\n var first = Math.max(firstRow, config.firstRow);\n var last = Math.min(lastRow, config.lastRow);\n\n var lineElements = this.element.childNodes;\n var lineElementsIdx = 0;\n\n for (var row = config.firstRow; row < first; row++) {\n var foldLine = this.session.getFoldLine(row);\n if (foldLine) {\n if (foldLine.containsRow(first)) {\n first = foldLine.start.row;\n break;\n } else {\n row = foldLine.end.row;\n }\n }\n lineElementsIdx ++;\n }\n\n var row = first;\n var foldLine = this.session.getNextFoldLine(row);\n var foldStart = foldLine ? foldLine.start.row : Infinity;\n\n while (true) {\n if (row > foldStart) {\n row = foldLine.end.row+1;\n foldLine = this.session.getNextFoldLine(row, foldLine);\n foldStart = foldLine ? foldLine.start.row :Infinity;\n }\n if (row > last)\n break;\n\n var lineElement = lineElements[lineElementsIdx++];\n if (lineElement) {\n var html = [];\n this.$renderLine(\n html, row, !this.$useLineGroups(), row == foldStart ? foldLine : false\n );\n lineElement.style.height = config.lineHeight * this.session.getRowLength(row) + \"px\";\n lineElement.innerHTML = html.join(\"\");\n }\n row++;\n }\n };\n\n this.scrollLines = function(config) {\n var oldConfig = this.config;\n this.config = config;\n\n if (!oldConfig || oldConfig.lastRow < config.firstRow)\n return this.update(config);\n\n if (config.lastRow < oldConfig.firstRow)\n return this.update(config);\n\n var el = this.element;\n if (oldConfig.firstRow < config.firstRow)\n for (var row=this.session.getFoldedRowCount(oldConfig.firstRow, config.firstRow - 1); row>0; row--)\n el.removeChild(el.firstChild);\n\n if (oldConfig.lastRow > config.lastRow)\n for (var row=this.session.getFoldedRowCount(config.lastRow + 1, oldConfig.lastRow); row>0; row--)\n el.removeChild(el.lastChild);\n\n if (config.firstRow < oldConfig.firstRow) {\n var fragment = this.$renderLinesFragment(config, config.firstRow, oldConfig.firstRow - 1);\n if (el.firstChild)\n el.insertBefore(fragment, el.firstChild);\n else\n el.appendChild(fragment);\n }\n\n if (config.lastRow > oldConfig.lastRow) {\n var fragment = this.$renderLinesFragment(config, oldConfig.lastRow + 1, config.lastRow);\n el.appendChild(fragment);\n }\n };\n\n this.$renderLinesFragment = function(config, firstRow, lastRow) {\n var fragment = this.element.ownerDocument.createDocumentFragment();\n var row = firstRow;\n var foldLine = this.session.getNextFoldLine(row);\n var foldStart = foldLine ? foldLine.start.row : Infinity;\n\n while (true) {\n if (row > foldStart) {\n row = foldLine.end.row+1;\n foldLine = this.session.getNextFoldLine(row, foldLine);\n foldStart = foldLine ? foldLine.start.row : Infinity;\n }\n if (row > lastRow)\n break;\n\n var container = dom.createElement(\"div\");\n\n var html = [];\n this.$renderLine(html, row, false, row == foldStart ? foldLine : false);\n container.innerHTML = html.join(\"\");\n if (this.$useLineGroups()) {\n container.className = 'ace_line_group';\n fragment.appendChild(container);\n container.style.height = config.lineHeight * this.session.getRowLength(row) + \"px\";\n\n } else {\n while(container.firstChild)\n fragment.appendChild(container.firstChild);\n }\n\n row++;\n }\n return fragment;\n };\n\n this.update = function(config) {\n this.config = config;\n\n var html = [];\n var firstRow = config.firstRow, lastRow = config.lastRow;\n\n var row = firstRow;\n var foldLine = this.session.getNextFoldLine(row);\n var foldStart = foldLine ? foldLine.start.row : Infinity;\n\n while (true) {\n if (row > foldStart) {\n row = foldLine.end.row+1;\n foldLine = this.session.getNextFoldLine(row, foldLine);\n foldStart = foldLine ? foldLine.start.row :Infinity;\n }\n if (row > lastRow)\n break;\n\n if (this.$useLineGroups())\n html.push(\"<div class='ace_line_group' style='height:\", config.lineHeight*this.session.getRowLength(row), \"px'>\")\n\n this.$renderLine(html, row, false, row == foldStart ? foldLine : false);\n\n if (this.$useLineGroups())\n html.push(\"</div>\"); // end the line group\n\n row++;\n }\n this.element.innerHTML = html.join(\"\");\n };\n\n this.$textToken = {\n \"text\": true,\n \"rparen\": true,\n \"lparen\": true\n };\n\n this.$renderToken = function(stringBuilder, screenColumn, token, value) {\n var self = this;\n var replaceReg = /\\t|&|<|>|( +)|([\\x00-\\x1f\\x80-\\xa0\\xad\\u1680\\u180E\\u2000-\\u200f\\u2028\\u2029\\u202F\\u205F\\u3000\\uFEFF\\uFFF9-\\uFFFC])|[\\u1100-\\u115F\\u11A3-\\u11A7\\u11FA-\\u11FF\\u2329-\\u232A\\u2E80-\\u2E99\\u2E9B-\\u2EF3\\u2F00-\\u2FD5\\u2FF0-\\u2FFB\\u3000-\\u303E\\u3041-\\u3096\\u3099-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u3190-\\u31BA\\u31C0-\\u31E3\\u31F0-\\u321E\\u3220-\\u3247\\u3250-\\u32FE\\u3300-\\u4DBF\\u4E00-\\uA48C\\uA490-\\uA4C6\\uA960-\\uA97C\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFAFF\\uFE10-\\uFE19\\uFE30-\\uFE52\\uFE54-\\uFE66\\uFE68-\\uFE6B\\uFF01-\\uFF60\\uFFE0-\\uFFE6]/g;\n var replaceFunc = function(c, a, b, tabIdx, idx4) {\n if (a) {\n return self.showInvisibles\n ? \"<span class='ace_invisible ace_invisible_space'>\" + lang.stringRepeat(self.SPACE_CHAR, c.length) + \"</span>\"\n : c;\n } else if (c == \"&\") {\n return \"&\";\n } else if (c == \"<\") {\n return \"<\";\n } else if (c == \">\") {\n return \">\";\n } else if (c == \"\\t\") {\n var tabSize = self.session.getScreenTabSize(screenColumn + tabIdx);\n screenColumn += tabSize - 1;\n return self.$tabStrings[tabSize];\n } else if (c == \"\\u3000\") {\n var classToUse = self.showInvisibles ? \"ace_cjk ace_invisible ace_invisible_space\" : \"ace_cjk\";\n var space = self.showInvisibles ? self.SPACE_CHAR : \"\";\n screenColumn += 1;\n return \"<span class='\" + classToUse + \"' style='width:\" +\n (self.config.characterWidth * 2) +\n \"px'>\" + space + \"</span>\";\n } else if (b) {\n return \"<span class='ace_invisible ace_invisible_space ace_invalid'>\" + self.SPACE_CHAR + \"</span>\";\n } else {\n screenColumn += 1;\n return \"<span class='ace_cjk' style='width:\" +\n (self.config.characterWidth * 2) +\n \"px'>\" + c + \"</span>\";\n }\n };\n\n var output = value.replace(replaceReg, replaceFunc);\n\n if (!this.$textToken[token.type]) {\n var classes = \"ace_\" + token.type.replace(/\\./g, \" ace_\");\n var style = \"\";\n if (token.type == \"fold\")\n style = \" style='width:\" + (token.value.length * this.config.characterWidth) + \"px;' \";\n stringBuilder.push(\"<span class='\", classes, \"'\", style, \">\", output, \"</span>\");\n }\n else {\n stringBuilder.push(output);\n }\n return screenColumn + value.length;\n };\n\n this.renderIndentGuide = function(stringBuilder, value, max) {\n var cols = value.search(this.$indentGuideRe);\n if (cols <= 0 || cols >= max)\n return value;\n if (value[0] == \" \") {\n cols -= cols % this.tabSize;\n stringBuilder.push(lang.stringRepeat(this.$tabStrings[\" \"], cols/this.tabSize));\n return value.substr(cols);\n } else if (value[0] == \"\\t\") {\n stringBuilder.push(lang.stringRepeat(this.$tabStrings[\"\\t\"], cols));\n return value.substr(cols);\n }\n return value;\n };\n\n this.$renderWrappedLine = function(stringBuilder, tokens, splits, onlyContents) {\n var chars = 0;\n var split = 0;\n var splitChars = splits[0];\n var screenColumn = 0;\n\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i];\n var value = token.value;\n if (i == 0 && this.displayIndentGuides) {\n chars = value.length;\n value = this.renderIndentGuide(stringBuilder, value, splitChars);\n if (!value)\n continue;\n chars -= value.length;\n }\n\n if (chars + value.length < splitChars) {\n screenColumn = this.$renderToken(stringBuilder, screenColumn, token, value);\n chars += value.length;\n } else {\n while (chars + value.length >= splitChars) {\n screenColumn = this.$renderToken(\n stringBuilder, screenColumn,\n token, value.substring(0, splitChars - chars)\n );\n value = value.substring(splitChars - chars);\n chars = splitChars;\n\n if (!onlyContents) {\n stringBuilder.push(\"</div>\",\n \"<div class='ace_line' style='height:\",\n this.config.lineHeight, \"px'>\"\n );\n }\n\n stringBuilder.push(lang.stringRepeat(\"\\xa0\", splits.indent));\n\n split ++;\n screenColumn = 0;\n splitChars = splits[split] || Number.MAX_VALUE;\n }\n if (value.length != 0) {\n chars += value.length;\n screenColumn = this.$renderToken(\n stringBuilder, screenColumn, token, value\n );\n }\n }\n }\n };\n\n this.$renderSimpleLine = function(stringBuilder, tokens) {\n var screenColumn = 0;\n var token = tokens[0];\n var value = token.value;\n if (this.displayIndentGuides)\n value = this.renderIndentGuide(stringBuilder, value);\n if (value)\n screenColumn = this.$renderToken(stringBuilder, screenColumn, token, value);\n for (var i = 1; i < tokens.length; i++) {\n token = tokens[i];\n value = token.value;\n screenColumn = this.$renderToken(stringBuilder, screenColumn, token, value);\n }\n };\n this.$renderLine = function(stringBuilder, row, onlyContents, foldLine) {\n if (!foldLine && foldLine != false)\n foldLine = this.session.getFoldLine(row);\n\n if (foldLine)\n var tokens = this.$getFoldLineTokens(row, foldLine);\n else\n var tokens = this.session.getTokens(row);\n\n\n if (!onlyContents) {\n stringBuilder.push(\n \"<div class='ace_line' style='height:\", \n this.config.lineHeight * (\n this.$useLineGroups() ? 1 :this.session.getRowLength(row)\n ), \"px'>\"\n );\n }\n\n if (tokens.length) {\n var splits = this.session.getRowSplitData(row);\n if (splits && splits.length)\n this.$renderWrappedLine(stringBuilder, tokens, splits, onlyContents);\n else\n this.$renderSimpleLine(stringBuilder, tokens);\n }\n\n if (this.showInvisibles) {\n if (foldLine)\n row = foldLine.end.row\n\n stringBuilder.push(\n \"<span class='ace_invisible ace_invisible_eol'>\",\n row == this.session.getLength() - 1 ? this.EOF_CHAR : this.EOL_CHAR,\n \"</span>\"\n );\n }\n if (!onlyContents)\n stringBuilder.push(\"</div>\");\n };\n\n this.$getFoldLineTokens = function(row, foldLine) {\n var session = this.session;\n var renderTokens = [];\n\n function addTokens(tokens, from, to) {\n var idx = 0, col = 0;\n while ((col + tokens[idx].value.length) < from) {\n col += tokens[idx].value.length;\n idx++;\n\n if (idx == tokens.length)\n return;\n }\n if (col != from) {\n var value = tokens[idx].value.substring(from - col);\n if (value.length > (to - from))\n value = value.substring(0, to - from);\n\n renderTokens.push({\n type: tokens[idx].type,\n value: value\n });\n\n col = from + value.length;\n idx += 1;\n }\n\n while (col < to && idx < tokens.length) {\n var value = tokens[idx].value;\n if (value.length + col > to) {\n renderTokens.push({\n type: tokens[idx].type,\n value: value.substring(0, to - col)\n });\n } else\n renderTokens.push(tokens[idx]);\n col += value.length;\n idx += 1;\n }\n }\n\n var tokens = session.getTokens(row);\n foldLine.walk(function(placeholder, row, column, lastColumn, isNewRow) {\n if (placeholder != null) {\n renderTokens.push({\n type: \"fold\",\n value: placeholder\n });\n } else {\n if (isNewRow)\n tokens = session.getTokens(row);\n\n if (tokens.length)\n addTokens(tokens, lastColumn, column);\n }\n }, foldLine.end.row, this.session.getLine(foldLine.end.row).length);\n\n return renderTokens;\n };\n\n this.$useLineGroups = function() {\n return this.session.getUseWrapMode();\n };\n\n this.destroy = function() {\n clearInterval(this.$pollSizeChangesTimer);\n if (this.$measureNode)\n this.$measureNode.parentNode.removeChild(this.$measureNode);\n delete this.$measureNode;\n };\n\n}).call(Text.prototype);\n\nexports.Text = Text;\n\n});\n\nace.define(\"ace/layer/cursor\",[\"require\",\"exports\",\"module\",\"ace/lib/dom\"], function(acequire, exports, module) {\n\"use strict\";\n\nvar dom = acequire(\"../lib/dom\");\nvar isIE8;\n\nvar Cursor = function(parentEl) {\n this.element = dom.createElement(\"div\");\n this.element.className = \"ace_layer ace_cursor-layer\";\n parentEl.appendChild(this.element);\n \n if (isIE8 === undefined)\n isIE8 = !(\"opacity\" in this.element.style);\n\n this.isVisible = false;\n this.isBlinking = true;\n this.blinkInterval = 1000;\n this.smoothBlinking = false;\n\n this.cursors = [];\n this.cursor = this.addCursor();\n dom.addCssClass(this.element, \"ace_hidden-cursors\");\n this.$updateCursors = (isIE8\n ? this.$updateVisibility\n : this.$updateOpacity).bind(this);\n};\n\n(function() {\n \n this.$updateVisibility = function(val) {\n var cursors = this.cursors;\n for (var i = cursors.length; i--; )\n cursors[i].style.visibility = val ? \"\" : \"hidden\";\n };\n this.$updateOpacity = function(val) {\n var cursors = this.cursors;\n for (var i = cursors.length; i--; )\n cursors[i].style.opacity = val ? \"\" : \"0\";\n };\n \n\n this.$padding = 0;\n this.setPadding = function(padding) {\n this.$padding = padding;\n };\n\n this.setSession = function(session) {\n this.session = session;\n };\n\n this.setBlinking = function(blinking) {\n if (blinking != this.isBlinking){\n this.isBlinking = blinking;\n this.restartTimer();\n }\n };\n\n this.setBlinkInterval = function(blinkInterval) {\n if (blinkInterval != this.blinkInterval){\n this.blinkInterval = blinkInterval;\n this.restartTimer();\n }\n };\n\n this.setSmoothBlinking = function(smoothBlinking) {\n if (smoothBlinking != this.smoothBlinking && !isIE8) {\n this.smoothBlinking = smoothBlinking;\n dom.setCssClass(this.element, \"ace_smooth-blinking\", smoothBlinking);\n this.$updateCursors(true);\n this.$updateCursors = (this.$updateOpacity).bind(this);\n this.restartTimer();\n }\n };\n\n this.addCursor = function() {\n var el = dom.createElement(\"div\");\n el.className = \"ace_cursor\";\n this.element.appendChild(el);\n this.cursors.push(el);\n return el;\n };\n\n this.removeCursor = function() {\n if (this.cursors.length > 1) {\n var el = this.cursors.pop();\n el.parentNode.removeChild(el);\n return el;\n }\n };\n\n this.hideCursor = function() {\n this.isVisible = false;\n dom.addCssClass(this.element, \"ace_hidden-cursors\");\n this.restartTimer();\n };\n\n this.showCursor = function() {\n this.isVisible = true;\n dom.removeCssClass(this.element, \"ace_hidden-cursors\");\n this.restartTimer();\n };\n\n this.restartTimer = function() {\n var update = this.$updateCursors;\n clearInterval(this.intervalId);\n clearTimeout(this.timeoutId);\n if (this.smoothBlinking) {\n dom.removeCssClass(this.element, \"ace_smooth-blinking\");\n }\n \n update(true);\n\n if (!this.isBlinking || !this.blinkInterval || !this.isVisible)\n return;\n\n if (this.smoothBlinking) {\n setTimeout(function(){\n dom.addCssClass(this.element, \"ace_smooth-blinking\");\n }.bind(this));\n }\n \n var blink = function(){\n this.timeoutId = setTimeout(function() {\n update(false);\n }, 0.6 * this.blinkInterval);\n }.bind(this);\n\n this.intervalId = setInterval(function() {\n update(true);\n blink();\n }, this.blinkInterval);\n\n blink();\n };\n\n this.getPixelPosition = function(position, onScreen) {\n if (!this.config || !this.session)\n return {left : 0, top : 0};\n\n if (!position)\n position = this.session.selection.getCursor();\n var pos = this.session.documentToScreenPosition(position);\n var cursorLeft = this.$padding + pos.column * this.config.characterWidth;\n var cursorTop = (pos.row - (onScreen ? this.config.firstRowScreen : 0)) *\n this.config.lineHeight;\n\n return {left : cursorLeft, top : cursorTop};\n };\n\n this.update = function(config) {\n this.config = config;\n\n var selections = this.session.$selectionMarkers;\n var i = 0, cursorIndex = 0;\n\n if (selections === undefined || selections.length === 0){\n selections = [{cursor: null}];\n }\n\n for (var i = 0, n = selections.length; i < n; i++) {\n var pixelPos = this.getPixelPosition(selections[i].cursor, true);\n if ((pixelPos.top > config.height + config.offset ||\n pixelPos.top < 0) && i > 1) {\n continue;\n }\n\n var style = (this.cursors[cursorIndex++] || this.addCursor()).style;\n \n if (!this.drawCursor) {\n style.left = pixelPos.left + \"px\";\n style.top = pixelPos.top + \"px\";\n style.width = config.characterWidth + \"px\";\n style.height = config.lineHeight + \"px\";\n } else {\n this.drawCursor(style, pixelPos, config, selections[i], this.session);\n }\n }\n while (this.cursors.length > cursorIndex)\n this.removeCursor();\n\n var overwrite = this.session.getOverwrite();\n this.$setOverwrite(overwrite);\n this.$pixelPos = pixelPos;\n this.restartTimer();\n };\n \n this.drawCursor = null;\n\n this.$setOverwrite = function(overwrite) {\n if (overwrite != this.overwrite) {\n this.overwrite = overwrite;\n if (overwrite)\n dom.addCssClass(this.element, \"ace_overwrite-cursors\");\n else\n dom.removeCssClass(this.element, \"ace_overwrite-cursors\");\n }\n };\n\n this.destroy = function() {\n clearInterval(this.intervalId);\n clearTimeout(this.timeoutId);\n };\n\n}).call(Cursor.prototype);\n\nexports.Cursor = Cursor;\n\n});\n\nace.define(\"ace/scrollbar\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/lib/dom\",\"ace/lib/event\",\"ace/lib/event_emitter\"], function(acequire, exports, module) {\n\"use strict\";\n\nvar oop = acequire(\"./lib/oop\");\nvar dom = acequire(\"./lib/dom\");\nvar event = acequire(\"./lib/event\");\nvar EventEmitter = acequire(\"./lib/event_emitter\").EventEmitter;\nvar ScrollBar = function(parent) {\n this.element = dom.createElement(\"div\");\n this.element.className = \"ace_scrollbar ace_scrollbar\" + this.classSuffix;\n\n this.inner = dom.createElement(\"div\");\n this.inner.className = \"ace_scrollbar-inner\";\n this.element.appendChild(this.inner);\n\n parent.appendChild(this.element);\n\n this.setVisible(false);\n this.skipEvent = false;\n\n event.addListener(this.element, \"scroll\", this.onScroll.bind(this));\n event.addListener(this.element, \"mousedown\", event.preventDefault);\n};\n\n(function() {\n oop.implement(this, EventEmitter);\n\n this.setVisible = function(isVisible) {\n this.element.style.display = isVisible ? \"\" : \"none\";\n this.isVisible = isVisible;\n };\n}).call(ScrollBar.prototype);\nvar VScrollBar = function(parent, renderer) {\n ScrollBar.call(this, parent);\n this.scrollTop = 0;\n renderer.$scrollbarWidth = \n this.width = dom.scrollbarWidth(parent.ownerDocument);\n this.inner.style.width =\n this.element.style.width = (this.width || 15) + 5 + \"px\";\n};\n\noop.inherits(VScrollBar, ScrollBar);\n\n(function() {\n\n this.classSuffix = '-v';\n this.onScroll = function() {\n if (!this.skipEvent) {\n this.scrollTop = this.element.scrollTop;\n this._emit(\"scroll\", {data: this.scrollTop});\n }\n this.skipEvent = false;\n };\n this.getWidth = function() {\n return this.isVisible ? this.width : 0;\n };\n this.setHeight = function(height) {\n this.element.style.height = height + \"px\";\n };\n this.setInnerHeight = function(height) {\n this.inner.style.height = height + \"px\";\n };\n this.setScrollHeight = function(height) {\n this.inner.style.height = height + \"px\";\n };\n this.setScrollTop = function(scrollTop) {\n if (this.scrollTop != scrollTop) {\n this.skipEvent = true;\n this.scrollTop = this.element.scrollTop = scrollTop;\n }\n };\n\n}).call(VScrollBar.prototype);\nvar HScrollBar = function(parent, renderer) {\n ScrollBar.call(this, parent);\n this.scrollLeft = 0;\n this.height = renderer.$scrollbarWidth;\n this.inner.style.height =\n this.element.style.height = (this.height || 15) + 5 + \"px\";\n};\n\noop.inherits(HScrollBar, ScrollBar);\n\n(function() {\n\n this.classSuffix = '-h';\n this.onScroll = function() {\n if (!this.skipEvent) {\n this.scrollLeft = this.element.scrollLeft;\n this._emit(\"scroll\", {data: this.scrollLeft});\n }\n this.skipEvent = false;\n };\n this.getHeight = function() {\n return this.isVisible ? this.height : 0;\n };\n this.setWidth = function(width) {\n this.element.style.width = width + \"px\";\n };\n this.setInnerWidth = function(width) {\n this.inner.style.width = width + \"px\";\n };\n this.setScrollWidth = function(width) {\n this.inner.style.width = width + \"px\";\n };\n this.setScrollLeft = function(scrollLeft) {\n if (this.scrollLeft != scrollLeft) {\n this.skipEvent = true;\n this.scrollLeft = this.element.scrollLeft = scrollLeft;\n }\n };\n\n}).call(HScrollBar.prototype);\n\n\nexports.ScrollBar = VScrollBar; // backward compatibility\nexports.ScrollBarV = VScrollBar; // backward compatibility\nexports.ScrollBarH = HScrollBar; // backward compatibility\n\nexports.VScrollBar = VScrollBar;\nexports.HScrollBar = HScrollBar;\n});\n\nace.define(\"ace/renderloop\",[\"require\",\"exports\",\"module\",\"ace/lib/event\"], function(acequire, exports, module) {\n\"use strict\";\n\nvar event = acequire(\"./lib/event\");\n\n\nvar RenderLoop = function(onRender, win) {\n this.onRender = onRender;\n this.pending = false;\n this.changes = 0;\n this.window = win || window;\n};\n\n(function() {\n\n\n this.schedule = function(change) {\n this.changes = this.changes | change;\n if (!this.pending && this.changes) {\n this.pending = true;\n var _self = this;\n event.nextFrame(function() {\n _self.pending = false;\n var changes;\n while (changes = _self.changes) {\n _self.changes = 0;\n _self.onRender(changes);\n }\n }, this.window);\n }\n };\n\n}).call(RenderLoop.prototype);\n\nexports.RenderLoop = RenderLoop;\n});\n\nace.define(\"ace/layer/font_metrics\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/lib/dom\",\"ace/lib/lang\",\"ace/lib/useragent\",\"ace/lib/event_emitter\"], function(acequire, exports, module) {\n\nvar oop = acequire(\"../lib/oop\");\nvar dom = acequire(\"../lib/dom\");\nvar lang = acequire(\"../lib/lang\");\nvar useragent = acequire(\"../lib/useragent\");\nvar EventEmitter = acequire(\"../lib/event_emitter\").EventEmitter;\n\nvar CHAR_COUNT = 0;\n\nvar FontMetrics = exports.FontMetrics = function(parentEl) {\n this.el = dom.createElement(\"div\");\n this.$setMeasureNodeStyles(this.el.style, true);\n \n this.$main = dom.createElement(\"div\");\n this.$setMeasureNodeStyles(this.$main.style);\n \n this.$measureNode = dom.createElement(\"div\");\n this.$setMeasureNodeStyles(this.$measureNode.style);\n \n \n this.el.appendChild(this.$main);\n this.el.appendChild(this.$measureNode);\n parentEl.appendChild(this.el);\n \n if (!CHAR_COUNT)\n this.$testFractionalRect();\n this.$measureNode.innerHTML = lang.stringRepeat(\"X\", CHAR_COUNT);\n \n this.$characterSize = {width: 0, height: 0};\n this.checkForSizeChanges();\n};\n\n(function() {\n\n oop.implement(this, EventEmitter);\n \n this.$characterSize = {width: 0, height: 0};\n \n this.$testFractionalRect = function() {\n var el = dom.createElement(\"div\");\n this.$setMeasureNodeStyles(el.style);\n el.style.width = \"0.2px\";\n document.documentElement.appendChild(el);\n var w = el.getBoundingClientRect().width;\n if (w > 0 && w < 1)\n CHAR_COUNT = 50;\n else\n CHAR_COUNT = 100;\n el.parentNode.removeChild(el);\n };\n \n this.$setMeasureNodeStyles = function(style, isRoot) {\n style.width = style.height = \"auto\";\n style.left = style.top = \"0px\";\n style.visibility = \"hidden\";\n style.position = \"absolute\";\n style.whiteSpace = \"pre\";\n\n if (useragent.isIE < 8) {\n style[\"font-family\"] = \"inherit\";\n } else {\n style.font = \"inherit\";\n }\n style.overflow = isRoot ? \"hidden\" : \"visible\";\n };\n\n this.checkForSizeChanges = function() {\n var size = this.$measureSizes();\n if (size && (this.$characterSize.width !== size.width || this.$characterSize.height !== size.height)) {\n this.$measureNode.style.fontWeight = \"bold\";\n var boldSize = this.$measureSizes();\n this.$measureNode.style.fontWeight = \"\";\n this.$characterSize = size;\n this.charSizes = Object.create(null);\n this.allowBoldFonts = boldSize && boldSize.width === size.width && boldSize.height === size.height;\n this._emit(\"changeCharacterSize\", {data: size});\n }\n };\n\n this.$pollSizeChanges = function() {\n if (this.$pollSizeChangesTimer)\n return this.$pollSizeChangesTimer;\n var self = this;\n return this.$pollSizeChangesTimer = setInterval(function() {\n self.checkForSizeChanges();\n }, 500);\n };\n \n this.setPolling = function(val) {\n if (val) {\n this.$pollSizeChanges();\n } else if (this.$pollSizeChangesTimer) {\n clearInterval(this.$pollSizeChangesTimer);\n this.$pollSizeChangesTimer = 0;\n }\n };\n\n this.$measureSizes = function() {\n if (CHAR_COUNT === 50) {\n var rect = null;\n try { \n rect = this.$measureNode.getBoundingClientRect();\n } catch(e) {\n rect = {width: 0, height:0 };\n }\n var size = {\n height: rect.height,\n width: rect.width / CHAR_COUNT\n };\n } else {\n var size = {\n height: this.$measureNode.clientHeight,\n width: this.$measureNode.clientWidth / CHAR_COUNT\n };\n }\n if (size.width === 0 || size.height === 0)\n return null;\n return size;\n };\n\n this.$measureCharWidth = function(ch) {\n this.$main.innerHTML = lang.stringRepeat(ch, CHAR_COUNT);\n var rect = this.$main.getBoundingClientRect();\n return rect.width / CHAR_COUNT;\n };\n \n this.getCharacterWidth = function(ch) {\n var w = this.charSizes[ch];\n if (w === undefined) {\n w = this.charSizes[ch] = this.$measureCharWidth(ch) / this.$characterSize.width;\n }\n return w;\n };\n\n this.destroy = function() {\n clearInterval(this.$pollSizeChangesTimer);\n if (this.el && this.el.parentNode)\n this.el.parentNode.removeChild(this.el);\n };\n\n}).call(FontMetrics.prototype);\n\n});\n\nace.define(\"ace/virtual_renderer\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/lib/dom\",\"ace/config\",\"ace/lib/useragent\",\"ace/layer/gutter\",\"ace/layer/marker\",\"ace/layer/text\",\"ace/layer/cursor\",\"ace/scrollbar\",\"ace/scrollbar\",\"ace/renderloop\",\"ace/layer/font_metrics\",\"ace/lib/event_emitter\"], function(acequire, exports, module) {\n\"use strict\";\n\nvar oop = acequire(\"./lib/oop\");\nvar dom = acequire(\"./lib/dom\");\nvar config = acequire(\"./config\");\nvar useragent = acequire(\"./lib/useragent\");\nvar GutterLayer = acequire(\"./layer/gutter\").Gutter;\nvar MarkerLayer = acequire(\"./layer/marker\").Marker;\nvar TextLayer = acequire(\"./layer/text\").Text;\nvar CursorLayer = acequire(\"./layer/cursor\").Cursor;\nvar HScrollBar = acequire(\"./scrollbar\").HScrollBar;\nvar VScrollBar = acequire(\"./scrollbar\").VScrollBar;\nvar RenderLoop = acequire(\"./renderloop\").RenderLoop;\nvar FontMetrics = acequire(\"./layer/font_metrics\").FontMetrics;\nvar EventEmitter = acequire(\"./lib/event_emitter\").EventEmitter;\nvar editorCss = \".ace_editor {\\\nposition: relative;\\\noverflow: hidden;\\\nfont: 12px/normal 'Monaco', 'Menlo', 'Ubuntu Mono', 'Consolas', 'source-code-pro', monospace;\\\ndirection: ltr;\\\n}\\\n.ace_scroller {\\\nposition: absolute;\\\noverflow: hidden;\\\ntop: 0;\\\nbottom: 0;\\\nbackground-color: inherit;\\\n-ms-user-select: none;\\\n-moz-user-select: none;\\\n-webkit-user-select: none;\\\nuser-select: none;\\\ncursor: text;\\\n}\\\n.ace_content {\\\nposition: absolute;\\\n-moz-box-sizing: border-box;\\\n-webkit-box-sizing: border-box;\\\nbox-sizing: border-box;\\\nmin-width: 100%;\\\n}\\\n.ace_dragging .ace_scroller:before{\\\nposition: absolute;\\\ntop: 0;\\\nleft: 0;\\\nright: 0;\\\nbottom: 0;\\\ncontent: '';\\\nbackground: rgba(250, 250, 250, 0.01);\\\nz-index: 1000;\\\n}\\\n.ace_dragging.ace_dark .ace_scroller:before{\\\nbackground: rgba(0, 0, 0, 0.01);\\\n}\\\n.ace_selecting, .ace_selecting * {\\\ncursor: text !important;\\\n}\\\n.ace_gutter {\\\nposition: absolute;\\\noverflow : hidden;\\\nwidth: auto;\\\ntop: 0;\\\nbottom: 0;\\\nleft: 0;\\\ncursor: default;\\\nz-index: 4;\\\n-ms-user-select: none;\\\n-moz-user-select: none;\\\n-webkit-user-select: none;\\\nuser-select: none;\\\n}\\\n.ace_gutter-active-line {\\\nposition: absolute;\\\nleft: 0;\\\nright: 0;\\\n}\\\n.ace_scroller.ace_scroll-left {\\\nbox-shadow: 17px 0 16px -16px rgba(0, 0, 0, 0.4) inset;\\\n}\\\n.ace_gutter-cell {\\\npadding-left: 19px;\\\npadding-right: 6px;\\\nbackground-repeat: no-repeat;\\\n}\\\n.ace_gutter-cell.ace_error {\\\nbackground-image: url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAABOFBMVEX/////////QRswFAb/Ui4wFAYwFAYwFAaWGAfDRymzOSH/PxswFAb/SiUwFAYwFAbUPRvjQiDllog5HhHdRybsTi3/Tyv9Tir+Syj/UC3////XurebMBIwFAb/RSHbPx/gUzfdwL3kzMivKBAwFAbbvbnhPx66NhowFAYwFAaZJg8wFAaxKBDZurf/RB6mMxb/SCMwFAYwFAbxQB3+RB4wFAb/Qhy4Oh+4QifbNRcwFAYwFAYwFAb/QRzdNhgwFAYwFAbav7v/Uy7oaE68MBK5LxLewr/r2NXewLswFAaxJw4wFAbkPRy2PyYwFAaxKhLm1tMwFAazPiQwFAaUGAb/QBrfOx3bvrv/VC/maE4wFAbRPBq6MRO8Qynew8Dp2tjfwb0wFAbx6eju5+by6uns4uH9/f36+vr/GkHjAAAAYnRSTlMAGt+64rnWu/bo8eAA4InH3+DwoN7j4eLi4xP99Nfg4+b+/u9B/eDs1MD1mO7+4PHg2MXa347g7vDizMLN4eG+Pv7i5evs/v79yu7S3/DV7/498Yv24eH+4ufQ3Ozu/v7+y13sRqwAAADLSURBVHjaZc/XDsFgGIBhtDrshlitmk2IrbHFqL2pvXf/+78DPokj7+Fz9qpU/9UXJIlhmPaTaQ6QPaz0mm+5gwkgovcV6GZzd5JtCQwgsxoHOvJO15kleRLAnMgHFIESUEPmawB9ngmelTtipwwfASilxOLyiV5UVUyVAfbG0cCPHig+GBkzAENHS0AstVF6bacZIOzgLmxsHbt2OecNgJC83JERmePUYq8ARGkJx6XtFsdddBQgZE2nPR6CICZhawjA4Fb/chv+399kfR+MMMDGOQAAAABJRU5ErkJggg==\\\");\\\nbackground-repeat: no-repeat;\\\nbackground-position: 2px center;\\\n}\\\n.ace_gutter-cell.ace_warning {\\\nbackground-image: url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAmVBMVEX///8AAAD///8AAAAAAABPSzb/5sAAAAB/blH/73z/ulkAAAAAAAD85pkAAAAAAAACAgP/vGz/rkDerGbGrV7/pkQICAf////e0IsAAAD/oED/qTvhrnUAAAD/yHD/njcAAADuv2r/nz//oTj/p064oGf/zHAAAAA9Nir/tFIAAAD/tlTiuWf/tkIAAACynXEAAAAAAAAtIRW7zBpBAAAAM3RSTlMAABR1m7RXO8Ln31Z36zT+neXe5OzooRDfn+TZ4p3h2hTf4t3k3ucyrN1K5+Xaks52Sfs9CXgrAAAAjklEQVR42o3PbQ+CIBQFYEwboPhSYgoYunIqqLn6/z8uYdH8Vmdnu9vz4WwXgN/xTPRD2+sgOcZjsge/whXZgUaYYvT8QnuJaUrjrHUQreGczuEafQCO/SJTufTbroWsPgsllVhq3wJEk2jUSzX3CUEDJC84707djRc5MTAQxoLgupWRwW6UB5fS++NV8AbOZgnsC7BpEAAAAABJRU5ErkJggg==\\\");\\\nbackground-position: 2px center;\\\n}\\\n.ace_gutter-cell.ace_info {\\\nbackground-image: url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAAAAAA6mKC9AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAAJ0Uk5TAAB2k804AAAAPklEQVQY02NgIB68QuO3tiLznjAwpKTgNyDbMegwisCHZUETUZV0ZqOquBpXj2rtnpSJT1AEnnRmL2OgGgAAIKkRQap2htgAAAAASUVORK5CYII=\\\");\\\nbackground-position: 2px center;\\\n}\\\n.ace_dark .ace_gutter-cell.ace_info {\\\nbackground-image: url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAJFBMVEUAAAChoaGAgIAqKiq+vr6tra1ZWVmUlJSbm5s8PDxubm56enrdgzg3AAAAAXRSTlMAQObYZgAAAClJREFUeNpjYMAPdsMYHegyJZFQBlsUlMFVCWUYKkAZMxZAGdxlDMQBAG+TBP4B6RyJAAAAAElFTkSuQmCC\\\");\\\n}\\\n.ace_scrollbar {\\\nposition: absolute;\\\nright: 0;\\\nbottom: 0;\\\nz-index: 6;\\\n}\\\n.ace_scrollbar-inner {\\\nposition: absolute;\\\ncursor: text;\\\nleft: 0;\\\ntop: 0;\\\n}\\\n.ace_scrollbar-v{\\\noverflow-x: hidden;\\\noverflow-y: scroll;\\\ntop: 0;\\\n}\\\n.ace_scrollbar-h {\\\noverflow-x: scroll;\\\noverflow-y: hidden;\\\nleft: 0;\\\n}\\\n.ace_print-margin {\\\nposition: absolute;\\\nheight: 100%;\\\n}\\\n.ace_text-input {\\\nposition: absolute;\\\nz-index: 0;\\\nwidth: 0.5em;\\\nheight: 1em;\\\nopacity: 0;\\\nbackground: transparent;\\\n-moz-appearance: none;\\\nappearance: none;\\\nborder: none;\\\nresize: none;\\\noutline: none;\\\noverflow: hidden;\\\nfont: inherit;\\\npadding: 0 1px;\\\nmargin: 0 -1px;\\\ntext-indent: -1em;\\\n-ms-user-select: text;\\\n-moz-user-select: text;\\\n-webkit-user-select: text;\\\nuser-select: text;\\\nwhite-space: pre!important;\\\n}\\\n.ace_text-input.ace_composition {\\\nbackground: inherit;\\\ncolor: inherit;\\\nz-index: 1000;\\\nopacity: 1;\\\ntext-indent: 0;\\\n}\\\n.ace_layer {\\\nz-index: 1;\\\nposition: absolute;\\\noverflow: hidden;\\\nword-wrap: normal;\\\nwhite-space: pre;\\\nheight: 100%;\\\nwidth: 100%;\\\n-moz-box-sizing: border-box;\\\n-webkit-box-sizing: border-box;\\\nbox-sizing: border-box;\\\npointer-events: none;\\\n}\\\n.ace_gutter-layer {\\\nposition: relative;\\\nwidth: auto;\\\ntext-align: right;\\\npointer-events: auto;\\\n}\\\n.ace_text-layer {\\\nfont: inherit !important;\\\n}\\\n.ace_cjk {\\\ndisplay: inline-block;\\\ntext-align: center;\\\n}\\\n.ace_cursor-layer {\\\nz-index: 4;\\\n}\\\n.ace_cursor {\\\nz-index: 4;\\\nposition: absolute;\\\n-moz-box-sizing: border-box;\\\n-webkit-box-sizing: border-box;\\\nbox-sizing: border-box;\\\nborder-left: 2px solid;\\\ntransform: translatez(0);\\\n}\\\n.ace_slim-cursors .ace_cursor {\\\nborder-left-width: 1px;\\\n}\\\n.ace_overwrite-cursors .ace_cursor {\\\nborder-left-width: 0;\\\nborder-bottom: 1px solid;\\\n}\\\n.ace_hidden-cursors .ace_cursor {\\\nopacity: 0.2;\\\n}\\\n.ace_smooth-blinking .ace_cursor {\\\n-webkit-transition: opacity 0.18s;\\\ntransition: opacity 0.18s;\\\n}\\\n.ace_editor.ace_multiselect .ace_cursor {\\\nborder-left-width: 1px;\\\n}\\\n.ace_marker-layer .ace_step, .ace_marker-layer .ace_stack {\\\nposition: absolute;\\\nz-index: 3;\\\n}\\\n.ace_marker-layer .ace_selection {\\\nposition: absolute;\\\nz-index: 5;\\\n}\\\n.ace_marker-layer .ace_bracket {\\\nposition: absolute;\\\nz-index: 6;\\\n}\\\n.ace_marker-layer .ace_active-line {\\\nposition: absolute;\\\nz-index: 2;\\\n}\\\n.ace_marker-layer .ace_selected-word {\\\nposition: absolute;\\\nz-index: 4;\\\n-moz-box-sizing: border-box;\\\n-webkit-box-sizing: border-box;\\\nbox-sizing: border-box;\\\n}\\\n.ace_line .ace_fold {\\\n-moz-box-sizing: border-box;\\\n-webkit-box-sizing: border-box;\\\nbox-sizing: border-box;\\\ndisplay: inline-block;\\\nheight: 11px;\\\nmargin-top: -2px;\\\nvertical-align: middle;\\\nbackground-image:\\\nurl(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAJCAYAAADU6McMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJpJREFUeNpi/P//PwOlgAXGYGRklAVSokD8GmjwY1wasKljQpYACtpCFeADcHVQfQyMQAwzwAZI3wJKvCLkfKBaMSClBlR7BOQikCFGQEErIH0VqkabiGCAqwUadAzZJRxQr/0gwiXIal8zQQPnNVTgJ1TdawL0T5gBIP1MUJNhBv2HKoQHHjqNrA4WO4zY0glyNKLT2KIfIMAAQsdgGiXvgnYAAAAASUVORK5CYII=\\\"),\\\nurl(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAA3CAYAAADNNiA5AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACJJREFUeNpi+P//fxgTAwPDBxDxD078RSX+YeEyDFMCIMAAI3INmXiwf2YAAAAASUVORK5CYII=\\\");\\\nbackground-repeat: no-repeat, repeat-x;\\\nbackground-position: center center, top left;\\\ncolor: transparent;\\\nborder: 1px solid black;\\\nborder-radius: 2px;\\\ncursor: pointer;\\\npointer-events: auto;\\\n}\\\n.ace_dark .ace_fold {\\\n}\\\n.ace_fold:hover{\\\nbackground-image:\\\nurl(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAJCAYAAADU6McMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJpJREFUeNpi/P//PwOlgAXGYGRklAVSokD8GmjwY1wasKljQpYACtpCFeADcHVQfQyMQAwzwAZI3wJKvCLkfKBaMSClBlR7BOQikCFGQEErIH0VqkabiGCAqwUadAzZJRxQr/0gwiXIal8zQQPnNVTgJ1TdawL0T5gBIP1MUJNhBv2HKoQHHjqNrA4WO4zY0glyNKLT2KIfIMAAQsdgGiXvgnYAAAAASUVORK5CYII=\\\"),\\\nurl(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAA3CAYAAADNNiA5AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACBJREFUeNpi+P//fz4TAwPDZxDxD5X4i5fLMEwJgAADAEPVDbjNw87ZAAAAAElFTkSuQmCC\\\");\\\n}\\\n.ace_tooltip {\\\nbackground-color: #FFF;\\\nbackground-image: -webkit-linear-gradient(top, transparent, rgba(0, 0, 0, 0.1));\\\nbackground-image: linear-gradient(to bottom, transparent, rgba(0, 0, 0, 0.1));\\\nborder: 1px solid gray;\\\nborder-radius: 1px;\\\nbox-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);\\\ncolor: black;\\\nmax-width: 100%;\\\npadding: 3px 4px;\\\nposition: fixed;\\\nz-index: 999999;\\\n-moz-box-sizing: border-box;\\\n-webkit-box-sizing: border-box;\\\nbox-sizing: border-box;\\\ncursor: default;\\\nwhite-space: pre;\\\nword-wrap: break-word;\\\nline-height: normal;\\\nfont-style: normal;\\\nfont-weight: normal;\\\nletter-spacing: normal;\\\npointer-events: none;\\\n}\\\n.ace_folding-enabled > .ace_gutter-cell {\\\npadding-right: 13px;\\\n}\\\n.ace_fold-widget {\\\n-moz-box-sizing: border-box;\\\n-webkit-box-sizing: border-box;\\\nbox-sizing: border-box;\\\nmargin: 0 -12px 0 1px;\\\ndisplay: none;\\\nwidth: 11px;\\\nvertical-align: top;\\\nbackground-image: url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAANElEQVR42mWKsQ0AMAzC8ixLlrzQjzmBiEjp0A6WwBCSPgKAXoLkqSot7nN3yMwR7pZ32NzpKkVoDBUxKAAAAABJRU5ErkJggg==\\\");\\\nbackground-repeat: no-repeat;\\\nbackground-position: center;\\\nborder-radius: 3px;\\\nborder: 1px solid transparent;\\\ncursor: pointer;\\\n}\\\n.ace_folding-enabled .ace_fold-widget {\\\ndisplay: inline-block; \\\n}\\\n.ace_fold-widget.ace_end {\\\nbackground-image: url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAANElEQVR42m3HwQkAMAhD0YzsRchFKI7sAikeWkrxwScEB0nh5e7KTPWimZki4tYfVbX+MNl4pyZXejUO1QAAAABJRU5ErkJggg==\\\");\\\n}\\\n.ace_fold-widget.ace_closed {\\\nbackground-image: url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAGCAYAAAAG5SQMAAAAOUlEQVR42jXKwQkAMAgDwKwqKD4EwQ26sSOkVWjgIIHAzPiCgaqiqnJHZnKICBERHN194O5b9vbLuAVRL+l0YWnZAAAAAElFTkSuQmCCXA==\\\");\\\n}\\\n.ace_fold-widget:hover {\\\nborder: 1px solid rgba(0, 0, 0, 0.3);\\\nbackground-color: rgba(255, 255, 255, 0.2);\\\nbox-shadow: 0 1px 1px rgba(255, 255, 255, 0.7);\\\n}\\\n.ace_fold-widget:active {\\\nborder: 1px solid rgba(0, 0, 0, 0.4);\\\nbackground-color: rgba(0, 0, 0, 0.05);\\\nbox-shadow: 0 1px 1px rgba(255, 255, 255, 0.8);\\\n}\\\n.ace_dark .ace_fold-widget {\\\nbackground-image: url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHklEQVQIW2P4//8/AzoGEQ7oGCaLLAhWiSwB146BAQCSTPYocqT0AAAAAElFTkSuQmCC\\\");\\\n}\\\n.ace_dark .ace_fold-widget.ace_end {\\\nbackground-image: url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAH0lEQVQIW2P4//8/AxQ7wNjIAjDMgC4AxjCVKBirIAAF0kz2rlhxpAAAAABJRU5ErkJggg==\\\");\\\n}\\\n.ace_dark .ace_fold-widget.ace_closed {\\\nbackground-image: url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAFCAYAAACAcVaiAAAAHElEQVQIW2P4//+/AxAzgDADlOOAznHAKgPWAwARji8UIDTfQQAAAABJRU5ErkJggg==\\\");\\\n}\\\n.ace_dark .ace_fold-widget:hover {\\\nbox-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);\\\nbackground-color: rgba(255, 255, 255, 0.1);\\\n}\\\n.ace_dark .ace_fold-widget:active {\\\nbox-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);\\\n}\\\n.ace_fold-widget.ace_invalid {\\\nbackground-color: #FFB4B4;\\\nborder-color: #DE5555;\\\n}\\\n.ace_fade-fold-widgets .ace_fold-widget {\\\n-webkit-transition: opacity 0.4s ease 0.05s;\\\ntransition: opacity 0.4s ease 0.05s;\\\nopacity: 0;\\\n}\\\n.ace_fade-fold-widgets:hover .ace_fold-widget {\\\n-webkit-transition: opacity 0.05s ease 0.05s;\\\ntransition: opacity 0.05s ease 0.05s;\\\nopacity:1;\\\n}\\\n.ace_underline {\\\ntext-decoration: underline;\\\n}\\\n.ace_bold {\\\nfont-weight: bold;\\\n}\\\n.ace_nobold .ace_bold {\\\nfont-weight: normal;\\\n}\\\n.ace_italic {\\\nfont-style: italic;\\\n}\\\n.ace_error-marker {\\\nbackground-color: rgba(255, 0, 0,0.2);\\\nposition: absolute;\\\nz-index: 9;\\\n}\\\n.ace_highlight-marker {\\\nbackground-color: rgba(255, 255, 0,0.2);\\\nposition: absolute;\\\nz-index: 8;\\\n}\\\n.ace_br1 {border-top-left-radius : 3px;}\\\n.ace_br2 {border-top-right-radius : 3px;}\\\n.ace_br3 {border-top-left-radius : 3px; border-top-right-radius: 3px;}\\\n.ace_br4 {border-bottom-right-radius: 3px;}\\\n.ace_br5 {border-top-left-radius : 3px; border-bottom-right-radius: 3px;}\\\n.ace_br6 {border-top-right-radius : 3px; border-bottom-right-radius: 3px;}\\\n.ace_br7 {border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px;}\\\n.ace_br8 {border-bottom-left-radius : 3px;}\\\n.ace_br9 {border-top-left-radius : 3px; border-bottom-left-radius: 3px;}\\\n.ace_br10{border-top-right-radius : 3px; border-bottom-left-radius: 3px;}\\\n.ace_br11{border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-left-radius: 3px;}\\\n.ace_br12{border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}\\\n.ace_br13{border-top-left-radius : 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}\\\n.ace_br14{border-top-right-radius : 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}\\\n.ace_br15{border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}\\\n\";\n\ndom.importCssString(editorCss, \"ace_editor.css\");\n\nvar VirtualRenderer = function(container, theme) {\n var _self = this;\n\n this.container = container || dom.createElement(\"div\");\n this.$keepTextAreaAtCursor = !useragent.isOldIE;\n\n dom.addCssClass(this.container, \"ace_editor\");\n\n this.setTheme(theme);\n\n this.$gutter = dom.createElement(\"div\");\n this.$gutter.className = \"ace_gutter\";\n this.container.appendChild(this.$gutter);\n\n this.scroller = dom.createElement(\"div\");\n this.scroller.className = \"ace_scroller\";\n this.container.appendChild(this.scroller);\n\n this.content = dom.createElement(\"div\");\n this.content.className = \"ace_content\";\n this.scroller.appendChild(this.content);\n\n this.$gutterLayer = new GutterLayer(this.$gutter);\n this.$gutterLayer.on(\"changeGutterWidth\", this.onGutterResize.bind(this));\n\n this.$markerBack = new MarkerLayer(this.content);\n\n var textLayer = this.$textLayer = new TextLayer(this.content);\n this.canvas = textLayer.element;\n\n this.$markerFront = new MarkerLayer(this.content);\n\n this.$cursorLayer = new CursorLayer(this.content);\n this.$horizScroll = false;\n this.$vScroll = false;\n\n this.scrollBar = \n this.scrollBarV = new VScrollBar(this.container, this);\n this.scrollBarH = new HScrollBar(this.container, this);\n this.scrollBarV.addEventListener(\"scroll\", function(e) {\n if (!_self.$scrollAnimation)\n _self.session.setScrollTop(e.data - _self.scrollMargin.top);\n });\n this.scrollBarH.addEventListener(\"scroll\", function(e) {\n if (!_self.$scrollAnimation)\n _self.session.setScrollLeft(e.data - _self.scrollMargin.left);\n });\n\n this.scrollTop = 0;\n this.scrollLeft = 0;\n\n this.cursorPos = {\n row : 0,\n column : 0\n };\n\n this.$fontMetrics = new FontMetrics(this.container);\n this.$textLayer.$setFontMetrics(this.$fontMetrics);\n this.$textLayer.addEventListener(\"changeCharacterSize\", function(e) {\n _self.updateCharacterSize();\n _self.onResize(true, _self.gutterWidth, _self.$size.width, _self.$size.height);\n _self._signal(\"changeCharacterSize\", e);\n });\n\n this.$size = {\n width: 0,\n height: 0,\n scrollerHeight: 0,\n scrollerWidth: 0,\n $dirty: true\n };\n\n this.layerConfig = {\n width : 1,\n padding : 0,\n firstRow : 0,\n firstRowScreen: 0,\n lastRow : 0,\n lineHeight : 0,\n characterWidth : 0,\n minHeight : 1,\n maxHeight : 1,\n offset : 0,\n height : 1,\n gutterOffset: 1\n };\n \n this.scrollMargin = {\n left: 0,\n right: 0,\n top: 0,\n bottom: 0,\n v: 0,\n h: 0\n };\n\n this.$loop = new RenderLoop(\n this.$renderChanges.bind(this),\n this.container.ownerDocument.defaultView\n );\n this.$loop.schedule(this.CHANGE_FULL);\n\n this.updateCharacterSize();\n this.setPadding(4);\n config.resetOptions(this);\n config._emit(\"renderer\", this);\n};\n\n(function() {\n\n this.CHANGE_CURSOR = 1;\n this.CHANGE_MARKER = 2;\n this.CHANGE_GUTTER = 4;\n this.CHANGE_SCROLL = 8;\n this.CHANGE_LINES = 16;\n this.CHANGE_TEXT = 32;\n this.CHANGE_SIZE = 64;\n this.CHANGE_MARKER_BACK = 128;\n this.CHANGE_MARKER_FRONT = 256;\n this.CHANGE_FULL = 512;\n this.CHANGE_H_SCROLL = 1024;\n\n oop.implement(this, EventEmitter);\n\n this.updateCharacterSize = function() {\n if (this.$textLayer.allowBoldFonts != this.$allowBoldFonts) {\n this.$allowBoldFonts = this.$textLayer.allowBoldFonts;\n this.setStyle(\"ace_nobold\", !this.$allowBoldFonts);\n }\n\n this.layerConfig.characterWidth =\n this.characterWidth = this.$textLayer.getCharacterWidth();\n this.layerConfig.lineHeight =\n this.lineHeight = this.$textLayer.getLineHeight();\n this.$updatePrintMargin();\n };\n this.setSession = function(session) {\n if (this.session)\n this.session.doc.off(\"changeNewLineMode\", this.onChangeNewLineMode);\n \n this.session = session;\n if (session && this.scrollMargin.top && session.getScrollTop() <= 0)\n session.setScrollTop(-this.scrollMargin.top);\n\n this.$cursorLayer.setSession(session);\n this.$markerBack.setSession(session);\n this.$markerFront.setSession(session);\n this.$gutterLayer.setSession(session);\n this.$textLayer.setSession(session);\n if (!session)\n return;\n \n this.$loop.schedule(this.CHANGE_FULL);\n this.session.$setFontMetrics(this.$fontMetrics);\n \n this.onChangeNewLineMode = this.onChangeNewLineMode.bind(this);\n this.onChangeNewLineMode()\n this.session.doc.on(\"changeNewLineMode\", this.onChangeNewLineMode);\n };\n this.updateLines = function(firstRow, lastRow, force) {\n if (lastRow === undefined)\n lastRow = Infinity;\n\n if (!this.$changedLines) {\n this.$changedLines = {\n firstRow: firstRow,\n lastRow: lastRow\n };\n }\n else {\n if (this.$changedLines.firstRow > firstRow)\n this.$changedLines.firstRow = firstRow;\n\n if (this.$changedLines.lastRow < lastRow)\n this.$changedLines.lastRow = lastRow;\n }\n if (this.$changedLines.lastRow < this.layerConfig.firstRow) {\n if (force)\n this.$changedLines.lastRow = this.layerConfig.lastRow;\n else\n return;\n }\n if (this.$changedLines.firstRow > this.layerConfig.lastRow)\n return;\n this.$loop.schedule(this.CHANGE_LINES);\n };\n\n this.onChangeNewLineMode = function() {\n this.$loop.schedule(this.CHANGE_TEXT);\n this.$textLayer.$updateEolChar();\n };\n \n this.onChangeTabSize = function() {\n this.$loop.schedule(this.CHANGE_TEXT | this.CHANGE_MARKER);\n this.$textLayer.onChangeTabSize();\n };\n this.updateText = function() {\n this.$loop.schedule(this.CHANGE_TEXT);\n };\n this.updateFull = function(force) {\n if (force)\n this.$renderChanges(this.CHANGE_FULL, true);\n else\n this.$loop.schedule(this.CHANGE_FULL);\n };\n this.updateFontSize = function() {\n this.$textLayer.checkForSizeChanges();\n };\n\n this.$changes = 0;\n this.$updateSizeAsync = function() {\n if (this.$loop.pending)\n this.$size.$dirty = true;\n else\n this.onResize();\n };\n this.onResize = function(force, gutterWidth, width, height) {\n if (this.resizing > 2)\n return;\n else if (this.resizing > 0)\n this.resizing++;\n else\n this.resizing = force ? 1 : 0;\n var el = this.container;\n if (!height)\n height = el.clientHeight || el.scrollHeight;\n if (!width)\n width = el.clientWidth || el.scrollWidth;\n var changes = this.$updateCachedSize(force, gutterWidth, width, height);\n\n \n if (!this.$size.scrollerHeight || (!width && !height))\n return this.resizing = 0;\n\n if (force)\n this.$gutterLayer.$padding = null;\n\n if (force)\n this.$renderChanges(changes | this.$changes, true);\n else\n this.$loop.schedule(changes | this.$changes);\n\n if (this.resizing)\n this.resizing = 0;\n this.scrollBarV.scrollLeft = this.scrollBarV.scrollTop = null;\n };\n \n this.$updateCachedSize = function(force, gutterWidth, width, height) {\n height -= (this.$extraHeight || 0);\n var changes = 0;\n var size = this.$size;\n var oldSize = {\n width: size.width,\n height: size.height,\n scrollerHeight: size.scrollerHeight,\n scrollerWidth: size.scrollerWidth\n };\n if (height && (force || size.height != height)) {\n size.height = height;\n changes |= this.CHANGE_SIZE;\n\n size.scrollerHeight = size.height;\n if (this.$horizScroll)\n size.scrollerHeight -= this.scrollBarH.getHeight();\n this.scrollBarV.element.style.bottom = this.scrollBarH.getHeight() + \"px\";\n\n changes = changes | this.CHANGE_SCROLL;\n }\n\n if (width && (force || size.width != width)) {\n changes |= this.CHANGE_SIZE;\n size.width = width;\n \n if (gutterWidth == null)\n gutterWidth = this.$showGutter ? this.$gutter.offsetWidth : 0;\n \n this.gutterWidth = gutterWidth;\n \n this.scrollBarH.element.style.left = \n this.scroller.style.left = gutterWidth + \"px\";\n size.scrollerWidth = Math.max(0, width - gutterWidth - this.scrollBarV.getWidth()); \n \n this.scrollBarH.element.style.right = \n this.scroller.style.right = this.scrollBarV.getWidth() + \"px\";\n this.scroller.style.bottom = this.scrollBarH.getHeight() + \"px\";\n\n if (this.session && this.session.getUseWrapMode() && this.adjustWrapLimit() || force)\n changes |= this.CHANGE_FULL;\n }\n \n size.$dirty = !width || !height;\n\n if (changes)\n this._signal(\"resize\", oldSize);\n\n return changes;\n };\n\n this.onGutterResize = function() {\n var gutterWidth = this.$showGutter ? this.$gutter.offsetWidth : 0;\n if (gutterWidth != this.gutterWidth)\n this.$changes |= this.$updateCachedSize(true, gutterWidth, this.$size.width, this.$size.height);\n\n if (this.session.getUseWrapMode() && this.adjustWrapLimit()) {\n this.$loop.schedule(this.CHANGE_FULL);\n } else if (this.$size.$dirty) {\n this.$loop.schedule(this.CHANGE_FULL);\n } else {\n this.$computeLayerConfig();\n this.$loop.schedule(this.CHANGE_MARKER);\n }\n };\n this.adjustWrapLimit = function() {\n var availableWidth = this.$size.scrollerWidth - this.$padding * 2;\n var limit = Math.floor(availableWidth / this.characterWidth);\n return this.session.adjustWrapLimit(limit, this.$showPrintMargin && this.$printMarginColumn);\n };\n this.setAnimatedScroll = function(shouldAnimate){\n this.setOption(\"animatedScroll\", shouldAnimate);\n };\n this.getAnimatedScroll = function() {\n return this.$animatedScroll;\n };\n this.setShowInvisibles = function(showInvisibles) {\n this.setOption(\"showInvisibles\", showInvisibles);\n };\n this.getShowInvisibles = function() {\n return this.getOption(\"showInvisibles\");\n };\n this.getDisplayIndentGuides = function() {\n return this.getOption(\"displayIndentGuides\");\n };\n\n this.setDisplayIndentGuides = function(display) {\n this.setOption(\"displayIndentGuides\", display);\n };\n this.setShowPrintMargin = function(showPrintMargin) {\n this.setOption(\"showPrintMargin\", showPrintMargin);\n };\n this.getShowPrintMargin = function() {\n return this.getOption(\"showPrintMargin\");\n };\n this.setPrintMarginColumn = function(showPrintMargin) {\n this.setOption(\"printMarginColumn\", showPrintMargin);\n };\n this.getPrintMarginColumn = function() {\n return this.getOption(\"printMarginColumn\");\n };\n this.getShowGutter = function(){\n return this.getOption(\"showGutter\");\n };\n this.setShowGutter = function(show){\n return this.setOption(\"showGutter\", show);\n };\n\n this.getFadeFoldWidgets = function(){\n return this.getOption(\"fadeFoldWidgets\")\n };\n\n this.setFadeFoldWidgets = function(show) {\n this.setOption(\"fadeFoldWidgets\", show);\n };\n\n this.setHighlightGutterLine = function(shouldHighlight) {\n this.setOption(\"highlightGutterLine\", shouldHighlight);\n };\n\n this.getHighlightGutterLine = function() {\n return this.getOption(\"highlightGutterLine\");\n };\n\n this.$updateGutterLineHighlight = function() {\n var pos = this.$cursorLayer.$pixelPos;\n var height = this.layerConfig.lineHeight;\n if (this.session.getUseWrapMode()) {\n var cursor = this.session.selection.getCursor();\n cursor.column = 0;\n pos = this.$cursorLayer.getPixelPosition(cursor, true);\n height *= this.session.getRowLength(cursor.row);\n }\n this.$gutterLineHighlight.style.top = pos.top - this.layerConfig.offset + \"px\";\n this.$gutterLineHighlight.style.height = height + \"px\";\n };\n\n this.$updatePrintMargin = function() {\n if (!this.$showPrintMargin && !this.$printMarginEl)\n return;\n\n if (!this.$printMarginEl) {\n var containerEl = dom.createElement(\"div\");\n containerEl.className = \"ace_layer ace_print-margin-layer\";\n this.$printMarginEl = dom.createElement(\"div\");\n this.$printMarginEl.className = \"ace_print-margin\";\n containerEl.appendChild(this.$printMarginEl);\n this.content.insertBefore(containerEl, this.content.firstChild);\n }\n\n var style = this.$printMarginEl.style;\n style.left = ((this.characterWidth * this.$printMarginColumn) + this.$padding) + \"px\";\n style.visibility = this.$showPrintMargin ? \"visible\" : \"hidden\";\n \n if (this.session && this.session.$wrap == -1)\n this.adjustWrapLimit();\n };\n this.getContainerElement = function() {\n return this.container;\n };\n this.getMouseEventTarget = function() {\n return this.scroller;\n };\n this.getTextAreaContainer = function() {\n return this.container;\n };\n this.$moveTextAreaToCursor = function() {\n if (!this.$keepTextAreaAtCursor)\n return;\n var config = this.layerConfig;\n var posTop = this.$cursorLayer.$pixelPos.top;\n var posLeft = this.$cursorLayer.$pixelPos.left;\n posTop -= config.offset;\n\n var style = this.textarea.style;\n var h = this.lineHeight;\n if (posTop < 0 || posTop > config.height - h) {\n style.top = style.left = \"0\";\n return;\n }\n\n var w = this.characterWidth;\n if (this.$composition) {\n var val = this.textarea.value.replace(/^\\x01+/, \"\");\n w *= (this.session.$getStringScreenWidth(val)[0]+2);\n h += 2;\n }\n posLeft -= this.scrollLeft;\n if (posLeft > this.$size.scrollerWidth - w)\n posLeft = this.$size.scrollerWidth - w;\n\n posLeft += this.gutterWidth;\n style.height = h + \"px\";\n style.width = w + \"px\";\n style.left = Math.min(posLeft, this.$size.scrollerWidth - w) + \"px\";\n style.top = Math.min(posTop, this.$size.height - h) + \"px\";\n };\n this.getFirstVisibleRow = function() {\n return this.layerConfig.firstRow;\n };\n this.getFirstFullyVisibleRow = function() {\n return this.layerConfig.firstRow + (this.layerConfig.offset === 0 ? 0 : 1);\n };\n this.getLastFullyVisibleRow = function() {\n var config = this.layerConfig;\n var lastRow = config.lastRow\n var top = this.session.documentToScreenRow(lastRow, 0) * config.lineHeight;\n if (top - this.session.getScrollTop() > config.height - config.lineHeight)\n return lastRow - 1;\n return lastRow;\n };\n this.getLastVisibleRow = function() {\n return this.layerConfig.lastRow;\n };\n\n this.$padding = null;\n this.setPadding = function(padding) {\n this.$padding = padding;\n this.$textLayer.setPadding(padding);\n this.$cursorLayer.setPadding(padding);\n this.$markerFront.setPadding(padding);\n this.$markerBack.setPadding(padding);\n this.$loop.schedule(this.CHANGE_FULL);\n this.$updatePrintMargin();\n };\n \n this.setScrollMargin = function(top, bottom, left, right) {\n var sm = this.scrollMargin;\n sm.top = top|0;\n sm.bottom = bottom|0;\n sm.right = right|0;\n sm.left = left|0;\n sm.v = sm.top + sm.bottom;\n sm.h = sm.left + sm.right;\n if (sm.top && this.scrollTop <= 0 && this.session)\n this.session.setScrollTop(-sm.top);\n this.updateFull();\n };\n this.getHScrollBarAlwaysVisible = function() {\n return this.$hScrollBarAlwaysVisible;\n };\n this.setHScrollBarAlwaysVisible = function(alwaysVisible) {\n this.setOption(\"hScrollBarAlwaysVisible\", alwaysVisible);\n };\n this.getVScrollBarAlwaysVisible = function() {\n return this.$vScrollBarAlwaysVisible;\n };\n this.setVScrollBarAlwaysVisible = function(alwaysVisible) {\n this.setOption(\"vScrollBarAlwaysVisible\", alwaysVisible);\n };\n\n this.$updateScrollBarV = function() {\n var scrollHeight = this.layerConfig.maxHeight;\n var scrollerHeight = this.$size.scrollerHeight;\n if (!this.$maxLines && this.$scrollPastEnd) {\n scrollHeight -= (scrollerHeight - this.lineHeight) * this.$scrollPastEnd;\n if (this.scrollTop > scrollHeight - scrollerHeight) {\n scrollHeight = this.scrollTop + scrollerHeight;\n this.scrollBarV.scrollTop = null;\n }\n }\n this.scrollBarV.setScrollHeight(scrollHeight + this.scrollMargin.v);\n this.scrollBarV.setScrollTop(this.scrollTop + this.scrollMargin.top);\n };\n this.$updateScrollBarH = function() {\n this.scrollBarH.setScrollWidth(this.layerConfig.width + 2 * this.$padding + this.scrollMargin.h);\n this.scrollBarH.setScrollLeft(this.scrollLeft + this.scrollMargin.left);\n };\n \n this.$frozen = false;\n this.freeze = function() {\n this.$frozen = true;\n };\n \n this.unfreeze = function() {\n this.$frozen = false;\n };\n\n this.$renderChanges = function(changes, force) {\n if (this.$changes) {\n changes |= this.$changes;\n this.$changes = 0;\n }\n if ((!this.session || !this.container.offsetWidth || this.$frozen) || (!changes && !force)) {\n this.$changes |= changes;\n return; \n } \n if (this.$size.$dirty) {\n this.$changes |= changes;\n return this.onResize(true);\n }\n if (!this.lineHeight) {\n this.$textLayer.checkForSizeChanges();\n }\n \n this._signal(\"beforeRender\");\n var config = this.layerConfig;\n if (changes & this.CHANGE_FULL ||\n changes & this.CHANGE_SIZE ||\n changes & this.CHANGE_TEXT ||\n changes & this.CHANGE_LINES ||\n changes & this.CHANGE_SCROLL ||\n changes & this.CHANGE_H_SCROLL\n ) {\n changes |= this.$computeLayerConfig();\n if (config.firstRow != this.layerConfig.firstRow && config.firstRowScreen == this.layerConfig.firstRowScreen) {\n var st = this.scrollTop + (config.firstRow - this.layerConfig.firstRow) * this.lineHeight;\n if (st > 0) {\n this.scrollTop = st;\n changes = changes | this.CHANGE_SCROLL;\n changes |= this.$computeLayerConfig();\n }\n }\n config = this.layerConfig;\n this.$updateScrollBarV();\n if (changes & this.CHANGE_H_SCROLL)\n this.$updateScrollBarH();\n this.$gutterLayer.element.style.marginTop = (-config.offset) + \"px\";\n this.content.style.marginTop = (-config.offset) + \"px\";\n this.content.style.width = config.width + 2 * this.$padding + \"px\";\n this.content.style.height = config.minHeight + \"px\";\n }\n if (changes & this.CHANGE_H_SCROLL) {\n this.content.style.marginLeft = -this.scrollLeft + \"px\";\n this.scroller.className = this.scrollLeft <= 0 ? \"ace_scroller\" : \"ace_scroller ace_scroll-left\";\n }\n if (changes & this.CHANGE_FULL) {\n this.$textLayer.update(config);\n if (this.$showGutter)\n this.$gutterLayer.update(config);\n this.$markerBack.update(config);\n this.$markerFront.update(config);\n this.$cursorLayer.update(config);\n this.$moveTextAreaToCursor();\n this.$highlightGutterLine && this.$updateGutterLineHighlight();\n this._signal(\"afterRender\");\n return;\n }\n if (changes & this.CHANGE_SCROLL) {\n if (changes & this.CHANGE_TEXT || changes & this.CHANGE_LINES)\n this.$textLayer.update(config);\n else\n this.$textLayer.scrollLines(config);\n\n if (this.$showGutter)\n this.$gutterLayer.update(config);\n this.$markerBack.update(config);\n this.$markerFront.update(config);\n this.$cursorLayer.update(config);\n this.$highlightGutterLine && this.$updateGutterLineHighlight();\n this.$moveTextAreaToCursor();\n this._signal(\"afterRender\");\n return;\n }\n\n if (changes & this.CHANGE_TEXT) {\n this.$textLayer.update(config);\n if (this.$showGutter)\n this.$gutterLayer.update(config);\n }\n else if (changes & this.CHANGE_LINES) {\n if (this.$updateLines() || (changes & this.CHANGE_GUTTER) && this.$showGutter)\n this.$gutterLayer.update(config);\n }\n else if (changes & this.CHANGE_TEXT || changes & this.CHANGE_GUTTER) {\n if (this.$showGutter)\n this.$gutterLayer.update(config);\n }\n\n if (changes & this.CHANGE_CURSOR) {\n this.$cursorLayer.update(config);\n this.$moveTextAreaToCursor();\n this.$highlightGutterLine && this.$updateGutterLineHighlight();\n }\n\n if (changes & (this.CHANGE_MARKER | this.CHANGE_MARKER_FRONT)) {\n this.$markerFront.update(config);\n }\n\n if (changes & (this.CHANGE_MARKER | this.CHANGE_MARKER_BACK)) {\n this.$markerBack.update(config);\n }\n\n this._signal(\"afterRender\");\n };\n\n \n this.$autosize = function() {\n var height = this.session.getScreenLength() * this.lineHeight;\n var maxHeight = this.$maxLines * this.lineHeight;\n var desiredHeight = Math.max(\n (this.$minLines||1) * this.lineHeight,\n Math.min(maxHeight, height)\n ) + this.scrollMargin.v + (this.$extraHeight || 0);\n if (this.$horizScroll)\n desiredHeight += this.scrollBarH.getHeight();\n var vScroll = height > maxHeight;\n \n if (desiredHeight != this.desiredHeight ||\n this.$size.height != this.desiredHeight || vScroll != this.$vScroll) {\n if (vScroll != this.$vScroll) {\n this.$vScroll = vScroll;\n this.scrollBarV.setVisible(vScroll);\n }\n \n var w = this.container.clientWidth;\n this.container.style.height = desiredHeight + \"px\";\n this.$updateCachedSize(true, this.$gutterWidth, w, desiredHeight);\n this.desiredHeight = desiredHeight;\n \n this._signal(\"autosize\");\n }\n };\n \n this.$computeLayerConfig = function() {\n var session = this.session;\n var size = this.$size;\n \n var hideScrollbars = size.height <= 2 * this.lineHeight;\n var screenLines = this.session.getScreenLength();\n var maxHeight = screenLines * this.lineHeight;\n\n var longestLine = this.$getLongestLine();\n \n var horizScroll = !hideScrollbars && (this.$hScrollBarAlwaysVisible ||\n size.scrollerWidth - longestLine - 2 * this.$padding < 0);\n\n var hScrollChanged = this.$horizScroll !== horizScroll;\n if (hScrollChanged) {\n this.$horizScroll = horizScroll;\n this.scrollBarH.setVisible(horizScroll);\n }\n var vScrollBefore = this.$vScroll; // autosize can change vscroll value in which case we need to update longestLine\n if (this.$maxLines && this.lineHeight > 1)\n this.$autosize();\n\n var offset = this.scrollTop % this.lineHeight;\n var minHeight = size.scrollerHeight + this.lineHeight;\n \n var scrollPastEnd = !this.$maxLines && this.$scrollPastEnd\n ? (size.scrollerHeight - this.lineHeight) * this.$scrollPastEnd\n : 0;\n maxHeight += scrollPastEnd;\n \n var sm = this.scrollMargin;\n this.session.setScrollTop(Math.max(-sm.top,\n Math.min(this.scrollTop, maxHeight - size.scrollerHeight + sm.bottom)));\n\n this.session.setScrollLeft(Math.max(-sm.left, Math.min(this.scrollLeft, \n longestLine + 2 * this.$padding - size.scrollerWidth + sm.right)));\n \n var vScroll = !hideScrollbars && (this.$vScrollBarAlwaysVisible ||\n size.scrollerHeight - maxHeight + scrollPastEnd < 0 || this.scrollTop > sm.top);\n var vScrollChanged = vScrollBefore !== vScroll;\n if (vScrollChanged) {\n this.$vScroll = vScroll;\n this.scrollBarV.setVisible(vScroll);\n }\n\n var lineCount = Math.ceil(minHeight / this.lineHeight) - 1;\n var firstRow = Math.max(0, Math.round((this.scrollTop - offset) / this.lineHeight));\n var lastRow = firstRow + lineCount;\n var firstRowScreen, firstRowHeight;\n var lineHeight = this.lineHeight;\n firstRow = session.screenToDocumentRow(firstRow, 0);\n var foldLine = session.getFoldLine(firstRow);\n if (foldLine) {\n firstRow = foldLine.start.row;\n }\n\n firstRowScreen = session.documentToScreenRow(firstRow, 0);\n firstRowHeight = session.getRowLength(firstRow) * lineHeight;\n\n lastRow = Math.min(session.screenToDocumentRow(lastRow, 0), session.getLength() - 1);\n minHeight = size.scrollerHeight + session.getRowLength(lastRow) * lineHeight +\n firstRowHeight;\n\n offset = this.scrollTop - firstRowScreen * lineHeight;\n\n var changes = 0;\n if (this.layerConfig.width != longestLine) \n changes = this.CHANGE_H_SCROLL;\n if (hScrollChanged || vScrollChanged) {\n changes = this.$updateCachedSize(true, this.gutterWidth, size.width, size.height);\n this._signal(\"scrollbarVisibilityChanged\");\n if (vScrollChanged)\n longestLine = this.$getLongestLine();\n }\n \n this.layerConfig = {\n width : longestLine,\n padding : this.$padding,\n firstRow : firstRow,\n firstRowScreen: firstRowScreen,\n lastRow : lastRow,\n lineHeight : lineHeight,\n characterWidth : this.characterWidth,\n minHeight : minHeight,\n maxHeight : maxHeight,\n offset : offset,\n gutterOffset : Math.max(0, Math.ceil((offset + size.height - size.scrollerHeight) / lineHeight)),\n height : this.$size.scrollerHeight\n };\n\n return changes;\n };\n\n this.$updateLines = function() {\n var firstRow = this.$changedLines.firstRow;\n var lastRow = this.$changedLines.lastRow;\n this.$changedLines = null;\n\n var layerConfig = this.layerConfig;\n\n if (firstRow > layerConfig.lastRow + 1) { return; }\n if (lastRow < layerConfig.firstRow) { return; }\n if (lastRow === Infinity) {\n if (this.$showGutter)\n this.$gutterLayer.update(layerConfig);\n this.$textLayer.update(layerConfig);\n return;\n }\n this.$textLayer.updateLines(layerConfig, firstRow, lastRow);\n return true;\n };\n\n this.$getLongestLine = function() {\n var charCount = this.session.getScreenWidth();\n if (this.showInvisibles && !this.session.$useWrapMode)\n charCount += 1;\n\n return Math.max(this.$size.scrollerWidth - 2 * this.$padding, Math.round(charCount * this.characterWidth));\n };\n this.updateFrontMarkers = function() {\n this.$markerFront.setMarkers(this.session.getMarkers(true));\n this.$loop.schedule(this.CHANGE_MARKER_FRONT);\n };\n this.updateBackMarkers = function() {\n this.$markerBack.setMarkers(this.session.getMarkers());\n this.$loop.schedule(this.CHANGE_MARKER_BACK);\n };\n this.addGutterDecoration = function(row, className){\n this.$gutterLayer.addGutterDecoration(row, className);\n };\n this.removeGutterDecoration = function(row, className){\n this.$gutterLayer.removeGutterDecoration(row, className);\n };\n this.updateBreakpoints = function(rows) {\n this.$loop.schedule(this.CHANGE_GUTTER);\n };\n this.setAnnotations = function(annotations) {\n this.$gutterLayer.setAnnotations(annotations);\n this.$loop.schedule(this.CHANGE_GUTTER);\n };\n this.updateCursor = function() {\n this.$loop.schedule(this.CHANGE_CURSOR);\n };\n this.hideCursor = function() {\n this.$cursorLayer.hideCursor();\n };\n this.showCursor = function() {\n this.$cursorLayer.showCursor();\n };\n\n this.scrollSelectionIntoView = function(anchor, lead, offset) {\n this.scrollCursorIntoView(anchor, offset);\n this.scrollCursorIntoView(lead, offset);\n };\n this.scrollCursorIntoView = function(cursor, offset, $viewMargin) {\n if (this.$size.scrollerHeight === 0)\n return;\n\n var pos = this.$cursorLayer.getPixelPosition(cursor);\n\n var left = pos.left;\n var top = pos.top;\n \n var topMargin = $viewMargin && $viewMargin.top || 0;\n var bottomMargin = $viewMargin && $viewMargin.bottom || 0;\n \n var scrollTop = this.$scrollAnimation ? this.session.getScrollTop() : this.scrollTop;\n \n if (scrollTop + topMargin > top) {\n if (offset && scrollTop + topMargin > top + this.lineHeight)\n top -= offset * this.$size.scrollerHeight;\n if (top === 0)\n top = -this.scrollMargin.top;\n this.session.setScrollTop(top);\n } else if (scrollTop + this.$size.scrollerHeight - bottomMargin < top + this.lineHeight) {\n if (offset && scrollTop + this.$size.scrollerHeight - bottomMargin < top - this.lineHeight)\n top += offset * this.$size.scrollerHeight;\n this.session.setScrollTop(top + this.lineHeight - this.$size.scrollerHeight);\n }\n\n var scrollLeft = this.scrollLeft;\n\n if (scrollLeft > left) {\n if (left < this.$padding + 2 * this.layerConfig.characterWidth)\n left = -this.scrollMargin.left;\n this.session.setScrollLeft(left);\n } else if (scrollLeft + this.$size.scrollerWidth < left + this.characterWidth) {\n this.session.setScrollLeft(Math.round(left + this.characterWidth - this.$size.scrollerWidth));\n } else if (scrollLeft <= this.$padding && left - scrollLeft < this.characterWidth) {\n this.session.setScrollLeft(0);\n }\n };\n this.getScrollTop = function() {\n return this.session.getScrollTop();\n };\n this.getScrollLeft = function() {\n return this.session.getScrollLeft();\n };\n this.getScrollTopRow = function() {\n return this.scrollTop / this.lineHeight;\n };\n this.getScrollBottomRow = function() {\n return Math.max(0, Math.floor((this.scrollTop + this.$size.scrollerHeight) / this.lineHeight) - 1);\n };\n this.scrollToRow = function(row) {\n this.session.setScrollTop(row * this.lineHeight);\n };\n\n this.alignCursor = function(cursor, alignment) {\n if (typeof cursor == \"number\")\n cursor = {row: cursor, column: 0};\n\n var pos = this.$cursorLayer.getPixelPosition(cursor);\n var h = this.$size.scrollerHeight - this.lineHeight;\n var offset = pos.top - h * (alignment || 0);\n\n this.session.setScrollTop(offset);\n return offset;\n };\n\n this.STEPS = 8;\n this.$calcSteps = function(fromValue, toValue){\n var i = 0;\n var l = this.STEPS;\n var steps = [];\n\n var func = function(t, x_min, dx) {\n return dx * (Math.pow(t - 1, 3) + 1) + x_min;\n };\n\n for (i = 0; i < l; ++i)\n steps.push(func(i / this.STEPS, fromValue, toValue - fromValue));\n\n return steps;\n };\n this.scrollToLine = function(line, center, animate, callback) {\n var pos = this.$cursorLayer.getPixelPosition({row: line, column: 0});\n var offset = pos.top;\n if (center)\n offset -= this.$size.scrollerHeight / 2;\n\n var initialScroll = this.scrollTop;\n this.session.setScrollTop(offset);\n if (animate !== false)\n this.animateScrolling(initialScroll, callback);\n };\n\n this.animateScrolling = function(fromValue, callback) {\n var toValue = this.scrollTop;\n if (!this.$animatedScroll)\n return;\n var _self = this;\n \n if (fromValue == toValue)\n return;\n \n if (this.$scrollAnimation) {\n var oldSteps = this.$scrollAnimation.steps;\n if (oldSteps.length) {\n fromValue = oldSteps[0];\n if (fromValue == toValue)\n return;\n }\n }\n \n var steps = _self.$calcSteps(fromValue, toValue);\n this.$scrollAnimation = {from: fromValue, to: toValue, steps: steps};\n\n clearInterval(this.$timer);\n\n _self.session.setScrollTop(steps.shift());\n _self.session.$scrollTop = toValue;\n this.$timer = setInterval(function() {\n if (steps.length) {\n _self.session.setScrollTop(steps.shift());\n _self.session.$scrollTop = toValue;\n } else if (toValue != null) {\n _self.session.$scrollTop = -1;\n _self.session.setScrollTop(toValue);\n toValue = null;\n } else {\n _self.$timer = clearInterval(_self.$timer);\n _self.$scrollAnimation = null;\n callback && callback();\n }\n }, 10);\n };\n this.scrollToY = function(scrollTop) {\n if (this.scrollTop !== scrollTop) {\n this.$loop.schedule(this.CHANGE_SCROLL);\n this.scrollTop = scrollTop;\n }\n };\n this.scrollToX = function(scrollLeft) {\n if (this.scrollLeft !== scrollLeft)\n this.scrollLeft = scrollLeft;\n this.$loop.schedule(this.CHANGE_H_SCROLL);\n };\n this.scrollTo = function(x, y) {\n this.session.setScrollTop(y);\n this.session.setScrollLeft(y);\n };\n this.scrollBy = function(deltaX, deltaY) {\n deltaY && this.session.setScrollTop(this.session.getScrollTop() + deltaY);\n deltaX && this.session.setScrollLeft(this.session.getScrollLeft() + deltaX);\n };\n this.isScrollableBy = function(deltaX, deltaY) {\n if (deltaY < 0 && this.session.getScrollTop() >= 1 - this.scrollMargin.top)\n return true;\n if (deltaY > 0 && this.session.getScrollTop() + this.$size.scrollerHeight\n - this.layerConfig.maxHeight < -1 + this.scrollMargin.bottom)\n return true;\n if (deltaX < 0 && this.session.getScrollLeft() >= 1 - this.scrollMargin.left)\n return true;\n if (deltaX > 0 && this.session.getScrollLeft() + this.$size.scrollerWidth\n - this.layerConfig.width < -1 + this.scrollMargin.right)\n return true;\n };\n\n this.pixelToScreenCoordinates = function(x, y) {\n var canvasPos = this.scroller.getBoundingClientRect();\n\n var offset = (x + this.scrollLeft - canvasPos.left - this.$padding) / this.characterWidth;\n var row = Math.floor((y + this.scrollTop - canvasPos.top) / this.lineHeight);\n var col = Math.round(offset);\n\n return {row: row, column: col, side: offset - col > 0 ? 1 : -1};\n };\n\n this.screenToTextCoordinates = function(x, y) {\n var canvasPos = this.scroller.getBoundingClientRect();\n\n var col = Math.round(\n (x + this.scrollLeft - canvasPos.left - this.$padding) / this.characterWidth\n );\n\n var row = (y + this.scrollTop - canvasPos.top) / this.lineHeight;\n\n return this.session.screenToDocumentPosition(row, Math.max(col, 0));\n };\n this.textToScreenCoordinates = function(row, column) {\n var canvasPos = this.scroller.getBoundingClientRect();\n var pos = this.session.documentToScreenPosition(row, column);\n\n var x = this.$padding + Math.round(pos.column * this.characterWidth);\n var y = pos.row * this.lineHeight;\n\n return {\n pageX: canvasPos.left + x - this.scrollLeft,\n pageY: canvasPos.top + y - this.scrollTop\n };\n };\n this.visualizeFocus = function() {\n dom.addCssClass(this.container, \"ace_focus\");\n };\n this.visualizeBlur = function() {\n dom.removeCssClass(this.container, \"ace_focus\");\n };\n this.showComposition = function(position) {\n if (!this.$composition)\n this.$composition = {\n keepTextAreaAtCursor: this.$keepTextAreaAtCursor,\n cssText: this.textarea.style.cssText\n };\n\n this.$keepTextAreaAtCursor = true;\n dom.addCssClass(this.textarea, \"ace_composition\");\n this.textarea.style.cssText = \"\";\n this.$moveTextAreaToCursor();\n };\n this.setCompositionText = function(text) {\n this.$moveTextAreaToCursor();\n };\n this.hideComposition = function() {\n if (!this.$composition)\n return;\n\n dom.removeCssClass(this.textarea, \"ace_composition\");\n this.$keepTextAreaAtCursor = this.$composition.keepTextAreaAtCursor;\n this.textarea.style.cssText = this.$composition.cssText;\n this.$composition = null;\n };\n this.setTheme = function(theme, cb) {\n var _self = this;\n this.$themeId = theme;\n _self._dispatchEvent('themeChange',{theme:theme});\n\n if (!theme || typeof theme == \"string\") {\n var moduleName = theme || this.$options.theme.initialValue;\n config.loadModule([\"theme\", moduleName], afterLoad);\n } else {\n afterLoad(theme);\n }\n\n function afterLoad(module) {\n if (_self.$themeId != theme)\n return cb && cb();\n if (!module.cssClass)\n return;\n dom.importCssString(\n module.cssText,\n module.cssClass,\n _self.container.ownerDocument\n );\n\n if (_self.theme)\n dom.removeCssClass(_self.container, _self.theme.cssClass);\n\n var padding = \"padding\" in module ? module.padding \n : \"padding\" in (_self.theme || {}) ? 4 : _self.$padding;\n if (_self.$padding && padding != _self.$padding)\n _self.setPadding(padding);\n _self.$theme = module.cssClass;\n\n _self.theme = module;\n dom.addCssClass(_self.container, module.cssClass);\n dom.setCssClass(_self.container, \"ace_dark\", module.isDark);\n if (_self.$size) {\n _self.$size.width = 0;\n _self.$updateSizeAsync();\n }\n\n _self._dispatchEvent('themeLoaded', {theme:module});\n cb && cb();\n }\n };\n this.getTheme = function() {\n return this.$themeId;\n };\n this.setStyle = function(style, include) {\n dom.setCssClass(this.container, style, include !== false);\n };\n this.unsetStyle = function(style) {\n dom.removeCssClass(this.container, style);\n };\n \n this.setCursorStyle = function(style) {\n if (this.scroller.style.cursor != style)\n this.scroller.style.cursor = style;\n };\n this.setMouseCursor = function(cursorStyle) {\n this.scroller.style.cursor = cursorStyle;\n };\n this.destroy = function() {\n this.$textLayer.destroy();\n this.$cursorLayer.destroy();\n };\n\n}).call(VirtualRenderer.prototype);\n\n\nconfig.defineOptions(VirtualRenderer.prototype, \"renderer\", {\n animatedScroll: {initialValue: false},\n showInvisibles: {\n set: function(value) {\n if (this.$textLayer.setShowInvisibles(value))\n this.$loop.schedule(this.CHANGE_TEXT);\n },\n initialValue: false\n },\n showPrintMargin: {\n set: function() { this.$updatePrintMargin(); },\n initialValue: true\n },\n printMarginColumn: {\n set: function() { this.$updatePrintMargin(); },\n initialValue: 80\n },\n printMargin: {\n set: function(val) {\n if (typeof val == \"number\")\n this.$printMarginColumn = val;\n this.$showPrintMargin = !!val;\n this.$updatePrintMargin();\n },\n get: function() {\n return this.$showPrintMargin && this.$printMarginColumn; \n }\n },\n showGutter: {\n set: function(show){\n this.$gutter.style.display = show ? \"block\" : \"none\";\n this.$loop.schedule(this.CHANGE_FULL);\n this.onGutterResize();\n },\n initialValue: true\n },\n fadeFoldWidgets: {\n set: function(show) {\n dom.setCssClass(this.$gutter, \"ace_fade-fold-widgets\", show);\n },\n initialValue: false\n },\n showFoldWidgets: {\n set: function(show) {this.$gutterLayer.setShowFoldWidgets(show)},\n initialValue: true\n },\n showLineNumbers: {\n set: function(show) {\n this.$gutterLayer.setShowLineNumbers(show);\n this.$loop.schedule(this.CHANGE_GUTTER);\n },\n initialValue: true\n },\n displayIndentGuides: {\n set: function(show) {\n if (this.$textLayer.setDisplayIndentGuides(show))\n this.$loop.schedule(this.CHANGE_TEXT);\n },\n initialValue: true\n },\n highlightGutterLine: {\n set: function(shouldHighlight) {\n if (!this.$gutterLineHighlight) {\n this.$gutterLineHighlight = dom.createElement(\"div\");\n this.$gutterLineHighlight.className = \"ace_gutter-active-line\";\n this.$gutter.appendChild(this.$gutterLineHighlight);\n return;\n }\n\n this.$gutterLineHighlight.style.display = shouldHighlight ? \"\" : \"none\";\n if (this.$cursorLayer.$pixelPos)\n this.$updateGutterLineHighlight();\n },\n initialValue: false,\n value: true\n },\n hScrollBarAlwaysVisible: {\n set: function(val) {\n if (!this.$hScrollBarAlwaysVisible || !this.$horizScroll)\n this.$loop.schedule(this.CHANGE_SCROLL);\n },\n initialValue: false\n },\n vScrollBarAlwaysVisible: {\n set: function(val) {\n if (!this.$vScrollBarAlwaysVisible || !this.$vScroll)\n this.$loop.schedule(this.CHANGE_SCROLL);\n },\n initialValue: false\n },\n fontSize: {\n set: function(size) {\n if (typeof size == \"number\")\n size = size + \"px\";\n this.container.style.fontSize = size;\n this.updateFontSize();\n },\n initialValue: 12\n },\n fontFamily: {\n set: function(name) {\n this.container.style.fontFamily = name;\n this.updateFontSize();\n }\n },\n maxLines: {\n set: function(val) {\n this.updateFull();\n }\n },\n minLines: {\n set: function(val) {\n this.updateFull();\n }\n },\n scrollPastEnd: {\n set: function(val) {\n val = +val || 0;\n if (this.$scrollPastEnd == val)\n return;\n this.$scrollPastEnd = val;\n this.$loop.schedule(this.CHANGE_SCROLL);\n },\n initialValue: 0,\n handlesSet: true\n },\n fixedWidthGutter: {\n set: function(val) {\n this.$gutterLayer.$fixedWidth = !!val;\n this.$loop.schedule(this.CHANGE_GUTTER);\n }\n },\n theme: {\n set: function(val) { this.setTheme(val) },\n get: function() { return this.$themeId || this.theme; },\n initialValue: \"./theme/textmate\",\n handlesSet: true\n }\n});\n\nexports.VirtualRenderer = VirtualRenderer;\n});\n\nace.define(\"ace/worker/worker_client\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/lib/net\",\"ace/lib/event_emitter\",\"ace/config\"], function(acequire, exports, module) {\n\"use strict\";\n\nvar oop = acequire(\"../lib/oop\");\nvar net = acequire(\"../lib/net\");\nvar EventEmitter = acequire(\"../lib/event_emitter\").EventEmitter;\nvar config = acequire(\"../config\");\n\nvar WorkerClient = function(topLevelNamespaces, mod, classname, workerUrl) {\n this.$sendDeltaQueue = this.$sendDeltaQueue.bind(this);\n this.changeListener = this.changeListener.bind(this);\n this.onMessage = this.onMessage.bind(this);\n if (acequire.nameToUrl && !acequire.toUrl)\n acequire.toUrl = acequire.nameToUrl;\n \n if (config.get(\"packaged\") || !acequire.toUrl) {\n workerUrl = workerUrl || config.moduleUrl(mod.id, \"worker\")\n } else {\n var normalizePath = this.$normalizePath;\n workerUrl = workerUrl || normalizePath(acequire.toUrl(\"ace/worker/worker.js\", null, \"_\"));\n\n var tlns = {};\n topLevelNamespaces.forEach(function(ns) {\n tlns[ns] = normalizePath(acequire.toUrl(ns, null, \"_\").replace(/(\\.js)?(\\?.*)?$/, \"\"));\n });\n }\n\n try {\n var workerSrc = mod.src;\n var Blob = require('w3c-blob');\n var blob = new Blob([ workerSrc ], { type: 'application/javascript' });\n var blobUrl = (window.URL || window.webkitURL).createObjectURL(blob);\n\n this.$worker = new Worker(blobUrl);\n\n } catch(e) {\n if (e instanceof window.DOMException) {\n var blob = this.$workerBlob(workerUrl);\n var URL = window.URL || window.webkitURL;\n var blobURL = URL.createObjectURL(blob);\n\n this.$worker = new Worker(blobURL);\n URL.revokeObjectURL(blobURL);\n } else {\n throw e;\n }\n }\n this.$worker.postMessage({\n init : true,\n tlns : tlns,\n module : mod.id,\n classname : classname\n });\n\n this.callbackId = 1;\n this.callbacks = {};\n\n this.$worker.onmessage = this.onMessage;\n};\n\n(function(){\n\n oop.implement(this, EventEmitter);\n\n this.onMessage = function(e) {\n var msg = e.data;\n switch(msg.type) {\n case \"event\":\n this._signal(msg.name, {data: msg.data});\n break;\n case \"call\":\n var callback = this.callbacks[msg.id];\n if (callback) {\n callback(msg.data);\n delete this.callbacks[msg.id];\n }\n break;\n case \"error\":\n this.reportError(msg.data);\n break;\n case \"log\":\n window.console && console.log && console.log.apply(console, msg.data);\n break;\n }\n };\n \n this.reportError = function(err) {\n window.console && console.error && console.error(err);\n };\n\n this.$normalizePath = function(path) {\n return net.qualifyURL(path);\n };\n\n this.terminate = function() {\n this._signal(\"terminate\", {});\n this.deltaQueue = null;\n this.$worker.terminate();\n this.$worker = null;\n if (this.$doc)\n this.$doc.off(\"change\", this.changeListener);\n this.$doc = null;\n };\n\n this.send = function(cmd, args) {\n this.$worker.postMessage({command: cmd, args: args});\n };\n\n this.call = function(cmd, args, callback) {\n if (callback) {\n var id = this.callbackId++;\n this.callbacks[id] = callback;\n args.push(id);\n }\n this.send(cmd, args);\n };\n\n this.emit = function(event, data) {\n try {\n this.$worker.postMessage({event: event, data: {data: data.data}});\n }\n catch(ex) {\n console.error(ex.stack);\n }\n };\n\n this.attachToDocument = function(doc) {\n if(this.$doc)\n this.terminate();\n\n this.$doc = doc;\n this.call(\"setValue\", [doc.getValue()]);\n doc.on(\"change\", this.changeListener);\n };\n\n this.changeListener = function(delta) {\n if (!this.deltaQueue) {\n this.deltaQueue = [];\n setTimeout(this.$sendDeltaQueue, 0);\n }\n if (delta.action == \"insert\")\n this.deltaQueue.push(delta.start, delta.lines);\n else\n this.deltaQueue.push(delta.start, delta.end);\n };\n\n this.$sendDeltaQueue = function() {\n var q = this.deltaQueue;\n if (!q) return;\n this.deltaQueue = null;\n if (q.length > 50 && q.length > this.$doc.getLength() >> 1) {\n this.call(\"setValue\", [this.$doc.getValue()]);\n } else\n this.emit(\"change\", {data: q});\n };\n\n this.$workerBlob = function(workerUrl) {\n var script = \"importScripts('\" + net.qualifyURL(workerUrl) + \"');\";\n try {\n return new Blob([script], {\"type\": \"application/javascript\"});\n } catch (e) { // Backwards-compatibility\n var BlobBuilder = window.BlobBuilder || window.WebKitBlobBuilder || window.MozBlobBuilder;\n var blobBuilder = new BlobBuilder();\n blobBuilder.append(script);\n return blobBuilder.getBlob(\"application/javascript\");\n }\n };\n\n}).call(WorkerClient.prototype);\n\n\nvar UIWorkerClient = function(topLevelNamespaces, mod, classname) {\n this.$sendDeltaQueue = this.$sendDeltaQueue.bind(this);\n this.changeListener = this.changeListener.bind(this);\n this.callbackId = 1;\n this.callbacks = {};\n this.messageBuffer = [];\n\n var main = null;\n var emitSync = false;\n var sender = Object.create(EventEmitter);\n var _self = this;\n\n this.$worker = {};\n this.$worker.terminate = function() {};\n this.$worker.postMessage = function(e) {\n _self.messageBuffer.push(e);\n if (main) {\n if (emitSync)\n setTimeout(processNext);\n else\n processNext();\n }\n };\n this.setEmitSync = function(val) { emitSync = val };\n\n var processNext = function() {\n var msg = _self.messageBuffer.shift();\n if (msg.command)\n main[msg.command].apply(main, msg.args);\n else if (msg.event)\n sender._signal(msg.event, msg.data);\n };\n\n sender.postMessage = function(msg) {\n _self.onMessage({data: msg});\n };\n sender.callback = function(data, callbackId) {\n this.postMessage({type: \"call\", id: callbackId, data: data});\n };\n sender.emit = function(name, data) {\n this.postMessage({type: \"event\", name: name, data: data});\n };\n\n config.loadModule([\"worker\", mod], function(Main) {\n main = new Main[classname](sender);\n while (_self.messageBuffer.length)\n processNext();\n });\n};\n\nUIWorkerClient.prototype = WorkerClient.prototype;\n\nexports.UIWorkerClient = UIWorkerClient;\nexports.WorkerClient = WorkerClient;\n\n});\n\nace.define(\"ace/placeholder\",[\"require\",\"exports\",\"module\",\"ace/range\",\"ace/lib/event_emitter\",\"ace/lib/oop\"], function(acequire, exports, module) {\n\"use strict\";\n\nvar Range = acequire(\"./range\").Range;\nvar EventEmitter = acequire(\"./lib/event_emitter\").EventEmitter;\nvar oop = acequire(\"./lib/oop\");\n\nvar PlaceHolder = function(session, length, pos, others, mainClass, othersClass) {\n var _self = this;\n this.length = length;\n this.session = session;\n this.doc = session.getDocument();\n this.mainClass = mainClass;\n this.othersClass = othersClass;\n this.$onUpdate = this.onUpdate.bind(this);\n this.doc.on(\"change\", this.$onUpdate);\n this.$others = others;\n \n this.$onCursorChange = function() {\n setTimeout(function() {\n _self.onCursorChange();\n });\n };\n \n this.$pos = pos;\n var undoStack = session.getUndoManager().$undoStack || session.getUndoManager().$undostack || {length: -1};\n this.$undoStackDepth = undoStack.length;\n this.setup();\n\n session.selection.on(\"changeCursor\", this.$onCursorChange);\n};\n\n(function() {\n\n oop.implement(this, EventEmitter);\n this.setup = function() {\n var _self = this;\n var doc = this.doc;\n var session = this.session;\n \n this.selectionBefore = session.selection.toJSON();\n if (session.selection.inMultiSelectMode)\n session.selection.toSingleRange();\n\n this.pos = doc.createAnchor(this.$pos.row, this.$pos.column);\n var pos = this.pos;\n pos.$insertRight = true;\n pos.detach();\n pos.markerId = session.addMarker(new Range(pos.row, pos.column, pos.row, pos.column + this.length), this.mainClass, null, false);\n this.others = [];\n this.$others.forEach(function(other) {\n var anchor = doc.createAnchor(other.row, other.column);\n anchor.$insertRight = true;\n anchor.detach();\n _self.others.push(anchor);\n });\n session.setUndoSelect(false);\n };\n this.showOtherMarkers = function() {\n if (this.othersActive) return;\n var session = this.session;\n var _self = this;\n this.othersActive = true;\n this.others.forEach(function(anchor) {\n anchor.markerId = session.addMarker(new Range(anchor.row, anchor.column, anchor.row, anchor.column+_self.length), _self.othersClass, null, false);\n });\n };\n this.hideOtherMarkers = function() {\n if (!this.othersActive) return;\n this.othersActive = false;\n for (var i = 0; i < this.others.length; i++) {\n this.session.removeMarker(this.others[i].markerId);\n }\n };\n this.onUpdate = function(delta) {\n if (this.$updating)\n return this.updateAnchors(delta);\n \n var range = delta;\n if (range.start.row !== range.end.row) return;\n if (range.start.row !== this.pos.row) return;\n this.$updating = true;\n var lengthDiff = delta.action === \"insert\" ? range.end.column - range.start.column : range.start.column - range.end.column;\n var inMainRange = range.start.column >= this.pos.column && range.start.column <= this.pos.column + this.length + 1;\n var distanceFromStart = range.start.column - this.pos.column;\n \n this.updateAnchors(delta);\n \n if (inMainRange)\n this.length += lengthDiff;\n\n if (inMainRange && !this.session.$fromUndo) {\n if (delta.action === 'insert') {\n for (var i = this.others.length - 1; i >= 0; i--) {\n var otherPos = this.others[i];\n var newPos = {row: otherPos.row, column: otherPos.column + distanceFromStart};\n this.doc.insertMergedLines(newPos, delta.lines);\n }\n } else if (delta.action === 'remove') {\n for (var i = this.others.length - 1; i >= 0; i--) {\n var otherPos = this.others[i];\n var newPos = {row: otherPos.row, column: otherPos.column + distanceFromStart};\n this.doc.remove(new Range(newPos.row, newPos.column, newPos.row, newPos.column - lengthDiff));\n }\n }\n }\n \n this.$updating = false;\n this.updateMarkers();\n };\n \n this.updateAnchors = function(delta) {\n this.pos.onChange(delta);\n for (var i = this.others.length; i--;)\n this.others[i].onChange(delta);\n this.updateMarkers();\n };\n \n this.updateMarkers = function() {\n if (this.$updating)\n return;\n var _self = this;\n var session = this.session;\n var updateMarker = function(pos, className) {\n session.removeMarker(pos.markerId);\n pos.markerId = session.addMarker(new Range(pos.row, pos.column, pos.row, pos.column+_self.length), className, null, false);\n };\n updateMarker(this.pos, this.mainClass);\n for (var i = this.others.length; i--;)\n updateMarker(this.others[i], this.othersClass);\n };\n\n this.onCursorChange = function(event) {\n if (this.$updating || !this.session) return;\n var pos = this.session.selection.getCursor();\n if (pos.row === this.pos.row && pos.column >= this.pos.column && pos.column <= this.pos.column + this.length) {\n this.showOtherMarkers();\n this._emit(\"cursorEnter\", event);\n } else {\n this.hideOtherMarkers();\n this._emit(\"cursorLeave\", event);\n }\n }; \n this.detach = function() {\n this.session.removeMarker(this.pos && this.pos.markerId);\n this.hideOtherMarkers();\n this.doc.removeEventListener(\"change\", this.$onUpdate);\n this.session.selection.removeEventListener(\"changeCursor\", this.$onCursorChange);\n this.session.setUndoSelect(true);\n this.session = null;\n };\n this.cancel = function() {\n if (this.$undoStackDepth === -1)\n return;\n var undoManager = this.session.getUndoManager();\n var undosRequired = (undoManager.$undoStack || undoManager.$undostack).length - this.$undoStackDepth;\n for (var i = 0; i < undosRequired; i++) {\n undoManager.undo(true);\n }\n if (this.selectionBefore)\n this.session.selection.fromJSON(this.selectionBefore);\n };\n}).call(PlaceHolder.prototype);\n\n\nexports.PlaceHolder = PlaceHolder;\n});\n\nace.define(\"ace/mouse/multi_select_handler\",[\"require\",\"exports\",\"module\",\"ace/lib/event\",\"ace/lib/useragent\"], function(acequire, exports, module) {\n\nvar event = acequire(\"../lib/event\");\nvar useragent = acequire(\"../lib/useragent\");\nfunction isSamePoint(p1, p2) {\n return p1.row == p2.row && p1.column == p2.column;\n}\n\nfunction onMouseDown(e) {\n var ev = e.domEvent;\n var alt = ev.altKey;\n var shift = ev.shiftKey;\n var ctrl = ev.ctrlKey;\n var accel = e.getAccelKey();\n var button = e.getButton();\n \n if (ctrl && useragent.isMac)\n button = ev.button;\n\n if (e.editor.inMultiSelectMode && button == 2) {\n e.editor.textInput.onContextMenu(e.domEvent);\n return;\n }\n \n if (!ctrl && !alt && !accel) {\n if (button === 0 && e.editor.inMultiSelectMode)\n e.editor.exitMultiSelectMode();\n return;\n }\n \n if (button !== 0)\n return;\n\n var editor = e.editor;\n var selection = editor.selection;\n var isMultiSelect = editor.inMultiSelectMode;\n var pos = e.getDocumentPosition();\n var cursor = selection.getCursor();\n var inSelection = e.inSelection() || (selection.isEmpty() && isSamePoint(pos, cursor));\n\n var mouseX = e.x, mouseY = e.y;\n var onMouseSelection = function(e) {\n mouseX = e.clientX;\n mouseY = e.clientY;\n };\n \n var session = editor.session;\n var screenAnchor = editor.renderer.pixelToScreenCoordinates(mouseX, mouseY);\n var screenCursor = screenAnchor;\n \n var selectionMode;\n if (editor.$mouseHandler.$enableJumpToDef) {\n if (ctrl && alt || accel && alt)\n selectionMode = shift ? \"block\" : \"add\";\n else if (alt && editor.$blockSelectEnabled)\n selectionMode = \"block\";\n } else {\n if (accel && !alt) {\n selectionMode = \"add\";\n if (!isMultiSelect && shift)\n return;\n } else if (alt && editor.$blockSelectEnabled) {\n selectionMode = \"block\";\n }\n }\n \n if (selectionMode && useragent.isMac && ev.ctrlKey) {\n editor.$mouseHandler.cancelContextMenu();\n }\n\n if (selectionMode == \"add\") {\n if (!isMultiSelect && inSelection)\n return; // dragging\n\n if (!isMultiSelect) {\n var range = selection.toOrientedRange();\n editor.addSelectionMarker(range);\n }\n\n var oldRange = selection.rangeList.rangeAtPoint(pos);\n \n \n editor.$blockScrolling++;\n editor.inVirtualSelectionMode = true;\n \n if (shift) {\n oldRange = null;\n range = selection.ranges[0] || range;\n editor.removeSelectionMarker(range);\n }\n editor.once(\"mouseup\", function() {\n var tmpSel = selection.toOrientedRange();\n\n if (oldRange && tmpSel.isEmpty() && isSamePoint(oldRange.cursor, tmpSel.cursor))\n selection.substractPoint(tmpSel.cursor);\n else {\n if (shift) {\n selection.substractPoint(range.cursor);\n } else if (range) {\n editor.removeSelectionMarker(range);\n selection.addRange(range);\n }\n selection.addRange(tmpSel);\n }\n editor.$blockScrolling--;\n editor.inVirtualSelectionMode = false;\n });\n\n } else if (selectionMode == \"block\") {\n e.stop();\n editor.inVirtualSelectionMode = true; \n var initialRange;\n var rectSel = [];\n var blockSelect = function() {\n var newCursor = editor.renderer.pixelToScreenCoordinates(mouseX, mouseY);\n var cursor = session.screenToDocumentPosition(newCursor.row, newCursor.column);\n\n if (isSamePoint(screenCursor, newCursor) && isSamePoint(cursor, selection.lead))\n return;\n screenCursor = newCursor;\n \n editor.$blockScrolling++;\n editor.selection.moveToPosition(cursor);\n editor.renderer.scrollCursorIntoView();\n\n editor.removeSelectionMarkers(rectSel);\n rectSel = selection.rectangularRangeBlock(screenCursor, screenAnchor);\n if (editor.$mouseHandler.$clickSelection && rectSel.length == 1 && rectSel[0].isEmpty())\n rectSel[0] = editor.$mouseHandler.$clickSelection.clone();\n rectSel.forEach(editor.addSelectionMarker, editor);\n editor.updateSelectionMarkers();\n editor.$blockScrolling--;\n };\n editor.$blockScrolling++;\n if (isMultiSelect && !accel) {\n selection.toSingleRange();\n } else if (!isMultiSelect && accel) {\n initialRange = selection.toOrientedRange();\n editor.addSelectionMarker(initialRange);\n }\n \n if (shift)\n screenAnchor = session.documentToScreenPosition(selection.lead); \n else\n selection.moveToPosition(pos);\n editor.$blockScrolling--;\n \n screenCursor = {row: -1, column: -1};\n\n var onMouseSelectionEnd = function(e) {\n clearInterval(timerId);\n editor.removeSelectionMarkers(rectSel);\n if (!rectSel.length)\n rectSel = [selection.toOrientedRange()];\n editor.$blockScrolling++;\n if (initialRange) {\n editor.removeSelectionMarker(initialRange);\n selection.toSingleRange(initialRange);\n }\n for (var i = 0; i < rectSel.length; i++)\n selection.addRange(rectSel[i]);\n editor.inVirtualSelectionMode = false;\n editor.$mouseHandler.$clickSelection = null;\n editor.$blockScrolling--;\n };\n\n var onSelectionInterval = blockSelect;\n\n event.capture(editor.container, onMouseSelection, onMouseSelectionEnd);\n var timerId = setInterval(function() {onSelectionInterval();}, 20);\n\n return e.preventDefault();\n }\n}\n\n\nexports.onMouseDown = onMouseDown;\n\n});\n\nace.define(\"ace/commands/multi_select_commands\",[\"require\",\"exports\",\"module\",\"ace/keyboard/hash_handler\"], function(acequire, exports, module) {\nexports.defaultCommands = [{\n name: \"addCursorAbove\",\n exec: function(editor) { editor.selectMoreLines(-1); },\n bindKey: {win: \"Ctrl-Alt-Up\", mac: \"Ctrl-Alt-Up\"},\n scrollIntoView: \"cursor\",\n readOnly: true\n}, {\n name: \"addCursorBelow\",\n exec: function(editor) { editor.selectMoreLines(1); },\n bindKey: {win: \"Ctrl-Alt-Down\", mac: \"Ctrl-Alt-Down\"},\n scrollIntoView: \"cursor\",\n readOnly: true\n}, {\n name: \"addCursorAboveSkipCurrent\",\n exec: function(editor) { editor.selectMoreLines(-1, true); },\n bindKey: {win: \"Ctrl-Alt-Shift-Up\", mac: \"Ctrl-Alt-Shift-Up\"},\n scrollIntoView: \"cursor\",\n readOnly: true\n}, {\n name: \"addCursorBelowSkipCurrent\",\n exec: function(editor) { editor.selectMoreLines(1, true); },\n bindKey: {win: \"Ctrl-Alt-Shift-Down\", mac: \"Ctrl-Alt-Shift-Down\"},\n scrollIntoView: \"cursor\",\n readOnly: true\n}, {\n name: \"selectMoreBefore\",\n exec: function(editor) { editor.selectMore(-1); },\n bindKey: {win: \"Ctrl-Alt-Left\", mac: \"Ctrl-Alt-Left\"},\n scrollIntoView: \"cursor\",\n readOnly: true\n}, {\n name: \"selectMoreAfter\",\n exec: function(editor) { editor.selectMore(1); },\n bindKey: {win: \"Ctrl-Alt-Right\", mac: \"Ctrl-Alt-Right\"},\n scrollIntoView: \"cursor\",\n readOnly: true\n}, {\n name: \"selectNextBefore\",\n exec: function(editor) { editor.selectMore(-1, true); },\n bindKey: {win: \"Ctrl-Alt-Shift-Left\", mac: \"Ctrl-Alt-Shift-Left\"},\n scrollIntoView: \"cursor\",\n readOnly: true\n}, {\n name: \"selectNextAfter\",\n exec: function(editor) { editor.selectMore(1, true); },\n bindKey: {win: \"Ctrl-Alt-Shift-Right\", mac: \"Ctrl-Alt-Shift-Right\"},\n scrollIntoView: \"cursor\",\n readOnly: true\n}, {\n name: \"splitIntoLines\",\n exec: function(editor) { editor.multiSelect.splitIntoLines(); },\n bindKey: {win: \"Ctrl-Alt-L\", mac: \"Ctrl-Alt-L\"},\n readOnly: true\n}, {\n name: \"alignCursors\",\n exec: function(editor) { editor.alignCursors(); },\n bindKey: {win: \"Ctrl-Alt-A\", mac: \"Ctrl-Alt-A\"},\n scrollIntoView: \"cursor\"\n}, {\n name: \"findAll\",\n exec: function(editor) { editor.findAll(); },\n bindKey: {win: \"Ctrl-Alt-K\", mac: \"Ctrl-Alt-G\"},\n scrollIntoView: \"cursor\",\n readOnly: true\n}];\nexports.multiSelectCommands = [{\n name: \"singleSelection\",\n bindKey: \"esc\",\n exec: function(editor) { editor.exitMultiSelectMode(); },\n scrollIntoView: \"cursor\",\n readOnly: true,\n isAvailable: function(editor) {return editor && editor.inMultiSelectMode}\n}];\n\nvar HashHandler = acequire(\"../keyboard/hash_handler\").HashHandler;\nexports.keyboardHandler = new HashHandler(exports.multiSelectCommands);\n\n});\n\nace.define(\"ace/multi_select\",[\"require\",\"exports\",\"module\",\"ace/range_list\",\"ace/range\",\"ace/selection\",\"ace/mouse/multi_select_handler\",\"ace/lib/event\",\"ace/lib/lang\",\"ace/commands/multi_select_commands\",\"ace/search\",\"ace/edit_session\",\"ace/editor\",\"ace/config\"], function(acequire, exports, module) {\n\nvar RangeList = acequire(\"./range_list\").RangeList;\nvar Range = acequire(\"./range\").Range;\nvar Selection = acequire(\"./selection\").Selection;\nvar onMouseDown = acequire(\"./mouse/multi_select_handler\").onMouseDown;\nvar event = acequire(\"./lib/event\");\nvar lang = acequire(\"./lib/lang\");\nvar commands = acequire(\"./commands/multi_select_commands\");\nexports.commands = commands.defaultCommands.concat(commands.multiSelectCommands);\nvar Search = acequire(\"./search\").Search;\nvar search = new Search();\n\nfunction find(session, needle, dir) {\n search.$options.wrap = true;\n search.$options.needle = needle;\n search.$options.backwards = dir == -1;\n return search.find(session);\n}\nvar EditSession = acequire(\"./edit_session\").EditSession;\n(function() {\n this.getSelectionMarkers = function() {\n return this.$selectionMarkers;\n };\n}).call(EditSession.prototype);\n(function() {\n this.ranges = null;\n this.rangeList = null;\n this.addRange = function(range, $blockChangeEvents) {\n if (!range)\n return;\n\n if (!this.inMultiSelectMode && this.rangeCount === 0) {\n var oldRange = this.toOrientedRange();\n this.rangeList.add(oldRange);\n this.rangeList.add(range);\n if (this.rangeList.ranges.length != 2) {\n this.rangeList.removeAll();\n return $blockChangeEvents || this.fromOrientedRange(range);\n }\n this.rangeList.removeAll();\n this.rangeList.add(oldRange);\n this.$onAddRange(oldRange);\n }\n\n if (!range.cursor)\n range.cursor = range.end;\n\n var removed = this.rangeList.add(range);\n\n this.$onAddRange(range);\n\n if (removed.length)\n this.$onRemoveRange(removed);\n\n if (this.rangeCount > 1 && !this.inMultiSelectMode) {\n this._signal(\"multiSelect\");\n this.inMultiSelectMode = true;\n this.session.$undoSelect = false;\n this.rangeList.attach(this.session);\n }\n\n return $blockChangeEvents || this.fromOrientedRange(range);\n };\n\n this.toSingleRange = function(range) {\n range = range || this.ranges[0];\n var removed = this.rangeList.removeAll();\n if (removed.length)\n this.$onRemoveRange(removed);\n\n range && this.fromOrientedRange(range);\n };\n this.substractPoint = function(pos) {\n var removed = this.rangeList.substractPoint(pos);\n if (removed) {\n this.$onRemoveRange(removed);\n return removed[0];\n }\n };\n this.mergeOverlappingRanges = function() {\n var removed = this.rangeList.merge();\n if (removed.length)\n this.$onRemoveRange(removed);\n else if(this.ranges[0])\n this.fromOrientedRange(this.ranges[0]);\n };\n\n this.$onAddRange = function(range) {\n this.rangeCount = this.rangeList.ranges.length;\n this.ranges.unshift(range);\n this._signal(\"addRange\", {range: range});\n };\n\n this.$onRemoveRange = function(removed) {\n this.rangeCount = this.rangeList.ranges.length;\n if (this.rangeCount == 1 && this.inMultiSelectMode) {\n var lastRange = this.rangeList.ranges.pop();\n removed.push(lastRange);\n this.rangeCount = 0;\n }\n\n for (var i = removed.length; i--; ) {\n var index = this.ranges.indexOf(removed[i]);\n this.ranges.splice(index, 1);\n }\n\n this._signal(\"removeRange\", {ranges: removed});\n\n if (this.rangeCount === 0 && this.inMultiSelectMode) {\n this.inMultiSelectMode = false;\n this._signal(\"singleSelect\");\n this.session.$undoSelect = true;\n this.rangeList.detach(this.session);\n }\n\n lastRange = lastRange || this.ranges[0];\n if (lastRange && !lastRange.isEqual(this.getRange()))\n this.fromOrientedRange(lastRange);\n };\n this.$initRangeList = function() {\n if (this.rangeList)\n return;\n\n this.rangeList = new RangeList();\n this.ranges = [];\n this.rangeCount = 0;\n };\n this.getAllRanges = function() {\n return this.rangeCount ? this.rangeList.ranges.concat() : [this.getRange()];\n };\n\n this.splitIntoLines = function () {\n if (this.rangeCount > 1) {\n var ranges = this.rangeList.ranges;\n var lastRange = ranges[ranges.length - 1];\n var range = Range.fromPoints(ranges[0].start, lastRange.end);\n\n this.toSingleRange();\n this.setSelectionRange(range, lastRange.cursor == lastRange.start);\n } else {\n var range = this.getRange();\n var isBackwards = this.isBackwards();\n var startRow = range.start.row;\n var endRow = range.end.row;\n if (startRow == endRow) {\n if (isBackwards)\n var start = range.end, end = range.start;\n else\n var start = range.start, end = range.end;\n \n this.addRange(Range.fromPoints(end, end));\n this.addRange(Range.fromPoints(start, start));\n return;\n }\n\n var rectSel = [];\n var r = this.getLineRange(startRow, true);\n r.start.column = range.start.column;\n rectSel.push(r);\n\n for (var i = startRow + 1; i < endRow; i++)\n rectSel.push(this.getLineRange(i, true));\n\n r = this.getLineRange(endRow, true);\n r.end.column = range.end.column;\n rectSel.push(r);\n\n rectSel.forEach(this.addRange, this);\n }\n };\n this.toggleBlockSelection = function () {\n if (this.rangeCount > 1) {\n var ranges = this.rangeList.ranges;\n var lastRange = ranges[ranges.length - 1];\n var range = Range.fromPoints(ranges[0].start, lastRange.end);\n\n this.toSingleRange();\n this.setSelectionRange(range, lastRange.cursor == lastRange.start);\n } else {\n var cursor = this.session.documentToScreenPosition(this.selectionLead);\n var anchor = this.session.documentToScreenPosition(this.selectionAnchor);\n\n var rectSel = this.rectangularRangeBlock(cursor, anchor);\n rectSel.forEach(this.addRange, this);\n }\n };\n this.rectangularRangeBlock = function(screenCursor, screenAnchor, includeEmptyLines) {\n var rectSel = [];\n\n var xBackwards = screenCursor.column < screenAnchor.column;\n if (xBackwards) {\n var startColumn = screenCursor.column;\n var endColumn = screenAnchor.column;\n } else {\n var startColumn = screenAnchor.column;\n var endColumn = screenCursor.column;\n }\n\n var yBackwards = screenCursor.row < screenAnchor.row;\n if (yBackwards) {\n var startRow = screenCursor.row;\n var endRow = screenAnchor.row;\n } else {\n var startRow = screenAnchor.row;\n var endRow = screenCursor.row;\n }\n\n if (startColumn < 0)\n startColumn = 0;\n if (startRow < 0)\n startRow = 0;\n\n if (startRow == endRow)\n includeEmptyLines = true;\n\n for (var row = startRow; row <= endRow; row++) {\n var range = Range.fromPoints(\n this.session.screenToDocumentPosition(row, startColumn),\n this.session.screenToDocumentPosition(row, endColumn)\n );\n if (range.isEmpty()) {\n if (docEnd && isSamePoint(range.end, docEnd))\n break;\n var docEnd = range.end;\n }\n range.cursor = xBackwards ? range.start : range.end;\n rectSel.push(range);\n }\n\n if (yBackwards)\n rectSel.reverse();\n\n if (!includeEmptyLines) {\n var end = rectSel.length - 1;\n while (rectSel[end].isEmpty() && end > 0)\n end--;\n if (end > 0) {\n var start = 0;\n while (rectSel[start].isEmpty())\n start++;\n }\n for (var i = end; i >= start; i--) {\n if (rectSel[i].isEmpty())\n rectSel.splice(i, 1);\n }\n }\n\n return rectSel;\n };\n}).call(Selection.prototype);\nvar Editor = acequire(\"./editor\").Editor;\n(function() {\n this.updateSelectionMarkers = function() {\n this.renderer.updateCursor();\n this.renderer.updateBackMarkers();\n };\n this.addSelectionMarker = function(orientedRange) {\n if (!orientedRange.cursor)\n orientedRange.cursor = orientedRange.end;\n\n var style = this.getSelectionStyle();\n orientedRange.marker = this.session.addMarker(orientedRange, \"ace_selection\", style);\n\n this.session.$selectionMarkers.push(orientedRange);\n this.session.selectionMarkerCount = this.session.$selectionMarkers.length;\n return orientedRange;\n };\n this.removeSelectionMarker = function(range) {\n if (!range.marker)\n return;\n this.session.removeMarker(range.marker);\n var index = this.session.$selectionMarkers.indexOf(range);\n if (index != -1)\n this.session.$selectionMarkers.splice(index, 1);\n this.session.selectionMarkerCount = this.session.$selectionMarkers.length;\n };\n\n this.removeSelectionMarkers = function(ranges) {\n var markerList = this.session.$selectionMarkers;\n for (var i = ranges.length; i--; ) {\n var range = ranges[i];\n if (!range.marker)\n continue;\n this.session.removeMarker(range.marker);\n var index = markerList.indexOf(range);\n if (index != -1)\n markerList.splice(index, 1);\n }\n this.session.selectionMarkerCount = markerList.length;\n };\n\n this.$onAddRange = function(e) {\n this.addSelectionMarker(e.range);\n this.renderer.updateCursor();\n this.renderer.updateBackMarkers();\n };\n\n this.$onRemoveRange = function(e) {\n this.removeSelectionMarkers(e.ranges);\n this.renderer.updateCursor();\n this.renderer.updateBackMarkers();\n };\n\n this.$onMultiSelect = function(e) {\n if (this.inMultiSelectMode)\n return;\n this.inMultiSelectMode = true;\n\n this.setStyle(\"ace_multiselect\");\n this.keyBinding.addKeyboardHandler(commands.keyboardHandler);\n this.commands.setDefaultHandler(\"exec\", this.$onMultiSelectExec);\n\n this.renderer.updateCursor();\n this.renderer.updateBackMarkers();\n };\n\n this.$onSingleSelect = function(e) {\n if (this.session.multiSelect.inVirtualMode)\n return;\n this.inMultiSelectMode = false;\n\n this.unsetStyle(\"ace_multiselect\");\n this.keyBinding.removeKeyboardHandler(commands.keyboardHandler);\n\n this.commands.removeDefaultHandler(\"exec\", this.$onMultiSelectExec);\n this.renderer.updateCursor();\n this.renderer.updateBackMarkers();\n this._emit(\"changeSelection\");\n };\n\n this.$onMultiSelectExec = function(e) {\n var command = e.command;\n var editor = e.editor;\n if (!editor.multiSelect)\n return;\n if (!command.multiSelectAction) {\n var result = command.exec(editor, e.args || {});\n editor.multiSelect.addRange(editor.multiSelect.toOrientedRange());\n editor.multiSelect.mergeOverlappingRanges();\n } else if (command.multiSelectAction == \"forEach\") {\n result = editor.forEachSelection(command, e.args);\n } else if (command.multiSelectAction == \"forEachLine\") {\n result = editor.forEachSelection(command, e.args, true);\n } else if (command.multiSelectAction == \"single\") {\n editor.exitMultiSelectMode();\n result = command.exec(editor, e.args || {});\n } else {\n result = command.multiSelectAction(editor, e.args || {});\n }\n return result;\n }; \n this.forEachSelection = function(cmd, args, options) {\n if (this.inVirtualSelectionMode)\n return;\n var keepOrder = options && options.keepOrder;\n var $byLines = options == true || options && options.$byLines\n var session = this.session;\n var selection = this.selection;\n var rangeList = selection.rangeList;\n var ranges = (keepOrder ? selection : rangeList).ranges;\n var result;\n \n if (!ranges.length)\n return cmd.exec ? cmd.exec(this, args || {}) : cmd(this, args || {});\n \n var reg = selection._eventRegistry;\n selection._eventRegistry = {};\n\n var tmpSel = new Selection(session);\n this.inVirtualSelectionMode = true;\n for (var i = ranges.length; i--;) {\n if ($byLines) {\n while (i > 0 && ranges[i].start.row == ranges[i - 1].end.row)\n i--;\n }\n tmpSel.fromOrientedRange(ranges[i]);\n tmpSel.index = i;\n this.selection = session.selection = tmpSel;\n var cmdResult = cmd.exec ? cmd.exec(this, args || {}) : cmd(this, args || {});\n if (!result && cmdResult !== undefined)\n result = cmdResult;\n tmpSel.toOrientedRange(ranges[i]);\n }\n tmpSel.detach();\n\n this.selection = session.selection = selection;\n this.inVirtualSelectionMode = false;\n selection._eventRegistry = reg;\n selection.mergeOverlappingRanges();\n \n var anim = this.renderer.$scrollAnimation;\n this.onCursorChange();\n this.onSelectionChange();\n if (anim && anim.from == anim.to)\n this.renderer.animateScrolling(anim.from);\n \n return result;\n };\n this.exitMultiSelectMode = function() {\n if (!this.inMultiSelectMode || this.inVirtualSelectionMode)\n return;\n this.multiSelect.toSingleRange();\n };\n\n this.getSelectedText = function() {\n var text = \"\";\n if (this.inMultiSelectMode && !this.inVirtualSelectionMode) {\n var ranges = this.multiSelect.rangeList.ranges;\n var buf = [];\n for (var i = 0; i < ranges.length; i++) {\n buf.push(this.session.getTextRange(ranges[i]));\n }\n var nl = this.session.getDocument().getNewLineCharacter();\n text = buf.join(nl);\n if (text.length == (buf.length - 1) * nl.length)\n text = \"\";\n } else if (!this.selection.isEmpty()) {\n text = this.session.getTextRange(this.getSelectionRange());\n }\n return text;\n };\n \n this.$checkMultiselectChange = function(e, anchor) {\n if (this.inMultiSelectMode && !this.inVirtualSelectionMode) {\n var range = this.multiSelect.ranges[0];\n if (this.multiSelect.isEmpty() && anchor == this.multiSelect.anchor)\n return;\n var pos = anchor == this.multiSelect.anchor\n ? range.cursor == range.start ? range.end : range.start\n : range.cursor;\n if (pos.row != anchor.row \n || this.session.$clipPositionToDocument(pos.row, pos.column).column != anchor.column)\n this.multiSelect.toSingleRange(this.multiSelect.toOrientedRange());\n }\n };\n this.findAll = function(needle, options, additive) {\n options = options || {};\n options.needle = needle || options.needle;\n if (options.needle == undefined) {\n var range = this.selection.isEmpty()\n ? this.selection.getWordRange()\n : this.selection.getRange();\n options.needle = this.session.getTextRange(range);\n } \n this.$search.set(options);\n \n var ranges = this.$search.findAll(this.session);\n if (!ranges.length)\n return 0;\n\n this.$blockScrolling += 1;\n var selection = this.multiSelect;\n\n if (!additive)\n selection.toSingleRange(ranges[0]);\n\n for (var i = ranges.length; i--; )\n selection.addRange(ranges[i], true);\n if (range && selection.rangeList.rangeAtPoint(range.start))\n selection.addRange(range, true);\n \n this.$blockScrolling -= 1;\n\n return ranges.length;\n };\n this.selectMoreLines = function(dir, skip) {\n var range = this.selection.toOrientedRange();\n var isBackwards = range.cursor == range.end;\n\n var screenLead = this.session.documentToScreenPosition(range.cursor);\n if (this.selection.$desiredColumn)\n screenLead.column = this.selection.$desiredColumn;\n\n var lead = this.session.screenToDocumentPosition(screenLead.row + dir, screenLead.column);\n\n if (!range.isEmpty()) {\n var screenAnchor = this.session.documentToScreenPosition(isBackwards ? range.end : range.start);\n var anchor = this.session.screenToDocumentPosition(screenAnchor.row + dir, screenAnchor.column);\n } else {\n var anchor = lead;\n }\n\n if (isBackwards) {\n var newRange = Range.fromPoints(lead, anchor);\n newRange.cursor = newRange.start;\n } else {\n var newRange = Range.fromPoints(anchor, lead);\n newRange.cursor = newRange.end;\n }\n\n newRange.desiredColumn = screenLead.column;\n if (!this.selection.inMultiSelectMode) {\n this.selection.addRange(range);\n } else {\n if (skip)\n var toRemove = range.cursor;\n }\n\n this.selection.addRange(newRange);\n if (toRemove)\n this.selection.substractPoint(toRemove);\n };\n this.transposeSelections = function(dir) {\n var session = this.session;\n var sel = session.multiSelect;\n var all = sel.ranges;\n\n for (var i = all.length; i--; ) {\n var range = all[i];\n if (range.isEmpty()) {\n var tmp = session.getWordRange(range.start.row, range.start.column);\n range.start.row = tmp.start.row;\n range.start.column = tmp.start.column;\n range.end.row = tmp.end.row;\n range.end.column = tmp.end.column;\n }\n }\n sel.mergeOverlappingRanges();\n\n var words = [];\n for (var i = all.length; i--; ) {\n var range = all[i];\n words.unshift(session.getTextRange(range));\n }\n\n if (dir < 0)\n words.unshift(words.pop());\n else\n words.push(words.shift());\n\n for (var i = all.length; i--; ) {\n var range = all[i];\n var tmp = range.clone();\n session.replace(range, words[i]);\n range.start.row = tmp.start.row;\n range.start.column = tmp.start.column;\n }\n };\n this.selectMore = function(dir, skip, stopAtFirst) {\n var session = this.session;\n var sel = session.multiSelect;\n\n var range = sel.toOrientedRange();\n if (range.isEmpty()) {\n range = session.getWordRange(range.start.row, range.start.column);\n range.cursor = dir == -1 ? range.start : range.end;\n this.multiSelect.addRange(range);\n if (stopAtFirst)\n return;\n }\n var needle = session.getTextRange(range);\n\n var newRange = find(session, needle, dir);\n if (newRange) {\n newRange.cursor = dir == -1 ? newRange.start : newRange.end;\n this.$blockScrolling += 1;\n this.session.unfold(newRange);\n this.multiSelect.addRange(newRange);\n this.$blockScrolling -= 1;\n this.renderer.scrollCursorIntoView(null, 0.5);\n }\n if (skip)\n this.multiSelect.substractPoint(range.cursor);\n };\n this.alignCursors = function() {\n var session = this.session;\n var sel = session.multiSelect;\n var ranges = sel.ranges;\n var row = -1;\n var sameRowRanges = ranges.filter(function(r) {\n if (r.cursor.row == row)\n return true;\n row = r.cursor.row;\n });\n \n if (!ranges.length || sameRowRanges.length == ranges.length - 1) {\n var range = this.selection.getRange();\n var fr = range.start.row, lr = range.end.row;\n var guessRange = fr == lr;\n if (guessRange) {\n var max = this.session.getLength();\n var line;\n do {\n line = this.session.getLine(lr);\n } while (/[=:]/.test(line) && ++lr < max);\n do {\n line = this.session.getLine(fr);\n } while (/[=:]/.test(line) && --fr > 0);\n \n if (fr < 0) fr = 0;\n if (lr >= max) lr = max - 1;\n }\n var lines = this.session.removeFullLines(fr, lr);\n lines = this.$reAlignText(lines, guessRange);\n this.session.insert({row: fr, column: 0}, lines.join(\"\\n\") + \"\\n\");\n if (!guessRange) {\n range.start.column = 0;\n range.end.column = lines[lines.length - 1].length;\n }\n this.selection.setRange(range);\n } else {\n sameRowRanges.forEach(function(r) {\n sel.substractPoint(r.cursor);\n });\n\n var maxCol = 0;\n var minSpace = Infinity;\n var spaceOffsets = ranges.map(function(r) {\n var p = r.cursor;\n var line = session.getLine(p.row);\n var spaceOffset = line.substr(p.column).search(/\\S/g);\n if (spaceOffset == -1)\n spaceOffset = 0;\n\n if (p.column > maxCol)\n maxCol = p.column;\n if (spaceOffset < minSpace)\n minSpace = spaceOffset;\n return spaceOffset;\n });\n ranges.forEach(function(r, i) {\n var p = r.cursor;\n var l = maxCol - p.column;\n var d = spaceOffsets[i] - minSpace;\n if (l > d)\n session.insert(p, lang.stringRepeat(\" \", l - d));\n else\n session.remove(new Range(p.row, p.column, p.row, p.column - l + d));\n\n r.start.column = r.end.column = maxCol;\n r.start.row = r.end.row = p.row;\n r.cursor = r.end;\n });\n sel.fromOrientedRange(ranges[0]);\n this.renderer.updateCursor();\n this.renderer.updateBackMarkers();\n }\n };\n\n this.$reAlignText = function(lines, forceLeft) {\n var isLeftAligned = true, isRightAligned = true;\n var startW, textW, endW;\n\n return lines.map(function(line) {\n var m = line.match(/(\\s*)(.*?)(\\s*)([=:].*)/);\n if (!m)\n return [line];\n\n if (startW == null) {\n startW = m[1].length;\n textW = m[2].length;\n endW = m[3].length;\n return m;\n }\n\n if (startW + textW + endW != m[1].length + m[2].length + m[3].length)\n isRightAligned = false;\n if (startW != m[1].length)\n isLeftAligned = false;\n\n if (startW > m[1].length)\n startW = m[1].length;\n if (textW < m[2].length)\n textW = m[2].length;\n if (endW > m[3].length)\n endW = m[3].length;\n\n return m;\n }).map(forceLeft ? alignLeft :\n isLeftAligned ? isRightAligned ? alignRight : alignLeft : unAlign);\n\n function spaces(n) {\n return lang.stringRepeat(\" \", n);\n }\n\n function alignLeft(m) {\n return !m[2] ? m[0] : spaces(startW) + m[2]\n + spaces(textW - m[2].length + endW)\n + m[4].replace(/^([=:])\\s+/, \"$1 \");\n }\n function alignRight(m) {\n return !m[2] ? m[0] : spaces(startW + textW - m[2].length) + m[2]\n + spaces(endW, \" \")\n + m[4].replace(/^([=:])\\s+/, \"$1 \");\n }\n function unAlign(m) {\n return !m[2] ? m[0] : spaces(startW) + m[2]\n + spaces(endW)\n + m[4].replace(/^([=:])\\s+/, \"$1 \");\n }\n };\n}).call(Editor.prototype);\n\n\nfunction isSamePoint(p1, p2) {\n return p1.row == p2.row && p1.column == p2.column;\n}\nexports.onSessionChange = function(e) {\n var session = e.session;\n if (session && !session.multiSelect) {\n session.$selectionMarkers = [];\n session.selection.$initRangeList();\n session.multiSelect = session.selection;\n }\n this.multiSelect = session && session.multiSelect;\n\n var oldSession = e.oldSession;\n if (oldSession) {\n oldSession.multiSelect.off(\"addRange\", this.$onAddRange);\n oldSession.multiSelect.off(\"removeRange\", this.$onRemoveRange);\n oldSession.multiSelect.off(\"multiSelect\", this.$onMultiSelect);\n oldSession.multiSelect.off(\"singleSelect\", this.$onSingleSelect);\n oldSession.multiSelect.lead.off(\"change\", this.$checkMultiselectChange);\n oldSession.multiSelect.anchor.off(\"change\", this.$checkMultiselectChange);\n }\n\n if (session) {\n session.multiSelect.on(\"addRange\", this.$onAddRange);\n session.multiSelect.on(\"removeRange\", this.$onRemoveRange);\n session.multiSelect.on(\"multiSelect\", this.$onMultiSelect);\n session.multiSelect.on(\"singleSelect\", this.$onSingleSelect);\n session.multiSelect.lead.on(\"change\", this.$checkMultiselectChange);\n session.multiSelect.anchor.on(\"change\", this.$checkMultiselectChange);\n }\n\n if (session && this.inMultiSelectMode != session.selection.inMultiSelectMode) {\n if (session.selection.inMultiSelectMode)\n this.$onMultiSelect();\n else\n this.$onSingleSelect();\n }\n};\nfunction MultiSelect(editor) {\n if (editor.$multiselectOnSessionChange)\n return;\n editor.$onAddRange = editor.$onAddRange.bind(editor);\n editor.$onRemoveRange = editor.$onRemoveRange.bind(editor);\n editor.$onMultiSelect = editor.$onMultiSelect.bind(editor);\n editor.$onSingleSelect = editor.$onSingleSelect.bind(editor);\n editor.$multiselectOnSessionChange = exports.onSessionChange.bind(editor);\n editor.$checkMultiselectChange = editor.$checkMultiselectChange.bind(editor);\n\n editor.$multiselectOnSessionChange(editor);\n editor.on(\"changeSession\", editor.$multiselectOnSessionChange);\n\n editor.on(\"mousedown\", onMouseDown);\n editor.commands.addCommands(commands.defaultCommands);\n\n addAltCursorListeners(editor);\n}\n\nfunction addAltCursorListeners(editor){\n var el = editor.textInput.getElement();\n var altCursor = false;\n event.addListener(el, \"keydown\", function(e) {\n var altDown = e.keyCode == 18 && !(e.ctrlKey || e.shiftKey || e.metaKey);\n if (editor.$blockSelectEnabled && altDown) {\n if (!altCursor) {\n editor.renderer.setMouseCursor(\"crosshair\");\n altCursor = true;\n }\n } else if (altCursor) {\n reset();\n }\n });\n\n event.addListener(el, \"keyup\", reset);\n event.addListener(el, \"blur\", reset);\n function reset(e) {\n if (altCursor) {\n editor.renderer.setMouseCursor(\"\");\n altCursor = false;\n }\n }\n}\n\nexports.MultiSelect = MultiSelect;\n\n\nacequire(\"./config\").defineOptions(Editor.prototype, \"editor\", {\n enableMultiselect: {\n set: function(val) {\n MultiSelect(this);\n if (val) {\n this.on(\"changeSession\", this.$multiselectOnSessionChange);\n this.on(\"mousedown\", onMouseDown);\n } else {\n this.off(\"changeSession\", this.$multiselectOnSessionChange);\n this.off(\"mousedown\", onMouseDown);\n }\n },\n value: true\n },\n enableBlockSelect: {\n set: function(val) {\n this.$blockSelectEnabled = val;\n },\n value: true\n }\n});\n\n\n\n});\n\nace.define(\"ace/mode/folding/fold_mode\",[\"require\",\"exports\",\"module\",\"ace/range\"], function(acequire, exports, module) {\n\"use strict\";\n\nvar Range = acequire(\"../../range\").Range;\n\nvar FoldMode = exports.FoldMode = function() {};\n\n(function() {\n\n this.foldingStartMarker = null;\n this.foldingStopMarker = null;\n this.getFoldWidget = function(session, foldStyle, row) {\n var line = session.getLine(row);\n if (this.foldingStartMarker.test(line))\n return \"start\";\n if (foldStyle == \"markbeginend\"\n && this.foldingStopMarker\n && this.foldingStopMarker.test(line))\n return \"end\";\n return \"\";\n };\n\n this.getFoldWidgetRange = function(session, foldStyle, row) {\n return null;\n };\n\n this.indentationBlock = function(session, row, column) {\n var re = /\\S/;\n var line = session.getLine(row);\n var startLevel = line.search(re);\n if (startLevel == -1)\n return;\n\n var startColumn = column || line.length;\n var maxRow = session.getLength();\n var startRow = row;\n var endRow = row;\n\n while (++row < maxRow) {\n var level = session.getLine(row).search(re);\n\n if (level == -1)\n continue;\n\n if (level <= startLevel)\n break;\n\n endRow = row;\n }\n\n if (endRow > startRow) {\n var endColumn = session.getLine(endRow).length;\n return new Range(startRow, startColumn, endRow, endColumn);\n }\n };\n\n this.openingBracketBlock = function(session, bracket, row, column, typeRe) {\n var start = {row: row, column: column + 1};\n var end = session.$findClosingBracket(bracket, start, typeRe);\n if (!end)\n return;\n\n var fw = session.foldWidgets[end.row];\n if (fw == null)\n fw = session.getFoldWidget(end.row);\n\n if (fw == \"start\" && end.row > start.row) {\n end.row --;\n end.column = session.getLine(end.row).length;\n }\n return Range.fromPoints(start, end);\n };\n\n this.closingBracketBlock = function(session, bracket, row, column, typeRe) {\n var end = {row: row, column: column};\n var start = session.$findOpeningBracket(bracket, end);\n\n if (!start)\n return;\n\n start.column++;\n end.column--;\n\n return Range.fromPoints(start, end);\n };\n}).call(FoldMode.prototype);\n\n});\n\nace.define(\"ace/theme/textmate\",[\"require\",\"exports\",\"module\",\"ace/lib/dom\"], function(acequire, exports, module) {\n\"use strict\";\n\nexports.isDark = false;\nexports.cssClass = \"ace-tm\";\nexports.cssText = \".ace-tm .ace_gutter {\\\nbackground: #f0f0f0;\\\ncolor: #333;\\\n}\\\n.ace-tm .ace_print-margin {\\\nwidth: 1px;\\\nbackground: #e8e8e8;\\\n}\\\n.ace-tm .ace_fold {\\\nbackground-color: #6B72E6;\\\n}\\\n.ace-tm {\\\nbackground-color: #FFFFFF;\\\ncolor: black;\\\n}\\\n.ace-tm .ace_cursor {\\\ncolor: black;\\\n}\\\n.ace-tm .ace_invisible {\\\ncolor: rgb(191, 191, 191);\\\n}\\\n.ace-tm .ace_storage,\\\n.ace-tm .ace_keyword {\\\ncolor: blue;\\\n}\\\n.ace-tm .ace_constant {\\\ncolor: rgb(197, 6, 11);\\\n}\\\n.ace-tm .ace_constant.ace_buildin {\\\ncolor: rgb(88, 72, 246);\\\n}\\\n.ace-tm .ace_constant.ace_language {\\\ncolor: rgb(88, 92, 246);\\\n}\\\n.ace-tm .ace_constant.ace_library {\\\ncolor: rgb(6, 150, 14);\\\n}\\\n.ace-tm .ace_invalid {\\\nbackground-color: rgba(255, 0, 0, 0.1);\\\ncolor: red;\\\n}\\\n.ace-tm .ace_support.ace_function {\\\ncolor: rgb(60, 76, 114);\\\n}\\\n.ace-tm .ace_support.ace_constant {\\\ncolor: rgb(6, 150, 14);\\\n}\\\n.ace-tm .ace_support.ace_type,\\\n.ace-tm .ace_support.ace_class {\\\ncolor: rgb(109, 121, 222);\\\n}\\\n.ace-tm .ace_keyword.ace_operator {\\\ncolor: rgb(104, 118, 135);\\\n}\\\n.ace-tm .ace_string {\\\ncolor: rgb(3, 106, 7);\\\n}\\\n.ace-tm .ace_comment {\\\ncolor: rgb(76, 136, 107);\\\n}\\\n.ace-tm .ace_comment.ace_doc {\\\ncolor: rgb(0, 102, 255);\\\n}\\\n.ace-tm .ace_comment.ace_doc.ace_tag {\\\ncolor: rgb(128, 159, 191);\\\n}\\\n.ace-tm .ace_constant.ace_numeric {\\\ncolor: rgb(0, 0, 205);\\\n}\\\n.ace-tm .ace_variable {\\\ncolor: rgb(49, 132, 149);\\\n}\\\n.ace-tm .ace_xml-pe {\\\ncolor: rgb(104, 104, 91);\\\n}\\\n.ace-tm .ace_entity.ace_name.ace_function {\\\ncolor: #0000A2;\\\n}\\\n.ace-tm .ace_heading {\\\ncolor: rgb(12, 7, 255);\\\n}\\\n.ace-tm .ace_list {\\\ncolor:rgb(185, 6, 144);\\\n}\\\n.ace-tm .ace_meta.ace_tag {\\\ncolor:rgb(0, 22, 142);\\\n}\\\n.ace-tm .ace_string.ace_regex {\\\ncolor: rgb(255, 0, 0)\\\n}\\\n.ace-tm .ace_marker-layer .ace_selection {\\\nbackground: rgb(181, 213, 255);\\\n}\\\n.ace-tm.ace_multiselect .ace_selection.ace_start {\\\nbox-shadow: 0 0 3px 0px white;\\\n}\\\n.ace-tm .ace_marker-layer .ace_step {\\\nbackground: rgb(252, 255, 0);\\\n}\\\n.ace-tm .ace_marker-layer .ace_stack {\\\nbackground: rgb(164, 229, 101);\\\n}\\\n.ace-tm .ace_marker-layer .ace_bracket {\\\nmargin: -1px 0 0 -1px;\\\nborder: 1px solid rgb(192, 192, 192);\\\n}\\\n.ace-tm .ace_marker-layer .ace_active-line {\\\nbackground: rgba(0, 0, 0, 0.07);\\\n}\\\n.ace-tm .ace_gutter-active-line {\\\nbackground-color : #dcdcdc;\\\n}\\\n.ace-tm .ace_marker-layer .ace_selected-word {\\\nbackground: rgb(250, 250, 255);\\\nborder: 1px solid rgb(200, 200, 250);\\\n}\\\n.ace-tm .ace_indent-guide {\\\nbackground: url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==\\\") right repeat-y;\\\n}\\\n\";\n\nvar dom = acequire(\"../lib/dom\");\ndom.importCssString(exports.cssText, exports.cssClass);\n});\n\nace.define(\"ace/line_widgets\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/lib/dom\",\"ace/range\"], function(acequire, exports, module) {\n\"use strict\";\n\nvar oop = acequire(\"./lib/oop\");\nvar dom = acequire(\"./lib/dom\");\nvar Range = acequire(\"./range\").Range;\n\n\nfunction LineWidgets(session) {\n this.session = session;\n this.session.widgetManager = this;\n this.session.getRowLength = this.getRowLength;\n this.session.$getWidgetScreenLength = this.$getWidgetScreenLength;\n this.updateOnChange = this.updateOnChange.bind(this);\n this.renderWidgets = this.renderWidgets.bind(this);\n this.measureWidgets = this.measureWidgets.bind(this);\n this.session._changedWidgets = [];\n this.$onChangeEditor = this.$onChangeEditor.bind(this);\n \n this.session.on(\"change\", this.updateOnChange);\n this.session.on(\"changeFold\", this.updateOnFold);\n this.session.on(\"changeEditor\", this.$onChangeEditor);\n}\n\n(function() {\n this.getRowLength = function(row) {\n var h;\n if (this.lineWidgets)\n h = this.lineWidgets[row] && this.lineWidgets[row].rowCount || 0;\n else \n h = 0;\n if (!this.$useWrapMode || !this.$wrapData[row]) {\n return 1 + h;\n } else {\n return this.$wrapData[row].length + 1 + h;\n }\n };\n\n this.$getWidgetScreenLength = function() {\n var screenRows = 0;\n this.lineWidgets.forEach(function(w){\n if (w && w.rowCount && !w.hidden)\n screenRows += w.rowCount;\n });\n return screenRows;\n }; \n \n this.$onChangeEditor = function(e) {\n this.attach(e.editor);\n };\n \n this.attach = function(editor) {\n if (editor && editor.widgetManager && editor.widgetManager != this)\n editor.widgetManager.detach();\n\n if (this.editor == editor)\n return;\n\n this.detach();\n this.editor = editor;\n \n if (editor) {\n editor.widgetManager = this;\n editor.renderer.on(\"beforeRender\", this.measureWidgets);\n editor.renderer.on(\"afterRender\", this.renderWidgets);\n }\n };\n this.detach = function(e) {\n var editor = this.editor;\n if (!editor)\n return;\n \n this.editor = null;\n editor.widgetManager = null;\n \n editor.renderer.off(\"beforeRender\", this.measureWidgets);\n editor.renderer.off(\"afterRender\", this.renderWidgets);\n var lineWidgets = this.session.lineWidgets;\n lineWidgets && lineWidgets.forEach(function(w) {\n if (w && w.el && w.el.parentNode) {\n w._inDocument = false;\n w.el.parentNode.removeChild(w.el);\n }\n });\n };\n\n this.updateOnFold = function(e, session) {\n var lineWidgets = session.lineWidgets;\n if (!lineWidgets || !e.action)\n return;\n var fold = e.data;\n var start = fold.start.row;\n var end = fold.end.row;\n var hide = e.action == \"add\";\n for (var i = start + 1; i < end; i++) {\n if (lineWidgets[i])\n lineWidgets[i].hidden = hide;\n }\n if (lineWidgets[end]) {\n if (hide) {\n if (!lineWidgets[start])\n lineWidgets[start] = lineWidgets[end];\n else\n lineWidgets[end].hidden = hide;\n } else {\n if (lineWidgets[start] == lineWidgets[end])\n lineWidgets[start] = undefined;\n lineWidgets[end].hidden = hide;\n }\n }\n };\n \n this.updateOnChange = function(delta) {\n var lineWidgets = this.session.lineWidgets;\n if (!lineWidgets) return;\n \n var startRow = delta.start.row;\n var len = delta.end.row - startRow;\n\n if (len === 0) {\n } else if (delta.action == 'remove') {\n var removed = lineWidgets.splice(startRow + 1, len);\n removed.forEach(function(w) {\n w && this.removeLineWidget(w);\n }, this);\n this.$updateRows();\n } else {\n var args = new Array(len);\n args.unshift(startRow, 0);\n lineWidgets.splice.apply(lineWidgets, args);\n this.$updateRows();\n }\n };\n \n this.$updateRows = function() {\n var lineWidgets = this.session.lineWidgets;\n if (!lineWidgets) return;\n var noWidgets = true;\n lineWidgets.forEach(function(w, i) {\n if (w) {\n noWidgets = false;\n w.row = i;\n while (w.$oldWidget) {\n w.$oldWidget.row = i;\n w = w.$oldWidget;\n }\n }\n });\n if (noWidgets)\n this.session.lineWidgets = null;\n };\n\n this.addLineWidget = function(w) {\n if (!this.session.lineWidgets)\n this.session.lineWidgets = new Array(this.session.getLength());\n \n var old = this.session.lineWidgets[w.row];\n if (old) {\n w.$oldWidget = old;\n if (old.el && old.el.parentNode) {\n old.el.parentNode.removeChild(old.el);\n old._inDocument = false;\n }\n }\n \n this.session.lineWidgets[w.row] = w;\n \n w.session = this.session;\n \n var renderer = this.editor.renderer;\n if (w.html && !w.el) {\n w.el = dom.createElement(\"div\");\n w.el.innerHTML = w.html;\n }\n if (w.el) {\n dom.addCssClass(w.el, \"ace_lineWidgetContainer\");\n w.el.style.position = \"absolute\";\n w.el.style.zIndex = 5;\n renderer.container.appendChild(w.el);\n w._inDocument = true;\n }\n \n if (!w.coverGutter) {\n w.el.style.zIndex = 3;\n }\n if (!w.pixelHeight) {\n w.pixelHeight = w.el.offsetHeight;\n }\n if (w.rowCount == null) {\n w.rowCount = w.pixelHeight / renderer.layerConfig.lineHeight;\n }\n \n var fold = this.session.getFoldAt(w.row, 0);\n w.$fold = fold;\n if (fold) {\n var lineWidgets = this.session.lineWidgets;\n if (w.row == fold.end.row && !lineWidgets[fold.start.row])\n lineWidgets[fold.start.row] = w;\n else\n w.hidden = true;\n }\n \n this.session._emit(\"changeFold\", {data:{start:{row: w.row}}});\n \n this.$updateRows();\n this.renderWidgets(null, renderer);\n this.onWidgetChanged(w);\n return w;\n };\n \n this.removeLineWidget = function(w) {\n w._inDocument = false;\n w.session = null;\n if (w.el && w.el.parentNode)\n w.el.parentNode.removeChild(w.el);\n if (w.editor && w.editor.destroy) try {\n w.editor.destroy();\n } catch(e){}\n if (this.session.lineWidgets) {\n var w1 = this.session.lineWidgets[w.row]\n if (w1 == w) {\n this.session.lineWidgets[w.row] = w.$oldWidget;\n if (w.$oldWidget)\n this.onWidgetChanged(w.$oldWidget);\n } else {\n while (w1) {\n if (w1.$oldWidget == w) {\n w1.$oldWidget = w.$oldWidget;\n break;\n }\n w1 = w1.$oldWidget;\n }\n }\n }\n this.session._emit(\"changeFold\", {data:{start:{row: w.row}}});\n this.$updateRows();\n };\n \n this.getWidgetsAtRow = function(row) {\n var lineWidgets = this.session.lineWidgets;\n var w = lineWidgets && lineWidgets[row];\n var list = [];\n while (w) {\n list.push(w);\n w = w.$oldWidget;\n }\n return list;\n };\n \n this.onWidgetChanged = function(w) {\n this.session._changedWidgets.push(w);\n this.editor && this.editor.renderer.updateFull();\n };\n \n this.measureWidgets = function(e, renderer) {\n var changedWidgets = this.session._changedWidgets;\n var config = renderer.layerConfig;\n \n if (!changedWidgets || !changedWidgets.length) return;\n var min = Infinity;\n for (var i = 0; i < changedWidgets.length; i++) {\n var w = changedWidgets[i];\n if (!w || !w.el) continue;\n if (w.session != this.session) continue;\n if (!w._inDocument) {\n if (this.session.lineWidgets[w.row] != w)\n continue;\n w._inDocument = true;\n renderer.container.appendChild(w.el);\n }\n \n w.h = w.el.offsetHeight;\n \n if (!w.fixedWidth) {\n w.w = w.el.offsetWidth;\n w.screenWidth = Math.ceil(w.w / config.characterWidth);\n }\n \n var rowCount = w.h / config.lineHeight;\n if (w.coverLine) {\n rowCount -= this.session.getRowLineCount(w.row);\n if (rowCount < 0)\n rowCount = 0;\n }\n if (w.rowCount != rowCount) {\n w.rowCount = rowCount;\n if (w.row < min)\n min = w.row;\n }\n }\n if (min != Infinity) {\n this.session._emit(\"changeFold\", {data:{start:{row: min}}});\n this.session.lineWidgetWidth = null;\n }\n this.session._changedWidgets = [];\n };\n \n this.renderWidgets = function(e, renderer) {\n var config = renderer.layerConfig;\n var lineWidgets = this.session.lineWidgets;\n if (!lineWidgets)\n return;\n var first = Math.min(this.firstRow, config.firstRow);\n var last = Math.max(this.lastRow, config.lastRow, lineWidgets.length);\n \n while (first > 0 && !lineWidgets[first])\n first--;\n \n this.firstRow = config.firstRow;\n this.lastRow = config.lastRow;\n\n renderer.$cursorLayer.config = config;\n for (var i = first; i <= last; i++) {\n var w = lineWidgets[i];\n if (!w || !w.el) continue;\n if (w.hidden) {\n w.el.style.top = -100 - (w.pixelHeight || 0) + \"px\";\n continue;\n }\n if (!w._inDocument) {\n w._inDocument = true;\n renderer.container.appendChild(w.el);\n }\n var top = renderer.$cursorLayer.getPixelPosition({row: i, column:0}, true).top;\n if (!w.coverLine)\n top += config.lineHeight * this.session.getRowLineCount(w.row);\n w.el.style.top = top - config.offset + \"px\";\n \n var left = w.coverGutter ? 0 : renderer.gutterWidth;\n if (!w.fixedWidth)\n left -= renderer.scrollLeft;\n w.el.style.left = left + \"px\";\n \n if (w.fullWidth && w.screenWidth) {\n w.el.style.minWidth = config.width + 2 * config.padding + \"px\";\n }\n \n if (w.fixedWidth) {\n w.el.style.right = renderer.scrollBar.getWidth() + \"px\";\n } else {\n w.el.style.right = \"\";\n }\n }\n };\n \n}).call(LineWidgets.prototype);\n\n\nexports.LineWidgets = LineWidgets;\n\n});\n\nace.define(\"ace/ext/error_marker\",[\"require\",\"exports\",\"module\",\"ace/line_widgets\",\"ace/lib/dom\",\"ace/range\"], function(acequire, exports, module) {\n\"use strict\";\nvar LineWidgets = acequire(\"../line_widgets\").LineWidgets;\nvar dom = acequire(\"../lib/dom\");\nvar Range = acequire(\"../range\").Range;\n\nfunction binarySearch(array, needle, comparator) {\n var first = 0;\n var last = array.length - 1;\n\n while (first <= last) {\n var mid = (first + last) >> 1;\n var c = comparator(needle, array[mid]);\n if (c > 0)\n first = mid + 1;\n else if (c < 0)\n last = mid - 1;\n else\n return mid;\n }\n return -(first + 1);\n}\n\nfunction findAnnotations(session, row, dir) {\n var annotations = session.getAnnotations().sort(Range.comparePoints);\n if (!annotations.length)\n return;\n \n var i = binarySearch(annotations, {row: row, column: -1}, Range.comparePoints);\n if (i < 0)\n i = -i - 1;\n \n if (i >= annotations.length)\n i = dir > 0 ? 0 : annotations.length - 1;\n else if (i === 0 && dir < 0)\n i = annotations.length - 1;\n \n var annotation = annotations[i];\n if (!annotation || !dir)\n return;\n\n if (annotation.row === row) {\n do {\n annotation = annotations[i += dir];\n } while (annotation && annotation.row === row);\n if (!annotation)\n return annotations.slice();\n }\n \n \n var matched = [];\n row = annotation.row;\n do {\n matched[dir < 0 ? \"unshift\" : \"push\"](annotation);\n annotation = annotations[i += dir];\n } while (annotation && annotation.row == row);\n return matched.length && matched;\n}\n\nexports.showErrorMarker = function(editor, dir) {\n var session = editor.session;\n if (!session.widgetManager) {\n session.widgetManager = new LineWidgets(session);\n session.widgetManager.attach(editor);\n }\n \n var pos = editor.getCursorPosition();\n var row = pos.row;\n var oldWidget = session.widgetManager.getWidgetsAtRow(row).filter(function(w) {\n return w.type == \"errorMarker\";\n })[0];\n if (oldWidget) {\n oldWidget.destroy();\n } else {\n row -= dir;\n }\n var annotations = findAnnotations(session, row, dir);\n var gutterAnno;\n if (annotations) {\n var annotation = annotations[0];\n pos.column = (annotation.pos && typeof annotation.column != \"number\"\n ? annotation.pos.sc\n : annotation.column) || 0;\n pos.row = annotation.row;\n gutterAnno = editor.renderer.$gutterLayer.$annotations[pos.row];\n } else if (oldWidget) {\n return;\n } else {\n gutterAnno = {\n text: [\"Looks good!\"],\n className: \"ace_ok\"\n };\n }\n editor.session.unfold(pos.row);\n editor.selection.moveToPosition(pos);\n \n var w = {\n row: pos.row, \n fixedWidth: true,\n coverGutter: true,\n el: dom.createElement(\"div\"),\n type: \"errorMarker\"\n };\n var el = w.el.appendChild(dom.createElement(\"div\"));\n var arrow = w.el.appendChild(dom.createElement(\"div\"));\n arrow.className = \"error_widget_arrow \" + gutterAnno.className;\n \n var left = editor.renderer.$cursorLayer\n .getPixelPosition(pos).left;\n arrow.style.left = left + editor.renderer.gutterWidth - 5 + \"px\";\n \n w.el.className = \"error_widget_wrapper\";\n el.className = \"error_widget \" + gutterAnno.className;\n el.innerHTML = gutterAnno.text.join(\"<br>\");\n \n el.appendChild(dom.createElement(\"div\"));\n \n var kb = function(_, hashId, keyString) {\n if (hashId === 0 && (keyString === \"esc\" || keyString === \"return\")) {\n w.destroy();\n return {command: \"null\"};\n }\n };\n \n w.destroy = function() {\n if (editor.$mouseHandler.isMousePressed)\n return;\n editor.keyBinding.removeKeyboardHandler(kb);\n session.widgetManager.removeLineWidget(w);\n editor.off(\"changeSelection\", w.destroy);\n editor.off(\"changeSession\", w.destroy);\n editor.off(\"mouseup\", w.destroy);\n editor.off(\"change\", w.destroy);\n };\n \n editor.keyBinding.addKeyboardHandler(kb);\n editor.on(\"changeSelection\", w.destroy);\n editor.on(\"changeSession\", w.destroy);\n editor.on(\"mouseup\", w.destroy);\n editor.on(\"change\", w.destroy);\n \n editor.session.widgetManager.addLineWidget(w);\n \n w.el.onmousedown = editor.focus.bind(editor);\n \n editor.renderer.scrollCursorIntoView(null, 0.5, {bottom: w.el.offsetHeight});\n};\n\n\ndom.importCssString(\"\\\n .error_widget_wrapper {\\\n background: inherit;\\\n color: inherit;\\\n border:none\\\n }\\\n .error_widget {\\\n border-top: solid 2px;\\\n border-bottom: solid 2px;\\\n margin: 5px 0;\\\n padding: 10px 40px;\\\n white-space: pre-wrap;\\\n }\\\n .error_widget.ace_error, .error_widget_arrow.ace_error{\\\n border-color: #ff5a5a\\\n }\\\n .error_widget.ace_warning, .error_widget_arrow.ace_warning{\\\n border-color: #F1D817\\\n }\\\n .error_widget.ace_info, .error_widget_arrow.ace_info{\\\n border-color: #5a5a5a\\\n }\\\n .error_widget.ace_ok, .error_widget_arrow.ace_ok{\\\n border-color: #5aaa5a\\\n }\\\n .error_widget_arrow {\\\n position: absolute;\\\n border: solid 5px;\\\n border-top-color: transparent!important;\\\n border-right-color: transparent!important;\\\n border-left-color: transparent!important;\\\n top: -5px;\\\n }\\\n\", \"\");\n\n});\n\nace.define(\"ace/ace\",[\"require\",\"exports\",\"module\",\"ace/lib/fixoldbrowsers\",\"ace/lib/dom\",\"ace/lib/event\",\"ace/editor\",\"ace/edit_session\",\"ace/undomanager\",\"ace/virtual_renderer\",\"ace/worker/worker_client\",\"ace/keyboard/hash_handler\",\"ace/placeholder\",\"ace/multi_select\",\"ace/mode/folding/fold_mode\",\"ace/theme/textmate\",\"ace/ext/error_marker\",\"ace/config\"], function(acequire, exports, module) {\n\"use strict\";\n\nacequire(\"./lib/fixoldbrowsers\");\n\nvar dom = acequire(\"./lib/dom\");\nvar event = acequire(\"./lib/event\");\n\nvar Editor = acequire(\"./editor\").Editor;\nvar EditSession = acequire(\"./edit_session\").EditSession;\nvar UndoManager = acequire(\"./undomanager\").UndoManager;\nvar Renderer = acequire(\"./virtual_renderer\").VirtualRenderer;\nacequire(\"./worker/worker_client\");\nacequire(\"./keyboard/hash_handler\");\nacequire(\"./placeholder\");\nacequire(\"./multi_select\");\nacequire(\"./mode/folding/fold_mode\");\nacequire(\"./theme/textmate\");\nacequire(\"./ext/error_marker\");\n\nexports.config = acequire(\"./config\");\nexports.acequire = acequire;\nexports.edit = function(el) {\n if (typeof el == \"string\") {\n var _id = el;\n el = document.getElementById(_id);\n if (!el)\n throw new Error(\"ace.edit can't find div #\" + _id);\n }\n\n if (el && el.env && el.env.editor instanceof Editor)\n return el.env.editor;\n\n var value = \"\";\n if (el && /input|textarea/i.test(el.tagName)) {\n var oldNode = el;\n value = oldNode.value;\n el = dom.createElement(\"pre\");\n oldNode.parentNode.replaceChild(el, oldNode);\n } else if (el) {\n value = dom.getInnerText(el);\n el.innerHTML = \"\";\n }\n\n var doc = exports.createEditSession(value);\n\n var editor = new Editor(new Renderer(el));\n editor.setSession(doc);\n\n var env = {\n document: doc,\n editor: editor,\n onResize: editor.resize.bind(editor, null)\n };\n if (oldNode) env.textarea = oldNode;\n event.addListener(window, \"resize\", env.onResize);\n editor.on(\"destroy\", function() {\n event.removeListener(window, \"resize\", env.onResize);\n env.editor.container.env = null; // prevent memory leak on old ie\n });\n editor.container.env = editor.env = env;\n return editor;\n};\nexports.createEditSession = function(text, mode) {\n var doc = new EditSession(text, mode);\n doc.setUndoManager(new UndoManager());\n return doc;\n}\nexports.EditSession = EditSession;\nexports.UndoManager = UndoManager;\nexports.version = \"1.2.3\";\n});\n (function() {\n ace.acequire([\"ace/ace\"], function(a) {\n a && a.config.init(true);\n if (!window.ace)\n window.ace = a;\n for (var key in a) if (a.hasOwnProperty(key))\n window.ace[key] = a[key];\n });\n })();\n \nmodule.exports = window.ace.acequire(\"ace/ace\");\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-ace/~/brace/index.js\n ** module id = 538\n ** module chunks = 0\n **/","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"react\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"react\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"Dropzone\"] = factory(require(\"react\"));\n\telse\n\t\troot[\"Dropzone\"] = factory(root[\"react\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_1__) {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId])\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\texports: {},\n/******/ \t\t\tid: moduleId,\n/******/ \t\t\tloaded: false\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.loaded = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(0);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\t\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\tvar _react = __webpack_require__(1);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _attrAccept = __webpack_require__(2);\n\t\n\tvar _attrAccept2 = _interopRequireDefault(_attrAccept);\n\t\n\tvar _getDataTransferItems = __webpack_require__(3);\n\t\n\tvar _getDataTransferItems2 = _interopRequireDefault(_getDataTransferItems);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /* eslint prefer-template: 0 */\n\t\n\t\n\tvar supportMultiple = typeof document !== 'undefined' && document && document.createElement ? 'multiple' in document.createElement('input') : true;\n\t\n\tvar Dropzone = function (_React$Component) {\n\t _inherits(Dropzone, _React$Component);\n\t\n\t function Dropzone(props, context) {\n\t _classCallCheck(this, Dropzone);\n\t\n\t var _this = _possibleConstructorReturn(this, (Dropzone.__proto__ || Object.getPrototypeOf(Dropzone)).call(this, props, context));\n\t\n\t _this.onClick = _this.onClick.bind(_this);\n\t _this.onDragStart = _this.onDragStart.bind(_this);\n\t _this.onDragEnter = _this.onDragEnter.bind(_this);\n\t _this.onDragLeave = _this.onDragLeave.bind(_this);\n\t _this.onDragOver = _this.onDragOver.bind(_this);\n\t _this.onDrop = _this.onDrop.bind(_this);\n\t _this.onFileDialogCancel = _this.onFileDialogCancel.bind(_this);\n\t _this.fileAccepted = _this.fileAccepted.bind(_this);\n\t _this.isFileDialogActive = false;\n\t _this.state = {\n\t isDragActive: false\n\t };\n\t return _this;\n\t }\n\t\n\t _createClass(Dropzone, [{\n\t key: 'componentDidMount',\n\t value: function componentDidMount() {\n\t this.enterCounter = 0;\n\t // Tried implementing addEventListener, but didn't work out\n\t document.body.onfocus = this.onFileDialogCancel;\n\t }\n\t }, {\n\t key: 'componentWillUnmount',\n\t value: function componentWillUnmount() {\n\t // Can be replaced with removeEventListener, if addEventListener works\n\t document.body.onfocus = null;\n\t }\n\t }, {\n\t key: 'onDragStart',\n\t value: function onDragStart(e) {\n\t if (this.props.onDragStart) {\n\t this.props.onDragStart.call(this, e);\n\t }\n\t }\n\t }, {\n\t key: 'onDragEnter',\n\t value: function onDragEnter(e) {\n\t e.preventDefault();\n\t\n\t // Count the dropzone and any children that are entered.\n\t ++this.enterCounter;\n\t\n\t var allFilesAccepted = this.allFilesAccepted((0, _getDataTransferItems2.default)(e, this.props.multiple));\n\t\n\t this.setState({\n\t isDragActive: allFilesAccepted,\n\t isDragReject: !allFilesAccepted\n\t });\n\t\n\t if (this.props.onDragEnter) {\n\t this.props.onDragEnter.call(this, e);\n\t }\n\t }\n\t }, {\n\t key: 'onDragOver',\n\t value: function onDragOver(e) {\n\t // eslint-disable-line class-methods-use-this\n\t e.preventDefault();\n\t e.stopPropagation();\n\t try {\n\t e.dataTransfer.dropEffect = 'copy'; // eslint-disable-line no-param-reassign\n\t } catch (err) {\n\t // continue regardless of error\n\t }\n\t return false;\n\t }\n\t }, {\n\t key: 'onDragLeave',\n\t value: function onDragLeave(e) {\n\t e.preventDefault();\n\t\n\t // Only deactivate once the dropzone and all children was left.\n\t if (--this.enterCounter > 0) {\n\t return;\n\t }\n\t\n\t this.setState({\n\t isDragActive: false,\n\t isDragReject: false\n\t });\n\t\n\t if (this.props.onDragLeave) {\n\t this.props.onDragLeave.call(this, e);\n\t }\n\t }\n\t }, {\n\t key: 'onDrop',\n\t value: function onDrop(e) {\n\t var _this2 = this;\n\t\n\t var _props = this.props,\n\t onDrop = _props.onDrop,\n\t onDropAccepted = _props.onDropAccepted,\n\t onDropRejected = _props.onDropRejected,\n\t multiple = _props.multiple,\n\t disablePreview = _props.disablePreview;\n\t\n\t var fileList = (0, _getDataTransferItems2.default)(e, multiple);\n\t var acceptedFiles = [];\n\t var rejectedFiles = [];\n\t\n\t // Stop default browser behavior\n\t e.preventDefault();\n\t\n\t // Reset the counter along with the drag on a drop.\n\t this.enterCounter = 0;\n\t this.isFileDialogActive = false;\n\t\n\t fileList.forEach(function (file) {\n\t if (!disablePreview && (0, _attrAccept2.default)(file, 'image/*')) {\n\t file.preview = window.URL.createObjectURL(file); // eslint-disable-line no-param-reassign\n\t }\n\t\n\t if (_this2.fileAccepted(file) && _this2.fileMatchSize(file)) {\n\t acceptedFiles.push(file);\n\t } else {\n\t rejectedFiles.push(file);\n\t }\n\t });\n\t\n\t if (onDrop) {\n\t onDrop.call(this, acceptedFiles, rejectedFiles, e);\n\t }\n\t\n\t if (rejectedFiles.length > 0 && onDropRejected) {\n\t onDropRejected.call(this, rejectedFiles, e);\n\t }\n\t\n\t if (acceptedFiles.length > 0 && onDropAccepted) {\n\t onDropAccepted.call(this, acceptedFiles, e);\n\t }\n\t\n\t // Reset drag state\n\t this.setState({\n\t isDragActive: false,\n\t isDragReject: false\n\t });\n\t }\n\t }, {\n\t key: 'onClick',\n\t value: function onClick(e) {\n\t e.stopPropagation();\n\t var _props2 = this.props,\n\t onClick = _props2.onClick,\n\t disableClick = _props2.disableClick;\n\t\n\t if (!disableClick) {\n\t this.open();\n\t if (onClick) {\n\t onClick.call(this, e);\n\t }\n\t }\n\t }\n\t }, {\n\t key: 'onFileDialogCancel',\n\t value: function onFileDialogCancel() {\n\t // timeout will not recognize context of this method\n\t var onFileDialogCancel = this.props.onFileDialogCancel;\n\t var fileInputEl = this.fileInputEl;\n\t var isFileDialogActive = this.isFileDialogActive;\n\t // execute the timeout only if the onFileDialogCancel is defined and FileDialog\n\t // is opened in the browser\n\t\n\t if (onFileDialogCancel && isFileDialogActive) {\n\t setTimeout(function () {\n\t // Returns an object as FileList\n\t var FileList = fileInputEl.files;\n\t if (!FileList.length) {\n\t isFileDialogActive = false;\n\t onFileDialogCancel();\n\t }\n\t }, 300);\n\t }\n\t }\n\t }, {\n\t key: 'fileAccepted',\n\t value: function fileAccepted(file) {\n\t return (0, _attrAccept2.default)(file, this.props.accept);\n\t }\n\t }, {\n\t key: 'fileMatchSize',\n\t value: function fileMatchSize(file) {\n\t return file.size <= this.props.maxSize && file.size >= this.props.minSize;\n\t }\n\t }, {\n\t key: 'allFilesAccepted',\n\t value: function allFilesAccepted(files) {\n\t return files.every(this.fileAccepted);\n\t }\n\t }, {\n\t key: 'open',\n\t value: function open() {\n\t this.isFileDialogActive = true;\n\t this.fileInputEl.value = null;\n\t this.fileInputEl.click();\n\t }\n\t }, {\n\t key: 'render',\n\t value: function render() {\n\t var _this3 = this;\n\t\n\t var _props3 = this.props,\n\t accept = _props3.accept,\n\t activeClassName = _props3.activeClassName,\n\t inputProps = _props3.inputProps,\n\t multiple = _props3.multiple,\n\t name = _props3.name,\n\t rejectClassName = _props3.rejectClassName,\n\t rest = _objectWithoutProperties(_props3, ['accept', 'activeClassName', 'inputProps', 'multiple', 'name', 'rejectClassName']);\n\t\n\t var activeStyle = rest.activeStyle,\n\t className = rest.className,\n\t rejectStyle = rest.rejectStyle,\n\t style = rest.style,\n\t props = _objectWithoutProperties(rest, ['activeStyle', 'className', 'rejectStyle', 'style']);\n\t\n\t var _state = this.state,\n\t isDragActive = _state.isDragActive,\n\t isDragReject = _state.isDragReject;\n\t\n\t\n\t className = className || '';\n\t\n\t if (isDragActive && activeClassName) {\n\t className += ' ' + activeClassName;\n\t }\n\t if (isDragReject && rejectClassName) {\n\t className += ' ' + rejectClassName;\n\t }\n\t\n\t if (!className && !style && !activeStyle && !rejectStyle) {\n\t style = {\n\t width: 200,\n\t height: 200,\n\t borderWidth: 2,\n\t borderColor: '#666',\n\t borderStyle: 'dashed',\n\t borderRadius: 5\n\t };\n\t activeStyle = {\n\t borderStyle: 'solid',\n\t backgroundColor: '#eee'\n\t };\n\t rejectStyle = {\n\t borderStyle: 'solid',\n\t backgroundColor: '#ffdddd'\n\t };\n\t }\n\t\n\t var appliedStyle = void 0;\n\t if (activeStyle && isDragActive) {\n\t appliedStyle = _extends({}, style, activeStyle);\n\t } else if (rejectStyle && isDragReject) {\n\t appliedStyle = _extends({}, style, rejectStyle);\n\t } else {\n\t appliedStyle = _extends({}, style);\n\t }\n\t\n\t var inputAttributes = {\n\t accept: accept,\n\t type: 'file',\n\t style: { display: 'none' },\n\t multiple: supportMultiple && multiple,\n\t ref: function ref(el) {\n\t return _this3.fileInputEl = el;\n\t }, // eslint-disable-line\n\t onChange: this.onDrop\n\t };\n\t\n\t if (name && name.length) {\n\t inputAttributes.name = name;\n\t }\n\t\n\t // Remove custom properties before passing them to the wrapper div element\n\t var customProps = ['acceptedFiles', 'disablePreview', 'disableClick', 'onDropAccepted', 'onDropRejected', 'onFileDialogCancel', 'maxSize', 'minSize'];\n\t var divProps = _extends({}, props);\n\t customProps.forEach(function (prop) {\n\t return delete divProps[prop];\n\t });\n\t\n\t return _react2.default.createElement(\n\t 'div',\n\t _extends({\n\t className: className,\n\t style: appliedStyle\n\t }, divProps /* expand user provided props first so event handlers are never overridden */, {\n\t onClick: this.onClick,\n\t onDragStart: this.onDragStart,\n\t onDragEnter: this.onDragEnter,\n\t onDragOver: this.onDragOver,\n\t onDragLeave: this.onDragLeave,\n\t onDrop: this.onDrop\n\t }),\n\t this.props.children,\n\t _react2.default.createElement('input', _extends({}, inputProps /* expand user provided inputProps first so inputAttributes override them */, inputAttributes))\n\t );\n\t }\n\t }]);\n\t\n\t return Dropzone;\n\t}(_react2.default.Component);\n\t\n\tDropzone.defaultProps = {\n\t disablePreview: false,\n\t disableClick: false,\n\t multiple: true,\n\t maxSize: Infinity,\n\t minSize: 0\n\t};\n\t\n\tDropzone.propTypes = {\n\t onClick: _react2.default.PropTypes.func,\n\t onDrop: _react2.default.PropTypes.func,\n\t onDropAccepted: _react2.default.PropTypes.func,\n\t onDropRejected: _react2.default.PropTypes.func,\n\t onDragStart: _react2.default.PropTypes.func,\n\t onDragEnter: _react2.default.PropTypes.func,\n\t onDragLeave: _react2.default.PropTypes.func,\n\t\n\t children: _react2.default.PropTypes.node, // Contents of the dropzone\n\t style: _react2.default.PropTypes.object, // CSS styles to apply\n\t activeStyle: _react2.default.PropTypes.object, // CSS styles to apply when drop will be accepted\n\t rejectStyle: _react2.default.PropTypes.object, // CSS styles to apply when drop will be rejected\n\t className: _react2.default.PropTypes.string, // Optional className\n\t activeClassName: _react2.default.PropTypes.string, // className for accepted state\n\t rejectClassName: _react2.default.PropTypes.string, // className for rejected state\n\t\n\t disablePreview: _react2.default.PropTypes.bool, // Enable/disable preview generation\n\t disableClick: _react2.default.PropTypes.bool, // Disallow clicking on the dropzone container to open file dialog\n\t onFileDialogCancel: _react2.default.PropTypes.func, // Provide a callback on clicking the cancel button of the file dialog\n\t\n\t inputProps: _react2.default.PropTypes.object, // Pass additional attributes to the <input type=\"file\"/> tag\n\t multiple: _react2.default.PropTypes.bool, // Allow dropping multiple files\n\t accept: _react2.default.PropTypes.string, // Allow specific types of files. See https://github.com/okonet/attr-accept for more information\n\t name: _react2.default.PropTypes.string, // name attribute for the input tag\n\t maxSize: _react2.default.PropTypes.number,\n\t minSize: _react2.default.PropTypes.number\n\t};\n\t\n\texports.default = Dropzone;\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 1 */\n/***/ function(module, exports) {\n\n\tmodule.exports = __WEBPACK_EXTERNAL_MODULE_1__;\n\n/***/ },\n/* 2 */\n/***/ function(module, exports) {\n\n\tmodule.exports=function(t){function n(e){if(r[e])return r[e].exports;var o=r[e]={exports:{},id:e,loaded:!1};return t[e].call(o.exports,o,o.exports,n),o.loaded=!0,o.exports}var r={};return n.m=t,n.c=r,n.p=\"\",n(0)}([function(t,n,r){\"use strict\";n.__esModule=!0,r(8),r(9),n[\"default\"]=function(t,n){if(t&&n){var r=function(){var r=Array.isArray(n)?n:n.split(\",\"),e=t.name||\"\",o=t.type||\"\",i=o.replace(/\\/.*$/,\"\");return{v:r.some(function(t){var n=t.trim();return\".\"===n.charAt(0)?e.toLowerCase().endsWith(n.toLowerCase()):/\\/\\*$/.test(n)?i===n.replace(/\\/.*$/,\"\"):o===n})}}();if(\"object\"==typeof r)return r.v}return!0},t.exports=n[\"default\"]},function(t,n){var r=t.exports={version:\"1.2.2\"};\"number\"==typeof __e&&(__e=r)},function(t,n){var r=t.exports=\"undefined\"!=typeof window&&window.Math==Math?window:\"undefined\"!=typeof self&&self.Math==Math?self:Function(\"return this\")();\"number\"==typeof __g&&(__g=r)},function(t,n,r){var e=r(2),o=r(1),i=r(4),u=r(19),c=\"prototype\",f=function(t,n){return function(){return t.apply(n,arguments)}},s=function(t,n,r){var a,p,l,y,d=t&s.G,h=t&s.P,v=d?e:t&s.S?e[n]||(e[n]={}):(e[n]||{})[c],x=d?o:o[n]||(o[n]={});d&&(r=n);for(a in r)p=!(t&s.F)&&v&&a in v,l=(p?v:r)[a],y=t&s.B&&p?f(l,e):h&&\"function\"==typeof l?f(Function.call,l):l,v&&!p&&u(v,a,l),x[a]!=l&&i(x,a,y),h&&((x[c]||(x[c]={}))[a]=l)};e.core=o,s.F=1,s.G=2,s.S=4,s.P=8,s.B=16,s.W=32,t.exports=s},function(t,n,r){var e=r(5),o=r(18);t.exports=r(22)?function(t,n,r){return e.setDesc(t,n,o(1,r))}:function(t,n,r){return t[n]=r,t}},function(t,n){var r=Object;t.exports={create:r.create,getProto:r.getPrototypeOf,isEnum:{}.propertyIsEnumerable,getDesc:r.getOwnPropertyDescriptor,setDesc:r.defineProperty,setDescs:r.defineProperties,getKeys:r.keys,getNames:r.getOwnPropertyNames,getSymbols:r.getOwnPropertySymbols,each:[].forEach}},function(t,n){var r=0,e=Math.random();t.exports=function(t){return\"Symbol(\".concat(void 0===t?\"\":t,\")_\",(++r+e).toString(36))}},function(t,n,r){var e=r(20)(\"wks\"),o=r(2).Symbol;t.exports=function(t){return e[t]||(e[t]=o&&o[t]||(o||r(6))(\"Symbol.\"+t))}},function(t,n,r){r(26),t.exports=r(1).Array.some},function(t,n,r){r(25),t.exports=r(1).String.endsWith},function(t,n){t.exports=function(t){if(\"function\"!=typeof t)throw TypeError(t+\" is not a function!\");return t}},function(t,n){var r={}.toString;t.exports=function(t){return r.call(t).slice(8,-1)}},function(t,n,r){var e=r(10);t.exports=function(t,n,r){if(e(t),void 0===n)return t;switch(r){case 1:return function(r){return t.call(n,r)};case 2:return function(r,e){return t.call(n,r,e)};case 3:return function(r,e,o){return t.call(n,r,e,o)}}return function(){return t.apply(n,arguments)}}},function(t,n){t.exports=function(t){if(void 0==t)throw TypeError(\"Can't call method on \"+t);return t}},function(t,n,r){t.exports=function(t){var n=/./;try{\"/./\"[t](n)}catch(e){try{return n[r(7)(\"match\")]=!1,!\"/./\"[t](n)}catch(o){}}return!0}},function(t,n){t.exports=function(t){try{return!!t()}catch(n){return!0}}},function(t,n){t.exports=function(t){return\"object\"==typeof t?null!==t:\"function\"==typeof t}},function(t,n,r){var e=r(16),o=r(11),i=r(7)(\"match\");t.exports=function(t){var n;return e(t)&&(void 0!==(n=t[i])?!!n:\"RegExp\"==o(t))}},function(t,n){t.exports=function(t,n){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:n}}},function(t,n,r){var e=r(2),o=r(4),i=r(6)(\"src\"),u=\"toString\",c=Function[u],f=(\"\"+c).split(u);r(1).inspectSource=function(t){return c.call(t)},(t.exports=function(t,n,r,u){\"function\"==typeof r&&(o(r,i,t[n]?\"\"+t[n]:f.join(String(n))),\"name\"in r||(r.name=n)),t===e?t[n]=r:(u||delete t[n],o(t,n,r))})(Function.prototype,u,function(){return\"function\"==typeof this&&this[i]||c.call(this)})},function(t,n,r){var e=r(2),o=\"__core-js_shared__\",i=e[o]||(e[o]={});t.exports=function(t){return i[t]||(i[t]={})}},function(t,n,r){var e=r(17),o=r(13);t.exports=function(t,n,r){if(e(n))throw TypeError(\"String#\"+r+\" doesn't accept regex!\");return String(o(t))}},function(t,n,r){t.exports=!r(15)(function(){return 7!=Object.defineProperty({},\"a\",{get:function(){return 7}}).a})},function(t,n){var r=Math.ceil,e=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?e:r)(t)}},function(t,n,r){var e=r(23),o=Math.min;t.exports=function(t){return t>0?o(e(t),9007199254740991):0}},function(t,n,r){\"use strict\";var e=r(3),o=r(24),i=r(21),u=\"endsWith\",c=\"\"[u];e(e.P+e.F*r(14)(u),\"String\",{endsWith:function(t){var n=i(this,t,u),r=arguments,e=r.length>1?r[1]:void 0,f=o(n.length),s=void 0===e?f:Math.min(o(e),f),a=String(t);return c?c.call(n,a,s):n.slice(s-a.length,s)===a}})},function(t,n,r){var e=r(5),o=r(3),i=r(1).Array||Array,u={},c=function(t,n){e.each.call(t.split(\",\"),function(t){void 0==n&&t in i?u[t]=i[t]:t in[]&&(u[t]=r(12)(Function.call,[][t],n))})};c(\"pop,reverse,shift,keys,values,entries\",1),c(\"indexOf,every,some,forEach,map,filter,find,findIndex,includes\",3),c(\"join,slice,concat,push,splice,unshift,sort,lastIndexOf,reduce,reduceRight,copyWithin,fill\"),o(o.S,\"Array\",u)}]);\n\n/***/ },\n/* 3 */\n/***/ function(module, exports) {\n\n\t\"use strict\";\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\texports.default = getDataTransferFiles;\n\tfunction getDataTransferFiles(event) {\n\t var isMultipleAllowed = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\t\n\t var dataTransferItemsList = [];\n\t if (event.dataTransfer) {\n\t var dt = event.dataTransfer;\n\t if (dt.files && dt.files.length) {\n\t dataTransferItemsList = dt.files;\n\t } else if (dt.items && dt.items.length) {\n\t // During the drag even the dataTransfer.files is null\n\t // but Chrome implements some drag store, which is accesible via dataTransfer.items\n\t dataTransferItemsList = dt.items;\n\t }\n\t } else if (event.target && event.target.files) {\n\t dataTransferItemsList = event.target.files;\n\t }\n\t\n\t if (dataTransferItemsList.length > 0) {\n\t dataTransferItemsList = isMultipleAllowed ? dataTransferItemsList : [dataTransferItemsList[0]];\n\t }\n\t\n\t // Convert from DataTransferItemsList to the native Array\n\t return Array.prototype.slice.call(dataTransferItemsList);\n\t}\n\tmodule.exports = exports[\"default\"];\n\n/***/ }\n/******/ ])\n});\n;\n//# sourceMappingURL=index.js.map\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dropzone/dist/index.js\n ** module id = 539\n ** module chunks = 0\n **/","var React = require('react');\nvar NotificationItem = require('./NotificationItem');\nvar Constants = require('./constants');\n\nvar NotificationContainer = React.createClass({displayName: \"NotificationContainer\",\n\n propTypes: {\n position: React.PropTypes.string.isRequired,\n notifications: React.PropTypes.array.isRequired,\n getStyles: React.PropTypes.object\n },\n\n _style: {},\n\n componentWillMount: function() {\n // Fix position if width is overrided\n this._style = this.props.getStyles.container(this.props.position);\n\n if (this.props.getStyles.overrideWidth && (this.props.position === Constants.positions.tc || this.props.position === Constants.positions.bc)) {\n this._style.marginLeft = -(this.props.getStyles.overrideWidth / 2);\n }\n },\n\n render: function() {\n var self = this;\n var notifications;\n\n if ([Constants.positions.bl, Constants.positions.br, Constants.positions.bc].indexOf(this.props.position) > -1) {\n this.props.notifications.reverse();\n }\n\n notifications = this.props.notifications.map(function(notification) {\n return (\n React.createElement(NotificationItem, {\n ref: 'notification-' + notification.uid, \n key: notification.uid, \n notification: notification, \n getStyles: self.props.getStyles, \n onRemove: self.props.onRemove, \n noAnimation: self.props.noAnimation, \n allowHTML: self.props.allowHTML, \n children: self.props.children}\n )\n );\n });\n\n return (\n React.createElement(\"div\", {className: 'notifications-' + this.props.position, style: this._style}, \n notifications \n )\n );\n }\n});\n\n\nmodule.exports = NotificationContainer;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-notification-system/dist/NotificationContainer.js\n ** module id = 540\n ** module chunks = 0\n **/","var React = require('react');\nvar ReactDOM = require('react-dom');\nvar Constants = require('./constants');\nvar Helpers = require('./helpers');\nvar merge = require('object-assign');\n\n/* From Modernizr */\nvar whichTransitionEvent = function() {\n var el = document.createElement('fakeelement');\n var transition;\n var transitions = {\n transition: 'transitionend',\n OTransition: 'oTransitionEnd',\n MozTransition: 'transitionend',\n WebkitTransition: 'webkitTransitionEnd'\n };\n\n Object.keys(transitions).forEach(function(transitionKey) {\n if (el.style[transitionKey] !== undefined) {\n transition = transitions[transitionKey];\n }\n });\n\n return transition;\n};\n\nvar NotificationItem = React.createClass({displayName: \"NotificationItem\",\n\n propTypes: {\n notification: React.PropTypes.object,\n getStyles: React.PropTypes.object,\n onRemove: React.PropTypes.func,\n allowHTML: React.PropTypes.bool,\n noAnimation: React.PropTypes.bool,\n children: React.PropTypes.oneOfType([\n React.PropTypes.string,\n React.PropTypes.element\n ])\n },\n\n getDefaultProps: function() {\n return {\n noAnimation: false,\n onRemove: function() {},\n allowHTML: false\n };\n },\n\n getInitialState: function() {\n return {\n visible: false,\n removed: false\n };\n },\n\n componentWillMount: function() {\n var getStyles = this.props.getStyles;\n var level = this.props.notification.level;\n\n this._noAnimation = this.props.noAnimation;\n\n this._styles = {\n notification: getStyles.byElement('notification')(level),\n title: getStyles.byElement('title')(level),\n dismiss: getStyles.byElement('dismiss')(level),\n messageWrapper: getStyles.byElement('messageWrapper')(level),\n actionWrapper: getStyles.byElement('actionWrapper')(level),\n action: getStyles.byElement('action')(level)\n };\n\n if (!this.props.notification.dismissible) {\n this._styles.notification.cursor = 'default';\n }\n },\n\n _styles: {},\n\n _notificationTimer: null,\n\n _height: 0,\n\n _noAnimation: null,\n\n _isMounted: false,\n\n _removeCount: 0,\n\n _getCssPropertyByPosition: function() {\n var position = this.props.notification.position;\n var css = {};\n\n switch (position) {\n case Constants.positions.tl:\n case Constants.positions.bl:\n css = {\n property: 'left',\n value: -200\n };\n break;\n\n case Constants.positions.tr:\n case Constants.positions.br:\n css = {\n property: 'right',\n value: -200\n };\n break;\n\n case Constants.positions.tc:\n css = {\n property: 'top',\n value: -100\n };\n break;\n\n case Constants.positions.bc:\n css = {\n property: 'bottom',\n value: -100\n };\n break;\n\n default:\n }\n\n return css;\n },\n\n _defaultAction: function(event) {\n var notification = this.props.notification;\n\n event.preventDefault();\n this._hideNotification();\n if (typeof notification.action.callback === 'function') {\n notification.action.callback();\n }\n },\n\n _hideNotification: function() {\n if (this._notificationTimer) {\n this._notificationTimer.clear();\n }\n\n if (this._isMounted) {\n this.setState({\n visible: false,\n removed: true\n });\n }\n\n if (this._noAnimation) {\n this._removeNotification();\n }\n },\n\n _removeNotification: function() {\n this.props.onRemove(this.props.notification.uid);\n },\n\n _dismiss: function() {\n if (!this.props.notification.dismissible) {\n return;\n }\n\n this._hideNotification();\n },\n\n _showNotification: function() {\n var self = this;\n setTimeout(function() {\n if (self._isMounted) {\n self.setState({\n visible: true\n });\n }\n }, 50);\n },\n\n _onTransitionEnd: function() {\n if (this._removeCount > 0) return;\n if (this.state.removed) {\n this._removeCount++;\n this._removeNotification();\n }\n },\n\n componentDidMount: function() {\n var self = this;\n var transitionEvent = whichTransitionEvent();\n var notification = this.props.notification;\n var element = ReactDOM.findDOMNode(this);\n\n this._height = element.offsetHeight;\n\n this._isMounted = true;\n\n // Watch for transition end\n if (!this._noAnimation) {\n if (transitionEvent) {\n element.addEventListener(transitionEvent, this._onTransitionEnd);\n } else {\n this._noAnimation = true;\n }\n }\n\n\n if (notification.autoDismiss) {\n this._notificationTimer = new Helpers.Timer(function() {\n self._hideNotification();\n }, notification.autoDismiss * 1000);\n }\n\n this._showNotification();\n },\n\n _handleMouseEnter: function() {\n var notification = this.props.notification;\n if (notification.autoDismiss) {\n this._notificationTimer.pause();\n }\n },\n\n _handleMouseLeave: function() {\n var notification = this.props.notification;\n if (notification.autoDismiss) {\n this._notificationTimer.resume();\n }\n },\n\n componentWillUnmount: function() {\n var element = ReactDOM.findDOMNode(this);\n var transitionEvent = whichTransitionEvent();\n element.removeEventListener(transitionEvent, this._onTransitionEnd);\n this._isMounted = false;\n },\n\n _allowHTML: function(string) {\n return { __html: string };\n },\n\n render: function() {\n var notification = this.props.notification;\n var className = 'notification notification-' + notification.level;\n var notificationStyle = merge({}, this._styles.notification);\n var cssByPos = this._getCssPropertyByPosition();\n var dismiss = null;\n var actionButton = null;\n var title = null;\n var message = null;\n\n if (this.state.visible) {\n className += ' notification-visible';\n } else {\n className += ' notification-hidden';\n }\n\n if (!notification.dismissible) {\n className += ' notification-not-dismissible';\n }\n\n if (this.props.getStyles.overrideStyle) {\n if (!this.state.visible && !this.state.removed) {\n notificationStyle[cssByPos.property] = cssByPos.value;\n }\n\n if (this.state.visible && !this.state.removed) {\n notificationStyle.height = this._height;\n notificationStyle[cssByPos.property] = 0;\n }\n\n if (this.state.removed) {\n notificationStyle.overlay = 'hidden';\n notificationStyle.height = 0;\n notificationStyle.marginTop = 0;\n notificationStyle.paddingTop = 0;\n notificationStyle.paddingBottom = 0;\n }\n notificationStyle.opacity = this.state.visible ? this._styles.notification.isVisible.opacity : this._styles.notification.isHidden.opacity;\n }\n\n if (notification.title) {\n title = React.createElement(\"h4\", {className: \"notification-title\", style: this._styles.title}, notification.title);\n }\n\n if (notification.message) {\n if (this.props.allowHTML) {\n message = (\n React.createElement(\"div\", {className: \"notification-message\", style: this._styles.messageWrapper, dangerouslySetInnerHTML: this._allowHTML(notification.message) })\n );\n } else {\n message = (\n React.createElement(\"div\", {className: \"notification-message\", style: this._styles.messageWrapper}, notification.message)\n );\n }\n }\n\n if (notification.dismissible) {\n dismiss = React.createElement(\"span\", {className: \"notification-dismiss\", style: this._styles.dismiss}, \"×\");\n }\n\n if (notification.action) {\n actionButton = (\n React.createElement(\"div\", {className: \"notification-action-wrapper\", style: this._styles.actionWrapper}, \n React.createElement(\"button\", {className: \"notification-action-button\", \n onClick: this._defaultAction, \n style: this._styles.action}, \n notification.action.label\n )\n )\n );\n }\n\n if (notification.children) {\n actionButton = notification.children;\n }\n\n return (\n React.createElement(\"div\", {className: className, onClick: this._dismiss, onMouseEnter: this._handleMouseEnter, onMouseLeave: this._handleMouseLeave, style: notificationStyle }, \n title, \n message, \n dismiss, \n actionButton \n )\n );\n }\n\n});\n\nmodule.exports = NotificationItem;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-notification-system/dist/NotificationItem.js\n ** module id = 541\n ** module chunks = 0\n **/","var React = require('react');\nvar merge = require('object-assign');\nvar NotificationContainer = require('./NotificationContainer');\nvar Constants = require('./constants');\nvar Styles = require('./styles');\n\nvar NotificationSystem = React.createClass({displayName: \"NotificationSystem\",\n\n uid: 3400,\n\n _isMounted: false,\n\n _getStyles: {\n overrideStyle: {},\n\n overrideWidth: null,\n\n setOverrideStyle: function(style) {\n this.overrideStyle = style;\n },\n\n wrapper: function() {\n if (!this.overrideStyle) return {};\n return merge({}, Styles.Wrapper, this.overrideStyle.Wrapper);\n },\n\n container: function(position) {\n var override = this.overrideStyle.Containers || {};\n if (!this.overrideStyle) return {};\n\n this.overrideWidth = Styles.Containers.DefaultStyle.width;\n\n if (override.DefaultStyle && override.DefaultStyle.width) {\n this.overrideWidth = override.DefaultStyle.width;\n }\n\n if (override[position] && override[position].width) {\n this.overrideWidth = override[position].width;\n }\n\n return merge({}, Styles.Containers.DefaultStyle, Styles.Containers[position], override.DefaultStyle, override[position]);\n },\n\n elements: {\n notification: 'NotificationItem',\n title: 'Title',\n messageWrapper: 'MessageWrapper',\n dismiss: 'Dismiss',\n action: 'Action',\n actionWrapper: 'ActionWrapper'\n },\n\n byElement: function(element) {\n var self = this;\n return function(level) {\n var _element = self.elements[element];\n var override = self.overrideStyle[_element] || {};\n if (!self.overrideStyle) return {};\n return merge({}, Styles[_element].DefaultStyle, Styles[_element][level], override.DefaultStyle, override[level]);\n };\n }\n },\n\n _didNotificationRemoved: function(uid) {\n var notification;\n var notifications = this.state.notifications.filter(function(toCheck) {\n if (toCheck.uid === uid) {\n notification = toCheck;\n }\n return toCheck.uid !== uid;\n });\n\n if (notification && notification.onRemove) {\n notification.onRemove(notification);\n }\n\n if (this._isMounted) {\n this.setState({ notifications: notifications });\n }\n },\n\n getInitialState: function() {\n return {\n notifications: []\n };\n },\n\n propTypes: {\n style: React.PropTypes.oneOfType([\n React.PropTypes.bool,\n React.PropTypes.object\n ]),\n noAnimation: React.PropTypes.bool,\n allowHTML: React.PropTypes.bool\n },\n\n getDefaultProps: function() {\n return {\n style: {},\n noAnimation: false,\n allowHTML: false\n };\n },\n\n addNotification: function(notification) {\n var _notification = merge({}, Constants.notification, notification);\n var notifications = this.state.notifications;\n var i;\n\n if (!_notification.level) {\n throw new Error('notification level is required.');\n }\n\n if (Object.keys(Constants.levels).indexOf(_notification.level) === -1) {\n throw new Error('\\'' + _notification.level + '\\' is not a valid level.');\n }\n\n if (isNaN(_notification.autoDismiss)) {\n throw new Error('\\'autoDismiss\\' must be a number.');\n }\n\n if (Object.keys(Constants.positions).indexOf(_notification.position) === -1) {\n throw new Error('\\'' + _notification.position + '\\' is not a valid position.');\n }\n\n // Some preparations\n _notification.position = _notification.position.toLowerCase();\n _notification.level = _notification.level.toLowerCase();\n _notification.autoDismiss = parseInt(_notification.autoDismiss, 10);\n\n _notification.uid = _notification.uid || this.uid;\n _notification.ref = 'notification-' + _notification.uid;\n this.uid += 1;\n\n // do not add if the notification already exists based on supplied uid\n for (i = 0; i < notifications.length; i++) {\n if (notifications[i].uid === _notification.uid) {\n return false;\n }\n }\n\n notifications.push(_notification);\n\n if (typeof _notification.onAdd === 'function') {\n notification.onAdd(_notification);\n }\n\n this.setState({\n notifications: notifications\n });\n\n return _notification;\n },\n\n removeNotification: function(notification) {\n var self = this;\n Object.keys(this.refs).forEach(function(container) {\n if (container.indexOf('container') > -1) {\n Object.keys(self.refs[container].refs).forEach(function(_notification) {\n var uid = notification.uid ? notification.uid : notification;\n if (_notification === 'notification-' + uid) {\n self.refs[container].refs[_notification]._hideNotification();\n }\n });\n }\n });\n },\n\n clearNotifications: function() {\n var self = this;\n Object.keys(this.refs).forEach(function(container) {\n if (container.indexOf('container') > -1) {\n Object.keys(self.refs[container].refs).forEach(function(_notification) {\n self.refs[container].refs[_notification]._hideNotification();\n });\n }\n });\n },\n\n componentDidMount: function() {\n this._getStyles.setOverrideStyle(this.props.style);\n this._isMounted = true;\n },\n\n componentWillUnmount: function() {\n this._isMounted = false;\n },\n\n render: function() {\n var self = this;\n var containers = null;\n var notifications = this.state.notifications;\n\n if (notifications.length) {\n containers = Object.keys(Constants.positions).map(function(position) {\n var _notifications = notifications.filter(function(notification) {\n return position === notification.position;\n });\n\n if (!_notifications.length) {\n return null;\n }\n\n return (\n React.createElement(NotificationContainer, {\n ref: 'container-' + position, \n key: position, \n position: position, \n notifications: _notifications, \n getStyles: self._getStyles, \n onRemove: self._didNotificationRemoved, \n noAnimation: self.props.noAnimation, \n allowHTML: self.props.allowHTML}\n )\n );\n });\n }\n\n\n return (\n React.createElement(\"div\", {className: \"notifications-wrapper\", style: this._getStyles.wrapper() }, \n containers \n )\n\n );\n }\n});\n\nmodule.exports = NotificationSystem;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-notification-system/dist/NotificationSystem.js\n ** module id = 542\n ** module chunks = 0\n **/","var Helpers = {\n Timer: function(callback, delay) {\n var timerId;\n var start;\n var remaining = delay;\n\n this.pause = function() {\n clearTimeout(timerId);\n remaining -= new Date() - start;\n };\n\n this.resume = function() {\n start = new Date();\n clearTimeout(timerId);\n timerId = setTimeout(callback, remaining);\n };\n\n this.clear = function() {\n clearTimeout(timerId);\n };\n\n this.resume();\n }\n};\n\nmodule.exports = Helpers;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-notification-system/dist/helpers.js\n ** module id = 543\n ** module chunks = 0\n **/","// Used for calculations\nvar defaultWidth = 320;\nvar defaultColors = {\n success: {\n rgb: '94, 164, 0',\n hex: '#5ea400'\n },\n error: {\n rgb: '236, 61, 61',\n hex: '#ec3d3d'\n },\n warning: {\n rgb: '235, 173, 23',\n hex: '#ebad1a'\n },\n info: {\n rgb: '54, 156, 199',\n hex: '#369cc7'\n }\n};\nvar defaultShadowOpacity = '0.9';\n\nvar STYLES = {\n\n Wrapper: {},\n Containers: {\n DefaultStyle: {\n fontFamily: 'inherit',\n position: 'fixed',\n width: defaultWidth,\n padding: '0 10px 10px 10px',\n zIndex: 9998,\n WebkitBoxSizing: 'border-box',\n MozBoxSizing: 'border-box',\n boxSizing: 'border-box',\n height: 'auto'\n },\n\n tl: {\n top: '0px',\n bottom: 'auto',\n left: '0px',\n right: 'auto'\n },\n\n tr: {\n top: '0px',\n bottom: 'auto',\n left: 'auto',\n right: '0px'\n },\n\n tc: {\n top: '0px',\n bottom: 'auto',\n margin: '0 auto',\n left: '50%',\n marginLeft: -(defaultWidth / 2)\n },\n\n bl: {\n top: 'auto',\n bottom: '0px',\n left: '0px',\n right: 'auto'\n },\n\n br: {\n top: 'auto',\n bottom: '0px',\n left: 'auto',\n right: '0px'\n },\n\n bc: {\n top: 'auto',\n bottom: '0px',\n margin: '0 auto',\n left: '50%',\n marginLeft: -(defaultWidth / 2)\n }\n\n },\n\n NotificationItem: {\n DefaultStyle: {\n position: 'relative',\n width: '100%',\n cursor: 'pointer',\n borderRadius: '2px',\n fontSize: '13px',\n margin: '10px 0 0',\n padding: '10px',\n display: 'block',\n WebkitBoxSizing: 'border-box',\n MozBoxSizing: 'border-box',\n boxSizing: 'border-box',\n opacity: 0,\n transition: '0.3s ease-in-out',\n WebkitTransform: 'translate3d(0, 0, 0)',\n transform: 'translate3d(0, 0, 0)',\n willChange: 'transform, opacity',\n\n isHidden: {\n opacity: 0\n },\n\n isVisible: {\n opacity: 1\n }\n },\n\n success: {\n borderTop: '2px solid ' + defaultColors.success.hex,\n backgroundColor: '#f0f5ea',\n color: '#4b583a',\n WebkitBoxShadow: '0 0 1px rgba(' + defaultColors.success.rgb + ',' + defaultShadowOpacity + ')',\n MozBoxShadow: '0 0 1px rgba(' + defaultColors.success.rgb + ',' + defaultShadowOpacity + ')',\n boxShadow: '0 0 1px rgba(' + defaultColors.success.rgb + ',' + defaultShadowOpacity + ')'\n },\n\n error: {\n borderTop: '2px solid ' + defaultColors.error.hex,\n backgroundColor: '#f4e9e9',\n color: '#412f2f',\n WebkitBoxShadow: '0 0 1px rgba(' + defaultColors.error.rgb + ',' + defaultShadowOpacity + ')',\n MozBoxShadow: '0 0 1px rgba(' + defaultColors.error.rgb + ',' + defaultShadowOpacity + ')',\n boxShadow: '0 0 1px rgba(' + defaultColors.error.rgb + ',' + defaultShadowOpacity + ')'\n },\n\n warning: {\n borderTop: '2px solid ' + defaultColors.warning.hex,\n backgroundColor: '#f9f6f0',\n color: '#5a5343',\n WebkitBoxShadow: '0 0 1px rgba(' + defaultColors.warning.rgb + ',' + defaultShadowOpacity + ')',\n MozBoxShadow: '0 0 1px rgba(' + defaultColors.warning.rgb + ',' + defaultShadowOpacity + ')',\n boxShadow: '0 0 1px rgba(' + defaultColors.warning.rgb + ',' + defaultShadowOpacity + ')'\n },\n\n info: {\n borderTop: '2px solid ' + defaultColors.info.hex,\n backgroundColor: '#e8f0f4',\n color: '#41555d',\n WebkitBoxShadow: '0 0 1px rgba(' + defaultColors.info.rgb + ',' + defaultShadowOpacity + ')',\n MozBoxShadow: '0 0 1px rgba(' + defaultColors.info.rgb + ',' + defaultShadowOpacity + ')',\n boxShadow: '0 0 1px rgba(' + defaultColors.info.rgb + ',' + defaultShadowOpacity + ')'\n }\n },\n\n Title: {\n DefaultStyle: {\n fontSize: '14px',\n margin: '0 0 5px 0',\n padding: 0,\n fontWeight: 'bold'\n },\n\n success: {\n color: defaultColors.success.hex\n },\n\n error: {\n color: defaultColors.error.hex\n },\n\n warning: {\n color: defaultColors.warning.hex\n },\n\n info: {\n color: defaultColors.info.hex\n }\n\n },\n\n MessageWrapper: {\n DefaultStyle: {\n margin: 0,\n padding: 0\n }\n },\n\n Dismiss: {\n DefaultStyle: {\n fontFamily: 'Arial',\n fontSize: '17px',\n position: 'absolute',\n top: '4px',\n right: '5px',\n lineHeight: '15px',\n backgroundColor: '#dededf',\n color: '#ffffff',\n borderRadius: '50%',\n width: '14px',\n height: '14px',\n fontWeight: 'bold',\n textAlign: 'center'\n },\n\n success: {\n color: '#f0f5ea',\n backgroundColor: '#b0ca92'\n },\n\n error: {\n color: '#f4e9e9',\n backgroundColor: '#e4bebe'\n },\n\n warning: {\n color: '#f9f6f0',\n backgroundColor: '#e1cfac'\n },\n\n info: {\n color: '#e8f0f4',\n backgroundColor: '#a4becb'\n }\n },\n\n Action: {\n DefaultStyle: {\n background: '#ffffff',\n borderRadius: '2px',\n padding: '6px 20px',\n fontWeight: 'bold',\n margin: '10px 0 0 0',\n border: 0\n },\n\n success: {\n backgroundColor: defaultColors.success.hex,\n color: '#ffffff'\n },\n\n error: {\n backgroundColor: defaultColors.error.hex,\n color: '#ffffff'\n },\n\n warning: {\n backgroundColor: defaultColors.warning.hex,\n color: '#ffffff'\n },\n\n info: {\n backgroundColor: defaultColors.info.hex,\n color: '#ffffff'\n }\n },\n\n ActionWrapper: {\n DefaultStyle: {\n margin: 0,\n padding: 0\n }\n }\n};\n\nmodule.exports = STYLES;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-notification-system/dist/styles.js\n ** module id = 544\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\nexports[\"default\"] = undefined;\n\nvar _react = require('react');\n\nvar _storeShape = require('../utils/storeShape');\n\nvar _storeShape2 = _interopRequireDefault(_storeShape);\n\nvar _warning = require('../utils/warning');\n\nvar _warning2 = _interopRequireDefault(_warning);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar didWarnAboutReceivingStore = false;\nfunction warnAboutReceivingStore() {\n if (didWarnAboutReceivingStore) {\n return;\n }\n didWarnAboutReceivingStore = true;\n\n (0, _warning2[\"default\"])('<Provider> does not support changing `store` on the fly. ' + 'It is most likely that you see this error because you updated to ' + 'Redux 2.x and React Redux 2.x which no longer hot reload reducers ' + 'automatically. See https://github.com/reactjs/react-redux/releases/' + 'tag/v2.0.0 for the migration instructions.');\n}\n\nvar Provider = function (_Component) {\n _inherits(Provider, _Component);\n\n Provider.prototype.getChildContext = function getChildContext() {\n return { store: this.store };\n };\n\n function Provider(props, context) {\n _classCallCheck(this, Provider);\n\n var _this = _possibleConstructorReturn(this, _Component.call(this, props, context));\n\n _this.store = props.store;\n return _this;\n }\n\n Provider.prototype.render = function render() {\n var children = this.props.children;\n\n return _react.Children.only(children);\n };\n\n return Provider;\n}(_react.Component);\n\nexports[\"default\"] = Provider;\n\nif (process.env.NODE_ENV !== 'production') {\n Provider.prototype.componentWillReceiveProps = function (nextProps) {\n var store = this.store;\n var nextStore = nextProps.store;\n\n if (store !== nextStore) {\n warnAboutReceivingStore();\n }\n };\n}\n\nProvider.propTypes = {\n store: _storeShape2[\"default\"].isRequired,\n children: _react.PropTypes.element.isRequired\n};\nProvider.childContextTypes = {\n store: _storeShape2[\"default\"].isRequired\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-redux/lib/components/Provider.js\n ** module id = 545\n ** module chunks = 0\n **/","'use strict';\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nexports.__esModule = true;\nexports[\"default\"] = connect;\n\nvar _react = require('react');\n\nvar _storeShape = require('../utils/storeShape');\n\nvar _storeShape2 = _interopRequireDefault(_storeShape);\n\nvar _shallowEqual = require('../utils/shallowEqual');\n\nvar _shallowEqual2 = _interopRequireDefault(_shallowEqual);\n\nvar _wrapActionCreators = require('../utils/wrapActionCreators');\n\nvar _wrapActionCreators2 = _interopRequireDefault(_wrapActionCreators);\n\nvar _warning = require('../utils/warning');\n\nvar _warning2 = _interopRequireDefault(_warning);\n\nvar _isPlainObject = require('lodash/isPlainObject');\n\nvar _isPlainObject2 = _interopRequireDefault(_isPlainObject);\n\nvar _hoistNonReactStatics = require('hoist-non-react-statics');\n\nvar _hoistNonReactStatics2 = _interopRequireDefault(_hoistNonReactStatics);\n\nvar _invariant = require('invariant');\n\nvar _invariant2 = _interopRequireDefault(_invariant);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar defaultMapStateToProps = function defaultMapStateToProps(state) {\n return {};\n}; // eslint-disable-line no-unused-vars\nvar defaultMapDispatchToProps = function defaultMapDispatchToProps(dispatch) {\n return { dispatch: dispatch };\n};\nvar defaultMergeProps = function defaultMergeProps(stateProps, dispatchProps, parentProps) {\n return _extends({}, parentProps, stateProps, dispatchProps);\n};\n\nfunction getDisplayName(WrappedComponent) {\n return WrappedComponent.displayName || WrappedComponent.name || 'Component';\n}\n\nvar errorObject = { value: null };\nfunction tryCatch(fn, ctx) {\n try {\n return fn.apply(ctx);\n } catch (e) {\n errorObject.value = e;\n return errorObject;\n }\n}\n\n// Helps track hot reloading.\nvar nextVersion = 0;\n\nfunction connect(mapStateToProps, mapDispatchToProps, mergeProps) {\n var options = arguments.length <= 3 || arguments[3] === undefined ? {} : arguments[3];\n\n var shouldSubscribe = Boolean(mapStateToProps);\n var mapState = mapStateToProps || defaultMapStateToProps;\n\n var mapDispatch = undefined;\n if (typeof mapDispatchToProps === 'function') {\n mapDispatch = mapDispatchToProps;\n } else if (!mapDispatchToProps) {\n mapDispatch = defaultMapDispatchToProps;\n } else {\n mapDispatch = (0, _wrapActionCreators2[\"default\"])(mapDispatchToProps);\n }\n\n var finalMergeProps = mergeProps || defaultMergeProps;\n var _options$pure = options.pure;\n var pure = _options$pure === undefined ? true : _options$pure;\n var _options$withRef = options.withRef;\n var withRef = _options$withRef === undefined ? false : _options$withRef;\n\n var checkMergedEquals = pure && finalMergeProps !== defaultMergeProps;\n\n // Helps track hot reloading.\n var version = nextVersion++;\n\n return function wrapWithConnect(WrappedComponent) {\n var connectDisplayName = 'Connect(' + getDisplayName(WrappedComponent) + ')';\n\n function checkStateShape(props, methodName) {\n if (!(0, _isPlainObject2[\"default\"])(props)) {\n (0, _warning2[\"default\"])(methodName + '() in ' + connectDisplayName + ' must return a plain object. ' + ('Instead received ' + props + '.'));\n }\n }\n\n function computeMergedProps(stateProps, dispatchProps, parentProps) {\n var mergedProps = finalMergeProps(stateProps, dispatchProps, parentProps);\n if (process.env.NODE_ENV !== 'production') {\n checkStateShape(mergedProps, 'mergeProps');\n }\n return mergedProps;\n }\n\n var Connect = function (_Component) {\n _inherits(Connect, _Component);\n\n Connect.prototype.shouldComponentUpdate = function shouldComponentUpdate() {\n return !pure || this.haveOwnPropsChanged || this.hasStoreStateChanged;\n };\n\n function Connect(props, context) {\n _classCallCheck(this, Connect);\n\n var _this = _possibleConstructorReturn(this, _Component.call(this, props, context));\n\n _this.version = version;\n _this.store = props.store || context.store;\n\n (0, _invariant2[\"default\"])(_this.store, 'Could not find \"store\" in either the context or ' + ('props of \"' + connectDisplayName + '\". ') + 'Either wrap the root component in a <Provider>, ' + ('or explicitly pass \"store\" as a prop to \"' + connectDisplayName + '\".'));\n\n var storeState = _this.store.getState();\n _this.state = { storeState: storeState };\n _this.clearCache();\n return _this;\n }\n\n Connect.prototype.computeStateProps = function computeStateProps(store, props) {\n if (!this.finalMapStateToProps) {\n return this.configureFinalMapState(store, props);\n }\n\n var state = store.getState();\n var stateProps = this.doStatePropsDependOnOwnProps ? this.finalMapStateToProps(state, props) : this.finalMapStateToProps(state);\n\n if (process.env.NODE_ENV !== 'production') {\n checkStateShape(stateProps, 'mapStateToProps');\n }\n return stateProps;\n };\n\n Connect.prototype.configureFinalMapState = function configureFinalMapState(store, props) {\n var mappedState = mapState(store.getState(), props);\n var isFactory = typeof mappedState === 'function';\n\n this.finalMapStateToProps = isFactory ? mappedState : mapState;\n this.doStatePropsDependOnOwnProps = this.finalMapStateToProps.length !== 1;\n\n if (isFactory) {\n return this.computeStateProps(store, props);\n }\n\n if (process.env.NODE_ENV !== 'production') {\n checkStateShape(mappedState, 'mapStateToProps');\n }\n return mappedState;\n };\n\n Connect.prototype.computeDispatchProps = function computeDispatchProps(store, props) {\n if (!this.finalMapDispatchToProps) {\n return this.configureFinalMapDispatch(store, props);\n }\n\n var dispatch = store.dispatch;\n\n var dispatchProps = this.doDispatchPropsDependOnOwnProps ? this.finalMapDispatchToProps(dispatch, props) : this.finalMapDispatchToProps(dispatch);\n\n if (process.env.NODE_ENV !== 'production') {\n checkStateShape(dispatchProps, 'mapDispatchToProps');\n }\n return dispatchProps;\n };\n\n Connect.prototype.configureFinalMapDispatch = function configureFinalMapDispatch(store, props) {\n var mappedDispatch = mapDispatch(store.dispatch, props);\n var isFactory = typeof mappedDispatch === 'function';\n\n this.finalMapDispatchToProps = isFactory ? mappedDispatch : mapDispatch;\n this.doDispatchPropsDependOnOwnProps = this.finalMapDispatchToProps.length !== 1;\n\n if (isFactory) {\n return this.computeDispatchProps(store, props);\n }\n\n if (process.env.NODE_ENV !== 'production') {\n checkStateShape(mappedDispatch, 'mapDispatchToProps');\n }\n return mappedDispatch;\n };\n\n Connect.prototype.updateStatePropsIfNeeded = function updateStatePropsIfNeeded() {\n var nextStateProps = this.computeStateProps(this.store, this.props);\n if (this.stateProps && (0, _shallowEqual2[\"default\"])(nextStateProps, this.stateProps)) {\n return false;\n }\n\n this.stateProps = nextStateProps;\n return true;\n };\n\n Connect.prototype.updateDispatchPropsIfNeeded = function updateDispatchPropsIfNeeded() {\n var nextDispatchProps = this.computeDispatchProps(this.store, this.props);\n if (this.dispatchProps && (0, _shallowEqual2[\"default\"])(nextDispatchProps, this.dispatchProps)) {\n return false;\n }\n\n this.dispatchProps = nextDispatchProps;\n return true;\n };\n\n Connect.prototype.updateMergedPropsIfNeeded = function updateMergedPropsIfNeeded() {\n var nextMergedProps = computeMergedProps(this.stateProps, this.dispatchProps, this.props);\n if (this.mergedProps && checkMergedEquals && (0, _shallowEqual2[\"default\"])(nextMergedProps, this.mergedProps)) {\n return false;\n }\n\n this.mergedProps = nextMergedProps;\n return true;\n };\n\n Connect.prototype.isSubscribed = function isSubscribed() {\n return typeof this.unsubscribe === 'function';\n };\n\n Connect.prototype.trySubscribe = function trySubscribe() {\n if (shouldSubscribe && !this.unsubscribe) {\n this.unsubscribe = this.store.subscribe(this.handleChange.bind(this));\n this.handleChange();\n }\n };\n\n Connect.prototype.tryUnsubscribe = function tryUnsubscribe() {\n if (this.unsubscribe) {\n this.unsubscribe();\n this.unsubscribe = null;\n }\n };\n\n Connect.prototype.componentDidMount = function componentDidMount() {\n this.trySubscribe();\n };\n\n Connect.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n if (!pure || !(0, _shallowEqual2[\"default\"])(nextProps, this.props)) {\n this.haveOwnPropsChanged = true;\n }\n };\n\n Connect.prototype.componentWillUnmount = function componentWillUnmount() {\n this.tryUnsubscribe();\n this.clearCache();\n };\n\n Connect.prototype.clearCache = function clearCache() {\n this.dispatchProps = null;\n this.stateProps = null;\n this.mergedProps = null;\n this.haveOwnPropsChanged = true;\n this.hasStoreStateChanged = true;\n this.haveStatePropsBeenPrecalculated = false;\n this.statePropsPrecalculationError = null;\n this.renderedElement = null;\n this.finalMapDispatchToProps = null;\n this.finalMapStateToProps = null;\n };\n\n Connect.prototype.handleChange = function handleChange() {\n if (!this.unsubscribe) {\n return;\n }\n\n var storeState = this.store.getState();\n var prevStoreState = this.state.storeState;\n if (pure && prevStoreState === storeState) {\n return;\n }\n\n if (pure && !this.doStatePropsDependOnOwnProps) {\n var haveStatePropsChanged = tryCatch(this.updateStatePropsIfNeeded, this);\n if (!haveStatePropsChanged) {\n return;\n }\n if (haveStatePropsChanged === errorObject) {\n this.statePropsPrecalculationError = errorObject.value;\n }\n this.haveStatePropsBeenPrecalculated = true;\n }\n\n this.hasStoreStateChanged = true;\n this.setState({ storeState: storeState });\n };\n\n Connect.prototype.getWrappedInstance = function getWrappedInstance() {\n (0, _invariant2[\"default\"])(withRef, 'To access the wrapped instance, you need to specify ' + '{ withRef: true } as the fourth argument of the connect() call.');\n\n return this.refs.wrappedInstance;\n };\n\n Connect.prototype.render = function render() {\n var haveOwnPropsChanged = this.haveOwnPropsChanged;\n var hasStoreStateChanged = this.hasStoreStateChanged;\n var haveStatePropsBeenPrecalculated = this.haveStatePropsBeenPrecalculated;\n var statePropsPrecalculationError = this.statePropsPrecalculationError;\n var renderedElement = this.renderedElement;\n\n this.haveOwnPropsChanged = false;\n this.hasStoreStateChanged = false;\n this.haveStatePropsBeenPrecalculated = false;\n this.statePropsPrecalculationError = null;\n\n if (statePropsPrecalculationError) {\n throw statePropsPrecalculationError;\n }\n\n var shouldUpdateStateProps = true;\n var shouldUpdateDispatchProps = true;\n if (pure && renderedElement) {\n shouldUpdateStateProps = hasStoreStateChanged || haveOwnPropsChanged && this.doStatePropsDependOnOwnProps;\n shouldUpdateDispatchProps = haveOwnPropsChanged && this.doDispatchPropsDependOnOwnProps;\n }\n\n var haveStatePropsChanged = false;\n var haveDispatchPropsChanged = false;\n if (haveStatePropsBeenPrecalculated) {\n haveStatePropsChanged = true;\n } else if (shouldUpdateStateProps) {\n haveStatePropsChanged = this.updateStatePropsIfNeeded();\n }\n if (shouldUpdateDispatchProps) {\n haveDispatchPropsChanged = this.updateDispatchPropsIfNeeded();\n }\n\n var haveMergedPropsChanged = true;\n if (haveStatePropsChanged || haveDispatchPropsChanged || haveOwnPropsChanged) {\n haveMergedPropsChanged = this.updateMergedPropsIfNeeded();\n } else {\n haveMergedPropsChanged = false;\n }\n\n if (!haveMergedPropsChanged && renderedElement) {\n return renderedElement;\n }\n\n if (withRef) {\n this.renderedElement = (0, _react.createElement)(WrappedComponent, _extends({}, this.mergedProps, {\n ref: 'wrappedInstance'\n }));\n } else {\n this.renderedElement = (0, _react.createElement)(WrappedComponent, this.mergedProps);\n }\n\n return this.renderedElement;\n };\n\n return Connect;\n }(_react.Component);\n\n Connect.displayName = connectDisplayName;\n Connect.WrappedComponent = WrappedComponent;\n Connect.contextTypes = {\n store: _storeShape2[\"default\"]\n };\n Connect.propTypes = {\n store: _storeShape2[\"default\"]\n };\n\n if (process.env.NODE_ENV !== 'production') {\n Connect.prototype.componentWillUpdate = function componentWillUpdate() {\n if (this.version === version) {\n return;\n }\n\n // We are hot reloading!\n this.version = version;\n this.trySubscribe();\n this.clearCache();\n };\n }\n\n return (0, _hoistNonReactStatics2[\"default\"])(Connect, WrappedComponent);\n };\n}\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-redux/lib/components/connect.js\n ** module id = 546\n ** module chunks = 0\n **/","\"use strict\";\n\nexports.__esModule = true;\nexports[\"default\"] = shallowEqual;\nfunction shallowEqual(objA, objB) {\n if (objA === objB) {\n return true;\n }\n\n var keysA = Object.keys(objA);\n var keysB = Object.keys(objB);\n\n if (keysA.length !== keysB.length) {\n return false;\n }\n\n // Test for A's keys different from B.\n var hasOwn = Object.prototype.hasOwnProperty;\n for (var i = 0; i < keysA.length; i++) {\n if (!hasOwn.call(objB, keysA[i]) || objA[keysA[i]] !== objB[keysA[i]]) {\n return false;\n }\n }\n\n return true;\n}\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-redux/lib/utils/shallowEqual.js\n ** module id = 547\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\nexports[\"default\"] = wrapActionCreators;\n\nvar _redux = require('redux');\n\nfunction wrapActionCreators(actionCreators) {\n return function (dispatch) {\n return (0, _redux.bindActionCreators)(actionCreators, dispatch);\n };\n}\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-redux/lib/utils/wrapActionCreators.js\n ** module id = 548\n ** module chunks = 0\n **/","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports['default'] = routerMiddleware;\n\nvar _actions = require('./actions');\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\n/**\n * This middleware captures CALL_HISTORY_METHOD actions to redirect to the\n * provided history object. This will prevent these actions from reaching your\n * reducer or any middleware that comes after this one.\n */\nfunction routerMiddleware(history) {\n return function () {\n return function (next) {\n return function (action) {\n if (action.type !== _actions.CALL_HISTORY_METHOD) {\n return next(action);\n }\n\n var _action$payload = action.payload,\n method = _action$payload.method,\n args = _action$payload.args;\n\n history[method].apply(history, _toConsumableArray(args));\n };\n };\n };\n}\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-router-redux/lib/middleware.js\n ** module id = 549\n ** module chunks = 0\n **/","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nexports['default'] = syncHistoryWithStore;\n\nvar _reducer = require('./reducer');\n\nvar defaultSelectLocationState = function defaultSelectLocationState(state) {\n return state.routing;\n};\n\n/**\n * This function synchronizes your history state with the Redux store.\n * Location changes flow from history to the store. An enhanced history is\n * returned with a listen method that responds to store updates for location.\n *\n * When this history is provided to the router, this means the location data\n * will flow like this:\n * history.push -> store.dispatch -> enhancedHistory.listen -> router\n * This ensures that when the store state changes due to a replay or other\n * event, the router will be updated appropriately and can transition to the\n * correct router state.\n */\nfunction syncHistoryWithStore(history, store) {\n var _ref = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},\n _ref$selectLocationSt = _ref.selectLocationState,\n selectLocationState = _ref$selectLocationSt === undefined ? defaultSelectLocationState : _ref$selectLocationSt,\n _ref$adjustUrlOnRepla = _ref.adjustUrlOnReplay,\n adjustUrlOnReplay = _ref$adjustUrlOnRepla === undefined ? true : _ref$adjustUrlOnRepla;\n\n // Ensure that the reducer is mounted on the store and functioning properly.\n if (typeof selectLocationState(store.getState()) === 'undefined') {\n throw new Error('Expected the routing state to be available either as `state.routing` ' + 'or as the custom expression you can specify as `selectLocationState` ' + 'in the `syncHistoryWithStore()` options. ' + 'Ensure you have added the `routerReducer` to your store\\'s ' + 'reducers via `combineReducers` or whatever method you use to isolate ' + 'your reducers.');\n }\n\n var initialLocation = void 0;\n var isTimeTraveling = void 0;\n var unsubscribeFromStore = void 0;\n var unsubscribeFromHistory = void 0;\n var currentLocation = void 0;\n\n // What does the store say about current location?\n var getLocationInStore = function getLocationInStore(useInitialIfEmpty) {\n var locationState = selectLocationState(store.getState());\n return locationState.locationBeforeTransitions || (useInitialIfEmpty ? initialLocation : undefined);\n };\n\n // Init initialLocation with potential location in store\n initialLocation = getLocationInStore();\n\n // If the store is replayed, update the URL in the browser to match.\n if (adjustUrlOnReplay) {\n var handleStoreChange = function handleStoreChange() {\n var locationInStore = getLocationInStore(true);\n if (currentLocation === locationInStore || initialLocation === locationInStore) {\n return;\n }\n\n // Update address bar to reflect store state\n isTimeTraveling = true;\n currentLocation = locationInStore;\n history.transitionTo(_extends({}, locationInStore, {\n action: 'PUSH'\n }));\n isTimeTraveling = false;\n };\n\n unsubscribeFromStore = store.subscribe(handleStoreChange);\n handleStoreChange();\n }\n\n // Whenever location changes, dispatch an action to get it in the store\n var handleLocationChange = function handleLocationChange(location) {\n // ... unless we just caused that location change\n if (isTimeTraveling) {\n return;\n }\n\n // Remember where we are\n currentLocation = location;\n\n // Are we being called for the first time?\n if (!initialLocation) {\n // Remember as a fallback in case state is reset\n initialLocation = location;\n\n // Respect persisted location, if any\n if (getLocationInStore()) {\n return;\n }\n }\n\n // Tell the store to update by dispatching an action\n store.dispatch({\n type: _reducer.LOCATION_CHANGE,\n payload: location\n });\n };\n unsubscribeFromHistory = history.listen(handleLocationChange);\n\n // support history 3.x\n if (history.getCurrentLocation) {\n handleLocationChange(history.getCurrentLocation());\n }\n\n // The enhanced history uses store as source of truth\n return _extends({}, history, {\n // The listeners are subscribed to the store instead of history\n listen: function listen(listener) {\n // Copy of last location.\n var lastPublishedLocation = getLocationInStore(true);\n\n // Keep track of whether we unsubscribed, as Redux store\n // only applies changes in subscriptions on next dispatch\n var unsubscribed = false;\n var unsubscribeFromStore = store.subscribe(function () {\n var currentLocation = getLocationInStore(true);\n if (currentLocation === lastPublishedLocation) {\n return;\n }\n lastPublishedLocation = currentLocation;\n if (!unsubscribed) {\n listener(lastPublishedLocation);\n }\n });\n\n // History listeners expect a synchronous call. Make the first call to the\n // listener after subscribing to the store, in case the listener causes a\n // location change (e.g. when it redirects)\n listener(lastPublishedLocation);\n\n // Let user unsubscribe later\n return function () {\n unsubscribed = true;\n unsubscribeFromStore();\n };\n },\n\n\n // It also provides a way to destroy internal listeners\n unsubscribe: function unsubscribe() {\n if (adjustUrlOnReplay) {\n unsubscribeFromStore();\n }\n unsubscribeFromHistory();\n }\n });\n}\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-router-redux/lib/sync.js\n ** module id = 550\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _Link = require('./Link');\n\nvar _Link2 = _interopRequireDefault(_Link);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * An <IndexLink> is used to link to an <IndexRoute>.\n */\nvar IndexLink = _react2.default.createClass({\n displayName: 'IndexLink',\n render: function render() {\n return _react2.default.createElement(_Link2.default, _extends({}, this.props, { onlyActiveOnIndex: true }));\n }\n});\n\nexports.default = IndexLink;\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-router/lib/IndexLink.js\n ** module id = 551\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _routerWarning = require('./routerWarning');\n\nvar _routerWarning2 = _interopRequireDefault(_routerWarning);\n\nvar _invariant = require('invariant');\n\nvar _invariant2 = _interopRequireDefault(_invariant);\n\nvar _Redirect = require('./Redirect');\n\nvar _Redirect2 = _interopRequireDefault(_Redirect);\n\nvar _InternalPropTypes = require('./InternalPropTypes');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar _React$PropTypes = _react2.default.PropTypes,\n string = _React$PropTypes.string,\n object = _React$PropTypes.object;\n\n/**\n * An <IndexRedirect> is used to redirect from an indexRoute.\n */\n/* eslint-disable react/require-render-return */\n\nvar IndexRedirect = _react2.default.createClass({\n displayName: 'IndexRedirect',\n\n\n statics: {\n createRouteFromReactElement: function createRouteFromReactElement(element, parentRoute) {\n /* istanbul ignore else: sanity check */\n if (parentRoute) {\n parentRoute.indexRoute = _Redirect2.default.createRouteFromReactElement(element);\n } else {\n process.env.NODE_ENV !== 'production' ? (0, _routerWarning2.default)(false, 'An <IndexRedirect> does not make sense at the root of your route config') : void 0;\n }\n }\n },\n\n propTypes: {\n to: string.isRequired,\n query: object,\n state: object,\n onEnter: _InternalPropTypes.falsy,\n children: _InternalPropTypes.falsy\n },\n\n /* istanbul ignore next: sanity check */\n render: function render() {\n !false ? process.env.NODE_ENV !== 'production' ? (0, _invariant2.default)(false, '<IndexRedirect> elements are for router configuration only and should not be rendered') : (0, _invariant2.default)(false) : void 0;\n }\n});\n\nexports.default = IndexRedirect;\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-router/lib/IndexRedirect.js\n ** module id = 552\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _routerWarning = require('./routerWarning');\n\nvar _routerWarning2 = _interopRequireDefault(_routerWarning);\n\nvar _invariant = require('invariant');\n\nvar _invariant2 = _interopRequireDefault(_invariant);\n\nvar _RouteUtils = require('./RouteUtils');\n\nvar _InternalPropTypes = require('./InternalPropTypes');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar func = _react2.default.PropTypes.func;\n\n/**\n * An <IndexRoute> is used to specify its parent's <Route indexRoute> in\n * a JSX route config.\n */\n/* eslint-disable react/require-render-return */\n\nvar IndexRoute = _react2.default.createClass({\n displayName: 'IndexRoute',\n\n\n statics: {\n createRouteFromReactElement: function createRouteFromReactElement(element, parentRoute) {\n /* istanbul ignore else: sanity check */\n if (parentRoute) {\n parentRoute.indexRoute = (0, _RouteUtils.createRouteFromReactElement)(element);\n } else {\n process.env.NODE_ENV !== 'production' ? (0, _routerWarning2.default)(false, 'An <IndexRoute> does not make sense at the root of your route config') : void 0;\n }\n }\n },\n\n propTypes: {\n path: _InternalPropTypes.falsy,\n component: _InternalPropTypes.component,\n components: _InternalPropTypes.components,\n getComponent: func,\n getComponents: func\n },\n\n /* istanbul ignore next: sanity check */\n render: function render() {\n !false ? process.env.NODE_ENV !== 'production' ? (0, _invariant2.default)(false, '<IndexRoute> elements are for router configuration only and should not be rendered') : (0, _invariant2.default)(false) : void 0;\n }\n});\n\nexports.default = IndexRoute;\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-router/lib/IndexRoute.js\n ** module id = 553\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _invariant = require('invariant');\n\nvar _invariant2 = _interopRequireDefault(_invariant);\n\nvar _RouteUtils = require('./RouteUtils');\n\nvar _InternalPropTypes = require('./InternalPropTypes');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar _React$PropTypes = _react2.default.PropTypes,\n string = _React$PropTypes.string,\n func = _React$PropTypes.func;\n\n/**\n * A <Route> is used to declare which components are rendered to the\n * page when the URL matches a given pattern.\n *\n * Routes are arranged in a nested tree structure. When a new URL is\n * requested, the tree is searched depth-first to find a route whose\n * path matches the URL. When one is found, all routes in the tree\n * that lead to it are considered \"active\" and their components are\n * rendered into the DOM, nested in the same order as in the tree.\n */\n/* eslint-disable react/require-render-return */\n\nvar Route = _react2.default.createClass({\n displayName: 'Route',\n\n\n statics: {\n createRouteFromReactElement: _RouteUtils.createRouteFromReactElement\n },\n\n propTypes: {\n path: string,\n component: _InternalPropTypes.component,\n components: _InternalPropTypes.components,\n getComponent: func,\n getComponents: func\n },\n\n /* istanbul ignore next: sanity check */\n render: function render() {\n !false ? process.env.NODE_ENV !== 'production' ? (0, _invariant2.default)(false, '<Route> elements are for router configuration only and should not be rendered') : (0, _invariant2.default)(false) : void 0;\n }\n});\n\nexports.default = Route;\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-router/lib/Route.js\n ** module id = 554\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _invariant = require('invariant');\n\nvar _invariant2 = _interopRequireDefault(_invariant);\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _createTransitionManager2 = require('./createTransitionManager');\n\nvar _createTransitionManager3 = _interopRequireDefault(_createTransitionManager2);\n\nvar _InternalPropTypes = require('./InternalPropTypes');\n\nvar _RouterContext = require('./RouterContext');\n\nvar _RouterContext2 = _interopRequireDefault(_RouterContext);\n\nvar _RouteUtils = require('./RouteUtils');\n\nvar _RouterUtils = require('./RouterUtils');\n\nvar _routerWarning = require('./routerWarning');\n\nvar _routerWarning2 = _interopRequireDefault(_routerWarning);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nvar _React$PropTypes = _react2.default.PropTypes,\n func = _React$PropTypes.func,\n object = _React$PropTypes.object;\n\n/**\n * A <Router> is a high-level API for automatically setting up\n * a router that renders a <RouterContext> with all the props\n * it needs each time the URL changes.\n */\n\nvar Router = _react2.default.createClass({\n displayName: 'Router',\n\n\n propTypes: {\n history: object,\n children: _InternalPropTypes.routes,\n routes: _InternalPropTypes.routes, // alias for children\n render: func,\n createElement: func,\n onError: func,\n onUpdate: func,\n\n // PRIVATE: For client-side rehydration of server match.\n matchContext: object\n },\n\n getDefaultProps: function getDefaultProps() {\n return {\n render: function render(props) {\n return _react2.default.createElement(_RouterContext2.default, props);\n }\n };\n },\n getInitialState: function getInitialState() {\n return {\n location: null,\n routes: null,\n params: null,\n components: null\n };\n },\n handleError: function handleError(error) {\n if (this.props.onError) {\n this.props.onError.call(this, error);\n } else {\n // Throw errors by default so we don't silently swallow them!\n throw error; // This error probably occurred in getChildRoutes or getComponents.\n }\n },\n createRouterObject: function createRouterObject(state) {\n var matchContext = this.props.matchContext;\n\n if (matchContext) {\n return matchContext.router;\n }\n\n var history = this.props.history;\n\n return (0, _RouterUtils.createRouterObject)(history, this.transitionManager, state);\n },\n createTransitionManager: function createTransitionManager() {\n var matchContext = this.props.matchContext;\n\n if (matchContext) {\n return matchContext.transitionManager;\n }\n\n var history = this.props.history;\n var _props = this.props,\n routes = _props.routes,\n children = _props.children;\n\n\n !history.getCurrentLocation ? process.env.NODE_ENV !== 'production' ? (0, _invariant2.default)(false, 'You have provided a history object created with history v2.x or ' + 'earlier. This version of React Router is only compatible with v3 ' + 'history objects. Please upgrade to history v3.x.') : (0, _invariant2.default)(false) : void 0;\n\n return (0, _createTransitionManager3.default)(history, (0, _RouteUtils.createRoutes)(routes || children));\n },\n componentWillMount: function componentWillMount() {\n var _this = this;\n\n this.transitionManager = this.createTransitionManager();\n this.router = this.createRouterObject(this.state);\n\n this._unlisten = this.transitionManager.listen(function (error, state) {\n if (error) {\n _this.handleError(error);\n } else {\n // Keep the identity of this.router because of a caveat in ContextUtils:\n // they only work if the object identity is preserved.\n (0, _RouterUtils.assignRouterState)(_this.router, state);\n _this.setState(state, _this.props.onUpdate);\n }\n });\n },\n\n\n /* istanbul ignore next: sanity check */\n componentWillReceiveProps: function componentWillReceiveProps(nextProps) {\n process.env.NODE_ENV !== 'production' ? (0, _routerWarning2.default)(nextProps.history === this.props.history, 'You cannot change <Router history>; it will be ignored') : void 0;\n\n process.env.NODE_ENV !== 'production' ? (0, _routerWarning2.default)((nextProps.routes || nextProps.children) === (this.props.routes || this.props.children), 'You cannot change <Router routes>; it will be ignored') : void 0;\n },\n componentWillUnmount: function componentWillUnmount() {\n if (this._unlisten) this._unlisten();\n },\n render: function render() {\n var _state = this.state,\n location = _state.location,\n routes = _state.routes,\n params = _state.params,\n components = _state.components;\n\n var _props2 = this.props,\n createElement = _props2.createElement,\n render = _props2.render,\n props = _objectWithoutProperties(_props2, ['createElement', 'render']);\n\n if (location == null) return null; // Async match\n\n // Only forward non-Router-specific props to routing context, as those are\n // the only ones that might be custom routing context props.\n Object.keys(Router.propTypes).forEach(function (propType) {\n return delete props[propType];\n });\n\n return render(_extends({}, props, {\n router: this.router,\n location: location,\n routes: routes,\n params: params,\n components: components,\n createElement: createElement\n }));\n }\n});\n\nexports.default = Router;\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-router/lib/Router.js\n ** module id = 555\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\nexports.runEnterHooks = runEnterHooks;\nexports.runChangeHooks = runChangeHooks;\nexports.runLeaveHooks = runLeaveHooks;\n\nvar _AsyncUtils = require('./AsyncUtils');\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar PendingHooks = function PendingHooks() {\n var _this = this;\n\n _classCallCheck(this, PendingHooks);\n\n this.hooks = [];\n\n this.add = function (hook) {\n return _this.hooks.push(hook);\n };\n\n this.remove = function (hook) {\n return _this.hooks = _this.hooks.filter(function (h) {\n return h !== hook;\n });\n };\n\n this.has = function (hook) {\n return _this.hooks.indexOf(hook) !== -1;\n };\n\n this.clear = function () {\n return _this.hooks = [];\n };\n};\n\nvar enterHooks = new PendingHooks();\nvar changeHooks = new PendingHooks();\n\nfunction createTransitionHook(hook, route, asyncArity, pendingHooks) {\n var isSync = hook.length < asyncArity;\n\n var transitionHook = function transitionHook() {\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n hook.apply(route, args);\n\n if (isSync) {\n var callback = args[args.length - 1];\n // Assume hook executes synchronously and\n // automatically call the callback.\n callback();\n }\n };\n\n pendingHooks.add(transitionHook);\n\n return transitionHook;\n}\n\nfunction getEnterHooks(routes) {\n return routes.reduce(function (hooks, route) {\n if (route.onEnter) hooks.push(createTransitionHook(route.onEnter, route, 3, enterHooks));\n return hooks;\n }, []);\n}\n\nfunction getChangeHooks(routes) {\n return routes.reduce(function (hooks, route) {\n if (route.onChange) hooks.push(createTransitionHook(route.onChange, route, 4, changeHooks));\n return hooks;\n }, []);\n}\n\nfunction runTransitionHooks(length, iter, callback) {\n if (!length) {\n callback();\n return;\n }\n\n var redirectInfo = void 0;\n function replace(location) {\n redirectInfo = location;\n }\n\n (0, _AsyncUtils.loopAsync)(length, function (index, next, done) {\n iter(index, replace, function (error) {\n if (error || redirectInfo) {\n done(error, redirectInfo); // No need to continue.\n } else {\n next();\n }\n });\n }, callback);\n}\n\n/**\n * Runs all onEnter hooks in the given array of routes in order\n * with onEnter(nextState, replace, callback) and calls\n * callback(error, redirectInfo) when finished. The first hook\n * to use replace short-circuits the loop.\n *\n * If a hook needs to run asynchronously, it may use the callback\n * function. However, doing so will cause the transition to pause,\n * which could lead to a non-responsive UI if the hook is slow.\n */\nfunction runEnterHooks(routes, nextState, callback) {\n enterHooks.clear();\n var hooks = getEnterHooks(routes);\n return runTransitionHooks(hooks.length, function (index, replace, next) {\n var wrappedNext = function wrappedNext() {\n if (enterHooks.has(hooks[index])) {\n next();\n enterHooks.remove(hooks[index]);\n }\n };\n hooks[index](nextState, replace, wrappedNext);\n }, callback);\n}\n\n/**\n * Runs all onChange hooks in the given array of routes in order\n * with onChange(prevState, nextState, replace, callback) and calls\n * callback(error, redirectInfo) when finished. The first hook\n * to use replace short-circuits the loop.\n *\n * If a hook needs to run asynchronously, it may use the callback\n * function. However, doing so will cause the transition to pause,\n * which could lead to a non-responsive UI if the hook is slow.\n */\nfunction runChangeHooks(routes, state, nextState, callback) {\n changeHooks.clear();\n var hooks = getChangeHooks(routes);\n return runTransitionHooks(hooks.length, function (index, replace, next) {\n var wrappedNext = function wrappedNext() {\n if (changeHooks.has(hooks[index])) {\n next();\n changeHooks.remove(hooks[index]);\n }\n };\n hooks[index](state, nextState, replace, wrappedNext);\n }, callback);\n}\n\n/**\n * Runs all onLeave hooks in the given array of routes in order.\n */\nfunction runLeaveHooks(routes, prevState) {\n for (var i = 0, len = routes.length; i < len; ++i) {\n if (routes[i].onLeave) routes[i].onLeave.call(routes[i], prevState);\n }\n}\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-router/lib/TransitionUtils.js\n ** module id = 556\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _RouterContext = require('./RouterContext');\n\nvar _RouterContext2 = _interopRequireDefault(_RouterContext);\n\nvar _routerWarning = require('./routerWarning');\n\nvar _routerWarning2 = _interopRequireDefault(_routerWarning);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function () {\n for (var _len = arguments.length, middlewares = Array(_len), _key = 0; _key < _len; _key++) {\n middlewares[_key] = arguments[_key];\n }\n\n if (process.env.NODE_ENV !== 'production') {\n middlewares.forEach(function (middleware, index) {\n process.env.NODE_ENV !== 'production' ? (0, _routerWarning2.default)(middleware.renderRouterContext || middleware.renderRouteComponent, 'The middleware specified at index ' + index + ' does not appear to be ' + 'a valid React Router middleware.') : void 0;\n });\n }\n\n var withContext = middlewares.map(function (middleware) {\n return middleware.renderRouterContext;\n }).filter(Boolean);\n var withComponent = middlewares.map(function (middleware) {\n return middleware.renderRouteComponent;\n }).filter(Boolean);\n\n var makeCreateElement = function makeCreateElement() {\n var baseCreateElement = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _react.createElement;\n return function (Component, props) {\n return withComponent.reduceRight(function (previous, renderRouteComponent) {\n return renderRouteComponent(previous, props);\n }, baseCreateElement(Component, props));\n };\n };\n\n return function (renderProps) {\n return withContext.reduceRight(function (previous, renderRouterContext) {\n return renderRouterContext(previous, renderProps);\n }, _react2.default.createElement(_RouterContext2.default, _extends({}, renderProps, {\n createElement: makeCreateElement(renderProps.createElement)\n })));\n };\n};\n\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-router/lib/applyRouterMiddleware.js\n ** module id = 557\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\n\nvar _createBrowserHistory = require('history/lib/createBrowserHistory');\n\nvar _createBrowserHistory2 = _interopRequireDefault(_createBrowserHistory);\n\nvar _createRouterHistory = require('./createRouterHistory');\n\nvar _createRouterHistory2 = _interopRequireDefault(_createRouterHistory);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = (0, _createRouterHistory2.default)(_createBrowserHistory2.default);\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-router/lib/browserHistory.js\n ** module id = 558\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\n\nvar _PatternUtils = require('./PatternUtils');\n\nfunction routeParamsChanged(route, prevState, nextState) {\n if (!route.path) return false;\n\n var paramNames = (0, _PatternUtils.getParamNames)(route.path);\n\n return paramNames.some(function (paramName) {\n return prevState.params[paramName] !== nextState.params[paramName];\n });\n}\n\n/**\n * Returns an object of { leaveRoutes, changeRoutes, enterRoutes } determined by\n * the change from prevState to nextState. We leave routes if either\n * 1) they are not in the next state or 2) they are in the next state\n * but their params have changed (i.e. /users/123 => /users/456).\n *\n * leaveRoutes are ordered starting at the leaf route of the tree\n * we're leaving up to the common parent route. enterRoutes are ordered\n * from the top of the tree we're entering down to the leaf route.\n *\n * changeRoutes are any routes that didn't leave or enter during\n * the transition.\n */\nfunction computeChangedRoutes(prevState, nextState) {\n var prevRoutes = prevState && prevState.routes;\n var nextRoutes = nextState.routes;\n\n var leaveRoutes = void 0,\n changeRoutes = void 0,\n enterRoutes = void 0;\n if (prevRoutes) {\n (function () {\n var parentIsLeaving = false;\n leaveRoutes = prevRoutes.filter(function (route) {\n if (parentIsLeaving) {\n return true;\n } else {\n var isLeaving = nextRoutes.indexOf(route) === -1 || routeParamsChanged(route, prevState, nextState);\n if (isLeaving) parentIsLeaving = true;\n return isLeaving;\n }\n });\n\n // onLeave hooks start at the leaf route.\n leaveRoutes.reverse();\n\n enterRoutes = [];\n changeRoutes = [];\n\n nextRoutes.forEach(function (route) {\n var isNew = prevRoutes.indexOf(route) === -1;\n var paramsChanged = leaveRoutes.indexOf(route) !== -1;\n\n if (isNew || paramsChanged) enterRoutes.push(route);else changeRoutes.push(route);\n });\n })();\n } else {\n leaveRoutes = [];\n changeRoutes = [];\n enterRoutes = nextRoutes;\n }\n\n return {\n leaveRoutes: leaveRoutes,\n changeRoutes: changeRoutes,\n enterRoutes: enterRoutes\n };\n}\n\nexports.default = computeChangedRoutes;\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-router/lib/computeChangedRoutes.js\n ** module id = 559\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\n\nvar _AsyncUtils = require('./AsyncUtils');\n\nvar _PromiseUtils = require('./PromiseUtils');\n\nfunction getComponentsForRoute(nextState, route, callback) {\n if (route.component || route.components) {\n callback(null, route.component || route.components);\n return;\n }\n\n var getComponent = route.getComponent || route.getComponents;\n if (getComponent) {\n var componentReturn = getComponent.call(route, nextState, callback);\n if ((0, _PromiseUtils.isPromise)(componentReturn)) componentReturn.then(function (component) {\n return callback(null, component);\n }, callback);\n } else {\n callback();\n }\n}\n\n/**\n * Asynchronously fetches all components needed for the given router\n * state and calls callback(error, components) when finished.\n *\n * Note: This operation may finish synchronously if no routes have an\n * asynchronous getComponents method.\n */\nfunction getComponents(nextState, callback) {\n (0, _AsyncUtils.mapAsync)(nextState.routes, function (route, index, callback) {\n getComponentsForRoute(nextState, route, callback);\n }, callback);\n}\n\nexports.default = getComponents;\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-router/lib/getComponents.js\n ** module id = 560\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\n\nvar _PatternUtils = require('./PatternUtils');\n\n/**\n * Extracts an object of params the given route cares about from\n * the given params object.\n */\nfunction getRouteParams(route, params) {\n var routeParams = {};\n\n if (!route.path) return routeParams;\n\n (0, _PatternUtils.getParamNames)(route.path).forEach(function (p) {\n if (Object.prototype.hasOwnProperty.call(params, p)) {\n routeParams[p] = params[p];\n }\n });\n\n return routeParams;\n}\n\nexports.default = getRouteParams;\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-router/lib/getRouteParams.js\n ** module id = 561\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\n\nvar _createHashHistory = require('history/lib/createHashHistory');\n\nvar _createHashHistory2 = _interopRequireDefault(_createHashHistory);\n\nvar _createRouterHistory = require('./createRouterHistory');\n\nvar _createRouterHistory2 = _interopRequireDefault(_createRouterHistory);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = (0, _createRouterHistory2.default)(_createHashHistory2.default);\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-router/lib/hashHistory.js\n ** module id = 562\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nexports.default = isActive;\n\nvar _PatternUtils = require('./PatternUtils');\n\nfunction deepEqual(a, b) {\n if (a == b) return true;\n\n if (a == null || b == null) return false;\n\n if (Array.isArray(a)) {\n return Array.isArray(b) && a.length === b.length && a.every(function (item, index) {\n return deepEqual(item, b[index]);\n });\n }\n\n if ((typeof a === 'undefined' ? 'undefined' : _typeof(a)) === 'object') {\n for (var p in a) {\n if (!Object.prototype.hasOwnProperty.call(a, p)) {\n continue;\n }\n\n if (a[p] === undefined) {\n if (b[p] !== undefined) {\n return false;\n }\n } else if (!Object.prototype.hasOwnProperty.call(b, p)) {\n return false;\n } else if (!deepEqual(a[p], b[p])) {\n return false;\n }\n }\n\n return true;\n }\n\n return String(a) === String(b);\n}\n\n/**\n * Returns true if the current pathname matches the supplied one, net of\n * leading and trailing slash normalization. This is sufficient for an\n * indexOnly route match.\n */\nfunction pathIsActive(pathname, currentPathname) {\n // Normalize leading slash for consistency. Leading slash on pathname has\n // already been normalized in isActive. See caveat there.\n if (currentPathname.charAt(0) !== '/') {\n currentPathname = '/' + currentPathname;\n }\n\n // Normalize the end of both path names too. Maybe `/foo/` shouldn't show\n // `/foo` as active, but in this case, we would already have failed the\n // match.\n if (pathname.charAt(pathname.length - 1) !== '/') {\n pathname += '/';\n }\n if (currentPathname.charAt(currentPathname.length - 1) !== '/') {\n currentPathname += '/';\n }\n\n return currentPathname === pathname;\n}\n\n/**\n * Returns true if the given pathname matches the active routes and params.\n */\nfunction routeIsActive(pathname, routes, params) {\n var remainingPathname = pathname,\n paramNames = [],\n paramValues = [];\n\n // for...of would work here but it's probably slower post-transpilation.\n for (var i = 0, len = routes.length; i < len; ++i) {\n var route = routes[i];\n var pattern = route.path || '';\n\n if (pattern.charAt(0) === '/') {\n remainingPathname = pathname;\n paramNames = [];\n paramValues = [];\n }\n\n if (remainingPathname !== null && pattern) {\n var matched = (0, _PatternUtils.matchPattern)(pattern, remainingPathname);\n if (matched) {\n remainingPathname = matched.remainingPathname;\n paramNames = [].concat(paramNames, matched.paramNames);\n paramValues = [].concat(paramValues, matched.paramValues);\n } else {\n remainingPathname = null;\n }\n\n if (remainingPathname === '') {\n // We have an exact match on the route. Just check that all the params\n // match.\n // FIXME: This doesn't work on repeated params.\n return paramNames.every(function (paramName, index) {\n return String(paramValues[index]) === String(params[paramName]);\n });\n }\n }\n }\n\n return false;\n}\n\n/**\n * Returns true if all key/value pairs in the given query are\n * currently active.\n */\nfunction queryIsActive(query, activeQuery) {\n if (activeQuery == null) return query == null;\n\n if (query == null) return true;\n\n return deepEqual(query, activeQuery);\n}\n\n/**\n * Returns true if a <Link> to the given pathname/query combination is\n * currently active.\n */\nfunction isActive(_ref, indexOnly, currentLocation, routes, params) {\n var pathname = _ref.pathname,\n query = _ref.query;\n\n if (currentLocation == null) return false;\n\n // TODO: This is a bit ugly. It keeps around support for treating pathnames\n // without preceding slashes as absolute paths, but possibly also works\n // around the same quirks with basenames as in matchRoutes.\n if (pathname.charAt(0) !== '/') {\n pathname = '/' + pathname;\n }\n\n if (!pathIsActive(pathname, currentLocation.pathname)) {\n // The path check is necessary and sufficient for indexOnly, but otherwise\n // we still need to check the routes.\n if (indexOnly || !routeIsActive(pathname, routes, params)) {\n return false;\n }\n }\n\n return queryIsActive(query, currentLocation.query);\n}\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-router/lib/isActive.js\n ** module id = 563\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _Actions = require('history/lib/Actions');\n\nvar _invariant = require('invariant');\n\nvar _invariant2 = _interopRequireDefault(_invariant);\n\nvar _createMemoryHistory = require('./createMemoryHistory');\n\nvar _createMemoryHistory2 = _interopRequireDefault(_createMemoryHistory);\n\nvar _createTransitionManager = require('./createTransitionManager');\n\nvar _createTransitionManager2 = _interopRequireDefault(_createTransitionManager);\n\nvar _RouteUtils = require('./RouteUtils');\n\nvar _RouterUtils = require('./RouterUtils');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\n/**\n * A high-level API to be used for server-side rendering.\n *\n * This function matches a location to a set of routes and calls\n * callback(error, redirectLocation, renderProps) when finished.\n *\n * Note: You probably don't want to use this in a browser unless you're using\n * server-side rendering with async routes.\n */\nfunction match(_ref, callback) {\n var history = _ref.history,\n routes = _ref.routes,\n location = _ref.location,\n options = _objectWithoutProperties(_ref, ['history', 'routes', 'location']);\n\n !(history || location) ? process.env.NODE_ENV !== 'production' ? (0, _invariant2.default)(false, 'match needs a history or a location') : (0, _invariant2.default)(false) : void 0;\n\n history = history ? history : (0, _createMemoryHistory2.default)(options);\n var transitionManager = (0, _createTransitionManager2.default)(history, (0, _RouteUtils.createRoutes)(routes));\n\n if (location) {\n // Allow match({ location: '/the/path', ... })\n location = history.createLocation(location);\n } else {\n location = history.getCurrentLocation();\n }\n\n transitionManager.match(location, function (error, redirectLocation, nextState) {\n var renderProps = void 0;\n\n if (nextState) {\n var router = (0, _RouterUtils.createRouterObject)(history, transitionManager, nextState);\n renderProps = _extends({}, nextState, {\n router: router,\n matchContext: { transitionManager: transitionManager, router: router }\n });\n }\n\n callback(error, redirectLocation && history.createLocation(redirectLocation, _Actions.REPLACE), renderProps);\n });\n}\n\nexports.default = match;\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-router/lib/match.js\n ** module id = 564\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nexports.default = matchRoutes;\n\nvar _AsyncUtils = require('./AsyncUtils');\n\nvar _PromiseUtils = require('./PromiseUtils');\n\nvar _PatternUtils = require('./PatternUtils');\n\nvar _routerWarning = require('./routerWarning');\n\nvar _routerWarning2 = _interopRequireDefault(_routerWarning);\n\nvar _RouteUtils = require('./RouteUtils');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction getChildRoutes(route, location, paramNames, paramValues, callback) {\n if (route.childRoutes) {\n return [null, route.childRoutes];\n }\n if (!route.getChildRoutes) {\n return [];\n }\n\n var sync = true,\n result = void 0;\n\n var partialNextState = {\n location: location,\n params: createParams(paramNames, paramValues)\n };\n\n var childRoutesReturn = route.getChildRoutes(partialNextState, function (error, childRoutes) {\n childRoutes = !error && (0, _RouteUtils.createRoutes)(childRoutes);\n if (sync) {\n result = [error, childRoutes];\n return;\n }\n\n callback(error, childRoutes);\n });\n\n if ((0, _PromiseUtils.isPromise)(childRoutesReturn)) childRoutesReturn.then(function (childRoutes) {\n return callback(null, (0, _RouteUtils.createRoutes)(childRoutes));\n }, callback);\n\n sync = false;\n return result; // Might be undefined.\n}\n\nfunction getIndexRoute(route, location, paramNames, paramValues, callback) {\n if (route.indexRoute) {\n callback(null, route.indexRoute);\n } else if (route.getIndexRoute) {\n var partialNextState = {\n location: location,\n params: createParams(paramNames, paramValues)\n };\n\n var indexRoutesReturn = route.getIndexRoute(partialNextState, function (error, indexRoute) {\n callback(error, !error && (0, _RouteUtils.createRoutes)(indexRoute)[0]);\n });\n\n if ((0, _PromiseUtils.isPromise)(indexRoutesReturn)) indexRoutesReturn.then(function (indexRoute) {\n return callback(null, (0, _RouteUtils.createRoutes)(indexRoute)[0]);\n }, callback);\n } else if (route.childRoutes) {\n (function () {\n var pathless = route.childRoutes.filter(function (childRoute) {\n return !childRoute.path;\n });\n\n (0, _AsyncUtils.loopAsync)(pathless.length, function (index, next, done) {\n getIndexRoute(pathless[index], location, paramNames, paramValues, function (error, indexRoute) {\n if (error || indexRoute) {\n var routes = [pathless[index]].concat(Array.isArray(indexRoute) ? indexRoute : [indexRoute]);\n done(error, routes);\n } else {\n next();\n }\n });\n }, function (err, routes) {\n callback(null, routes);\n });\n })();\n } else {\n callback();\n }\n}\n\nfunction assignParams(params, paramNames, paramValues) {\n return paramNames.reduce(function (params, paramName, index) {\n var paramValue = paramValues && paramValues[index];\n\n if (Array.isArray(params[paramName])) {\n params[paramName].push(paramValue);\n } else if (paramName in params) {\n params[paramName] = [params[paramName], paramValue];\n } else {\n params[paramName] = paramValue;\n }\n\n return params;\n }, params);\n}\n\nfunction createParams(paramNames, paramValues) {\n return assignParams({}, paramNames, paramValues);\n}\n\nfunction matchRouteDeep(route, location, remainingPathname, paramNames, paramValues, callback) {\n var pattern = route.path || '';\n\n if (pattern.charAt(0) === '/') {\n remainingPathname = location.pathname;\n paramNames = [];\n paramValues = [];\n }\n\n // Only try to match the path if the route actually has a pattern, and if\n // we're not just searching for potential nested absolute paths.\n if (remainingPathname !== null && pattern) {\n try {\n var matched = (0, _PatternUtils.matchPattern)(pattern, remainingPathname);\n if (matched) {\n remainingPathname = matched.remainingPathname;\n paramNames = [].concat(paramNames, matched.paramNames);\n paramValues = [].concat(paramValues, matched.paramValues);\n } else {\n remainingPathname = null;\n }\n } catch (error) {\n callback(error);\n }\n\n // By assumption, pattern is non-empty here, which is the prerequisite for\n // actually terminating a match.\n if (remainingPathname === '') {\n var _ret2 = function () {\n var match = {\n routes: [route],\n params: createParams(paramNames, paramValues)\n };\n\n getIndexRoute(route, location, paramNames, paramValues, function (error, indexRoute) {\n if (error) {\n callback(error);\n } else {\n if (Array.isArray(indexRoute)) {\n var _match$routes;\n\n process.env.NODE_ENV !== 'production' ? (0, _routerWarning2.default)(indexRoute.every(function (route) {\n return !route.path;\n }), 'Index routes should not have paths') : void 0;\n (_match$routes = match.routes).push.apply(_match$routes, indexRoute);\n } else if (indexRoute) {\n process.env.NODE_ENV !== 'production' ? (0, _routerWarning2.default)(!indexRoute.path, 'Index routes should not have paths') : void 0;\n match.routes.push(indexRoute);\n }\n\n callback(null, match);\n }\n });\n\n return {\n v: void 0\n };\n }();\n\n if ((typeof _ret2 === 'undefined' ? 'undefined' : _typeof(_ret2)) === \"object\") return _ret2.v;\n }\n }\n\n if (remainingPathname != null || route.childRoutes) {\n // Either a) this route matched at least some of the path or b)\n // we don't have to load this route's children asynchronously. In\n // either case continue checking for matches in the subtree.\n var onChildRoutes = function onChildRoutes(error, childRoutes) {\n if (error) {\n callback(error);\n } else if (childRoutes) {\n // Check the child routes to see if any of them match.\n matchRoutes(childRoutes, location, function (error, match) {\n if (error) {\n callback(error);\n } else if (match) {\n // A child route matched! Augment the match and pass it up the stack.\n match.routes.unshift(route);\n callback(null, match);\n } else {\n callback();\n }\n }, remainingPathname, paramNames, paramValues);\n } else {\n callback();\n }\n };\n\n var result = getChildRoutes(route, location, paramNames, paramValues, onChildRoutes);\n if (result) {\n onChildRoutes.apply(undefined, result);\n }\n } else {\n callback();\n }\n}\n\n/**\n * Asynchronously matches the given location to a set of routes and calls\n * callback(error, state) when finished. The state object will have the\n * following properties:\n *\n * - routes An array of routes that matched, in hierarchical order\n * - params An object of URL parameters\n *\n * Note: This operation may finish synchronously if no routes have an\n * asynchronous getChildRoutes method.\n */\nfunction matchRoutes(routes, location, callback, remainingPathname) {\n var paramNames = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : [];\n var paramValues = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : [];\n\n if (remainingPathname === undefined) {\n // TODO: This is a little bit ugly, but it works around a quirk in history\n // that strips the leading slash from pathnames when using basenames with\n // trailing slashes.\n if (location.pathname.charAt(0) !== '/') {\n location = _extends({}, location, {\n pathname: '/' + location.pathname\n });\n }\n remainingPathname = location.pathname;\n }\n\n (0, _AsyncUtils.loopAsync)(routes.length, function (index, next, done) {\n matchRouteDeep(routes[index], location, remainingPathname, paramNames, paramValues, function (error, match) {\n if (error || match) {\n done(error, match);\n } else {\n next();\n }\n });\n }, callback);\n}\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-router/lib/matchRoutes.js\n ** module id = 565\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nexports.default = withRouter;\n\nvar _invariant = require('invariant');\n\nvar _invariant2 = _interopRequireDefault(_invariant);\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _hoistNonReactStatics = require('hoist-non-react-statics');\n\nvar _hoistNonReactStatics2 = _interopRequireDefault(_hoistNonReactStatics);\n\nvar _ContextUtils = require('./ContextUtils');\n\nvar _PropTypes = require('./PropTypes');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction getDisplayName(WrappedComponent) {\n return WrappedComponent.displayName || WrappedComponent.name || 'Component';\n}\n\nfunction withRouter(WrappedComponent, options) {\n var withRef = options && options.withRef;\n\n var WithRouter = _react2.default.createClass({\n displayName: 'WithRouter',\n\n mixins: [(0, _ContextUtils.ContextSubscriber)('router')],\n\n contextTypes: { router: _PropTypes.routerShape },\n propTypes: { router: _PropTypes.routerShape },\n\n getWrappedInstance: function getWrappedInstance() {\n !withRef ? process.env.NODE_ENV !== 'production' ? (0, _invariant2.default)(false, 'To access the wrapped instance, you need to specify ' + '`{ withRef: true }` as the second argument of the withRouter() call.') : (0, _invariant2.default)(false) : void 0;\n\n return this.wrappedInstance;\n },\n render: function render() {\n var _this = this;\n\n var router = this.props.router || this.context.router;\n var params = router.params,\n location = router.location,\n routes = router.routes;\n\n var props = _extends({}, this.props, { router: router, params: params, location: location, routes: routes });\n\n if (withRef) {\n props.ref = function (c) {\n _this.wrappedInstance = c;\n };\n }\n\n return _react2.default.createElement(WrappedComponent, props);\n }\n });\n\n WithRouter.displayName = 'withRouter(' + getDisplayName(WrappedComponent) + ')';\n WithRouter.WrappedComponent = WrappedComponent;\n\n return (0, _hoistNonReactStatics2.default)(WithRouter, WrappedComponent);\n}\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-router/lib/withRouter.js\n ** module id = 566\n ** module chunks = 0\n **/","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = calculateNodeHeight;\n/**\n * calculateNodeHeight(uiTextNode, useCache = false)\n */\n\nvar HIDDEN_TEXTAREA_STYLE = '\\n min-height:0 !important;\\n max-height:none !important;\\n height:0 !important;\\n visibility:hidden !important;\\n overflow:hidden !important;\\n position:absolute !important;\\n z-index:-1000 !important;\\n top:0 !important;\\n right:0 !important\\n';\n\nvar SIZING_STYLE = ['letter-spacing', 'line-height', 'padding-top', 'padding-bottom', 'font-family', 'font-weight', 'font-size', 'text-rendering', 'text-transform', 'width', 'text-indent', 'padding-left', 'padding-right', 'border-width', 'box-sizing'];\n\nvar computedStyleCache = {};\nvar hiddenTextarea = void 0;\n\nfunction calculateNodeHeight(uiTextNode) {\n var useCache = arguments.length <= 1 || arguments[1] === undefined ? false : arguments[1];\n var minRows = arguments.length <= 2 || arguments[2] === undefined ? null : arguments[2];\n var maxRows = arguments.length <= 3 || arguments[3] === undefined ? null : arguments[3];\n\n if (!hiddenTextarea) {\n hiddenTextarea = document.createElement('textarea');\n document.body.appendChild(hiddenTextarea);\n }\n\n // Copy all CSS properties that have an impact on the height of the content in\n // the textbox\n\n var _calculateNodeStyling = calculateNodeStyling(uiTextNode, useCache);\n\n var paddingSize = _calculateNodeStyling.paddingSize;\n var borderSize = _calculateNodeStyling.borderSize;\n var boxSizing = _calculateNodeStyling.boxSizing;\n var sizingStyle = _calculateNodeStyling.sizingStyle;\n\n // Need to have the overflow attribute to hide the scrollbar otherwise\n // text-lines will not calculated properly as the shadow will technically be\n // narrower for content\n\n hiddenTextarea.setAttribute('style', sizingStyle + ';' + HIDDEN_TEXTAREA_STYLE);\n hiddenTextarea.value = uiTextNode.value || uiTextNode.placeholder || 'x';\n\n var minHeight = -Infinity;\n var maxHeight = Infinity;\n var height = hiddenTextarea.scrollHeight;\n\n if (boxSizing === 'border-box') {\n // border-box: add border, since height = content + padding + border\n height = height + borderSize;\n } else if (boxSizing === 'content-box') {\n // remove padding, since height = content\n height = height - paddingSize;\n }\n\n if (minRows !== null || maxRows !== null) {\n // measure height of a textarea with a single row\n hiddenTextarea.value = 'x';\n var singleRowHeight = hiddenTextarea.scrollHeight - paddingSize;\n if (minRows !== null) {\n minHeight = singleRowHeight * minRows;\n if (boxSizing === 'border-box') {\n minHeight = minHeight + paddingSize + borderSize;\n }\n height = Math.max(minHeight, height);\n }\n if (maxRows !== null) {\n maxHeight = singleRowHeight * maxRows;\n if (boxSizing === 'border-box') {\n maxHeight = maxHeight + paddingSize + borderSize;\n }\n height = Math.min(maxHeight, height);\n }\n }\n return { height: height, minHeight: minHeight, maxHeight: maxHeight };\n}\n\nfunction calculateNodeStyling(node) {\n var useCache = arguments.length <= 1 || arguments[1] === undefined ? false : arguments[1];\n\n var nodeRef = node.getAttribute('id') || node.getAttribute('data-reactid') || node.getAttribute('name');\n\n if (useCache && computedStyleCache[nodeRef]) {\n return computedStyleCache[nodeRef];\n }\n\n var style = window.getComputedStyle(node);\n\n var boxSizing = style.getPropertyValue('box-sizing') || style.getPropertyValue('-moz-box-sizing') || style.getPropertyValue('-webkit-box-sizing');\n\n var paddingSize = parseFloat(style.getPropertyValue('padding-bottom')) + parseFloat(style.getPropertyValue('padding-top'));\n\n var borderSize = parseFloat(style.getPropertyValue('border-bottom-width')) + parseFloat(style.getPropertyValue('border-top-width'));\n\n var sizingStyle = SIZING_STYLE.map(function (name) {\n return name + ':' + style.getPropertyValue(name);\n }).join(';');\n\n var nodeInfo = {\n sizingStyle: sizingStyle,\n paddingSize: paddingSize,\n borderSize: borderSize,\n boxSizing: boxSizing\n };\n\n if (useCache && nodeRef) {\n computedStyleCache[nodeRef] = nodeInfo;\n }\n\n return nodeInfo;\n}\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-textarea-autosize/lib/calculateNodeHeight.js\n ** module id = 568\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _VIEW, _OPPOSITE_DIRECTION, _MULTIPLIER, _desc, _value2, _obj; //values, omit\n\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _classnames = require('classnames');\n\nvar _classnames2 = _interopRequireDefault(_classnames);\n\nvar _compat = require('./util/compat');\n\nvar _compat2 = _interopRequireDefault(_compat);\n\nvar _Widget = require('./Widget');\n\nvar _Widget2 = _interopRequireDefault(_Widget);\n\nvar _Header = require('./Header');\n\nvar _Header2 = _interopRequireDefault(_Header);\n\nvar _Footer = require('./Footer');\n\nvar _Footer2 = _interopRequireDefault(_Footer);\n\nvar _Month = require('./Month');\n\nvar _Month2 = _interopRequireDefault(_Month);\n\nvar _Year = require('./Year');\n\nvar _Year2 = _interopRequireDefault(_Year);\n\nvar _Decade = require('./Decade');\n\nvar _Decade2 = _interopRequireDefault(_Decade);\n\nvar _Century = require('./Century');\n\nvar _Century2 = _interopRequireDefault(_Century);\n\nvar _localizers = require('./util/localizers');\n\nvar _propTypes = require('./util/propTypes');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _uncontrollable = require('uncontrollable');\n\nvar _uncontrollable2 = _interopRequireDefault(_uncontrollable);\n\nvar _SlideTransition = require('./SlideTransition');\n\nvar _SlideTransition2 = _interopRequireDefault(_SlideTransition);\n\nvar _dates = require('./util/dates');\n\nvar _dates2 = _interopRequireDefault(_dates);\n\nvar _constants = require('./util/constants');\n\nvar constants = _interopRequireWildcard(_constants);\n\nvar _2 = require('./util/_');\n\nvar _3 = _interopRequireDefault(_2);\n\nvar _widgetHelpers = require('./util/widgetHelpers');\n\nvar _interaction = require('./util/interaction');\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nfunction _applyDecoratedDescriptor(target, property, decorators, descriptor, context) {\n var desc = {};\n Object['ke' + 'ys'](descriptor).forEach(function (key) {\n desc[key] = descriptor[key];\n });\n desc.enumerable = !!desc.enumerable;\n desc.configurable = !!desc.configurable;\n\n if ('value' in desc || desc.initializer) {\n desc.writable = true;\n }\n\n desc = decorators.slice().reverse().reduce(function (desc, decorator) {\n return decorator(target, property, desc) || desc;\n }, desc);\n\n if (context && desc.initializer !== void 0) {\n desc.value = desc.initializer ? desc.initializer.call(context) : void 0;\n desc.initializer = undefined;\n }\n\n if (desc.initializer === void 0) {\n Object['define' + 'Property'](target, property, desc);\n desc = null;\n }\n\n return desc;\n}\n\nvar dir = constants.directions,\n values = function values(obj) {\n return Object.keys(obj).map(function (k) {\n return obj[k];\n });\n},\n invert = function invert(obj) {\n return _3.default.transform(obj, function (o, val, key) {\n o[val] = key;\n }, {});\n};\n\nvar views = constants.calendarViews,\n VIEW_OPTIONS = values(views),\n ALT_VIEW = invert(constants.calendarViewHierarchy),\n NEXT_VIEW = constants.calendarViewHierarchy,\n VIEW_UNIT = constants.calendarViewUnits,\n VIEW = (_VIEW = {}, _VIEW[views.MONTH] = _Month2.default, _VIEW[views.YEAR] = _Year2.default, _VIEW[views.DECADE] = _Decade2.default, _VIEW[views.CENTURY] = _Century2.default, _VIEW);\n\nvar ARROWS_TO_DIRECTION = {\n ArrowDown: dir.DOWN,\n ArrowUp: dir.UP,\n ArrowRight: dir.RIGHT,\n ArrowLeft: dir.LEFT\n};\n\nvar OPPOSITE_DIRECTION = (_OPPOSITE_DIRECTION = {}, _OPPOSITE_DIRECTION[dir.LEFT] = dir.RIGHT, _OPPOSITE_DIRECTION[dir.RIGHT] = dir.LEFT, _OPPOSITE_DIRECTION);\n\nvar MULTIPLIER = (_MULTIPLIER = {}, _MULTIPLIER[views.YEAR] = 1, _MULTIPLIER[views.DECADE] = 10, _MULTIPLIER[views.CENTURY] = 100, _MULTIPLIER);\n\nvar format = function format(props, f) {\n return _localizers.date.getFormat(f, props[f + 'Format']);\n};\n\nvar propTypes = {\n\n disabled: _propTypes2.default.disabled,\n readOnly: _propTypes2.default.readOnly,\n\n onChange: _react2.default.PropTypes.func,\n value: _react2.default.PropTypes.instanceOf(Date),\n\n min: _react2.default.PropTypes.instanceOf(Date),\n max: _react2.default.PropTypes.instanceOf(Date),\n\n currentDate: _react2.default.PropTypes.instanceOf(Date),\n onCurrentDateChange: _react2.default.PropTypes.func,\n\n view: _react2.default.PropTypes.oneOf(VIEW_OPTIONS),\n initialView: _react2.default.PropTypes.oneOf(VIEW_OPTIONS),\n\n finalView: function finalView(props, propName, componentName) {\n for (var _len = arguments.length, args = Array(_len > 3 ? _len - 3 : 0), _key = 3; _key < _len; _key++) {\n args[_key - 3] = arguments[_key];\n }\n\n var err = _react2.default.PropTypes.oneOf(VIEW_OPTIONS).apply(undefined, [props, propName, componentName].concat(args));\n\n if (err) return err;\n if (VIEW_OPTIONS.indexOf(props[propName]) < VIEW_OPTIONS.indexOf(props.initialView)) return new Error(('The `' + propName + '` prop: `' + props[propName] + '` cannot be \\'lower\\' than the `initialView`\\n prop. This creates a range that cannot be rendered.').replace(/\\n\\t/g, ''));\n },\n\n\n onViewChange: _react2.default.PropTypes.func,\n onNavigate: _react2.default.PropTypes.func,\n culture: _react2.default.PropTypes.string,\n footer: _react2.default.PropTypes.bool,\n\n dayComponent: _propTypes2.default.elementType,\n headerFormat: _propTypes2.default.dateFormat,\n footerFormat: _propTypes2.default.dateFormat,\n\n dayFormat: _propTypes2.default.dateFormat,\n dateFormat: _propTypes2.default.dateFormat,\n monthFormat: _propTypes2.default.dateFormat,\n yearFormat: _propTypes2.default.dateFormat,\n decadeFormat: _propTypes2.default.dateFormat,\n centuryFormat: _propTypes2.default.dateFormat,\n\n messages: _react2.default.PropTypes.shape({\n moveBack: _react2.default.PropTypes.string,\n moveForward: _react2.default.PropTypes.string\n })\n};\n\nvar Calendar = _react2.default.createClass((_obj = {\n\n displayName: 'Calendar',\n\n mixins: [require('./mixins/TimeoutMixin'), require('./mixins/AutoFocusMixin'), require('./mixins/PureRenderMixin'), require('./mixins/RtlParentContextMixin'), require('./mixins/AriaDescendantMixin')(), require('./mixins/FocusMixin')({\n willHandle: function willHandle() {\n if (+this.props.tabIndex === -1) return false;\n }\n })],\n\n propTypes: propTypes,\n\n getInitialState: function getInitialState() {\n return {\n selectedIndex: 0,\n view: this.props.initialView || 'month'\n };\n },\n getDefaultProps: function getDefaultProps() {\n return {\n\n value: null,\n min: new Date(1900, 0, 1),\n max: new Date(2099, 11, 31),\n currentDate: new Date(),\n\n initialView: 'month',\n finalView: 'century',\n\n tabIndex: '0',\n footer: false,\n\n ariaActiveDescendantKey: 'calendar',\n messages: msgs({})\n };\n },\n componentWillMount: function componentWillMount() {\n this.changeCurrentDate(this.props.value);\n },\n componentWillReceiveProps: function componentWillReceiveProps(nextProps) {\n var bottom = VIEW_OPTIONS.indexOf(nextProps.initialView),\n top = VIEW_OPTIONS.indexOf(nextProps.finalView),\n current = VIEW_OPTIONS.indexOf(this.state.view),\n view = this.state.view,\n val = this.inRangeValue(nextProps.value);\n\n if (current < bottom) this.setState({ view: view = nextProps.initialView });else if (current > top) this.setState({ view: view = nextProps.finalView });\n\n //if the value changes reset views to the new one\n if (!_dates2.default.eq(val, dateOrNull(this.props.value), VIEW_UNIT[view])) {\n this.changeCurrentDate(val, nextProps.currentDate);\n }\n },\n render: function render() {\n var _this = this;\n\n var _props = this.props,\n className = _props.className,\n value = _props.value,\n footerFormat = _props.footerFormat,\n disabled = _props.disabled,\n readOnly = _props.readOnly,\n finalView = _props.finalView,\n footer = _props.footer,\n messages = _props.messages,\n min = _props.min,\n max = _props.max,\n culture = _props.culture,\n duration = _props.duration,\n tabIndex = _props.tabIndex,\n currentDate = _props.currentDate;\n var _state = this.state,\n view = _state.view,\n slideDirection = _state.slideDirection,\n focused = _state.focused;\n\n\n var View = VIEW[view],\n unit = VIEW_UNIT[view],\n todaysDate = new Date(),\n todayNotInRange = !_dates2.default.inRange(todaysDate, min, max, view);\n\n unit = unit === 'day' ? 'date' : unit;\n\n var viewID = (0, _widgetHelpers.instanceId)(this, '_calendar'),\n labelID = (0, _widgetHelpers.instanceId)(this, '_calendar_label'),\n key = view + '_' + _dates2.default[view](currentDate);\n\n var elementProps = _3.default.omitOwnProps(this),\n viewProps = _3.default.pickProps(this.props, View);\n\n var isDisabled = disabled || readOnly;\n\n messages = msgs(this.props.messages);\n\n return _react2.default.createElement(\n _Widget2.default,\n _extends({}, elementProps, {\n role: 'group',\n focused: focused,\n disabled: disabled,\n readOnly: readOnly,\n tabIndex: tabIndex || 0,\n onBlur: this.handleBlur,\n onFocus: this.handleFocus,\n onKeyDown: this.handleKeyDown,\n className: (0, _classnames2.default)(className, 'rw-calendar')\n }),\n _react2.default.createElement(_Header2.default, {\n label: this._label(),\n labelId: labelID,\n messages: messages,\n upDisabled: isDisabled || view === finalView,\n prevDisabled: isDisabled || !_dates2.default.inRange(this.nextDate(dir.LEFT), min, max, view),\n nextDisabled: isDisabled || !_dates2.default.inRange(this.nextDate(dir.RIGHT), min, max, view),\n onViewChange: this.navigate.bind(null, dir.UP, null),\n onMoveLeft: this.navigate.bind(null, dir.LEFT, null),\n onMoveRight: this.navigate.bind(null, dir.RIGHT, null)\n }),\n _react2.default.createElement(\n _SlideTransition2.default,\n {\n ref: 'animation',\n duration: duration,\n direction: slideDirection,\n onAnimate: function onAnimate() {\n return focused && _this.focus();\n }\n },\n _react2.default.createElement(View, _extends({}, viewProps, {\n key: key,\n id: viewID,\n value: value,\n today: todaysDate,\n focused: currentDate,\n onChange: this.change,\n onKeyDown: this.handleKeyDown,\n 'aria-labelledby': labelID,\n ariaActiveDescendantKey: 'calendarView'\n }))\n ),\n footer && _react2.default.createElement(_Footer2.default, {\n value: todaysDate,\n format: footerFormat,\n culture: culture,\n disabled: disabled || todayNotInRange,\n readOnly: readOnly,\n onClick: this.select\n })\n );\n },\n navigate: function navigate(direction, date) {\n var view = this.state.view,\n slideDir = direction === dir.LEFT || direction === dir.UP ? 'right' : 'left';\n\n if (!date) date = [dir.LEFT, dir.RIGHT].indexOf(direction) !== -1 ? this.nextDate(direction) : this.props.currentDate;\n\n if (direction === dir.DOWN) view = ALT_VIEW[view] || view;\n\n if (direction === dir.UP) view = NEXT_VIEW[view] || view;\n\n if (this.isValidView(view) && _dates2.default.inRange(date, this.props.min, this.props.max, view)) {\n (0, _widgetHelpers.notify)(this.props.onNavigate, [date, slideDir, view]);\n this.focus(true);\n\n this.changeCurrentDate(date);\n\n this.setState({\n slideDirection: slideDir,\n view: view\n });\n }\n },\n focus: function focus() {\n if (+this.props.tabIndex > -1) _compat2.default.findDOMNode(this).focus();\n },\n change: function change(date) {\n if (this.state.view === this.props.initialView) {\n this.changeCurrentDate(date);\n (0, _widgetHelpers.notify)(this.props.onChange, date);\n this.focus();\n return;\n }\n\n this.navigate(dir.DOWN, date);\n },\n changeCurrentDate: function changeCurrentDate(date) {\n var currentDate = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.props.currentDate;\n\n var inRangeDate = this.inRangeValue(date ? new Date(date) : currentDate);\n if (_dates2.default.eq(inRangeDate, dateOrNull(currentDate), VIEW_UNIT[this.state.view])) return;\n (0, _widgetHelpers.notify)(this.props.onCurrentDateChange, inRangeDate);\n },\n select: function select(date) {\n var view = this.props.initialView,\n slideDir = view !== this.state.view || _dates2.default.gt(date, this.state.currentDate) ? 'left' // move down to a the view\n : 'right';\n\n (0, _widgetHelpers.notify)(this.props.onChange, date);\n\n if (this.isValidView(view) && _dates2.default.inRange(date, this.props.min, this.props.max, view)) {\n this.focus();\n\n this.changeCurrentDate(date);\n\n this.setState({\n slideDirection: slideDir,\n view: view\n });\n }\n },\n nextDate: function nextDate(direction) {\n var method = direction === dir.LEFT ? 'subtract' : 'add',\n view = this.state.view,\n unit = view === views.MONTH ? view : views.YEAR,\n multi = MULTIPLIER[view] || 1;\n\n return _dates2.default[method](this.props.currentDate, 1 * multi, unit);\n },\n handleKeyDown: function handleKeyDown(e) {\n var ctrl = e.ctrlKey,\n key = e.key,\n direction = ARROWS_TO_DIRECTION[key],\n current = this.props.currentDate,\n view = this.state.view,\n unit = VIEW_UNIT[view],\n currentDate = current;\n\n if (key === 'Enter') {\n e.preventDefault();\n return this.change(current);\n }\n\n if (direction) {\n if (ctrl) {\n e.preventDefault();\n this.navigate(direction);\n } else {\n if (this.isRtl() && OPPOSITE_DIRECTION[direction]) direction = OPPOSITE_DIRECTION[direction];\n\n currentDate = _dates2.default.move(currentDate, this.props.min, this.props.max, view, direction);\n\n if (!_dates2.default.eq(current, currentDate, unit)) {\n e.preventDefault();\n\n if (_dates2.default.gt(currentDate, current, view)) this.navigate(dir.RIGHT, currentDate);else if (_dates2.default.lt(currentDate, current, view)) this.navigate(dir.LEFT, currentDate);else this.changeCurrentDate(currentDate);\n }\n }\n }\n\n (0, _widgetHelpers.notify)(this.props.onKeyDown, [e]);\n },\n _label: function _label() {\n var _props2 = this.props,\n culture = _props2.culture,\n props = _objectWithoutProperties(_props2, ['culture']),\n view = this.state.view,\n dt = this.props.currentDate;\n\n if (view === 'month') return _localizers.date.format(dt, format(props, 'header'), culture);else if (view === 'year') return _localizers.date.format(dt, format(props, 'year'), culture);else if (view === 'decade') return _localizers.date.format(_dates2.default.startOf(dt, 'decade'), format(props, 'decade'), culture);else if (view === 'century') return _localizers.date.format(_dates2.default.startOf(dt, 'century'), format(props, 'century'), culture);\n },\n inRangeValue: function inRangeValue(_value) {\n var value = dateOrNull(_value);\n\n if (value === null) return value;\n\n return _dates2.default.max(_dates2.default.min(value, this.props.max), this.props.min);\n },\n isValidView: function isValidView(next) {\n var bottom = VIEW_OPTIONS.indexOf(this.props.initialView),\n top = VIEW_OPTIONS.indexOf(this.props.finalView),\n current = VIEW_OPTIONS.indexOf(next);\n\n return current >= bottom && current <= top;\n }\n}, (_applyDecoratedDescriptor(_obj, 'navigate', [_interaction.widgetEditable], Object.getOwnPropertyDescriptor(_obj, 'navigate'), _obj), _applyDecoratedDescriptor(_obj, 'change', [_interaction.widgetEditable], Object.getOwnPropertyDescriptor(_obj, 'change'), _obj), _applyDecoratedDescriptor(_obj, 'select', [_interaction.widgetEditable], Object.getOwnPropertyDescriptor(_obj, 'select'), _obj), _applyDecoratedDescriptor(_obj, 'handleKeyDown', [_interaction.widgetEditable], Object.getOwnPropertyDescriptor(_obj, 'handleKeyDown'), _obj)), _obj));\n\nfunction dateOrNull(dt) {\n if (dt && !isNaN(dt.getTime())) return dt;\n return null;\n}\n\nfunction msgs(msgs) {\n return _extends({\n moveBack: 'navigate back',\n moveForward: 'navigate forward'\n }, msgs);\n}\n\nexports.default = (0, _uncontrollable2.default)(Calendar, {\n value: 'onChange',\n currentDate: 'onCurrentDateChange',\n view: 'onViewChange'\n}, ['focus']);\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-widgets/lib/Calendar.js\n ** module id = 569\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _CalendarView = require('./CalendarView');\n\nvar _CalendarView2 = _interopRequireDefault(_CalendarView);\n\nvar _dates = require('./util/dates');\n\nvar _dates2 = _interopRequireDefault(_dates);\n\nvar _localizers = require('./util/localizers');\n\nvar _2 = require('./util/_');\n\nvar _3 = _interopRequireDefault(_2);\n\nvar _propTypes = require('./util/propTypes');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _widgetHelpers = require('./util/widgetHelpers');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar format = function format(props) {\n return _localizers.date.getFormat('decade', props.decadeFormat);\n};\n\nvar optionId = function optionId(id, date) {\n return id + '__century_' + _dates2.default.year(date);\n};\n\nvar propTypes = {\n culture: _react2.default.PropTypes.string,\n today: _react2.default.PropTypes.instanceOf(Date),\n value: _react2.default.PropTypes.instanceOf(Date),\n focused: _react2.default.PropTypes.instanceOf(Date),\n min: _react2.default.PropTypes.instanceOf(Date),\n max: _react2.default.PropTypes.instanceOf(Date),\n onChange: _react2.default.PropTypes.func.isRequired,\n decadeFormat: _propTypes2.default.dateFormat\n};\n\nexports.default = _react2.default.createClass({\n\n displayName: 'CenturyView',\n\n mixins: [require('./mixins/PureRenderMixin'), require('./mixins/RtlChildContextMixin'), require('./mixins/AriaDescendantMixin')()],\n\n propTypes: propTypes,\n\n componentDidUpdate: function componentDidUpdate() {\n var activeId = optionId((0, _widgetHelpers.instanceId)(this), this.props.focused);\n this.ariaActiveDescendant(activeId);\n },\n render: function render() {\n var focused = this.props.focused;\n\n\n return _react2.default.createElement(\n _CalendarView2.default,\n _3.default.omitOwnProps(this),\n _react2.default.createElement(\n 'tbody',\n null,\n _3.default.chunk(getCenturyDecades(focused), 4).map(this.renderRow)\n )\n );\n },\n renderRow: function renderRow(row, rowIdx) {\n var _this = this;\n\n var _props = this.props,\n focused = _props.focused,\n disabled = _props.disabled,\n onChange = _props.onChange,\n value = _props.value,\n today = _props.today,\n culture = _props.culture,\n min = _props.min,\n max = _props.max;\n\n\n var id = (0, _widgetHelpers.instanceId)(this, '_century');\n\n return _react2.default.createElement(\n _CalendarView2.default.Row,\n { key: rowIdx },\n row.map(function (date, colIdx) {\n var label = _localizers.date.format(_dates2.default.startOf(date, 'decade'), format(_this.props), culture);\n\n return _react2.default.createElement(\n _CalendarView2.default.Cell,\n {\n key: colIdx,\n unit: 'decade',\n id: optionId(id, date),\n label: label,\n date: date,\n now: today,\n min: min,\n max: max,\n onChange: onChange,\n focused: focused,\n selected: value,\n disabled: disabled\n },\n label\n );\n })\n );\n }\n});\n\n\nfunction getCenturyDecades(_date) {\n var days = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12],\n date = _dates2.default.add(_dates2.default.startOf(_date, 'century'), -20, 'year');\n\n return days.map(function () {\n return date = _dates2.default.add(date, 10, 'year');\n });\n}\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-widgets/lib/Century.js\n ** module id = 570\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\n\nvar _desc, _value, _obj;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; //pick, omit, has\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _invariant = require('invariant');\n\nvar _invariant2 = _interopRequireDefault(_invariant);\n\nvar _activeElement = require('dom-helpers/activeElement');\n\nvar _activeElement2 = _interopRequireDefault(_activeElement);\n\nvar _classnames = require('classnames');\n\nvar _classnames2 = _interopRequireDefault(_classnames);\n\nvar _compat = require('./util/compat');\n\nvar _compat2 = _interopRequireDefault(_compat);\n\nvar _2 = require('./util/_');\n\nvar _3 = _interopRequireDefault(_2);\n\nvar _dates = require('./util/dates');\n\nvar _dates2 = _interopRequireDefault(_dates);\n\nvar _localizers = require('./util/localizers');\n\nvar _constants = require('./util/constants');\n\nvar _Widget = require('./Widget');\n\nvar _Widget2 = _interopRequireDefault(_Widget);\n\nvar _Popup = require('./Popup');\n\nvar _Popup2 = _interopRequireDefault(_Popup);\n\nvar _Calendar = require('./Calendar');\n\nvar _Calendar2 = _interopRequireDefault(_Calendar);\n\nvar _TimeList = require('./TimeList');\n\nvar _TimeList2 = _interopRequireDefault(_TimeList);\n\nvar _DateTimePickerInput = require('./DateTimePickerInput');\n\nvar _DateTimePickerInput2 = _interopRequireDefault(_DateTimePickerInput);\n\nvar _Button = require('./Button');\n\nvar _Button2 = _interopRequireDefault(_Button);\n\nvar _propTypes = require('./util/propTypes');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _uncontrollable = require('uncontrollable');\n\nvar _uncontrollable2 = _interopRequireDefault(_uncontrollable);\n\nvar _interaction = require('./util/interaction');\n\nvar _widgetHelpers = require('./util/widgetHelpers');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _applyDecoratedDescriptor(target, property, decorators, descriptor, context) {\n var desc = {};\n Object['ke' + 'ys'](descriptor).forEach(function (key) {\n desc[key] = descriptor[key];\n });\n desc.enumerable = !!desc.enumerable;\n desc.configurable = !!desc.configurable;\n\n if ('value' in desc || desc.initializer) {\n desc.writable = true;\n }\n\n desc = decorators.slice().reverse().reduce(function (desc, decorator) {\n return decorator(target, property, desc) || desc;\n }, desc);\n\n if (context && desc.initializer !== void 0) {\n desc.value = desc.initializer ? desc.initializer.call(context) : void 0;\n desc.initializer = undefined;\n }\n\n if (desc.initializer === void 0) {\n Object['define' + 'Property'](target, property, desc);\n desc = null;\n }\n\n return desc;\n}\n\nvar Calendar = _Calendar2.default.ControlledComponent;\n\nvar viewEnum = Object.keys(_constants.calendarViews).map(function (k) {\n return _constants.calendarViews[k];\n});\n\nvar propTypes = _extends({}, Calendar.propTypes, {\n\n //-- controlled props -----------\n value: _react2.default.PropTypes.instanceOf(Date),\n onChange: _react2.default.PropTypes.func,\n open: _react2.default.PropTypes.oneOf([false, _constants.datePopups.TIME, _constants.datePopups.CALENDAR]),\n onToggle: _react2.default.PropTypes.func,\n currentDate: _react2.default.PropTypes.instanceOf(Date),\n onCurrentDateChange: _react2.default.PropTypes.func,\n //------------------------------------\n\n onSelect: _react2.default.PropTypes.func,\n\n min: _react2.default.PropTypes.instanceOf(Date),\n max: _react2.default.PropTypes.instanceOf(Date),\n\n culture: _react2.default.PropTypes.string,\n\n format: _propTypes2.default.dateFormat,\n timeFormat: _propTypes2.default.dateFormat,\n editFormat: _propTypes2.default.dateFormat,\n\n calendar: _react2.default.PropTypes.bool,\n time: _react2.default.PropTypes.bool,\n\n timeComponent: _propTypes2.default.elementType,\n\n //popup\n dropUp: _react2.default.PropTypes.bool,\n duration: _react2.default.PropTypes.number,\n\n placeholder: _react2.default.PropTypes.string,\n name: _react2.default.PropTypes.string,\n\n initialView: _react2.default.PropTypes.oneOf(viewEnum),\n finalView: _react2.default.PropTypes.oneOf(viewEnum),\n\n autoFocus: _react2.default.PropTypes.bool,\n disabled: _propTypes2.default.disabled,\n readOnly: _propTypes2.default.readOnly,\n\n parse: _react2.default.PropTypes.oneOfType([_react2.default.PropTypes.arrayOf(_react2.default.PropTypes.string), _react2.default.PropTypes.string, _react2.default.PropTypes.func]),\n\n 'aria-labelledby': _react2.default.PropTypes.string,\n\n messages: _react2.default.PropTypes.shape({\n calendarButton: _react2.default.PropTypes.string,\n timeButton: _react2.default.PropTypes.string\n })\n});\n\nvar DateTimePicker = _react2.default.createClass((_obj = {\n\n displayName: 'DateTimePicker',\n\n mixins: [require('./mixins/TimeoutMixin'), require('./mixins/PureRenderMixin'), require('./mixins/PopupScrollToMixin'), require('./mixins/RtlParentContextMixin'), require('./mixins/FocusMixin')({\n didHandle: function didHandle(focused) {\n if (!focused) this.close();\n }\n }), require('./mixins/AriaDescendantMixin')('valueInput', function (key, id) {\n var open = this.props.open,\n current = this.ariaActiveDescendant(),\n calIsActive = open === _constants.datePopups.CALENDAR && key === 'calendar',\n timeIsActive = open === _constants.datePopups.TIME && key === 'timelist';\n\n\n if (!current || timeIsActive || calIsActive) return id;\n })],\n\n propTypes: propTypes,\n\n getInitialState: function getInitialState() {\n return {\n focused: false\n };\n },\n getDefaultProps: function getDefaultProps() {\n\n return {\n value: null,\n currentDate: new Date(),\n min: new Date(1900, 0, 1),\n max: new Date(2099, 11, 31),\n calendar: true,\n time: true,\n open: false,\n\n //calendar override\n footer: true,\n\n messages: {\n calendarButton: 'Select Date',\n timeButton: 'Select Time'\n },\n\n ariaActiveDescendantKey: 'dropdownlist'\n };\n },\n renderInput: function renderInput(id, owns) {\n var _props = this.props,\n open = _props.open,\n value = _props.value,\n editFormat = _props.editFormat,\n culture = _props.culture,\n busy = _props.busy,\n placeholder = _props.placeholder,\n disabled = _props.disabled,\n readOnly = _props.readOnly,\n name = _props.name,\n tabIndex = _props.tabIndex,\n autoFocus = _props.autoFocus,\n ariaLabelledby = _props['aria-labelledby'],\n ariaDescribedby = _props['aria-describedby'];\n var focused = this.state.focused;\n\n\n return _react2.default.createElement(_DateTimePickerInput2.default, {\n id: id,\n ref: 'valueInput',\n role: 'combobox',\n name: name,\n tabIndex: tabIndex,\n autoFocus: autoFocus,\n placeholder: placeholder,\n disabled: disabled,\n readOnly: readOnly,\n value: value,\n format: getFormat(this.props),\n editFormat: editFormat,\n editing: focused,\n culture: culture,\n parse: this._parse,\n onChange: this.handleChange,\n 'aria-haspopup': true,\n 'aria-labelledby': ariaLabelledby,\n 'aria-describedby': ariaDescribedby,\n 'aria-expanded': !!open,\n 'aria-busy': !!busy,\n 'aria-owns': owns\n });\n },\n renderButtons: function renderButtons(messages) {\n var _props2 = this.props,\n calendar = _props2.calendar,\n time = _props2.time,\n disabled = _props2.disabled,\n readOnly = _props2.readOnly;\n\n\n if (!calendar && !time) {\n return null;\n }\n\n return _react2.default.createElement(\n 'span',\n { className: 'rw-select' },\n calendar && _react2.default.createElement(_Button2.default, {\n icon: 'calendar',\n className: 'rw-btn-calendar',\n label: messages.calendarButton,\n disabled: !!(disabled || readOnly),\n onClick: this._click.bind(null, _constants.datePopups.CALENDAR)\n }),\n time && _react2.default.createElement(_Button2.default, {\n icon: 'clock-o',\n className: 'rw-btn-time',\n label: messages.timeButton,\n disabled: !!(disabled || readOnly),\n onClick: this._click.bind(null, _constants.datePopups.TIME)\n })\n );\n },\n renderCalendar: function renderCalendar(id, inputID) {\n var _this = this;\n\n var _props3 = this.props,\n open = _props3.open,\n value = _props3.value,\n duration = _props3.duration,\n dropUp = _props3.dropUp;\n\n\n var calendarProps = _3.default.pickProps(this.props, Calendar);\n\n return _react2.default.createElement(\n _Popup2.default,\n {\n dropUp: dropUp,\n duration: duration,\n open: open === _constants.datePopups.CALENDAR,\n className: 'rw-calendar-popup'\n },\n _react2.default.createElement(Calendar, _extends({}, calendarProps, {\n ref: 'calPopup',\n id: id,\n tabIndex: '-1',\n value: value,\n autoFocus: false,\n onChange: this.handleDateSelect\n // #75: need to aggressively reclaim focus from the calendar otherwise\n // disabled header/footer buttons will drop focus completely from the widget\n , onNavigate: function onNavigate() {\n return _this.focus();\n },\n currentDate: this.props.currentDate,\n onCurrentDateChange: this.props.onCurrentDateChange,\n 'aria-hidden': !open,\n 'aria-live': 'polite',\n 'aria-labelledby': inputID,\n ariaActiveDescendantKey: 'calendar'\n }))\n );\n },\n renderTimeList: function renderTimeList(id, inputID) {\n var _this2 = this;\n\n var _props4 = this.props,\n open = _props4.open,\n value = _props4.value,\n duration = _props4.duration,\n dropUp = _props4.dropUp,\n calendar = _props4.calendar,\n timeFormat = _props4.timeFormat,\n timeComponent = _props4.timeComponent;\n\n\n var timeListProps = _3.default.pickProps(this.props, _TimeList2.default);\n\n return _react2.default.createElement(\n _Popup2.default,\n {\n dropUp: dropUp,\n duration: duration,\n open: open === _constants.datePopups.TIME,\n onOpening: function onOpening() {\n return _this2.refs.timePopup.forceUpdate();\n }\n },\n _react2.default.createElement(\n 'div',\n null,\n _react2.default.createElement(_TimeList2.default, _extends({}, timeListProps, {\n ref: 'timePopup',\n id: id,\n format: timeFormat,\n value: dateOrNull(value),\n onMove: this._scrollTo,\n onSelect: this.handleTimeSelect,\n preserveDate: !!calendar,\n itemComponent: timeComponent,\n 'aria-labelledby': inputID,\n 'aria-live': open && 'polite',\n 'aria-hidden': !open,\n ariaActiveDescendantKey: 'timelist'\n }))\n )\n );\n },\n render: function render() {\n var _props5 = this.props,\n className = _props5.className,\n calendar = _props5.calendar,\n time = _props5.time,\n open = _props5.open,\n messages = _props5.messages,\n disabled = _props5.disabled,\n readOnly = _props5.readOnly,\n dropUp = _props5.dropUp;\n var focused = this.state.focused;\n\n\n var inputID = (0, _widgetHelpers.instanceId)(this, '_input'),\n timeListID = (0, _widgetHelpers.instanceId)(this, '_time_listbox'),\n dateListID = (0, _widgetHelpers.instanceId)(this, '_cal'),\n owns = '';\n\n var elementProps = _3.default.omitOwnProps(this, Calendar, _TimeList2.default);\n\n var shouldRenderList = open || (0, _widgetHelpers.isFirstFocusedRender)(this);\n\n if (calendar) owns += dateListID;\n if (time) owns += ' ' + timeListID;\n\n return _react2.default.createElement(\n _Widget2.default,\n _extends({}, elementProps, {\n open: !!open,\n dropUp: dropUp,\n focused: focused,\n disabled: disabled,\n readOnly: readOnly,\n onBlur: this.handleBlur,\n onFocus: this.handleFocus,\n onKeyDown: this.handleKeyDown,\n onKeyPress: this.handleKeyPress,\n className: (0, _classnames2.default)(className, 'rw-datetimepicker', calendar && time && 'rw-has-both', !calendar && !time && 'rw-has-neither')\n }),\n this.renderInput(inputID, owns.trim()),\n this.renderButtons(messages),\n shouldRenderList && this.renderTimeList(timeListID, inputID),\n shouldRenderList && this.renderCalendar(dateListID, inputID)\n );\n },\n handleChange: function handleChange(date, str, constrain) {\n var _props6 = this.props,\n onChange = _props6.onChange,\n value = _props6.value;\n\n\n if (constrain) date = this.inRangeValue(date);\n\n if (onChange) {\n if (date == null || value == null) {\n if (date != value) //eslint-disable-line eqeqeq\n onChange(date, str);\n } else if (!_dates2.default.eq(date, value)) {\n onChange(date, str);\n }\n }\n },\n handleKeyDown: function handleKeyDown(e) {\n var _props7 = this.props,\n open = _props7.open,\n calendar = _props7.calendar,\n time = _props7.time;\n\n\n (0, _widgetHelpers.notify)(this.props.onKeyDown, [e]);\n\n if (e.defaultPrevented) return;\n\n if (e.key === 'Escape' && open) this.close();else if (e.altKey) {\n e.preventDefault();\n\n if (e.key === 'ArrowDown') {\n if (calendar && time) this.open(open === _constants.datePopups.CALENDAR ? _constants.datePopups.TIME : _constants.datePopups.CALENDAR);else if (time) this.open(_constants.datePopups.TIME);else if (calendar) this.open(_constants.datePopups.CALENDAR);\n } else if (e.key === 'ArrowUp') this.close();\n } else if (open) {\n if (open === _constants.datePopups.CALENDAR) this.refs.calPopup.handleKeyDown(e);\n if (open === _constants.datePopups.TIME) this.refs.timePopup.handleKeyDown(e);\n }\n },\n handleKeyPress: function handleKeyPress(e) {\n (0, _widgetHelpers.notify)(this.props.onKeyPress, [e]);\n\n if (e.defaultPrevented) return;\n\n if (this.props.open === _constants.datePopups.TIME) this.refs.timePopup.handleKeyPress(e);\n },\n focus: function focus() {\n var valueInput = this.refs.valueInput;\n\n\n if (valueInput && (0, _activeElement2.default)() !== _compat2.default.findDOMNode(valueInput)) valueInput.focus();\n },\n handleDateSelect: function handleDateSelect(date) {\n var format = getFormat(this.props),\n dateTime = _dates2.default.merge(date, this.props.value, this.props.currentDate),\n dateStr = formatDate(date, format, this.props.culture);\n\n this.close();\n (0, _widgetHelpers.notify)(this.props.onSelect, [dateTime, dateStr]);\n this.handleChange(dateTime, dateStr, true);\n this.focus();\n },\n handleTimeSelect: function handleTimeSelect(datum) {\n var format = getFormat(this.props),\n dateTime = _dates2.default.merge(this.props.value, datum.date, this.props.currentDate),\n dateStr = formatDate(datum.date, format, this.props.culture);\n\n this.close();\n (0, _widgetHelpers.notify)(this.props.onSelect, [dateTime, dateStr]);\n this.handleChange(dateTime, dateStr, true);\n this.focus();\n },\n _click: function _click(view, e) {\n this.focus();\n this.toggle(view, e);\n },\n _parse: function _parse(string) {\n var format = getFormat(this.props, true),\n editFormat = this.props.editFormat,\n parse = this.props.parse,\n formats = [];\n\n if (typeof parse === 'function') return parse(string, this.props.culture);\n\n if (typeof format === 'string') formats.push(format);\n\n if (typeof editFormat === 'string') formats.push(editFormat);\n\n if (parse) formats = formats.concat(this.props.parse);\n\n (0, _invariant2.default)(formats.length, 'React Widgets: there are no specified `parse` formats provided and the `format` prop is a function. ' + 'the DateTimePicker is unable to parse `%s` into a dateTime, ' + 'please provide either a parse function or Globalize.js compatible string for `format`', string);\n\n return formatsParser(formats, this.props.culture, string);\n },\n toggle: function toggle(view) {\n this.props.open ? this.props.open !== view ? this.open(view) : this.close(view) : this.open(view);\n },\n open: function open(view) {\n if (this.props.open !== view && this.props[view] === true) (0, _widgetHelpers.notify)(this.props.onToggle, view);\n },\n close: function close() {\n if (this.props.open) (0, _widgetHelpers.notify)(this.props.onToggle, false);\n },\n inRangeValue: function inRangeValue(value) {\n if (value == null) return value;\n\n return _dates2.default.max(_dates2.default.min(value, this.props.max), this.props.min);\n }\n}, (_applyDecoratedDescriptor(_obj, 'handleChange', [_interaction.widgetEditable], Object.getOwnPropertyDescriptor(_obj, 'handleChange'), _obj), _applyDecoratedDescriptor(_obj, 'handleKeyDown', [_interaction.widgetEditable], Object.getOwnPropertyDescriptor(_obj, 'handleKeyDown'), _obj), _applyDecoratedDescriptor(_obj, 'handleKeyPress', [_interaction.widgetEditable], Object.getOwnPropertyDescriptor(_obj, 'handleKeyPress'), _obj), _applyDecoratedDescriptor(_obj, 'handleDateSelect', [_interaction.widgetEditable], Object.getOwnPropertyDescriptor(_obj, 'handleDateSelect'), _obj), _applyDecoratedDescriptor(_obj, 'handleTimeSelect', [_interaction.widgetEditable], Object.getOwnPropertyDescriptor(_obj, 'handleTimeSelect'), _obj), _applyDecoratedDescriptor(_obj, '_click', [_interaction.widgetEditable], Object.getOwnPropertyDescriptor(_obj, '_click'), _obj)), _obj));\n\nexports.default = (0, _uncontrollable2.default)(DateTimePicker, {\n open: 'onToggle',\n value: 'onChange',\n currentDate: 'onCurrentDateChange'\n}, ['focus']);\n\n\nfunction getFormat(props) {\n var cal = props[_constants.datePopups.CALENDAR] != null ? props.calendar : true,\n time = props[_constants.datePopups.TIME] != null ? props.time : true;\n\n return props.format ? props.format : cal && time || !cal && !time ? _localizers.date.getFormat('default') : _localizers.date.getFormat(cal ? 'date' : 'time');\n}\n\nfunction formatDate(date, format, culture) {\n var val = '';\n\n if (date instanceof Date && !isNaN(date.getTime())) val = _localizers.date.format(date, format, culture);\n\n return val;\n}\n\nfunction formatsParser(formats, culture, str) {\n var date;\n\n for (var i = 0; i < formats.length; i++) {\n date = _localizers.date.parse(str, formats[i], culture);\n if (date) return date;\n }\n return null;\n}\n\nfunction dateOrNull(dt) {\n if (dt && !isNaN(dt.getTime())) return dt;\n return null;\n}\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-widgets/lib/DateTimePicker.js\n ** module id = 571\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _2 = require('./util/_');\n\nvar _3 = _interopRequireDefault(_2);\n\nvar _Input = require('./Input');\n\nvar _Input2 = _interopRequireDefault(_Input);\n\nvar _compat = require('./util/compat');\n\nvar _compat2 = _interopRequireDefault(_compat);\n\nvar _localizers = require('./util/localizers');\n\nvar _propTypes = require('./util/propTypes');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = _react2.default.createClass({\n\n displayName: 'DateTimePickerInput',\n\n propTypes: {\n format: _propTypes2.default.dateFormat.isRequired,\n editing: _react2.default.PropTypes.bool,\n editFormat: _propTypes2.default.dateFormat,\n parse: _react2.default.PropTypes.func.isRequired,\n\n value: _react2.default.PropTypes.instanceOf(Date),\n onChange: _react2.default.PropTypes.func.isRequired,\n culture: _react2.default.PropTypes.string\n },\n\n componentWillReceiveProps: function componentWillReceiveProps(nextProps) {\n var value = nextProps.value,\n editing = nextProps.editing,\n editFormat = nextProps.editFormat,\n format = nextProps.format,\n culture = nextProps.culture;\n\n\n this.setState({\n textValue: formatDate(value, editing && editFormat ? editFormat : format, culture)\n });\n },\n getInitialState: function getInitialState() {\n var _props = this.props,\n value = _props.value,\n editing = _props.editing,\n editFormat = _props.editFormat,\n format = _props.format,\n culture = _props.culture;\n\n\n return {\n textValue: formatDate(value, editing && editFormat ? editFormat : format, culture)\n };\n },\n render: function render() {\n var _props2 = this.props,\n disabled = _props2.disabled,\n readOnly = _props2.readOnly;\n var textValue = this.state.textValue;\n\n\n var props = _3.default.omitOwnProps(this);\n\n return _react2.default.createElement(_Input2.default, _extends({}, props, {\n type: 'text',\n value: textValue,\n disabled: disabled,\n readOnly: readOnly,\n onChange: this.handleChange,\n onBlur: this.handleBlur\n }));\n },\n handleChange: function handleChange(_ref) {\n var value = _ref.target.value;\n\n this._needsFlush = true;\n this.setState({ textValue: value });\n },\n handleBlur: function handleBlur(event) {\n var _props3 = this.props,\n format = _props3.format,\n culture = _props3.culture,\n parse = _props3.parse,\n onChange = _props3.onChange,\n onBlur = _props3.onBlur;\n\n\n onBlur && onBlur(event);\n\n if (this._needsFlush) {\n var date = parse(event.target.value);\n\n this._needsFlush = false;\n onChange(date, formatDate(date, format, culture));\n }\n },\n focus: function focus() {\n _compat2.default.findDOMNode(this).focus();\n }\n});\n\n\nfunction isValid(d) {\n return !isNaN(d.getTime());\n}\n\nfunction formatDate(date, format, culture) {\n var val = '';\n\n if (date instanceof Date && isValid(date)) val = _localizers.date.format(date, format, culture);\n\n return val;\n}\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-widgets/lib/DateTimePickerInput.js\n ** module id = 572\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _CalendarView = require('./CalendarView');\n\nvar _CalendarView2 = _interopRequireDefault(_CalendarView);\n\nvar _dates = require('./util/dates');\n\nvar _dates2 = _interopRequireDefault(_dates);\n\nvar _localizers = require('./util/localizers');\n\nvar _2 = require('./util/_');\n\nvar _3 = _interopRequireDefault(_2);\n\nvar _propTypes = require('./util/propTypes');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _widgetHelpers = require('./util/widgetHelpers');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar propTypes = {\n culture: _react2.default.PropTypes.string,\n today: _react2.default.PropTypes.instanceOf(Date),\n value: _react2.default.PropTypes.instanceOf(Date),\n focused: _react2.default.PropTypes.instanceOf(Date),\n min: _react2.default.PropTypes.instanceOf(Date),\n max: _react2.default.PropTypes.instanceOf(Date),\n onChange: _react2.default.PropTypes.func.isRequired,\n\n yearFormat: _propTypes2.default.dateFormat\n};\n\nvar optionId = function optionId(id, date) {\n return id + '__decade_' + _dates2.default.year(date);\n};\n\nexports.default = _react2.default.createClass({\n\n displayName: 'DecadeView',\n\n mixins: [require('./mixins/PureRenderMixin'), require('./mixins/RtlChildContextMixin'), require('./mixins/AriaDescendantMixin')()],\n\n propTypes: propTypes,\n\n componentDidUpdate: function componentDidUpdate() {\n var activeId = optionId((0, _widgetHelpers.instanceId)(this), this.props.focused);\n this.ariaActiveDescendant(activeId);\n },\n render: function render() {\n var focused = this.props.focused;\n\n\n return _react2.default.createElement(\n _CalendarView2.default,\n _3.default.omitOwnProps(this),\n _react2.default.createElement(\n 'tbody',\n null,\n _3.default.chunk(getDecadeYears(focused), 4).map(this.renderRow)\n )\n );\n },\n renderRow: function renderRow(row, rowIdx) {\n var _props = this.props,\n focused = _props.focused,\n disabled = _props.disabled,\n onChange = _props.onChange,\n yearFormat = _props.yearFormat,\n value = _props.value,\n today = _props.today,\n culture = _props.culture,\n min = _props.min,\n max = _props.max;\n\n\n var id = (0, _widgetHelpers.instanceId)(this);\n\n return _react2.default.createElement(\n _CalendarView2.default.Row,\n { key: rowIdx },\n row.map(function (date, colIdx) {\n var label = _localizers.date.format(date, _localizers.date.getFormat('year', yearFormat), culture);\n\n return _react2.default.createElement(\n _CalendarView2.default.Cell,\n {\n key: colIdx,\n unit: 'year',\n id: optionId(id, date),\n label: label,\n date: date,\n now: today,\n min: min,\n max: max,\n onChange: onChange,\n focused: focused,\n selected: value,\n disabled: disabled\n },\n label\n );\n })\n );\n }\n});\n\n\nfunction getDecadeYears(_date) {\n var days = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12],\n date = _dates2.default.add(_dates2.default.startOf(_date, 'decade'), -2, 'year');\n\n return days.map(function () {\n return date = _dates2.default.add(date, 1, 'year');\n });\n}\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-widgets/lib/Decade.js\n ** module id = 573\n ** module chunks = 0\n **/","'use strict';\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _Button = require('./Button');\n\nvar _Button2 = _interopRequireDefault(_Button);\n\nvar _localizers = require('./util/localizers');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar format = function format(props) {\n return _localizers.date.getFormat('footer', props.format);\n};\n\nmodule.exports = _react2.default.createClass({\n\n displayName: 'Footer',\n\n render: function render() {\n var _props = this.props,\n disabled = _props.disabled,\n readOnly = _props.readOnly,\n value = _props.value;\n\n\n return _react2.default.createElement(\n 'div',\n { className: 'rw-footer' },\n _react2.default.createElement(\n _Button2.default,\n {\n disabled: !!(disabled || readOnly),\n onClick: this.props.onClick.bind(null, value)\n },\n _localizers.date.format(value, format(this.props), this.props.culture)\n )\n );\n }\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-widgets/lib/Footer.js\n ** module id = 574\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _Button = require('./Button');\n\nvar _Button2 = _interopRequireDefault(_Button);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = _react2.default.createClass({\n displayName: 'Header',\n propTypes: {\n label: _react2.default.PropTypes.string.isRequired,\n labelId: _react2.default.PropTypes.string,\n\n upDisabled: _react2.default.PropTypes.bool.isRequired,\n prevDisabled: _react2.default.PropTypes.bool.isRequired,\n nextDisabled: _react2.default.PropTypes.bool.isRequired,\n onViewChange: _react2.default.PropTypes.func.isRequired,\n onMoveLeft: _react2.default.PropTypes.func.isRequired,\n onMoveRight: _react2.default.PropTypes.func.isRequired,\n\n messages: _react2.default.PropTypes.shape({\n moveBack: _react2.default.PropTypes.string,\n moveForward: _react2.default.PropTypes.string\n })\n },\n\n mixins: [require('./mixins/PureRenderMixin'), require('./mixins/RtlChildContextMixin')],\n\n getDefaultProps: function getDefaultProps() {\n return {\n messages: {\n moveBack: 'navigate back',\n moveForward: 'navigate forward'\n }\n };\n },\n render: function render() {\n var _props = this.props,\n messages = _props.messages,\n label = _props.label,\n labelId = _props.labelId,\n onMoveRight = _props.onMoveRight,\n onMoveLeft = _props.onMoveLeft,\n onViewChange = _props.onViewChange,\n prevDisabled = _props.prevDisabled,\n upDisabled = _props.upDisabled,\n nextDisabled = _props.nextDisabled;\n\n\n var rtl = this.isRtl();\n\n return _react2.default.createElement(\n 'div',\n { className: 'rw-header' },\n _react2.default.createElement(_Button2.default, {\n className: 'rw-btn-left',\n onClick: onMoveLeft,\n disabled: prevDisabled,\n label: messages.moveBack,\n icon: 'caret-' + (rtl ? 'right' : 'left')\n }),\n _react2.default.createElement(\n _Button2.default,\n {\n id: labelId,\n onClick: onViewChange,\n className: 'rw-btn-view',\n disabled: upDisabled,\n 'aria-live': 'polite',\n 'aria-atomic': 'true'\n },\n label\n ),\n _react2.default.createElement(_Button2.default, {\n className: 'rw-btn-right',\n onClick: onMoveRight,\n disabled: nextDisabled,\n label: messages.moveForward,\n icon: 'caret-' + (rtl ? 'left' : 'right')\n })\n );\n }\n});\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-widgets/lib/Header.js\n ** module id = 575\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _classnames = require('classnames');\n\nvar _classnames2 = _interopRequireDefault(_classnames);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Input = function (_React$Component) {\n _inherits(Input, _React$Component);\n\n function Input() {\n _classCallCheck(this, Input);\n\n return _possibleConstructorReturn(this, _React$Component.apply(this, arguments));\n }\n\n Input.prototype.render = function render() {\n var _props = this.props,\n className = _props.className,\n disabled = _props.disabled,\n readOnly = _props.readOnly,\n value = _props.value,\n tabIndex = _props.tabIndex,\n _props$component = _props.component,\n Component = _props$component === undefined ? 'input' : _props$component,\n props = _objectWithoutProperties(_props, ['className', 'disabled', 'readOnly', 'value', 'tabIndex', 'component']);\n\n return _react2.default.createElement(Component, _extends({}, props, {\n type: 'text',\n tabIndex: tabIndex || 0,\n autoComplete: 'off',\n disabled: disabled,\n readOnly: readOnly,\n 'aria-disabled': disabled,\n 'aria-readonly': readOnly,\n value: value == null ? '' : value,\n className: (0, _classnames2.default)(className, 'rw-input')\n }));\n };\n\n return Input;\n}(_react2.default.Component);\n\nexports.default = Input;\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-widgets/lib/Input.js\n ** module id = 576\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _ListOption = require('./ListOption');\n\nvar _ListOption2 = _interopRequireDefault(_ListOption);\n\nvar _propTypes = require('./util/propTypes');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _compat = require('./util/compat');\n\nvar _compat2 = _interopRequireDefault(_compat);\n\nvar _classnames = require('classnames');\n\nvar _classnames2 = _interopRequireDefault(_classnames);\n\nvar _2 = require('./util/_');\n\nvar _3 = _interopRequireDefault(_2);\n\nvar _dataHelpers = require('./util/dataHelpers');\n\nvar _widgetHelpers = require('./util/widgetHelpers');\n\nvar _interaction = require('./util/interaction');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar optionId = function optionId(id, idx) {\n return id + '__option__' + idx;\n};\n\nexports.default = _react2.default.createClass({\n\n displayName: 'List',\n\n mixins: [require('./mixins/ListMovementMixin'), require('./mixins/AriaDescendantMixin')()],\n\n propTypes: {\n data: _react2.default.PropTypes.array,\n onSelect: _react2.default.PropTypes.func,\n onMove: _react2.default.PropTypes.func,\n\n optionComponent: _propTypes2.default.elementType,\n itemComponent: _propTypes2.default.elementType,\n\n selected: _react2.default.PropTypes.any,\n focused: _react2.default.PropTypes.any,\n valueField: _propTypes2.default.accessor,\n textField: _propTypes2.default.accessor,\n\n disabled: _propTypes2.default.disabled.acceptsArray,\n readOnly: _propTypes2.default.readOnly.acceptsArray,\n\n messages: _react2.default.PropTypes.shape({\n emptyList: _propTypes2.default.message\n })\n },\n\n getDefaultProps: function getDefaultProps() {\n return {\n onSelect: function onSelect() {},\n optionComponent: _ListOption2.default,\n ariaActiveDescendantKey: 'list',\n data: [],\n messages: {\n emptyList: 'There are no items in this list'\n }\n };\n },\n componentDidMount: function componentDidMount() {\n this.move();\n },\n componentDidUpdate: function componentDidUpdate() {\n var _props = this.props,\n data = _props.data,\n focused = _props.focused,\n idx = data.indexOf(focused),\n activeId = optionId((0, _widgetHelpers.instanceId)(this), idx);\n\n\n this.ariaActiveDescendant(idx !== -1 ? activeId : null);\n\n this.move();\n },\n render: function render() {\n var _this = this;\n\n var _props2 = this.props,\n className = _props2.className,\n role = _props2.role,\n data = _props2.data,\n textField = _props2.textField,\n valueField = _props2.valueField,\n focused = _props2.focused,\n selected = _props2.selected,\n messages = _props2.messages,\n onSelect = _props2.onSelect,\n ItemComponent = _props2.itemComponent,\n Option = _props2.optionComponent;\n\n\n var id = (0, _widgetHelpers.instanceId)(this),\n items = void 0;\n\n var elementProps = _3.default.omitOwnProps(this);\n\n items = !data.length ? _react2.default.createElement(\n 'li',\n { className: 'rw-list-empty' },\n _3.default.result(messages.emptyList, this.props)\n ) : data.map(function (item, idx) {\n var currentId = optionId(id, idx),\n isDisabled = (0, _interaction.isDisabledItem)(item, _this.props),\n isReadOnly = (0, _interaction.isReadOnlyItem)(item, _this.props);\n\n return _react2.default.createElement(\n Option,\n {\n key: 'item_' + idx,\n id: currentId,\n dataItem: item,\n disabled: isDisabled,\n readOnly: isReadOnly,\n focused: focused === item,\n selected: selected === item,\n onClick: isDisabled || isReadOnly ? undefined : onSelect.bind(null, item)\n },\n ItemComponent ? _react2.default.createElement(ItemComponent, {\n item: item,\n value: (0, _dataHelpers.dataValue)(item, valueField),\n text: (0, _dataHelpers.dataText)(item, textField),\n disabled: isDisabled,\n readOnly: isReadOnly\n }) : (0, _dataHelpers.dataText)(item, textField)\n );\n });\n\n return _react2.default.createElement(\n 'ul',\n _extends({\n id: id,\n tabIndex: '-1',\n className: (0, _classnames2.default)(className, 'rw-list'),\n role: role === undefined ? 'listbox' : role\n }, elementProps),\n items\n );\n },\n _data: function _data() {\n return this.props.data;\n },\n move: function move() {\n var list = _compat2.default.findDOMNode(this),\n idx = this._data().indexOf(this.props.focused),\n selected = list.children[idx];\n\n if (!selected) return;\n\n (0, _widgetHelpers.notify)(this.props.onMove, [selected, list, this.props.focused]);\n }\n});\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-widgets/lib/List.js\n ** module id = 577\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _classnames = require('classnames');\n\nvar _classnames2 = _interopRequireDefault(_classnames);\n\nvar _2 = require('./util/_');\n\nvar _3 = _interopRequireDefault(_2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar ListOption = _react2.default.createClass({\n displayName: 'ListOption',\n\n propTypes: {\n dataItem: _react2.default.PropTypes.any,\n focused: _react2.default.PropTypes.bool,\n selected: _react2.default.PropTypes.bool,\n disabled: _react2.default.PropTypes.bool,\n readOnly: _react2.default.PropTypes.bool\n },\n\n render: function render() {\n var _props = this.props,\n className = _props.className,\n children = _props.children,\n focused = _props.focused,\n selected = _props.selected,\n disabled = _props.disabled,\n readOnly = _props.readOnly;\n\n\n var props = _3.default.omitOwnProps(this);\n\n var classes = {\n 'rw-state-focus': focused,\n 'rw-state-selected': selected,\n 'rw-state-disabled': disabled,\n 'rw-state-readonly': readOnly\n };\n\n return _react2.default.createElement(\n 'li',\n _extends({\n role: 'option',\n tabIndex: !(disabled || readOnly) ? '-1' : undefined,\n 'aria-selected': !!selected,\n className: (0, _classnames2.default)('rw-list-option', className, classes)\n }, props),\n children\n );\n }\n});\n\nexports.default = ListOption;\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-widgets/lib/ListOption.js\n ** module id = 578\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _CalendarView = require('./CalendarView');\n\nvar _CalendarView2 = _interopRequireDefault(_CalendarView);\n\nvar _dates = require('./util/dates');\n\nvar _dates2 = _interopRequireDefault(_dates);\n\nvar _localizers = require('./util/localizers');\n\nvar _propTypes = require('./util/propTypes');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _2 = require('./util/_');\n\nvar _3 = _interopRequireDefault(_2);\n\nvar _widgetHelpers = require('./util/widgetHelpers');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar dayFormat = function dayFormat(props) {\n return _localizers.date.getFormat('weekday', props.dayFormat);\n},\n dateFormat = function dateFormat(props) {\n return _localizers.date.getFormat('dayOfMonth', props.dateFormat);\n};\n\nvar optionId = function optionId(id, date) {\n return id + '__month_' + _dates2.default.month(date) + '-' + _dates2.default.date(date);\n};\n\nvar propTypes = {\n culture: _react2.default.PropTypes.string,\n today: _react2.default.PropTypes.instanceOf(Date),\n value: _react2.default.PropTypes.instanceOf(Date),\n focused: _react2.default.PropTypes.instanceOf(Date),\n min: _react2.default.PropTypes.instanceOf(Date),\n max: _react2.default.PropTypes.instanceOf(Date),\n onChange: _react2.default.PropTypes.func.isRequired,\n\n dayComponent: _propTypes2.default.elementType,\n dayFormat: _propTypes2.default.dateFormat,\n dateFormat: _propTypes2.default.dateFormat\n};\n\nvar isEqual = function isEqual(dateA, dateB) {\n return _dates2.default.eq(dateA, dateB, 'day');\n};\n\nvar MonthView = _react2.default.createClass({\n\n displayName: 'MonthView',\n\n statics: {\n isEqual: isEqual\n },\n\n mixins: [require('./mixins/RtlChildContextMixin'), require('./mixins/AriaDescendantMixin')()],\n\n propTypes: propTypes,\n\n componentDidUpdate: function componentDidUpdate() {\n var activeId = optionId((0, _widgetHelpers.instanceId)(this), this.props.focused);\n this.ariaActiveDescendant(activeId, null);\n },\n render: function render() {\n var _props = this.props,\n focused = _props.focused,\n culture = _props.culture,\n month = _dates2.default.visibleDays(focused, culture),\n rows = _3.default.chunk(month, 7);\n\n return _react2.default.createElement(\n _CalendarView2.default,\n _3.default.omitOwnProps(this),\n _react2.default.createElement(\n 'thead',\n null,\n _react2.default.createElement(\n 'tr',\n null,\n this.renderHeaders(rows[0], dayFormat(this.props), culture)\n )\n ),\n _react2.default.createElement(\n 'tbody',\n null,\n rows.map(this.renderRow)\n )\n );\n },\n renderRow: function renderRow(row, rowIdx) {\n var _this = this;\n\n var _props2 = this.props,\n focused = _props2.focused,\n today = _props2.today,\n disabled = _props2.disabled,\n onChange = _props2.onChange,\n value = _props2.value,\n culture = _props2.culture,\n min = _props2.min,\n max = _props2.max,\n Day = _props2.dayComponent,\n id = (0, _widgetHelpers.instanceId)(this),\n labelFormat = _localizers.date.getFormat('footer');\n\n return _react2.default.createElement(\n _CalendarView2.default.Row,\n { key: rowIdx },\n row.map(function (date, colIdx) {\n var formattedDate = _localizers.date.format(date, dateFormat(_this.props), culture),\n label = _localizers.date.format(date, labelFormat, culture);\n\n return _react2.default.createElement(\n _CalendarView2.default.Cell,\n {\n key: colIdx,\n id: optionId(id, date),\n label: label,\n date: date,\n now: today,\n min: min,\n max: max,\n unit: 'day',\n viewUnit: 'month',\n onChange: onChange,\n focused: focused,\n selected: value,\n disabled: disabled\n },\n Day ? _react2.default.createElement(Day, { date: date, label: formattedDate }) : formattedDate\n );\n })\n );\n },\n renderHeaders: function renderHeaders(week, format, culture) {\n return week.map(function (date) {\n return _react2.default.createElement(\n 'th',\n { key: 'header_' + _dates2.default.weekday(date, undefined, _localizers.date.startOfWeek(culture)) },\n _localizers.date.format(date, format, culture)\n );\n });\n }\n});\n\nexports.default = MonthView;\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-widgets/lib/Month.js\n ** module id = 579\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _OVERFLOW;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _2 = require('./util/_');\n\nvar _3 = _interopRequireDefault(_2);\n\nvar _style = require('dom-helpers/style');\n\nvar _style2 = _interopRequireDefault(_style);\n\nvar _height = require('dom-helpers/query/height');\n\nvar _height2 = _interopRequireDefault(_height);\n\nvar _camelizeStyle = require('dom-helpers/util/camelizeStyle');\n\nvar _camelizeStyle2 = _interopRequireDefault(_camelizeStyle);\n\nvar _configuration = require('./util/configuration');\n\nvar _configuration2 = _interopRequireDefault(_configuration);\n\nvar _classnames = require('classnames');\n\nvar _classnames2 = _interopRequireDefault(_classnames);\n\nvar _compat = require('./util/compat');\n\nvar _compat2 = _interopRequireDefault(_compat);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar transform = (0, _camelizeStyle2.default)(_configuration2.default.animate.transform);\n\nvar CLOSING = 0,\n CLOSED = 1,\n OPENING = 2,\n OPEN = 3;\n\nfunction properties(prop, value) {\n var _ref, _ref2;\n\n var TRANSLATION_MAP = _configuration2.default.animate.TRANSLATION_MAP;\n\n if (TRANSLATION_MAP && TRANSLATION_MAP[prop]) return _ref = {}, _ref[transform] = TRANSLATION_MAP[prop] + '(' + value + ')', _ref;\n\n return _ref2 = {}, _ref2[prop] = value, _ref2;\n}\n\nvar OVERFLOW = (_OVERFLOW = {}, _OVERFLOW[CLOSED] = 'hidden', _OVERFLOW[CLOSING] = 'hidden', _OVERFLOW[OPENING] = 'hidden', _OVERFLOW);\n\nvar propTypes = {\n open: _react2.default.PropTypes.bool,\n dropUp: _react2.default.PropTypes.bool,\n duration: _react2.default.PropTypes.number,\n\n onClosing: _react2.default.PropTypes.func,\n onOpening: _react2.default.PropTypes.func,\n onClose: _react2.default.PropTypes.func,\n onOpen: _react2.default.PropTypes.func\n};\n\nexports.default = _react2.default.createClass({\n\n displayName: 'Popup',\n\n propTypes: propTypes,\n\n getInitialState: function getInitialState() {\n return {\n initialRender: true,\n status: this.props.open ? OPENING : CLOSED\n };\n },\n getDefaultProps: function getDefaultProps() {\n return {\n duration: 200,\n open: false,\n onClosing: function onClosing() {},\n onOpening: function onOpening() {},\n onClose: function onClose() {},\n onOpen: function onOpen() {}\n };\n },\n componentWillReceiveProps: function componentWillReceiveProps(nextProps) {\n this.setState({\n contentChanged: childKey(nextProps.children) !== childKey(this.props.children)\n });\n },\n componentDidMount: function componentDidMount() {\n var _this = this;\n\n var isOpen = this.state.status === OPENING;\n\n _compat2.default.batchedUpdates(function () {\n _this.setState({ initialRender: false });\n if (isOpen) {\n _this.open();\n }\n });\n },\n componentDidUpdate: function componentDidUpdate(pvProps) {\n var closing = pvProps.open && !this.props.open,\n opening = !pvProps.open && this.props.open,\n open = this.props.open,\n status = this.state.status;\n\n if (!!pvProps.dropUp !== !!this.props.dropUp) {\n this.cancelNextCallback();\n if (status === OPENING) this.open();\n if (status === CLOSING) this.close();\n return;\n }\n\n if (opening) this.open();else if (closing) this.close();else if (open) {\n // this.height() returns a floating point number with the desired height\n // for this popup. Because of potential rounding errors in floating point\n // aritmetic we must allow an error margin when comparing to the current\n // state, otherwise we can end up in an infinite loop where the height\n // is never exactly equal to our target value.\n var height = this.height(),\n diff = Math.abs(height - this.state.height);\n if (isNaN(diff) || diff > 0.1) this.setState({ height: height });\n }\n },\n render: function render() {\n var _props = this.props,\n className = _props.className,\n dropUp = _props.dropUp,\n style = _props.style,\n _state = this.state,\n status = _state.status,\n height = _state.height;\n\n\n var overflow = OVERFLOW[status] || 'visible',\n display = status === CLOSED ? 'none' : 'block';\n\n return _react2.default.createElement(\n 'div',\n {\n style: _extends({\n display: display,\n overflow: overflow,\n height: height\n }, style),\n className: (0, _classnames2.default)(className, 'rw-popup-container', dropUp && 'rw-dropup', this.isTransitioning() && 'rw-popup-animating')\n },\n this.renderChildren()\n );\n },\n renderChildren: function renderChildren() {\n if (!this.props.children) return _react2.default.createElement('span', { className: 'rw-popup rw-widget' });\n\n var offset = this.getOffsetForStatus(this.state.status),\n child = _react2.default.Children.only(this.props.children);\n\n return (0, _react.cloneElement)(child, {\n style: _extends({}, child.props.style, offset, {\n position: this.isTransitioning() ? 'absolute' : undefined\n }),\n className: (0, _classnames2.default)(child.props.className, 'rw-popup rw-widget')\n });\n },\n open: function open() {\n var _this2 = this;\n\n this.cancelNextCallback();\n var el = _compat2.default.findDOMNode(this).firstChild,\n height = this.height();\n\n this.props.onOpening();\n\n this.safeSetState({ status: OPENING, height: height }, function () {\n var offset = _this2.getOffsetForStatus(OPEN),\n duration = _this2.props.duration;\n\n _this2.animate(el, offset, duration, 'ease', function () {\n _this2.safeSetState({ status: OPEN }, function () {\n _this2.props.onOpen();\n });\n });\n });\n },\n close: function close() {\n var _this3 = this;\n\n this.cancelNextCallback();\n var el = _compat2.default.findDOMNode(this).firstChild,\n height = this.height();\n\n this.props.onClosing();\n\n this.safeSetState({ status: CLOSING, height: height }, function () {\n var offset = _this3.getOffsetForStatus(CLOSED),\n duration = _this3.props.duration;\n\n _this3.animate(el, offset, duration, 'ease', function () {\n return _this3.safeSetState({ status: CLOSED }, function () {\n _this3.props.onClose();\n });\n });\n });\n },\n getOffsetForStatus: function getOffsetForStatus(status) {\n var _CLOSED$CLOSING$OPENI;\n\n if (this.state.initialRender) return {};\n\n var _in = properties('top', this.props.dropUp ? '100%' : '-100%'),\n out = properties('top', 0);\n return (_CLOSED$CLOSING$OPENI = {}, _CLOSED$CLOSING$OPENI[CLOSED] = _in, _CLOSED$CLOSING$OPENI[CLOSING] = out, _CLOSED$CLOSING$OPENI[OPENING] = _in, _CLOSED$CLOSING$OPENI[OPEN] = out, _CLOSED$CLOSING$OPENI)[status] || {};\n },\n height: function height() {\n var container = _compat2.default.findDOMNode(this),\n content = container.firstChild,\n margin = parseInt((0, _style2.default)(content, 'margin-top'), 10) + parseInt((0, _style2.default)(content, 'margin-bottom'), 10);\n\n var old = container.style.display,\n height = void 0;\n\n container.style.display = 'block';\n height = ((0, _height2.default)(content) || 0) + (isNaN(margin) ? 0 : margin);\n container.style.display = old;\n return height;\n },\n isTransitioning: function isTransitioning() {\n return this.state.status === OPENING || this.state.status === CLOSED;\n },\n animate: function animate(el, props, dur, easing, cb) {\n this._transition = _configuration2.default.animate(el, props, dur, easing, this.setNextCallback(cb));\n },\n cancelNextCallback: function cancelNextCallback() {\n if (this._transition && this._transition.cancel) {\n this._transition.cancel();\n this._transition = null;\n }\n if (this.nextCallback) {\n this.nextCallback.cancel();\n this.nextCallback = null;\n }\n },\n safeSetState: function safeSetState(nextState, callback) {\n this.setState(nextState, this.setNextCallback(callback));\n },\n setNextCallback: function setNextCallback(callback) {\n var _this4 = this;\n\n var active = true;\n\n this.nextCallback = function (event) {\n if (active) {\n active = false;\n _this4.nextCallback = null;\n callback(event);\n }\n };\n\n this.nextCallback.cancel = function () {\n return active = false;\n };\n return this.nextCallback;\n }\n});\n\n\nfunction childKey(children) {\n var nextChildMapping = _react2.default.Children.map(children, function (c) {\n return c;\n });\n for (var key in nextChildMapping) {\n return key;\n }\n}\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-widgets/lib/Popup.js\n ** module id = 580\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _style = require('dom-helpers/style');\n\nvar _style2 = _interopRequireDefault(_style);\n\nvar _height = require('dom-helpers/query/height');\n\nvar _height2 = _interopRequireDefault(_height);\n\nvar _width = require('dom-helpers/query/width');\n\nvar _width2 = _interopRequireDefault(_width);\n\nvar _compat = require('./util/compat');\n\nvar _compat2 = _interopRequireDefault(_compat);\n\nvar _2 = require('./util/_');\n\nvar _3 = _interopRequireDefault(_2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * A streamlined version of TransitionGroup built for managing at most two active children\n * also provides additional hooks for animation start/end\n * https://github.com/facebook/react/blob/master/src/addons/transitions/ReactTransitionGroup.js\n * relevent code is licensed accordingly\n */\nfunction getChild(children) {\n return _react2.default.Children.only(children);\n}\n\nfunction key(child) {\n return child && child.key;\n}\n\nexports.default = _react2.default.createClass({\n\n displayName: 'ReplaceTransitionGroup',\n\n propTypes: {\n component: _react2.default.PropTypes.oneOfType([_react2.default.PropTypes.element, _react2.default.PropTypes.string]),\n childFactory: _react2.default.PropTypes.func,\n onAnimating: _react2.default.PropTypes.func,\n onAnimate: _react2.default.PropTypes.func\n },\n\n getDefaultProps: function getDefaultProps() {\n return {\n component: 'span',\n childFactory: function childFactory(a) {\n return a;\n },\n onAnimating: _3.default.noop,\n onAnimate: _3.default.noop\n };\n },\n getInitialState: function getInitialState() {\n return {\n children: _3.default.splat(this.props.children)\n };\n },\n componentWillReceiveProps: function componentWillReceiveProps(nextProps) {\n var nextChild = getChild(nextProps.children),\n stack = this.state.children.slice(),\n next = stack[1],\n last = stack[0];\n\n var isLastChild = last && key(last) === key(nextChild),\n isNextChild = next && key(next) === key(nextChild);\n\n //no children\n if (!last) {\n stack.push(nextChild);\n this.entering = nextChild;\n } else if (last && !next && !isLastChild) {\n //new child\n stack.push(nextChild);\n this.leaving = last;\n this.entering = nextChild;\n } else if (last && next && !isLastChild && !isNextChild) {\n // the child is not the current one, exit the current one, add the new one\n // - shift the stack down\n stack.shift();\n stack.push(nextChild);\n this.leaving = next;\n this.entering = nextChild;\n }\n //new child that just needs to be re-rendered\n else if (isLastChild) stack.splice(0, 1, nextChild);else if (isNextChild) stack.splice(1, 1, nextChild);\n\n if (this.state.children[0] !== stack[0] || this.state.children[1] !== stack[1]) this.setState({ children: stack });\n },\n componentWillMount: function componentWillMount() {\n this.animatingKeys = {};\n this.leaving = null;\n this.entering = null;\n },\n componentDidUpdate: function componentDidUpdate() {\n var entering = this.entering,\n leaving = this.leaving,\n first = this.refs[key(entering) || key(leaving)],\n node = _compat2.default.findDOMNode(this),\n el = first && _compat2.default.findDOMNode(first);\n\n if (el) (0, _style2.default)(node, {\n overflow: 'hidden',\n height: (0, _height2.default)(el) + 'px',\n width: (0, _width2.default)(el) + 'px'\n });\n\n this.props.onAnimating();\n\n this.entering = null;\n this.leaving = null;\n\n if (entering) this.performEnter(key(entering));\n if (leaving) this.performLeave(key(leaving));\n },\n performEnter: function performEnter(key) {\n var component = this.refs[key];\n\n if (!component) return;\n\n this.animatingKeys[key] = true;\n\n if (component.componentWillEnter) component.componentWillEnter(this._handleDoneEntering.bind(this, key));else this._handleDoneEntering(key);\n },\n _tryFinish: function _tryFinish() {\n\n if (this.isTransitioning()) return;\n\n if (this.isMounted()) (0, _style2.default)(_compat2.default.findDOMNode(this), { overflow: 'visible', height: '', width: '' });\n\n this.props.onAnimate();\n },\n _handleDoneEntering: function _handleDoneEntering(enterkey) {\n var component = this.refs[enterkey];\n\n if (component && component.componentDidEnter) component.componentDidEnter();\n\n delete this.animatingKeys[enterkey];\n\n if (key(this.props.children) !== enterkey) this.performLeave(enterkey); // This was removed before it had fully entered. Remove it.\n\n this._tryFinish();\n },\n performLeave: function performLeave(key) {\n var component = this.refs[key];\n\n if (!component) return;\n\n this.animatingKeys[key] = true;\n\n if (component.componentWillLeave) component.componentWillLeave(this._handleDoneLeaving.bind(this, key));else this._handleDoneLeaving(key);\n },\n _handleDoneLeaving: function _handleDoneLeaving(leavekey) {\n var component = this.refs[leavekey];\n\n if (component && component.componentDidLeave) component.componentDidLeave();\n\n delete this.animatingKeys[leavekey];\n\n if (key(this.props.children) === leavekey) this.performEnter(leavekey); // This entered again before it fully left. Add it again.\n\n else if (this.isMounted()) this.setState({\n children: this.state.children.filter(function (c) {\n return key(c) !== leavekey;\n })\n });\n\n this._tryFinish();\n },\n isTransitioning: function isTransitioning() {\n return !!Object.keys(this.animatingKeys).length;\n },\n render: function render() {\n var _this = this;\n\n var Component = this.props.component;\n\n return _react2.default.createElement(\n Component,\n _3.default.omitOwnProps(this),\n this.state.children.map(function (c) {\n return _this.props.childFactory(c, key(c));\n })\n );\n }\n});\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-widgets/lib/ReplaceTransitionGroup.js\n ** module id = 581\n ** module chunks = 0\n **/","'use strict';\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _ReplaceTransitionGroup = require('./ReplaceTransitionGroup');\n\nvar _ReplaceTransitionGroup2 = _interopRequireDefault(_ReplaceTransitionGroup);\n\nvar _compat = require('./util/compat');\n\nvar _compat2 = _interopRequireDefault(_compat);\n\nvar _style = require('dom-helpers/style');\n\nvar _style2 = _interopRequireDefault(_style);\n\nvar _width = require('dom-helpers/query/width');\n\nvar _width2 = _interopRequireDefault(_width);\n\nvar _configuration = require('./util/configuration');\n\nvar _configuration2 = _interopRequireDefault(_configuration);\n\nvar _2 = require('./util/_');\n\nvar _3 = _interopRequireDefault(_2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar SlideChildGroup = _react2.default.createClass({\n displayName: 'SlideChildGroup',\n\n\n propTypes: {\n direction: _react2.default.PropTypes.oneOf(['left', 'right']),\n duration: _react2.default.PropTypes.number\n },\n\n componentWillEnter: function componentWillEnter(done) {\n var _this = this;\n\n var node = _compat2.default.findDOMNode(this),\n width = (0, _width2.default)(node),\n direction = this.props.direction;\n\n width = direction === 'left' ? width : -width;\n\n this.ORGINAL_POSITION = node.style.position;\n\n (0, _style2.default)(node, { position: 'absolute', left: width + 'px', top: 0 });\n\n _configuration2.default.animate(node, { left: 0 }, this.props.duration, function () {\n\n (0, _style2.default)(node, {\n position: _this.ORGINAL_POSITION,\n overflow: 'hidden'\n });\n\n _this.ORGINAL_POSITION = null;\n done && done();\n });\n },\n componentWillLeave: function componentWillLeave(done) {\n var _this2 = this;\n\n var node = _compat2.default.findDOMNode(this),\n width = (0, _width2.default)(node),\n direction = this.props.direction;\n\n width = direction === 'left' ? -width : width;\n\n this.ORGINAL_POSITION = node.style.position;\n\n (0, _style2.default)(node, { position: 'absolute', top: 0, left: 0 });\n\n _configuration2.default.animate(node, { left: width + 'px' }, this.props.duration, function () {\n (0, _style2.default)(node, {\n position: _this2.ORGINAL_POSITION,\n overflow: 'hidden'\n });\n\n _this2.ORGINAL_POSITION = null;\n done && done();\n });\n },\n render: function render() {\n return _react2.default.Children.only(this.props.children);\n }\n});\n\nmodule.exports = _react2.default.createClass({\n displayName: 'exports',\n\n\n propTypes: {\n direction: _react2.default.PropTypes.oneOf(['left', 'right']),\n duration: _react2.default.PropTypes.number\n },\n\n getDefaultProps: function getDefaultProps() {\n return {\n direction: 'left',\n duration: 250\n };\n },\n _wrapChild: function _wrapChild(child, ref) {\n return _react2.default.createElement(\n SlideChildGroup,\n { key: child.key, ref: ref,\n direction: this.props.direction,\n duration: this.props.duration },\n child\n );\n },\n render: function render() {\n var _props = this.props,\n style = _props.style,\n children = _props.children;\n\n\n style = _extends({}, style, {\n position: 'relative',\n overflow: 'hidden'\n });\n\n return _react2.default.createElement(\n _ReplaceTransitionGroup2.default,\n _extends({}, _3.default.omitOwnProps(this), {\n ref: 'container',\n component: 'div',\n childFactory: this._wrapChild,\n style: style\n }),\n children\n );\n }\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-widgets/lib/SlideTransition.js\n ** module id = 582\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _dates2 = require('./util/dates');\n\nvar _dates3 = _interopRequireDefault(_dates2);\n\nvar _List = require('./List');\n\nvar _List2 = _interopRequireDefault(_List);\n\nvar _localizers = require('./util/localizers');\n\nvar _propTypes = require('./util/propTypes');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _2 = require('./util/_');\n\nvar _3 = _interopRequireDefault(_2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar format = function format(props) {\n return _localizers.date.getFormat('time', props.format);\n};\n\nexports.default = _react2.default.createClass({\n\n displayName: 'TimeList',\n\n propTypes: {\n value: _react2.default.PropTypes.instanceOf(Date),\n step: _react2.default.PropTypes.number,\n min: _react2.default.PropTypes.instanceOf(Date),\n max: _react2.default.PropTypes.instanceOf(Date),\n currentDate: _react2.default.PropTypes.instanceOf(Date),\n\n itemComponent: _propTypes2.default.elementType,\n format: _propTypes2.default.dateFormat,\n onSelect: _react2.default.PropTypes.func,\n preserveDate: _react2.default.PropTypes.bool,\n culture: _react2.default.PropTypes.string,\n delay: _react2.default.PropTypes.number\n },\n\n mixins: [require('./mixins/TimeoutMixin')],\n\n getDefaultProps: function getDefaultProps() {\n return {\n step: 30,\n onSelect: function onSelect() {},\n min: new Date(1900, 0, 1),\n max: new Date(2099, 11, 31),\n preserveDate: true,\n delay: 300,\n ariaActiveDescendantKey: 'timelist'\n };\n },\n getInitialState: function getInitialState() {\n var data = this._dates(this.props),\n focusedItem = this._closestDate(data, this.props.value || this.props.currentDate);\n\n return {\n focusedItem: focusedItem || data[0],\n dates: data\n };\n },\n componentWillReceiveProps: function componentWillReceiveProps(nextProps) {\n var data = this._dates(nextProps),\n focusedItem = this._closestDate(data, nextProps.value || this.props.currentDate),\n valChanged = !_dates3.default.eq(nextProps.value, this.props.value, 'minutes'),\n minChanged = !_dates3.default.eq(nextProps.min, this.props.min, 'minutes'),\n maxChanged = !_dates3.default.eq(nextProps.max, this.props.max, 'minutes'),\n localeChanged = this.props.format !== nextProps.format || this.props.culture !== nextProps.culture;\n\n if (valChanged || minChanged || maxChanged || localeChanged) {\n this.setState({\n focusedItem: focusedItem || data[0],\n dates: data\n });\n }\n },\n render: function render() {\n var _props = this.props,\n value = _props.value,\n onSelect = _props.onSelect;\n\n\n var times = this.state.dates,\n date = this._closestDate(times, value);\n\n return _react2.default.createElement(_List2.default, _extends({}, _3.default.omitOwnProps(this), {\n ref: 'list',\n data: times,\n textField: 'label',\n valueField: 'date',\n selected: date,\n onSelect: onSelect,\n focused: this.state.focusedItem\n }));\n },\n _closestDate: function _closestDate(times, date) {\n var roundTo = 1000 * 60 * this.props.step,\n inst = null,\n label;\n\n if (!date) return null;\n\n date = new Date(Math.floor(date.getTime() / roundTo) * roundTo);\n label = _localizers.date.format(date, format(this.props), this.props.culture);\n\n times.some(function (time) {\n if (time.label === label) return inst = time;\n });\n\n return inst;\n },\n _data: function _data() {\n return this.state.dates;\n },\n _dates: function _dates(props) {\n var times = [],\n i = 0,\n values = this._dateValues(props),\n start = values.min,\n startDay = _dates3.default.date(start);\n\n while (_dates3.default.date(start) === startDay && _dates3.default.lte(start, values.max)) {\n i++;\n times.push({ date: start, label: _localizers.date.format(start, format(props), props.culture) });\n start = _dates3.default.add(start, props.step || 30, 'minutes');\n }\n return times;\n },\n _dateValues: function _dateValues(props) {\n var value = props.value || props.currentDate || _dates3.default.today(),\n useDate = props.preserveDate,\n min = props.min,\n max = props.max,\n start,\n end;\n\n //compare just the time regradless of whether they fall on the same day\n if (!useDate) {\n start = _dates3.default.startOf(_dates3.default.merge(new Date(), min, props.currentDate), 'minutes');\n end = _dates3.default.startOf(_dates3.default.merge(new Date(), max, props.currentDate), 'minutes');\n\n if (_dates3.default.lte(end, start) && _dates3.default.gt(max, min, 'day')) end = _dates3.default.tomorrow();\n\n return {\n min: start,\n max: end\n };\n }\n\n start = _dates3.default.today();\n end = _dates3.default.tomorrow();\n //date parts are equal\n return {\n min: _dates3.default.eq(value, min, 'day') ? _dates3.default.merge(start, min, props.currentDate) : start,\n max: _dates3.default.eq(value, max, 'day') ? _dates3.default.merge(start, max, props.currentDate) : end\n };\n },\n handleKeyDown: function handleKeyDown(e) {\n var key = e.key,\n focusedItem = this.state.focusedItem,\n list = this.refs.list;\n\n if (key === 'End') {\n e.preventDefault();\n this.setState({ focusedItem: list.last() });\n } else if (key === 'Home') {\n e.preventDefault();\n this.setState({ focusedItem: list.first() });\n } else if (key === 'Enter') this.props.onSelect(focusedItem);else if (key === 'ArrowDown') {\n e.preventDefault();\n this.setState({ focusedItem: list.next(focusedItem) });\n } else if (key === 'ArrowUp') {\n e.preventDefault();\n this.setState({ focusedItem: list.prev(focusedItem) });\n }\n },\n handleKeyPress: function handleKeyPress(e) {\n var _this = this;\n\n e.preventDefault();\n\n this.search(String.fromCharCode(e.which), function (item) {\n _this.isMounted() && _this.setState({ focusedItem: item });\n });\n },\n scrollTo: function scrollTo() {\n this.refs.list.move && this.refs.list.move();\n },\n search: function search(character, cb) {\n var _this2 = this;\n\n var word = ((this._searchTerm || '') + character).toLowerCase();\n\n this._searchTerm = word;\n\n this.setTimeout('search', function () {\n var list = _this2.refs.list,\n item = list.next(_this2.state.focusedItem, word);\n\n _this2._searchTerm = '';\n if (item) cb(item);\n }, this.props.delay);\n }\n});\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-widgets/lib/TimeList.js\n ** module id = 583\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _CalendarView = require('./CalendarView');\n\nvar _CalendarView2 = _interopRequireDefault(_CalendarView);\n\nvar _dates = require('./util/dates');\n\nvar _dates2 = _interopRequireDefault(_dates);\n\nvar _localizers = require('./util/localizers');\n\nvar _2 = require('./util/_');\n\nvar _3 = _interopRequireDefault(_2);\n\nvar _propTypes = require('./util/propTypes');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _widgetHelpers = require('./util/widgetHelpers');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar format = function format(props) {\n return _localizers.date.getFormat('month', props.monthFormat);\n};\n\nvar propTypes = {\n culture: _react2.default.PropTypes.string,\n today: _react2.default.PropTypes.instanceOf(Date),\n value: _react2.default.PropTypes.instanceOf(Date),\n focused: _react2.default.PropTypes.instanceOf(Date),\n min: _react2.default.PropTypes.instanceOf(Date),\n max: _react2.default.PropTypes.instanceOf(Date),\n onChange: _react2.default.PropTypes.func.isRequired,\n\n monthFormat: _propTypes2.default.dateFormat\n};\n\nvar optionId = function optionId(id, date) {\n return id + '__year_' + _dates2.default.year(date) + '-' + _dates2.default.month(date);\n};\n\nvar YearView = _react2.default.createClass({\n\n displayName: 'YearView',\n\n mixins: [require('./mixins/RtlChildContextMixin'), require('./mixins/AriaDescendantMixin')()],\n\n propTypes: propTypes,\n\n componentDidUpdate: function componentDidUpdate() {\n var activeId = optionId((0, _widgetHelpers.instanceId)(this), this.props.focused);\n this.ariaActiveDescendant(activeId);\n },\n render: function render() {\n var focused = this.props.focused,\n months = _dates2.default.monthsInYear(_dates2.default.year(focused));\n\n\n return _react2.default.createElement(\n _CalendarView2.default,\n _3.default.omitOwnProps(this),\n _react2.default.createElement(\n 'tbody',\n null,\n _3.default.chunk(months, 4).map(this.renderRow)\n )\n );\n },\n renderRow: function renderRow(row, rowIdx) {\n var _this = this;\n\n var _props = this.props,\n focused = _props.focused,\n disabled = _props.disabled,\n onChange = _props.onChange,\n value = _props.value,\n today = _props.today,\n culture = _props.culture,\n min = _props.min,\n max = _props.max;\n\n\n var id = (0, _widgetHelpers.instanceId)(this),\n labelFormat = _localizers.date.getFormat('header');\n\n return _react2.default.createElement(\n _CalendarView2.default.Row,\n { key: rowIdx },\n row.map(function (date, colIdx) {\n var label = _localizers.date.format(date, labelFormat, culture);\n\n return _react2.default.createElement(\n _CalendarView2.default.Cell,\n {\n key: colIdx,\n id: optionId(id, date),\n label: label,\n date: date,\n now: today,\n min: min,\n max: max,\n unit: 'month',\n onChange: onChange,\n focused: focused,\n selected: value,\n disabled: disabled\n },\n _localizers.date.format(date, format(_this.props), culture)\n );\n })\n );\n }\n});\n\nexports.default = YearView;\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-widgets/lib/Year.js\n ** module id = 584\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\n\nvar _configuration = require('./util/configuration');\n\nvar _configuration2 = _interopRequireDefault(_configuration);\n\nvar _localizers = require('./util/localizers');\n\nvar localizers = _interopRequireWildcard(_localizers);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n setAnimate: function setAnimate(animatefn) {\n _configuration2.default.animate = animatefn;\n },\n setLocalizers: function setLocalizers(_ref) {\n var date = _ref.date,\n number = _ref.number;\n\n date && this.setDateLocalizer(date);\n number && this.setNumberLocalizer(number);\n },\n\n\n setDateLocalizer: localizers.setDate,\n\n setNumberLocalizer: localizers.setNumber\n};\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-widgets/lib/configure.js\n ** module id = 585\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\n\nexports.default = function (moment) {\n if (typeof moment !== 'function') throw new TypeError('You must provide a valid moment object');\n\n var localField = typeof moment().locale === 'function' ? 'locale' : 'lang',\n hasLocaleData = !!moment.localeData;\n\n if (!hasLocaleData) throw new TypeError('The Moment localizer depends on the `localeData` api, please provide a moment object v2.2.0 or higher');\n\n function getMoment(culture, value, format) {\n return culture ? moment(value, format)[localField](culture) : moment(value, format);\n }\n\n function endOfDecade(date) {\n return moment(date).add(10, 'year').add(-1, 'millisecond').toDate();\n }\n\n function endOfCentury(date) {\n return moment(date).add(100, 'year').add(-1, 'millisecond').toDate();\n }\n\n var localizer = {\n formats: {\n date: 'L',\n time: 'LT',\n default: 'lll',\n header: 'MMMM YYYY',\n footer: 'LL',\n weekday: 'dd',\n dayOfMonth: 'DD',\n month: 'MMM',\n year: 'YYYY',\n\n decade: function decade(date, culture, localizer) {\n return localizer.format(date, 'YYYY', culture) + ' - ' + localizer.format(endOfDecade(date), 'YYYY', culture);\n },\n century: function century(date, culture, localizer) {\n return localizer.format(date, 'YYYY', culture) + ' - ' + localizer.format(endOfCentury(date), 'YYYY', culture);\n }\n },\n\n firstOfWeek: function firstOfWeek(culture) {\n return moment.localeData(culture).firstDayOfWeek();\n },\n parse: function parse(value, format, culture) {\n if (!value) return null;\n var m = getMoment(culture, value, format);\n if (m.isValid()) return m.toDate();\n return null;\n },\n format: function format(value, _format, culture) {\n return getMoment(culture, value).format(_format);\n }\n };\n\n _configure2.default.setDateLocalizer(localizer);\n\n return localizer;\n};\n\nvar _configure = require('../configure');\n\nvar _configure2 = _interopRequireDefault(_configure);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-widgets/lib/localizers/moment.js\n ** module id = 586\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactDom = require('react-dom');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n propTypes: {\n autoFocus: _react2.default.PropTypes.bool\n },\n\n componentDidMount: function componentDidMount() {\n var autoFocus = this.props.autoFocus;\n\n\n if (autoFocus) this.focus ? this.focus() : (0, _reactDom.findDOMNode)(this).focus();\n }\n};\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-widgets/lib/mixins/AutoFocusMixin.js\n ** module id = 587\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\n\nvar _filter = require('../util/filter');\n\nvar _filter2 = _interopRequireDefault(_filter);\n\nvar _dataHelpers = require('../util/dataHelpers');\n\nvar _propTypes = require('../util/propTypes');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _interaction = require('../util/interaction');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar EMPTY_VALUE = {};\n\nvar isDisabledOrReadonly = function isDisabledOrReadonly(item, props) {\n return (0, _interaction.isDisabledItem)(item, props) || (0, _interaction.isReadOnlyItem)(item, props);\n};\n\nexports.default = {\n\n propTypes: {\n textField: _propTypes2.default.accessor,\n valueField: _propTypes2.default.accessor,\n disabled: _propTypes2.default.disabled.acceptsArray,\n readOnly: _propTypes2.default.readOnly.acceptsArray\n },\n\n first: function first() {\n return this.next(EMPTY_VALUE);\n },\n last: function last() {\n var data = this._data(),\n item = data[data.length - 1];\n\n return isDisabledOrReadonly(item, this.props) ? this.prev(item) : item;\n },\n prev: function prev(item, word) {\n var data = this._data(),\n nextIdx = data.indexOf(item),\n matches = matcher(word, item, this.props.textField);\n\n if (nextIdx < 0 || nextIdx == null) nextIdx = 0;\n\n nextIdx--;\n\n while (nextIdx > -1 && (isDisabledOrReadonly(data[nextIdx], this.props) || !matches(data[nextIdx]))) {\n nextIdx--;\n }return nextIdx >= 0 ? data[nextIdx] : item;\n },\n next: function next(item, word) {\n var data = this._data(),\n nextIdx = data.indexOf(item) + 1,\n len = data.length,\n matches = matcher(word, item, this.props.textField);\n\n while (nextIdx < len && (isDisabledOrReadonly(data[nextIdx], this.props) || !matches(data[nextIdx]))) {\n nextIdx++;\n }return nextIdx < len ? data[nextIdx] : item;\n }\n};\n\n\nfunction matcher(word, item, textField) {\n if (!word) return function () {\n return true;\n };\n\n word = word.toLowerCase();\n return function (item) {\n return _filter2.default.startsWith((0, _dataHelpers.dataText)(item, textField).toLowerCase(), word);\n };\n}\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-widgets/lib/mixins/ListMovementMixin.js\n ** module id = 588\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\n\nvar _scrollTo2 = require('dom-helpers/util/scrollTo');\n\nvar _scrollTo3 = _interopRequireDefault(_scrollTo2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n _scrollTo: function _scrollTo(selected, list, focused) {\n var state = this._scrollState || (this._scrollState = {}),\n handler = this.props.onMove,\n lastVisible = state.visible,\n lastItem = state.focused,\n shown,\n changed;\n\n state.visible = !(!list.offsetWidth || !list.offsetHeight);\n state.focused = focused;\n\n changed = lastItem !== focused;\n shown = state.visible && !lastVisible;\n\n if (shown || state.visible && changed) {\n if (handler) handler(selected, list, focused);else {\n state.scrollCancel && state.scrollCancel();\n state.scrollCancel = (0, _scrollTo3.default)(selected, list);\n }\n }\n }\n};\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-widgets/lib/mixins/PopupScrollToMixin.js\n ** module id = 589\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\nexports.default = animate;\n\nvar _hyphenate = require('dom-helpers/util/hyphenate');\n\nvar _hyphenate2 = _interopRequireDefault(_hyphenate);\n\nvar _style = require('dom-helpers/style');\n\nvar _style2 = _interopRequireDefault(_style);\n\nvar _on = require('dom-helpers/events/on');\n\nvar _on2 = _interopRequireDefault(_on);\n\nvar _off = require('dom-helpers/events/off');\n\nvar _off2 = _interopRequireDefault(_off);\n\nvar _properties = require('dom-helpers/transition/properties');\n\nvar _properties2 = _interopRequireDefault(_properties);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar has = Object.prototype.hasOwnProperty,\n reset = {},\n TRANSLATION_MAP = {\n left: 'translateX',\n right: 'translateX',\n top: 'translateY',\n bottom: 'translateY'\n};\n\nreset[_properties2.default.property] = reset[_properties2.default.duration] = reset[_properties2.default.delay] = reset[_properties2.default.timing] = '';\n\nanimate.endEvent = _properties2.default.end;\nanimate.transform = _properties2.default.transform;\nanimate.TRANSLATION_MAP = TRANSLATION_MAP;\n\n// super lean animate function for transitions\n// doesn't support all translations to keep it matching the jquery API\n/**\n * code in part from: Zepto 1.1.4 | zeptojs.com/license\n */\nfunction animate(node, properties, duration, easing, callback) {\n var cssProperties = [],\n fakeEvent = { target: node, currentTarget: node },\n cssValues = {},\n transforms = '',\n fired;\n\n if (typeof easing === 'function') callback = easing, easing = null;\n\n if (!_properties2.default.end) duration = 0;\n if (duration === undefined) duration = 200;\n\n for (var key in properties) {\n if (has.call(properties, key)) {\n if (/(top|bottom)/.test(key)) transforms += TRANSLATION_MAP[key] + '(' + properties[key] + ') ';else {\n cssValues[key] = properties[key];\n cssProperties.push((0, _hyphenate2.default)(key));\n }\n }\n }if (transforms) {\n cssValues[_properties2.default.transform] = transforms;\n cssProperties.push(_properties2.default.transform);\n }\n\n if (duration > 0) {\n cssValues[_properties2.default.property] = cssProperties.join(', ');\n cssValues[_properties2.default.duration] = duration / 1000 + 's';\n cssValues[_properties2.default.delay] = 0 + 's';\n cssValues[_properties2.default.timing] = easing || 'linear';\n\n (0, _on2.default)(node, _properties2.default.end, done);\n\n setTimeout(function () {\n if (!fired) done(fakeEvent);\n }, duration + 500);\n }\n\n node.clientLeft; // trigger page reflow\n (0, _style2.default)(node, cssValues);\n\n if (duration <= 0) setTimeout(done.bind(null, fakeEvent), 0);\n\n return {\n cancel: function cancel() {\n if (fired) return;\n fired = true;\n (0, _off2.default)(node, _properties2.default.end, done);\n (0, _style2.default)(node, reset);\n }\n };\n\n function done(event) {\n if (event.target !== event.currentTarget) return;\n\n fired = true;\n (0, _off2.default)(event.target, _properties2.default.end, done);\n (0, _style2.default)(node, reset);\n callback && callback.call(this);\n }\n}\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-widgets/lib/util/dom/animate.js\n ** module id = 590\n ** module chunks = 0\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule AutoFocusUtils\n */\n\n'use strict';\n\nvar ReactDOMComponentTree = require('./ReactDOMComponentTree');\n\nvar focusNode = require('fbjs/lib/focusNode');\n\nvar AutoFocusUtils = {\n focusDOMComponent: function () {\n focusNode(ReactDOMComponentTree.getNodeFromInstance(this));\n }\n};\n\nmodule.exports = AutoFocusUtils;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react/lib/AutoFocusUtils.js\n ** module id = 591\n ** module chunks = 0\n **/","/**\n * Copyright 2013-present Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule BeforeInputEventPlugin\n */\n\n'use strict';\n\nvar EventConstants = require('./EventConstants');\nvar EventPropagators = require('./EventPropagators');\nvar ExecutionEnvironment = require('fbjs/lib/ExecutionEnvironment');\nvar FallbackCompositionState = require('./FallbackCompositionState');\nvar SyntheticCompositionEvent = require('./SyntheticCompositionEvent');\nvar SyntheticInputEvent = require('./SyntheticInputEvent');\n\nvar keyOf = require('fbjs/lib/keyOf');\n\nvar END_KEYCODES = [9, 13, 27, 32]; // Tab, Return, Esc, Space\nvar START_KEYCODE = 229;\n\nvar canUseCompositionEvent = ExecutionEnvironment.canUseDOM && 'CompositionEvent' in window;\n\nvar documentMode = null;\nif (ExecutionEnvironment.canUseDOM && 'documentMode' in document) {\n documentMode = document.documentMode;\n}\n\n// Webkit offers a very useful `textInput` event that can be used to\n// directly represent `beforeInput`. The IE `textinput` event is not as\n// useful, so we don't use it.\nvar canUseTextInputEvent = ExecutionEnvironment.canUseDOM && 'TextEvent' in window && !documentMode && !isPresto();\n\n// In IE9+, we have access to composition events, but the data supplied\n// by the native compositionend event may be incorrect. Japanese ideographic\n// spaces, for instance (\\u3000) are not recorded correctly.\nvar useFallbackCompositionData = ExecutionEnvironment.canUseDOM && (!canUseCompositionEvent || documentMode && documentMode > 8 && documentMode <= 11);\n\n/**\n * Opera <= 12 includes TextEvent in window, but does not fire\n * text input events. Rely on keypress instead.\n */\nfunction isPresto() {\n var opera = window.opera;\n return typeof opera === 'object' && typeof opera.version === 'function' && parseInt(opera.version(), 10) <= 12;\n}\n\nvar SPACEBAR_CODE = 32;\nvar SPACEBAR_CHAR = String.fromCharCode(SPACEBAR_CODE);\n\nvar topLevelTypes = EventConstants.topLevelTypes;\n\n// Events and their corresponding property names.\nvar eventTypes = {\n beforeInput: {\n phasedRegistrationNames: {\n bubbled: keyOf({ onBeforeInput: null }),\n captured: keyOf({ onBeforeInputCapture: null })\n },\n dependencies: [topLevelTypes.topCompositionEnd, topLevelTypes.topKeyPress, topLevelTypes.topTextInput, topLevelTypes.topPaste]\n },\n compositionEnd: {\n phasedRegistrationNames: {\n bubbled: keyOf({ onCompositionEnd: null }),\n captured: keyOf({ onCompositionEndCapture: null })\n },\n dependencies: [topLevelTypes.topBlur, topLevelTypes.topCompositionEnd, topLevelTypes.topKeyDown, topLevelTypes.topKeyPress, topLevelTypes.topKeyUp, topLevelTypes.topMouseDown]\n },\n compositionStart: {\n phasedRegistrationNames: {\n bubbled: keyOf({ onCompositionStart: null }),\n captured: keyOf({ onCompositionStartCapture: null })\n },\n dependencies: [topLevelTypes.topBlur, topLevelTypes.topCompositionStart, topLevelTypes.topKeyDown, topLevelTypes.topKeyPress, topLevelTypes.topKeyUp, topLevelTypes.topMouseDown]\n },\n compositionUpdate: {\n phasedRegistrationNames: {\n bubbled: keyOf({ onCompositionUpdate: null }),\n captured: keyOf({ onCompositionUpdateCapture: null })\n },\n dependencies: [topLevelTypes.topBlur, topLevelTypes.topCompositionUpdate, topLevelTypes.topKeyDown, topLevelTypes.topKeyPress, topLevelTypes.topKeyUp, topLevelTypes.topMouseDown]\n }\n};\n\n// Track whether we've ever handled a keypress on the space key.\nvar hasSpaceKeypress = false;\n\n/**\n * Return whether a native keypress event is assumed to be a command.\n * This is required because Firefox fires `keypress` events for key commands\n * (cut, copy, select-all, etc.) even though no character is inserted.\n */\nfunction isKeypressCommand(nativeEvent) {\n return (nativeEvent.ctrlKey || nativeEvent.altKey || nativeEvent.metaKey) &&\n // ctrlKey && altKey is equivalent to AltGr, and is not a command.\n !(nativeEvent.ctrlKey && nativeEvent.altKey);\n}\n\n/**\n * Translate native top level events into event types.\n *\n * @param {string} topLevelType\n * @return {object}\n */\nfunction getCompositionEventType(topLevelType) {\n switch (topLevelType) {\n case topLevelTypes.topCompositionStart:\n return eventTypes.compositionStart;\n case topLevelTypes.topCompositionEnd:\n return eventTypes.compositionEnd;\n case topLevelTypes.topCompositionUpdate:\n return eventTypes.compositionUpdate;\n }\n}\n\n/**\n * Does our fallback best-guess model think this event signifies that\n * composition has begun?\n *\n * @param {string} topLevelType\n * @param {object} nativeEvent\n * @return {boolean}\n */\nfunction isFallbackCompositionStart(topLevelType, nativeEvent) {\n return topLevelType === topLevelTypes.topKeyDown && nativeEvent.keyCode === START_KEYCODE;\n}\n\n/**\n * Does our fallback mode think that this event is the end of composition?\n *\n * @param {string} topLevelType\n * @param {object} nativeEvent\n * @return {boolean}\n */\nfunction isFallbackCompositionEnd(topLevelType, nativeEvent) {\n switch (topLevelType) {\n case topLevelTypes.topKeyUp:\n // Command keys insert or clear IME input.\n return END_KEYCODES.indexOf(nativeEvent.keyCode) !== -1;\n case topLevelTypes.topKeyDown:\n // Expect IME keyCode on each keydown. If we get any other\n // code we must have exited earlier.\n return nativeEvent.keyCode !== START_KEYCODE;\n case topLevelTypes.topKeyPress:\n case topLevelTypes.topMouseDown:\n case topLevelTypes.topBlur:\n // Events are not possible without cancelling IME.\n return true;\n default:\n return false;\n }\n}\n\n/**\n * Google Input Tools provides composition data via a CustomEvent,\n * with the `data` property populated in the `detail` object. If this\n * is available on the event object, use it. If not, this is a plain\n * composition event and we have nothing special to extract.\n *\n * @param {object} nativeEvent\n * @return {?string}\n */\nfunction getDataFromCustomEvent(nativeEvent) {\n var detail = nativeEvent.detail;\n if (typeof detail === 'object' && 'data' in detail) {\n return detail.data;\n }\n return null;\n}\n\n// Track the current IME composition fallback object, if any.\nvar currentComposition = null;\n\n/**\n * @return {?object} A SyntheticCompositionEvent.\n */\nfunction extractCompositionEvent(topLevelType, targetInst, nativeEvent, nativeEventTarget) {\n var eventType;\n var fallbackData;\n\n if (canUseCompositionEvent) {\n eventType = getCompositionEventType(topLevelType);\n } else if (!currentComposition) {\n if (isFallbackCompositionStart(topLevelType, nativeEvent)) {\n eventType = eventTypes.compositionStart;\n }\n } else if (isFallbackCompositionEnd(topLevelType, nativeEvent)) {\n eventType = eventTypes.compositionEnd;\n }\n\n if (!eventType) {\n return null;\n }\n\n if (useFallbackCompositionData) {\n // The current composition is stored statically and must not be\n // overwritten while composition continues.\n if (!currentComposition && eventType === eventTypes.compositionStart) {\n currentComposition = FallbackCompositionState.getPooled(nativeEventTarget);\n } else if (eventType === eventTypes.compositionEnd) {\n if (currentComposition) {\n fallbackData = currentComposition.getData();\n }\n }\n }\n\n var event = SyntheticCompositionEvent.getPooled(eventType, targetInst, nativeEvent, nativeEventTarget);\n\n if (fallbackData) {\n // Inject data generated from fallback path into the synthetic event.\n // This matches the property of native CompositionEventInterface.\n event.data = fallbackData;\n } else {\n var customData = getDataFromCustomEvent(nativeEvent);\n if (customData !== null) {\n event.data = customData;\n }\n }\n\n EventPropagators.accumulateTwoPhaseDispatches(event);\n return event;\n}\n\n/**\n * @param {string} topLevelType Record from `EventConstants`.\n * @param {object} nativeEvent Native browser event.\n * @return {?string} The string corresponding to this `beforeInput` event.\n */\nfunction getNativeBeforeInputChars(topLevelType, nativeEvent) {\n switch (topLevelType) {\n case topLevelTypes.topCompositionEnd:\n return getDataFromCustomEvent(nativeEvent);\n case topLevelTypes.topKeyPress:\n /**\n * If native `textInput` events are available, our goal is to make\n * use of them. However, there is a special case: the spacebar key.\n * In Webkit, preventing default on a spacebar `textInput` event\n * cancels character insertion, but it *also* causes the browser\n * to fall back to its default spacebar behavior of scrolling the\n * page.\n *\n * Tracking at:\n * https://code.google.com/p/chromium/issues/detail?id=355103\n *\n * To avoid this issue, use the keypress event as if no `textInput`\n * event is available.\n */\n var which = nativeEvent.which;\n if (which !== SPACEBAR_CODE) {\n return null;\n }\n\n hasSpaceKeypress = true;\n return SPACEBAR_CHAR;\n\n case topLevelTypes.topTextInput:\n // Record the characters to be added to the DOM.\n var chars = nativeEvent.data;\n\n // If it's a spacebar character, assume that we have already handled\n // it at the keypress level and bail immediately. Android Chrome\n // doesn't give us keycodes, so we need to blacklist it.\n if (chars === SPACEBAR_CHAR && hasSpaceKeypress) {\n return null;\n }\n\n return chars;\n\n default:\n // For other native event types, do nothing.\n return null;\n }\n}\n\n/**\n * For browsers that do not provide the `textInput` event, extract the\n * appropriate string to use for SyntheticInputEvent.\n *\n * @param {string} topLevelType Record from `EventConstants`.\n * @param {object} nativeEvent Native browser event.\n * @return {?string} The fallback string for this `beforeInput` event.\n */\nfunction getFallbackBeforeInputChars(topLevelType, nativeEvent) {\n // If we are currently composing (IME) and using a fallback to do so,\n // try to extract the composed characters from the fallback object.\n // If composition event is available, we extract a string only at\n // compositionevent, otherwise extract it at fallback events.\n if (currentComposition) {\n if (topLevelType === topLevelTypes.topCompositionEnd || !canUseCompositionEvent && isFallbackCompositionEnd(topLevelType, nativeEvent)) {\n var chars = currentComposition.getData();\n FallbackCompositionState.release(currentComposition);\n currentComposition = null;\n return chars;\n }\n return null;\n }\n\n switch (topLevelType) {\n case topLevelTypes.topPaste:\n // If a paste event occurs after a keypress, throw out the input\n // chars. Paste events should not lead to BeforeInput events.\n return null;\n case topLevelTypes.topKeyPress:\n /**\n * As of v27, Firefox may fire keypress events even when no character\n * will be inserted. A few possibilities:\n *\n * - `which` is `0`. Arrow keys, Esc key, etc.\n *\n * - `which` is the pressed key code, but no char is available.\n * Ex: 'AltGr + d` in Polish. There is no modified character for\n * this key combination and no character is inserted into the\n * document, but FF fires the keypress for char code `100` anyway.\n * No `input` event will occur.\n *\n * - `which` is the pressed key code, but a command combination is\n * being used. Ex: `Cmd+C`. No character is inserted, and no\n * `input` event will occur.\n */\n if (nativeEvent.which && !isKeypressCommand(nativeEvent)) {\n return String.fromCharCode(nativeEvent.which);\n }\n return null;\n case topLevelTypes.topCompositionEnd:\n return useFallbackCompositionData ? null : nativeEvent.data;\n default:\n return null;\n }\n}\n\n/**\n * Extract a SyntheticInputEvent for `beforeInput`, based on either native\n * `textInput` or fallback behavior.\n *\n * @return {?object} A SyntheticInputEvent.\n */\nfunction extractBeforeInputEvent(topLevelType, targetInst, nativeEvent, nativeEventTarget) {\n var chars;\n\n if (canUseTextInputEvent) {\n chars = getNativeBeforeInputChars(topLevelType, nativeEvent);\n } else {\n chars = getFallbackBeforeInputChars(topLevelType, nativeEvent);\n }\n\n // If no characters are being inserted, no BeforeInput event should\n // be fired.\n if (!chars) {\n return null;\n }\n\n var event = SyntheticInputEvent.getPooled(eventTypes.beforeInput, targetInst, nativeEvent, nativeEventTarget);\n\n event.data = chars;\n EventPropagators.accumulateTwoPhaseDispatches(event);\n return event;\n}\n\n/**\n * Create an `onBeforeInput` event to match\n * http://www.w3.org/TR/2013/WD-DOM-Level-3-Events-20131105/#events-inputevents.\n *\n * This event plugin is based on the native `textInput` event\n * available in Chrome, Safari, Opera, and IE. This event fires after\n * `onKeyPress` and `onCompositionEnd`, but before `onInput`.\n *\n * `beforeInput` is spec'd but not implemented in any browsers, and\n * the `input` event does not provide any useful information about what has\n * actually been added, contrary to the spec. Thus, `textInput` is the best\n * available event to identify the characters that have actually been inserted\n * into the target node.\n *\n * This plugin is also responsible for emitting `composition` events, thus\n * allowing us to share composition fallback code for both `beforeInput` and\n * `composition` event types.\n */\nvar BeforeInputEventPlugin = {\n\n eventTypes: eventTypes,\n\n extractEvents: function (topLevelType, targetInst, nativeEvent, nativeEventTarget) {\n return [extractCompositionEvent(topLevelType, targetInst, nativeEvent, nativeEventTarget), extractBeforeInputEvent(topLevelType, targetInst, nativeEvent, nativeEventTarget)];\n }\n};\n\nmodule.exports = BeforeInputEventPlugin;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react/lib/BeforeInputEventPlugin.js\n ** module id = 592\n ** module chunks = 0\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule CSSPropertyOperations\n */\n\n'use strict';\n\nvar CSSProperty = require('./CSSProperty');\nvar ExecutionEnvironment = require('fbjs/lib/ExecutionEnvironment');\nvar ReactInstrumentation = require('./ReactInstrumentation');\n\nvar camelizeStyleName = require('fbjs/lib/camelizeStyleName');\nvar dangerousStyleValue = require('./dangerousStyleValue');\nvar hyphenateStyleName = require('fbjs/lib/hyphenateStyleName');\nvar memoizeStringOnly = require('fbjs/lib/memoizeStringOnly');\nvar warning = require('fbjs/lib/warning');\n\nvar processStyleName = memoizeStringOnly(function (styleName) {\n return hyphenateStyleName(styleName);\n});\n\nvar hasShorthandPropertyBug = false;\nvar styleFloatAccessor = 'cssFloat';\nif (ExecutionEnvironment.canUseDOM) {\n var tempStyle = document.createElement('div').style;\n try {\n // IE8 throws \"Invalid argument.\" if resetting shorthand style properties.\n tempStyle.font = '';\n } catch (e) {\n hasShorthandPropertyBug = true;\n }\n // IE8 only supports accessing cssFloat (standard) as styleFloat\n if (document.documentElement.style.cssFloat === undefined) {\n styleFloatAccessor = 'styleFloat';\n }\n}\n\nif (process.env.NODE_ENV !== 'production') {\n // 'msTransform' is correct, but the other prefixes should be capitalized\n var badVendoredStyleNamePattern = /^(?:webkit|moz|o)[A-Z]/;\n\n // style values shouldn't contain a semicolon\n var badStyleValueWithSemicolonPattern = /;\\s*$/;\n\n var warnedStyleNames = {};\n var warnedStyleValues = {};\n var warnedForNaNValue = false;\n\n var warnHyphenatedStyleName = function (name, owner) {\n if (warnedStyleNames.hasOwnProperty(name) && warnedStyleNames[name]) {\n return;\n }\n\n warnedStyleNames[name] = true;\n process.env.NODE_ENV !== 'production' ? warning(false, 'Unsupported style property %s. Did you mean %s?%s', name, camelizeStyleName(name), checkRenderMessage(owner)) : void 0;\n };\n\n var warnBadVendoredStyleName = function (name, owner) {\n if (warnedStyleNames.hasOwnProperty(name) && warnedStyleNames[name]) {\n return;\n }\n\n warnedStyleNames[name] = true;\n process.env.NODE_ENV !== 'production' ? warning(false, 'Unsupported vendor-prefixed style property %s. Did you mean %s?%s', name, name.charAt(0).toUpperCase() + name.slice(1), checkRenderMessage(owner)) : void 0;\n };\n\n var warnStyleValueWithSemicolon = function (name, value, owner) {\n if (warnedStyleValues.hasOwnProperty(value) && warnedStyleValues[value]) {\n return;\n }\n\n warnedStyleValues[value] = true;\n process.env.NODE_ENV !== 'production' ? warning(false, 'Style property values shouldn\\'t contain a semicolon.%s ' + 'Try \"%s: %s\" instead.', checkRenderMessage(owner), name, value.replace(badStyleValueWithSemicolonPattern, '')) : void 0;\n };\n\n var warnStyleValueIsNaN = function (name, value, owner) {\n if (warnedForNaNValue) {\n return;\n }\n\n warnedForNaNValue = true;\n process.env.NODE_ENV !== 'production' ? warning(false, '`NaN` is an invalid value for the `%s` css style property.%s', name, checkRenderMessage(owner)) : void 0;\n };\n\n var checkRenderMessage = function (owner) {\n if (owner) {\n var name = owner.getName();\n if (name) {\n return ' Check the render method of `' + name + '`.';\n }\n }\n return '';\n };\n\n /**\n * @param {string} name\n * @param {*} value\n * @param {ReactDOMComponent} component\n */\n var warnValidStyle = function (name, value, component) {\n var owner;\n if (component) {\n owner = component._currentElement._owner;\n }\n if (name.indexOf('-') > -1) {\n warnHyphenatedStyleName(name, owner);\n } else if (badVendoredStyleNamePattern.test(name)) {\n warnBadVendoredStyleName(name, owner);\n } else if (badStyleValueWithSemicolonPattern.test(value)) {\n warnStyleValueWithSemicolon(name, value, owner);\n }\n\n if (typeof value === 'number' && isNaN(value)) {\n warnStyleValueIsNaN(name, value, owner);\n }\n };\n}\n\n/**\n * Operations for dealing with CSS properties.\n */\nvar CSSPropertyOperations = {\n\n /**\n * Serializes a mapping of style properties for use as inline styles:\n *\n * > createMarkupForStyles({width: '200px', height: 0})\n * \"width:200px;height:0;\"\n *\n * Undefined values are ignored so that declarative programming is easier.\n * The result should be HTML-escaped before insertion into the DOM.\n *\n * @param {object} styles\n * @param {ReactDOMComponent} component\n * @return {?string}\n */\n createMarkupForStyles: function (styles, component) {\n var serialized = '';\n for (var styleName in styles) {\n if (!styles.hasOwnProperty(styleName)) {\n continue;\n }\n var styleValue = styles[styleName];\n if (process.env.NODE_ENV !== 'production') {\n warnValidStyle(styleName, styleValue, component);\n }\n if (styleValue != null) {\n serialized += processStyleName(styleName) + ':';\n serialized += dangerousStyleValue(styleName, styleValue, component) + ';';\n }\n }\n return serialized || null;\n },\n\n /**\n * Sets the value for multiple styles on a node. If a value is specified as\n * '' (empty string), the corresponding style property will be unset.\n *\n * @param {DOMElement} node\n * @param {object} styles\n * @param {ReactDOMComponent} component\n */\n setValueForStyles: function (node, styles, component) {\n if (process.env.NODE_ENV !== 'production') {\n ReactInstrumentation.debugTool.onHostOperation(component._debugID, 'update styles', styles);\n }\n\n var style = node.style;\n for (var styleName in styles) {\n if (!styles.hasOwnProperty(styleName)) {\n continue;\n }\n if (process.env.NODE_ENV !== 'production') {\n warnValidStyle(styleName, styles[styleName], component);\n }\n var styleValue = dangerousStyleValue(styleName, styles[styleName], component);\n if (styleName === 'float' || styleName === 'cssFloat') {\n styleName = styleFloatAccessor;\n }\n if (styleValue) {\n style[styleName] = styleValue;\n } else {\n var expansion = hasShorthandPropertyBug && CSSProperty.shorthandPropertyExpansions[styleName];\n if (expansion) {\n // Shorthand property that IE8 won't like unsetting, so unset each\n // component to placate it\n for (var individualStyleName in expansion) {\n style[individualStyleName] = '';\n }\n } else {\n style[styleName] = '';\n }\n }\n }\n }\n\n};\n\nmodule.exports = CSSPropertyOperations;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react/lib/CSSPropertyOperations.js\n ** module id = 593\n ** module chunks = 0\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule ChangeEventPlugin\n */\n\n'use strict';\n\nvar EventConstants = require('./EventConstants');\nvar EventPluginHub = require('./EventPluginHub');\nvar EventPropagators = require('./EventPropagators');\nvar ExecutionEnvironment = require('fbjs/lib/ExecutionEnvironment');\nvar ReactDOMComponentTree = require('./ReactDOMComponentTree');\nvar ReactUpdates = require('./ReactUpdates');\nvar SyntheticEvent = require('./SyntheticEvent');\n\nvar getEventTarget = require('./getEventTarget');\nvar isEventSupported = require('./isEventSupported');\nvar isTextInputElement = require('./isTextInputElement');\nvar keyOf = require('fbjs/lib/keyOf');\n\nvar topLevelTypes = EventConstants.topLevelTypes;\n\nvar eventTypes = {\n change: {\n phasedRegistrationNames: {\n bubbled: keyOf({ onChange: null }),\n captured: keyOf({ onChangeCapture: null })\n },\n dependencies: [topLevelTypes.topBlur, topLevelTypes.topChange, topLevelTypes.topClick, topLevelTypes.topFocus, topLevelTypes.topInput, topLevelTypes.topKeyDown, topLevelTypes.topKeyUp, topLevelTypes.topSelectionChange]\n }\n};\n\n/**\n * For IE shims\n */\nvar activeElement = null;\nvar activeElementInst = null;\nvar activeElementValue = null;\nvar activeElementValueProp = null;\n\n/**\n * SECTION: handle `change` event\n */\nfunction shouldUseChangeEvent(elem) {\n var nodeName = elem.nodeName && elem.nodeName.toLowerCase();\n return nodeName === 'select' || nodeName === 'input' && elem.type === 'file';\n}\n\nvar doesChangeEventBubble = false;\nif (ExecutionEnvironment.canUseDOM) {\n // See `handleChange` comment below\n doesChangeEventBubble = isEventSupported('change') && (!document.documentMode || document.documentMode > 8);\n}\n\nfunction manualDispatchChangeEvent(nativeEvent) {\n var event = SyntheticEvent.getPooled(eventTypes.change, activeElementInst, nativeEvent, getEventTarget(nativeEvent));\n EventPropagators.accumulateTwoPhaseDispatches(event);\n\n // If change and propertychange bubbled, we'd just bind to it like all the\n // other events and have it go through ReactBrowserEventEmitter. Since it\n // doesn't, we manually listen for the events and so we have to enqueue and\n // process the abstract event manually.\n //\n // Batching is necessary here in order to ensure that all event handlers run\n // before the next rerender (including event handlers attached to ancestor\n // elements instead of directly on the input). Without this, controlled\n // components don't work properly in conjunction with event bubbling because\n // the component is rerendered and the value reverted before all the event\n // handlers can run. See https://github.com/facebook/react/issues/708.\n ReactUpdates.batchedUpdates(runEventInBatch, event);\n}\n\nfunction runEventInBatch(event) {\n EventPluginHub.enqueueEvents(event);\n EventPluginHub.processEventQueue(false);\n}\n\nfunction startWatchingForChangeEventIE8(target, targetInst) {\n activeElement = target;\n activeElementInst = targetInst;\n activeElement.attachEvent('onchange', manualDispatchChangeEvent);\n}\n\nfunction stopWatchingForChangeEventIE8() {\n if (!activeElement) {\n return;\n }\n activeElement.detachEvent('onchange', manualDispatchChangeEvent);\n activeElement = null;\n activeElementInst = null;\n}\n\nfunction getTargetInstForChangeEvent(topLevelType, targetInst) {\n if (topLevelType === topLevelTypes.topChange) {\n return targetInst;\n }\n}\nfunction handleEventsForChangeEventIE8(topLevelType, target, targetInst) {\n if (topLevelType === topLevelTypes.topFocus) {\n // stopWatching() should be a noop here but we call it just in case we\n // missed a blur event somehow.\n stopWatchingForChangeEventIE8();\n startWatchingForChangeEventIE8(target, targetInst);\n } else if (topLevelType === topLevelTypes.topBlur) {\n stopWatchingForChangeEventIE8();\n }\n}\n\n/**\n * SECTION: handle `input` event\n */\nvar isInputEventSupported = false;\nif (ExecutionEnvironment.canUseDOM) {\n // IE9 claims to support the input event but fails to trigger it when\n // deleting text, so we ignore its input events.\n // IE10+ fire input events to often, such when a placeholder\n // changes or when an input with a placeholder is focused.\n isInputEventSupported = isEventSupported('input') && (!document.documentMode || document.documentMode > 11);\n}\n\n/**\n * (For IE <=11) Replacement getter/setter for the `value` property that gets\n * set on the active element.\n */\nvar newValueProp = {\n get: function () {\n return activeElementValueProp.get.call(this);\n },\n set: function (val) {\n // Cast to a string so we can do equality checks.\n activeElementValue = '' + val;\n activeElementValueProp.set.call(this, val);\n }\n};\n\n/**\n * (For IE <=11) Starts tracking propertychange events on the passed-in element\n * and override the value property so that we can distinguish user events from\n * value changes in JS.\n */\nfunction startWatchingForValueChange(target, targetInst) {\n activeElement = target;\n activeElementInst = targetInst;\n activeElementValue = target.value;\n activeElementValueProp = Object.getOwnPropertyDescriptor(target.constructor.prototype, 'value');\n\n // Not guarded in a canDefineProperty check: IE8 supports defineProperty only\n // on DOM elements\n Object.defineProperty(activeElement, 'value', newValueProp);\n if (activeElement.attachEvent) {\n activeElement.attachEvent('onpropertychange', handlePropertyChange);\n } else {\n activeElement.addEventListener('propertychange', handlePropertyChange, false);\n }\n}\n\n/**\n * (For IE <=11) Removes the event listeners from the currently-tracked element,\n * if any exists.\n */\nfunction stopWatchingForValueChange() {\n if (!activeElement) {\n return;\n }\n\n // delete restores the original property definition\n delete activeElement.value;\n\n if (activeElement.detachEvent) {\n activeElement.detachEvent('onpropertychange', handlePropertyChange);\n } else {\n activeElement.removeEventListener('propertychange', handlePropertyChange, false);\n }\n\n activeElement = null;\n activeElementInst = null;\n activeElementValue = null;\n activeElementValueProp = null;\n}\n\n/**\n * (For IE <=11) Handles a propertychange event, sending a `change` event if\n * the value of the active element has changed.\n */\nfunction handlePropertyChange(nativeEvent) {\n if (nativeEvent.propertyName !== 'value') {\n return;\n }\n var value = nativeEvent.srcElement.value;\n if (value === activeElementValue) {\n return;\n }\n activeElementValue = value;\n\n manualDispatchChangeEvent(nativeEvent);\n}\n\n/**\n * If a `change` event should be fired, returns the target's ID.\n */\nfunction getTargetInstForInputEvent(topLevelType, targetInst) {\n if (topLevelType === topLevelTypes.topInput) {\n // In modern browsers (i.e., not IE8 or IE9), the input event is exactly\n // what we want so fall through here and trigger an abstract event\n return targetInst;\n }\n}\n\nfunction handleEventsForInputEventIE(topLevelType, target, targetInst) {\n if (topLevelType === topLevelTypes.topFocus) {\n // In IE8, we can capture almost all .value changes by adding a\n // propertychange handler and looking for events with propertyName\n // equal to 'value'\n // In IE9-11, propertychange fires for most input events but is buggy and\n // doesn't fire when text is deleted, but conveniently, selectionchange\n // appears to fire in all of the remaining cases so we catch those and\n // forward the event if the value has changed\n // In either case, we don't want to call the event handler if the value\n // is changed from JS so we redefine a setter for `.value` that updates\n // our activeElementValue variable, allowing us to ignore those changes\n //\n // stopWatching() should be a noop here but we call it just in case we\n // missed a blur event somehow.\n stopWatchingForValueChange();\n startWatchingForValueChange(target, targetInst);\n } else if (topLevelType === topLevelTypes.topBlur) {\n stopWatchingForValueChange();\n }\n}\n\n// For IE8 and IE9.\nfunction getTargetInstForInputEventIE(topLevelType, targetInst) {\n if (topLevelType === topLevelTypes.topSelectionChange || topLevelType === topLevelTypes.topKeyUp || topLevelType === topLevelTypes.topKeyDown) {\n // On the selectionchange event, the target is just document which isn't\n // helpful for us so just check activeElement instead.\n //\n // 99% of the time, keydown and keyup aren't necessary. IE8 fails to fire\n // propertychange on the first input event after setting `value` from a\n // script and fires only keydown, keypress, keyup. Catching keyup usually\n // gets it and catching keydown lets us fire an event for the first\n // keystroke if user does a key repeat (it'll be a little delayed: right\n // before the second keystroke). Other input methods (e.g., paste) seem to\n // fire selectionchange normally.\n if (activeElement && activeElement.value !== activeElementValue) {\n activeElementValue = activeElement.value;\n return activeElementInst;\n }\n }\n}\n\n/**\n * SECTION: handle `click` event\n */\nfunction shouldUseClickEvent(elem) {\n // Use the `click` event to detect changes to checkbox and radio inputs.\n // This approach works across all browsers, whereas `change` does not fire\n // until `blur` in IE8.\n return elem.nodeName && elem.nodeName.toLowerCase() === 'input' && (elem.type === 'checkbox' || elem.type === 'radio');\n}\n\nfunction getTargetInstForClickEvent(topLevelType, targetInst) {\n if (topLevelType === topLevelTypes.topClick) {\n return targetInst;\n }\n}\n\n/**\n * This plugin creates an `onChange` event that normalizes change events\n * across form elements. This event fires at a time when it's possible to\n * change the element's value without seeing a flicker.\n *\n * Supported elements are:\n * - input (see `isTextInputElement`)\n * - textarea\n * - select\n */\nvar ChangeEventPlugin = {\n\n eventTypes: eventTypes,\n\n extractEvents: function (topLevelType, targetInst, nativeEvent, nativeEventTarget) {\n var targetNode = targetInst ? ReactDOMComponentTree.getNodeFromInstance(targetInst) : window;\n\n var getTargetInstFunc, handleEventFunc;\n if (shouldUseChangeEvent(targetNode)) {\n if (doesChangeEventBubble) {\n getTargetInstFunc = getTargetInstForChangeEvent;\n } else {\n handleEventFunc = handleEventsForChangeEventIE8;\n }\n } else if (isTextInputElement(targetNode)) {\n if (isInputEventSupported) {\n getTargetInstFunc = getTargetInstForInputEvent;\n } else {\n getTargetInstFunc = getTargetInstForInputEventIE;\n handleEventFunc = handleEventsForInputEventIE;\n }\n } else if (shouldUseClickEvent(targetNode)) {\n getTargetInstFunc = getTargetInstForClickEvent;\n }\n\n if (getTargetInstFunc) {\n var inst = getTargetInstFunc(topLevelType, targetInst);\n if (inst) {\n var event = SyntheticEvent.getPooled(eventTypes.change, inst, nativeEvent, nativeEventTarget);\n event.type = 'change';\n EventPropagators.accumulateTwoPhaseDispatches(event);\n return event;\n }\n }\n\n if (handleEventFunc) {\n handleEventFunc(topLevelType, targetNode, targetInst);\n }\n }\n\n};\n\nmodule.exports = ChangeEventPlugin;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react/lib/ChangeEventPlugin.js\n ** module id = 594\n ** module chunks = 0\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule Danger\n */\n\n'use strict';\n\nvar _prodInvariant = require('./reactProdInvariant');\n\nvar DOMLazyTree = require('./DOMLazyTree');\nvar ExecutionEnvironment = require('fbjs/lib/ExecutionEnvironment');\n\nvar createNodesFromMarkup = require('fbjs/lib/createNodesFromMarkup');\nvar emptyFunction = require('fbjs/lib/emptyFunction');\nvar invariant = require('fbjs/lib/invariant');\n\nvar Danger = {\n\n /**\n * Replaces a node with a string of markup at its current position within its\n * parent. The markup must render into a single root node.\n *\n * @param {DOMElement} oldChild Child node to replace.\n * @param {string} markup Markup to render in place of the child node.\n * @internal\n */\n dangerouslyReplaceNodeWithMarkup: function (oldChild, markup) {\n !ExecutionEnvironment.canUseDOM ? process.env.NODE_ENV !== 'production' ? invariant(false, 'dangerouslyReplaceNodeWithMarkup(...): Cannot render markup in a worker thread. Make sure `window` and `document` are available globally before requiring React when unit testing or use ReactDOMServer.renderToString() for server rendering.') : _prodInvariant('56') : void 0;\n !markup ? process.env.NODE_ENV !== 'production' ? invariant(false, 'dangerouslyReplaceNodeWithMarkup(...): Missing markup.') : _prodInvariant('57') : void 0;\n !(oldChild.nodeName !== 'HTML') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'dangerouslyReplaceNodeWithMarkup(...): Cannot replace markup of the <html> node. This is because browser quirks make this unreliable and/or slow. If you want to render to the root you must use server rendering. See ReactDOMServer.renderToString().') : _prodInvariant('58') : void 0;\n\n if (typeof markup === 'string') {\n var newChild = createNodesFromMarkup(markup, emptyFunction)[0];\n oldChild.parentNode.replaceChild(newChild, oldChild);\n } else {\n DOMLazyTree.replaceChildWithTree(oldChild, markup);\n }\n }\n\n};\n\nmodule.exports = Danger;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react/lib/Danger.js\n ** module id = 595\n ** module chunks = 0\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule DefaultEventPluginOrder\n */\n\n'use strict';\n\nvar keyOf = require('fbjs/lib/keyOf');\n\n/**\n * Module that is injectable into `EventPluginHub`, that specifies a\n * deterministic ordering of `EventPlugin`s. A convenient way to reason about\n * plugins, without having to package every one of them. This is better than\n * having plugins be ordered in the same order that they are injected because\n * that ordering would be influenced by the packaging order.\n * `ResponderEventPlugin` must occur before `SimpleEventPlugin` so that\n * preventing default on events is convenient in `SimpleEventPlugin` handlers.\n */\nvar DefaultEventPluginOrder = [keyOf({ ResponderEventPlugin: null }), keyOf({ SimpleEventPlugin: null }), keyOf({ TapEventPlugin: null }), keyOf({ EnterLeaveEventPlugin: null }), keyOf({ ChangeEventPlugin: null }), keyOf({ SelectEventPlugin: null }), keyOf({ BeforeInputEventPlugin: null })];\n\nmodule.exports = DefaultEventPluginOrder;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react/lib/DefaultEventPluginOrder.js\n ** module id = 596\n ** module chunks = 0\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule EnterLeaveEventPlugin\n */\n\n'use strict';\n\nvar EventConstants = require('./EventConstants');\nvar EventPropagators = require('./EventPropagators');\nvar ReactDOMComponentTree = require('./ReactDOMComponentTree');\nvar SyntheticMouseEvent = require('./SyntheticMouseEvent');\n\nvar keyOf = require('fbjs/lib/keyOf');\n\nvar topLevelTypes = EventConstants.topLevelTypes;\n\nvar eventTypes = {\n mouseEnter: {\n registrationName: keyOf({ onMouseEnter: null }),\n dependencies: [topLevelTypes.topMouseOut, topLevelTypes.topMouseOver]\n },\n mouseLeave: {\n registrationName: keyOf({ onMouseLeave: null }),\n dependencies: [topLevelTypes.topMouseOut, topLevelTypes.topMouseOver]\n }\n};\n\nvar EnterLeaveEventPlugin = {\n\n eventTypes: eventTypes,\n\n /**\n * For almost every interaction we care about, there will be both a top-level\n * `mouseover` and `mouseout` event that occurs. Only use `mouseout` so that\n * we do not extract duplicate events. However, moving the mouse into the\n * browser from outside will not fire a `mouseout` event. In this case, we use\n * the `mouseover` top-level event.\n */\n extractEvents: function (topLevelType, targetInst, nativeEvent, nativeEventTarget) {\n if (topLevelType === topLevelTypes.topMouseOver && (nativeEvent.relatedTarget || nativeEvent.fromElement)) {\n return null;\n }\n if (topLevelType !== topLevelTypes.topMouseOut && topLevelType !== topLevelTypes.topMouseOver) {\n // Must not be a mouse in or mouse out - ignoring.\n return null;\n }\n\n var win;\n if (nativeEventTarget.window === nativeEventTarget) {\n // `nativeEventTarget` is probably a window object.\n win = nativeEventTarget;\n } else {\n // TODO: Figure out why `ownerDocument` is sometimes undefined in IE8.\n var doc = nativeEventTarget.ownerDocument;\n if (doc) {\n win = doc.defaultView || doc.parentWindow;\n } else {\n win = window;\n }\n }\n\n var from;\n var to;\n if (topLevelType === topLevelTypes.topMouseOut) {\n from = targetInst;\n var related = nativeEvent.relatedTarget || nativeEvent.toElement;\n to = related ? ReactDOMComponentTree.getClosestInstanceFromNode(related) : null;\n } else {\n // Moving to a node from outside the window.\n from = null;\n to = targetInst;\n }\n\n if (from === to) {\n // Nothing pertains to our managed components.\n return null;\n }\n\n var fromNode = from == null ? win : ReactDOMComponentTree.getNodeFromInstance(from);\n var toNode = to == null ? win : ReactDOMComponentTree.getNodeFromInstance(to);\n\n var leave = SyntheticMouseEvent.getPooled(eventTypes.mouseLeave, from, nativeEvent, nativeEventTarget);\n leave.type = 'mouseleave';\n leave.target = fromNode;\n leave.relatedTarget = toNode;\n\n var enter = SyntheticMouseEvent.getPooled(eventTypes.mouseEnter, to, nativeEvent, nativeEventTarget);\n enter.type = 'mouseenter';\n enter.target = toNode;\n enter.relatedTarget = fromNode;\n\n EventPropagators.accumulateEnterLeaveDispatches(leave, enter, from, to);\n\n return [leave, enter];\n }\n\n};\n\nmodule.exports = EnterLeaveEventPlugin;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react/lib/EnterLeaveEventPlugin.js\n ** module id = 597\n ** module chunks = 0\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule FallbackCompositionState\n */\n\n'use strict';\n\nvar _assign = require('object-assign');\n\nvar PooledClass = require('./PooledClass');\n\nvar getTextContentAccessor = require('./getTextContentAccessor');\n\n/**\n * This helper class stores information about text content of a target node,\n * allowing comparison of content before and after a given event.\n *\n * Identify the node where selection currently begins, then observe\n * both its text content and its current position in the DOM. Since the\n * browser may natively replace the target node during composition, we can\n * use its position to find its replacement.\n *\n * @param {DOMEventTarget} root\n */\nfunction FallbackCompositionState(root) {\n this._root = root;\n this._startText = this.getText();\n this._fallbackText = null;\n}\n\n_assign(FallbackCompositionState.prototype, {\n destructor: function () {\n this._root = null;\n this._startText = null;\n this._fallbackText = null;\n },\n\n /**\n * Get current text of input.\n *\n * @return {string}\n */\n getText: function () {\n if ('value' in this._root) {\n return this._root.value;\n }\n return this._root[getTextContentAccessor()];\n },\n\n /**\n * Determine the differing substring between the initially stored\n * text content and the current content.\n *\n * @return {string}\n */\n getData: function () {\n if (this._fallbackText) {\n return this._fallbackText;\n }\n\n var start;\n var startValue = this._startText;\n var startLength = startValue.length;\n var end;\n var endValue = this.getText();\n var endLength = endValue.length;\n\n for (start = 0; start < startLength; start++) {\n if (startValue[start] !== endValue[start]) {\n break;\n }\n }\n\n var minEnd = startLength - start;\n for (end = 1; end <= minEnd; end++) {\n if (startValue[startLength - end] !== endValue[endLength - end]) {\n break;\n }\n }\n\n var sliceTail = end > 1 ? 1 - end : undefined;\n this._fallbackText = endValue.slice(start, sliceTail);\n return this._fallbackText;\n }\n});\n\nPooledClass.addPoolingTo(FallbackCompositionState);\n\nmodule.exports = FallbackCompositionState;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react/lib/FallbackCompositionState.js\n ** module id = 598\n ** module chunks = 0\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule HTMLDOMPropertyConfig\n */\n\n'use strict';\n\nvar DOMProperty = require('./DOMProperty');\n\nvar MUST_USE_PROPERTY = DOMProperty.injection.MUST_USE_PROPERTY;\nvar HAS_BOOLEAN_VALUE = DOMProperty.injection.HAS_BOOLEAN_VALUE;\nvar HAS_NUMERIC_VALUE = DOMProperty.injection.HAS_NUMERIC_VALUE;\nvar HAS_POSITIVE_NUMERIC_VALUE = DOMProperty.injection.HAS_POSITIVE_NUMERIC_VALUE;\nvar HAS_OVERLOADED_BOOLEAN_VALUE = DOMProperty.injection.HAS_OVERLOADED_BOOLEAN_VALUE;\n\nvar HTMLDOMPropertyConfig = {\n isCustomAttribute: RegExp.prototype.test.bind(new RegExp('^(data|aria)-[' + DOMProperty.ATTRIBUTE_NAME_CHAR + ']*$')),\n Properties: {\n /**\n * Standard Properties\n */\n accept: 0,\n acceptCharset: 0,\n accessKey: 0,\n action: 0,\n allowFullScreen: HAS_BOOLEAN_VALUE,\n allowTransparency: 0,\n alt: 0,\n // specifies target context for links with `preload` type\n as: 0,\n async: HAS_BOOLEAN_VALUE,\n autoComplete: 0,\n // autoFocus is polyfilled/normalized by AutoFocusUtils\n // autoFocus: HAS_BOOLEAN_VALUE,\n autoPlay: HAS_BOOLEAN_VALUE,\n capture: HAS_BOOLEAN_VALUE,\n cellPadding: 0,\n cellSpacing: 0,\n charSet: 0,\n challenge: 0,\n checked: MUST_USE_PROPERTY | HAS_BOOLEAN_VALUE,\n cite: 0,\n classID: 0,\n className: 0,\n cols: HAS_POSITIVE_NUMERIC_VALUE,\n colSpan: 0,\n content: 0,\n contentEditable: 0,\n contextMenu: 0,\n controls: HAS_BOOLEAN_VALUE,\n coords: 0,\n crossOrigin: 0,\n data: 0, // For `<object />` acts as `src`.\n dateTime: 0,\n 'default': HAS_BOOLEAN_VALUE,\n defer: HAS_BOOLEAN_VALUE,\n dir: 0,\n disabled: HAS_BOOLEAN_VALUE,\n download: HAS_OVERLOADED_BOOLEAN_VALUE,\n draggable: 0,\n encType: 0,\n form: 0,\n formAction: 0,\n formEncType: 0,\n formMethod: 0,\n formNoValidate: HAS_BOOLEAN_VALUE,\n formTarget: 0,\n frameBorder: 0,\n headers: 0,\n height: 0,\n hidden: HAS_BOOLEAN_VALUE,\n high: 0,\n href: 0,\n hrefLang: 0,\n htmlFor: 0,\n httpEquiv: 0,\n icon: 0,\n id: 0,\n inputMode: 0,\n integrity: 0,\n is: 0,\n keyParams: 0,\n keyType: 0,\n kind: 0,\n label: 0,\n lang: 0,\n list: 0,\n loop: HAS_BOOLEAN_VALUE,\n low: 0,\n manifest: 0,\n marginHeight: 0,\n marginWidth: 0,\n max: 0,\n maxLength: 0,\n media: 0,\n mediaGroup: 0,\n method: 0,\n min: 0,\n minLength: 0,\n // Caution; `option.selected` is not updated if `select.multiple` is\n // disabled with `removeAttribute`.\n multiple: MUST_USE_PROPERTY | HAS_BOOLEAN_VALUE,\n muted: MUST_USE_PROPERTY | HAS_BOOLEAN_VALUE,\n name: 0,\n nonce: 0,\n noValidate: HAS_BOOLEAN_VALUE,\n open: HAS_BOOLEAN_VALUE,\n optimum: 0,\n pattern: 0,\n placeholder: 0,\n playsInline: HAS_BOOLEAN_VALUE,\n poster: 0,\n preload: 0,\n profile: 0,\n radioGroup: 0,\n readOnly: HAS_BOOLEAN_VALUE,\n referrerPolicy: 0,\n rel: 0,\n required: HAS_BOOLEAN_VALUE,\n reversed: HAS_BOOLEAN_VALUE,\n role: 0,\n rows: HAS_POSITIVE_NUMERIC_VALUE,\n rowSpan: HAS_NUMERIC_VALUE,\n sandbox: 0,\n scope: 0,\n scoped: HAS_BOOLEAN_VALUE,\n scrolling: 0,\n seamless: HAS_BOOLEAN_VALUE,\n selected: MUST_USE_PROPERTY | HAS_BOOLEAN_VALUE,\n shape: 0,\n size: HAS_POSITIVE_NUMERIC_VALUE,\n sizes: 0,\n span: HAS_POSITIVE_NUMERIC_VALUE,\n spellCheck: 0,\n src: 0,\n srcDoc: 0,\n srcLang: 0,\n srcSet: 0,\n start: HAS_NUMERIC_VALUE,\n step: 0,\n style: 0,\n summary: 0,\n tabIndex: 0,\n target: 0,\n title: 0,\n // Setting .type throws on non-<input> tags\n type: 0,\n useMap: 0,\n value: 0,\n width: 0,\n wmode: 0,\n wrap: 0,\n\n /**\n * RDFa Properties\n */\n about: 0,\n datatype: 0,\n inlist: 0,\n prefix: 0,\n // property is also supported for OpenGraph in meta tags.\n property: 0,\n resource: 0,\n 'typeof': 0,\n vocab: 0,\n\n /**\n * Non-standard Properties\n */\n // autoCapitalize and autoCorrect are supported in Mobile Safari for\n // keyboard hints.\n autoCapitalize: 0,\n autoCorrect: 0,\n // autoSave allows WebKit/Blink to persist values of input fields on page reloads\n autoSave: 0,\n // color is for Safari mask-icon link\n color: 0,\n // itemProp, itemScope, itemType are for\n // Microdata support. See http://schema.org/docs/gs.html\n itemProp: 0,\n itemScope: HAS_BOOLEAN_VALUE,\n itemType: 0,\n // itemID and itemRef are for Microdata support as well but\n // only specified in the WHATWG spec document. See\n // https://html.spec.whatwg.org/multipage/microdata.html#microdata-dom-api\n itemID: 0,\n itemRef: 0,\n // results show looking glass icon and recent searches on input\n // search fields in WebKit/Blink\n results: 0,\n // IE-only attribute that specifies security restrictions on an iframe\n // as an alternative to the sandbox attribute on IE<10\n security: 0,\n // IE-only attribute that controls focus behavior\n unselectable: 0\n },\n DOMAttributeNames: {\n acceptCharset: 'accept-charset',\n className: 'class',\n htmlFor: 'for',\n httpEquiv: 'http-equiv'\n },\n DOMPropertyNames: {}\n};\n\nmodule.exports = HTMLDOMPropertyConfig;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react/lib/HTMLDOMPropertyConfig.js\n ** module id = 599\n ** module chunks = 0\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule React\n */\n\n'use strict';\n\nvar _assign = require('object-assign');\n\nvar ReactChildren = require('./ReactChildren');\nvar ReactComponent = require('./ReactComponent');\nvar ReactPureComponent = require('./ReactPureComponent');\nvar ReactClass = require('./ReactClass');\nvar ReactDOMFactories = require('./ReactDOMFactories');\nvar ReactElement = require('./ReactElement');\nvar ReactPropTypes = require('./ReactPropTypes');\nvar ReactVersion = require('./ReactVersion');\n\nvar onlyChild = require('./onlyChild');\nvar warning = require('fbjs/lib/warning');\n\nvar createElement = ReactElement.createElement;\nvar createFactory = ReactElement.createFactory;\nvar cloneElement = ReactElement.cloneElement;\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactElementValidator = require('./ReactElementValidator');\n createElement = ReactElementValidator.createElement;\n createFactory = ReactElementValidator.createFactory;\n cloneElement = ReactElementValidator.cloneElement;\n}\n\nvar __spread = _assign;\n\nif (process.env.NODE_ENV !== 'production') {\n var warned = false;\n __spread = function () {\n process.env.NODE_ENV !== 'production' ? warning(warned, 'React.__spread is deprecated and should not be used. Use ' + 'Object.assign directly or another helper function with similar ' + 'semantics. You may be seeing this warning due to your compiler. ' + 'See https://fb.me/react-spread-deprecation for more details.') : void 0;\n warned = true;\n return _assign.apply(null, arguments);\n };\n}\n\nvar React = {\n\n // Modern\n\n Children: {\n map: ReactChildren.map,\n forEach: ReactChildren.forEach,\n count: ReactChildren.count,\n toArray: ReactChildren.toArray,\n only: onlyChild\n },\n\n Component: ReactComponent,\n PureComponent: ReactPureComponent,\n\n createElement: createElement,\n cloneElement: cloneElement,\n isValidElement: ReactElement.isValidElement,\n\n // Classic\n\n PropTypes: ReactPropTypes,\n createClass: ReactClass.createClass,\n createFactory: createFactory,\n createMixin: function (mixin) {\n // Currently a noop. Will be used to validate and trace mixins.\n return mixin;\n },\n\n // This looks DOM specific but these are actually isomorphic helpers\n // since they are just generating DOM strings.\n DOM: ReactDOMFactories,\n\n version: ReactVersion,\n\n // Deprecated hook for JSX spread, don't use this for anything.\n __spread: __spread\n};\n\nmodule.exports = React;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react/lib/React.js\n ** module id = 600\n ** module chunks = 0\n **/","/**\n * Copyright 2014-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule ReactChildReconciler\n */\n\n'use strict';\n\nvar ReactReconciler = require('./ReactReconciler');\n\nvar instantiateReactComponent = require('./instantiateReactComponent');\nvar KeyEscapeUtils = require('./KeyEscapeUtils');\nvar shouldUpdateReactComponent = require('./shouldUpdateReactComponent');\nvar traverseAllChildren = require('./traverseAllChildren');\nvar warning = require('fbjs/lib/warning');\n\nvar ReactComponentTreeHook;\n\nif (typeof process !== 'undefined' && process.env && process.env.NODE_ENV === 'test') {\n // Temporary hack.\n // Inline requires don't work well with Jest:\n // https://github.com/facebook/react/issues/7240\n // Remove the inline requires when we don't need them anymore:\n // https://github.com/facebook/react/pull/7178\n ReactComponentTreeHook = require('./ReactComponentTreeHook');\n}\n\nfunction instantiateChild(childInstances, child, name, selfDebugID) {\n // We found a component instance.\n var keyUnique = childInstances[name] === undefined;\n if (process.env.NODE_ENV !== 'production') {\n if (!ReactComponentTreeHook) {\n ReactComponentTreeHook = require('./ReactComponentTreeHook');\n }\n if (!keyUnique) {\n process.env.NODE_ENV !== 'production' ? warning(false, 'flattenChildren(...): Encountered two children with the same key, ' + '`%s`. Child keys must be unique; when two children share a key, only ' + 'the first child will be used.%s', KeyEscapeUtils.unescape(name), ReactComponentTreeHook.getStackAddendumByID(selfDebugID)) : void 0;\n }\n }\n if (child != null && keyUnique) {\n childInstances[name] = instantiateReactComponent(child, true);\n }\n}\n\n/**\n * ReactChildReconciler provides helpers for initializing or updating a set of\n * children. Its output is suitable for passing it onto ReactMultiChild which\n * does diffed reordering and insertion.\n */\nvar ReactChildReconciler = {\n /**\n * Generates a \"mount image\" for each of the supplied children. In the case\n * of `ReactDOMComponent`, a mount image is a string of markup.\n *\n * @param {?object} nestedChildNodes Nested child maps.\n * @return {?object} A set of child instances.\n * @internal\n */\n instantiateChildren: function (nestedChildNodes, transaction, context, selfDebugID // 0 in production and for roots\n ) {\n if (nestedChildNodes == null) {\n return null;\n }\n var childInstances = {};\n\n if (process.env.NODE_ENV !== 'production') {\n traverseAllChildren(nestedChildNodes, function (childInsts, child, name) {\n return instantiateChild(childInsts, child, name, selfDebugID);\n }, childInstances);\n } else {\n traverseAllChildren(nestedChildNodes, instantiateChild, childInstances);\n }\n return childInstances;\n },\n\n /**\n * Updates the rendered children and returns a new set of children.\n *\n * @param {?object} prevChildren Previously initialized set of children.\n * @param {?object} nextChildren Flat child element maps.\n * @param {ReactReconcileTransaction} transaction\n * @param {object} context\n * @return {?object} A new set of child instances.\n * @internal\n */\n updateChildren: function (prevChildren, nextChildren, mountImages, removedNodes, transaction, hostParent, hostContainerInfo, context, selfDebugID // 0 in production and for roots\n ) {\n // We currently don't have a way to track moves here but if we use iterators\n // instead of for..in we can zip the iterators and check if an item has\n // moved.\n // TODO: If nothing has changed, return the prevChildren object so that we\n // can quickly bailout if nothing has changed.\n if (!nextChildren && !prevChildren) {\n return;\n }\n var name;\n var prevChild;\n for (name in nextChildren) {\n if (!nextChildren.hasOwnProperty(name)) {\n continue;\n }\n prevChild = prevChildren && prevChildren[name];\n var prevElement = prevChild && prevChild._currentElement;\n var nextElement = nextChildren[name];\n if (prevChild != null && shouldUpdateReactComponent(prevElement, nextElement)) {\n ReactReconciler.receiveComponent(prevChild, nextElement, transaction, context);\n nextChildren[name] = prevChild;\n } else {\n if (prevChild) {\n removedNodes[name] = ReactReconciler.getHostNode(prevChild);\n ReactReconciler.unmountComponent(prevChild, false);\n }\n // The child must be instantiated before it's mounted.\n var nextChildInstance = instantiateReactComponent(nextElement, true);\n nextChildren[name] = nextChildInstance;\n // Creating mount image now ensures refs are resolved in right order\n // (see https://github.com/facebook/react/pull/7101 for explanation).\n var nextChildMountImage = ReactReconciler.mountComponent(nextChildInstance, transaction, hostParent, hostContainerInfo, context, selfDebugID);\n mountImages.push(nextChildMountImage);\n }\n }\n // Unmount children that are no longer present.\n for (name in prevChildren) {\n if (prevChildren.hasOwnProperty(name) && !(nextChildren && nextChildren.hasOwnProperty(name))) {\n prevChild = prevChildren[name];\n removedNodes[name] = ReactReconciler.getHostNode(prevChild);\n ReactReconciler.unmountComponent(prevChild, false);\n }\n }\n },\n\n /**\n * Unmounts all rendered children. This should be used to clean up children\n * when this component is unmounted.\n *\n * @param {?object} renderedChildren Previously initialized set of children.\n * @internal\n */\n unmountChildren: function (renderedChildren, safely) {\n for (var name in renderedChildren) {\n if (renderedChildren.hasOwnProperty(name)) {\n var renderedChild = renderedChildren[name];\n ReactReconciler.unmountComponent(renderedChild, safely);\n }\n }\n }\n\n};\n\nmodule.exports = ReactChildReconciler;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react/lib/ReactChildReconciler.js\n ** module id = 601\n ** module chunks = 0\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule ReactComponentBrowserEnvironment\n */\n\n'use strict';\n\nvar DOMChildrenOperations = require('./DOMChildrenOperations');\nvar ReactDOMIDOperations = require('./ReactDOMIDOperations');\n\n/**\n * Abstracts away all functionality of the reconciler that requires knowledge of\n * the browser context. TODO: These callers should be refactored to avoid the\n * need for this injection.\n */\nvar ReactComponentBrowserEnvironment = {\n\n processChildrenUpdates: ReactDOMIDOperations.dangerouslyProcessChildrenUpdates,\n\n replaceNodeWithMarkup: DOMChildrenOperations.dangerouslyReplaceNodeWithMarkup\n\n};\n\nmodule.exports = ReactComponentBrowserEnvironment;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react/lib/ReactComponentBrowserEnvironment.js\n ** module id = 602\n ** module chunks = 0\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule ReactCompositeComponent\n */\n\n'use strict';\n\nvar _prodInvariant = require('./reactProdInvariant'),\n _assign = require('object-assign');\n\nvar ReactComponentEnvironment = require('./ReactComponentEnvironment');\nvar ReactCurrentOwner = require('./ReactCurrentOwner');\nvar ReactElement = require('./ReactElement');\nvar ReactErrorUtils = require('./ReactErrorUtils');\nvar ReactInstanceMap = require('./ReactInstanceMap');\nvar ReactInstrumentation = require('./ReactInstrumentation');\nvar ReactNodeTypes = require('./ReactNodeTypes');\nvar ReactPropTypeLocations = require('./ReactPropTypeLocations');\nvar ReactReconciler = require('./ReactReconciler');\n\nvar checkReactTypeSpec = require('./checkReactTypeSpec');\nvar emptyObject = require('fbjs/lib/emptyObject');\nvar invariant = require('fbjs/lib/invariant');\nvar shallowEqual = require('fbjs/lib/shallowEqual');\nvar shouldUpdateReactComponent = require('./shouldUpdateReactComponent');\nvar warning = require('fbjs/lib/warning');\n\nvar CompositeTypes = {\n ImpureClass: 0,\n PureClass: 1,\n StatelessFunctional: 2\n};\n\nfunction StatelessComponent(Component) {}\nStatelessComponent.prototype.render = function () {\n var Component = ReactInstanceMap.get(this)._currentElement.type;\n var element = Component(this.props, this.context, this.updater);\n warnIfInvalidElement(Component, element);\n return element;\n};\n\nfunction warnIfInvalidElement(Component, element) {\n if (process.env.NODE_ENV !== 'production') {\n process.env.NODE_ENV !== 'production' ? warning(element === null || element === false || ReactElement.isValidElement(element), '%s(...): A valid React element (or null) must be returned. You may have ' + 'returned undefined, an array or some other invalid object.', Component.displayName || Component.name || 'Component') : void 0;\n process.env.NODE_ENV !== 'production' ? warning(!Component.childContextTypes, '%s(...): childContextTypes cannot be defined on a functional component.', Component.displayName || Component.name || 'Component') : void 0;\n }\n}\n\nfunction shouldConstruct(Component) {\n return !!(Component.prototype && Component.prototype.isReactComponent);\n}\n\nfunction isPureComponent(Component) {\n return !!(Component.prototype && Component.prototype.isPureReactComponent);\n}\n\n// Separated into a function to contain deoptimizations caused by try/finally.\nfunction measureLifeCyclePerf(fn, debugID, timerType) {\n if (debugID === 0) {\n // Top-level wrappers (see ReactMount) and empty components (see\n // ReactDOMEmptyComponent) are invisible to hooks and devtools.\n // Both are implementation details that should go away in the future.\n return fn();\n }\n\n ReactInstrumentation.debugTool.onBeginLifeCycleTimer(debugID, timerType);\n try {\n return fn();\n } finally {\n ReactInstrumentation.debugTool.onEndLifeCycleTimer(debugID, timerType);\n }\n}\n\n/**\n * ------------------ The Life-Cycle of a Composite Component ------------------\n *\n * - constructor: Initialization of state. The instance is now retained.\n * - componentWillMount\n * - render\n * - [children's constructors]\n * - [children's componentWillMount and render]\n * - [children's componentDidMount]\n * - componentDidMount\n *\n * Update Phases:\n * - componentWillReceiveProps (only called if parent updated)\n * - shouldComponentUpdate\n * - componentWillUpdate\n * - render\n * - [children's constructors or receive props phases]\n * - componentDidUpdate\n *\n * - componentWillUnmount\n * - [children's componentWillUnmount]\n * - [children destroyed]\n * - (destroyed): The instance is now blank, released by React and ready for GC.\n *\n * -----------------------------------------------------------------------------\n */\n\n/**\n * An incrementing ID assigned to each component when it is mounted. This is\n * used to enforce the order in which `ReactUpdates` updates dirty components.\n *\n * @private\n */\nvar nextMountID = 1;\n\n/**\n * @lends {ReactCompositeComponent.prototype}\n */\nvar ReactCompositeComponentMixin = {\n\n /**\n * Base constructor for all composite component.\n *\n * @param {ReactElement} element\n * @final\n * @internal\n */\n construct: function (element) {\n this._currentElement = element;\n this._rootNodeID = 0;\n this._compositeType = null;\n this._instance = null;\n this._hostParent = null;\n this._hostContainerInfo = null;\n\n // See ReactUpdateQueue\n this._updateBatchNumber = null;\n this._pendingElement = null;\n this._pendingStateQueue = null;\n this._pendingReplaceState = false;\n this._pendingForceUpdate = false;\n\n this._renderedNodeType = null;\n this._renderedComponent = null;\n this._context = null;\n this._mountOrder = 0;\n this._topLevelWrapper = null;\n\n // See ReactUpdates and ReactUpdateQueue.\n this._pendingCallbacks = null;\n\n // ComponentWillUnmount shall only be called once\n this._calledComponentWillUnmount = false;\n\n if (process.env.NODE_ENV !== 'production') {\n this._warnedAboutRefsInRender = false;\n }\n },\n\n /**\n * Initializes the component, renders markup, and registers event listeners.\n *\n * @param {ReactReconcileTransaction|ReactServerRenderingTransaction} transaction\n * @param {?object} hostParent\n * @param {?object} hostContainerInfo\n * @param {?object} context\n * @return {?string} Rendered markup to be inserted into the DOM.\n * @final\n * @internal\n */\n mountComponent: function (transaction, hostParent, hostContainerInfo, context) {\n var _this = this;\n\n this._context = context;\n this._mountOrder = nextMountID++;\n this._hostParent = hostParent;\n this._hostContainerInfo = hostContainerInfo;\n\n var publicProps = this._currentElement.props;\n var publicContext = this._processContext(context);\n\n var Component = this._currentElement.type;\n\n var updateQueue = transaction.getUpdateQueue();\n\n // Initialize the public class\n var doConstruct = shouldConstruct(Component);\n var inst = this._constructComponent(doConstruct, publicProps, publicContext, updateQueue);\n var renderedElement;\n\n // Support functional components\n if (!doConstruct && (inst == null || inst.render == null)) {\n renderedElement = inst;\n warnIfInvalidElement(Component, renderedElement);\n !(inst === null || inst === false || ReactElement.isValidElement(inst)) ? process.env.NODE_ENV !== 'production' ? invariant(false, '%s(...): A valid React element (or null) must be returned. You may have returned undefined, an array or some other invalid object.', Component.displayName || Component.name || 'Component') : _prodInvariant('105', Component.displayName || Component.name || 'Component') : void 0;\n inst = new StatelessComponent(Component);\n this._compositeType = CompositeTypes.StatelessFunctional;\n } else {\n if (isPureComponent(Component)) {\n this._compositeType = CompositeTypes.PureClass;\n } else {\n this._compositeType = CompositeTypes.ImpureClass;\n }\n }\n\n if (process.env.NODE_ENV !== 'production') {\n // This will throw later in _renderValidatedComponent, but add an early\n // warning now to help debugging\n if (inst.render == null) {\n process.env.NODE_ENV !== 'production' ? warning(false, '%s(...): No `render` method found on the returned component ' + 'instance: you may have forgotten to define `render`.', Component.displayName || Component.name || 'Component') : void 0;\n }\n\n var propsMutated = inst.props !== publicProps;\n var componentName = Component.displayName || Component.name || 'Component';\n\n process.env.NODE_ENV !== 'production' ? warning(inst.props === undefined || !propsMutated, '%s(...): When calling super() in `%s`, make sure to pass ' + 'up the same props that your component\\'s constructor was passed.', componentName, componentName) : void 0;\n }\n\n // These should be set up in the constructor, but as a convenience for\n // simpler class abstractions, we set them up after the fact.\n inst.props = publicProps;\n inst.context = publicContext;\n inst.refs = emptyObject;\n inst.updater = updateQueue;\n\n this._instance = inst;\n\n // Store a reference from the instance back to the internal representation\n ReactInstanceMap.set(inst, this);\n\n if (process.env.NODE_ENV !== 'production') {\n // Since plain JS classes are defined without any special initialization\n // logic, we can not catch common errors early. Therefore, we have to\n // catch them here, at initialization time, instead.\n process.env.NODE_ENV !== 'production' ? warning(!inst.getInitialState || inst.getInitialState.isReactClassApproved, 'getInitialState was defined on %s, a plain JavaScript class. ' + 'This is only supported for classes created using React.createClass. ' + 'Did you mean to define a state property instead?', this.getName() || 'a component') : void 0;\n process.env.NODE_ENV !== 'production' ? warning(!inst.getDefaultProps || inst.getDefaultProps.isReactClassApproved, 'getDefaultProps was defined on %s, a plain JavaScript class. ' + 'This is only supported for classes created using React.createClass. ' + 'Use a static property to define defaultProps instead.', this.getName() || 'a component') : void 0;\n process.env.NODE_ENV !== 'production' ? warning(!inst.propTypes, 'propTypes was defined as an instance property on %s. Use a static ' + 'property to define propTypes instead.', this.getName() || 'a component') : void 0;\n process.env.NODE_ENV !== 'production' ? warning(!inst.contextTypes, 'contextTypes was defined as an instance property on %s. Use a ' + 'static property to define contextTypes instead.', this.getName() || 'a component') : void 0;\n process.env.NODE_ENV !== 'production' ? warning(typeof inst.componentShouldUpdate !== 'function', '%s has a method called ' + 'componentShouldUpdate(). Did you mean shouldComponentUpdate()? ' + 'The name is phrased as a question because the function is ' + 'expected to return a value.', this.getName() || 'A component') : void 0;\n process.env.NODE_ENV !== 'production' ? warning(typeof inst.componentDidUnmount !== 'function', '%s has a method called ' + 'componentDidUnmount(). But there is no such lifecycle method. ' + 'Did you mean componentWillUnmount()?', this.getName() || 'A component') : void 0;\n process.env.NODE_ENV !== 'production' ? warning(typeof inst.componentWillRecieveProps !== 'function', '%s has a method called ' + 'componentWillRecieveProps(). Did you mean componentWillReceiveProps()?', this.getName() || 'A component') : void 0;\n }\n\n var initialState = inst.state;\n if (initialState === undefined) {\n inst.state = initialState = null;\n }\n !(typeof initialState === 'object' && !Array.isArray(initialState)) ? process.env.NODE_ENV !== 'production' ? invariant(false, '%s.state: must be set to an object or null', this.getName() || 'ReactCompositeComponent') : _prodInvariant('106', this.getName() || 'ReactCompositeComponent') : void 0;\n\n this._pendingStateQueue = null;\n this._pendingReplaceState = false;\n this._pendingForceUpdate = false;\n\n var markup;\n if (inst.unstable_handleError) {\n markup = this.performInitialMountWithErrorHandling(renderedElement, hostParent, hostContainerInfo, transaction, context);\n } else {\n markup = this.performInitialMount(renderedElement, hostParent, hostContainerInfo, transaction, context);\n }\n\n if (inst.componentDidMount) {\n if (process.env.NODE_ENV !== 'production') {\n transaction.getReactMountReady().enqueue(function () {\n measureLifeCyclePerf(function () {\n return inst.componentDidMount();\n }, _this._debugID, 'componentDidMount');\n });\n } else {\n transaction.getReactMountReady().enqueue(inst.componentDidMount, inst);\n }\n }\n\n return markup;\n },\n\n _constructComponent: function (doConstruct, publicProps, publicContext, updateQueue) {\n if (process.env.NODE_ENV !== 'production') {\n ReactCurrentOwner.current = this;\n try {\n return this._constructComponentWithoutOwner(doConstruct, publicProps, publicContext, updateQueue);\n } finally {\n ReactCurrentOwner.current = null;\n }\n } else {\n return this._constructComponentWithoutOwner(doConstruct, publicProps, publicContext, updateQueue);\n }\n },\n\n _constructComponentWithoutOwner: function (doConstruct, publicProps, publicContext, updateQueue) {\n var Component = this._currentElement.type;\n\n if (doConstruct) {\n if (process.env.NODE_ENV !== 'production') {\n return measureLifeCyclePerf(function () {\n return new Component(publicProps, publicContext, updateQueue);\n }, this._debugID, 'ctor');\n } else {\n return new Component(publicProps, publicContext, updateQueue);\n }\n }\n\n // This can still be an instance in case of factory components\n // but we'll count this as time spent rendering as the more common case.\n if (process.env.NODE_ENV !== 'production') {\n return measureLifeCyclePerf(function () {\n return Component(publicProps, publicContext, updateQueue);\n }, this._debugID, 'render');\n } else {\n return Component(publicProps, publicContext, updateQueue);\n }\n },\n\n performInitialMountWithErrorHandling: function (renderedElement, hostParent, hostContainerInfo, transaction, context) {\n var markup;\n var checkpoint = transaction.checkpoint();\n try {\n markup = this.performInitialMount(renderedElement, hostParent, hostContainerInfo, transaction, context);\n } catch (e) {\n // Roll back to checkpoint, handle error (which may add items to the transaction), and take a new checkpoint\n transaction.rollback(checkpoint);\n this._instance.unstable_handleError(e);\n if (this._pendingStateQueue) {\n this._instance.state = this._processPendingState(this._instance.props, this._instance.context);\n }\n checkpoint = transaction.checkpoint();\n\n this._renderedComponent.unmountComponent(true);\n transaction.rollback(checkpoint);\n\n // Try again - we've informed the component about the error, so they can render an error message this time.\n // If this throws again, the error will bubble up (and can be caught by a higher error boundary).\n markup = this.performInitialMount(renderedElement, hostParent, hostContainerInfo, transaction, context);\n }\n return markup;\n },\n\n performInitialMount: function (renderedElement, hostParent, hostContainerInfo, transaction, context) {\n var inst = this._instance;\n\n var debugID = 0;\n if (process.env.NODE_ENV !== 'production') {\n debugID = this._debugID;\n }\n\n if (inst.componentWillMount) {\n if (process.env.NODE_ENV !== 'production') {\n measureLifeCyclePerf(function () {\n return inst.componentWillMount();\n }, debugID, 'componentWillMount');\n } else {\n inst.componentWillMount();\n }\n // When mounting, calls to `setState` by `componentWillMount` will set\n // `this._pendingStateQueue` without triggering a re-render.\n if (this._pendingStateQueue) {\n inst.state = this._processPendingState(inst.props, inst.context);\n }\n }\n\n // If not a stateless component, we now render\n if (renderedElement === undefined) {\n renderedElement = this._renderValidatedComponent();\n }\n\n var nodeType = ReactNodeTypes.getType(renderedElement);\n this._renderedNodeType = nodeType;\n var child = this._instantiateReactComponent(renderedElement, nodeType !== ReactNodeTypes.EMPTY /* shouldHaveDebugID */\n );\n this._renderedComponent = child;\n\n var markup = ReactReconciler.mountComponent(child, transaction, hostParent, hostContainerInfo, this._processChildContext(context), debugID);\n\n if (process.env.NODE_ENV !== 'production') {\n if (debugID !== 0) {\n var childDebugIDs = child._debugID !== 0 ? [child._debugID] : [];\n ReactInstrumentation.debugTool.onSetChildren(debugID, childDebugIDs);\n }\n }\n\n return markup;\n },\n\n getHostNode: function () {\n return ReactReconciler.getHostNode(this._renderedComponent);\n },\n\n /**\n * Releases any resources allocated by `mountComponent`.\n *\n * @final\n * @internal\n */\n unmountComponent: function (safely) {\n if (!this._renderedComponent) {\n return;\n }\n\n var inst = this._instance;\n\n if (inst.componentWillUnmount && !inst._calledComponentWillUnmount) {\n inst._calledComponentWillUnmount = true;\n\n if (safely) {\n var name = this.getName() + '.componentWillUnmount()';\n ReactErrorUtils.invokeGuardedCallback(name, inst.componentWillUnmount.bind(inst));\n } else {\n if (process.env.NODE_ENV !== 'production') {\n measureLifeCyclePerf(function () {\n return inst.componentWillUnmount();\n }, this._debugID, 'componentWillUnmount');\n } else {\n inst.componentWillUnmount();\n }\n }\n }\n\n if (this._renderedComponent) {\n ReactReconciler.unmountComponent(this._renderedComponent, safely);\n this._renderedNodeType = null;\n this._renderedComponent = null;\n this._instance = null;\n }\n\n // Reset pending fields\n // Even if this component is scheduled for another update in ReactUpdates,\n // it would still be ignored because these fields are reset.\n this._pendingStateQueue = null;\n this._pendingReplaceState = false;\n this._pendingForceUpdate = false;\n this._pendingCallbacks = null;\n this._pendingElement = null;\n\n // These fields do not really need to be reset since this object is no\n // longer accessible.\n this._context = null;\n this._rootNodeID = 0;\n this._topLevelWrapper = null;\n\n // Delete the reference from the instance to this internal representation\n // which allow the internals to be properly cleaned up even if the user\n // leaks a reference to the public instance.\n ReactInstanceMap.remove(inst);\n\n // Some existing components rely on inst.props even after they've been\n // destroyed (in event handlers).\n // TODO: inst.props = null;\n // TODO: inst.state = null;\n // TODO: inst.context = null;\n },\n\n /**\n * Filters the context object to only contain keys specified in\n * `contextTypes`\n *\n * @param {object} context\n * @return {?object}\n * @private\n */\n _maskContext: function (context) {\n var Component = this._currentElement.type;\n var contextTypes = Component.contextTypes;\n if (!contextTypes) {\n return emptyObject;\n }\n var maskedContext = {};\n for (var contextName in contextTypes) {\n maskedContext[contextName] = context[contextName];\n }\n return maskedContext;\n },\n\n /**\n * Filters the context object to only contain keys specified in\n * `contextTypes`, and asserts that they are valid.\n *\n * @param {object} context\n * @return {?object}\n * @private\n */\n _processContext: function (context) {\n var maskedContext = this._maskContext(context);\n if (process.env.NODE_ENV !== 'production') {\n var Component = this._currentElement.type;\n if (Component.contextTypes) {\n this._checkContextTypes(Component.contextTypes, maskedContext, ReactPropTypeLocations.context);\n }\n }\n return maskedContext;\n },\n\n /**\n * @param {object} currentContext\n * @return {object}\n * @private\n */\n _processChildContext: function (currentContext) {\n var Component = this._currentElement.type;\n var inst = this._instance;\n var childContext;\n\n if (inst.getChildContext) {\n if (process.env.NODE_ENV !== 'production') {\n ReactInstrumentation.debugTool.onBeginProcessingChildContext();\n try {\n childContext = inst.getChildContext();\n } finally {\n ReactInstrumentation.debugTool.onEndProcessingChildContext();\n }\n } else {\n childContext = inst.getChildContext();\n }\n }\n\n if (childContext) {\n !(typeof Component.childContextTypes === 'object') ? process.env.NODE_ENV !== 'production' ? invariant(false, '%s.getChildContext(): childContextTypes must be defined in order to use getChildContext().', this.getName() || 'ReactCompositeComponent') : _prodInvariant('107', this.getName() || 'ReactCompositeComponent') : void 0;\n if (process.env.NODE_ENV !== 'production') {\n this._checkContextTypes(Component.childContextTypes, childContext, ReactPropTypeLocations.childContext);\n }\n for (var name in childContext) {\n !(name in Component.childContextTypes) ? process.env.NODE_ENV !== 'production' ? invariant(false, '%s.getChildContext(): key \"%s\" is not defined in childContextTypes.', this.getName() || 'ReactCompositeComponent', name) : _prodInvariant('108', this.getName() || 'ReactCompositeComponent', name) : void 0;\n }\n return _assign({}, currentContext, childContext);\n }\n return currentContext;\n },\n\n /**\n * Assert that the context types are valid\n *\n * @param {object} typeSpecs Map of context field to a ReactPropType\n * @param {object} values Runtime values that need to be type-checked\n * @param {string} location e.g. \"prop\", \"context\", \"child context\"\n * @private\n */\n _checkContextTypes: function (typeSpecs, values, location) {\n checkReactTypeSpec(typeSpecs, values, location, this.getName(), null, this._debugID);\n },\n\n receiveComponent: function (nextElement, transaction, nextContext) {\n var prevElement = this._currentElement;\n var prevContext = this._context;\n\n this._pendingElement = null;\n\n this.updateComponent(transaction, prevElement, nextElement, prevContext, nextContext);\n },\n\n /**\n * If any of `_pendingElement`, `_pendingStateQueue`, or `_pendingForceUpdate`\n * is set, update the component.\n *\n * @param {ReactReconcileTransaction} transaction\n * @internal\n */\n performUpdateIfNecessary: function (transaction) {\n if (this._pendingElement != null) {\n ReactReconciler.receiveComponent(this, this._pendingElement, transaction, this._context);\n } else if (this._pendingStateQueue !== null || this._pendingForceUpdate) {\n this.updateComponent(transaction, this._currentElement, this._currentElement, this._context, this._context);\n } else {\n this._updateBatchNumber = null;\n }\n },\n\n /**\n * Perform an update to a mounted component. The componentWillReceiveProps and\n * shouldComponentUpdate methods are called, then (assuming the update isn't\n * skipped) the remaining update lifecycle methods are called and the DOM\n * representation is updated.\n *\n * By default, this implements React's rendering and reconciliation algorithm.\n * Sophisticated clients may wish to override this.\n *\n * @param {ReactReconcileTransaction} transaction\n * @param {ReactElement} prevParentElement\n * @param {ReactElement} nextParentElement\n * @internal\n * @overridable\n */\n updateComponent: function (transaction, prevParentElement, nextParentElement, prevUnmaskedContext, nextUnmaskedContext) {\n var inst = this._instance;\n !(inst != null) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Attempted to update component `%s` that has already been unmounted (or failed to mount).', this.getName() || 'ReactCompositeComponent') : _prodInvariant('136', this.getName() || 'ReactCompositeComponent') : void 0;\n\n var willReceive = false;\n var nextContext;\n\n // Determine if the context has changed or not\n if (this._context === nextUnmaskedContext) {\n nextContext = inst.context;\n } else {\n nextContext = this._processContext(nextUnmaskedContext);\n willReceive = true;\n }\n\n var prevProps = prevParentElement.props;\n var nextProps = nextParentElement.props;\n\n // Not a simple state update but a props update\n if (prevParentElement !== nextParentElement) {\n willReceive = true;\n }\n\n // An update here will schedule an update but immediately set\n // _pendingStateQueue which will ensure that any state updates gets\n // immediately reconciled instead of waiting for the next batch.\n if (willReceive && inst.componentWillReceiveProps) {\n if (process.env.NODE_ENV !== 'production') {\n measureLifeCyclePerf(function () {\n return inst.componentWillReceiveProps(nextProps, nextContext);\n }, this._debugID, 'componentWillReceiveProps');\n } else {\n inst.componentWillReceiveProps(nextProps, nextContext);\n }\n }\n\n var nextState = this._processPendingState(nextProps, nextContext);\n var shouldUpdate = true;\n\n if (!this._pendingForceUpdate) {\n if (inst.shouldComponentUpdate) {\n if (process.env.NODE_ENV !== 'production') {\n shouldUpdate = measureLifeCyclePerf(function () {\n return inst.shouldComponentUpdate(nextProps, nextState, nextContext);\n }, this._debugID, 'shouldComponentUpdate');\n } else {\n shouldUpdate = inst.shouldComponentUpdate(nextProps, nextState, nextContext);\n }\n } else {\n if (this._compositeType === CompositeTypes.PureClass) {\n shouldUpdate = !shallowEqual(prevProps, nextProps) || !shallowEqual(inst.state, nextState);\n }\n }\n }\n\n if (process.env.NODE_ENV !== 'production') {\n process.env.NODE_ENV !== 'production' ? warning(shouldUpdate !== undefined, '%s.shouldComponentUpdate(): Returned undefined instead of a ' + 'boolean value. Make sure to return true or false.', this.getName() || 'ReactCompositeComponent') : void 0;\n }\n\n this._updateBatchNumber = null;\n if (shouldUpdate) {\n this._pendingForceUpdate = false;\n // Will set `this.props`, `this.state` and `this.context`.\n this._performComponentUpdate(nextParentElement, nextProps, nextState, nextContext, transaction, nextUnmaskedContext);\n } else {\n // If it's determined that a component should not update, we still want\n // to set props and state but we shortcut the rest of the update.\n this._currentElement = nextParentElement;\n this._context = nextUnmaskedContext;\n inst.props = nextProps;\n inst.state = nextState;\n inst.context = nextContext;\n }\n },\n\n _processPendingState: function (props, context) {\n var inst = this._instance;\n var queue = this._pendingStateQueue;\n var replace = this._pendingReplaceState;\n this._pendingReplaceState = false;\n this._pendingStateQueue = null;\n\n if (!queue) {\n return inst.state;\n }\n\n if (replace && queue.length === 1) {\n return queue[0];\n }\n\n var nextState = _assign({}, replace ? queue[0] : inst.state);\n for (var i = replace ? 1 : 0; i < queue.length; i++) {\n var partial = queue[i];\n _assign(nextState, typeof partial === 'function' ? partial.call(inst, nextState, props, context) : partial);\n }\n\n return nextState;\n },\n\n /**\n * Merges new props and state, notifies delegate methods of update and\n * performs update.\n *\n * @param {ReactElement} nextElement Next element\n * @param {object} nextProps Next public object to set as properties.\n * @param {?object} nextState Next object to set as state.\n * @param {?object} nextContext Next public object to set as context.\n * @param {ReactReconcileTransaction} transaction\n * @param {?object} unmaskedContext\n * @private\n */\n _performComponentUpdate: function (nextElement, nextProps, nextState, nextContext, transaction, unmaskedContext) {\n var _this2 = this;\n\n var inst = this._instance;\n\n var hasComponentDidUpdate = Boolean(inst.componentDidUpdate);\n var prevProps;\n var prevState;\n var prevContext;\n if (hasComponentDidUpdate) {\n prevProps = inst.props;\n prevState = inst.state;\n prevContext = inst.context;\n }\n\n if (inst.componentWillUpdate) {\n if (process.env.NODE_ENV !== 'production') {\n measureLifeCyclePerf(function () {\n return inst.componentWillUpdate(nextProps, nextState, nextContext);\n }, this._debugID, 'componentWillUpdate');\n } else {\n inst.componentWillUpdate(nextProps, nextState, nextContext);\n }\n }\n\n this._currentElement = nextElement;\n this._context = unmaskedContext;\n inst.props = nextProps;\n inst.state = nextState;\n inst.context = nextContext;\n\n this._updateRenderedComponent(transaction, unmaskedContext);\n\n if (hasComponentDidUpdate) {\n if (process.env.NODE_ENV !== 'production') {\n transaction.getReactMountReady().enqueue(function () {\n measureLifeCyclePerf(inst.componentDidUpdate.bind(inst, prevProps, prevState, prevContext), _this2._debugID, 'componentDidUpdate');\n });\n } else {\n transaction.getReactMountReady().enqueue(inst.componentDidUpdate.bind(inst, prevProps, prevState, prevContext), inst);\n }\n }\n },\n\n /**\n * Call the component's `render` method and update the DOM accordingly.\n *\n * @param {ReactReconcileTransaction} transaction\n * @internal\n */\n _updateRenderedComponent: function (transaction, context) {\n var prevComponentInstance = this._renderedComponent;\n var prevRenderedElement = prevComponentInstance._currentElement;\n var nextRenderedElement = this._renderValidatedComponent();\n\n var debugID = 0;\n if (process.env.NODE_ENV !== 'production') {\n debugID = this._debugID;\n }\n\n if (shouldUpdateReactComponent(prevRenderedElement, nextRenderedElement)) {\n ReactReconciler.receiveComponent(prevComponentInstance, nextRenderedElement, transaction, this._processChildContext(context));\n } else {\n var oldHostNode = ReactReconciler.getHostNode(prevComponentInstance);\n ReactReconciler.unmountComponent(prevComponentInstance, false);\n\n var nodeType = ReactNodeTypes.getType(nextRenderedElement);\n this._renderedNodeType = nodeType;\n var child = this._instantiateReactComponent(nextRenderedElement, nodeType !== ReactNodeTypes.EMPTY /* shouldHaveDebugID */\n );\n this._renderedComponent = child;\n\n var nextMarkup = ReactReconciler.mountComponent(child, transaction, this._hostParent, this._hostContainerInfo, this._processChildContext(context), debugID);\n\n if (process.env.NODE_ENV !== 'production') {\n if (debugID !== 0) {\n var childDebugIDs = child._debugID !== 0 ? [child._debugID] : [];\n ReactInstrumentation.debugTool.onSetChildren(debugID, childDebugIDs);\n }\n }\n\n this._replaceNodeWithMarkup(oldHostNode, nextMarkup, prevComponentInstance);\n }\n },\n\n /**\n * Overridden in shallow rendering.\n *\n * @protected\n */\n _replaceNodeWithMarkup: function (oldHostNode, nextMarkup, prevInstance) {\n ReactComponentEnvironment.replaceNodeWithMarkup(oldHostNode, nextMarkup, prevInstance);\n },\n\n /**\n * @protected\n */\n _renderValidatedComponentWithoutOwnerOrContext: function () {\n var inst = this._instance;\n var renderedComponent;\n\n if (process.env.NODE_ENV !== 'production') {\n renderedComponent = measureLifeCyclePerf(function () {\n return inst.render();\n }, this._debugID, 'render');\n } else {\n renderedComponent = inst.render();\n }\n\n if (process.env.NODE_ENV !== 'production') {\n // We allow auto-mocks to proceed as if they're returning null.\n if (renderedComponent === undefined && inst.render._isMockFunction) {\n // This is probably bad practice. Consider warning here and\n // deprecating this convenience.\n renderedComponent = null;\n }\n }\n\n return renderedComponent;\n },\n\n /**\n * @private\n */\n _renderValidatedComponent: function () {\n var renderedComponent;\n if (process.env.NODE_ENV !== 'production' || this._compositeType !== CompositeTypes.StatelessFunctional) {\n ReactCurrentOwner.current = this;\n try {\n renderedComponent = this._renderValidatedComponentWithoutOwnerOrContext();\n } finally {\n ReactCurrentOwner.current = null;\n }\n } else {\n renderedComponent = this._renderValidatedComponentWithoutOwnerOrContext();\n }\n !(\n // TODO: An `isValidNode` function would probably be more appropriate\n renderedComponent === null || renderedComponent === false || ReactElement.isValidElement(renderedComponent)) ? process.env.NODE_ENV !== 'production' ? invariant(false, '%s.render(): A valid React element (or null) must be returned. You may have returned undefined, an array or some other invalid object.', this.getName() || 'ReactCompositeComponent') : _prodInvariant('109', this.getName() || 'ReactCompositeComponent') : void 0;\n\n return renderedComponent;\n },\n\n /**\n * Lazily allocates the refs object and stores `component` as `ref`.\n *\n * @param {string} ref Reference name.\n * @param {component} component Component to store as `ref`.\n * @final\n * @private\n */\n attachRef: function (ref, component) {\n var inst = this.getPublicInstance();\n !(inst != null) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Stateless function components cannot have refs.') : _prodInvariant('110') : void 0;\n var publicComponentInstance = component.getPublicInstance();\n if (process.env.NODE_ENV !== 'production') {\n var componentName = component && component.getName ? component.getName() : 'a component';\n process.env.NODE_ENV !== 'production' ? warning(publicComponentInstance != null || component._compositeType !== CompositeTypes.StatelessFunctional, 'Stateless function components cannot be given refs ' + '(See ref \"%s\" in %s created by %s). ' + 'Attempts to access this ref will fail.', ref, componentName, this.getName()) : void 0;\n }\n var refs = inst.refs === emptyObject ? inst.refs = {} : inst.refs;\n refs[ref] = publicComponentInstance;\n },\n\n /**\n * Detaches a reference name.\n *\n * @param {string} ref Name to dereference.\n * @final\n * @private\n */\n detachRef: function (ref) {\n var refs = this.getPublicInstance().refs;\n delete refs[ref];\n },\n\n /**\n * Get a text description of the component that can be used to identify it\n * in error messages.\n * @return {string} The name or null.\n * @internal\n */\n getName: function () {\n var type = this._currentElement.type;\n var constructor = this._instance && this._instance.constructor;\n return type.displayName || constructor && constructor.displayName || type.name || constructor && constructor.name || null;\n },\n\n /**\n * Get the publicly accessible representation of this component - i.e. what\n * is exposed by refs and returned by render. Can be null for stateless\n * components.\n *\n * @return {ReactComponent} the public component instance.\n * @internal\n */\n getPublicInstance: function () {\n var inst = this._instance;\n if (this._compositeType === CompositeTypes.StatelessFunctional) {\n return null;\n }\n return inst;\n },\n\n // Stub\n _instantiateReactComponent: null\n\n};\n\nvar ReactCompositeComponent = {\n\n Mixin: ReactCompositeComponentMixin\n\n};\n\nmodule.exports = ReactCompositeComponent;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react/lib/ReactCompositeComponent.js\n ** module id = 603\n ** module chunks = 0\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule ReactDOM\n */\n\n/* globals __REACT_DEVTOOLS_GLOBAL_HOOK__*/\n\n'use strict';\n\nvar ReactDOMComponentTree = require('./ReactDOMComponentTree');\nvar ReactDefaultInjection = require('./ReactDefaultInjection');\nvar ReactMount = require('./ReactMount');\nvar ReactReconciler = require('./ReactReconciler');\nvar ReactUpdates = require('./ReactUpdates');\nvar ReactVersion = require('./ReactVersion');\n\nvar findDOMNode = require('./findDOMNode');\nvar getHostComponentFromComposite = require('./getHostComponentFromComposite');\nvar renderSubtreeIntoContainer = require('./renderSubtreeIntoContainer');\nvar warning = require('fbjs/lib/warning');\n\nReactDefaultInjection.inject();\n\nvar ReactDOM = {\n findDOMNode: findDOMNode,\n render: ReactMount.render,\n unmountComponentAtNode: ReactMount.unmountComponentAtNode,\n version: ReactVersion,\n\n /* eslint-disable camelcase */\n unstable_batchedUpdates: ReactUpdates.batchedUpdates,\n unstable_renderSubtreeIntoContainer: renderSubtreeIntoContainer\n};\n\n// Inject the runtime into a devtools global hook regardless of browser.\n// Allows for debugging when the hook is injected on the page.\n/* eslint-enable camelcase */\nif (typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' && typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.inject === 'function') {\n __REACT_DEVTOOLS_GLOBAL_HOOK__.inject({\n ComponentTree: {\n getClosestInstanceFromNode: ReactDOMComponentTree.getClosestInstanceFromNode,\n getNodeFromInstance: function (inst) {\n // inst is an internal instance (but could be a composite)\n if (inst._renderedComponent) {\n inst = getHostComponentFromComposite(inst);\n }\n if (inst) {\n return ReactDOMComponentTree.getNodeFromInstance(inst);\n } else {\n return null;\n }\n }\n },\n Mount: ReactMount,\n Reconciler: ReactReconciler\n });\n}\n\nif (process.env.NODE_ENV !== 'production') {\n var ExecutionEnvironment = require('fbjs/lib/ExecutionEnvironment');\n if (ExecutionEnvironment.canUseDOM && window.top === window.self) {\n\n // First check if devtools is not installed\n if (typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined') {\n // If we're in Chrome or Firefox, provide a download link if not installed.\n if (navigator.userAgent.indexOf('Chrome') > -1 && navigator.userAgent.indexOf('Edge') === -1 || navigator.userAgent.indexOf('Firefox') > -1) {\n // Firefox does not have the issue with devtools loaded over file://\n var showFileUrlMessage = window.location.protocol.indexOf('http') === -1 && navigator.userAgent.indexOf('Firefox') === -1;\n console.debug('Download the React DevTools ' + (showFileUrlMessage ? 'and use an HTTP server (instead of a file: URL) ' : '') + 'for a better development experience: ' + 'https://fb.me/react-devtools');\n }\n }\n\n var testFunc = function testFn() {};\n process.env.NODE_ENV !== 'production' ? warning((testFunc.name || testFunc.toString()).indexOf('testFn') !== -1, 'It looks like you\\'re using a minified copy of the development build ' + 'of React. When deploying React apps to production, make sure to use ' + 'the production build which skips development warnings and is faster. ' + 'See https://fb.me/react-minification for more details.') : void 0;\n\n // If we're in IE8, check to see if we are in compatibility mode and provide\n // information on preventing compatibility mode\n var ieCompatibilityMode = document.documentMode && document.documentMode < 8;\n\n process.env.NODE_ENV !== 'production' ? warning(!ieCompatibilityMode, 'Internet Explorer is running in compatibility mode; please add the ' + 'following tag to your HTML to prevent this from happening: ' + '<meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\" />') : void 0;\n\n var expectedFeatures = [\n // shims\n Array.isArray, Array.prototype.every, Array.prototype.forEach, Array.prototype.indexOf, Array.prototype.map, Date.now, Function.prototype.bind, Object.keys, String.prototype.split, String.prototype.trim];\n\n for (var i = 0; i < expectedFeatures.length; i++) {\n if (!expectedFeatures[i]) {\n process.env.NODE_ENV !== 'production' ? warning(false, 'One or more ES5 shims expected by React are not available: ' + 'https://fb.me/react-warning-polyfills') : void 0;\n break;\n }\n }\n }\n}\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactInstrumentation = require('./ReactInstrumentation');\n var ReactDOMUnknownPropertyHook = require('./ReactDOMUnknownPropertyHook');\n var ReactDOMNullInputValuePropHook = require('./ReactDOMNullInputValuePropHook');\n\n ReactInstrumentation.debugTool.addHook(ReactDOMUnknownPropertyHook);\n ReactInstrumentation.debugTool.addHook(ReactDOMNullInputValuePropHook);\n}\n\nmodule.exports = ReactDOM;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react/lib/ReactDOM.js\n ** module id = 604\n ** module chunks = 0\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule ReactDOMButton\n */\n\n'use strict';\n\nvar DisabledInputUtils = require('./DisabledInputUtils');\n\n/**\n * Implements a <button> host component that does not receive mouse events\n * when `disabled` is set.\n */\nvar ReactDOMButton = {\n getHostProps: DisabledInputUtils.getHostProps\n};\n\nmodule.exports = ReactDOMButton;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react/lib/ReactDOMButton.js\n ** module id = 605\n ** module chunks = 0\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule ReactDOMComponent\n */\n\n/* global hasOwnProperty:true */\n\n'use strict';\n\nvar _prodInvariant = require('./reactProdInvariant'),\n _assign = require('object-assign');\n\nvar AutoFocusUtils = require('./AutoFocusUtils');\nvar CSSPropertyOperations = require('./CSSPropertyOperations');\nvar DOMLazyTree = require('./DOMLazyTree');\nvar DOMNamespaces = require('./DOMNamespaces');\nvar DOMProperty = require('./DOMProperty');\nvar DOMPropertyOperations = require('./DOMPropertyOperations');\nvar EventConstants = require('./EventConstants');\nvar EventPluginHub = require('./EventPluginHub');\nvar EventPluginRegistry = require('./EventPluginRegistry');\nvar ReactBrowserEventEmitter = require('./ReactBrowserEventEmitter');\nvar ReactDOMButton = require('./ReactDOMButton');\nvar ReactDOMComponentFlags = require('./ReactDOMComponentFlags');\nvar ReactDOMComponentTree = require('./ReactDOMComponentTree');\nvar ReactDOMInput = require('./ReactDOMInput');\nvar ReactDOMOption = require('./ReactDOMOption');\nvar ReactDOMSelect = require('./ReactDOMSelect');\nvar ReactDOMTextarea = require('./ReactDOMTextarea');\nvar ReactInstrumentation = require('./ReactInstrumentation');\nvar ReactMultiChild = require('./ReactMultiChild');\nvar ReactServerRenderingTransaction = require('./ReactServerRenderingTransaction');\n\nvar emptyFunction = require('fbjs/lib/emptyFunction');\nvar escapeTextContentForBrowser = require('./escapeTextContentForBrowser');\nvar invariant = require('fbjs/lib/invariant');\nvar isEventSupported = require('./isEventSupported');\nvar keyOf = require('fbjs/lib/keyOf');\nvar shallowEqual = require('fbjs/lib/shallowEqual');\nvar validateDOMNesting = require('./validateDOMNesting');\nvar warning = require('fbjs/lib/warning');\n\nvar Flags = ReactDOMComponentFlags;\nvar deleteListener = EventPluginHub.deleteListener;\nvar getNode = ReactDOMComponentTree.getNodeFromInstance;\nvar listenTo = ReactBrowserEventEmitter.listenTo;\nvar registrationNameModules = EventPluginRegistry.registrationNameModules;\n\n// For quickly matching children type, to test if can be treated as content.\nvar CONTENT_TYPES = { 'string': true, 'number': true };\n\nvar STYLE = keyOf({ style: null });\nvar HTML = keyOf({ __html: null });\nvar RESERVED_PROPS = {\n children: null,\n dangerouslySetInnerHTML: null,\n suppressContentEditableWarning: null\n};\n\n// Node type for document fragments (Node.DOCUMENT_FRAGMENT_NODE).\nvar DOC_FRAGMENT_TYPE = 11;\n\nfunction getDeclarationErrorAddendum(internalInstance) {\n if (internalInstance) {\n var owner = internalInstance._currentElement._owner || null;\n if (owner) {\n var name = owner.getName();\n if (name) {\n return ' This DOM node was rendered by `' + name + '`.';\n }\n }\n }\n return '';\n}\n\nfunction friendlyStringify(obj) {\n if (typeof obj === 'object') {\n if (Array.isArray(obj)) {\n return '[' + obj.map(friendlyStringify).join(', ') + ']';\n } else {\n var pairs = [];\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n var keyEscaped = /^[a-z$_][\\w$_]*$/i.test(key) ? key : JSON.stringify(key);\n pairs.push(keyEscaped + ': ' + friendlyStringify(obj[key]));\n }\n }\n return '{' + pairs.join(', ') + '}';\n }\n } else if (typeof obj === 'string') {\n return JSON.stringify(obj);\n } else if (typeof obj === 'function') {\n return '[function object]';\n }\n // Differs from JSON.stringify in that undefined because undefined and that\n // inf and nan don't become null\n return String(obj);\n}\n\nvar styleMutationWarning = {};\n\nfunction checkAndWarnForMutatedStyle(style1, style2, component) {\n if (style1 == null || style2 == null) {\n return;\n }\n if (shallowEqual(style1, style2)) {\n return;\n }\n\n var componentName = component._tag;\n var owner = component._currentElement._owner;\n var ownerName;\n if (owner) {\n ownerName = owner.getName();\n }\n\n var hash = ownerName + '|' + componentName;\n\n if (styleMutationWarning.hasOwnProperty(hash)) {\n return;\n }\n\n styleMutationWarning[hash] = true;\n\n process.env.NODE_ENV !== 'production' ? warning(false, '`%s` was passed a style object that has previously been mutated. ' + 'Mutating `style` is deprecated. Consider cloning it beforehand. Check ' + 'the `render` %s. Previous style: %s. Mutated style: %s.', componentName, owner ? 'of `' + ownerName + '`' : 'using <' + componentName + '>', friendlyStringify(style1), friendlyStringify(style2)) : void 0;\n}\n\n/**\n * @param {object} component\n * @param {?object} props\n */\nfunction assertValidProps(component, props) {\n if (!props) {\n return;\n }\n // Note the use of `==` which checks for null or undefined.\n if (voidElementTags[component._tag]) {\n !(props.children == null && props.dangerouslySetInnerHTML == null) ? process.env.NODE_ENV !== 'production' ? invariant(false, '%s is a void element tag and must neither have `children` nor use `dangerouslySetInnerHTML`.%s', component._tag, component._currentElement._owner ? ' Check the render method of ' + component._currentElement._owner.getName() + '.' : '') : _prodInvariant('137', component._tag, component._currentElement._owner ? ' Check the render method of ' + component._currentElement._owner.getName() + '.' : '') : void 0;\n }\n if (props.dangerouslySetInnerHTML != null) {\n !(props.children == null) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Can only set one of `children` or `props.dangerouslySetInnerHTML`.') : _prodInvariant('60') : void 0;\n !(typeof props.dangerouslySetInnerHTML === 'object' && HTML in props.dangerouslySetInnerHTML) ? process.env.NODE_ENV !== 'production' ? invariant(false, '`props.dangerouslySetInnerHTML` must be in the form `{__html: ...}`. Please visit https://fb.me/react-invariant-dangerously-set-inner-html for more information.') : _prodInvariant('61') : void 0;\n }\n if (process.env.NODE_ENV !== 'production') {\n process.env.NODE_ENV !== 'production' ? warning(props.innerHTML == null, 'Directly setting property `innerHTML` is not permitted. ' + 'For more information, lookup documentation on `dangerouslySetInnerHTML`.') : void 0;\n process.env.NODE_ENV !== 'production' ? warning(props.suppressContentEditableWarning || !props.contentEditable || props.children == null, 'A component is `contentEditable` and contains `children` managed by ' + 'React. It is now your responsibility to guarantee that none of ' + 'those nodes are unexpectedly modified or duplicated. This is ' + 'probably not intentional.') : void 0;\n process.env.NODE_ENV !== 'production' ? warning(props.onFocusIn == null && props.onFocusOut == null, 'React uses onFocus and onBlur instead of onFocusIn and onFocusOut. ' + 'All React events are normalized to bubble, so onFocusIn and onFocusOut ' + 'are not needed/supported by React.') : void 0;\n }\n !(props.style == null || typeof props.style === 'object') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'The `style` prop expects a mapping from style properties to values, not a string. For example, style={{marginRight: spacing + \\'em\\'}} when using JSX.%s', getDeclarationErrorAddendum(component)) : _prodInvariant('62', getDeclarationErrorAddendum(component)) : void 0;\n}\n\nfunction enqueuePutListener(inst, registrationName, listener, transaction) {\n if (transaction instanceof ReactServerRenderingTransaction) {\n return;\n }\n if (process.env.NODE_ENV !== 'production') {\n // IE8 has no API for event capturing and the `onScroll` event doesn't\n // bubble.\n process.env.NODE_ENV !== 'production' ? warning(registrationName !== 'onScroll' || isEventSupported('scroll', true), 'This browser doesn\\'t support the `onScroll` event') : void 0;\n }\n var containerInfo = inst._hostContainerInfo;\n var isDocumentFragment = containerInfo._node && containerInfo._node.nodeType === DOC_FRAGMENT_TYPE;\n var doc = isDocumentFragment ? containerInfo._node : containerInfo._ownerDocument;\n listenTo(registrationName, doc);\n transaction.getReactMountReady().enqueue(putListener, {\n inst: inst,\n registrationName: registrationName,\n listener: listener\n });\n}\n\nfunction putListener() {\n var listenerToPut = this;\n EventPluginHub.putListener(listenerToPut.inst, listenerToPut.registrationName, listenerToPut.listener);\n}\n\nfunction inputPostMount() {\n var inst = this;\n ReactDOMInput.postMountWrapper(inst);\n}\n\nfunction textareaPostMount() {\n var inst = this;\n ReactDOMTextarea.postMountWrapper(inst);\n}\n\nfunction optionPostMount() {\n var inst = this;\n ReactDOMOption.postMountWrapper(inst);\n}\n\nvar setAndValidateContentChildDev = emptyFunction;\nif (process.env.NODE_ENV !== 'production') {\n setAndValidateContentChildDev = function (content) {\n var hasExistingContent = this._contentDebugID != null;\n var debugID = this._debugID;\n // This ID represents the inlined child that has no backing instance:\n var contentDebugID = -debugID;\n\n if (content == null) {\n if (hasExistingContent) {\n ReactInstrumentation.debugTool.onUnmountComponent(this._contentDebugID);\n }\n this._contentDebugID = null;\n return;\n }\n\n validateDOMNesting(null, String(content), this, this._ancestorInfo);\n this._contentDebugID = contentDebugID;\n if (hasExistingContent) {\n ReactInstrumentation.debugTool.onBeforeUpdateComponent(contentDebugID, content);\n ReactInstrumentation.debugTool.onUpdateComponent(contentDebugID);\n } else {\n ReactInstrumentation.debugTool.onBeforeMountComponent(contentDebugID, content, debugID);\n ReactInstrumentation.debugTool.onMountComponent(contentDebugID);\n ReactInstrumentation.debugTool.onSetChildren(debugID, [contentDebugID]);\n }\n };\n}\n\n// There are so many media events, it makes sense to just\n// maintain a list rather than create a `trapBubbledEvent` for each\nvar mediaEvents = {\n topAbort: 'abort',\n topCanPlay: 'canplay',\n topCanPlayThrough: 'canplaythrough',\n topDurationChange: 'durationchange',\n topEmptied: 'emptied',\n topEncrypted: 'encrypted',\n topEnded: 'ended',\n topError: 'error',\n topLoadedData: 'loadeddata',\n topLoadedMetadata: 'loadedmetadata',\n topLoadStart: 'loadstart',\n topPause: 'pause',\n topPlay: 'play',\n topPlaying: 'playing',\n topProgress: 'progress',\n topRateChange: 'ratechange',\n topSeeked: 'seeked',\n topSeeking: 'seeking',\n topStalled: 'stalled',\n topSuspend: 'suspend',\n topTimeUpdate: 'timeupdate',\n topVolumeChange: 'volumechange',\n topWaiting: 'waiting'\n};\n\nfunction trapBubbledEventsLocal() {\n var inst = this;\n // If a component renders to null or if another component fatals and causes\n // the state of the tree to be corrupted, `node` here can be null.\n !inst._rootNodeID ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Must be mounted to trap events') : _prodInvariant('63') : void 0;\n var node = getNode(inst);\n !node ? process.env.NODE_ENV !== 'production' ? invariant(false, 'trapBubbledEvent(...): Requires node to be rendered.') : _prodInvariant('64') : void 0;\n\n switch (inst._tag) {\n case 'iframe':\n case 'object':\n inst._wrapperState.listeners = [ReactBrowserEventEmitter.trapBubbledEvent(EventConstants.topLevelTypes.topLoad, 'load', node)];\n break;\n case 'video':\n case 'audio':\n\n inst._wrapperState.listeners = [];\n // Create listener for each media event\n for (var event in mediaEvents) {\n if (mediaEvents.hasOwnProperty(event)) {\n inst._wrapperState.listeners.push(ReactBrowserEventEmitter.trapBubbledEvent(EventConstants.topLevelTypes[event], mediaEvents[event], node));\n }\n }\n break;\n case 'source':\n inst._wrapperState.listeners = [ReactBrowserEventEmitter.trapBubbledEvent(EventConstants.topLevelTypes.topError, 'error', node)];\n break;\n case 'img':\n inst._wrapperState.listeners = [ReactBrowserEventEmitter.trapBubbledEvent(EventConstants.topLevelTypes.topError, 'error', node), ReactBrowserEventEmitter.trapBubbledEvent(EventConstants.topLevelTypes.topLoad, 'load', node)];\n break;\n case 'form':\n inst._wrapperState.listeners = [ReactBrowserEventEmitter.trapBubbledEvent(EventConstants.topLevelTypes.topReset, 'reset', node), ReactBrowserEventEmitter.trapBubbledEvent(EventConstants.topLevelTypes.topSubmit, 'submit', node)];\n break;\n case 'input':\n case 'select':\n case 'textarea':\n inst._wrapperState.listeners = [ReactBrowserEventEmitter.trapBubbledEvent(EventConstants.topLevelTypes.topInvalid, 'invalid', node)];\n break;\n }\n}\n\nfunction postUpdateSelectWrapper() {\n ReactDOMSelect.postUpdateWrapper(this);\n}\n\n// For HTML, certain tags should omit their close tag. We keep a whitelist for\n// those special-case tags.\n\nvar omittedCloseTags = {\n 'area': true,\n 'base': true,\n 'br': true,\n 'col': true,\n 'embed': true,\n 'hr': true,\n 'img': true,\n 'input': true,\n 'keygen': true,\n 'link': true,\n 'meta': true,\n 'param': true,\n 'source': true,\n 'track': true,\n 'wbr': true\n};\n\n// NOTE: menuitem's close tag should be omitted, but that causes problems.\nvar newlineEatingTags = {\n 'listing': true,\n 'pre': true,\n 'textarea': true\n};\n\n// For HTML, certain tags cannot have children. This has the same purpose as\n// `omittedCloseTags` except that `menuitem` should still have its closing tag.\n\nvar voidElementTags = _assign({\n 'menuitem': true\n}, omittedCloseTags);\n\n// We accept any tag to be rendered but since this gets injected into arbitrary\n// HTML, we want to make sure that it's a safe tag.\n// http://www.w3.org/TR/REC-xml/#NT-Name\n\nvar VALID_TAG_REGEX = /^[a-zA-Z][a-zA-Z:_\\.\\-\\d]*$/; // Simplified subset\nvar validatedTagCache = {};\nvar hasOwnProperty = {}.hasOwnProperty;\n\nfunction validateDangerousTag(tag) {\n if (!hasOwnProperty.call(validatedTagCache, tag)) {\n !VALID_TAG_REGEX.test(tag) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Invalid tag: %s', tag) : _prodInvariant('65', tag) : void 0;\n validatedTagCache[tag] = true;\n }\n}\n\nfunction isCustomComponent(tagName, props) {\n return tagName.indexOf('-') >= 0 || props.is != null;\n}\n\nvar globalIdCounter = 1;\n\n/**\n * Creates a new React class that is idempotent and capable of containing other\n * React components. It accepts event listeners and DOM properties that are\n * valid according to `DOMProperty`.\n *\n * - Event listeners: `onClick`, `onMouseDown`, etc.\n * - DOM properties: `className`, `name`, `title`, etc.\n *\n * The `style` property functions differently from the DOM API. It accepts an\n * object mapping of style properties to values.\n *\n * @constructor ReactDOMComponent\n * @extends ReactMultiChild\n */\nfunction ReactDOMComponent(element) {\n var tag = element.type;\n validateDangerousTag(tag);\n this._currentElement = element;\n this._tag = tag.toLowerCase();\n this._namespaceURI = null;\n this._renderedChildren = null;\n this._previousStyle = null;\n this._previousStyleCopy = null;\n this._hostNode = null;\n this._hostParent = null;\n this._rootNodeID = 0;\n this._domID = 0;\n this._hostContainerInfo = null;\n this._wrapperState = null;\n this._topLevelWrapper = null;\n this._flags = 0;\n if (process.env.NODE_ENV !== 'production') {\n this._ancestorInfo = null;\n setAndValidateContentChildDev.call(this, null);\n }\n}\n\nReactDOMComponent.displayName = 'ReactDOMComponent';\n\nReactDOMComponent.Mixin = {\n\n /**\n * Generates root tag markup then recurses. This method has side effects and\n * is not idempotent.\n *\n * @internal\n * @param {ReactReconcileTransaction|ReactServerRenderingTransaction} transaction\n * @param {?ReactDOMComponent} the parent component instance\n * @param {?object} info about the host container\n * @param {object} context\n * @return {string} The computed markup.\n */\n mountComponent: function (transaction, hostParent, hostContainerInfo, context) {\n this._rootNodeID = globalIdCounter++;\n this._domID = hostContainerInfo._idCounter++;\n this._hostParent = hostParent;\n this._hostContainerInfo = hostContainerInfo;\n\n var props = this._currentElement.props;\n\n switch (this._tag) {\n case 'audio':\n case 'form':\n case 'iframe':\n case 'img':\n case 'link':\n case 'object':\n case 'source':\n case 'video':\n this._wrapperState = {\n listeners: null\n };\n transaction.getReactMountReady().enqueue(trapBubbledEventsLocal, this);\n break;\n case 'button':\n props = ReactDOMButton.getHostProps(this, props, hostParent);\n break;\n case 'input':\n ReactDOMInput.mountWrapper(this, props, hostParent);\n props = ReactDOMInput.getHostProps(this, props);\n transaction.getReactMountReady().enqueue(trapBubbledEventsLocal, this);\n break;\n case 'option':\n ReactDOMOption.mountWrapper(this, props, hostParent);\n props = ReactDOMOption.getHostProps(this, props);\n break;\n case 'select':\n ReactDOMSelect.mountWrapper(this, props, hostParent);\n props = ReactDOMSelect.getHostProps(this, props);\n transaction.getReactMountReady().enqueue(trapBubbledEventsLocal, this);\n break;\n case 'textarea':\n ReactDOMTextarea.mountWrapper(this, props, hostParent);\n props = ReactDOMTextarea.getHostProps(this, props);\n transaction.getReactMountReady().enqueue(trapBubbledEventsLocal, this);\n break;\n }\n\n assertValidProps(this, props);\n\n // We create tags in the namespace of their parent container, except HTML\n // tags get no namespace.\n var namespaceURI;\n var parentTag;\n if (hostParent != null) {\n namespaceURI = hostParent._namespaceURI;\n parentTag = hostParent._tag;\n } else if (hostContainerInfo._tag) {\n namespaceURI = hostContainerInfo._namespaceURI;\n parentTag = hostContainerInfo._tag;\n }\n if (namespaceURI == null || namespaceURI === DOMNamespaces.svg && parentTag === 'foreignobject') {\n namespaceURI = DOMNamespaces.html;\n }\n if (namespaceURI === DOMNamespaces.html) {\n if (this._tag === 'svg') {\n namespaceURI = DOMNamespaces.svg;\n } else if (this._tag === 'math') {\n namespaceURI = DOMNamespaces.mathml;\n }\n }\n this._namespaceURI = namespaceURI;\n\n if (process.env.NODE_ENV !== 'production') {\n var parentInfo;\n if (hostParent != null) {\n parentInfo = hostParent._ancestorInfo;\n } else if (hostContainerInfo._tag) {\n parentInfo = hostContainerInfo._ancestorInfo;\n }\n if (parentInfo) {\n // parentInfo should always be present except for the top-level\n // component when server rendering\n validateDOMNesting(this._tag, null, this, parentInfo);\n }\n this._ancestorInfo = validateDOMNesting.updatedAncestorInfo(parentInfo, this._tag, this);\n }\n\n var mountImage;\n if (transaction.useCreateElement) {\n var ownerDocument = hostContainerInfo._ownerDocument;\n var el;\n if (namespaceURI === DOMNamespaces.html) {\n if (this._tag === 'script') {\n // Create the script via .innerHTML so its \"parser-inserted\" flag is\n // set to true and it does not execute\n var div = ownerDocument.createElement('div');\n var type = this._currentElement.type;\n div.innerHTML = '<' + type + '></' + type + '>';\n el = div.removeChild(div.firstChild);\n } else if (props.is) {\n el = ownerDocument.createElement(this._currentElement.type, props.is);\n } else {\n // Separate else branch instead of using `props.is || undefined` above becuase of a Firefox bug.\n // See discussion in https://github.com/facebook/react/pull/6896\n // and discussion in https://bugzilla.mozilla.org/show_bug.cgi?id=1276240\n el = ownerDocument.createElement(this._currentElement.type);\n }\n } else {\n el = ownerDocument.createElementNS(namespaceURI, this._currentElement.type);\n }\n ReactDOMComponentTree.precacheNode(this, el);\n this._flags |= Flags.hasCachedChildNodes;\n if (!this._hostParent) {\n DOMPropertyOperations.setAttributeForRoot(el);\n }\n this._updateDOMProperties(null, props, transaction);\n var lazyTree = DOMLazyTree(el);\n this._createInitialChildren(transaction, props, context, lazyTree);\n mountImage = lazyTree;\n } else {\n var tagOpen = this._createOpenTagMarkupAndPutListeners(transaction, props);\n var tagContent = this._createContentMarkup(transaction, props, context);\n if (!tagContent && omittedCloseTags[this._tag]) {\n mountImage = tagOpen + '/>';\n } else {\n mountImage = tagOpen + '>' + tagContent + '</' + this._currentElement.type + '>';\n }\n }\n\n switch (this._tag) {\n case 'input':\n transaction.getReactMountReady().enqueue(inputPostMount, this);\n if (props.autoFocus) {\n transaction.getReactMountReady().enqueue(AutoFocusUtils.focusDOMComponent, this);\n }\n break;\n case 'textarea':\n transaction.getReactMountReady().enqueue(textareaPostMount, this);\n if (props.autoFocus) {\n transaction.getReactMountReady().enqueue(AutoFocusUtils.focusDOMComponent, this);\n }\n break;\n case 'select':\n if (props.autoFocus) {\n transaction.getReactMountReady().enqueue(AutoFocusUtils.focusDOMComponent, this);\n }\n break;\n case 'button':\n if (props.autoFocus) {\n transaction.getReactMountReady().enqueue(AutoFocusUtils.focusDOMComponent, this);\n }\n break;\n case 'option':\n transaction.getReactMountReady().enqueue(optionPostMount, this);\n break;\n }\n\n return mountImage;\n },\n\n /**\n * Creates markup for the open tag and all attributes.\n *\n * This method has side effects because events get registered.\n *\n * Iterating over object properties is faster than iterating over arrays.\n * @see http://jsperf.com/obj-vs-arr-iteration\n *\n * @private\n * @param {ReactReconcileTransaction|ReactServerRenderingTransaction} transaction\n * @param {object} props\n * @return {string} Markup of opening tag.\n */\n _createOpenTagMarkupAndPutListeners: function (transaction, props) {\n var ret = '<' + this._currentElement.type;\n\n for (var propKey in props) {\n if (!props.hasOwnProperty(propKey)) {\n continue;\n }\n var propValue = props[propKey];\n if (propValue == null) {\n continue;\n }\n if (registrationNameModules.hasOwnProperty(propKey)) {\n if (propValue) {\n enqueuePutListener(this, propKey, propValue, transaction);\n }\n } else {\n if (propKey === STYLE) {\n if (propValue) {\n if (process.env.NODE_ENV !== 'production') {\n // See `_updateDOMProperties`. style block\n this._previousStyle = propValue;\n }\n propValue = this._previousStyleCopy = _assign({}, props.style);\n }\n propValue = CSSPropertyOperations.createMarkupForStyles(propValue, this);\n }\n var markup = null;\n if (this._tag != null && isCustomComponent(this._tag, props)) {\n if (!RESERVED_PROPS.hasOwnProperty(propKey)) {\n markup = DOMPropertyOperations.createMarkupForCustomAttribute(propKey, propValue);\n }\n } else {\n markup = DOMPropertyOperations.createMarkupForProperty(propKey, propValue);\n }\n if (markup) {\n ret += ' ' + markup;\n }\n }\n }\n\n // For static pages, no need to put React ID and checksum. Saves lots of\n // bytes.\n if (transaction.renderToStaticMarkup) {\n return ret;\n }\n\n if (!this._hostParent) {\n ret += ' ' + DOMPropertyOperations.createMarkupForRoot();\n }\n ret += ' ' + DOMPropertyOperations.createMarkupForID(this._domID);\n return ret;\n },\n\n /**\n * Creates markup for the content between the tags.\n *\n * @private\n * @param {ReactReconcileTransaction|ReactServerRenderingTransaction} transaction\n * @param {object} props\n * @param {object} context\n * @return {string} Content markup.\n */\n _createContentMarkup: function (transaction, props, context) {\n var ret = '';\n\n // Intentional use of != to avoid catching zero/false.\n var innerHTML = props.dangerouslySetInnerHTML;\n if (innerHTML != null) {\n if (innerHTML.__html != null) {\n ret = innerHTML.__html;\n }\n } else {\n var contentToUse = CONTENT_TYPES[typeof props.children] ? props.children : null;\n var childrenToUse = contentToUse != null ? null : props.children;\n if (contentToUse != null) {\n // TODO: Validate that text is allowed as a child of this node\n ret = escapeTextContentForBrowser(contentToUse);\n if (process.env.NODE_ENV !== 'production') {\n setAndValidateContentChildDev.call(this, contentToUse);\n }\n } else if (childrenToUse != null) {\n var mountImages = this.mountChildren(childrenToUse, transaction, context);\n ret = mountImages.join('');\n }\n }\n if (newlineEatingTags[this._tag] && ret.charAt(0) === '\\n') {\n // text/html ignores the first character in these tags if it's a newline\n // Prefer to break application/xml over text/html (for now) by adding\n // a newline specifically to get eaten by the parser. (Alternately for\n // textareas, replacing \"^\\n\" with \"\\r\\n\" doesn't get eaten, and the first\n // \\r is normalized out by HTMLTextAreaElement#value.)\n // See: <http://www.w3.org/TR/html-polyglot/#newlines-in-textarea-and-pre>\n // See: <http://www.w3.org/TR/html5/syntax.html#element-restrictions>\n // See: <http://www.w3.org/TR/html5/syntax.html#newlines>\n // See: Parsing of \"textarea\" \"listing\" and \"pre\" elements\n // from <http://www.w3.org/TR/html5/syntax.html#parsing-main-inbody>\n return '\\n' + ret;\n } else {\n return ret;\n }\n },\n\n _createInitialChildren: function (transaction, props, context, lazyTree) {\n // Intentional use of != to avoid catching zero/false.\n var innerHTML = props.dangerouslySetInnerHTML;\n if (innerHTML != null) {\n if (innerHTML.__html != null) {\n DOMLazyTree.queueHTML(lazyTree, innerHTML.__html);\n }\n } else {\n var contentToUse = CONTENT_TYPES[typeof props.children] ? props.children : null;\n var childrenToUse = contentToUse != null ? null : props.children;\n if (contentToUse != null) {\n // TODO: Validate that text is allowed as a child of this node\n if (process.env.NODE_ENV !== 'production') {\n setAndValidateContentChildDev.call(this, contentToUse);\n }\n DOMLazyTree.queueText(lazyTree, contentToUse);\n } else if (childrenToUse != null) {\n var mountImages = this.mountChildren(childrenToUse, transaction, context);\n for (var i = 0; i < mountImages.length; i++) {\n DOMLazyTree.queueChild(lazyTree, mountImages[i]);\n }\n }\n }\n },\n\n /**\n * Receives a next element and updates the component.\n *\n * @internal\n * @param {ReactElement} nextElement\n * @param {ReactReconcileTransaction|ReactServerRenderingTransaction} transaction\n * @param {object} context\n */\n receiveComponent: function (nextElement, transaction, context) {\n var prevElement = this._currentElement;\n this._currentElement = nextElement;\n this.updateComponent(transaction, prevElement, nextElement, context);\n },\n\n /**\n * Updates a DOM component after it has already been allocated and\n * attached to the DOM. Reconciles the root DOM node, then recurses.\n *\n * @param {ReactReconcileTransaction} transaction\n * @param {ReactElement} prevElement\n * @param {ReactElement} nextElement\n * @internal\n * @overridable\n */\n updateComponent: function (transaction, prevElement, nextElement, context) {\n var lastProps = prevElement.props;\n var nextProps = this._currentElement.props;\n\n switch (this._tag) {\n case 'button':\n lastProps = ReactDOMButton.getHostProps(this, lastProps);\n nextProps = ReactDOMButton.getHostProps(this, nextProps);\n break;\n case 'input':\n lastProps = ReactDOMInput.getHostProps(this, lastProps);\n nextProps = ReactDOMInput.getHostProps(this, nextProps);\n break;\n case 'option':\n lastProps = ReactDOMOption.getHostProps(this, lastProps);\n nextProps = ReactDOMOption.getHostProps(this, nextProps);\n break;\n case 'select':\n lastProps = ReactDOMSelect.getHostProps(this, lastProps);\n nextProps = ReactDOMSelect.getHostProps(this, nextProps);\n break;\n case 'textarea':\n lastProps = ReactDOMTextarea.getHostProps(this, lastProps);\n nextProps = ReactDOMTextarea.getHostProps(this, nextProps);\n break;\n }\n\n assertValidProps(this, nextProps);\n this._updateDOMProperties(lastProps, nextProps, transaction);\n this._updateDOMChildren(lastProps, nextProps, transaction, context);\n\n switch (this._tag) {\n case 'input':\n // Update the wrapper around inputs *after* updating props. This has to\n // happen after `_updateDOMProperties`. Otherwise HTML5 input validations\n // raise warnings and prevent the new value from being assigned.\n ReactDOMInput.updateWrapper(this);\n break;\n case 'textarea':\n ReactDOMTextarea.updateWrapper(this);\n break;\n case 'select':\n // <select> value update needs to occur after <option> children\n // reconciliation\n transaction.getReactMountReady().enqueue(postUpdateSelectWrapper, this);\n break;\n }\n },\n\n /**\n * Reconciles the properties by detecting differences in property values and\n * updating the DOM as necessary. This function is probably the single most\n * critical path for performance optimization.\n *\n * TODO: Benchmark whether checking for changed values in memory actually\n * improves performance (especially statically positioned elements).\n * TODO: Benchmark the effects of putting this at the top since 99% of props\n * do not change for a given reconciliation.\n * TODO: Benchmark areas that can be improved with caching.\n *\n * @private\n * @param {object} lastProps\n * @param {object} nextProps\n * @param {?DOMElement} node\n */\n _updateDOMProperties: function (lastProps, nextProps, transaction) {\n var propKey;\n var styleName;\n var styleUpdates;\n for (propKey in lastProps) {\n if (nextProps.hasOwnProperty(propKey) || !lastProps.hasOwnProperty(propKey) || lastProps[propKey] == null) {\n continue;\n }\n if (propKey === STYLE) {\n var lastStyle = this._previousStyleCopy;\n for (styleName in lastStyle) {\n if (lastStyle.hasOwnProperty(styleName)) {\n styleUpdates = styleUpdates || {};\n styleUpdates[styleName] = '';\n }\n }\n this._previousStyleCopy = null;\n } else if (registrationNameModules.hasOwnProperty(propKey)) {\n if (lastProps[propKey]) {\n // Only call deleteListener if there was a listener previously or\n // else willDeleteListener gets called when there wasn't actually a\n // listener (e.g., onClick={null})\n deleteListener(this, propKey);\n }\n } else if (isCustomComponent(this._tag, lastProps)) {\n if (!RESERVED_PROPS.hasOwnProperty(propKey)) {\n DOMPropertyOperations.deleteValueForAttribute(getNode(this), propKey);\n }\n } else if (DOMProperty.properties[propKey] || DOMProperty.isCustomAttribute(propKey)) {\n DOMPropertyOperations.deleteValueForProperty(getNode(this), propKey);\n }\n }\n for (propKey in nextProps) {\n var nextProp = nextProps[propKey];\n var lastProp = propKey === STYLE ? this._previousStyleCopy : lastProps != null ? lastProps[propKey] : undefined;\n if (!nextProps.hasOwnProperty(propKey) || nextProp === lastProp || nextProp == null && lastProp == null) {\n continue;\n }\n if (propKey === STYLE) {\n if (nextProp) {\n if (process.env.NODE_ENV !== 'production') {\n checkAndWarnForMutatedStyle(this._previousStyleCopy, this._previousStyle, this);\n this._previousStyle = nextProp;\n }\n nextProp = this._previousStyleCopy = _assign({}, nextProp);\n } else {\n this._previousStyleCopy = null;\n }\n if (lastProp) {\n // Unset styles on `lastProp` but not on `nextProp`.\n for (styleName in lastProp) {\n if (lastProp.hasOwnProperty(styleName) && (!nextProp || !nextProp.hasOwnProperty(styleName))) {\n styleUpdates = styleUpdates || {};\n styleUpdates[styleName] = '';\n }\n }\n // Update styles that changed since `lastProp`.\n for (styleName in nextProp) {\n if (nextProp.hasOwnProperty(styleName) && lastProp[styleName] !== nextProp[styleName]) {\n styleUpdates = styleUpdates || {};\n styleUpdates[styleName] = nextProp[styleName];\n }\n }\n } else {\n // Relies on `updateStylesByID` not mutating `styleUpdates`.\n styleUpdates = nextProp;\n }\n } else if (registrationNameModules.hasOwnProperty(propKey)) {\n if (nextProp) {\n enqueuePutListener(this, propKey, nextProp, transaction);\n } else if (lastProp) {\n deleteListener(this, propKey);\n }\n } else if (isCustomComponent(this._tag, nextProps)) {\n if (!RESERVED_PROPS.hasOwnProperty(propKey)) {\n DOMPropertyOperations.setValueForAttribute(getNode(this), propKey, nextProp);\n }\n } else if (DOMProperty.properties[propKey] || DOMProperty.isCustomAttribute(propKey)) {\n var node = getNode(this);\n // If we're updating to null or undefined, we should remove the property\n // from the DOM node instead of inadvertently setting to a string. This\n // brings us in line with the same behavior we have on initial render.\n if (nextProp != null) {\n DOMPropertyOperations.setValueForProperty(node, propKey, nextProp);\n } else {\n DOMPropertyOperations.deleteValueForProperty(node, propKey);\n }\n }\n }\n if (styleUpdates) {\n CSSPropertyOperations.setValueForStyles(getNode(this), styleUpdates, this);\n }\n },\n\n /**\n * Reconciles the children with the various properties that affect the\n * children content.\n *\n * @param {object} lastProps\n * @param {object} nextProps\n * @param {ReactReconcileTransaction} transaction\n * @param {object} context\n */\n _updateDOMChildren: function (lastProps, nextProps, transaction, context) {\n var lastContent = CONTENT_TYPES[typeof lastProps.children] ? lastProps.children : null;\n var nextContent = CONTENT_TYPES[typeof nextProps.children] ? nextProps.children : null;\n\n var lastHtml = lastProps.dangerouslySetInnerHTML && lastProps.dangerouslySetInnerHTML.__html;\n var nextHtml = nextProps.dangerouslySetInnerHTML && nextProps.dangerouslySetInnerHTML.__html;\n\n // Note the use of `!=` which checks for null or undefined.\n var lastChildren = lastContent != null ? null : lastProps.children;\n var nextChildren = nextContent != null ? null : nextProps.children;\n\n // If we're switching from children to content/html or vice versa, remove\n // the old content\n var lastHasContentOrHtml = lastContent != null || lastHtml != null;\n var nextHasContentOrHtml = nextContent != null || nextHtml != null;\n if (lastChildren != null && nextChildren == null) {\n this.updateChildren(null, transaction, context);\n } else if (lastHasContentOrHtml && !nextHasContentOrHtml) {\n this.updateTextContent('');\n if (process.env.NODE_ENV !== 'production') {\n ReactInstrumentation.debugTool.onSetChildren(this._debugID, []);\n }\n }\n\n if (nextContent != null) {\n if (lastContent !== nextContent) {\n this.updateTextContent('' + nextContent);\n if (process.env.NODE_ENV !== 'production') {\n setAndValidateContentChildDev.call(this, nextContent);\n }\n }\n } else if (nextHtml != null) {\n if (lastHtml !== nextHtml) {\n this.updateMarkup('' + nextHtml);\n }\n if (process.env.NODE_ENV !== 'production') {\n ReactInstrumentation.debugTool.onSetChildren(this._debugID, []);\n }\n } else if (nextChildren != null) {\n if (process.env.NODE_ENV !== 'production') {\n setAndValidateContentChildDev.call(this, null);\n }\n\n this.updateChildren(nextChildren, transaction, context);\n }\n },\n\n getHostNode: function () {\n return getNode(this);\n },\n\n /**\n * Destroys all event registrations for this instance. Does not remove from\n * the DOM. That must be done by the parent.\n *\n * @internal\n */\n unmountComponent: function (safely) {\n switch (this._tag) {\n case 'audio':\n case 'form':\n case 'iframe':\n case 'img':\n case 'link':\n case 'object':\n case 'source':\n case 'video':\n var listeners = this._wrapperState.listeners;\n if (listeners) {\n for (var i = 0; i < listeners.length; i++) {\n listeners[i].remove();\n }\n }\n break;\n case 'html':\n case 'head':\n case 'body':\n /**\n * Components like <html> <head> and <body> can't be removed or added\n * easily in a cross-browser way, however it's valuable to be able to\n * take advantage of React's reconciliation for styling and <title>\n * management. So we just document it and throw in dangerous cases.\n */\n !false ? process.env.NODE_ENV !== 'production' ? invariant(false, '<%s> tried to unmount. Because of cross-browser quirks it is impossible to unmount some top-level components (eg <html>, <head>, and <body>) reliably and efficiently. To fix this, have a single top-level component that never unmounts render these elements.', this._tag) : _prodInvariant('66', this._tag) : void 0;\n break;\n }\n\n this.unmountChildren(safely);\n ReactDOMComponentTree.uncacheNode(this);\n EventPluginHub.deleteAllListeners(this);\n this._rootNodeID = 0;\n this._domID = 0;\n this._wrapperState = null;\n\n if (process.env.NODE_ENV !== 'production') {\n setAndValidateContentChildDev.call(this, null);\n }\n },\n\n getPublicInstance: function () {\n return getNode(this);\n }\n\n};\n\n_assign(ReactDOMComponent.prototype, ReactDOMComponent.Mixin, ReactMultiChild.Mixin);\n\nmodule.exports = ReactDOMComponent;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react/lib/ReactDOMComponent.js\n ** module id = 606\n ** module chunks = 0\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule ReactDOMContainerInfo\n */\n\n'use strict';\n\nvar validateDOMNesting = require('./validateDOMNesting');\n\nvar DOC_NODE_TYPE = 9;\n\nfunction ReactDOMContainerInfo(topLevelWrapper, node) {\n var info = {\n _topLevelWrapper: topLevelWrapper,\n _idCounter: 1,\n _ownerDocument: node ? node.nodeType === DOC_NODE_TYPE ? node : node.ownerDocument : null,\n _node: node,\n _tag: node ? node.nodeName.toLowerCase() : null,\n _namespaceURI: node ? node.namespaceURI : null\n };\n if (process.env.NODE_ENV !== 'production') {\n info._ancestorInfo = node ? validateDOMNesting.updatedAncestorInfo(null, info._tag, null) : null;\n }\n return info;\n}\n\nmodule.exports = ReactDOMContainerInfo;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react/lib/ReactDOMContainerInfo.js\n ** module id = 607\n ** module chunks = 0\n **/","/**\n * Copyright 2014-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule ReactDOMEmptyComponent\n */\n\n'use strict';\n\nvar _assign = require('object-assign');\n\nvar DOMLazyTree = require('./DOMLazyTree');\nvar ReactDOMComponentTree = require('./ReactDOMComponentTree');\n\nvar ReactDOMEmptyComponent = function (instantiate) {\n // ReactCompositeComponent uses this:\n this._currentElement = null;\n // ReactDOMComponentTree uses these:\n this._hostNode = null;\n this._hostParent = null;\n this._hostContainerInfo = null;\n this._domID = 0;\n};\n_assign(ReactDOMEmptyComponent.prototype, {\n mountComponent: function (transaction, hostParent, hostContainerInfo, context) {\n var domID = hostContainerInfo._idCounter++;\n this._domID = domID;\n this._hostParent = hostParent;\n this._hostContainerInfo = hostContainerInfo;\n\n var nodeValue = ' react-empty: ' + this._domID + ' ';\n if (transaction.useCreateElement) {\n var ownerDocument = hostContainerInfo._ownerDocument;\n var node = ownerDocument.createComment(nodeValue);\n ReactDOMComponentTree.precacheNode(this, node);\n return DOMLazyTree(node);\n } else {\n if (transaction.renderToStaticMarkup) {\n // Normally we'd insert a comment node, but since this is a situation\n // where React won't take over (static pages), we can simply return\n // nothing.\n return '';\n }\n return '<!--' + nodeValue + '-->';\n }\n },\n receiveComponent: function () {},\n getHostNode: function () {\n return ReactDOMComponentTree.getNodeFromInstance(this);\n },\n unmountComponent: function () {\n ReactDOMComponentTree.uncacheNode(this);\n }\n});\n\nmodule.exports = ReactDOMEmptyComponent;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react/lib/ReactDOMEmptyComponent.js\n ** module id = 608\n ** module chunks = 0\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule ReactDOMFactories\n */\n\n'use strict';\n\nvar ReactElement = require('./ReactElement');\n\n/**\n * Create a factory that creates HTML tag elements.\n *\n * @private\n */\nvar createDOMFactory = ReactElement.createFactory;\nif (process.env.NODE_ENV !== 'production') {\n var ReactElementValidator = require('./ReactElementValidator');\n createDOMFactory = ReactElementValidator.createFactory;\n}\n\n/**\n * Creates a mapping from supported HTML tags to `ReactDOMComponent` classes.\n * This is also accessible via `React.DOM`.\n *\n * @public\n */\nvar ReactDOMFactories = {\n a: createDOMFactory('a'),\n abbr: createDOMFactory('abbr'),\n address: createDOMFactory('address'),\n area: createDOMFactory('area'),\n article: createDOMFactory('article'),\n aside: createDOMFactory('aside'),\n audio: createDOMFactory('audio'),\n b: createDOMFactory('b'),\n base: createDOMFactory('base'),\n bdi: createDOMFactory('bdi'),\n bdo: createDOMFactory('bdo'),\n big: createDOMFactory('big'),\n blockquote: createDOMFactory('blockquote'),\n body: createDOMFactory('body'),\n br: createDOMFactory('br'),\n button: createDOMFactory('button'),\n canvas: createDOMFactory('canvas'),\n caption: createDOMFactory('caption'),\n cite: createDOMFactory('cite'),\n code: createDOMFactory('code'),\n col: createDOMFactory('col'),\n colgroup: createDOMFactory('colgroup'),\n data: createDOMFactory('data'),\n datalist: createDOMFactory('datalist'),\n dd: createDOMFactory('dd'),\n del: createDOMFactory('del'),\n details: createDOMFactory('details'),\n dfn: createDOMFactory('dfn'),\n dialog: createDOMFactory('dialog'),\n div: createDOMFactory('div'),\n dl: createDOMFactory('dl'),\n dt: createDOMFactory('dt'),\n em: createDOMFactory('em'),\n embed: createDOMFactory('embed'),\n fieldset: createDOMFactory('fieldset'),\n figcaption: createDOMFactory('figcaption'),\n figure: createDOMFactory('figure'),\n footer: createDOMFactory('footer'),\n form: createDOMFactory('form'),\n h1: createDOMFactory('h1'),\n h2: createDOMFactory('h2'),\n h3: createDOMFactory('h3'),\n h4: createDOMFactory('h4'),\n h5: createDOMFactory('h5'),\n h6: createDOMFactory('h6'),\n head: createDOMFactory('head'),\n header: createDOMFactory('header'),\n hgroup: createDOMFactory('hgroup'),\n hr: createDOMFactory('hr'),\n html: createDOMFactory('html'),\n i: createDOMFactory('i'),\n iframe: createDOMFactory('iframe'),\n img: createDOMFactory('img'),\n input: createDOMFactory('input'),\n ins: createDOMFactory('ins'),\n kbd: createDOMFactory('kbd'),\n keygen: createDOMFactory('keygen'),\n label: createDOMFactory('label'),\n legend: createDOMFactory('legend'),\n li: createDOMFactory('li'),\n link: createDOMFactory('link'),\n main: createDOMFactory('main'),\n map: createDOMFactory('map'),\n mark: createDOMFactory('mark'),\n menu: createDOMFactory('menu'),\n menuitem: createDOMFactory('menuitem'),\n meta: createDOMFactory('meta'),\n meter: createDOMFactory('meter'),\n nav: createDOMFactory('nav'),\n noscript: createDOMFactory('noscript'),\n object: createDOMFactory('object'),\n ol: createDOMFactory('ol'),\n optgroup: createDOMFactory('optgroup'),\n option: createDOMFactory('option'),\n output: createDOMFactory('output'),\n p: createDOMFactory('p'),\n param: createDOMFactory('param'),\n picture: createDOMFactory('picture'),\n pre: createDOMFactory('pre'),\n progress: createDOMFactory('progress'),\n q: createDOMFactory('q'),\n rp: createDOMFactory('rp'),\n rt: createDOMFactory('rt'),\n ruby: createDOMFactory('ruby'),\n s: createDOMFactory('s'),\n samp: createDOMFactory('samp'),\n script: createDOMFactory('script'),\n section: createDOMFactory('section'),\n select: createDOMFactory('select'),\n small: createDOMFactory('small'),\n source: createDOMFactory('source'),\n span: createDOMFactory('span'),\n strong: createDOMFactory('strong'),\n style: createDOMFactory('style'),\n sub: createDOMFactory('sub'),\n summary: createDOMFactory('summary'),\n sup: createDOMFactory('sup'),\n table: createDOMFactory('table'),\n tbody: createDOMFactory('tbody'),\n td: createDOMFactory('td'),\n textarea: createDOMFactory('textarea'),\n tfoot: createDOMFactory('tfoot'),\n th: createDOMFactory('th'),\n thead: createDOMFactory('thead'),\n time: createDOMFactory('time'),\n title: createDOMFactory('title'),\n tr: createDOMFactory('tr'),\n track: createDOMFactory('track'),\n u: createDOMFactory('u'),\n ul: createDOMFactory('ul'),\n 'var': createDOMFactory('var'),\n video: createDOMFactory('video'),\n wbr: createDOMFactory('wbr'),\n\n // SVG\n circle: createDOMFactory('circle'),\n clipPath: createDOMFactory('clipPath'),\n defs: createDOMFactory('defs'),\n ellipse: createDOMFactory('ellipse'),\n g: createDOMFactory('g'),\n image: createDOMFactory('image'),\n line: createDOMFactory('line'),\n linearGradient: createDOMFactory('linearGradient'),\n mask: createDOMFactory('mask'),\n path: createDOMFactory('path'),\n pattern: createDOMFactory('pattern'),\n polygon: createDOMFactory('polygon'),\n polyline: createDOMFactory('polyline'),\n radialGradient: createDOMFactory('radialGradient'),\n rect: createDOMFactory('rect'),\n stop: createDOMFactory('stop'),\n svg: createDOMFactory('svg'),\n text: createDOMFactory('text'),\n tspan: createDOMFactory('tspan')\n};\n\nmodule.exports = ReactDOMFactories;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react/lib/ReactDOMFactories.js\n ** module id = 609\n ** module chunks = 0\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule ReactDOMFeatureFlags\n */\n\n'use strict';\n\nvar ReactDOMFeatureFlags = {\n useCreateElement: true\n};\n\nmodule.exports = ReactDOMFeatureFlags;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react/lib/ReactDOMFeatureFlags.js\n ** module id = 610\n ** module chunks = 0\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule ReactDOMIDOperations\n */\n\n'use strict';\n\nvar DOMChildrenOperations = require('./DOMChildrenOperations');\nvar ReactDOMComponentTree = require('./ReactDOMComponentTree');\n\n/**\n * Operations used to process updates to DOM nodes.\n */\nvar ReactDOMIDOperations = {\n\n /**\n * Updates a component's children by processing a series of updates.\n *\n * @param {array<object>} updates List of update configurations.\n * @internal\n */\n dangerouslyProcessChildrenUpdates: function (parentInst, updates) {\n var node = ReactDOMComponentTree.getNodeFromInstance(parentInst);\n DOMChildrenOperations.processUpdates(node, updates);\n }\n};\n\nmodule.exports = ReactDOMIDOperations;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react/lib/ReactDOMIDOperations.js\n ** module id = 611\n ** module chunks = 0\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule ReactDOMInput\n */\n\n'use strict';\n\nvar _prodInvariant = require('./reactProdInvariant'),\n _assign = require('object-assign');\n\nvar DisabledInputUtils = require('./DisabledInputUtils');\nvar DOMPropertyOperations = require('./DOMPropertyOperations');\nvar LinkedValueUtils = require('./LinkedValueUtils');\nvar ReactDOMComponentTree = require('./ReactDOMComponentTree');\nvar ReactUpdates = require('./ReactUpdates');\n\nvar invariant = require('fbjs/lib/invariant');\nvar warning = require('fbjs/lib/warning');\n\nvar didWarnValueLink = false;\nvar didWarnCheckedLink = false;\nvar didWarnValueDefaultValue = false;\nvar didWarnCheckedDefaultChecked = false;\nvar didWarnControlledToUncontrolled = false;\nvar didWarnUncontrolledToControlled = false;\n\nfunction forceUpdateIfMounted() {\n if (this._rootNodeID) {\n // DOM component is still mounted; update\n ReactDOMInput.updateWrapper(this);\n }\n}\n\nfunction isControlled(props) {\n var usesChecked = props.type === 'checkbox' || props.type === 'radio';\n return usesChecked ? props.checked != null : props.value != null;\n}\n\n/**\n * Implements an <input> host component that allows setting these optional\n * props: `checked`, `value`, `defaultChecked`, and `defaultValue`.\n *\n * If `checked` or `value` are not supplied (or null/undefined), user actions\n * that affect the checked state or value will trigger updates to the element.\n *\n * If they are supplied (and not null/undefined), the rendered element will not\n * trigger updates to the element. Instead, the props must change in order for\n * the rendered element to be updated.\n *\n * The rendered element will be initialized as unchecked (or `defaultChecked`)\n * with an empty value (or `defaultValue`).\n *\n * @see http://www.w3.org/TR/2012/WD-html5-20121025/the-input-element.html\n */\nvar ReactDOMInput = {\n getHostProps: function (inst, props) {\n var value = LinkedValueUtils.getValue(props);\n var checked = LinkedValueUtils.getChecked(props);\n\n var hostProps = _assign({\n // Make sure we set .type before any other properties (setting .value\n // before .type means .value is lost in IE11 and below)\n type: undefined,\n // Make sure we set .step before .value (setting .value before .step\n // means .value is rounded on mount, based upon step precision)\n step: undefined,\n // Make sure we set .min & .max before .value (to ensure proper order\n // in corner cases such as min or max deriving from value, e.g. Issue #7170)\n min: undefined,\n max: undefined\n }, DisabledInputUtils.getHostProps(inst, props), {\n defaultChecked: undefined,\n defaultValue: undefined,\n value: value != null ? value : inst._wrapperState.initialValue,\n checked: checked != null ? checked : inst._wrapperState.initialChecked,\n onChange: inst._wrapperState.onChange\n });\n\n return hostProps;\n },\n\n mountWrapper: function (inst, props) {\n if (process.env.NODE_ENV !== 'production') {\n LinkedValueUtils.checkPropTypes('input', props, inst._currentElement._owner);\n\n var owner = inst._currentElement._owner;\n\n if (props.valueLink !== undefined && !didWarnValueLink) {\n process.env.NODE_ENV !== 'production' ? warning(false, '`valueLink` prop on `input` is deprecated; set `value` and `onChange` instead.') : void 0;\n didWarnValueLink = true;\n }\n if (props.checkedLink !== undefined && !didWarnCheckedLink) {\n process.env.NODE_ENV !== 'production' ? warning(false, '`checkedLink` prop on `input` is deprecated; set `value` and `onChange` instead.') : void 0;\n didWarnCheckedLink = true;\n }\n if (props.checked !== undefined && props.defaultChecked !== undefined && !didWarnCheckedDefaultChecked) {\n process.env.NODE_ENV !== 'production' ? warning(false, '%s contains an input of type %s with both checked and defaultChecked props. ' + 'Input elements must be either controlled or uncontrolled ' + '(specify either the checked prop, or the defaultChecked prop, but not ' + 'both). Decide between using a controlled or uncontrolled input ' + 'element and remove one of these props. More info: ' + 'https://fb.me/react-controlled-components', owner && owner.getName() || 'A component', props.type) : void 0;\n didWarnCheckedDefaultChecked = true;\n }\n if (props.value !== undefined && props.defaultValue !== undefined && !didWarnValueDefaultValue) {\n process.env.NODE_ENV !== 'production' ? warning(false, '%s contains an input of type %s with both value and defaultValue props. ' + 'Input elements must be either controlled or uncontrolled ' + '(specify either the value prop, or the defaultValue prop, but not ' + 'both). Decide between using a controlled or uncontrolled input ' + 'element and remove one of these props. More info: ' + 'https://fb.me/react-controlled-components', owner && owner.getName() || 'A component', props.type) : void 0;\n didWarnValueDefaultValue = true;\n }\n }\n\n var defaultValue = props.defaultValue;\n inst._wrapperState = {\n initialChecked: props.checked != null ? props.checked : props.defaultChecked,\n initialValue: props.value != null ? props.value : defaultValue,\n listeners: null,\n onChange: _handleChange.bind(inst)\n };\n\n if (process.env.NODE_ENV !== 'production') {\n inst._wrapperState.controlled = isControlled(props);\n }\n },\n\n updateWrapper: function (inst) {\n var props = inst._currentElement.props;\n\n if (process.env.NODE_ENV !== 'production') {\n var controlled = isControlled(props);\n var owner = inst._currentElement._owner;\n\n if (!inst._wrapperState.controlled && controlled && !didWarnUncontrolledToControlled) {\n process.env.NODE_ENV !== 'production' ? warning(false, '%s is changing an uncontrolled input of type %s to be controlled. ' + 'Input elements should not switch from uncontrolled to controlled (or vice versa). ' + 'Decide between using a controlled or uncontrolled input ' + 'element for the lifetime of the component. More info: https://fb.me/react-controlled-components', owner && owner.getName() || 'A component', props.type) : void 0;\n didWarnUncontrolledToControlled = true;\n }\n if (inst._wrapperState.controlled && !controlled && !didWarnControlledToUncontrolled) {\n process.env.NODE_ENV !== 'production' ? warning(false, '%s is changing a controlled input of type %s to be uncontrolled. ' + 'Input elements should not switch from controlled to uncontrolled (or vice versa). ' + 'Decide between using a controlled or uncontrolled input ' + 'element for the lifetime of the component. More info: https://fb.me/react-controlled-components', owner && owner.getName() || 'A component', props.type) : void 0;\n didWarnControlledToUncontrolled = true;\n }\n }\n\n // TODO: Shouldn't this be getChecked(props)?\n var checked = props.checked;\n if (checked != null) {\n DOMPropertyOperations.setValueForProperty(ReactDOMComponentTree.getNodeFromInstance(inst), 'checked', checked || false);\n }\n\n var node = ReactDOMComponentTree.getNodeFromInstance(inst);\n var value = LinkedValueUtils.getValue(props);\n if (value != null) {\n\n // Cast `value` to a string to ensure the value is set correctly. While\n // browsers typically do this as necessary, jsdom doesn't.\n var newValue = '' + value;\n\n // To avoid side effects (such as losing text selection), only set value if changed\n if (newValue !== node.value) {\n node.value = newValue;\n }\n } else {\n if (props.value == null && props.defaultValue != null) {\n node.defaultValue = '' + props.defaultValue;\n }\n if (props.checked == null && props.defaultChecked != null) {\n node.defaultChecked = !!props.defaultChecked;\n }\n }\n },\n\n postMountWrapper: function (inst) {\n var props = inst._currentElement.props;\n\n // This is in postMount because we need access to the DOM node, which is not\n // available until after the component has mounted.\n var node = ReactDOMComponentTree.getNodeFromInstance(inst);\n\n // Detach value from defaultValue. We won't do anything if we're working on\n // submit or reset inputs as those values & defaultValues are linked. They\n // are not resetable nodes so this operation doesn't matter and actually\n // removes browser-default values (eg \"Submit Query\") when no value is\n // provided.\n\n switch (props.type) {\n case 'submit':\n case 'reset':\n break;\n case 'color':\n case 'date':\n case 'datetime':\n case 'datetime-local':\n case 'month':\n case 'time':\n case 'week':\n // This fixes the no-show issue on iOS Safari and Android Chrome:\n // https://github.com/facebook/react/issues/7233\n node.value = '';\n node.value = node.defaultValue;\n break;\n default:\n node.value = node.value;\n break;\n }\n\n // Normally, we'd just do `node.checked = node.checked` upon initial mount, less this bug\n // this is needed to work around a chrome bug where setting defaultChecked\n // will sometimes influence the value of checked (even after detachment).\n // Reference: https://bugs.chromium.org/p/chromium/issues/detail?id=608416\n // We need to temporarily unset name to avoid disrupting radio button groups.\n var name = node.name;\n if (name !== '') {\n node.name = '';\n }\n node.defaultChecked = !node.defaultChecked;\n node.defaultChecked = !node.defaultChecked;\n if (name !== '') {\n node.name = name;\n }\n }\n};\n\nfunction _handleChange(event) {\n var props = this._currentElement.props;\n\n var returnValue = LinkedValueUtils.executeOnChange(props, event);\n\n // Here we use asap to wait until all updates have propagated, which\n // is important when using controlled components within layers:\n // https://github.com/facebook/react/issues/1698\n ReactUpdates.asap(forceUpdateIfMounted, this);\n\n var name = props.name;\n if (props.type === 'radio' && name != null) {\n var rootNode = ReactDOMComponentTree.getNodeFromInstance(this);\n var queryRoot = rootNode;\n\n while (queryRoot.parentNode) {\n queryRoot = queryRoot.parentNode;\n }\n\n // If `rootNode.form` was non-null, then we could try `form.elements`,\n // but that sometimes behaves strangely in IE8. We could also try using\n // `form.getElementsByName`, but that will only return direct children\n // and won't include inputs that use the HTML5 `form=` attribute. Since\n // the input might not even be in a form, let's just use the global\n // `querySelectorAll` to ensure we don't miss anything.\n var group = queryRoot.querySelectorAll('input[name=' + JSON.stringify('' + name) + '][type=\"radio\"]');\n\n for (var i = 0; i < group.length; i++) {\n var otherNode = group[i];\n if (otherNode === rootNode || otherNode.form !== rootNode.form) {\n continue;\n }\n // This will throw if radio buttons rendered by different copies of React\n // and the same name are rendered into the same form (same as #1939).\n // That's probably okay; we don't support it just as we don't support\n // mixing React radio buttons with non-React ones.\n var otherInstance = ReactDOMComponentTree.getInstanceFromNode(otherNode);\n !otherInstance ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactDOMInput: Mixing React and non-React radio inputs with the same `name` is not supported.') : _prodInvariant('90') : void 0;\n // If this is a controlled radio button group, forcing the input that\n // was previously checked to update will cause it to be come re-checked\n // as appropriate.\n ReactUpdates.asap(forceUpdateIfMounted, otherInstance);\n }\n }\n\n return returnValue;\n}\n\nmodule.exports = ReactDOMInput;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react/lib/ReactDOMInput.js\n ** module id = 612\n ** module chunks = 0\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule ReactDOMOption\n */\n\n'use strict';\n\nvar _assign = require('object-assign');\n\nvar ReactChildren = require('./ReactChildren');\nvar ReactDOMComponentTree = require('./ReactDOMComponentTree');\nvar ReactDOMSelect = require('./ReactDOMSelect');\n\nvar warning = require('fbjs/lib/warning');\nvar didWarnInvalidOptionChildren = false;\n\nfunction flattenChildren(children) {\n var content = '';\n\n // Flatten children and warn if they aren't strings or numbers;\n // invalid types are ignored.\n ReactChildren.forEach(children, function (child) {\n if (child == null) {\n return;\n }\n if (typeof child === 'string' || typeof child === 'number') {\n content += child;\n } else if (!didWarnInvalidOptionChildren) {\n didWarnInvalidOptionChildren = true;\n process.env.NODE_ENV !== 'production' ? warning(false, 'Only strings and numbers are supported as <option> children.') : void 0;\n }\n });\n\n return content;\n}\n\n/**\n * Implements an <option> host component that warns when `selected` is set.\n */\nvar ReactDOMOption = {\n mountWrapper: function (inst, props, hostParent) {\n // TODO (yungsters): Remove support for `selected` in <option>.\n if (process.env.NODE_ENV !== 'production') {\n process.env.NODE_ENV !== 'production' ? warning(props.selected == null, 'Use the `defaultValue` or `value` props on <select> instead of ' + 'setting `selected` on <option>.') : void 0;\n }\n\n // Look up whether this option is 'selected'\n var selectValue = null;\n if (hostParent != null) {\n var selectParent = hostParent;\n\n if (selectParent._tag === 'optgroup') {\n selectParent = selectParent._hostParent;\n }\n\n if (selectParent != null && selectParent._tag === 'select') {\n selectValue = ReactDOMSelect.getSelectValueContext(selectParent);\n }\n }\n\n // If the value is null (e.g., no specified value or after initial mount)\n // or missing (e.g., for <datalist>), we don't change props.selected\n var selected = null;\n if (selectValue != null) {\n var value;\n if (props.value != null) {\n value = props.value + '';\n } else {\n value = flattenChildren(props.children);\n }\n selected = false;\n if (Array.isArray(selectValue)) {\n // multiple\n for (var i = 0; i < selectValue.length; i++) {\n if ('' + selectValue[i] === value) {\n selected = true;\n break;\n }\n }\n } else {\n selected = '' + selectValue === value;\n }\n }\n\n inst._wrapperState = { selected: selected };\n },\n\n postMountWrapper: function (inst) {\n // value=\"\" should make a value attribute (#6219)\n var props = inst._currentElement.props;\n if (props.value != null) {\n var node = ReactDOMComponentTree.getNodeFromInstance(inst);\n node.setAttribute('value', props.value);\n }\n },\n\n getHostProps: function (inst, props) {\n var hostProps = _assign({ selected: undefined, children: undefined }, props);\n\n // Read state only from initial mount because <select> updates value\n // manually; we need the initial state only for server rendering\n if (inst._wrapperState.selected != null) {\n hostProps.selected = inst._wrapperState.selected;\n }\n\n var content = flattenChildren(props.children);\n\n if (content) {\n hostProps.children = content;\n }\n\n return hostProps;\n }\n\n};\n\nmodule.exports = ReactDOMOption;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react/lib/ReactDOMOption.js\n ** module id = 613\n ** module chunks = 0\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule ReactDOMSelection\n */\n\n'use strict';\n\nvar ExecutionEnvironment = require('fbjs/lib/ExecutionEnvironment');\n\nvar getNodeForCharacterOffset = require('./getNodeForCharacterOffset');\nvar getTextContentAccessor = require('./getTextContentAccessor');\n\n/**\n * While `isCollapsed` is available on the Selection object and `collapsed`\n * is available on the Range object, IE11 sometimes gets them wrong.\n * If the anchor/focus nodes and offsets are the same, the range is collapsed.\n */\nfunction isCollapsed(anchorNode, anchorOffset, focusNode, focusOffset) {\n return anchorNode === focusNode && anchorOffset === focusOffset;\n}\n\n/**\n * Get the appropriate anchor and focus node/offset pairs for IE.\n *\n * The catch here is that IE's selection API doesn't provide information\n * about whether the selection is forward or backward, so we have to\n * behave as though it's always forward.\n *\n * IE text differs from modern selection in that it behaves as though\n * block elements end with a new line. This means character offsets will\n * differ between the two APIs.\n *\n * @param {DOMElement} node\n * @return {object}\n */\nfunction getIEOffsets(node) {\n var selection = document.selection;\n var selectedRange = selection.createRange();\n var selectedLength = selectedRange.text.length;\n\n // Duplicate selection so we can move range without breaking user selection.\n var fromStart = selectedRange.duplicate();\n fromStart.moveToElementText(node);\n fromStart.setEndPoint('EndToStart', selectedRange);\n\n var startOffset = fromStart.text.length;\n var endOffset = startOffset + selectedLength;\n\n return {\n start: startOffset,\n end: endOffset\n };\n}\n\n/**\n * @param {DOMElement} node\n * @return {?object}\n */\nfunction getModernOffsets(node) {\n var selection = window.getSelection && window.getSelection();\n\n if (!selection || selection.rangeCount === 0) {\n return null;\n }\n\n var anchorNode = selection.anchorNode;\n var anchorOffset = selection.anchorOffset;\n var focusNode = selection.focusNode;\n var focusOffset = selection.focusOffset;\n\n var currentRange = selection.getRangeAt(0);\n\n // In Firefox, range.startContainer and range.endContainer can be \"anonymous\n // divs\", e.g. the up/down buttons on an <input type=\"number\">. Anonymous\n // divs do not seem to expose properties, triggering a \"Permission denied\n // error\" if any of its properties are accessed. The only seemingly possible\n // way to avoid erroring is to access a property that typically works for\n // non-anonymous divs and catch any error that may otherwise arise. See\n // https://bugzilla.mozilla.org/show_bug.cgi?id=208427\n try {\n /* eslint-disable no-unused-expressions */\n currentRange.startContainer.nodeType;\n currentRange.endContainer.nodeType;\n /* eslint-enable no-unused-expressions */\n } catch (e) {\n return null;\n }\n\n // If the node and offset values are the same, the selection is collapsed.\n // `Selection.isCollapsed` is available natively, but IE sometimes gets\n // this value wrong.\n var isSelectionCollapsed = isCollapsed(selection.anchorNode, selection.anchorOffset, selection.focusNode, selection.focusOffset);\n\n var rangeLength = isSelectionCollapsed ? 0 : currentRange.toString().length;\n\n var tempRange = currentRange.cloneRange();\n tempRange.selectNodeContents(node);\n tempRange.setEnd(currentRange.startContainer, currentRange.startOffset);\n\n var isTempRangeCollapsed = isCollapsed(tempRange.startContainer, tempRange.startOffset, tempRange.endContainer, tempRange.endOffset);\n\n var start = isTempRangeCollapsed ? 0 : tempRange.toString().length;\n var end = start + rangeLength;\n\n // Detect whether the selection is backward.\n var detectionRange = document.createRange();\n detectionRange.setStart(anchorNode, anchorOffset);\n detectionRange.setEnd(focusNode, focusOffset);\n var isBackward = detectionRange.collapsed;\n\n return {\n start: isBackward ? end : start,\n end: isBackward ? start : end\n };\n}\n\n/**\n * @param {DOMElement|DOMTextNode} node\n * @param {object} offsets\n */\nfunction setIEOffsets(node, offsets) {\n var range = document.selection.createRange().duplicate();\n var start, end;\n\n if (offsets.end === undefined) {\n start = offsets.start;\n end = start;\n } else if (offsets.start > offsets.end) {\n start = offsets.end;\n end = offsets.start;\n } else {\n start = offsets.start;\n end = offsets.end;\n }\n\n range.moveToElementText(node);\n range.moveStart('character', start);\n range.setEndPoint('EndToStart', range);\n range.moveEnd('character', end - start);\n range.select();\n}\n\n/**\n * In modern non-IE browsers, we can support both forward and backward\n * selections.\n *\n * Note: IE10+ supports the Selection object, but it does not support\n * the `extend` method, which means that even in modern IE, it's not possible\n * to programmatically create a backward selection. Thus, for all IE\n * versions, we use the old IE API to create our selections.\n *\n * @param {DOMElement|DOMTextNode} node\n * @param {object} offsets\n */\nfunction setModernOffsets(node, offsets) {\n if (!window.getSelection) {\n return;\n }\n\n var selection = window.getSelection();\n var length = node[getTextContentAccessor()].length;\n var start = Math.min(offsets.start, length);\n var end = offsets.end === undefined ? start : Math.min(offsets.end, length);\n\n // IE 11 uses modern selection, but doesn't support the extend method.\n // Flip backward selections, so we can set with a single range.\n if (!selection.extend && start > end) {\n var temp = end;\n end = start;\n start = temp;\n }\n\n var startMarker = getNodeForCharacterOffset(node, start);\n var endMarker = getNodeForCharacterOffset(node, end);\n\n if (startMarker && endMarker) {\n var range = document.createRange();\n range.setStart(startMarker.node, startMarker.offset);\n selection.removeAllRanges();\n\n if (start > end) {\n selection.addRange(range);\n selection.extend(endMarker.node, endMarker.offset);\n } else {\n range.setEnd(endMarker.node, endMarker.offset);\n selection.addRange(range);\n }\n }\n}\n\nvar useIEOffsets = ExecutionEnvironment.canUseDOM && 'selection' in document && !('getSelection' in window);\n\nvar ReactDOMSelection = {\n /**\n * @param {DOMElement} node\n */\n getOffsets: useIEOffsets ? getIEOffsets : getModernOffsets,\n\n /**\n * @param {DOMElement|DOMTextNode} node\n * @param {object} offsets\n */\n setOffsets: useIEOffsets ? setIEOffsets : setModernOffsets\n};\n\nmodule.exports = ReactDOMSelection;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react/lib/ReactDOMSelection.js\n ** module id = 614\n ** module chunks = 0\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule ReactDOMTextComponent\n */\n\n'use strict';\n\nvar _prodInvariant = require('./reactProdInvariant'),\n _assign = require('object-assign');\n\nvar DOMChildrenOperations = require('./DOMChildrenOperations');\nvar DOMLazyTree = require('./DOMLazyTree');\nvar ReactDOMComponentTree = require('./ReactDOMComponentTree');\n\nvar escapeTextContentForBrowser = require('./escapeTextContentForBrowser');\nvar invariant = require('fbjs/lib/invariant');\nvar validateDOMNesting = require('./validateDOMNesting');\n\n/**\n * Text nodes violate a couple assumptions that React makes about components:\n *\n * - When mounting text into the DOM, adjacent text nodes are merged.\n * - Text nodes cannot be assigned a React root ID.\n *\n * This component is used to wrap strings between comment nodes so that they\n * can undergo the same reconciliation that is applied to elements.\n *\n * TODO: Investigate representing React components in the DOM with text nodes.\n *\n * @class ReactDOMTextComponent\n * @extends ReactComponent\n * @internal\n */\nvar ReactDOMTextComponent = function (text) {\n // TODO: This is really a ReactText (ReactNode), not a ReactElement\n this._currentElement = text;\n this._stringText = '' + text;\n // ReactDOMComponentTree uses these:\n this._hostNode = null;\n this._hostParent = null;\n\n // Properties\n this._domID = 0;\n this._mountIndex = 0;\n this._closingComment = null;\n this._commentNodes = null;\n};\n\n_assign(ReactDOMTextComponent.prototype, {\n\n /**\n * Creates the markup for this text node. This node is not intended to have\n * any features besides containing text content.\n *\n * @param {ReactReconcileTransaction|ReactServerRenderingTransaction} transaction\n * @return {string} Markup for this text node.\n * @internal\n */\n mountComponent: function (transaction, hostParent, hostContainerInfo, context) {\n if (process.env.NODE_ENV !== 'production') {\n var parentInfo;\n if (hostParent != null) {\n parentInfo = hostParent._ancestorInfo;\n } else if (hostContainerInfo != null) {\n parentInfo = hostContainerInfo._ancestorInfo;\n }\n if (parentInfo) {\n // parentInfo should always be present except for the top-level\n // component when server rendering\n validateDOMNesting(null, this._stringText, this, parentInfo);\n }\n }\n\n var domID = hostContainerInfo._idCounter++;\n var openingValue = ' react-text: ' + domID + ' ';\n var closingValue = ' /react-text ';\n this._domID = domID;\n this._hostParent = hostParent;\n if (transaction.useCreateElement) {\n var ownerDocument = hostContainerInfo._ownerDocument;\n var openingComment = ownerDocument.createComment(openingValue);\n var closingComment = ownerDocument.createComment(closingValue);\n var lazyTree = DOMLazyTree(ownerDocument.createDocumentFragment());\n DOMLazyTree.queueChild(lazyTree, DOMLazyTree(openingComment));\n if (this._stringText) {\n DOMLazyTree.queueChild(lazyTree, DOMLazyTree(ownerDocument.createTextNode(this._stringText)));\n }\n DOMLazyTree.queueChild(lazyTree, DOMLazyTree(closingComment));\n ReactDOMComponentTree.precacheNode(this, openingComment);\n this._closingComment = closingComment;\n return lazyTree;\n } else {\n var escapedText = escapeTextContentForBrowser(this._stringText);\n\n if (transaction.renderToStaticMarkup) {\n // Normally we'd wrap this between comment nodes for the reasons stated\n // above, but since this is a situation where React won't take over\n // (static pages), we can simply return the text as it is.\n return escapedText;\n }\n\n return '<!--' + openingValue + '-->' + escapedText + '<!--' + closingValue + '-->';\n }\n },\n\n /**\n * Updates this component by updating the text content.\n *\n * @param {ReactText} nextText The next text content\n * @param {ReactReconcileTransaction} transaction\n * @internal\n */\n receiveComponent: function (nextText, transaction) {\n if (nextText !== this._currentElement) {\n this._currentElement = nextText;\n var nextStringText = '' + nextText;\n if (nextStringText !== this._stringText) {\n // TODO: Save this as pending props and use performUpdateIfNecessary\n // and/or updateComponent to do the actual update for consistency with\n // other component types?\n this._stringText = nextStringText;\n var commentNodes = this.getHostNode();\n DOMChildrenOperations.replaceDelimitedText(commentNodes[0], commentNodes[1], nextStringText);\n }\n }\n },\n\n getHostNode: function () {\n var hostNode = this._commentNodes;\n if (hostNode) {\n return hostNode;\n }\n if (!this._closingComment) {\n var openingComment = ReactDOMComponentTree.getNodeFromInstance(this);\n var node = openingComment.nextSibling;\n while (true) {\n !(node != null) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Missing closing comment for text component %s', this._domID) : _prodInvariant('67', this._domID) : void 0;\n if (node.nodeType === 8 && node.nodeValue === ' /react-text ') {\n this._closingComment = node;\n break;\n }\n node = node.nextSibling;\n }\n }\n hostNode = [this._hostNode, this._closingComment];\n this._commentNodes = hostNode;\n return hostNode;\n },\n\n unmountComponent: function () {\n this._closingComment = null;\n this._commentNodes = null;\n ReactDOMComponentTree.uncacheNode(this);\n }\n\n});\n\nmodule.exports = ReactDOMTextComponent;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react/lib/ReactDOMTextComponent.js\n ** module id = 615\n ** module chunks = 0\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule ReactDOMTextarea\n */\n\n'use strict';\n\nvar _prodInvariant = require('./reactProdInvariant'),\n _assign = require('object-assign');\n\nvar DisabledInputUtils = require('./DisabledInputUtils');\nvar LinkedValueUtils = require('./LinkedValueUtils');\nvar ReactDOMComponentTree = require('./ReactDOMComponentTree');\nvar ReactUpdates = require('./ReactUpdates');\n\nvar invariant = require('fbjs/lib/invariant');\nvar warning = require('fbjs/lib/warning');\n\nvar didWarnValueLink = false;\nvar didWarnValDefaultVal = false;\n\nfunction forceUpdateIfMounted() {\n if (this._rootNodeID) {\n // DOM component is still mounted; update\n ReactDOMTextarea.updateWrapper(this);\n }\n}\n\n/**\n * Implements a <textarea> host component that allows setting `value`, and\n * `defaultValue`. This differs from the traditional DOM API because value is\n * usually set as PCDATA children.\n *\n * If `value` is not supplied (or null/undefined), user actions that affect the\n * value will trigger updates to the element.\n *\n * If `value` is supplied (and not null/undefined), the rendered element will\n * not trigger updates to the element. Instead, the `value` prop must change in\n * order for the rendered element to be updated.\n *\n * The rendered element will be initialized with an empty value, the prop\n * `defaultValue` if specified, or the children content (deprecated).\n */\nvar ReactDOMTextarea = {\n getHostProps: function (inst, props) {\n !(props.dangerouslySetInnerHTML == null) ? process.env.NODE_ENV !== 'production' ? invariant(false, '`dangerouslySetInnerHTML` does not make sense on <textarea>.') : _prodInvariant('91') : void 0;\n\n // Always set children to the same thing. In IE9, the selection range will\n // get reset if `textContent` is mutated. We could add a check in setTextContent\n // to only set the value if/when the value differs from the node value (which would\n // completely solve this IE9 bug), but Sebastian+Ben seemed to like this solution.\n // The value can be a boolean or object so that's why it's forced to be a string.\n var hostProps = _assign({}, DisabledInputUtils.getHostProps(inst, props), {\n value: undefined,\n defaultValue: undefined,\n children: '' + inst._wrapperState.initialValue,\n onChange: inst._wrapperState.onChange\n });\n\n return hostProps;\n },\n\n mountWrapper: function (inst, props) {\n if (process.env.NODE_ENV !== 'production') {\n LinkedValueUtils.checkPropTypes('textarea', props, inst._currentElement._owner);\n if (props.valueLink !== undefined && !didWarnValueLink) {\n process.env.NODE_ENV !== 'production' ? warning(false, '`valueLink` prop on `textarea` is deprecated; set `value` and `onChange` instead.') : void 0;\n didWarnValueLink = true;\n }\n if (props.value !== undefined && props.defaultValue !== undefined && !didWarnValDefaultVal) {\n process.env.NODE_ENV !== 'production' ? warning(false, 'Textarea elements must be either controlled or uncontrolled ' + '(specify either the value prop, or the defaultValue prop, but not ' + 'both). Decide between using a controlled or uncontrolled textarea ' + 'and remove one of these props. More info: ' + 'https://fb.me/react-controlled-components') : void 0;\n didWarnValDefaultVal = true;\n }\n }\n\n var value = LinkedValueUtils.getValue(props);\n var initialValue = value;\n\n // Only bother fetching default value if we're going to use it\n if (value == null) {\n var defaultValue = props.defaultValue;\n // TODO (yungsters): Remove support for children content in <textarea>.\n var children = props.children;\n if (children != null) {\n if (process.env.NODE_ENV !== 'production') {\n process.env.NODE_ENV !== 'production' ? warning(false, 'Use the `defaultValue` or `value` props instead of setting ' + 'children on <textarea>.') : void 0;\n }\n !(defaultValue == null) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'If you supply `defaultValue` on a <textarea>, do not pass children.') : _prodInvariant('92') : void 0;\n if (Array.isArray(children)) {\n !(children.length <= 1) ? process.env.NODE_ENV !== 'production' ? invariant(false, '<textarea> can only have at most one child.') : _prodInvariant('93') : void 0;\n children = children[0];\n }\n\n defaultValue = '' + children;\n }\n if (defaultValue == null) {\n defaultValue = '';\n }\n initialValue = defaultValue;\n }\n\n inst._wrapperState = {\n initialValue: '' + initialValue,\n listeners: null,\n onChange: _handleChange.bind(inst)\n };\n },\n\n updateWrapper: function (inst) {\n var props = inst._currentElement.props;\n\n var node = ReactDOMComponentTree.getNodeFromInstance(inst);\n var value = LinkedValueUtils.getValue(props);\n if (value != null) {\n // Cast `value` to a string to ensure the value is set correctly. While\n // browsers typically do this as necessary, jsdom doesn't.\n var newValue = '' + value;\n\n // To avoid side effects (such as losing text selection), only set value if changed\n if (newValue !== node.value) {\n node.value = newValue;\n }\n if (props.defaultValue == null) {\n node.defaultValue = newValue;\n }\n }\n if (props.defaultValue != null) {\n node.defaultValue = props.defaultValue;\n }\n },\n\n postMountWrapper: function (inst) {\n // This is in postMount because we need access to the DOM node, which is not\n // available until after the component has mounted.\n var node = ReactDOMComponentTree.getNodeFromInstance(inst);\n\n // Warning: node.value may be the empty string at this point (IE11) if placeholder is set.\n node.value = node.textContent; // Detach value from defaultValue\n }\n};\n\nfunction _handleChange(event) {\n var props = this._currentElement.props;\n var returnValue = LinkedValueUtils.executeOnChange(props, event);\n ReactUpdates.asap(forceUpdateIfMounted, this);\n return returnValue;\n}\n\nmodule.exports = ReactDOMTextarea;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react/lib/ReactDOMTextarea.js\n ** module id = 616\n ** module chunks = 0\n **/","/**\n * Copyright 2015-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule ReactDOMTreeTraversal\n */\n\n'use strict';\n\nvar _prodInvariant = require('./reactProdInvariant');\n\nvar invariant = require('fbjs/lib/invariant');\n\n/**\n * Return the lowest common ancestor of A and B, or null if they are in\n * different trees.\n */\nfunction getLowestCommonAncestor(instA, instB) {\n !('_hostNode' in instA) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'getNodeFromInstance: Invalid argument.') : _prodInvariant('33') : void 0;\n !('_hostNode' in instB) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'getNodeFromInstance: Invalid argument.') : _prodInvariant('33') : void 0;\n\n var depthA = 0;\n for (var tempA = instA; tempA; tempA = tempA._hostParent) {\n depthA++;\n }\n var depthB = 0;\n for (var tempB = instB; tempB; tempB = tempB._hostParent) {\n depthB++;\n }\n\n // If A is deeper, crawl up.\n while (depthA - depthB > 0) {\n instA = instA._hostParent;\n depthA--;\n }\n\n // If B is deeper, crawl up.\n while (depthB - depthA > 0) {\n instB = instB._hostParent;\n depthB--;\n }\n\n // Walk in lockstep until we find a match.\n var depth = depthA;\n while (depth--) {\n if (instA === instB) {\n return instA;\n }\n instA = instA._hostParent;\n instB = instB._hostParent;\n }\n return null;\n}\n\n/**\n * Return if A is an ancestor of B.\n */\nfunction isAncestor(instA, instB) {\n !('_hostNode' in instA) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'isAncestor: Invalid argument.') : _prodInvariant('35') : void 0;\n !('_hostNode' in instB) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'isAncestor: Invalid argument.') : _prodInvariant('35') : void 0;\n\n while (instB) {\n if (instB === instA) {\n return true;\n }\n instB = instB._hostParent;\n }\n return false;\n}\n\n/**\n * Return the parent instance of the passed-in instance.\n */\nfunction getParentInstance(inst) {\n !('_hostNode' in inst) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'getParentInstance: Invalid argument.') : _prodInvariant('36') : void 0;\n\n return inst._hostParent;\n}\n\n/**\n * Simulates the traversal of a two-phase, capture/bubble event dispatch.\n */\nfunction traverseTwoPhase(inst, fn, arg) {\n var path = [];\n while (inst) {\n path.push(inst);\n inst = inst._hostParent;\n }\n var i;\n for (i = path.length; i-- > 0;) {\n fn(path[i], false, arg);\n }\n for (i = 0; i < path.length; i++) {\n fn(path[i], true, arg);\n }\n}\n\n/**\n * Traverses the ID hierarchy and invokes the supplied `cb` on any IDs that\n * should would receive a `mouseEnter` or `mouseLeave` event.\n *\n * Does not invoke the callback on the nearest common ancestor because nothing\n * \"entered\" or \"left\" that element.\n */\nfunction traverseEnterLeave(from, to, fn, argFrom, argTo) {\n var common = from && to ? getLowestCommonAncestor(from, to) : null;\n var pathFrom = [];\n while (from && from !== common) {\n pathFrom.push(from);\n from = from._hostParent;\n }\n var pathTo = [];\n while (to && to !== common) {\n pathTo.push(to);\n to = to._hostParent;\n }\n var i;\n for (i = 0; i < pathFrom.length; i++) {\n fn(pathFrom[i], true, argFrom);\n }\n for (i = pathTo.length; i-- > 0;) {\n fn(pathTo[i], false, argTo);\n }\n}\n\nmodule.exports = {\n isAncestor: isAncestor,\n getLowestCommonAncestor: getLowestCommonAncestor,\n getParentInstance: getParentInstance,\n traverseTwoPhase: traverseTwoPhase,\n traverseEnterLeave: traverseEnterLeave\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react/lib/ReactDOMTreeTraversal.js\n ** module id = 617\n ** module chunks = 0\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule ReactDefaultBatchingStrategy\n */\n\n'use strict';\n\nvar _assign = require('object-assign');\n\nvar ReactUpdates = require('./ReactUpdates');\nvar Transaction = require('./Transaction');\n\nvar emptyFunction = require('fbjs/lib/emptyFunction');\n\nvar RESET_BATCHED_UPDATES = {\n initialize: emptyFunction,\n close: function () {\n ReactDefaultBatchingStrategy.isBatchingUpdates = false;\n }\n};\n\nvar FLUSH_BATCHED_UPDATES = {\n initialize: emptyFunction,\n close: ReactUpdates.flushBatchedUpdates.bind(ReactUpdates)\n};\n\nvar TRANSACTION_WRAPPERS = [FLUSH_BATCHED_UPDATES, RESET_BATCHED_UPDATES];\n\nfunction ReactDefaultBatchingStrategyTransaction() {\n this.reinitializeTransaction();\n}\n\n_assign(ReactDefaultBatchingStrategyTransaction.prototype, Transaction.Mixin, {\n getTransactionWrappers: function () {\n return TRANSACTION_WRAPPERS;\n }\n});\n\nvar transaction = new ReactDefaultBatchingStrategyTransaction();\n\nvar ReactDefaultBatchingStrategy = {\n isBatchingUpdates: false,\n\n /**\n * Call the provided function in a context within which calls to `setState`\n * and friends are batched such that components aren't updated unnecessarily.\n */\n batchedUpdates: function (callback, a, b, c, d, e) {\n var alreadyBatchingUpdates = ReactDefaultBatchingStrategy.isBatchingUpdates;\n\n ReactDefaultBatchingStrategy.isBatchingUpdates = true;\n\n // The code is written this way to avoid extra allocations\n if (alreadyBatchingUpdates) {\n callback(a, b, c, d, e);\n } else {\n transaction.perform(callback, null, a, b, c, d, e);\n }\n }\n};\n\nmodule.exports = ReactDefaultBatchingStrategy;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react/lib/ReactDefaultBatchingStrategy.js\n ** module id = 618\n ** module chunks = 0\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule ReactDefaultInjection\n */\n\n'use strict';\n\nvar BeforeInputEventPlugin = require('./BeforeInputEventPlugin');\nvar ChangeEventPlugin = require('./ChangeEventPlugin');\nvar DefaultEventPluginOrder = require('./DefaultEventPluginOrder');\nvar EnterLeaveEventPlugin = require('./EnterLeaveEventPlugin');\nvar HTMLDOMPropertyConfig = require('./HTMLDOMPropertyConfig');\nvar ReactComponentBrowserEnvironment = require('./ReactComponentBrowserEnvironment');\nvar ReactDOMComponent = require('./ReactDOMComponent');\nvar ReactDOMComponentTree = require('./ReactDOMComponentTree');\nvar ReactDOMEmptyComponent = require('./ReactDOMEmptyComponent');\nvar ReactDOMTreeTraversal = require('./ReactDOMTreeTraversal');\nvar ReactDOMTextComponent = require('./ReactDOMTextComponent');\nvar ReactDefaultBatchingStrategy = require('./ReactDefaultBatchingStrategy');\nvar ReactEventListener = require('./ReactEventListener');\nvar ReactInjection = require('./ReactInjection');\nvar ReactReconcileTransaction = require('./ReactReconcileTransaction');\nvar SVGDOMPropertyConfig = require('./SVGDOMPropertyConfig');\nvar SelectEventPlugin = require('./SelectEventPlugin');\nvar SimpleEventPlugin = require('./SimpleEventPlugin');\n\nvar alreadyInjected = false;\n\nfunction inject() {\n if (alreadyInjected) {\n // TODO: This is currently true because these injections are shared between\n // the client and the server package. They should be built independently\n // and not share any injection state. Then this problem will be solved.\n return;\n }\n alreadyInjected = true;\n\n ReactInjection.EventEmitter.injectReactEventListener(ReactEventListener);\n\n /**\n * Inject modules for resolving DOM hierarchy and plugin ordering.\n */\n ReactInjection.EventPluginHub.injectEventPluginOrder(DefaultEventPluginOrder);\n ReactInjection.EventPluginUtils.injectComponentTree(ReactDOMComponentTree);\n ReactInjection.EventPluginUtils.injectTreeTraversal(ReactDOMTreeTraversal);\n\n /**\n * Some important event plugins included by default (without having to require\n * them).\n */\n ReactInjection.EventPluginHub.injectEventPluginsByName({\n SimpleEventPlugin: SimpleEventPlugin,\n EnterLeaveEventPlugin: EnterLeaveEventPlugin,\n ChangeEventPlugin: ChangeEventPlugin,\n SelectEventPlugin: SelectEventPlugin,\n BeforeInputEventPlugin: BeforeInputEventPlugin\n });\n\n ReactInjection.HostComponent.injectGenericComponentClass(ReactDOMComponent);\n\n ReactInjection.HostComponent.injectTextComponentClass(ReactDOMTextComponent);\n\n ReactInjection.DOMProperty.injectDOMPropertyConfig(HTMLDOMPropertyConfig);\n ReactInjection.DOMProperty.injectDOMPropertyConfig(SVGDOMPropertyConfig);\n\n ReactInjection.EmptyComponent.injectEmptyComponentFactory(function (instantiate) {\n return new ReactDOMEmptyComponent(instantiate);\n });\n\n ReactInjection.Updates.injectReconcileTransaction(ReactReconcileTransaction);\n ReactInjection.Updates.injectBatchingStrategy(ReactDefaultBatchingStrategy);\n\n ReactInjection.Component.injectEnvironment(ReactComponentBrowserEnvironment);\n}\n\nmodule.exports = {\n inject: inject\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react/lib/ReactDefaultInjection.js\n ** module id = 619\n ** module chunks = 0\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule ReactEventEmitterMixin\n */\n\n'use strict';\n\nvar EventPluginHub = require('./EventPluginHub');\n\nfunction runEventQueueInBatch(events) {\n EventPluginHub.enqueueEvents(events);\n EventPluginHub.processEventQueue(false);\n}\n\nvar ReactEventEmitterMixin = {\n\n /**\n * Streams a fired top-level event to `EventPluginHub` where plugins have the\n * opportunity to create `ReactEvent`s to be dispatched.\n */\n handleTopLevel: function (topLevelType, targetInst, nativeEvent, nativeEventTarget) {\n var events = EventPluginHub.extractEvents(topLevelType, targetInst, nativeEvent, nativeEventTarget);\n runEventQueueInBatch(events);\n }\n};\n\nmodule.exports = ReactEventEmitterMixin;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react/lib/ReactEventEmitterMixin.js\n ** module id = 620\n ** module chunks = 0\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule ReactEventListener\n */\n\n'use strict';\n\nvar _assign = require('object-assign');\n\nvar EventListener = require('fbjs/lib/EventListener');\nvar ExecutionEnvironment = require('fbjs/lib/ExecutionEnvironment');\nvar PooledClass = require('./PooledClass');\nvar ReactDOMComponentTree = require('./ReactDOMComponentTree');\nvar ReactUpdates = require('./ReactUpdates');\n\nvar getEventTarget = require('./getEventTarget');\nvar getUnboundedScrollPosition = require('fbjs/lib/getUnboundedScrollPosition');\n\n/**\n * Find the deepest React component completely containing the root of the\n * passed-in instance (for use when entire React trees are nested within each\n * other). If React trees are not nested, returns null.\n */\nfunction findParent(inst) {\n // TODO: It may be a good idea to cache this to prevent unnecessary DOM\n // traversal, but caching is difficult to do correctly without using a\n // mutation observer to listen for all DOM changes.\n while (inst._hostParent) {\n inst = inst._hostParent;\n }\n var rootNode = ReactDOMComponentTree.getNodeFromInstance(inst);\n var container = rootNode.parentNode;\n return ReactDOMComponentTree.getClosestInstanceFromNode(container);\n}\n\n// Used to store ancestor hierarchy in top level callback\nfunction TopLevelCallbackBookKeeping(topLevelType, nativeEvent) {\n this.topLevelType = topLevelType;\n this.nativeEvent = nativeEvent;\n this.ancestors = [];\n}\n_assign(TopLevelCallbackBookKeeping.prototype, {\n destructor: function () {\n this.topLevelType = null;\n this.nativeEvent = null;\n this.ancestors.length = 0;\n }\n});\nPooledClass.addPoolingTo(TopLevelCallbackBookKeeping, PooledClass.twoArgumentPooler);\n\nfunction handleTopLevelImpl(bookKeeping) {\n var nativeEventTarget = getEventTarget(bookKeeping.nativeEvent);\n var targetInst = ReactDOMComponentTree.getClosestInstanceFromNode(nativeEventTarget);\n\n // Loop through the hierarchy, in case there's any nested components.\n // It's important that we build the array of ancestors before calling any\n // event handlers, because event handlers can modify the DOM, leading to\n // inconsistencies with ReactMount's node cache. See #1105.\n var ancestor = targetInst;\n do {\n bookKeeping.ancestors.push(ancestor);\n ancestor = ancestor && findParent(ancestor);\n } while (ancestor);\n\n for (var i = 0; i < bookKeeping.ancestors.length; i++) {\n targetInst = bookKeeping.ancestors[i];\n ReactEventListener._handleTopLevel(bookKeeping.topLevelType, targetInst, bookKeeping.nativeEvent, getEventTarget(bookKeeping.nativeEvent));\n }\n}\n\nfunction scrollValueMonitor(cb) {\n var scrollPosition = getUnboundedScrollPosition(window);\n cb(scrollPosition);\n}\n\nvar ReactEventListener = {\n _enabled: true,\n _handleTopLevel: null,\n\n WINDOW_HANDLE: ExecutionEnvironment.canUseDOM ? window : null,\n\n setHandleTopLevel: function (handleTopLevel) {\n ReactEventListener._handleTopLevel = handleTopLevel;\n },\n\n setEnabled: function (enabled) {\n ReactEventListener._enabled = !!enabled;\n },\n\n isEnabled: function () {\n return ReactEventListener._enabled;\n },\n\n /**\n * Traps top-level events by using event bubbling.\n *\n * @param {string} topLevelType Record from `EventConstants`.\n * @param {string} handlerBaseName Event name (e.g. \"click\").\n * @param {object} handle Element on which to attach listener.\n * @return {?object} An object with a remove function which will forcefully\n * remove the listener.\n * @internal\n */\n trapBubbledEvent: function (topLevelType, handlerBaseName, handle) {\n var element = handle;\n if (!element) {\n return null;\n }\n return EventListener.listen(element, handlerBaseName, ReactEventListener.dispatchEvent.bind(null, topLevelType));\n },\n\n /**\n * Traps a top-level event by using event capturing.\n *\n * @param {string} topLevelType Record from `EventConstants`.\n * @param {string} handlerBaseName Event name (e.g. \"click\").\n * @param {object} handle Element on which to attach listener.\n * @return {?object} An object with a remove function which will forcefully\n * remove the listener.\n * @internal\n */\n trapCapturedEvent: function (topLevelType, handlerBaseName, handle) {\n var element = handle;\n if (!element) {\n return null;\n }\n return EventListener.capture(element, handlerBaseName, ReactEventListener.dispatchEvent.bind(null, topLevelType));\n },\n\n monitorScrollValue: function (refresh) {\n var callback = scrollValueMonitor.bind(null, refresh);\n EventListener.listen(window, 'scroll', callback);\n },\n\n dispatchEvent: function (topLevelType, nativeEvent) {\n if (!ReactEventListener._enabled) {\n return;\n }\n\n var bookKeeping = TopLevelCallbackBookKeeping.getPooled(topLevelType, nativeEvent);\n try {\n // Event queue being processed in the same cycle allows\n // `preventDefault`.\n ReactUpdates.batchedUpdates(handleTopLevelImpl, bookKeeping);\n } finally {\n TopLevelCallbackBookKeeping.release(bookKeeping);\n }\n }\n};\n\nmodule.exports = ReactEventListener;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react/lib/ReactEventListener.js\n ** module id = 621\n ** module chunks = 0\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule ReactInjection\n */\n\n'use strict';\n\nvar DOMProperty = require('./DOMProperty');\nvar EventPluginHub = require('./EventPluginHub');\nvar EventPluginUtils = require('./EventPluginUtils');\nvar ReactComponentEnvironment = require('./ReactComponentEnvironment');\nvar ReactClass = require('./ReactClass');\nvar ReactEmptyComponent = require('./ReactEmptyComponent');\nvar ReactBrowserEventEmitter = require('./ReactBrowserEventEmitter');\nvar ReactHostComponent = require('./ReactHostComponent');\nvar ReactUpdates = require('./ReactUpdates');\n\nvar ReactInjection = {\n Component: ReactComponentEnvironment.injection,\n Class: ReactClass.injection,\n DOMProperty: DOMProperty.injection,\n EmptyComponent: ReactEmptyComponent.injection,\n EventPluginHub: EventPluginHub.injection,\n EventPluginUtils: EventPluginUtils.injection,\n EventEmitter: ReactBrowserEventEmitter.injection,\n HostComponent: ReactHostComponent.injection,\n Updates: ReactUpdates.injection\n};\n\nmodule.exports = ReactInjection;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react/lib/ReactInjection.js\n ** module id = 622\n ** module chunks = 0\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule ReactMarkupChecksum\n */\n\n'use strict';\n\nvar adler32 = require('./adler32');\n\nvar TAG_END = /\\/?>/;\nvar COMMENT_START = /^<\\!\\-\\-/;\n\nvar ReactMarkupChecksum = {\n CHECKSUM_ATTR_NAME: 'data-react-checksum',\n\n /**\n * @param {string} markup Markup string\n * @return {string} Markup string with checksum attribute attached\n */\n addChecksumToMarkup: function (markup) {\n var checksum = adler32(markup);\n\n // Add checksum (handle both parent tags, comments and self-closing tags)\n if (COMMENT_START.test(markup)) {\n return markup;\n } else {\n return markup.replace(TAG_END, ' ' + ReactMarkupChecksum.CHECKSUM_ATTR_NAME + '=\"' + checksum + '\"$&');\n }\n },\n\n /**\n * @param {string} markup to use\n * @param {DOMElement} element root React element\n * @returns {boolean} whether or not the markup is the same\n */\n canReuseMarkup: function (markup, element) {\n var existingChecksum = element.getAttribute(ReactMarkupChecksum.CHECKSUM_ATTR_NAME);\n existingChecksum = existingChecksum && parseInt(existingChecksum, 10);\n var markupChecksum = adler32(markup);\n return markupChecksum === existingChecksum;\n }\n};\n\nmodule.exports = ReactMarkupChecksum;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react/lib/ReactMarkupChecksum.js\n ** module id = 623\n ** module chunks = 0\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule ReactMultiChild\n */\n\n'use strict';\n\nvar _prodInvariant = require('./reactProdInvariant');\n\nvar ReactComponentEnvironment = require('./ReactComponentEnvironment');\nvar ReactInstanceMap = require('./ReactInstanceMap');\nvar ReactInstrumentation = require('./ReactInstrumentation');\nvar ReactMultiChildUpdateTypes = require('./ReactMultiChildUpdateTypes');\n\nvar ReactCurrentOwner = require('./ReactCurrentOwner');\nvar ReactReconciler = require('./ReactReconciler');\nvar ReactChildReconciler = require('./ReactChildReconciler');\n\nvar emptyFunction = require('fbjs/lib/emptyFunction');\nvar flattenChildren = require('./flattenChildren');\nvar invariant = require('fbjs/lib/invariant');\n\n/**\n * Make an update for markup to be rendered and inserted at a supplied index.\n *\n * @param {string} markup Markup that renders into an element.\n * @param {number} toIndex Destination index.\n * @private\n */\nfunction makeInsertMarkup(markup, afterNode, toIndex) {\n // NOTE: Null values reduce hidden classes.\n return {\n type: ReactMultiChildUpdateTypes.INSERT_MARKUP,\n content: markup,\n fromIndex: null,\n fromNode: null,\n toIndex: toIndex,\n afterNode: afterNode\n };\n}\n\n/**\n * Make an update for moving an existing element to another index.\n *\n * @param {number} fromIndex Source index of the existing element.\n * @param {number} toIndex Destination index of the element.\n * @private\n */\nfunction makeMove(child, afterNode, toIndex) {\n // NOTE: Null values reduce hidden classes.\n return {\n type: ReactMultiChildUpdateTypes.MOVE_EXISTING,\n content: null,\n fromIndex: child._mountIndex,\n fromNode: ReactReconciler.getHostNode(child),\n toIndex: toIndex,\n afterNode: afterNode\n };\n}\n\n/**\n * Make an update for removing an element at an index.\n *\n * @param {number} fromIndex Index of the element to remove.\n * @private\n */\nfunction makeRemove(child, node) {\n // NOTE: Null values reduce hidden classes.\n return {\n type: ReactMultiChildUpdateTypes.REMOVE_NODE,\n content: null,\n fromIndex: child._mountIndex,\n fromNode: node,\n toIndex: null,\n afterNode: null\n };\n}\n\n/**\n * Make an update for setting the markup of a node.\n *\n * @param {string} markup Markup that renders into an element.\n * @private\n */\nfunction makeSetMarkup(markup) {\n // NOTE: Null values reduce hidden classes.\n return {\n type: ReactMultiChildUpdateTypes.SET_MARKUP,\n content: markup,\n fromIndex: null,\n fromNode: null,\n toIndex: null,\n afterNode: null\n };\n}\n\n/**\n * Make an update for setting the text content.\n *\n * @param {string} textContent Text content to set.\n * @private\n */\nfunction makeTextContent(textContent) {\n // NOTE: Null values reduce hidden classes.\n return {\n type: ReactMultiChildUpdateTypes.TEXT_CONTENT,\n content: textContent,\n fromIndex: null,\n fromNode: null,\n toIndex: null,\n afterNode: null\n };\n}\n\n/**\n * Push an update, if any, onto the queue. Creates a new queue if none is\n * passed and always returns the queue. Mutative.\n */\nfunction enqueue(queue, update) {\n if (update) {\n queue = queue || [];\n queue.push(update);\n }\n return queue;\n}\n\n/**\n * Processes any enqueued updates.\n *\n * @private\n */\nfunction processQueue(inst, updateQueue) {\n ReactComponentEnvironment.processChildrenUpdates(inst, updateQueue);\n}\n\nvar setChildrenForInstrumentation = emptyFunction;\nif (process.env.NODE_ENV !== 'production') {\n var getDebugID = function (inst) {\n if (!inst._debugID) {\n // Check for ART-like instances. TODO: This is silly/gross.\n var internal;\n if (internal = ReactInstanceMap.get(inst)) {\n inst = internal;\n }\n }\n return inst._debugID;\n };\n setChildrenForInstrumentation = function (children) {\n var debugID = getDebugID(this);\n // TODO: React Native empty components are also multichild.\n // This means they still get into this method but don't have _debugID.\n if (debugID !== 0) {\n ReactInstrumentation.debugTool.onSetChildren(debugID, children ? Object.keys(children).map(function (key) {\n return children[key]._debugID;\n }) : []);\n }\n };\n}\n\n/**\n * ReactMultiChild are capable of reconciling multiple children.\n *\n * @class ReactMultiChild\n * @internal\n */\nvar ReactMultiChild = {\n\n /**\n * Provides common functionality for components that must reconcile multiple\n * children. This is used by `ReactDOMComponent` to mount, update, and\n * unmount child components.\n *\n * @lends {ReactMultiChild.prototype}\n */\n Mixin: {\n\n _reconcilerInstantiateChildren: function (nestedChildren, transaction, context) {\n if (process.env.NODE_ENV !== 'production') {\n var selfDebugID = getDebugID(this);\n if (this._currentElement) {\n try {\n ReactCurrentOwner.current = this._currentElement._owner;\n return ReactChildReconciler.instantiateChildren(nestedChildren, transaction, context, selfDebugID);\n } finally {\n ReactCurrentOwner.current = null;\n }\n }\n }\n return ReactChildReconciler.instantiateChildren(nestedChildren, transaction, context);\n },\n\n _reconcilerUpdateChildren: function (prevChildren, nextNestedChildrenElements, mountImages, removedNodes, transaction, context) {\n var nextChildren;\n var selfDebugID = 0;\n if (process.env.NODE_ENV !== 'production') {\n selfDebugID = getDebugID(this);\n if (this._currentElement) {\n try {\n ReactCurrentOwner.current = this._currentElement._owner;\n nextChildren = flattenChildren(nextNestedChildrenElements, selfDebugID);\n } finally {\n ReactCurrentOwner.current = null;\n }\n ReactChildReconciler.updateChildren(prevChildren, nextChildren, mountImages, removedNodes, transaction, this, this._hostContainerInfo, context, selfDebugID);\n return nextChildren;\n }\n }\n nextChildren = flattenChildren(nextNestedChildrenElements, selfDebugID);\n ReactChildReconciler.updateChildren(prevChildren, nextChildren, mountImages, removedNodes, transaction, this, this._hostContainerInfo, context, selfDebugID);\n return nextChildren;\n },\n\n /**\n * Generates a \"mount image\" for each of the supplied children. In the case\n * of `ReactDOMComponent`, a mount image is a string of markup.\n *\n * @param {?object} nestedChildren Nested child maps.\n * @return {array} An array of mounted representations.\n * @internal\n */\n mountChildren: function (nestedChildren, transaction, context) {\n var children = this._reconcilerInstantiateChildren(nestedChildren, transaction, context);\n this._renderedChildren = children;\n\n var mountImages = [];\n var index = 0;\n for (var name in children) {\n if (children.hasOwnProperty(name)) {\n var child = children[name];\n var selfDebugID = 0;\n if (process.env.NODE_ENV !== 'production') {\n selfDebugID = getDebugID(this);\n }\n var mountImage = ReactReconciler.mountComponent(child, transaction, this, this._hostContainerInfo, context, selfDebugID);\n child._mountIndex = index++;\n mountImages.push(mountImage);\n }\n }\n\n if (process.env.NODE_ENV !== 'production') {\n setChildrenForInstrumentation.call(this, children);\n }\n\n return mountImages;\n },\n\n /**\n * Replaces any rendered children with a text content string.\n *\n * @param {string} nextContent String of content.\n * @internal\n */\n updateTextContent: function (nextContent) {\n var prevChildren = this._renderedChildren;\n // Remove any rendered children.\n ReactChildReconciler.unmountChildren(prevChildren, false);\n for (var name in prevChildren) {\n if (prevChildren.hasOwnProperty(name)) {\n !false ? process.env.NODE_ENV !== 'production' ? invariant(false, 'updateTextContent called on non-empty component.') : _prodInvariant('118') : void 0;\n }\n }\n // Set new text content.\n var updates = [makeTextContent(nextContent)];\n processQueue(this, updates);\n },\n\n /**\n * Replaces any rendered children with a markup string.\n *\n * @param {string} nextMarkup String of markup.\n * @internal\n */\n updateMarkup: function (nextMarkup) {\n var prevChildren = this._renderedChildren;\n // Remove any rendered children.\n ReactChildReconciler.unmountChildren(prevChildren, false);\n for (var name in prevChildren) {\n if (prevChildren.hasOwnProperty(name)) {\n !false ? process.env.NODE_ENV !== 'production' ? invariant(false, 'updateTextContent called on non-empty component.') : _prodInvariant('118') : void 0;\n }\n }\n var updates = [makeSetMarkup(nextMarkup)];\n processQueue(this, updates);\n },\n\n /**\n * Updates the rendered children with new children.\n *\n * @param {?object} nextNestedChildrenElements Nested child element maps.\n * @param {ReactReconcileTransaction} transaction\n * @internal\n */\n updateChildren: function (nextNestedChildrenElements, transaction, context) {\n // Hook used by React ART\n this._updateChildren(nextNestedChildrenElements, transaction, context);\n },\n\n /**\n * @param {?object} nextNestedChildrenElements Nested child element maps.\n * @param {ReactReconcileTransaction} transaction\n * @final\n * @protected\n */\n _updateChildren: function (nextNestedChildrenElements, transaction, context) {\n var prevChildren = this._renderedChildren;\n var removedNodes = {};\n var mountImages = [];\n var nextChildren = this._reconcilerUpdateChildren(prevChildren, nextNestedChildrenElements, mountImages, removedNodes, transaction, context);\n if (!nextChildren && !prevChildren) {\n return;\n }\n var updates = null;\n var name;\n // `nextIndex` will increment for each child in `nextChildren`, but\n // `lastIndex` will be the last index visited in `prevChildren`.\n var nextIndex = 0;\n var lastIndex = 0;\n // `nextMountIndex` will increment for each newly mounted child.\n var nextMountIndex = 0;\n var lastPlacedNode = null;\n for (name in nextChildren) {\n if (!nextChildren.hasOwnProperty(name)) {\n continue;\n }\n var prevChild = prevChildren && prevChildren[name];\n var nextChild = nextChildren[name];\n if (prevChild === nextChild) {\n updates = enqueue(updates, this.moveChild(prevChild, lastPlacedNode, nextIndex, lastIndex));\n lastIndex = Math.max(prevChild._mountIndex, lastIndex);\n prevChild._mountIndex = nextIndex;\n } else {\n if (prevChild) {\n // Update `lastIndex` before `_mountIndex` gets unset by unmounting.\n lastIndex = Math.max(prevChild._mountIndex, lastIndex);\n // The `removedNodes` loop below will actually remove the child.\n }\n // The child must be instantiated before it's mounted.\n updates = enqueue(updates, this._mountChildAtIndex(nextChild, mountImages[nextMountIndex], lastPlacedNode, nextIndex, transaction, context));\n nextMountIndex++;\n }\n nextIndex++;\n lastPlacedNode = ReactReconciler.getHostNode(nextChild);\n }\n // Remove children that are no longer present.\n for (name in removedNodes) {\n if (removedNodes.hasOwnProperty(name)) {\n updates = enqueue(updates, this._unmountChild(prevChildren[name], removedNodes[name]));\n }\n }\n if (updates) {\n processQueue(this, updates);\n }\n this._renderedChildren = nextChildren;\n\n if (process.env.NODE_ENV !== 'production') {\n setChildrenForInstrumentation.call(this, nextChildren);\n }\n },\n\n /**\n * Unmounts all rendered children. This should be used to clean up children\n * when this component is unmounted. It does not actually perform any\n * backend operations.\n *\n * @internal\n */\n unmountChildren: function (safely) {\n var renderedChildren = this._renderedChildren;\n ReactChildReconciler.unmountChildren(renderedChildren, safely);\n this._renderedChildren = null;\n },\n\n /**\n * Moves a child component to the supplied index.\n *\n * @param {ReactComponent} child Component to move.\n * @param {number} toIndex Destination index of the element.\n * @param {number} lastIndex Last index visited of the siblings of `child`.\n * @protected\n */\n moveChild: function (child, afterNode, toIndex, lastIndex) {\n // If the index of `child` is less than `lastIndex`, then it needs to\n // be moved. Otherwise, we do not need to move it because a child will be\n // inserted or moved before `child`.\n if (child._mountIndex < lastIndex) {\n return makeMove(child, afterNode, toIndex);\n }\n },\n\n /**\n * Creates a child component.\n *\n * @param {ReactComponent} child Component to create.\n * @param {string} mountImage Markup to insert.\n * @protected\n */\n createChild: function (child, afterNode, mountImage) {\n return makeInsertMarkup(mountImage, afterNode, child._mountIndex);\n },\n\n /**\n * Removes a child component.\n *\n * @param {ReactComponent} child Child to remove.\n * @protected\n */\n removeChild: function (child, node) {\n return makeRemove(child, node);\n },\n\n /**\n * Mounts a child with the supplied name.\n *\n * NOTE: This is part of `updateChildren` and is here for readability.\n *\n * @param {ReactComponent} child Component to mount.\n * @param {string} name Name of the child.\n * @param {number} index Index at which to insert the child.\n * @param {ReactReconcileTransaction} transaction\n * @private\n */\n _mountChildAtIndex: function (child, mountImage, afterNode, index, transaction, context) {\n child._mountIndex = index;\n return this.createChild(child, afterNode, mountImage);\n },\n\n /**\n * Unmounts a rendered child.\n *\n * NOTE: This is part of `updateChildren` and is here for readability.\n *\n * @param {ReactComponent} child Component to unmount.\n * @private\n */\n _unmountChild: function (child, node) {\n var update = this.removeChild(child, node);\n child._mountIndex = null;\n return update;\n }\n\n }\n\n};\n\nmodule.exports = ReactMultiChild;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react/lib/ReactMultiChild.js\n ** module id = 624\n ** module chunks = 0\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule ReactOwner\n */\n\n'use strict';\n\nvar _prodInvariant = require('./reactProdInvariant');\n\nvar invariant = require('fbjs/lib/invariant');\n\n/**\n * ReactOwners are capable of storing references to owned components.\n *\n * All components are capable of //being// referenced by owner components, but\n * only ReactOwner components are capable of //referencing// owned components.\n * The named reference is known as a \"ref\".\n *\n * Refs are available when mounted and updated during reconciliation.\n *\n * var MyComponent = React.createClass({\n * render: function() {\n * return (\n * <div onClick={this.handleClick}>\n * <CustomComponent ref=\"custom\" />\n * </div>\n * );\n * },\n * handleClick: function() {\n * this.refs.custom.handleClick();\n * },\n * componentDidMount: function() {\n * this.refs.custom.initialize();\n * }\n * });\n *\n * Refs should rarely be used. When refs are used, they should only be done to\n * control data that is not handled by React's data flow.\n *\n * @class ReactOwner\n */\nvar ReactOwner = {\n\n /**\n * @param {?object} object\n * @return {boolean} True if `object` is a valid owner.\n * @final\n */\n isValidOwner: function (object) {\n return !!(object && typeof object.attachRef === 'function' && typeof object.detachRef === 'function');\n },\n\n /**\n * Adds a component by ref to an owner component.\n *\n * @param {ReactComponent} component Component to reference.\n * @param {string} ref Name by which to refer to the component.\n * @param {ReactOwner} owner Component on which to record the ref.\n * @final\n * @internal\n */\n addComponentAsRefTo: function (component, ref, owner) {\n !ReactOwner.isValidOwner(owner) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'addComponentAsRefTo(...): Only a ReactOwner can have refs. You might be adding a ref to a component that was not created inside a component\\'s `render` method, or you have multiple copies of React loaded (details: https://fb.me/react-refs-must-have-owner).') : _prodInvariant('119') : void 0;\n owner.attachRef(ref, component);\n },\n\n /**\n * Removes a component by ref from an owner component.\n *\n * @param {ReactComponent} component Component to dereference.\n * @param {string} ref Name of the ref to remove.\n * @param {ReactOwner} owner Component on which the ref is recorded.\n * @final\n * @internal\n */\n removeComponentAsRefFrom: function (component, ref, owner) {\n !ReactOwner.isValidOwner(owner) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'removeComponentAsRefFrom(...): Only a ReactOwner can have refs. You might be removing a ref to a component that was not created inside a component\\'s `render` method, or you have multiple copies of React loaded (details: https://fb.me/react-refs-must-have-owner).') : _prodInvariant('120') : void 0;\n var ownerPublicInstance = owner.getPublicInstance();\n // Check that `component`'s owner is still alive and that `component` is still the current ref\n // because we do not want to detach the ref if another component stole it.\n if (ownerPublicInstance && ownerPublicInstance.refs[ref] === component.getPublicInstance()) {\n owner.detachRef(ref);\n }\n }\n\n};\n\nmodule.exports = ReactOwner;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react/lib/ReactOwner.js\n ** module id = 625\n ** module chunks = 0\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule ReactPureComponent\n */\n\n'use strict';\n\nvar _assign = require('object-assign');\n\nvar ReactComponent = require('./ReactComponent');\nvar ReactNoopUpdateQueue = require('./ReactNoopUpdateQueue');\n\nvar emptyObject = require('fbjs/lib/emptyObject');\n\n/**\n * Base class helpers for the updating state of a component.\n */\nfunction ReactPureComponent(props, context, updater) {\n // Duplicated from ReactComponent.\n this.props = props;\n this.context = context;\n this.refs = emptyObject;\n // We initialize the default updater but the real one gets injected by the\n // renderer.\n this.updater = updater || ReactNoopUpdateQueue;\n}\n\nfunction ComponentDummy() {}\nComponentDummy.prototype = ReactComponent.prototype;\nReactPureComponent.prototype = new ComponentDummy();\nReactPureComponent.prototype.constructor = ReactPureComponent;\n// Avoid an extra prototype jump for these methods.\n_assign(ReactPureComponent.prototype, ReactComponent.prototype);\nReactPureComponent.prototype.isPureReactComponent = true;\n\nmodule.exports = ReactPureComponent;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react/lib/ReactPureComponent.js\n ** module id = 626\n ** module chunks = 0\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule ReactReconcileTransaction\n */\n\n'use strict';\n\nvar _assign = require('object-assign');\n\nvar CallbackQueue = require('./CallbackQueue');\nvar PooledClass = require('./PooledClass');\nvar ReactBrowserEventEmitter = require('./ReactBrowserEventEmitter');\nvar ReactInputSelection = require('./ReactInputSelection');\nvar ReactInstrumentation = require('./ReactInstrumentation');\nvar Transaction = require('./Transaction');\nvar ReactUpdateQueue = require('./ReactUpdateQueue');\n\n/**\n * Ensures that, when possible, the selection range (currently selected text\n * input) is not disturbed by performing the transaction.\n */\nvar SELECTION_RESTORATION = {\n /**\n * @return {Selection} Selection information.\n */\n initialize: ReactInputSelection.getSelectionInformation,\n /**\n * @param {Selection} sel Selection information returned from `initialize`.\n */\n close: ReactInputSelection.restoreSelection\n};\n\n/**\n * Suppresses events (blur/focus) that could be inadvertently dispatched due to\n * high level DOM manipulations (like temporarily removing a text input from the\n * DOM).\n */\nvar EVENT_SUPPRESSION = {\n /**\n * @return {boolean} The enabled status of `ReactBrowserEventEmitter` before\n * the reconciliation.\n */\n initialize: function () {\n var currentlyEnabled = ReactBrowserEventEmitter.isEnabled();\n ReactBrowserEventEmitter.setEnabled(false);\n return currentlyEnabled;\n },\n\n /**\n * @param {boolean} previouslyEnabled Enabled status of\n * `ReactBrowserEventEmitter` before the reconciliation occurred. `close`\n * restores the previous value.\n */\n close: function (previouslyEnabled) {\n ReactBrowserEventEmitter.setEnabled(previouslyEnabled);\n }\n};\n\n/**\n * Provides a queue for collecting `componentDidMount` and\n * `componentDidUpdate` callbacks during the transaction.\n */\nvar ON_DOM_READY_QUEUEING = {\n /**\n * Initializes the internal `onDOMReady` queue.\n */\n initialize: function () {\n this.reactMountReady.reset();\n },\n\n /**\n * After DOM is flushed, invoke all registered `onDOMReady` callbacks.\n */\n close: function () {\n this.reactMountReady.notifyAll();\n }\n};\n\n/**\n * Executed within the scope of the `Transaction` instance. Consider these as\n * being member methods, but with an implied ordering while being isolated from\n * each other.\n */\nvar TRANSACTION_WRAPPERS = [SELECTION_RESTORATION, EVENT_SUPPRESSION, ON_DOM_READY_QUEUEING];\n\nif (process.env.NODE_ENV !== 'production') {\n TRANSACTION_WRAPPERS.push({\n initialize: ReactInstrumentation.debugTool.onBeginFlush,\n close: ReactInstrumentation.debugTool.onEndFlush\n });\n}\n\n/**\n * Currently:\n * - The order that these are listed in the transaction is critical:\n * - Suppresses events.\n * - Restores selection range.\n *\n * Future:\n * - Restore document/overflow scroll positions that were unintentionally\n * modified via DOM insertions above the top viewport boundary.\n * - Implement/integrate with customized constraint based layout system and keep\n * track of which dimensions must be remeasured.\n *\n * @class ReactReconcileTransaction\n */\nfunction ReactReconcileTransaction(useCreateElement) {\n this.reinitializeTransaction();\n // Only server-side rendering really needs this option (see\n // `ReactServerRendering`), but server-side uses\n // `ReactServerRenderingTransaction` instead. This option is here so that it's\n // accessible and defaults to false when `ReactDOMComponent` and\n // `ReactDOMTextComponent` checks it in `mountComponent`.`\n this.renderToStaticMarkup = false;\n this.reactMountReady = CallbackQueue.getPooled(null);\n this.useCreateElement = useCreateElement;\n}\n\nvar Mixin = {\n /**\n * @see Transaction\n * @abstract\n * @final\n * @return {array<object>} List of operation wrap procedures.\n * TODO: convert to array<TransactionWrapper>\n */\n getTransactionWrappers: function () {\n return TRANSACTION_WRAPPERS;\n },\n\n /**\n * @return {object} The queue to collect `onDOMReady` callbacks with.\n */\n getReactMountReady: function () {\n return this.reactMountReady;\n },\n\n /**\n * @return {object} The queue to collect React async events.\n */\n getUpdateQueue: function () {\n return ReactUpdateQueue;\n },\n\n /**\n * Save current transaction state -- if the return value from this method is\n * passed to `rollback`, the transaction will be reset to that state.\n */\n checkpoint: function () {\n // reactMountReady is the our only stateful wrapper\n return this.reactMountReady.checkpoint();\n },\n\n rollback: function (checkpoint) {\n this.reactMountReady.rollback(checkpoint);\n },\n\n /**\n * `PooledClass` looks for this, and will invoke this before allowing this\n * instance to be reused.\n */\n destructor: function () {\n CallbackQueue.release(this.reactMountReady);\n this.reactMountReady = null;\n }\n};\n\n_assign(ReactReconcileTransaction.prototype, Transaction.Mixin, Mixin);\n\nPooledClass.addPoolingTo(ReactReconcileTransaction);\n\nmodule.exports = ReactReconcileTransaction;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react/lib/ReactReconcileTransaction.js\n ** module id = 627\n ** module chunks = 0\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule ReactRef\n */\n\n'use strict';\n\nvar ReactOwner = require('./ReactOwner');\n\nvar ReactRef = {};\n\nfunction attachRef(ref, component, owner) {\n if (typeof ref === 'function') {\n ref(component.getPublicInstance());\n } else {\n // Legacy ref\n ReactOwner.addComponentAsRefTo(component, ref, owner);\n }\n}\n\nfunction detachRef(ref, component, owner) {\n if (typeof ref === 'function') {\n ref(null);\n } else {\n // Legacy ref\n ReactOwner.removeComponentAsRefFrom(component, ref, owner);\n }\n}\n\nReactRef.attachRefs = function (instance, element) {\n if (element === null || element === false) {\n return;\n }\n var ref = element.ref;\n if (ref != null) {\n attachRef(ref, instance, element._owner);\n }\n};\n\nReactRef.shouldUpdateRefs = function (prevElement, nextElement) {\n // If either the owner or a `ref` has changed, make sure the newest owner\n // has stored a reference to `this`, and the previous owner (if different)\n // has forgotten the reference to `this`. We use the element instead\n // of the public this.props because the post processing cannot determine\n // a ref. The ref conceptually lives on the element.\n\n // TODO: Should this even be possible? The owner cannot change because\n // it's forbidden by shouldUpdateReactComponent. The ref can change\n // if you swap the keys of but not the refs. Reconsider where this check\n // is made. It probably belongs where the key checking and\n // instantiateReactComponent is done.\n\n var prevEmpty = prevElement === null || prevElement === false;\n var nextEmpty = nextElement === null || nextElement === false;\n\n return (\n // This has a few false positives w/r/t empty components.\n prevEmpty || nextEmpty || nextElement.ref !== prevElement.ref ||\n // If owner changes but we have an unchanged function ref, don't update refs\n typeof nextElement.ref === 'string' && nextElement._owner !== prevElement._owner\n );\n};\n\nReactRef.detachRefs = function (instance, element) {\n if (element === null || element === false) {\n return;\n }\n var ref = element.ref;\n if (ref != null) {\n detachRef(ref, instance, element._owner);\n }\n};\n\nmodule.exports = ReactRef;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react/lib/ReactRef.js\n ** module id = 628\n ** module chunks = 0\n **/","/**\n * Copyright 2014-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule ReactServerRenderingTransaction\n */\n\n'use strict';\n\nvar _assign = require('object-assign');\n\nvar PooledClass = require('./PooledClass');\nvar Transaction = require('./Transaction');\nvar ReactInstrumentation = require('./ReactInstrumentation');\nvar ReactServerUpdateQueue = require('./ReactServerUpdateQueue');\n\n/**\n * Executed within the scope of the `Transaction` instance. Consider these as\n * being member methods, but with an implied ordering while being isolated from\n * each other.\n */\nvar TRANSACTION_WRAPPERS = [];\n\nif (process.env.NODE_ENV !== 'production') {\n TRANSACTION_WRAPPERS.push({\n initialize: ReactInstrumentation.debugTool.onBeginFlush,\n close: ReactInstrumentation.debugTool.onEndFlush\n });\n}\n\nvar noopCallbackQueue = {\n enqueue: function () {}\n};\n\n/**\n * @class ReactServerRenderingTransaction\n * @param {boolean} renderToStaticMarkup\n */\nfunction ReactServerRenderingTransaction(renderToStaticMarkup) {\n this.reinitializeTransaction();\n this.renderToStaticMarkup = renderToStaticMarkup;\n this.useCreateElement = false;\n this.updateQueue = new ReactServerUpdateQueue(this);\n}\n\nvar Mixin = {\n /**\n * @see Transaction\n * @abstract\n * @final\n * @return {array} Empty list of operation wrap procedures.\n */\n getTransactionWrappers: function () {\n return TRANSACTION_WRAPPERS;\n },\n\n /**\n * @return {object} The queue to collect `onDOMReady` callbacks with.\n */\n getReactMountReady: function () {\n return noopCallbackQueue;\n },\n\n /**\n * @return {object} The queue to collect React async events.\n */\n getUpdateQueue: function () {\n return this.updateQueue;\n },\n\n /**\n * `PooledClass` looks for this, and will invoke this before allowing this\n * instance to be reused.\n */\n destructor: function () {},\n\n checkpoint: function () {},\n\n rollback: function () {}\n};\n\n_assign(ReactServerRenderingTransaction.prototype, Transaction.Mixin, Mixin);\n\nPooledClass.addPoolingTo(ReactServerRenderingTransaction);\n\nmodule.exports = ReactServerRenderingTransaction;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react/lib/ReactServerRenderingTransaction.js\n ** module id = 629\n ** module chunks = 0\n **/","/**\n * Copyright 2015-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule ReactServerUpdateQueue\n * \n */\n\n'use strict';\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar ReactUpdateQueue = require('./ReactUpdateQueue');\nvar Transaction = require('./Transaction');\nvar warning = require('fbjs/lib/warning');\n\nfunction warnNoop(publicInstance, callerName) {\n if (process.env.NODE_ENV !== 'production') {\n var constructor = publicInstance.constructor;\n process.env.NODE_ENV !== 'production' ? warning(false, '%s(...): Can only update a mounting component. ' + 'This usually means you called %s() outside componentWillMount() on the server. ' + 'This is a no-op. Please check the code for the %s component.', callerName, callerName, constructor && (constructor.displayName || constructor.name) || 'ReactClass') : void 0;\n }\n}\n\n/**\n * This is the update queue used for server rendering.\n * It delegates to ReactUpdateQueue while server rendering is in progress and\n * switches to ReactNoopUpdateQueue after the transaction has completed.\n * @class ReactServerUpdateQueue\n * @param {Transaction} transaction\n */\n\nvar ReactServerUpdateQueue = function () {\n /* :: transaction: Transaction; */\n\n function ReactServerUpdateQueue(transaction) {\n _classCallCheck(this, ReactServerUpdateQueue);\n\n this.transaction = transaction;\n }\n\n /**\n * Checks whether or not this composite component is mounted.\n * @param {ReactClass} publicInstance The instance we want to test.\n * @return {boolean} True if mounted, false otherwise.\n * @protected\n * @final\n */\n\n\n ReactServerUpdateQueue.prototype.isMounted = function isMounted(publicInstance) {\n return false;\n };\n\n /**\n * Enqueue a callback that will be executed after all the pending updates\n * have processed.\n *\n * @param {ReactClass} publicInstance The instance to use as `this` context.\n * @param {?function} callback Called after state is updated.\n * @internal\n */\n\n\n ReactServerUpdateQueue.prototype.enqueueCallback = function enqueueCallback(publicInstance, callback, callerName) {\n if (this.transaction.isInTransaction()) {\n ReactUpdateQueue.enqueueCallback(publicInstance, callback, callerName);\n }\n };\n\n /**\n * Forces an update. This should only be invoked when it is known with\n * certainty that we are **not** in a DOM transaction.\n *\n * You may want to call this when you know that some deeper aspect of the\n * component's state has changed but `setState` was not called.\n *\n * This will not invoke `shouldComponentUpdate`, but it will invoke\n * `componentWillUpdate` and `componentDidUpdate`.\n *\n * @param {ReactClass} publicInstance The instance that should rerender.\n * @internal\n */\n\n\n ReactServerUpdateQueue.prototype.enqueueForceUpdate = function enqueueForceUpdate(publicInstance) {\n if (this.transaction.isInTransaction()) {\n ReactUpdateQueue.enqueueForceUpdate(publicInstance);\n } else {\n warnNoop(publicInstance, 'forceUpdate');\n }\n };\n\n /**\n * Replaces all of the state. Always use this or `setState` to mutate state.\n * You should treat `this.state` as immutable.\n *\n * There is no guarantee that `this.state` will be immediately updated, so\n * accessing `this.state` after calling this method may return the old value.\n *\n * @param {ReactClass} publicInstance The instance that should rerender.\n * @param {object|function} completeState Next state.\n * @internal\n */\n\n\n ReactServerUpdateQueue.prototype.enqueueReplaceState = function enqueueReplaceState(publicInstance, completeState) {\n if (this.transaction.isInTransaction()) {\n ReactUpdateQueue.enqueueReplaceState(publicInstance, completeState);\n } else {\n warnNoop(publicInstance, 'replaceState');\n }\n };\n\n /**\n * Sets a subset of the state. This only exists because _pendingState is\n * internal. This provides a merging strategy that is not available to deep\n * properties which is confusing. TODO: Expose pendingState or don't use it\n * during the merge.\n *\n * @param {ReactClass} publicInstance The instance that should rerender.\n * @param {object|function} partialState Next partial state to be merged with state.\n * @internal\n */\n\n\n ReactServerUpdateQueue.prototype.enqueueSetState = function enqueueSetState(publicInstance, partialState) {\n if (this.transaction.isInTransaction()) {\n ReactUpdateQueue.enqueueSetState(publicInstance, partialState);\n } else {\n warnNoop(publicInstance, 'setState');\n }\n };\n\n return ReactServerUpdateQueue;\n}();\n\nmodule.exports = ReactServerUpdateQueue;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react/lib/ReactServerUpdateQueue.js\n ** module id = 630\n ** module chunks = 0\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule SVGDOMPropertyConfig\n */\n\n'use strict';\n\nvar NS = {\n xlink: 'http://www.w3.org/1999/xlink',\n xml: 'http://www.w3.org/XML/1998/namespace'\n};\n\n// We use attributes for everything SVG so let's avoid some duplication and run\n// code instead.\n// The following are all specified in the HTML config already so we exclude here.\n// - class (as className)\n// - color\n// - height\n// - id\n// - lang\n// - max\n// - media\n// - method\n// - min\n// - name\n// - style\n// - target\n// - type\n// - width\nvar ATTRS = {\n accentHeight: 'accent-height',\n accumulate: 0,\n additive: 0,\n alignmentBaseline: 'alignment-baseline',\n allowReorder: 'allowReorder',\n alphabetic: 0,\n amplitude: 0,\n arabicForm: 'arabic-form',\n ascent: 0,\n attributeName: 'attributeName',\n attributeType: 'attributeType',\n autoReverse: 'autoReverse',\n azimuth: 0,\n baseFrequency: 'baseFrequency',\n baseProfile: 'baseProfile',\n baselineShift: 'baseline-shift',\n bbox: 0,\n begin: 0,\n bias: 0,\n by: 0,\n calcMode: 'calcMode',\n capHeight: 'cap-height',\n clip: 0,\n clipPath: 'clip-path',\n clipRule: 'clip-rule',\n clipPathUnits: 'clipPathUnits',\n colorInterpolation: 'color-interpolation',\n colorInterpolationFilters: 'color-interpolation-filters',\n colorProfile: 'color-profile',\n colorRendering: 'color-rendering',\n contentScriptType: 'contentScriptType',\n contentStyleType: 'contentStyleType',\n cursor: 0,\n cx: 0,\n cy: 0,\n d: 0,\n decelerate: 0,\n descent: 0,\n diffuseConstant: 'diffuseConstant',\n direction: 0,\n display: 0,\n divisor: 0,\n dominantBaseline: 'dominant-baseline',\n dur: 0,\n dx: 0,\n dy: 0,\n edgeMode: 'edgeMode',\n elevation: 0,\n enableBackground: 'enable-background',\n end: 0,\n exponent: 0,\n externalResourcesRequired: 'externalResourcesRequired',\n fill: 0,\n fillOpacity: 'fill-opacity',\n fillRule: 'fill-rule',\n filter: 0,\n filterRes: 'filterRes',\n filterUnits: 'filterUnits',\n floodColor: 'flood-color',\n floodOpacity: 'flood-opacity',\n focusable: 0,\n fontFamily: 'font-family',\n fontSize: 'font-size',\n fontSizeAdjust: 'font-size-adjust',\n fontStretch: 'font-stretch',\n fontStyle: 'font-style',\n fontVariant: 'font-variant',\n fontWeight: 'font-weight',\n format: 0,\n from: 0,\n fx: 0,\n fy: 0,\n g1: 0,\n g2: 0,\n glyphName: 'glyph-name',\n glyphOrientationHorizontal: 'glyph-orientation-horizontal',\n glyphOrientationVertical: 'glyph-orientation-vertical',\n glyphRef: 'glyphRef',\n gradientTransform: 'gradientTransform',\n gradientUnits: 'gradientUnits',\n hanging: 0,\n horizAdvX: 'horiz-adv-x',\n horizOriginX: 'horiz-origin-x',\n ideographic: 0,\n imageRendering: 'image-rendering',\n 'in': 0,\n in2: 0,\n intercept: 0,\n k: 0,\n k1: 0,\n k2: 0,\n k3: 0,\n k4: 0,\n kernelMatrix: 'kernelMatrix',\n kernelUnitLength: 'kernelUnitLength',\n kerning: 0,\n keyPoints: 'keyPoints',\n keySplines: 'keySplines',\n keyTimes: 'keyTimes',\n lengthAdjust: 'lengthAdjust',\n letterSpacing: 'letter-spacing',\n lightingColor: 'lighting-color',\n limitingConeAngle: 'limitingConeAngle',\n local: 0,\n markerEnd: 'marker-end',\n markerMid: 'marker-mid',\n markerStart: 'marker-start',\n markerHeight: 'markerHeight',\n markerUnits: 'markerUnits',\n markerWidth: 'markerWidth',\n mask: 0,\n maskContentUnits: 'maskContentUnits',\n maskUnits: 'maskUnits',\n mathematical: 0,\n mode: 0,\n numOctaves: 'numOctaves',\n offset: 0,\n opacity: 0,\n operator: 0,\n order: 0,\n orient: 0,\n orientation: 0,\n origin: 0,\n overflow: 0,\n overlinePosition: 'overline-position',\n overlineThickness: 'overline-thickness',\n paintOrder: 'paint-order',\n panose1: 'panose-1',\n pathLength: 'pathLength',\n patternContentUnits: 'patternContentUnits',\n patternTransform: 'patternTransform',\n patternUnits: 'patternUnits',\n pointerEvents: 'pointer-events',\n points: 0,\n pointsAtX: 'pointsAtX',\n pointsAtY: 'pointsAtY',\n pointsAtZ: 'pointsAtZ',\n preserveAlpha: 'preserveAlpha',\n preserveAspectRatio: 'preserveAspectRatio',\n primitiveUnits: 'primitiveUnits',\n r: 0,\n radius: 0,\n refX: 'refX',\n refY: 'refY',\n renderingIntent: 'rendering-intent',\n repeatCount: 'repeatCount',\n repeatDur: 'repeatDur',\n requiredExtensions: 'requiredExtensions',\n requiredFeatures: 'requiredFeatures',\n restart: 0,\n result: 0,\n rotate: 0,\n rx: 0,\n ry: 0,\n scale: 0,\n seed: 0,\n shapeRendering: 'shape-rendering',\n slope: 0,\n spacing: 0,\n specularConstant: 'specularConstant',\n specularExponent: 'specularExponent',\n speed: 0,\n spreadMethod: 'spreadMethod',\n startOffset: 'startOffset',\n stdDeviation: 'stdDeviation',\n stemh: 0,\n stemv: 0,\n stitchTiles: 'stitchTiles',\n stopColor: 'stop-color',\n stopOpacity: 'stop-opacity',\n strikethroughPosition: 'strikethrough-position',\n strikethroughThickness: 'strikethrough-thickness',\n string: 0,\n stroke: 0,\n strokeDasharray: 'stroke-dasharray',\n strokeDashoffset: 'stroke-dashoffset',\n strokeLinecap: 'stroke-linecap',\n strokeLinejoin: 'stroke-linejoin',\n strokeMiterlimit: 'stroke-miterlimit',\n strokeOpacity: 'stroke-opacity',\n strokeWidth: 'stroke-width',\n surfaceScale: 'surfaceScale',\n systemLanguage: 'systemLanguage',\n tableValues: 'tableValues',\n targetX: 'targetX',\n targetY: 'targetY',\n textAnchor: 'text-anchor',\n textDecoration: 'text-decoration',\n textRendering: 'text-rendering',\n textLength: 'textLength',\n to: 0,\n transform: 0,\n u1: 0,\n u2: 0,\n underlinePosition: 'underline-position',\n underlineThickness: 'underline-thickness',\n unicode: 0,\n unicodeBidi: 'unicode-bidi',\n unicodeRange: 'unicode-range',\n unitsPerEm: 'units-per-em',\n vAlphabetic: 'v-alphabetic',\n vHanging: 'v-hanging',\n vIdeographic: 'v-ideographic',\n vMathematical: 'v-mathematical',\n values: 0,\n vectorEffect: 'vector-effect',\n version: 0,\n vertAdvY: 'vert-adv-y',\n vertOriginX: 'vert-origin-x',\n vertOriginY: 'vert-origin-y',\n viewBox: 'viewBox',\n viewTarget: 'viewTarget',\n visibility: 0,\n widths: 0,\n wordSpacing: 'word-spacing',\n writingMode: 'writing-mode',\n x: 0,\n xHeight: 'x-height',\n x1: 0,\n x2: 0,\n xChannelSelector: 'xChannelSelector',\n xlinkActuate: 'xlink:actuate',\n xlinkArcrole: 'xlink:arcrole',\n xlinkHref: 'xlink:href',\n xlinkRole: 'xlink:role',\n xlinkShow: 'xlink:show',\n xlinkTitle: 'xlink:title',\n xlinkType: 'xlink:type',\n xmlBase: 'xml:base',\n xmlns: 0,\n xmlnsXlink: 'xmlns:xlink',\n xmlLang: 'xml:lang',\n xmlSpace: 'xml:space',\n y: 0,\n y1: 0,\n y2: 0,\n yChannelSelector: 'yChannelSelector',\n z: 0,\n zoomAndPan: 'zoomAndPan'\n};\n\nvar SVGDOMPropertyConfig = {\n Properties: {},\n DOMAttributeNamespaces: {\n xlinkActuate: NS.xlink,\n xlinkArcrole: NS.xlink,\n xlinkHref: NS.xlink,\n xlinkRole: NS.xlink,\n xlinkShow: NS.xlink,\n xlinkTitle: NS.xlink,\n xlinkType: NS.xlink,\n xmlBase: NS.xml,\n xmlLang: NS.xml,\n xmlSpace: NS.xml\n },\n DOMAttributeNames: {}\n};\n\nObject.keys(ATTRS).forEach(function (key) {\n SVGDOMPropertyConfig.Properties[key] = 0;\n if (ATTRS[key]) {\n SVGDOMPropertyConfig.DOMAttributeNames[key] = ATTRS[key];\n }\n});\n\nmodule.exports = SVGDOMPropertyConfig;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react/lib/SVGDOMPropertyConfig.js\n ** module id = 631\n ** module chunks = 0\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule SelectEventPlugin\n */\n\n'use strict';\n\nvar EventConstants = require('./EventConstants');\nvar EventPropagators = require('./EventPropagators');\nvar ExecutionEnvironment = require('fbjs/lib/ExecutionEnvironment');\nvar ReactDOMComponentTree = require('./ReactDOMComponentTree');\nvar ReactInputSelection = require('./ReactInputSelection');\nvar SyntheticEvent = require('./SyntheticEvent');\n\nvar getActiveElement = require('fbjs/lib/getActiveElement');\nvar isTextInputElement = require('./isTextInputElement');\nvar keyOf = require('fbjs/lib/keyOf');\nvar shallowEqual = require('fbjs/lib/shallowEqual');\n\nvar topLevelTypes = EventConstants.topLevelTypes;\n\nvar skipSelectionChangeEvent = ExecutionEnvironment.canUseDOM && 'documentMode' in document && document.documentMode <= 11;\n\nvar eventTypes = {\n select: {\n phasedRegistrationNames: {\n bubbled: keyOf({ onSelect: null }),\n captured: keyOf({ onSelectCapture: null })\n },\n dependencies: [topLevelTypes.topBlur, topLevelTypes.topContextMenu, topLevelTypes.topFocus, topLevelTypes.topKeyDown, topLevelTypes.topKeyUp, topLevelTypes.topMouseDown, topLevelTypes.topMouseUp, topLevelTypes.topSelectionChange]\n }\n};\n\nvar activeElement = null;\nvar activeElementInst = null;\nvar lastSelection = null;\nvar mouseDown = false;\n\n// Track whether a listener exists for this plugin. If none exist, we do\n// not extract events. See #3639.\nvar hasListener = false;\nvar ON_SELECT_KEY = keyOf({ onSelect: null });\n\n/**\n * Get an object which is a unique representation of the current selection.\n *\n * The return value will not be consistent across nodes or browsers, but\n * two identical selections on the same node will return identical objects.\n *\n * @param {DOMElement} node\n * @return {object}\n */\nfunction getSelection(node) {\n if ('selectionStart' in node && ReactInputSelection.hasSelectionCapabilities(node)) {\n return {\n start: node.selectionStart,\n end: node.selectionEnd\n };\n } else if (window.getSelection) {\n var selection = window.getSelection();\n return {\n anchorNode: selection.anchorNode,\n anchorOffset: selection.anchorOffset,\n focusNode: selection.focusNode,\n focusOffset: selection.focusOffset\n };\n } else if (document.selection) {\n var range = document.selection.createRange();\n return {\n parentElement: range.parentElement(),\n text: range.text,\n top: range.boundingTop,\n left: range.boundingLeft\n };\n }\n}\n\n/**\n * Poll selection to see whether it's changed.\n *\n * @param {object} nativeEvent\n * @return {?SyntheticEvent}\n */\nfunction constructSelectEvent(nativeEvent, nativeEventTarget) {\n // Ensure we have the right element, and that the user is not dragging a\n // selection (this matches native `select` event behavior). In HTML5, select\n // fires only on input and textarea thus if there's no focused element we\n // won't dispatch.\n if (mouseDown || activeElement == null || activeElement !== getActiveElement()) {\n return null;\n }\n\n // Only fire when selection has actually changed.\n var currentSelection = getSelection(activeElement);\n if (!lastSelection || !shallowEqual(lastSelection, currentSelection)) {\n lastSelection = currentSelection;\n\n var syntheticEvent = SyntheticEvent.getPooled(eventTypes.select, activeElementInst, nativeEvent, nativeEventTarget);\n\n syntheticEvent.type = 'select';\n syntheticEvent.target = activeElement;\n\n EventPropagators.accumulateTwoPhaseDispatches(syntheticEvent);\n\n return syntheticEvent;\n }\n\n return null;\n}\n\n/**\n * This plugin creates an `onSelect` event that normalizes select events\n * across form elements.\n *\n * Supported elements are:\n * - input (see `isTextInputElement`)\n * - textarea\n * - contentEditable\n *\n * This differs from native browser implementations in the following ways:\n * - Fires on contentEditable fields as well as inputs.\n * - Fires for collapsed selection.\n * - Fires after user input.\n */\nvar SelectEventPlugin = {\n\n eventTypes: eventTypes,\n\n extractEvents: function (topLevelType, targetInst, nativeEvent, nativeEventTarget) {\n if (!hasListener) {\n return null;\n }\n\n var targetNode = targetInst ? ReactDOMComponentTree.getNodeFromInstance(targetInst) : window;\n\n switch (topLevelType) {\n // Track the input node that has focus.\n case topLevelTypes.topFocus:\n if (isTextInputElement(targetNode) || targetNode.contentEditable === 'true') {\n activeElement = targetNode;\n activeElementInst = targetInst;\n lastSelection = null;\n }\n break;\n case topLevelTypes.topBlur:\n activeElement = null;\n activeElementInst = null;\n lastSelection = null;\n break;\n\n // Don't fire the event while the user is dragging. This matches the\n // semantics of the native select event.\n case topLevelTypes.topMouseDown:\n mouseDown = true;\n break;\n case topLevelTypes.topContextMenu:\n case topLevelTypes.topMouseUp:\n mouseDown = false;\n return constructSelectEvent(nativeEvent, nativeEventTarget);\n\n // Chrome and IE fire non-standard event when selection is changed (and\n // sometimes when it hasn't). IE's event fires out of order with respect\n // to key and input events on deletion, so we discard it.\n //\n // Firefox doesn't support selectionchange, so check selection status\n // after each key entry. The selection changes after keydown and before\n // keyup, but we check on keydown as well in the case of holding down a\n // key, when multiple keydown events are fired but only one keyup is.\n // This is also our approach for IE handling, for the reason above.\n case topLevelTypes.topSelectionChange:\n if (skipSelectionChangeEvent) {\n break;\n }\n // falls through\n case topLevelTypes.topKeyDown:\n case topLevelTypes.topKeyUp:\n return constructSelectEvent(nativeEvent, nativeEventTarget);\n }\n\n return null;\n },\n\n didPutListener: function (inst, registrationName, listener) {\n if (registrationName === ON_SELECT_KEY) {\n hasListener = true;\n }\n }\n};\n\nmodule.exports = SelectEventPlugin;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react/lib/SelectEventPlugin.js\n ** module id = 632\n ** module chunks = 0\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule SimpleEventPlugin\n */\n\n'use strict';\n\nvar _prodInvariant = require('./reactProdInvariant');\n\nvar EventConstants = require('./EventConstants');\nvar EventListener = require('fbjs/lib/EventListener');\nvar EventPropagators = require('./EventPropagators');\nvar ReactDOMComponentTree = require('./ReactDOMComponentTree');\nvar SyntheticAnimationEvent = require('./SyntheticAnimationEvent');\nvar SyntheticClipboardEvent = require('./SyntheticClipboardEvent');\nvar SyntheticEvent = require('./SyntheticEvent');\nvar SyntheticFocusEvent = require('./SyntheticFocusEvent');\nvar SyntheticKeyboardEvent = require('./SyntheticKeyboardEvent');\nvar SyntheticMouseEvent = require('./SyntheticMouseEvent');\nvar SyntheticDragEvent = require('./SyntheticDragEvent');\nvar SyntheticTouchEvent = require('./SyntheticTouchEvent');\nvar SyntheticTransitionEvent = require('./SyntheticTransitionEvent');\nvar SyntheticUIEvent = require('./SyntheticUIEvent');\nvar SyntheticWheelEvent = require('./SyntheticWheelEvent');\n\nvar emptyFunction = require('fbjs/lib/emptyFunction');\nvar getEventCharCode = require('./getEventCharCode');\nvar invariant = require('fbjs/lib/invariant');\nvar keyOf = require('fbjs/lib/keyOf');\n\nvar topLevelTypes = EventConstants.topLevelTypes;\n\nvar eventTypes = {\n abort: {\n phasedRegistrationNames: {\n bubbled: keyOf({ onAbort: true }),\n captured: keyOf({ onAbortCapture: true })\n }\n },\n animationEnd: {\n phasedRegistrationNames: {\n bubbled: keyOf({ onAnimationEnd: true }),\n captured: keyOf({ onAnimationEndCapture: true })\n }\n },\n animationIteration: {\n phasedRegistrationNames: {\n bubbled: keyOf({ onAnimationIteration: true }),\n captured: keyOf({ onAnimationIterationCapture: true })\n }\n },\n animationStart: {\n phasedRegistrationNames: {\n bubbled: keyOf({ onAnimationStart: true }),\n captured: keyOf({ onAnimationStartCapture: true })\n }\n },\n blur: {\n phasedRegistrationNames: {\n bubbled: keyOf({ onBlur: true }),\n captured: keyOf({ onBlurCapture: true })\n }\n },\n canPlay: {\n phasedRegistrationNames: {\n bubbled: keyOf({ onCanPlay: true }),\n captured: keyOf({ onCanPlayCapture: true })\n }\n },\n canPlayThrough: {\n phasedRegistrationNames: {\n bubbled: keyOf({ onCanPlayThrough: true }),\n captured: keyOf({ onCanPlayThroughCapture: true })\n }\n },\n click: {\n phasedRegistrationNames: {\n bubbled: keyOf({ onClick: true }),\n captured: keyOf({ onClickCapture: true })\n }\n },\n contextMenu: {\n phasedRegistrationNames: {\n bubbled: keyOf({ onContextMenu: true }),\n captured: keyOf({ onContextMenuCapture: true })\n }\n },\n copy: {\n phasedRegistrationNames: {\n bubbled: keyOf({ onCopy: true }),\n captured: keyOf({ onCopyCapture: true })\n }\n },\n cut: {\n phasedRegistrationNames: {\n bubbled: keyOf({ onCut: true }),\n captured: keyOf({ onCutCapture: true })\n }\n },\n doubleClick: {\n phasedRegistrationNames: {\n bubbled: keyOf({ onDoubleClick: true }),\n captured: keyOf({ onDoubleClickCapture: true })\n }\n },\n drag: {\n phasedRegistrationNames: {\n bubbled: keyOf({ onDrag: true }),\n captured: keyOf({ onDragCapture: true })\n }\n },\n dragEnd: {\n phasedRegistrationNames: {\n bubbled: keyOf({ onDragEnd: true }),\n captured: keyOf({ onDragEndCapture: true })\n }\n },\n dragEnter: {\n phasedRegistrationNames: {\n bubbled: keyOf({ onDragEnter: true }),\n captured: keyOf({ onDragEnterCapture: true })\n }\n },\n dragExit: {\n phasedRegistrationNames: {\n bubbled: keyOf({ onDragExit: true }),\n captured: keyOf({ onDragExitCapture: true })\n }\n },\n dragLeave: {\n phasedRegistrationNames: {\n bubbled: keyOf({ onDragLeave: true }),\n captured: keyOf({ onDragLeaveCapture: true })\n }\n },\n dragOver: {\n phasedRegistrationNames: {\n bubbled: keyOf({ onDragOver: true }),\n captured: keyOf({ onDragOverCapture: true })\n }\n },\n dragStart: {\n phasedRegistrationNames: {\n bubbled: keyOf({ onDragStart: true }),\n captured: keyOf({ onDragStartCapture: true })\n }\n },\n drop: {\n phasedRegistrationNames: {\n bubbled: keyOf({ onDrop: true }),\n captured: keyOf({ onDropCapture: true })\n }\n },\n durationChange: {\n phasedRegistrationNames: {\n bubbled: keyOf({ onDurationChange: true }),\n captured: keyOf({ onDurationChangeCapture: true })\n }\n },\n emptied: {\n phasedRegistrationNames: {\n bubbled: keyOf({ onEmptied: true }),\n captured: keyOf({ onEmptiedCapture: true })\n }\n },\n encrypted: {\n phasedRegistrationNames: {\n bubbled: keyOf({ onEncrypted: true }),\n captured: keyOf({ onEncryptedCapture: true })\n }\n },\n ended: {\n phasedRegistrationNames: {\n bubbled: keyOf({ onEnded: true }),\n captured: keyOf({ onEndedCapture: true })\n }\n },\n error: {\n phasedRegistrationNames: {\n bubbled: keyOf({ onError: true }),\n captured: keyOf({ onErrorCapture: true })\n }\n },\n focus: {\n phasedRegistrationNames: {\n bubbled: keyOf({ onFocus: true }),\n captured: keyOf({ onFocusCapture: true })\n }\n },\n input: {\n phasedRegistrationNames: {\n bubbled: keyOf({ onInput: true }),\n captured: keyOf({ onInputCapture: true })\n }\n },\n invalid: {\n phasedRegistrationNames: {\n bubbled: keyOf({ onInvalid: true }),\n captured: keyOf({ onInvalidCapture: true })\n }\n },\n keyDown: {\n phasedRegistrationNames: {\n bubbled: keyOf({ onKeyDown: true }),\n captured: keyOf({ onKeyDownCapture: true })\n }\n },\n keyPress: {\n phasedRegistrationNames: {\n bubbled: keyOf({ onKeyPress: true }),\n captured: keyOf({ onKeyPressCapture: true })\n }\n },\n keyUp: {\n phasedRegistrationNames: {\n bubbled: keyOf({ onKeyUp: true }),\n captured: keyOf({ onKeyUpCapture: true })\n }\n },\n load: {\n phasedRegistrationNames: {\n bubbled: keyOf({ onLoad: true }),\n captured: keyOf({ onLoadCapture: true })\n }\n },\n loadedData: {\n phasedRegistrationNames: {\n bubbled: keyOf({ onLoadedData: true }),\n captured: keyOf({ onLoadedDataCapture: true })\n }\n },\n loadedMetadata: {\n phasedRegistrationNames: {\n bubbled: keyOf({ onLoadedMetadata: true }),\n captured: keyOf({ onLoadedMetadataCapture: true })\n }\n },\n loadStart: {\n phasedRegistrationNames: {\n bubbled: keyOf({ onLoadStart: true }),\n captured: keyOf({ onLoadStartCapture: true })\n }\n },\n // Note: We do not allow listening to mouseOver events. Instead, use the\n // onMouseEnter/onMouseLeave created by `EnterLeaveEventPlugin`.\n mouseDown: {\n phasedRegistrationNames: {\n bubbled: keyOf({ onMouseDown: true }),\n captured: keyOf({ onMouseDownCapture: true })\n }\n },\n mouseMove: {\n phasedRegistrationNames: {\n bubbled: keyOf({ onMouseMove: true }),\n captured: keyOf({ onMouseMoveCapture: true })\n }\n },\n mouseOut: {\n phasedRegistrationNames: {\n bubbled: keyOf({ onMouseOut: true }),\n captured: keyOf({ onMouseOutCapture: true })\n }\n },\n mouseOver: {\n phasedRegistrationNames: {\n bubbled: keyOf({ onMouseOver: true }),\n captured: keyOf({ onMouseOverCapture: true })\n }\n },\n mouseUp: {\n phasedRegistrationNames: {\n bubbled: keyOf({ onMouseUp: true }),\n captured: keyOf({ onMouseUpCapture: true })\n }\n },\n paste: {\n phasedRegistrationNames: {\n bubbled: keyOf({ onPaste: true }),\n captured: keyOf({ onPasteCapture: true })\n }\n },\n pause: {\n phasedRegistrationNames: {\n bubbled: keyOf({ onPause: true }),\n captured: keyOf({ onPauseCapture: true })\n }\n },\n play: {\n phasedRegistrationNames: {\n bubbled: keyOf({ onPlay: true }),\n captured: keyOf({ onPlayCapture: true })\n }\n },\n playing: {\n phasedRegistrationNames: {\n bubbled: keyOf({ onPlaying: true }),\n captured: keyOf({ onPlayingCapture: true })\n }\n },\n progress: {\n phasedRegistrationNames: {\n bubbled: keyOf({ onProgress: true }),\n captured: keyOf({ onProgressCapture: true })\n }\n },\n rateChange: {\n phasedRegistrationNames: {\n bubbled: keyOf({ onRateChange: true }),\n captured: keyOf({ onRateChangeCapture: true })\n }\n },\n reset: {\n phasedRegistrationNames: {\n bubbled: keyOf({ onReset: true }),\n captured: keyOf({ onResetCapture: true })\n }\n },\n scroll: {\n phasedRegistrationNames: {\n bubbled: keyOf({ onScroll: true }),\n captured: keyOf({ onScrollCapture: true })\n }\n },\n seeked: {\n phasedRegistrationNames: {\n bubbled: keyOf({ onSeeked: true }),\n captured: keyOf({ onSeekedCapture: true })\n }\n },\n seeking: {\n phasedRegistrationNames: {\n bubbled: keyOf({ onSeeking: true }),\n captured: keyOf({ onSeekingCapture: true })\n }\n },\n stalled: {\n phasedRegistrationNames: {\n bubbled: keyOf({ onStalled: true }),\n captured: keyOf({ onStalledCapture: true })\n }\n },\n submit: {\n phasedRegistrationNames: {\n bubbled: keyOf({ onSubmit: true }),\n captured: keyOf({ onSubmitCapture: true })\n }\n },\n suspend: {\n phasedRegistrationNames: {\n bubbled: keyOf({ onSuspend: true }),\n captured: keyOf({ onSuspendCapture: true })\n }\n },\n timeUpdate: {\n phasedRegistrationNames: {\n bubbled: keyOf({ onTimeUpdate: true }),\n captured: keyOf({ onTimeUpdateCapture: true })\n }\n },\n touchCancel: {\n phasedRegistrationNames: {\n bubbled: keyOf({ onTouchCancel: true }),\n captured: keyOf({ onTouchCancelCapture: true })\n }\n },\n touchEnd: {\n phasedRegistrationNames: {\n bubbled: keyOf({ onTouchEnd: true }),\n captured: keyOf({ onTouchEndCapture: true })\n }\n },\n touchMove: {\n phasedRegistrationNames: {\n bubbled: keyOf({ onTouchMove: true }),\n captured: keyOf({ onTouchMoveCapture: true })\n }\n },\n touchStart: {\n phasedRegistrationNames: {\n bubbled: keyOf({ onTouchStart: true }),\n captured: keyOf({ onTouchStartCapture: true })\n }\n },\n transitionEnd: {\n phasedRegistrationNames: {\n bubbled: keyOf({ onTransitionEnd: true }),\n captured: keyOf({ onTransitionEndCapture: true })\n }\n },\n volumeChange: {\n phasedRegistrationNames: {\n bubbled: keyOf({ onVolumeChange: true }),\n captured: keyOf({ onVolumeChangeCapture: true })\n }\n },\n waiting: {\n phasedRegistrationNames: {\n bubbled: keyOf({ onWaiting: true }),\n captured: keyOf({ onWaitingCapture: true })\n }\n },\n wheel: {\n phasedRegistrationNames: {\n bubbled: keyOf({ onWheel: true }),\n captured: keyOf({ onWheelCapture: true })\n }\n }\n};\n\nvar topLevelEventsToDispatchConfig = {\n topAbort: eventTypes.abort,\n topAnimationEnd: eventTypes.animationEnd,\n topAnimationIteration: eventTypes.animationIteration,\n topAnimationStart: eventTypes.animationStart,\n topBlur: eventTypes.blur,\n topCanPlay: eventTypes.canPlay,\n topCanPlayThrough: eventTypes.canPlayThrough,\n topClick: eventTypes.click,\n topContextMenu: eventTypes.contextMenu,\n topCopy: eventTypes.copy,\n topCut: eventTypes.cut,\n topDoubleClick: eventTypes.doubleClick,\n topDrag: eventTypes.drag,\n topDragEnd: eventTypes.dragEnd,\n topDragEnter: eventTypes.dragEnter,\n topDragExit: eventTypes.dragExit,\n topDragLeave: eventTypes.dragLeave,\n topDragOver: eventTypes.dragOver,\n topDragStart: eventTypes.dragStart,\n topDrop: eventTypes.drop,\n topDurationChange: eventTypes.durationChange,\n topEmptied: eventTypes.emptied,\n topEncrypted: eventTypes.encrypted,\n topEnded: eventTypes.ended,\n topError: eventTypes.error,\n topFocus: eventTypes.focus,\n topInput: eventTypes.input,\n topInvalid: eventTypes.invalid,\n topKeyDown: eventTypes.keyDown,\n topKeyPress: eventTypes.keyPress,\n topKeyUp: eventTypes.keyUp,\n topLoad: eventTypes.load,\n topLoadedData: eventTypes.loadedData,\n topLoadedMetadata: eventTypes.loadedMetadata,\n topLoadStart: eventTypes.loadStart,\n topMouseDown: eventTypes.mouseDown,\n topMouseMove: eventTypes.mouseMove,\n topMouseOut: eventTypes.mouseOut,\n topMouseOver: eventTypes.mouseOver,\n topMouseUp: eventTypes.mouseUp,\n topPaste: eventTypes.paste,\n topPause: eventTypes.pause,\n topPlay: eventTypes.play,\n topPlaying: eventTypes.playing,\n topProgress: eventTypes.progress,\n topRateChange: eventTypes.rateChange,\n topReset: eventTypes.reset,\n topScroll: eventTypes.scroll,\n topSeeked: eventTypes.seeked,\n topSeeking: eventTypes.seeking,\n topStalled: eventTypes.stalled,\n topSubmit: eventTypes.submit,\n topSuspend: eventTypes.suspend,\n topTimeUpdate: eventTypes.timeUpdate,\n topTouchCancel: eventTypes.touchCancel,\n topTouchEnd: eventTypes.touchEnd,\n topTouchMove: eventTypes.touchMove,\n topTouchStart: eventTypes.touchStart,\n topTransitionEnd: eventTypes.transitionEnd,\n topVolumeChange: eventTypes.volumeChange,\n topWaiting: eventTypes.waiting,\n topWheel: eventTypes.wheel\n};\n\nfor (var type in topLevelEventsToDispatchConfig) {\n topLevelEventsToDispatchConfig[type].dependencies = [type];\n}\n\nvar ON_CLICK_KEY = keyOf({ onClick: null });\nvar onClickListeners = {};\n\nfunction getDictionaryKey(inst) {\n // Prevents V8 performance issue:\n // https://github.com/facebook/react/pull/7232\n return '.' + inst._rootNodeID;\n}\n\nvar SimpleEventPlugin = {\n\n eventTypes: eventTypes,\n\n extractEvents: function (topLevelType, targetInst, nativeEvent, nativeEventTarget) {\n var dispatchConfig = topLevelEventsToDispatchConfig[topLevelType];\n if (!dispatchConfig) {\n return null;\n }\n var EventConstructor;\n switch (topLevelType) {\n case topLevelTypes.topAbort:\n case topLevelTypes.topCanPlay:\n case topLevelTypes.topCanPlayThrough:\n case topLevelTypes.topDurationChange:\n case topLevelTypes.topEmptied:\n case topLevelTypes.topEncrypted:\n case topLevelTypes.topEnded:\n case topLevelTypes.topError:\n case topLevelTypes.topInput:\n case topLevelTypes.topInvalid:\n case topLevelTypes.topLoad:\n case topLevelTypes.topLoadedData:\n case topLevelTypes.topLoadedMetadata:\n case topLevelTypes.topLoadStart:\n case topLevelTypes.topPause:\n case topLevelTypes.topPlay:\n case topLevelTypes.topPlaying:\n case topLevelTypes.topProgress:\n case topLevelTypes.topRateChange:\n case topLevelTypes.topReset:\n case topLevelTypes.topSeeked:\n case topLevelTypes.topSeeking:\n case topLevelTypes.topStalled:\n case topLevelTypes.topSubmit:\n case topLevelTypes.topSuspend:\n case topLevelTypes.topTimeUpdate:\n case topLevelTypes.topVolumeChange:\n case topLevelTypes.topWaiting:\n // HTML Events\n // @see http://www.w3.org/TR/html5/index.html#events-0\n EventConstructor = SyntheticEvent;\n break;\n case topLevelTypes.topKeyPress:\n // Firefox creates a keypress event for function keys too. This removes\n // the unwanted keypress events. Enter is however both printable and\n // non-printable. One would expect Tab to be as well (but it isn't).\n if (getEventCharCode(nativeEvent) === 0) {\n return null;\n }\n /* falls through */\n case topLevelTypes.topKeyDown:\n case topLevelTypes.topKeyUp:\n EventConstructor = SyntheticKeyboardEvent;\n break;\n case topLevelTypes.topBlur:\n case topLevelTypes.topFocus:\n EventConstructor = SyntheticFocusEvent;\n break;\n case topLevelTypes.topClick:\n // Firefox creates a click event on right mouse clicks. This removes the\n // unwanted click events.\n if (nativeEvent.button === 2) {\n return null;\n }\n /* falls through */\n case topLevelTypes.topContextMenu:\n case topLevelTypes.topDoubleClick:\n case topLevelTypes.topMouseDown:\n case topLevelTypes.topMouseMove:\n case topLevelTypes.topMouseOut:\n case topLevelTypes.topMouseOver:\n case topLevelTypes.topMouseUp:\n EventConstructor = SyntheticMouseEvent;\n break;\n case topLevelTypes.topDrag:\n case topLevelTypes.topDragEnd:\n case topLevelTypes.topDragEnter:\n case topLevelTypes.topDragExit:\n case topLevelTypes.topDragLeave:\n case topLevelTypes.topDragOver:\n case topLevelTypes.topDragStart:\n case topLevelTypes.topDrop:\n EventConstructor = SyntheticDragEvent;\n break;\n case topLevelTypes.topTouchCancel:\n case topLevelTypes.topTouchEnd:\n case topLevelTypes.topTouchMove:\n case topLevelTypes.topTouchStart:\n EventConstructor = SyntheticTouchEvent;\n break;\n case topLevelTypes.topAnimationEnd:\n case topLevelTypes.topAnimationIteration:\n case topLevelTypes.topAnimationStart:\n EventConstructor = SyntheticAnimationEvent;\n break;\n case topLevelTypes.topTransitionEnd:\n EventConstructor = SyntheticTransitionEvent;\n break;\n case topLevelTypes.topScroll:\n EventConstructor = SyntheticUIEvent;\n break;\n case topLevelTypes.topWheel:\n EventConstructor = SyntheticWheelEvent;\n break;\n case topLevelTypes.topCopy:\n case topLevelTypes.topCut:\n case topLevelTypes.topPaste:\n EventConstructor = SyntheticClipboardEvent;\n break;\n }\n !EventConstructor ? process.env.NODE_ENV !== 'production' ? invariant(false, 'SimpleEventPlugin: Unhandled event type, `%s`.', topLevelType) : _prodInvariant('86', topLevelType) : void 0;\n var event = EventConstructor.getPooled(dispatchConfig, targetInst, nativeEvent, nativeEventTarget);\n EventPropagators.accumulateTwoPhaseDispatches(event);\n return event;\n },\n\n didPutListener: function (inst, registrationName, listener) {\n // Mobile Safari does not fire properly bubble click events on\n // non-interactive elements, which means delegated click listeners do not\n // fire. The workaround for this bug involves attaching an empty click\n // listener on the target node.\n if (registrationName === ON_CLICK_KEY) {\n var key = getDictionaryKey(inst);\n var node = ReactDOMComponentTree.getNodeFromInstance(inst);\n if (!onClickListeners[key]) {\n onClickListeners[key] = EventListener.listen(node, 'click', emptyFunction);\n }\n }\n },\n\n willDeleteListener: function (inst, registrationName) {\n if (registrationName === ON_CLICK_KEY) {\n var key = getDictionaryKey(inst);\n onClickListeners[key].remove();\n delete onClickListeners[key];\n }\n }\n\n};\n\nmodule.exports = SimpleEventPlugin;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react/lib/SimpleEventPlugin.js\n ** module id = 633\n ** module chunks = 0\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule SyntheticAnimationEvent\n */\n\n'use strict';\n\nvar SyntheticEvent = require('./SyntheticEvent');\n\n/**\n * @interface Event\n * @see http://www.w3.org/TR/css3-animations/#AnimationEvent-interface\n * @see https://developer.mozilla.org/en-US/docs/Web/API/AnimationEvent\n */\nvar AnimationEventInterface = {\n animationName: null,\n elapsedTime: null,\n pseudoElement: null\n};\n\n/**\n * @param {object} dispatchConfig Configuration used to dispatch this event.\n * @param {string} dispatchMarker Marker identifying the event target.\n * @param {object} nativeEvent Native browser event.\n * @extends {SyntheticEvent}\n */\nfunction SyntheticAnimationEvent(dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget) {\n return SyntheticEvent.call(this, dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget);\n}\n\nSyntheticEvent.augmentClass(SyntheticAnimationEvent, AnimationEventInterface);\n\nmodule.exports = SyntheticAnimationEvent;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react/lib/SyntheticAnimationEvent.js\n ** module id = 634\n ** module chunks = 0\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule SyntheticClipboardEvent\n */\n\n'use strict';\n\nvar SyntheticEvent = require('./SyntheticEvent');\n\n/**\n * @interface Event\n * @see http://www.w3.org/TR/clipboard-apis/\n */\nvar ClipboardEventInterface = {\n clipboardData: function (event) {\n return 'clipboardData' in event ? event.clipboardData : window.clipboardData;\n }\n};\n\n/**\n * @param {object} dispatchConfig Configuration used to dispatch this event.\n * @param {string} dispatchMarker Marker identifying the event target.\n * @param {object} nativeEvent Native browser event.\n * @extends {SyntheticUIEvent}\n */\nfunction SyntheticClipboardEvent(dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget) {\n return SyntheticEvent.call(this, dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget);\n}\n\nSyntheticEvent.augmentClass(SyntheticClipboardEvent, ClipboardEventInterface);\n\nmodule.exports = SyntheticClipboardEvent;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react/lib/SyntheticClipboardEvent.js\n ** module id = 635\n ** module chunks = 0\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule SyntheticCompositionEvent\n */\n\n'use strict';\n\nvar SyntheticEvent = require('./SyntheticEvent');\n\n/**\n * @interface Event\n * @see http://www.w3.org/TR/DOM-Level-3-Events/#events-compositionevents\n */\nvar CompositionEventInterface = {\n data: null\n};\n\n/**\n * @param {object} dispatchConfig Configuration used to dispatch this event.\n * @param {string} dispatchMarker Marker identifying the event target.\n * @param {object} nativeEvent Native browser event.\n * @extends {SyntheticUIEvent}\n */\nfunction SyntheticCompositionEvent(dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget) {\n return SyntheticEvent.call(this, dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget);\n}\n\nSyntheticEvent.augmentClass(SyntheticCompositionEvent, CompositionEventInterface);\n\nmodule.exports = SyntheticCompositionEvent;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react/lib/SyntheticCompositionEvent.js\n ** module id = 636\n ** module chunks = 0\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule SyntheticDragEvent\n */\n\n'use strict';\n\nvar SyntheticMouseEvent = require('./SyntheticMouseEvent');\n\n/**\n * @interface DragEvent\n * @see http://www.w3.org/TR/DOM-Level-3-Events/\n */\nvar DragEventInterface = {\n dataTransfer: null\n};\n\n/**\n * @param {object} dispatchConfig Configuration used to dispatch this event.\n * @param {string} dispatchMarker Marker identifying the event target.\n * @param {object} nativeEvent Native browser event.\n * @extends {SyntheticUIEvent}\n */\nfunction SyntheticDragEvent(dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget) {\n return SyntheticMouseEvent.call(this, dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget);\n}\n\nSyntheticMouseEvent.augmentClass(SyntheticDragEvent, DragEventInterface);\n\nmodule.exports = SyntheticDragEvent;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react/lib/SyntheticDragEvent.js\n ** module id = 637\n ** module chunks = 0\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule SyntheticFocusEvent\n */\n\n'use strict';\n\nvar SyntheticUIEvent = require('./SyntheticUIEvent');\n\n/**\n * @interface FocusEvent\n * @see http://www.w3.org/TR/DOM-Level-3-Events/\n */\nvar FocusEventInterface = {\n relatedTarget: null\n};\n\n/**\n * @param {object} dispatchConfig Configuration used to dispatch this event.\n * @param {string} dispatchMarker Marker identifying the event target.\n * @param {object} nativeEvent Native browser event.\n * @extends {SyntheticUIEvent}\n */\nfunction SyntheticFocusEvent(dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget) {\n return SyntheticUIEvent.call(this, dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget);\n}\n\nSyntheticUIEvent.augmentClass(SyntheticFocusEvent, FocusEventInterface);\n\nmodule.exports = SyntheticFocusEvent;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react/lib/SyntheticFocusEvent.js\n ** module id = 638\n ** module chunks = 0\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule SyntheticInputEvent\n */\n\n'use strict';\n\nvar SyntheticEvent = require('./SyntheticEvent');\n\n/**\n * @interface Event\n * @see http://www.w3.org/TR/2013/WD-DOM-Level-3-Events-20131105\n * /#events-inputevents\n */\nvar InputEventInterface = {\n data: null\n};\n\n/**\n * @param {object} dispatchConfig Configuration used to dispatch this event.\n * @param {string} dispatchMarker Marker identifying the event target.\n * @param {object} nativeEvent Native browser event.\n * @extends {SyntheticUIEvent}\n */\nfunction SyntheticInputEvent(dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget) {\n return SyntheticEvent.call(this, dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget);\n}\n\nSyntheticEvent.augmentClass(SyntheticInputEvent, InputEventInterface);\n\nmodule.exports = SyntheticInputEvent;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react/lib/SyntheticInputEvent.js\n ** module id = 639\n ** module chunks = 0\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule SyntheticKeyboardEvent\n */\n\n'use strict';\n\nvar SyntheticUIEvent = require('./SyntheticUIEvent');\n\nvar getEventCharCode = require('./getEventCharCode');\nvar getEventKey = require('./getEventKey');\nvar getEventModifierState = require('./getEventModifierState');\n\n/**\n * @interface KeyboardEvent\n * @see http://www.w3.org/TR/DOM-Level-3-Events/\n */\nvar KeyboardEventInterface = {\n key: getEventKey,\n location: null,\n ctrlKey: null,\n shiftKey: null,\n altKey: null,\n metaKey: null,\n repeat: null,\n locale: null,\n getModifierState: getEventModifierState,\n // Legacy Interface\n charCode: function (event) {\n // `charCode` is the result of a KeyPress event and represents the value of\n // the actual printable character.\n\n // KeyPress is deprecated, but its replacement is not yet final and not\n // implemented in any major browser. Only KeyPress has charCode.\n if (event.type === 'keypress') {\n return getEventCharCode(event);\n }\n return 0;\n },\n keyCode: function (event) {\n // `keyCode` is the result of a KeyDown/Up event and represents the value of\n // physical keyboard key.\n\n // The actual meaning of the value depends on the users' keyboard layout\n // which cannot be detected. Assuming that it is a US keyboard layout\n // provides a surprisingly accurate mapping for US and European users.\n // Due to this, it is left to the user to implement at this time.\n if (event.type === 'keydown' || event.type === 'keyup') {\n return event.keyCode;\n }\n return 0;\n },\n which: function (event) {\n // `which` is an alias for either `keyCode` or `charCode` depending on the\n // type of the event.\n if (event.type === 'keypress') {\n return getEventCharCode(event);\n }\n if (event.type === 'keydown' || event.type === 'keyup') {\n return event.keyCode;\n }\n return 0;\n }\n};\n\n/**\n * @param {object} dispatchConfig Configuration used to dispatch this event.\n * @param {string} dispatchMarker Marker identifying the event target.\n * @param {object} nativeEvent Native browser event.\n * @extends {SyntheticUIEvent}\n */\nfunction SyntheticKeyboardEvent(dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget) {\n return SyntheticUIEvent.call(this, dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget);\n}\n\nSyntheticUIEvent.augmentClass(SyntheticKeyboardEvent, KeyboardEventInterface);\n\nmodule.exports = SyntheticKeyboardEvent;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react/lib/SyntheticKeyboardEvent.js\n ** module id = 640\n ** module chunks = 0\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule SyntheticTouchEvent\n */\n\n'use strict';\n\nvar SyntheticUIEvent = require('./SyntheticUIEvent');\n\nvar getEventModifierState = require('./getEventModifierState');\n\n/**\n * @interface TouchEvent\n * @see http://www.w3.org/TR/touch-events/\n */\nvar TouchEventInterface = {\n touches: null,\n targetTouches: null,\n changedTouches: null,\n altKey: null,\n metaKey: null,\n ctrlKey: null,\n shiftKey: null,\n getModifierState: getEventModifierState\n};\n\n/**\n * @param {object} dispatchConfig Configuration used to dispatch this event.\n * @param {string} dispatchMarker Marker identifying the event target.\n * @param {object} nativeEvent Native browser event.\n * @extends {SyntheticUIEvent}\n */\nfunction SyntheticTouchEvent(dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget) {\n return SyntheticUIEvent.call(this, dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget);\n}\n\nSyntheticUIEvent.augmentClass(SyntheticTouchEvent, TouchEventInterface);\n\nmodule.exports = SyntheticTouchEvent;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react/lib/SyntheticTouchEvent.js\n ** module id = 641\n ** module chunks = 0\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule SyntheticTransitionEvent\n */\n\n'use strict';\n\nvar SyntheticEvent = require('./SyntheticEvent');\n\n/**\n * @interface Event\n * @see http://www.w3.org/TR/2009/WD-css3-transitions-20090320/#transition-events-\n * @see https://developer.mozilla.org/en-US/docs/Web/API/TransitionEvent\n */\nvar TransitionEventInterface = {\n propertyName: null,\n elapsedTime: null,\n pseudoElement: null\n};\n\n/**\n * @param {object} dispatchConfig Configuration used to dispatch this event.\n * @param {string} dispatchMarker Marker identifying the event target.\n * @param {object} nativeEvent Native browser event.\n * @extends {SyntheticEvent}\n */\nfunction SyntheticTransitionEvent(dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget) {\n return SyntheticEvent.call(this, dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget);\n}\n\nSyntheticEvent.augmentClass(SyntheticTransitionEvent, TransitionEventInterface);\n\nmodule.exports = SyntheticTransitionEvent;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react/lib/SyntheticTransitionEvent.js\n ** module id = 642\n ** module chunks = 0\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule SyntheticWheelEvent\n */\n\n'use strict';\n\nvar SyntheticMouseEvent = require('./SyntheticMouseEvent');\n\n/**\n * @interface WheelEvent\n * @see http://www.w3.org/TR/DOM-Level-3-Events/\n */\nvar WheelEventInterface = {\n deltaX: function (event) {\n return 'deltaX' in event ? event.deltaX :\n // Fallback to `wheelDeltaX` for Webkit and normalize (right is positive).\n 'wheelDeltaX' in event ? -event.wheelDeltaX : 0;\n },\n deltaY: function (event) {\n return 'deltaY' in event ? event.deltaY :\n // Fallback to `wheelDeltaY` for Webkit and normalize (down is positive).\n 'wheelDeltaY' in event ? -event.wheelDeltaY :\n // Fallback to `wheelDelta` for IE<9 and normalize (down is positive).\n 'wheelDelta' in event ? -event.wheelDelta : 0;\n },\n deltaZ: null,\n\n // Browsers without \"deltaMode\" is reporting in raw wheel delta where one\n // notch on the scroll is always +/- 120, roughly equivalent to pixels.\n // A good approximation of DOM_DELTA_LINE (1) is 5% of viewport size or\n // ~40 pixels, for DOM_DELTA_SCREEN (2) it is 87.5% of viewport size.\n deltaMode: null\n};\n\n/**\n * @param {object} dispatchConfig Configuration used to dispatch this event.\n * @param {string} dispatchMarker Marker identifying the event target.\n * @param {object} nativeEvent Native browser event.\n * @extends {SyntheticMouseEvent}\n */\nfunction SyntheticWheelEvent(dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget) {\n return SyntheticMouseEvent.call(this, dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget);\n}\n\nSyntheticMouseEvent.augmentClass(SyntheticWheelEvent, WheelEventInterface);\n\nmodule.exports = SyntheticWheelEvent;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react/lib/SyntheticWheelEvent.js\n ** module id = 643\n ** module chunks = 0\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule adler32\n * \n */\n\n'use strict';\n\nvar MOD = 65521;\n\n// adler32 is not cryptographically strong, and is only used to sanity check that\n// markup generated on the server matches the markup generated on the client.\n// This implementation (a modified version of the SheetJS version) has been optimized\n// for our use case, at the expense of conforming to the adler32 specification\n// for non-ascii inputs.\nfunction adler32(data) {\n var a = 1;\n var b = 0;\n var i = 0;\n var l = data.length;\n var m = l & ~0x3;\n while (i < m) {\n var n = Math.min(i + 4096, m);\n for (; i < n; i += 4) {\n b += (a += data.charCodeAt(i)) + (a += data.charCodeAt(i + 1)) + (a += data.charCodeAt(i + 2)) + (a += data.charCodeAt(i + 3));\n }\n a %= MOD;\n b %= MOD;\n }\n for (; i < l; i++) {\n b += a += data.charCodeAt(i);\n }\n a %= MOD;\n b %= MOD;\n return a | b << 16;\n}\n\nmodule.exports = adler32;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react/lib/adler32.js\n ** module id = 644\n ** module chunks = 0\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule checkReactTypeSpec\n */\n\n'use strict';\n\nvar _prodInvariant = require('./reactProdInvariant');\n\nvar ReactPropTypeLocationNames = require('./ReactPropTypeLocationNames');\nvar ReactPropTypesSecret = require('./ReactPropTypesSecret');\n\nvar invariant = require('fbjs/lib/invariant');\nvar warning = require('fbjs/lib/warning');\n\nvar ReactComponentTreeHook;\n\nif (typeof process !== 'undefined' && process.env && process.env.NODE_ENV === 'test') {\n // Temporary hack.\n // Inline requires don't work well with Jest:\n // https://github.com/facebook/react/issues/7240\n // Remove the inline requires when we don't need them anymore:\n // https://github.com/facebook/react/pull/7178\n ReactComponentTreeHook = require('./ReactComponentTreeHook');\n}\n\nvar loggedTypeFailures = {};\n\n/**\n * Assert that the values match with the type specs.\n * Error messages are memorized and will only be shown once.\n *\n * @param {object} typeSpecs Map of name to a ReactPropType\n * @param {object} values Runtime values that need to be type-checked\n * @param {string} location e.g. \"prop\", \"context\", \"child context\"\n * @param {string} componentName Name of the component for error messages.\n * @param {?object} element The React element that is being type-checked\n * @param {?number} debugID The React component instance that is being type-checked\n * @private\n */\nfunction checkReactTypeSpec(typeSpecs, values, location, componentName, element, debugID) {\n for (var typeSpecName in typeSpecs) {\n if (typeSpecs.hasOwnProperty(typeSpecName)) {\n var error;\n // Prop type validation may throw. In case they do, we don't want to\n // fail the render phase where it didn't fail before. So we log it.\n // After these have been cleaned up, we'll let them throw.\n try {\n // This is intentionally an invariant that gets caught. It's the same\n // behavior as without this statement except with a better message.\n !(typeof typeSpecs[typeSpecName] === 'function') ? process.env.NODE_ENV !== 'production' ? invariant(false, '%s: %s type `%s` is invalid; it must be a function, usually from React.PropTypes.', componentName || 'React class', ReactPropTypeLocationNames[location], typeSpecName) : _prodInvariant('84', componentName || 'React class', ReactPropTypeLocationNames[location], typeSpecName) : void 0;\n error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret);\n } catch (ex) {\n error = ex;\n }\n process.env.NODE_ENV !== 'production' ? warning(!error || error instanceof Error, '%s: type specification of %s `%s` is invalid; the type checker ' + 'function must return `null` or an `Error` but returned a %s. ' + 'You may have forgotten to pass an argument to the type checker ' + 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' + 'shape all require an argument).', componentName || 'React class', ReactPropTypeLocationNames[location], typeSpecName, typeof error) : void 0;\n if (error instanceof Error && !(error.message in loggedTypeFailures)) {\n // Only monitor this failure once because there tends to be a lot of the\n // same error.\n loggedTypeFailures[error.message] = true;\n\n var componentStackInfo = '';\n\n if (process.env.NODE_ENV !== 'production') {\n if (!ReactComponentTreeHook) {\n ReactComponentTreeHook = require('./ReactComponentTreeHook');\n }\n if (debugID !== null) {\n componentStackInfo = ReactComponentTreeHook.getStackAddendumByID(debugID);\n } else if (element !== null) {\n componentStackInfo = ReactComponentTreeHook.getCurrentStackAddendum(element);\n }\n }\n\n process.env.NODE_ENV !== 'production' ? warning(false, 'Failed %s type: %s%s', location, error.message, componentStackInfo) : void 0;\n }\n }\n }\n}\n\nmodule.exports = checkReactTypeSpec;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react/lib/checkReactTypeSpec.js\n ** module id = 645\n ** module chunks = 0\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule dangerousStyleValue\n */\n\n'use strict';\n\nvar CSSProperty = require('./CSSProperty');\nvar warning = require('fbjs/lib/warning');\n\nvar isUnitlessNumber = CSSProperty.isUnitlessNumber;\nvar styleWarnings = {};\n\n/**\n * Convert a value into the proper css writable value. The style name `name`\n * should be logical (no hyphens), as specified\n * in `CSSProperty.isUnitlessNumber`.\n *\n * @param {string} name CSS property name such as `topMargin`.\n * @param {*} value CSS property value such as `10px`.\n * @param {ReactDOMComponent} component\n * @return {string} Normalized style value with dimensions applied.\n */\nfunction dangerousStyleValue(name, value, component) {\n // Note that we've removed escapeTextForBrowser() calls here since the\n // whole string will be escaped when the attribute is injected into\n // the markup. If you provide unsafe user data here they can inject\n // arbitrary CSS which may be problematic (I couldn't repro this):\n // https://www.owasp.org/index.php/XSS_Filter_Evasion_Cheat_Sheet\n // http://www.thespanner.co.uk/2007/11/26/ultimate-xss-css-injection/\n // This is not an XSS hole but instead a potential CSS injection issue\n // which has lead to a greater discussion about how we're going to\n // trust URLs moving forward. See #2115901\n\n var isEmpty = value == null || typeof value === 'boolean' || value === '';\n if (isEmpty) {\n return '';\n }\n\n var isNonNumeric = isNaN(value);\n if (isNonNumeric || value === 0 || isUnitlessNumber.hasOwnProperty(name) && isUnitlessNumber[name]) {\n return '' + value; // cast to string\n }\n\n if (typeof value === 'string') {\n if (process.env.NODE_ENV !== 'production') {\n // Allow '0' to pass through without warning. 0 is already special and\n // doesn't require units, so we don't need to warn about it.\n if (component && value !== '0') {\n var owner = component._currentElement._owner;\n var ownerName = owner ? owner.getName() : null;\n if (ownerName && !styleWarnings[ownerName]) {\n styleWarnings[ownerName] = {};\n }\n var warned = false;\n if (ownerName) {\n var warnings = styleWarnings[ownerName];\n warned = warnings[name];\n if (!warned) {\n warnings[name] = true;\n }\n }\n if (!warned) {\n process.env.NODE_ENV !== 'production' ? warning(false, 'a `%s` tag (owner: `%s`) was passed a numeric string value ' + 'for CSS property `%s` (value: `%s`) which will be treated ' + 'as a unitless number in a future version of React.', component._currentElement.type, ownerName || 'unknown', name, value) : void 0;\n }\n }\n }\n value = value.trim();\n }\n return value + 'px';\n}\n\nmodule.exports = dangerousStyleValue;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react/lib/dangerousStyleValue.js\n ** module id = 646\n ** module chunks = 0\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule findDOMNode\n */\n\n'use strict';\n\nvar _prodInvariant = require('./reactProdInvariant');\n\nvar ReactCurrentOwner = require('./ReactCurrentOwner');\nvar ReactDOMComponentTree = require('./ReactDOMComponentTree');\nvar ReactInstanceMap = require('./ReactInstanceMap');\n\nvar getHostComponentFromComposite = require('./getHostComponentFromComposite');\nvar invariant = require('fbjs/lib/invariant');\nvar warning = require('fbjs/lib/warning');\n\n/**\n * Returns the DOM node rendered by this element.\n *\n * See https://facebook.github.io/react/docs/top-level-api.html#reactdom.finddomnode\n *\n * @param {ReactComponent|DOMElement} componentOrElement\n * @return {?DOMElement} The root node of this element.\n */\nfunction findDOMNode(componentOrElement) {\n if (process.env.NODE_ENV !== 'production') {\n var owner = ReactCurrentOwner.current;\n if (owner !== null) {\n process.env.NODE_ENV !== 'production' ? warning(owner._warnedAboutRefsInRender, '%s is accessing findDOMNode inside its render(). ' + 'render() should be a pure function of props and state. It should ' + 'never access something that requires stale data from the previous ' + 'render, such as refs. Move this logic to componentDidMount and ' + 'componentDidUpdate instead.', owner.getName() || 'A component') : void 0;\n owner._warnedAboutRefsInRender = true;\n }\n }\n if (componentOrElement == null) {\n return null;\n }\n if (componentOrElement.nodeType === 1) {\n return componentOrElement;\n }\n\n var inst = ReactInstanceMap.get(componentOrElement);\n if (inst) {\n inst = getHostComponentFromComposite(inst);\n return inst ? ReactDOMComponentTree.getNodeFromInstance(inst) : null;\n }\n\n if (typeof componentOrElement.render === 'function') {\n !false ? process.env.NODE_ENV !== 'production' ? invariant(false, 'findDOMNode was called on an unmounted component.') : _prodInvariant('44') : void 0;\n } else {\n !false ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Element appears to be neither ReactComponent nor DOMNode (keys: %s)', Object.keys(componentOrElement)) : _prodInvariant('45', Object.keys(componentOrElement)) : void 0;\n }\n}\n\nmodule.exports = findDOMNode;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react/lib/findDOMNode.js\n ** module id = 647\n ** module chunks = 0\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule flattenChildren\n * \n */\n\n'use strict';\n\nvar KeyEscapeUtils = require('./KeyEscapeUtils');\nvar traverseAllChildren = require('./traverseAllChildren');\nvar warning = require('fbjs/lib/warning');\n\nvar ReactComponentTreeHook;\n\nif (typeof process !== 'undefined' && process.env && process.env.NODE_ENV === 'test') {\n // Temporary hack.\n // Inline requires don't work well with Jest:\n // https://github.com/facebook/react/issues/7240\n // Remove the inline requires when we don't need them anymore:\n // https://github.com/facebook/react/pull/7178\n ReactComponentTreeHook = require('./ReactComponentTreeHook');\n}\n\n/**\n * @param {function} traverseContext Context passed through traversal.\n * @param {?ReactComponent} child React child component.\n * @param {!string} name String name of key path to child.\n * @param {number=} selfDebugID Optional debugID of the current internal instance.\n */\nfunction flattenSingleChildIntoContext(traverseContext, child, name, selfDebugID) {\n // We found a component instance.\n if (traverseContext && typeof traverseContext === 'object') {\n var result = traverseContext;\n var keyUnique = result[name] === undefined;\n if (process.env.NODE_ENV !== 'production') {\n if (!ReactComponentTreeHook) {\n ReactComponentTreeHook = require('./ReactComponentTreeHook');\n }\n if (!keyUnique) {\n process.env.NODE_ENV !== 'production' ? warning(false, 'flattenChildren(...): Encountered two children with the same key, ' + '`%s`. Child keys must be unique; when two children share a key, only ' + 'the first child will be used.%s', KeyEscapeUtils.unescape(name), ReactComponentTreeHook.getStackAddendumByID(selfDebugID)) : void 0;\n }\n }\n if (keyUnique && child != null) {\n result[name] = child;\n }\n }\n}\n\n/**\n * Flattens children that are typically specified as `props.children`. Any null\n * children will not be included in the resulting object.\n * @return {!object} flattened children keyed by name.\n */\nfunction flattenChildren(children, selfDebugID) {\n if (children == null) {\n return children;\n }\n var result = {};\n\n if (process.env.NODE_ENV !== 'production') {\n traverseAllChildren(children, function (traverseContext, child, name) {\n return flattenSingleChildIntoContext(traverseContext, child, name, selfDebugID);\n }, result);\n } else {\n traverseAllChildren(children, flattenSingleChildIntoContext, result);\n }\n return result;\n}\n\nmodule.exports = flattenChildren;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react/lib/flattenChildren.js\n ** module id = 648\n ** module chunks = 0\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule getEventKey\n */\n\n'use strict';\n\nvar getEventCharCode = require('./getEventCharCode');\n\n/**\n * Normalization of deprecated HTML5 `key` values\n * @see https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent#Key_names\n */\nvar normalizeKey = {\n 'Esc': 'Escape',\n 'Spacebar': ' ',\n 'Left': 'ArrowLeft',\n 'Up': 'ArrowUp',\n 'Right': 'ArrowRight',\n 'Down': 'ArrowDown',\n 'Del': 'Delete',\n 'Win': 'OS',\n 'Menu': 'ContextMenu',\n 'Apps': 'ContextMenu',\n 'Scroll': 'ScrollLock',\n 'MozPrintableKey': 'Unidentified'\n};\n\n/**\n * Translation from legacy `keyCode` to HTML5 `key`\n * Only special keys supported, all others depend on keyboard layout or browser\n * @see https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent#Key_names\n */\nvar translateToKey = {\n 8: 'Backspace',\n 9: 'Tab',\n 12: 'Clear',\n 13: 'Enter',\n 16: 'Shift',\n 17: 'Control',\n 18: 'Alt',\n 19: 'Pause',\n 20: 'CapsLock',\n 27: 'Escape',\n 32: ' ',\n 33: 'PageUp',\n 34: 'PageDown',\n 35: 'End',\n 36: 'Home',\n 37: 'ArrowLeft',\n 38: 'ArrowUp',\n 39: 'ArrowRight',\n 40: 'ArrowDown',\n 45: 'Insert',\n 46: 'Delete',\n 112: 'F1', 113: 'F2', 114: 'F3', 115: 'F4', 116: 'F5', 117: 'F6',\n 118: 'F7', 119: 'F8', 120: 'F9', 121: 'F10', 122: 'F11', 123: 'F12',\n 144: 'NumLock',\n 145: 'ScrollLock',\n 224: 'Meta'\n};\n\n/**\n * @param {object} nativeEvent Native browser event.\n * @return {string} Normalized `key` property.\n */\nfunction getEventKey(nativeEvent) {\n if (nativeEvent.key) {\n // Normalize inconsistent values reported by browsers due to\n // implementations of a working draft specification.\n\n // FireFox implements `key` but returns `MozPrintableKey` for all\n // printable characters (normalized to `Unidentified`), ignore it.\n var key = normalizeKey[nativeEvent.key] || nativeEvent.key;\n if (key !== 'Unidentified') {\n return key;\n }\n }\n\n // Browser does not implement `key`, polyfill as much of it as we can.\n if (nativeEvent.type === 'keypress') {\n var charCode = getEventCharCode(nativeEvent);\n\n // The enter-key is technically both printable and non-printable and can\n // thus be captured by `keypress`, no other non-printable key should.\n return charCode === 13 ? 'Enter' : String.fromCharCode(charCode);\n }\n if (nativeEvent.type === 'keydown' || nativeEvent.type === 'keyup') {\n // While user keyboard layout determines the actual meaning of each\n // `keyCode` value, almost all function keys have a universal value.\n return translateToKey[nativeEvent.keyCode] || 'Unidentified';\n }\n return '';\n}\n\nmodule.exports = getEventKey;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react/lib/getEventKey.js\n ** module id = 649\n ** module chunks = 0\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule getNodeForCharacterOffset\n */\n\n'use strict';\n\n/**\n * Given any node return the first leaf node without children.\n *\n * @param {DOMElement|DOMTextNode} node\n * @return {DOMElement|DOMTextNode}\n */\n\nfunction getLeafNode(node) {\n while (node && node.firstChild) {\n node = node.firstChild;\n }\n return node;\n}\n\n/**\n * Get the next sibling within a container. This will walk up the\n * DOM if a node's siblings have been exhausted.\n *\n * @param {DOMElement|DOMTextNode} node\n * @return {?DOMElement|DOMTextNode}\n */\nfunction getSiblingNode(node) {\n while (node) {\n if (node.nextSibling) {\n return node.nextSibling;\n }\n node = node.parentNode;\n }\n}\n\n/**\n * Get object describing the nodes which contain characters at offset.\n *\n * @param {DOMElement|DOMTextNode} root\n * @param {number} offset\n * @return {?object}\n */\nfunction getNodeForCharacterOffset(root, offset) {\n var node = getLeafNode(root);\n var nodeStart = 0;\n var nodeEnd = 0;\n\n while (node) {\n if (node.nodeType === 3) {\n nodeEnd = nodeStart + node.textContent.length;\n\n if (nodeStart <= offset && nodeEnd >= offset) {\n return {\n node: node,\n offset: offset - nodeStart\n };\n }\n\n nodeStart = nodeEnd;\n }\n\n node = getLeafNode(getSiblingNode(node));\n }\n}\n\nmodule.exports = getNodeForCharacterOffset;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react/lib/getNodeForCharacterOffset.js\n ** module id = 650\n ** module chunks = 0\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule getVendorPrefixedEventName\n */\n\n'use strict';\n\nvar ExecutionEnvironment = require('fbjs/lib/ExecutionEnvironment');\n\n/**\n * Generate a mapping of standard vendor prefixes using the defined style property and event name.\n *\n * @param {string} styleProp\n * @param {string} eventName\n * @returns {object}\n */\nfunction makePrefixMap(styleProp, eventName) {\n var prefixes = {};\n\n prefixes[styleProp.toLowerCase()] = eventName.toLowerCase();\n prefixes['Webkit' + styleProp] = 'webkit' + eventName;\n prefixes['Moz' + styleProp] = 'moz' + eventName;\n prefixes['ms' + styleProp] = 'MS' + eventName;\n prefixes['O' + styleProp] = 'o' + eventName.toLowerCase();\n\n return prefixes;\n}\n\n/**\n * A list of event names to a configurable list of vendor prefixes.\n */\nvar vendorPrefixes = {\n animationend: makePrefixMap('Animation', 'AnimationEnd'),\n animationiteration: makePrefixMap('Animation', 'AnimationIteration'),\n animationstart: makePrefixMap('Animation', 'AnimationStart'),\n transitionend: makePrefixMap('Transition', 'TransitionEnd')\n};\n\n/**\n * Event names that have already been detected and prefixed (if applicable).\n */\nvar prefixedEventNames = {};\n\n/**\n * Element to check for prefixes on.\n */\nvar style = {};\n\n/**\n * Bootstrap if a DOM exists.\n */\nif (ExecutionEnvironment.canUseDOM) {\n style = document.createElement('div').style;\n\n // On some platforms, in particular some releases of Android 4.x,\n // the un-prefixed \"animation\" and \"transition\" properties are defined on the\n // style object but the events that fire will still be prefixed, so we need\n // to check if the un-prefixed events are usable, and if not remove them from the map.\n if (!('AnimationEvent' in window)) {\n delete vendorPrefixes.animationend.animation;\n delete vendorPrefixes.animationiteration.animation;\n delete vendorPrefixes.animationstart.animation;\n }\n\n // Same as above\n if (!('TransitionEvent' in window)) {\n delete vendorPrefixes.transitionend.transition;\n }\n}\n\n/**\n * Attempts to determine the correct vendor prefixed event name.\n *\n * @param {string} eventName\n * @returns {string}\n */\nfunction getVendorPrefixedEventName(eventName) {\n if (prefixedEventNames[eventName]) {\n return prefixedEventNames[eventName];\n } else if (!vendorPrefixes[eventName]) {\n return eventName;\n }\n\n var prefixMap = vendorPrefixes[eventName];\n\n for (var styleProp in prefixMap) {\n if (prefixMap.hasOwnProperty(styleProp) && styleProp in style) {\n return prefixedEventNames[eventName] = prefixMap[styleProp];\n }\n }\n\n return '';\n}\n\nmodule.exports = getVendorPrefixedEventName;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react/lib/getVendorPrefixedEventName.js\n ** module id = 651\n ** module chunks = 0\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule onlyChild\n */\n'use strict';\n\nvar _prodInvariant = require('./reactProdInvariant');\n\nvar ReactElement = require('./ReactElement');\n\nvar invariant = require('fbjs/lib/invariant');\n\n/**\n * Returns the first child in a collection of children and verifies that there\n * is only one child in the collection.\n *\n * See https://facebook.github.io/react/docs/top-level-api.html#react.children.only\n *\n * The current implementation of this function assumes that a single child gets\n * passed without a wrapper, but the purpose of this helper function is to\n * abstract away the particular structure of children.\n *\n * @param {?object} children Child collection structure.\n * @return {ReactElement} The first and only `ReactElement` contained in the\n * structure.\n */\nfunction onlyChild(children) {\n !ReactElement.isValidElement(children) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'React.Children.only expected to receive a single React element child.') : _prodInvariant('143') : void 0;\n return children;\n}\n\nmodule.exports = onlyChild;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react/lib/onlyChild.js\n ** module id = 652\n ** module chunks = 0\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule quoteAttributeValueForBrowser\n */\n\n'use strict';\n\nvar escapeTextContentForBrowser = require('./escapeTextContentForBrowser');\n\n/**\n * Escapes attribute value to prevent scripting attacks.\n *\n * @param {*} value Value to escape.\n * @return {string} An escaped string.\n */\nfunction quoteAttributeValueForBrowser(value) {\n return '\"' + escapeTextContentForBrowser(value) + '\"';\n}\n\nmodule.exports = quoteAttributeValueForBrowser;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react/lib/quoteAttributeValueForBrowser.js\n ** module id = 653\n ** module chunks = 0\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n* @providesModule renderSubtreeIntoContainer\n*/\n\n'use strict';\n\nvar ReactMount = require('./ReactMount');\n\nmodule.exports = ReactMount.renderSubtreeIntoContainer;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react/lib/renderSubtreeIntoContainer.js\n ** module id = 654\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\nfunction createThunkMiddleware(extraArgument) {\n return function (_ref) {\n var dispatch = _ref.dispatch;\n var getState = _ref.getState;\n return function (next) {\n return function (action) {\n if (typeof action === 'function') {\n return action(dispatch, getState, extraArgument);\n }\n\n return next(action);\n };\n };\n };\n}\n\nvar thunk = createThunkMiddleware();\nthunk.withExtraArgument = createThunkMiddleware;\n\nexports['default'] = thunk;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/redux-thunk/lib/index.js\n ** module id = 655\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nexports[\"default\"] = applyMiddleware;\n\nvar _compose = require('./compose');\n\nvar _compose2 = _interopRequireDefault(_compose);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\n/**\n * Creates a store enhancer that applies middleware to the dispatch method\n * of the Redux store. This is handy for a variety of tasks, such as expressing\n * asynchronous actions in a concise manner, or logging every action payload.\n *\n * See `redux-thunk` package as an example of the Redux middleware.\n *\n * Because middleware is potentially asynchronous, this should be the first\n * store enhancer in the composition chain.\n *\n * Note that each middleware will be given the `dispatch` and `getState` functions\n * as named arguments.\n *\n * @param {...Function} middlewares The middleware chain to be applied.\n * @returns {Function} A store enhancer applying the middleware.\n */\nfunction applyMiddleware() {\n for (var _len = arguments.length, middlewares = Array(_len), _key = 0; _key < _len; _key++) {\n middlewares[_key] = arguments[_key];\n }\n\n return function (createStore) {\n return function (reducer, initialState, enhancer) {\n var store = createStore(reducer, initialState, enhancer);\n var _dispatch = store.dispatch;\n var chain = [];\n\n var middlewareAPI = {\n getState: store.getState,\n dispatch: function dispatch(action) {\n return _dispatch(action);\n }\n };\n chain = middlewares.map(function (middleware) {\n return middleware(middlewareAPI);\n });\n _dispatch = _compose2[\"default\"].apply(undefined, chain)(store.dispatch);\n\n return _extends({}, store, {\n dispatch: _dispatch\n });\n };\n };\n}\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/redux/lib/applyMiddleware.js\n ** module id = 656\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\nexports[\"default\"] = bindActionCreators;\nfunction bindActionCreator(actionCreator, dispatch) {\n return function () {\n return dispatch(actionCreator.apply(undefined, arguments));\n };\n}\n\n/**\n * Turns an object whose values are action creators, into an object with the\n * same keys, but with every function wrapped into a `dispatch` call so they\n * may be invoked directly. This is just a convenience method, as you can call\n * `store.dispatch(MyActionCreators.doSomething())` yourself just fine.\n *\n * For convenience, you can also pass a single function as the first argument,\n * and get a function in return.\n *\n * @param {Function|Object} actionCreators An object whose values are action\n * creator functions. One handy way to obtain it is to use ES6 `import * as`\n * syntax. You may also pass a single function.\n *\n * @param {Function} dispatch The `dispatch` function available on your Redux\n * store.\n *\n * @returns {Function|Object} The object mimicking the original object, but with\n * every action creator wrapped into the `dispatch` call. If you passed a\n * function as `actionCreators`, the return value will also be a single\n * function.\n */\nfunction bindActionCreators(actionCreators, dispatch) {\n if (typeof actionCreators === 'function') {\n return bindActionCreator(actionCreators, dispatch);\n }\n\n if (typeof actionCreators !== 'object' || actionCreators === null) {\n throw new Error('bindActionCreators expected an object or a function, instead received ' + (actionCreators === null ? 'null' : typeof actionCreators) + '. ' + 'Did you write \"import ActionCreators from\" instead of \"import * as ActionCreators from\"?');\n }\n\n var keys = Object.keys(actionCreators);\n var boundActionCreators = {};\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n var actionCreator = actionCreators[key];\n if (typeof actionCreator === 'function') {\n boundActionCreators[key] = bindActionCreator(actionCreator, dispatch);\n }\n }\n return boundActionCreators;\n}\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/redux/lib/bindActionCreators.js\n ** module id = 657\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\nexports[\"default\"] = combineReducers;\n\nvar _createStore = require('./createStore');\n\nvar _isPlainObject = require('lodash/isPlainObject');\n\nvar _isPlainObject2 = _interopRequireDefault(_isPlainObject);\n\nvar _warning = require('./utils/warning');\n\nvar _warning2 = _interopRequireDefault(_warning);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction getUndefinedStateErrorMessage(key, action) {\n var actionType = action && action.type;\n var actionName = actionType && '\"' + actionType.toString() + '\"' || 'an action';\n\n return 'Given action ' + actionName + ', reducer \"' + key + '\" returned undefined. ' + 'To ignore an action, you must explicitly return the previous state.';\n}\n\nfunction getUnexpectedStateShapeWarningMessage(inputState, reducers, action) {\n var reducerKeys = Object.keys(reducers);\n var argumentName = action && action.type === _createStore.ActionTypes.INIT ? 'initialState argument passed to createStore' : 'previous state received by the reducer';\n\n if (reducerKeys.length === 0) {\n return 'Store does not have a valid reducer. Make sure the argument passed ' + 'to combineReducers is an object whose values are reducers.';\n }\n\n if (!(0, _isPlainObject2[\"default\"])(inputState)) {\n return 'The ' + argumentName + ' has unexpected type of \"' + {}.toString.call(inputState).match(/\\s([a-z|A-Z]+)/)[1] + '\". Expected argument to be an object with the following ' + ('keys: \"' + reducerKeys.join('\", \"') + '\"');\n }\n\n var unexpectedKeys = Object.keys(inputState).filter(function (key) {\n return !reducers.hasOwnProperty(key);\n });\n\n if (unexpectedKeys.length > 0) {\n return 'Unexpected ' + (unexpectedKeys.length > 1 ? 'keys' : 'key') + ' ' + ('\"' + unexpectedKeys.join('\", \"') + '\" found in ' + argumentName + '. ') + 'Expected to find one of the known reducer keys instead: ' + ('\"' + reducerKeys.join('\", \"') + '\". Unexpected keys will be ignored.');\n }\n}\n\nfunction assertReducerSanity(reducers) {\n Object.keys(reducers).forEach(function (key) {\n var reducer = reducers[key];\n var initialState = reducer(undefined, { type: _createStore.ActionTypes.INIT });\n\n if (typeof initialState === 'undefined') {\n throw new Error('Reducer \"' + key + '\" returned undefined during initialization. ' + 'If the state passed to the reducer is undefined, you must ' + 'explicitly return the initial state. The initial state may ' + 'not be undefined.');\n }\n\n var type = '@@redux/PROBE_UNKNOWN_ACTION_' + Math.random().toString(36).substring(7).split('').join('.');\n if (typeof reducer(undefined, { type: type }) === 'undefined') {\n throw new Error('Reducer \"' + key + '\" returned undefined when probed with a random type. ' + ('Don\\'t try to handle ' + _createStore.ActionTypes.INIT + ' or other actions in \"redux/*\" ') + 'namespace. They are considered private. Instead, you must return the ' + 'current state for any unknown actions, unless it is undefined, ' + 'in which case you must return the initial state, regardless of the ' + 'action type. The initial state may not be undefined.');\n }\n });\n}\n\n/**\n * Turns an object whose values are different reducer functions, into a single\n * reducer function. It will call every child reducer, and gather their results\n * into a single state object, whose keys correspond to the keys of the passed\n * reducer functions.\n *\n * @param {Object} reducers An object whose values correspond to different\n * reducer functions that need to be combined into one. One handy way to obtain\n * it is to use ES6 `import * as reducers` syntax. The reducers may never return\n * undefined for any action. Instead, they should return their initial state\n * if the state passed to them was undefined, and the current state for any\n * unrecognized action.\n *\n * @returns {Function} A reducer function that invokes every reducer inside the\n * passed object, and builds a state object with the same shape.\n */\nfunction combineReducers(reducers) {\n var reducerKeys = Object.keys(reducers);\n var finalReducers = {};\n for (var i = 0; i < reducerKeys.length; i++) {\n var key = reducerKeys[i];\n if (typeof reducers[key] === 'function') {\n finalReducers[key] = reducers[key];\n }\n }\n var finalReducerKeys = Object.keys(finalReducers);\n\n var sanityError;\n try {\n assertReducerSanity(finalReducers);\n } catch (e) {\n sanityError = e;\n }\n\n return function combination() {\n var state = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];\n var action = arguments[1];\n\n if (sanityError) {\n throw sanityError;\n }\n\n if (process.env.NODE_ENV !== 'production') {\n var warningMessage = getUnexpectedStateShapeWarningMessage(state, finalReducers, action);\n if (warningMessage) {\n (0, _warning2[\"default\"])(warningMessage);\n }\n }\n\n var hasChanged = false;\n var nextState = {};\n for (var i = 0; i < finalReducerKeys.length; i++) {\n var key = finalReducerKeys[i];\n var reducer = finalReducers[key];\n var previousStateForKey = state[key];\n var nextStateForKey = reducer(previousStateForKey, action);\n if (typeof nextStateForKey === 'undefined') {\n var errorMessage = getUndefinedStateErrorMessage(key, action);\n throw new Error(errorMessage);\n }\n nextState[key] = nextStateForKey;\n hasChanged = hasChanged || nextStateForKey !== previousStateForKey;\n }\n return hasChanged ? nextState : state;\n };\n}\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/redux/lib/combineReducers.js\n ** module id = 658\n ** module chunks = 0\n **/","// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: http://codemirror.net/LICENSE\n\nvar CodeMirror = require(\"codemirror\");\n\nCodeMirror.commands.tabAndIndentMarkdownList = function (cm) {\n\tvar ranges = cm.listSelections();\n\tvar pos = ranges[0].head;\n\tvar eolState = cm.getStateAfter(pos.line);\n\tvar inList = eolState.list !== false;\n\n\tif (inList) {\n\t\tcm.execCommand(\"indentMore\");\n\t\treturn;\n\t}\n\n\tif (cm.options.indentWithTabs) {\n\t\tcm.execCommand(\"insertTab\");\n\t}\n\telse {\n\t\tvar spaces = Array(cm.options.tabSize + 1).join(\" \");\n\t\tcm.replaceSelection(spaces);\n\t}\n};\n\nCodeMirror.commands.shiftTabAndUnindentMarkdownList = function (cm) {\n\tvar ranges = cm.listSelections();\n\tvar pos = ranges[0].head;\n\tvar eolState = cm.getStateAfter(pos.line);\n\tvar inList = eolState.list !== false;\n\n\tif (inList) {\n\t\tcm.execCommand(\"indentLess\");\n\t\treturn;\n\t}\n\n\tif (cm.options.indentWithTabs) {\n\t\tcm.execCommand(\"insertTab\");\n\t}\n\telse {\n\t\tvar spaces = Array(cm.options.tabSize + 1).join(\" \");\n\t\tcm.replaceSelection(spaces);\n\t}\n};\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/simplemde/src/js/codemirror/tablist.js\n ** module id = 659\n ** module chunks = 0\n **/","/*global require,module*/\n\"use strict\";\nvar CodeMirror = require(\"codemirror\");\nrequire(\"codemirror/addon/edit/continuelist.js\");\nrequire(\"./codemirror/tablist\");\nrequire(\"codemirror/addon/display/fullscreen.js\");\nrequire(\"codemirror/mode/markdown/markdown.js\");\nrequire(\"codemirror/addon/mode/overlay.js\");\nrequire(\"codemirror/addon/display/placeholder.js\");\nrequire(\"codemirror/addon/selection/mark-selection.js\");\nrequire(\"codemirror/mode/gfm/gfm.js\");\nrequire(\"codemirror/mode/xml/xml.js\");\nvar CodeMirrorSpellChecker = require(\"codemirror-spell-checker\");\nvar marked = require(\"marked\");\n\n\n// Some variables\nvar isMac = /Mac/.test(navigator.platform);\n\n// Mapping of actions that can be bound to keyboard shortcuts or toolbar buttons\nvar bindings = {\n\t\"toggleBold\": toggleBold,\n\t\"toggleItalic\": toggleItalic,\n\t\"drawLink\": drawLink,\n\t\"toggleHeadingSmaller\": toggleHeadingSmaller,\n\t\"toggleHeadingBigger\": toggleHeadingBigger,\n\t\"drawImage\": drawImage,\n\t\"toggleBlockquote\": toggleBlockquote,\n\t\"toggleOrderedList\": toggleOrderedList,\n\t\"toggleUnorderedList\": toggleUnorderedList,\n\t\"toggleCodeBlock\": toggleCodeBlock,\n\t\"togglePreview\": togglePreview,\n\t\"toggleStrikethrough\": toggleStrikethrough,\n\t\"toggleHeading1\": toggleHeading1,\n\t\"toggleHeading2\": toggleHeading2,\n\t\"toggleHeading3\": toggleHeading3,\n\t\"cleanBlock\": cleanBlock,\n\t\"drawTable\": drawTable,\n\t\"drawHorizontalRule\": drawHorizontalRule,\n\t\"undo\": undo,\n\t\"redo\": redo,\n\t\"toggleSideBySide\": toggleSideBySide,\n\t\"toggleFullScreen\": toggleFullScreen\n};\n\nvar shortcuts = {\n\t\"toggleBold\": \"Cmd-B\",\n\t\"toggleItalic\": \"Cmd-I\",\n\t\"drawLink\": \"Cmd-K\",\n\t\"toggleHeadingSmaller\": \"Cmd-H\",\n\t\"toggleHeadingBigger\": \"Shift-Cmd-H\",\n\t\"cleanBlock\": \"Cmd-E\",\n\t\"drawImage\": \"Cmd-Alt-I\",\n\t\"toggleBlockquote\": \"Cmd-'\",\n\t\"toggleOrderedList\": \"Cmd-Alt-L\",\n\t\"toggleUnorderedList\": \"Cmd-L\",\n\t\"toggleCodeBlock\": \"Cmd-Alt-C\",\n\t\"togglePreview\": \"Cmd-P\",\n\t\"toggleSideBySide\": \"F9\",\n\t\"toggleFullScreen\": \"F11\"\n};\n\nvar getBindingName = function(f) {\n\tfor(var key in bindings) {\n\t\tif(bindings[key] === f) {\n\t\t\treturn key;\n\t\t}\n\t}\n\treturn null;\n};\n\nvar isMobile = function() {\n\tvar check = false;\n\t(function(a) {\n\t\tif(/(android|bb\\d+|meego).+mobile|avantgo|bada\\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\\.(browser|link)|vodafone|wap|windows ce|xda|xiino|android|ipad|playbook|silk/i.test(a) || /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\\-(n|u)|c55\\/|capi|ccwa|cdm\\-|cell|chtm|cldc|cmd\\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\\-s|devi|dica|dmob|do(c|p)o|ds(12|\\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\\-|_)|g1 u|g560|gene|gf\\-5|g\\-mo|go(\\.w|od)|gr(ad|un)|haie|hcit|hd\\-(m|p|t)|hei\\-|hi(pt|ta)|hp( i|ip)|hs\\-c|ht(c(\\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\\-(20|go|ma)|i230|iac( |\\-|\\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\\/)|klon|kpt |kwc\\-|kyo(c|k)|le(no|xi)|lg( g|\\/(k|l|u)|50|54|\\-[a-w])|libw|lynx|m1\\-w|m3ga|m50\\/|ma(te|ui|xo)|mc(01|21|ca)|m\\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\\-2|po(ck|rt|se)|prox|psio|pt\\-g|qa\\-a|qc(07|12|21|32|60|\\-[2-7]|i\\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\\-|oo|p\\-)|sdk\\/|se(c(\\-|0|1)|47|mc|nd|ri)|sgh\\-|shar|sie(\\-|m)|sk\\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\\-|v\\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\\-|tdg\\-|tel(i|m)|tim\\-|t\\-mo|to(pl|sh)|ts(70|m\\-|m3|m5)|tx\\-9|up(\\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\\-|your|zeto|zte\\-/i.test(a.substr(0, 4))) check = true;\n\t})(navigator.userAgent || navigator.vendor || window.opera);\n\treturn check;\n};\n\n\n/**\n * Fix shortcut. Mac use Command, others use Ctrl.\n */\nfunction fixShortcut(name) {\n\tif(isMac) {\n\t\tname = name.replace(\"Ctrl\", \"Cmd\");\n\t} else {\n\t\tname = name.replace(\"Cmd\", \"Ctrl\");\n\t}\n\treturn name;\n}\n\n\n/**\n * Create icon element for toolbar.\n */\nfunction createIcon(options, enableTooltips, shortcuts) {\n\toptions = options || {};\n\tvar el = document.createElement(\"a\");\n\tenableTooltips = (enableTooltips == undefined) ? true : enableTooltips;\n\n\tif(options.title && enableTooltips) {\n\t\tel.title = createTootlip(options.title, options.action, shortcuts);\n\n\t\tif(isMac) {\n\t\t\tel.title = el.title.replace(\"Ctrl\", \"⌘\");\n\t\t\tel.title = el.title.replace(\"Alt\", \"⌥\");\n\t\t}\n\t}\n\n\tel.tabIndex = -1;\n\tel.className = options.className;\n\treturn el;\n}\n\nfunction createSep() {\n\tvar el = document.createElement(\"i\");\n\tel.className = \"separator\";\n\tel.innerHTML = \"|\";\n\treturn el;\n}\n\nfunction createTootlip(title, action, shortcuts) {\n\tvar actionName;\n\tvar tooltip = title;\n\n\tif(action) {\n\t\tactionName = getBindingName(action);\n\t\tif(shortcuts[actionName]) {\n\t\t\ttooltip += \" (\" + fixShortcut(shortcuts[actionName]) + \")\";\n\t\t}\n\t}\n\n\treturn tooltip;\n}\n\n/**\n * The state of CodeMirror at the given position.\n */\nfunction getState(cm, pos) {\n\tpos = pos || cm.getCursor(\"start\");\n\tvar stat = cm.getTokenAt(pos);\n\tif(!stat.type) return {};\n\n\tvar types = stat.type.split(\" \");\n\n\tvar ret = {},\n\t\tdata, text;\n\tfor(var i = 0; i < types.length; i++) {\n\t\tdata = types[i];\n\t\tif(data === \"strong\") {\n\t\t\tret.bold = true;\n\t\t} else if(data === \"variable-2\") {\n\t\t\ttext = cm.getLine(pos.line);\n\t\t\tif(/^\\s*\\d+\\.\\s/.test(text)) {\n\t\t\t\tret[\"ordered-list\"] = true;\n\t\t\t} else {\n\t\t\t\tret[\"unordered-list\"] = true;\n\t\t\t}\n\t\t} else if(data === \"atom\") {\n\t\t\tret.quote = true;\n\t\t} else if(data === \"em\") {\n\t\t\tret.italic = true;\n\t\t} else if(data === \"quote\") {\n\t\t\tret.quote = true;\n\t\t} else if(data === \"strikethrough\") {\n\t\t\tret.strikethrough = true;\n\t\t} else if(data === \"comment\") {\n\t\t\tret.code = true;\n\t\t} else if(data === \"link\") {\n\t\t\tret.link = true;\n\t\t} else if(data === \"tag\") {\n\t\t\tret.image = true;\n\t\t} else if(data.match(/^header(\\-[1-6])?$/)) {\n\t\t\tret[data.replace(\"header\", \"heading\")] = true;\n\t\t}\n\t}\n\treturn ret;\n}\n\n\n// Saved overflow setting\nvar saved_overflow = \"\";\n\n/**\n * Toggle full screen of the editor.\n */\nfunction toggleFullScreen(editor) {\n\t// Set fullscreen\n\tvar cm = editor.codemirror;\n\tcm.setOption(\"fullScreen\", !cm.getOption(\"fullScreen\"));\n\n\n\t// Prevent scrolling on body during fullscreen active\n\tif(cm.getOption(\"fullScreen\")) {\n\t\tsaved_overflow = document.body.style.overflow;\n\t\tdocument.body.style.overflow = \"hidden\";\n\t} else {\n\t\tdocument.body.style.overflow = saved_overflow;\n\t}\n\n\n\t// Update toolbar class\n\tvar wrap = cm.getWrapperElement();\n\n\tif(!/fullscreen/.test(wrap.previousSibling.className)) {\n\t\twrap.previousSibling.className += \" fullscreen\";\n\t} else {\n\t\twrap.previousSibling.className = wrap.previousSibling.className.replace(/\\s*fullscreen\\b/, \"\");\n\t}\n\n\n\t// Update toolbar button\n\tvar toolbarButton = editor.toolbarElements.fullscreen;\n\n\tif(!/active/.test(toolbarButton.className)) {\n\t\ttoolbarButton.className += \" active\";\n\t} else {\n\t\ttoolbarButton.className = toolbarButton.className.replace(/\\s*active\\s*/g, \"\");\n\t}\n\n\n\t// Hide side by side if needed\n\tvar sidebyside = cm.getWrapperElement().nextSibling;\n\tif(/editor-preview-active-side/.test(sidebyside.className))\n\t\ttoggleSideBySide(editor);\n}\n\n\n/**\n * Action for toggling bold.\n */\nfunction toggleBold(editor) {\n\t_toggleBlock(editor, \"bold\", editor.options.blockStyles.bold);\n}\n\n\n/**\n * Action for toggling italic.\n */\nfunction toggleItalic(editor) {\n\t_toggleBlock(editor, \"italic\", editor.options.blockStyles.italic);\n}\n\n\n/**\n * Action for toggling strikethrough.\n */\nfunction toggleStrikethrough(editor) {\n\t_toggleBlock(editor, \"strikethrough\", \"~~\");\n}\n\n/**\n * Action for toggling code block.\n */\nfunction toggleCodeBlock(editor) {\n\tvar fenceCharsToInsert = editor.options.blockStyles.code;\n\n\tfunction fencing_line(line) {\n\t\t/* return true, if this is a ``` or ~~~ line */\n\t\tif(typeof line !== \"object\") {\n\t\t\tthrow \"fencing_line() takes a 'line' object (not a line number, or line text). Got: \" + typeof line + \": \" + line;\n\t\t}\n\t\treturn line.styles && line.styles[2] && line.styles[2].indexOf(\"formatting-code-block\") !== -1;\n\t}\n\n\tfunction token_state(token) {\n\t\t// base goes an extra level deep when mode backdrops are used, e.g. spellchecker on\n\t\treturn token.state.base.base || token.state.base;\n\t}\n\n\tfunction code_type(cm, line_num, line, firstTok, lastTok) {\n\t\t/*\n\t\t * Return \"single\", \"indented\", \"fenced\" or false\n\t\t *\n\t\t * cm and line_num are required. Others are optional for efficiency\n\t\t * To check in the middle of a line, pass in firstTok yourself.\n\t\t */\n\t\tline = line || cm.getLineHandle(line_num);\n\t\tfirstTok = firstTok || cm.getTokenAt({\n\t\t\tline: line_num,\n\t\t\tch: 1\n\t\t});\n\t\tlastTok = lastTok || (!!line.text && cm.getTokenAt({\n\t\t\tline: line_num,\n\t\t\tch: line.text.length - 1\n\t\t}));\n\t\tvar types = firstTok.type ? firstTok.type.split(\" \") : [];\n\t\tif(lastTok && token_state(lastTok).indentedCode) {\n\t\t\t// have to check last char, since first chars of first line aren\"t marked as indented\n\t\t\treturn \"indented\";\n\t\t} else if(types.indexOf(\"comment\") === -1) {\n\t\t\t// has to be after \"indented\" check, since first chars of first indented line aren\"t marked as such\n\t\t\treturn false;\n\t\t} else if(token_state(firstTok).fencedChars || token_state(lastTok).fencedChars || fencing_line(line)) {\n\t\t\treturn \"fenced\";\n\t\t} else {\n\t\t\treturn \"single\";\n\t\t}\n\t}\n\n\tfunction insertFencingAtSelection(cm, cur_start, cur_end, fenceCharsToInsert) {\n\t\tvar start_line_sel = cur_start.line + 1,\n\t\t\tend_line_sel = cur_end.line + 1,\n\t\t\tsel_multi = cur_start.line !== cur_end.line,\n\t\t\trepl_start = fenceCharsToInsert + \"\\n\",\n\t\t\trepl_end = \"\\n\" + fenceCharsToInsert;\n\t\tif(sel_multi) {\n\t\t\tend_line_sel++;\n\t\t}\n\t\t// handle last char including \\n or not\n\t\tif(sel_multi && cur_end.ch === 0) {\n\t\t\trepl_end = fenceCharsToInsert + \"\\n\";\n\t\t\tend_line_sel--;\n\t\t}\n\t\t_replaceSelection(cm, false, [repl_start, repl_end]);\n\t\tcm.setSelection({\n\t\t\tline: start_line_sel,\n\t\t\tch: 0\n\t\t}, {\n\t\t\tline: end_line_sel,\n\t\t\tch: 0\n\t\t});\n\t}\n\n\tvar cm = editor.codemirror,\n\t\tcur_start = cm.getCursor(\"start\"),\n\t\tcur_end = cm.getCursor(\"end\"),\n\t\ttok = cm.getTokenAt({\n\t\t\tline: cur_start.line,\n\t\t\tch: cur_start.ch || 1\n\t\t}), // avoid ch 0 which is a cursor pos but not token\n\t\tline = cm.getLineHandle(cur_start.line),\n\t\tis_code = code_type(cm, cur_start.line, line, tok);\n\tvar block_start, block_end, lineCount;\n\n\tif(is_code === \"single\") {\n\t\t// similar to some SimpleMDE _toggleBlock logic\n\t\tvar start = line.text.slice(0, cur_start.ch).replace(\"`\", \"\"),\n\t\t\tend = line.text.slice(cur_start.ch).replace(\"`\", \"\");\n\t\tcm.replaceRange(start + end, {\n\t\t\tline: cur_start.line,\n\t\t\tch: 0\n\t\t}, {\n\t\t\tline: cur_start.line,\n\t\t\tch: 99999999999999\n\t\t});\n\t\tcur_start.ch--;\n\t\tif(cur_start !== cur_end) {\n\t\t\tcur_end.ch--;\n\t\t}\n\t\tcm.setSelection(cur_start, cur_end);\n\t\tcm.focus();\n\t} else if(is_code === \"fenced\") {\n\t\tif(cur_start.line !== cur_end.line || cur_start.ch !== cur_end.ch) {\n\t\t\t// use selection\n\n\t\t\t// find the fenced line so we know what type it is (tilde, backticks, number of them)\n\t\t\tfor(block_start = cur_start.line; block_start >= 0; block_start--) {\n\t\t\t\tline = cm.getLineHandle(block_start);\n\t\t\t\tif(fencing_line(line)) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t\tvar fencedTok = cm.getTokenAt({\n\t\t\t\tline: block_start,\n\t\t\t\tch: 1\n\t\t\t});\n\t\t\tvar fence_chars = token_state(fencedTok).fencedChars;\n\t\t\tvar start_text, start_line;\n\t\t\tvar end_text, end_line;\n\t\t\t// check for selection going up against fenced lines, in which case we don't want to add more fencing\n\t\t\tif(fencing_line(cm.getLineHandle(cur_start.line))) {\n\t\t\t\tstart_text = \"\";\n\t\t\t\tstart_line = cur_start.line;\n\t\t\t} else if(fencing_line(cm.getLineHandle(cur_start.line - 1))) {\n\t\t\t\tstart_text = \"\";\n\t\t\t\tstart_line = cur_start.line - 1;\n\t\t\t} else {\n\t\t\t\tstart_text = fence_chars + \"\\n\";\n\t\t\t\tstart_line = cur_start.line;\n\t\t\t}\n\t\t\tif(fencing_line(cm.getLineHandle(cur_end.line))) {\n\t\t\t\tend_text = \"\";\n\t\t\t\tend_line = cur_end.line;\n\t\t\t\tif(cur_end.ch === 0) {\n\t\t\t\t\tend_line += 1;\n\t\t\t\t}\n\t\t\t} else if(cur_end.ch !== 0 && fencing_line(cm.getLineHandle(cur_end.line + 1))) {\n\t\t\t\tend_text = \"\";\n\t\t\t\tend_line = cur_end.line + 1;\n\t\t\t} else {\n\t\t\t\tend_text = fence_chars + \"\\n\";\n\t\t\t\tend_line = cur_end.line + 1;\n\t\t\t}\n\t\t\tif(cur_end.ch === 0) {\n\t\t\t\t// full last line selected, putting cursor at beginning of next\n\t\t\t\tend_line -= 1;\n\t\t\t}\n\t\t\tcm.operation(function() {\n\t\t\t\t// end line first, so that line numbers don't change\n\t\t\t\tcm.replaceRange(end_text, {\n\t\t\t\t\tline: end_line,\n\t\t\t\t\tch: 0\n\t\t\t\t}, {\n\t\t\t\t\tline: end_line + (end_text ? 0 : 1),\n\t\t\t\t\tch: 0\n\t\t\t\t});\n\t\t\t\tcm.replaceRange(start_text, {\n\t\t\t\t\tline: start_line,\n\t\t\t\t\tch: 0\n\t\t\t\t}, {\n\t\t\t\t\tline: start_line + (start_text ? 0 : 1),\n\t\t\t\t\tch: 0\n\t\t\t\t});\n\t\t\t});\n\t\t\tcm.setSelection({\n\t\t\t\tline: start_line + (start_text ? 1 : 0),\n\t\t\t\tch: 0\n\t\t\t}, {\n\t\t\t\tline: end_line + (start_text ? 1 : -1),\n\t\t\t\tch: 0\n\t\t\t});\n\t\t\tcm.focus();\n\t\t} else {\n\t\t\t// no selection, search for ends of this fenced block\n\t\t\tvar search_from = cur_start.line;\n\t\t\tif(fencing_line(cm.getLineHandle(cur_start.line))) { // gets a little tricky if cursor is right on a fenced line\n\t\t\t\tif(code_type(cm, cur_start.line + 1) === \"fenced\") {\n\t\t\t\t\tblock_start = cur_start.line;\n\t\t\t\t\tsearch_from = cur_start.line + 1; // for searching for \"end\"\n\t\t\t\t} else {\n\t\t\t\t\tblock_end = cur_start.line;\n\t\t\t\t\tsearch_from = cur_start.line - 1; // for searching for \"start\"\n\t\t\t\t}\n\t\t\t}\n\t\t\tif(block_start === undefined) {\n\t\t\t\tfor(block_start = search_from; block_start >= 0; block_start--) {\n\t\t\t\t\tline = cm.getLineHandle(block_start);\n\t\t\t\t\tif(fencing_line(line)) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tif(block_end === undefined) {\n\t\t\t\tlineCount = cm.lineCount();\n\t\t\t\tfor(block_end = search_from; block_end < lineCount; block_end++) {\n\t\t\t\t\tline = cm.getLineHandle(block_end);\n\t\t\t\t\tif(fencing_line(line)) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tcm.operation(function() {\n\t\t\t\tcm.replaceRange(\"\", {\n\t\t\t\t\tline: block_start,\n\t\t\t\t\tch: 0\n\t\t\t\t}, {\n\t\t\t\t\tline: block_start + 1,\n\t\t\t\t\tch: 0\n\t\t\t\t});\n\t\t\t\tcm.replaceRange(\"\", {\n\t\t\t\t\tline: block_end - 1,\n\t\t\t\t\tch: 0\n\t\t\t\t}, {\n\t\t\t\t\tline: block_end,\n\t\t\t\t\tch: 0\n\t\t\t\t});\n\t\t\t});\n\t\t\tcm.focus();\n\t\t}\n\t} else if(is_code === \"indented\") {\n\t\tif(cur_start.line !== cur_end.line || cur_start.ch !== cur_end.ch) {\n\t\t\t// use selection\n\t\t\tblock_start = cur_start.line;\n\t\t\tblock_end = cur_end.line;\n\t\t\tif(cur_end.ch === 0) {\n\t\t\t\tblock_end--;\n\t\t\t}\n\t\t} else {\n\t\t\t// no selection, search for ends of this indented block\n\t\t\tfor(block_start = cur_start.line; block_start >= 0; block_start--) {\n\t\t\t\tline = cm.getLineHandle(block_start);\n\t\t\t\tif(line.text.match(/^\\s*$/)) {\n\t\t\t\t\t// empty or all whitespace - keep going\n\t\t\t\t\tcontinue;\n\t\t\t\t} else {\n\t\t\t\t\tif(code_type(cm, block_start, line) !== \"indented\") {\n\t\t\t\t\t\tblock_start += 1;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tlineCount = cm.lineCount();\n\t\t\tfor(block_end = cur_start.line; block_end < lineCount; block_end++) {\n\t\t\t\tline = cm.getLineHandle(block_end);\n\t\t\t\tif(line.text.match(/^\\s*$/)) {\n\t\t\t\t\t// empty or all whitespace - keep going\n\t\t\t\t\tcontinue;\n\t\t\t\t} else {\n\t\t\t\t\tif(code_type(cm, block_end, line) !== \"indented\") {\n\t\t\t\t\t\tblock_end -= 1;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t// if we are going to un-indent based on a selected set of lines, and the next line is indented too, we need to\n\t\t// insert a blank line so that the next line(s) continue to be indented code\n\t\tvar next_line = cm.getLineHandle(block_end + 1),\n\t\t\tnext_line_last_tok = next_line && cm.getTokenAt({\n\t\t\t\tline: block_end + 1,\n\t\t\t\tch: next_line.text.length - 1\n\t\t\t}),\n\t\t\tnext_line_indented = next_line_last_tok && token_state(next_line_last_tok).indentedCode;\n\t\tif(next_line_indented) {\n\t\t\tcm.replaceRange(\"\\n\", {\n\t\t\t\tline: block_end + 1,\n\t\t\t\tch: 0\n\t\t\t});\n\t\t}\n\n\t\tfor(var i = block_start; i <= block_end; i++) {\n\t\t\tcm.indentLine(i, \"subtract\"); // TODO: this doesn't get tracked in the history, so can't be undone :(\n\t\t}\n\t\tcm.focus();\n\t} else {\n\t\t// insert code formatting\n\t\tvar no_sel_and_starting_of_line = (cur_start.line === cur_end.line && cur_start.ch === cur_end.ch && cur_start.ch === 0);\n\t\tvar sel_multi = cur_start.line !== cur_end.line;\n\t\tif(no_sel_and_starting_of_line || sel_multi) {\n\t\t\tinsertFencingAtSelection(cm, cur_start, cur_end, fenceCharsToInsert);\n\t\t} else {\n\t\t\t_replaceSelection(cm, false, [\"`\", \"`\"]);\n\t\t}\n\t}\n}\n\n/**\n * Action for toggling blockquote.\n */\nfunction toggleBlockquote(editor) {\n\tvar cm = editor.codemirror;\n\t_toggleLine(cm, \"quote\");\n}\n\n/**\n * Action for toggling heading size: normal -> h1 -> h2 -> h3 -> h4 -> h5 -> h6 -> normal\n */\nfunction toggleHeadingSmaller(editor) {\n\tvar cm = editor.codemirror;\n\t_toggleHeading(cm, \"smaller\");\n}\n\n/**\n * Action for toggling heading size: normal -> h6 -> h5 -> h4 -> h3 -> h2 -> h1 -> normal\n */\nfunction toggleHeadingBigger(editor) {\n\tvar cm = editor.codemirror;\n\t_toggleHeading(cm, \"bigger\");\n}\n\n/**\n * Action for toggling heading size 1\n */\nfunction toggleHeading1(editor) {\n\tvar cm = editor.codemirror;\n\t_toggleHeading(cm, undefined, 1);\n}\n\n/**\n * Action for toggling heading size 2\n */\nfunction toggleHeading2(editor) {\n\tvar cm = editor.codemirror;\n\t_toggleHeading(cm, undefined, 2);\n}\n\n/**\n * Action for toggling heading size 3\n */\nfunction toggleHeading3(editor) {\n\tvar cm = editor.codemirror;\n\t_toggleHeading(cm, undefined, 3);\n}\n\n\n/**\n * Action for toggling ul.\n */\nfunction toggleUnorderedList(editor) {\n\tvar cm = editor.codemirror;\n\t_toggleLine(cm, \"unordered-list\");\n}\n\n\n/**\n * Action for toggling ol.\n */\nfunction toggleOrderedList(editor) {\n\tvar cm = editor.codemirror;\n\t_toggleLine(cm, \"ordered-list\");\n}\n\n/**\n * Action for clean block (remove headline, list, blockquote code, markers)\n */\nfunction cleanBlock(editor) {\n\tvar cm = editor.codemirror;\n\t_cleanBlock(cm);\n}\n\n/**\n * Action for drawing a link.\n */\nfunction drawLink(editor) {\n\tvar cm = editor.codemirror;\n\tvar stat = getState(cm);\n\tvar options = editor.options;\n\tvar url = \"http://\";\n\tif(options.promptURLs) {\n\t\turl = prompt(options.promptTexts.link);\n\t\tif(!url) {\n\t\t\treturn false;\n\t\t}\n\t}\n\t_replaceSelection(cm, stat.link, options.insertTexts.link, url);\n}\n\n/**\n * Action for drawing an img.\n */\nfunction drawImage(editor) {\n\tvar cm = editor.codemirror;\n\tvar stat = getState(cm);\n\tvar options = editor.options;\n\tvar url = \"http://\";\n\tif(options.promptURLs) {\n\t\turl = prompt(options.promptTexts.image);\n\t\tif(!url) {\n\t\t\treturn false;\n\t\t}\n\t}\n\t_replaceSelection(cm, stat.image, options.insertTexts.image, url);\n}\n\n/**\n * Action for drawing a table.\n */\nfunction drawTable(editor) {\n\tvar cm = editor.codemirror;\n\tvar stat = getState(cm);\n\tvar options = editor.options;\n\t_replaceSelection(cm, stat.table, options.insertTexts.table);\n}\n\n/**\n * Action for drawing a horizontal rule.\n */\nfunction drawHorizontalRule(editor) {\n\tvar cm = editor.codemirror;\n\tvar stat = getState(cm);\n\tvar options = editor.options;\n\t_replaceSelection(cm, stat.image, options.insertTexts.horizontalRule);\n}\n\n\n/**\n * Undo action.\n */\nfunction undo(editor) {\n\tvar cm = editor.codemirror;\n\tcm.undo();\n\tcm.focus();\n}\n\n\n/**\n * Redo action.\n */\nfunction redo(editor) {\n\tvar cm = editor.codemirror;\n\tcm.redo();\n\tcm.focus();\n}\n\n\n/**\n * Toggle side by side preview\n */\nfunction toggleSideBySide(editor) {\n\tvar cm = editor.codemirror;\n\tvar wrapper = cm.getWrapperElement();\n\tvar preview = wrapper.nextSibling;\n\tvar toolbarButton = editor.toolbarElements[\"side-by-side\"];\n\tvar useSideBySideListener = false;\n\tif(/editor-preview-active-side/.test(preview.className)) {\n\t\tpreview.className = preview.className.replace(\n\t\t\t/\\s*editor-preview-active-side\\s*/g, \"\"\n\t\t);\n\t\ttoolbarButton.className = toolbarButton.className.replace(/\\s*active\\s*/g, \"\");\n\t\twrapper.className = wrapper.className.replace(/\\s*CodeMirror-sided\\s*/g, \" \");\n\t} else {\n\t\t// When the preview button is clicked for the first time,\n\t\t// give some time for the transition from editor.css to fire and the view to slide from right to left,\n\t\t// instead of just appearing.\n\t\tsetTimeout(function() {\n\t\t\tif(!cm.getOption(\"fullScreen\"))\n\t\t\t\ttoggleFullScreen(editor);\n\t\t\tpreview.className += \" editor-preview-active-side\";\n\t\t}, 1);\n\t\ttoolbarButton.className += \" active\";\n\t\twrapper.className += \" CodeMirror-sided\";\n\t\tuseSideBySideListener = true;\n\t}\n\n\t// Hide normal preview if active\n\tvar previewNormal = wrapper.lastChild;\n\tif(/editor-preview-active/.test(previewNormal.className)) {\n\t\tpreviewNormal.className = previewNormal.className.replace(\n\t\t\t/\\s*editor-preview-active\\s*/g, \"\"\n\t\t);\n\t\tvar toolbar = editor.toolbarElements.preview;\n\t\tvar toolbar_div = wrapper.previousSibling;\n\t\ttoolbar.className = toolbar.className.replace(/\\s*active\\s*/g, \"\");\n\t\ttoolbar_div.className = toolbar_div.className.replace(/\\s*disabled-for-preview*/g, \"\");\n\t}\n\n\tvar sideBySideRenderingFunction = function() {\n\t\tpreview.innerHTML = editor.options.previewRender(editor.value(), preview);\n\t};\n\n\tif(!cm.sideBySideRenderingFunction) {\n\t\tcm.sideBySideRenderingFunction = sideBySideRenderingFunction;\n\t}\n\n\tif(useSideBySideListener) {\n\t\tpreview.innerHTML = editor.options.previewRender(editor.value(), preview);\n\t\tcm.on(\"update\", cm.sideBySideRenderingFunction);\n\t} else {\n\t\tcm.off(\"update\", cm.sideBySideRenderingFunction);\n\t}\n\n\t// Refresh to fix selection being off (#309)\n\tcm.refresh();\n}\n\n\n/**\n * Preview action.\n */\nfunction togglePreview(editor) {\n\tvar cm = editor.codemirror;\n\tvar wrapper = cm.getWrapperElement();\n\tvar toolbar_div = wrapper.previousSibling;\n\tvar toolbar = editor.options.toolbar ? editor.toolbarElements.preview : false;\n\tvar preview = wrapper.lastChild;\n\tif(!preview || !/editor-preview/.test(preview.className)) {\n\t\tpreview = document.createElement(\"div\");\n\t\tpreview.className = \"editor-preview\";\n\t\twrapper.appendChild(preview);\n\t}\n\tif(/editor-preview-active/.test(preview.className)) {\n\t\tpreview.className = preview.className.replace(\n\t\t\t/\\s*editor-preview-active\\s*/g, \"\"\n\t\t);\n\t\tif(toolbar) {\n\t\t\ttoolbar.className = toolbar.className.replace(/\\s*active\\s*/g, \"\");\n\t\t\ttoolbar_div.className = toolbar_div.className.replace(/\\s*disabled-for-preview*/g, \"\");\n\t\t}\n\t} else {\n\t\t// When the preview button is clicked for the first time,\n\t\t// give some time for the transition from editor.css to fire and the view to slide from right to left,\n\t\t// instead of just appearing.\n\t\tsetTimeout(function() {\n\t\t\tpreview.className += \" editor-preview-active\";\n\t\t}, 1);\n\t\tif(toolbar) {\n\t\t\ttoolbar.className += \" active\";\n\t\t\ttoolbar_div.className += \" disabled-for-preview\";\n\t\t}\n\t}\n\tpreview.innerHTML = editor.options.previewRender(editor.value(), preview);\n\n\t// Turn off side by side if needed\n\tvar sidebyside = cm.getWrapperElement().nextSibling;\n\tif(/editor-preview-active-side/.test(sidebyside.className))\n\t\ttoggleSideBySide(editor);\n}\n\nfunction _replaceSelection(cm, active, startEnd, url) {\n\tif(/editor-preview-active/.test(cm.getWrapperElement().lastChild.className))\n\t\treturn;\n\n\tvar text;\n\tvar start = startEnd[0];\n\tvar end = startEnd[1];\n\tvar startPoint = cm.getCursor(\"start\");\n\tvar endPoint = cm.getCursor(\"end\");\n\tif(url) {\n\t\tend = end.replace(\"#url#\", url);\n\t}\n\tif(active) {\n\t\ttext = cm.getLine(startPoint.line);\n\t\tstart = text.slice(0, startPoint.ch);\n\t\tend = text.slice(startPoint.ch);\n\t\tcm.replaceRange(start + end, {\n\t\t\tline: startPoint.line,\n\t\t\tch: 0\n\t\t});\n\t} else {\n\t\ttext = cm.getSelection();\n\t\tcm.replaceSelection(start + text + end);\n\n\t\tstartPoint.ch += start.length;\n\t\tif(startPoint !== endPoint) {\n\t\t\tendPoint.ch += start.length;\n\t\t}\n\t}\n\tcm.setSelection(startPoint, endPoint);\n\tcm.focus();\n}\n\n\nfunction _toggleHeading(cm, direction, size) {\n\tif(/editor-preview-active/.test(cm.getWrapperElement().lastChild.className))\n\t\treturn;\n\n\tvar startPoint = cm.getCursor(\"start\");\n\tvar endPoint = cm.getCursor(\"end\");\n\tfor(var i = startPoint.line; i <= endPoint.line; i++) {\n\t\t(function(i) {\n\t\t\tvar text = cm.getLine(i);\n\t\t\tvar currHeadingLevel = text.search(/[^#]/);\n\n\t\t\tif(direction !== undefined) {\n\t\t\t\tif(currHeadingLevel <= 0) {\n\t\t\t\t\tif(direction == \"bigger\") {\n\t\t\t\t\t\ttext = \"###### \" + text;\n\t\t\t\t\t} else {\n\t\t\t\t\t\ttext = \"# \" + text;\n\t\t\t\t\t}\n\t\t\t\t} else if(currHeadingLevel == 6 && direction == \"smaller\") {\n\t\t\t\t\ttext = text.substr(7);\n\t\t\t\t} else if(currHeadingLevel == 1 && direction == \"bigger\") {\n\t\t\t\t\ttext = text.substr(2);\n\t\t\t\t} else {\n\t\t\t\t\tif(direction == \"bigger\") {\n\t\t\t\t\t\ttext = text.substr(1);\n\t\t\t\t\t} else {\n\t\t\t\t\t\ttext = \"#\" + text;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif(size == 1) {\n\t\t\t\t\tif(currHeadingLevel <= 0) {\n\t\t\t\t\t\ttext = \"# \" + text;\n\t\t\t\t\t} else if(currHeadingLevel == size) {\n\t\t\t\t\t\ttext = text.substr(currHeadingLevel + 1);\n\t\t\t\t\t} else {\n\t\t\t\t\t\ttext = \"# \" + text.substr(currHeadingLevel + 1);\n\t\t\t\t\t}\n\t\t\t\t} else if(size == 2) {\n\t\t\t\t\tif(currHeadingLevel <= 0) {\n\t\t\t\t\t\ttext = \"## \" + text;\n\t\t\t\t\t} else if(currHeadingLevel == size) {\n\t\t\t\t\t\ttext = text.substr(currHeadingLevel + 1);\n\t\t\t\t\t} else {\n\t\t\t\t\t\ttext = \"## \" + text.substr(currHeadingLevel + 1);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tif(currHeadingLevel <= 0) {\n\t\t\t\t\t\ttext = \"### \" + text;\n\t\t\t\t\t} else if(currHeadingLevel == size) {\n\t\t\t\t\t\ttext = text.substr(currHeadingLevel + 1);\n\t\t\t\t\t} else {\n\t\t\t\t\t\ttext = \"### \" + text.substr(currHeadingLevel + 1);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tcm.replaceRange(text, {\n\t\t\t\tline: i,\n\t\t\t\tch: 0\n\t\t\t}, {\n\t\t\t\tline: i,\n\t\t\t\tch: 99999999999999\n\t\t\t});\n\t\t})(i);\n\t}\n\tcm.focus();\n}\n\n\nfunction _toggleLine(cm, name) {\n\tif(/editor-preview-active/.test(cm.getWrapperElement().lastChild.className))\n\t\treturn;\n\n\tvar stat = getState(cm);\n\tvar startPoint = cm.getCursor(\"start\");\n\tvar endPoint = cm.getCursor(\"end\");\n\tvar repl = {\n\t\t\"quote\": /^(\\s*)\\>\\s+/,\n\t\t\"unordered-list\": /^(\\s*)(\\*|\\-|\\+)\\s+/,\n\t\t\"ordered-list\": /^(\\s*)\\d+\\.\\s+/\n\t};\n\tvar map = {\n\t\t\"quote\": \"> \",\n\t\t\"unordered-list\": \"* \",\n\t\t\"ordered-list\": \"1. \"\n\t};\n\tfor(var i = startPoint.line; i <= endPoint.line; i++) {\n\t\t(function(i) {\n\t\t\tvar text = cm.getLine(i);\n\t\t\tif(stat[name]) {\n\t\t\t\ttext = text.replace(repl[name], \"$1\");\n\t\t\t} else {\n\t\t\t\ttext = map[name] + text;\n\t\t\t}\n\t\t\tcm.replaceRange(text, {\n\t\t\t\tline: i,\n\t\t\t\tch: 0\n\t\t\t}, {\n\t\t\t\tline: i,\n\t\t\t\tch: 99999999999999\n\t\t\t});\n\t\t})(i);\n\t}\n\tcm.focus();\n}\n\nfunction _toggleBlock(editor, type, start_chars, end_chars) {\n\tif(/editor-preview-active/.test(editor.codemirror.getWrapperElement().lastChild.className))\n\t\treturn;\n\n\tend_chars = (typeof end_chars === \"undefined\") ? start_chars : end_chars;\n\tvar cm = editor.codemirror;\n\tvar stat = getState(cm);\n\n\tvar text;\n\tvar start = start_chars;\n\tvar end = end_chars;\n\n\tvar startPoint = cm.getCursor(\"start\");\n\tvar endPoint = cm.getCursor(\"end\");\n\n\tif(stat[type]) {\n\t\ttext = cm.getLine(startPoint.line);\n\t\tstart = text.slice(0, startPoint.ch);\n\t\tend = text.slice(startPoint.ch);\n\t\tif(type == \"bold\") {\n\t\t\tstart = start.replace(/(\\*\\*|__)(?![\\s\\S]*(\\*\\*|__))/, \"\");\n\t\t\tend = end.replace(/(\\*\\*|__)/, \"\");\n\t\t} else if(type == \"italic\") {\n\t\t\tstart = start.replace(/(\\*|_)(?![\\s\\S]*(\\*|_))/, \"\");\n\t\t\tend = end.replace(/(\\*|_)/, \"\");\n\t\t} else if(type == \"strikethrough\") {\n\t\t\tstart = start.replace(/(\\*\\*|~~)(?![\\s\\S]*(\\*\\*|~~))/, \"\");\n\t\t\tend = end.replace(/(\\*\\*|~~)/, \"\");\n\t\t}\n\t\tcm.replaceRange(start + end, {\n\t\t\tline: startPoint.line,\n\t\t\tch: 0\n\t\t}, {\n\t\t\tline: startPoint.line,\n\t\t\tch: 99999999999999\n\t\t});\n\n\t\tif(type == \"bold\" || type == \"strikethrough\") {\n\t\t\tstartPoint.ch -= 2;\n\t\t\tif(startPoint !== endPoint) {\n\t\t\t\tendPoint.ch -= 2;\n\t\t\t}\n\t\t} else if(type == \"italic\") {\n\t\t\tstartPoint.ch -= 1;\n\t\t\tif(startPoint !== endPoint) {\n\t\t\t\tendPoint.ch -= 1;\n\t\t\t}\n\t\t}\n\t} else {\n\t\ttext = cm.getSelection();\n\t\tif(type == \"bold\") {\n\t\t\ttext = text.split(\"**\").join(\"\");\n\t\t\ttext = text.split(\"__\").join(\"\");\n\t\t} else if(type == \"italic\") {\n\t\t\ttext = text.split(\"*\").join(\"\");\n\t\t\ttext = text.split(\"_\").join(\"\");\n\t\t} else if(type == \"strikethrough\") {\n\t\t\ttext = text.split(\"~~\").join(\"\");\n\t\t}\n\t\tcm.replaceSelection(start + text + end);\n\n\t\tstartPoint.ch += start_chars.length;\n\t\tendPoint.ch = startPoint.ch + text.length;\n\t}\n\n\tcm.setSelection(startPoint, endPoint);\n\tcm.focus();\n}\n\nfunction _cleanBlock(cm) {\n\tif(/editor-preview-active/.test(cm.getWrapperElement().lastChild.className))\n\t\treturn;\n\n\tvar startPoint = cm.getCursor(\"start\");\n\tvar endPoint = cm.getCursor(\"end\");\n\tvar text;\n\n\tfor(var line = startPoint.line; line <= endPoint.line; line++) {\n\t\ttext = cm.getLine(line);\n\t\ttext = text.replace(/^[ ]*([# ]+|\\*|\\-|[> ]+|[0-9]+(.|\\)))[ ]*/, \"\");\n\n\t\tcm.replaceRange(text, {\n\t\t\tline: line,\n\t\t\tch: 0\n\t\t}, {\n\t\t\tline: line,\n\t\t\tch: 99999999999999\n\t\t});\n\t}\n}\n\n// Merge the properties of one object into another.\nfunction _mergeProperties(target, source) {\n\tfor(var property in source) {\n\t\tif(source.hasOwnProperty(property)) {\n\t\t\tif(source[property] instanceof Array) {\n\t\t\t\ttarget[property] = source[property].concat(target[property] instanceof Array ? target[property] : []);\n\t\t\t} else if(\n\t\t\t\tsource[property] !== null &&\n\t\t\t\ttypeof source[property] === \"object\" &&\n\t\t\t\tsource[property].constructor === Object\n\t\t\t) {\n\t\t\t\ttarget[property] = _mergeProperties(target[property] || {}, source[property]);\n\t\t\t} else {\n\t\t\t\ttarget[property] = source[property];\n\t\t\t}\n\t\t}\n\t}\n\n\treturn target;\n}\n\n// Merge an arbitrary number of objects into one.\nfunction extend(target) {\n\tfor(var i = 1; i < arguments.length; i++) {\n\t\ttarget = _mergeProperties(target, arguments[i]);\n\t}\n\n\treturn target;\n}\n\n/* The right word count in respect for CJK. */\nfunction wordCount(data) {\n\tvar pattern = /[a-zA-Z0-9_\\u0392-\\u03c9\\u0410-\\u04F9]+|[\\u4E00-\\u9FFF\\u3400-\\u4dbf\\uf900-\\ufaff\\u3040-\\u309f\\uac00-\\ud7af]+/g;\n\tvar m = data.match(pattern);\n\tvar count = 0;\n\tif(m === null) return count;\n\tfor(var i = 0; i < m.length; i++) {\n\t\tif(m[i].charCodeAt(0) >= 0x4E00) {\n\t\t\tcount += m[i].length;\n\t\t} else {\n\t\t\tcount += 1;\n\t\t}\n\t}\n\treturn count;\n}\n\nvar toolbarBuiltInButtons = {\n\t\"bold\": {\n\t\tname: \"bold\",\n\t\taction: toggleBold,\n\t\tclassName: \"fa fa-bold\",\n\t\ttitle: \"Bold\",\n\t\tdefault: true\n\t},\n\t\"italic\": {\n\t\tname: \"italic\",\n\t\taction: toggleItalic,\n\t\tclassName: \"fa fa-italic\",\n\t\ttitle: \"Italic\",\n\t\tdefault: true\n\t},\n\t\"strikethrough\": {\n\t\tname: \"strikethrough\",\n\t\taction: toggleStrikethrough,\n\t\tclassName: \"fa fa-strikethrough\",\n\t\ttitle: \"Strikethrough\"\n\t},\n\t\"heading\": {\n\t\tname: \"heading\",\n\t\taction: toggleHeadingSmaller,\n\t\tclassName: \"fa fa-header\",\n\t\ttitle: \"Heading\",\n\t\tdefault: true\n\t},\n\t\"heading-smaller\": {\n\t\tname: \"heading-smaller\",\n\t\taction: toggleHeadingSmaller,\n\t\tclassName: \"fa fa-header fa-header-x fa-header-smaller\",\n\t\ttitle: \"Smaller Heading\"\n\t},\n\t\"heading-bigger\": {\n\t\tname: \"heading-bigger\",\n\t\taction: toggleHeadingBigger,\n\t\tclassName: \"fa fa-header fa-header-x fa-header-bigger\",\n\t\ttitle: \"Bigger Heading\"\n\t},\n\t\"heading-1\": {\n\t\tname: \"heading-1\",\n\t\taction: toggleHeading1,\n\t\tclassName: \"fa fa-header fa-header-x fa-header-1\",\n\t\ttitle: \"Big Heading\"\n\t},\n\t\"heading-2\": {\n\t\tname: \"heading-2\",\n\t\taction: toggleHeading2,\n\t\tclassName: \"fa fa-header fa-header-x fa-header-2\",\n\t\ttitle: \"Medium Heading\"\n\t},\n\t\"heading-3\": {\n\t\tname: \"heading-3\",\n\t\taction: toggleHeading3,\n\t\tclassName: \"fa fa-header fa-header-x fa-header-3\",\n\t\ttitle: \"Small Heading\"\n\t},\n\t\"separator-1\": {\n\t\tname: \"separator-1\"\n\t},\n\t\"code\": {\n\t\tname: \"code\",\n\t\taction: toggleCodeBlock,\n\t\tclassName: \"fa fa-code\",\n\t\ttitle: \"Code\"\n\t},\n\t\"quote\": {\n\t\tname: \"quote\",\n\t\taction: toggleBlockquote,\n\t\tclassName: \"fa fa-quote-left\",\n\t\ttitle: \"Quote\",\n\t\tdefault: true\n\t},\n\t\"unordered-list\": {\n\t\tname: \"unordered-list\",\n\t\taction: toggleUnorderedList,\n\t\tclassName: \"fa fa-list-ul\",\n\t\ttitle: \"Generic List\",\n\t\tdefault: true\n\t},\n\t\"ordered-list\": {\n\t\tname: \"ordered-list\",\n\t\taction: toggleOrderedList,\n\t\tclassName: \"fa fa-list-ol\",\n\t\ttitle: \"Numbered List\",\n\t\tdefault: true\n\t},\n\t\"clean-block\": {\n\t\tname: \"clean-block\",\n\t\taction: cleanBlock,\n\t\tclassName: \"fa fa-eraser fa-clean-block\",\n\t\ttitle: \"Clean block\"\n\t},\n\t\"separator-2\": {\n\t\tname: \"separator-2\"\n\t},\n\t\"link\": {\n\t\tname: \"link\",\n\t\taction: drawLink,\n\t\tclassName: \"fa fa-link\",\n\t\ttitle: \"Create Link\",\n\t\tdefault: true\n\t},\n\t\"image\": {\n\t\tname: \"image\",\n\t\taction: drawImage,\n\t\tclassName: \"fa fa-picture-o\",\n\t\ttitle: \"Insert Image\",\n\t\tdefault: true\n\t},\n\t\"table\": {\n\t\tname: \"table\",\n\t\taction: drawTable,\n\t\tclassName: \"fa fa-table\",\n\t\ttitle: \"Insert Table\"\n\t},\n\t\"horizontal-rule\": {\n\t\tname: \"horizontal-rule\",\n\t\taction: drawHorizontalRule,\n\t\tclassName: \"fa fa-minus\",\n\t\ttitle: \"Insert Horizontal Line\"\n\t},\n\t\"separator-3\": {\n\t\tname: \"separator-3\"\n\t},\n\t\"preview\": {\n\t\tname: \"preview\",\n\t\taction: togglePreview,\n\t\tclassName: \"fa fa-eye no-disable\",\n\t\ttitle: \"Toggle Preview\",\n\t\tdefault: true\n\t},\n\t\"side-by-side\": {\n\t\tname: \"side-by-side\",\n\t\taction: toggleSideBySide,\n\t\tclassName: \"fa fa-columns no-disable no-mobile\",\n\t\ttitle: \"Toggle Side by Side\",\n\t\tdefault: true\n\t},\n\t\"fullscreen\": {\n\t\tname: \"fullscreen\",\n\t\taction: toggleFullScreen,\n\t\tclassName: \"fa fa-arrows-alt no-disable no-mobile\",\n\t\ttitle: \"Toggle Fullscreen\",\n\t\tdefault: true\n\t},\n\t\"separator-4\": {\n\t\tname: \"separator-4\"\n\t},\n\t\"guide\": {\n\t\tname: \"guide\",\n\t\taction: \"https://simplemde.com/markdown-guide\",\n\t\tclassName: \"fa fa-question-circle\",\n\t\ttitle: \"Markdown Guide\",\n\t\tdefault: true\n\t},\n\t\"separator-5\": {\n\t\tname: \"separator-5\"\n\t},\n\t\"undo\": {\n\t\tname: \"undo\",\n\t\taction: undo,\n\t\tclassName: \"fa fa-undo no-disable\",\n\t\ttitle: \"Undo\"\n\t},\n\t\"redo\": {\n\t\tname: \"redo\",\n\t\taction: redo,\n\t\tclassName: \"fa fa-repeat no-disable\",\n\t\ttitle: \"Redo\"\n\t}\n};\n\nvar insertTexts = {\n\tlink: [\"[\", \"](#url#)\"],\n\timage: [\"![](\", \"#url#)\"],\n\ttable: [\"\", \"\\n\\n| Column 1 | Column 2 | Column 3 |\\n| -------- | -------- | -------- |\\n| Text | Text | Text |\\n\\n\"],\n\thorizontalRule: [\"\", \"\\n\\n-----\\n\\n\"]\n};\n\nvar promptTexts = {\n\tlink: \"URL for the link:\",\n\timage: \"URL of the image:\"\n};\n\nvar blockStyles = {\n\t\"bold\": \"**\",\n\t\"code\": \"```\",\n\t\"italic\": \"*\"\n};\n\n/**\n * Interface of SimpleMDE.\n */\nfunction SimpleMDE(options) {\n\t// Handle options parameter\n\toptions = options || {};\n\n\n\t// Used later to refer to it\"s parent\n\toptions.parent = this;\n\n\n\t// Check if Font Awesome needs to be auto downloaded\n\tvar autoDownloadFA = true;\n\n\tif(options.autoDownloadFontAwesome === false) {\n\t\tautoDownloadFA = false;\n\t}\n\n\tif(options.autoDownloadFontAwesome !== true) {\n\t\tvar styleSheets = document.styleSheets;\n\t\tfor(var i = 0; i < styleSheets.length; i++) {\n\t\t\tif(!styleSheets[i].href)\n\t\t\t\tcontinue;\n\n\t\t\tif(styleSheets[i].href.indexOf(\"//maxcdn.bootstrapcdn.com/font-awesome/\") > -1) {\n\t\t\t\tautoDownloadFA = false;\n\t\t\t}\n\t\t}\n\t}\n\n\tif(autoDownloadFA) {\n\t\tvar link = document.createElement(\"link\");\n\t\tlink.rel = \"stylesheet\";\n\t\tlink.href = \"https://maxcdn.bootstrapcdn.com/font-awesome/latest/css/font-awesome.min.css\";\n\t\tdocument.getElementsByTagName(\"head\")[0].appendChild(link);\n\t}\n\n\n\t// Find the textarea to use\n\tif(options.element) {\n\t\tthis.element = options.element;\n\t} else if(options.element === null) {\n\t\t// This means that the element option was specified, but no element was found\n\t\tconsole.log(\"SimpleMDE: Error. No element was found.\");\n\t\treturn;\n\t}\n\n\n\t// Handle toolbar\n\tif(options.toolbar === undefined) {\n\t\t// Initialize\n\t\toptions.toolbar = [];\n\n\n\t\t// Loop over the built in buttons, to get the preferred order\n\t\tfor(var key in toolbarBuiltInButtons) {\n\t\t\tif(toolbarBuiltInButtons.hasOwnProperty(key)) {\n\t\t\t\tif(key.indexOf(\"separator-\") != -1) {\n\t\t\t\t\toptions.toolbar.push(\"|\");\n\t\t\t\t}\n\n\t\t\t\tif(toolbarBuiltInButtons[key].default === true || (options.showIcons && options.showIcons.constructor === Array && options.showIcons.indexOf(key) != -1)) {\n\t\t\t\t\toptions.toolbar.push(key);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\n\t// Handle status bar\n\tif(!options.hasOwnProperty(\"status\")) {\n\t\toptions.status = [\"autosave\", \"lines\", \"words\", \"cursor\"];\n\t}\n\n\n\t// Add default preview rendering function\n\tif(!options.previewRender) {\n\t\toptions.previewRender = function(plainText) {\n\t\t\t// Note: \"this\" refers to the options object\n\t\t\treturn this.parent.markdown(plainText);\n\t\t};\n\t}\n\n\n\t// Set default options for parsing config\n\toptions.parsingConfig = extend({\n\t\thighlightFormatting: true // needed for toggleCodeBlock to detect types of code\n\t}, options.parsingConfig || {});\n\n\n\t// Merging the insertTexts, with the given options\n\toptions.insertTexts = extend({}, insertTexts, options.insertTexts || {});\n\n\n\t// Merging the promptTexts, with the given options\n\toptions.promptTexts = promptTexts;\n\n\n\t// Merging the blockStyles, with the given options\n\toptions.blockStyles = extend({}, blockStyles, options.blockStyles || {});\n\n\n\t// Merging the shortcuts, with the given options\n\toptions.shortcuts = extend({}, shortcuts, options.shortcuts || {});\n\n\n\t// Change unique_id to uniqueId for backwards compatibility\n\tif(options.autosave != undefined && options.autosave.unique_id != undefined && options.autosave.unique_id != \"\")\n\t\toptions.autosave.uniqueId = options.autosave.unique_id;\n\n\n\t// Update this options\n\tthis.options = options;\n\n\n\t// Auto render\n\tthis.render();\n\n\n\t// The codemirror component is only available after rendering\n\t// so, the setter for the initialValue can only run after\n\t// the element has been rendered\n\tif(options.initialValue && (!this.options.autosave || this.options.autosave.foundSavedValue !== true)) {\n\t\tthis.value(options.initialValue);\n\t}\n}\n\n/**\n * Default markdown render.\n */\nSimpleMDE.prototype.markdown = function(text) {\n\tif(marked) {\n\t\t// Initialize\n\t\tvar markedOptions = {};\n\n\n\t\t// Update options\n\t\tif(this.options && this.options.renderingConfig && this.options.renderingConfig.singleLineBreaks === false) {\n\t\t\tmarkedOptions.breaks = false;\n\t\t} else {\n\t\t\tmarkedOptions.breaks = true;\n\t\t}\n\n\t\tif(this.options && this.options.renderingConfig && this.options.renderingConfig.codeSyntaxHighlighting === true && window.hljs) {\n\t\t\tmarkedOptions.highlight = function(code) {\n\t\t\t\treturn window.hljs.highlightAuto(code).value;\n\t\t\t};\n\t\t}\n\n\n\t\t// Set options\n\t\tmarked.setOptions(markedOptions);\n\n\n\t\t// Return\n\t\treturn marked(text);\n\t}\n};\n\n/**\n * Render editor to the given element.\n */\nSimpleMDE.prototype.render = function(el) {\n\tif(!el) {\n\t\tel = this.element || document.getElementsByTagName(\"textarea\")[0];\n\t}\n\n\tif(this._rendered && this._rendered === el) {\n\t\t// Already rendered.\n\t\treturn;\n\t}\n\n\tthis.element = el;\n\tvar options = this.options;\n\n\tvar self = this;\n\tvar keyMaps = {};\n\n\tfor(var key in options.shortcuts) {\n\t\t// null stands for \"do not bind this command\"\n\t\tif(options.shortcuts[key] !== null && bindings[key] !== null) {\n\t\t\t(function(key) {\n\t\t\t\tkeyMaps[fixShortcut(options.shortcuts[key])] = function() {\n\t\t\t\t\tbindings[key](self);\n\t\t\t\t};\n\t\t\t})(key);\n\t\t}\n\t}\n\n\tkeyMaps[\"Enter\"] = \"newlineAndIndentContinueMarkdownList\";\n\tkeyMaps[\"Tab\"] = \"tabAndIndentMarkdownList\";\n\tkeyMaps[\"Shift-Tab\"] = \"shiftTabAndUnindentMarkdownList\";\n\tkeyMaps[\"Esc\"] = function(cm) {\n\t\tif(cm.getOption(\"fullScreen\")) toggleFullScreen(self);\n\t};\n\n\tdocument.addEventListener(\"keydown\", function(e) {\n\t\te = e || window.event;\n\n\t\tif(e.keyCode == 27) {\n\t\t\tif(self.codemirror.getOption(\"fullScreen\")) toggleFullScreen(self);\n\t\t}\n\t}, false);\n\n\tvar mode, backdrop;\n\tif(options.spellChecker !== false) {\n\t\tmode = \"spell-checker\";\n\t\tbackdrop = options.parsingConfig;\n\t\tbackdrop.name = \"gfm\";\n\t\tbackdrop.gitHubSpice = false;\n\n\t\tCodeMirrorSpellChecker({\n\t\t\tcodeMirrorInstance: CodeMirror\n\t\t});\n\t} else {\n\t\tmode = options.parsingConfig;\n\t\tmode.name = \"gfm\";\n\t\tmode.gitHubSpice = false;\n\t}\n\n\tthis.codemirror = CodeMirror.fromTextArea(el, {\n\t\tmode: mode,\n\t\tbackdrop: backdrop,\n\t\ttheme: \"paper\",\n\t\ttabSize: (options.tabSize != undefined) ? options.tabSize : 2,\n\t\tindentUnit: (options.tabSize != undefined) ? options.tabSize : 2,\n\t\tindentWithTabs: (options.indentWithTabs === false) ? false : true,\n\t\tlineNumbers: false,\n\t\tautofocus: (options.autofocus === true) ? true : false,\n\t\textraKeys: keyMaps,\n\t\tlineWrapping: (options.lineWrapping === false) ? false : true,\n\t\tallowDropFileTypes: [\"text/plain\"],\n\t\tplaceholder: options.placeholder || el.getAttribute(\"placeholder\") || \"\",\n\t\tstyleSelectedText: (options.styleSelectedText != undefined) ? options.styleSelectedText : true\n\t});\n\n\tif(options.forceSync === true) {\n\t\tvar cm = this.codemirror;\n\t\tcm.on(\"change\", function() {\n\t\t\tcm.save();\n\t\t});\n\t}\n\n\tthis.gui = {};\n\n\tif(options.toolbar !== false) {\n\t\tthis.gui.toolbar = this.createToolbar();\n\t}\n\tif(options.status !== false) {\n\t\tthis.gui.statusbar = this.createStatusbar();\n\t}\n\tif(options.autosave != undefined && options.autosave.enabled === true) {\n\t\tthis.autosave();\n\t}\n\n\tthis.gui.sideBySide = this.createSideBySide();\n\n\tthis._rendered = this.element;\n\n\n\t// Fixes CodeMirror bug (#344)\n\tvar temp_cm = this.codemirror;\n\tsetTimeout(function() {\n\t\ttemp_cm.refresh();\n\t}.bind(temp_cm), 0);\n};\n\n// Safari, in Private Browsing Mode, looks like it supports localStorage but all calls to setItem throw QuotaExceededError. We're going to detect this and set a variable accordingly.\nfunction isLocalStorageAvailable() {\n\tif(typeof localStorage === \"object\") {\n\t\ttry {\n\t\t\tlocalStorage.setItem(\"smde_localStorage\", 1);\n\t\t\tlocalStorage.removeItem(\"smde_localStorage\");\n\t\t} catch(e) {\n\t\t\treturn false;\n\t\t}\n\t} else {\n\t\treturn false;\n\t}\n\n\treturn true;\n}\n\nSimpleMDE.prototype.autosave = function() {\n\tif(isLocalStorageAvailable()) {\n\t\tvar simplemde = this;\n\n\t\tif(this.options.autosave.uniqueId == undefined || this.options.autosave.uniqueId == \"\") {\n\t\t\tconsole.log(\"SimpleMDE: You must set a uniqueId to use the autosave feature\");\n\t\t\treturn;\n\t\t}\n\n\t\tif(simplemde.element.form != null && simplemde.element.form != undefined) {\n\t\t\tsimplemde.element.form.addEventListener(\"submit\", function() {\n\t\t\t\tlocalStorage.removeItem(\"smde_\" + simplemde.options.autosave.uniqueId);\n\t\t\t});\n\t\t}\n\n\t\tif(this.options.autosave.loaded !== true) {\n\t\t\tif(typeof localStorage.getItem(\"smde_\" + this.options.autosave.uniqueId) == \"string\" && localStorage.getItem(\"smde_\" + this.options.autosave.uniqueId) != \"\") {\n\t\t\t\tthis.codemirror.setValue(localStorage.getItem(\"smde_\" + this.options.autosave.uniqueId));\n\t\t\t\tthis.options.autosave.foundSavedValue = true;\n\t\t\t}\n\n\t\t\tthis.options.autosave.loaded = true;\n\t\t}\n\n\t\tlocalStorage.setItem(\"smde_\" + this.options.autosave.uniqueId, simplemde.value());\n\n\t\tvar el = document.getElementById(\"autosaved\");\n\t\tif(el != null && el != undefined && el != \"\") {\n\t\t\tvar d = new Date();\n\t\t\tvar hh = d.getHours();\n\t\t\tvar m = d.getMinutes();\n\t\t\tvar dd = \"am\";\n\t\t\tvar h = hh;\n\t\t\tif(h >= 12) {\n\t\t\t\th = hh - 12;\n\t\t\t\tdd = \"pm\";\n\t\t\t}\n\t\t\tif(h == 0) {\n\t\t\t\th = 12;\n\t\t\t}\n\t\t\tm = m < 10 ? \"0\" + m : m;\n\n\t\t\tel.innerHTML = \"Autosaved: \" + h + \":\" + m + \" \" + dd;\n\t\t}\n\n\t\tthis.autosaveTimeoutId = setTimeout(function() {\n\t\t\tsimplemde.autosave();\n\t\t}, this.options.autosave.delay || 10000);\n\t} else {\n\t\tconsole.log(\"SimpleMDE: localStorage not available, cannot autosave\");\n\t}\n};\n\nSimpleMDE.prototype.clearAutosavedValue = function() {\n\tif(isLocalStorageAvailable()) {\n\t\tif(this.options.autosave == undefined || this.options.autosave.uniqueId == undefined || this.options.autosave.uniqueId == \"\") {\n\t\t\tconsole.log(\"SimpleMDE: You must set a uniqueId to clear the autosave value\");\n\t\t\treturn;\n\t\t}\n\n\t\tlocalStorage.removeItem(\"smde_\" + this.options.autosave.uniqueId);\n\t} else {\n\t\tconsole.log(\"SimpleMDE: localStorage not available, cannot autosave\");\n\t}\n};\n\nSimpleMDE.prototype.createSideBySide = function() {\n\tvar cm = this.codemirror;\n\tvar wrapper = cm.getWrapperElement();\n\tvar preview = wrapper.nextSibling;\n\n\tif(!preview || !/editor-preview-side/.test(preview.className)) {\n\t\tpreview = document.createElement(\"div\");\n\t\tpreview.className = \"editor-preview-side\";\n\t\twrapper.parentNode.insertBefore(preview, wrapper.nextSibling);\n\t}\n\n\t// Syncs scroll editor -> preview\n\tvar cScroll = false;\n\tvar pScroll = false;\n\tcm.on(\"scroll\", function(v) {\n\t\tif(cScroll) {\n\t\t\tcScroll = false;\n\t\t\treturn;\n\t\t}\n\t\tpScroll = true;\n\t\tvar height = v.getScrollInfo().height - v.getScrollInfo().clientHeight;\n\t\tvar ratio = parseFloat(v.getScrollInfo().top) / height;\n\t\tvar move = (preview.scrollHeight - preview.clientHeight) * ratio;\n\t\tpreview.scrollTop = move;\n\t});\n\n\t// Syncs scroll preview -> editor\n\tpreview.onscroll = function() {\n\t\tif(pScroll) {\n\t\t\tpScroll = false;\n\t\t\treturn;\n\t\t}\n\t\tcScroll = true;\n\t\tvar height = preview.scrollHeight - preview.clientHeight;\n\t\tvar ratio = parseFloat(preview.scrollTop) / height;\n\t\tvar move = (cm.getScrollInfo().height - cm.getScrollInfo().clientHeight) * ratio;\n\t\tcm.scrollTo(0, move);\n\t};\n\treturn preview;\n};\n\nSimpleMDE.prototype.createToolbar = function(items) {\n\titems = items || this.options.toolbar;\n\n\tif(!items || items.length === 0) {\n\t\treturn;\n\t}\n\tvar i;\n\tfor(i = 0; i < items.length; i++) {\n\t\tif(toolbarBuiltInButtons[items[i]] != undefined) {\n\t\t\titems[i] = toolbarBuiltInButtons[items[i]];\n\t\t}\n\t}\n\n\tvar bar = document.createElement(\"div\");\n\tbar.className = \"editor-toolbar\";\n\n\tvar self = this;\n\n\tvar toolbarData = {};\n\tself.toolbar = items;\n\n\tfor(i = 0; i < items.length; i++) {\n\t\tif(items[i].name == \"guide\" && self.options.toolbarGuideIcon === false)\n\t\t\tcontinue;\n\n\t\tif(self.options.hideIcons && self.options.hideIcons.indexOf(items[i].name) != -1)\n\t\t\tcontinue;\n\n\t\t// Fullscreen does not work well on mobile devices (even tablets)\n\t\t// In the future, hopefully this can be resolved\n\t\tif((items[i].name == \"fullscreen\" || items[i].name == \"side-by-side\") && isMobile())\n\t\t\tcontinue;\n\n\n\t\t// Don't include trailing separators\n\t\tif(items[i] === \"|\") {\n\t\t\tvar nonSeparatorIconsFollow = false;\n\n\t\t\tfor(var x = (i + 1); x < items.length; x++) {\n\t\t\t\tif(items[x] !== \"|\" && (!self.options.hideIcons || self.options.hideIcons.indexOf(items[x].name) == -1)) {\n\t\t\t\t\tnonSeparatorIconsFollow = true;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif(!nonSeparatorIconsFollow)\n\t\t\t\tcontinue;\n\t\t}\n\n\n\t\t// Create the icon and append to the toolbar\n\t\t(function(item) {\n\t\t\tvar el;\n\t\t\tif(item === \"|\") {\n\t\t\t\tel = createSep();\n\t\t\t} else {\n\t\t\t\tel = createIcon(item, self.options.toolbarTips, self.options.shortcuts);\n\t\t\t}\n\n\t\t\t// bind events, special for info\n\t\t\tif(item.action) {\n\t\t\t\tif(typeof item.action === \"function\") {\n\t\t\t\t\tel.onclick = function(e) {\n\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\titem.action(self);\n\t\t\t\t\t};\n\t\t\t\t} else if(typeof item.action === \"string\") {\n\t\t\t\t\tel.href = item.action;\n\t\t\t\t\tel.target = \"_blank\";\n\t\t\t\t}\n\t\t\t}\n\n\t\t\ttoolbarData[item.name || item] = el;\n\t\t\tbar.appendChild(el);\n\t\t})(items[i]);\n\t}\n\n\tself.toolbarElements = toolbarData;\n\n\tvar cm = this.codemirror;\n\tcm.on(\"cursorActivity\", function() {\n\t\tvar stat = getState(cm);\n\n\t\tfor(var key in toolbarData) {\n\t\t\t(function(key) {\n\t\t\t\tvar el = toolbarData[key];\n\t\t\t\tif(stat[key]) {\n\t\t\t\t\tel.className += \" active\";\n\t\t\t\t} else if(key != \"fullscreen\" && key != \"side-by-side\") {\n\t\t\t\t\tel.className = el.className.replace(/\\s*active\\s*/g, \"\");\n\t\t\t\t}\n\t\t\t})(key);\n\t\t}\n\t});\n\n\tvar cmWrapper = cm.getWrapperElement();\n\tcmWrapper.parentNode.insertBefore(bar, cmWrapper);\n\treturn bar;\n};\n\nSimpleMDE.prototype.createStatusbar = function(status) {\n\t// Initialize\n\tstatus = status || this.options.status;\n\tvar options = this.options;\n\tvar cm = this.codemirror;\n\n\n\t// Make sure the status variable is valid\n\tif(!status || status.length === 0)\n\t\treturn;\n\n\n\t// Set up the built-in items\n\tvar items = [];\n\tvar i, onUpdate, defaultValue;\n\n\tfor(i = 0; i < status.length; i++) {\n\t\t// Reset some values\n\t\tonUpdate = undefined;\n\t\tdefaultValue = undefined;\n\n\n\t\t// Handle if custom or not\n\t\tif(typeof status[i] === \"object\") {\n\t\t\titems.push({\n\t\t\t\tclassName: status[i].className,\n\t\t\t\tdefaultValue: status[i].defaultValue,\n\t\t\t\tonUpdate: status[i].onUpdate\n\t\t\t});\n\t\t} else {\n\t\t\tvar name = status[i];\n\n\t\t\tif(name === \"words\") {\n\t\t\t\tdefaultValue = function(el) {\n\t\t\t\t\tel.innerHTML = wordCount(cm.getValue());\n\t\t\t\t};\n\t\t\t\tonUpdate = function(el) {\n\t\t\t\t\tel.innerHTML = wordCount(cm.getValue());\n\t\t\t\t};\n\t\t\t} else if(name === \"lines\") {\n\t\t\t\tdefaultValue = function(el) {\n\t\t\t\t\tel.innerHTML = cm.lineCount();\n\t\t\t\t};\n\t\t\t\tonUpdate = function(el) {\n\t\t\t\t\tel.innerHTML = cm.lineCount();\n\t\t\t\t};\n\t\t\t} else if(name === \"cursor\") {\n\t\t\t\tdefaultValue = function(el) {\n\t\t\t\t\tel.innerHTML = \"0:0\";\n\t\t\t\t};\n\t\t\t\tonUpdate = function(el) {\n\t\t\t\t\tvar pos = cm.getCursor();\n\t\t\t\t\tel.innerHTML = pos.line + \":\" + pos.ch;\n\t\t\t\t};\n\t\t\t} else if(name === \"autosave\") {\n\t\t\t\tdefaultValue = function(el) {\n\t\t\t\t\tif(options.autosave != undefined && options.autosave.enabled === true) {\n\t\t\t\t\t\tel.setAttribute(\"id\", \"autosaved\");\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t}\n\n\t\t\titems.push({\n\t\t\t\tclassName: name,\n\t\t\t\tdefaultValue: defaultValue,\n\t\t\t\tonUpdate: onUpdate\n\t\t\t});\n\t\t}\n\t}\n\n\n\t// Create element for the status bar\n\tvar bar = document.createElement(\"div\");\n\tbar.className = \"editor-statusbar\";\n\n\n\t// Create a new span for each item\n\tfor(i = 0; i < items.length; i++) {\n\t\t// Store in temporary variable\n\t\tvar item = items[i];\n\n\n\t\t// Create span element\n\t\tvar el = document.createElement(\"span\");\n\t\tel.className = item.className;\n\n\n\t\t// Ensure the defaultValue is a function\n\t\tif(typeof item.defaultValue === \"function\") {\n\t\t\titem.defaultValue(el);\n\t\t}\n\n\n\t\t// Ensure the onUpdate is a function\n\t\tif(typeof item.onUpdate === \"function\") {\n\t\t\t// Create a closure around the span of the current action, then execute the onUpdate handler\n\t\t\tthis.codemirror.on(\"update\", (function(el, item) {\n\t\t\t\treturn function() {\n\t\t\t\t\titem.onUpdate(el);\n\t\t\t\t};\n\t\t\t}(el, item)));\n\t\t}\n\n\n\t\t// Append the item to the status bar\n\t\tbar.appendChild(el);\n\t}\n\n\n\t// Insert the status bar into the DOM\n\tvar cmWrapper = this.codemirror.getWrapperElement();\n\tcmWrapper.parentNode.insertBefore(bar, cmWrapper.nextSibling);\n\treturn bar;\n};\n\n/**\n * Get or set the text content.\n */\nSimpleMDE.prototype.value = function(val) {\n\tif(val === undefined) {\n\t\treturn this.codemirror.getValue();\n\t} else {\n\t\tthis.codemirror.getDoc().setValue(val);\n\t\treturn this;\n\t}\n};\n\n\n/**\n * Bind static methods for exports.\n */\nSimpleMDE.toggleBold = toggleBold;\nSimpleMDE.toggleItalic = toggleItalic;\nSimpleMDE.toggleStrikethrough = toggleStrikethrough;\nSimpleMDE.toggleBlockquote = toggleBlockquote;\nSimpleMDE.toggleHeadingSmaller = toggleHeadingSmaller;\nSimpleMDE.toggleHeadingBigger = toggleHeadingBigger;\nSimpleMDE.toggleHeading1 = toggleHeading1;\nSimpleMDE.toggleHeading2 = toggleHeading2;\nSimpleMDE.toggleHeading3 = toggleHeading3;\nSimpleMDE.toggleCodeBlock = toggleCodeBlock;\nSimpleMDE.toggleUnorderedList = toggleUnorderedList;\nSimpleMDE.toggleOrderedList = toggleOrderedList;\nSimpleMDE.cleanBlock = cleanBlock;\nSimpleMDE.drawLink = drawLink;\nSimpleMDE.drawImage = drawImage;\nSimpleMDE.drawTable = drawTable;\nSimpleMDE.drawHorizontalRule = drawHorizontalRule;\nSimpleMDE.undo = undo;\nSimpleMDE.redo = redo;\nSimpleMDE.togglePreview = togglePreview;\nSimpleMDE.toggleSideBySide = toggleSideBySide;\nSimpleMDE.toggleFullScreen = toggleFullScreen;\n\n/**\n * Bind instance methods for exports.\n */\nSimpleMDE.prototype.toggleBold = function() {\n\ttoggleBold(this);\n};\nSimpleMDE.prototype.toggleItalic = function() {\n\ttoggleItalic(this);\n};\nSimpleMDE.prototype.toggleStrikethrough = function() {\n\ttoggleStrikethrough(this);\n};\nSimpleMDE.prototype.toggleBlockquote = function() {\n\ttoggleBlockquote(this);\n};\nSimpleMDE.prototype.toggleHeadingSmaller = function() {\n\ttoggleHeadingSmaller(this);\n};\nSimpleMDE.prototype.toggleHeadingBigger = function() {\n\ttoggleHeadingBigger(this);\n};\nSimpleMDE.prototype.toggleHeading1 = function() {\n\ttoggleHeading1(this);\n};\nSimpleMDE.prototype.toggleHeading2 = function() {\n\ttoggleHeading2(this);\n};\nSimpleMDE.prototype.toggleHeading3 = function() {\n\ttoggleHeading3(this);\n};\nSimpleMDE.prototype.toggleCodeBlock = function() {\n\ttoggleCodeBlock(this);\n};\nSimpleMDE.prototype.toggleUnorderedList = function() {\n\ttoggleUnorderedList(this);\n};\nSimpleMDE.prototype.toggleOrderedList = function() {\n\ttoggleOrderedList(this);\n};\nSimpleMDE.prototype.cleanBlock = function() {\n\tcleanBlock(this);\n};\nSimpleMDE.prototype.drawLink = function() {\n\tdrawLink(this);\n};\nSimpleMDE.prototype.drawImage = function() {\n\tdrawImage(this);\n};\nSimpleMDE.prototype.drawTable = function() {\n\tdrawTable(this);\n};\nSimpleMDE.prototype.drawHorizontalRule = function() {\n\tdrawHorizontalRule(this);\n};\nSimpleMDE.prototype.undo = function() {\n\tundo(this);\n};\nSimpleMDE.prototype.redo = function() {\n\tredo(this);\n};\nSimpleMDE.prototype.togglePreview = function() {\n\ttogglePreview(this);\n};\nSimpleMDE.prototype.toggleSideBySide = function() {\n\ttoggleSideBySide(this);\n};\nSimpleMDE.prototype.toggleFullScreen = function() {\n\ttoggleFullScreen(this);\n};\n\nSimpleMDE.prototype.isPreviewActive = function() {\n\tvar cm = this.codemirror;\n\tvar wrapper = cm.getWrapperElement();\n\tvar preview = wrapper.lastChild;\n\n\treturn /editor-preview-active/.test(preview.className);\n};\n\nSimpleMDE.prototype.isSideBySideActive = function() {\n\tvar cm = this.codemirror;\n\tvar wrapper = cm.getWrapperElement();\n\tvar preview = wrapper.nextSibling;\n\n\treturn /editor-preview-active-side/.test(preview.className);\n};\n\nSimpleMDE.prototype.isFullscreenActive = function() {\n\tvar cm = this.codemirror;\n\n\treturn cm.getOption(\"fullScreen\");\n};\n\nSimpleMDE.prototype.getState = function() {\n\tvar cm = this.codemirror;\n\n\treturn getState(cm);\n};\n\nSimpleMDE.prototype.toTextArea = function() {\n\tvar cm = this.codemirror;\n\tvar wrapper = cm.getWrapperElement();\n\n\tif(wrapper.parentNode) {\n\t\tif(this.gui.toolbar) {\n\t\t\twrapper.parentNode.removeChild(this.gui.toolbar);\n\t\t}\n\t\tif(this.gui.statusbar) {\n\t\t\twrapper.parentNode.removeChild(this.gui.statusbar);\n\t\t}\n\t\tif(this.gui.sideBySide) {\n\t\t\twrapper.parentNode.removeChild(this.gui.sideBySide);\n\t\t}\n\t}\n\n\tcm.toTextArea();\n\n\tif(this.autosaveTimeoutId) {\n\t\tclearTimeout(this.autosaveTimeoutId);\n\t\tthis.autosaveTimeoutId = undefined;\n\t\tthis.clearAutosavedValue();\n\t}\n};\n\nmodule.exports = SimpleMDE;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/simplemde/src/js/simplemde.js\n ** module id = 660\n ** module chunks = 0\n **/","(function (root) {\n// lazy require symbols table\nvar _symbols, removelist;\nfunction symbols(code) {\n if (_symbols) return _symbols[code];\n _symbols = require('unicode/category/So');\n removelist = ['sign','cross','of','symbol','staff','hand','black','white']\n .map(function (word) {return new RegExp(word, 'gi')});\n return _symbols[code];\n}\n\nfunction slug(string, opts) {\n string = string.toString();\n if ('string' === typeof opts)\n opts = {replacement:opts};\n opts = opts || {};\n opts.mode = opts.mode || slug.defaults.mode;\n var defaults = slug.defaults.modes[opts.mode];\n var keys = ['replacement','multicharmap','charmap','remove','lower'];\n for (var key, i = 0, l = keys.length; i < l; i++) { key = keys[i];\n opts[key] = (key in opts) ? opts[key] : defaults[key];\n }\n if ('undefined' === typeof opts.symbols)\n opts.symbols = defaults.symbols;\n\n var lengths = [];\n for (var key in opts.multicharmap) {\n if (!opts.multicharmap.hasOwnProperty(key))\n continue;\n\n var len = key.length;\n if (lengths.indexOf(len) === -1)\n lengths.push(len);\n }\n\n var code, unicode, result = \"\";\n for (var char, i = 0, l = string.length; i < l; i++) { char = string[i];\n if (!lengths.some(function (len) {\n var str = string.substr(i, len);\n if (opts.multicharmap[str]) {\n i += len - 1;\n char = opts.multicharmap[str];\n return true;\n } else return false;\n })) {\n if (opts.charmap[char]) {\n char = opts.charmap[char];\n code = char.charCodeAt(0);\n } else {\n code = string.charCodeAt(i);\n }\n if (opts.symbols && (unicode = symbols(code))) {\n char = unicode.name.toLowerCase();\n for(var j = 0, rl = removelist.length; j < rl; j++) {\n char = char.replace(removelist[j], '');\n }\n char = char.replace(/^\\s+|\\s+$/g, '');\n }\n }\n char = char.replace(/[^\\w\\s\\-\\.\\_~]/g, ''); // allowed\n if (opts.remove) char = char.replace(opts.remove, ''); // add flavour\n result += char;\n }\n result = result.replace(/^\\s+|\\s+$/g, ''); // trim leading/trailing spaces\n result = result.replace(/[-\\s]+/g, opts.replacement); // convert spaces\n result = result.replace(opts.replacement+\"$\",''); // remove trailing separator\n if (opts.lower)\n result = result.toLowerCase();\n return result;\n};\n\nslug.defaults = {\n mode: 'pretty',\n};\n\nslug.multicharmap = slug.defaults.multicharmap = {\n '<3': 'love', '&&': 'and', '||': 'or', 'w/': 'with',\n};\n\n// https://code.djangoproject.com/browser/django/trunk/django/contrib/admin/media/js/urlify.js\nslug.charmap = slug.defaults.charmap = {\n // latin\n 'À': 'A', 'Á': 'A', 'Â': 'A', 'Ã': 'A', 'Ä': 'A', 'Å': 'A', 'Æ': 'AE',\n 'Ç': 'C', 'È': 'E', 'É': 'E', 'Ê': 'E', 'Ë': 'E', 'Ì': 'I', 'Í': 'I',\n 'Î': 'I', 'Ï': 'I', 'Ð': 'D', 'Ñ': 'N', 'Ò': 'O', 'Ó': 'O', 'Ô': 'O',\n 'Õ': 'O', 'Ö': 'O', 'Ő': 'O', 'Ø': 'O', 'Ù': 'U', 'Ú': 'U', 'Û': 'U',\n 'Ü': 'U', 'Ű': 'U', 'Ý': 'Y', 'Þ': 'TH', 'ß': 'ss', 'à':'a', 'á':'a',\n 'â': 'a', 'ã': 'a', 'ä': 'a', 'å': 'a', 'æ': 'ae', 'ç': 'c', 'è': 'e',\n 'é': 'e', 'ê': 'e', 'ë': 'e', 'ì': 'i', 'í': 'i', 'î': 'i', 'ï': 'i',\n 'ð': 'd', 'ñ': 'n', 'ò': 'o', 'ó': 'o', 'ô': 'o', 'õ': 'o', 'ö': 'o',\n 'ő': 'o', 'ø': 'o', 'ù': 'u', 'ú': 'u', 'û': 'u', 'ü': 'u', 'ű': 'u',\n 'ý': 'y', 'þ': 'th', 'ÿ': 'y', 'ẞ': 'SS',\n // greek\n 'α':'a', 'β':'b', 'γ':'g', 'δ':'d', 'ε':'e', 'ζ':'z', 'η':'h', 'θ':'8',\n 'ι':'i', 'κ':'k', 'λ':'l', 'μ':'m', 'ν':'n', 'ξ':'3', 'ο':'o', 'π':'p',\n 'ρ':'r', 'σ':'s', 'τ':'t', 'υ':'y', 'φ':'f', 'χ':'x', 'ψ':'ps', 'ω':'w',\n 'ά':'a', 'έ':'e', 'ί':'i', 'ό':'o', 'ύ':'y', 'ή':'h', 'ώ':'w', 'ς':'s',\n 'ϊ':'i', 'ΰ':'y', 'ϋ':'y', 'ΐ':'i',\n 'Α':'A', 'Β':'B', 'Γ':'G', 'Δ':'D', 'Ε':'E', 'Ζ':'Z', 'Η':'H', 'Θ':'8',\n 'Ι':'I', 'Κ':'K', 'Λ':'L', 'Μ':'M', 'Ν':'N', 'Ξ':'3', 'Ο':'O', 'Π':'P',\n 'Ρ':'R', 'Σ':'S', 'Τ':'T', 'Υ':'Y', 'Φ':'F', 'Χ':'X', 'Ψ':'PS', 'Ω':'W',\n 'Ά':'A', 'Έ':'E', 'Ί':'I', 'Ό':'O', 'Ύ':'Y', 'Ή':'H', 'Ώ':'W', 'Ϊ':'I',\n 'Ϋ':'Y',\n // turkish\n 'ş':'s', 'Ş':'S', 'ı':'i', 'İ':'I',\n 'ğ':'g', 'Ğ':'G',\n // russian\n 'а':'a', 'б':'b', 'в':'v', 'г':'g', 'д':'d', 'е':'e', 'ё':'yo', 'ж':'zh',\n 'з':'z', 'и':'i', 'й':'j', 'к':'k', 'л':'l', 'м':'m', 'н':'n', 'о':'o',\n 'п':'p', 'р':'r', 'с':'s', 'т':'t', 'у':'u', 'ф':'f', 'х':'h', 'ц':'c',\n 'ч':'ch', 'ш':'sh', 'щ':'sh', 'ъ':'u', 'ы':'y', 'ь':'', 'э':'e', 'ю':'yu',\n 'я':'ya',\n 'А':'A', 'Б':'B', 'В':'V', 'Г':'G', 'Д':'D', 'Е':'E', 'Ё':'Yo', 'Ж':'Zh',\n 'З':'Z', 'И':'I', 'Й':'J', 'К':'K', 'Л':'L', 'М':'M', 'Н':'N', 'О':'O',\n 'П':'P', 'Р':'R', 'С':'S', 'Т':'T', 'У':'U', 'Ф':'F', 'Х':'H', 'Ц':'C',\n 'Ч':'Ch', 'Ш':'Sh', 'Щ':'Sh', 'Ъ':'U', 'Ы':'Y', 'Ь':'', 'Э':'E', 'Ю':'Yu',\n 'Я':'Ya',\n // ukranian\n 'Є':'Ye', 'І':'I', 'Ї':'Yi', 'Ґ':'G', 'є':'ye', 'і':'i', 'ї':'yi', 'ґ':'g',\n // czech\n 'č':'c', 'ď':'d', 'ě':'e', 'ň': 'n', 'ř':'r', 'š':'s', 'ť':'t', 'ů':'u',\n 'ž':'z', 'Č':'C', 'Ď':'D', 'Ě':'E', 'Ň': 'N', 'Ř':'R', 'Š':'S', 'Ť':'T',\n 'Ů':'U', 'Ž':'Z',\n // polish\n 'ą':'a', 'ć':'c', 'ę':'e', 'ł':'l', 'ń':'n', 'ś':'s', 'ź':'z',\n 'ż':'z', 'Ą':'A', 'Ć':'C', 'Ę':'E', 'Ł':'L', 'Ń':'N', 'Ś':'S',\n 'Ź':'Z', 'Ż':'Z',\n // latvian\n 'ā':'a', 'ē':'e', 'ģ':'g', 'ī':'i', 'ķ':'k', 'ļ':'l', 'ņ':'n',\n 'ū':'u', 'Ā':'A', 'Ē':'E', 'Ģ':'G', 'Ī':'I',\n 'Ķ':'K', 'Ļ':'L', 'Ņ':'N', 'Ū':'U',\n // lithuanian\n 'ė':'e', 'į':'i', 'ų':'u', 'Ė': 'E', 'Į': 'I', 'Ų':'U',\n // romanian\n 'ț':'t', 'Ț':'T', 'ţ':'t', 'Ţ':'T', 'ș':'s', 'Ș':'S', 'ă':'a', 'Ă':'A',\n // vietnamese\n 'Ạ': 'A', 'Ả': 'A', 'Ầ': 'A', 'Ấ': 'A', 'Ậ': 'A', 'Ẩ': 'A', 'Ẫ': 'A',\n 'Ằ': 'A', 'Ắ': 'A', 'Ặ': 'A', 'Ẳ': 'A', 'Ẵ': 'A', 'Ẹ': 'E', 'Ẻ': 'E',\n 'Ẽ': 'E', 'Ề': 'E', 'Ế': 'E', 'Ệ': 'E', 'Ể': 'E', 'Ễ': 'E', 'Ị': 'I',\n 'Ỉ': 'I', 'Ĩ': 'I', 'Ọ': 'O', 'Ỏ': 'O', 'Ồ': 'O', 'Ố': 'O', 'Ộ': 'O',\n 'Ổ': 'O', 'Ỗ': 'O', 'Ơ': 'O', 'Ờ': 'O', 'Ớ': 'O', 'Ợ': 'O', 'Ở': 'O',\n 'Ỡ': 'O', 'Ụ': 'U', 'Ủ': 'U', 'Ũ': 'U', 'Ư': 'U', 'Ừ': 'U', 'Ứ': 'U',\n 'Ự': 'U', 'Ử': 'U', 'Ữ': 'U', 'Ỳ': 'Y', 'Ỵ': 'Y', 'Ỷ': 'Y', 'Ỹ': 'Y',\n 'Đ': 'D', 'ạ': 'a', 'ả': 'a', 'ầ': 'a', 'ấ': 'a', 'ậ': 'a', 'ẩ': 'a',\n 'ẫ': 'a', 'ằ': 'a', 'ắ': 'a', 'ặ': 'a', 'ẳ': 'a', 'ẵ': 'a', 'ẹ': 'e',\n 'ẻ': 'e', 'ẽ': 'e', 'ề': 'e', 'ế': 'e', 'ệ': 'e', 'ể': 'e', 'ễ': 'e',\n 'ị': 'i', 'ỉ': 'i', 'ĩ': 'i', 'ọ': 'o', 'ỏ': 'o', 'ồ': 'o', 'ố': 'o',\n 'ộ': 'o', 'ổ': 'o', 'ỗ': 'o', 'ơ': 'o', 'ờ': 'o', 'ớ': 'o', 'ợ': 'o',\n 'ở': 'o', 'ỡ': 'o', 'ụ': 'u', 'ủ': 'u', 'ũ': 'u', 'ư': 'u', 'ừ': 'u',\n 'ứ': 'u', 'ự': 'u', 'ử': 'u', 'ữ': 'u', 'ỳ': 'y', 'ỵ': 'y', 'ỷ': 'y',\n 'ỹ': 'y', 'đ': 'd',\n // currency\n '€': 'euro', '₢': 'cruzeiro', '₣': 'french franc', '£': 'pound',\n '₤': 'lira', '₥': 'mill', '₦': 'naira', '₧': 'peseta', '₨': 'rupee',\n '₩': 'won', '₪': 'new shequel', '₫': 'dong', '₭': 'kip', '₮': 'tugrik',\n '₯': 'drachma', '₰': 'penny', '₱': 'peso', '₲': 'guarani', '₳': 'austral',\n '₴': 'hryvnia', '₵': 'cedi', '¢': 'cent', '¥': 'yen', '元': 'yuan',\n '円': 'yen', '﷼': 'rial', '₠': 'ecu', '¤': 'currency', '฿': 'baht',\n \"$\": 'dollar', '₹': 'indian rupee',\n // symbols\n '©':'(c)', 'œ': 'oe', 'Œ': 'OE', '∑': 'sum', '®': '(r)', '†': '+',\n '“': '\"', '”': '\"', '‘': \"'\", '’': \"'\", '∂': 'd', 'ƒ': 'f', '™': 'tm',\n '℠': 'sm', '…': '...', '˚': 'o', 'º': 'o', 'ª': 'a', '•': '*',\n '∆': 'delta', '∞': 'infinity', '♥': 'love', '&': 'and', '|': 'or',\n '<': 'less', '>': 'greater',\n};\n\nslug.defaults.modes = {\n rfc3986: {\n replacement: '-',\n symbols: true,\n remove: null,\n lower: true,\n charmap: slug.defaults.charmap,\n multicharmap: slug.defaults.multicharmap,\n },\n pretty: {\n replacement: '-',\n symbols: true,\n remove: /[.]/g,\n lower: false,\n charmap: slug.defaults.charmap,\n multicharmap: slug.defaults.multicharmap,\n },\n};\n\n// Be compatible with different module systems\n\nif (typeof define !== 'undefined' && define.amd) { // AMD\n // dont load symbols table in the browser\n for (var key in slug.defaults.modes) {\n if (!slug.defaults.modes.hasOwnProperty(key))\n continue;\n\n slug.defaults.modes[key].symbols = false;\n }\n define([], function () {return slug});\n} else if (typeof module !== 'undefined' && module.exports) { // CommonJS\n symbols(); // preload symbols table\n module.exports = slug;\n} else { // Script tag\n // dont load symbols table in the browser\n for (var key in slug.defaults.modes) {\n if (!slug.defaults.modes.hasOwnProperty(key))\n continue;\n\n slug.defaults.modes[key].symbols = false;\n }\n root.slug = slug;\n}\n\n}(this));\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/slug/slug.js\n ** module id = 661\n ** module chunks = 0\n **/","/**!\n * Sortable\n * @author\tRubaXa <trash@rubaxa.org>\n * @license MIT\n */\n\n\n(function (factory) {\n\t\"use strict\";\n\n\tif (typeof define === \"function\" && define.amd) {\n\t\tdefine(factory);\n\t}\n\telse if (typeof module != \"undefined\" && typeof module.exports != \"undefined\") {\n\t\tmodule.exports = factory();\n\t}\n\telse if (typeof Package !== \"undefined\") {\n\t\tSortable = factory(); // export for Meteor.js\n\t}\n\telse {\n\t\t/* jshint sub:true */\n\t\twindow[\"Sortable\"] = factory();\n\t}\n})(function () {\n\t\"use strict\";\n\n\tvar dragEl,\n\t\tparentEl,\n\t\tghostEl,\n\t\tcloneEl,\n\t\trootEl,\n\t\tnextEl,\n\n\t\tscrollEl,\n\t\tscrollParentEl,\n\n\t\tlastEl,\n\t\tlastCSS,\n\t\tlastParentCSS,\n\n\t\toldIndex,\n\t\tnewIndex,\n\n\t\tactiveGroup,\n\t\tautoScroll = {},\n\n\t\ttapEvt,\n\t\ttouchEvt,\n\n\t\tmoved,\n\n\t\t/** @const */\n\t\tRSPACE = /\\s+/g,\n\n\t\texpando = 'Sortable' + (new Date).getTime(),\n\n\t\twin = window,\n\t\tdocument = win.document,\n\t\tparseInt = win.parseInt,\n\n\t\tsupportDraggable = !!('draggable' in document.createElement('div')),\n\t\tsupportCssPointerEvents = (function (el) {\n\t\t\tel = document.createElement('x');\n\t\t\tel.style.cssText = 'pointer-events:auto';\n\t\t\treturn el.style.pointerEvents === 'auto';\n\t\t})(),\n\n\t\t_silent = false,\n\n\t\tabs = Math.abs,\n\t\tslice = [].slice,\n\n\t\ttouchDragOverListeners = [],\n\n\t\t_autoScroll = _throttle(function (/**Event*/evt, /**Object*/options, /**HTMLElement*/rootEl) {\n\t\t\t// Bug: https://bugzilla.mozilla.org/show_bug.cgi?id=505521\n\t\t\tif (rootEl && options.scroll) {\n\t\t\t\tvar el,\n\t\t\t\t\trect,\n\t\t\t\t\tsens = options.scrollSensitivity,\n\t\t\t\t\tspeed = options.scrollSpeed,\n\n\t\t\t\t\tx = evt.clientX,\n\t\t\t\t\ty = evt.clientY,\n\n\t\t\t\t\twinWidth = window.innerWidth,\n\t\t\t\t\twinHeight = window.innerHeight,\n\n\t\t\t\t\tvx,\n\t\t\t\t\tvy\n\t\t\t\t;\n\n\t\t\t\t// Delect scrollEl\n\t\t\t\tif (scrollParentEl !== rootEl) {\n\t\t\t\t\tscrollEl = options.scroll;\n\t\t\t\t\tscrollParentEl = rootEl;\n\n\t\t\t\t\tif (scrollEl === true) {\n\t\t\t\t\t\tscrollEl = rootEl;\n\n\t\t\t\t\t\tdo {\n\t\t\t\t\t\t\tif ((scrollEl.offsetWidth < scrollEl.scrollWidth) ||\n\t\t\t\t\t\t\t\t(scrollEl.offsetHeight < scrollEl.scrollHeight)\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/* jshint boss:true */\n\t\t\t\t\t\t} while (scrollEl = scrollEl.parentNode);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (scrollEl) {\n\t\t\t\t\tel = scrollEl;\n\t\t\t\t\trect = scrollEl.getBoundingClientRect();\n\t\t\t\t\tvx = (abs(rect.right - x) <= sens) - (abs(rect.left - x) <= sens);\n\t\t\t\t\tvy = (abs(rect.bottom - y) <= sens) - (abs(rect.top - y) <= sens);\n\t\t\t\t}\n\n\n\t\t\t\tif (!(vx || vy)) {\n\t\t\t\t\tvx = (winWidth - x <= sens) - (x <= sens);\n\t\t\t\t\tvy = (winHeight - y <= sens) - (y <= sens);\n\n\t\t\t\t\t/* jshint expr:true */\n\t\t\t\t\t(vx || vy) && (el = win);\n\t\t\t\t}\n\n\n\t\t\t\tif (autoScroll.vx !== vx || autoScroll.vy !== vy || autoScroll.el !== el) {\n\t\t\t\t\tautoScroll.el = el;\n\t\t\t\t\tautoScroll.vx = vx;\n\t\t\t\t\tautoScroll.vy = vy;\n\n\t\t\t\t\tclearInterval(autoScroll.pid);\n\n\t\t\t\t\tif (el) {\n\t\t\t\t\t\tautoScroll.pid = setInterval(function () {\n\t\t\t\t\t\t\tif (el === win) {\n\t\t\t\t\t\t\t\twin.scrollTo(win.pageXOffset + vx * speed, win.pageYOffset + vy * speed);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tvy && (el.scrollTop += vy * speed);\n\t\t\t\t\t\t\t\tvx && (el.scrollLeft += vx * speed);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}, 24);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}, 30),\n\n\t\t_prepareGroup = function (options) {\n\t\t\tvar group = options.group;\n\n\t\t\tif (!group || typeof group != 'object') {\n\t\t\t\tgroup = options.group = {name: group};\n\t\t\t}\n\n\t\t\t['pull', 'put'].forEach(function (key) {\n\t\t\t\tif (!(key in group)) {\n\t\t\t\t\tgroup[key] = true;\n\t\t\t\t}\n\t\t\t});\n\n\t\t\toptions.groups = ' ' + group.name + (group.put.join ? ' ' + group.put.join(' ') : '') + ' ';\n\t\t}\n\t;\n\n\n\n\t/**\n\t * @class Sortable\n\t * @param {HTMLElement} el\n\t * @param {Object} [options]\n\t */\n\tfunction Sortable(el, options) {\n\t\tif (!(el && el.nodeType && el.nodeType === 1)) {\n\t\t\tthrow 'Sortable: `el` must be HTMLElement, and not ' + {}.toString.call(el);\n\t\t}\n\n\t\tthis.el = el; // root element\n\t\tthis.options = options = _extend({}, options);\n\n\n\t\t// Export instance\n\t\tel[expando] = this;\n\n\n\t\t// Default options\n\t\tvar defaults = {\n\t\t\tgroup: Math.random(),\n\t\t\tsort: true,\n\t\t\tdisabled: false,\n\t\t\tstore: null,\n\t\t\thandle: null,\n\t\t\tscroll: true,\n\t\t\tscrollSensitivity: 30,\n\t\t\tscrollSpeed: 10,\n\t\t\tdraggable: /[uo]l/i.test(el.nodeName) ? 'li' : '>*',\n\t\t\tghostClass: 'sortable-ghost',\n\t\t\tchosenClass: 'sortable-chosen',\n\t\t\tignore: 'a, img',\n\t\t\tfilter: null,\n\t\t\tanimation: 0,\n\t\t\tsetData: function (dataTransfer, dragEl) {\n\t\t\t\tdataTransfer.setData('Text', dragEl.textContent);\n\t\t\t},\n\t\t\tdropBubble: false,\n\t\t\tdragoverBubble: false,\n\t\t\tdataIdAttr: 'data-id',\n\t\t\tdelay: 0,\n\t\t\tforceFallback: false,\n\t\t\tfallbackClass: 'sortable-fallback',\n\t\t\tfallbackOnBody: false\n\t\t};\n\n\n\t\t// Set default options\n\t\tfor (var name in defaults) {\n\t\t\t!(name in options) && (options[name] = defaults[name]);\n\t\t}\n\n\t\t_prepareGroup(options);\n\n\t\t// Bind all private methods\n\t\tfor (var fn in this) {\n\t\t\tif (fn.charAt(0) === '_') {\n\t\t\t\tthis[fn] = this[fn].bind(this);\n\t\t\t}\n\t\t}\n\n\t\t// Setup drag mode\n\t\tthis.nativeDraggable = options.forceFallback ? false : supportDraggable;\n\n\t\t// Bind events\n\t\t_on(el, 'mousedown', this._onTapStart);\n\t\t_on(el, 'touchstart', this._onTapStart);\n\n\t\tif (this.nativeDraggable) {\n\t\t\t_on(el, 'dragover', this);\n\t\t\t_on(el, 'dragenter', this);\n\t\t}\n\n\t\ttouchDragOverListeners.push(this._onDragOver);\n\n\t\t// Restore sorting\n\t\toptions.store && this.sort(options.store.get(this));\n\t}\n\n\n\tSortable.prototype = /** @lends Sortable.prototype */ {\n\t\tconstructor: Sortable,\n\n\t\t_onTapStart: function (/** Event|TouchEvent */evt) {\n\t\t\tvar _this = this,\n\t\t\t\tel = this.el,\n\t\t\t\toptions = this.options,\n\t\t\t\ttype = evt.type,\n\t\t\t\ttouch = evt.touches && evt.touches[0],\n\t\t\t\ttarget = (touch || evt).target,\n\t\t\t\toriginalTarget = target,\n\t\t\t\tfilter = options.filter;\n\n\n\t\t\tif (type === 'mousedown' && evt.button !== 0 || options.disabled) {\n\t\t\t\treturn; // only left button or enabled\n\t\t\t}\n\n\t\t\ttarget = _closest(target, options.draggable, el);\n\n\t\t\tif (!target) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// get the index of the dragged element within its parent\n\t\t\toldIndex = _index(target);\n\n\t\t\t// Check filter\n\t\t\tif (typeof filter === 'function') {\n\t\t\t\tif (filter.call(this, evt, target, this)) {\n\t\t\t\t\t_dispatchEvent(_this, originalTarget, 'filter', target, el, oldIndex);\n\t\t\t\t\tevt.preventDefault();\n\t\t\t\t\treturn; // cancel dnd\n\t\t\t\t}\n\t\t\t}\n\t\t\telse if (filter) {\n\t\t\t\tfilter = filter.split(',').some(function (criteria) {\n\t\t\t\t\tcriteria = _closest(originalTarget, criteria.trim(), el);\n\n\t\t\t\t\tif (criteria) {\n\t\t\t\t\t\t_dispatchEvent(_this, criteria, 'filter', target, el, oldIndex);\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\tif (filter) {\n\t\t\t\t\tevt.preventDefault();\n\t\t\t\t\treturn; // cancel dnd\n\t\t\t\t}\n\t\t\t}\n\n\n\t\t\tif (options.handle && !_closest(originalTarget, options.handle, el)) {\n\t\t\t\treturn;\n\t\t\t}\n\n\n\t\t\t// Prepare `dragstart`\n\t\t\tthis._prepareDragStart(evt, touch, target);\n\t\t},\n\n\t\t_prepareDragStart: function (/** Event */evt, /** Touch */touch, /** HTMLElement */target) {\n\t\t\tvar _this = this,\n\t\t\t\tel = _this.el,\n\t\t\t\toptions = _this.options,\n\t\t\t\townerDocument = el.ownerDocument,\n\t\t\t\tdragStartFn;\n\n\t\t\tif (target && !dragEl && (target.parentNode === el)) {\n\t\t\t\ttapEvt = evt;\n\n\t\t\t\trootEl = el;\n\t\t\t\tdragEl = target;\n\t\t\t\tparentEl = dragEl.parentNode;\n\t\t\t\tnextEl = dragEl.nextSibling;\n\t\t\t\tactiveGroup = options.group;\n\n\t\t\t\tdragStartFn = function () {\n\t\t\t\t\t// Delayed drag has been triggered\n\t\t\t\t\t// we can re-enable the events: touchmove/mousemove\n\t\t\t\t\t_this._disableDelayedDrag();\n\n\t\t\t\t\t// Make the element draggable\n\t\t\t\t\tdragEl.draggable = true;\n\n\t\t\t\t\t// Chosen item\n\t\t\t\t\t_toggleClass(dragEl, _this.options.chosenClass, true);\n\n\t\t\t\t\t// Bind the events: dragstart/dragend\n\t\t\t\t\t_this._triggerDragStart(touch);\n\t\t\t\t};\n\n\t\t\t\t// Disable \"draggable\"\n\t\t\t\toptions.ignore.split(',').forEach(function (criteria) {\n\t\t\t\t\t_find(dragEl, criteria.trim(), _disableDraggable);\n\t\t\t\t});\n\n\t\t\t\t_on(ownerDocument, 'mouseup', _this._onDrop);\n\t\t\t\t_on(ownerDocument, 'touchend', _this._onDrop);\n\t\t\t\t_on(ownerDocument, 'touchcancel', _this._onDrop);\n\n\t\t\t\tif (options.delay) {\n\t\t\t\t\t// If the user moves the pointer or let go the click or touch\n\t\t\t\t\t// before the delay has been reached:\n\t\t\t\t\t// disable the delayed drag\n\t\t\t\t\t_on(ownerDocument, 'mouseup', _this._disableDelayedDrag);\n\t\t\t\t\t_on(ownerDocument, 'touchend', _this._disableDelayedDrag);\n\t\t\t\t\t_on(ownerDocument, 'touchcancel', _this._disableDelayedDrag);\n\t\t\t\t\t_on(ownerDocument, 'mousemove', _this._disableDelayedDrag);\n\t\t\t\t\t_on(ownerDocument, 'touchmove', _this._disableDelayedDrag);\n\n\t\t\t\t\t_this._dragStartTimer = setTimeout(dragStartFn, options.delay);\n\t\t\t\t} else {\n\t\t\t\t\tdragStartFn();\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\t_disableDelayedDrag: function () {\n\t\t\tvar ownerDocument = this.el.ownerDocument;\n\n\t\t\tclearTimeout(this._dragStartTimer);\n\t\t\t_off(ownerDocument, 'mouseup', this._disableDelayedDrag);\n\t\t\t_off(ownerDocument, 'touchend', this._disableDelayedDrag);\n\t\t\t_off(ownerDocument, 'touchcancel', this._disableDelayedDrag);\n\t\t\t_off(ownerDocument, 'mousemove', this._disableDelayedDrag);\n\t\t\t_off(ownerDocument, 'touchmove', this._disableDelayedDrag);\n\t\t},\n\n\t\t_triggerDragStart: function (/** Touch */touch) {\n\t\t\tif (touch) {\n\t\t\t\t// Touch device support\n\t\t\t\ttapEvt = {\n\t\t\t\t\ttarget: dragEl,\n\t\t\t\t\tclientX: touch.clientX,\n\t\t\t\t\tclientY: touch.clientY\n\t\t\t\t};\n\n\t\t\t\tthis._onDragStart(tapEvt, 'touch');\n\t\t\t}\n\t\t\telse if (!this.nativeDraggable) {\n\t\t\t\tthis._onDragStart(tapEvt, true);\n\t\t\t}\n\t\t\telse {\n\t\t\t\t_on(dragEl, 'dragend', this);\n\t\t\t\t_on(rootEl, 'dragstart', this._onDragStart);\n\t\t\t}\n\n\t\t\ttry {\n\t\t\t\tif (document.selection) {\n\t\t\t\t\tdocument.selection.empty();\n\t\t\t\t} else {\n\t\t\t\t\twindow.getSelection().removeAllRanges();\n\t\t\t\t}\n\t\t\t} catch (err) {\n\t\t\t}\n\t\t},\n\n\t\t_dragStarted: function () {\n\t\t\tif (rootEl && dragEl) {\n\t\t\t\t// Apply effect\n\t\t\t\t_toggleClass(dragEl, this.options.ghostClass, true);\n\n\t\t\t\tSortable.active = this;\n\n\t\t\t\t// Drag start event\n\t\t\t\t_dispatchEvent(this, rootEl, 'start', dragEl, rootEl, oldIndex);\n\t\t\t}\n\t\t},\n\n\t\t_emulateDragOver: function () {\n\t\t\tif (touchEvt) {\n\t\t\t\tif (this._lastX === touchEvt.clientX && this._lastY === touchEvt.clientY) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tthis._lastX = touchEvt.clientX;\n\t\t\t\tthis._lastY = touchEvt.clientY;\n\n\t\t\t\tif (!supportCssPointerEvents) {\n\t\t\t\t\t_css(ghostEl, 'display', 'none');\n\t\t\t\t}\n\n\t\t\t\tvar target = document.elementFromPoint(touchEvt.clientX, touchEvt.clientY),\n\t\t\t\t\tparent = target,\n\t\t\t\t\tgroupName = ' ' + this.options.group.name + '',\n\t\t\t\t\ti = touchDragOverListeners.length;\n\n\t\t\t\tif (parent) {\n\t\t\t\t\tdo {\n\t\t\t\t\t\tif (parent[expando] && parent[expando].options.groups.indexOf(groupName) > -1) {\n\t\t\t\t\t\t\twhile (i--) {\n\t\t\t\t\t\t\t\ttouchDragOverListeners[i]({\n\t\t\t\t\t\t\t\t\tclientX: touchEvt.clientX,\n\t\t\t\t\t\t\t\t\tclientY: touchEvt.clientY,\n\t\t\t\t\t\t\t\t\ttarget: target,\n\t\t\t\t\t\t\t\t\trootEl: parent\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\ttarget = parent; // store last element\n\t\t\t\t\t}\n\t\t\t\t\t/* jshint boss:true */\n\t\t\t\t\twhile (parent = parent.parentNode);\n\t\t\t\t}\n\n\t\t\t\tif (!supportCssPointerEvents) {\n\t\t\t\t\t_css(ghostEl, 'display', '');\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\n\t\t_onTouchMove: function (/**TouchEvent*/evt) {\n\t\t\tif (tapEvt) {\n\t\t\t\t// only set the status to dragging, when we are actually dragging\n\t\t\t\tif (!Sortable.active) {\n\t\t\t\t\tthis._dragStarted();\n\t\t\t\t}\n\n\t\t\t\t// as well as creating the ghost element on the document body\n\t\t\t\tthis._appendGhost();\n\n\t\t\t\tvar touch = evt.touches ? evt.touches[0] : evt,\n\t\t\t\t\tdx = touch.clientX - tapEvt.clientX,\n\t\t\t\t\tdy = touch.clientY - tapEvt.clientY,\n\t\t\t\t\ttranslate3d = evt.touches ? 'translate3d(' + dx + 'px,' + dy + 'px,0)' : 'translate(' + dx + 'px,' + dy + 'px)';\n\n\t\t\t\tmoved = true;\n\t\t\t\ttouchEvt = touch;\n\n\t\t\t\t_css(ghostEl, 'webkitTransform', translate3d);\n\t\t\t\t_css(ghostEl, 'mozTransform', translate3d);\n\t\t\t\t_css(ghostEl, 'msTransform', translate3d);\n\t\t\t\t_css(ghostEl, 'transform', translate3d);\n\n\t\t\t\tevt.preventDefault();\n\t\t\t}\n\t\t},\n\n\t\t_appendGhost: function () {\n\t\t\tif (!ghostEl) {\n\t\t\t\tvar rect = dragEl.getBoundingClientRect(),\n\t\t\t\t\tcss = _css(dragEl),\n\t\t\t\t\toptions = this.options,\n\t\t\t\t\tghostRect;\n\n\t\t\t\tghostEl = dragEl.cloneNode(true);\n\n\t\t\t\t_toggleClass(ghostEl, options.ghostClass, false);\n\t\t\t\t_toggleClass(ghostEl, options.fallbackClass, true);\n\n\t\t\t\t_css(ghostEl, 'top', rect.top - parseInt(css.marginTop, 10));\n\t\t\t\t_css(ghostEl, 'left', rect.left - parseInt(css.marginLeft, 10));\n\t\t\t\t_css(ghostEl, 'width', rect.width);\n\t\t\t\t_css(ghostEl, 'height', rect.height);\n\t\t\t\t_css(ghostEl, 'opacity', '0.8');\n\t\t\t\t_css(ghostEl, 'position', 'fixed');\n\t\t\t\t_css(ghostEl, 'zIndex', '100000');\n\t\t\t\t_css(ghostEl, 'pointerEvents', 'none');\n\n\t\t\t\toptions.fallbackOnBody && document.body.appendChild(ghostEl) || rootEl.appendChild(ghostEl);\n\n\t\t\t\t// Fixing dimensions.\n\t\t\t\tghostRect = ghostEl.getBoundingClientRect();\n\t\t\t\t_css(ghostEl, 'width', rect.width * 2 - ghostRect.width);\n\t\t\t\t_css(ghostEl, 'height', rect.height * 2 - ghostRect.height);\n\t\t\t}\n\t\t},\n\n\t\t_onDragStart: function (/**Event*/evt, /**boolean*/useFallback) {\n\t\t\tvar dataTransfer = evt.dataTransfer,\n\t\t\t\toptions = this.options;\n\n\t\t\tthis._offUpEvents();\n\n\t\t\tif (activeGroup.pull == 'clone') {\n\t\t\t\tcloneEl = dragEl.cloneNode(true);\n\t\t\t\t_css(cloneEl, 'display', 'none');\n\t\t\t\trootEl.insertBefore(cloneEl, dragEl);\n\t\t\t}\n\n\t\t\tif (useFallback) {\n\n\t\t\t\tif (useFallback === 'touch') {\n\t\t\t\t\t// Bind touch events\n\t\t\t\t\t_on(document, 'touchmove', this._onTouchMove);\n\t\t\t\t\t_on(document, 'touchend', this._onDrop);\n\t\t\t\t\t_on(document, 'touchcancel', this._onDrop);\n\t\t\t\t} else {\n\t\t\t\t\t// Old brwoser\n\t\t\t\t\t_on(document, 'mousemove', this._onTouchMove);\n\t\t\t\t\t_on(document, 'mouseup', this._onDrop);\n\t\t\t\t}\n\n\t\t\t\tthis._loopId = setInterval(this._emulateDragOver, 50);\n\t\t\t}\n\t\t\telse {\n\t\t\t\tif (dataTransfer) {\n\t\t\t\t\tdataTransfer.effectAllowed = 'move';\n\t\t\t\t\toptions.setData && options.setData.call(this, dataTransfer, dragEl);\n\t\t\t\t}\n\n\t\t\t\t_on(document, 'drop', this);\n\t\t\t\tsetTimeout(this._dragStarted, 0);\n\t\t\t}\n\t\t},\n\n\t\t_onDragOver: function (/**Event*/evt) {\n\t\t\tvar el = this.el,\n\t\t\t\ttarget,\n\t\t\t\tdragRect,\n\t\t\t\trevert,\n\t\t\t\toptions = this.options,\n\t\t\t\tgroup = options.group,\n\t\t\t\tgroupPut = group.put,\n\t\t\t\tisOwner = (activeGroup === group),\n\t\t\t\tcanSort = options.sort;\n\n\t\t\tif (evt.preventDefault !== void 0) {\n\t\t\t\tevt.preventDefault();\n\t\t\t\t!options.dragoverBubble && evt.stopPropagation();\n\t\t\t}\n\n\t\t\tmoved = true;\n\n\t\t\tif (activeGroup && !options.disabled &&\n\t\t\t\t(isOwner\n\t\t\t\t\t? canSort || (revert = !rootEl.contains(dragEl)) // Reverting item into the original list\n\t\t\t\t\t: activeGroup.pull && groupPut && (\n\t\t\t\t\t\t(activeGroup.name === group.name) || // by Name\n\t\t\t\t\t\t(groupPut.indexOf && ~groupPut.indexOf(activeGroup.name)) // by Array\n\t\t\t\t\t)\n\t\t\t\t) &&\n\t\t\t\t(evt.rootEl === void 0 || evt.rootEl === this.el) // touch fallback\n\t\t\t) {\n\t\t\t\t// Smart auto-scrolling\n\t\t\t\t_autoScroll(evt, options, this.el);\n\n\t\t\t\tif (_silent) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\ttarget = _closest(evt.target, options.draggable, el);\n\t\t\t\tdragRect = dragEl.getBoundingClientRect();\n\n\t\t\t\tif (revert) {\n\t\t\t\t\t_cloneHide(true);\n\n\t\t\t\t\tif (cloneEl || nextEl) {\n\t\t\t\t\t\trootEl.insertBefore(dragEl, cloneEl || nextEl);\n\t\t\t\t\t}\n\t\t\t\t\telse if (!canSort) {\n\t\t\t\t\t\trootEl.appendChild(dragEl);\n\t\t\t\t\t}\n\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\n\t\t\t\tif ((el.children.length === 0) || (el.children[0] === ghostEl) ||\n\t\t\t\t\t(el === evt.target) && (target = _ghostIsLast(el, evt))\n\t\t\t\t) {\n\n\t\t\t\t\tif (target) {\n\t\t\t\t\t\tif (target.animated) {\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\ttargetRect = target.getBoundingClientRect();\n\t\t\t\t\t}\n\n\t\t\t\t\t_cloneHide(isOwner);\n\n\t\t\t\t\tif (_onMove(rootEl, el, dragEl, dragRect, target, targetRect) !== false) {\n\t\t\t\t\t\tif (!dragEl.contains(el)) {\n\t\t\t\t\t\t\tel.appendChild(dragEl);\n\t\t\t\t\t\t\tparentEl = el; // actualization\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tthis._animate(dragRect, dragEl);\n\t\t\t\t\t\ttarget && this._animate(targetRect, target);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse if (target && !target.animated && target !== dragEl && (target.parentNode[expando] !== void 0)) {\n\t\t\t\t\tif (lastEl !== target) {\n\t\t\t\t\t\tlastEl = target;\n\t\t\t\t\t\tlastCSS = _css(target);\n\t\t\t\t\t\tlastParentCSS = _css(target.parentNode);\n\t\t\t\t\t}\n\n\n\t\t\t\t\tvar targetRect = target.getBoundingClientRect(),\n\t\t\t\t\t\twidth = targetRect.right - targetRect.left,\n\t\t\t\t\t\theight = targetRect.bottom - targetRect.top,\n\t\t\t\t\t\tfloating = /left|right|inline/.test(lastCSS.cssFloat + lastCSS.display)\n\t\t\t\t\t\t\t|| (lastParentCSS.display == 'flex' && lastParentCSS['flex-direction'].indexOf('row') === 0),\n\t\t\t\t\t\tisWide = (target.offsetWidth > dragEl.offsetWidth),\n\t\t\t\t\t\tisLong = (target.offsetHeight > dragEl.offsetHeight),\n\t\t\t\t\t\thalfway = (floating ? (evt.clientX - targetRect.left) / width : (evt.clientY - targetRect.top) / height) > 0.5,\n\t\t\t\t\t\tnextSibling = target.nextElementSibling,\n\t\t\t\t\t\tmoveVector = _onMove(rootEl, el, dragEl, dragRect, target, targetRect),\n\t\t\t\t\t\tafter\n\t\t\t\t\t;\n\n\t\t\t\t\tif (moveVector !== false) {\n\t\t\t\t\t\t_silent = true;\n\t\t\t\t\t\tsetTimeout(_unsilent, 30);\n\n\t\t\t\t\t\t_cloneHide(isOwner);\n\n\t\t\t\t\t\tif (moveVector === 1 || moveVector === -1) {\n\t\t\t\t\t\t\tafter = (moveVector === 1);\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse if (floating) {\n\t\t\t\t\t\t\tvar elTop = dragEl.offsetTop,\n\t\t\t\t\t\t\t\ttgTop = target.offsetTop;\n\n\t\t\t\t\t\t\tif (elTop === tgTop) {\n\t\t\t\t\t\t\t\tafter = (target.previousElementSibling === dragEl) && !isWide || halfway && isWide;\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tafter = tgTop > elTop;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tafter = (nextSibling !== dragEl) && !isLong || halfway && isLong;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (!dragEl.contains(el)) {\n\t\t\t\t\t\t\tif (after && !nextSibling) {\n\t\t\t\t\t\t\t\tel.appendChild(dragEl);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\ttarget.parentNode.insertBefore(dragEl, after ? nextSibling : target);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tparentEl = dragEl.parentNode; // actualization\n\n\t\t\t\t\t\tthis._animate(dragRect, dragEl);\n\t\t\t\t\t\tthis._animate(targetRect, target);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\t_animate: function (prevRect, target) {\n\t\t\tvar ms = this.options.animation;\n\n\t\t\tif (ms) {\n\t\t\t\tvar currentRect = target.getBoundingClientRect();\n\n\t\t\t\t_css(target, 'transition', 'none');\n\t\t\t\t_css(target, 'transform', 'translate3d('\n\t\t\t\t\t+ (prevRect.left - currentRect.left) + 'px,'\n\t\t\t\t\t+ (prevRect.top - currentRect.top) + 'px,0)'\n\t\t\t\t);\n\n\t\t\t\ttarget.offsetWidth; // repaint\n\n\t\t\t\t_css(target, 'transition', 'all ' + ms + 'ms');\n\t\t\t\t_css(target, 'transform', 'translate3d(0,0,0)');\n\n\t\t\t\tclearTimeout(target.animated);\n\t\t\t\ttarget.animated = setTimeout(function () {\n\t\t\t\t\t_css(target, 'transition', '');\n\t\t\t\t\t_css(target, 'transform', '');\n\t\t\t\t\ttarget.animated = false;\n\t\t\t\t}, ms);\n\t\t\t}\n\t\t},\n\n\t\t_offUpEvents: function () {\n\t\t\tvar ownerDocument = this.el.ownerDocument;\n\n\t\t\t_off(document, 'touchmove', this._onTouchMove);\n\t\t\t_off(ownerDocument, 'mouseup', this._onDrop);\n\t\t\t_off(ownerDocument, 'touchend', this._onDrop);\n\t\t\t_off(ownerDocument, 'touchcancel', this._onDrop);\n\t\t},\n\n\t\t_onDrop: function (/**Event*/evt) {\n\t\t\tvar el = this.el,\n\t\t\t\toptions = this.options;\n\n\t\t\tclearInterval(this._loopId);\n\t\t\tclearInterval(autoScroll.pid);\n\t\t\tclearTimeout(this._dragStartTimer);\n\n\t\t\t// Unbind events\n\t\t\t_off(document, 'mousemove', this._onTouchMove);\n\n\t\t\tif (this.nativeDraggable) {\n\t\t\t\t_off(document, 'drop', this);\n\t\t\t\t_off(el, 'dragstart', this._onDragStart);\n\t\t\t}\n\n\t\t\tthis._offUpEvents();\n\n\t\t\tif (evt) {\n\t\t\t\tif (moved) {\n\t\t\t\t\tevt.preventDefault();\n\t\t\t\t\t!options.dropBubble && evt.stopPropagation();\n\t\t\t\t}\n\n\t\t\t\tghostEl && ghostEl.parentNode.removeChild(ghostEl);\n\n\t\t\t\tif (dragEl) {\n\t\t\t\t\tif (this.nativeDraggable) {\n\t\t\t\t\t\t_off(dragEl, 'dragend', this);\n\t\t\t\t\t}\n\n\t\t\t\t\t_disableDraggable(dragEl);\n\n\t\t\t\t\t// Remove class's\n\t\t\t\t\t_toggleClass(dragEl, this.options.ghostClass, false);\n\t\t\t\t\t_toggleClass(dragEl, this.options.chosenClass, false);\n\n\t\t\t\t\tif (rootEl !== parentEl) {\n\t\t\t\t\t\tnewIndex = _index(dragEl);\n\n\t\t\t\t\t\tif (newIndex >= 0) {\n\t\t\t\t\t\t\t// drag from one list and drop into another\n\t\t\t\t\t\t\t_dispatchEvent(null, parentEl, 'sort', dragEl, rootEl, oldIndex, newIndex);\n\t\t\t\t\t\t\t_dispatchEvent(this, rootEl, 'sort', dragEl, rootEl, oldIndex, newIndex);\n\n\t\t\t\t\t\t\t// Add event\n\t\t\t\t\t\t\t_dispatchEvent(null, parentEl, 'add', dragEl, rootEl, oldIndex, newIndex);\n\n\t\t\t\t\t\t\t// Remove event\n\t\t\t\t\t\t\t_dispatchEvent(this, rootEl, 'remove', dragEl, rootEl, oldIndex, newIndex);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\t// Remove clone\n\t\t\t\t\t\tcloneEl && cloneEl.parentNode.removeChild(cloneEl);\n\n\t\t\t\t\t\tif (dragEl.nextSibling !== nextEl) {\n\t\t\t\t\t\t\t// Get the index of the dragged element within its parent\n\t\t\t\t\t\t\tnewIndex = _index(dragEl);\n\n\t\t\t\t\t\t\tif (newIndex >= 0) {\n\t\t\t\t\t\t\t\t// drag & drop within the same list\n\t\t\t\t\t\t\t\t_dispatchEvent(this, rootEl, 'update', dragEl, rootEl, oldIndex, newIndex);\n\t\t\t\t\t\t\t\t_dispatchEvent(this, rootEl, 'sort', dragEl, rootEl, oldIndex, newIndex);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tif (Sortable.active) {\n\t\t\t\t\t\tif (newIndex === null || newIndex === -1) {\n\t\t\t\t\t\t\tnewIndex = oldIndex;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t_dispatchEvent(this, rootEl, 'end', dragEl, rootEl, oldIndex, newIndex);\n\n\t\t\t\t\t\t// Save sorting\n\t\t\t\t\t\tthis.save();\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Nulling\n\t\t\t\trootEl =\n\t\t\t\tdragEl =\n\t\t\t\tparentEl =\n\t\t\t\tghostEl =\n\t\t\t\tnextEl =\n\t\t\t\tcloneEl =\n\n\t\t\t\tscrollEl =\n\t\t\t\tscrollParentEl =\n\n\t\t\t\ttapEvt =\n\t\t\t\ttouchEvt =\n\n\t\t\t\tmoved =\n\t\t\t\tnewIndex =\n\n\t\t\t\tlastEl =\n\t\t\t\tlastCSS =\n\n\t\t\t\tactiveGroup =\n\t\t\t\tSortable.active = null;\n\t\t\t}\n\t\t},\n\n\n\t\thandleEvent: function (/**Event*/evt) {\n\t\t\tvar type = evt.type;\n\n\t\t\tif (type === 'dragover' || type === 'dragenter') {\n\t\t\t\tif (dragEl) {\n\t\t\t\t\tthis._onDragOver(evt);\n\t\t\t\t\t_globalDragOver(evt);\n\t\t\t\t}\n\t\t\t}\n\t\t\telse if (type === 'drop' || type === 'dragend') {\n\t\t\t\tthis._onDrop(evt);\n\t\t\t}\n\t\t},\n\n\n\t\t/**\n\t\t * Serializes the item into an array of string.\n\t\t * @returns {String[]}\n\t\t */\n\t\ttoArray: function () {\n\t\t\tvar order = [],\n\t\t\t\tel,\n\t\t\t\tchildren = this.el.children,\n\t\t\t\ti = 0,\n\t\t\t\tn = children.length,\n\t\t\t\toptions = this.options;\n\n\t\t\tfor (; i < n; i++) {\n\t\t\t\tel = children[i];\n\t\t\t\tif (_closest(el, options.draggable, this.el)) {\n\t\t\t\t\torder.push(el.getAttribute(options.dataIdAttr) || _generateId(el));\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn order;\n\t\t},\n\n\n\t\t/**\n\t\t * Sorts the elements according to the array.\n\t\t * @param {String[]} order order of the items\n\t\t */\n\t\tsort: function (order) {\n\t\t\tvar items = {}, rootEl = this.el;\n\n\t\t\tthis.toArray().forEach(function (id, i) {\n\t\t\t\tvar el = rootEl.children[i];\n\n\t\t\t\tif (_closest(el, this.options.draggable, rootEl)) {\n\t\t\t\t\titems[id] = el;\n\t\t\t\t}\n\t\t\t}, this);\n\n\t\t\torder.forEach(function (id) {\n\t\t\t\tif (items[id]) {\n\t\t\t\t\trootEl.removeChild(items[id]);\n\t\t\t\t\trootEl.appendChild(items[id]);\n\t\t\t\t}\n\t\t\t});\n\t\t},\n\n\n\t\t/**\n\t\t * Save the current sorting\n\t\t */\n\t\tsave: function () {\n\t\t\tvar store = this.options.store;\n\t\t\tstore && store.set(this);\n\t\t},\n\n\n\t\t/**\n\t\t * For each element in the set, get the first element that matches the selector by testing the element itself and traversing up through its ancestors in the DOM tree.\n\t\t * @param {HTMLElement} el\n\t\t * @param {String} [selector] default: `options.draggable`\n\t\t * @returns {HTMLElement|null}\n\t\t */\n\t\tclosest: function (el, selector) {\n\t\t\treturn _closest(el, selector || this.options.draggable, this.el);\n\t\t},\n\n\n\t\t/**\n\t\t * Set/get option\n\t\t * @param {string} name\n\t\t * @param {*} [value]\n\t\t * @returns {*}\n\t\t */\n\t\toption: function (name, value) {\n\t\t\tvar options = this.options;\n\n\t\t\tif (value === void 0) {\n\t\t\t\treturn options[name];\n\t\t\t} else {\n\t\t\t\toptions[name] = value;\n\n\t\t\t\tif (name === 'group') {\n\t\t\t\t\t_prepareGroup(options);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\n\t\t/**\n\t\t * Destroy\n\t\t */\n\t\tdestroy: function () {\n\t\t\tvar el = this.el;\n\n\t\t\tel[expando] = null;\n\n\t\t\t_off(el, 'mousedown', this._onTapStart);\n\t\t\t_off(el, 'touchstart', this._onTapStart);\n\n\t\t\tif (this.nativeDraggable) {\n\t\t\t\t_off(el, 'dragover', this);\n\t\t\t\t_off(el, 'dragenter', this);\n\t\t\t}\n\n\t\t\t// Remove draggable attributes\n\t\t\tArray.prototype.forEach.call(el.querySelectorAll('[draggable]'), function (el) {\n\t\t\t\tel.removeAttribute('draggable');\n\t\t\t});\n\n\t\t\ttouchDragOverListeners.splice(touchDragOverListeners.indexOf(this._onDragOver), 1);\n\n\t\t\tthis._onDrop();\n\n\t\t\tthis.el = el = null;\n\t\t}\n\t};\n\n\n\tfunction _cloneHide(state) {\n\t\tif (cloneEl && (cloneEl.state !== state)) {\n\t\t\t_css(cloneEl, 'display', state ? 'none' : '');\n\t\t\t!state && cloneEl.state && rootEl.insertBefore(cloneEl, dragEl);\n\t\t\tcloneEl.state = state;\n\t\t}\n\t}\n\n\n\tfunction _closest(/**HTMLElement*/el, /**String*/selector, /**HTMLElement*/ctx) {\n\t\tif (el) {\n\t\t\tctx = ctx || document;\n\t\t\tselector = selector.split('.');\n\n\t\t\tvar tag = selector.shift().toUpperCase(),\n\t\t\t\tre = new RegExp('\\\\s(' + selector.join('|') + ')(?=\\\\s)', 'g');\n\n\t\t\tdo {\n\t\t\t\tif (\n\t\t\t\t\t(tag === '>*' && el.parentNode === ctx) || (\n\t\t\t\t\t\t(tag === '' || el.nodeName.toUpperCase() == tag) &&\n\t\t\t\t\t\t(!selector.length || ((' ' + el.className + ' ').match(re) || []).length == selector.length)\n\t\t\t\t\t)\n\t\t\t\t) {\n\t\t\t\t\treturn el;\n\t\t\t\t}\n\t\t\t}\n\t\t\twhile (el !== ctx && (el = el.parentNode));\n\t\t}\n\n\t\treturn null;\n\t}\n\n\n\tfunction _globalDragOver(/**Event*/evt) {\n\t\tif (evt.dataTransfer) {\n\t\t\tevt.dataTransfer.dropEffect = 'move';\n\t\t}\n\t\tevt.preventDefault();\n\t}\n\n\n\tfunction _on(el, event, fn) {\n\t\tel.addEventListener(event, fn, false);\n\t}\n\n\n\tfunction _off(el, event, fn) {\n\t\tel.removeEventListener(event, fn, false);\n\t}\n\n\n\tfunction _toggleClass(el, name, state) {\n\t\tif (el) {\n\t\t\tif (el.classList) {\n\t\t\t\tel.classList[state ? 'add' : 'remove'](name);\n\t\t\t}\n\t\t\telse {\n\t\t\t\tvar className = (' ' + el.className + ' ').replace(RSPACE, ' ').replace(' ' + name + ' ', ' ');\n\t\t\t\tel.className = (className + (state ? ' ' + name : '')).replace(RSPACE, ' ');\n\t\t\t}\n\t\t}\n\t}\n\n\n\tfunction _css(el, prop, val) {\n\t\tvar style = el && el.style;\n\n\t\tif (style) {\n\t\t\tif (val === void 0) {\n\t\t\t\tif (document.defaultView && document.defaultView.getComputedStyle) {\n\t\t\t\t\tval = document.defaultView.getComputedStyle(el, '');\n\t\t\t\t}\n\t\t\t\telse if (el.currentStyle) {\n\t\t\t\t\tval = el.currentStyle;\n\t\t\t\t}\n\n\t\t\t\treturn prop === void 0 ? val : val[prop];\n\t\t\t}\n\t\t\telse {\n\t\t\t\tif (!(prop in style)) {\n\t\t\t\t\tprop = '-webkit-' + prop;\n\t\t\t\t}\n\n\t\t\t\tstyle[prop] = val + (typeof val === 'string' ? '' : 'px');\n\t\t\t}\n\t\t}\n\t}\n\n\n\tfunction _find(ctx, tagName, iterator) {\n\t\tif (ctx) {\n\t\t\tvar list = ctx.getElementsByTagName(tagName), i = 0, n = list.length;\n\n\t\t\tif (iterator) {\n\t\t\t\tfor (; i < n; i++) {\n\t\t\t\t\titerator(list[i], i);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn list;\n\t\t}\n\n\t\treturn [];\n\t}\n\n\n\n\tfunction _dispatchEvent(sortable, rootEl, name, targetEl, fromEl, startIndex, newIndex) {\n\t\tvar evt = document.createEvent('Event'),\n\t\t\toptions = (sortable || rootEl[expando]).options,\n\t\t\tonName = 'on' + name.charAt(0).toUpperCase() + name.substr(1);\n\n\t\tevt.initEvent(name, true, true);\n\n\t\tevt.to = rootEl;\n\t\tevt.from = fromEl || rootEl;\n\t\tevt.item = targetEl || rootEl;\n\t\tevt.clone = cloneEl;\n\n\t\tevt.oldIndex = startIndex;\n\t\tevt.newIndex = newIndex;\n\n\t\trootEl.dispatchEvent(evt);\n\n\t\tif (options[onName]) {\n\t\t\toptions[onName].call(sortable, evt);\n\t\t}\n\t}\n\n\n\tfunction _onMove(fromEl, toEl, dragEl, dragRect, targetEl, targetRect) {\n\t\tvar evt,\n\t\t\tsortable = fromEl[expando],\n\t\t\tonMoveFn = sortable.options.onMove,\n\t\t\tretVal;\n\n\t\tevt = document.createEvent('Event');\n\t\tevt.initEvent('move', true, true);\n\n\t\tevt.to = toEl;\n\t\tevt.from = fromEl;\n\t\tevt.dragged = dragEl;\n\t\tevt.draggedRect = dragRect;\n\t\tevt.related = targetEl || toEl;\n\t\tevt.relatedRect = targetRect || toEl.getBoundingClientRect();\n\n\t\tfromEl.dispatchEvent(evt);\n\n\t\tif (onMoveFn) {\n\t\t\tretVal = onMoveFn.call(sortable, evt);\n\t\t}\n\n\t\treturn retVal;\n\t}\n\n\n\tfunction _disableDraggable(el) {\n\t\tel.draggable = false;\n\t}\n\n\n\tfunction _unsilent() {\n\t\t_silent = false;\n\t}\n\n\n\t/** @returns {HTMLElement|false} */\n\tfunction _ghostIsLast(el, evt) {\n\t\tvar lastEl = el.lastElementChild,\n\t\t\t\trect = lastEl.getBoundingClientRect();\n\n\t\treturn ((evt.clientY - (rect.top + rect.height) > 5) || (evt.clientX - (rect.right + rect.width) > 5)) && lastEl; // min delta\n\t}\n\n\n\t/**\n\t * Generate id\n\t * @param {HTMLElement} el\n\t * @returns {String}\n\t * @private\n\t */\n\tfunction _generateId(el) {\n\t\tvar str = el.tagName + el.className + el.src + el.href + el.textContent,\n\t\t\ti = str.length,\n\t\t\tsum = 0;\n\n\t\twhile (i--) {\n\t\t\tsum += str.charCodeAt(i);\n\t\t}\n\n\t\treturn sum.toString(36);\n\t}\n\n\t/**\n\t * Returns the index of an element within its parent\n\t * @param {HTMLElement} el\n\t * @return {number}\n\t */\n\tfunction _index(el) {\n\t\tvar index = 0;\n\n\t\tif (!el || !el.parentNode) {\n\t\t\treturn -1;\n\t\t}\n\n\t\twhile (el && (el = el.previousElementSibling)) {\n\t\t\tif (el.nodeName.toUpperCase() !== 'TEMPLATE') {\n\t\t\t\tindex++;\n\t\t\t}\n\t\t}\n\n\t\treturn index;\n\t}\n\n\tfunction _throttle(callback, ms) {\n\t\tvar args, _this;\n\n\t\treturn function () {\n\t\t\tif (args === void 0) {\n\t\t\t\targs = arguments;\n\t\t\t\t_this = this;\n\n\t\t\t\tsetTimeout(function () {\n\t\t\t\t\tif (args.length === 1) {\n\t\t\t\t\t\tcallback.call(_this, args[0]);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tcallback.apply(_this, args);\n\t\t\t\t\t}\n\n\t\t\t\t\targs = void 0;\n\t\t\t\t}, ms);\n\t\t\t}\n\t\t};\n\t}\n\n\tfunction _extend(dst, src) {\n\t\tif (dst && src) {\n\t\t\tfor (var key in src) {\n\t\t\t\tif (src.hasOwnProperty(key)) {\n\t\t\t\t\tdst[key] = src[key];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn dst;\n\t}\n\n\n\t// Export utils\n\tSortable.utils = {\n\t\ton: _on,\n\t\toff: _off,\n\t\tcss: _css,\n\t\tfind: _find,\n\t\tis: function (el, selector) {\n\t\t\treturn !!_closest(el, selector, el);\n\t\t},\n\t\textend: _extend,\n\t\tthrottle: _throttle,\n\t\tclosest: _closest,\n\t\ttoggleClass: _toggleClass,\n\t\tindex: _index\n\t};\n\n\n\t/**\n\t * Create sortable instance\n\t * @param {HTMLElement} el\n\t * @param {Object} [options]\n\t */\n\tSortable.create = function (el, options) {\n\t\treturn new Sortable(el, options);\n\t};\n\n\n\t// Export\n\tSortable.version = '1.4.2';\n\treturn Sortable;\n});\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/sortablejs/Sortable.js\n ** module id = 662\n ** module chunks = 0\n **/","'use strict';\nmodule.exports = function (str) {\n\treturn encodeURIComponent(str).replace(/[!'()*]/g, function (c) {\n\t\treturn '%' + c.charCodeAt(0).toString(16).toUpperCase();\n\t});\n};\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/strict-uri-encode/index.js\n ** module id = 663\n ** module chunks = 0\n **/","/* global window */\n'use strict';\n\nmodule.exports = require('./ponyfill')(global || window || this);\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/symbol-observable/index.js\n ** module id = 664\n ** module chunks = 0\n **/","'use strict';\n\nmodule.exports = function symbolObservablePonyfill(root) {\n\tvar result;\n\tvar Symbol = root.Symbol;\n\n\tif (typeof Symbol === 'function') {\n\t\tif (Symbol.observable) {\n\t\t\tresult = Symbol.observable;\n\t\t} else {\n\t\t\tresult = Symbol('observable');\n\t\t\tSymbol.observable = result;\n\t\t}\n\t} else {\n\t\tresult = '@@observable';\n\t}\n\n\treturn result;\n};\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/symbol-observable/ponyfill.js\n ** module id = 665\n ** module chunks = 0\n **/","/* globals chrome: false */\n/* globals __dirname: false */\n/* globals require: false */\n/* globals Buffer: false */\n/* globals module: false */\n\n/**\n * Typo is a JavaScript implementation of a spellchecker using hunspell-style \n * dictionaries.\n */\n\nvar Typo;\n\n(function () {\n\"use strict\";\n\n/**\n * Typo constructor.\n *\n * @param {String} [dictionary] The locale code of the dictionary being used. e.g.,\n * \"en_US\". This is only used to auto-load dictionaries.\n * @param {String} [affData] The data from the dictionary's .aff file. If omitted\n * and Typo.js is being used in a Chrome extension, the .aff\n * file will be loaded automatically from\n * lib/typo/dictionaries/[dictionary]/[dictionary].aff\n * In other environments, it will be loaded from\n * [settings.dictionaryPath]/dictionaries/[dictionary]/[dictionary].aff\n * @param {String} [wordsData] The data from the dictionary's .dic file. If omitted\n * and Typo.js is being used in a Chrome extension, the .dic\n * file will be loaded automatically from\n * lib/typo/dictionaries/[dictionary]/[dictionary].dic\n * In other environments, it will be loaded from\n * [settings.dictionaryPath]/dictionaries/[dictionary]/[dictionary].dic\n * @param {Object} [settings] Constructor settings. Available properties are:\n * {String} [dictionaryPath]: path to load dictionary from in non-chrome\n * environment.\n * {Object} [flags]: flag information.\n * {Boolean} [asyncLoad]: If true, affData and wordsData will be loaded\n * asynchronously.\n * {Function} [loadedCallback]: Called when both affData and wordsData\n * have been loaded. Only used if asyncLoad is set to true. The parameter\n * is the instantiated Typo object.\n *\n * @returns {Typo} A Typo object.\n */\n\nTypo = function (dictionary, affData, wordsData, settings) {\n\tsettings = settings || {};\n\n\tthis.dictionary = null;\n\t\n\tthis.rules = {};\n\tthis.dictionaryTable = {};\n\t\n\tthis.compoundRules = [];\n\tthis.compoundRuleCodes = {};\n\t\n\tthis.replacementTable = [];\n\t\n\tthis.flags = settings.flags || {}; \n\t\n\tthis.memoized = {};\n\n\tthis.loaded = false;\n\t\n\tvar self = this;\n\t\n\tvar path;\n\t\n\t// Loop-control variables.\n\tvar i, j, _len, _jlen;\n\t\n\tif (dictionary) {\n\t\tself.dictionary = dictionary;\n\t\t\n\t\t// If the data is preloaded, just setup the Typo object.\n\t\tif (affData && wordsData) {\n\t\t\tsetup();\n\t\t}\n\t\t// Loading data for Chrome extentions.\n\t\telse if (typeof window !== 'undefined' && 'chrome' in window && 'extension' in window.chrome && 'getURL' in window.chrome.extension) {\n\t\t\tif (settings.dictionaryPath) {\n\t\t\t\tpath = settings.dictionaryPath;\n\t\t\t}\n\t\t\telse {\n\t\t\t\tpath = \"typo/dictionaries\";\n\t\t\t}\n\t\t\t\n\t\t\tif (!affData) readDataFile(chrome.extension.getURL(path + \"/\" + dictionary + \"/\" + dictionary + \".aff\"), setAffData);\n\t\t\tif (!wordsData) readDataFile(chrome.extension.getURL(path + \"/\" + dictionary + \"/\" + dictionary + \".dic\"), setWordsData);\n\t\t}\n\t\telse {\n\t\t\tif (settings.dictionaryPath) {\n\t\t\t\tpath = settings.dictionaryPath;\n\t\t\t}\n\t\t\telse if (typeof __dirname !== 'undefined') {\n\t\t\t\tpath = __dirname + '/dictionaries';\n\t\t\t}\n\t\t\telse {\n\t\t\t\tpath = './dictionaries';\n\t\t\t}\n\t\t\t\n\t\t\tif (!affData) readDataFile(path + \"/\" + dictionary + \"/\" + dictionary + \".aff\", setAffData);\n\t\t\tif (!wordsData) readDataFile(path + \"/\" + dictionary + \"/\" + dictionary + \".dic\", setWordsData);\n\t\t}\n\t}\n\t\n\tfunction readDataFile(url, setFunc) {\n\t\tvar response = self._readFile(url, null, settings.asyncLoad);\n\t\t\n\t\tif (settings.asyncLoad) {\n\t\t\tresponse.then(function(data) {\n\t\t\t\tsetFunc(data);\n\t\t\t});\n\t\t}\n\t\telse {\n\t\t\tsetFunc(response);\n\t\t}\n\t}\n\n\tfunction setAffData(data) {\n\t\taffData = data;\n\n\t\tif (wordsData) {\n\t\t\tsetup();\n\t\t}\n\t}\n\n\tfunction setWordsData(data) {\n\t\twordsData = data;\n\n\t\tif (affData) {\n\t\t\tsetup();\n\t\t}\n\t}\n\n\tfunction setup() {\n\t\tself.rules = self._parseAFF(affData);\n\t\t\n\t\t// Save the rule codes that are used in compound rules.\n\t\tself.compoundRuleCodes = {};\n\t\t\n\t\tfor (i = 0, _len = self.compoundRules.length; i < _len; i++) {\n\t\t\tvar rule = self.compoundRules[i];\n\t\t\t\n\t\t\tfor (j = 0, _jlen = rule.length; j < _jlen; j++) {\n\t\t\t\tself.compoundRuleCodes[rule[j]] = [];\n\t\t\t}\n\t\t}\n\t\t\n\t\t// If we add this ONLYINCOMPOUND flag to self.compoundRuleCodes, then _parseDIC\n\t\t// will do the work of saving the list of words that are compound-only.\n\t\tif (\"ONLYINCOMPOUND\" in self.flags) {\n\t\t\tself.compoundRuleCodes[self.flags.ONLYINCOMPOUND] = [];\n\t\t}\n\t\t\n\t\tself.dictionaryTable = self._parseDIC(wordsData);\n\t\t\n\t\t// Get rid of any codes from the compound rule codes that are never used \n\t\t// (or that were special regex characters). Not especially necessary... \n\t\tfor (i in self.compoundRuleCodes) {\n\t\t\tif (self.compoundRuleCodes[i].length === 0) {\n\t\t\t\tdelete self.compoundRuleCodes[i];\n\t\t\t}\n\t\t}\n\t\t\n\t\t// Build the full regular expressions for each compound rule.\n\t\t// I have a feeling (but no confirmation yet) that this method of \n\t\t// testing for compound words is probably slow.\n\t\tfor (i = 0, _len = self.compoundRules.length; i < _len; i++) {\n\t\t\tvar ruleText = self.compoundRules[i];\n\t\t\t\n\t\t\tvar expressionText = \"\";\n\t\t\t\n\t\t\tfor (j = 0, _jlen = ruleText.length; j < _jlen; j++) {\n\t\t\t\tvar character = ruleText[j];\n\t\t\t\t\n\t\t\t\tif (character in self.compoundRuleCodes) {\n\t\t\t\t\texpressionText += \"(\" + self.compoundRuleCodes[character].join(\"|\") + \")\";\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\texpressionText += character;\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\tself.compoundRules[i] = new RegExp(expressionText, \"i\");\n\t\t}\n\t\t\n\t\tself.loaded = true;\n\t\t\n\t\tif (settings.asyncLoad && settings.loadedCallback) {\n\t\t\tsettings.loadedCallback(self);\n\t\t}\n\t}\n\t\n\treturn this;\n};\n\nTypo.prototype = {\n\t/**\n\t * Loads a Typo instance from a hash of all of the Typo properties.\n\t *\n\t * @param object obj A hash of Typo properties, probably gotten from a JSON.parse(JSON.stringify(typo_instance)).\n\t */\n\t\n\tload : function (obj) {\n\t\tfor (var i in obj) {\n\t\t\tif (obj.hasOwnProperty(i)) {\n\t\t\t\tthis[i] = obj[i];\n\t\t\t}\n\t\t}\n\t\t\n\t\treturn this;\n\t},\n\t\n\t/**\n\t * Read the contents of a file.\n\t * \n\t * @param {String} path The path (relative) to the file.\n\t * @param {String} [charset=\"ISO8859-1\"] The expected charset of the file\n\t * @param {Boolean} async If true, the file will be read asynchronously. For node.js this does nothing, all\n\t * files are read synchronously.\n\t * @returns {String} The file data if async is false, otherwise a promise object. If running node.js, the data is\n\t * always returned.\n\t */\n\t\n\t_readFile : function (path, charset, async) {\n\t\tcharset = charset || \"utf8\";\n\t\t\n\t\tif (typeof XMLHttpRequest !== 'undefined') {\n\t\t\tvar promise;\n\t\t\tvar req = new XMLHttpRequest();\n\t\t\treq.open(\"GET\", path, async);\n\t\t\t\n\t\t\tif (async) {\n\t\t\t\tpromise = new Promise(function(resolve, reject) {\n\t\t\t\t\treq.onload = function() {\n\t\t\t\t\t\tif (req.status === 200) {\n\t\t\t\t\t\t\tresolve(req.responseText);\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\treject(req.statusText);\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t\n\t\t\t\t\treq.onerror = function() {\n\t\t\t\t\t\treject(req.statusText);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t\n\t\t\tif (req.overrideMimeType)\n\t\t\t\treq.overrideMimeType(\"text/plain; charset=\" + charset);\n\t\t\n\t\t\treq.send(null);\n\t\t\t\n\t\t\treturn async ? promise : req.responseText;\n\t\t}\n\t\telse if (typeof require !== 'undefined') {\n\t\t\t// Node.js\n\t\t\tvar fs = require(\"fs\");\n\t\t\t\n\t\t\ttry {\n\t\t\t\tif (fs.existsSync(path)) {\n\t\t\t\t\tvar stats = fs.statSync(path);\n\t\t\t\t\t\n\t\t\t\t\tvar fileDescriptor = fs.openSync(path, 'r');\n\t\t\t\t\t\n\t\t\t\t\tvar buffer = new Buffer(stats.size);\n\t\t\t\t\t\n\t\t\t\t\tfs.readSync(fileDescriptor, buffer, 0, buffer.length, null);\n\t\t\t\t\t\n\t\t\t\t\treturn buffer.toString(charset, 0, buffer.length);\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tconsole.log(\"Path \" + path + \" does not exist.\");\n\t\t\t\t}\n\t\t\t} catch (e) {\n\t\t\t\tconsole.log(e);\n\t\t\t\treturn '';\n\t\t\t}\n\t\t}\n\t},\n\t\n\t/**\n\t * Parse the rules out from a .aff file.\n\t *\n\t * @param {String} data The contents of the affix file.\n\t * @returns object The rules from the file.\n\t */\n\t\n\t_parseAFF : function (data) {\n\t\tvar rules = {};\n\t\t\n\t\tvar line, subline, numEntries, lineParts;\n\t\tvar i, j, _len, _jlen;\n\t\t\n\t\t// Remove comment lines\n\t\tdata = this._removeAffixComments(data);\n\t\t\n\t\tvar lines = data.split(\"\\n\");\n\t\t\n\t\tfor (i = 0, _len = lines.length; i < _len; i++) {\n\t\t\tline = lines[i];\n\t\t\t\n\t\t\tvar definitionParts = line.split(/\\s+/);\n\t\t\t\n\t\t\tvar ruleType = definitionParts[0];\n\t\t\t\n\t\t\tif (ruleType == \"PFX\" || ruleType == \"SFX\") {\n\t\t\t\tvar ruleCode = definitionParts[1];\n\t\t\t\tvar combineable = definitionParts[2];\n\t\t\t\tnumEntries = parseInt(definitionParts[3], 10);\n\t\t\t\t\n\t\t\t\tvar entries = [];\n\t\t\t\t\n\t\t\t\tfor (j = i + 1, _jlen = i + 1 + numEntries; j < _jlen; j++) {\n\t\t\t\t\tsubline = lines[j];\n\t\t\t\t\t\n\t\t\t\t\tlineParts = subline.split(/\\s+/);\n\t\t\t\t\tvar charactersToRemove = lineParts[2];\n\t\t\t\t\t\n\t\t\t\t\tvar additionParts = lineParts[3].split(\"/\");\n\t\t\t\t\t\n\t\t\t\t\tvar charactersToAdd = additionParts[0];\n\t\t\t\t\tif (charactersToAdd === \"0\") charactersToAdd = \"\";\n\t\t\t\t\t\n\t\t\t\t\tvar continuationClasses = this.parseRuleCodes(additionParts[1]);\n\t\t\t\t\t\n\t\t\t\t\tvar regexToMatch = lineParts[4];\n\t\t\t\t\t\n\t\t\t\t\tvar entry = {};\n\t\t\t\t\tentry.add = charactersToAdd;\n\t\t\t\t\t\n\t\t\t\t\tif (continuationClasses.length > 0) entry.continuationClasses = continuationClasses;\n\t\t\t\t\t\n\t\t\t\t\tif (regexToMatch !== \".\") {\n\t\t\t\t\t\tif (ruleType === \"SFX\") {\n\t\t\t\t\t\t\tentry.match = new RegExp(regexToMatch + \"$\");\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tentry.match = new RegExp(\"^\" + regexToMatch);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\tif (charactersToRemove != \"0\") {\n\t\t\t\t\t\tif (ruleType === \"SFX\") {\n\t\t\t\t\t\t\tentry.remove = new RegExp(charactersToRemove + \"$\");\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tentry.remove = charactersToRemove;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\tentries.push(entry);\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\trules[ruleCode] = { \"type\" : ruleType, \"combineable\" : (combineable == \"Y\"), \"entries\" : entries };\n\t\t\t\t\n\t\t\t\ti += numEntries;\n\t\t\t}\n\t\t\telse if (ruleType === \"COMPOUNDRULE\") {\n\t\t\t\tnumEntries = parseInt(definitionParts[1], 10);\n\t\t\t\t\n\t\t\t\tfor (j = i + 1, _jlen = i + 1 + numEntries; j < _jlen; j++) {\n\t\t\t\t\tline = lines[j];\n\t\t\t\t\t\n\t\t\t\t\tlineParts = line.split(/\\s+/);\n\t\t\t\t\tthis.compoundRules.push(lineParts[1]);\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\ti += numEntries;\n\t\t\t}\n\t\t\telse if (ruleType === \"REP\") {\n\t\t\t\tlineParts = line.split(/\\s+/);\n\t\t\t\t\n\t\t\t\tif (lineParts.length === 3) {\n\t\t\t\t\tthis.replacementTable.push([ lineParts[1], lineParts[2] ]);\n\t\t\t\t}\n\t\t\t}\n\t\t\telse {\n\t\t\t\t// ONLYINCOMPOUND\n\t\t\t\t// COMPOUNDMIN\n\t\t\t\t// FLAG\n\t\t\t\t// KEEPCASE\n\t\t\t\t// NEEDAFFIX\n\t\t\t\t\n\t\t\t\tthis.flags[ruleType] = definitionParts[1];\n\t\t\t}\n\t\t}\n\t\t\n\t\treturn rules;\n\t},\n\t\n\t/**\n\t * Removes comment lines and then cleans up blank lines and trailing whitespace.\n\t *\n\t * @param {String} data The data from an affix file.\n\t * @return {String} The cleaned-up data.\n\t */\n\t\n\t_removeAffixComments : function (data) {\n\t\t// Remove comments\n\t\tdata = data.replace(/#.*$/mg, \"\");\n\t\t\n\t\t// Trim each line\n\t\tdata = data.replace(/^\\s\\s*/m, '').replace(/\\s\\s*$/m, '');\n\t\t\n\t\t// Remove blank lines.\n\t\tdata = data.replace(/\\n{2,}/g, \"\\n\");\n\t\t\n\t\t// Trim the entire string\n\t\tdata = data.replace(/^\\s\\s*/, '').replace(/\\s\\s*$/, '');\n\t\t\n\t\treturn data;\n\t},\n\t\n\t/**\n\t * Parses the words out from the .dic file.\n\t *\n\t * @param {String} data The data from the dictionary file.\n\t * @returns object The lookup table containing all of the words and\n\t * word forms from the dictionary.\n\t */\n\t\n\t_parseDIC : function (data) {\n\t\tdata = this._removeDicComments(data);\n\t\t\n\t\tvar lines = data.split(\"\\n\");\n\t\tvar dictionaryTable = {};\n\t\t\n\t\tfunction addWord(word, rules) {\n\t\t\t// Some dictionaries will list the same word multiple times with different rule sets.\n\t\t\tif (!dictionaryTable.hasOwnProperty(word)) {\n\t\t\t\tdictionaryTable[word] = null;\n\t\t\t}\n\t\t\t\n\t\t\tif (rules.length > 0) {\n\t\t\t\tif (dictionaryTable[word] === null) {\n\t\t\t\t\tdictionaryTable[word] = [];\n\t\t\t\t}\n\n\t\t\t\tdictionaryTable[word].push(rules);\n\t\t\t}\n\t\t}\n\t\t\n\t\t// The first line is the number of words in the dictionary.\n\t\tfor (var i = 1, _len = lines.length; i < _len; i++) {\n\t\t\tvar line = lines[i];\n\t\t\t\n\t\t\tvar parts = line.split(\"/\", 2);\n\t\t\t\n\t\t\tvar word = parts[0];\n\n\t\t\t// Now for each affix rule, generate that form of the word.\n\t\t\tif (parts.length > 1) {\n\t\t\t\tvar ruleCodesArray = this.parseRuleCodes(parts[1]);\n\t\t\t\t\n\t\t\t\t// Save the ruleCodes for compound word situations.\n\t\t\t\tif (!(\"NEEDAFFIX\" in this.flags) || ruleCodesArray.indexOf(this.flags.NEEDAFFIX) == -1) {\n\t\t\t\t\taddWord(word, ruleCodesArray);\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tfor (var j = 0, _jlen = ruleCodesArray.length; j < _jlen; j++) {\n\t\t\t\t\tvar code = ruleCodesArray[j];\n\t\t\t\t\t\n\t\t\t\t\tvar rule = this.rules[code];\n\t\t\t\t\t\n\t\t\t\t\tif (rule) {\n\t\t\t\t\t\tvar newWords = this._applyRule(word, rule);\n\t\t\t\t\t\t\n\t\t\t\t\t\tfor (var ii = 0, _iilen = newWords.length; ii < _iilen; ii++) {\n\t\t\t\t\t\t\tvar newWord = newWords[ii];\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\taddWord(newWord, []);\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tif (rule.combineable) {\n\t\t\t\t\t\t\t\tfor (var k = j + 1; k < _jlen; k++) {\n\t\t\t\t\t\t\t\t\tvar combineCode = ruleCodesArray[k];\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tvar combineRule = this.rules[combineCode];\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tif (combineRule) {\n\t\t\t\t\t\t\t\t\t\tif (combineRule.combineable && (rule.type != combineRule.type)) {\n\t\t\t\t\t\t\t\t\t\t\tvar otherNewWords = this._applyRule(newWord, combineRule);\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\tfor (var iii = 0, _iiilen = otherNewWords.length; iii < _iiilen; iii++) {\n\t\t\t\t\t\t\t\t\t\t\t\tvar otherNewWord = otherNewWords[iii];\n\t\t\t\t\t\t\t\t\t\t\t\taddWord(otherNewWord, []);\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\tif (code in this.compoundRuleCodes) {\n\t\t\t\t\t\tthis.compoundRuleCodes[code].push(word);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\telse {\n\t\t\t\taddWord(word.trim(), []);\n\t\t\t}\n\t\t}\n\t\t\n\t\treturn dictionaryTable;\n\t},\n\t\n\t\n\t/**\n\t * Removes comment lines and then cleans up blank lines and trailing whitespace.\n\t *\n\t * @param {String} data The data from a .dic file.\n\t * @return {String} The cleaned-up data.\n\t */\n\t\n\t_removeDicComments : function (data) {\n\t\t// I can't find any official documentation on it, but at least the de_DE\n\t\t// dictionary uses tab-indented lines as comments.\n\t\t\n\t\t// Remove comments\n\t\tdata = data.replace(/^\\t.*$/mg, \"\");\n\t\t\n\t\treturn data;\n\t},\n\t\n\tparseRuleCodes : function (textCodes) {\n\t\tif (!textCodes) {\n\t\t\treturn [];\n\t\t}\n\t\telse if (!(\"FLAG\" in this.flags)) {\n\t\t\treturn textCodes.split(\"\");\n\t\t}\n\t\telse if (this.flags.FLAG === \"long\") {\n\t\t\tvar flags = [];\n\t\t\t\n\t\t\tfor (var i = 0, _len = textCodes.length; i < _len; i += 2) {\n\t\t\t\tflags.push(textCodes.substr(i, 2));\n\t\t\t}\n\t\t\t\n\t\t\treturn flags;\n\t\t}\n\t\telse if (this.flags.FLAG === \"num\") {\n\t\t\treturn textCodes.split(\",\");\n\t\t}\n\t},\n\t\n\t/**\n\t * Applies an affix rule to a word.\n\t *\n\t * @param {String} word The base word.\n\t * @param {Object} rule The affix rule.\n\t * @returns {String[]} The new words generated by the rule.\n\t */\n\t\n\t_applyRule : function (word, rule) {\n\t\tvar entries = rule.entries;\n\t\tvar newWords = [];\n\t\t\n\t\tfor (var i = 0, _len = entries.length; i < _len; i++) {\n\t\t\tvar entry = entries[i];\n\t\t\t\n\t\t\tif (!entry.match || word.match(entry.match)) {\n\t\t\t\tvar newWord = word;\n\t\t\t\t\n\t\t\t\tif (entry.remove) {\n\t\t\t\t\tnewWord = newWord.replace(entry.remove, \"\");\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif (rule.type === \"SFX\") {\n\t\t\t\t\tnewWord = newWord + entry.add;\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tnewWord = entry.add + newWord;\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tnewWords.push(newWord);\n\t\t\t\t\n\t\t\t\tif (\"continuationClasses\" in entry) {\n\t\t\t\t\tfor (var j = 0, _jlen = entry.continuationClasses.length; j < _jlen; j++) {\n\t\t\t\t\t\tvar continuationRule = this.rules[entry.continuationClasses[j]];\n\t\t\t\t\t\t\n\t\t\t\t\t\tif (continuationRule) {\n\t\t\t\t\t\t\tnewWords = newWords.concat(this._applyRule(newWord, continuationRule));\n\t\t\t\t\t\t}\n\t\t\t\t\t\t/*\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t// This shouldn't happen, but it does, at least in the de_DE dictionary.\n\t\t\t\t\t\t\t// I think the author mistakenly supplied lower-case rule codes instead \n\t\t\t\t\t\t\t// of upper-case.\n\t\t\t\t\t\t}\n\t\t\t\t\t\t*/\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t\n\t\treturn newWords;\n\t},\n\t\n\t/**\n\t * Checks whether a word or a capitalization variant exists in the current dictionary.\n\t * The word is trimmed and several variations of capitalizations are checked.\n\t * If you want to check a word without any changes made to it, call checkExact()\n\t *\n\t * @see http://blog.stevenlevithan.com/archives/faster-trim-javascript re:trimming function\n\t *\n\t * @param {String} aWord The word to check.\n\t * @returns {Boolean}\n\t */\n\t\n\tcheck : function (aWord) {\n\t\tif (!this.loaded) {\n\t\t\tthrow \"Dictionary not loaded.\";\n\t\t}\n\t\t\n\t\t// Remove leading and trailing whitespace\n\t\tvar trimmedWord = aWord.replace(/^\\s\\s*/, '').replace(/\\s\\s*$/, '');\n\t\t\n\t\tif (this.checkExact(trimmedWord)) {\n\t\t\treturn true;\n\t\t}\n\t\t\n\t\t// The exact word is not in the dictionary.\n\t\tif (trimmedWord.toUpperCase() === trimmedWord) {\n\t\t\t// The word was supplied in all uppercase.\n\t\t\t// Check for a capitalized form of the word.\n\t\t\tvar capitalizedWord = trimmedWord[0] + trimmedWord.substring(1).toLowerCase();\n\t\t\t\n\t\t\tif (this.hasFlag(capitalizedWord, \"KEEPCASE\")) {\n\t\t\t\t// Capitalization variants are not allowed for this word.\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\t\n\t\t\tif (this.checkExact(capitalizedWord)) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\t\n\t\tvar lowercaseWord = trimmedWord.toLowerCase();\n\t\t\n\t\tif (lowercaseWord !== trimmedWord) {\n\t\t\tif (this.hasFlag(lowercaseWord, \"KEEPCASE\")) {\n\t\t\t\t// Capitalization variants are not allowed for this word.\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\t\n\t\t\t// Check for a lowercase form\n\t\t\tif (this.checkExact(lowercaseWord)) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\t\n\t\treturn false;\n\t},\n\t\n\t/**\n\t * Checks whether a word exists in the current dictionary.\n\t *\n\t * @param {String} word The word to check.\n\t * @returns {Boolean}\n\t */\n\t\n\tcheckExact : function (word) {\n\t\tif (!this.loaded) {\n\t\t\tthrow \"Dictionary not loaded.\";\n\t\t}\n\n\t\tvar ruleCodes = this.dictionaryTable[word];\n\t\t\n\t\tvar i, _len;\n\t\t\n\t\tif (typeof ruleCodes === 'undefined') {\n\t\t\t// Check if this might be a compound word.\n\t\t\tif (\"COMPOUNDMIN\" in this.flags && word.length >= this.flags.COMPOUNDMIN) {\n\t\t\t\tfor (i = 0, _len = this.compoundRules.length; i < _len; i++) {\n\t\t\t\t\tif (word.match(this.compoundRules[i])) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\telse if (ruleCodes === null) {\n\t\t\t// a null (but not undefined) value for an entry in the dictionary table\n\t\t\t// means that the word is in the dictionary but has no flags.\n\t\t\treturn true;\n\t\t}\n\t\telse if (typeof ruleCodes === 'object') { // this.dictionary['hasOwnProperty'] will be a function.\n\t\t\tfor (i = 0, _len = ruleCodes.length; i < _len; i++) {\n\t\t\t\tif (!this.hasFlag(word, \"ONLYINCOMPOUND\", ruleCodes[i])) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t},\n\t\n\t/**\n\t * Looks up whether a given word is flagged with a given flag.\n\t *\n\t * @param {String} word The word in question.\n\t * @param {String} flag The flag in question.\n\t * @return {Boolean}\n\t */\n\t \n\thasFlag : function (word, flag, wordFlags) {\n\t\tif (!this.loaded) {\n\t\t\tthrow \"Dictionary not loaded.\";\n\t\t}\n\n\t\tif (flag in this.flags) {\n\t\t\tif (typeof wordFlags === 'undefined') {\n\t\t\t\twordFlags = Array.prototype.concat.apply([], this.dictionaryTable[word]);\n\t\t\t}\n\t\t\t\n\t\t\tif (wordFlags && wordFlags.indexOf(this.flags[flag]) !== -1) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\t\n\t\treturn false;\n\t},\n\t\n\t/**\n\t * Returns a list of suggestions for a misspelled word.\n\t *\n\t * @see http://www.norvig.com/spell-correct.html for the basis of this suggestor.\n\t * This suggestor is primitive, but it works.\n\t *\n\t * @param {String} word The misspelling.\n\t * @param {Number} [limit=5] The maximum number of suggestions to return.\n\t * @returns {String[]} The array of suggestions.\n\t */\n\t\n\talphabet : \"\",\n\t\n\tsuggest : function (word, limit) {\n\t\tif (!this.loaded) {\n\t\t\tthrow \"Dictionary not loaded.\";\n\t\t}\n\n\t\tlimit = limit || 5;\n\n\t\tif (this.memoized.hasOwnProperty(word)) {\n\t\t\tvar memoizedLimit = this.memoized[word]['limit'];\n\n\t\t\t// Only return the cached list if it's big enough or if there weren't enough suggestions\n\t\t\t// to fill a smaller limit.\n\t\t\tif (limit <= memoizedLimit || this.memoized[word]['suggestions'].length < memoizedLimit) {\n\t\t\t\treturn this.memoized[word]['suggestions'].slice(0, limit);\n\t\t\t}\n\t\t}\n\t\t\n\t\tif (this.check(word)) return [];\n\t\t\n\t\t// Check the replacement table.\n\t\tfor (var i = 0, _len = this.replacementTable.length; i < _len; i++) {\n\t\t\tvar replacementEntry = this.replacementTable[i];\n\t\t\t\n\t\t\tif (word.indexOf(replacementEntry[0]) !== -1) {\n\t\t\t\tvar correctedWord = word.replace(replacementEntry[0], replacementEntry[1]);\n\t\t\t\t\n\t\t\t\tif (this.check(correctedWord)) {\n\t\t\t\t\treturn [ correctedWord ];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t\n\t\tvar self = this;\n\t\tself.alphabet = \"abcdefghijklmnopqrstuvwxyz\";\n\t\t\n\t\t/*\n\t\tif (!self.alphabet) {\n\t\t\t// Use the alphabet as implicitly defined by the words in the dictionary.\n\t\t\tvar alphaHash = {};\n\t\t\t\n\t\t\tfor (var i in self.dictionaryTable) {\n\t\t\t\tfor (var j = 0, _len = i.length; j < _len; j++) {\n\t\t\t\t\talphaHash[i[j]] = true;\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\tfor (var i in alphaHash) {\n\t\t\t\tself.alphabet += i;\n\t\t\t}\n\t\t\t\n\t\t\tvar alphaArray = self.alphabet.split(\"\");\n\t\t\talphaArray.sort();\n\t\t\tself.alphabet = alphaArray.join(\"\");\n\t\t}\n\t\t*/\n\t\t\n\t\tfunction edits1(words) {\n\t\t\tvar rv = [];\n\t\t\t\n\t\t\tvar ii, i, j, _iilen, _len, _jlen;\n\t\t\t\n\t\t\tfor (ii = 0, _iilen = words.length; ii < _iilen; ii++) {\n\t\t\t\tvar word = words[ii];\n\t\t\t\t\n\t\t\t\tfor (i = 0, _len = word.length + 1; i < _len; i++) {\n\t\t\t\t\tvar s = [ word.substring(0, i), word.substring(i) ];\n\t\t\t\t\n\t\t\t\t\tif (s[1]) {\n\t\t\t\t\t\trv.push(s[0] + s[1].substring(1));\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\t// Eliminate transpositions of identical letters\n\t\t\t\t\tif (s[1].length > 1 && s[1][1] !== s[1][0]) {\n\t\t\t\t\t\trv.push(s[0] + s[1][1] + s[1][0] + s[1].substring(2));\n\t\t\t\t\t}\n\n\t\t\t\t\tif (s[1]) {\n\t\t\t\t\t\tfor (j = 0, _jlen = self.alphabet.length; j < _jlen; j++) {\n\t\t\t\t\t\t\t// Eliminate replacement of a letter by itself\n\t\t\t\t\t\t\tif (self.alphabet[j] != s[1].substring(0,1)){\n\t\t\t\t\t\t\t\trv.push(s[0] + self.alphabet[j] + s[1].substring(1));\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tif (s[1]) {\n\t\t\t\t\t\tfor (j = 0, _jlen = self.alphabet.length; j < _jlen; j++) {\n\t\t\t\t\t\t\trv.push(s[0] + self.alphabet[j] + s[1]);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\treturn rv;\n\t\t}\n\t\t\n\t\tfunction known(words) {\n\t\t\tvar rv = [];\n\t\t\t\n\t\t\tfor (var i = 0, _len = words.length; i < _len; i++) {\n\t\t\t\tif (self.check(words[i])) {\n\t\t\t\t\trv.push(words[i]);\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\treturn rv;\n\t\t}\n\t\t\n\t\tfunction correct(word) {\n\t\t\t// Get the edit-distance-1 and edit-distance-2 forms of this word.\n\t\t\tvar ed1 = edits1([word]);\n\t\t\tvar ed2 = edits1(ed1);\n\t\t\t\n\t\t\tvar corrections = known(ed1.concat(ed2));\n\t\t\t\n\t\t\tvar i, _len;\n\t\t\t\n\t\t\t// Sort the edits based on how many different ways they were created.\n\t\t\tvar weighted_corrections = {};\n\t\t\t\n\t\t\tfor (i = 0, _len = corrections.length; i < _len; i++) {\n\t\t\t\tif (!(corrections[i] in weighted_corrections)) {\n\t\t\t\t\tweighted_corrections[corrections[i]] = 1;\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tweighted_corrections[corrections[i]] += 1;\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\tvar sorted_corrections = [];\n\t\t\t\n\t\t\tfor (i in weighted_corrections) {\n\t\t\t\tif (weighted_corrections.hasOwnProperty(i)) {\n\t\t\t\t\tsorted_corrections.push([ i, weighted_corrections[i] ]);\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\tfunction sorter(a, b) {\n\t\t\t\tif (a[1] < b[1]) {\n\t\t\t\t\treturn -1;\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\treturn 1;\n\t\t\t}\n\t\t\t\n\t\t\tsorted_corrections.sort(sorter).reverse();\n\t\t\t\n\t\t\tvar rv = [];\n\n\t\t\tvar capitalization_scheme = \"lowercase\";\n\t\t\t\n\t\t\tif (word.toUpperCase() === word) {\n\t\t\t\tcapitalization_scheme = \"uppercase\";\n\t\t\t}\n\t\t\telse if (word.substr(0, 1).toUpperCase() + word.substr(1).toLowerCase() === word) {\n\t\t\t\tcapitalization_scheme = \"capitalized\";\n\t\t\t}\n\t\t\t\n\t\t\tfor (i = 0, _len = Math.min(limit, sorted_corrections.length); i < _len; i++) {\n\t\t\t\tif (\"uppercase\" === capitalization_scheme) {\n\t\t\t\t\tsorted_corrections[i][0] = sorted_corrections[i][0].toUpperCase();\n\t\t\t\t}\n\t\t\t\telse if (\"capitalized\" === capitalization_scheme) {\n\t\t\t\t\tsorted_corrections[i][0] = sorted_corrections[i][0].substr(0, 1).toUpperCase() + sorted_corrections[i][0].substr(1);\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif (!self.hasFlag(sorted_corrections[i][0], \"NOSUGGEST\")) {\n\t\t\t\t\trv.push(sorted_corrections[i][0]);\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\treturn rv;\n\t\t}\n\t\t\n\t\tthis.memoized[word] = {\n\t\t\t'suggestions': correct(word),\n\t\t\t'limit': limit\n\t\t};\n\n\t\treturn this.memoized[word]['suggestions'];\n\t}\n};\n})();\n\n// Support for use as a node.js module.\nif (typeof module !== 'undefined') {\n\tmodule.exports = Typo;\n}\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/typo-js/typo.js\n ** module id = 666\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nexports.default = createUncontrollable;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _invariant = require('invariant');\n\nvar _invariant2 = _interopRequireDefault(_invariant);\n\nvar _utils = require('./utils');\n\nvar utils = _interopRequireWildcard(_utils);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction createUncontrollable(mixins, set) {\n\n return uncontrollable;\n\n function uncontrollable(Component, controlledValues) {\n var methods = arguments.length <= 2 || arguments[2] === undefined ? [] : arguments[2];\n\n var displayName = Component.displayName || Component.name || 'Component',\n basePropTypes = utils.getType(Component).propTypes,\n isCompositeComponent = utils.isReactComponent(Component),\n controlledProps = Object.keys(controlledValues),\n propTypes;\n\n var OMIT_PROPS = ['valueLink', 'checkedLink'].concat(controlledProps.map(utils.defaultKey));\n\n propTypes = utils.uncontrolledPropTypes(controlledValues, basePropTypes, displayName);\n\n (0, _invariant2.default)(isCompositeComponent || !methods.length, '[uncontrollable] stateless function components cannot pass through methods ' + 'because they have no associated instances. Check component: ' + displayName + ', ' + 'attempting to pass through methods: ' + methods.join(', '));\n\n methods = utils.transform(methods, function (obj, method) {\n obj[method] = function () {\n var _refs$inner;\n\n return (_refs$inner = this.refs.inner)[method].apply(_refs$inner, arguments);\n };\n }, {});\n\n var component = _react2.default.createClass(_extends({\n\n displayName: 'Uncontrolled(' + displayName + ')',\n\n mixins: mixins,\n\n propTypes: propTypes\n\n }, methods, {\n componentWillMount: function componentWillMount() {\n var _this = this;\n\n var props = this.props;\n\n this._values = {};\n\n controlledProps.forEach(function (key) {\n _this._values[key] = props[utils.defaultKey(key)];\n });\n },\n\n\n /**\n * If a prop switches from controlled to Uncontrolled\n * reset its value to the defaultValue\n */\n componentWillReceiveProps: function componentWillReceiveProps(nextProps) {\n var _this2 = this;\n\n var props = this.props;\n\n controlledProps.forEach(function (key) {\n if (utils.getValue(nextProps, key) === undefined && utils.getValue(props, key) !== undefined) {\n _this2._values[key] = nextProps[utils.defaultKey(key)];\n }\n });\n },\n getControlledInstance: function getControlledInstance() {\n return this.refs.inner;\n },\n render: function render() {\n var _this3 = this;\n\n var newProps = {},\n props = omitProps(this.props);\n\n utils.each(controlledValues, function (handle, propName) {\n var linkPropName = utils.getLinkName(propName),\n prop = _this3.props[propName];\n\n if (linkPropName && !isProp(_this3.props, propName) && isProp(_this3.props, linkPropName)) {\n prop = _this3.props[linkPropName].value;\n }\n\n newProps[propName] = prop !== undefined ? prop : _this3._values[propName];\n\n newProps[handle] = setAndNotify.bind(_this3, propName);\n });\n\n newProps = _extends({}, props, newProps, {\n ref: isCompositeComponent ? 'inner' : null\n });\n\n return _react2.default.createElement(Component, newProps);\n }\n }));\n\n component.ControlledComponent = Component;\n\n /**\n * useful when wrapping a Component and you want to control\n * everything\n */\n component.deferControlTo = function (newComponent) {\n var additions = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n var nextMethods = arguments[2];\n\n return uncontrollable(newComponent, _extends({}, controlledValues, additions), nextMethods);\n };\n\n return component;\n\n function setAndNotify(propName, value) {\n var linkName = utils.getLinkName(propName),\n handler = this.props[controlledValues[propName]];\n\n if (linkName && isProp(this.props, linkName) && !handler) {\n handler = this.props[linkName].requestChange;\n }\n\n for (var _len = arguments.length, args = Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n args[_key - 2] = arguments[_key];\n }\n\n set(this, propName, handler, value, args);\n }\n\n function isProp(props, prop) {\n return props[prop] !== undefined;\n }\n\n function omitProps(props) {\n var result = {};\n\n utils.each(props, function (value, key) {\n if (OMIT_PROPS.indexOf(key) === -1) result[key] = value;\n });\n\n return result;\n }\n }\n}\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/uncontrollable/createUncontrollable.js\n ** module id = 667\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\nexports.version = undefined;\nexports.uncontrolledPropTypes = uncontrolledPropTypes;\nexports.getType = getType;\nexports.getValue = getValue;\nexports.getLinkName = getLinkName;\nexports.defaultKey = defaultKey;\nexports.chain = chain;\nexports.transform = transform;\nexports.each = each;\nexports.has = has;\nexports.isReactComponent = isReactComponent;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _invariant = require('invariant');\n\nvar _invariant2 = _interopRequireDefault(_invariant);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction readOnlyPropType(handler, name) {\n return function (props, propName) {\n if (props[propName] !== undefined) {\n if (!props[handler]) {\n return new Error('You have provided a `' + propName + '` prop to ' + '`' + name + '` without an `' + handler + '` handler. This will render a read-only field. ' + 'If the field should be mutable use `' + defaultKey(propName) + '`. Otherwise, set `' + handler + '`');\n }\n }\n };\n}\n\nfunction uncontrolledPropTypes(controlledValues, basePropTypes, displayName) {\n var propTypes = {};\n\n if (process.env.NODE_ENV !== 'production' && basePropTypes) {\n transform(controlledValues, function (obj, handler, prop) {\n (0, _invariant2.default)(typeof handler === 'string' && handler.trim().length, 'Uncontrollable - [%s]: the prop `%s` needs a valid handler key name in order to make it uncontrollable', displayName, prop);\n\n obj[prop] = readOnlyPropType(handler, displayName);\n }, propTypes);\n }\n\n return propTypes;\n}\n\nvar version = exports.version = _react2.default.version.split('.').map(parseFloat);\n\nfunction getType(component) {\n if (version[0] >= 15 || version[0] === 0 && version[1] >= 13) return component;\n\n return component.type;\n}\n\nfunction getValue(props, name) {\n var linkPropName = getLinkName(name);\n\n if (linkPropName && !isProp(props, name) && isProp(props, linkPropName)) return props[linkPropName].value;\n\n return props[name];\n}\n\nfunction isProp(props, prop) {\n return props[prop] !== undefined;\n}\n\nfunction getLinkName(name) {\n return name === 'value' ? 'valueLink' : name === 'checked' ? 'checkedLink' : null;\n}\n\nfunction defaultKey(key) {\n return 'default' + key.charAt(0).toUpperCase() + key.substr(1);\n}\n\nfunction chain(thisArg, a, b) {\n return function chainedFunction() {\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n a && a.call.apply(a, [thisArg].concat(args));\n b && b.call.apply(b, [thisArg].concat(args));\n };\n}\n\nfunction transform(obj, cb, seed) {\n each(obj, cb.bind(null, seed = seed || (Array.isArray(obj) ? [] : {})));\n return seed;\n}\n\nfunction each(obj, cb, thisArg) {\n if (Array.isArray(obj)) return obj.forEach(cb, thisArg);\n\n for (var key in obj) {\n if (has(obj, key)) cb.call(thisArg, obj[key], key, obj);\n }\n}\n\nfunction has(o, k) {\n return o ? Object.prototype.hasOwnProperty.call(o, k) : false;\n}\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n */\nfunction isReactComponent(component) {\n return !!(component && component.prototype && component.prototype.isReactComponent);\n}\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/uncontrollable/utils.js\n ** module id = 668\n ** module chunks = 0\n **/","module.exports={166:{\"value\":\"00A6\",\"name\":\"BROKEN BAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"BROKEN VERTICAL BAR\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\xA6\"},169:{\"value\":\"00A9\",\"name\":\"COPYRIGHT SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\xA9\"},174:{\"value\":\"00AE\",\"name\":\"REGISTERED SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"REGISTERED TRADE MARK SIGN\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\xAE\"},176:{\"value\":\"00B0\",\"name\":\"DEGREE SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ET\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\xB0\"},1154:{\"value\":\"0482\",\"name\":\"CYRILLIC THOUSANDS SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0482\"},1421:{\"value\":\"058D\",\"name\":\"RIGHT-FACING ARMENIAN ETERNITY SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u058D\"},1422:{\"value\":\"058E\",\"name\":\"LEFT-FACING ARMENIAN ETERNITY SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u058E\"},1550:{\"value\":\"060E\",\"name\":\"ARABIC POETIC VERSE SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u060E\"},1551:{\"value\":\"060F\",\"name\":\"ARABIC SIGN MISRA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u060F\"},1758:{\"value\":\"06DE\",\"name\":\"ARABIC START OF RUB EL HIZB\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u06DE\"},1769:{\"value\":\"06E9\",\"name\":\"ARABIC PLACE OF SAJDAH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u06E9\"},1789:{\"value\":\"06FD\",\"name\":\"ARABIC SIGN SINDHI AMPERSAND\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"AL\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u06FD\"},1790:{\"value\":\"06FE\",\"name\":\"ARABIC SIGN SINDHI POSTPOSITION MEN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"AL\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u06FE\"},2038:{\"value\":\"07F6\",\"name\":\"NKO SYMBOL OO DENNEN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u07F6\"},2554:{\"value\":\"09FA\",\"name\":\"BENGALI ISSHAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u09FA\"},2928:{\"value\":\"0B70\",\"name\":\"ORIYA ISSHAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0B70\"},3059:{\"value\":\"0BF3\",\"name\":\"TAMIL DAY SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0BF3\"},3060:{\"value\":\"0BF4\",\"name\":\"TAMIL MONTH SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0BF4\"},3061:{\"value\":\"0BF5\",\"name\":\"TAMIL YEAR SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0BF5\"},3062:{\"value\":\"0BF6\",\"name\":\"TAMIL DEBIT SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0BF6\"},3063:{\"value\":\"0BF7\",\"name\":\"TAMIL CREDIT SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0BF7\"},3064:{\"value\":\"0BF8\",\"name\":\"TAMIL AS ABOVE SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0BF8\"},3066:{\"value\":\"0BFA\",\"name\":\"TAMIL NUMBER SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0BFA\"},3199:{\"value\":\"0C7F\",\"name\":\"TELUGU SIGN TUUMU\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0C7F\"},3407:{\"value\":\"0D4F\",\"name\":\"MALAYALAM SIGN PARA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0D4F\"},3449:{\"value\":\"0D79\",\"name\":\"MALAYALAM DATE MARK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0D79\"},3841:{\"value\":\"0F01\",\"name\":\"TIBETAN MARK GTER YIG MGO TRUNCATED A\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0F01\"},3842:{\"value\":\"0F02\",\"name\":\"TIBETAN MARK GTER YIG MGO -UM RNAM BCAD MA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0F02\"},3843:{\"value\":\"0F03\",\"name\":\"TIBETAN MARK GTER YIG MGO -UM GTER TSHEG MA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0F03\"},3859:{\"value\":\"0F13\",\"name\":\"TIBETAN MARK CARET -DZUD RTAGS ME LONG CAN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0F13\"},3861:{\"value\":\"0F15\",\"name\":\"TIBETAN LOGOTYPE SIGN CHAD RTAGS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0F15\"},3862:{\"value\":\"0F16\",\"name\":\"TIBETAN LOGOTYPE SIGN LHAG RTAGS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0F16\"},3863:{\"value\":\"0F17\",\"name\":\"TIBETAN ASTROLOGICAL SIGN SGRA GCAN -CHAR RTAGS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0F17\"},3866:{\"value\":\"0F1A\",\"name\":\"TIBETAN SIGN RDEL DKAR GCIG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0F1A\"},3867:{\"value\":\"0F1B\",\"name\":\"TIBETAN SIGN RDEL DKAR GNYIS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0F1B\"},3868:{\"value\":\"0F1C\",\"name\":\"TIBETAN SIGN RDEL DKAR GSUM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0F1C\"},3869:{\"value\":\"0F1D\",\"name\":\"TIBETAN SIGN RDEL NAG GCIG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0F1D\"},3870:{\"value\":\"0F1E\",\"name\":\"TIBETAN SIGN RDEL NAG GNYIS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0F1E\"},3871:{\"value\":\"0F1F\",\"name\":\"TIBETAN SIGN RDEL DKAR RDEL NAG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0F1F\"},3892:{\"value\":\"0F34\",\"name\":\"TIBETAN MARK BSDUS RTAGS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0F34\"},3894:{\"value\":\"0F36\",\"name\":\"TIBETAN MARK CARET -DZUD RTAGS BZHI MIG CAN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0F36\"},3896:{\"value\":\"0F38\",\"name\":\"TIBETAN MARK CHE MGO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0F38\"},4030:{\"value\":\"0FBE\",\"name\":\"TIBETAN KU RU KHA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0FBE\"},4031:{\"value\":\"0FBF\",\"name\":\"TIBETAN KU RU KHA BZHI MIG CAN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0FBF\"},4032:{\"value\":\"0FC0\",\"name\":\"TIBETAN CANTILLATION SIGN HEAVY BEAT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0FC0\"},4033:{\"value\":\"0FC1\",\"name\":\"TIBETAN CANTILLATION SIGN LIGHT BEAT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0FC1\"},4034:{\"value\":\"0FC2\",\"name\":\"TIBETAN CANTILLATION SIGN CANG TE-U\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0FC2\"},4035:{\"value\":\"0FC3\",\"name\":\"TIBETAN CANTILLATION SIGN SBUB -CHAL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0FC3\"},4036:{\"value\":\"0FC4\",\"name\":\"TIBETAN SYMBOL DRIL BU\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0FC4\"},4037:{\"value\":\"0FC5\",\"name\":\"TIBETAN SYMBOL RDO RJE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0FC5\"},4039:{\"value\":\"0FC7\",\"name\":\"TIBETAN SYMBOL RDO RJE RGYA GRAM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0FC7\"},4040:{\"value\":\"0FC8\",\"name\":\"TIBETAN SYMBOL PHUR PA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0FC8\"},4041:{\"value\":\"0FC9\",\"name\":\"TIBETAN SYMBOL NOR BU\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0FC9\"},4042:{\"value\":\"0FCA\",\"name\":\"TIBETAN SYMBOL NOR BU NYIS -KHYIL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0FCA\"},4043:{\"value\":\"0FCB\",\"name\":\"TIBETAN SYMBOL NOR BU GSUM -KHYIL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0FCB\"},4044:{\"value\":\"0FCC\",\"name\":\"TIBETAN SYMBOL NOR BU BZHI -KHYIL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0FCC\"},4046:{\"value\":\"0FCE\",\"name\":\"TIBETAN SIGN RDEL NAG RDEL DKAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0FCE\"},4047:{\"value\":\"0FCF\",\"name\":\"TIBETAN SIGN RDEL NAG GSUM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0FCF\"},4053:{\"value\":\"0FD5\",\"name\":\"RIGHT-FACING SVASTI SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0FD5\"},4054:{\"value\":\"0FD6\",\"name\":\"LEFT-FACING SVASTI SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0FD6\"},4055:{\"value\":\"0FD7\",\"name\":\"RIGHT-FACING SVASTI SIGN WITH DOTS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0FD7\"},4056:{\"value\":\"0FD8\",\"name\":\"LEFT-FACING SVASTI SIGN WITH DOTS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0FD8\"},4254:{\"value\":\"109E\",\"name\":\"MYANMAR SYMBOL SHAN ONE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u109E\"},4255:{\"value\":\"109F\",\"name\":\"MYANMAR SYMBOL SHAN EXCLAMATION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u109F\"},5008:{\"value\":\"1390\",\"name\":\"ETHIOPIC TONAL MARK YIZET\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u1390\"},5009:{\"value\":\"1391\",\"name\":\"ETHIOPIC TONAL MARK DERET\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u1391\"},5010:{\"value\":\"1392\",\"name\":\"ETHIOPIC TONAL MARK RIKRIK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u1392\"},5011:{\"value\":\"1393\",\"name\":\"ETHIOPIC TONAL MARK SHORT RIKRIK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u1393\"},5012:{\"value\":\"1394\",\"name\":\"ETHIOPIC TONAL MARK DIFAT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u1394\"},5013:{\"value\":\"1395\",\"name\":\"ETHIOPIC TONAL MARK KENAT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u1395\"},5014:{\"value\":\"1396\",\"name\":\"ETHIOPIC TONAL MARK CHIRET\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u1396\"},5015:{\"value\":\"1397\",\"name\":\"ETHIOPIC TONAL MARK HIDET\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u1397\"},5016:{\"value\":\"1398\",\"name\":\"ETHIOPIC TONAL MARK DERET-HIDET\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u1398\"},5017:{\"value\":\"1399\",\"name\":\"ETHIOPIC TONAL MARK KURT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u1399\"},6464:{\"value\":\"1940\",\"name\":\"LIMBU SIGN LOO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u1940\"},6622:{\"value\":\"19DE\",\"name\":\"NEW TAI LUE SIGN LAE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u19DE\"},6623:{\"value\":\"19DF\",\"name\":\"NEW TAI LUE SIGN LAEV\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u19DF\"},6624:{\"value\":\"19E0\",\"name\":\"KHMER SYMBOL PATHAMASAT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u19E0\"},6625:{\"value\":\"19E1\",\"name\":\"KHMER SYMBOL MUOY KOET\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u19E1\"},6626:{\"value\":\"19E2\",\"name\":\"KHMER SYMBOL PII KOET\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u19E2\"},6627:{\"value\":\"19E3\",\"name\":\"KHMER SYMBOL BEI KOET\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u19E3\"},6628:{\"value\":\"19E4\",\"name\":\"KHMER SYMBOL BUON KOET\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u19E4\"},6629:{\"value\":\"19E5\",\"name\":\"KHMER SYMBOL PRAM KOET\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u19E5\"},6630:{\"value\":\"19E6\",\"name\":\"KHMER SYMBOL PRAM-MUOY KOET\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u19E6\"},6631:{\"value\":\"19E7\",\"name\":\"KHMER SYMBOL PRAM-PII KOET\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u19E7\"},6632:{\"value\":\"19E8\",\"name\":\"KHMER SYMBOL PRAM-BEI KOET\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u19E8\"},6633:{\"value\":\"19E9\",\"name\":\"KHMER SYMBOL PRAM-BUON KOET\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u19E9\"},6634:{\"value\":\"19EA\",\"name\":\"KHMER SYMBOL DAP KOET\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u19EA\"},6635:{\"value\":\"19EB\",\"name\":\"KHMER SYMBOL DAP-MUOY KOET\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u19EB\"},6636:{\"value\":\"19EC\",\"name\":\"KHMER SYMBOL DAP-PII KOET\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u19EC\"},6637:{\"value\":\"19ED\",\"name\":\"KHMER SYMBOL DAP-BEI KOET\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u19ED\"},6638:{\"value\":\"19EE\",\"name\":\"KHMER SYMBOL DAP-BUON KOET\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u19EE\"},6639:{\"value\":\"19EF\",\"name\":\"KHMER SYMBOL DAP-PRAM KOET\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u19EF\"},6640:{\"value\":\"19F0\",\"name\":\"KHMER SYMBOL TUTEYASAT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u19F0\"},6641:{\"value\":\"19F1\",\"name\":\"KHMER SYMBOL MUOY ROC\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u19F1\"},6642:{\"value\":\"19F2\",\"name\":\"KHMER SYMBOL PII ROC\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u19F2\"},6643:{\"value\":\"19F3\",\"name\":\"KHMER SYMBOL BEI ROC\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u19F3\"},6644:{\"value\":\"19F4\",\"name\":\"KHMER SYMBOL BUON ROC\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u19F4\"},6645:{\"value\":\"19F5\",\"name\":\"KHMER SYMBOL PRAM ROC\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u19F5\"},6646:{\"value\":\"19F6\",\"name\":\"KHMER SYMBOL PRAM-MUOY ROC\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u19F6\"},6647:{\"value\":\"19F7\",\"name\":\"KHMER SYMBOL PRAM-PII ROC\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u19F7\"},6648:{\"value\":\"19F8\",\"name\":\"KHMER SYMBOL PRAM-BEI ROC\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u19F8\"},6649:{\"value\":\"19F9\",\"name\":\"KHMER SYMBOL PRAM-BUON ROC\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u19F9\"},6650:{\"value\":\"19FA\",\"name\":\"KHMER SYMBOL DAP ROC\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u19FA\"},6651:{\"value\":\"19FB\",\"name\":\"KHMER SYMBOL DAP-MUOY ROC\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u19FB\"},6652:{\"value\":\"19FC\",\"name\":\"KHMER SYMBOL DAP-PII ROC\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u19FC\"},6653:{\"value\":\"19FD\",\"name\":\"KHMER SYMBOL DAP-BEI ROC\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u19FD\"},6654:{\"value\":\"19FE\",\"name\":\"KHMER SYMBOL DAP-BUON ROC\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u19FE\"},6655:{\"value\":\"19FF\",\"name\":\"KHMER SYMBOL DAP-PRAM ROC\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u19FF\"},7009:{\"value\":\"1B61\",\"name\":\"BALINESE MUSICAL SYMBOL DONG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u1B61\"},7010:{\"value\":\"1B62\",\"name\":\"BALINESE MUSICAL SYMBOL DENG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u1B62\"},7011:{\"value\":\"1B63\",\"name\":\"BALINESE MUSICAL SYMBOL DUNG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u1B63\"},7012:{\"value\":\"1B64\",\"name\":\"BALINESE MUSICAL SYMBOL DANG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u1B64\"},7013:{\"value\":\"1B65\",\"name\":\"BALINESE MUSICAL SYMBOL DANG SURANG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u1B65\"},7014:{\"value\":\"1B66\",\"name\":\"BALINESE MUSICAL SYMBOL DING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u1B66\"},7015:{\"value\":\"1B67\",\"name\":\"BALINESE MUSICAL SYMBOL DAENG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u1B67\"},7016:{\"value\":\"1B68\",\"name\":\"BALINESE MUSICAL SYMBOL DEUNG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u1B68\"},7017:{\"value\":\"1B69\",\"name\":\"BALINESE MUSICAL SYMBOL DAING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u1B69\"},7018:{\"value\":\"1B6A\",\"name\":\"BALINESE MUSICAL SYMBOL DANG GEDE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u1B6A\"},7028:{\"value\":\"1B74\",\"name\":\"BALINESE MUSICAL SYMBOL RIGHT-HAND OPEN DUG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u1B74\"},7029:{\"value\":\"1B75\",\"name\":\"BALINESE MUSICAL SYMBOL RIGHT-HAND OPEN DAG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u1B75\"},7030:{\"value\":\"1B76\",\"name\":\"BALINESE MUSICAL SYMBOL RIGHT-HAND CLOSED TUK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u1B76\"},7031:{\"value\":\"1B77\",\"name\":\"BALINESE MUSICAL SYMBOL RIGHT-HAND CLOSED TAK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u1B77\"},7032:{\"value\":\"1B78\",\"name\":\"BALINESE MUSICAL SYMBOL LEFT-HAND OPEN PANG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u1B78\"},7033:{\"value\":\"1B79\",\"name\":\"BALINESE MUSICAL SYMBOL LEFT-HAND OPEN PUNG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u1B79\"},7034:{\"value\":\"1B7A\",\"name\":\"BALINESE MUSICAL SYMBOL LEFT-HAND CLOSED PLAK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u1B7A\"},7035:{\"value\":\"1B7B\",\"name\":\"BALINESE MUSICAL SYMBOL LEFT-HAND CLOSED PLUK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u1B7B\"},7036:{\"value\":\"1B7C\",\"name\":\"BALINESE MUSICAL SYMBOL LEFT-HAND OPEN PING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u1B7C\"},8448:{\"value\":\"2100\",\"name\":\"ACCOUNT OF\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 0061 002F 0063\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2100\"},8449:{\"value\":\"2101\",\"name\":\"ADDRESSED TO THE SUBJECT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 0061 002F 0073\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2101\"},8451:{\"value\":\"2103\",\"name\":\"DEGREE CELSIUS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 00B0 0043\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"DEGREES CENTIGRADE\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2103\"},8452:{\"value\":\"2104\",\"name\":\"CENTRE LINE SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"C L SYMBOL\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2104\"},8453:{\"value\":\"2105\",\"name\":\"CARE OF\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 0063 002F 006F\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2105\"},8454:{\"value\":\"2106\",\"name\":\"CADA UNA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 0063 002F 0075\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2106\"},8456:{\"value\":\"2108\",\"name\":\"SCRUPLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2108\"},8457:{\"value\":\"2109\",\"name\":\"DEGREE FAHRENHEIT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 00B0 0046\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"DEGREES FAHRENHEIT\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2109\"},8468:{\"value\":\"2114\",\"name\":\"L B BAR SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2114\"},8470:{\"value\":\"2116\",\"name\":\"NUMERO SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 004E 006F\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"NUMERO\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2116\"},8471:{\"value\":\"2117\",\"name\":\"SOUND RECORDING COPYRIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2117\"},8478:{\"value\":\"211E\",\"name\":\"PRESCRIPTION TAKE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u211E\"},8479:{\"value\":\"211F\",\"name\":\"RESPONSE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u211F\"},8480:{\"value\":\"2120\",\"name\":\"SERVICE MARK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<super> 0053 004D\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2120\"},8481:{\"value\":\"2121\",\"name\":\"TELEPHONE SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 0054 0045 004C\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"T E L SYMBOL\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2121\"},8482:{\"value\":\"2122\",\"name\":\"TRADE MARK SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<super> 0054 004D\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"TRADEMARK\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2122\"},8483:{\"value\":\"2123\",\"name\":\"VERSICLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2123\"},8485:{\"value\":\"2125\",\"name\":\"OUNCE SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"OUNCE\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2125\"},8487:{\"value\":\"2127\",\"name\":\"INVERTED OHM SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"MHO\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2127\"},8489:{\"value\":\"2129\",\"name\":\"TURNED GREEK SMALL LETTER IOTA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2129\"},8494:{\"value\":\"212E\",\"name\":\"ESTIMATED SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ET\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u212E\"},8506:{\"value\":\"213A\",\"name\":\"ROTATED CAPITAL Q\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u213A\"},8507:{\"value\":\"213B\",\"name\":\"FACSIMILE SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 0046 0041 0058\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u213B\"},8522:{\"value\":\"214A\",\"name\":\"PROPERTY LINE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u214A\"},8524:{\"value\":\"214C\",\"name\":\"PER SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u214C\"},8525:{\"value\":\"214D\",\"name\":\"AKTIESELSKAB\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u214D\"},8527:{\"value\":\"214F\",\"name\":\"SYMBOL FOR SAMARITAN SOURCE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u214F\"},8586:{\"value\":\"218A\",\"name\":\"TURNED DIGIT TWO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u218A\"},8587:{\"value\":\"218B\",\"name\":\"TURNED DIGIT THREE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u218B\"},8597:{\"value\":\"2195\",\"name\":\"UP DOWN ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2195\"},8598:{\"value\":\"2196\",\"name\":\"NORTH WEST ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"UPPER LEFT ARROW\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2196\"},8599:{\"value\":\"2197\",\"name\":\"NORTH EAST ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"UPPER RIGHT ARROW\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2197\"},8600:{\"value\":\"2198\",\"name\":\"SOUTH EAST ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"LOWER RIGHT ARROW\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2198\"},8601:{\"value\":\"2199\",\"name\":\"SOUTH WEST ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"LOWER LEFT ARROW\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2199\"},8604:{\"value\":\"219C\",\"name\":\"LEFTWARDS WAVE ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"LEFT WAVE ARROW\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u219C\"},8605:{\"value\":\"219D\",\"name\":\"RIGHTWARDS WAVE ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"RIGHT WAVE ARROW\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u219D\"},8606:{\"value\":\"219E\",\"name\":\"LEFTWARDS TWO HEADED ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"LEFT TWO HEADED ARROW\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u219E\"},8607:{\"value\":\"219F\",\"name\":\"UPWARDS TWO HEADED ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"UP TWO HEADED ARROW\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u219F\"},8609:{\"value\":\"21A1\",\"name\":\"DOWNWARDS TWO HEADED ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"DOWN TWO HEADED ARROW\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21A1\"},8610:{\"value\":\"21A2\",\"name\":\"LEFTWARDS ARROW WITH TAIL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"LEFT ARROW WITH TAIL\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21A2\"},8612:{\"value\":\"21A4\",\"name\":\"LEFTWARDS ARROW FROM BAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"LEFT ARROW FROM BAR\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21A4\"},8613:{\"value\":\"21A5\",\"name\":\"UPWARDS ARROW FROM BAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"UP ARROW FROM BAR\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21A5\"},8615:{\"value\":\"21A7\",\"name\":\"DOWNWARDS ARROW FROM BAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"DOWN ARROW FROM BAR\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21A7\"},8616:{\"value\":\"21A8\",\"name\":\"UP DOWN ARROW WITH BASE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21A8\"},8617:{\"value\":\"21A9\",\"name\":\"LEFTWARDS ARROW WITH HOOK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"LEFT ARROW WITH HOOK\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21A9\"},8618:{\"value\":\"21AA\",\"name\":\"RIGHTWARDS ARROW WITH HOOK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"RIGHT ARROW WITH HOOK\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21AA\"},8619:{\"value\":\"21AB\",\"name\":\"LEFTWARDS ARROW WITH LOOP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"LEFT ARROW WITH LOOP\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21AB\"},8620:{\"value\":\"21AC\",\"name\":\"RIGHTWARDS ARROW WITH LOOP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"RIGHT ARROW WITH LOOP\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21AC\"},8621:{\"value\":\"21AD\",\"name\":\"LEFT RIGHT WAVE ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21AD\"},8623:{\"value\":\"21AF\",\"name\":\"DOWNWARDS ZIGZAG ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"DOWN ZIGZAG ARROW\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21AF\"},8624:{\"value\":\"21B0\",\"name\":\"UPWARDS ARROW WITH TIP LEFTWARDS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"UP ARROW WITH TIP LEFT\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21B0\"},8625:{\"value\":\"21B1\",\"name\":\"UPWARDS ARROW WITH TIP RIGHTWARDS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"UP ARROW WITH TIP RIGHT\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21B1\"},8626:{\"value\":\"21B2\",\"name\":\"DOWNWARDS ARROW WITH TIP LEFTWARDS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"DOWN ARROW WITH TIP LEFT\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21B2\"},8627:{\"value\":\"21B3\",\"name\":\"DOWNWARDS ARROW WITH TIP RIGHTWARDS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"DOWN ARROW WITH TIP RIGHT\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21B3\"},8628:{\"value\":\"21B4\",\"name\":\"RIGHTWARDS ARROW WITH CORNER DOWNWARDS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"RIGHT ARROW WITH CORNER DOWN\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21B4\"},8629:{\"value\":\"21B5\",\"name\":\"DOWNWARDS ARROW WITH CORNER LEFTWARDS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"DOWN ARROW WITH CORNER LEFT\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21B5\"},8630:{\"value\":\"21B6\",\"name\":\"ANTICLOCKWISE TOP SEMICIRCLE ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21B6\"},8631:{\"value\":\"21B7\",\"name\":\"CLOCKWISE TOP SEMICIRCLE ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21B7\"},8632:{\"value\":\"21B8\",\"name\":\"NORTH WEST ARROW TO LONG BAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"UPPER LEFT ARROW TO LONG BAR\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21B8\"},8633:{\"value\":\"21B9\",\"name\":\"LEFTWARDS ARROW TO BAR OVER RIGHTWARDS ARROW TO BAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"LEFT ARROW TO BAR OVER RIGHT ARROW TO BAR\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21B9\"},8634:{\"value\":\"21BA\",\"name\":\"ANTICLOCKWISE OPEN CIRCLE ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21BA\"},8635:{\"value\":\"21BB\",\"name\":\"CLOCKWISE OPEN CIRCLE ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21BB\"},8636:{\"value\":\"21BC\",\"name\":\"LEFTWARDS HARPOON WITH BARB UPWARDS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"LEFT HARPOON WITH BARB UP\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21BC\"},8637:{\"value\":\"21BD\",\"name\":\"LEFTWARDS HARPOON WITH BARB DOWNWARDS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"LEFT HARPOON WITH BARB DOWN\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21BD\"},8638:{\"value\":\"21BE\",\"name\":\"UPWARDS HARPOON WITH BARB RIGHTWARDS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"UP HARPOON WITH BARB RIGHT\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21BE\"},8639:{\"value\":\"21BF\",\"name\":\"UPWARDS HARPOON WITH BARB LEFTWARDS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"UP HARPOON WITH BARB LEFT\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21BF\"},8640:{\"value\":\"21C0\",\"name\":\"RIGHTWARDS HARPOON WITH BARB UPWARDS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"RIGHT HARPOON WITH BARB UP\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21C0\"},8641:{\"value\":\"21C1\",\"name\":\"RIGHTWARDS HARPOON WITH BARB DOWNWARDS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"RIGHT HARPOON WITH BARB DOWN\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21C1\"},8642:{\"value\":\"21C2\",\"name\":\"DOWNWARDS HARPOON WITH BARB RIGHTWARDS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"DOWN HARPOON WITH BARB RIGHT\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21C2\"},8643:{\"value\":\"21C3\",\"name\":\"DOWNWARDS HARPOON WITH BARB LEFTWARDS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"DOWN HARPOON WITH BARB LEFT\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21C3\"},8644:{\"value\":\"21C4\",\"name\":\"RIGHTWARDS ARROW OVER LEFTWARDS ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"RIGHT ARROW OVER LEFT ARROW\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21C4\"},8645:{\"value\":\"21C5\",\"name\":\"UPWARDS ARROW LEFTWARDS OF DOWNWARDS ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"UP ARROW LEFT OF DOWN ARROW\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21C5\"},8646:{\"value\":\"21C6\",\"name\":\"LEFTWARDS ARROW OVER RIGHTWARDS ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"LEFT ARROW OVER RIGHT ARROW\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21C6\"},8647:{\"value\":\"21C7\",\"name\":\"LEFTWARDS PAIRED ARROWS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"LEFT PAIRED ARROWS\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21C7\"},8648:{\"value\":\"21C8\",\"name\":\"UPWARDS PAIRED ARROWS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"UP PAIRED ARROWS\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21C8\"},8649:{\"value\":\"21C9\",\"name\":\"RIGHTWARDS PAIRED ARROWS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"RIGHT PAIRED ARROWS\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21C9\"},8650:{\"value\":\"21CA\",\"name\":\"DOWNWARDS PAIRED ARROWS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"DOWN PAIRED ARROWS\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21CA\"},8651:{\"value\":\"21CB\",\"name\":\"LEFTWARDS HARPOON OVER RIGHTWARDS HARPOON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"LEFT HARPOON OVER RIGHT HARPOON\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21CB\"},8652:{\"value\":\"21CC\",\"name\":\"RIGHTWARDS HARPOON OVER LEFTWARDS HARPOON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"RIGHT HARPOON OVER LEFT HARPOON\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21CC\"},8653:{\"value\":\"21CD\",\"name\":\"LEFTWARDS DOUBLE ARROW WITH STROKE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"21D0 0338\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"LEFT DOUBLE ARROW WITH STROKE\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21CD\"},8656:{\"value\":\"21D0\",\"name\":\"LEFTWARDS DOUBLE ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"LEFT DOUBLE ARROW\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21D0\"},8657:{\"value\":\"21D1\",\"name\":\"UPWARDS DOUBLE ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"UP DOUBLE ARROW\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21D1\"},8659:{\"value\":\"21D3\",\"name\":\"DOWNWARDS DOUBLE ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"DOWN DOUBLE ARROW\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21D3\"},8661:{\"value\":\"21D5\",\"name\":\"UP DOWN DOUBLE ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21D5\"},8662:{\"value\":\"21D6\",\"name\":\"NORTH WEST DOUBLE ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"UPPER LEFT DOUBLE ARROW\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21D6\"},8663:{\"value\":\"21D7\",\"name\":\"NORTH EAST DOUBLE ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"UPPER RIGHT DOUBLE ARROW\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21D7\"},8664:{\"value\":\"21D8\",\"name\":\"SOUTH EAST DOUBLE ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"LOWER RIGHT DOUBLE ARROW\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21D8\"},8665:{\"value\":\"21D9\",\"name\":\"SOUTH WEST DOUBLE ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"LOWER LEFT DOUBLE ARROW\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21D9\"},8666:{\"value\":\"21DA\",\"name\":\"LEFTWARDS TRIPLE ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"LEFT TRIPLE ARROW\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21DA\"},8667:{\"value\":\"21DB\",\"name\":\"RIGHTWARDS TRIPLE ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"RIGHT TRIPLE ARROW\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21DB\"},8668:{\"value\":\"21DC\",\"name\":\"LEFTWARDS SQUIGGLE ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"LEFT SQUIGGLE ARROW\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21DC\"},8669:{\"value\":\"21DD\",\"name\":\"RIGHTWARDS SQUIGGLE ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"RIGHT SQUIGGLE ARROW\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21DD\"},8670:{\"value\":\"21DE\",\"name\":\"UPWARDS ARROW WITH DOUBLE STROKE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"UP ARROW WITH DOUBLE STROKE\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21DE\"},8671:{\"value\":\"21DF\",\"name\":\"DOWNWARDS ARROW WITH DOUBLE STROKE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"DOWN ARROW WITH DOUBLE STROKE\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21DF\"},8672:{\"value\":\"21E0\",\"name\":\"LEFTWARDS DASHED ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"LEFT DASHED ARROW\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21E0\"},8673:{\"value\":\"21E1\",\"name\":\"UPWARDS DASHED ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"UP DASHED ARROW\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21E1\"},8674:{\"value\":\"21E2\",\"name\":\"RIGHTWARDS DASHED ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"RIGHT DASHED ARROW\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21E2\"},8675:{\"value\":\"21E3\",\"name\":\"DOWNWARDS DASHED ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"DOWN DASHED ARROW\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21E3\"},8676:{\"value\":\"21E4\",\"name\":\"LEFTWARDS ARROW TO BAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"LEFT ARROW TO BAR\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21E4\"},8677:{\"value\":\"21E5\",\"name\":\"RIGHTWARDS ARROW TO BAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"RIGHT ARROW TO BAR\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21E5\"},8678:{\"value\":\"21E6\",\"name\":\"LEFTWARDS WHITE ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"WHITE LEFT ARROW\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21E6\"},8679:{\"value\":\"21E7\",\"name\":\"UPWARDS WHITE ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"WHITE UP ARROW\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21E7\"},8680:{\"value\":\"21E8\",\"name\":\"RIGHTWARDS WHITE ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"WHITE RIGHT ARROW\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21E8\"},8681:{\"value\":\"21E9\",\"name\":\"DOWNWARDS WHITE ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"WHITE DOWN ARROW\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21E9\"},8682:{\"value\":\"21EA\",\"name\":\"UPWARDS WHITE ARROW FROM BAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"WHITE UP ARROW FROM BAR\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21EA\"},8683:{\"value\":\"21EB\",\"name\":\"UPWARDS WHITE ARROW ON PEDESTAL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21EB\"},8684:{\"value\":\"21EC\",\"name\":\"UPWARDS WHITE ARROW ON PEDESTAL WITH HORIZONTAL BAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21EC\"},8685:{\"value\":\"21ED\",\"name\":\"UPWARDS WHITE ARROW ON PEDESTAL WITH VERTICAL BAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21ED\"},8686:{\"value\":\"21EE\",\"name\":\"UPWARDS WHITE DOUBLE ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21EE\"},8687:{\"value\":\"21EF\",\"name\":\"UPWARDS WHITE DOUBLE ARROW ON PEDESTAL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21EF\"},8688:{\"value\":\"21F0\",\"name\":\"RIGHTWARDS WHITE ARROW FROM WALL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21F0\"},8689:{\"value\":\"21F1\",\"name\":\"NORTH WEST ARROW TO CORNER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21F1\"},8690:{\"value\":\"21F2\",\"name\":\"SOUTH EAST ARROW TO CORNER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21F2\"},8691:{\"value\":\"21F3\",\"name\":\"UP DOWN WHITE ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u21F3\"},8960:{\"value\":\"2300\",\"name\":\"DIAMETER SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2300\"},8961:{\"value\":\"2301\",\"name\":\"ELECTRIC ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2301\"},8962:{\"value\":\"2302\",\"name\":\"HOUSE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2302\"},8963:{\"value\":\"2303\",\"name\":\"UP ARROWHEAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2303\"},8964:{\"value\":\"2304\",\"name\":\"DOWN ARROWHEAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2304\"},8965:{\"value\":\"2305\",\"name\":\"PROJECTIVE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2305\"},8966:{\"value\":\"2306\",\"name\":\"PERSPECTIVE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2306\"},8967:{\"value\":\"2307\",\"name\":\"WAVY LINE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2307\"},8972:{\"value\":\"230C\",\"name\":\"BOTTOM RIGHT CROP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u230C\"},8973:{\"value\":\"230D\",\"name\":\"BOTTOM LEFT CROP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u230D\"},8974:{\"value\":\"230E\",\"name\":\"TOP RIGHT CROP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u230E\"},8975:{\"value\":\"230F\",\"name\":\"TOP LEFT CROP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u230F\"},8976:{\"value\":\"2310\",\"name\":\"REVERSED NOT SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2310\"},8977:{\"value\":\"2311\",\"name\":\"SQUARE LOZENGE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2311\"},8978:{\"value\":\"2312\",\"name\":\"ARC\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2312\"},8979:{\"value\":\"2313\",\"name\":\"SEGMENT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2313\"},8980:{\"value\":\"2314\",\"name\":\"SECTOR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2314\"},8981:{\"value\":\"2315\",\"name\":\"TELEPHONE RECORDER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2315\"},8982:{\"value\":\"2316\",\"name\":\"POSITION INDICATOR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2316\"},8983:{\"value\":\"2317\",\"name\":\"VIEWDATA SQUARE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2317\"},8984:{\"value\":\"2318\",\"name\":\"PLACE OF INTEREST SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"COMMAND KEY\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2318\"},8985:{\"value\":\"2319\",\"name\":\"TURNED NOT SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2319\"},8986:{\"value\":\"231A\",\"name\":\"WATCH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u231A\"},8987:{\"value\":\"231B\",\"name\":\"HOURGLASS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u231B\"},8988:{\"value\":\"231C\",\"name\":\"TOP LEFT CORNER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u231C\"},8989:{\"value\":\"231D\",\"name\":\"TOP RIGHT CORNER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u231D\"},8990:{\"value\":\"231E\",\"name\":\"BOTTOM LEFT CORNER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u231E\"},8991:{\"value\":\"231F\",\"name\":\"BOTTOM RIGHT CORNER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u231F\"},8994:{\"value\":\"2322\",\"name\":\"FROWN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2322\"},8995:{\"value\":\"2323\",\"name\":\"SMILE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2323\"},8996:{\"value\":\"2324\",\"name\":\"UP ARROWHEAD BETWEEN TWO HORIZONTAL BARS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"ENTER KEY\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2324\"},8997:{\"value\":\"2325\",\"name\":\"OPTION KEY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2325\"},8998:{\"value\":\"2326\",\"name\":\"ERASE TO THE RIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"DELETE TO THE RIGHT KEY\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2326\"},8999:{\"value\":\"2327\",\"name\":\"X IN A RECTANGLE BOX\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"CLEAR KEY\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2327\"},9000:{\"value\":\"2328\",\"name\":\"KEYBOARD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2328\"},9003:{\"value\":\"232B\",\"name\":\"ERASE TO THE LEFT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"DELETE TO THE LEFT KEY\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u232B\"},9004:{\"value\":\"232C\",\"name\":\"BENZENE RING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u232C\"},9005:{\"value\":\"232D\",\"name\":\"CYLINDRICITY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u232D\"},9006:{\"value\":\"232E\",\"name\":\"ALL AROUND-PROFILE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u232E\"},9007:{\"value\":\"232F\",\"name\":\"SYMMETRY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u232F\"},9008:{\"value\":\"2330\",\"name\":\"TOTAL RUNOUT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2330\"},9009:{\"value\":\"2331\",\"name\":\"DIMENSION ORIGIN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2331\"},9010:{\"value\":\"2332\",\"name\":\"CONICAL TAPER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2332\"},9011:{\"value\":\"2333\",\"name\":\"SLOPE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2333\"},9012:{\"value\":\"2334\",\"name\":\"COUNTERBORE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2334\"},9013:{\"value\":\"2335\",\"name\":\"COUNTERSINK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2335\"},9014:{\"value\":\"2336\",\"name\":\"APL FUNCTIONAL SYMBOL I-BEAM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2336\"},9015:{\"value\":\"2337\",\"name\":\"APL FUNCTIONAL SYMBOL SQUISH QUAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2337\"},9016:{\"value\":\"2338\",\"name\":\"APL FUNCTIONAL SYMBOL QUAD EQUAL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2338\"},9017:{\"value\":\"2339\",\"name\":\"APL FUNCTIONAL SYMBOL QUAD DIVIDE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2339\"},9018:{\"value\":\"233A\",\"name\":\"APL FUNCTIONAL SYMBOL QUAD DIAMOND\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u233A\"},9019:{\"value\":\"233B\",\"name\":\"APL FUNCTIONAL SYMBOL QUAD JOT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u233B\"},9020:{\"value\":\"233C\",\"name\":\"APL FUNCTIONAL SYMBOL QUAD CIRCLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u233C\"},9021:{\"value\":\"233D\",\"name\":\"APL FUNCTIONAL SYMBOL CIRCLE STILE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u233D\"},9022:{\"value\":\"233E\",\"name\":\"APL FUNCTIONAL SYMBOL CIRCLE JOT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u233E\"},9023:{\"value\":\"233F\",\"name\":\"APL FUNCTIONAL SYMBOL SLASH BAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u233F\"},9024:{\"value\":\"2340\",\"name\":\"APL FUNCTIONAL SYMBOL BACKSLASH BAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2340\"},9025:{\"value\":\"2341\",\"name\":\"APL FUNCTIONAL SYMBOL QUAD SLASH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2341\"},9026:{\"value\":\"2342\",\"name\":\"APL FUNCTIONAL SYMBOL QUAD BACKSLASH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2342\"},9027:{\"value\":\"2343\",\"name\":\"APL FUNCTIONAL SYMBOL QUAD LESS-THAN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2343\"},9028:{\"value\":\"2344\",\"name\":\"APL FUNCTIONAL SYMBOL QUAD GREATER-THAN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2344\"},9029:{\"value\":\"2345\",\"name\":\"APL FUNCTIONAL SYMBOL LEFTWARDS VANE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2345\"},9030:{\"value\":\"2346\",\"name\":\"APL FUNCTIONAL SYMBOL RIGHTWARDS VANE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2346\"},9031:{\"value\":\"2347\",\"name\":\"APL FUNCTIONAL SYMBOL QUAD LEFTWARDS ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2347\"},9032:{\"value\":\"2348\",\"name\":\"APL FUNCTIONAL SYMBOL QUAD RIGHTWARDS ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2348\"},9033:{\"value\":\"2349\",\"name\":\"APL FUNCTIONAL SYMBOL CIRCLE BACKSLASH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2349\"},9034:{\"value\":\"234A\",\"name\":\"APL FUNCTIONAL SYMBOL DOWN TACK UNDERBAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u234A\"},9035:{\"value\":\"234B\",\"name\":\"APL FUNCTIONAL SYMBOL DELTA STILE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u234B\"},9036:{\"value\":\"234C\",\"name\":\"APL FUNCTIONAL SYMBOL QUAD DOWN CARET\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u234C\"},9037:{\"value\":\"234D\",\"name\":\"APL FUNCTIONAL SYMBOL QUAD DELTA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u234D\"},9038:{\"value\":\"234E\",\"name\":\"APL FUNCTIONAL SYMBOL DOWN TACK JOT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u234E\"},9039:{\"value\":\"234F\",\"name\":\"APL FUNCTIONAL SYMBOL UPWARDS VANE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u234F\"},9040:{\"value\":\"2350\",\"name\":\"APL FUNCTIONAL SYMBOL QUAD UPWARDS ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2350\"},9041:{\"value\":\"2351\",\"name\":\"APL FUNCTIONAL SYMBOL UP TACK OVERBAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2351\"},9042:{\"value\":\"2352\",\"name\":\"APL FUNCTIONAL SYMBOL DEL STILE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2352\"},9043:{\"value\":\"2353\",\"name\":\"APL FUNCTIONAL SYMBOL QUAD UP CARET\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2353\"},9044:{\"value\":\"2354\",\"name\":\"APL FUNCTIONAL SYMBOL QUAD DEL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2354\"},9045:{\"value\":\"2355\",\"name\":\"APL FUNCTIONAL SYMBOL UP TACK JOT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2355\"},9046:{\"value\":\"2356\",\"name\":\"APL FUNCTIONAL SYMBOL DOWNWARDS VANE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2356\"},9047:{\"value\":\"2357\",\"name\":\"APL FUNCTIONAL SYMBOL QUAD DOWNWARDS ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2357\"},9048:{\"value\":\"2358\",\"name\":\"APL FUNCTIONAL SYMBOL QUOTE UNDERBAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2358\"},9049:{\"value\":\"2359\",\"name\":\"APL FUNCTIONAL SYMBOL DELTA UNDERBAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2359\"},9050:{\"value\":\"235A\",\"name\":\"APL FUNCTIONAL SYMBOL DIAMOND UNDERBAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u235A\"},9051:{\"value\":\"235B\",\"name\":\"APL FUNCTIONAL SYMBOL JOT UNDERBAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u235B\"},9052:{\"value\":\"235C\",\"name\":\"APL FUNCTIONAL SYMBOL CIRCLE UNDERBAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u235C\"},9053:{\"value\":\"235D\",\"name\":\"APL FUNCTIONAL SYMBOL UP SHOE JOT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u235D\"},9054:{\"value\":\"235E\",\"name\":\"APL FUNCTIONAL SYMBOL QUOTE QUAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u235E\"},9055:{\"value\":\"235F\",\"name\":\"APL FUNCTIONAL SYMBOL CIRCLE STAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u235F\"},9056:{\"value\":\"2360\",\"name\":\"APL FUNCTIONAL SYMBOL QUAD COLON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2360\"},9057:{\"value\":\"2361\",\"name\":\"APL FUNCTIONAL SYMBOL UP TACK DIAERESIS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2361\"},9058:{\"value\":\"2362\",\"name\":\"APL FUNCTIONAL SYMBOL DEL DIAERESIS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2362\"},9059:{\"value\":\"2363\",\"name\":\"APL FUNCTIONAL SYMBOL STAR DIAERESIS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2363\"},9060:{\"value\":\"2364\",\"name\":\"APL FUNCTIONAL SYMBOL JOT DIAERESIS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2364\"},9061:{\"value\":\"2365\",\"name\":\"APL FUNCTIONAL SYMBOL CIRCLE DIAERESIS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2365\"},9062:{\"value\":\"2366\",\"name\":\"APL FUNCTIONAL SYMBOL DOWN SHOE STILE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2366\"},9063:{\"value\":\"2367\",\"name\":\"APL FUNCTIONAL SYMBOL LEFT SHOE STILE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2367\"},9064:{\"value\":\"2368\",\"name\":\"APL FUNCTIONAL SYMBOL TILDE DIAERESIS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2368\"},9065:{\"value\":\"2369\",\"name\":\"APL FUNCTIONAL SYMBOL GREATER-THAN DIAERESIS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2369\"},9066:{\"value\":\"236A\",\"name\":\"APL FUNCTIONAL SYMBOL COMMA BAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u236A\"},9067:{\"value\":\"236B\",\"name\":\"APL FUNCTIONAL SYMBOL DEL TILDE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u236B\"},9068:{\"value\":\"236C\",\"name\":\"APL FUNCTIONAL SYMBOL ZILDE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u236C\"},9069:{\"value\":\"236D\",\"name\":\"APL FUNCTIONAL SYMBOL STILE TILDE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u236D\"},9070:{\"value\":\"236E\",\"name\":\"APL FUNCTIONAL SYMBOL SEMICOLON UNDERBAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u236E\"},9071:{\"value\":\"236F\",\"name\":\"APL FUNCTIONAL SYMBOL QUAD NOT EQUAL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u236F\"},9072:{\"value\":\"2370\",\"name\":\"APL FUNCTIONAL SYMBOL QUAD QUESTION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2370\"},9073:{\"value\":\"2371\",\"name\":\"APL FUNCTIONAL SYMBOL DOWN CARET TILDE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2371\"},9074:{\"value\":\"2372\",\"name\":\"APL FUNCTIONAL SYMBOL UP CARET TILDE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2372\"},9075:{\"value\":\"2373\",\"name\":\"APL FUNCTIONAL SYMBOL IOTA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2373\"},9076:{\"value\":\"2374\",\"name\":\"APL FUNCTIONAL SYMBOL RHO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2374\"},9077:{\"value\":\"2375\",\"name\":\"APL FUNCTIONAL SYMBOL OMEGA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2375\"},9078:{\"value\":\"2376\",\"name\":\"APL FUNCTIONAL SYMBOL ALPHA UNDERBAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2376\"},9079:{\"value\":\"2377\",\"name\":\"APL FUNCTIONAL SYMBOL EPSILON UNDERBAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2377\"},9080:{\"value\":\"2378\",\"name\":\"APL FUNCTIONAL SYMBOL IOTA UNDERBAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2378\"},9081:{\"value\":\"2379\",\"name\":\"APL FUNCTIONAL SYMBOL OMEGA UNDERBAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2379\"},9082:{\"value\":\"237A\",\"name\":\"APL FUNCTIONAL SYMBOL ALPHA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u237A\"},9083:{\"value\":\"237B\",\"name\":\"NOT CHECK MARK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u237B\"},9085:{\"value\":\"237D\",\"name\":\"SHOULDERED OPEN BOX\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u237D\"},9086:{\"value\":\"237E\",\"name\":\"BELL SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u237E\"},9087:{\"value\":\"237F\",\"name\":\"VERTICAL LINE WITH MIDDLE DOT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u237F\"},9088:{\"value\":\"2380\",\"name\":\"INSERTION SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2380\"},9089:{\"value\":\"2381\",\"name\":\"CONTINUOUS UNDERLINE SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2381\"},9090:{\"value\":\"2382\",\"name\":\"DISCONTINUOUS UNDERLINE SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2382\"},9091:{\"value\":\"2383\",\"name\":\"EMPHASIS SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2383\"},9092:{\"value\":\"2384\",\"name\":\"COMPOSITION SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2384\"},9093:{\"value\":\"2385\",\"name\":\"WHITE SQUARE WITH CENTRE VERTICAL LINE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2385\"},9094:{\"value\":\"2386\",\"name\":\"ENTER SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2386\"},9095:{\"value\":\"2387\",\"name\":\"ALTERNATIVE KEY SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2387\"},9096:{\"value\":\"2388\",\"name\":\"HELM SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2388\"},9097:{\"value\":\"2389\",\"name\":\"CIRCLED HORIZONTAL BAR WITH NOTCH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2389\"},9098:{\"value\":\"238A\",\"name\":\"CIRCLED TRIANGLE DOWN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u238A\"},9099:{\"value\":\"238B\",\"name\":\"BROKEN CIRCLE WITH NORTHWEST ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u238B\"},9100:{\"value\":\"238C\",\"name\":\"UNDO SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u238C\"},9101:{\"value\":\"238D\",\"name\":\"MONOSTABLE SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u238D\"},9102:{\"value\":\"238E\",\"name\":\"HYSTERESIS SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u238E\"},9103:{\"value\":\"238F\",\"name\":\"OPEN-CIRCUIT-OUTPUT H-TYPE SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u238F\"},9104:{\"value\":\"2390\",\"name\":\"OPEN-CIRCUIT-OUTPUT L-TYPE SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2390\"},9105:{\"value\":\"2391\",\"name\":\"PASSIVE-PULL-DOWN-OUTPUT SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2391\"},9106:{\"value\":\"2392\",\"name\":\"PASSIVE-PULL-UP-OUTPUT SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2392\"},9107:{\"value\":\"2393\",\"name\":\"DIRECT CURRENT SYMBOL FORM TWO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2393\"},9108:{\"value\":\"2394\",\"name\":\"SOFTWARE-FUNCTION SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2394\"},9109:{\"value\":\"2395\",\"name\":\"APL FUNCTIONAL SYMBOL QUAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2395\"},9110:{\"value\":\"2396\",\"name\":\"DECIMAL SEPARATOR KEY SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2396\"},9111:{\"value\":\"2397\",\"name\":\"PREVIOUS PAGE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2397\"},9112:{\"value\":\"2398\",\"name\":\"NEXT PAGE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2398\"},9113:{\"value\":\"2399\",\"name\":\"PRINT SCREEN SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2399\"},9114:{\"value\":\"239A\",\"name\":\"CLEAR SCREEN SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u239A\"},9140:{\"value\":\"23B4\",\"name\":\"TOP SQUARE BRACKET\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u23B4\"},9141:{\"value\":\"23B5\",\"name\":\"BOTTOM SQUARE BRACKET\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u23B5\"},9142:{\"value\":\"23B6\",\"name\":\"BOTTOM SQUARE BRACKET OVER TOP SQUARE BRACKET\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u23B6\"},9143:{\"value\":\"23B7\",\"name\":\"RADICAL SYMBOL BOTTOM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u23B7\"},9144:{\"value\":\"23B8\",\"name\":\"LEFT VERTICAL BOX LINE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u23B8\"},9145:{\"value\":\"23B9\",\"name\":\"RIGHT VERTICAL BOX LINE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u23B9\"},9146:{\"value\":\"23BA\",\"name\":\"HORIZONTAL SCAN LINE-1\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u23BA\"},9147:{\"value\":\"23BB\",\"name\":\"HORIZONTAL SCAN LINE-3\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u23BB\"},9148:{\"value\":\"23BC\",\"name\":\"HORIZONTAL SCAN LINE-7\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u23BC\"},9149:{\"value\":\"23BD\",\"name\":\"HORIZONTAL SCAN LINE-9\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u23BD\"},9150:{\"value\":\"23BE\",\"name\":\"DENTISTRY SYMBOL LIGHT VERTICAL AND TOP RIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u23BE\"},9151:{\"value\":\"23BF\",\"name\":\"DENTISTRY SYMBOL LIGHT VERTICAL AND BOTTOM RIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u23BF\"},9152:{\"value\":\"23C0\",\"name\":\"DENTISTRY SYMBOL LIGHT VERTICAL WITH CIRCLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u23C0\"},9153:{\"value\":\"23C1\",\"name\":\"DENTISTRY SYMBOL LIGHT DOWN AND HORIZONTAL WITH CIRCLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u23C1\"},9154:{\"value\":\"23C2\",\"name\":\"DENTISTRY SYMBOL LIGHT UP AND HORIZONTAL WITH CIRCLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u23C2\"},9155:{\"value\":\"23C3\",\"name\":\"DENTISTRY SYMBOL LIGHT VERTICAL WITH TRIANGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u23C3\"},9156:{\"value\":\"23C4\",\"name\":\"DENTISTRY SYMBOL LIGHT DOWN AND HORIZONTAL WITH TRIANGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u23C4\"},9157:{\"value\":\"23C5\",\"name\":\"DENTISTRY SYMBOL LIGHT UP AND HORIZONTAL WITH TRIANGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u23C5\"},9158:{\"value\":\"23C6\",\"name\":\"DENTISTRY SYMBOL LIGHT VERTICAL AND WAVE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u23C6\"},9159:{\"value\":\"23C7\",\"name\":\"DENTISTRY SYMBOL LIGHT DOWN AND HORIZONTAL WITH WAVE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u23C7\"},9160:{\"value\":\"23C8\",\"name\":\"DENTISTRY SYMBOL LIGHT UP AND HORIZONTAL WITH WAVE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u23C8\"},9161:{\"value\":\"23C9\",\"name\":\"DENTISTRY SYMBOL LIGHT DOWN AND HORIZONTAL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u23C9\"},9162:{\"value\":\"23CA\",\"name\":\"DENTISTRY SYMBOL LIGHT UP AND HORIZONTAL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u23CA\"},9163:{\"value\":\"23CB\",\"name\":\"DENTISTRY SYMBOL LIGHT VERTICAL AND TOP LEFT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u23CB\"},9164:{\"value\":\"23CC\",\"name\":\"DENTISTRY SYMBOL LIGHT VERTICAL AND BOTTOM LEFT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u23CC\"},9165:{\"value\":\"23CD\",\"name\":\"SQUARE FOOT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u23CD\"},9166:{\"value\":\"23CE\",\"name\":\"RETURN SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u23CE\"},9167:{\"value\":\"23CF\",\"name\":\"EJECT SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u23CF\"},9168:{\"value\":\"23D0\",\"name\":\"VERTICAL LINE EXTENSION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u23D0\"},9169:{\"value\":\"23D1\",\"name\":\"METRICAL BREVE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u23D1\"},9170:{\"value\":\"23D2\",\"name\":\"METRICAL LONG OVER SHORT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u23D2\"},9171:{\"value\":\"23D3\",\"name\":\"METRICAL SHORT OVER LONG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u23D3\"},9172:{\"value\":\"23D4\",\"name\":\"METRICAL LONG OVER TWO SHORTS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u23D4\"},9173:{\"value\":\"23D5\",\"name\":\"METRICAL TWO SHORTS OVER LONG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u23D5\"},9174:{\"value\":\"23D6\",\"name\":\"METRICAL TWO SHORTS JOINED\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u23D6\"},9175:{\"value\":\"23D7\",\"name\":\"METRICAL TRISEME\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u23D7\"},9176:{\"value\":\"23D8\",\"name\":\"METRICAL TETRASEME\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u23D8\"},9177:{\"value\":\"23D9\",\"name\":\"METRICAL PENTASEME\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u23D9\"},9178:{\"value\":\"23DA\",\"name\":\"EARTH GROUND\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u23DA\"},9179:{\"value\":\"23DB\",\"name\":\"FUSE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u23DB\"},9186:{\"value\":\"23E2\",\"name\":\"WHITE TRAPEZIUM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u23E2\"},9187:{\"value\":\"23E3\",\"name\":\"BENZENE RING WITH CIRCLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u23E3\"},9188:{\"value\":\"23E4\",\"name\":\"STRAIGHTNESS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u23E4\"},9189:{\"value\":\"23E5\",\"name\":\"FLATNESS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u23E5\"},9190:{\"value\":\"23E6\",\"name\":\"AC CURRENT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u23E6\"},9191:{\"value\":\"23E7\",\"name\":\"ELECTRICAL INTERSECTION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u23E7\"},9192:{\"value\":\"23E8\",\"name\":\"DECIMAL EXPONENT SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u23E8\"},9193:{\"value\":\"23E9\",\"name\":\"BLACK RIGHT-POINTING DOUBLE TRIANGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u23E9\"},9194:{\"value\":\"23EA\",\"name\":\"BLACK LEFT-POINTING DOUBLE TRIANGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u23EA\"},9195:{\"value\":\"23EB\",\"name\":\"BLACK UP-POINTING DOUBLE TRIANGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u23EB\"},9196:{\"value\":\"23EC\",\"name\":\"BLACK DOWN-POINTING DOUBLE TRIANGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u23EC\"},9197:{\"value\":\"23ED\",\"name\":\"BLACK RIGHT-POINTING DOUBLE TRIANGLE WITH VERTICAL BAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u23ED\"},9198:{\"value\":\"23EE\",\"name\":\"BLACK LEFT-POINTING DOUBLE TRIANGLE WITH VERTICAL BAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u23EE\"},9199:{\"value\":\"23EF\",\"name\":\"BLACK RIGHT-POINTING TRIANGLE WITH DOUBLE VERTICAL BAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u23EF\"},9200:{\"value\":\"23F0\",\"name\":\"ALARM CLOCK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u23F0\"},9201:{\"value\":\"23F1\",\"name\":\"STOPWATCH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u23F1\"},9202:{\"value\":\"23F2\",\"name\":\"TIMER CLOCK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u23F2\"},9203:{\"value\":\"23F3\",\"name\":\"HOURGLASS WITH FLOWING SAND\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u23F3\"},9204:{\"value\":\"23F4\",\"name\":\"BLACK MEDIUM LEFT-POINTING TRIANGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u23F4\"},9205:{\"value\":\"23F5\",\"name\":\"BLACK MEDIUM RIGHT-POINTING TRIANGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u23F5\"},9206:{\"value\":\"23F6\",\"name\":\"BLACK MEDIUM UP-POINTING TRIANGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u23F6\"},9207:{\"value\":\"23F7\",\"name\":\"BLACK MEDIUM DOWN-POINTING TRIANGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u23F7\"},9208:{\"value\":\"23F8\",\"name\":\"DOUBLE VERTICAL BAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u23F8\"},9209:{\"value\":\"23F9\",\"name\":\"BLACK SQUARE FOR STOP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u23F9\"},9210:{\"value\":\"23FA\",\"name\":\"BLACK CIRCLE FOR RECORD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u23FA\"},9211:{\"value\":\"23FB\",\"name\":\"POWER SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u23FB\"},9212:{\"value\":\"23FC\",\"name\":\"POWER ON-OFF SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u23FC\"},9213:{\"value\":\"23FD\",\"name\":\"POWER ON SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u23FD\"},9214:{\"value\":\"23FE\",\"name\":\"POWER SLEEP SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u23FE\"},9216:{\"value\":\"2400\",\"name\":\"SYMBOL FOR NULL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"GRAPHIC FOR NULL\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2400\"},9217:{\"value\":\"2401\",\"name\":\"SYMBOL FOR START OF HEADING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"GRAPHIC FOR START OF HEADING\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2401\"},9218:{\"value\":\"2402\",\"name\":\"SYMBOL FOR START OF TEXT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"GRAPHIC FOR START OF TEXT\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2402\"},9219:{\"value\":\"2403\",\"name\":\"SYMBOL FOR END OF TEXT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"GRAPHIC FOR END OF TEXT\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2403\"},9220:{\"value\":\"2404\",\"name\":\"SYMBOL FOR END OF TRANSMISSION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"GRAPHIC FOR END OF TRANSMISSION\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2404\"},9221:{\"value\":\"2405\",\"name\":\"SYMBOL FOR ENQUIRY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"GRAPHIC FOR ENQUIRY\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2405\"},9222:{\"value\":\"2406\",\"name\":\"SYMBOL FOR ACKNOWLEDGE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"GRAPHIC FOR ACKNOWLEDGE\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2406\"},9223:{\"value\":\"2407\",\"name\":\"SYMBOL FOR BELL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"GRAPHIC FOR BELL\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2407\"},9224:{\"value\":\"2408\",\"name\":\"SYMBOL FOR BACKSPACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"GRAPHIC FOR BACKSPACE\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2408\"},9225:{\"value\":\"2409\",\"name\":\"SYMBOL FOR HORIZONTAL TABULATION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"GRAPHIC FOR HORIZONTAL TABULATION\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2409\"},9226:{\"value\":\"240A\",\"name\":\"SYMBOL FOR LINE FEED\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"GRAPHIC FOR LINE FEED\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u240A\"},9227:{\"value\":\"240B\",\"name\":\"SYMBOL FOR VERTICAL TABULATION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"GRAPHIC FOR VERTICAL TABULATION\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u240B\"},9228:{\"value\":\"240C\",\"name\":\"SYMBOL FOR FORM FEED\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"GRAPHIC FOR FORM FEED\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u240C\"},9229:{\"value\":\"240D\",\"name\":\"SYMBOL FOR CARRIAGE RETURN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"GRAPHIC FOR CARRIAGE RETURN\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u240D\"},9230:{\"value\":\"240E\",\"name\":\"SYMBOL FOR SHIFT OUT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"GRAPHIC FOR SHIFT OUT\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u240E\"},9231:{\"value\":\"240F\",\"name\":\"SYMBOL FOR SHIFT IN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"GRAPHIC FOR SHIFT IN\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u240F\"},9232:{\"value\":\"2410\",\"name\":\"SYMBOL FOR DATA LINK ESCAPE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"GRAPHIC FOR DATA LINK ESCAPE\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2410\"},9233:{\"value\":\"2411\",\"name\":\"SYMBOL FOR DEVICE CONTROL ONE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"GRAPHIC FOR DEVICE CONTROL ONE\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2411\"},9234:{\"value\":\"2412\",\"name\":\"SYMBOL FOR DEVICE CONTROL TWO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"GRAPHIC FOR DEVICE CONTROL TWO\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2412\"},9235:{\"value\":\"2413\",\"name\":\"SYMBOL FOR DEVICE CONTROL THREE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"GRAPHIC FOR DEVICE CONTROL THREE\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2413\"},9236:{\"value\":\"2414\",\"name\":\"SYMBOL FOR DEVICE CONTROL FOUR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"GRAPHIC FOR DEVICE CONTROL FOUR\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2414\"},9237:{\"value\":\"2415\",\"name\":\"SYMBOL FOR NEGATIVE ACKNOWLEDGE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"GRAPHIC FOR NEGATIVE ACKNOWLEDGE\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2415\"},9238:{\"value\":\"2416\",\"name\":\"SYMBOL FOR SYNCHRONOUS IDLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"GRAPHIC FOR SYNCHRONOUS IDLE\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2416\"},9239:{\"value\":\"2417\",\"name\":\"SYMBOL FOR END OF TRANSMISSION BLOCK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"GRAPHIC FOR END OF TRANSMISSION BLOCK\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2417\"},9240:{\"value\":\"2418\",\"name\":\"SYMBOL FOR CANCEL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"GRAPHIC FOR CANCEL\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2418\"},9241:{\"value\":\"2419\",\"name\":\"SYMBOL FOR END OF MEDIUM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"GRAPHIC FOR END OF MEDIUM\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2419\"},9242:{\"value\":\"241A\",\"name\":\"SYMBOL FOR SUBSTITUTE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"GRAPHIC FOR SUBSTITUTE\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u241A\"},9243:{\"value\":\"241B\",\"name\":\"SYMBOL FOR ESCAPE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"GRAPHIC FOR ESCAPE\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u241B\"},9244:{\"value\":\"241C\",\"name\":\"SYMBOL FOR FILE SEPARATOR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"GRAPHIC FOR FILE SEPARATOR\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u241C\"},9245:{\"value\":\"241D\",\"name\":\"SYMBOL FOR GROUP SEPARATOR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"GRAPHIC FOR GROUP SEPARATOR\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u241D\"},9246:{\"value\":\"241E\",\"name\":\"SYMBOL FOR RECORD SEPARATOR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"GRAPHIC FOR RECORD SEPARATOR\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u241E\"},9247:{\"value\":\"241F\",\"name\":\"SYMBOL FOR UNIT SEPARATOR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"GRAPHIC FOR UNIT SEPARATOR\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u241F\"},9248:{\"value\":\"2420\",\"name\":\"SYMBOL FOR SPACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"GRAPHIC FOR SPACE\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2420\"},9249:{\"value\":\"2421\",\"name\":\"SYMBOL FOR DELETE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"GRAPHIC FOR DELETE\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2421\"},9250:{\"value\":\"2422\",\"name\":\"BLANK SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"BLANK\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2422\"},9251:{\"value\":\"2423\",\"name\":\"OPEN BOX\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2423\"},9252:{\"value\":\"2424\",\"name\":\"SYMBOL FOR NEWLINE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"GRAPHIC FOR NEWLINE\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2424\"},9253:{\"value\":\"2425\",\"name\":\"SYMBOL FOR DELETE FORM TWO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2425\"},9254:{\"value\":\"2426\",\"name\":\"SYMBOL FOR SUBSTITUTE FORM TWO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2426\"},9280:{\"value\":\"2440\",\"name\":\"OCR HOOK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2440\"},9281:{\"value\":\"2441\",\"name\":\"OCR CHAIR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2441\"},9282:{\"value\":\"2442\",\"name\":\"OCR FORK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2442\"},9283:{\"value\":\"2443\",\"name\":\"OCR INVERTED FORK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2443\"},9284:{\"value\":\"2444\",\"name\":\"OCR BELT BUCKLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2444\"},9285:{\"value\":\"2445\",\"name\":\"OCR BOW TIE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2445\"},9286:{\"value\":\"2446\",\"name\":\"OCR BRANCH BANK IDENTIFICATION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2446\"},9287:{\"value\":\"2447\",\"name\":\"OCR AMOUNT OF CHECK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2447\"},9288:{\"value\":\"2448\",\"name\":\"OCR DASH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2448\"},9289:{\"value\":\"2449\",\"name\":\"OCR CUSTOMER ACCOUNT NUMBER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2449\"},9290:{\"value\":\"244A\",\"name\":\"OCR DOUBLE BACKSLASH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u244A\"},9372:{\"value\":\"249C\",\"name\":\"PARENTHESIZED LATIN SMALL LETTER A\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 0061 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u249C\"},9373:{\"value\":\"249D\",\"name\":\"PARENTHESIZED LATIN SMALL LETTER B\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 0062 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u249D\"},9374:{\"value\":\"249E\",\"name\":\"PARENTHESIZED LATIN SMALL LETTER C\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 0063 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u249E\"},9375:{\"value\":\"249F\",\"name\":\"PARENTHESIZED LATIN SMALL LETTER D\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 0064 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u249F\"},9376:{\"value\":\"24A0\",\"name\":\"PARENTHESIZED LATIN SMALL LETTER E\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 0065 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u24A0\"},9377:{\"value\":\"24A1\",\"name\":\"PARENTHESIZED LATIN SMALL LETTER F\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 0066 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u24A1\"},9378:{\"value\":\"24A2\",\"name\":\"PARENTHESIZED LATIN SMALL LETTER G\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 0067 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u24A2\"},9379:{\"value\":\"24A3\",\"name\":\"PARENTHESIZED LATIN SMALL LETTER H\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 0068 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u24A3\"},9380:{\"value\":\"24A4\",\"name\":\"PARENTHESIZED LATIN SMALL LETTER I\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 0069 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u24A4\"},9381:{\"value\":\"24A5\",\"name\":\"PARENTHESIZED LATIN SMALL LETTER J\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 006A 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u24A5\"},9382:{\"value\":\"24A6\",\"name\":\"PARENTHESIZED LATIN SMALL LETTER K\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 006B 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u24A6\"},9383:{\"value\":\"24A7\",\"name\":\"PARENTHESIZED LATIN SMALL LETTER L\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 006C 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u24A7\"},9384:{\"value\":\"24A8\",\"name\":\"PARENTHESIZED LATIN SMALL LETTER M\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 006D 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u24A8\"},9385:{\"value\":\"24A9\",\"name\":\"PARENTHESIZED LATIN SMALL LETTER N\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 006E 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u24A9\"},9386:{\"value\":\"24AA\",\"name\":\"PARENTHESIZED LATIN SMALL LETTER O\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 006F 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u24AA\"},9387:{\"value\":\"24AB\",\"name\":\"PARENTHESIZED LATIN SMALL LETTER P\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 0070 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u24AB\"},9388:{\"value\":\"24AC\",\"name\":\"PARENTHESIZED LATIN SMALL LETTER Q\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 0071 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u24AC\"},9389:{\"value\":\"24AD\",\"name\":\"PARENTHESIZED LATIN SMALL LETTER R\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 0072 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u24AD\"},9390:{\"value\":\"24AE\",\"name\":\"PARENTHESIZED LATIN SMALL LETTER S\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 0073 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u24AE\"},9391:{\"value\":\"24AF\",\"name\":\"PARENTHESIZED LATIN SMALL LETTER T\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 0074 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u24AF\"},9392:{\"value\":\"24B0\",\"name\":\"PARENTHESIZED LATIN SMALL LETTER U\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 0075 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u24B0\"},9393:{\"value\":\"24B1\",\"name\":\"PARENTHESIZED LATIN SMALL LETTER V\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 0076 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u24B1\"},9394:{\"value\":\"24B2\",\"name\":\"PARENTHESIZED LATIN SMALL LETTER W\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 0077 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u24B2\"},9395:{\"value\":\"24B3\",\"name\":\"PARENTHESIZED LATIN SMALL LETTER X\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 0078 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u24B3\"},9396:{\"value\":\"24B4\",\"name\":\"PARENTHESIZED LATIN SMALL LETTER Y\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 0079 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u24B4\"},9397:{\"value\":\"24B5\",\"name\":\"PARENTHESIZED LATIN SMALL LETTER Z\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 007A 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u24B5\"},9398:{\"value\":\"24B6\",\"name\":\"CIRCLED LATIN CAPITAL LETTER A\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 0041\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"24D0\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u24B6\"},9399:{\"value\":\"24B7\",\"name\":\"CIRCLED LATIN CAPITAL LETTER B\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 0042\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"24D1\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u24B7\"},9400:{\"value\":\"24B8\",\"name\":\"CIRCLED LATIN CAPITAL LETTER C\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 0043\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"24D2\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u24B8\"},9401:{\"value\":\"24B9\",\"name\":\"CIRCLED LATIN CAPITAL LETTER D\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 0044\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"24D3\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u24B9\"},9402:{\"value\":\"24BA\",\"name\":\"CIRCLED LATIN CAPITAL LETTER E\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 0045\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"24D4\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u24BA\"},9403:{\"value\":\"24BB\",\"name\":\"CIRCLED LATIN CAPITAL LETTER F\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 0046\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"24D5\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u24BB\"},9404:{\"value\":\"24BC\",\"name\":\"CIRCLED LATIN CAPITAL LETTER G\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 0047\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"24D6\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u24BC\"},9405:{\"value\":\"24BD\",\"name\":\"CIRCLED LATIN CAPITAL LETTER H\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 0048\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"24D7\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u24BD\"},9406:{\"value\":\"24BE\",\"name\":\"CIRCLED LATIN CAPITAL LETTER I\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 0049\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"24D8\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u24BE\"},9407:{\"value\":\"24BF\",\"name\":\"CIRCLED LATIN CAPITAL LETTER J\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 004A\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"24D9\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u24BF\"},9408:{\"value\":\"24C0\",\"name\":\"CIRCLED LATIN CAPITAL LETTER K\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 004B\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"24DA\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u24C0\"},9409:{\"value\":\"24C1\",\"name\":\"CIRCLED LATIN CAPITAL LETTER L\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 004C\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"24DB\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u24C1\"},9410:{\"value\":\"24C2\",\"name\":\"CIRCLED LATIN CAPITAL LETTER M\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 004D\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"24DC\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u24C2\"},9411:{\"value\":\"24C3\",\"name\":\"CIRCLED LATIN CAPITAL LETTER N\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 004E\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"24DD\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u24C3\"},9412:{\"value\":\"24C4\",\"name\":\"CIRCLED LATIN CAPITAL LETTER O\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 004F\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"24DE\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u24C4\"},9413:{\"value\":\"24C5\",\"name\":\"CIRCLED LATIN CAPITAL LETTER P\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 0050\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"24DF\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u24C5\"},9414:{\"value\":\"24C6\",\"name\":\"CIRCLED LATIN CAPITAL LETTER Q\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 0051\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"24E0\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u24C6\"},9415:{\"value\":\"24C7\",\"name\":\"CIRCLED LATIN CAPITAL LETTER R\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 0052\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"24E1\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u24C7\"},9416:{\"value\":\"24C8\",\"name\":\"CIRCLED LATIN CAPITAL LETTER S\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 0053\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"24E2\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u24C8\"},9417:{\"value\":\"24C9\",\"name\":\"CIRCLED LATIN CAPITAL LETTER T\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 0054\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"24E3\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u24C9\"},9418:{\"value\":\"24CA\",\"name\":\"CIRCLED LATIN CAPITAL LETTER U\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 0055\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"24E4\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u24CA\"},9419:{\"value\":\"24CB\",\"name\":\"CIRCLED LATIN CAPITAL LETTER V\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 0056\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"24E5\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u24CB\"},9420:{\"value\":\"24CC\",\"name\":\"CIRCLED LATIN CAPITAL LETTER W\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 0057\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"24E6\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u24CC\"},9421:{\"value\":\"24CD\",\"name\":\"CIRCLED LATIN CAPITAL LETTER X\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 0058\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"24E7\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u24CD\"},9422:{\"value\":\"24CE\",\"name\":\"CIRCLED LATIN CAPITAL LETTER Y\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 0059\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"24E8\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u24CE\"},9423:{\"value\":\"24CF\",\"name\":\"CIRCLED LATIN CAPITAL LETTER Z\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 005A\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"24E9\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u24CF\"},9424:{\"value\":\"24D0\",\"name\":\"CIRCLED LATIN SMALL LETTER A\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 0061\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"24B6\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"24B6\",\"symbol\":\"\\u24D0\"},9425:{\"value\":\"24D1\",\"name\":\"CIRCLED LATIN SMALL LETTER B\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 0062\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"24B7\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"24B7\",\"symbol\":\"\\u24D1\"},9426:{\"value\":\"24D2\",\"name\":\"CIRCLED LATIN SMALL LETTER C\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 0063\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"24B8\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"24B8\",\"symbol\":\"\\u24D2\"},9427:{\"value\":\"24D3\",\"name\":\"CIRCLED LATIN SMALL LETTER D\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 0064\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"24B9\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"24B9\",\"symbol\":\"\\u24D3\"},9428:{\"value\":\"24D4\",\"name\":\"CIRCLED LATIN SMALL LETTER E\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 0065\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"24BA\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"24BA\",\"symbol\":\"\\u24D4\"},9429:{\"value\":\"24D5\",\"name\":\"CIRCLED LATIN SMALL LETTER F\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 0066\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"24BB\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"24BB\",\"symbol\":\"\\u24D5\"},9430:{\"value\":\"24D6\",\"name\":\"CIRCLED LATIN SMALL LETTER G\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 0067\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"24BC\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"24BC\",\"symbol\":\"\\u24D6\"},9431:{\"value\":\"24D7\",\"name\":\"CIRCLED LATIN SMALL LETTER H\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 0068\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"24BD\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"24BD\",\"symbol\":\"\\u24D7\"},9432:{\"value\":\"24D8\",\"name\":\"CIRCLED LATIN SMALL LETTER I\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 0069\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"24BE\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"24BE\",\"symbol\":\"\\u24D8\"},9433:{\"value\":\"24D9\",\"name\":\"CIRCLED LATIN SMALL LETTER J\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 006A\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"24BF\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"24BF\",\"symbol\":\"\\u24D9\"},9434:{\"value\":\"24DA\",\"name\":\"CIRCLED LATIN SMALL LETTER K\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 006B\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"24C0\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"24C0\",\"symbol\":\"\\u24DA\"},9435:{\"value\":\"24DB\",\"name\":\"CIRCLED LATIN SMALL LETTER L\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 006C\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"24C1\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"24C1\",\"symbol\":\"\\u24DB\"},9436:{\"value\":\"24DC\",\"name\":\"CIRCLED LATIN SMALL LETTER M\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 006D\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"24C2\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"24C2\",\"symbol\":\"\\u24DC\"},9437:{\"value\":\"24DD\",\"name\":\"CIRCLED LATIN SMALL LETTER N\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 006E\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"24C3\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"24C3\",\"symbol\":\"\\u24DD\"},9438:{\"value\":\"24DE\",\"name\":\"CIRCLED LATIN SMALL LETTER O\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 006F\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"24C4\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"24C4\",\"symbol\":\"\\u24DE\"},9439:{\"value\":\"24DF\",\"name\":\"CIRCLED LATIN SMALL LETTER P\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 0070\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"24C5\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"24C5\",\"symbol\":\"\\u24DF\"},9440:{\"value\":\"24E0\",\"name\":\"CIRCLED LATIN SMALL LETTER Q\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 0071\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"24C6\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"24C6\",\"symbol\":\"\\u24E0\"},9441:{\"value\":\"24E1\",\"name\":\"CIRCLED LATIN SMALL LETTER R\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 0072\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"24C7\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"24C7\",\"symbol\":\"\\u24E1\"},9442:{\"value\":\"24E2\",\"name\":\"CIRCLED LATIN SMALL LETTER S\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 0073\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"24C8\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"24C8\",\"symbol\":\"\\u24E2\"},9443:{\"value\":\"24E3\",\"name\":\"CIRCLED LATIN SMALL LETTER T\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 0074\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"24C9\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"24C9\",\"symbol\":\"\\u24E3\"},9444:{\"value\":\"24E4\",\"name\":\"CIRCLED LATIN SMALL LETTER U\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 0075\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"24CA\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"24CA\",\"symbol\":\"\\u24E4\"},9445:{\"value\":\"24E5\",\"name\":\"CIRCLED LATIN SMALL LETTER V\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 0076\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"24CB\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"24CB\",\"symbol\":\"\\u24E5\"},9446:{\"value\":\"24E6\",\"name\":\"CIRCLED LATIN SMALL LETTER W\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 0077\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"24CC\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"24CC\",\"symbol\":\"\\u24E6\"},9447:{\"value\":\"24E7\",\"name\":\"CIRCLED LATIN SMALL LETTER X\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 0078\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"24CD\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"24CD\",\"symbol\":\"\\u24E7\"},9448:{\"value\":\"24E8\",\"name\":\"CIRCLED LATIN SMALL LETTER Y\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 0079\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"24CE\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"24CE\",\"symbol\":\"\\u24E8\"},9449:{\"value\":\"24E9\",\"name\":\"CIRCLED LATIN SMALL LETTER Z\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 007A\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"24CF\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"24CF\",\"symbol\":\"\\u24E9\"},9472:{\"value\":\"2500\",\"name\":\"BOX DRAWINGS LIGHT HORIZONTAL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS LIGHT HORIZONTAL\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2500\"},9473:{\"value\":\"2501\",\"name\":\"BOX DRAWINGS HEAVY HORIZONTAL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS HEAVY HORIZONTAL\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2501\"},9474:{\"value\":\"2502\",\"name\":\"BOX DRAWINGS LIGHT VERTICAL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS LIGHT VERTICAL\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2502\"},9475:{\"value\":\"2503\",\"name\":\"BOX DRAWINGS HEAVY VERTICAL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS HEAVY VERTICAL\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2503\"},9476:{\"value\":\"2504\",\"name\":\"BOX DRAWINGS LIGHT TRIPLE DASH HORIZONTAL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS LIGHT TRIPLE DASH HORIZONTAL\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2504\"},9477:{\"value\":\"2505\",\"name\":\"BOX DRAWINGS HEAVY TRIPLE DASH HORIZONTAL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS HEAVY TRIPLE DASH HORIZONTAL\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2505\"},9478:{\"value\":\"2506\",\"name\":\"BOX DRAWINGS LIGHT TRIPLE DASH VERTICAL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS LIGHT TRIPLE DASH VERTICAL\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2506\"},9479:{\"value\":\"2507\",\"name\":\"BOX DRAWINGS HEAVY TRIPLE DASH VERTICAL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS HEAVY TRIPLE DASH VERTICAL\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2507\"},9480:{\"value\":\"2508\",\"name\":\"BOX DRAWINGS LIGHT QUADRUPLE DASH HORIZONTAL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS LIGHT QUADRUPLE DASH HORIZONTAL\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2508\"},9481:{\"value\":\"2509\",\"name\":\"BOX DRAWINGS HEAVY QUADRUPLE DASH HORIZONTAL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS HEAVY QUADRUPLE DASH HORIZONTAL\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2509\"},9482:{\"value\":\"250A\",\"name\":\"BOX DRAWINGS LIGHT QUADRUPLE DASH VERTICAL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS LIGHT QUADRUPLE DASH VERTICAL\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u250A\"},9483:{\"value\":\"250B\",\"name\":\"BOX DRAWINGS HEAVY QUADRUPLE DASH VERTICAL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS HEAVY QUADRUPLE DASH VERTICAL\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u250B\"},9484:{\"value\":\"250C\",\"name\":\"BOX DRAWINGS LIGHT DOWN AND RIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS LIGHT DOWN AND RIGHT\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u250C\"},9485:{\"value\":\"250D\",\"name\":\"BOX DRAWINGS DOWN LIGHT AND RIGHT HEAVY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS DOWN LIGHT AND RIGHT HEAVY\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u250D\"},9486:{\"value\":\"250E\",\"name\":\"BOX DRAWINGS DOWN HEAVY AND RIGHT LIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS DOWN HEAVY AND RIGHT LIGHT\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u250E\"},9487:{\"value\":\"250F\",\"name\":\"BOX DRAWINGS HEAVY DOWN AND RIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS HEAVY DOWN AND RIGHT\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u250F\"},9488:{\"value\":\"2510\",\"name\":\"BOX DRAWINGS LIGHT DOWN AND LEFT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS LIGHT DOWN AND LEFT\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2510\"},9489:{\"value\":\"2511\",\"name\":\"BOX DRAWINGS DOWN LIGHT AND LEFT HEAVY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS DOWN LIGHT AND LEFT HEAVY\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2511\"},9490:{\"value\":\"2512\",\"name\":\"BOX DRAWINGS DOWN HEAVY AND LEFT LIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS DOWN HEAVY AND LEFT LIGHT\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2512\"},9491:{\"value\":\"2513\",\"name\":\"BOX DRAWINGS HEAVY DOWN AND LEFT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS HEAVY DOWN AND LEFT\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2513\"},9492:{\"value\":\"2514\",\"name\":\"BOX DRAWINGS LIGHT UP AND RIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS LIGHT UP AND RIGHT\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2514\"},9493:{\"value\":\"2515\",\"name\":\"BOX DRAWINGS UP LIGHT AND RIGHT HEAVY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS UP LIGHT AND RIGHT HEAVY\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2515\"},9494:{\"value\":\"2516\",\"name\":\"BOX DRAWINGS UP HEAVY AND RIGHT LIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS UP HEAVY AND RIGHT LIGHT\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2516\"},9495:{\"value\":\"2517\",\"name\":\"BOX DRAWINGS HEAVY UP AND RIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS HEAVY UP AND RIGHT\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2517\"},9496:{\"value\":\"2518\",\"name\":\"BOX DRAWINGS LIGHT UP AND LEFT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS LIGHT UP AND LEFT\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2518\"},9497:{\"value\":\"2519\",\"name\":\"BOX DRAWINGS UP LIGHT AND LEFT HEAVY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS UP LIGHT AND LEFT HEAVY\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2519\"},9498:{\"value\":\"251A\",\"name\":\"BOX DRAWINGS UP HEAVY AND LEFT LIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS UP HEAVY AND LEFT LIGHT\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u251A\"},9499:{\"value\":\"251B\",\"name\":\"BOX DRAWINGS HEAVY UP AND LEFT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS HEAVY UP AND LEFT\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u251B\"},9500:{\"value\":\"251C\",\"name\":\"BOX DRAWINGS LIGHT VERTICAL AND RIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS LIGHT VERTICAL AND RIGHT\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u251C\"},9501:{\"value\":\"251D\",\"name\":\"BOX DRAWINGS VERTICAL LIGHT AND RIGHT HEAVY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS VERTICAL LIGHT AND RIGHT HEAVY\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u251D\"},9502:{\"value\":\"251E\",\"name\":\"BOX DRAWINGS UP HEAVY AND RIGHT DOWN LIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS UP HEAVY AND RIGHT DOWN LIGHT\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u251E\"},9503:{\"value\":\"251F\",\"name\":\"BOX DRAWINGS DOWN HEAVY AND RIGHT UP LIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS DOWN HEAVY AND RIGHT UP LIGHT\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u251F\"},9504:{\"value\":\"2520\",\"name\":\"BOX DRAWINGS VERTICAL HEAVY AND RIGHT LIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS VERTICAL HEAVY AND RIGHT LIGHT\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2520\"},9505:{\"value\":\"2521\",\"name\":\"BOX DRAWINGS DOWN LIGHT AND RIGHT UP HEAVY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS DOWN LIGHT AND RIGHT UP HEAVY\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2521\"},9506:{\"value\":\"2522\",\"name\":\"BOX DRAWINGS UP LIGHT AND RIGHT DOWN HEAVY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS UP LIGHT AND RIGHT DOWN HEAVY\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2522\"},9507:{\"value\":\"2523\",\"name\":\"BOX DRAWINGS HEAVY VERTICAL AND RIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS HEAVY VERTICAL AND RIGHT\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2523\"},9508:{\"value\":\"2524\",\"name\":\"BOX DRAWINGS LIGHT VERTICAL AND LEFT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS LIGHT VERTICAL AND LEFT\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2524\"},9509:{\"value\":\"2525\",\"name\":\"BOX DRAWINGS VERTICAL LIGHT AND LEFT HEAVY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS VERTICAL LIGHT AND LEFT HEAVY\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2525\"},9510:{\"value\":\"2526\",\"name\":\"BOX DRAWINGS UP HEAVY AND LEFT DOWN LIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS UP HEAVY AND LEFT DOWN LIGHT\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2526\"},9511:{\"value\":\"2527\",\"name\":\"BOX DRAWINGS DOWN HEAVY AND LEFT UP LIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS DOWN HEAVY AND LEFT UP LIGHT\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2527\"},9512:{\"value\":\"2528\",\"name\":\"BOX DRAWINGS VERTICAL HEAVY AND LEFT LIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS VERTICAL HEAVY AND LEFT LIGHT\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2528\"},9513:{\"value\":\"2529\",\"name\":\"BOX DRAWINGS DOWN LIGHT AND LEFT UP HEAVY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS DOWN LIGHT AND LEFT UP HEAVY\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2529\"},9514:{\"value\":\"252A\",\"name\":\"BOX DRAWINGS UP LIGHT AND LEFT DOWN HEAVY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS UP LIGHT AND LEFT DOWN HEAVY\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u252A\"},9515:{\"value\":\"252B\",\"name\":\"BOX DRAWINGS HEAVY VERTICAL AND LEFT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS HEAVY VERTICAL AND LEFT\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u252B\"},9516:{\"value\":\"252C\",\"name\":\"BOX DRAWINGS LIGHT DOWN AND HORIZONTAL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS LIGHT DOWN AND HORIZONTAL\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u252C\"},9517:{\"value\":\"252D\",\"name\":\"BOX DRAWINGS LEFT HEAVY AND RIGHT DOWN LIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS LEFT HEAVY AND RIGHT DOWN LIGHT\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u252D\"},9518:{\"value\":\"252E\",\"name\":\"BOX DRAWINGS RIGHT HEAVY AND LEFT DOWN LIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS RIGHT HEAVY AND LEFT DOWN LIGHT\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u252E\"},9519:{\"value\":\"252F\",\"name\":\"BOX DRAWINGS DOWN LIGHT AND HORIZONTAL HEAVY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS DOWN LIGHT AND HORIZONTAL HEAVY\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u252F\"},9520:{\"value\":\"2530\",\"name\":\"BOX DRAWINGS DOWN HEAVY AND HORIZONTAL LIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS DOWN HEAVY AND HORIZONTAL LIGHT\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2530\"},9521:{\"value\":\"2531\",\"name\":\"BOX DRAWINGS RIGHT LIGHT AND LEFT DOWN HEAVY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS RIGHT LIGHT AND LEFT DOWN HEAVY\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2531\"},9522:{\"value\":\"2532\",\"name\":\"BOX DRAWINGS LEFT LIGHT AND RIGHT DOWN HEAVY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS LEFT LIGHT AND RIGHT DOWN HEAVY\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2532\"},9523:{\"value\":\"2533\",\"name\":\"BOX DRAWINGS HEAVY DOWN AND HORIZONTAL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS HEAVY DOWN AND HORIZONTAL\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2533\"},9524:{\"value\":\"2534\",\"name\":\"BOX DRAWINGS LIGHT UP AND HORIZONTAL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS LIGHT UP AND HORIZONTAL\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2534\"},9525:{\"value\":\"2535\",\"name\":\"BOX DRAWINGS LEFT HEAVY AND RIGHT UP LIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS LEFT HEAVY AND RIGHT UP LIGHT\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2535\"},9526:{\"value\":\"2536\",\"name\":\"BOX DRAWINGS RIGHT HEAVY AND LEFT UP LIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS RIGHT HEAVY AND LEFT UP LIGHT\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2536\"},9527:{\"value\":\"2537\",\"name\":\"BOX DRAWINGS UP LIGHT AND HORIZONTAL HEAVY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS UP LIGHT AND HORIZONTAL HEAVY\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2537\"},9528:{\"value\":\"2538\",\"name\":\"BOX DRAWINGS UP HEAVY AND HORIZONTAL LIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS UP HEAVY AND HORIZONTAL LIGHT\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2538\"},9529:{\"value\":\"2539\",\"name\":\"BOX DRAWINGS RIGHT LIGHT AND LEFT UP HEAVY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS RIGHT LIGHT AND LEFT UP HEAVY\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2539\"},9530:{\"value\":\"253A\",\"name\":\"BOX DRAWINGS LEFT LIGHT AND RIGHT UP HEAVY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS LEFT LIGHT AND RIGHT UP HEAVY\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u253A\"},9531:{\"value\":\"253B\",\"name\":\"BOX DRAWINGS HEAVY UP AND HORIZONTAL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS HEAVY UP AND HORIZONTAL\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u253B\"},9532:{\"value\":\"253C\",\"name\":\"BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS LIGHT VERTICAL AND HORIZONTAL\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u253C\"},9533:{\"value\":\"253D\",\"name\":\"BOX DRAWINGS LEFT HEAVY AND RIGHT VERTICAL LIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS LEFT HEAVY AND RIGHT VERTICAL LIGHT\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u253D\"},9534:{\"value\":\"253E\",\"name\":\"BOX DRAWINGS RIGHT HEAVY AND LEFT VERTICAL LIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS RIGHT HEAVY AND LEFT VERTICAL LIGHT\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u253E\"},9535:{\"value\":\"253F\",\"name\":\"BOX DRAWINGS VERTICAL LIGHT AND HORIZONTAL HEAVY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS VERTICAL LIGHT AND HORIZONTAL HEAVY\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u253F\"},9536:{\"value\":\"2540\",\"name\":\"BOX DRAWINGS UP HEAVY AND DOWN HORIZONTAL LIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS UP HEAVY AND DOWN HORIZONTAL LIGHT\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2540\"},9537:{\"value\":\"2541\",\"name\":\"BOX DRAWINGS DOWN HEAVY AND UP HORIZONTAL LIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS DOWN HEAVY AND UP HORIZONTAL LIGHT\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2541\"},9538:{\"value\":\"2542\",\"name\":\"BOX DRAWINGS VERTICAL HEAVY AND HORIZONTAL LIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS VERTICAL HEAVY AND HORIZONTAL LIGHT\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2542\"},9539:{\"value\":\"2543\",\"name\":\"BOX DRAWINGS LEFT UP HEAVY AND RIGHT DOWN LIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS LEFT UP HEAVY AND RIGHT DOWN LIGHT\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2543\"},9540:{\"value\":\"2544\",\"name\":\"BOX DRAWINGS RIGHT UP HEAVY AND LEFT DOWN LIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS RIGHT UP HEAVY AND LEFT DOWN LIGHT\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2544\"},9541:{\"value\":\"2545\",\"name\":\"BOX DRAWINGS LEFT DOWN HEAVY AND RIGHT UP LIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS LEFT DOWN HEAVY AND RIGHT UP LIGHT\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2545\"},9542:{\"value\":\"2546\",\"name\":\"BOX DRAWINGS RIGHT DOWN HEAVY AND LEFT UP LIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS RIGHT DOWN HEAVY AND LEFT UP LIGHT\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2546\"},9543:{\"value\":\"2547\",\"name\":\"BOX DRAWINGS DOWN LIGHT AND UP HORIZONTAL HEAVY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS DOWN LIGHT AND UP HORIZONTAL HEAVY\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2547\"},9544:{\"value\":\"2548\",\"name\":\"BOX DRAWINGS UP LIGHT AND DOWN HORIZONTAL HEAVY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS UP LIGHT AND DOWN HORIZONTAL HEAVY\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2548\"},9545:{\"value\":\"2549\",\"name\":\"BOX DRAWINGS RIGHT LIGHT AND LEFT VERTICAL HEAVY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS RIGHT LIGHT AND LEFT VERTICAL HEAVY\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2549\"},9546:{\"value\":\"254A\",\"name\":\"BOX DRAWINGS LEFT LIGHT AND RIGHT VERTICAL HEAVY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS LEFT LIGHT AND RIGHT VERTICAL HEAVY\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u254A\"},9547:{\"value\":\"254B\",\"name\":\"BOX DRAWINGS HEAVY VERTICAL AND HORIZONTAL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS HEAVY VERTICAL AND HORIZONTAL\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u254B\"},9548:{\"value\":\"254C\",\"name\":\"BOX DRAWINGS LIGHT DOUBLE DASH HORIZONTAL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS LIGHT DOUBLE DASH HORIZONTAL\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u254C\"},9549:{\"value\":\"254D\",\"name\":\"BOX DRAWINGS HEAVY DOUBLE DASH HORIZONTAL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS HEAVY DOUBLE DASH HORIZONTAL\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u254D\"},9550:{\"value\":\"254E\",\"name\":\"BOX DRAWINGS LIGHT DOUBLE DASH VERTICAL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS LIGHT DOUBLE DASH VERTICAL\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u254E\"},9551:{\"value\":\"254F\",\"name\":\"BOX DRAWINGS HEAVY DOUBLE DASH VERTICAL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS HEAVY DOUBLE DASH VERTICAL\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u254F\"},9552:{\"value\":\"2550\",\"name\":\"BOX DRAWINGS DOUBLE HORIZONTAL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS DOUBLE HORIZONTAL\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2550\"},9553:{\"value\":\"2551\",\"name\":\"BOX DRAWINGS DOUBLE VERTICAL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS DOUBLE VERTICAL\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2551\"},9554:{\"value\":\"2552\",\"name\":\"BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS DOWN SINGLE AND RIGHT DOUBLE\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2552\"},9555:{\"value\":\"2553\",\"name\":\"BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS DOWN DOUBLE AND RIGHT SINGLE\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2553\"},9556:{\"value\":\"2554\",\"name\":\"BOX DRAWINGS DOUBLE DOWN AND RIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS DOUBLE DOWN AND RIGHT\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2554\"},9557:{\"value\":\"2555\",\"name\":\"BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS DOWN SINGLE AND LEFT DOUBLE\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2555\"},9558:{\"value\":\"2556\",\"name\":\"BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS DOWN DOUBLE AND LEFT SINGLE\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2556\"},9559:{\"value\":\"2557\",\"name\":\"BOX DRAWINGS DOUBLE DOWN AND LEFT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS DOUBLE DOWN AND LEFT\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2557\"},9560:{\"value\":\"2558\",\"name\":\"BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS UP SINGLE AND RIGHT DOUBLE\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2558\"},9561:{\"value\":\"2559\",\"name\":\"BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS UP DOUBLE AND RIGHT SINGLE\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2559\"},9562:{\"value\":\"255A\",\"name\":\"BOX DRAWINGS DOUBLE UP AND RIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS DOUBLE UP AND RIGHT\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u255A\"},9563:{\"value\":\"255B\",\"name\":\"BOX DRAWINGS UP SINGLE AND LEFT DOUBLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS UP SINGLE AND LEFT DOUBLE\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u255B\"},9564:{\"value\":\"255C\",\"name\":\"BOX DRAWINGS UP DOUBLE AND LEFT SINGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS UP DOUBLE AND LEFT SINGLE\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u255C\"},9565:{\"value\":\"255D\",\"name\":\"BOX DRAWINGS DOUBLE UP AND LEFT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS DOUBLE UP AND LEFT\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u255D\"},9566:{\"value\":\"255E\",\"name\":\"BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS VERTICAL SINGLE AND RIGHT DOUBLE\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u255E\"},9567:{\"value\":\"255F\",\"name\":\"BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS VERTICAL DOUBLE AND RIGHT SINGLE\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u255F\"},9568:{\"value\":\"2560\",\"name\":\"BOX DRAWINGS DOUBLE VERTICAL AND RIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS DOUBLE VERTICAL AND RIGHT\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2560\"},9569:{\"value\":\"2561\",\"name\":\"BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS VERTICAL SINGLE AND LEFT DOUBLE\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2561\"},9570:{\"value\":\"2562\",\"name\":\"BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS VERTICAL DOUBLE AND LEFT SINGLE\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2562\"},9571:{\"value\":\"2563\",\"name\":\"BOX DRAWINGS DOUBLE VERTICAL AND LEFT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS DOUBLE VERTICAL AND LEFT\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2563\"},9572:{\"value\":\"2564\",\"name\":\"BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS DOWN SINGLE AND HORIZONTAL DOUBLE\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2564\"},9573:{\"value\":\"2565\",\"name\":\"BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS DOWN DOUBLE AND HORIZONTAL SINGLE\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2565\"},9574:{\"value\":\"2566\",\"name\":\"BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS DOUBLE DOWN AND HORIZONTAL\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2566\"},9575:{\"value\":\"2567\",\"name\":\"BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS UP SINGLE AND HORIZONTAL DOUBLE\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2567\"},9576:{\"value\":\"2568\",\"name\":\"BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS UP DOUBLE AND HORIZONTAL SINGLE\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2568\"},9577:{\"value\":\"2569\",\"name\":\"BOX DRAWINGS DOUBLE UP AND HORIZONTAL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS DOUBLE UP AND HORIZONTAL\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2569\"},9578:{\"value\":\"256A\",\"name\":\"BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS VERTICAL SINGLE AND HORIZONTAL DOUBLE\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u256A\"},9579:{\"value\":\"256B\",\"name\":\"BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS VERTICAL DOUBLE AND HORIZONTAL SINGLE\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u256B\"},9580:{\"value\":\"256C\",\"name\":\"BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS DOUBLE VERTICAL AND HORIZONTAL\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u256C\"},9581:{\"value\":\"256D\",\"name\":\"BOX DRAWINGS LIGHT ARC DOWN AND RIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS LIGHT ARC DOWN AND RIGHT\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u256D\"},9582:{\"value\":\"256E\",\"name\":\"BOX DRAWINGS LIGHT ARC DOWN AND LEFT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS LIGHT ARC DOWN AND LEFT\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u256E\"},9583:{\"value\":\"256F\",\"name\":\"BOX DRAWINGS LIGHT ARC UP AND LEFT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS LIGHT ARC UP AND LEFT\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u256F\"},9584:{\"value\":\"2570\",\"name\":\"BOX DRAWINGS LIGHT ARC UP AND RIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS LIGHT ARC UP AND RIGHT\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2570\"},9585:{\"value\":\"2571\",\"name\":\"BOX DRAWINGS LIGHT DIAGONAL UPPER RIGHT TO LOWER LEFT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS LIGHT DIAGONAL UPPER RIGHT TO LOWER LEFT\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2571\"},9586:{\"value\":\"2572\",\"name\":\"BOX DRAWINGS LIGHT DIAGONAL UPPER LEFT TO LOWER RIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS LIGHT DIAGONAL UPPER LEFT TO LOWER RIGHT\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2572\"},9587:{\"value\":\"2573\",\"name\":\"BOX DRAWINGS LIGHT DIAGONAL CROSS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS LIGHT DIAGONAL CROSS\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2573\"},9588:{\"value\":\"2574\",\"name\":\"BOX DRAWINGS LIGHT LEFT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS LIGHT LEFT\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2574\"},9589:{\"value\":\"2575\",\"name\":\"BOX DRAWINGS LIGHT UP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS LIGHT UP\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2575\"},9590:{\"value\":\"2576\",\"name\":\"BOX DRAWINGS LIGHT RIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS LIGHT RIGHT\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2576\"},9591:{\"value\":\"2577\",\"name\":\"BOX DRAWINGS LIGHT DOWN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS LIGHT DOWN\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2577\"},9592:{\"value\":\"2578\",\"name\":\"BOX DRAWINGS HEAVY LEFT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS HEAVY LEFT\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2578\"},9593:{\"value\":\"2579\",\"name\":\"BOX DRAWINGS HEAVY UP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS HEAVY UP\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2579\"},9594:{\"value\":\"257A\",\"name\":\"BOX DRAWINGS HEAVY RIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS HEAVY RIGHT\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u257A\"},9595:{\"value\":\"257B\",\"name\":\"BOX DRAWINGS HEAVY DOWN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS HEAVY DOWN\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u257B\"},9596:{\"value\":\"257C\",\"name\":\"BOX DRAWINGS LIGHT LEFT AND HEAVY RIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS LIGHT LEFT AND HEAVY RIGHT\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u257C\"},9597:{\"value\":\"257D\",\"name\":\"BOX DRAWINGS LIGHT UP AND HEAVY DOWN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS LIGHT UP AND HEAVY DOWN\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u257D\"},9598:{\"value\":\"257E\",\"name\":\"BOX DRAWINGS HEAVY LEFT AND LIGHT RIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS HEAVY LEFT AND LIGHT RIGHT\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u257E\"},9599:{\"value\":\"257F\",\"name\":\"BOX DRAWINGS HEAVY UP AND LIGHT DOWN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FORMS HEAVY UP AND LIGHT DOWN\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u257F\"},9600:{\"value\":\"2580\",\"name\":\"UPPER HALF BLOCK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2580\"},9601:{\"value\":\"2581\",\"name\":\"LOWER ONE EIGHTH BLOCK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2581\"},9602:{\"value\":\"2582\",\"name\":\"LOWER ONE QUARTER BLOCK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2582\"},9603:{\"value\":\"2583\",\"name\":\"LOWER THREE EIGHTHS BLOCK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2583\"},9604:{\"value\":\"2584\",\"name\":\"LOWER HALF BLOCK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2584\"},9605:{\"value\":\"2585\",\"name\":\"LOWER FIVE EIGHTHS BLOCK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2585\"},9606:{\"value\":\"2586\",\"name\":\"LOWER THREE QUARTERS BLOCK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"LOWER THREE QUARTER BLOCK\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2586\"},9607:{\"value\":\"2587\",\"name\":\"LOWER SEVEN EIGHTHS BLOCK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2587\"},9608:{\"value\":\"2588\",\"name\":\"FULL BLOCK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2588\"},9609:{\"value\":\"2589\",\"name\":\"LEFT SEVEN EIGHTHS BLOCK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2589\"},9610:{\"value\":\"258A\",\"name\":\"LEFT THREE QUARTERS BLOCK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"LEFT THREE QUARTER BLOCK\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u258A\"},9611:{\"value\":\"258B\",\"name\":\"LEFT FIVE EIGHTHS BLOCK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u258B\"},9612:{\"value\":\"258C\",\"name\":\"LEFT HALF BLOCK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u258C\"},9613:{\"value\":\"258D\",\"name\":\"LEFT THREE EIGHTHS BLOCK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u258D\"},9614:{\"value\":\"258E\",\"name\":\"LEFT ONE QUARTER BLOCK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u258E\"},9615:{\"value\":\"258F\",\"name\":\"LEFT ONE EIGHTH BLOCK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u258F\"},9616:{\"value\":\"2590\",\"name\":\"RIGHT HALF BLOCK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2590\"},9617:{\"value\":\"2591\",\"name\":\"LIGHT SHADE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2591\"},9618:{\"value\":\"2592\",\"name\":\"MEDIUM SHADE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2592\"},9619:{\"value\":\"2593\",\"name\":\"DARK SHADE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2593\"},9620:{\"value\":\"2594\",\"name\":\"UPPER ONE EIGHTH BLOCK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2594\"},9621:{\"value\":\"2595\",\"name\":\"RIGHT ONE EIGHTH BLOCK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2595\"},9622:{\"value\":\"2596\",\"name\":\"QUADRANT LOWER LEFT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2596\"},9623:{\"value\":\"2597\",\"name\":\"QUADRANT LOWER RIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2597\"},9624:{\"value\":\"2598\",\"name\":\"QUADRANT UPPER LEFT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2598\"},9625:{\"value\":\"2599\",\"name\":\"QUADRANT UPPER LEFT AND LOWER LEFT AND LOWER RIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2599\"},9626:{\"value\":\"259A\",\"name\":\"QUADRANT UPPER LEFT AND LOWER RIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u259A\"},9627:{\"value\":\"259B\",\"name\":\"QUADRANT UPPER LEFT AND UPPER RIGHT AND LOWER LEFT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u259B\"},9628:{\"value\":\"259C\",\"name\":\"QUADRANT UPPER LEFT AND UPPER RIGHT AND LOWER RIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u259C\"},9629:{\"value\":\"259D\",\"name\":\"QUADRANT UPPER RIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u259D\"},9630:{\"value\":\"259E\",\"name\":\"QUADRANT UPPER RIGHT AND LOWER LEFT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u259E\"},9631:{\"value\":\"259F\",\"name\":\"QUADRANT UPPER RIGHT AND LOWER LEFT AND LOWER RIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u259F\"},9632:{\"value\":\"25A0\",\"name\":\"BLACK SQUARE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25A0\"},9633:{\"value\":\"25A1\",\"name\":\"WHITE SQUARE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25A1\"},9634:{\"value\":\"25A2\",\"name\":\"WHITE SQUARE WITH ROUNDED CORNERS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25A2\"},9635:{\"value\":\"25A3\",\"name\":\"WHITE SQUARE CONTAINING BLACK SMALL SQUARE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25A3\"},9636:{\"value\":\"25A4\",\"name\":\"SQUARE WITH HORIZONTAL FILL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25A4\"},9637:{\"value\":\"25A5\",\"name\":\"SQUARE WITH VERTICAL FILL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25A5\"},9638:{\"value\":\"25A6\",\"name\":\"SQUARE WITH ORTHOGONAL CROSSHATCH FILL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25A6\"},9639:{\"value\":\"25A7\",\"name\":\"SQUARE WITH UPPER LEFT TO LOWER RIGHT FILL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25A7\"},9640:{\"value\":\"25A8\",\"name\":\"SQUARE WITH UPPER RIGHT TO LOWER LEFT FILL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25A8\"},9641:{\"value\":\"25A9\",\"name\":\"SQUARE WITH DIAGONAL CROSSHATCH FILL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25A9\"},9642:{\"value\":\"25AA\",\"name\":\"BLACK SMALL SQUARE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25AA\"},9643:{\"value\":\"25AB\",\"name\":\"WHITE SMALL SQUARE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25AB\"},9644:{\"value\":\"25AC\",\"name\":\"BLACK RECTANGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25AC\"},9645:{\"value\":\"25AD\",\"name\":\"WHITE RECTANGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25AD\"},9646:{\"value\":\"25AE\",\"name\":\"BLACK VERTICAL RECTANGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25AE\"},9647:{\"value\":\"25AF\",\"name\":\"WHITE VERTICAL RECTANGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25AF\"},9648:{\"value\":\"25B0\",\"name\":\"BLACK PARALLELOGRAM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25B0\"},9649:{\"value\":\"25B1\",\"name\":\"WHITE PARALLELOGRAM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25B1\"},9650:{\"value\":\"25B2\",\"name\":\"BLACK UP-POINTING TRIANGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"BLACK UP POINTING TRIANGLE\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25B2\"},9651:{\"value\":\"25B3\",\"name\":\"WHITE UP-POINTING TRIANGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"WHITE UP POINTING TRIANGLE\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25B3\"},9652:{\"value\":\"25B4\",\"name\":\"BLACK UP-POINTING SMALL TRIANGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"BLACK UP POINTING SMALL TRIANGLE\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25B4\"},9653:{\"value\":\"25B5\",\"name\":\"WHITE UP-POINTING SMALL TRIANGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"WHITE UP POINTING SMALL TRIANGLE\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25B5\"},9654:{\"value\":\"25B6\",\"name\":\"BLACK RIGHT-POINTING TRIANGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"BLACK RIGHT POINTING TRIANGLE\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25B6\"},9656:{\"value\":\"25B8\",\"name\":\"BLACK RIGHT-POINTING SMALL TRIANGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"BLACK RIGHT POINTING SMALL TRIANGLE\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25B8\"},9657:{\"value\":\"25B9\",\"name\":\"WHITE RIGHT-POINTING SMALL TRIANGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"WHITE RIGHT POINTING SMALL TRIANGLE\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25B9\"},9658:{\"value\":\"25BA\",\"name\":\"BLACK RIGHT-POINTING POINTER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"BLACK RIGHT POINTING POINTER\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25BA\"},9659:{\"value\":\"25BB\",\"name\":\"WHITE RIGHT-POINTING POINTER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"WHITE RIGHT POINTING POINTER\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25BB\"},9660:{\"value\":\"25BC\",\"name\":\"BLACK DOWN-POINTING TRIANGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"BLACK DOWN POINTING TRIANGLE\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25BC\"},9661:{\"value\":\"25BD\",\"name\":\"WHITE DOWN-POINTING TRIANGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"WHITE DOWN POINTING TRIANGLE\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25BD\"},9662:{\"value\":\"25BE\",\"name\":\"BLACK DOWN-POINTING SMALL TRIANGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"BLACK DOWN POINTING SMALL TRIANGLE\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25BE\"},9663:{\"value\":\"25BF\",\"name\":\"WHITE DOWN-POINTING SMALL TRIANGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"WHITE DOWN POINTING SMALL TRIANGLE\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25BF\"},9664:{\"value\":\"25C0\",\"name\":\"BLACK LEFT-POINTING TRIANGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"BLACK LEFT POINTING TRIANGLE\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25C0\"},9666:{\"value\":\"25C2\",\"name\":\"BLACK LEFT-POINTING SMALL TRIANGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"BLACK LEFT POINTING SMALL TRIANGLE\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25C2\"},9667:{\"value\":\"25C3\",\"name\":\"WHITE LEFT-POINTING SMALL TRIANGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"WHITE LEFT POINTING SMALL TRIANGLE\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25C3\"},9668:{\"value\":\"25C4\",\"name\":\"BLACK LEFT-POINTING POINTER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"BLACK LEFT POINTING POINTER\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25C4\"},9669:{\"value\":\"25C5\",\"name\":\"WHITE LEFT-POINTING POINTER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"WHITE LEFT POINTING POINTER\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25C5\"},9670:{\"value\":\"25C6\",\"name\":\"BLACK DIAMOND\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25C6\"},9671:{\"value\":\"25C7\",\"name\":\"WHITE DIAMOND\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25C7\"},9672:{\"value\":\"25C8\",\"name\":\"WHITE DIAMOND CONTAINING BLACK SMALL DIAMOND\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25C8\"},9673:{\"value\":\"25C9\",\"name\":\"FISHEYE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25C9\"},9674:{\"value\":\"25CA\",\"name\":\"LOZENGE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25CA\"},9675:{\"value\":\"25CB\",\"name\":\"WHITE CIRCLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25CB\"},9676:{\"value\":\"25CC\",\"name\":\"DOTTED CIRCLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25CC\"},9677:{\"value\":\"25CD\",\"name\":\"CIRCLE WITH VERTICAL FILL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25CD\"},9678:{\"value\":\"25CE\",\"name\":\"BULLSEYE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25CE\"},9679:{\"value\":\"25CF\",\"name\":\"BLACK CIRCLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25CF\"},9680:{\"value\":\"25D0\",\"name\":\"CIRCLE WITH LEFT HALF BLACK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25D0\"},9681:{\"value\":\"25D1\",\"name\":\"CIRCLE WITH RIGHT HALF BLACK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25D1\"},9682:{\"value\":\"25D2\",\"name\":\"CIRCLE WITH LOWER HALF BLACK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25D2\"},9683:{\"value\":\"25D3\",\"name\":\"CIRCLE WITH UPPER HALF BLACK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25D3\"},9684:{\"value\":\"25D4\",\"name\":\"CIRCLE WITH UPPER RIGHT QUADRANT BLACK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25D4\"},9685:{\"value\":\"25D5\",\"name\":\"CIRCLE WITH ALL BUT UPPER LEFT QUADRANT BLACK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25D5\"},9686:{\"value\":\"25D6\",\"name\":\"LEFT HALF BLACK CIRCLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25D6\"},9687:{\"value\":\"25D7\",\"name\":\"RIGHT HALF BLACK CIRCLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25D7\"},9688:{\"value\":\"25D8\",\"name\":\"INVERSE BULLET\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25D8\"},9689:{\"value\":\"25D9\",\"name\":\"INVERSE WHITE CIRCLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25D9\"},9690:{\"value\":\"25DA\",\"name\":\"UPPER HALF INVERSE WHITE CIRCLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25DA\"},9691:{\"value\":\"25DB\",\"name\":\"LOWER HALF INVERSE WHITE CIRCLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25DB\"},9692:{\"value\":\"25DC\",\"name\":\"UPPER LEFT QUADRANT CIRCULAR ARC\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25DC\"},9693:{\"value\":\"25DD\",\"name\":\"UPPER RIGHT QUADRANT CIRCULAR ARC\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25DD\"},9694:{\"value\":\"25DE\",\"name\":\"LOWER RIGHT QUADRANT CIRCULAR ARC\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25DE\"},9695:{\"value\":\"25DF\",\"name\":\"LOWER LEFT QUADRANT CIRCULAR ARC\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25DF\"},9696:{\"value\":\"25E0\",\"name\":\"UPPER HALF CIRCLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25E0\"},9697:{\"value\":\"25E1\",\"name\":\"LOWER HALF CIRCLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25E1\"},9698:{\"value\":\"25E2\",\"name\":\"BLACK LOWER RIGHT TRIANGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25E2\"},9699:{\"value\":\"25E3\",\"name\":\"BLACK LOWER LEFT TRIANGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25E3\"},9700:{\"value\":\"25E4\",\"name\":\"BLACK UPPER LEFT TRIANGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25E4\"},9701:{\"value\":\"25E5\",\"name\":\"BLACK UPPER RIGHT TRIANGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25E5\"},9702:{\"value\":\"25E6\",\"name\":\"WHITE BULLET\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25E6\"},9703:{\"value\":\"25E7\",\"name\":\"SQUARE WITH LEFT HALF BLACK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25E7\"},9704:{\"value\":\"25E8\",\"name\":\"SQUARE WITH RIGHT HALF BLACK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25E8\"},9705:{\"value\":\"25E9\",\"name\":\"SQUARE WITH UPPER LEFT DIAGONAL HALF BLACK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25E9\"},9706:{\"value\":\"25EA\",\"name\":\"SQUARE WITH LOWER RIGHT DIAGONAL HALF BLACK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25EA\"},9707:{\"value\":\"25EB\",\"name\":\"WHITE SQUARE WITH VERTICAL BISECTING LINE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25EB\"},9708:{\"value\":\"25EC\",\"name\":\"WHITE UP-POINTING TRIANGLE WITH DOT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"WHITE UP POINTING TRIANGLE WITH DOT\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25EC\"},9709:{\"value\":\"25ED\",\"name\":\"UP-POINTING TRIANGLE WITH LEFT HALF BLACK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"UP POINTING TRIANGLE WITH LEFT HALF BLACK\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25ED\"},9710:{\"value\":\"25EE\",\"name\":\"UP-POINTING TRIANGLE WITH RIGHT HALF BLACK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"UP POINTING TRIANGLE WITH RIGHT HALF BLACK\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25EE\"},9711:{\"value\":\"25EF\",\"name\":\"LARGE CIRCLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25EF\"},9712:{\"value\":\"25F0\",\"name\":\"WHITE SQUARE WITH UPPER LEFT QUADRANT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25F0\"},9713:{\"value\":\"25F1\",\"name\":\"WHITE SQUARE WITH LOWER LEFT QUADRANT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25F1\"},9714:{\"value\":\"25F2\",\"name\":\"WHITE SQUARE WITH LOWER RIGHT QUADRANT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25F2\"},9715:{\"value\":\"25F3\",\"name\":\"WHITE SQUARE WITH UPPER RIGHT QUADRANT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25F3\"},9716:{\"value\":\"25F4\",\"name\":\"WHITE CIRCLE WITH UPPER LEFT QUADRANT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25F4\"},9717:{\"value\":\"25F5\",\"name\":\"WHITE CIRCLE WITH LOWER LEFT QUADRANT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25F5\"},9718:{\"value\":\"25F6\",\"name\":\"WHITE CIRCLE WITH LOWER RIGHT QUADRANT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25F6\"},9719:{\"value\":\"25F7\",\"name\":\"WHITE CIRCLE WITH UPPER RIGHT QUADRANT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u25F7\"},9728:{\"value\":\"2600\",\"name\":\"BLACK SUN WITH RAYS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2600\"},9729:{\"value\":\"2601\",\"name\":\"CLOUD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2601\"},9730:{\"value\":\"2602\",\"name\":\"UMBRELLA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2602\"},9731:{\"value\":\"2603\",\"name\":\"SNOWMAN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2603\"},9732:{\"value\":\"2604\",\"name\":\"COMET\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2604\"},9733:{\"value\":\"2605\",\"name\":\"BLACK STAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2605\"},9734:{\"value\":\"2606\",\"name\":\"WHITE STAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2606\"},9735:{\"value\":\"2607\",\"name\":\"LIGHTNING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2607\"},9736:{\"value\":\"2608\",\"name\":\"THUNDERSTORM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2608\"},9737:{\"value\":\"2609\",\"name\":\"SUN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2609\"},9738:{\"value\":\"260A\",\"name\":\"ASCENDING NODE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u260A\"},9739:{\"value\":\"260B\",\"name\":\"DESCENDING NODE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u260B\"},9740:{\"value\":\"260C\",\"name\":\"CONJUNCTION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u260C\"},9741:{\"value\":\"260D\",\"name\":\"OPPOSITION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u260D\"},9742:{\"value\":\"260E\",\"name\":\"BLACK TELEPHONE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u260E\"},9743:{\"value\":\"260F\",\"name\":\"WHITE TELEPHONE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u260F\"},9744:{\"value\":\"2610\",\"name\":\"BALLOT BOX\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2610\"},9745:{\"value\":\"2611\",\"name\":\"BALLOT BOX WITH CHECK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2611\"},9746:{\"value\":\"2612\",\"name\":\"BALLOT BOX WITH X\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2612\"},9747:{\"value\":\"2613\",\"name\":\"SALTIRE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2613\"},9748:{\"value\":\"2614\",\"name\":\"UMBRELLA WITH RAIN DROPS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2614\"},9749:{\"value\":\"2615\",\"name\":\"HOT BEVERAGE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2615\"},9750:{\"value\":\"2616\",\"name\":\"WHITE SHOGI PIECE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2616\"},9751:{\"value\":\"2617\",\"name\":\"BLACK SHOGI PIECE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2617\"},9752:{\"value\":\"2618\",\"name\":\"SHAMROCK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2618\"},9753:{\"value\":\"2619\",\"name\":\"REVERSED ROTATED FLORAL HEART BULLET\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2619\"},9754:{\"value\":\"261A\",\"name\":\"BLACK LEFT POINTING INDEX\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u261A\"},9755:{\"value\":\"261B\",\"name\":\"BLACK RIGHT POINTING INDEX\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u261B\"},9756:{\"value\":\"261C\",\"name\":\"WHITE LEFT POINTING INDEX\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u261C\"},9757:{\"value\":\"261D\",\"name\":\"WHITE UP POINTING INDEX\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u261D\"},9758:{\"value\":\"261E\",\"name\":\"WHITE RIGHT POINTING INDEX\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u261E\"},9759:{\"value\":\"261F\",\"name\":\"WHITE DOWN POINTING INDEX\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u261F\"},9760:{\"value\":\"2620\",\"name\":\"SKULL AND CROSSBONES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2620\"},9761:{\"value\":\"2621\",\"name\":\"CAUTION SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2621\"},9762:{\"value\":\"2622\",\"name\":\"RADIOACTIVE SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2622\"},9763:{\"value\":\"2623\",\"name\":\"BIOHAZARD SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2623\"},9764:{\"value\":\"2624\",\"name\":\"CADUCEUS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2624\"},9765:{\"value\":\"2625\",\"name\":\"ANKH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2625\"},9766:{\"value\":\"2626\",\"name\":\"ORTHODOX CROSS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2626\"},9767:{\"value\":\"2627\",\"name\":\"CHI RHO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2627\"},9768:{\"value\":\"2628\",\"name\":\"CROSS OF LORRAINE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2628\"},9769:{\"value\":\"2629\",\"name\":\"CROSS OF JERUSALEM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2629\"},9770:{\"value\":\"262A\",\"name\":\"STAR AND CRESCENT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u262A\"},9771:{\"value\":\"262B\",\"name\":\"FARSI SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SYMBOL OF IRAN\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u262B\"},9772:{\"value\":\"262C\",\"name\":\"ADI SHAKTI\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u262C\"},9773:{\"value\":\"262D\",\"name\":\"HAMMER AND SICKLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u262D\"},9774:{\"value\":\"262E\",\"name\":\"PEACE SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u262E\"},9775:{\"value\":\"262F\",\"name\":\"YIN YANG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u262F\"},9776:{\"value\":\"2630\",\"name\":\"TRIGRAM FOR HEAVEN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2630\"},9777:{\"value\":\"2631\",\"name\":\"TRIGRAM FOR LAKE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2631\"},9778:{\"value\":\"2632\",\"name\":\"TRIGRAM FOR FIRE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2632\"},9779:{\"value\":\"2633\",\"name\":\"TRIGRAM FOR THUNDER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2633\"},9780:{\"value\":\"2634\",\"name\":\"TRIGRAM FOR WIND\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2634\"},9781:{\"value\":\"2635\",\"name\":\"TRIGRAM FOR WATER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2635\"},9782:{\"value\":\"2636\",\"name\":\"TRIGRAM FOR MOUNTAIN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2636\"},9783:{\"value\":\"2637\",\"name\":\"TRIGRAM FOR EARTH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2637\"},9784:{\"value\":\"2638\",\"name\":\"WHEEL OF DHARMA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2638\"},9785:{\"value\":\"2639\",\"name\":\"WHITE FROWNING FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2639\"},9786:{\"value\":\"263A\",\"name\":\"WHITE SMILING FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u263A\"},9787:{\"value\":\"263B\",\"name\":\"BLACK SMILING FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u263B\"},9788:{\"value\":\"263C\",\"name\":\"WHITE SUN WITH RAYS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u263C\"},9789:{\"value\":\"263D\",\"name\":\"FIRST QUARTER MOON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u263D\"},9790:{\"value\":\"263E\",\"name\":\"LAST QUARTER MOON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u263E\"},9791:{\"value\":\"263F\",\"name\":\"MERCURY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u263F\"},9792:{\"value\":\"2640\",\"name\":\"FEMALE SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2640\"},9793:{\"value\":\"2641\",\"name\":\"EARTH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2641\"},9794:{\"value\":\"2642\",\"name\":\"MALE SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2642\"},9795:{\"value\":\"2643\",\"name\":\"JUPITER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2643\"},9796:{\"value\":\"2644\",\"name\":\"SATURN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2644\"},9797:{\"value\":\"2645\",\"name\":\"URANUS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2645\"},9798:{\"value\":\"2646\",\"name\":\"NEPTUNE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2646\"},9799:{\"value\":\"2647\",\"name\":\"PLUTO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2647\"},9800:{\"value\":\"2648\",\"name\":\"ARIES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2648\"},9801:{\"value\":\"2649\",\"name\":\"TAURUS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2649\"},9802:{\"value\":\"264A\",\"name\":\"GEMINI\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u264A\"},9803:{\"value\":\"264B\",\"name\":\"CANCER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u264B\"},9804:{\"value\":\"264C\",\"name\":\"LEO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u264C\"},9805:{\"value\":\"264D\",\"name\":\"VIRGO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u264D\"},9806:{\"value\":\"264E\",\"name\":\"LIBRA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u264E\"},9807:{\"value\":\"264F\",\"name\":\"SCORPIUS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u264F\"},9808:{\"value\":\"2650\",\"name\":\"SAGITTARIUS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2650\"},9809:{\"value\":\"2651\",\"name\":\"CAPRICORN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2651\"},9810:{\"value\":\"2652\",\"name\":\"AQUARIUS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2652\"},9811:{\"value\":\"2653\",\"name\":\"PISCES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2653\"},9812:{\"value\":\"2654\",\"name\":\"WHITE CHESS KING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2654\"},9813:{\"value\":\"2655\",\"name\":\"WHITE CHESS QUEEN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2655\"},9814:{\"value\":\"2656\",\"name\":\"WHITE CHESS ROOK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2656\"},9815:{\"value\":\"2657\",\"name\":\"WHITE CHESS BISHOP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2657\"},9816:{\"value\":\"2658\",\"name\":\"WHITE CHESS KNIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2658\"},9817:{\"value\":\"2659\",\"name\":\"WHITE CHESS PAWN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2659\"},9818:{\"value\":\"265A\",\"name\":\"BLACK CHESS KING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u265A\"},9819:{\"value\":\"265B\",\"name\":\"BLACK CHESS QUEEN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u265B\"},9820:{\"value\":\"265C\",\"name\":\"BLACK CHESS ROOK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u265C\"},9821:{\"value\":\"265D\",\"name\":\"BLACK CHESS BISHOP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u265D\"},9822:{\"value\":\"265E\",\"name\":\"BLACK CHESS KNIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u265E\"},9823:{\"value\":\"265F\",\"name\":\"BLACK CHESS PAWN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u265F\"},9824:{\"value\":\"2660\",\"name\":\"BLACK SPADE SUIT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2660\"},9825:{\"value\":\"2661\",\"name\":\"WHITE HEART SUIT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2661\"},9826:{\"value\":\"2662\",\"name\":\"WHITE DIAMOND SUIT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2662\"},9827:{\"value\":\"2663\",\"name\":\"BLACK CLUB SUIT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2663\"},9828:{\"value\":\"2664\",\"name\":\"WHITE SPADE SUIT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2664\"},9829:{\"value\":\"2665\",\"name\":\"BLACK HEART SUIT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2665\"},9830:{\"value\":\"2666\",\"name\":\"BLACK DIAMOND SUIT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2666\"},9831:{\"value\":\"2667\",\"name\":\"WHITE CLUB SUIT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2667\"},9832:{\"value\":\"2668\",\"name\":\"HOT SPRINGS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2668\"},9833:{\"value\":\"2669\",\"name\":\"QUARTER NOTE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2669\"},9834:{\"value\":\"266A\",\"name\":\"EIGHTH NOTE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u266A\"},9835:{\"value\":\"266B\",\"name\":\"BEAMED EIGHTH NOTES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"BARRED EIGHTH NOTES\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u266B\"},9836:{\"value\":\"266C\",\"name\":\"BEAMED SIXTEENTH NOTES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"BARRED SIXTEENTH NOTES\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u266C\"},9837:{\"value\":\"266D\",\"name\":\"MUSIC FLAT SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FLAT\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u266D\"},9838:{\"value\":\"266E\",\"name\":\"MUSIC NATURAL SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"NATURAL\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u266E\"},9840:{\"value\":\"2670\",\"name\":\"WEST SYRIAC CROSS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2670\"},9841:{\"value\":\"2671\",\"name\":\"EAST SYRIAC CROSS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2671\"},9842:{\"value\":\"2672\",\"name\":\"UNIVERSAL RECYCLING SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2672\"},9843:{\"value\":\"2673\",\"name\":\"RECYCLING SYMBOL FOR TYPE-1 PLASTICS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2673\"},9844:{\"value\":\"2674\",\"name\":\"RECYCLING SYMBOL FOR TYPE-2 PLASTICS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2674\"},9845:{\"value\":\"2675\",\"name\":\"RECYCLING SYMBOL FOR TYPE-3 PLASTICS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2675\"},9846:{\"value\":\"2676\",\"name\":\"RECYCLING SYMBOL FOR TYPE-4 PLASTICS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2676\"},9847:{\"value\":\"2677\",\"name\":\"RECYCLING SYMBOL FOR TYPE-5 PLASTICS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2677\"},9848:{\"value\":\"2678\",\"name\":\"RECYCLING SYMBOL FOR TYPE-6 PLASTICS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2678\"},9849:{\"value\":\"2679\",\"name\":\"RECYCLING SYMBOL FOR TYPE-7 PLASTICS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2679\"},9850:{\"value\":\"267A\",\"name\":\"RECYCLING SYMBOL FOR GENERIC MATERIALS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u267A\"},9851:{\"value\":\"267B\",\"name\":\"BLACK UNIVERSAL RECYCLING SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u267B\"},9852:{\"value\":\"267C\",\"name\":\"RECYCLED PAPER SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u267C\"},9853:{\"value\":\"267D\",\"name\":\"PARTIALLY-RECYCLED PAPER SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u267D\"},9854:{\"value\":\"267E\",\"name\":\"PERMANENT PAPER SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u267E\"},9855:{\"value\":\"267F\",\"name\":\"WHEELCHAIR SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u267F\"},9856:{\"value\":\"2680\",\"name\":\"DIE FACE-1\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2680\"},9857:{\"value\":\"2681\",\"name\":\"DIE FACE-2\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2681\"},9858:{\"value\":\"2682\",\"name\":\"DIE FACE-3\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2682\"},9859:{\"value\":\"2683\",\"name\":\"DIE FACE-4\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2683\"},9860:{\"value\":\"2684\",\"name\":\"DIE FACE-5\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2684\"},9861:{\"value\":\"2685\",\"name\":\"DIE FACE-6\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2685\"},9862:{\"value\":\"2686\",\"name\":\"WHITE CIRCLE WITH DOT RIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2686\"},9863:{\"value\":\"2687\",\"name\":\"WHITE CIRCLE WITH TWO DOTS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2687\"},9864:{\"value\":\"2688\",\"name\":\"BLACK CIRCLE WITH WHITE DOT RIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2688\"},9865:{\"value\":\"2689\",\"name\":\"BLACK CIRCLE WITH TWO WHITE DOTS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2689\"},9866:{\"value\":\"268A\",\"name\":\"MONOGRAM FOR YANG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u268A\"},9867:{\"value\":\"268B\",\"name\":\"MONOGRAM FOR YIN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u268B\"},9868:{\"value\":\"268C\",\"name\":\"DIGRAM FOR GREATER YANG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u268C\"},9869:{\"value\":\"268D\",\"name\":\"DIGRAM FOR LESSER YIN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u268D\"},9870:{\"value\":\"268E\",\"name\":\"DIGRAM FOR LESSER YANG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u268E\"},9871:{\"value\":\"268F\",\"name\":\"DIGRAM FOR GREATER YIN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u268F\"},9872:{\"value\":\"2690\",\"name\":\"WHITE FLAG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2690\"},9873:{\"value\":\"2691\",\"name\":\"BLACK FLAG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2691\"},9874:{\"value\":\"2692\",\"name\":\"HAMMER AND PICK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2692\"},9875:{\"value\":\"2693\",\"name\":\"ANCHOR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2693\"},9876:{\"value\":\"2694\",\"name\":\"CROSSED SWORDS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2694\"},9877:{\"value\":\"2695\",\"name\":\"STAFF OF AESCULAPIUS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2695\"},9878:{\"value\":\"2696\",\"name\":\"SCALES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2696\"},9879:{\"value\":\"2697\",\"name\":\"ALEMBIC\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2697\"},9880:{\"value\":\"2698\",\"name\":\"FLOWER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2698\"},9881:{\"value\":\"2699\",\"name\":\"GEAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2699\"},9882:{\"value\":\"269A\",\"name\":\"STAFF OF HERMES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u269A\"},9883:{\"value\":\"269B\",\"name\":\"ATOM SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u269B\"},9884:{\"value\":\"269C\",\"name\":\"FLEUR-DE-LIS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u269C\"},9885:{\"value\":\"269D\",\"name\":\"OUTLINED WHITE STAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u269D\"},9886:{\"value\":\"269E\",\"name\":\"THREE LINES CONVERGING RIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u269E\"},9887:{\"value\":\"269F\",\"name\":\"THREE LINES CONVERGING LEFT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u269F\"},9888:{\"value\":\"26A0\",\"name\":\"WARNING SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26A0\"},9889:{\"value\":\"26A1\",\"name\":\"HIGH VOLTAGE SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26A1\"},9890:{\"value\":\"26A2\",\"name\":\"DOUBLED FEMALE SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26A2\"},9891:{\"value\":\"26A3\",\"name\":\"DOUBLED MALE SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26A3\"},9892:{\"value\":\"26A4\",\"name\":\"INTERLOCKED FEMALE AND MALE SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26A4\"},9893:{\"value\":\"26A5\",\"name\":\"MALE AND FEMALE SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26A5\"},9894:{\"value\":\"26A6\",\"name\":\"MALE WITH STROKE SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26A6\"},9895:{\"value\":\"26A7\",\"name\":\"MALE WITH STROKE AND MALE AND FEMALE SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26A7\"},9896:{\"value\":\"26A8\",\"name\":\"VERTICAL MALE WITH STROKE SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26A8\"},9897:{\"value\":\"26A9\",\"name\":\"HORIZONTAL MALE WITH STROKE SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26A9\"},9898:{\"value\":\"26AA\",\"name\":\"MEDIUM WHITE CIRCLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26AA\"},9899:{\"value\":\"26AB\",\"name\":\"MEDIUM BLACK CIRCLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26AB\"},9900:{\"value\":\"26AC\",\"name\":\"MEDIUM SMALL WHITE CIRCLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26AC\"},9901:{\"value\":\"26AD\",\"name\":\"MARRIAGE SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26AD\"},9902:{\"value\":\"26AE\",\"name\":\"DIVORCE SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26AE\"},9903:{\"value\":\"26AF\",\"name\":\"UNMARRIED PARTNERSHIP SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26AF\"},9904:{\"value\":\"26B0\",\"name\":\"COFFIN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26B0\"},9905:{\"value\":\"26B1\",\"name\":\"FUNERAL URN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26B1\"},9906:{\"value\":\"26B2\",\"name\":\"NEUTER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26B2\"},9907:{\"value\":\"26B3\",\"name\":\"CERES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26B3\"},9908:{\"value\":\"26B4\",\"name\":\"PALLAS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26B4\"},9909:{\"value\":\"26B5\",\"name\":\"JUNO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26B5\"},9910:{\"value\":\"26B6\",\"name\":\"VESTA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26B6\"},9911:{\"value\":\"26B7\",\"name\":\"CHIRON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26B7\"},9912:{\"value\":\"26B8\",\"name\":\"BLACK MOON LILITH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26B8\"},9913:{\"value\":\"26B9\",\"name\":\"SEXTILE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26B9\"},9914:{\"value\":\"26BA\",\"name\":\"SEMISEXTILE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26BA\"},9915:{\"value\":\"26BB\",\"name\":\"QUINCUNX\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26BB\"},9916:{\"value\":\"26BC\",\"name\":\"SESQUIQUADRATE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26BC\"},9917:{\"value\":\"26BD\",\"name\":\"SOCCER BALL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26BD\"},9918:{\"value\":\"26BE\",\"name\":\"BASEBALL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26BE\"},9919:{\"value\":\"26BF\",\"name\":\"SQUARED KEY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26BF\"},9920:{\"value\":\"26C0\",\"name\":\"WHITE DRAUGHTS MAN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26C0\"},9921:{\"value\":\"26C1\",\"name\":\"WHITE DRAUGHTS KING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26C1\"},9922:{\"value\":\"26C2\",\"name\":\"BLACK DRAUGHTS MAN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26C2\"},9923:{\"value\":\"26C3\",\"name\":\"BLACK DRAUGHTS KING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26C3\"},9924:{\"value\":\"26C4\",\"name\":\"SNOWMAN WITHOUT SNOW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26C4\"},9925:{\"value\":\"26C5\",\"name\":\"SUN BEHIND CLOUD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26C5\"},9926:{\"value\":\"26C6\",\"name\":\"RAIN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26C6\"},9927:{\"value\":\"26C7\",\"name\":\"BLACK SNOWMAN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26C7\"},9928:{\"value\":\"26C8\",\"name\":\"THUNDER CLOUD AND RAIN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26C8\"},9929:{\"value\":\"26C9\",\"name\":\"TURNED WHITE SHOGI PIECE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26C9\"},9930:{\"value\":\"26CA\",\"name\":\"TURNED BLACK SHOGI PIECE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26CA\"},9931:{\"value\":\"26CB\",\"name\":\"WHITE DIAMOND IN SQUARE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26CB\"},9932:{\"value\":\"26CC\",\"name\":\"CROSSING LANES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26CC\"},9933:{\"value\":\"26CD\",\"name\":\"DISABLED CAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26CD\"},9934:{\"value\":\"26CE\",\"name\":\"OPHIUCHUS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26CE\"},9935:{\"value\":\"26CF\",\"name\":\"PICK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26CF\"},9936:{\"value\":\"26D0\",\"name\":\"CAR SLIDING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26D0\"},9937:{\"value\":\"26D1\",\"name\":\"HELMET WITH WHITE CROSS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26D1\"},9938:{\"value\":\"26D2\",\"name\":\"CIRCLED CROSSING LANES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26D2\"},9939:{\"value\":\"26D3\",\"name\":\"CHAINS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26D3\"},9940:{\"value\":\"26D4\",\"name\":\"NO ENTRY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26D4\"},9941:{\"value\":\"26D5\",\"name\":\"ALTERNATE ONE-WAY LEFT WAY TRAFFIC\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26D5\"},9942:{\"value\":\"26D6\",\"name\":\"BLACK TWO-WAY LEFT WAY TRAFFIC\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26D6\"},9943:{\"value\":\"26D7\",\"name\":\"WHITE TWO-WAY LEFT WAY TRAFFIC\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26D7\"},9944:{\"value\":\"26D8\",\"name\":\"BLACK LEFT LANE MERGE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26D8\"},9945:{\"value\":\"26D9\",\"name\":\"WHITE LEFT LANE MERGE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26D9\"},9946:{\"value\":\"26DA\",\"name\":\"DRIVE SLOW SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26DA\"},9947:{\"value\":\"26DB\",\"name\":\"HEAVY WHITE DOWN-POINTING TRIANGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26DB\"},9948:{\"value\":\"26DC\",\"name\":\"LEFT CLOSED ENTRY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26DC\"},9949:{\"value\":\"26DD\",\"name\":\"SQUARED SALTIRE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26DD\"},9950:{\"value\":\"26DE\",\"name\":\"FALLING DIAGONAL IN WHITE CIRCLE IN BLACK SQUARE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26DE\"},9951:{\"value\":\"26DF\",\"name\":\"BLACK TRUCK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26DF\"},9952:{\"value\":\"26E0\",\"name\":\"RESTRICTED LEFT ENTRY-1\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26E0\"},9953:{\"value\":\"26E1\",\"name\":\"RESTRICTED LEFT ENTRY-2\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26E1\"},9954:{\"value\":\"26E2\",\"name\":\"ASTRONOMICAL SYMBOL FOR URANUS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26E2\"},9955:{\"value\":\"26E3\",\"name\":\"HEAVY CIRCLE WITH STROKE AND TWO DOTS ABOVE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26E3\"},9956:{\"value\":\"26E4\",\"name\":\"PENTAGRAM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26E4\"},9957:{\"value\":\"26E5\",\"name\":\"RIGHT-HANDED INTERLACED PENTAGRAM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26E5\"},9958:{\"value\":\"26E6\",\"name\":\"LEFT-HANDED INTERLACED PENTAGRAM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26E6\"},9959:{\"value\":\"26E7\",\"name\":\"INVERTED PENTAGRAM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26E7\"},9960:{\"value\":\"26E8\",\"name\":\"BLACK CROSS ON SHIELD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26E8\"},9961:{\"value\":\"26E9\",\"name\":\"SHINTO SHRINE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26E9\"},9962:{\"value\":\"26EA\",\"name\":\"CHURCH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26EA\"},9963:{\"value\":\"26EB\",\"name\":\"CASTLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26EB\"},9964:{\"value\":\"26EC\",\"name\":\"HISTORIC SITE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26EC\"},9965:{\"value\":\"26ED\",\"name\":\"GEAR WITHOUT HUB\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26ED\"},9966:{\"value\":\"26EE\",\"name\":\"GEAR WITH HANDLES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26EE\"},9967:{\"value\":\"26EF\",\"name\":\"MAP SYMBOL FOR LIGHTHOUSE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26EF\"},9968:{\"value\":\"26F0\",\"name\":\"MOUNTAIN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26F0\"},9969:{\"value\":\"26F1\",\"name\":\"UMBRELLA ON GROUND\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26F1\"},9970:{\"value\":\"26F2\",\"name\":\"FOUNTAIN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26F2\"},9971:{\"value\":\"26F3\",\"name\":\"FLAG IN HOLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26F3\"},9972:{\"value\":\"26F4\",\"name\":\"FERRY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26F4\"},9973:{\"value\":\"26F5\",\"name\":\"SAILBOAT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26F5\"},9974:{\"value\":\"26F6\",\"name\":\"SQUARE FOUR CORNERS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26F6\"},9975:{\"value\":\"26F7\",\"name\":\"SKIER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26F7\"},9976:{\"value\":\"26F8\",\"name\":\"ICE SKATE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26F8\"},9977:{\"value\":\"26F9\",\"name\":\"PERSON WITH BALL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26F9\"},9978:{\"value\":\"26FA\",\"name\":\"TENT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26FA\"},9979:{\"value\":\"26FB\",\"name\":\"JAPANESE BANK SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26FB\"},9980:{\"value\":\"26FC\",\"name\":\"HEADSTONE GRAVEYARD SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26FC\"},9981:{\"value\":\"26FD\",\"name\":\"FUEL PUMP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26FD\"},9982:{\"value\":\"26FE\",\"name\":\"CUP ON BLACK SQUARE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26FE\"},9983:{\"value\":\"26FF\",\"name\":\"WHITE FLAG WITH HORIZONTAL MIDDLE BLACK STRIPE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u26FF\"},9984:{\"value\":\"2700\",\"name\":\"BLACK SAFETY SCISSORS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2700\"},9985:{\"value\":\"2701\",\"name\":\"UPPER BLADE SCISSORS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2701\"},9986:{\"value\":\"2702\",\"name\":\"BLACK SCISSORS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2702\"},9987:{\"value\":\"2703\",\"name\":\"LOWER BLADE SCISSORS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2703\"},9988:{\"value\":\"2704\",\"name\":\"WHITE SCISSORS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2704\"},9989:{\"value\":\"2705\",\"name\":\"WHITE HEAVY CHECK MARK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2705\"},9990:{\"value\":\"2706\",\"name\":\"TELEPHONE LOCATION SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2706\"},9991:{\"value\":\"2707\",\"name\":\"TAPE DRIVE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2707\"},9992:{\"value\":\"2708\",\"name\":\"AIRPLANE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2708\"},9993:{\"value\":\"2709\",\"name\":\"ENVELOPE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2709\"},9994:{\"value\":\"270A\",\"name\":\"RAISED FIST\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u270A\"},9995:{\"value\":\"270B\",\"name\":\"RAISED HAND\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u270B\"},9996:{\"value\":\"270C\",\"name\":\"VICTORY HAND\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u270C\"},9997:{\"value\":\"270D\",\"name\":\"WRITING HAND\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u270D\"},9998:{\"value\":\"270E\",\"name\":\"LOWER RIGHT PENCIL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u270E\"},9999:{\"value\":\"270F\",\"name\":\"PENCIL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u270F\"},10000:{\"value\":\"2710\",\"name\":\"UPPER RIGHT PENCIL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2710\"},10001:{\"value\":\"2711\",\"name\":\"WHITE NIB\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2711\"},10002:{\"value\":\"2712\",\"name\":\"BLACK NIB\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2712\"},10003:{\"value\":\"2713\",\"name\":\"CHECK MARK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2713\"},10004:{\"value\":\"2714\",\"name\":\"HEAVY CHECK MARK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2714\"},10005:{\"value\":\"2715\",\"name\":\"MULTIPLICATION X\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2715\"},10006:{\"value\":\"2716\",\"name\":\"HEAVY MULTIPLICATION X\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2716\"},10007:{\"value\":\"2717\",\"name\":\"BALLOT X\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2717\"},10008:{\"value\":\"2718\",\"name\":\"HEAVY BALLOT X\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2718\"},10009:{\"value\":\"2719\",\"name\":\"OUTLINED GREEK CROSS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2719\"},10010:{\"value\":\"271A\",\"name\":\"HEAVY GREEK CROSS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u271A\"},10011:{\"value\":\"271B\",\"name\":\"OPEN CENTRE CROSS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"OPEN CENTER CROSS\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u271B\"},10012:{\"value\":\"271C\",\"name\":\"HEAVY OPEN CENTRE CROSS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"HEAVY OPEN CENTER CROSS\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u271C\"},10013:{\"value\":\"271D\",\"name\":\"LATIN CROSS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u271D\"},10014:{\"value\":\"271E\",\"name\":\"SHADOWED WHITE LATIN CROSS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u271E\"},10015:{\"value\":\"271F\",\"name\":\"OUTLINED LATIN CROSS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u271F\"},10016:{\"value\":\"2720\",\"name\":\"MALTESE CROSS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2720\"},10017:{\"value\":\"2721\",\"name\":\"STAR OF DAVID\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2721\"},10018:{\"value\":\"2722\",\"name\":\"FOUR TEARDROP-SPOKED ASTERISK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2722\"},10019:{\"value\":\"2723\",\"name\":\"FOUR BALLOON-SPOKED ASTERISK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2723\"},10020:{\"value\":\"2724\",\"name\":\"HEAVY FOUR BALLOON-SPOKED ASTERISK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2724\"},10021:{\"value\":\"2725\",\"name\":\"FOUR CLUB-SPOKED ASTERISK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2725\"},10022:{\"value\":\"2726\",\"name\":\"BLACK FOUR POINTED STAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2726\"},10023:{\"value\":\"2727\",\"name\":\"WHITE FOUR POINTED STAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2727\"},10024:{\"value\":\"2728\",\"name\":\"SPARKLES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2728\"},10025:{\"value\":\"2729\",\"name\":\"STRESS OUTLINED WHITE STAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2729\"},10026:{\"value\":\"272A\",\"name\":\"CIRCLED WHITE STAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u272A\"},10027:{\"value\":\"272B\",\"name\":\"OPEN CENTRE BLACK STAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"OPEN CENTER BLACK STAR\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u272B\"},10028:{\"value\":\"272C\",\"name\":\"BLACK CENTRE WHITE STAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"BLACK CENTER WHITE STAR\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u272C\"},10029:{\"value\":\"272D\",\"name\":\"OUTLINED BLACK STAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u272D\"},10030:{\"value\":\"272E\",\"name\":\"HEAVY OUTLINED BLACK STAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u272E\"},10031:{\"value\":\"272F\",\"name\":\"PINWHEEL STAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u272F\"},10032:{\"value\":\"2730\",\"name\":\"SHADOWED WHITE STAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2730\"},10033:{\"value\":\"2731\",\"name\":\"HEAVY ASTERISK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2731\"},10034:{\"value\":\"2732\",\"name\":\"OPEN CENTRE ASTERISK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"OPEN CENTER ASTERISK\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2732\"},10035:{\"value\":\"2733\",\"name\":\"EIGHT SPOKED ASTERISK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2733\"},10036:{\"value\":\"2734\",\"name\":\"EIGHT POINTED BLACK STAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2734\"},10037:{\"value\":\"2735\",\"name\":\"EIGHT POINTED PINWHEEL STAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2735\"},10038:{\"value\":\"2736\",\"name\":\"SIX POINTED BLACK STAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2736\"},10039:{\"value\":\"2737\",\"name\":\"EIGHT POINTED RECTILINEAR BLACK STAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2737\"},10040:{\"value\":\"2738\",\"name\":\"HEAVY EIGHT POINTED RECTILINEAR BLACK STAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2738\"},10041:{\"value\":\"2739\",\"name\":\"TWELVE POINTED BLACK STAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2739\"},10042:{\"value\":\"273A\",\"name\":\"SIXTEEN POINTED ASTERISK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u273A\"},10043:{\"value\":\"273B\",\"name\":\"TEARDROP-SPOKED ASTERISK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u273B\"},10044:{\"value\":\"273C\",\"name\":\"OPEN CENTRE TEARDROP-SPOKED ASTERISK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"OPEN CENTER TEARDROP-SPOKED ASTERISK\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u273C\"},10045:{\"value\":\"273D\",\"name\":\"HEAVY TEARDROP-SPOKED ASTERISK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u273D\"},10046:{\"value\":\"273E\",\"name\":\"SIX PETALLED BLACK AND WHITE FLORETTE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u273E\"},10047:{\"value\":\"273F\",\"name\":\"BLACK FLORETTE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u273F\"},10048:{\"value\":\"2740\",\"name\":\"WHITE FLORETTE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2740\"},10049:{\"value\":\"2741\",\"name\":\"EIGHT PETALLED OUTLINED BLACK FLORETTE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2741\"},10050:{\"value\":\"2742\",\"name\":\"CIRCLED OPEN CENTRE EIGHT POINTED STAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"CIRCLED OPEN CENTER EIGHT POINTED STAR\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2742\"},10051:{\"value\":\"2743\",\"name\":\"HEAVY TEARDROP-SPOKED PINWHEEL ASTERISK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2743\"},10052:{\"value\":\"2744\",\"name\":\"SNOWFLAKE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2744\"},10053:{\"value\":\"2745\",\"name\":\"TIGHT TRIFOLIATE SNOWFLAKE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2745\"},10054:{\"value\":\"2746\",\"name\":\"HEAVY CHEVRON SNOWFLAKE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2746\"},10055:{\"value\":\"2747\",\"name\":\"SPARKLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2747\"},10056:{\"value\":\"2748\",\"name\":\"HEAVY SPARKLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2748\"},10057:{\"value\":\"2749\",\"name\":\"BALLOON-SPOKED ASTERISK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2749\"},10058:{\"value\":\"274A\",\"name\":\"EIGHT TEARDROP-SPOKED PROPELLER ASTERISK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u274A\"},10059:{\"value\":\"274B\",\"name\":\"HEAVY EIGHT TEARDROP-SPOKED PROPELLER ASTERISK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u274B\"},10060:{\"value\":\"274C\",\"name\":\"CROSS MARK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u274C\"},10061:{\"value\":\"274D\",\"name\":\"SHADOWED WHITE CIRCLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u274D\"},10062:{\"value\":\"274E\",\"name\":\"NEGATIVE SQUARED CROSS MARK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u274E\"},10063:{\"value\":\"274F\",\"name\":\"LOWER RIGHT DROP-SHADOWED WHITE SQUARE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u274F\"},10064:{\"value\":\"2750\",\"name\":\"UPPER RIGHT DROP-SHADOWED WHITE SQUARE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2750\"},10065:{\"value\":\"2751\",\"name\":\"LOWER RIGHT SHADOWED WHITE SQUARE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2751\"},10066:{\"value\":\"2752\",\"name\":\"UPPER RIGHT SHADOWED WHITE SQUARE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2752\"},10067:{\"value\":\"2753\",\"name\":\"BLACK QUESTION MARK ORNAMENT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2753\"},10068:{\"value\":\"2754\",\"name\":\"WHITE QUESTION MARK ORNAMENT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2754\"},10069:{\"value\":\"2755\",\"name\":\"WHITE EXCLAMATION MARK ORNAMENT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2755\"},10070:{\"value\":\"2756\",\"name\":\"BLACK DIAMOND MINUS WHITE X\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2756\"},10071:{\"value\":\"2757\",\"name\":\"HEAVY EXCLAMATION MARK SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2757\"},10072:{\"value\":\"2758\",\"name\":\"LIGHT VERTICAL BAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2758\"},10073:{\"value\":\"2759\",\"name\":\"MEDIUM VERTICAL BAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2759\"},10074:{\"value\":\"275A\",\"name\":\"HEAVY VERTICAL BAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u275A\"},10075:{\"value\":\"275B\",\"name\":\"HEAVY SINGLE TURNED COMMA QUOTATION MARK ORNAMENT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u275B\"},10076:{\"value\":\"275C\",\"name\":\"HEAVY SINGLE COMMA QUOTATION MARK ORNAMENT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u275C\"},10077:{\"value\":\"275D\",\"name\":\"HEAVY DOUBLE TURNED COMMA QUOTATION MARK ORNAMENT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u275D\"},10078:{\"value\":\"275E\",\"name\":\"HEAVY DOUBLE COMMA QUOTATION MARK ORNAMENT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u275E\"},10079:{\"value\":\"275F\",\"name\":\"HEAVY LOW SINGLE COMMA QUOTATION MARK ORNAMENT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u275F\"},10080:{\"value\":\"2760\",\"name\":\"HEAVY LOW DOUBLE COMMA QUOTATION MARK ORNAMENT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2760\"},10081:{\"value\":\"2761\",\"name\":\"CURVED STEM PARAGRAPH SIGN ORNAMENT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2761\"},10082:{\"value\":\"2762\",\"name\":\"HEAVY EXCLAMATION MARK ORNAMENT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2762\"},10083:{\"value\":\"2763\",\"name\":\"HEAVY HEART EXCLAMATION MARK ORNAMENT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2763\"},10084:{\"value\":\"2764\",\"name\":\"HEAVY BLACK HEART\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2764\"},10085:{\"value\":\"2765\",\"name\":\"ROTATED HEAVY BLACK HEART BULLET\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2765\"},10086:{\"value\":\"2766\",\"name\":\"FLORAL HEART\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2766\"},10087:{\"value\":\"2767\",\"name\":\"ROTATED FLORAL HEART BULLET\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2767\"},10132:{\"value\":\"2794\",\"name\":\"HEAVY WIDE-HEADED RIGHTWARDS ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"HEAVY WIDE-HEADED RIGHT ARROW\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2794\"},10133:{\"value\":\"2795\",\"name\":\"HEAVY PLUS SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2795\"},10134:{\"value\":\"2796\",\"name\":\"HEAVY MINUS SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2796\"},10135:{\"value\":\"2797\",\"name\":\"HEAVY DIVISION SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2797\"},10136:{\"value\":\"2798\",\"name\":\"HEAVY SOUTH EAST ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"HEAVY LOWER RIGHT ARROW\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2798\"},10137:{\"value\":\"2799\",\"name\":\"HEAVY RIGHTWARDS ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"HEAVY RIGHT ARROW\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2799\"},10138:{\"value\":\"279A\",\"name\":\"HEAVY NORTH EAST ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"HEAVY UPPER RIGHT ARROW\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u279A\"},10139:{\"value\":\"279B\",\"name\":\"DRAFTING POINT RIGHTWARDS ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"DRAFTING POINT RIGHT ARROW\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u279B\"},10140:{\"value\":\"279C\",\"name\":\"HEAVY ROUND-TIPPED RIGHTWARDS ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"HEAVY ROUND-TIPPED RIGHT ARROW\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u279C\"},10141:{\"value\":\"279D\",\"name\":\"TRIANGLE-HEADED RIGHTWARDS ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"TRIANGLE-HEADED RIGHT ARROW\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u279D\"},10142:{\"value\":\"279E\",\"name\":\"HEAVY TRIANGLE-HEADED RIGHTWARDS ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"HEAVY TRIANGLE-HEADED RIGHT ARROW\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u279E\"},10143:{\"value\":\"279F\",\"name\":\"DASHED TRIANGLE-HEADED RIGHTWARDS ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"DASHED TRIANGLE-HEADED RIGHT ARROW\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u279F\"},10144:{\"value\":\"27A0\",\"name\":\"HEAVY DASHED TRIANGLE-HEADED RIGHTWARDS ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"HEAVY DASHED TRIANGLE-HEADED RIGHT ARROW\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u27A0\"},10145:{\"value\":\"27A1\",\"name\":\"BLACK RIGHTWARDS ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"BLACK RIGHT ARROW\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u27A1\"},10146:{\"value\":\"27A2\",\"name\":\"THREE-D TOP-LIGHTED RIGHTWARDS ARROWHEAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"THREE-D TOP-LIGHTED RIGHT ARROWHEAD\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u27A2\"},10147:{\"value\":\"27A3\",\"name\":\"THREE-D BOTTOM-LIGHTED RIGHTWARDS ARROWHEAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"THREE-D BOTTOM-LIGHTED RIGHT ARROWHEAD\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u27A3\"},10148:{\"value\":\"27A4\",\"name\":\"BLACK RIGHTWARDS ARROWHEAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"BLACK RIGHT ARROWHEAD\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u27A4\"},10149:{\"value\":\"27A5\",\"name\":\"HEAVY BLACK CURVED DOWNWARDS AND RIGHTWARDS ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"HEAVY BLACK CURVED DOWN AND RIGHT ARROW\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u27A5\"},10150:{\"value\":\"27A6\",\"name\":\"HEAVY BLACK CURVED UPWARDS AND RIGHTWARDS ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"HEAVY BLACK CURVED UP AND RIGHT ARROW\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u27A6\"},10151:{\"value\":\"27A7\",\"name\":\"SQUAT BLACK RIGHTWARDS ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUAT BLACK RIGHT ARROW\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u27A7\"},10152:{\"value\":\"27A8\",\"name\":\"HEAVY CONCAVE-POINTED BLACK RIGHTWARDS ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"HEAVY CONCAVE-POINTED BLACK RIGHT ARROW\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u27A8\"},10153:{\"value\":\"27A9\",\"name\":\"RIGHT-SHADED WHITE RIGHTWARDS ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"RIGHT-SHADED WHITE RIGHT ARROW\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u27A9\"},10154:{\"value\":\"27AA\",\"name\":\"LEFT-SHADED WHITE RIGHTWARDS ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"LEFT-SHADED WHITE RIGHT ARROW\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u27AA\"},10155:{\"value\":\"27AB\",\"name\":\"BACK-TILTED SHADOWED WHITE RIGHTWARDS ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"BACK-TILTED SHADOWED WHITE RIGHT ARROW\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u27AB\"},10156:{\"value\":\"27AC\",\"name\":\"FRONT-TILTED SHADOWED WHITE RIGHTWARDS ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FRONT-TILTED SHADOWED WHITE RIGHT ARROW\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u27AC\"},10157:{\"value\":\"27AD\",\"name\":\"HEAVY LOWER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"HEAVY LOWER RIGHT-SHADOWED WHITE RIGHT ARROW\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u27AD\"},10158:{\"value\":\"27AE\",\"name\":\"HEAVY UPPER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"HEAVY UPPER RIGHT-SHADOWED WHITE RIGHT ARROW\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u27AE\"},10159:{\"value\":\"27AF\",\"name\":\"NOTCHED LOWER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"NOTCHED LOWER RIGHT-SHADOWED WHITE RIGHT ARROW\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u27AF\"},10160:{\"value\":\"27B0\",\"name\":\"CURLY LOOP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u27B0\"},10161:{\"value\":\"27B1\",\"name\":\"NOTCHED UPPER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"NOTCHED UPPER RIGHT-SHADOWED WHITE RIGHT ARROW\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u27B1\"},10162:{\"value\":\"27B2\",\"name\":\"CIRCLED HEAVY WHITE RIGHTWARDS ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"CIRCLED HEAVY WHITE RIGHT ARROW\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u27B2\"},10163:{\"value\":\"27B3\",\"name\":\"WHITE-FEATHERED RIGHTWARDS ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"WHITE-FEATHERED RIGHT ARROW\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u27B3\"},10164:{\"value\":\"27B4\",\"name\":\"BLACK-FEATHERED SOUTH EAST ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"BLACK-FEATHERED LOWER RIGHT ARROW\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u27B4\"},10165:{\"value\":\"27B5\",\"name\":\"BLACK-FEATHERED RIGHTWARDS ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"BLACK-FEATHERED RIGHT ARROW\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u27B5\"},10166:{\"value\":\"27B6\",\"name\":\"BLACK-FEATHERED NORTH EAST ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"BLACK-FEATHERED UPPER RIGHT ARROW\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u27B6\"},10167:{\"value\":\"27B7\",\"name\":\"HEAVY BLACK-FEATHERED SOUTH EAST ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"HEAVY BLACK-FEATHERED LOWER RIGHT ARROW\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u27B7\"},10168:{\"value\":\"27B8\",\"name\":\"HEAVY BLACK-FEATHERED RIGHTWARDS ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"HEAVY BLACK-FEATHERED RIGHT ARROW\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u27B8\"},10169:{\"value\":\"27B9\",\"name\":\"HEAVY BLACK-FEATHERED NORTH EAST ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"HEAVY BLACK-FEATHERED UPPER RIGHT ARROW\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u27B9\"},10170:{\"value\":\"27BA\",\"name\":\"TEARDROP-BARBED RIGHTWARDS ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"TEARDROP-BARBED RIGHT ARROW\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u27BA\"},10171:{\"value\":\"27BB\",\"name\":\"HEAVY TEARDROP-SHANKED RIGHTWARDS ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"HEAVY TEARDROP-SHANKED RIGHT ARROW\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u27BB\"},10172:{\"value\":\"27BC\",\"name\":\"WEDGE-TAILED RIGHTWARDS ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"WEDGE-TAILED RIGHT ARROW\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u27BC\"},10173:{\"value\":\"27BD\",\"name\":\"HEAVY WEDGE-TAILED RIGHTWARDS ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"HEAVY WEDGE-TAILED RIGHT ARROW\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u27BD\"},10174:{\"value\":\"27BE\",\"name\":\"OPEN-OUTLINED RIGHTWARDS ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"OPEN-OUTLINED RIGHT ARROW\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u27BE\"},10175:{\"value\":\"27BF\",\"name\":\"DOUBLE CURLY LOOP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u27BF\"},10240:{\"value\":\"2800\",\"name\":\"BRAILLE PATTERN BLANK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2800\"},10241:{\"value\":\"2801\",\"name\":\"BRAILLE PATTERN DOTS-1\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2801\"},10242:{\"value\":\"2802\",\"name\":\"BRAILLE PATTERN DOTS-2\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2802\"},10243:{\"value\":\"2803\",\"name\":\"BRAILLE PATTERN DOTS-12\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2803\"},10244:{\"value\":\"2804\",\"name\":\"BRAILLE PATTERN DOTS-3\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2804\"},10245:{\"value\":\"2805\",\"name\":\"BRAILLE PATTERN DOTS-13\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2805\"},10246:{\"value\":\"2806\",\"name\":\"BRAILLE PATTERN DOTS-23\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2806\"},10247:{\"value\":\"2807\",\"name\":\"BRAILLE PATTERN DOTS-123\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2807\"},10248:{\"value\":\"2808\",\"name\":\"BRAILLE PATTERN DOTS-4\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2808\"},10249:{\"value\":\"2809\",\"name\":\"BRAILLE PATTERN DOTS-14\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2809\"},10250:{\"value\":\"280A\",\"name\":\"BRAILLE PATTERN DOTS-24\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u280A\"},10251:{\"value\":\"280B\",\"name\":\"BRAILLE PATTERN DOTS-124\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u280B\"},10252:{\"value\":\"280C\",\"name\":\"BRAILLE PATTERN DOTS-34\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u280C\"},10253:{\"value\":\"280D\",\"name\":\"BRAILLE PATTERN DOTS-134\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u280D\"},10254:{\"value\":\"280E\",\"name\":\"BRAILLE PATTERN DOTS-234\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u280E\"},10255:{\"value\":\"280F\",\"name\":\"BRAILLE PATTERN DOTS-1234\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u280F\"},10256:{\"value\":\"2810\",\"name\":\"BRAILLE PATTERN DOTS-5\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2810\"},10257:{\"value\":\"2811\",\"name\":\"BRAILLE PATTERN DOTS-15\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2811\"},10258:{\"value\":\"2812\",\"name\":\"BRAILLE PATTERN DOTS-25\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2812\"},10259:{\"value\":\"2813\",\"name\":\"BRAILLE PATTERN DOTS-125\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2813\"},10260:{\"value\":\"2814\",\"name\":\"BRAILLE PATTERN DOTS-35\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2814\"},10261:{\"value\":\"2815\",\"name\":\"BRAILLE PATTERN DOTS-135\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2815\"},10262:{\"value\":\"2816\",\"name\":\"BRAILLE PATTERN DOTS-235\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2816\"},10263:{\"value\":\"2817\",\"name\":\"BRAILLE PATTERN DOTS-1235\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2817\"},10264:{\"value\":\"2818\",\"name\":\"BRAILLE PATTERN DOTS-45\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2818\"},10265:{\"value\":\"2819\",\"name\":\"BRAILLE PATTERN DOTS-145\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2819\"},10266:{\"value\":\"281A\",\"name\":\"BRAILLE PATTERN DOTS-245\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u281A\"},10267:{\"value\":\"281B\",\"name\":\"BRAILLE PATTERN DOTS-1245\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u281B\"},10268:{\"value\":\"281C\",\"name\":\"BRAILLE PATTERN DOTS-345\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u281C\"},10269:{\"value\":\"281D\",\"name\":\"BRAILLE PATTERN DOTS-1345\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u281D\"},10270:{\"value\":\"281E\",\"name\":\"BRAILLE PATTERN DOTS-2345\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u281E\"},10271:{\"value\":\"281F\",\"name\":\"BRAILLE PATTERN DOTS-12345\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u281F\"},10272:{\"value\":\"2820\",\"name\":\"BRAILLE PATTERN DOTS-6\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2820\"},10273:{\"value\":\"2821\",\"name\":\"BRAILLE PATTERN DOTS-16\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2821\"},10274:{\"value\":\"2822\",\"name\":\"BRAILLE PATTERN DOTS-26\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2822\"},10275:{\"value\":\"2823\",\"name\":\"BRAILLE PATTERN DOTS-126\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2823\"},10276:{\"value\":\"2824\",\"name\":\"BRAILLE PATTERN DOTS-36\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2824\"},10277:{\"value\":\"2825\",\"name\":\"BRAILLE PATTERN DOTS-136\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2825\"},10278:{\"value\":\"2826\",\"name\":\"BRAILLE PATTERN DOTS-236\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2826\"},10279:{\"value\":\"2827\",\"name\":\"BRAILLE PATTERN DOTS-1236\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2827\"},10280:{\"value\":\"2828\",\"name\":\"BRAILLE PATTERN DOTS-46\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2828\"},10281:{\"value\":\"2829\",\"name\":\"BRAILLE PATTERN DOTS-146\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2829\"},10282:{\"value\":\"282A\",\"name\":\"BRAILLE PATTERN DOTS-246\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u282A\"},10283:{\"value\":\"282B\",\"name\":\"BRAILLE PATTERN DOTS-1246\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u282B\"},10284:{\"value\":\"282C\",\"name\":\"BRAILLE PATTERN DOTS-346\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u282C\"},10285:{\"value\":\"282D\",\"name\":\"BRAILLE PATTERN DOTS-1346\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u282D\"},10286:{\"value\":\"282E\",\"name\":\"BRAILLE PATTERN DOTS-2346\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u282E\"},10287:{\"value\":\"282F\",\"name\":\"BRAILLE PATTERN DOTS-12346\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u282F\"},10288:{\"value\":\"2830\",\"name\":\"BRAILLE PATTERN DOTS-56\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2830\"},10289:{\"value\":\"2831\",\"name\":\"BRAILLE PATTERN DOTS-156\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2831\"},10290:{\"value\":\"2832\",\"name\":\"BRAILLE PATTERN DOTS-256\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2832\"},10291:{\"value\":\"2833\",\"name\":\"BRAILLE PATTERN DOTS-1256\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2833\"},10292:{\"value\":\"2834\",\"name\":\"BRAILLE PATTERN DOTS-356\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2834\"},10293:{\"value\":\"2835\",\"name\":\"BRAILLE PATTERN DOTS-1356\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2835\"},10294:{\"value\":\"2836\",\"name\":\"BRAILLE PATTERN DOTS-2356\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2836\"},10295:{\"value\":\"2837\",\"name\":\"BRAILLE PATTERN DOTS-12356\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2837\"},10296:{\"value\":\"2838\",\"name\":\"BRAILLE PATTERN DOTS-456\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2838\"},10297:{\"value\":\"2839\",\"name\":\"BRAILLE PATTERN DOTS-1456\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2839\"},10298:{\"value\":\"283A\",\"name\":\"BRAILLE PATTERN DOTS-2456\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u283A\"},10299:{\"value\":\"283B\",\"name\":\"BRAILLE PATTERN DOTS-12456\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u283B\"},10300:{\"value\":\"283C\",\"name\":\"BRAILLE PATTERN DOTS-3456\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u283C\"},10301:{\"value\":\"283D\",\"name\":\"BRAILLE PATTERN DOTS-13456\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u283D\"},10302:{\"value\":\"283E\",\"name\":\"BRAILLE PATTERN DOTS-23456\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u283E\"},10303:{\"value\":\"283F\",\"name\":\"BRAILLE PATTERN DOTS-123456\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u283F\"},10304:{\"value\":\"2840\",\"name\":\"BRAILLE PATTERN DOTS-7\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2840\"},10305:{\"value\":\"2841\",\"name\":\"BRAILLE PATTERN DOTS-17\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2841\"},10306:{\"value\":\"2842\",\"name\":\"BRAILLE PATTERN DOTS-27\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2842\"},10307:{\"value\":\"2843\",\"name\":\"BRAILLE PATTERN DOTS-127\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2843\"},10308:{\"value\":\"2844\",\"name\":\"BRAILLE PATTERN DOTS-37\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2844\"},10309:{\"value\":\"2845\",\"name\":\"BRAILLE PATTERN DOTS-137\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2845\"},10310:{\"value\":\"2846\",\"name\":\"BRAILLE PATTERN DOTS-237\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2846\"},10311:{\"value\":\"2847\",\"name\":\"BRAILLE PATTERN DOTS-1237\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2847\"},10312:{\"value\":\"2848\",\"name\":\"BRAILLE PATTERN DOTS-47\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2848\"},10313:{\"value\":\"2849\",\"name\":\"BRAILLE PATTERN DOTS-147\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2849\"},10314:{\"value\":\"284A\",\"name\":\"BRAILLE PATTERN DOTS-247\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u284A\"},10315:{\"value\":\"284B\",\"name\":\"BRAILLE PATTERN DOTS-1247\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u284B\"},10316:{\"value\":\"284C\",\"name\":\"BRAILLE PATTERN DOTS-347\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u284C\"},10317:{\"value\":\"284D\",\"name\":\"BRAILLE PATTERN DOTS-1347\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u284D\"},10318:{\"value\":\"284E\",\"name\":\"BRAILLE PATTERN DOTS-2347\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u284E\"},10319:{\"value\":\"284F\",\"name\":\"BRAILLE PATTERN DOTS-12347\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u284F\"},10320:{\"value\":\"2850\",\"name\":\"BRAILLE PATTERN DOTS-57\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2850\"},10321:{\"value\":\"2851\",\"name\":\"BRAILLE PATTERN DOTS-157\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2851\"},10322:{\"value\":\"2852\",\"name\":\"BRAILLE PATTERN DOTS-257\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2852\"},10323:{\"value\":\"2853\",\"name\":\"BRAILLE PATTERN DOTS-1257\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2853\"},10324:{\"value\":\"2854\",\"name\":\"BRAILLE PATTERN DOTS-357\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2854\"},10325:{\"value\":\"2855\",\"name\":\"BRAILLE PATTERN DOTS-1357\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2855\"},10326:{\"value\":\"2856\",\"name\":\"BRAILLE PATTERN DOTS-2357\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2856\"},10327:{\"value\":\"2857\",\"name\":\"BRAILLE PATTERN DOTS-12357\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2857\"},10328:{\"value\":\"2858\",\"name\":\"BRAILLE PATTERN DOTS-457\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2858\"},10329:{\"value\":\"2859\",\"name\":\"BRAILLE PATTERN DOTS-1457\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2859\"},10330:{\"value\":\"285A\",\"name\":\"BRAILLE PATTERN DOTS-2457\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u285A\"},10331:{\"value\":\"285B\",\"name\":\"BRAILLE PATTERN DOTS-12457\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u285B\"},10332:{\"value\":\"285C\",\"name\":\"BRAILLE PATTERN DOTS-3457\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u285C\"},10333:{\"value\":\"285D\",\"name\":\"BRAILLE PATTERN DOTS-13457\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u285D\"},10334:{\"value\":\"285E\",\"name\":\"BRAILLE PATTERN DOTS-23457\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u285E\"},10335:{\"value\":\"285F\",\"name\":\"BRAILLE PATTERN DOTS-123457\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u285F\"},10336:{\"value\":\"2860\",\"name\":\"BRAILLE PATTERN DOTS-67\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2860\"},10337:{\"value\":\"2861\",\"name\":\"BRAILLE PATTERN DOTS-167\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2861\"},10338:{\"value\":\"2862\",\"name\":\"BRAILLE PATTERN DOTS-267\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2862\"},10339:{\"value\":\"2863\",\"name\":\"BRAILLE PATTERN DOTS-1267\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2863\"},10340:{\"value\":\"2864\",\"name\":\"BRAILLE PATTERN DOTS-367\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2864\"},10341:{\"value\":\"2865\",\"name\":\"BRAILLE PATTERN DOTS-1367\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2865\"},10342:{\"value\":\"2866\",\"name\":\"BRAILLE PATTERN DOTS-2367\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2866\"},10343:{\"value\":\"2867\",\"name\":\"BRAILLE PATTERN DOTS-12367\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2867\"},10344:{\"value\":\"2868\",\"name\":\"BRAILLE PATTERN DOTS-467\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2868\"},10345:{\"value\":\"2869\",\"name\":\"BRAILLE PATTERN DOTS-1467\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2869\"},10346:{\"value\":\"286A\",\"name\":\"BRAILLE PATTERN DOTS-2467\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u286A\"},10347:{\"value\":\"286B\",\"name\":\"BRAILLE PATTERN DOTS-12467\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u286B\"},10348:{\"value\":\"286C\",\"name\":\"BRAILLE PATTERN DOTS-3467\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u286C\"},10349:{\"value\":\"286D\",\"name\":\"BRAILLE PATTERN DOTS-13467\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u286D\"},10350:{\"value\":\"286E\",\"name\":\"BRAILLE PATTERN DOTS-23467\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u286E\"},10351:{\"value\":\"286F\",\"name\":\"BRAILLE PATTERN DOTS-123467\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u286F\"},10352:{\"value\":\"2870\",\"name\":\"BRAILLE PATTERN DOTS-567\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2870\"},10353:{\"value\":\"2871\",\"name\":\"BRAILLE PATTERN DOTS-1567\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2871\"},10354:{\"value\":\"2872\",\"name\":\"BRAILLE PATTERN DOTS-2567\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2872\"},10355:{\"value\":\"2873\",\"name\":\"BRAILLE PATTERN DOTS-12567\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2873\"},10356:{\"value\":\"2874\",\"name\":\"BRAILLE PATTERN DOTS-3567\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2874\"},10357:{\"value\":\"2875\",\"name\":\"BRAILLE PATTERN DOTS-13567\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2875\"},10358:{\"value\":\"2876\",\"name\":\"BRAILLE PATTERN DOTS-23567\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2876\"},10359:{\"value\":\"2877\",\"name\":\"BRAILLE PATTERN DOTS-123567\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2877\"},10360:{\"value\":\"2878\",\"name\":\"BRAILLE PATTERN DOTS-4567\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2878\"},10361:{\"value\":\"2879\",\"name\":\"BRAILLE PATTERN DOTS-14567\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2879\"},10362:{\"value\":\"287A\",\"name\":\"BRAILLE PATTERN DOTS-24567\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u287A\"},10363:{\"value\":\"287B\",\"name\":\"BRAILLE PATTERN DOTS-124567\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u287B\"},10364:{\"value\":\"287C\",\"name\":\"BRAILLE PATTERN DOTS-34567\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u287C\"},10365:{\"value\":\"287D\",\"name\":\"BRAILLE PATTERN DOTS-134567\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u287D\"},10366:{\"value\":\"287E\",\"name\":\"BRAILLE PATTERN DOTS-234567\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u287E\"},10367:{\"value\":\"287F\",\"name\":\"BRAILLE PATTERN DOTS-1234567\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u287F\"},10368:{\"value\":\"2880\",\"name\":\"BRAILLE PATTERN DOTS-8\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2880\"},10369:{\"value\":\"2881\",\"name\":\"BRAILLE PATTERN DOTS-18\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2881\"},10370:{\"value\":\"2882\",\"name\":\"BRAILLE PATTERN DOTS-28\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2882\"},10371:{\"value\":\"2883\",\"name\":\"BRAILLE PATTERN DOTS-128\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2883\"},10372:{\"value\":\"2884\",\"name\":\"BRAILLE PATTERN DOTS-38\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2884\"},10373:{\"value\":\"2885\",\"name\":\"BRAILLE PATTERN DOTS-138\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2885\"},10374:{\"value\":\"2886\",\"name\":\"BRAILLE PATTERN DOTS-238\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2886\"},10375:{\"value\":\"2887\",\"name\":\"BRAILLE PATTERN DOTS-1238\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2887\"},10376:{\"value\":\"2888\",\"name\":\"BRAILLE PATTERN DOTS-48\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2888\"},10377:{\"value\":\"2889\",\"name\":\"BRAILLE PATTERN DOTS-148\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2889\"},10378:{\"value\":\"288A\",\"name\":\"BRAILLE PATTERN DOTS-248\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u288A\"},10379:{\"value\":\"288B\",\"name\":\"BRAILLE PATTERN DOTS-1248\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u288B\"},10380:{\"value\":\"288C\",\"name\":\"BRAILLE PATTERN DOTS-348\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u288C\"},10381:{\"value\":\"288D\",\"name\":\"BRAILLE PATTERN DOTS-1348\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u288D\"},10382:{\"value\":\"288E\",\"name\":\"BRAILLE PATTERN DOTS-2348\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u288E\"},10383:{\"value\":\"288F\",\"name\":\"BRAILLE PATTERN DOTS-12348\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u288F\"},10384:{\"value\":\"2890\",\"name\":\"BRAILLE PATTERN DOTS-58\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2890\"},10385:{\"value\":\"2891\",\"name\":\"BRAILLE PATTERN DOTS-158\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2891\"},10386:{\"value\":\"2892\",\"name\":\"BRAILLE PATTERN DOTS-258\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2892\"},10387:{\"value\":\"2893\",\"name\":\"BRAILLE PATTERN DOTS-1258\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2893\"},10388:{\"value\":\"2894\",\"name\":\"BRAILLE PATTERN DOTS-358\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2894\"},10389:{\"value\":\"2895\",\"name\":\"BRAILLE PATTERN DOTS-1358\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2895\"},10390:{\"value\":\"2896\",\"name\":\"BRAILLE PATTERN DOTS-2358\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2896\"},10391:{\"value\":\"2897\",\"name\":\"BRAILLE PATTERN DOTS-12358\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2897\"},10392:{\"value\":\"2898\",\"name\":\"BRAILLE PATTERN DOTS-458\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2898\"},10393:{\"value\":\"2899\",\"name\":\"BRAILLE PATTERN DOTS-1458\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2899\"},10394:{\"value\":\"289A\",\"name\":\"BRAILLE PATTERN DOTS-2458\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u289A\"},10395:{\"value\":\"289B\",\"name\":\"BRAILLE PATTERN DOTS-12458\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u289B\"},10396:{\"value\":\"289C\",\"name\":\"BRAILLE PATTERN DOTS-3458\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u289C\"},10397:{\"value\":\"289D\",\"name\":\"BRAILLE PATTERN DOTS-13458\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u289D\"},10398:{\"value\":\"289E\",\"name\":\"BRAILLE PATTERN DOTS-23458\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u289E\"},10399:{\"value\":\"289F\",\"name\":\"BRAILLE PATTERN DOTS-123458\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u289F\"},10400:{\"value\":\"28A0\",\"name\":\"BRAILLE PATTERN DOTS-68\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28A0\"},10401:{\"value\":\"28A1\",\"name\":\"BRAILLE PATTERN DOTS-168\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28A1\"},10402:{\"value\":\"28A2\",\"name\":\"BRAILLE PATTERN DOTS-268\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28A2\"},10403:{\"value\":\"28A3\",\"name\":\"BRAILLE PATTERN DOTS-1268\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28A3\"},10404:{\"value\":\"28A4\",\"name\":\"BRAILLE PATTERN DOTS-368\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28A4\"},10405:{\"value\":\"28A5\",\"name\":\"BRAILLE PATTERN DOTS-1368\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28A5\"},10406:{\"value\":\"28A6\",\"name\":\"BRAILLE PATTERN DOTS-2368\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28A6\"},10407:{\"value\":\"28A7\",\"name\":\"BRAILLE PATTERN DOTS-12368\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28A7\"},10408:{\"value\":\"28A8\",\"name\":\"BRAILLE PATTERN DOTS-468\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28A8\"},10409:{\"value\":\"28A9\",\"name\":\"BRAILLE PATTERN DOTS-1468\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28A9\"},10410:{\"value\":\"28AA\",\"name\":\"BRAILLE PATTERN DOTS-2468\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28AA\"},10411:{\"value\":\"28AB\",\"name\":\"BRAILLE PATTERN DOTS-12468\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28AB\"},10412:{\"value\":\"28AC\",\"name\":\"BRAILLE PATTERN DOTS-3468\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28AC\"},10413:{\"value\":\"28AD\",\"name\":\"BRAILLE PATTERN DOTS-13468\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28AD\"},10414:{\"value\":\"28AE\",\"name\":\"BRAILLE PATTERN DOTS-23468\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28AE\"},10415:{\"value\":\"28AF\",\"name\":\"BRAILLE PATTERN DOTS-123468\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28AF\"},10416:{\"value\":\"28B0\",\"name\":\"BRAILLE PATTERN DOTS-568\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28B0\"},10417:{\"value\":\"28B1\",\"name\":\"BRAILLE PATTERN DOTS-1568\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28B1\"},10418:{\"value\":\"28B2\",\"name\":\"BRAILLE PATTERN DOTS-2568\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28B2\"},10419:{\"value\":\"28B3\",\"name\":\"BRAILLE PATTERN DOTS-12568\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28B3\"},10420:{\"value\":\"28B4\",\"name\":\"BRAILLE PATTERN DOTS-3568\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28B4\"},10421:{\"value\":\"28B5\",\"name\":\"BRAILLE PATTERN DOTS-13568\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28B5\"},10422:{\"value\":\"28B6\",\"name\":\"BRAILLE PATTERN DOTS-23568\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28B6\"},10423:{\"value\":\"28B7\",\"name\":\"BRAILLE PATTERN DOTS-123568\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28B7\"},10424:{\"value\":\"28B8\",\"name\":\"BRAILLE PATTERN DOTS-4568\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28B8\"},10425:{\"value\":\"28B9\",\"name\":\"BRAILLE PATTERN DOTS-14568\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28B9\"},10426:{\"value\":\"28BA\",\"name\":\"BRAILLE PATTERN DOTS-24568\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28BA\"},10427:{\"value\":\"28BB\",\"name\":\"BRAILLE PATTERN DOTS-124568\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28BB\"},10428:{\"value\":\"28BC\",\"name\":\"BRAILLE PATTERN DOTS-34568\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28BC\"},10429:{\"value\":\"28BD\",\"name\":\"BRAILLE PATTERN DOTS-134568\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28BD\"},10430:{\"value\":\"28BE\",\"name\":\"BRAILLE PATTERN DOTS-234568\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28BE\"},10431:{\"value\":\"28BF\",\"name\":\"BRAILLE PATTERN DOTS-1234568\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28BF\"},10432:{\"value\":\"28C0\",\"name\":\"BRAILLE PATTERN DOTS-78\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28C0\"},10433:{\"value\":\"28C1\",\"name\":\"BRAILLE PATTERN DOTS-178\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28C1\"},10434:{\"value\":\"28C2\",\"name\":\"BRAILLE PATTERN DOTS-278\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28C2\"},10435:{\"value\":\"28C3\",\"name\":\"BRAILLE PATTERN DOTS-1278\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28C3\"},10436:{\"value\":\"28C4\",\"name\":\"BRAILLE PATTERN DOTS-378\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28C4\"},10437:{\"value\":\"28C5\",\"name\":\"BRAILLE PATTERN DOTS-1378\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28C5\"},10438:{\"value\":\"28C6\",\"name\":\"BRAILLE PATTERN DOTS-2378\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28C6\"},10439:{\"value\":\"28C7\",\"name\":\"BRAILLE PATTERN DOTS-12378\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28C7\"},10440:{\"value\":\"28C8\",\"name\":\"BRAILLE PATTERN DOTS-478\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28C8\"},10441:{\"value\":\"28C9\",\"name\":\"BRAILLE PATTERN DOTS-1478\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28C9\"},10442:{\"value\":\"28CA\",\"name\":\"BRAILLE PATTERN DOTS-2478\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28CA\"},10443:{\"value\":\"28CB\",\"name\":\"BRAILLE PATTERN DOTS-12478\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28CB\"},10444:{\"value\":\"28CC\",\"name\":\"BRAILLE PATTERN DOTS-3478\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28CC\"},10445:{\"value\":\"28CD\",\"name\":\"BRAILLE PATTERN DOTS-13478\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28CD\"},10446:{\"value\":\"28CE\",\"name\":\"BRAILLE PATTERN DOTS-23478\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28CE\"},10447:{\"value\":\"28CF\",\"name\":\"BRAILLE PATTERN DOTS-123478\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28CF\"},10448:{\"value\":\"28D0\",\"name\":\"BRAILLE PATTERN DOTS-578\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28D0\"},10449:{\"value\":\"28D1\",\"name\":\"BRAILLE PATTERN DOTS-1578\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28D1\"},10450:{\"value\":\"28D2\",\"name\":\"BRAILLE PATTERN DOTS-2578\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28D2\"},10451:{\"value\":\"28D3\",\"name\":\"BRAILLE PATTERN DOTS-12578\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28D3\"},10452:{\"value\":\"28D4\",\"name\":\"BRAILLE PATTERN DOTS-3578\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28D4\"},10453:{\"value\":\"28D5\",\"name\":\"BRAILLE PATTERN DOTS-13578\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28D5\"},10454:{\"value\":\"28D6\",\"name\":\"BRAILLE PATTERN DOTS-23578\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28D6\"},10455:{\"value\":\"28D7\",\"name\":\"BRAILLE PATTERN DOTS-123578\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28D7\"},10456:{\"value\":\"28D8\",\"name\":\"BRAILLE PATTERN DOTS-4578\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28D8\"},10457:{\"value\":\"28D9\",\"name\":\"BRAILLE PATTERN DOTS-14578\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28D9\"},10458:{\"value\":\"28DA\",\"name\":\"BRAILLE PATTERN DOTS-24578\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28DA\"},10459:{\"value\":\"28DB\",\"name\":\"BRAILLE PATTERN DOTS-124578\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28DB\"},10460:{\"value\":\"28DC\",\"name\":\"BRAILLE PATTERN DOTS-34578\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28DC\"},10461:{\"value\":\"28DD\",\"name\":\"BRAILLE PATTERN DOTS-134578\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28DD\"},10462:{\"value\":\"28DE\",\"name\":\"BRAILLE PATTERN DOTS-234578\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28DE\"},10463:{\"value\":\"28DF\",\"name\":\"BRAILLE PATTERN DOTS-1234578\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28DF\"},10464:{\"value\":\"28E0\",\"name\":\"BRAILLE PATTERN DOTS-678\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28E0\"},10465:{\"value\":\"28E1\",\"name\":\"BRAILLE PATTERN DOTS-1678\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28E1\"},10466:{\"value\":\"28E2\",\"name\":\"BRAILLE PATTERN DOTS-2678\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28E2\"},10467:{\"value\":\"28E3\",\"name\":\"BRAILLE PATTERN DOTS-12678\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28E3\"},10468:{\"value\":\"28E4\",\"name\":\"BRAILLE PATTERN DOTS-3678\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28E4\"},10469:{\"value\":\"28E5\",\"name\":\"BRAILLE PATTERN DOTS-13678\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28E5\"},10470:{\"value\":\"28E6\",\"name\":\"BRAILLE PATTERN DOTS-23678\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28E6\"},10471:{\"value\":\"28E7\",\"name\":\"BRAILLE PATTERN DOTS-123678\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28E7\"},10472:{\"value\":\"28E8\",\"name\":\"BRAILLE PATTERN DOTS-4678\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28E8\"},10473:{\"value\":\"28E9\",\"name\":\"BRAILLE PATTERN DOTS-14678\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28E9\"},10474:{\"value\":\"28EA\",\"name\":\"BRAILLE PATTERN DOTS-24678\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28EA\"},10475:{\"value\":\"28EB\",\"name\":\"BRAILLE PATTERN DOTS-124678\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28EB\"},10476:{\"value\":\"28EC\",\"name\":\"BRAILLE PATTERN DOTS-34678\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28EC\"},10477:{\"value\":\"28ED\",\"name\":\"BRAILLE PATTERN DOTS-134678\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28ED\"},10478:{\"value\":\"28EE\",\"name\":\"BRAILLE PATTERN DOTS-234678\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28EE\"},10479:{\"value\":\"28EF\",\"name\":\"BRAILLE PATTERN DOTS-1234678\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28EF\"},10480:{\"value\":\"28F0\",\"name\":\"BRAILLE PATTERN DOTS-5678\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28F0\"},10481:{\"value\":\"28F1\",\"name\":\"BRAILLE PATTERN DOTS-15678\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28F1\"},10482:{\"value\":\"28F2\",\"name\":\"BRAILLE PATTERN DOTS-25678\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28F2\"},10483:{\"value\":\"28F3\",\"name\":\"BRAILLE PATTERN DOTS-125678\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28F3\"},10484:{\"value\":\"28F4\",\"name\":\"BRAILLE PATTERN DOTS-35678\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28F4\"},10485:{\"value\":\"28F5\",\"name\":\"BRAILLE PATTERN DOTS-135678\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28F5\"},10486:{\"value\":\"28F6\",\"name\":\"BRAILLE PATTERN DOTS-235678\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28F6\"},10487:{\"value\":\"28F7\",\"name\":\"BRAILLE PATTERN DOTS-1235678\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28F7\"},10488:{\"value\":\"28F8\",\"name\":\"BRAILLE PATTERN DOTS-45678\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28F8\"},10489:{\"value\":\"28F9\",\"name\":\"BRAILLE PATTERN DOTS-145678\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28F9\"},10490:{\"value\":\"28FA\",\"name\":\"BRAILLE PATTERN DOTS-245678\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28FA\"},10491:{\"value\":\"28FB\",\"name\":\"BRAILLE PATTERN DOTS-1245678\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28FB\"},10492:{\"value\":\"28FC\",\"name\":\"BRAILLE PATTERN DOTS-345678\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28FC\"},10493:{\"value\":\"28FD\",\"name\":\"BRAILLE PATTERN DOTS-1345678\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28FD\"},10494:{\"value\":\"28FE\",\"name\":\"BRAILLE PATTERN DOTS-2345678\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28FE\"},10495:{\"value\":\"28FF\",\"name\":\"BRAILLE PATTERN DOTS-12345678\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u28FF\"},11008:{\"value\":\"2B00\",\"name\":\"NORTH EAST WHITE ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B00\"},11009:{\"value\":\"2B01\",\"name\":\"NORTH WEST WHITE ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B01\"},11010:{\"value\":\"2B02\",\"name\":\"SOUTH EAST WHITE ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B02\"},11011:{\"value\":\"2B03\",\"name\":\"SOUTH WEST WHITE ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B03\"},11012:{\"value\":\"2B04\",\"name\":\"LEFT RIGHT WHITE ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B04\"},11013:{\"value\":\"2B05\",\"name\":\"LEFTWARDS BLACK ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B05\"},11014:{\"value\":\"2B06\",\"name\":\"UPWARDS BLACK ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B06\"},11015:{\"value\":\"2B07\",\"name\":\"DOWNWARDS BLACK ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B07\"},11016:{\"value\":\"2B08\",\"name\":\"NORTH EAST BLACK ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B08\"},11017:{\"value\":\"2B09\",\"name\":\"NORTH WEST BLACK ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B09\"},11018:{\"value\":\"2B0A\",\"name\":\"SOUTH EAST BLACK ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B0A\"},11019:{\"value\":\"2B0B\",\"name\":\"SOUTH WEST BLACK ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B0B\"},11020:{\"value\":\"2B0C\",\"name\":\"LEFT RIGHT BLACK ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B0C\"},11021:{\"value\":\"2B0D\",\"name\":\"UP DOWN BLACK ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B0D\"},11022:{\"value\":\"2B0E\",\"name\":\"RIGHTWARDS ARROW WITH TIP DOWNWARDS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B0E\"},11023:{\"value\":\"2B0F\",\"name\":\"RIGHTWARDS ARROW WITH TIP UPWARDS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B0F\"},11024:{\"value\":\"2B10\",\"name\":\"LEFTWARDS ARROW WITH TIP DOWNWARDS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B10\"},11025:{\"value\":\"2B11\",\"name\":\"LEFTWARDS ARROW WITH TIP UPWARDS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B11\"},11026:{\"value\":\"2B12\",\"name\":\"SQUARE WITH TOP HALF BLACK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B12\"},11027:{\"value\":\"2B13\",\"name\":\"SQUARE WITH BOTTOM HALF BLACK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B13\"},11028:{\"value\":\"2B14\",\"name\":\"SQUARE WITH UPPER RIGHT DIAGONAL HALF BLACK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B14\"},11029:{\"value\":\"2B15\",\"name\":\"SQUARE WITH LOWER LEFT DIAGONAL HALF BLACK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B15\"},11030:{\"value\":\"2B16\",\"name\":\"DIAMOND WITH LEFT HALF BLACK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B16\"},11031:{\"value\":\"2B17\",\"name\":\"DIAMOND WITH RIGHT HALF BLACK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B17\"},11032:{\"value\":\"2B18\",\"name\":\"DIAMOND WITH TOP HALF BLACK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B18\"},11033:{\"value\":\"2B19\",\"name\":\"DIAMOND WITH BOTTOM HALF BLACK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B19\"},11034:{\"value\":\"2B1A\",\"name\":\"DOTTED SQUARE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B1A\"},11035:{\"value\":\"2B1B\",\"name\":\"BLACK LARGE SQUARE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B1B\"},11036:{\"value\":\"2B1C\",\"name\":\"WHITE LARGE SQUARE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B1C\"},11037:{\"value\":\"2B1D\",\"name\":\"BLACK VERY SMALL SQUARE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B1D\"},11038:{\"value\":\"2B1E\",\"name\":\"WHITE VERY SMALL SQUARE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B1E\"},11039:{\"value\":\"2B1F\",\"name\":\"BLACK PENTAGON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B1F\"},11040:{\"value\":\"2B20\",\"name\":\"WHITE PENTAGON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B20\"},11041:{\"value\":\"2B21\",\"name\":\"WHITE HEXAGON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B21\"},11042:{\"value\":\"2B22\",\"name\":\"BLACK HEXAGON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B22\"},11043:{\"value\":\"2B23\",\"name\":\"HORIZONTAL BLACK HEXAGON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B23\"},11044:{\"value\":\"2B24\",\"name\":\"BLACK LARGE CIRCLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B24\"},11045:{\"value\":\"2B25\",\"name\":\"BLACK MEDIUM DIAMOND\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B25\"},11046:{\"value\":\"2B26\",\"name\":\"WHITE MEDIUM DIAMOND\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B26\"},11047:{\"value\":\"2B27\",\"name\":\"BLACK MEDIUM LOZENGE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B27\"},11048:{\"value\":\"2B28\",\"name\":\"WHITE MEDIUM LOZENGE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B28\"},11049:{\"value\":\"2B29\",\"name\":\"BLACK SMALL DIAMOND\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B29\"},11050:{\"value\":\"2B2A\",\"name\":\"BLACK SMALL LOZENGE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B2A\"},11051:{\"value\":\"2B2B\",\"name\":\"WHITE SMALL LOZENGE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B2B\"},11052:{\"value\":\"2B2C\",\"name\":\"BLACK HORIZONTAL ELLIPSE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B2C\"},11053:{\"value\":\"2B2D\",\"name\":\"WHITE HORIZONTAL ELLIPSE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B2D\"},11054:{\"value\":\"2B2E\",\"name\":\"BLACK VERTICAL ELLIPSE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B2E\"},11055:{\"value\":\"2B2F\",\"name\":\"WHITE VERTICAL ELLIPSE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B2F\"},11077:{\"value\":\"2B45\",\"name\":\"LEFTWARDS QUADRUPLE ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B45\"},11078:{\"value\":\"2B46\",\"name\":\"RIGHTWARDS QUADRUPLE ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B46\"},11085:{\"value\":\"2B4D\",\"name\":\"DOWNWARDS TRIANGLE-HEADED ZIGZAG ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B4D\"},11086:{\"value\":\"2B4E\",\"name\":\"SHORT SLANTED NORTH ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B4E\"},11087:{\"value\":\"2B4F\",\"name\":\"SHORT BACKSLANTED SOUTH ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B4F\"},11088:{\"value\":\"2B50\",\"name\":\"WHITE MEDIUM STAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B50\"},11089:{\"value\":\"2B51\",\"name\":\"BLACK SMALL STAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B51\"},11090:{\"value\":\"2B52\",\"name\":\"WHITE SMALL STAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B52\"},11091:{\"value\":\"2B53\",\"name\":\"BLACK RIGHT-POINTING PENTAGON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B53\"},11092:{\"value\":\"2B54\",\"name\":\"WHITE RIGHT-POINTING PENTAGON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B54\"},11093:{\"value\":\"2B55\",\"name\":\"HEAVY LARGE CIRCLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B55\"},11094:{\"value\":\"2B56\",\"name\":\"HEAVY OVAL WITH OVAL INSIDE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B56\"},11095:{\"value\":\"2B57\",\"name\":\"HEAVY CIRCLE WITH CIRCLE INSIDE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B57\"},11096:{\"value\":\"2B58\",\"name\":\"HEAVY CIRCLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B58\"},11097:{\"value\":\"2B59\",\"name\":\"HEAVY CIRCLED SALTIRE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B59\"},11098:{\"value\":\"2B5A\",\"name\":\"SLANTED NORTH ARROW WITH HOOKED HEAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B5A\"},11099:{\"value\":\"2B5B\",\"name\":\"BACKSLANTED SOUTH ARROW WITH HOOKED TAIL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B5B\"},11100:{\"value\":\"2B5C\",\"name\":\"SLANTED NORTH ARROW WITH HORIZONTAL TAIL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B5C\"},11101:{\"value\":\"2B5D\",\"name\":\"BACKSLANTED SOUTH ARROW WITH HORIZONTAL TAIL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B5D\"},11102:{\"value\":\"2B5E\",\"name\":\"BENT ARROW POINTING DOWNWARDS THEN NORTH EAST\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B5E\"},11103:{\"value\":\"2B5F\",\"name\":\"SHORT BENT ARROW POINTING DOWNWARDS THEN NORTH EAST\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B5F\"},11104:{\"value\":\"2B60\",\"name\":\"LEFTWARDS TRIANGLE-HEADED ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B60\"},11105:{\"value\":\"2B61\",\"name\":\"UPWARDS TRIANGLE-HEADED ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B61\"},11106:{\"value\":\"2B62\",\"name\":\"RIGHTWARDS TRIANGLE-HEADED ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B62\"},11107:{\"value\":\"2B63\",\"name\":\"DOWNWARDS TRIANGLE-HEADED ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B63\"},11108:{\"value\":\"2B64\",\"name\":\"LEFT RIGHT TRIANGLE-HEADED ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B64\"},11109:{\"value\":\"2B65\",\"name\":\"UP DOWN TRIANGLE-HEADED ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B65\"},11110:{\"value\":\"2B66\",\"name\":\"NORTH WEST TRIANGLE-HEADED ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B66\"},11111:{\"value\":\"2B67\",\"name\":\"NORTH EAST TRIANGLE-HEADED ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B67\"},11112:{\"value\":\"2B68\",\"name\":\"SOUTH EAST TRIANGLE-HEADED ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B68\"},11113:{\"value\":\"2B69\",\"name\":\"SOUTH WEST TRIANGLE-HEADED ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B69\"},11114:{\"value\":\"2B6A\",\"name\":\"LEFTWARDS TRIANGLE-HEADED DASHED ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B6A\"},11115:{\"value\":\"2B6B\",\"name\":\"UPWARDS TRIANGLE-HEADED DASHED ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B6B\"},11116:{\"value\":\"2B6C\",\"name\":\"RIGHTWARDS TRIANGLE-HEADED DASHED ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B6C\"},11117:{\"value\":\"2B6D\",\"name\":\"DOWNWARDS TRIANGLE-HEADED DASHED ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B6D\"},11118:{\"value\":\"2B6E\",\"name\":\"CLOCKWISE TRIANGLE-HEADED OPEN CIRCLE ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B6E\"},11119:{\"value\":\"2B6F\",\"name\":\"ANTICLOCKWISE TRIANGLE-HEADED OPEN CIRCLE ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B6F\"},11120:{\"value\":\"2B70\",\"name\":\"LEFTWARDS TRIANGLE-HEADED ARROW TO BAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B70\"},11121:{\"value\":\"2B71\",\"name\":\"UPWARDS TRIANGLE-HEADED ARROW TO BAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B71\"},11122:{\"value\":\"2B72\",\"name\":\"RIGHTWARDS TRIANGLE-HEADED ARROW TO BAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B72\"},11123:{\"value\":\"2B73\",\"name\":\"DOWNWARDS TRIANGLE-HEADED ARROW TO BAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B73\"},11126:{\"value\":\"2B76\",\"name\":\"NORTH WEST TRIANGLE-HEADED ARROW TO BAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B76\"},11127:{\"value\":\"2B77\",\"name\":\"NORTH EAST TRIANGLE-HEADED ARROW TO BAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B77\"},11128:{\"value\":\"2B78\",\"name\":\"SOUTH EAST TRIANGLE-HEADED ARROW TO BAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B78\"},11129:{\"value\":\"2B79\",\"name\":\"SOUTH WEST TRIANGLE-HEADED ARROW TO BAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B79\"},11130:{\"value\":\"2B7A\",\"name\":\"LEFTWARDS TRIANGLE-HEADED ARROW WITH DOUBLE HORIZONTAL STROKE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B7A\"},11131:{\"value\":\"2B7B\",\"name\":\"UPWARDS TRIANGLE-HEADED ARROW WITH DOUBLE HORIZONTAL STROKE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B7B\"},11132:{\"value\":\"2B7C\",\"name\":\"RIGHTWARDS TRIANGLE-HEADED ARROW WITH DOUBLE HORIZONTAL STROKE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B7C\"},11133:{\"value\":\"2B7D\",\"name\":\"DOWNWARDS TRIANGLE-HEADED ARROW WITH DOUBLE HORIZONTAL STROKE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B7D\"},11134:{\"value\":\"2B7E\",\"name\":\"HORIZONTAL TAB KEY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B7E\"},11135:{\"value\":\"2B7F\",\"name\":\"VERTICAL TAB KEY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B7F\"},11136:{\"value\":\"2B80\",\"name\":\"LEFTWARDS TRIANGLE-HEADED ARROW OVER RIGHTWARDS TRIANGLE-HEADED ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B80\"},11137:{\"value\":\"2B81\",\"name\":\"UPWARDS TRIANGLE-HEADED ARROW LEFTWARDS OF DOWNWARDS TRIANGLE-HEADED ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B81\"},11138:{\"value\":\"2B82\",\"name\":\"RIGHTWARDS TRIANGLE-HEADED ARROW OVER LEFTWARDS TRIANGLE-HEADED ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B82\"},11139:{\"value\":\"2B83\",\"name\":\"DOWNWARDS TRIANGLE-HEADED ARROW LEFTWARDS OF UPWARDS TRIANGLE-HEADED ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B83\"},11140:{\"value\":\"2B84\",\"name\":\"LEFTWARDS TRIANGLE-HEADED PAIRED ARROWS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B84\"},11141:{\"value\":\"2B85\",\"name\":\"UPWARDS TRIANGLE-HEADED PAIRED ARROWS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B85\"},11142:{\"value\":\"2B86\",\"name\":\"RIGHTWARDS TRIANGLE-HEADED PAIRED ARROWS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B86\"},11143:{\"value\":\"2B87\",\"name\":\"DOWNWARDS TRIANGLE-HEADED PAIRED ARROWS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B87\"},11144:{\"value\":\"2B88\",\"name\":\"LEFTWARDS BLACK CIRCLED WHITE ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B88\"},11145:{\"value\":\"2B89\",\"name\":\"UPWARDS BLACK CIRCLED WHITE ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B89\"},11146:{\"value\":\"2B8A\",\"name\":\"RIGHTWARDS BLACK CIRCLED WHITE ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B8A\"},11147:{\"value\":\"2B8B\",\"name\":\"DOWNWARDS BLACK CIRCLED WHITE ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B8B\"},11148:{\"value\":\"2B8C\",\"name\":\"ANTICLOCKWISE TRIANGLE-HEADED RIGHT U-SHAPED ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B8C\"},11149:{\"value\":\"2B8D\",\"name\":\"ANTICLOCKWISE TRIANGLE-HEADED BOTTOM U-SHAPED ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B8D\"},11150:{\"value\":\"2B8E\",\"name\":\"ANTICLOCKWISE TRIANGLE-HEADED LEFT U-SHAPED ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B8E\"},11151:{\"value\":\"2B8F\",\"name\":\"ANTICLOCKWISE TRIANGLE-HEADED TOP U-SHAPED ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B8F\"},11152:{\"value\":\"2B90\",\"name\":\"RETURN LEFT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B90\"},11153:{\"value\":\"2B91\",\"name\":\"RETURN RIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B91\"},11154:{\"value\":\"2B92\",\"name\":\"NEWLINE LEFT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B92\"},11155:{\"value\":\"2B93\",\"name\":\"NEWLINE RIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B93\"},11156:{\"value\":\"2B94\",\"name\":\"FOUR CORNER ARROWS CIRCLING ANTICLOCKWISE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B94\"},11157:{\"value\":\"2B95\",\"name\":\"RIGHTWARDS BLACK ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B95\"},11160:{\"value\":\"2B98\",\"name\":\"THREE-D TOP-LIGHTED LEFTWARDS EQUILATERAL ARROWHEAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B98\"},11161:{\"value\":\"2B99\",\"name\":\"THREE-D RIGHT-LIGHTED UPWARDS EQUILATERAL ARROWHEAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B99\"},11162:{\"value\":\"2B9A\",\"name\":\"THREE-D TOP-LIGHTED RIGHTWARDS EQUILATERAL ARROWHEAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B9A\"},11163:{\"value\":\"2B9B\",\"name\":\"THREE-D LEFT-LIGHTED DOWNWARDS EQUILATERAL ARROWHEAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B9B\"},11164:{\"value\":\"2B9C\",\"name\":\"BLACK LEFTWARDS EQUILATERAL ARROWHEAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B9C\"},11165:{\"value\":\"2B9D\",\"name\":\"BLACK UPWARDS EQUILATERAL ARROWHEAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B9D\"},11166:{\"value\":\"2B9E\",\"name\":\"BLACK RIGHTWARDS EQUILATERAL ARROWHEAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B9E\"},11167:{\"value\":\"2B9F\",\"name\":\"BLACK DOWNWARDS EQUILATERAL ARROWHEAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2B9F\"},11168:{\"value\":\"2BA0\",\"name\":\"DOWNWARDS TRIANGLE-HEADED ARROW WITH LONG TIP LEFTWARDS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2BA0\"},11169:{\"value\":\"2BA1\",\"name\":\"DOWNWARDS TRIANGLE-HEADED ARROW WITH LONG TIP RIGHTWARDS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2BA1\"},11170:{\"value\":\"2BA2\",\"name\":\"UPWARDS TRIANGLE-HEADED ARROW WITH LONG TIP LEFTWARDS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2BA2\"},11171:{\"value\":\"2BA3\",\"name\":\"UPWARDS TRIANGLE-HEADED ARROW WITH LONG TIP RIGHTWARDS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2BA3\"},11172:{\"value\":\"2BA4\",\"name\":\"LEFTWARDS TRIANGLE-HEADED ARROW WITH LONG TIP UPWARDS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2BA4\"},11173:{\"value\":\"2BA5\",\"name\":\"RIGHTWARDS TRIANGLE-HEADED ARROW WITH LONG TIP UPWARDS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2BA5\"},11174:{\"value\":\"2BA6\",\"name\":\"LEFTWARDS TRIANGLE-HEADED ARROW WITH LONG TIP DOWNWARDS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2BA6\"},11175:{\"value\":\"2BA7\",\"name\":\"RIGHTWARDS TRIANGLE-HEADED ARROW WITH LONG TIP DOWNWARDS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2BA7\"},11176:{\"value\":\"2BA8\",\"name\":\"BLACK CURVED DOWNWARDS AND LEFTWARDS ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2BA8\"},11177:{\"value\":\"2BA9\",\"name\":\"BLACK CURVED DOWNWARDS AND RIGHTWARDS ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2BA9\"},11178:{\"value\":\"2BAA\",\"name\":\"BLACK CURVED UPWARDS AND LEFTWARDS ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2BAA\"},11179:{\"value\":\"2BAB\",\"name\":\"BLACK CURVED UPWARDS AND RIGHTWARDS ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2BAB\"},11180:{\"value\":\"2BAC\",\"name\":\"BLACK CURVED LEFTWARDS AND UPWARDS ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2BAC\"},11181:{\"value\":\"2BAD\",\"name\":\"BLACK CURVED RIGHTWARDS AND UPWARDS ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2BAD\"},11182:{\"value\":\"2BAE\",\"name\":\"BLACK CURVED LEFTWARDS AND DOWNWARDS ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2BAE\"},11183:{\"value\":\"2BAF\",\"name\":\"BLACK CURVED RIGHTWARDS AND DOWNWARDS ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2BAF\"},11184:{\"value\":\"2BB0\",\"name\":\"RIBBON ARROW DOWN LEFT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2BB0\"},11185:{\"value\":\"2BB1\",\"name\":\"RIBBON ARROW DOWN RIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2BB1\"},11186:{\"value\":\"2BB2\",\"name\":\"RIBBON ARROW UP LEFT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2BB2\"},11187:{\"value\":\"2BB3\",\"name\":\"RIBBON ARROW UP RIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2BB3\"},11188:{\"value\":\"2BB4\",\"name\":\"RIBBON ARROW LEFT UP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2BB4\"},11189:{\"value\":\"2BB5\",\"name\":\"RIBBON ARROW RIGHT UP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2BB5\"},11190:{\"value\":\"2BB6\",\"name\":\"RIBBON ARROW LEFT DOWN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2BB6\"},11191:{\"value\":\"2BB7\",\"name\":\"RIBBON ARROW RIGHT DOWN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2BB7\"},11192:{\"value\":\"2BB8\",\"name\":\"UPWARDS WHITE ARROW FROM BAR WITH HORIZONTAL BAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2BB8\"},11193:{\"value\":\"2BB9\",\"name\":\"UP ARROWHEAD IN A RECTANGLE BOX\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2BB9\"},11197:{\"value\":\"2BBD\",\"name\":\"BALLOT BOX WITH LIGHT X\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2BBD\"},11198:{\"value\":\"2BBE\",\"name\":\"CIRCLED X\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2BBE\"},11199:{\"value\":\"2BBF\",\"name\":\"CIRCLED BOLD X\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2BBF\"},11200:{\"value\":\"2BC0\",\"name\":\"BLACK SQUARE CENTRED\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2BC0\"},11201:{\"value\":\"2BC1\",\"name\":\"BLACK DIAMOND CENTRED\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2BC1\"},11202:{\"value\":\"2BC2\",\"name\":\"TURNED BLACK PENTAGON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2BC2\"},11203:{\"value\":\"2BC3\",\"name\":\"HORIZONTAL BLACK OCTAGON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2BC3\"},11204:{\"value\":\"2BC4\",\"name\":\"BLACK OCTAGON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2BC4\"},11205:{\"value\":\"2BC5\",\"name\":\"BLACK MEDIUM UP-POINTING TRIANGLE CENTRED\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2BC5\"},11206:{\"value\":\"2BC6\",\"name\":\"BLACK MEDIUM DOWN-POINTING TRIANGLE CENTRED\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2BC6\"},11207:{\"value\":\"2BC7\",\"name\":\"BLACK MEDIUM LEFT-POINTING TRIANGLE CENTRED\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2BC7\"},11208:{\"value\":\"2BC8\",\"name\":\"BLACK MEDIUM RIGHT-POINTING TRIANGLE CENTRED\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2BC8\"},11210:{\"value\":\"2BCA\",\"name\":\"TOP HALF BLACK CIRCLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2BCA\"},11211:{\"value\":\"2BCB\",\"name\":\"BOTTOM HALF BLACK CIRCLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2BCB\"},11212:{\"value\":\"2BCC\",\"name\":\"LIGHT FOUR POINTED BLACK CUSP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2BCC\"},11213:{\"value\":\"2BCD\",\"name\":\"ROTATED LIGHT FOUR POINTED BLACK CUSP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2BCD\"},11214:{\"value\":\"2BCE\",\"name\":\"WHITE FOUR POINTED CUSP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2BCE\"},11215:{\"value\":\"2BCF\",\"name\":\"ROTATED WHITE FOUR POINTED CUSP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2BCF\"},11216:{\"value\":\"2BD0\",\"name\":\"SQUARE POSITION INDICATOR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2BD0\"},11217:{\"value\":\"2BD1\",\"name\":\"UNCERTAINTY SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2BD1\"},11244:{\"value\":\"2BEC\",\"name\":\"LEFTWARDS TWO-HEADED ARROW WITH TRIANGLE ARROWHEADS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2BEC\"},11245:{\"value\":\"2BED\",\"name\":\"UPWARDS TWO-HEADED ARROW WITH TRIANGLE ARROWHEADS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2BED\"},11246:{\"value\":\"2BEE\",\"name\":\"RIGHTWARDS TWO-HEADED ARROW WITH TRIANGLE ARROWHEADS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2BEE\"},11247:{\"value\":\"2BEF\",\"name\":\"DOWNWARDS TWO-HEADED ARROW WITH TRIANGLE ARROWHEADS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2BEF\"},11493:{\"value\":\"2CE5\",\"name\":\"COPTIC SYMBOL MI RO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2CE5\"},11494:{\"value\":\"2CE6\",\"name\":\"COPTIC SYMBOL PI RO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2CE6\"},11495:{\"value\":\"2CE7\",\"name\":\"COPTIC SYMBOL STAUROS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2CE7\"},11496:{\"value\":\"2CE8\",\"name\":\"COPTIC SYMBOL TAU RO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2CE8\"},11497:{\"value\":\"2CE9\",\"name\":\"COPTIC SYMBOL KHI RO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2CE9\"},11498:{\"value\":\"2CEA\",\"name\":\"COPTIC SYMBOL SHIMA SIMA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2CEA\"},11904:{\"value\":\"2E80\",\"name\":\"CJK RADICAL REPEAT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2E80\"},11905:{\"value\":\"2E81\",\"name\":\"CJK RADICAL CLIFF\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2E81\"},11906:{\"value\":\"2E82\",\"name\":\"CJK RADICAL SECOND ONE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2E82\"},11907:{\"value\":\"2E83\",\"name\":\"CJK RADICAL SECOND TWO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2E83\"},11908:{\"value\":\"2E84\",\"name\":\"CJK RADICAL SECOND THREE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2E84\"},11909:{\"value\":\"2E85\",\"name\":\"CJK RADICAL PERSON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2E85\"},11910:{\"value\":\"2E86\",\"name\":\"CJK RADICAL BOX\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2E86\"},11911:{\"value\":\"2E87\",\"name\":\"CJK RADICAL TABLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2E87\"},11912:{\"value\":\"2E88\",\"name\":\"CJK RADICAL KNIFE ONE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2E88\"},11913:{\"value\":\"2E89\",\"name\":\"CJK RADICAL KNIFE TWO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2E89\"},11914:{\"value\":\"2E8A\",\"name\":\"CJK RADICAL DIVINATION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2E8A\"},11915:{\"value\":\"2E8B\",\"name\":\"CJK RADICAL SEAL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2E8B\"},11916:{\"value\":\"2E8C\",\"name\":\"CJK RADICAL SMALL ONE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2E8C\"},11917:{\"value\":\"2E8D\",\"name\":\"CJK RADICAL SMALL TWO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2E8D\"},11918:{\"value\":\"2E8E\",\"name\":\"CJK RADICAL LAME ONE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2E8E\"},11919:{\"value\":\"2E8F\",\"name\":\"CJK RADICAL LAME TWO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2E8F\"},11920:{\"value\":\"2E90\",\"name\":\"CJK RADICAL LAME THREE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2E90\"},11921:{\"value\":\"2E91\",\"name\":\"CJK RADICAL LAME FOUR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2E91\"},11922:{\"value\":\"2E92\",\"name\":\"CJK RADICAL SNAKE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2E92\"},11923:{\"value\":\"2E93\",\"name\":\"CJK RADICAL THREAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2E93\"},11924:{\"value\":\"2E94\",\"name\":\"CJK RADICAL SNOUT ONE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2E94\"},11925:{\"value\":\"2E95\",\"name\":\"CJK RADICAL SNOUT TWO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2E95\"},11926:{\"value\":\"2E96\",\"name\":\"CJK RADICAL HEART ONE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2E96\"},11927:{\"value\":\"2E97\",\"name\":\"CJK RADICAL HEART TWO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2E97\"},11928:{\"value\":\"2E98\",\"name\":\"CJK RADICAL HAND\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2E98\"},11929:{\"value\":\"2E99\",\"name\":\"CJK RADICAL RAP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2E99\"},11931:{\"value\":\"2E9B\",\"name\":\"CJK RADICAL CHOKE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2E9B\"},11932:{\"value\":\"2E9C\",\"name\":\"CJK RADICAL SUN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2E9C\"},11933:{\"value\":\"2E9D\",\"name\":\"CJK RADICAL MOON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2E9D\"},11934:{\"value\":\"2E9E\",\"name\":\"CJK RADICAL DEATH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2E9E\"},11935:{\"value\":\"2E9F\",\"name\":\"CJK RADICAL MOTHER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 6BCD\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2E9F\"},11936:{\"value\":\"2EA0\",\"name\":\"CJK RADICAL CIVILIAN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2EA0\"},11937:{\"value\":\"2EA1\",\"name\":\"CJK RADICAL WATER ONE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2EA1\"},11938:{\"value\":\"2EA2\",\"name\":\"CJK RADICAL WATER TWO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2EA2\"},11939:{\"value\":\"2EA3\",\"name\":\"CJK RADICAL FIRE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2EA3\"},11940:{\"value\":\"2EA4\",\"name\":\"CJK RADICAL PAW ONE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2EA4\"},11941:{\"value\":\"2EA5\",\"name\":\"CJK RADICAL PAW TWO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2EA5\"},11942:{\"value\":\"2EA6\",\"name\":\"CJK RADICAL SIMPLIFIED HALF TREE TRUNK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2EA6\"},11943:{\"value\":\"2EA7\",\"name\":\"CJK RADICAL COW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2EA7\"},11944:{\"value\":\"2EA8\",\"name\":\"CJK RADICAL DOG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2EA8\"},11945:{\"value\":\"2EA9\",\"name\":\"CJK RADICAL JADE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2EA9\"},11946:{\"value\":\"2EAA\",\"name\":\"CJK RADICAL BOLT OF CLOTH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2EAA\"},11947:{\"value\":\"2EAB\",\"name\":\"CJK RADICAL EYE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2EAB\"},11948:{\"value\":\"2EAC\",\"name\":\"CJK RADICAL SPIRIT ONE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2EAC\"},11949:{\"value\":\"2EAD\",\"name\":\"CJK RADICAL SPIRIT TWO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2EAD\"},11950:{\"value\":\"2EAE\",\"name\":\"CJK RADICAL BAMBOO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2EAE\"},11951:{\"value\":\"2EAF\",\"name\":\"CJK RADICAL SILK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2EAF\"},11952:{\"value\":\"2EB0\",\"name\":\"CJK RADICAL C-SIMPLIFIED SILK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2EB0\"},11953:{\"value\":\"2EB1\",\"name\":\"CJK RADICAL NET ONE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2EB1\"},11954:{\"value\":\"2EB2\",\"name\":\"CJK RADICAL NET TWO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2EB2\"},11955:{\"value\":\"2EB3\",\"name\":\"CJK RADICAL NET THREE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2EB3\"},11956:{\"value\":\"2EB4\",\"name\":\"CJK RADICAL NET FOUR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2EB4\"},11957:{\"value\":\"2EB5\",\"name\":\"CJK RADICAL MESH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2EB5\"},11958:{\"value\":\"2EB6\",\"name\":\"CJK RADICAL SHEEP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2EB6\"},11959:{\"value\":\"2EB7\",\"name\":\"CJK RADICAL RAM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2EB7\"},11960:{\"value\":\"2EB8\",\"name\":\"CJK RADICAL EWE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2EB8\"},11961:{\"value\":\"2EB9\",\"name\":\"CJK RADICAL OLD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2EB9\"},11962:{\"value\":\"2EBA\",\"name\":\"CJK RADICAL BRUSH ONE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2EBA\"},11963:{\"value\":\"2EBB\",\"name\":\"CJK RADICAL BRUSH TWO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2EBB\"},11964:{\"value\":\"2EBC\",\"name\":\"CJK RADICAL MEAT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2EBC\"},11965:{\"value\":\"2EBD\",\"name\":\"CJK RADICAL MORTAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2EBD\"},11966:{\"value\":\"2EBE\",\"name\":\"CJK RADICAL GRASS ONE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2EBE\"},11967:{\"value\":\"2EBF\",\"name\":\"CJK RADICAL GRASS TWO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2EBF\"},11968:{\"value\":\"2EC0\",\"name\":\"CJK RADICAL GRASS THREE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2EC0\"},11969:{\"value\":\"2EC1\",\"name\":\"CJK RADICAL TIGER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2EC1\"},11970:{\"value\":\"2EC2\",\"name\":\"CJK RADICAL CLOTHES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2EC2\"},11971:{\"value\":\"2EC3\",\"name\":\"CJK RADICAL WEST ONE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2EC3\"},11972:{\"value\":\"2EC4\",\"name\":\"CJK RADICAL WEST TWO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2EC4\"},11973:{\"value\":\"2EC5\",\"name\":\"CJK RADICAL C-SIMPLIFIED SEE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2EC5\"},11974:{\"value\":\"2EC6\",\"name\":\"CJK RADICAL SIMPLIFIED HORN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2EC6\"},11975:{\"value\":\"2EC7\",\"name\":\"CJK RADICAL HORN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2EC7\"},11976:{\"value\":\"2EC8\",\"name\":\"CJK RADICAL C-SIMPLIFIED SPEECH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2EC8\"},11977:{\"value\":\"2EC9\",\"name\":\"CJK RADICAL C-SIMPLIFIED SHELL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2EC9\"},11978:{\"value\":\"2ECA\",\"name\":\"CJK RADICAL FOOT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2ECA\"},11979:{\"value\":\"2ECB\",\"name\":\"CJK RADICAL C-SIMPLIFIED CART\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2ECB\"},11980:{\"value\":\"2ECC\",\"name\":\"CJK RADICAL SIMPLIFIED WALK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2ECC\"},11981:{\"value\":\"2ECD\",\"name\":\"CJK RADICAL WALK ONE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2ECD\"},11982:{\"value\":\"2ECE\",\"name\":\"CJK RADICAL WALK TWO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2ECE\"},11983:{\"value\":\"2ECF\",\"name\":\"CJK RADICAL CITY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2ECF\"},11984:{\"value\":\"2ED0\",\"name\":\"CJK RADICAL C-SIMPLIFIED GOLD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2ED0\"},11985:{\"value\":\"2ED1\",\"name\":\"CJK RADICAL LONG ONE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2ED1\"},11986:{\"value\":\"2ED2\",\"name\":\"CJK RADICAL LONG TWO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2ED2\"},11987:{\"value\":\"2ED3\",\"name\":\"CJK RADICAL C-SIMPLIFIED LONG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2ED3\"},11988:{\"value\":\"2ED4\",\"name\":\"CJK RADICAL C-SIMPLIFIED GATE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2ED4\"},11989:{\"value\":\"2ED5\",\"name\":\"CJK RADICAL MOUND ONE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2ED5\"},11990:{\"value\":\"2ED6\",\"name\":\"CJK RADICAL MOUND TWO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2ED6\"},11991:{\"value\":\"2ED7\",\"name\":\"CJK RADICAL RAIN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2ED7\"},11992:{\"value\":\"2ED8\",\"name\":\"CJK RADICAL BLUE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2ED8\"},11993:{\"value\":\"2ED9\",\"name\":\"CJK RADICAL C-SIMPLIFIED TANNED LEATHER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2ED9\"},11994:{\"value\":\"2EDA\",\"name\":\"CJK RADICAL C-SIMPLIFIED LEAF\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2EDA\"},11995:{\"value\":\"2EDB\",\"name\":\"CJK RADICAL C-SIMPLIFIED WIND\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2EDB\"},11996:{\"value\":\"2EDC\",\"name\":\"CJK RADICAL C-SIMPLIFIED FLY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2EDC\"},11997:{\"value\":\"2EDD\",\"name\":\"CJK RADICAL EAT ONE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2EDD\"},11998:{\"value\":\"2EDE\",\"name\":\"CJK RADICAL EAT TWO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2EDE\"},11999:{\"value\":\"2EDF\",\"name\":\"CJK RADICAL EAT THREE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2EDF\"},12000:{\"value\":\"2EE0\",\"name\":\"CJK RADICAL C-SIMPLIFIED EAT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2EE0\"},12001:{\"value\":\"2EE1\",\"name\":\"CJK RADICAL HEAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2EE1\"},12002:{\"value\":\"2EE2\",\"name\":\"CJK RADICAL C-SIMPLIFIED HORSE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2EE2\"},12003:{\"value\":\"2EE3\",\"name\":\"CJK RADICAL BONE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2EE3\"},12004:{\"value\":\"2EE4\",\"name\":\"CJK RADICAL GHOST\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2EE4\"},12005:{\"value\":\"2EE5\",\"name\":\"CJK RADICAL C-SIMPLIFIED FISH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2EE5\"},12006:{\"value\":\"2EE6\",\"name\":\"CJK RADICAL C-SIMPLIFIED BIRD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2EE6\"},12007:{\"value\":\"2EE7\",\"name\":\"CJK RADICAL C-SIMPLIFIED SALT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2EE7\"},12008:{\"value\":\"2EE8\",\"name\":\"CJK RADICAL SIMPLIFIED WHEAT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2EE8\"},12009:{\"value\":\"2EE9\",\"name\":\"CJK RADICAL SIMPLIFIED YELLOW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2EE9\"},12010:{\"value\":\"2EEA\",\"name\":\"CJK RADICAL C-SIMPLIFIED FROG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2EEA\"},12011:{\"value\":\"2EEB\",\"name\":\"CJK RADICAL J-SIMPLIFIED EVEN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2EEB\"},12012:{\"value\":\"2EEC\",\"name\":\"CJK RADICAL C-SIMPLIFIED EVEN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2EEC\"},12013:{\"value\":\"2EED\",\"name\":\"CJK RADICAL J-SIMPLIFIED TOOTH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2EED\"},12014:{\"value\":\"2EEE\",\"name\":\"CJK RADICAL C-SIMPLIFIED TOOTH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2EEE\"},12015:{\"value\":\"2EEF\",\"name\":\"CJK RADICAL J-SIMPLIFIED DRAGON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2EEF\"},12016:{\"value\":\"2EF0\",\"name\":\"CJK RADICAL C-SIMPLIFIED DRAGON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2EF0\"},12017:{\"value\":\"2EF1\",\"name\":\"CJK RADICAL TURTLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2EF1\"},12018:{\"value\":\"2EF2\",\"name\":\"CJK RADICAL J-SIMPLIFIED TURTLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2EF2\"},12019:{\"value\":\"2EF3\",\"name\":\"CJK RADICAL C-SIMPLIFIED TURTLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 9F9F\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2EF3\"},12032:{\"value\":\"2F00\",\"name\":\"KANGXI RADICAL ONE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 4E00\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F00\"},12033:{\"value\":\"2F01\",\"name\":\"KANGXI RADICAL LINE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 4E28\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F01\"},12034:{\"value\":\"2F02\",\"name\":\"KANGXI RADICAL DOT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 4E36\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F02\"},12035:{\"value\":\"2F03\",\"name\":\"KANGXI RADICAL SLASH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 4E3F\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F03\"},12036:{\"value\":\"2F04\",\"name\":\"KANGXI RADICAL SECOND\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 4E59\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F04\"},12037:{\"value\":\"2F05\",\"name\":\"KANGXI RADICAL HOOK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 4E85\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F05\"},12038:{\"value\":\"2F06\",\"name\":\"KANGXI RADICAL TWO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 4E8C\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F06\"},12039:{\"value\":\"2F07\",\"name\":\"KANGXI RADICAL LID\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 4EA0\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F07\"},12040:{\"value\":\"2F08\",\"name\":\"KANGXI RADICAL MAN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 4EBA\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F08\"},12041:{\"value\":\"2F09\",\"name\":\"KANGXI RADICAL LEGS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 513F\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F09\"},12042:{\"value\":\"2F0A\",\"name\":\"KANGXI RADICAL ENTER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 5165\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F0A\"},12043:{\"value\":\"2F0B\",\"name\":\"KANGXI RADICAL EIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 516B\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F0B\"},12044:{\"value\":\"2F0C\",\"name\":\"KANGXI RADICAL DOWN BOX\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 5182\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F0C\"},12045:{\"value\":\"2F0D\",\"name\":\"KANGXI RADICAL COVER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 5196\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F0D\"},12046:{\"value\":\"2F0E\",\"name\":\"KANGXI RADICAL ICE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 51AB\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F0E\"},12047:{\"value\":\"2F0F\",\"name\":\"KANGXI RADICAL TABLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 51E0\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F0F\"},12048:{\"value\":\"2F10\",\"name\":\"KANGXI RADICAL OPEN BOX\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 51F5\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F10\"},12049:{\"value\":\"2F11\",\"name\":\"KANGXI RADICAL KNIFE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 5200\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F11\"},12050:{\"value\":\"2F12\",\"name\":\"KANGXI RADICAL POWER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 529B\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F12\"},12051:{\"value\":\"2F13\",\"name\":\"KANGXI RADICAL WRAP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 52F9\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F13\"},12052:{\"value\":\"2F14\",\"name\":\"KANGXI RADICAL SPOON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 5315\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F14\"},12053:{\"value\":\"2F15\",\"name\":\"KANGXI RADICAL RIGHT OPEN BOX\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 531A\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F15\"},12054:{\"value\":\"2F16\",\"name\":\"KANGXI RADICAL HIDING ENCLOSURE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 5338\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F16\"},12055:{\"value\":\"2F17\",\"name\":\"KANGXI RADICAL TEN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 5341\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F17\"},12056:{\"value\":\"2F18\",\"name\":\"KANGXI RADICAL DIVINATION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 535C\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F18\"},12057:{\"value\":\"2F19\",\"name\":\"KANGXI RADICAL SEAL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 5369\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F19\"},12058:{\"value\":\"2F1A\",\"name\":\"KANGXI RADICAL CLIFF\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 5382\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F1A\"},12059:{\"value\":\"2F1B\",\"name\":\"KANGXI RADICAL PRIVATE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 53B6\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F1B\"},12060:{\"value\":\"2F1C\",\"name\":\"KANGXI RADICAL AGAIN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 53C8\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F1C\"},12061:{\"value\":\"2F1D\",\"name\":\"KANGXI RADICAL MOUTH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 53E3\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F1D\"},12062:{\"value\":\"2F1E\",\"name\":\"KANGXI RADICAL ENCLOSURE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 56D7\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F1E\"},12063:{\"value\":\"2F1F\",\"name\":\"KANGXI RADICAL EARTH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 571F\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F1F\"},12064:{\"value\":\"2F20\",\"name\":\"KANGXI RADICAL SCHOLAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 58EB\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F20\"},12065:{\"value\":\"2F21\",\"name\":\"KANGXI RADICAL GO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 5902\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F21\"},12066:{\"value\":\"2F22\",\"name\":\"KANGXI RADICAL GO SLOWLY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 590A\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F22\"},12067:{\"value\":\"2F23\",\"name\":\"KANGXI RADICAL EVENING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 5915\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F23\"},12068:{\"value\":\"2F24\",\"name\":\"KANGXI RADICAL BIG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 5927\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F24\"},12069:{\"value\":\"2F25\",\"name\":\"KANGXI RADICAL WOMAN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 5973\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F25\"},12070:{\"value\":\"2F26\",\"name\":\"KANGXI RADICAL CHILD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 5B50\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F26\"},12071:{\"value\":\"2F27\",\"name\":\"KANGXI RADICAL ROOF\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 5B80\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F27\"},12072:{\"value\":\"2F28\",\"name\":\"KANGXI RADICAL INCH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 5BF8\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F28\"},12073:{\"value\":\"2F29\",\"name\":\"KANGXI RADICAL SMALL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 5C0F\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F29\"},12074:{\"value\":\"2F2A\",\"name\":\"KANGXI RADICAL LAME\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 5C22\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F2A\"},12075:{\"value\":\"2F2B\",\"name\":\"KANGXI RADICAL CORPSE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 5C38\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F2B\"},12076:{\"value\":\"2F2C\",\"name\":\"KANGXI RADICAL SPROUT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 5C6E\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F2C\"},12077:{\"value\":\"2F2D\",\"name\":\"KANGXI RADICAL MOUNTAIN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 5C71\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F2D\"},12078:{\"value\":\"2F2E\",\"name\":\"KANGXI RADICAL RIVER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 5DDB\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F2E\"},12079:{\"value\":\"2F2F\",\"name\":\"KANGXI RADICAL WORK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 5DE5\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F2F\"},12080:{\"value\":\"2F30\",\"name\":\"KANGXI RADICAL ONESELF\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 5DF1\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F30\"},12081:{\"value\":\"2F31\",\"name\":\"KANGXI RADICAL TURBAN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 5DFE\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F31\"},12082:{\"value\":\"2F32\",\"name\":\"KANGXI RADICAL DRY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 5E72\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F32\"},12083:{\"value\":\"2F33\",\"name\":\"KANGXI RADICAL SHORT THREAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 5E7A\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F33\"},12084:{\"value\":\"2F34\",\"name\":\"KANGXI RADICAL DOTTED CLIFF\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 5E7F\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F34\"},12085:{\"value\":\"2F35\",\"name\":\"KANGXI RADICAL LONG STRIDE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 5EF4\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F35\"},12086:{\"value\":\"2F36\",\"name\":\"KANGXI RADICAL TWO HANDS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 5EFE\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F36\"},12087:{\"value\":\"2F37\",\"name\":\"KANGXI RADICAL SHOOT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 5F0B\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F37\"},12088:{\"value\":\"2F38\",\"name\":\"KANGXI RADICAL BOW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 5F13\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F38\"},12089:{\"value\":\"2F39\",\"name\":\"KANGXI RADICAL SNOUT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 5F50\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F39\"},12090:{\"value\":\"2F3A\",\"name\":\"KANGXI RADICAL BRISTLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 5F61\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F3A\"},12091:{\"value\":\"2F3B\",\"name\":\"KANGXI RADICAL STEP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 5F73\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F3B\"},12092:{\"value\":\"2F3C\",\"name\":\"KANGXI RADICAL HEART\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 5FC3\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F3C\"},12093:{\"value\":\"2F3D\",\"name\":\"KANGXI RADICAL HALBERD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 6208\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F3D\"},12094:{\"value\":\"2F3E\",\"name\":\"KANGXI RADICAL DOOR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 6236\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F3E\"},12095:{\"value\":\"2F3F\",\"name\":\"KANGXI RADICAL HAND\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 624B\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F3F\"},12096:{\"value\":\"2F40\",\"name\":\"KANGXI RADICAL BRANCH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 652F\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F40\"},12097:{\"value\":\"2F41\",\"name\":\"KANGXI RADICAL RAP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 6534\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F41\"},12098:{\"value\":\"2F42\",\"name\":\"KANGXI RADICAL SCRIPT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 6587\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F42\"},12099:{\"value\":\"2F43\",\"name\":\"KANGXI RADICAL DIPPER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 6597\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F43\"},12100:{\"value\":\"2F44\",\"name\":\"KANGXI RADICAL AXE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 65A4\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F44\"},12101:{\"value\":\"2F45\",\"name\":\"KANGXI RADICAL SQUARE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 65B9\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F45\"},12102:{\"value\":\"2F46\",\"name\":\"KANGXI RADICAL NOT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 65E0\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F46\"},12103:{\"value\":\"2F47\",\"name\":\"KANGXI RADICAL SUN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 65E5\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F47\"},12104:{\"value\":\"2F48\",\"name\":\"KANGXI RADICAL SAY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 66F0\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F48\"},12105:{\"value\":\"2F49\",\"name\":\"KANGXI RADICAL MOON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 6708\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F49\"},12106:{\"value\":\"2F4A\",\"name\":\"KANGXI RADICAL TREE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 6728\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F4A\"},12107:{\"value\":\"2F4B\",\"name\":\"KANGXI RADICAL LACK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 6B20\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F4B\"},12108:{\"value\":\"2F4C\",\"name\":\"KANGXI RADICAL STOP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 6B62\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F4C\"},12109:{\"value\":\"2F4D\",\"name\":\"KANGXI RADICAL DEATH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 6B79\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F4D\"},12110:{\"value\":\"2F4E\",\"name\":\"KANGXI RADICAL WEAPON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 6BB3\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F4E\"},12111:{\"value\":\"2F4F\",\"name\":\"KANGXI RADICAL DO NOT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 6BCB\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F4F\"},12112:{\"value\":\"2F50\",\"name\":\"KANGXI RADICAL COMPARE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 6BD4\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F50\"},12113:{\"value\":\"2F51\",\"name\":\"KANGXI RADICAL FUR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 6BDB\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F51\"},12114:{\"value\":\"2F52\",\"name\":\"KANGXI RADICAL CLAN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 6C0F\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F52\"},12115:{\"value\":\"2F53\",\"name\":\"KANGXI RADICAL STEAM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 6C14\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F53\"},12116:{\"value\":\"2F54\",\"name\":\"KANGXI RADICAL WATER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 6C34\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F54\"},12117:{\"value\":\"2F55\",\"name\":\"KANGXI RADICAL FIRE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 706B\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F55\"},12118:{\"value\":\"2F56\",\"name\":\"KANGXI RADICAL CLAW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 722A\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F56\"},12119:{\"value\":\"2F57\",\"name\":\"KANGXI RADICAL FATHER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 7236\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F57\"},12120:{\"value\":\"2F58\",\"name\":\"KANGXI RADICAL DOUBLE X\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 723B\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F58\"},12121:{\"value\":\"2F59\",\"name\":\"KANGXI RADICAL HALF TREE TRUNK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 723F\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F59\"},12122:{\"value\":\"2F5A\",\"name\":\"KANGXI RADICAL SLICE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 7247\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F5A\"},12123:{\"value\":\"2F5B\",\"name\":\"KANGXI RADICAL FANG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 7259\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F5B\"},12124:{\"value\":\"2F5C\",\"name\":\"KANGXI RADICAL COW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 725B\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F5C\"},12125:{\"value\":\"2F5D\",\"name\":\"KANGXI RADICAL DOG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 72AC\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F5D\"},12126:{\"value\":\"2F5E\",\"name\":\"KANGXI RADICAL PROFOUND\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 7384\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F5E\"},12127:{\"value\":\"2F5F\",\"name\":\"KANGXI RADICAL JADE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 7389\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F5F\"},12128:{\"value\":\"2F60\",\"name\":\"KANGXI RADICAL MELON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 74DC\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F60\"},12129:{\"value\":\"2F61\",\"name\":\"KANGXI RADICAL TILE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 74E6\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F61\"},12130:{\"value\":\"2F62\",\"name\":\"KANGXI RADICAL SWEET\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 7518\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F62\"},12131:{\"value\":\"2F63\",\"name\":\"KANGXI RADICAL LIFE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 751F\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F63\"},12132:{\"value\":\"2F64\",\"name\":\"KANGXI RADICAL USE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 7528\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F64\"},12133:{\"value\":\"2F65\",\"name\":\"KANGXI RADICAL FIELD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 7530\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F65\"},12134:{\"value\":\"2F66\",\"name\":\"KANGXI RADICAL BOLT OF CLOTH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 758B\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F66\"},12135:{\"value\":\"2F67\",\"name\":\"KANGXI RADICAL SICKNESS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 7592\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F67\"},12136:{\"value\":\"2F68\",\"name\":\"KANGXI RADICAL DOTTED TENT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 7676\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F68\"},12137:{\"value\":\"2F69\",\"name\":\"KANGXI RADICAL WHITE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 767D\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F69\"},12138:{\"value\":\"2F6A\",\"name\":\"KANGXI RADICAL SKIN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 76AE\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F6A\"},12139:{\"value\":\"2F6B\",\"name\":\"KANGXI RADICAL DISH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 76BF\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F6B\"},12140:{\"value\":\"2F6C\",\"name\":\"KANGXI RADICAL EYE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 76EE\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F6C\"},12141:{\"value\":\"2F6D\",\"name\":\"KANGXI RADICAL SPEAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 77DB\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F6D\"},12142:{\"value\":\"2F6E\",\"name\":\"KANGXI RADICAL ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 77E2\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F6E\"},12143:{\"value\":\"2F6F\",\"name\":\"KANGXI RADICAL STONE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 77F3\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F6F\"},12144:{\"value\":\"2F70\",\"name\":\"KANGXI RADICAL SPIRIT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 793A\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F70\"},12145:{\"value\":\"2F71\",\"name\":\"KANGXI RADICAL TRACK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 79B8\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F71\"},12146:{\"value\":\"2F72\",\"name\":\"KANGXI RADICAL GRAIN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 79BE\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F72\"},12147:{\"value\":\"2F73\",\"name\":\"KANGXI RADICAL CAVE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 7A74\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F73\"},12148:{\"value\":\"2F74\",\"name\":\"KANGXI RADICAL STAND\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 7ACB\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F74\"},12149:{\"value\":\"2F75\",\"name\":\"KANGXI RADICAL BAMBOO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 7AF9\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F75\"},12150:{\"value\":\"2F76\",\"name\":\"KANGXI RADICAL RICE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 7C73\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F76\"},12151:{\"value\":\"2F77\",\"name\":\"KANGXI RADICAL SILK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 7CF8\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F77\"},12152:{\"value\":\"2F78\",\"name\":\"KANGXI RADICAL JAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 7F36\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F78\"},12153:{\"value\":\"2F79\",\"name\":\"KANGXI RADICAL NET\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 7F51\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F79\"},12154:{\"value\":\"2F7A\",\"name\":\"KANGXI RADICAL SHEEP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 7F8A\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F7A\"},12155:{\"value\":\"2F7B\",\"name\":\"KANGXI RADICAL FEATHER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 7FBD\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F7B\"},12156:{\"value\":\"2F7C\",\"name\":\"KANGXI RADICAL OLD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 8001\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F7C\"},12157:{\"value\":\"2F7D\",\"name\":\"KANGXI RADICAL AND\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 800C\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F7D\"},12158:{\"value\":\"2F7E\",\"name\":\"KANGXI RADICAL PLOW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 8012\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F7E\"},12159:{\"value\":\"2F7F\",\"name\":\"KANGXI RADICAL EAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 8033\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F7F\"},12160:{\"value\":\"2F80\",\"name\":\"KANGXI RADICAL BRUSH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 807F\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F80\"},12161:{\"value\":\"2F81\",\"name\":\"KANGXI RADICAL MEAT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 8089\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F81\"},12162:{\"value\":\"2F82\",\"name\":\"KANGXI RADICAL MINISTER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 81E3\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F82\"},12163:{\"value\":\"2F83\",\"name\":\"KANGXI RADICAL SELF\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 81EA\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F83\"},12164:{\"value\":\"2F84\",\"name\":\"KANGXI RADICAL ARRIVE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 81F3\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F84\"},12165:{\"value\":\"2F85\",\"name\":\"KANGXI RADICAL MORTAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 81FC\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F85\"},12166:{\"value\":\"2F86\",\"name\":\"KANGXI RADICAL TONGUE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 820C\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F86\"},12167:{\"value\":\"2F87\",\"name\":\"KANGXI RADICAL OPPOSE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 821B\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F87\"},12168:{\"value\":\"2F88\",\"name\":\"KANGXI RADICAL BOAT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 821F\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F88\"},12169:{\"value\":\"2F89\",\"name\":\"KANGXI RADICAL STOPPING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 826E\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F89\"},12170:{\"value\":\"2F8A\",\"name\":\"KANGXI RADICAL COLOR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 8272\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F8A\"},12171:{\"value\":\"2F8B\",\"name\":\"KANGXI RADICAL GRASS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 8278\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F8B\"},12172:{\"value\":\"2F8C\",\"name\":\"KANGXI RADICAL TIGER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 864D\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F8C\"},12173:{\"value\":\"2F8D\",\"name\":\"KANGXI RADICAL INSECT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 866B\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F8D\"},12174:{\"value\":\"2F8E\",\"name\":\"KANGXI RADICAL BLOOD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 8840\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F8E\"},12175:{\"value\":\"2F8F\",\"name\":\"KANGXI RADICAL WALK ENCLOSURE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 884C\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F8F\"},12176:{\"value\":\"2F90\",\"name\":\"KANGXI RADICAL CLOTHES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 8863\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F90\"},12177:{\"value\":\"2F91\",\"name\":\"KANGXI RADICAL WEST\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 897E\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F91\"},12178:{\"value\":\"2F92\",\"name\":\"KANGXI RADICAL SEE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 898B\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F92\"},12179:{\"value\":\"2F93\",\"name\":\"KANGXI RADICAL HORN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 89D2\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F93\"},12180:{\"value\":\"2F94\",\"name\":\"KANGXI RADICAL SPEECH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 8A00\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F94\"},12181:{\"value\":\"2F95\",\"name\":\"KANGXI RADICAL VALLEY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 8C37\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F95\"},12182:{\"value\":\"2F96\",\"name\":\"KANGXI RADICAL BEAN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 8C46\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F96\"},12183:{\"value\":\"2F97\",\"name\":\"KANGXI RADICAL PIG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 8C55\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F97\"},12184:{\"value\":\"2F98\",\"name\":\"KANGXI RADICAL BADGER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 8C78\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F98\"},12185:{\"value\":\"2F99\",\"name\":\"KANGXI RADICAL SHELL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 8C9D\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F99\"},12186:{\"value\":\"2F9A\",\"name\":\"KANGXI RADICAL RED\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 8D64\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F9A\"},12187:{\"value\":\"2F9B\",\"name\":\"KANGXI RADICAL RUN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 8D70\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F9B\"},12188:{\"value\":\"2F9C\",\"name\":\"KANGXI RADICAL FOOT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 8DB3\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F9C\"},12189:{\"value\":\"2F9D\",\"name\":\"KANGXI RADICAL BODY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 8EAB\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F9D\"},12190:{\"value\":\"2F9E\",\"name\":\"KANGXI RADICAL CART\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 8ECA\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F9E\"},12191:{\"value\":\"2F9F\",\"name\":\"KANGXI RADICAL BITTER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 8F9B\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2F9F\"},12192:{\"value\":\"2FA0\",\"name\":\"KANGXI RADICAL MORNING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 8FB0\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2FA0\"},12193:{\"value\":\"2FA1\",\"name\":\"KANGXI RADICAL WALK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 8FB5\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2FA1\"},12194:{\"value\":\"2FA2\",\"name\":\"KANGXI RADICAL CITY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 9091\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2FA2\"},12195:{\"value\":\"2FA3\",\"name\":\"KANGXI RADICAL WINE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 9149\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2FA3\"},12196:{\"value\":\"2FA4\",\"name\":\"KANGXI RADICAL DISTINGUISH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 91C6\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2FA4\"},12197:{\"value\":\"2FA5\",\"name\":\"KANGXI RADICAL VILLAGE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 91CC\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2FA5\"},12198:{\"value\":\"2FA6\",\"name\":\"KANGXI RADICAL GOLD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 91D1\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2FA6\"},12199:{\"value\":\"2FA7\",\"name\":\"KANGXI RADICAL LONG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 9577\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2FA7\"},12200:{\"value\":\"2FA8\",\"name\":\"KANGXI RADICAL GATE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 9580\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2FA8\"},12201:{\"value\":\"2FA9\",\"name\":\"KANGXI RADICAL MOUND\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 961C\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2FA9\"},12202:{\"value\":\"2FAA\",\"name\":\"KANGXI RADICAL SLAVE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 96B6\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2FAA\"},12203:{\"value\":\"2FAB\",\"name\":\"KANGXI RADICAL SHORT TAILED BIRD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 96B9\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2FAB\"},12204:{\"value\":\"2FAC\",\"name\":\"KANGXI RADICAL RAIN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 96E8\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2FAC\"},12205:{\"value\":\"2FAD\",\"name\":\"KANGXI RADICAL BLUE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 9751\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2FAD\"},12206:{\"value\":\"2FAE\",\"name\":\"KANGXI RADICAL WRONG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 975E\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2FAE\"},12207:{\"value\":\"2FAF\",\"name\":\"KANGXI RADICAL FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 9762\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2FAF\"},12208:{\"value\":\"2FB0\",\"name\":\"KANGXI RADICAL LEATHER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 9769\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2FB0\"},12209:{\"value\":\"2FB1\",\"name\":\"KANGXI RADICAL TANNED LEATHER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 97CB\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2FB1\"},12210:{\"value\":\"2FB2\",\"name\":\"KANGXI RADICAL LEEK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 97ED\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2FB2\"},12211:{\"value\":\"2FB3\",\"name\":\"KANGXI RADICAL SOUND\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 97F3\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2FB3\"},12212:{\"value\":\"2FB4\",\"name\":\"KANGXI RADICAL LEAF\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 9801\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2FB4\"},12213:{\"value\":\"2FB5\",\"name\":\"KANGXI RADICAL WIND\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 98A8\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2FB5\"},12214:{\"value\":\"2FB6\",\"name\":\"KANGXI RADICAL FLY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 98DB\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2FB6\"},12215:{\"value\":\"2FB7\",\"name\":\"KANGXI RADICAL EAT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 98DF\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2FB7\"},12216:{\"value\":\"2FB8\",\"name\":\"KANGXI RADICAL HEAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 9996\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2FB8\"},12217:{\"value\":\"2FB9\",\"name\":\"KANGXI RADICAL FRAGRANT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 9999\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2FB9\"},12218:{\"value\":\"2FBA\",\"name\":\"KANGXI RADICAL HORSE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 99AC\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2FBA\"},12219:{\"value\":\"2FBB\",\"name\":\"KANGXI RADICAL BONE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 9AA8\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2FBB\"},12220:{\"value\":\"2FBC\",\"name\":\"KANGXI RADICAL TALL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 9AD8\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2FBC\"},12221:{\"value\":\"2FBD\",\"name\":\"KANGXI RADICAL HAIR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 9ADF\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2FBD\"},12222:{\"value\":\"2FBE\",\"name\":\"KANGXI RADICAL FIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 9B25\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2FBE\"},12223:{\"value\":\"2FBF\",\"name\":\"KANGXI RADICAL SACRIFICIAL WINE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 9B2F\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2FBF\"},12224:{\"value\":\"2FC0\",\"name\":\"KANGXI RADICAL CAULDRON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 9B32\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2FC0\"},12225:{\"value\":\"2FC1\",\"name\":\"KANGXI RADICAL GHOST\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 9B3C\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2FC1\"},12226:{\"value\":\"2FC2\",\"name\":\"KANGXI RADICAL FISH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 9B5A\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2FC2\"},12227:{\"value\":\"2FC3\",\"name\":\"KANGXI RADICAL BIRD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 9CE5\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2FC3\"},12228:{\"value\":\"2FC4\",\"name\":\"KANGXI RADICAL SALT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 9E75\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2FC4\"},12229:{\"value\":\"2FC5\",\"name\":\"KANGXI RADICAL DEER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 9E7F\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2FC5\"},12230:{\"value\":\"2FC6\",\"name\":\"KANGXI RADICAL WHEAT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 9EA5\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2FC6\"},12231:{\"value\":\"2FC7\",\"name\":\"KANGXI RADICAL HEMP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 9EBB\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2FC7\"},12232:{\"value\":\"2FC8\",\"name\":\"KANGXI RADICAL YELLOW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 9EC3\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2FC8\"},12233:{\"value\":\"2FC9\",\"name\":\"KANGXI RADICAL MILLET\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 9ECD\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2FC9\"},12234:{\"value\":\"2FCA\",\"name\":\"KANGXI RADICAL BLACK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 9ED1\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2FCA\"},12235:{\"value\":\"2FCB\",\"name\":\"KANGXI RADICAL EMBROIDERY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 9EF9\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2FCB\"},12236:{\"value\":\"2FCC\",\"name\":\"KANGXI RADICAL FROG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 9EFD\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2FCC\"},12237:{\"value\":\"2FCD\",\"name\":\"KANGXI RADICAL TRIPOD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 9F0E\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2FCD\"},12238:{\"value\":\"2FCE\",\"name\":\"KANGXI RADICAL DRUM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 9F13\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2FCE\"},12239:{\"value\":\"2FCF\",\"name\":\"KANGXI RADICAL RAT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 9F20\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2FCF\"},12240:{\"value\":\"2FD0\",\"name\":\"KANGXI RADICAL NOSE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 9F3B\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2FD0\"},12241:{\"value\":\"2FD1\",\"name\":\"KANGXI RADICAL EVEN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 9F4A\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2FD1\"},12242:{\"value\":\"2FD2\",\"name\":\"KANGXI RADICAL TOOTH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 9F52\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2FD2\"},12243:{\"value\":\"2FD3\",\"name\":\"KANGXI RADICAL DRAGON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 9F8D\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2FD3\"},12244:{\"value\":\"2FD4\",\"name\":\"KANGXI RADICAL TURTLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 9F9C\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2FD4\"},12245:{\"value\":\"2FD5\",\"name\":\"KANGXI RADICAL FLUTE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 9FA0\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2FD5\"},12272:{\"value\":\"2FF0\",\"name\":\"IDEOGRAPHIC DESCRIPTION CHARACTER LEFT TO RIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2FF0\"},12273:{\"value\":\"2FF1\",\"name\":\"IDEOGRAPHIC DESCRIPTION CHARACTER ABOVE TO BELOW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2FF1\"},12274:{\"value\":\"2FF2\",\"name\":\"IDEOGRAPHIC DESCRIPTION CHARACTER LEFT TO MIDDLE AND RIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2FF2\"},12275:{\"value\":\"2FF3\",\"name\":\"IDEOGRAPHIC DESCRIPTION CHARACTER ABOVE TO MIDDLE AND BELOW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2FF3\"},12276:{\"value\":\"2FF4\",\"name\":\"IDEOGRAPHIC DESCRIPTION CHARACTER FULL SURROUND\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2FF4\"},12277:{\"value\":\"2FF5\",\"name\":\"IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM ABOVE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2FF5\"},12278:{\"value\":\"2FF6\",\"name\":\"IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM BELOW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2FF6\"},12279:{\"value\":\"2FF7\",\"name\":\"IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM LEFT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2FF7\"},12280:{\"value\":\"2FF8\",\"name\":\"IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM UPPER LEFT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2FF8\"},12281:{\"value\":\"2FF9\",\"name\":\"IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM UPPER RIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2FF9\"},12282:{\"value\":\"2FFA\",\"name\":\"IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM LOWER LEFT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2FFA\"},12283:{\"value\":\"2FFB\",\"name\":\"IDEOGRAPHIC DESCRIPTION CHARACTER OVERLAID\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u2FFB\"},12292:{\"value\":\"3004\",\"name\":\"JAPANESE INDUSTRIAL STANDARD SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3004\"},12306:{\"value\":\"3012\",\"name\":\"POSTAL MARK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3012\"},12307:{\"value\":\"3013\",\"name\":\"GETA MARK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3013\"},12320:{\"value\":\"3020\",\"name\":\"POSTAL MARK FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3020\"},12342:{\"value\":\"3036\",\"name\":\"CIRCLED POSTAL MARK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 3012\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3036\"},12343:{\"value\":\"3037\",\"name\":\"IDEOGRAPHIC TELEGRAPH LINE FEED SEPARATOR SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3037\"},12350:{\"value\":\"303E\",\"name\":\"IDEOGRAPHIC VARIATION INDICATOR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u303E\"},12351:{\"value\":\"303F\",\"name\":\"IDEOGRAPHIC HALF FILL SPACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u303F\"},12688:{\"value\":\"3190\",\"name\":\"IDEOGRAPHIC ANNOTATION LINKING MARK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"KANBUN TATETEN\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3190\"},12689:{\"value\":\"3191\",\"name\":\"IDEOGRAPHIC ANNOTATION REVERSE MARK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"KAERITEN RE\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3191\"},12694:{\"value\":\"3196\",\"name\":\"IDEOGRAPHIC ANNOTATION TOP MARK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<super> 4E0A\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"KAERITEN ZYOU\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3196\"},12695:{\"value\":\"3197\",\"name\":\"IDEOGRAPHIC ANNOTATION MIDDLE MARK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<super> 4E2D\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"KAERITEN TYUU\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3197\"},12696:{\"value\":\"3198\",\"name\":\"IDEOGRAPHIC ANNOTATION BOTTOM MARK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<super> 4E0B\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"KAERITEN GE\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3198\"},12697:{\"value\":\"3199\",\"name\":\"IDEOGRAPHIC ANNOTATION FIRST MARK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<super> 7532\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"KAERITEN KOU\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3199\"},12698:{\"value\":\"319A\",\"name\":\"IDEOGRAPHIC ANNOTATION SECOND MARK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<super> 4E59\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"KAERITEN OTU\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u319A\"},12699:{\"value\":\"319B\",\"name\":\"IDEOGRAPHIC ANNOTATION THIRD MARK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<super> 4E19\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"KAERITEN HEI\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u319B\"},12700:{\"value\":\"319C\",\"name\":\"IDEOGRAPHIC ANNOTATION FOURTH MARK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<super> 4E01\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"KAERITEN TEI\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u319C\"},12701:{\"value\":\"319D\",\"name\":\"IDEOGRAPHIC ANNOTATION HEAVEN MARK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<super> 5929\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"KAERITEN TEN\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u319D\"},12702:{\"value\":\"319E\",\"name\":\"IDEOGRAPHIC ANNOTATION EARTH MARK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<super> 5730\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"KAERITEN TI\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u319E\"},12703:{\"value\":\"319F\",\"name\":\"IDEOGRAPHIC ANNOTATION MAN MARK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<super> 4EBA\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"KAERITEN ZIN\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u319F\"},12736:{\"value\":\"31C0\",\"name\":\"CJK STROKE T\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u31C0\"},12737:{\"value\":\"31C1\",\"name\":\"CJK STROKE WG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u31C1\"},12738:{\"value\":\"31C2\",\"name\":\"CJK STROKE XG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u31C2\"},12739:{\"value\":\"31C3\",\"name\":\"CJK STROKE BXG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u31C3\"},12740:{\"value\":\"31C4\",\"name\":\"CJK STROKE SW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u31C4\"},12741:{\"value\":\"31C5\",\"name\":\"CJK STROKE HZZ\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u31C5\"},12742:{\"value\":\"31C6\",\"name\":\"CJK STROKE HZG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u31C6\"},12743:{\"value\":\"31C7\",\"name\":\"CJK STROKE HP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u31C7\"},12744:{\"value\":\"31C8\",\"name\":\"CJK STROKE HZWG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u31C8\"},12745:{\"value\":\"31C9\",\"name\":\"CJK STROKE SZWG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u31C9\"},12746:{\"value\":\"31CA\",\"name\":\"CJK STROKE HZT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u31CA\"},12747:{\"value\":\"31CB\",\"name\":\"CJK STROKE HZZP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u31CB\"},12748:{\"value\":\"31CC\",\"name\":\"CJK STROKE HPWG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u31CC\"},12749:{\"value\":\"31CD\",\"name\":\"CJK STROKE HZW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u31CD\"},12750:{\"value\":\"31CE\",\"name\":\"CJK STROKE HZZZ\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u31CE\"},12751:{\"value\":\"31CF\",\"name\":\"CJK STROKE N\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u31CF\"},12752:{\"value\":\"31D0\",\"name\":\"CJK STROKE H\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u31D0\"},12753:{\"value\":\"31D1\",\"name\":\"CJK STROKE S\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u31D1\"},12754:{\"value\":\"31D2\",\"name\":\"CJK STROKE P\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u31D2\"},12755:{\"value\":\"31D3\",\"name\":\"CJK STROKE SP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u31D3\"},12756:{\"value\":\"31D4\",\"name\":\"CJK STROKE D\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u31D4\"},12757:{\"value\":\"31D5\",\"name\":\"CJK STROKE HZ\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u31D5\"},12758:{\"value\":\"31D6\",\"name\":\"CJK STROKE HG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u31D6\"},12759:{\"value\":\"31D7\",\"name\":\"CJK STROKE SZ\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u31D7\"},12760:{\"value\":\"31D8\",\"name\":\"CJK STROKE SWZ\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u31D8\"},12761:{\"value\":\"31D9\",\"name\":\"CJK STROKE ST\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u31D9\"},12762:{\"value\":\"31DA\",\"name\":\"CJK STROKE SG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u31DA\"},12763:{\"value\":\"31DB\",\"name\":\"CJK STROKE PD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u31DB\"},12764:{\"value\":\"31DC\",\"name\":\"CJK STROKE PZ\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u31DC\"},12765:{\"value\":\"31DD\",\"name\":\"CJK STROKE TN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u31DD\"},12766:{\"value\":\"31DE\",\"name\":\"CJK STROKE SZZ\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u31DE\"},12767:{\"value\":\"31DF\",\"name\":\"CJK STROKE SWG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u31DF\"},12768:{\"value\":\"31E0\",\"name\":\"CJK STROKE HXWG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u31E0\"},12769:{\"value\":\"31E1\",\"name\":\"CJK STROKE HZZZG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u31E1\"},12770:{\"value\":\"31E2\",\"name\":\"CJK STROKE PG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u31E2\"},12771:{\"value\":\"31E3\",\"name\":\"CJK STROKE Q\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u31E3\"},12800:{\"value\":\"3200\",\"name\":\"PARENTHESIZED HANGUL KIYEOK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 1100 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"PARENTHESIZED HANGUL GIYEOG\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3200\"},12801:{\"value\":\"3201\",\"name\":\"PARENTHESIZED HANGUL NIEUN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 1102 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3201\"},12802:{\"value\":\"3202\",\"name\":\"PARENTHESIZED HANGUL TIKEUT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 1103 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"PARENTHESIZED HANGUL DIGEUD\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3202\"},12803:{\"value\":\"3203\",\"name\":\"PARENTHESIZED HANGUL RIEUL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 1105 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"PARENTHESIZED HANGUL LIEUL\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3203\"},12804:{\"value\":\"3204\",\"name\":\"PARENTHESIZED HANGUL MIEUM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 1106 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3204\"},12805:{\"value\":\"3205\",\"name\":\"PARENTHESIZED HANGUL PIEUP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 1107 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"PARENTHESIZED HANGUL BIEUB\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3205\"},12806:{\"value\":\"3206\",\"name\":\"PARENTHESIZED HANGUL SIOS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 1109 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3206\"},12807:{\"value\":\"3207\",\"name\":\"PARENTHESIZED HANGUL IEUNG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 110B 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3207\"},12808:{\"value\":\"3208\",\"name\":\"PARENTHESIZED HANGUL CIEUC\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 110C 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"PARENTHESIZED HANGUL JIEUJ\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3208\"},12809:{\"value\":\"3209\",\"name\":\"PARENTHESIZED HANGUL CHIEUCH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 110E 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"PARENTHESIZED HANGUL CIEUC\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3209\"},12810:{\"value\":\"320A\",\"name\":\"PARENTHESIZED HANGUL KHIEUKH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 110F 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"PARENTHESIZED HANGUL KIYEOK\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u320A\"},12811:{\"value\":\"320B\",\"name\":\"PARENTHESIZED HANGUL THIEUTH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 1110 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"PARENTHESIZED HANGUL TIEUT\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u320B\"},12812:{\"value\":\"320C\",\"name\":\"PARENTHESIZED HANGUL PHIEUPH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 1111 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"PARENTHESIZED HANGUL PIEUP\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u320C\"},12813:{\"value\":\"320D\",\"name\":\"PARENTHESIZED HANGUL HIEUH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 1112 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u320D\"},12814:{\"value\":\"320E\",\"name\":\"PARENTHESIZED HANGUL KIYEOK A\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 1100 1161 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"PARENTHESIZED HANGUL GA\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u320E\"},12815:{\"value\":\"320F\",\"name\":\"PARENTHESIZED HANGUL NIEUN A\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 1102 1161 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"PARENTHESIZED HANGUL NA\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u320F\"},12816:{\"value\":\"3210\",\"name\":\"PARENTHESIZED HANGUL TIKEUT A\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 1103 1161 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"PARENTHESIZED HANGUL DA\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3210\"},12817:{\"value\":\"3211\",\"name\":\"PARENTHESIZED HANGUL RIEUL A\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 1105 1161 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"PARENTHESIZED HANGUL LA\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3211\"},12818:{\"value\":\"3212\",\"name\":\"PARENTHESIZED HANGUL MIEUM A\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 1106 1161 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"PARENTHESIZED HANGUL MA\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3212\"},12819:{\"value\":\"3213\",\"name\":\"PARENTHESIZED HANGUL PIEUP A\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 1107 1161 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"PARENTHESIZED HANGUL BA\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3213\"},12820:{\"value\":\"3214\",\"name\":\"PARENTHESIZED HANGUL SIOS A\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 1109 1161 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"PARENTHESIZED HANGUL SA\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3214\"},12821:{\"value\":\"3215\",\"name\":\"PARENTHESIZED HANGUL IEUNG A\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 110B 1161 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"PARENTHESIZED HANGUL A\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3215\"},12822:{\"value\":\"3216\",\"name\":\"PARENTHESIZED HANGUL CIEUC A\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 110C 1161 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"PARENTHESIZED HANGUL JA\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3216\"},12823:{\"value\":\"3217\",\"name\":\"PARENTHESIZED HANGUL CHIEUCH A\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 110E 1161 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"PARENTHESIZED HANGUL CA\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3217\"},12824:{\"value\":\"3218\",\"name\":\"PARENTHESIZED HANGUL KHIEUKH A\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 110F 1161 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"PARENTHESIZED HANGUL KA\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3218\"},12825:{\"value\":\"3219\",\"name\":\"PARENTHESIZED HANGUL THIEUTH A\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 1110 1161 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"PARENTHESIZED HANGUL TA\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3219\"},12826:{\"value\":\"321A\",\"name\":\"PARENTHESIZED HANGUL PHIEUPH A\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 1111 1161 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"PARENTHESIZED HANGUL PA\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u321A\"},12827:{\"value\":\"321B\",\"name\":\"PARENTHESIZED HANGUL HIEUH A\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 1112 1161 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"PARENTHESIZED HANGUL HA\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u321B\"},12828:{\"value\":\"321C\",\"name\":\"PARENTHESIZED HANGUL CIEUC U\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 110C 116E 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"PARENTHESIZED HANGUL JU\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u321C\"},12829:{\"value\":\"321D\",\"name\":\"PARENTHESIZED KOREAN CHARACTER OJEON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 0028 110B 1169 110C 1165 11AB 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u321D\"},12830:{\"value\":\"321E\",\"name\":\"PARENTHESIZED KOREAN CHARACTER O HU\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<compat> 0028 110B 1169 1112 116E 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u321E\"},12842:{\"value\":\"322A\",\"name\":\"PARENTHESIZED IDEOGRAPH MOON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 6708 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u322A\"},12843:{\"value\":\"322B\",\"name\":\"PARENTHESIZED IDEOGRAPH FIRE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 706B 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u322B\"},12844:{\"value\":\"322C\",\"name\":\"PARENTHESIZED IDEOGRAPH WATER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 6C34 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u322C\"},12845:{\"value\":\"322D\",\"name\":\"PARENTHESIZED IDEOGRAPH WOOD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 6728 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u322D\"},12846:{\"value\":\"322E\",\"name\":\"PARENTHESIZED IDEOGRAPH METAL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 91D1 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u322E\"},12847:{\"value\":\"322F\",\"name\":\"PARENTHESIZED IDEOGRAPH EARTH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 571F 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u322F\"},12848:{\"value\":\"3230\",\"name\":\"PARENTHESIZED IDEOGRAPH SUN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 65E5 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3230\"},12849:{\"value\":\"3231\",\"name\":\"PARENTHESIZED IDEOGRAPH STOCK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 682A 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3231\"},12850:{\"value\":\"3232\",\"name\":\"PARENTHESIZED IDEOGRAPH HAVE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 6709 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3232\"},12851:{\"value\":\"3233\",\"name\":\"PARENTHESIZED IDEOGRAPH SOCIETY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 793E 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3233\"},12852:{\"value\":\"3234\",\"name\":\"PARENTHESIZED IDEOGRAPH NAME\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 540D 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3234\"},12853:{\"value\":\"3235\",\"name\":\"PARENTHESIZED IDEOGRAPH SPECIAL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 7279 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3235\"},12854:{\"value\":\"3236\",\"name\":\"PARENTHESIZED IDEOGRAPH FINANCIAL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 8CA1 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3236\"},12855:{\"value\":\"3237\",\"name\":\"PARENTHESIZED IDEOGRAPH CONGRATULATION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 795D 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3237\"},12856:{\"value\":\"3238\",\"name\":\"PARENTHESIZED IDEOGRAPH LABOR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 52B4 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3238\"},12857:{\"value\":\"3239\",\"name\":\"PARENTHESIZED IDEOGRAPH REPRESENT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 4EE3 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3239\"},12858:{\"value\":\"323A\",\"name\":\"PARENTHESIZED IDEOGRAPH CALL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 547C 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u323A\"},12859:{\"value\":\"323B\",\"name\":\"PARENTHESIZED IDEOGRAPH STUDY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 5B66 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u323B\"},12860:{\"value\":\"323C\",\"name\":\"PARENTHESIZED IDEOGRAPH SUPERVISE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 76E3 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u323C\"},12861:{\"value\":\"323D\",\"name\":\"PARENTHESIZED IDEOGRAPH ENTERPRISE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 4F01 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u323D\"},12862:{\"value\":\"323E\",\"name\":\"PARENTHESIZED IDEOGRAPH RESOURCE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 8CC7 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u323E\"},12863:{\"value\":\"323F\",\"name\":\"PARENTHESIZED IDEOGRAPH ALLIANCE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 5354 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u323F\"},12864:{\"value\":\"3240\",\"name\":\"PARENTHESIZED IDEOGRAPH FESTIVAL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 796D 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3240\"},12865:{\"value\":\"3241\",\"name\":\"PARENTHESIZED IDEOGRAPH REST\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 4F11 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3241\"},12866:{\"value\":\"3242\",\"name\":\"PARENTHESIZED IDEOGRAPH SELF\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 81EA 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3242\"},12867:{\"value\":\"3243\",\"name\":\"PARENTHESIZED IDEOGRAPH REACH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 81F3 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3243\"},12868:{\"value\":\"3244\",\"name\":\"CIRCLED IDEOGRAPH QUESTION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 554F\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3244\"},12869:{\"value\":\"3245\",\"name\":\"CIRCLED IDEOGRAPH KINDERGARTEN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 5E7C\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3245\"},12870:{\"value\":\"3246\",\"name\":\"CIRCLED IDEOGRAPH SCHOOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 6587\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3246\"},12871:{\"value\":\"3247\",\"name\":\"CIRCLED IDEOGRAPH KOTO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 7B8F\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3247\"},12880:{\"value\":\"3250\",\"name\":\"PARTNERSHIP SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<square> 0050 0054 0045\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3250\"},12896:{\"value\":\"3260\",\"name\":\"CIRCLED HANGUL KIYEOK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 1100\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"CIRCLED HANGUL GIYEOG\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3260\"},12897:{\"value\":\"3261\",\"name\":\"CIRCLED HANGUL NIEUN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 1102\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3261\"},12898:{\"value\":\"3262\",\"name\":\"CIRCLED HANGUL TIKEUT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 1103\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"CIRCLED HANGUL DIGEUD\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3262\"},12899:{\"value\":\"3263\",\"name\":\"CIRCLED HANGUL RIEUL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 1105\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"CIRCLED HANGUL LIEUL\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3263\"},12900:{\"value\":\"3264\",\"name\":\"CIRCLED HANGUL MIEUM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 1106\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3264\"},12901:{\"value\":\"3265\",\"name\":\"CIRCLED HANGUL PIEUP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 1107\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"CIRCLED HANGUL BIEUB\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3265\"},12902:{\"value\":\"3266\",\"name\":\"CIRCLED HANGUL SIOS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 1109\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3266\"},12903:{\"value\":\"3267\",\"name\":\"CIRCLED HANGUL IEUNG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 110B\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3267\"},12904:{\"value\":\"3268\",\"name\":\"CIRCLED HANGUL CIEUC\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 110C\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"CIRCLED HANGUL JIEUJ\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3268\"},12905:{\"value\":\"3269\",\"name\":\"CIRCLED HANGUL CHIEUCH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 110E\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"CIRCLED HANGUL CIEUC\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3269\"},12906:{\"value\":\"326A\",\"name\":\"CIRCLED HANGUL KHIEUKH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 110F\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"CIRCLED HANGUL KIYEOK\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u326A\"},12907:{\"value\":\"326B\",\"name\":\"CIRCLED HANGUL THIEUTH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 1110\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"CIRCLED HANGUL TIEUT\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u326B\"},12908:{\"value\":\"326C\",\"name\":\"CIRCLED HANGUL PHIEUPH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 1111\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"CIRCLED HANGUL PIEUP\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u326C\"},12909:{\"value\":\"326D\",\"name\":\"CIRCLED HANGUL HIEUH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 1112\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u326D\"},12910:{\"value\":\"326E\",\"name\":\"CIRCLED HANGUL KIYEOK A\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 1100 1161\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"CIRCLED HANGUL GA\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u326E\"},12911:{\"value\":\"326F\",\"name\":\"CIRCLED HANGUL NIEUN A\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 1102 1161\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"CIRCLED HANGUL NA\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u326F\"},12912:{\"value\":\"3270\",\"name\":\"CIRCLED HANGUL TIKEUT A\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 1103 1161\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"CIRCLED HANGUL DA\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3270\"},12913:{\"value\":\"3271\",\"name\":\"CIRCLED HANGUL RIEUL A\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 1105 1161\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"CIRCLED HANGUL LA\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3271\"},12914:{\"value\":\"3272\",\"name\":\"CIRCLED HANGUL MIEUM A\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 1106 1161\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"CIRCLED HANGUL MA\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3272\"},12915:{\"value\":\"3273\",\"name\":\"CIRCLED HANGUL PIEUP A\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 1107 1161\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"CIRCLED HANGUL BA\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3273\"},12916:{\"value\":\"3274\",\"name\":\"CIRCLED HANGUL SIOS A\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 1109 1161\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"CIRCLED HANGUL SA\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3274\"},12917:{\"value\":\"3275\",\"name\":\"CIRCLED HANGUL IEUNG A\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 110B 1161\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"CIRCLED HANGUL A\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3275\"},12918:{\"value\":\"3276\",\"name\":\"CIRCLED HANGUL CIEUC A\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 110C 1161\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"CIRCLED HANGUL JA\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3276\"},12919:{\"value\":\"3277\",\"name\":\"CIRCLED HANGUL CHIEUCH A\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 110E 1161\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"CIRCLED HANGUL CA\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3277\"},12920:{\"value\":\"3278\",\"name\":\"CIRCLED HANGUL KHIEUKH A\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 110F 1161\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"CIRCLED HANGUL KA\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3278\"},12921:{\"value\":\"3279\",\"name\":\"CIRCLED HANGUL THIEUTH A\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 1110 1161\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"CIRCLED HANGUL TA\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3279\"},12922:{\"value\":\"327A\",\"name\":\"CIRCLED HANGUL PHIEUPH A\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 1111 1161\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"CIRCLED HANGUL PA\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u327A\"},12923:{\"value\":\"327B\",\"name\":\"CIRCLED HANGUL HIEUH A\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 1112 1161\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"CIRCLED HANGUL HA\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u327B\"},12924:{\"value\":\"327C\",\"name\":\"CIRCLED KOREAN CHARACTER CHAMKO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<circle> 110E 1161 11B7 1100 1169\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u327C\"},12925:{\"value\":\"327D\",\"name\":\"CIRCLED KOREAN CHARACTER JUEUI\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<circle> 110C 116E 110B 1174\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u327D\"},12926:{\"value\":\"327E\",\"name\":\"CIRCLED HANGUL IEUNG U\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<circle> 110B 116E\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u327E\"},12927:{\"value\":\"327F\",\"name\":\"KOREAN STANDARD SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u327F\"},12938:{\"value\":\"328A\",\"name\":\"CIRCLED IDEOGRAPH MOON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 6708\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u328A\"},12939:{\"value\":\"328B\",\"name\":\"CIRCLED IDEOGRAPH FIRE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 706B\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u328B\"},12940:{\"value\":\"328C\",\"name\":\"CIRCLED IDEOGRAPH WATER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 6C34\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u328C\"},12941:{\"value\":\"328D\",\"name\":\"CIRCLED IDEOGRAPH WOOD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 6728\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u328D\"},12942:{\"value\":\"328E\",\"name\":\"CIRCLED IDEOGRAPH METAL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 91D1\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u328E\"},12943:{\"value\":\"328F\",\"name\":\"CIRCLED IDEOGRAPH EARTH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 571F\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u328F\"},12944:{\"value\":\"3290\",\"name\":\"CIRCLED IDEOGRAPH SUN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 65E5\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3290\"},12945:{\"value\":\"3291\",\"name\":\"CIRCLED IDEOGRAPH STOCK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 682A\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3291\"},12946:{\"value\":\"3292\",\"name\":\"CIRCLED IDEOGRAPH HAVE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 6709\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3292\"},12947:{\"value\":\"3293\",\"name\":\"CIRCLED IDEOGRAPH SOCIETY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 793E\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3293\"},12948:{\"value\":\"3294\",\"name\":\"CIRCLED IDEOGRAPH NAME\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 540D\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3294\"},12949:{\"value\":\"3295\",\"name\":\"CIRCLED IDEOGRAPH SPECIAL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 7279\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3295\"},12950:{\"value\":\"3296\",\"name\":\"CIRCLED IDEOGRAPH FINANCIAL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 8CA1\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3296\"},12951:{\"value\":\"3297\",\"name\":\"CIRCLED IDEOGRAPH CONGRATULATION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 795D\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3297\"},12952:{\"value\":\"3298\",\"name\":\"CIRCLED IDEOGRAPH LABOR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 52B4\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3298\"},12953:{\"value\":\"3299\",\"name\":\"CIRCLED IDEOGRAPH SECRET\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 79D8\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3299\"},12954:{\"value\":\"329A\",\"name\":\"CIRCLED IDEOGRAPH MALE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 7537\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u329A\"},12955:{\"value\":\"329B\",\"name\":\"CIRCLED IDEOGRAPH FEMALE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 5973\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u329B\"},12956:{\"value\":\"329C\",\"name\":\"CIRCLED IDEOGRAPH SUITABLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 9069\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u329C\"},12957:{\"value\":\"329D\",\"name\":\"CIRCLED IDEOGRAPH EXCELLENT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 512A\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u329D\"},12958:{\"value\":\"329E\",\"name\":\"CIRCLED IDEOGRAPH PRINT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 5370\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u329E\"},12959:{\"value\":\"329F\",\"name\":\"CIRCLED IDEOGRAPH ATTENTION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 6CE8\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u329F\"},12960:{\"value\":\"32A0\",\"name\":\"CIRCLED IDEOGRAPH ITEM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 9805\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32A0\"},12961:{\"value\":\"32A1\",\"name\":\"CIRCLED IDEOGRAPH REST\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 4F11\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32A1\"},12962:{\"value\":\"32A2\",\"name\":\"CIRCLED IDEOGRAPH COPY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 5199\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32A2\"},12963:{\"value\":\"32A3\",\"name\":\"CIRCLED IDEOGRAPH CORRECT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 6B63\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32A3\"},12964:{\"value\":\"32A4\",\"name\":\"CIRCLED IDEOGRAPH HIGH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 4E0A\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32A4\"},12965:{\"value\":\"32A5\",\"name\":\"CIRCLED IDEOGRAPH CENTRE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 4E2D\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"CIRCLED IDEOGRAPH CENTER\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32A5\"},12966:{\"value\":\"32A6\",\"name\":\"CIRCLED IDEOGRAPH LOW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 4E0B\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32A6\"},12967:{\"value\":\"32A7\",\"name\":\"CIRCLED IDEOGRAPH LEFT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 5DE6\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32A7\"},12968:{\"value\":\"32A8\",\"name\":\"CIRCLED IDEOGRAPH RIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 53F3\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32A8\"},12969:{\"value\":\"32A9\",\"name\":\"CIRCLED IDEOGRAPH MEDICINE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 533B\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32A9\"},12970:{\"value\":\"32AA\",\"name\":\"CIRCLED IDEOGRAPH RELIGION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 5B97\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32AA\"},12971:{\"value\":\"32AB\",\"name\":\"CIRCLED IDEOGRAPH STUDY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 5B66\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32AB\"},12972:{\"value\":\"32AC\",\"name\":\"CIRCLED IDEOGRAPH SUPERVISE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 76E3\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32AC\"},12973:{\"value\":\"32AD\",\"name\":\"CIRCLED IDEOGRAPH ENTERPRISE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 4F01\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32AD\"},12974:{\"value\":\"32AE\",\"name\":\"CIRCLED IDEOGRAPH RESOURCE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 8CC7\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32AE\"},12975:{\"value\":\"32AF\",\"name\":\"CIRCLED IDEOGRAPH ALLIANCE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 5354\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32AF\"},12976:{\"value\":\"32B0\",\"name\":\"CIRCLED IDEOGRAPH NIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 591C\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32B0\"},12992:{\"value\":\"32C0\",\"name\":\"IDEOGRAPHIC TELEGRAPH SYMBOL FOR JANUARY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0031 6708\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32C0\"},12993:{\"value\":\"32C1\",\"name\":\"IDEOGRAPHIC TELEGRAPH SYMBOL FOR FEBRUARY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0032 6708\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32C1\"},12994:{\"value\":\"32C2\",\"name\":\"IDEOGRAPHIC TELEGRAPH SYMBOL FOR MARCH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0033 6708\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32C2\"},12995:{\"value\":\"32C3\",\"name\":\"IDEOGRAPHIC TELEGRAPH SYMBOL FOR APRIL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0034 6708\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32C3\"},12996:{\"value\":\"32C4\",\"name\":\"IDEOGRAPHIC TELEGRAPH SYMBOL FOR MAY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0035 6708\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32C4\"},12997:{\"value\":\"32C5\",\"name\":\"IDEOGRAPHIC TELEGRAPH SYMBOL FOR JUNE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0036 6708\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32C5\"},12998:{\"value\":\"32C6\",\"name\":\"IDEOGRAPHIC TELEGRAPH SYMBOL FOR JULY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0037 6708\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32C6\"},12999:{\"value\":\"32C7\",\"name\":\"IDEOGRAPHIC TELEGRAPH SYMBOL FOR AUGUST\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0038 6708\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32C7\"},13000:{\"value\":\"32C8\",\"name\":\"IDEOGRAPHIC TELEGRAPH SYMBOL FOR SEPTEMBER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0039 6708\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32C8\"},13001:{\"value\":\"32C9\",\"name\":\"IDEOGRAPHIC TELEGRAPH SYMBOL FOR OCTOBER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0031 0030 6708\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32C9\"},13002:{\"value\":\"32CA\",\"name\":\"IDEOGRAPHIC TELEGRAPH SYMBOL FOR NOVEMBER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0031 0031 6708\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32CA\"},13003:{\"value\":\"32CB\",\"name\":\"IDEOGRAPHIC TELEGRAPH SYMBOL FOR DECEMBER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0031 0032 6708\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32CB\"},13004:{\"value\":\"32CC\",\"name\":\"SQUARE HG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<square> 0048 0067\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32CC\"},13005:{\"value\":\"32CD\",\"name\":\"SQUARE ERG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<square> 0065 0072 0067\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32CD\"},13006:{\"value\":\"32CE\",\"name\":\"SQUARE EV\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<square> 0065 0056\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32CE\"},13007:{\"value\":\"32CF\",\"name\":\"LIMITED LIABILITY SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<square> 004C 0054 0044\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32CF\"},13008:{\"value\":\"32D0\",\"name\":\"CIRCLED KATAKANA A\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 30A2\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32D0\"},13009:{\"value\":\"32D1\",\"name\":\"CIRCLED KATAKANA I\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 30A4\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32D1\"},13010:{\"value\":\"32D2\",\"name\":\"CIRCLED KATAKANA U\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 30A6\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32D2\"},13011:{\"value\":\"32D3\",\"name\":\"CIRCLED KATAKANA E\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 30A8\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32D3\"},13012:{\"value\":\"32D4\",\"name\":\"CIRCLED KATAKANA O\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 30AA\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32D4\"},13013:{\"value\":\"32D5\",\"name\":\"CIRCLED KATAKANA KA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 30AB\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32D5\"},13014:{\"value\":\"32D6\",\"name\":\"CIRCLED KATAKANA KI\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 30AD\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32D6\"},13015:{\"value\":\"32D7\",\"name\":\"CIRCLED KATAKANA KU\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 30AF\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32D7\"},13016:{\"value\":\"32D8\",\"name\":\"CIRCLED KATAKANA KE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 30B1\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32D8\"},13017:{\"value\":\"32D9\",\"name\":\"CIRCLED KATAKANA KO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 30B3\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32D9\"},13018:{\"value\":\"32DA\",\"name\":\"CIRCLED KATAKANA SA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 30B5\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32DA\"},13019:{\"value\":\"32DB\",\"name\":\"CIRCLED KATAKANA SI\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 30B7\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32DB\"},13020:{\"value\":\"32DC\",\"name\":\"CIRCLED KATAKANA SU\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 30B9\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32DC\"},13021:{\"value\":\"32DD\",\"name\":\"CIRCLED KATAKANA SE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 30BB\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32DD\"},13022:{\"value\":\"32DE\",\"name\":\"CIRCLED KATAKANA SO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 30BD\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32DE\"},13023:{\"value\":\"32DF\",\"name\":\"CIRCLED KATAKANA TA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 30BF\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32DF\"},13024:{\"value\":\"32E0\",\"name\":\"CIRCLED KATAKANA TI\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 30C1\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32E0\"},13025:{\"value\":\"32E1\",\"name\":\"CIRCLED KATAKANA TU\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 30C4\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32E1\"},13026:{\"value\":\"32E2\",\"name\":\"CIRCLED KATAKANA TE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 30C6\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32E2\"},13027:{\"value\":\"32E3\",\"name\":\"CIRCLED KATAKANA TO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 30C8\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32E3\"},13028:{\"value\":\"32E4\",\"name\":\"CIRCLED KATAKANA NA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 30CA\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32E4\"},13029:{\"value\":\"32E5\",\"name\":\"CIRCLED KATAKANA NI\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 30CB\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32E5\"},13030:{\"value\":\"32E6\",\"name\":\"CIRCLED KATAKANA NU\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 30CC\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32E6\"},13031:{\"value\":\"32E7\",\"name\":\"CIRCLED KATAKANA NE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 30CD\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32E7\"},13032:{\"value\":\"32E8\",\"name\":\"CIRCLED KATAKANA NO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 30CE\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32E8\"},13033:{\"value\":\"32E9\",\"name\":\"CIRCLED KATAKANA HA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 30CF\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32E9\"},13034:{\"value\":\"32EA\",\"name\":\"CIRCLED KATAKANA HI\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 30D2\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32EA\"},13035:{\"value\":\"32EB\",\"name\":\"CIRCLED KATAKANA HU\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 30D5\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32EB\"},13036:{\"value\":\"32EC\",\"name\":\"CIRCLED KATAKANA HE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 30D8\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32EC\"},13037:{\"value\":\"32ED\",\"name\":\"CIRCLED KATAKANA HO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 30DB\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32ED\"},13038:{\"value\":\"32EE\",\"name\":\"CIRCLED KATAKANA MA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 30DE\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32EE\"},13039:{\"value\":\"32EF\",\"name\":\"CIRCLED KATAKANA MI\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 30DF\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32EF\"},13040:{\"value\":\"32F0\",\"name\":\"CIRCLED KATAKANA MU\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 30E0\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32F0\"},13041:{\"value\":\"32F1\",\"name\":\"CIRCLED KATAKANA ME\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 30E1\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32F1\"},13042:{\"value\":\"32F2\",\"name\":\"CIRCLED KATAKANA MO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 30E2\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32F2\"},13043:{\"value\":\"32F3\",\"name\":\"CIRCLED KATAKANA YA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 30E4\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32F3\"},13044:{\"value\":\"32F4\",\"name\":\"CIRCLED KATAKANA YU\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 30E6\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32F4\"},13045:{\"value\":\"32F5\",\"name\":\"CIRCLED KATAKANA YO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 30E8\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32F5\"},13046:{\"value\":\"32F6\",\"name\":\"CIRCLED KATAKANA RA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 30E9\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32F6\"},13047:{\"value\":\"32F7\",\"name\":\"CIRCLED KATAKANA RI\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 30EA\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32F7\"},13048:{\"value\":\"32F8\",\"name\":\"CIRCLED KATAKANA RU\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 30EB\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32F8\"},13049:{\"value\":\"32F9\",\"name\":\"CIRCLED KATAKANA RE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 30EC\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32F9\"},13050:{\"value\":\"32FA\",\"name\":\"CIRCLED KATAKANA RO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 30ED\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32FA\"},13051:{\"value\":\"32FB\",\"name\":\"CIRCLED KATAKANA WA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 30EF\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32FB\"},13052:{\"value\":\"32FC\",\"name\":\"CIRCLED KATAKANA WI\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 30F0\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32FC\"},13053:{\"value\":\"32FD\",\"name\":\"CIRCLED KATAKANA WE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 30F1\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32FD\"},13054:{\"value\":\"32FE\",\"name\":\"CIRCLED KATAKANA WO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 30F2\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u32FE\"},13056:{\"value\":\"3300\",\"name\":\"SQUARE APAATO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30A2 30D1 30FC 30C8\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED APAATO\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3300\"},13057:{\"value\":\"3301\",\"name\":\"SQUARE ARUHUA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30A2 30EB 30D5 30A1\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED ARUHUA\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3301\"},13058:{\"value\":\"3302\",\"name\":\"SQUARE ANPEA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30A2 30F3 30DA 30A2\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED ANPEA\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3302\"},13059:{\"value\":\"3303\",\"name\":\"SQUARE AARU\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30A2 30FC 30EB\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED AARU\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3303\"},13060:{\"value\":\"3304\",\"name\":\"SQUARE ININGU\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30A4 30CB 30F3 30B0\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED ININGU\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3304\"},13061:{\"value\":\"3305\",\"name\":\"SQUARE INTI\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30A4 30F3 30C1\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED INTI\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3305\"},13062:{\"value\":\"3306\",\"name\":\"SQUARE UON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30A6 30A9 30F3\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED UON\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3306\"},13063:{\"value\":\"3307\",\"name\":\"SQUARE ESUKUUDO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30A8 30B9 30AF 30FC 30C9\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED ESUKUUDO\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3307\"},13064:{\"value\":\"3308\",\"name\":\"SQUARE EEKAA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30A8 30FC 30AB 30FC\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED EEKAA\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3308\"},13065:{\"value\":\"3309\",\"name\":\"SQUARE ONSU\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30AA 30F3 30B9\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED ONSU\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3309\"},13066:{\"value\":\"330A\",\"name\":\"SQUARE OOMU\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30AA 30FC 30E0\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED OOMU\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u330A\"},13067:{\"value\":\"330B\",\"name\":\"SQUARE KAIRI\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30AB 30A4 30EA\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED KAIRI\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u330B\"},13068:{\"value\":\"330C\",\"name\":\"SQUARE KARATTO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30AB 30E9 30C3 30C8\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED KARATTO\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u330C\"},13069:{\"value\":\"330D\",\"name\":\"SQUARE KARORII\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30AB 30ED 30EA 30FC\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED KARORII\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u330D\"},13070:{\"value\":\"330E\",\"name\":\"SQUARE GARON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30AC 30ED 30F3\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED GARON\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u330E\"},13071:{\"value\":\"330F\",\"name\":\"SQUARE GANMA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30AC 30F3 30DE\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED GANMA\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u330F\"},13072:{\"value\":\"3310\",\"name\":\"SQUARE GIGA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30AE 30AC\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED GIGA\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3310\"},13073:{\"value\":\"3311\",\"name\":\"SQUARE GINII\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30AE 30CB 30FC\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED GINII\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3311\"},13074:{\"value\":\"3312\",\"name\":\"SQUARE KYURII\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30AD 30E5 30EA 30FC\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED KYURII\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3312\"},13075:{\"value\":\"3313\",\"name\":\"SQUARE GIRUDAA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30AE 30EB 30C0 30FC\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED GIRUDAA\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3313\"},13076:{\"value\":\"3314\",\"name\":\"SQUARE KIRO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30AD 30ED\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED KIRO\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3314\"},13077:{\"value\":\"3315\",\"name\":\"SQUARE KIROGURAMU\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30AD 30ED 30B0 30E9 30E0\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED KIROGURAMU\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3315\"},13078:{\"value\":\"3316\",\"name\":\"SQUARE KIROMEETORU\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30AD 30ED 30E1 30FC 30C8 30EB\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED KIROMEETORU\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3316\"},13079:{\"value\":\"3317\",\"name\":\"SQUARE KIROWATTO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30AD 30ED 30EF 30C3 30C8\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED KIROWATTO\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3317\"},13080:{\"value\":\"3318\",\"name\":\"SQUARE GURAMU\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30B0 30E9 30E0\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED GURAMU\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3318\"},13081:{\"value\":\"3319\",\"name\":\"SQUARE GURAMUTON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30B0 30E9 30E0 30C8 30F3\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED GURAMUTON\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3319\"},13082:{\"value\":\"331A\",\"name\":\"SQUARE KURUZEIRO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30AF 30EB 30BC 30A4 30ED\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED KURUZEIRO\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u331A\"},13083:{\"value\":\"331B\",\"name\":\"SQUARE KUROONE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30AF 30ED 30FC 30CD\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED KUROONE\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u331B\"},13084:{\"value\":\"331C\",\"name\":\"SQUARE KEESU\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30B1 30FC 30B9\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED KEESU\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u331C\"},13085:{\"value\":\"331D\",\"name\":\"SQUARE KORUNA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30B3 30EB 30CA\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED KORUNA\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u331D\"},13086:{\"value\":\"331E\",\"name\":\"SQUARE KOOPO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30B3 30FC 30DD\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED KOOPO\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u331E\"},13087:{\"value\":\"331F\",\"name\":\"SQUARE SAIKURU\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30B5 30A4 30AF 30EB\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED SAIKURU\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u331F\"},13088:{\"value\":\"3320\",\"name\":\"SQUARE SANTIIMU\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30B5 30F3 30C1 30FC 30E0\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED SANTIIMU\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3320\"},13089:{\"value\":\"3321\",\"name\":\"SQUARE SIRINGU\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30B7 30EA 30F3 30B0\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED SIRINGU\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3321\"},13090:{\"value\":\"3322\",\"name\":\"SQUARE SENTI\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30BB 30F3 30C1\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED SENTI\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3322\"},13091:{\"value\":\"3323\",\"name\":\"SQUARE SENTO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30BB 30F3 30C8\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED SENTO\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3323\"},13092:{\"value\":\"3324\",\"name\":\"SQUARE DAASU\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30C0 30FC 30B9\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED DAASU\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3324\"},13093:{\"value\":\"3325\",\"name\":\"SQUARE DESI\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30C7 30B7\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED DESI\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3325\"},13094:{\"value\":\"3326\",\"name\":\"SQUARE DORU\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30C9 30EB\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED DORU\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3326\"},13095:{\"value\":\"3327\",\"name\":\"SQUARE TON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30C8 30F3\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED TON\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3327\"},13096:{\"value\":\"3328\",\"name\":\"SQUARE NANO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30CA 30CE\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED NANO\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3328\"},13097:{\"value\":\"3329\",\"name\":\"SQUARE NOTTO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30CE 30C3 30C8\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED NOTTO\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3329\"},13098:{\"value\":\"332A\",\"name\":\"SQUARE HAITU\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30CF 30A4 30C4\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED HAITU\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u332A\"},13099:{\"value\":\"332B\",\"name\":\"SQUARE PAASENTO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30D1 30FC 30BB 30F3 30C8\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED PAASENTO\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u332B\"},13100:{\"value\":\"332C\",\"name\":\"SQUARE PAATU\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30D1 30FC 30C4\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED PAATU\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u332C\"},13101:{\"value\":\"332D\",\"name\":\"SQUARE BAARERU\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30D0 30FC 30EC 30EB\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED BAARERU\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u332D\"},13102:{\"value\":\"332E\",\"name\":\"SQUARE PIASUTORU\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30D4 30A2 30B9 30C8 30EB\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED PIASUTORU\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u332E\"},13103:{\"value\":\"332F\",\"name\":\"SQUARE PIKURU\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30D4 30AF 30EB\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED PIKURU\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u332F\"},13104:{\"value\":\"3330\",\"name\":\"SQUARE PIKO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30D4 30B3\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED PIKO\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3330\"},13105:{\"value\":\"3331\",\"name\":\"SQUARE BIRU\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30D3 30EB\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED BIRU\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3331\"},13106:{\"value\":\"3332\",\"name\":\"SQUARE HUARADDO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30D5 30A1 30E9 30C3 30C9\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED HUARADDO\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3332\"},13107:{\"value\":\"3333\",\"name\":\"SQUARE HUIITO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30D5 30A3 30FC 30C8\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED HUIITO\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3333\"},13108:{\"value\":\"3334\",\"name\":\"SQUARE BUSSYERU\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30D6 30C3 30B7 30A7 30EB\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED BUSSYERU\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3334\"},13109:{\"value\":\"3335\",\"name\":\"SQUARE HURAN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30D5 30E9 30F3\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED HURAN\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3335\"},13110:{\"value\":\"3336\",\"name\":\"SQUARE HEKUTAARU\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30D8 30AF 30BF 30FC 30EB\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED HEKUTAARU\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3336\"},13111:{\"value\":\"3337\",\"name\":\"SQUARE PESO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30DA 30BD\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED PESO\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3337\"},13112:{\"value\":\"3338\",\"name\":\"SQUARE PENIHI\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30DA 30CB 30D2\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED PENIHI\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3338\"},13113:{\"value\":\"3339\",\"name\":\"SQUARE HERUTU\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30D8 30EB 30C4\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED HERUTU\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3339\"},13114:{\"value\":\"333A\",\"name\":\"SQUARE PENSU\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30DA 30F3 30B9\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED PENSU\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u333A\"},13115:{\"value\":\"333B\",\"name\":\"SQUARE PEEZI\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30DA 30FC 30B8\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED PEEZI\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u333B\"},13116:{\"value\":\"333C\",\"name\":\"SQUARE BEETA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30D9 30FC 30BF\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED BEETA\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u333C\"},13117:{\"value\":\"333D\",\"name\":\"SQUARE POINTO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30DD 30A4 30F3 30C8\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED POINTO\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u333D\"},13118:{\"value\":\"333E\",\"name\":\"SQUARE BORUTO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30DC 30EB 30C8\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED BORUTO\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u333E\"},13119:{\"value\":\"333F\",\"name\":\"SQUARE HON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30DB 30F3\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED HON\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u333F\"},13120:{\"value\":\"3340\",\"name\":\"SQUARE PONDO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30DD 30F3 30C9\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED PONDO\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3340\"},13121:{\"value\":\"3341\",\"name\":\"SQUARE HOORU\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30DB 30FC 30EB\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED HOORU\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3341\"},13122:{\"value\":\"3342\",\"name\":\"SQUARE HOON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30DB 30FC 30F3\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED HOON\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3342\"},13123:{\"value\":\"3343\",\"name\":\"SQUARE MAIKURO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30DE 30A4 30AF 30ED\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED MAIKURO\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3343\"},13124:{\"value\":\"3344\",\"name\":\"SQUARE MAIRU\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30DE 30A4 30EB\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED MAIRU\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3344\"},13125:{\"value\":\"3345\",\"name\":\"SQUARE MAHHA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30DE 30C3 30CF\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED MAHHA\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3345\"},13126:{\"value\":\"3346\",\"name\":\"SQUARE MARUKU\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30DE 30EB 30AF\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED MARUKU\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3346\"},13127:{\"value\":\"3347\",\"name\":\"SQUARE MANSYON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30DE 30F3 30B7 30E7 30F3\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED MANSYON\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3347\"},13128:{\"value\":\"3348\",\"name\":\"SQUARE MIKURON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30DF 30AF 30ED 30F3\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED MIKURON\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3348\"},13129:{\"value\":\"3349\",\"name\":\"SQUARE MIRI\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30DF 30EA\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED MIRI\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3349\"},13130:{\"value\":\"334A\",\"name\":\"SQUARE MIRIBAARU\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30DF 30EA 30D0 30FC 30EB\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED MIRIBAARU\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u334A\"},13131:{\"value\":\"334B\",\"name\":\"SQUARE MEGA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30E1 30AC\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED MEGA\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u334B\"},13132:{\"value\":\"334C\",\"name\":\"SQUARE MEGATON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30E1 30AC 30C8 30F3\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED MEGATON\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u334C\"},13133:{\"value\":\"334D\",\"name\":\"SQUARE MEETORU\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30E1 30FC 30C8 30EB\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED MEETORU\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u334D\"},13134:{\"value\":\"334E\",\"name\":\"SQUARE YAADO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30E4 30FC 30C9\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED YAADO\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u334E\"},13135:{\"value\":\"334F\",\"name\":\"SQUARE YAARU\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30E4 30FC 30EB\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED YAARU\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u334F\"},13136:{\"value\":\"3350\",\"name\":\"SQUARE YUAN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30E6 30A2 30F3\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED YUAN\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3350\"},13137:{\"value\":\"3351\",\"name\":\"SQUARE RITTORU\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30EA 30C3 30C8 30EB\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED RITTORU\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3351\"},13138:{\"value\":\"3352\",\"name\":\"SQUARE RIRA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30EA 30E9\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED RIRA\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3352\"},13139:{\"value\":\"3353\",\"name\":\"SQUARE RUPII\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30EB 30D4 30FC\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED RUPII\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3353\"},13140:{\"value\":\"3354\",\"name\":\"SQUARE RUUBURU\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30EB 30FC 30D6 30EB\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED RUUBURU\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3354\"},13141:{\"value\":\"3355\",\"name\":\"SQUARE REMU\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30EC 30E0\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED REMU\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3355\"},13142:{\"value\":\"3356\",\"name\":\"SQUARE RENTOGEN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30EC 30F3 30C8 30B2 30F3\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED RENTOGEN\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3356\"},13143:{\"value\":\"3357\",\"name\":\"SQUARE WATTO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30EF 30C3 30C8\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED WATTO\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3357\"},13144:{\"value\":\"3358\",\"name\":\"IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ZERO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0030 70B9\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3358\"},13145:{\"value\":\"3359\",\"name\":\"IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ONE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0031 70B9\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3359\"},13146:{\"value\":\"335A\",\"name\":\"IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0032 70B9\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u335A\"},13147:{\"value\":\"335B\",\"name\":\"IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR THREE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0033 70B9\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u335B\"},13148:{\"value\":\"335C\",\"name\":\"IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FOUR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0034 70B9\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u335C\"},13149:{\"value\":\"335D\",\"name\":\"IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FIVE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0035 70B9\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u335D\"},13150:{\"value\":\"335E\",\"name\":\"IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SIX\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0036 70B9\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u335E\"},13151:{\"value\":\"335F\",\"name\":\"IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SEVEN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0037 70B9\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u335F\"},13152:{\"value\":\"3360\",\"name\":\"IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR EIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0038 70B9\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3360\"},13153:{\"value\":\"3361\",\"name\":\"IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR NINE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0039 70B9\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3361\"},13154:{\"value\":\"3362\",\"name\":\"IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TEN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0031 0030 70B9\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3362\"},13155:{\"value\":\"3363\",\"name\":\"IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ELEVEN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0031 0031 70B9\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3363\"},13156:{\"value\":\"3364\",\"name\":\"IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWELVE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0031 0032 70B9\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3364\"},13157:{\"value\":\"3365\",\"name\":\"IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR THIRTEEN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0031 0033 70B9\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3365\"},13158:{\"value\":\"3366\",\"name\":\"IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FOURTEEN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0031 0034 70B9\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3366\"},13159:{\"value\":\"3367\",\"name\":\"IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FIFTEEN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0031 0035 70B9\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3367\"},13160:{\"value\":\"3368\",\"name\":\"IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SIXTEEN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0031 0036 70B9\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3368\"},13161:{\"value\":\"3369\",\"name\":\"IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SEVENTEEN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0031 0037 70B9\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3369\"},13162:{\"value\":\"336A\",\"name\":\"IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR EIGHTEEN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0031 0038 70B9\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u336A\"},13163:{\"value\":\"336B\",\"name\":\"IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR NINETEEN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0031 0039 70B9\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u336B\"},13164:{\"value\":\"336C\",\"name\":\"IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0032 0030 70B9\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u336C\"},13165:{\"value\":\"336D\",\"name\":\"IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-ONE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0032 0031 70B9\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u336D\"},13166:{\"value\":\"336E\",\"name\":\"IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-TWO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0032 0032 70B9\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u336E\"},13167:{\"value\":\"336F\",\"name\":\"IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-THREE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0032 0033 70B9\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u336F\"},13168:{\"value\":\"3370\",\"name\":\"IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-FOUR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0032 0034 70B9\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3370\"},13169:{\"value\":\"3371\",\"name\":\"SQUARE HPA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 0068 0050 0061\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3371\"},13170:{\"value\":\"3372\",\"name\":\"SQUARE DA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 0064 0061\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3372\"},13171:{\"value\":\"3373\",\"name\":\"SQUARE AU\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 0041 0055\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3373\"},13172:{\"value\":\"3374\",\"name\":\"SQUARE BAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 0062 0061 0072\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3374\"},13173:{\"value\":\"3375\",\"name\":\"SQUARE OV\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 006F 0056\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3375\"},13174:{\"value\":\"3376\",\"name\":\"SQUARE PC\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 0070 0063\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3376\"},13175:{\"value\":\"3377\",\"name\":\"SQUARE DM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<square> 0064 006D\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3377\"},13176:{\"value\":\"3378\",\"name\":\"SQUARE DM SQUARED\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<square> 0064 006D 00B2\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3378\"},13177:{\"value\":\"3379\",\"name\":\"SQUARE DM CUBED\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<square> 0064 006D 00B3\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3379\"},13178:{\"value\":\"337A\",\"name\":\"SQUARE IU\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<square> 0049 0055\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u337A\"},13179:{\"value\":\"337B\",\"name\":\"SQUARE ERA NAME HEISEI\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 5E73 6210\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED TWO IDEOGRAPHS ERA NAME HEISEI\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u337B\"},13180:{\"value\":\"337C\",\"name\":\"SQUARE ERA NAME SYOUWA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 662D 548C\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED TWO IDEOGRAPHS ERA NAME SYOUWA\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u337C\"},13181:{\"value\":\"337D\",\"name\":\"SQUARE ERA NAME TAISYOU\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 5927 6B63\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED TWO IDEOGRAPHS ERA NAME TAISYOU\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u337D\"},13182:{\"value\":\"337E\",\"name\":\"SQUARE ERA NAME MEIZI\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 660E 6CBB\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED TWO IDEOGRAPHS ERA NAME MEIZI\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u337E\"},13183:{\"value\":\"337F\",\"name\":\"SQUARE CORPORATION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 682A 5F0F 4F1A 793E\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED FOUR IDEOGRAPHS CORPORATION\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u337F\"},13184:{\"value\":\"3380\",\"name\":\"SQUARE PA AMPS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 0070 0041\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED PA AMPS\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3380\"},13185:{\"value\":\"3381\",\"name\":\"SQUARE NA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 006E 0041\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED NA\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3381\"},13186:{\"value\":\"3382\",\"name\":\"SQUARE MU A\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 03BC 0041\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED MU A\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3382\"},13187:{\"value\":\"3383\",\"name\":\"SQUARE MA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 006D 0041\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED MA\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3383\"},13188:{\"value\":\"3384\",\"name\":\"SQUARE KA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 006B 0041\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED KA\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3384\"},13189:{\"value\":\"3385\",\"name\":\"SQUARE KB\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 004B 0042\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED KB\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3385\"},13190:{\"value\":\"3386\",\"name\":\"SQUARE MB\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 004D 0042\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED MB\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3386\"},13191:{\"value\":\"3387\",\"name\":\"SQUARE GB\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 0047 0042\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED GB\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3387\"},13192:{\"value\":\"3388\",\"name\":\"SQUARE CAL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 0063 0061 006C\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED CAL\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3388\"},13193:{\"value\":\"3389\",\"name\":\"SQUARE KCAL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 006B 0063 0061 006C\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED KCAL\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3389\"},13194:{\"value\":\"338A\",\"name\":\"SQUARE PF\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 0070 0046\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED PF\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u338A\"},13195:{\"value\":\"338B\",\"name\":\"SQUARE NF\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 006E 0046\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED NF\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u338B\"},13196:{\"value\":\"338C\",\"name\":\"SQUARE MU F\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 03BC 0046\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED MU F\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u338C\"},13197:{\"value\":\"338D\",\"name\":\"SQUARE MU G\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 03BC 0067\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED MU G\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u338D\"},13198:{\"value\":\"338E\",\"name\":\"SQUARE MG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 006D 0067\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED MG\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u338E\"},13199:{\"value\":\"338F\",\"name\":\"SQUARE KG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 006B 0067\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED KG\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u338F\"},13200:{\"value\":\"3390\",\"name\":\"SQUARE HZ\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 0048 007A\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED HZ\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3390\"},13201:{\"value\":\"3391\",\"name\":\"SQUARE KHZ\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 006B 0048 007A\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED KHZ\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3391\"},13202:{\"value\":\"3392\",\"name\":\"SQUARE MHZ\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 004D 0048 007A\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED MHZ\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3392\"},13203:{\"value\":\"3393\",\"name\":\"SQUARE GHZ\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 0047 0048 007A\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED GHZ\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3393\"},13204:{\"value\":\"3394\",\"name\":\"SQUARE THZ\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 0054 0048 007A\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED THZ\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3394\"},13205:{\"value\":\"3395\",\"name\":\"SQUARE MU L\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 03BC 2113\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED MU L\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3395\"},13206:{\"value\":\"3396\",\"name\":\"SQUARE ML\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 006D 2113\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED ML\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3396\"},13207:{\"value\":\"3397\",\"name\":\"SQUARE DL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 0064 2113\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED DL\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3397\"},13208:{\"value\":\"3398\",\"name\":\"SQUARE KL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 006B 2113\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED KL\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3398\"},13209:{\"value\":\"3399\",\"name\":\"SQUARE FM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 0066 006D\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED FM\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u3399\"},13210:{\"value\":\"339A\",\"name\":\"SQUARE NM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 006E 006D\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED NM\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u339A\"},13211:{\"value\":\"339B\",\"name\":\"SQUARE MU M\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 03BC 006D\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED MU M\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u339B\"},13212:{\"value\":\"339C\",\"name\":\"SQUARE MM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 006D 006D\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED MM\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u339C\"},13213:{\"value\":\"339D\",\"name\":\"SQUARE CM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 0063 006D\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED CM\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u339D\"},13214:{\"value\":\"339E\",\"name\":\"SQUARE KM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 006B 006D\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED KM\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u339E\"},13215:{\"value\":\"339F\",\"name\":\"SQUARE MM SQUARED\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 006D 006D 00B2\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED MM SQUARED\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u339F\"},13216:{\"value\":\"33A0\",\"name\":\"SQUARE CM SQUARED\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 0063 006D 00B2\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED CM SQUARED\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33A0\"},13217:{\"value\":\"33A1\",\"name\":\"SQUARE M SQUARED\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 006D 00B2\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED M SQUARED\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33A1\"},13218:{\"value\":\"33A2\",\"name\":\"SQUARE KM SQUARED\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 006B 006D 00B2\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED KM SQUARED\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33A2\"},13219:{\"value\":\"33A3\",\"name\":\"SQUARE MM CUBED\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 006D 006D 00B3\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED MM CUBED\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33A3\"},13220:{\"value\":\"33A4\",\"name\":\"SQUARE CM CUBED\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 0063 006D 00B3\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED CM CUBED\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33A4\"},13221:{\"value\":\"33A5\",\"name\":\"SQUARE M CUBED\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 006D 00B3\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED M CUBED\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33A5\"},13222:{\"value\":\"33A6\",\"name\":\"SQUARE KM CUBED\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 006B 006D 00B3\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED KM CUBED\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33A6\"},13223:{\"value\":\"33A7\",\"name\":\"SQUARE M OVER S\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 006D 2215 0073\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED M OVER S\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33A7\"},13224:{\"value\":\"33A8\",\"name\":\"SQUARE M OVER S SQUARED\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 006D 2215 0073 00B2\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED M OVER S SQUARED\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33A8\"},13225:{\"value\":\"33A9\",\"name\":\"SQUARE PA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 0050 0061\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED PA\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33A9\"},13226:{\"value\":\"33AA\",\"name\":\"SQUARE KPA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 006B 0050 0061\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED KPA\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33AA\"},13227:{\"value\":\"33AB\",\"name\":\"SQUARE MPA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 004D 0050 0061\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED MPA\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33AB\"},13228:{\"value\":\"33AC\",\"name\":\"SQUARE GPA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 0047 0050 0061\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED GPA\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33AC\"},13229:{\"value\":\"33AD\",\"name\":\"SQUARE RAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 0072 0061 0064\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED RAD\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33AD\"},13230:{\"value\":\"33AE\",\"name\":\"SQUARE RAD OVER S\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 0072 0061 0064 2215 0073\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED RAD OVER S\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33AE\"},13231:{\"value\":\"33AF\",\"name\":\"SQUARE RAD OVER S SQUARED\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 0072 0061 0064 2215 0073 00B2\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED RAD OVER S SQUARED\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33AF\"},13232:{\"value\":\"33B0\",\"name\":\"SQUARE PS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 0070 0073\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED PS\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33B0\"},13233:{\"value\":\"33B1\",\"name\":\"SQUARE NS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 006E 0073\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED NS\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33B1\"},13234:{\"value\":\"33B2\",\"name\":\"SQUARE MU S\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 03BC 0073\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED MU S\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33B2\"},13235:{\"value\":\"33B3\",\"name\":\"SQUARE MS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 006D 0073\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED MS\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33B3\"},13236:{\"value\":\"33B4\",\"name\":\"SQUARE PV\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 0070 0056\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED PV\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33B4\"},13237:{\"value\":\"33B5\",\"name\":\"SQUARE NV\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 006E 0056\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED NV\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33B5\"},13238:{\"value\":\"33B6\",\"name\":\"SQUARE MU V\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 03BC 0056\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED MU V\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33B6\"},13239:{\"value\":\"33B7\",\"name\":\"SQUARE MV\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 006D 0056\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED MV\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33B7\"},13240:{\"value\":\"33B8\",\"name\":\"SQUARE KV\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 006B 0056\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED KV\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33B8\"},13241:{\"value\":\"33B9\",\"name\":\"SQUARE MV MEGA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 004D 0056\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED MV MEGA\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33B9\"},13242:{\"value\":\"33BA\",\"name\":\"SQUARE PW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 0070 0057\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED PW\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33BA\"},13243:{\"value\":\"33BB\",\"name\":\"SQUARE NW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 006E 0057\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED NW\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33BB\"},13244:{\"value\":\"33BC\",\"name\":\"SQUARE MU W\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 03BC 0057\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED MU W\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33BC\"},13245:{\"value\":\"33BD\",\"name\":\"SQUARE MW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 006D 0057\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED MW\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33BD\"},13246:{\"value\":\"33BE\",\"name\":\"SQUARE KW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 006B 0057\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED KW\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33BE\"},13247:{\"value\":\"33BF\",\"name\":\"SQUARE MW MEGA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 004D 0057\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED MW MEGA\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33BF\"},13248:{\"value\":\"33C0\",\"name\":\"SQUARE K OHM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 006B 03A9\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED K OHM\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33C0\"},13249:{\"value\":\"33C1\",\"name\":\"SQUARE M OHM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 004D 03A9\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED M OHM\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33C1\"},13250:{\"value\":\"33C2\",\"name\":\"SQUARE AM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 0061 002E 006D 002E\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED AM\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33C2\"},13251:{\"value\":\"33C3\",\"name\":\"SQUARE BQ\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 0042 0071\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED BQ\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33C3\"},13252:{\"value\":\"33C4\",\"name\":\"SQUARE CC\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 0063 0063\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED CC\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33C4\"},13253:{\"value\":\"33C5\",\"name\":\"SQUARE CD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 0063 0064\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED CD\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33C5\"},13254:{\"value\":\"33C6\",\"name\":\"SQUARE C OVER KG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 0043 2215 006B 0067\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED C OVER KG\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33C6\"},13255:{\"value\":\"33C7\",\"name\":\"SQUARE CO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 0043 006F 002E\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED CO\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33C7\"},13256:{\"value\":\"33C8\",\"name\":\"SQUARE DB\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 0064 0042\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED DB\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33C8\"},13257:{\"value\":\"33C9\",\"name\":\"SQUARE GY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 0047 0079\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED GY\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33C9\"},13258:{\"value\":\"33CA\",\"name\":\"SQUARE HA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 0068 0061\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED HA\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33CA\"},13259:{\"value\":\"33CB\",\"name\":\"SQUARE HP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 0048 0050\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED HP\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33CB\"},13260:{\"value\":\"33CC\",\"name\":\"SQUARE IN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 0069 006E\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED IN\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33CC\"},13261:{\"value\":\"33CD\",\"name\":\"SQUARE KK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 004B 004B\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED KK\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33CD\"},13262:{\"value\":\"33CE\",\"name\":\"SQUARE KM CAPITAL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 004B 004D\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED KM CAPITAL\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33CE\"},13263:{\"value\":\"33CF\",\"name\":\"SQUARE KT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 006B 0074\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED KT\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33CF\"},13264:{\"value\":\"33D0\",\"name\":\"SQUARE LM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 006C 006D\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED LM\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33D0\"},13265:{\"value\":\"33D1\",\"name\":\"SQUARE LN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 006C 006E\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED LN\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33D1\"},13266:{\"value\":\"33D2\",\"name\":\"SQUARE LOG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 006C 006F 0067\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED LOG\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33D2\"},13267:{\"value\":\"33D3\",\"name\":\"SQUARE LX\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 006C 0078\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED LX\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33D3\"},13268:{\"value\":\"33D4\",\"name\":\"SQUARE MB SMALL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 006D 0062\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED MB SMALL\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33D4\"},13269:{\"value\":\"33D5\",\"name\":\"SQUARE MIL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 006D 0069 006C\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED MIL\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33D5\"},13270:{\"value\":\"33D6\",\"name\":\"SQUARE MOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 006D 006F 006C\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED MOL\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33D6\"},13271:{\"value\":\"33D7\",\"name\":\"SQUARE PH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 0050 0048\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED PH\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33D7\"},13272:{\"value\":\"33D8\",\"name\":\"SQUARE PM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 0070 002E 006D 002E\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED PM\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33D8\"},13273:{\"value\":\"33D9\",\"name\":\"SQUARE PPM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 0050 0050 004D\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED PPM\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33D9\"},13274:{\"value\":\"33DA\",\"name\":\"SQUARE PR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 0050 0052\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED PR\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33DA\"},13275:{\"value\":\"33DB\",\"name\":\"SQUARE SR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 0073 0072\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED SR\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33DB\"},13276:{\"value\":\"33DC\",\"name\":\"SQUARE SV\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 0053 0076\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED SV\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33DC\"},13277:{\"value\":\"33DD\",\"name\":\"SQUARE WB\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 0057 0062\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"SQUARED WB\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33DD\"},13278:{\"value\":\"33DE\",\"name\":\"SQUARE V OVER M\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<square> 0056 2215 006D\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33DE\"},13279:{\"value\":\"33DF\",\"name\":\"SQUARE A OVER M\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<square> 0041 2215 006D\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33DF\"},13280:{\"value\":\"33E0\",\"name\":\"IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY ONE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0031 65E5\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33E0\"},13281:{\"value\":\"33E1\",\"name\":\"IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0032 65E5\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33E1\"},13282:{\"value\":\"33E2\",\"name\":\"IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THREE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0033 65E5\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33E2\"},13283:{\"value\":\"33E3\",\"name\":\"IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FOUR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0034 65E5\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33E3\"},13284:{\"value\":\"33E4\",\"name\":\"IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FIVE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0035 65E5\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33E4\"},13285:{\"value\":\"33E5\",\"name\":\"IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SIX\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0036 65E5\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33E5\"},13286:{\"value\":\"33E6\",\"name\":\"IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SEVEN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0037 65E5\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33E6\"},13287:{\"value\":\"33E7\",\"name\":\"IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY EIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0038 65E5\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33E7\"},13288:{\"value\":\"33E8\",\"name\":\"IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY NINE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0039 65E5\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33E8\"},13289:{\"value\":\"33E9\",\"name\":\"IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TEN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0031 0030 65E5\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33E9\"},13290:{\"value\":\"33EA\",\"name\":\"IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY ELEVEN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0031 0031 65E5\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33EA\"},13291:{\"value\":\"33EB\",\"name\":\"IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWELVE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0031 0032 65E5\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33EB\"},13292:{\"value\":\"33EC\",\"name\":\"IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTEEN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0031 0033 65E5\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33EC\"},13293:{\"value\":\"33ED\",\"name\":\"IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FOURTEEN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0031 0034 65E5\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33ED\"},13294:{\"value\":\"33EE\",\"name\":\"IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FIFTEEN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0031 0035 65E5\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33EE\"},13295:{\"value\":\"33EF\",\"name\":\"IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SIXTEEN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0031 0036 65E5\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33EF\"},13296:{\"value\":\"33F0\",\"name\":\"IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SEVENTEEN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0031 0037 65E5\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33F0\"},13297:{\"value\":\"33F1\",\"name\":\"IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY EIGHTEEN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0031 0038 65E5\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33F1\"},13298:{\"value\":\"33F2\",\"name\":\"IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY NINETEEN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0031 0039 65E5\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33F2\"},13299:{\"value\":\"33F3\",\"name\":\"IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0032 0030 65E5\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33F3\"},13300:{\"value\":\"33F4\",\"name\":\"IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-ONE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0032 0031 65E5\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33F4\"},13301:{\"value\":\"33F5\",\"name\":\"IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-TWO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0032 0032 65E5\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33F5\"},13302:{\"value\":\"33F6\",\"name\":\"IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-THREE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0032 0033 65E5\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33F6\"},13303:{\"value\":\"33F7\",\"name\":\"IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-FOUR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0032 0034 65E5\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33F7\"},13304:{\"value\":\"33F8\",\"name\":\"IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-FIVE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0032 0035 65E5\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33F8\"},13305:{\"value\":\"33F9\",\"name\":\"IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-SIX\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0032 0036 65E5\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33F9\"},13306:{\"value\":\"33FA\",\"name\":\"IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-SEVEN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0032 0037 65E5\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33FA\"},13307:{\"value\":\"33FB\",\"name\":\"IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-EIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0032 0038 65E5\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33FB\"},13308:{\"value\":\"33FC\",\"name\":\"IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-NINE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0032 0039 65E5\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33FC\"},13309:{\"value\":\"33FD\",\"name\":\"IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0033 0030 65E5\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33FD\"},13310:{\"value\":\"33FE\",\"name\":\"IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTY-ONE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0033 0031 65E5\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33FE\"},13311:{\"value\":\"33FF\",\"name\":\"SQUARE GAL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<square> 0067 0061 006C\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u33FF\"},19904:{\"value\":\"4DC0\",\"name\":\"HEXAGRAM FOR THE CREATIVE HEAVEN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u4DC0\"},19905:{\"value\":\"4DC1\",\"name\":\"HEXAGRAM FOR THE RECEPTIVE EARTH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u4DC1\"},19906:{\"value\":\"4DC2\",\"name\":\"HEXAGRAM FOR DIFFICULTY AT THE BEGINNING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u4DC2\"},19907:{\"value\":\"4DC3\",\"name\":\"HEXAGRAM FOR YOUTHFUL FOLLY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u4DC3\"},19908:{\"value\":\"4DC4\",\"name\":\"HEXAGRAM FOR WAITING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u4DC4\"},19909:{\"value\":\"4DC5\",\"name\":\"HEXAGRAM FOR CONFLICT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u4DC5\"},19910:{\"value\":\"4DC6\",\"name\":\"HEXAGRAM FOR THE ARMY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u4DC6\"},19911:{\"value\":\"4DC7\",\"name\":\"HEXAGRAM FOR HOLDING TOGETHER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u4DC7\"},19912:{\"value\":\"4DC8\",\"name\":\"HEXAGRAM FOR SMALL TAMING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u4DC8\"},19913:{\"value\":\"4DC9\",\"name\":\"HEXAGRAM FOR TREADING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u4DC9\"},19914:{\"value\":\"4DCA\",\"name\":\"HEXAGRAM FOR PEACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u4DCA\"},19915:{\"value\":\"4DCB\",\"name\":\"HEXAGRAM FOR STANDSTILL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u4DCB\"},19916:{\"value\":\"4DCC\",\"name\":\"HEXAGRAM FOR FELLOWSHIP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u4DCC\"},19917:{\"value\":\"4DCD\",\"name\":\"HEXAGRAM FOR GREAT POSSESSION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u4DCD\"},19918:{\"value\":\"4DCE\",\"name\":\"HEXAGRAM FOR MODESTY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u4DCE\"},19919:{\"value\":\"4DCF\",\"name\":\"HEXAGRAM FOR ENTHUSIASM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u4DCF\"},19920:{\"value\":\"4DD0\",\"name\":\"HEXAGRAM FOR FOLLOWING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u4DD0\"},19921:{\"value\":\"4DD1\",\"name\":\"HEXAGRAM FOR WORK ON THE DECAYED\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u4DD1\"},19922:{\"value\":\"4DD2\",\"name\":\"HEXAGRAM FOR APPROACH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u4DD2\"},19923:{\"value\":\"4DD3\",\"name\":\"HEXAGRAM FOR CONTEMPLATION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u4DD3\"},19924:{\"value\":\"4DD4\",\"name\":\"HEXAGRAM FOR BITING THROUGH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u4DD4\"},19925:{\"value\":\"4DD5\",\"name\":\"HEXAGRAM FOR GRACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u4DD5\"},19926:{\"value\":\"4DD6\",\"name\":\"HEXAGRAM FOR SPLITTING APART\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u4DD6\"},19927:{\"value\":\"4DD7\",\"name\":\"HEXAGRAM FOR RETURN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u4DD7\"},19928:{\"value\":\"4DD8\",\"name\":\"HEXAGRAM FOR INNOCENCE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u4DD8\"},19929:{\"value\":\"4DD9\",\"name\":\"HEXAGRAM FOR GREAT TAMING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u4DD9\"},19930:{\"value\":\"4DDA\",\"name\":\"HEXAGRAM FOR MOUTH CORNERS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u4DDA\"},19931:{\"value\":\"4DDB\",\"name\":\"HEXAGRAM FOR GREAT PREPONDERANCE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u4DDB\"},19932:{\"value\":\"4DDC\",\"name\":\"HEXAGRAM FOR THE ABYSMAL WATER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u4DDC\"},19933:{\"value\":\"4DDD\",\"name\":\"HEXAGRAM FOR THE CLINGING FIRE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u4DDD\"},19934:{\"value\":\"4DDE\",\"name\":\"HEXAGRAM FOR INFLUENCE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u4DDE\"},19935:{\"value\":\"4DDF\",\"name\":\"HEXAGRAM FOR DURATION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u4DDF\"},19936:{\"value\":\"4DE0\",\"name\":\"HEXAGRAM FOR RETREAT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u4DE0\"},19937:{\"value\":\"4DE1\",\"name\":\"HEXAGRAM FOR GREAT POWER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u4DE1\"},19938:{\"value\":\"4DE2\",\"name\":\"HEXAGRAM FOR PROGRESS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u4DE2\"},19939:{\"value\":\"4DE3\",\"name\":\"HEXAGRAM FOR DARKENING OF THE LIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u4DE3\"},19940:{\"value\":\"4DE4\",\"name\":\"HEXAGRAM FOR THE FAMILY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u4DE4\"},19941:{\"value\":\"4DE5\",\"name\":\"HEXAGRAM FOR OPPOSITION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u4DE5\"},19942:{\"value\":\"4DE6\",\"name\":\"HEXAGRAM FOR OBSTRUCTION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u4DE6\"},19943:{\"value\":\"4DE7\",\"name\":\"HEXAGRAM FOR DELIVERANCE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u4DE7\"},19944:{\"value\":\"4DE8\",\"name\":\"HEXAGRAM FOR DECREASE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u4DE8\"},19945:{\"value\":\"4DE9\",\"name\":\"HEXAGRAM FOR INCREASE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u4DE9\"},19946:{\"value\":\"4DEA\",\"name\":\"HEXAGRAM FOR BREAKTHROUGH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u4DEA\"},19947:{\"value\":\"4DEB\",\"name\":\"HEXAGRAM FOR COMING TO MEET\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u4DEB\"},19948:{\"value\":\"4DEC\",\"name\":\"HEXAGRAM FOR GATHERING TOGETHER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u4DEC\"},19949:{\"value\":\"4DED\",\"name\":\"HEXAGRAM FOR PUSHING UPWARD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u4DED\"},19950:{\"value\":\"4DEE\",\"name\":\"HEXAGRAM FOR OPPRESSION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u4DEE\"},19951:{\"value\":\"4DEF\",\"name\":\"HEXAGRAM FOR THE WELL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u4DEF\"},19952:{\"value\":\"4DF0\",\"name\":\"HEXAGRAM FOR REVOLUTION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u4DF0\"},19953:{\"value\":\"4DF1\",\"name\":\"HEXAGRAM FOR THE CAULDRON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u4DF1\"},19954:{\"value\":\"4DF2\",\"name\":\"HEXAGRAM FOR THE AROUSING THUNDER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u4DF2\"},19955:{\"value\":\"4DF3\",\"name\":\"HEXAGRAM FOR THE KEEPING STILL MOUNTAIN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u4DF3\"},19956:{\"value\":\"4DF4\",\"name\":\"HEXAGRAM FOR DEVELOPMENT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u4DF4\"},19957:{\"value\":\"4DF5\",\"name\":\"HEXAGRAM FOR THE MARRYING MAIDEN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u4DF5\"},19958:{\"value\":\"4DF6\",\"name\":\"HEXAGRAM FOR ABUNDANCE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u4DF6\"},19959:{\"value\":\"4DF7\",\"name\":\"HEXAGRAM FOR THE WANDERER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u4DF7\"},19960:{\"value\":\"4DF8\",\"name\":\"HEXAGRAM FOR THE GENTLE WIND\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u4DF8\"},19961:{\"value\":\"4DF9\",\"name\":\"HEXAGRAM FOR THE JOYOUS LAKE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u4DF9\"},19962:{\"value\":\"4DFA\",\"name\":\"HEXAGRAM FOR DISPERSION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u4DFA\"},19963:{\"value\":\"4DFB\",\"name\":\"HEXAGRAM FOR LIMITATION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u4DFB\"},19964:{\"value\":\"4DFC\",\"name\":\"HEXAGRAM FOR INNER TRUTH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u4DFC\"},19965:{\"value\":\"4DFD\",\"name\":\"HEXAGRAM FOR SMALL PREPONDERANCE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u4DFD\"},19966:{\"value\":\"4DFE\",\"name\":\"HEXAGRAM FOR AFTER COMPLETION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u4DFE\"},19967:{\"value\":\"4DFF\",\"name\":\"HEXAGRAM FOR BEFORE COMPLETION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u4DFF\"},42128:{\"value\":\"A490\",\"name\":\"YI RADICAL QOT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uA490\"},42129:{\"value\":\"A491\",\"name\":\"YI RADICAL LI\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uA491\"},42130:{\"value\":\"A492\",\"name\":\"YI RADICAL KIT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uA492\"},42131:{\"value\":\"A493\",\"name\":\"YI RADICAL NYIP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uA493\"},42132:{\"value\":\"A494\",\"name\":\"YI RADICAL CYP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uA494\"},42133:{\"value\":\"A495\",\"name\":\"YI RADICAL SSI\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uA495\"},42134:{\"value\":\"A496\",\"name\":\"YI RADICAL GGOP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uA496\"},42135:{\"value\":\"A497\",\"name\":\"YI RADICAL GEP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uA497\"},42136:{\"value\":\"A498\",\"name\":\"YI RADICAL MI\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uA498\"},42137:{\"value\":\"A499\",\"name\":\"YI RADICAL HXIT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uA499\"},42138:{\"value\":\"A49A\",\"name\":\"YI RADICAL LYR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uA49A\"},42139:{\"value\":\"A49B\",\"name\":\"YI RADICAL BBUT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uA49B\"},42140:{\"value\":\"A49C\",\"name\":\"YI RADICAL MOP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uA49C\"},42141:{\"value\":\"A49D\",\"name\":\"YI RADICAL YO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uA49D\"},42142:{\"value\":\"A49E\",\"name\":\"YI RADICAL PUT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uA49E\"},42143:{\"value\":\"A49F\",\"name\":\"YI RADICAL HXUO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uA49F\"},42144:{\"value\":\"A4A0\",\"name\":\"YI RADICAL TAT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uA4A0\"},42145:{\"value\":\"A4A1\",\"name\":\"YI RADICAL GA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uA4A1\"},42146:{\"value\":\"A4A2\",\"name\":\"YI RADICAL ZUP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uA4A2\"},42147:{\"value\":\"A4A3\",\"name\":\"YI RADICAL CYT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uA4A3\"},42148:{\"value\":\"A4A4\",\"name\":\"YI RADICAL DDUR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uA4A4\"},42149:{\"value\":\"A4A5\",\"name\":\"YI RADICAL BUR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uA4A5\"},42150:{\"value\":\"A4A6\",\"name\":\"YI RADICAL GGUO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uA4A6\"},42151:{\"value\":\"A4A7\",\"name\":\"YI RADICAL NYOP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uA4A7\"},42152:{\"value\":\"A4A8\",\"name\":\"YI RADICAL TU\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uA4A8\"},42153:{\"value\":\"A4A9\",\"name\":\"YI RADICAL OP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uA4A9\"},42154:{\"value\":\"A4AA\",\"name\":\"YI RADICAL JJUT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uA4AA\"},42155:{\"value\":\"A4AB\",\"name\":\"YI RADICAL ZOT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uA4AB\"},42156:{\"value\":\"A4AC\",\"name\":\"YI RADICAL PYT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uA4AC\"},42157:{\"value\":\"A4AD\",\"name\":\"YI RADICAL HMO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uA4AD\"},42158:{\"value\":\"A4AE\",\"name\":\"YI RADICAL YIT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uA4AE\"},42159:{\"value\":\"A4AF\",\"name\":\"YI RADICAL VUR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uA4AF\"},42160:{\"value\":\"A4B0\",\"name\":\"YI RADICAL SHY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uA4B0\"},42161:{\"value\":\"A4B1\",\"name\":\"YI RADICAL VEP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uA4B1\"},42162:{\"value\":\"A4B2\",\"name\":\"YI RADICAL ZA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uA4B2\"},42163:{\"value\":\"A4B3\",\"name\":\"YI RADICAL JO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uA4B3\"},42164:{\"value\":\"A4B4\",\"name\":\"YI RADICAL NZUP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uA4B4\"},42165:{\"value\":\"A4B5\",\"name\":\"YI RADICAL JJY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uA4B5\"},42166:{\"value\":\"A4B6\",\"name\":\"YI RADICAL GOT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uA4B6\"},42167:{\"value\":\"A4B7\",\"name\":\"YI RADICAL JJIE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uA4B7\"},42168:{\"value\":\"A4B8\",\"name\":\"YI RADICAL WO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uA4B8\"},42169:{\"value\":\"A4B9\",\"name\":\"YI RADICAL DU\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uA4B9\"},42170:{\"value\":\"A4BA\",\"name\":\"YI RADICAL SHUR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uA4BA\"},42171:{\"value\":\"A4BB\",\"name\":\"YI RADICAL LIE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uA4BB\"},42172:{\"value\":\"A4BC\",\"name\":\"YI RADICAL CY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uA4BC\"},42173:{\"value\":\"A4BD\",\"name\":\"YI RADICAL CUOP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uA4BD\"},42174:{\"value\":\"A4BE\",\"name\":\"YI RADICAL CIP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uA4BE\"},42175:{\"value\":\"A4BF\",\"name\":\"YI RADICAL HXOP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uA4BF\"},42176:{\"value\":\"A4C0\",\"name\":\"YI RADICAL SHAT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uA4C0\"},42177:{\"value\":\"A4C1\",\"name\":\"YI RADICAL ZUR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uA4C1\"},42178:{\"value\":\"A4C2\",\"name\":\"YI RADICAL SHOP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uA4C2\"},42179:{\"value\":\"A4C3\",\"name\":\"YI RADICAL CHE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uA4C3\"},42180:{\"value\":\"A4C4\",\"name\":\"YI RADICAL ZZIET\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uA4C4\"},42181:{\"value\":\"A4C5\",\"name\":\"YI RADICAL NBIE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uA4C5\"},42182:{\"value\":\"A4C6\",\"name\":\"YI RADICAL KE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uA4C6\"},43048:{\"value\":\"A828\",\"name\":\"SYLOTI NAGRI POETRY MARK-1\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uA828\"},43049:{\"value\":\"A829\",\"name\":\"SYLOTI NAGRI POETRY MARK-2\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uA829\"},43050:{\"value\":\"A82A\",\"name\":\"SYLOTI NAGRI POETRY MARK-3\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uA82A\"},43051:{\"value\":\"A82B\",\"name\":\"SYLOTI NAGRI POETRY MARK-4\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uA82B\"},43062:{\"value\":\"A836\",\"name\":\"NORTH INDIC QUARTER MARK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uA836\"},43063:{\"value\":\"A837\",\"name\":\"NORTH INDIC PLACEHOLDER MARK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uA837\"},43065:{\"value\":\"A839\",\"name\":\"NORTH INDIC QUANTITY MARK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ET\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uA839\"},43639:{\"value\":\"AA77\",\"name\":\"MYANMAR SYMBOL AITON EXCLAMATION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uAA77\"},43640:{\"value\":\"AA78\",\"name\":\"MYANMAR SYMBOL AITON ONE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uAA78\"},43641:{\"value\":\"AA79\",\"name\":\"MYANMAR SYMBOL AITON TWO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uAA79\"},65021:{\"value\":\"FDFD\",\"name\":\"ARABIC LIGATURE BISMILLAH AR-RAHMAN AR-RAHEEM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uFDFD\"},65508:{\"value\":\"FFE4\",\"name\":\"FULLWIDTH BROKEN BAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<wide> 00A6\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"FULLWIDTH BROKEN VERTICAL BAR\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uFFE4\"},65512:{\"value\":\"FFE8\",\"name\":\"HALFWIDTH FORMS LIGHT VERTICAL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<narrow> 2502\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uFFE8\"},65517:{\"value\":\"FFED\",\"name\":\"HALFWIDTH BLACK SQUARE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<narrow> 25A0\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uFFED\"},65518:{\"value\":\"FFEE\",\"name\":\"HALFWIDTH WHITE CIRCLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<narrow> 25CB\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uFFEE\"},65532:{\"value\":\"FFFC\",\"name\":\"OBJECT REPLACEMENT CHARACTER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uFFFC\"},65533:{\"value\":\"FFFD\",\"name\":\"REPLACEMENT CHARACTER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uFFFD\"},65847:{\"value\":\"10137\",\"name\":\"AEGEAN WEIGHT BASE UNIT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0137\"},65848:{\"value\":\"10138\",\"name\":\"AEGEAN WEIGHT FIRST SUBUNIT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0138\"},65849:{\"value\":\"10139\",\"name\":\"AEGEAN WEIGHT SECOND SUBUNIT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0139\"},65850:{\"value\":\"1013A\",\"name\":\"AEGEAN WEIGHT THIRD SUBUNIT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u013A\"},65851:{\"value\":\"1013B\",\"name\":\"AEGEAN WEIGHT FOURTH SUBUNIT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u013B\"},65852:{\"value\":\"1013C\",\"name\":\"AEGEAN DRY MEASURE FIRST SUBUNIT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u013C\"},65853:{\"value\":\"1013D\",\"name\":\"AEGEAN LIQUID MEASURE FIRST SUBUNIT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u013D\"},65854:{\"value\":\"1013E\",\"name\":\"AEGEAN MEASURE SECOND SUBUNIT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u013E\"},65855:{\"value\":\"1013F\",\"name\":\"AEGEAN MEASURE THIRD SUBUNIT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u013F\"},65913:{\"value\":\"10179\",\"name\":\"GREEK YEAR SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0179\"},65914:{\"value\":\"1017A\",\"name\":\"GREEK TALENT SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u017A\"},65915:{\"value\":\"1017B\",\"name\":\"GREEK DRACHMA SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u017B\"},65916:{\"value\":\"1017C\",\"name\":\"GREEK OBOL SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u017C\"},65917:{\"value\":\"1017D\",\"name\":\"GREEK TWO OBOLS SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u017D\"},65918:{\"value\":\"1017E\",\"name\":\"GREEK THREE OBOLS SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u017E\"},65919:{\"value\":\"1017F\",\"name\":\"GREEK FOUR OBOLS SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u017F\"},65920:{\"value\":\"10180\",\"name\":\"GREEK FIVE OBOLS SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0180\"},65921:{\"value\":\"10181\",\"name\":\"GREEK METRETES SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0181\"},65922:{\"value\":\"10182\",\"name\":\"GREEK KYATHOS BASE SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0182\"},65923:{\"value\":\"10183\",\"name\":\"GREEK LITRA SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0183\"},65924:{\"value\":\"10184\",\"name\":\"GREEK OUNKIA SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0184\"},65925:{\"value\":\"10185\",\"name\":\"GREEK XESTES SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0185\"},65926:{\"value\":\"10186\",\"name\":\"GREEK ARTABE SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0186\"},65927:{\"value\":\"10187\",\"name\":\"GREEK AROURA SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0187\"},65928:{\"value\":\"10188\",\"name\":\"GREEK GRAMMA SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0188\"},65929:{\"value\":\"10189\",\"name\":\"GREEK TRYBLION BASE SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0189\"},65932:{\"value\":\"1018C\",\"name\":\"GREEK SINUSOID SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u018C\"},65933:{\"value\":\"1018D\",\"name\":\"GREEK INDICTION SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u018D\"},65934:{\"value\":\"1018E\",\"name\":\"NOMISMA SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u018E\"},65936:{\"value\":\"10190\",\"name\":\"ROMAN SEXTANS SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0190\"},65937:{\"value\":\"10191\",\"name\":\"ROMAN UNCIA SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0191\"},65938:{\"value\":\"10192\",\"name\":\"ROMAN SEMUNCIA SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0192\"},65939:{\"value\":\"10193\",\"name\":\"ROMAN SEXTULA SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0193\"},65940:{\"value\":\"10194\",\"name\":\"ROMAN DIMIDIA SEXTULA SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0194\"},65941:{\"value\":\"10195\",\"name\":\"ROMAN SILIQUA SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0195\"},65942:{\"value\":\"10196\",\"name\":\"ROMAN DENARIUS SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0196\"},65943:{\"value\":\"10197\",\"name\":\"ROMAN QUINARIUS SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0197\"},65944:{\"value\":\"10198\",\"name\":\"ROMAN SESTERTIUS SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0198\"},65945:{\"value\":\"10199\",\"name\":\"ROMAN DUPONDIUS SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0199\"},65946:{\"value\":\"1019A\",\"name\":\"ROMAN AS SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u019A\"},65947:{\"value\":\"1019B\",\"name\":\"ROMAN CENTURIAL SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u019B\"},65952:{\"value\":\"101A0\",\"name\":\"GREEK SYMBOL TAU RHO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u01A0\"},66000:{\"value\":\"101D0\",\"name\":\"PHAISTOS DISC SIGN PEDESTRIAN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u01D0\"},66001:{\"value\":\"101D1\",\"name\":\"PHAISTOS DISC SIGN PLUMED HEAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u01D1\"},66002:{\"value\":\"101D2\",\"name\":\"PHAISTOS DISC SIGN TATTOOED HEAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u01D2\"},66003:{\"value\":\"101D3\",\"name\":\"PHAISTOS DISC SIGN CAPTIVE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u01D3\"},66004:{\"value\":\"101D4\",\"name\":\"PHAISTOS DISC SIGN CHILD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u01D4\"},66005:{\"value\":\"101D5\",\"name\":\"PHAISTOS DISC SIGN WOMAN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u01D5\"},66006:{\"value\":\"101D6\",\"name\":\"PHAISTOS DISC SIGN HELMET\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u01D6\"},66007:{\"value\":\"101D7\",\"name\":\"PHAISTOS DISC SIGN GAUNTLET\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u01D7\"},66008:{\"value\":\"101D8\",\"name\":\"PHAISTOS DISC SIGN TIARA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u01D8\"},66009:{\"value\":\"101D9\",\"name\":\"PHAISTOS DISC SIGN ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u01D9\"},66010:{\"value\":\"101DA\",\"name\":\"PHAISTOS DISC SIGN BOW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u01DA\"},66011:{\"value\":\"101DB\",\"name\":\"PHAISTOS DISC SIGN SHIELD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u01DB\"},66012:{\"value\":\"101DC\",\"name\":\"PHAISTOS DISC SIGN CLUB\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u01DC\"},66013:{\"value\":\"101DD\",\"name\":\"PHAISTOS DISC SIGN MANACLES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u01DD\"},66014:{\"value\":\"101DE\",\"name\":\"PHAISTOS DISC SIGN MATTOCK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u01DE\"},66015:{\"value\":\"101DF\",\"name\":\"PHAISTOS DISC SIGN SAW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u01DF\"},66016:{\"value\":\"101E0\",\"name\":\"PHAISTOS DISC SIGN LID\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u01E0\"},66017:{\"value\":\"101E1\",\"name\":\"PHAISTOS DISC SIGN BOOMERANG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u01E1\"},66018:{\"value\":\"101E2\",\"name\":\"PHAISTOS DISC SIGN CARPENTRY PLANE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u01E2\"},66019:{\"value\":\"101E3\",\"name\":\"PHAISTOS DISC SIGN DOLIUM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u01E3\"},66020:{\"value\":\"101E4\",\"name\":\"PHAISTOS DISC SIGN COMB\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u01E4\"},66021:{\"value\":\"101E5\",\"name\":\"PHAISTOS DISC SIGN SLING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u01E5\"},66022:{\"value\":\"101E6\",\"name\":\"PHAISTOS DISC SIGN COLUMN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u01E6\"},66023:{\"value\":\"101E7\",\"name\":\"PHAISTOS DISC SIGN BEEHIVE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u01E7\"},66024:{\"value\":\"101E8\",\"name\":\"PHAISTOS DISC SIGN SHIP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u01E8\"},66025:{\"value\":\"101E9\",\"name\":\"PHAISTOS DISC SIGN HORN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u01E9\"},66026:{\"value\":\"101EA\",\"name\":\"PHAISTOS DISC SIGN HIDE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u01EA\"},66027:{\"value\":\"101EB\",\"name\":\"PHAISTOS DISC SIGN BULLS LEG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u01EB\"},66028:{\"value\":\"101EC\",\"name\":\"PHAISTOS DISC SIGN CAT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u01EC\"},66029:{\"value\":\"101ED\",\"name\":\"PHAISTOS DISC SIGN RAM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u01ED\"},66030:{\"value\":\"101EE\",\"name\":\"PHAISTOS DISC SIGN EAGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u01EE\"},66031:{\"value\":\"101EF\",\"name\":\"PHAISTOS DISC SIGN DOVE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u01EF\"},66032:{\"value\":\"101F0\",\"name\":\"PHAISTOS DISC SIGN TUNNY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u01F0\"},66033:{\"value\":\"101F1\",\"name\":\"PHAISTOS DISC SIGN BEE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u01F1\"},66034:{\"value\":\"101F2\",\"name\":\"PHAISTOS DISC SIGN PLANE TREE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u01F2\"},66035:{\"value\":\"101F3\",\"name\":\"PHAISTOS DISC SIGN VINE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u01F3\"},66036:{\"value\":\"101F4\",\"name\":\"PHAISTOS DISC SIGN PAPYRUS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u01F4\"},66037:{\"value\":\"101F5\",\"name\":\"PHAISTOS DISC SIGN ROSETTE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u01F5\"},66038:{\"value\":\"101F6\",\"name\":\"PHAISTOS DISC SIGN LILY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u01F6\"},66039:{\"value\":\"101F7\",\"name\":\"PHAISTOS DISC SIGN OX BACK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u01F7\"},66040:{\"value\":\"101F8\",\"name\":\"PHAISTOS DISC SIGN FLUTE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u01F8\"},66041:{\"value\":\"101F9\",\"name\":\"PHAISTOS DISC SIGN GRATER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u01F9\"},66042:{\"value\":\"101FA\",\"name\":\"PHAISTOS DISC SIGN STRAINER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u01FA\"},66043:{\"value\":\"101FB\",\"name\":\"PHAISTOS DISC SIGN SMALL AXE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u01FB\"},66044:{\"value\":\"101FC\",\"name\":\"PHAISTOS DISC SIGN WAVY BAND\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u01FC\"},67703:{\"value\":\"10877\",\"name\":\"PALMYRENE LEFT-POINTING FLEURON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"R\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0877\"},67704:{\"value\":\"10878\",\"name\":\"PALMYRENE RIGHT-POINTING FLEURON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"R\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0878\"},68296:{\"value\":\"10AC8\",\"name\":\"MANICHAEAN SIGN UD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"R\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u0AC8\"},71487:{\"value\":\"1173F\",\"name\":\"AHOM SYMBOL VI\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u173F\"},92988:{\"value\":\"16B3C\",\"name\":\"PAHAWH HMONG SIGN XYEEM NTXIV\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u6B3C\"},92989:{\"value\":\"16B3D\",\"name\":\"PAHAWH HMONG SIGN XYEEM RHO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u6B3D\"},92990:{\"value\":\"16B3E\",\"name\":\"PAHAWH HMONG SIGN XYEEM TOV\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u6B3E\"},92991:{\"value\":\"16B3F\",\"name\":\"PAHAWH HMONG SIGN XYEEM FAIB\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u6B3F\"},92997:{\"value\":\"16B45\",\"name\":\"PAHAWH HMONG SIGN CIM TSOV ROG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\u6B45\"},113820:{\"value\":\"1BC9C\",\"name\":\"DUPLOYAN SIGN O WITH CROSS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uBC9C\"},118784:{\"value\":\"1D000\",\"name\":\"BYZANTINE MUSICAL SYMBOL PSILI\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD000\"},118785:{\"value\":\"1D001\",\"name\":\"BYZANTINE MUSICAL SYMBOL DASEIA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD001\"},118786:{\"value\":\"1D002\",\"name\":\"BYZANTINE MUSICAL SYMBOL PERISPOMENI\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD002\"},118787:{\"value\":\"1D003\",\"name\":\"BYZANTINE MUSICAL SYMBOL OXEIA EKFONITIKON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD003\"},118788:{\"value\":\"1D004\",\"name\":\"BYZANTINE MUSICAL SYMBOL OXEIA DIPLI\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD004\"},118789:{\"value\":\"1D005\",\"name\":\"BYZANTINE MUSICAL SYMBOL VAREIA EKFONITIKON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD005\"},118790:{\"value\":\"1D006\",\"name\":\"BYZANTINE MUSICAL SYMBOL VAREIA DIPLI\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD006\"},118791:{\"value\":\"1D007\",\"name\":\"BYZANTINE MUSICAL SYMBOL KATHISTI\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD007\"},118792:{\"value\":\"1D008\",\"name\":\"BYZANTINE MUSICAL SYMBOL SYRMATIKI\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD008\"},118793:{\"value\":\"1D009\",\"name\":\"BYZANTINE MUSICAL SYMBOL PARAKLITIKI\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD009\"},118794:{\"value\":\"1D00A\",\"name\":\"BYZANTINE MUSICAL SYMBOL YPOKRISIS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD00A\"},118795:{\"value\":\"1D00B\",\"name\":\"BYZANTINE MUSICAL SYMBOL YPOKRISIS DIPLI\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD00B\"},118796:{\"value\":\"1D00C\",\"name\":\"BYZANTINE MUSICAL SYMBOL KREMASTI\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD00C\"},118797:{\"value\":\"1D00D\",\"name\":\"BYZANTINE MUSICAL SYMBOL APESO EKFONITIKON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD00D\"},118798:{\"value\":\"1D00E\",\"name\":\"BYZANTINE MUSICAL SYMBOL EXO EKFONITIKON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD00E\"},118799:{\"value\":\"1D00F\",\"name\":\"BYZANTINE MUSICAL SYMBOL TELEIA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD00F\"},118800:{\"value\":\"1D010\",\"name\":\"BYZANTINE MUSICAL SYMBOL KENTIMATA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD010\"},118801:{\"value\":\"1D011\",\"name\":\"BYZANTINE MUSICAL SYMBOL APOSTROFOS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD011\"},118802:{\"value\":\"1D012\",\"name\":\"BYZANTINE MUSICAL SYMBOL APOSTROFOS DIPLI\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD012\"},118803:{\"value\":\"1D013\",\"name\":\"BYZANTINE MUSICAL SYMBOL SYNEVMA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD013\"},118804:{\"value\":\"1D014\",\"name\":\"BYZANTINE MUSICAL SYMBOL THITA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD014\"},118805:{\"value\":\"1D015\",\"name\":\"BYZANTINE MUSICAL SYMBOL OLIGON ARCHAION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD015\"},118806:{\"value\":\"1D016\",\"name\":\"BYZANTINE MUSICAL SYMBOL GORGON ARCHAION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD016\"},118807:{\"value\":\"1D017\",\"name\":\"BYZANTINE MUSICAL SYMBOL PSILON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD017\"},118808:{\"value\":\"1D018\",\"name\":\"BYZANTINE MUSICAL SYMBOL CHAMILON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD018\"},118809:{\"value\":\"1D019\",\"name\":\"BYZANTINE MUSICAL SYMBOL VATHY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD019\"},118810:{\"value\":\"1D01A\",\"name\":\"BYZANTINE MUSICAL SYMBOL ISON ARCHAION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD01A\"},118811:{\"value\":\"1D01B\",\"name\":\"BYZANTINE MUSICAL SYMBOL KENTIMA ARCHAION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD01B\"},118812:{\"value\":\"1D01C\",\"name\":\"BYZANTINE MUSICAL SYMBOL KENTIMATA ARCHAION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD01C\"},118813:{\"value\":\"1D01D\",\"name\":\"BYZANTINE MUSICAL SYMBOL SAXIMATA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD01D\"},118814:{\"value\":\"1D01E\",\"name\":\"BYZANTINE MUSICAL SYMBOL PARICHON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD01E\"},118815:{\"value\":\"1D01F\",\"name\":\"BYZANTINE MUSICAL SYMBOL STAVROS APODEXIA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD01F\"},118816:{\"value\":\"1D020\",\"name\":\"BYZANTINE MUSICAL SYMBOL OXEIAI ARCHAION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD020\"},118817:{\"value\":\"1D021\",\"name\":\"BYZANTINE MUSICAL SYMBOL VAREIAI ARCHAION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD021\"},118818:{\"value\":\"1D022\",\"name\":\"BYZANTINE MUSICAL SYMBOL APODERMA ARCHAION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD022\"},118819:{\"value\":\"1D023\",\"name\":\"BYZANTINE MUSICAL SYMBOL APOTHEMA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD023\"},118820:{\"value\":\"1D024\",\"name\":\"BYZANTINE MUSICAL SYMBOL KLASMA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD024\"},118821:{\"value\":\"1D025\",\"name\":\"BYZANTINE MUSICAL SYMBOL REVMA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD025\"},118822:{\"value\":\"1D026\",\"name\":\"BYZANTINE MUSICAL SYMBOL PIASMA ARCHAION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD026\"},118823:{\"value\":\"1D027\",\"name\":\"BYZANTINE MUSICAL SYMBOL TINAGMA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD027\"},118824:{\"value\":\"1D028\",\"name\":\"BYZANTINE MUSICAL SYMBOL ANATRICHISMA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD028\"},118825:{\"value\":\"1D029\",\"name\":\"BYZANTINE MUSICAL SYMBOL SEISMA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD029\"},118826:{\"value\":\"1D02A\",\"name\":\"BYZANTINE MUSICAL SYMBOL SYNAGMA ARCHAION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD02A\"},118827:{\"value\":\"1D02B\",\"name\":\"BYZANTINE MUSICAL SYMBOL SYNAGMA META STAVROU\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD02B\"},118828:{\"value\":\"1D02C\",\"name\":\"BYZANTINE MUSICAL SYMBOL OYRANISMA ARCHAION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD02C\"},118829:{\"value\":\"1D02D\",\"name\":\"BYZANTINE MUSICAL SYMBOL THEMA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD02D\"},118830:{\"value\":\"1D02E\",\"name\":\"BYZANTINE MUSICAL SYMBOL LEMOI\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD02E\"},118831:{\"value\":\"1D02F\",\"name\":\"BYZANTINE MUSICAL SYMBOL DYO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD02F\"},118832:{\"value\":\"1D030\",\"name\":\"BYZANTINE MUSICAL SYMBOL TRIA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD030\"},118833:{\"value\":\"1D031\",\"name\":\"BYZANTINE MUSICAL SYMBOL TESSERA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD031\"},118834:{\"value\":\"1D032\",\"name\":\"BYZANTINE MUSICAL SYMBOL KRATIMATA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD032\"},118835:{\"value\":\"1D033\",\"name\":\"BYZANTINE MUSICAL SYMBOL APESO EXO NEO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD033\"},118836:{\"value\":\"1D034\",\"name\":\"BYZANTINE MUSICAL SYMBOL FTHORA ARCHAION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD034\"},118837:{\"value\":\"1D035\",\"name\":\"BYZANTINE MUSICAL SYMBOL IMIFTHORA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD035\"},118838:{\"value\":\"1D036\",\"name\":\"BYZANTINE MUSICAL SYMBOL TROMIKON ARCHAION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD036\"},118839:{\"value\":\"1D037\",\"name\":\"BYZANTINE MUSICAL SYMBOL KATAVA TROMIKON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD037\"},118840:{\"value\":\"1D038\",\"name\":\"BYZANTINE MUSICAL SYMBOL PELASTON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD038\"},118841:{\"value\":\"1D039\",\"name\":\"BYZANTINE MUSICAL SYMBOL PSIFISTON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD039\"},118842:{\"value\":\"1D03A\",\"name\":\"BYZANTINE MUSICAL SYMBOL KONTEVMA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD03A\"},118843:{\"value\":\"1D03B\",\"name\":\"BYZANTINE MUSICAL SYMBOL CHOREVMA ARCHAION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD03B\"},118844:{\"value\":\"1D03C\",\"name\":\"BYZANTINE MUSICAL SYMBOL RAPISMA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD03C\"},118845:{\"value\":\"1D03D\",\"name\":\"BYZANTINE MUSICAL SYMBOL PARAKALESMA ARCHAION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD03D\"},118846:{\"value\":\"1D03E\",\"name\":\"BYZANTINE MUSICAL SYMBOL PARAKLITIKI ARCHAION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD03E\"},118847:{\"value\":\"1D03F\",\"name\":\"BYZANTINE MUSICAL SYMBOL ICHADIN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD03F\"},118848:{\"value\":\"1D040\",\"name\":\"BYZANTINE MUSICAL SYMBOL NANA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD040\"},118849:{\"value\":\"1D041\",\"name\":\"BYZANTINE MUSICAL SYMBOL PETASMA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD041\"},118850:{\"value\":\"1D042\",\"name\":\"BYZANTINE MUSICAL SYMBOL KONTEVMA ALLO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD042\"},118851:{\"value\":\"1D043\",\"name\":\"BYZANTINE MUSICAL SYMBOL TROMIKON ALLO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD043\"},118852:{\"value\":\"1D044\",\"name\":\"BYZANTINE MUSICAL SYMBOL STRAGGISMATA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD044\"},118853:{\"value\":\"1D045\",\"name\":\"BYZANTINE MUSICAL SYMBOL GRONTHISMATA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD045\"},118854:{\"value\":\"1D046\",\"name\":\"BYZANTINE MUSICAL SYMBOL ISON NEO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD046\"},118855:{\"value\":\"1D047\",\"name\":\"BYZANTINE MUSICAL SYMBOL OLIGON NEO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD047\"},118856:{\"value\":\"1D048\",\"name\":\"BYZANTINE MUSICAL SYMBOL OXEIA NEO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD048\"},118857:{\"value\":\"1D049\",\"name\":\"BYZANTINE MUSICAL SYMBOL PETASTI\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD049\"},118858:{\"value\":\"1D04A\",\"name\":\"BYZANTINE MUSICAL SYMBOL KOUFISMA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD04A\"},118859:{\"value\":\"1D04B\",\"name\":\"BYZANTINE MUSICAL SYMBOL PETASTOKOUFISMA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD04B\"},118860:{\"value\":\"1D04C\",\"name\":\"BYZANTINE MUSICAL SYMBOL KRATIMOKOUFISMA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD04C\"},118861:{\"value\":\"1D04D\",\"name\":\"BYZANTINE MUSICAL SYMBOL PELASTON NEO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD04D\"},118862:{\"value\":\"1D04E\",\"name\":\"BYZANTINE MUSICAL SYMBOL KENTIMATA NEO ANO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD04E\"},118863:{\"value\":\"1D04F\",\"name\":\"BYZANTINE MUSICAL SYMBOL KENTIMA NEO ANO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD04F\"},118864:{\"value\":\"1D050\",\"name\":\"BYZANTINE MUSICAL SYMBOL YPSILI\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD050\"},118865:{\"value\":\"1D051\",\"name\":\"BYZANTINE MUSICAL SYMBOL APOSTROFOS NEO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD051\"},118866:{\"value\":\"1D052\",\"name\":\"BYZANTINE MUSICAL SYMBOL APOSTROFOI SYNDESMOS NEO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD052\"},118867:{\"value\":\"1D053\",\"name\":\"BYZANTINE MUSICAL SYMBOL YPORROI\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD053\"},118868:{\"value\":\"1D054\",\"name\":\"BYZANTINE MUSICAL SYMBOL KRATIMOYPORROON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD054\"},118869:{\"value\":\"1D055\",\"name\":\"BYZANTINE MUSICAL SYMBOL ELAFRON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD055\"},118870:{\"value\":\"1D056\",\"name\":\"BYZANTINE MUSICAL SYMBOL CHAMILI\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD056\"},118871:{\"value\":\"1D057\",\"name\":\"BYZANTINE MUSICAL SYMBOL MIKRON ISON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD057\"},118872:{\"value\":\"1D058\",\"name\":\"BYZANTINE MUSICAL SYMBOL VAREIA NEO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD058\"},118873:{\"value\":\"1D059\",\"name\":\"BYZANTINE MUSICAL SYMBOL PIASMA NEO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD059\"},118874:{\"value\":\"1D05A\",\"name\":\"BYZANTINE MUSICAL SYMBOL PSIFISTON NEO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD05A\"},118875:{\"value\":\"1D05B\",\"name\":\"BYZANTINE MUSICAL SYMBOL OMALON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD05B\"},118876:{\"value\":\"1D05C\",\"name\":\"BYZANTINE MUSICAL SYMBOL ANTIKENOMA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD05C\"},118877:{\"value\":\"1D05D\",\"name\":\"BYZANTINE MUSICAL SYMBOL LYGISMA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD05D\"},118878:{\"value\":\"1D05E\",\"name\":\"BYZANTINE MUSICAL SYMBOL PARAKLITIKI NEO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD05E\"},118879:{\"value\":\"1D05F\",\"name\":\"BYZANTINE MUSICAL SYMBOL PARAKALESMA NEO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD05F\"},118880:{\"value\":\"1D060\",\"name\":\"BYZANTINE MUSICAL SYMBOL ETERON PARAKALESMA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD060\"},118881:{\"value\":\"1D061\",\"name\":\"BYZANTINE MUSICAL SYMBOL KYLISMA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD061\"},118882:{\"value\":\"1D062\",\"name\":\"BYZANTINE MUSICAL SYMBOL ANTIKENOKYLISMA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD062\"},118883:{\"value\":\"1D063\",\"name\":\"BYZANTINE MUSICAL SYMBOL TROMIKON NEO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD063\"},118884:{\"value\":\"1D064\",\"name\":\"BYZANTINE MUSICAL SYMBOL EKSTREPTON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD064\"},118885:{\"value\":\"1D065\",\"name\":\"BYZANTINE MUSICAL SYMBOL SYNAGMA NEO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD065\"},118886:{\"value\":\"1D066\",\"name\":\"BYZANTINE MUSICAL SYMBOL SYRMA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD066\"},118887:{\"value\":\"1D067\",\"name\":\"BYZANTINE MUSICAL SYMBOL CHOREVMA NEO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD067\"},118888:{\"value\":\"1D068\",\"name\":\"BYZANTINE MUSICAL SYMBOL EPEGERMA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD068\"},118889:{\"value\":\"1D069\",\"name\":\"BYZANTINE MUSICAL SYMBOL SEISMA NEO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD069\"},118890:{\"value\":\"1D06A\",\"name\":\"BYZANTINE MUSICAL SYMBOL XIRON KLASMA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD06A\"},118891:{\"value\":\"1D06B\",\"name\":\"BYZANTINE MUSICAL SYMBOL TROMIKOPSIFISTON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD06B\"},118892:{\"value\":\"1D06C\",\"name\":\"BYZANTINE MUSICAL SYMBOL PSIFISTOLYGISMA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD06C\"},118893:{\"value\":\"1D06D\",\"name\":\"BYZANTINE MUSICAL SYMBOL TROMIKOLYGISMA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD06D\"},118894:{\"value\":\"1D06E\",\"name\":\"BYZANTINE MUSICAL SYMBOL TROMIKOPARAKALESMA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD06E\"},118895:{\"value\":\"1D06F\",\"name\":\"BYZANTINE MUSICAL SYMBOL PSIFISTOPARAKALESMA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD06F\"},118896:{\"value\":\"1D070\",\"name\":\"BYZANTINE MUSICAL SYMBOL TROMIKOSYNAGMA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD070\"},118897:{\"value\":\"1D071\",\"name\":\"BYZANTINE MUSICAL SYMBOL PSIFISTOSYNAGMA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD071\"},118898:{\"value\":\"1D072\",\"name\":\"BYZANTINE MUSICAL SYMBOL GORGOSYNTHETON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD072\"},118899:{\"value\":\"1D073\",\"name\":\"BYZANTINE MUSICAL SYMBOL ARGOSYNTHETON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD073\"},118900:{\"value\":\"1D074\",\"name\":\"BYZANTINE MUSICAL SYMBOL ETERON ARGOSYNTHETON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD074\"},118901:{\"value\":\"1D075\",\"name\":\"BYZANTINE MUSICAL SYMBOL OYRANISMA NEO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD075\"},118902:{\"value\":\"1D076\",\"name\":\"BYZANTINE MUSICAL SYMBOL THEMATISMOS ESO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD076\"},118903:{\"value\":\"1D077\",\"name\":\"BYZANTINE MUSICAL SYMBOL THEMATISMOS EXO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD077\"},118904:{\"value\":\"1D078\",\"name\":\"BYZANTINE MUSICAL SYMBOL THEMA APLOUN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD078\"},118905:{\"value\":\"1D079\",\"name\":\"BYZANTINE MUSICAL SYMBOL THES KAI APOTHES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD079\"},118906:{\"value\":\"1D07A\",\"name\":\"BYZANTINE MUSICAL SYMBOL KATAVASMA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD07A\"},118907:{\"value\":\"1D07B\",\"name\":\"BYZANTINE MUSICAL SYMBOL ENDOFONON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD07B\"},118908:{\"value\":\"1D07C\",\"name\":\"BYZANTINE MUSICAL SYMBOL YFEN KATO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD07C\"},118909:{\"value\":\"1D07D\",\"name\":\"BYZANTINE MUSICAL SYMBOL YFEN ANO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD07D\"},118910:{\"value\":\"1D07E\",\"name\":\"BYZANTINE MUSICAL SYMBOL STAVROS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD07E\"},118911:{\"value\":\"1D07F\",\"name\":\"BYZANTINE MUSICAL SYMBOL KLASMA ANO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD07F\"},118912:{\"value\":\"1D080\",\"name\":\"BYZANTINE MUSICAL SYMBOL DIPLI ARCHAION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD080\"},118913:{\"value\":\"1D081\",\"name\":\"BYZANTINE MUSICAL SYMBOL KRATIMA ARCHAION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD081\"},118914:{\"value\":\"1D082\",\"name\":\"BYZANTINE MUSICAL SYMBOL KRATIMA ALLO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD082\"},118915:{\"value\":\"1D083\",\"name\":\"BYZANTINE MUSICAL SYMBOL KRATIMA NEO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD083\"},118916:{\"value\":\"1D084\",\"name\":\"BYZANTINE MUSICAL SYMBOL APODERMA NEO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD084\"},118917:{\"value\":\"1D085\",\"name\":\"BYZANTINE MUSICAL SYMBOL APLI\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD085\"},118918:{\"value\":\"1D086\",\"name\":\"BYZANTINE MUSICAL SYMBOL DIPLI\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD086\"},118919:{\"value\":\"1D087\",\"name\":\"BYZANTINE MUSICAL SYMBOL TRIPLI\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD087\"},118920:{\"value\":\"1D088\",\"name\":\"BYZANTINE MUSICAL SYMBOL TETRAPLI\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD088\"},118921:{\"value\":\"1D089\",\"name\":\"BYZANTINE MUSICAL SYMBOL KORONIS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD089\"},118922:{\"value\":\"1D08A\",\"name\":\"BYZANTINE MUSICAL SYMBOL LEIMMA ENOS CHRONOU\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD08A\"},118923:{\"value\":\"1D08B\",\"name\":\"BYZANTINE MUSICAL SYMBOL LEIMMA DYO CHRONON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD08B\"},118924:{\"value\":\"1D08C\",\"name\":\"BYZANTINE MUSICAL SYMBOL LEIMMA TRION CHRONON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD08C\"},118925:{\"value\":\"1D08D\",\"name\":\"BYZANTINE MUSICAL SYMBOL LEIMMA TESSARON CHRONON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD08D\"},118926:{\"value\":\"1D08E\",\"name\":\"BYZANTINE MUSICAL SYMBOL LEIMMA IMISEOS CHRONOU\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD08E\"},118927:{\"value\":\"1D08F\",\"name\":\"BYZANTINE MUSICAL SYMBOL GORGON NEO ANO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD08F\"},118928:{\"value\":\"1D090\",\"name\":\"BYZANTINE MUSICAL SYMBOL GORGON PARESTIGMENON ARISTERA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD090\"},118929:{\"value\":\"1D091\",\"name\":\"BYZANTINE MUSICAL SYMBOL GORGON PARESTIGMENON DEXIA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD091\"},118930:{\"value\":\"1D092\",\"name\":\"BYZANTINE MUSICAL SYMBOL DIGORGON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD092\"},118931:{\"value\":\"1D093\",\"name\":\"BYZANTINE MUSICAL SYMBOL DIGORGON PARESTIGMENON ARISTERA KATO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD093\"},118932:{\"value\":\"1D094\",\"name\":\"BYZANTINE MUSICAL SYMBOL DIGORGON PARESTIGMENON ARISTERA ANO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD094\"},118933:{\"value\":\"1D095\",\"name\":\"BYZANTINE MUSICAL SYMBOL DIGORGON PARESTIGMENON DEXIA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD095\"},118934:{\"value\":\"1D096\",\"name\":\"BYZANTINE MUSICAL SYMBOL TRIGORGON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD096\"},118935:{\"value\":\"1D097\",\"name\":\"BYZANTINE MUSICAL SYMBOL ARGON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD097\"},118936:{\"value\":\"1D098\",\"name\":\"BYZANTINE MUSICAL SYMBOL IMIDIARGON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD098\"},118937:{\"value\":\"1D099\",\"name\":\"BYZANTINE MUSICAL SYMBOL DIARGON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD099\"},118938:{\"value\":\"1D09A\",\"name\":\"BYZANTINE MUSICAL SYMBOL AGOGI POLI ARGI\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD09A\"},118939:{\"value\":\"1D09B\",\"name\":\"BYZANTINE MUSICAL SYMBOL AGOGI ARGOTERI\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD09B\"},118940:{\"value\":\"1D09C\",\"name\":\"BYZANTINE MUSICAL SYMBOL AGOGI ARGI\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD09C\"},118941:{\"value\":\"1D09D\",\"name\":\"BYZANTINE MUSICAL SYMBOL AGOGI METRIA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD09D\"},118942:{\"value\":\"1D09E\",\"name\":\"BYZANTINE MUSICAL SYMBOL AGOGI MESI\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD09E\"},118943:{\"value\":\"1D09F\",\"name\":\"BYZANTINE MUSICAL SYMBOL AGOGI GORGI\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD09F\"},118944:{\"value\":\"1D0A0\",\"name\":\"BYZANTINE MUSICAL SYMBOL AGOGI GORGOTERI\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0A0\"},118945:{\"value\":\"1D0A1\",\"name\":\"BYZANTINE MUSICAL SYMBOL AGOGI POLI GORGI\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0A1\"},118946:{\"value\":\"1D0A2\",\"name\":\"BYZANTINE MUSICAL SYMBOL MARTYRIA PROTOS ICHOS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0A2\"},118947:{\"value\":\"1D0A3\",\"name\":\"BYZANTINE MUSICAL SYMBOL MARTYRIA ALLI PROTOS ICHOS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0A3\"},118948:{\"value\":\"1D0A4\",\"name\":\"BYZANTINE MUSICAL SYMBOL MARTYRIA DEYTEROS ICHOS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0A4\"},118949:{\"value\":\"1D0A5\",\"name\":\"BYZANTINE MUSICAL SYMBOL MARTYRIA ALLI DEYTEROS ICHOS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0A5\"},118950:{\"value\":\"1D0A6\",\"name\":\"BYZANTINE MUSICAL SYMBOL MARTYRIA TRITOS ICHOS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0A6\"},118951:{\"value\":\"1D0A7\",\"name\":\"BYZANTINE MUSICAL SYMBOL MARTYRIA TRIFONIAS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0A7\"},118952:{\"value\":\"1D0A8\",\"name\":\"BYZANTINE MUSICAL SYMBOL MARTYRIA TETARTOS ICHOS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0A8\"},118953:{\"value\":\"1D0A9\",\"name\":\"BYZANTINE MUSICAL SYMBOL MARTYRIA TETARTOS LEGETOS ICHOS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0A9\"},118954:{\"value\":\"1D0AA\",\"name\":\"BYZANTINE MUSICAL SYMBOL MARTYRIA LEGETOS ICHOS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0AA\"},118955:{\"value\":\"1D0AB\",\"name\":\"BYZANTINE MUSICAL SYMBOL MARTYRIA PLAGIOS ICHOS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0AB\"},118956:{\"value\":\"1D0AC\",\"name\":\"BYZANTINE MUSICAL SYMBOL ISAKIA TELOUS ICHIMATOS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0AC\"},118957:{\"value\":\"1D0AD\",\"name\":\"BYZANTINE MUSICAL SYMBOL APOSTROFOI TELOUS ICHIMATOS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0AD\"},118958:{\"value\":\"1D0AE\",\"name\":\"BYZANTINE MUSICAL SYMBOL FANEROSIS TETRAFONIAS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0AE\"},118959:{\"value\":\"1D0AF\",\"name\":\"BYZANTINE MUSICAL SYMBOL FANEROSIS MONOFONIAS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0AF\"},118960:{\"value\":\"1D0B0\",\"name\":\"BYZANTINE MUSICAL SYMBOL FANEROSIS DIFONIAS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0B0\"},118961:{\"value\":\"1D0B1\",\"name\":\"BYZANTINE MUSICAL SYMBOL MARTYRIA VARYS ICHOS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0B1\"},118962:{\"value\":\"1D0B2\",\"name\":\"BYZANTINE MUSICAL SYMBOL MARTYRIA PROTOVARYS ICHOS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0B2\"},118963:{\"value\":\"1D0B3\",\"name\":\"BYZANTINE MUSICAL SYMBOL MARTYRIA PLAGIOS TETARTOS ICHOS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0B3\"},118964:{\"value\":\"1D0B4\",\"name\":\"BYZANTINE MUSICAL SYMBOL GORTHMIKON N APLOUN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0B4\"},118965:{\"value\":\"1D0B5\",\"name\":\"BYZANTINE MUSICAL SYMBOL GORTHMIKON N DIPLOUN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0B5\"},118966:{\"value\":\"1D0B6\",\"name\":\"BYZANTINE MUSICAL SYMBOL ENARXIS KAI FTHORA VOU\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0B6\"},118967:{\"value\":\"1D0B7\",\"name\":\"BYZANTINE MUSICAL SYMBOL IMIFONON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0B7\"},118968:{\"value\":\"1D0B8\",\"name\":\"BYZANTINE MUSICAL SYMBOL IMIFTHORON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0B8\"},118969:{\"value\":\"1D0B9\",\"name\":\"BYZANTINE MUSICAL SYMBOL FTHORA ARCHAION DEYTEROU ICHOU\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0B9\"},118970:{\"value\":\"1D0BA\",\"name\":\"BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI PA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0BA\"},118971:{\"value\":\"1D0BB\",\"name\":\"BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI NANA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0BB\"},118972:{\"value\":\"1D0BC\",\"name\":\"BYZANTINE MUSICAL SYMBOL FTHORA NAOS ICHOS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0BC\"},118973:{\"value\":\"1D0BD\",\"name\":\"BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI DI\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0BD\"},118974:{\"value\":\"1D0BE\",\"name\":\"BYZANTINE MUSICAL SYMBOL FTHORA SKLIRON DIATONON DI\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0BE\"},118975:{\"value\":\"1D0BF\",\"name\":\"BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI KE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0BF\"},118976:{\"value\":\"1D0C0\",\"name\":\"BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI ZO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0C0\"},118977:{\"value\":\"1D0C1\",\"name\":\"BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI NI KATO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0C1\"},118978:{\"value\":\"1D0C2\",\"name\":\"BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI NI ANO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0C2\"},118979:{\"value\":\"1D0C3\",\"name\":\"BYZANTINE MUSICAL SYMBOL FTHORA MALAKON CHROMA DIFONIAS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0C3\"},118980:{\"value\":\"1D0C4\",\"name\":\"BYZANTINE MUSICAL SYMBOL FTHORA MALAKON CHROMA MONOFONIAS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0C4\"},118981:{\"value\":\"1D0C5\",\"name\":\"BYZANTINE MUSICAL SYMBOL FHTORA SKLIRON CHROMA VASIS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0C5\"},118982:{\"value\":\"1D0C6\",\"name\":\"BYZANTINE MUSICAL SYMBOL FTHORA SKLIRON CHROMA SYNAFI\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0C6\"},118983:{\"value\":\"1D0C7\",\"name\":\"BYZANTINE MUSICAL SYMBOL FTHORA NENANO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0C7\"},118984:{\"value\":\"1D0C8\",\"name\":\"BYZANTINE MUSICAL SYMBOL CHROA ZYGOS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0C8\"},118985:{\"value\":\"1D0C9\",\"name\":\"BYZANTINE MUSICAL SYMBOL CHROA KLITON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0C9\"},118986:{\"value\":\"1D0CA\",\"name\":\"BYZANTINE MUSICAL SYMBOL CHROA SPATHI\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0CA\"},118987:{\"value\":\"1D0CB\",\"name\":\"BYZANTINE MUSICAL SYMBOL FTHORA I YFESIS TETARTIMORION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0CB\"},118988:{\"value\":\"1D0CC\",\"name\":\"BYZANTINE MUSICAL SYMBOL FTHORA ENARMONIOS ANTIFONIA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0CC\"},118989:{\"value\":\"1D0CD\",\"name\":\"BYZANTINE MUSICAL SYMBOL YFESIS TRITIMORION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0CD\"},118990:{\"value\":\"1D0CE\",\"name\":\"BYZANTINE MUSICAL SYMBOL DIESIS TRITIMORION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0CE\"},118991:{\"value\":\"1D0CF\",\"name\":\"BYZANTINE MUSICAL SYMBOL DIESIS TETARTIMORION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0CF\"},118992:{\"value\":\"1D0D0\",\"name\":\"BYZANTINE MUSICAL SYMBOL DIESIS APLI DYO DODEKATA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0D0\"},118993:{\"value\":\"1D0D1\",\"name\":\"BYZANTINE MUSICAL SYMBOL DIESIS MONOGRAMMOS TESSERA DODEKATA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0D1\"},118994:{\"value\":\"1D0D2\",\"name\":\"BYZANTINE MUSICAL SYMBOL DIESIS DIGRAMMOS EX DODEKATA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0D2\"},118995:{\"value\":\"1D0D3\",\"name\":\"BYZANTINE MUSICAL SYMBOL DIESIS TRIGRAMMOS OKTO DODEKATA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0D3\"},118996:{\"value\":\"1D0D4\",\"name\":\"BYZANTINE MUSICAL SYMBOL YFESIS APLI DYO DODEKATA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0D4\"},118997:{\"value\":\"1D0D5\",\"name\":\"BYZANTINE MUSICAL SYMBOL YFESIS MONOGRAMMOS TESSERA DODEKATA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0D5\"},118998:{\"value\":\"1D0D6\",\"name\":\"BYZANTINE MUSICAL SYMBOL YFESIS DIGRAMMOS EX DODEKATA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0D6\"},118999:{\"value\":\"1D0D7\",\"name\":\"BYZANTINE MUSICAL SYMBOL YFESIS TRIGRAMMOS OKTO DODEKATA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0D7\"},119000:{\"value\":\"1D0D8\",\"name\":\"BYZANTINE MUSICAL SYMBOL GENIKI DIESIS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0D8\"},119001:{\"value\":\"1D0D9\",\"name\":\"BYZANTINE MUSICAL SYMBOL GENIKI YFESIS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0D9\"},119002:{\"value\":\"1D0DA\",\"name\":\"BYZANTINE MUSICAL SYMBOL DIASTOLI APLI MIKRI\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0DA\"},119003:{\"value\":\"1D0DB\",\"name\":\"BYZANTINE MUSICAL SYMBOL DIASTOLI APLI MEGALI\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0DB\"},119004:{\"value\":\"1D0DC\",\"name\":\"BYZANTINE MUSICAL SYMBOL DIASTOLI DIPLI\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0DC\"},119005:{\"value\":\"1D0DD\",\"name\":\"BYZANTINE MUSICAL SYMBOL DIASTOLI THESEOS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0DD\"},119006:{\"value\":\"1D0DE\",\"name\":\"BYZANTINE MUSICAL SYMBOL SIMANSIS THESEOS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0DE\"},119007:{\"value\":\"1D0DF\",\"name\":\"BYZANTINE MUSICAL SYMBOL SIMANSIS THESEOS DISIMOU\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0DF\"},119008:{\"value\":\"1D0E0\",\"name\":\"BYZANTINE MUSICAL SYMBOL SIMANSIS THESEOS TRISIMOU\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0E0\"},119009:{\"value\":\"1D0E1\",\"name\":\"BYZANTINE MUSICAL SYMBOL SIMANSIS THESEOS TETRASIMOU\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0E1\"},119010:{\"value\":\"1D0E2\",\"name\":\"BYZANTINE MUSICAL SYMBOL SIMANSIS ARSEOS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0E2\"},119011:{\"value\":\"1D0E3\",\"name\":\"BYZANTINE MUSICAL SYMBOL SIMANSIS ARSEOS DISIMOU\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0E3\"},119012:{\"value\":\"1D0E4\",\"name\":\"BYZANTINE MUSICAL SYMBOL SIMANSIS ARSEOS TRISIMOU\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0E4\"},119013:{\"value\":\"1D0E5\",\"name\":\"BYZANTINE MUSICAL SYMBOL SIMANSIS ARSEOS TETRASIMOU\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0E5\"},119014:{\"value\":\"1D0E6\",\"name\":\"BYZANTINE MUSICAL SYMBOL DIGRAMMA GG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0E6\"},119015:{\"value\":\"1D0E7\",\"name\":\"BYZANTINE MUSICAL SYMBOL DIFTOGGOS OU\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0E7\"},119016:{\"value\":\"1D0E8\",\"name\":\"BYZANTINE MUSICAL SYMBOL STIGMA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0E8\"},119017:{\"value\":\"1D0E9\",\"name\":\"BYZANTINE MUSICAL SYMBOL ARKTIKO PA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0E9\"},119018:{\"value\":\"1D0EA\",\"name\":\"BYZANTINE MUSICAL SYMBOL ARKTIKO VOU\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0EA\"},119019:{\"value\":\"1D0EB\",\"name\":\"BYZANTINE MUSICAL SYMBOL ARKTIKO GA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0EB\"},119020:{\"value\":\"1D0EC\",\"name\":\"BYZANTINE MUSICAL SYMBOL ARKTIKO DI\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0EC\"},119021:{\"value\":\"1D0ED\",\"name\":\"BYZANTINE MUSICAL SYMBOL ARKTIKO KE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0ED\"},119022:{\"value\":\"1D0EE\",\"name\":\"BYZANTINE MUSICAL SYMBOL ARKTIKO ZO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0EE\"},119023:{\"value\":\"1D0EF\",\"name\":\"BYZANTINE MUSICAL SYMBOL ARKTIKO NI\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0EF\"},119024:{\"value\":\"1D0F0\",\"name\":\"BYZANTINE MUSICAL SYMBOL KENTIMATA NEO MESO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0F0\"},119025:{\"value\":\"1D0F1\",\"name\":\"BYZANTINE MUSICAL SYMBOL KENTIMA NEO MESO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0F1\"},119026:{\"value\":\"1D0F2\",\"name\":\"BYZANTINE MUSICAL SYMBOL KENTIMATA NEO KATO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0F2\"},119027:{\"value\":\"1D0F3\",\"name\":\"BYZANTINE MUSICAL SYMBOL KENTIMA NEO KATO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0F3\"},119028:{\"value\":\"1D0F4\",\"name\":\"BYZANTINE MUSICAL SYMBOL KLASMA KATO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0F4\"},119029:{\"value\":\"1D0F5\",\"name\":\"BYZANTINE MUSICAL SYMBOL GORGON NEO KATO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD0F5\"},119040:{\"value\":\"1D100\",\"name\":\"MUSICAL SYMBOL SINGLE BARLINE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD100\"},119041:{\"value\":\"1D101\",\"name\":\"MUSICAL SYMBOL DOUBLE BARLINE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD101\"},119042:{\"value\":\"1D102\",\"name\":\"MUSICAL SYMBOL FINAL BARLINE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD102\"},119043:{\"value\":\"1D103\",\"name\":\"MUSICAL SYMBOL REVERSE FINAL BARLINE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD103\"},119044:{\"value\":\"1D104\",\"name\":\"MUSICAL SYMBOL DASHED BARLINE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD104\"},119045:{\"value\":\"1D105\",\"name\":\"MUSICAL SYMBOL SHORT BARLINE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD105\"},119046:{\"value\":\"1D106\",\"name\":\"MUSICAL SYMBOL LEFT REPEAT SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD106\"},119047:{\"value\":\"1D107\",\"name\":\"MUSICAL SYMBOL RIGHT REPEAT SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD107\"},119048:{\"value\":\"1D108\",\"name\":\"MUSICAL SYMBOL REPEAT DOTS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD108\"},119049:{\"value\":\"1D109\",\"name\":\"MUSICAL SYMBOL DAL SEGNO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD109\"},119050:{\"value\":\"1D10A\",\"name\":\"MUSICAL SYMBOL DA CAPO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD10A\"},119051:{\"value\":\"1D10B\",\"name\":\"MUSICAL SYMBOL SEGNO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD10B\"},119052:{\"value\":\"1D10C\",\"name\":\"MUSICAL SYMBOL CODA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD10C\"},119053:{\"value\":\"1D10D\",\"name\":\"MUSICAL SYMBOL REPEATED FIGURE-1\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD10D\"},119054:{\"value\":\"1D10E\",\"name\":\"MUSICAL SYMBOL REPEATED FIGURE-2\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD10E\"},119055:{\"value\":\"1D10F\",\"name\":\"MUSICAL SYMBOL REPEATED FIGURE-3\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD10F\"},119056:{\"value\":\"1D110\",\"name\":\"MUSICAL SYMBOL FERMATA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD110\"},119057:{\"value\":\"1D111\",\"name\":\"MUSICAL SYMBOL FERMATA BELOW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD111\"},119058:{\"value\":\"1D112\",\"name\":\"MUSICAL SYMBOL BREATH MARK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD112\"},119059:{\"value\":\"1D113\",\"name\":\"MUSICAL SYMBOL CAESURA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD113\"},119060:{\"value\":\"1D114\",\"name\":\"MUSICAL SYMBOL BRACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD114\"},119061:{\"value\":\"1D115\",\"name\":\"MUSICAL SYMBOL BRACKET\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD115\"},119062:{\"value\":\"1D116\",\"name\":\"MUSICAL SYMBOL ONE-LINE STAFF\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD116\"},119063:{\"value\":\"1D117\",\"name\":\"MUSICAL SYMBOL TWO-LINE STAFF\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD117\"},119064:{\"value\":\"1D118\",\"name\":\"MUSICAL SYMBOL THREE-LINE STAFF\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD118\"},119065:{\"value\":\"1D119\",\"name\":\"MUSICAL SYMBOL FOUR-LINE STAFF\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD119\"},119066:{\"value\":\"1D11A\",\"name\":\"MUSICAL SYMBOL FIVE-LINE STAFF\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD11A\"},119067:{\"value\":\"1D11B\",\"name\":\"MUSICAL SYMBOL SIX-LINE STAFF\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD11B\"},119068:{\"value\":\"1D11C\",\"name\":\"MUSICAL SYMBOL SIX-STRING FRETBOARD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD11C\"},119069:{\"value\":\"1D11D\",\"name\":\"MUSICAL SYMBOL FOUR-STRING FRETBOARD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD11D\"},119070:{\"value\":\"1D11E\",\"name\":\"MUSICAL SYMBOL G CLEF\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD11E\"},119071:{\"value\":\"1D11F\",\"name\":\"MUSICAL SYMBOL G CLEF OTTAVA ALTA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD11F\"},119072:{\"value\":\"1D120\",\"name\":\"MUSICAL SYMBOL G CLEF OTTAVA BASSA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD120\"},119073:{\"value\":\"1D121\",\"name\":\"MUSICAL SYMBOL C CLEF\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD121\"},119074:{\"value\":\"1D122\",\"name\":\"MUSICAL SYMBOL F CLEF\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD122\"},119075:{\"value\":\"1D123\",\"name\":\"MUSICAL SYMBOL F CLEF OTTAVA ALTA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD123\"},119076:{\"value\":\"1D124\",\"name\":\"MUSICAL SYMBOL F CLEF OTTAVA BASSA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD124\"},119077:{\"value\":\"1D125\",\"name\":\"MUSICAL SYMBOL DRUM CLEF-1\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD125\"},119078:{\"value\":\"1D126\",\"name\":\"MUSICAL SYMBOL DRUM CLEF-2\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD126\"},119081:{\"value\":\"1D129\",\"name\":\"MUSICAL SYMBOL MULTIPLE MEASURE REST\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD129\"},119082:{\"value\":\"1D12A\",\"name\":\"MUSICAL SYMBOL DOUBLE SHARP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD12A\"},119083:{\"value\":\"1D12B\",\"name\":\"MUSICAL SYMBOL DOUBLE FLAT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD12B\"},119084:{\"value\":\"1D12C\",\"name\":\"MUSICAL SYMBOL FLAT UP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD12C\"},119085:{\"value\":\"1D12D\",\"name\":\"MUSICAL SYMBOL FLAT DOWN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD12D\"},119086:{\"value\":\"1D12E\",\"name\":\"MUSICAL SYMBOL NATURAL UP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD12E\"},119087:{\"value\":\"1D12F\",\"name\":\"MUSICAL SYMBOL NATURAL DOWN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD12F\"},119088:{\"value\":\"1D130\",\"name\":\"MUSICAL SYMBOL SHARP UP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD130\"},119089:{\"value\":\"1D131\",\"name\":\"MUSICAL SYMBOL SHARP DOWN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD131\"},119090:{\"value\":\"1D132\",\"name\":\"MUSICAL SYMBOL QUARTER TONE SHARP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD132\"},119091:{\"value\":\"1D133\",\"name\":\"MUSICAL SYMBOL QUARTER TONE FLAT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD133\"},119092:{\"value\":\"1D134\",\"name\":\"MUSICAL SYMBOL COMMON TIME\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD134\"},119093:{\"value\":\"1D135\",\"name\":\"MUSICAL SYMBOL CUT TIME\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD135\"},119094:{\"value\":\"1D136\",\"name\":\"MUSICAL SYMBOL OTTAVA ALTA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD136\"},119095:{\"value\":\"1D137\",\"name\":\"MUSICAL SYMBOL OTTAVA BASSA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD137\"},119096:{\"value\":\"1D138\",\"name\":\"MUSICAL SYMBOL QUINDICESIMA ALTA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD138\"},119097:{\"value\":\"1D139\",\"name\":\"MUSICAL SYMBOL QUINDICESIMA BASSA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD139\"},119098:{\"value\":\"1D13A\",\"name\":\"MUSICAL SYMBOL MULTI REST\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD13A\"},119099:{\"value\":\"1D13B\",\"name\":\"MUSICAL SYMBOL WHOLE REST\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD13B\"},119100:{\"value\":\"1D13C\",\"name\":\"MUSICAL SYMBOL HALF REST\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD13C\"},119101:{\"value\":\"1D13D\",\"name\":\"MUSICAL SYMBOL QUARTER REST\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD13D\"},119102:{\"value\":\"1D13E\",\"name\":\"MUSICAL SYMBOL EIGHTH REST\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD13E\"},119103:{\"value\":\"1D13F\",\"name\":\"MUSICAL SYMBOL SIXTEENTH REST\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD13F\"},119104:{\"value\":\"1D140\",\"name\":\"MUSICAL SYMBOL THIRTY-SECOND REST\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD140\"},119105:{\"value\":\"1D141\",\"name\":\"MUSICAL SYMBOL SIXTY-FOURTH REST\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD141\"},119106:{\"value\":\"1D142\",\"name\":\"MUSICAL SYMBOL ONE HUNDRED TWENTY-EIGHTH REST\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD142\"},119107:{\"value\":\"1D143\",\"name\":\"MUSICAL SYMBOL X NOTEHEAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD143\"},119108:{\"value\":\"1D144\",\"name\":\"MUSICAL SYMBOL PLUS NOTEHEAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD144\"},119109:{\"value\":\"1D145\",\"name\":\"MUSICAL SYMBOL CIRCLE X NOTEHEAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD145\"},119110:{\"value\":\"1D146\",\"name\":\"MUSICAL SYMBOL SQUARE NOTEHEAD WHITE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD146\"},119111:{\"value\":\"1D147\",\"name\":\"MUSICAL SYMBOL SQUARE NOTEHEAD BLACK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD147\"},119112:{\"value\":\"1D148\",\"name\":\"MUSICAL SYMBOL TRIANGLE NOTEHEAD UP WHITE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD148\"},119113:{\"value\":\"1D149\",\"name\":\"MUSICAL SYMBOL TRIANGLE NOTEHEAD UP BLACK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD149\"},119114:{\"value\":\"1D14A\",\"name\":\"MUSICAL SYMBOL TRIANGLE NOTEHEAD LEFT WHITE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD14A\"},119115:{\"value\":\"1D14B\",\"name\":\"MUSICAL SYMBOL TRIANGLE NOTEHEAD LEFT BLACK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD14B\"},119116:{\"value\":\"1D14C\",\"name\":\"MUSICAL SYMBOL TRIANGLE NOTEHEAD RIGHT WHITE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD14C\"},119117:{\"value\":\"1D14D\",\"name\":\"MUSICAL SYMBOL TRIANGLE NOTEHEAD RIGHT BLACK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD14D\"},119118:{\"value\":\"1D14E\",\"name\":\"MUSICAL SYMBOL TRIANGLE NOTEHEAD DOWN WHITE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD14E\"},119119:{\"value\":\"1D14F\",\"name\":\"MUSICAL SYMBOL TRIANGLE NOTEHEAD DOWN BLACK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD14F\"},119120:{\"value\":\"1D150\",\"name\":\"MUSICAL SYMBOL TRIANGLE NOTEHEAD UP RIGHT WHITE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD150\"},119121:{\"value\":\"1D151\",\"name\":\"MUSICAL SYMBOL TRIANGLE NOTEHEAD UP RIGHT BLACK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD151\"},119122:{\"value\":\"1D152\",\"name\":\"MUSICAL SYMBOL MOON NOTEHEAD WHITE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD152\"},119123:{\"value\":\"1D153\",\"name\":\"MUSICAL SYMBOL MOON NOTEHEAD BLACK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD153\"},119124:{\"value\":\"1D154\",\"name\":\"MUSICAL SYMBOL TRIANGLE-ROUND NOTEHEAD DOWN WHITE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD154\"},119125:{\"value\":\"1D155\",\"name\":\"MUSICAL SYMBOL TRIANGLE-ROUND NOTEHEAD DOWN BLACK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD155\"},119126:{\"value\":\"1D156\",\"name\":\"MUSICAL SYMBOL PARENTHESIS NOTEHEAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD156\"},119127:{\"value\":\"1D157\",\"name\":\"MUSICAL SYMBOL VOID NOTEHEAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD157\"},119128:{\"value\":\"1D158\",\"name\":\"MUSICAL SYMBOL NOTEHEAD BLACK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD158\"},119129:{\"value\":\"1D159\",\"name\":\"MUSICAL SYMBOL NULL NOTEHEAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD159\"},119130:{\"value\":\"1D15A\",\"name\":\"MUSICAL SYMBOL CLUSTER NOTEHEAD WHITE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD15A\"},119131:{\"value\":\"1D15B\",\"name\":\"MUSICAL SYMBOL CLUSTER NOTEHEAD BLACK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD15B\"},119132:{\"value\":\"1D15C\",\"name\":\"MUSICAL SYMBOL BREVE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD15C\"},119133:{\"value\":\"1D15D\",\"name\":\"MUSICAL SYMBOL WHOLE NOTE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD15D\"},119134:{\"value\":\"1D15E\",\"name\":\"MUSICAL SYMBOL HALF NOTE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"1D157 1D165\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD15E\"},119135:{\"value\":\"1D15F\",\"name\":\"MUSICAL SYMBOL QUARTER NOTE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"1D158 1D165\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD15F\"},119136:{\"value\":\"1D160\",\"name\":\"MUSICAL SYMBOL EIGHTH NOTE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"1D15F 1D16E\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD160\"},119137:{\"value\":\"1D161\",\"name\":\"MUSICAL SYMBOL SIXTEENTH NOTE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"1D15F 1D16F\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD161\"},119138:{\"value\":\"1D162\",\"name\":\"MUSICAL SYMBOL THIRTY-SECOND NOTE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"1D15F 1D170\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD162\"},119139:{\"value\":\"1D163\",\"name\":\"MUSICAL SYMBOL SIXTY-FOURTH NOTE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"1D15F 1D171\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD163\"},119140:{\"value\":\"1D164\",\"name\":\"MUSICAL SYMBOL ONE HUNDRED TWENTY-EIGHTH NOTE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"1D15F 1D172\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD164\"},119146:{\"value\":\"1D16A\",\"name\":\"MUSICAL SYMBOL FINGERED TREMOLO-1\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD16A\"},119147:{\"value\":\"1D16B\",\"name\":\"MUSICAL SYMBOL FINGERED TREMOLO-2\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD16B\"},119148:{\"value\":\"1D16C\",\"name\":\"MUSICAL SYMBOL FINGERED TREMOLO-3\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD16C\"},119171:{\"value\":\"1D183\",\"name\":\"MUSICAL SYMBOL ARPEGGIATO UP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD183\"},119172:{\"value\":\"1D184\",\"name\":\"MUSICAL SYMBOL ARPEGGIATO DOWN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD184\"},119180:{\"value\":\"1D18C\",\"name\":\"MUSICAL SYMBOL RINFORZANDO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD18C\"},119181:{\"value\":\"1D18D\",\"name\":\"MUSICAL SYMBOL SUBITO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD18D\"},119182:{\"value\":\"1D18E\",\"name\":\"MUSICAL SYMBOL Z\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD18E\"},119183:{\"value\":\"1D18F\",\"name\":\"MUSICAL SYMBOL PIANO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD18F\"},119184:{\"value\":\"1D190\",\"name\":\"MUSICAL SYMBOL MEZZO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD190\"},119185:{\"value\":\"1D191\",\"name\":\"MUSICAL SYMBOL FORTE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD191\"},119186:{\"value\":\"1D192\",\"name\":\"MUSICAL SYMBOL CRESCENDO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD192\"},119187:{\"value\":\"1D193\",\"name\":\"MUSICAL SYMBOL DECRESCENDO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD193\"},119188:{\"value\":\"1D194\",\"name\":\"MUSICAL SYMBOL GRACE NOTE SLASH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD194\"},119189:{\"value\":\"1D195\",\"name\":\"MUSICAL SYMBOL GRACE NOTE NO SLASH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD195\"},119190:{\"value\":\"1D196\",\"name\":\"MUSICAL SYMBOL TR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD196\"},119191:{\"value\":\"1D197\",\"name\":\"MUSICAL SYMBOL TURN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD197\"},119192:{\"value\":\"1D198\",\"name\":\"MUSICAL SYMBOL INVERTED TURN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD198\"},119193:{\"value\":\"1D199\",\"name\":\"MUSICAL SYMBOL TURN SLASH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD199\"},119194:{\"value\":\"1D19A\",\"name\":\"MUSICAL SYMBOL TURN UP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD19A\"},119195:{\"value\":\"1D19B\",\"name\":\"MUSICAL SYMBOL ORNAMENT STROKE-1\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD19B\"},119196:{\"value\":\"1D19C\",\"name\":\"MUSICAL SYMBOL ORNAMENT STROKE-2\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD19C\"},119197:{\"value\":\"1D19D\",\"name\":\"MUSICAL SYMBOL ORNAMENT STROKE-3\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD19D\"},119198:{\"value\":\"1D19E\",\"name\":\"MUSICAL SYMBOL ORNAMENT STROKE-4\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD19E\"},119199:{\"value\":\"1D19F\",\"name\":\"MUSICAL SYMBOL ORNAMENT STROKE-5\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD19F\"},119200:{\"value\":\"1D1A0\",\"name\":\"MUSICAL SYMBOL ORNAMENT STROKE-6\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD1A0\"},119201:{\"value\":\"1D1A1\",\"name\":\"MUSICAL SYMBOL ORNAMENT STROKE-7\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD1A1\"},119202:{\"value\":\"1D1A2\",\"name\":\"MUSICAL SYMBOL ORNAMENT STROKE-8\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD1A2\"},119203:{\"value\":\"1D1A3\",\"name\":\"MUSICAL SYMBOL ORNAMENT STROKE-9\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD1A3\"},119204:{\"value\":\"1D1A4\",\"name\":\"MUSICAL SYMBOL ORNAMENT STROKE-10\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD1A4\"},119205:{\"value\":\"1D1A5\",\"name\":\"MUSICAL SYMBOL ORNAMENT STROKE-11\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD1A5\"},119206:{\"value\":\"1D1A6\",\"name\":\"MUSICAL SYMBOL HAUPTSTIMME\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD1A6\"},119207:{\"value\":\"1D1A7\",\"name\":\"MUSICAL SYMBOL NEBENSTIMME\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD1A7\"},119208:{\"value\":\"1D1A8\",\"name\":\"MUSICAL SYMBOL END OF STIMME\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD1A8\"},119209:{\"value\":\"1D1A9\",\"name\":\"MUSICAL SYMBOL DEGREE SLASH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD1A9\"},119214:{\"value\":\"1D1AE\",\"name\":\"MUSICAL SYMBOL PEDAL MARK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD1AE\"},119215:{\"value\":\"1D1AF\",\"name\":\"MUSICAL SYMBOL PEDAL UP MARK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD1AF\"},119216:{\"value\":\"1D1B0\",\"name\":\"MUSICAL SYMBOL HALF PEDAL MARK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD1B0\"},119217:{\"value\":\"1D1B1\",\"name\":\"MUSICAL SYMBOL GLISSANDO UP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD1B1\"},119218:{\"value\":\"1D1B2\",\"name\":\"MUSICAL SYMBOL GLISSANDO DOWN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD1B2\"},119219:{\"value\":\"1D1B3\",\"name\":\"MUSICAL SYMBOL WITH FINGERNAILS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD1B3\"},119220:{\"value\":\"1D1B4\",\"name\":\"MUSICAL SYMBOL DAMP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD1B4\"},119221:{\"value\":\"1D1B5\",\"name\":\"MUSICAL SYMBOL DAMP ALL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD1B5\"},119222:{\"value\":\"1D1B6\",\"name\":\"MUSICAL SYMBOL MAXIMA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD1B6\"},119223:{\"value\":\"1D1B7\",\"name\":\"MUSICAL SYMBOL LONGA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD1B7\"},119224:{\"value\":\"1D1B8\",\"name\":\"MUSICAL SYMBOL BREVIS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD1B8\"},119225:{\"value\":\"1D1B9\",\"name\":\"MUSICAL SYMBOL SEMIBREVIS WHITE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD1B9\"},119226:{\"value\":\"1D1BA\",\"name\":\"MUSICAL SYMBOL SEMIBREVIS BLACK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD1BA\"},119227:{\"value\":\"1D1BB\",\"name\":\"MUSICAL SYMBOL MINIMA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"1D1B9 1D165\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD1BB\"},119228:{\"value\":\"1D1BC\",\"name\":\"MUSICAL SYMBOL MINIMA BLACK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"1D1BA 1D165\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD1BC\"},119229:{\"value\":\"1D1BD\",\"name\":\"MUSICAL SYMBOL SEMIMINIMA WHITE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"1D1BB 1D16E\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD1BD\"},119230:{\"value\":\"1D1BE\",\"name\":\"MUSICAL SYMBOL SEMIMINIMA BLACK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"1D1BC 1D16E\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD1BE\"},119231:{\"value\":\"1D1BF\",\"name\":\"MUSICAL SYMBOL FUSA WHITE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"1D1BB 1D16F\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD1BF\"},119232:{\"value\":\"1D1C0\",\"name\":\"MUSICAL SYMBOL FUSA BLACK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"1D1BC 1D16F\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD1C0\"},119233:{\"value\":\"1D1C1\",\"name\":\"MUSICAL SYMBOL LONGA PERFECTA REST\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD1C1\"},119234:{\"value\":\"1D1C2\",\"name\":\"MUSICAL SYMBOL LONGA IMPERFECTA REST\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD1C2\"},119235:{\"value\":\"1D1C3\",\"name\":\"MUSICAL SYMBOL BREVIS REST\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD1C3\"},119236:{\"value\":\"1D1C4\",\"name\":\"MUSICAL SYMBOL SEMIBREVIS REST\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD1C4\"},119237:{\"value\":\"1D1C5\",\"name\":\"MUSICAL SYMBOL MINIMA REST\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD1C5\"},119238:{\"value\":\"1D1C6\",\"name\":\"MUSICAL SYMBOL SEMIMINIMA REST\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD1C6\"},119239:{\"value\":\"1D1C7\",\"name\":\"MUSICAL SYMBOL TEMPUS PERFECTUM CUM PROLATIONE PERFECTA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD1C7\"},119240:{\"value\":\"1D1C8\",\"name\":\"MUSICAL SYMBOL TEMPUS PERFECTUM CUM PROLATIONE IMPERFECTA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD1C8\"},119241:{\"value\":\"1D1C9\",\"name\":\"MUSICAL SYMBOL TEMPUS PERFECTUM CUM PROLATIONE PERFECTA DIMINUTION-1\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD1C9\"},119242:{\"value\":\"1D1CA\",\"name\":\"MUSICAL SYMBOL TEMPUS IMPERFECTUM CUM PROLATIONE PERFECTA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD1CA\"},119243:{\"value\":\"1D1CB\",\"name\":\"MUSICAL SYMBOL TEMPUS IMPERFECTUM CUM PROLATIONE IMPERFECTA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD1CB\"},119244:{\"value\":\"1D1CC\",\"name\":\"MUSICAL SYMBOL TEMPUS IMPERFECTUM CUM PROLATIONE IMPERFECTA DIMINUTION-1\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD1CC\"},119245:{\"value\":\"1D1CD\",\"name\":\"MUSICAL SYMBOL TEMPUS IMPERFECTUM CUM PROLATIONE IMPERFECTA DIMINUTION-2\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD1CD\"},119246:{\"value\":\"1D1CE\",\"name\":\"MUSICAL SYMBOL TEMPUS IMPERFECTUM CUM PROLATIONE IMPERFECTA DIMINUTION-3\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD1CE\"},119247:{\"value\":\"1D1CF\",\"name\":\"MUSICAL SYMBOL CROIX\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD1CF\"},119248:{\"value\":\"1D1D0\",\"name\":\"MUSICAL SYMBOL GREGORIAN C CLEF\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD1D0\"},119249:{\"value\":\"1D1D1\",\"name\":\"MUSICAL SYMBOL GREGORIAN F CLEF\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD1D1\"},119250:{\"value\":\"1D1D2\",\"name\":\"MUSICAL SYMBOL SQUARE B\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD1D2\"},119251:{\"value\":\"1D1D3\",\"name\":\"MUSICAL SYMBOL VIRGA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD1D3\"},119252:{\"value\":\"1D1D4\",\"name\":\"MUSICAL SYMBOL PODATUS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD1D4\"},119253:{\"value\":\"1D1D5\",\"name\":\"MUSICAL SYMBOL CLIVIS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD1D5\"},119254:{\"value\":\"1D1D6\",\"name\":\"MUSICAL SYMBOL SCANDICUS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD1D6\"},119255:{\"value\":\"1D1D7\",\"name\":\"MUSICAL SYMBOL CLIMACUS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD1D7\"},119256:{\"value\":\"1D1D8\",\"name\":\"MUSICAL SYMBOL TORCULUS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD1D8\"},119257:{\"value\":\"1D1D9\",\"name\":\"MUSICAL SYMBOL PORRECTUS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD1D9\"},119258:{\"value\":\"1D1DA\",\"name\":\"MUSICAL SYMBOL PORRECTUS FLEXUS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD1DA\"},119259:{\"value\":\"1D1DB\",\"name\":\"MUSICAL SYMBOL SCANDICUS FLEXUS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD1DB\"},119260:{\"value\":\"1D1DC\",\"name\":\"MUSICAL SYMBOL TORCULUS RESUPINUS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD1DC\"},119261:{\"value\":\"1D1DD\",\"name\":\"MUSICAL SYMBOL PES SUBPUNCTIS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD1DD\"},119262:{\"value\":\"1D1DE\",\"name\":\"MUSICAL SYMBOL KIEVAN C CLEF\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD1DE\"},119263:{\"value\":\"1D1DF\",\"name\":\"MUSICAL SYMBOL KIEVAN END OF PIECE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD1DF\"},119264:{\"value\":\"1D1E0\",\"name\":\"MUSICAL SYMBOL KIEVAN FINAL NOTE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD1E0\"},119265:{\"value\":\"1D1E1\",\"name\":\"MUSICAL SYMBOL KIEVAN RECITATIVE MARK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD1E1\"},119266:{\"value\":\"1D1E2\",\"name\":\"MUSICAL SYMBOL KIEVAN WHOLE NOTE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD1E2\"},119267:{\"value\":\"1D1E3\",\"name\":\"MUSICAL SYMBOL KIEVAN HALF NOTE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD1E3\"},119268:{\"value\":\"1D1E4\",\"name\":\"MUSICAL SYMBOL KIEVAN QUARTER NOTE STEM DOWN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD1E4\"},119269:{\"value\":\"1D1E5\",\"name\":\"MUSICAL SYMBOL KIEVAN QUARTER NOTE STEM UP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD1E5\"},119270:{\"value\":\"1D1E6\",\"name\":\"MUSICAL SYMBOL KIEVAN EIGHTH NOTE STEM DOWN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD1E6\"},119271:{\"value\":\"1D1E7\",\"name\":\"MUSICAL SYMBOL KIEVAN EIGHTH NOTE STEM UP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD1E7\"},119272:{\"value\":\"1D1E8\",\"name\":\"MUSICAL SYMBOL KIEVAN FLAT SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD1E8\"},119296:{\"value\":\"1D200\",\"name\":\"GREEK VOCAL NOTATION SYMBOL-1\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD200\"},119297:{\"value\":\"1D201\",\"name\":\"GREEK VOCAL NOTATION SYMBOL-2\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD201\"},119298:{\"value\":\"1D202\",\"name\":\"GREEK VOCAL NOTATION SYMBOL-3\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD202\"},119299:{\"value\":\"1D203\",\"name\":\"GREEK VOCAL NOTATION SYMBOL-4\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD203\"},119300:{\"value\":\"1D204\",\"name\":\"GREEK VOCAL NOTATION SYMBOL-5\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD204\"},119301:{\"value\":\"1D205\",\"name\":\"GREEK VOCAL NOTATION SYMBOL-6\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD205\"},119302:{\"value\":\"1D206\",\"name\":\"GREEK VOCAL NOTATION SYMBOL-7\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD206\"},119303:{\"value\":\"1D207\",\"name\":\"GREEK VOCAL NOTATION SYMBOL-8\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD207\"},119304:{\"value\":\"1D208\",\"name\":\"GREEK VOCAL NOTATION SYMBOL-9\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD208\"},119305:{\"value\":\"1D209\",\"name\":\"GREEK VOCAL NOTATION SYMBOL-10\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD209\"},119306:{\"value\":\"1D20A\",\"name\":\"GREEK VOCAL NOTATION SYMBOL-11\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD20A\"},119307:{\"value\":\"1D20B\",\"name\":\"GREEK VOCAL NOTATION SYMBOL-12\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD20B\"},119308:{\"value\":\"1D20C\",\"name\":\"GREEK VOCAL NOTATION SYMBOL-13\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD20C\"},119309:{\"value\":\"1D20D\",\"name\":\"GREEK VOCAL NOTATION SYMBOL-14\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD20D\"},119310:{\"value\":\"1D20E\",\"name\":\"GREEK VOCAL NOTATION SYMBOL-15\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD20E\"},119311:{\"value\":\"1D20F\",\"name\":\"GREEK VOCAL NOTATION SYMBOL-16\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD20F\"},119312:{\"value\":\"1D210\",\"name\":\"GREEK VOCAL NOTATION SYMBOL-17\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD210\"},119313:{\"value\":\"1D211\",\"name\":\"GREEK VOCAL NOTATION SYMBOL-18\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD211\"},119314:{\"value\":\"1D212\",\"name\":\"GREEK VOCAL NOTATION SYMBOL-19\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD212\"},119315:{\"value\":\"1D213\",\"name\":\"GREEK VOCAL NOTATION SYMBOL-20\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD213\"},119316:{\"value\":\"1D214\",\"name\":\"GREEK VOCAL NOTATION SYMBOL-21\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD214\"},119317:{\"value\":\"1D215\",\"name\":\"GREEK VOCAL NOTATION SYMBOL-22\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD215\"},119318:{\"value\":\"1D216\",\"name\":\"GREEK VOCAL NOTATION SYMBOL-23\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD216\"},119319:{\"value\":\"1D217\",\"name\":\"GREEK VOCAL NOTATION SYMBOL-24\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD217\"},119320:{\"value\":\"1D218\",\"name\":\"GREEK VOCAL NOTATION SYMBOL-50\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD218\"},119321:{\"value\":\"1D219\",\"name\":\"GREEK VOCAL NOTATION SYMBOL-51\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD219\"},119322:{\"value\":\"1D21A\",\"name\":\"GREEK VOCAL NOTATION SYMBOL-52\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD21A\"},119323:{\"value\":\"1D21B\",\"name\":\"GREEK VOCAL NOTATION SYMBOL-53\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD21B\"},119324:{\"value\":\"1D21C\",\"name\":\"GREEK VOCAL NOTATION SYMBOL-54\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD21C\"},119325:{\"value\":\"1D21D\",\"name\":\"GREEK INSTRUMENTAL NOTATION SYMBOL-1\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD21D\"},119326:{\"value\":\"1D21E\",\"name\":\"GREEK INSTRUMENTAL NOTATION SYMBOL-2\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD21E\"},119327:{\"value\":\"1D21F\",\"name\":\"GREEK INSTRUMENTAL NOTATION SYMBOL-4\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD21F\"},119328:{\"value\":\"1D220\",\"name\":\"GREEK INSTRUMENTAL NOTATION SYMBOL-5\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD220\"},119329:{\"value\":\"1D221\",\"name\":\"GREEK INSTRUMENTAL NOTATION SYMBOL-7\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD221\"},119330:{\"value\":\"1D222\",\"name\":\"GREEK INSTRUMENTAL NOTATION SYMBOL-8\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD222\"},119331:{\"value\":\"1D223\",\"name\":\"GREEK INSTRUMENTAL NOTATION SYMBOL-11\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD223\"},119332:{\"value\":\"1D224\",\"name\":\"GREEK INSTRUMENTAL NOTATION SYMBOL-12\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD224\"},119333:{\"value\":\"1D225\",\"name\":\"GREEK INSTRUMENTAL NOTATION SYMBOL-13\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD225\"},119334:{\"value\":\"1D226\",\"name\":\"GREEK INSTRUMENTAL NOTATION SYMBOL-14\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD226\"},119335:{\"value\":\"1D227\",\"name\":\"GREEK INSTRUMENTAL NOTATION SYMBOL-17\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD227\"},119336:{\"value\":\"1D228\",\"name\":\"GREEK INSTRUMENTAL NOTATION SYMBOL-18\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD228\"},119337:{\"value\":\"1D229\",\"name\":\"GREEK INSTRUMENTAL NOTATION SYMBOL-19\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD229\"},119338:{\"value\":\"1D22A\",\"name\":\"GREEK INSTRUMENTAL NOTATION SYMBOL-23\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD22A\"},119339:{\"value\":\"1D22B\",\"name\":\"GREEK INSTRUMENTAL NOTATION SYMBOL-24\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD22B\"},119340:{\"value\":\"1D22C\",\"name\":\"GREEK INSTRUMENTAL NOTATION SYMBOL-25\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD22C\"},119341:{\"value\":\"1D22D\",\"name\":\"GREEK INSTRUMENTAL NOTATION SYMBOL-26\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD22D\"},119342:{\"value\":\"1D22E\",\"name\":\"GREEK INSTRUMENTAL NOTATION SYMBOL-27\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD22E\"},119343:{\"value\":\"1D22F\",\"name\":\"GREEK INSTRUMENTAL NOTATION SYMBOL-29\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD22F\"},119344:{\"value\":\"1D230\",\"name\":\"GREEK INSTRUMENTAL NOTATION SYMBOL-30\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD230\"},119345:{\"value\":\"1D231\",\"name\":\"GREEK INSTRUMENTAL NOTATION SYMBOL-32\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD231\"},119346:{\"value\":\"1D232\",\"name\":\"GREEK INSTRUMENTAL NOTATION SYMBOL-36\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD232\"},119347:{\"value\":\"1D233\",\"name\":\"GREEK INSTRUMENTAL NOTATION SYMBOL-37\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD233\"},119348:{\"value\":\"1D234\",\"name\":\"GREEK INSTRUMENTAL NOTATION SYMBOL-38\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD234\"},119349:{\"value\":\"1D235\",\"name\":\"GREEK INSTRUMENTAL NOTATION SYMBOL-39\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD235\"},119350:{\"value\":\"1D236\",\"name\":\"GREEK INSTRUMENTAL NOTATION SYMBOL-40\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD236\"},119351:{\"value\":\"1D237\",\"name\":\"GREEK INSTRUMENTAL NOTATION SYMBOL-42\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD237\"},119352:{\"value\":\"1D238\",\"name\":\"GREEK INSTRUMENTAL NOTATION SYMBOL-43\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD238\"},119353:{\"value\":\"1D239\",\"name\":\"GREEK INSTRUMENTAL NOTATION SYMBOL-45\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD239\"},119354:{\"value\":\"1D23A\",\"name\":\"GREEK INSTRUMENTAL NOTATION SYMBOL-47\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD23A\"},119355:{\"value\":\"1D23B\",\"name\":\"GREEK INSTRUMENTAL NOTATION SYMBOL-48\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD23B\"},119356:{\"value\":\"1D23C\",\"name\":\"GREEK INSTRUMENTAL NOTATION SYMBOL-49\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD23C\"},119357:{\"value\":\"1D23D\",\"name\":\"GREEK INSTRUMENTAL NOTATION SYMBOL-50\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD23D\"},119358:{\"value\":\"1D23E\",\"name\":\"GREEK INSTRUMENTAL NOTATION SYMBOL-51\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD23E\"},119359:{\"value\":\"1D23F\",\"name\":\"GREEK INSTRUMENTAL NOTATION SYMBOL-52\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD23F\"},119360:{\"value\":\"1D240\",\"name\":\"GREEK INSTRUMENTAL NOTATION SYMBOL-53\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD240\"},119361:{\"value\":\"1D241\",\"name\":\"GREEK INSTRUMENTAL NOTATION SYMBOL-54\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD241\"},119365:{\"value\":\"1D245\",\"name\":\"GREEK MUSICAL LEIMMA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD245\"},119552:{\"value\":\"1D300\",\"name\":\"MONOGRAM FOR EARTH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD300\"},119553:{\"value\":\"1D301\",\"name\":\"DIGRAM FOR HEAVENLY EARTH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD301\"},119554:{\"value\":\"1D302\",\"name\":\"DIGRAM FOR HUMAN EARTH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD302\"},119555:{\"value\":\"1D303\",\"name\":\"DIGRAM FOR EARTHLY HEAVEN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD303\"},119556:{\"value\":\"1D304\",\"name\":\"DIGRAM FOR EARTHLY HUMAN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD304\"},119557:{\"value\":\"1D305\",\"name\":\"DIGRAM FOR EARTH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD305\"},119558:{\"value\":\"1D306\",\"name\":\"TETRAGRAM FOR CENTRE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD306\"},119559:{\"value\":\"1D307\",\"name\":\"TETRAGRAM FOR FULL CIRCLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD307\"},119560:{\"value\":\"1D308\",\"name\":\"TETRAGRAM FOR MIRED\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD308\"},119561:{\"value\":\"1D309\",\"name\":\"TETRAGRAM FOR BARRIER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD309\"},119562:{\"value\":\"1D30A\",\"name\":\"TETRAGRAM FOR KEEPING SMALL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD30A\"},119563:{\"value\":\"1D30B\",\"name\":\"TETRAGRAM FOR CONTRARIETY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD30B\"},119564:{\"value\":\"1D30C\",\"name\":\"TETRAGRAM FOR ASCENT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD30C\"},119565:{\"value\":\"1D30D\",\"name\":\"TETRAGRAM FOR OPPOSITION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD30D\"},119566:{\"value\":\"1D30E\",\"name\":\"TETRAGRAM FOR BRANCHING OUT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD30E\"},119567:{\"value\":\"1D30F\",\"name\":\"TETRAGRAM FOR DEFECTIVENESS OR DISTORTION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD30F\"},119568:{\"value\":\"1D310\",\"name\":\"TETRAGRAM FOR DIVERGENCE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD310\"},119569:{\"value\":\"1D311\",\"name\":\"TETRAGRAM FOR YOUTHFULNESS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD311\"},119570:{\"value\":\"1D312\",\"name\":\"TETRAGRAM FOR INCREASE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD312\"},119571:{\"value\":\"1D313\",\"name\":\"TETRAGRAM FOR PENETRATION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD313\"},119572:{\"value\":\"1D314\",\"name\":\"TETRAGRAM FOR REACH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD314\"},119573:{\"value\":\"1D315\",\"name\":\"TETRAGRAM FOR CONTACT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD315\"},119574:{\"value\":\"1D316\",\"name\":\"TETRAGRAM FOR HOLDING BACK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD316\"},119575:{\"value\":\"1D317\",\"name\":\"TETRAGRAM FOR WAITING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD317\"},119576:{\"value\":\"1D318\",\"name\":\"TETRAGRAM FOR FOLLOWING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD318\"},119577:{\"value\":\"1D319\",\"name\":\"TETRAGRAM FOR ADVANCE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD319\"},119578:{\"value\":\"1D31A\",\"name\":\"TETRAGRAM FOR RELEASE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD31A\"},119579:{\"value\":\"1D31B\",\"name\":\"TETRAGRAM FOR RESISTANCE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD31B\"},119580:{\"value\":\"1D31C\",\"name\":\"TETRAGRAM FOR EASE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD31C\"},119581:{\"value\":\"1D31D\",\"name\":\"TETRAGRAM FOR JOY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD31D\"},119582:{\"value\":\"1D31E\",\"name\":\"TETRAGRAM FOR CONTENTION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD31E\"},119583:{\"value\":\"1D31F\",\"name\":\"TETRAGRAM FOR ENDEAVOUR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD31F\"},119584:{\"value\":\"1D320\",\"name\":\"TETRAGRAM FOR DUTIES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD320\"},119585:{\"value\":\"1D321\",\"name\":\"TETRAGRAM FOR CHANGE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD321\"},119586:{\"value\":\"1D322\",\"name\":\"TETRAGRAM FOR DECISIVENESS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD322\"},119587:{\"value\":\"1D323\",\"name\":\"TETRAGRAM FOR BOLD RESOLUTION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD323\"},119588:{\"value\":\"1D324\",\"name\":\"TETRAGRAM FOR PACKING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD324\"},119589:{\"value\":\"1D325\",\"name\":\"TETRAGRAM FOR LEGION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD325\"},119590:{\"value\":\"1D326\",\"name\":\"TETRAGRAM FOR CLOSENESS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD326\"},119591:{\"value\":\"1D327\",\"name\":\"TETRAGRAM FOR KINSHIP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD327\"},119592:{\"value\":\"1D328\",\"name\":\"TETRAGRAM FOR GATHERING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD328\"},119593:{\"value\":\"1D329\",\"name\":\"TETRAGRAM FOR STRENGTH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD329\"},119594:{\"value\":\"1D32A\",\"name\":\"TETRAGRAM FOR PURITY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD32A\"},119595:{\"value\":\"1D32B\",\"name\":\"TETRAGRAM FOR FULLNESS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD32B\"},119596:{\"value\":\"1D32C\",\"name\":\"TETRAGRAM FOR RESIDENCE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD32C\"},119597:{\"value\":\"1D32D\",\"name\":\"TETRAGRAM FOR LAW OR MODEL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD32D\"},119598:{\"value\":\"1D32E\",\"name\":\"TETRAGRAM FOR RESPONSE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD32E\"},119599:{\"value\":\"1D32F\",\"name\":\"TETRAGRAM FOR GOING TO MEET\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD32F\"},119600:{\"value\":\"1D330\",\"name\":\"TETRAGRAM FOR ENCOUNTERS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD330\"},119601:{\"value\":\"1D331\",\"name\":\"TETRAGRAM FOR STOVE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD331\"},119602:{\"value\":\"1D332\",\"name\":\"TETRAGRAM FOR GREATNESS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD332\"},119603:{\"value\":\"1D333\",\"name\":\"TETRAGRAM FOR ENLARGEMENT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD333\"},119604:{\"value\":\"1D334\",\"name\":\"TETRAGRAM FOR PATTERN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD334\"},119605:{\"value\":\"1D335\",\"name\":\"TETRAGRAM FOR RITUAL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD335\"},119606:{\"value\":\"1D336\",\"name\":\"TETRAGRAM FOR FLIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD336\"},119607:{\"value\":\"1D337\",\"name\":\"TETRAGRAM FOR VASTNESS OR WASTING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD337\"},119608:{\"value\":\"1D338\",\"name\":\"TETRAGRAM FOR CONSTANCY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD338\"},119609:{\"value\":\"1D339\",\"name\":\"TETRAGRAM FOR MEASURE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD339\"},119610:{\"value\":\"1D33A\",\"name\":\"TETRAGRAM FOR ETERNITY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD33A\"},119611:{\"value\":\"1D33B\",\"name\":\"TETRAGRAM FOR UNITY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD33B\"},119612:{\"value\":\"1D33C\",\"name\":\"TETRAGRAM FOR DIMINISHMENT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD33C\"},119613:{\"value\":\"1D33D\",\"name\":\"TETRAGRAM FOR CLOSED MOUTH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD33D\"},119614:{\"value\":\"1D33E\",\"name\":\"TETRAGRAM FOR GUARDEDNESS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD33E\"},119615:{\"value\":\"1D33F\",\"name\":\"TETRAGRAM FOR GATHERING IN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD33F\"},119616:{\"value\":\"1D340\",\"name\":\"TETRAGRAM FOR MASSING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD340\"},119617:{\"value\":\"1D341\",\"name\":\"TETRAGRAM FOR ACCUMULATION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD341\"},119618:{\"value\":\"1D342\",\"name\":\"TETRAGRAM FOR EMBELLISHMENT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD342\"},119619:{\"value\":\"1D343\",\"name\":\"TETRAGRAM FOR DOUBT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD343\"},119620:{\"value\":\"1D344\",\"name\":\"TETRAGRAM FOR WATCH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD344\"},119621:{\"value\":\"1D345\",\"name\":\"TETRAGRAM FOR SINKING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD345\"},119622:{\"value\":\"1D346\",\"name\":\"TETRAGRAM FOR INNER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD346\"},119623:{\"value\":\"1D347\",\"name\":\"TETRAGRAM FOR DEPARTURE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD347\"},119624:{\"value\":\"1D348\",\"name\":\"TETRAGRAM FOR DARKENING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD348\"},119625:{\"value\":\"1D349\",\"name\":\"TETRAGRAM FOR DIMMING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD349\"},119626:{\"value\":\"1D34A\",\"name\":\"TETRAGRAM FOR EXHAUSTION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD34A\"},119627:{\"value\":\"1D34B\",\"name\":\"TETRAGRAM FOR SEVERANCE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD34B\"},119628:{\"value\":\"1D34C\",\"name\":\"TETRAGRAM FOR STOPPAGE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD34C\"},119629:{\"value\":\"1D34D\",\"name\":\"TETRAGRAM FOR HARDNESS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD34D\"},119630:{\"value\":\"1D34E\",\"name\":\"TETRAGRAM FOR COMPLETION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD34E\"},119631:{\"value\":\"1D34F\",\"name\":\"TETRAGRAM FOR CLOSURE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD34F\"},119632:{\"value\":\"1D350\",\"name\":\"TETRAGRAM FOR FAILURE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD350\"},119633:{\"value\":\"1D351\",\"name\":\"TETRAGRAM FOR AGGRAVATION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD351\"},119634:{\"value\":\"1D352\",\"name\":\"TETRAGRAM FOR COMPLIANCE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD352\"},119635:{\"value\":\"1D353\",\"name\":\"TETRAGRAM FOR ON THE VERGE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD353\"},119636:{\"value\":\"1D354\",\"name\":\"TETRAGRAM FOR DIFFICULTIES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD354\"},119637:{\"value\":\"1D355\",\"name\":\"TETRAGRAM FOR LABOURING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD355\"},119638:{\"value\":\"1D356\",\"name\":\"TETRAGRAM FOR FOSTERING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD356\"},120832:{\"value\":\"1D800\",\"name\":\"SIGNWRITING HAND-FIST INDEX\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD800\"},120833:{\"value\":\"1D801\",\"name\":\"SIGNWRITING HAND-CIRCLE INDEX\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD801\"},120834:{\"value\":\"1D802\",\"name\":\"SIGNWRITING HAND-CUP INDEX\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD802\"},120835:{\"value\":\"1D803\",\"name\":\"SIGNWRITING HAND-OVAL INDEX\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD803\"},120836:{\"value\":\"1D804\",\"name\":\"SIGNWRITING HAND-HINGE INDEX\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD804\"},120837:{\"value\":\"1D805\",\"name\":\"SIGNWRITING HAND-ANGLE INDEX\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD805\"},120838:{\"value\":\"1D806\",\"name\":\"SIGNWRITING HAND-FIST INDEX BENT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD806\"},120839:{\"value\":\"1D807\",\"name\":\"SIGNWRITING HAND-CIRCLE INDEX BENT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD807\"},120840:{\"value\":\"1D808\",\"name\":\"SIGNWRITING HAND-FIST THUMB UNDER INDEX BENT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD808\"},120841:{\"value\":\"1D809\",\"name\":\"SIGNWRITING HAND-FIST INDEX RAISED KNUCKLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD809\"},120842:{\"value\":\"1D80A\",\"name\":\"SIGNWRITING HAND-FIST INDEX CUPPED\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD80A\"},120843:{\"value\":\"1D80B\",\"name\":\"SIGNWRITING HAND-FIST INDEX HINGED\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD80B\"},120844:{\"value\":\"1D80C\",\"name\":\"SIGNWRITING HAND-FIST INDEX HINGED LOW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD80C\"},120845:{\"value\":\"1D80D\",\"name\":\"SIGNWRITING HAND-CIRCLE INDEX HINGE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD80D\"},120846:{\"value\":\"1D80E\",\"name\":\"SIGNWRITING HAND-FIST INDEX MIDDLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD80E\"},120847:{\"value\":\"1D80F\",\"name\":\"SIGNWRITING HAND-CIRCLE INDEX MIDDLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD80F\"},120848:{\"value\":\"1D810\",\"name\":\"SIGNWRITING HAND-FIST INDEX MIDDLE BENT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD810\"},120849:{\"value\":\"1D811\",\"name\":\"SIGNWRITING HAND-FIST INDEX MIDDLE RAISED KNUCKLES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD811\"},120850:{\"value\":\"1D812\",\"name\":\"SIGNWRITING HAND-FIST INDEX MIDDLE HINGED\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD812\"},120851:{\"value\":\"1D813\",\"name\":\"SIGNWRITING HAND-FIST INDEX UP MIDDLE HINGED\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD813\"},120852:{\"value\":\"1D814\",\"name\":\"SIGNWRITING HAND-FIST INDEX HINGED MIDDLE UP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD814\"},120853:{\"value\":\"1D815\",\"name\":\"SIGNWRITING HAND-FIST INDEX MIDDLE CONJOINED\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD815\"},120854:{\"value\":\"1D816\",\"name\":\"SIGNWRITING HAND-FIST INDEX MIDDLE CONJOINED INDEX BENT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD816\"},120855:{\"value\":\"1D817\",\"name\":\"SIGNWRITING HAND-FIST INDEX MIDDLE CONJOINED MIDDLE BENT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD817\"},120856:{\"value\":\"1D818\",\"name\":\"SIGNWRITING HAND-FIST INDEX MIDDLE CONJOINED CUPPED\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD818\"},120857:{\"value\":\"1D819\",\"name\":\"SIGNWRITING HAND-FIST INDEX MIDDLE CONJOINED HINGED\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD819\"},120858:{\"value\":\"1D81A\",\"name\":\"SIGNWRITING HAND-FIST INDEX MIDDLE CROSSED\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD81A\"},120859:{\"value\":\"1D81B\",\"name\":\"SIGNWRITING HAND-CIRCLE INDEX MIDDLE CROSSED\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD81B\"},120860:{\"value\":\"1D81C\",\"name\":\"SIGNWRITING HAND-FIST MIDDLE BENT OVER INDEX\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD81C\"},120861:{\"value\":\"1D81D\",\"name\":\"SIGNWRITING HAND-FIST INDEX BENT OVER MIDDLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD81D\"},120862:{\"value\":\"1D81E\",\"name\":\"SIGNWRITING HAND-FIST INDEX MIDDLE THUMB\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD81E\"},120863:{\"value\":\"1D81F\",\"name\":\"SIGNWRITING HAND-CIRCLE INDEX MIDDLE THUMB\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD81F\"},120864:{\"value\":\"1D820\",\"name\":\"SIGNWRITING HAND-FIST INDEX MIDDLE STRAIGHT THUMB BENT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD820\"},120865:{\"value\":\"1D821\",\"name\":\"SIGNWRITING HAND-FIST INDEX MIDDLE BENT THUMB STRAIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD821\"},120866:{\"value\":\"1D822\",\"name\":\"SIGNWRITING HAND-FIST INDEX MIDDLE THUMB BENT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD822\"},120867:{\"value\":\"1D823\",\"name\":\"SIGNWRITING HAND-FIST INDEX MIDDLE HINGED SPREAD THUMB SIDE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD823\"},120868:{\"value\":\"1D824\",\"name\":\"SIGNWRITING HAND-FIST INDEX UP MIDDLE HINGED THUMB SIDE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD824\"},120869:{\"value\":\"1D825\",\"name\":\"SIGNWRITING HAND-FIST INDEX UP MIDDLE HINGED THUMB CONJOINED\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD825\"},120870:{\"value\":\"1D826\",\"name\":\"SIGNWRITING HAND-FIST INDEX HINGED MIDDLE UP THUMB SIDE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD826\"},120871:{\"value\":\"1D827\",\"name\":\"SIGNWRITING HAND-FIST INDEX MIDDLE UP SPREAD THUMB FORWARD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD827\"},120872:{\"value\":\"1D828\",\"name\":\"SIGNWRITING HAND-FIST INDEX MIDDLE THUMB CUPPED\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD828\"},120873:{\"value\":\"1D829\",\"name\":\"SIGNWRITING HAND-FIST INDEX MIDDLE THUMB CIRCLED\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD829\"},120874:{\"value\":\"1D82A\",\"name\":\"SIGNWRITING HAND-FIST INDEX MIDDLE THUMB HOOKED\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD82A\"},120875:{\"value\":\"1D82B\",\"name\":\"SIGNWRITING HAND-FIST INDEX MIDDLE THUMB HINGED\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD82B\"},120876:{\"value\":\"1D82C\",\"name\":\"SIGNWRITING HAND-FIST THUMB BETWEEN INDEX MIDDLE STRAIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD82C\"},120877:{\"value\":\"1D82D\",\"name\":\"SIGNWRITING HAND-FIST INDEX MIDDLE CONJOINED THUMB SIDE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD82D\"},120878:{\"value\":\"1D82E\",\"name\":\"SIGNWRITING HAND-FIST INDEX MIDDLE CONJOINED THUMB SIDE CONJOINED\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD82E\"},120879:{\"value\":\"1D82F\",\"name\":\"SIGNWRITING HAND-FIST INDEX MIDDLE CONJOINED THUMB SIDE BENT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD82F\"},120880:{\"value\":\"1D830\",\"name\":\"SIGNWRITING HAND-FIST MIDDLE THUMB HOOKED INDEX UP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD830\"},120881:{\"value\":\"1D831\",\"name\":\"SIGNWRITING HAND-FIST INDEX THUMB HOOKED MIDDLE UP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD831\"},120882:{\"value\":\"1D832\",\"name\":\"SIGNWRITING HAND-FIST INDEX MIDDLE CONJOINED HINGED THUMB SIDE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD832\"},120883:{\"value\":\"1D833\",\"name\":\"SIGNWRITING HAND-FIST INDEX MIDDLE CROSSED THUMB SIDE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD833\"},120884:{\"value\":\"1D834\",\"name\":\"SIGNWRITING HAND-FIST INDEX MIDDLE CONJOINED THUMB FORWARD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD834\"},120885:{\"value\":\"1D835\",\"name\":\"SIGNWRITING HAND-FIST INDEX MIDDLE CONJOINED CUPPED THUMB FORWARD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD835\"},120886:{\"value\":\"1D836\",\"name\":\"SIGNWRITING HAND-FIST MIDDLE THUMB CUPPED INDEX UP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD836\"},120887:{\"value\":\"1D837\",\"name\":\"SIGNWRITING HAND-FIST INDEX THUMB CUPPED MIDDLE UP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD837\"},120888:{\"value\":\"1D838\",\"name\":\"SIGNWRITING HAND-FIST MIDDLE THUMB CIRCLED INDEX UP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD838\"},120889:{\"value\":\"1D839\",\"name\":\"SIGNWRITING HAND-FIST MIDDLE THUMB CIRCLED INDEX HINGED\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD839\"},120890:{\"value\":\"1D83A\",\"name\":\"SIGNWRITING HAND-FIST INDEX THUMB ANGLED OUT MIDDLE UP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD83A\"},120891:{\"value\":\"1D83B\",\"name\":\"SIGNWRITING HAND-FIST INDEX THUMB ANGLED IN MIDDLE UP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD83B\"},120892:{\"value\":\"1D83C\",\"name\":\"SIGNWRITING HAND-FIST INDEX THUMB CIRCLED MIDDLE UP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD83C\"},120893:{\"value\":\"1D83D\",\"name\":\"SIGNWRITING HAND-FIST INDEX MIDDLE THUMB CONJOINED HINGED\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD83D\"},120894:{\"value\":\"1D83E\",\"name\":\"SIGNWRITING HAND-FIST INDEX MIDDLE THUMB ANGLED OUT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD83E\"},120895:{\"value\":\"1D83F\",\"name\":\"SIGNWRITING HAND-FIST INDEX MIDDLE THUMB ANGLED\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD83F\"},120896:{\"value\":\"1D840\",\"name\":\"SIGNWRITING HAND-FIST MIDDLE THUMB ANGLED OUT INDEX UP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD840\"},120897:{\"value\":\"1D841\",\"name\":\"SIGNWRITING HAND-FIST MIDDLE THUMB ANGLED OUT INDEX CROSSED\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD841\"},120898:{\"value\":\"1D842\",\"name\":\"SIGNWRITING HAND-FIST MIDDLE THUMB ANGLED INDEX UP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD842\"},120899:{\"value\":\"1D843\",\"name\":\"SIGNWRITING HAND-FIST INDEX THUMB HOOKED MIDDLE HINGED\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD843\"},120900:{\"value\":\"1D844\",\"name\":\"SIGNWRITING HAND-FLAT FOUR FINGERS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD844\"},120901:{\"value\":\"1D845\",\"name\":\"SIGNWRITING HAND-FLAT FOUR FINGERS BENT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD845\"},120902:{\"value\":\"1D846\",\"name\":\"SIGNWRITING HAND-FLAT FOUR FINGERS HINGED\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD846\"},120903:{\"value\":\"1D847\",\"name\":\"SIGNWRITING HAND-FLAT FOUR FINGERS CONJOINED\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD847\"},120904:{\"value\":\"1D848\",\"name\":\"SIGNWRITING HAND-FLAT FOUR FINGERS CONJOINED SPLIT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD848\"},120905:{\"value\":\"1D849\",\"name\":\"SIGNWRITING HAND-CLAW FOUR FINGERS CONJOINED\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD849\"},120906:{\"value\":\"1D84A\",\"name\":\"SIGNWRITING HAND-FIST FOUR FINGERS CONJOINED BENT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD84A\"},120907:{\"value\":\"1D84B\",\"name\":\"SIGNWRITING HAND-HINGE FOUR FINGERS CONJOINED\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD84B\"},120908:{\"value\":\"1D84C\",\"name\":\"SIGNWRITING HAND-FLAT FIVE FINGERS SPREAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD84C\"},120909:{\"value\":\"1D84D\",\"name\":\"SIGNWRITING HAND-FLAT HEEL FIVE FINGERS SPREAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD84D\"},120910:{\"value\":\"1D84E\",\"name\":\"SIGNWRITING HAND-FLAT FIVE FINGERS SPREAD FOUR BENT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD84E\"},120911:{\"value\":\"1D84F\",\"name\":\"SIGNWRITING HAND-FLAT HEEL FIVE FINGERS SPREAD FOUR BENT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD84F\"},120912:{\"value\":\"1D850\",\"name\":\"SIGNWRITING HAND-FLAT FIVE FINGERS SPREAD BENT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD850\"},120913:{\"value\":\"1D851\",\"name\":\"SIGNWRITING HAND-FLAT HEEL FIVE FINGERS SPREAD BENT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD851\"},120914:{\"value\":\"1D852\",\"name\":\"SIGNWRITING HAND-FLAT FIVE FINGERS SPREAD THUMB FORWARD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD852\"},120915:{\"value\":\"1D853\",\"name\":\"SIGNWRITING HAND-CUP FIVE FINGERS SPREAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD853\"},120916:{\"value\":\"1D854\",\"name\":\"SIGNWRITING HAND-CUP FIVE FINGERS SPREAD OPEN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD854\"},120917:{\"value\":\"1D855\",\"name\":\"SIGNWRITING HAND-HINGE FIVE FINGERS SPREAD OPEN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD855\"},120918:{\"value\":\"1D856\",\"name\":\"SIGNWRITING HAND-OVAL FIVE FINGERS SPREAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD856\"},120919:{\"value\":\"1D857\",\"name\":\"SIGNWRITING HAND-FLAT FIVE FINGERS SPREAD HINGED\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD857\"},120920:{\"value\":\"1D858\",\"name\":\"SIGNWRITING HAND-FLAT FIVE FINGERS SPREAD HINGED THUMB SIDE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD858\"},120921:{\"value\":\"1D859\",\"name\":\"SIGNWRITING HAND-FLAT FIVE FINGERS SPREAD HINGED NO THUMB\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD859\"},120922:{\"value\":\"1D85A\",\"name\":\"SIGNWRITING HAND-FLAT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD85A\"},120923:{\"value\":\"1D85B\",\"name\":\"SIGNWRITING HAND-FLAT BETWEEN PALM FACINGS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD85B\"},120924:{\"value\":\"1D85C\",\"name\":\"SIGNWRITING HAND-FLAT HEEL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD85C\"},120925:{\"value\":\"1D85D\",\"name\":\"SIGNWRITING HAND-FLAT THUMB SIDE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD85D\"},120926:{\"value\":\"1D85E\",\"name\":\"SIGNWRITING HAND-FLAT HEEL THUMB SIDE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD85E\"},120927:{\"value\":\"1D85F\",\"name\":\"SIGNWRITING HAND-FLAT THUMB BENT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD85F\"},120928:{\"value\":\"1D860\",\"name\":\"SIGNWRITING HAND-FLAT THUMB FORWARD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD860\"},120929:{\"value\":\"1D861\",\"name\":\"SIGNWRITING HAND-FLAT SPLIT INDEX THUMB SIDE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD861\"},120930:{\"value\":\"1D862\",\"name\":\"SIGNWRITING HAND-FLAT SPLIT CENTRE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD862\"},120931:{\"value\":\"1D863\",\"name\":\"SIGNWRITING HAND-FLAT SPLIT CENTRE THUMB SIDE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD863\"},120932:{\"value\":\"1D864\",\"name\":\"SIGNWRITING HAND-FLAT SPLIT CENTRE THUMB SIDE BENT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD864\"},120933:{\"value\":\"1D865\",\"name\":\"SIGNWRITING HAND-FLAT SPLIT LITTLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD865\"},120934:{\"value\":\"1D866\",\"name\":\"SIGNWRITING HAND-CLAW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD866\"},120935:{\"value\":\"1D867\",\"name\":\"SIGNWRITING HAND-CLAW THUMB SIDE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD867\"},120936:{\"value\":\"1D868\",\"name\":\"SIGNWRITING HAND-CLAW NO THUMB\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD868\"},120937:{\"value\":\"1D869\",\"name\":\"SIGNWRITING HAND-CLAW THUMB FORWARD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD869\"},120938:{\"value\":\"1D86A\",\"name\":\"SIGNWRITING HAND-HOOK CURLICUE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD86A\"},120939:{\"value\":\"1D86B\",\"name\":\"SIGNWRITING HAND-HOOK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD86B\"},120940:{\"value\":\"1D86C\",\"name\":\"SIGNWRITING HAND-CUP OPEN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD86C\"},120941:{\"value\":\"1D86D\",\"name\":\"SIGNWRITING HAND-CUP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD86D\"},120942:{\"value\":\"1D86E\",\"name\":\"SIGNWRITING HAND-CUP OPEN THUMB SIDE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD86E\"},120943:{\"value\":\"1D86F\",\"name\":\"SIGNWRITING HAND-CUP THUMB SIDE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD86F\"},120944:{\"value\":\"1D870\",\"name\":\"SIGNWRITING HAND-CUP OPEN NO THUMB\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD870\"},120945:{\"value\":\"1D871\",\"name\":\"SIGNWRITING HAND-CUP NO THUMB\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD871\"},120946:{\"value\":\"1D872\",\"name\":\"SIGNWRITING HAND-CUP OPEN THUMB FORWARD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD872\"},120947:{\"value\":\"1D873\",\"name\":\"SIGNWRITING HAND-CUP THUMB FORWARD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD873\"},120948:{\"value\":\"1D874\",\"name\":\"SIGNWRITING HAND-CURLICUE OPEN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD874\"},120949:{\"value\":\"1D875\",\"name\":\"SIGNWRITING HAND-CURLICUE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD875\"},120950:{\"value\":\"1D876\",\"name\":\"SIGNWRITING HAND-CIRCLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD876\"},120951:{\"value\":\"1D877\",\"name\":\"SIGNWRITING HAND-OVAL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD877\"},120952:{\"value\":\"1D878\",\"name\":\"SIGNWRITING HAND-OVAL THUMB SIDE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD878\"},120953:{\"value\":\"1D879\",\"name\":\"SIGNWRITING HAND-OVAL NO THUMB\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD879\"},120954:{\"value\":\"1D87A\",\"name\":\"SIGNWRITING HAND-OVAL THUMB FORWARD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD87A\"},120955:{\"value\":\"1D87B\",\"name\":\"SIGNWRITING HAND-HINGE OPEN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD87B\"},120956:{\"value\":\"1D87C\",\"name\":\"SIGNWRITING HAND-HINGE OPEN THUMB FORWARD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD87C\"},120957:{\"value\":\"1D87D\",\"name\":\"SIGNWRITING HAND-HINGE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD87D\"},120958:{\"value\":\"1D87E\",\"name\":\"SIGNWRITING HAND-HINGE SMALL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD87E\"},120959:{\"value\":\"1D87F\",\"name\":\"SIGNWRITING HAND-HINGE OPEN THUMB SIDE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD87F\"},120960:{\"value\":\"1D880\",\"name\":\"SIGNWRITING HAND-HINGE THUMB SIDE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD880\"},120961:{\"value\":\"1D881\",\"name\":\"SIGNWRITING HAND-HINGE OPEN NO THUMB\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD881\"},120962:{\"value\":\"1D882\",\"name\":\"SIGNWRITING HAND-HINGE NO THUMB\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD882\"},120963:{\"value\":\"1D883\",\"name\":\"SIGNWRITING HAND-HINGE THUMB SIDE TOUCHING INDEX\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD883\"},120964:{\"value\":\"1D884\",\"name\":\"SIGNWRITING HAND-HINGE THUMB BETWEEN MIDDLE RING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD884\"},120965:{\"value\":\"1D885\",\"name\":\"SIGNWRITING HAND-ANGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD885\"},120966:{\"value\":\"1D886\",\"name\":\"SIGNWRITING HAND-FIST INDEX MIDDLE RING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD886\"},120967:{\"value\":\"1D887\",\"name\":\"SIGNWRITING HAND-CIRCLE INDEX MIDDLE RING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD887\"},120968:{\"value\":\"1D888\",\"name\":\"SIGNWRITING HAND-HINGE INDEX MIDDLE RING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD888\"},120969:{\"value\":\"1D889\",\"name\":\"SIGNWRITING HAND-ANGLE INDEX MIDDLE RING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD889\"},120970:{\"value\":\"1D88A\",\"name\":\"SIGNWRITING HAND-HINGE LITTLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD88A\"},120971:{\"value\":\"1D88B\",\"name\":\"SIGNWRITING HAND-FIST INDEX MIDDLE RING BENT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD88B\"},120972:{\"value\":\"1D88C\",\"name\":\"SIGNWRITING HAND-FIST INDEX MIDDLE RING CONJOINED\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD88C\"},120973:{\"value\":\"1D88D\",\"name\":\"SIGNWRITING HAND-HINGE INDEX MIDDLE RING CONJOINED\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD88D\"},120974:{\"value\":\"1D88E\",\"name\":\"SIGNWRITING HAND-FIST LITTLE DOWN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD88E\"},120975:{\"value\":\"1D88F\",\"name\":\"SIGNWRITING HAND-FIST LITTLE DOWN RIPPLE STRAIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD88F\"},120976:{\"value\":\"1D890\",\"name\":\"SIGNWRITING HAND-FIST LITTLE DOWN RIPPLE CURVED\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD890\"},120977:{\"value\":\"1D891\",\"name\":\"SIGNWRITING HAND-FIST LITTLE DOWN OTHERS CIRCLED\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD891\"},120978:{\"value\":\"1D892\",\"name\":\"SIGNWRITING HAND-FIST LITTLE UP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD892\"},120979:{\"value\":\"1D893\",\"name\":\"SIGNWRITING HAND-FIST THUMB UNDER LITTLE UP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD893\"},120980:{\"value\":\"1D894\",\"name\":\"SIGNWRITING HAND-CIRCLE LITTLE UP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD894\"},120981:{\"value\":\"1D895\",\"name\":\"SIGNWRITING HAND-OVAL LITTLE UP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD895\"},120982:{\"value\":\"1D896\",\"name\":\"SIGNWRITING HAND-ANGLE LITTLE UP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD896\"},120983:{\"value\":\"1D897\",\"name\":\"SIGNWRITING HAND-FIST LITTLE RAISED KNUCKLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD897\"},120984:{\"value\":\"1D898\",\"name\":\"SIGNWRITING HAND-FIST LITTLE BENT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD898\"},120985:{\"value\":\"1D899\",\"name\":\"SIGNWRITING HAND-FIST LITTLE TOUCHES THUMB\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD899\"},120986:{\"value\":\"1D89A\",\"name\":\"SIGNWRITING HAND-FIST LITTLE THUMB\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD89A\"},120987:{\"value\":\"1D89B\",\"name\":\"SIGNWRITING HAND-HINGE LITTLE THUMB\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD89B\"},120988:{\"value\":\"1D89C\",\"name\":\"SIGNWRITING HAND-FIST LITTLE INDEX THUMB\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD89C\"},120989:{\"value\":\"1D89D\",\"name\":\"SIGNWRITING HAND-HINGE LITTLE INDEX THUMB\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD89D\"},120990:{\"value\":\"1D89E\",\"name\":\"SIGNWRITING HAND-ANGLE LITTLE INDEX THUMB INDEX THUMB OUT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD89E\"},120991:{\"value\":\"1D89F\",\"name\":\"SIGNWRITING HAND-ANGLE LITTLE INDEX THUMB INDEX THUMB\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD89F\"},120992:{\"value\":\"1D8A0\",\"name\":\"SIGNWRITING HAND-FIST LITTLE INDEX\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8A0\"},120993:{\"value\":\"1D8A1\",\"name\":\"SIGNWRITING HAND-CIRCLE LITTLE INDEX\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8A1\"},120994:{\"value\":\"1D8A2\",\"name\":\"SIGNWRITING HAND-HINGE LITTLE INDEX\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8A2\"},120995:{\"value\":\"1D8A3\",\"name\":\"SIGNWRITING HAND-ANGLE LITTLE INDEX\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8A3\"},120996:{\"value\":\"1D8A4\",\"name\":\"SIGNWRITING HAND-FIST INDEX MIDDLE LITTLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8A4\"},120997:{\"value\":\"1D8A5\",\"name\":\"SIGNWRITING HAND-CIRCLE INDEX MIDDLE LITTLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8A5\"},120998:{\"value\":\"1D8A6\",\"name\":\"SIGNWRITING HAND-HINGE INDEX MIDDLE LITTLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8A6\"},120999:{\"value\":\"1D8A7\",\"name\":\"SIGNWRITING HAND-HINGE RING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8A7\"},121000:{\"value\":\"1D8A8\",\"name\":\"SIGNWRITING HAND-ANGLE INDEX MIDDLE LITTLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8A8\"},121001:{\"value\":\"1D8A9\",\"name\":\"SIGNWRITING HAND-FIST INDEX MIDDLE CROSS LITTLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8A9\"},121002:{\"value\":\"1D8AA\",\"name\":\"SIGNWRITING HAND-CIRCLE INDEX MIDDLE CROSS LITTLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8AA\"},121003:{\"value\":\"1D8AB\",\"name\":\"SIGNWRITING HAND-FIST RING DOWN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8AB\"},121004:{\"value\":\"1D8AC\",\"name\":\"SIGNWRITING HAND-HINGE RING DOWN INDEX THUMB HOOK MIDDLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8AC\"},121005:{\"value\":\"1D8AD\",\"name\":\"SIGNWRITING HAND-ANGLE RING DOWN MIDDLE THUMB INDEX CROSS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8AD\"},121006:{\"value\":\"1D8AE\",\"name\":\"SIGNWRITING HAND-FIST RING UP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8AE\"},121007:{\"value\":\"1D8AF\",\"name\":\"SIGNWRITING HAND-FIST RING RAISED KNUCKLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8AF\"},121008:{\"value\":\"1D8B0\",\"name\":\"SIGNWRITING HAND-FIST RING LITTLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8B0\"},121009:{\"value\":\"1D8B1\",\"name\":\"SIGNWRITING HAND-CIRCLE RING LITTLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8B1\"},121010:{\"value\":\"1D8B2\",\"name\":\"SIGNWRITING HAND-OVAL RING LITTLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8B2\"},121011:{\"value\":\"1D8B3\",\"name\":\"SIGNWRITING HAND-ANGLE RING LITTLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8B3\"},121012:{\"value\":\"1D8B4\",\"name\":\"SIGNWRITING HAND-FIST RING MIDDLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8B4\"},121013:{\"value\":\"1D8B5\",\"name\":\"SIGNWRITING HAND-FIST RING MIDDLE CONJOINED\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8B5\"},121014:{\"value\":\"1D8B6\",\"name\":\"SIGNWRITING HAND-FIST RING MIDDLE RAISED KNUCKLES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8B6\"},121015:{\"value\":\"1D8B7\",\"name\":\"SIGNWRITING HAND-FIST RING INDEX\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8B7\"},121016:{\"value\":\"1D8B8\",\"name\":\"SIGNWRITING HAND-FIST RING THUMB\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8B8\"},121017:{\"value\":\"1D8B9\",\"name\":\"SIGNWRITING HAND-HOOK RING THUMB\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8B9\"},121018:{\"value\":\"1D8BA\",\"name\":\"SIGNWRITING HAND-FIST INDEX RING LITTLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8BA\"},121019:{\"value\":\"1D8BB\",\"name\":\"SIGNWRITING HAND-CIRCLE INDEX RING LITTLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8BB\"},121020:{\"value\":\"1D8BC\",\"name\":\"SIGNWRITING HAND-CURLICUE INDEX RING LITTLE ON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8BC\"},121021:{\"value\":\"1D8BD\",\"name\":\"SIGNWRITING HAND-HOOK INDEX RING LITTLE OUT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8BD\"},121022:{\"value\":\"1D8BE\",\"name\":\"SIGNWRITING HAND-HOOK INDEX RING LITTLE IN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8BE\"},121023:{\"value\":\"1D8BF\",\"name\":\"SIGNWRITING HAND-HOOK INDEX RING LITTLE UNDER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8BF\"},121024:{\"value\":\"1D8C0\",\"name\":\"SIGNWRITING HAND-CUP INDEX RING LITTLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8C0\"},121025:{\"value\":\"1D8C1\",\"name\":\"SIGNWRITING HAND-HINGE INDEX RING LITTLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8C1\"},121026:{\"value\":\"1D8C2\",\"name\":\"SIGNWRITING HAND-ANGLE INDEX RING LITTLE OUT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8C2\"},121027:{\"value\":\"1D8C3\",\"name\":\"SIGNWRITING HAND-ANGLE INDEX RING LITTLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8C3\"},121028:{\"value\":\"1D8C4\",\"name\":\"SIGNWRITING HAND-FIST MIDDLE DOWN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8C4\"},121029:{\"value\":\"1D8C5\",\"name\":\"SIGNWRITING HAND-HINGE MIDDLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8C5\"},121030:{\"value\":\"1D8C6\",\"name\":\"SIGNWRITING HAND-FIST MIDDLE UP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8C6\"},121031:{\"value\":\"1D8C7\",\"name\":\"SIGNWRITING HAND-CIRCLE MIDDLE UP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8C7\"},121032:{\"value\":\"1D8C8\",\"name\":\"SIGNWRITING HAND-FIST MIDDLE RAISED KNUCKLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8C8\"},121033:{\"value\":\"1D8C9\",\"name\":\"SIGNWRITING HAND-FIST MIDDLE UP THUMB SIDE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8C9\"},121034:{\"value\":\"1D8CA\",\"name\":\"SIGNWRITING HAND-HOOK MIDDLE THUMB\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8CA\"},121035:{\"value\":\"1D8CB\",\"name\":\"SIGNWRITING HAND-FIST MIDDLE THUMB LITTLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8CB\"},121036:{\"value\":\"1D8CC\",\"name\":\"SIGNWRITING HAND-FIST MIDDLE LITTLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8CC\"},121037:{\"value\":\"1D8CD\",\"name\":\"SIGNWRITING HAND-FIST MIDDLE RING LITTLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8CD\"},121038:{\"value\":\"1D8CE\",\"name\":\"SIGNWRITING HAND-CIRCLE MIDDLE RING LITTLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8CE\"},121039:{\"value\":\"1D8CF\",\"name\":\"SIGNWRITING HAND-CURLICUE MIDDLE RING LITTLE ON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8CF\"},121040:{\"value\":\"1D8D0\",\"name\":\"SIGNWRITING HAND-CUP MIDDLE RING LITTLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8D0\"},121041:{\"value\":\"1D8D1\",\"name\":\"SIGNWRITING HAND-HINGE MIDDLE RING LITTLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8D1\"},121042:{\"value\":\"1D8D2\",\"name\":\"SIGNWRITING HAND-ANGLE MIDDLE RING LITTLE OUT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8D2\"},121043:{\"value\":\"1D8D3\",\"name\":\"SIGNWRITING HAND-ANGLE MIDDLE RING LITTLE IN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8D3\"},121044:{\"value\":\"1D8D4\",\"name\":\"SIGNWRITING HAND-ANGLE MIDDLE RING LITTLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8D4\"},121045:{\"value\":\"1D8D5\",\"name\":\"SIGNWRITING HAND-CIRCLE MIDDLE RING LITTLE BENT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8D5\"},121046:{\"value\":\"1D8D6\",\"name\":\"SIGNWRITING HAND-CLAW MIDDLE RING LITTLE CONJOINED\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8D6\"},121047:{\"value\":\"1D8D7\",\"name\":\"SIGNWRITING HAND-CLAW MIDDLE RING LITTLE CONJOINED SIDE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8D7\"},121048:{\"value\":\"1D8D8\",\"name\":\"SIGNWRITING HAND-HOOK MIDDLE RING LITTLE CONJOINED OUT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8D8\"},121049:{\"value\":\"1D8D9\",\"name\":\"SIGNWRITING HAND-HOOK MIDDLE RING LITTLE CONJOINED IN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8D9\"},121050:{\"value\":\"1D8DA\",\"name\":\"SIGNWRITING HAND-HOOK MIDDLE RING LITTLE CONJOINED\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8DA\"},121051:{\"value\":\"1D8DB\",\"name\":\"SIGNWRITING HAND-HINGE INDEX HINGED\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8DB\"},121052:{\"value\":\"1D8DC\",\"name\":\"SIGNWRITING HAND-FIST INDEX THUMB SIDE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8DC\"},121053:{\"value\":\"1D8DD\",\"name\":\"SIGNWRITING HAND-HINGE INDEX THUMB SIDE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8DD\"},121054:{\"value\":\"1D8DE\",\"name\":\"SIGNWRITING HAND-FIST INDEX THUMB SIDE THUMB DIAGONAL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8DE\"},121055:{\"value\":\"1D8DF\",\"name\":\"SIGNWRITING HAND-FIST INDEX THUMB SIDE THUMB CONJOINED\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8DF\"},121056:{\"value\":\"1D8E0\",\"name\":\"SIGNWRITING HAND-FIST INDEX THUMB SIDE THUMB BENT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8E0\"},121057:{\"value\":\"1D8E1\",\"name\":\"SIGNWRITING HAND-FIST INDEX THUMB SIDE INDEX BENT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8E1\"},121058:{\"value\":\"1D8E2\",\"name\":\"SIGNWRITING HAND-FIST INDEX THUMB SIDE BOTH BENT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8E2\"},121059:{\"value\":\"1D8E3\",\"name\":\"SIGNWRITING HAND-FIST INDEX THUMB SIDE INDEX HINGE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8E3\"},121060:{\"value\":\"1D8E4\",\"name\":\"SIGNWRITING HAND-FIST INDEX THUMB FORWARD INDEX STRAIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8E4\"},121061:{\"value\":\"1D8E5\",\"name\":\"SIGNWRITING HAND-FIST INDEX THUMB FORWARD INDEX BENT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8E5\"},121062:{\"value\":\"1D8E6\",\"name\":\"SIGNWRITING HAND-FIST INDEX THUMB HOOK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8E6\"},121063:{\"value\":\"1D8E7\",\"name\":\"SIGNWRITING HAND-FIST INDEX THUMB CURLICUE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8E7\"},121064:{\"value\":\"1D8E8\",\"name\":\"SIGNWRITING HAND-FIST INDEX THUMB CURVE THUMB INSIDE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8E8\"},121065:{\"value\":\"1D8E9\",\"name\":\"SIGNWRITING HAND-CLAW INDEX THUMB CURVE THUMB INSIDE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8E9\"},121066:{\"value\":\"1D8EA\",\"name\":\"SIGNWRITING HAND-FIST INDEX THUMB CURVE THUMB UNDER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8EA\"},121067:{\"value\":\"1D8EB\",\"name\":\"SIGNWRITING HAND-FIST INDEX THUMB CIRCLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8EB\"},121068:{\"value\":\"1D8EC\",\"name\":\"SIGNWRITING HAND-CUP INDEX THUMB\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8EC\"},121069:{\"value\":\"1D8ED\",\"name\":\"SIGNWRITING HAND-CUP INDEX THUMB OPEN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8ED\"},121070:{\"value\":\"1D8EE\",\"name\":\"SIGNWRITING HAND-HINGE INDEX THUMB OPEN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8EE\"},121071:{\"value\":\"1D8EF\",\"name\":\"SIGNWRITING HAND-HINGE INDEX THUMB LARGE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8EF\"},121072:{\"value\":\"1D8F0\",\"name\":\"SIGNWRITING HAND-HINGE INDEX THUMB\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8F0\"},121073:{\"value\":\"1D8F1\",\"name\":\"SIGNWRITING HAND-HINGE INDEX THUMB SMALL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8F1\"},121074:{\"value\":\"1D8F2\",\"name\":\"SIGNWRITING HAND-ANGLE INDEX THUMB OUT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8F2\"},121075:{\"value\":\"1D8F3\",\"name\":\"SIGNWRITING HAND-ANGLE INDEX THUMB IN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8F3\"},121076:{\"value\":\"1D8F4\",\"name\":\"SIGNWRITING HAND-ANGLE INDEX THUMB\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8F4\"},121077:{\"value\":\"1D8F5\",\"name\":\"SIGNWRITING HAND-FIST THUMB\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8F5\"},121078:{\"value\":\"1D8F6\",\"name\":\"SIGNWRITING HAND-FIST THUMB HEEL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8F6\"},121079:{\"value\":\"1D8F7\",\"name\":\"SIGNWRITING HAND-FIST THUMB SIDE DIAGONAL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8F7\"},121080:{\"value\":\"1D8F8\",\"name\":\"SIGNWRITING HAND-FIST THUMB SIDE CONJOINED\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8F8\"},121081:{\"value\":\"1D8F9\",\"name\":\"SIGNWRITING HAND-FIST THUMB SIDE BENT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8F9\"},121082:{\"value\":\"1D8FA\",\"name\":\"SIGNWRITING HAND-FIST THUMB FORWARD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8FA\"},121083:{\"value\":\"1D8FB\",\"name\":\"SIGNWRITING HAND-FIST THUMB BETWEEN INDEX MIDDLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8FB\"},121084:{\"value\":\"1D8FC\",\"name\":\"SIGNWRITING HAND-FIST THUMB BETWEEN MIDDLE RING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8FC\"},121085:{\"value\":\"1D8FD\",\"name\":\"SIGNWRITING HAND-FIST THUMB BETWEEN RING LITTLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8FD\"},121086:{\"value\":\"1D8FE\",\"name\":\"SIGNWRITING HAND-FIST THUMB UNDER TWO FINGERS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8FE\"},121087:{\"value\":\"1D8FF\",\"name\":\"SIGNWRITING HAND-FIST THUMB OVER TWO FINGERS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD8FF\"},121088:{\"value\":\"1D900\",\"name\":\"SIGNWRITING HAND-FIST THUMB UNDER THREE FINGERS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD900\"},121089:{\"value\":\"1D901\",\"name\":\"SIGNWRITING HAND-FIST THUMB UNDER FOUR FINGERS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD901\"},121090:{\"value\":\"1D902\",\"name\":\"SIGNWRITING HAND-FIST THUMB OVER FOUR RAISED KNUCKLES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD902\"},121091:{\"value\":\"1D903\",\"name\":\"SIGNWRITING HAND-FIST\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD903\"},121092:{\"value\":\"1D904\",\"name\":\"SIGNWRITING HAND-FIST HEEL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD904\"},121093:{\"value\":\"1D905\",\"name\":\"SIGNWRITING TOUCH SINGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD905\"},121094:{\"value\":\"1D906\",\"name\":\"SIGNWRITING TOUCH MULTIPLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD906\"},121095:{\"value\":\"1D907\",\"name\":\"SIGNWRITING TOUCH BETWEEN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD907\"},121096:{\"value\":\"1D908\",\"name\":\"SIGNWRITING GRASP SINGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD908\"},121097:{\"value\":\"1D909\",\"name\":\"SIGNWRITING GRASP MULTIPLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD909\"},121098:{\"value\":\"1D90A\",\"name\":\"SIGNWRITING GRASP BETWEEN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD90A\"},121099:{\"value\":\"1D90B\",\"name\":\"SIGNWRITING STRIKE SINGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD90B\"},121100:{\"value\":\"1D90C\",\"name\":\"SIGNWRITING STRIKE MULTIPLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD90C\"},121101:{\"value\":\"1D90D\",\"name\":\"SIGNWRITING STRIKE BETWEEN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD90D\"},121102:{\"value\":\"1D90E\",\"name\":\"SIGNWRITING BRUSH SINGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD90E\"},121103:{\"value\":\"1D90F\",\"name\":\"SIGNWRITING BRUSH MULTIPLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD90F\"},121104:{\"value\":\"1D910\",\"name\":\"SIGNWRITING BRUSH BETWEEN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD910\"},121105:{\"value\":\"1D911\",\"name\":\"SIGNWRITING RUB SINGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD911\"},121106:{\"value\":\"1D912\",\"name\":\"SIGNWRITING RUB MULTIPLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD912\"},121107:{\"value\":\"1D913\",\"name\":\"SIGNWRITING RUB BETWEEN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD913\"},121108:{\"value\":\"1D914\",\"name\":\"SIGNWRITING SURFACE SYMBOLS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD914\"},121109:{\"value\":\"1D915\",\"name\":\"SIGNWRITING SURFACE BETWEEN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD915\"},121110:{\"value\":\"1D916\",\"name\":\"SIGNWRITING SQUEEZE LARGE SINGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD916\"},121111:{\"value\":\"1D917\",\"name\":\"SIGNWRITING SQUEEZE SMALL SINGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD917\"},121112:{\"value\":\"1D918\",\"name\":\"SIGNWRITING SQUEEZE LARGE MULTIPLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD918\"},121113:{\"value\":\"1D919\",\"name\":\"SIGNWRITING SQUEEZE SMALL MULTIPLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD919\"},121114:{\"value\":\"1D91A\",\"name\":\"SIGNWRITING SQUEEZE SEQUENTIAL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD91A\"},121115:{\"value\":\"1D91B\",\"name\":\"SIGNWRITING FLICK LARGE SINGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD91B\"},121116:{\"value\":\"1D91C\",\"name\":\"SIGNWRITING FLICK SMALL SINGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD91C\"},121117:{\"value\":\"1D91D\",\"name\":\"SIGNWRITING FLICK LARGE MULTIPLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD91D\"},121118:{\"value\":\"1D91E\",\"name\":\"SIGNWRITING FLICK SMALL MULTIPLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD91E\"},121119:{\"value\":\"1D91F\",\"name\":\"SIGNWRITING FLICK SEQUENTIAL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD91F\"},121120:{\"value\":\"1D920\",\"name\":\"SIGNWRITING SQUEEZE FLICK ALTERNATING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD920\"},121121:{\"value\":\"1D921\",\"name\":\"SIGNWRITING MOVEMENT-HINGE UP DOWN LARGE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD921\"},121122:{\"value\":\"1D922\",\"name\":\"SIGNWRITING MOVEMENT-HINGE UP DOWN SMALL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD922\"},121123:{\"value\":\"1D923\",\"name\":\"SIGNWRITING MOVEMENT-HINGE UP SEQUENTIAL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD923\"},121124:{\"value\":\"1D924\",\"name\":\"SIGNWRITING MOVEMENT-HINGE DOWN SEQUENTIAL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD924\"},121125:{\"value\":\"1D925\",\"name\":\"SIGNWRITING MOVEMENT-HINGE UP DOWN ALTERNATING LARGE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD925\"},121126:{\"value\":\"1D926\",\"name\":\"SIGNWRITING MOVEMENT-HINGE UP DOWN ALTERNATING SMALL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD926\"},121127:{\"value\":\"1D927\",\"name\":\"SIGNWRITING MOVEMENT-HINGE SIDE TO SIDE SCISSORS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD927\"},121128:{\"value\":\"1D928\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE FINGER CONTACT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD928\"},121129:{\"value\":\"1D929\",\"name\":\"SIGNWRITING MOVEMENT-FLOORPLANE FINGER CONTACT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD929\"},121130:{\"value\":\"1D92A\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE SINGLE STRAIGHT SMALL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD92A\"},121131:{\"value\":\"1D92B\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE SINGLE STRAIGHT MEDIUM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD92B\"},121132:{\"value\":\"1D92C\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE SINGLE STRAIGHT LARGE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD92C\"},121133:{\"value\":\"1D92D\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE SINGLE STRAIGHT LARGEST\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD92D\"},121134:{\"value\":\"1D92E\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE SINGLE WRIST FLEX\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD92E\"},121135:{\"value\":\"1D92F\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE DOUBLE STRAIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD92F\"},121136:{\"value\":\"1D930\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE DOUBLE WRIST FLEX\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD930\"},121137:{\"value\":\"1D931\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE DOUBLE ALTERNATING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD931\"},121138:{\"value\":\"1D932\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE DOUBLE ALTERNATING WRIST FLEX\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD932\"},121139:{\"value\":\"1D933\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE CROSS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD933\"},121140:{\"value\":\"1D934\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE TRIPLE STRAIGHT MOVEMENT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD934\"},121141:{\"value\":\"1D935\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE TRIPLE WRIST FLEX\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD935\"},121142:{\"value\":\"1D936\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE TRIPLE ALTERNATING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD936\"},121143:{\"value\":\"1D937\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE TRIPLE ALTERNATING WRIST FLEX\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD937\"},121144:{\"value\":\"1D938\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE BEND SMALL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD938\"},121145:{\"value\":\"1D939\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE BEND MEDIUM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD939\"},121146:{\"value\":\"1D93A\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE BEND LARGE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD93A\"},121147:{\"value\":\"1D93B\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE CORNER SMALL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD93B\"},121148:{\"value\":\"1D93C\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE CORNER MEDIUM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD93C\"},121149:{\"value\":\"1D93D\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE CORNER LARGE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD93D\"},121150:{\"value\":\"1D93E\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE CORNER ROTATION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD93E\"},121151:{\"value\":\"1D93F\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE CHECK SMALL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD93F\"},121152:{\"value\":\"1D940\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE CHECK MEDIUM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD940\"},121153:{\"value\":\"1D941\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE CHECK LARGE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD941\"},121154:{\"value\":\"1D942\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE BOX SMALL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD942\"},121155:{\"value\":\"1D943\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE BOX MEDIUM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD943\"},121156:{\"value\":\"1D944\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE BOX LARGE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD944\"},121157:{\"value\":\"1D945\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE ZIGZAG SMALL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD945\"},121158:{\"value\":\"1D946\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE ZIGZAG MEDIUM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD946\"},121159:{\"value\":\"1D947\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE ZIGZAG LARGE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD947\"},121160:{\"value\":\"1D948\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE PEAKS SMALL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD948\"},121161:{\"value\":\"1D949\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE PEAKS MEDIUM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD949\"},121162:{\"value\":\"1D94A\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE PEAKS LARGE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD94A\"},121163:{\"value\":\"1D94B\",\"name\":\"SIGNWRITING TRAVEL-WALLPLANE ROTATION-WALLPLANE SINGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD94B\"},121164:{\"value\":\"1D94C\",\"name\":\"SIGNWRITING TRAVEL-WALLPLANE ROTATION-WALLPLANE DOUBLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD94C\"},121165:{\"value\":\"1D94D\",\"name\":\"SIGNWRITING TRAVEL-WALLPLANE ROTATION-WALLPLANE ALTERNATING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD94D\"},121166:{\"value\":\"1D94E\",\"name\":\"SIGNWRITING TRAVEL-WALLPLANE ROTATION-FLOORPLANE SINGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD94E\"},121167:{\"value\":\"1D94F\",\"name\":\"SIGNWRITING TRAVEL-WALLPLANE ROTATION-FLOORPLANE DOUBLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD94F\"},121168:{\"value\":\"1D950\",\"name\":\"SIGNWRITING TRAVEL-WALLPLANE ROTATION-FLOORPLANE ALTERNATING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD950\"},121169:{\"value\":\"1D951\",\"name\":\"SIGNWRITING TRAVEL-WALLPLANE SHAKING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD951\"},121170:{\"value\":\"1D952\",\"name\":\"SIGNWRITING TRAVEL-WALLPLANE ARM SPIRAL SINGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD952\"},121171:{\"value\":\"1D953\",\"name\":\"SIGNWRITING TRAVEL-WALLPLANE ARM SPIRAL DOUBLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD953\"},121172:{\"value\":\"1D954\",\"name\":\"SIGNWRITING TRAVEL-WALLPLANE ARM SPIRAL TRIPLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD954\"},121173:{\"value\":\"1D955\",\"name\":\"SIGNWRITING MOVEMENT-DIAGONAL AWAY SMALL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD955\"},121174:{\"value\":\"1D956\",\"name\":\"SIGNWRITING MOVEMENT-DIAGONAL AWAY MEDIUM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD956\"},121175:{\"value\":\"1D957\",\"name\":\"SIGNWRITING MOVEMENT-DIAGONAL AWAY LARGE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD957\"},121176:{\"value\":\"1D958\",\"name\":\"SIGNWRITING MOVEMENT-DIAGONAL AWAY LARGEST\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD958\"},121177:{\"value\":\"1D959\",\"name\":\"SIGNWRITING MOVEMENT-DIAGONAL TOWARDS SMALL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD959\"},121178:{\"value\":\"1D95A\",\"name\":\"SIGNWRITING MOVEMENT-DIAGONAL TOWARDS MEDIUM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD95A\"},121179:{\"value\":\"1D95B\",\"name\":\"SIGNWRITING MOVEMENT-DIAGONAL TOWARDS LARGE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD95B\"},121180:{\"value\":\"1D95C\",\"name\":\"SIGNWRITING MOVEMENT-DIAGONAL TOWARDS LARGEST\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD95C\"},121181:{\"value\":\"1D95D\",\"name\":\"SIGNWRITING MOVEMENT-DIAGONAL BETWEEN AWAY SMALL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD95D\"},121182:{\"value\":\"1D95E\",\"name\":\"SIGNWRITING MOVEMENT-DIAGONAL BETWEEN AWAY MEDIUM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD95E\"},121183:{\"value\":\"1D95F\",\"name\":\"SIGNWRITING MOVEMENT-DIAGONAL BETWEEN AWAY LARGE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD95F\"},121184:{\"value\":\"1D960\",\"name\":\"SIGNWRITING MOVEMENT-DIAGONAL BETWEEN AWAY LARGEST\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD960\"},121185:{\"value\":\"1D961\",\"name\":\"SIGNWRITING MOVEMENT-DIAGONAL BETWEEN TOWARDS SMALL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD961\"},121186:{\"value\":\"1D962\",\"name\":\"SIGNWRITING MOVEMENT-DIAGONAL BETWEEN TOWARDS MEDIUM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD962\"},121187:{\"value\":\"1D963\",\"name\":\"SIGNWRITING MOVEMENT-DIAGONAL BETWEEN TOWARDS LARGE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD963\"},121188:{\"value\":\"1D964\",\"name\":\"SIGNWRITING MOVEMENT-DIAGONAL BETWEEN TOWARDS LARGEST\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD964\"},121189:{\"value\":\"1D965\",\"name\":\"SIGNWRITING MOVEMENT-FLOORPLANE SINGLE STRAIGHT SMALL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD965\"},121190:{\"value\":\"1D966\",\"name\":\"SIGNWRITING MOVEMENT-FLOORPLANE SINGLE STRAIGHT MEDIUM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD966\"},121191:{\"value\":\"1D967\",\"name\":\"SIGNWRITING MOVEMENT-FLOORPLANE SINGLE STRAIGHT LARGE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD967\"},121192:{\"value\":\"1D968\",\"name\":\"SIGNWRITING MOVEMENT-FLOORPLANE SINGLE STRAIGHT LARGEST\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD968\"},121193:{\"value\":\"1D969\",\"name\":\"SIGNWRITING MOVEMENT-FLOORPLANE SINGLE WRIST FLEX\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD969\"},121194:{\"value\":\"1D96A\",\"name\":\"SIGNWRITING MOVEMENT-FLOORPLANE DOUBLE STRAIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD96A\"},121195:{\"value\":\"1D96B\",\"name\":\"SIGNWRITING MOVEMENT-FLOORPLANE DOUBLE WRIST FLEX\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD96B\"},121196:{\"value\":\"1D96C\",\"name\":\"SIGNWRITING MOVEMENT-FLOORPLANE DOUBLE ALTERNATING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD96C\"},121197:{\"value\":\"1D96D\",\"name\":\"SIGNWRITING MOVEMENT-FLOORPLANE DOUBLE ALTERNATING WRIST FLEX\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD96D\"},121198:{\"value\":\"1D96E\",\"name\":\"SIGNWRITING MOVEMENT-FLOORPLANE CROSS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD96E\"},121199:{\"value\":\"1D96F\",\"name\":\"SIGNWRITING MOVEMENT-FLOORPLANE TRIPLE STRAIGHT MOVEMENT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD96F\"},121200:{\"value\":\"1D970\",\"name\":\"SIGNWRITING MOVEMENT-FLOORPLANE TRIPLE WRIST FLEX\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD970\"},121201:{\"value\":\"1D971\",\"name\":\"SIGNWRITING MOVEMENT-FLOORPLANE TRIPLE ALTERNATING MOVEMENT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD971\"},121202:{\"value\":\"1D972\",\"name\":\"SIGNWRITING MOVEMENT-FLOORPLANE TRIPLE ALTERNATING WRIST FLEX\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD972\"},121203:{\"value\":\"1D973\",\"name\":\"SIGNWRITING MOVEMENT-FLOORPLANE BEND\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD973\"},121204:{\"value\":\"1D974\",\"name\":\"SIGNWRITING MOVEMENT-FLOORPLANE CORNER SMALL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD974\"},121205:{\"value\":\"1D975\",\"name\":\"SIGNWRITING MOVEMENT-FLOORPLANE CORNER MEDIUM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD975\"},121206:{\"value\":\"1D976\",\"name\":\"SIGNWRITING MOVEMENT-FLOORPLANE CORNER LARGE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD976\"},121207:{\"value\":\"1D977\",\"name\":\"SIGNWRITING MOVEMENT-FLOORPLANE CHECK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD977\"},121208:{\"value\":\"1D978\",\"name\":\"SIGNWRITING MOVEMENT-FLOORPLANE BOX SMALL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD978\"},121209:{\"value\":\"1D979\",\"name\":\"SIGNWRITING MOVEMENT-FLOORPLANE BOX MEDIUM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD979\"},121210:{\"value\":\"1D97A\",\"name\":\"SIGNWRITING MOVEMENT-FLOORPLANE BOX LARGE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD97A\"},121211:{\"value\":\"1D97B\",\"name\":\"SIGNWRITING MOVEMENT-FLOORPLANE ZIGZAG SMALL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD97B\"},121212:{\"value\":\"1D97C\",\"name\":\"SIGNWRITING MOVEMENT-FLOORPLANE ZIGZAG MEDIUM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD97C\"},121213:{\"value\":\"1D97D\",\"name\":\"SIGNWRITING MOVEMENT-FLOORPLANE ZIGZAG LARGE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD97D\"},121214:{\"value\":\"1D97E\",\"name\":\"SIGNWRITING MOVEMENT-FLOORPLANE PEAKS SMALL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD97E\"},121215:{\"value\":\"1D97F\",\"name\":\"SIGNWRITING MOVEMENT-FLOORPLANE PEAKS MEDIUM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD97F\"},121216:{\"value\":\"1D980\",\"name\":\"SIGNWRITING MOVEMENT-FLOORPLANE PEAKS LARGE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD980\"},121217:{\"value\":\"1D981\",\"name\":\"SIGNWRITING TRAVEL-FLOORPLANE ROTATION-FLOORPLANE SINGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD981\"},121218:{\"value\":\"1D982\",\"name\":\"SIGNWRITING TRAVEL-FLOORPLANE ROTATION-FLOORPLANE DOUBLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD982\"},121219:{\"value\":\"1D983\",\"name\":\"SIGNWRITING TRAVEL-FLOORPLANE ROTATION-FLOORPLANE ALTERNATING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD983\"},121220:{\"value\":\"1D984\",\"name\":\"SIGNWRITING TRAVEL-FLOORPLANE ROTATION-WALLPLANE SINGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD984\"},121221:{\"value\":\"1D985\",\"name\":\"SIGNWRITING TRAVEL-FLOORPLANE ROTATION-WALLPLANE DOUBLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD985\"},121222:{\"value\":\"1D986\",\"name\":\"SIGNWRITING TRAVEL-FLOORPLANE ROTATION-WALLPLANE ALTERNATING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD986\"},121223:{\"value\":\"1D987\",\"name\":\"SIGNWRITING TRAVEL-FLOORPLANE SHAKING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD987\"},121224:{\"value\":\"1D988\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE CURVE QUARTER SMALL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD988\"},121225:{\"value\":\"1D989\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE CURVE QUARTER MEDIUM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD989\"},121226:{\"value\":\"1D98A\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE CURVE QUARTER LARGE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD98A\"},121227:{\"value\":\"1D98B\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE CURVE QUARTER LARGEST\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD98B\"},121228:{\"value\":\"1D98C\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE CURVE HALF-CIRCLE SMALL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD98C\"},121229:{\"value\":\"1D98D\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE CURVE HALF-CIRCLE MEDIUM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD98D\"},121230:{\"value\":\"1D98E\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE CURVE HALF-CIRCLE LARGE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD98E\"},121231:{\"value\":\"1D98F\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE CURVE HALF-CIRCLE LARGEST\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD98F\"},121232:{\"value\":\"1D990\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE CURVE THREE-QUARTER CIRCLE SMALL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD990\"},121233:{\"value\":\"1D991\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE CURVE THREE-QUARTER CIRCLE MEDIUM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD991\"},121234:{\"value\":\"1D992\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE HUMP SMALL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD992\"},121235:{\"value\":\"1D993\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE HUMP MEDIUM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD993\"},121236:{\"value\":\"1D994\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE HUMP LARGE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD994\"},121237:{\"value\":\"1D995\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE LOOP SMALL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD995\"},121238:{\"value\":\"1D996\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE LOOP MEDIUM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD996\"},121239:{\"value\":\"1D997\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE LOOP LARGE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD997\"},121240:{\"value\":\"1D998\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE LOOP SMALL DOUBLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD998\"},121241:{\"value\":\"1D999\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE WAVE CURVE DOUBLE SMALL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD999\"},121242:{\"value\":\"1D99A\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE WAVE CURVE DOUBLE MEDIUM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD99A\"},121243:{\"value\":\"1D99B\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE WAVE CURVE DOUBLE LARGE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD99B\"},121244:{\"value\":\"1D99C\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE WAVE CURVE TRIPLE SMALL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD99C\"},121245:{\"value\":\"1D99D\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE WAVE CURVE TRIPLE MEDIUM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD99D\"},121246:{\"value\":\"1D99E\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE WAVE CURVE TRIPLE LARGE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD99E\"},121247:{\"value\":\"1D99F\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE CURVE THEN STRAIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD99F\"},121248:{\"value\":\"1D9A0\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE CURVED CROSS SMALL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9A0\"},121249:{\"value\":\"1D9A1\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE CURVED CROSS MEDIUM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9A1\"},121250:{\"value\":\"1D9A2\",\"name\":\"SIGNWRITING ROTATION-WALLPLANE SINGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9A2\"},121251:{\"value\":\"1D9A3\",\"name\":\"SIGNWRITING ROTATION-WALLPLANE DOUBLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9A3\"},121252:{\"value\":\"1D9A4\",\"name\":\"SIGNWRITING ROTATION-WALLPLANE ALTERNATE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9A4\"},121253:{\"value\":\"1D9A5\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE SHAKING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9A5\"},121254:{\"value\":\"1D9A6\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE CURVE HITTING FRONT WALL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9A6\"},121255:{\"value\":\"1D9A7\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE HUMP HITTING FRONT WALL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9A7\"},121256:{\"value\":\"1D9A8\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE LOOP HITTING FRONT WALL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9A8\"},121257:{\"value\":\"1D9A9\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE WAVE HITTING FRONT WALL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9A9\"},121258:{\"value\":\"1D9AA\",\"name\":\"SIGNWRITING ROTATION-WALLPLANE SINGLE HITTING FRONT WALL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9AA\"},121259:{\"value\":\"1D9AB\",\"name\":\"SIGNWRITING ROTATION-WALLPLANE DOUBLE HITTING FRONT WALL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9AB\"},121260:{\"value\":\"1D9AC\",\"name\":\"SIGNWRITING ROTATION-WALLPLANE ALTERNATING HITTING FRONT WALL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9AC\"},121261:{\"value\":\"1D9AD\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE CURVE HITTING CHEST\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9AD\"},121262:{\"value\":\"1D9AE\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE HUMP HITTING CHEST\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9AE\"},121263:{\"value\":\"1D9AF\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE LOOP HITTING CHEST\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9AF\"},121264:{\"value\":\"1D9B0\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE WAVE HITTING CHEST\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9B0\"},121265:{\"value\":\"1D9B1\",\"name\":\"SIGNWRITING ROTATION-WALLPLANE SINGLE HITTING CHEST\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9B1\"},121266:{\"value\":\"1D9B2\",\"name\":\"SIGNWRITING ROTATION-WALLPLANE DOUBLE HITTING CHEST\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9B2\"},121267:{\"value\":\"1D9B3\",\"name\":\"SIGNWRITING ROTATION-WALLPLANE ALTERNATING HITTING CHEST\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9B3\"},121268:{\"value\":\"1D9B4\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE WAVE DIAGONAL PATH SMALL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9B4\"},121269:{\"value\":\"1D9B5\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE WAVE DIAGONAL PATH MEDIUM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9B5\"},121270:{\"value\":\"1D9B6\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE WAVE DIAGONAL PATH LARGE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9B6\"},121271:{\"value\":\"1D9B7\",\"name\":\"SIGNWRITING MOVEMENT-FLOORPLANE CURVE HITTING CEILING SMALL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9B7\"},121272:{\"value\":\"1D9B8\",\"name\":\"SIGNWRITING MOVEMENT-FLOORPLANE CURVE HITTING CEILING LARGE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9B8\"},121273:{\"value\":\"1D9B9\",\"name\":\"SIGNWRITING MOVEMENT-FLOORPLANE HUMP HITTING CEILING SMALL DOUBLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9B9\"},121274:{\"value\":\"1D9BA\",\"name\":\"SIGNWRITING MOVEMENT-FLOORPLANE HUMP HITTING CEILING LARGE DOUBLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9BA\"},121275:{\"value\":\"1D9BB\",\"name\":\"SIGNWRITING MOVEMENT-FLOORPLANE HUMP HITTING CEILING SMALL TRIPLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9BB\"},121276:{\"value\":\"1D9BC\",\"name\":\"SIGNWRITING MOVEMENT-FLOORPLANE HUMP HITTING CEILING LARGE TRIPLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9BC\"},121277:{\"value\":\"1D9BD\",\"name\":\"SIGNWRITING MOVEMENT-FLOORPLANE LOOP HITTING CEILING SMALL SINGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9BD\"},121278:{\"value\":\"1D9BE\",\"name\":\"SIGNWRITING MOVEMENT-FLOORPLANE LOOP HITTING CEILING LARGE SINGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9BE\"},121279:{\"value\":\"1D9BF\",\"name\":\"SIGNWRITING MOVEMENT-FLOORPLANE LOOP HITTING CEILING SMALL DOUBLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9BF\"},121280:{\"value\":\"1D9C0\",\"name\":\"SIGNWRITING MOVEMENT-FLOORPLANE LOOP HITTING CEILING LARGE DOUBLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9C0\"},121281:{\"value\":\"1D9C1\",\"name\":\"SIGNWRITING MOVEMENT-FLOORPLANE WAVE HITTING CEILING SMALL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9C1\"},121282:{\"value\":\"1D9C2\",\"name\":\"SIGNWRITING MOVEMENT-FLOORPLANE WAVE HITTING CEILING LARGE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9C2\"},121283:{\"value\":\"1D9C3\",\"name\":\"SIGNWRITING ROTATION-FLOORPLANE SINGLE HITTING CEILING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9C3\"},121284:{\"value\":\"1D9C4\",\"name\":\"SIGNWRITING ROTATION-FLOORPLANE DOUBLE HITTING CEILING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9C4\"},121285:{\"value\":\"1D9C5\",\"name\":\"SIGNWRITING ROTATION-FLOORPLANE ALTERNATING HITTING CEILING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9C5\"},121286:{\"value\":\"1D9C6\",\"name\":\"SIGNWRITING MOVEMENT-FLOORPLANE CURVE HITTING FLOOR SMALL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9C6\"},121287:{\"value\":\"1D9C7\",\"name\":\"SIGNWRITING MOVEMENT-FLOORPLANE CURVE HITTING FLOOR LARGE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9C7\"},121288:{\"value\":\"1D9C8\",\"name\":\"SIGNWRITING MOVEMENT-FLOORPLANE HUMP HITTING FLOOR SMALL DOUBLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9C8\"},121289:{\"value\":\"1D9C9\",\"name\":\"SIGNWRITING MOVEMENT-FLOORPLANE HUMP HITTING FLOOR LARGE DOUBLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9C9\"},121290:{\"value\":\"1D9CA\",\"name\":\"SIGNWRITING MOVEMENT-FLOORPLANE HUMP HITTING FLOOR TRIPLE SMALL TRIPLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9CA\"},121291:{\"value\":\"1D9CB\",\"name\":\"SIGNWRITING MOVEMENT-FLOORPLANE HUMP HITTING FLOOR TRIPLE LARGE TRIPLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9CB\"},121292:{\"value\":\"1D9CC\",\"name\":\"SIGNWRITING MOVEMENT-FLOORPLANE LOOP HITTING FLOOR SMALL SINGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9CC\"},121293:{\"value\":\"1D9CD\",\"name\":\"SIGNWRITING MOVEMENT-FLOORPLANE LOOP HITTING FLOOR LARGE SINGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9CD\"},121294:{\"value\":\"1D9CE\",\"name\":\"SIGNWRITING MOVEMENT-FLOORPLANE LOOP HITTING FLOOR SMALL DOUBLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9CE\"},121295:{\"value\":\"1D9CF\",\"name\":\"SIGNWRITING MOVEMENT-FLOORPLANE LOOP HITTING FLOOR LARGE DOUBLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9CF\"},121296:{\"value\":\"1D9D0\",\"name\":\"SIGNWRITING MOVEMENT-FLOORPLANE WAVE HITTING FLOOR SMALL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9D0\"},121297:{\"value\":\"1D9D1\",\"name\":\"SIGNWRITING MOVEMENT-FLOORPLANE WAVE HITTING FLOOR LARGE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9D1\"},121298:{\"value\":\"1D9D2\",\"name\":\"SIGNWRITING ROTATION-FLOORPLANE SINGLE HITTING FLOOR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9D2\"},121299:{\"value\":\"1D9D3\",\"name\":\"SIGNWRITING ROTATION-FLOORPLANE DOUBLE HITTING FLOOR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9D3\"},121300:{\"value\":\"1D9D4\",\"name\":\"SIGNWRITING ROTATION-FLOORPLANE ALTERNATING HITTING FLOOR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9D4\"},121301:{\"value\":\"1D9D5\",\"name\":\"SIGNWRITING MOVEMENT-FLOORPLANE CURVE SMALL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9D5\"},121302:{\"value\":\"1D9D6\",\"name\":\"SIGNWRITING MOVEMENT-FLOORPLANE CURVE MEDIUM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9D6\"},121303:{\"value\":\"1D9D7\",\"name\":\"SIGNWRITING MOVEMENT-FLOORPLANE CURVE LARGE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9D7\"},121304:{\"value\":\"1D9D8\",\"name\":\"SIGNWRITING MOVEMENT-FLOORPLANE CURVE LARGEST\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9D8\"},121305:{\"value\":\"1D9D9\",\"name\":\"SIGNWRITING MOVEMENT-FLOORPLANE CURVE COMBINED\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9D9\"},121306:{\"value\":\"1D9DA\",\"name\":\"SIGNWRITING MOVEMENT-FLOORPLANE HUMP SMALL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9DA\"},121307:{\"value\":\"1D9DB\",\"name\":\"SIGNWRITING MOVEMENT-FLOORPLANE LOOP SMALL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9DB\"},121308:{\"value\":\"1D9DC\",\"name\":\"SIGNWRITING MOVEMENT-FLOORPLANE WAVE SNAKE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9DC\"},121309:{\"value\":\"1D9DD\",\"name\":\"SIGNWRITING MOVEMENT-FLOORPLANE WAVE SMALL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9DD\"},121310:{\"value\":\"1D9DE\",\"name\":\"SIGNWRITING MOVEMENT-FLOORPLANE WAVE LARGE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9DE\"},121311:{\"value\":\"1D9DF\",\"name\":\"SIGNWRITING ROTATION-FLOORPLANE SINGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9DF\"},121312:{\"value\":\"1D9E0\",\"name\":\"SIGNWRITING ROTATION-FLOORPLANE DOUBLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9E0\"},121313:{\"value\":\"1D9E1\",\"name\":\"SIGNWRITING ROTATION-FLOORPLANE ALTERNATING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9E1\"},121314:{\"value\":\"1D9E2\",\"name\":\"SIGNWRITING MOVEMENT-FLOORPLANE SHAKING PARALLEL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9E2\"},121315:{\"value\":\"1D9E3\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE ARM CIRCLE SMALL SINGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9E3\"},121316:{\"value\":\"1D9E4\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE ARM CIRCLE MEDIUM SINGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9E4\"},121317:{\"value\":\"1D9E5\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE ARM CIRCLE SMALL DOUBLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9E5\"},121318:{\"value\":\"1D9E6\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE ARM CIRCLE MEDIUM DOUBLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9E6\"},121319:{\"value\":\"1D9E7\",\"name\":\"SIGNWRITING MOVEMENT-FLOORPLANE ARM CIRCLE HITTING WALL SMALL SINGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9E7\"},121320:{\"value\":\"1D9E8\",\"name\":\"SIGNWRITING MOVEMENT-FLOORPLANE ARM CIRCLE HITTING WALL MEDIUM SINGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9E8\"},121321:{\"value\":\"1D9E9\",\"name\":\"SIGNWRITING MOVEMENT-FLOORPLANE ARM CIRCLE HITTING WALL LARGE SINGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9E9\"},121322:{\"value\":\"1D9EA\",\"name\":\"SIGNWRITING MOVEMENT-FLOORPLANE ARM CIRCLE HITTING WALL SMALL DOUBLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9EA\"},121323:{\"value\":\"1D9EB\",\"name\":\"SIGNWRITING MOVEMENT-FLOORPLANE ARM CIRCLE HITTING WALL MEDIUM DOUBLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9EB\"},121324:{\"value\":\"1D9EC\",\"name\":\"SIGNWRITING MOVEMENT-FLOORPLANE ARM CIRCLE HITTING WALL LARGE DOUBLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9EC\"},121325:{\"value\":\"1D9ED\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE WRIST CIRCLE FRONT SINGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9ED\"},121326:{\"value\":\"1D9EE\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE WRIST CIRCLE FRONT DOUBLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9EE\"},121327:{\"value\":\"1D9EF\",\"name\":\"SIGNWRITING MOVEMENT-FLOORPLANE WRIST CIRCLE HITTING WALL SINGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9EF\"},121328:{\"value\":\"1D9F0\",\"name\":\"SIGNWRITING MOVEMENT-FLOORPLANE WRIST CIRCLE HITTING WALL DOUBLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9F0\"},121329:{\"value\":\"1D9F1\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE FINGER CIRCLES SINGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9F1\"},121330:{\"value\":\"1D9F2\",\"name\":\"SIGNWRITING MOVEMENT-WALLPLANE FINGER CIRCLES DOUBLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9F2\"},121331:{\"value\":\"1D9F3\",\"name\":\"SIGNWRITING MOVEMENT-FLOORPLANE FINGER CIRCLES HITTING WALL SINGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9F3\"},121332:{\"value\":\"1D9F4\",\"name\":\"SIGNWRITING MOVEMENT-FLOORPLANE FINGER CIRCLES HITTING WALL DOUBLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9F4\"},121333:{\"value\":\"1D9F5\",\"name\":\"SIGNWRITING DYNAMIC ARROWHEAD SMALL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9F5\"},121334:{\"value\":\"1D9F6\",\"name\":\"SIGNWRITING DYNAMIC ARROWHEAD LARGE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9F6\"},121335:{\"value\":\"1D9F7\",\"name\":\"SIGNWRITING DYNAMIC FAST\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9F7\"},121336:{\"value\":\"1D9F8\",\"name\":\"SIGNWRITING DYNAMIC SLOW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9F8\"},121337:{\"value\":\"1D9F9\",\"name\":\"SIGNWRITING DYNAMIC TENSE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9F9\"},121338:{\"value\":\"1D9FA\",\"name\":\"SIGNWRITING DYNAMIC RELAXED\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9FA\"},121339:{\"value\":\"1D9FB\",\"name\":\"SIGNWRITING DYNAMIC SIMULTANEOUS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9FB\"},121340:{\"value\":\"1D9FC\",\"name\":\"SIGNWRITING DYNAMIC SIMULTANEOUS ALTERNATING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9FC\"},121341:{\"value\":\"1D9FD\",\"name\":\"SIGNWRITING DYNAMIC EVERY OTHER TIME\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9FD\"},121342:{\"value\":\"1D9FE\",\"name\":\"SIGNWRITING DYNAMIC GRADUAL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9FE\"},121343:{\"value\":\"1D9FF\",\"name\":\"SIGNWRITING HEAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uD9FF\"},121399:{\"value\":\"1DA37\",\"name\":\"SIGNWRITING AIR BLOW SMALL ROTATIONS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uDA37\"},121400:{\"value\":\"1DA38\",\"name\":\"SIGNWRITING AIR SUCK SMALL ROTATIONS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uDA38\"},121401:{\"value\":\"1DA39\",\"name\":\"SIGNWRITING BREATH INHALE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uDA39\"},121402:{\"value\":\"1DA3A\",\"name\":\"SIGNWRITING BREATH EXHALE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uDA3A\"},121453:{\"value\":\"1DA6D\",\"name\":\"SIGNWRITING SHOULDER HIP SPINE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uDA6D\"},121454:{\"value\":\"1DA6E\",\"name\":\"SIGNWRITING SHOULDER HIP POSITIONS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uDA6E\"},121455:{\"value\":\"1DA6F\",\"name\":\"SIGNWRITING WALLPLANE SHOULDER HIP MOVE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uDA6F\"},121456:{\"value\":\"1DA70\",\"name\":\"SIGNWRITING FLOORPLANE SHOULDER HIP MOVE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uDA70\"},121457:{\"value\":\"1DA71\",\"name\":\"SIGNWRITING SHOULDER TILTING FROM WAIST\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uDA71\"},121458:{\"value\":\"1DA72\",\"name\":\"SIGNWRITING TORSO-WALLPLANE STRAIGHT STRETCH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uDA72\"},121459:{\"value\":\"1DA73\",\"name\":\"SIGNWRITING TORSO-WALLPLANE CURVED BEND\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uDA73\"},121460:{\"value\":\"1DA74\",\"name\":\"SIGNWRITING TORSO-FLOORPLANE TWISTING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uDA74\"},121462:{\"value\":\"1DA76\",\"name\":\"SIGNWRITING LIMB COMBINATION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uDA76\"},121463:{\"value\":\"1DA77\",\"name\":\"SIGNWRITING LIMB LENGTH-1\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uDA77\"},121464:{\"value\":\"1DA78\",\"name\":\"SIGNWRITING LIMB LENGTH-2\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uDA78\"},121465:{\"value\":\"1DA79\",\"name\":\"SIGNWRITING LIMB LENGTH-3\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uDA79\"},121466:{\"value\":\"1DA7A\",\"name\":\"SIGNWRITING LIMB LENGTH-4\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uDA7A\"},121467:{\"value\":\"1DA7B\",\"name\":\"SIGNWRITING LIMB LENGTH-5\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uDA7B\"},121468:{\"value\":\"1DA7C\",\"name\":\"SIGNWRITING LIMB LENGTH-6\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uDA7C\"},121469:{\"value\":\"1DA7D\",\"name\":\"SIGNWRITING LIMB LENGTH-7\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uDA7D\"},121470:{\"value\":\"1DA7E\",\"name\":\"SIGNWRITING FINGER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uDA7E\"},121471:{\"value\":\"1DA7F\",\"name\":\"SIGNWRITING LOCATION-WALLPLANE SPACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uDA7F\"},121472:{\"value\":\"1DA80\",\"name\":\"SIGNWRITING LOCATION-FLOORPLANE SPACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uDA80\"},121473:{\"value\":\"1DA81\",\"name\":\"SIGNWRITING LOCATION HEIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uDA81\"},121474:{\"value\":\"1DA82\",\"name\":\"SIGNWRITING LOCATION WIDTH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uDA82\"},121475:{\"value\":\"1DA83\",\"name\":\"SIGNWRITING LOCATION DEPTH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uDA83\"},121477:{\"value\":\"1DA85\",\"name\":\"SIGNWRITING LOCATION TORSO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uDA85\"},121478:{\"value\":\"1DA86\",\"name\":\"SIGNWRITING LOCATION LIMBS DIGITS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uDA86\"},126976:{\"value\":\"1F000\",\"name\":\"MAHJONG TILE EAST WIND\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF000\"},126977:{\"value\":\"1F001\",\"name\":\"MAHJONG TILE SOUTH WIND\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF001\"},126978:{\"value\":\"1F002\",\"name\":\"MAHJONG TILE WEST WIND\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF002\"},126979:{\"value\":\"1F003\",\"name\":\"MAHJONG TILE NORTH WIND\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF003\"},126980:{\"value\":\"1F004\",\"name\":\"MAHJONG TILE RED DRAGON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF004\"},126981:{\"value\":\"1F005\",\"name\":\"MAHJONG TILE GREEN DRAGON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF005\"},126982:{\"value\":\"1F006\",\"name\":\"MAHJONG TILE WHITE DRAGON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF006\"},126983:{\"value\":\"1F007\",\"name\":\"MAHJONG TILE ONE OF CHARACTERS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF007\"},126984:{\"value\":\"1F008\",\"name\":\"MAHJONG TILE TWO OF CHARACTERS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF008\"},126985:{\"value\":\"1F009\",\"name\":\"MAHJONG TILE THREE OF CHARACTERS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF009\"},126986:{\"value\":\"1F00A\",\"name\":\"MAHJONG TILE FOUR OF CHARACTERS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF00A\"},126987:{\"value\":\"1F00B\",\"name\":\"MAHJONG TILE FIVE OF CHARACTERS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF00B\"},126988:{\"value\":\"1F00C\",\"name\":\"MAHJONG TILE SIX OF CHARACTERS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF00C\"},126989:{\"value\":\"1F00D\",\"name\":\"MAHJONG TILE SEVEN OF CHARACTERS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF00D\"},126990:{\"value\":\"1F00E\",\"name\":\"MAHJONG TILE EIGHT OF CHARACTERS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF00E\"},126991:{\"value\":\"1F00F\",\"name\":\"MAHJONG TILE NINE OF CHARACTERS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF00F\"},126992:{\"value\":\"1F010\",\"name\":\"MAHJONG TILE ONE OF BAMBOOS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF010\"},126993:{\"value\":\"1F011\",\"name\":\"MAHJONG TILE TWO OF BAMBOOS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF011\"},126994:{\"value\":\"1F012\",\"name\":\"MAHJONG TILE THREE OF BAMBOOS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF012\"},126995:{\"value\":\"1F013\",\"name\":\"MAHJONG TILE FOUR OF BAMBOOS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF013\"},126996:{\"value\":\"1F014\",\"name\":\"MAHJONG TILE FIVE OF BAMBOOS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF014\"},126997:{\"value\":\"1F015\",\"name\":\"MAHJONG TILE SIX OF BAMBOOS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF015\"},126998:{\"value\":\"1F016\",\"name\":\"MAHJONG TILE SEVEN OF BAMBOOS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF016\"},126999:{\"value\":\"1F017\",\"name\":\"MAHJONG TILE EIGHT OF BAMBOOS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF017\"},127000:{\"value\":\"1F018\",\"name\":\"MAHJONG TILE NINE OF BAMBOOS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF018\"},127001:{\"value\":\"1F019\",\"name\":\"MAHJONG TILE ONE OF CIRCLES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF019\"},127002:{\"value\":\"1F01A\",\"name\":\"MAHJONG TILE TWO OF CIRCLES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF01A\"},127003:{\"value\":\"1F01B\",\"name\":\"MAHJONG TILE THREE OF CIRCLES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF01B\"},127004:{\"value\":\"1F01C\",\"name\":\"MAHJONG TILE FOUR OF CIRCLES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF01C\"},127005:{\"value\":\"1F01D\",\"name\":\"MAHJONG TILE FIVE OF CIRCLES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF01D\"},127006:{\"value\":\"1F01E\",\"name\":\"MAHJONG TILE SIX OF CIRCLES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF01E\"},127007:{\"value\":\"1F01F\",\"name\":\"MAHJONG TILE SEVEN OF CIRCLES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF01F\"},127008:{\"value\":\"1F020\",\"name\":\"MAHJONG TILE EIGHT OF CIRCLES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF020\"},127009:{\"value\":\"1F021\",\"name\":\"MAHJONG TILE NINE OF CIRCLES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF021\"},127010:{\"value\":\"1F022\",\"name\":\"MAHJONG TILE PLUM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF022\"},127011:{\"value\":\"1F023\",\"name\":\"MAHJONG TILE ORCHID\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF023\"},127012:{\"value\":\"1F024\",\"name\":\"MAHJONG TILE BAMBOO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF024\"},127013:{\"value\":\"1F025\",\"name\":\"MAHJONG TILE CHRYSANTHEMUM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF025\"},127014:{\"value\":\"1F026\",\"name\":\"MAHJONG TILE SPRING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF026\"},127015:{\"value\":\"1F027\",\"name\":\"MAHJONG TILE SUMMER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF027\"},127016:{\"value\":\"1F028\",\"name\":\"MAHJONG TILE AUTUMN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF028\"},127017:{\"value\":\"1F029\",\"name\":\"MAHJONG TILE WINTER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF029\"},127018:{\"value\":\"1F02A\",\"name\":\"MAHJONG TILE JOKER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF02A\"},127019:{\"value\":\"1F02B\",\"name\":\"MAHJONG TILE BACK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF02B\"},127024:{\"value\":\"1F030\",\"name\":\"DOMINO TILE HORIZONTAL BACK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF030\"},127025:{\"value\":\"1F031\",\"name\":\"DOMINO TILE HORIZONTAL-00-00\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF031\"},127026:{\"value\":\"1F032\",\"name\":\"DOMINO TILE HORIZONTAL-00-01\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF032\"},127027:{\"value\":\"1F033\",\"name\":\"DOMINO TILE HORIZONTAL-00-02\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF033\"},127028:{\"value\":\"1F034\",\"name\":\"DOMINO TILE HORIZONTAL-00-03\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF034\"},127029:{\"value\":\"1F035\",\"name\":\"DOMINO TILE HORIZONTAL-00-04\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF035\"},127030:{\"value\":\"1F036\",\"name\":\"DOMINO TILE HORIZONTAL-00-05\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF036\"},127031:{\"value\":\"1F037\",\"name\":\"DOMINO TILE HORIZONTAL-00-06\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF037\"},127032:{\"value\":\"1F038\",\"name\":\"DOMINO TILE HORIZONTAL-01-00\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF038\"},127033:{\"value\":\"1F039\",\"name\":\"DOMINO TILE HORIZONTAL-01-01\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF039\"},127034:{\"value\":\"1F03A\",\"name\":\"DOMINO TILE HORIZONTAL-01-02\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF03A\"},127035:{\"value\":\"1F03B\",\"name\":\"DOMINO TILE HORIZONTAL-01-03\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF03B\"},127036:{\"value\":\"1F03C\",\"name\":\"DOMINO TILE HORIZONTAL-01-04\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF03C\"},127037:{\"value\":\"1F03D\",\"name\":\"DOMINO TILE HORIZONTAL-01-05\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF03D\"},127038:{\"value\":\"1F03E\",\"name\":\"DOMINO TILE HORIZONTAL-01-06\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF03E\"},127039:{\"value\":\"1F03F\",\"name\":\"DOMINO TILE HORIZONTAL-02-00\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF03F\"},127040:{\"value\":\"1F040\",\"name\":\"DOMINO TILE HORIZONTAL-02-01\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF040\"},127041:{\"value\":\"1F041\",\"name\":\"DOMINO TILE HORIZONTAL-02-02\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF041\"},127042:{\"value\":\"1F042\",\"name\":\"DOMINO TILE HORIZONTAL-02-03\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF042\"},127043:{\"value\":\"1F043\",\"name\":\"DOMINO TILE HORIZONTAL-02-04\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF043\"},127044:{\"value\":\"1F044\",\"name\":\"DOMINO TILE HORIZONTAL-02-05\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF044\"},127045:{\"value\":\"1F045\",\"name\":\"DOMINO TILE HORIZONTAL-02-06\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF045\"},127046:{\"value\":\"1F046\",\"name\":\"DOMINO TILE HORIZONTAL-03-00\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF046\"},127047:{\"value\":\"1F047\",\"name\":\"DOMINO TILE HORIZONTAL-03-01\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF047\"},127048:{\"value\":\"1F048\",\"name\":\"DOMINO TILE HORIZONTAL-03-02\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF048\"},127049:{\"value\":\"1F049\",\"name\":\"DOMINO TILE HORIZONTAL-03-03\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF049\"},127050:{\"value\":\"1F04A\",\"name\":\"DOMINO TILE HORIZONTAL-03-04\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF04A\"},127051:{\"value\":\"1F04B\",\"name\":\"DOMINO TILE HORIZONTAL-03-05\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF04B\"},127052:{\"value\":\"1F04C\",\"name\":\"DOMINO TILE HORIZONTAL-03-06\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF04C\"},127053:{\"value\":\"1F04D\",\"name\":\"DOMINO TILE HORIZONTAL-04-00\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF04D\"},127054:{\"value\":\"1F04E\",\"name\":\"DOMINO TILE HORIZONTAL-04-01\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF04E\"},127055:{\"value\":\"1F04F\",\"name\":\"DOMINO TILE HORIZONTAL-04-02\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF04F\"},127056:{\"value\":\"1F050\",\"name\":\"DOMINO TILE HORIZONTAL-04-03\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF050\"},127057:{\"value\":\"1F051\",\"name\":\"DOMINO TILE HORIZONTAL-04-04\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF051\"},127058:{\"value\":\"1F052\",\"name\":\"DOMINO TILE HORIZONTAL-04-05\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF052\"},127059:{\"value\":\"1F053\",\"name\":\"DOMINO TILE HORIZONTAL-04-06\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF053\"},127060:{\"value\":\"1F054\",\"name\":\"DOMINO TILE HORIZONTAL-05-00\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF054\"},127061:{\"value\":\"1F055\",\"name\":\"DOMINO TILE HORIZONTAL-05-01\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF055\"},127062:{\"value\":\"1F056\",\"name\":\"DOMINO TILE HORIZONTAL-05-02\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF056\"},127063:{\"value\":\"1F057\",\"name\":\"DOMINO TILE HORIZONTAL-05-03\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF057\"},127064:{\"value\":\"1F058\",\"name\":\"DOMINO TILE HORIZONTAL-05-04\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF058\"},127065:{\"value\":\"1F059\",\"name\":\"DOMINO TILE HORIZONTAL-05-05\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF059\"},127066:{\"value\":\"1F05A\",\"name\":\"DOMINO TILE HORIZONTAL-05-06\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF05A\"},127067:{\"value\":\"1F05B\",\"name\":\"DOMINO TILE HORIZONTAL-06-00\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF05B\"},127068:{\"value\":\"1F05C\",\"name\":\"DOMINO TILE HORIZONTAL-06-01\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF05C\"},127069:{\"value\":\"1F05D\",\"name\":\"DOMINO TILE HORIZONTAL-06-02\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF05D\"},127070:{\"value\":\"1F05E\",\"name\":\"DOMINO TILE HORIZONTAL-06-03\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF05E\"},127071:{\"value\":\"1F05F\",\"name\":\"DOMINO TILE HORIZONTAL-06-04\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF05F\"},127072:{\"value\":\"1F060\",\"name\":\"DOMINO TILE HORIZONTAL-06-05\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF060\"},127073:{\"value\":\"1F061\",\"name\":\"DOMINO TILE HORIZONTAL-06-06\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF061\"},127074:{\"value\":\"1F062\",\"name\":\"DOMINO TILE VERTICAL BACK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF062\"},127075:{\"value\":\"1F063\",\"name\":\"DOMINO TILE VERTICAL-00-00\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF063\"},127076:{\"value\":\"1F064\",\"name\":\"DOMINO TILE VERTICAL-00-01\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF064\"},127077:{\"value\":\"1F065\",\"name\":\"DOMINO TILE VERTICAL-00-02\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF065\"},127078:{\"value\":\"1F066\",\"name\":\"DOMINO TILE VERTICAL-00-03\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF066\"},127079:{\"value\":\"1F067\",\"name\":\"DOMINO TILE VERTICAL-00-04\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF067\"},127080:{\"value\":\"1F068\",\"name\":\"DOMINO TILE VERTICAL-00-05\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF068\"},127081:{\"value\":\"1F069\",\"name\":\"DOMINO TILE VERTICAL-00-06\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF069\"},127082:{\"value\":\"1F06A\",\"name\":\"DOMINO TILE VERTICAL-01-00\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF06A\"},127083:{\"value\":\"1F06B\",\"name\":\"DOMINO TILE VERTICAL-01-01\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF06B\"},127084:{\"value\":\"1F06C\",\"name\":\"DOMINO TILE VERTICAL-01-02\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF06C\"},127085:{\"value\":\"1F06D\",\"name\":\"DOMINO TILE VERTICAL-01-03\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF06D\"},127086:{\"value\":\"1F06E\",\"name\":\"DOMINO TILE VERTICAL-01-04\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF06E\"},127087:{\"value\":\"1F06F\",\"name\":\"DOMINO TILE VERTICAL-01-05\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF06F\"},127088:{\"value\":\"1F070\",\"name\":\"DOMINO TILE VERTICAL-01-06\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF070\"},127089:{\"value\":\"1F071\",\"name\":\"DOMINO TILE VERTICAL-02-00\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF071\"},127090:{\"value\":\"1F072\",\"name\":\"DOMINO TILE VERTICAL-02-01\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF072\"},127091:{\"value\":\"1F073\",\"name\":\"DOMINO TILE VERTICAL-02-02\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF073\"},127092:{\"value\":\"1F074\",\"name\":\"DOMINO TILE VERTICAL-02-03\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF074\"},127093:{\"value\":\"1F075\",\"name\":\"DOMINO TILE VERTICAL-02-04\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF075\"},127094:{\"value\":\"1F076\",\"name\":\"DOMINO TILE VERTICAL-02-05\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF076\"},127095:{\"value\":\"1F077\",\"name\":\"DOMINO TILE VERTICAL-02-06\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF077\"},127096:{\"value\":\"1F078\",\"name\":\"DOMINO TILE VERTICAL-03-00\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF078\"},127097:{\"value\":\"1F079\",\"name\":\"DOMINO TILE VERTICAL-03-01\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF079\"},127098:{\"value\":\"1F07A\",\"name\":\"DOMINO TILE VERTICAL-03-02\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF07A\"},127099:{\"value\":\"1F07B\",\"name\":\"DOMINO TILE VERTICAL-03-03\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF07B\"},127100:{\"value\":\"1F07C\",\"name\":\"DOMINO TILE VERTICAL-03-04\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF07C\"},127101:{\"value\":\"1F07D\",\"name\":\"DOMINO TILE VERTICAL-03-05\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF07D\"},127102:{\"value\":\"1F07E\",\"name\":\"DOMINO TILE VERTICAL-03-06\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF07E\"},127103:{\"value\":\"1F07F\",\"name\":\"DOMINO TILE VERTICAL-04-00\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF07F\"},127104:{\"value\":\"1F080\",\"name\":\"DOMINO TILE VERTICAL-04-01\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF080\"},127105:{\"value\":\"1F081\",\"name\":\"DOMINO TILE VERTICAL-04-02\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF081\"},127106:{\"value\":\"1F082\",\"name\":\"DOMINO TILE VERTICAL-04-03\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF082\"},127107:{\"value\":\"1F083\",\"name\":\"DOMINO TILE VERTICAL-04-04\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF083\"},127108:{\"value\":\"1F084\",\"name\":\"DOMINO TILE VERTICAL-04-05\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF084\"},127109:{\"value\":\"1F085\",\"name\":\"DOMINO TILE VERTICAL-04-06\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF085\"},127110:{\"value\":\"1F086\",\"name\":\"DOMINO TILE VERTICAL-05-00\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF086\"},127111:{\"value\":\"1F087\",\"name\":\"DOMINO TILE VERTICAL-05-01\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF087\"},127112:{\"value\":\"1F088\",\"name\":\"DOMINO TILE VERTICAL-05-02\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF088\"},127113:{\"value\":\"1F089\",\"name\":\"DOMINO TILE VERTICAL-05-03\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF089\"},127114:{\"value\":\"1F08A\",\"name\":\"DOMINO TILE VERTICAL-05-04\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF08A\"},127115:{\"value\":\"1F08B\",\"name\":\"DOMINO TILE VERTICAL-05-05\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF08B\"},127116:{\"value\":\"1F08C\",\"name\":\"DOMINO TILE VERTICAL-05-06\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF08C\"},127117:{\"value\":\"1F08D\",\"name\":\"DOMINO TILE VERTICAL-06-00\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF08D\"},127118:{\"value\":\"1F08E\",\"name\":\"DOMINO TILE VERTICAL-06-01\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF08E\"},127119:{\"value\":\"1F08F\",\"name\":\"DOMINO TILE VERTICAL-06-02\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF08F\"},127120:{\"value\":\"1F090\",\"name\":\"DOMINO TILE VERTICAL-06-03\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF090\"},127121:{\"value\":\"1F091\",\"name\":\"DOMINO TILE VERTICAL-06-04\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF091\"},127122:{\"value\":\"1F092\",\"name\":\"DOMINO TILE VERTICAL-06-05\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF092\"},127123:{\"value\":\"1F093\",\"name\":\"DOMINO TILE VERTICAL-06-06\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF093\"},127136:{\"value\":\"1F0A0\",\"name\":\"PLAYING CARD BACK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0A0\"},127137:{\"value\":\"1F0A1\",\"name\":\"PLAYING CARD ACE OF SPADES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0A1\"},127138:{\"value\":\"1F0A2\",\"name\":\"PLAYING CARD TWO OF SPADES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0A2\"},127139:{\"value\":\"1F0A3\",\"name\":\"PLAYING CARD THREE OF SPADES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0A3\"},127140:{\"value\":\"1F0A4\",\"name\":\"PLAYING CARD FOUR OF SPADES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0A4\"},127141:{\"value\":\"1F0A5\",\"name\":\"PLAYING CARD FIVE OF SPADES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0A5\"},127142:{\"value\":\"1F0A6\",\"name\":\"PLAYING CARD SIX OF SPADES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0A6\"},127143:{\"value\":\"1F0A7\",\"name\":\"PLAYING CARD SEVEN OF SPADES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0A7\"},127144:{\"value\":\"1F0A8\",\"name\":\"PLAYING CARD EIGHT OF SPADES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0A8\"},127145:{\"value\":\"1F0A9\",\"name\":\"PLAYING CARD NINE OF SPADES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0A9\"},127146:{\"value\":\"1F0AA\",\"name\":\"PLAYING CARD TEN OF SPADES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0AA\"},127147:{\"value\":\"1F0AB\",\"name\":\"PLAYING CARD JACK OF SPADES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0AB\"},127148:{\"value\":\"1F0AC\",\"name\":\"PLAYING CARD KNIGHT OF SPADES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0AC\"},127149:{\"value\":\"1F0AD\",\"name\":\"PLAYING CARD QUEEN OF SPADES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0AD\"},127150:{\"value\":\"1F0AE\",\"name\":\"PLAYING CARD KING OF SPADES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0AE\"},127153:{\"value\":\"1F0B1\",\"name\":\"PLAYING CARD ACE OF HEARTS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0B1\"},127154:{\"value\":\"1F0B2\",\"name\":\"PLAYING CARD TWO OF HEARTS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0B2\"},127155:{\"value\":\"1F0B3\",\"name\":\"PLAYING CARD THREE OF HEARTS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0B3\"},127156:{\"value\":\"1F0B4\",\"name\":\"PLAYING CARD FOUR OF HEARTS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0B4\"},127157:{\"value\":\"1F0B5\",\"name\":\"PLAYING CARD FIVE OF HEARTS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0B5\"},127158:{\"value\":\"1F0B6\",\"name\":\"PLAYING CARD SIX OF HEARTS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0B6\"},127159:{\"value\":\"1F0B7\",\"name\":\"PLAYING CARD SEVEN OF HEARTS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0B7\"},127160:{\"value\":\"1F0B8\",\"name\":\"PLAYING CARD EIGHT OF HEARTS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0B8\"},127161:{\"value\":\"1F0B9\",\"name\":\"PLAYING CARD NINE OF HEARTS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0B9\"},127162:{\"value\":\"1F0BA\",\"name\":\"PLAYING CARD TEN OF HEARTS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0BA\"},127163:{\"value\":\"1F0BB\",\"name\":\"PLAYING CARD JACK OF HEARTS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0BB\"},127164:{\"value\":\"1F0BC\",\"name\":\"PLAYING CARD KNIGHT OF HEARTS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0BC\"},127165:{\"value\":\"1F0BD\",\"name\":\"PLAYING CARD QUEEN OF HEARTS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0BD\"},127166:{\"value\":\"1F0BE\",\"name\":\"PLAYING CARD KING OF HEARTS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0BE\"},127167:{\"value\":\"1F0BF\",\"name\":\"PLAYING CARD RED JOKER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0BF\"},127169:{\"value\":\"1F0C1\",\"name\":\"PLAYING CARD ACE OF DIAMONDS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0C1\"},127170:{\"value\":\"1F0C2\",\"name\":\"PLAYING CARD TWO OF DIAMONDS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0C2\"},127171:{\"value\":\"1F0C3\",\"name\":\"PLAYING CARD THREE OF DIAMONDS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0C3\"},127172:{\"value\":\"1F0C4\",\"name\":\"PLAYING CARD FOUR OF DIAMONDS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0C4\"},127173:{\"value\":\"1F0C5\",\"name\":\"PLAYING CARD FIVE OF DIAMONDS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0C5\"},127174:{\"value\":\"1F0C6\",\"name\":\"PLAYING CARD SIX OF DIAMONDS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0C6\"},127175:{\"value\":\"1F0C7\",\"name\":\"PLAYING CARD SEVEN OF DIAMONDS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0C7\"},127176:{\"value\":\"1F0C8\",\"name\":\"PLAYING CARD EIGHT OF DIAMONDS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0C8\"},127177:{\"value\":\"1F0C9\",\"name\":\"PLAYING CARD NINE OF DIAMONDS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0C9\"},127178:{\"value\":\"1F0CA\",\"name\":\"PLAYING CARD TEN OF DIAMONDS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0CA\"},127179:{\"value\":\"1F0CB\",\"name\":\"PLAYING CARD JACK OF DIAMONDS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0CB\"},127180:{\"value\":\"1F0CC\",\"name\":\"PLAYING CARD KNIGHT OF DIAMONDS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0CC\"},127181:{\"value\":\"1F0CD\",\"name\":\"PLAYING CARD QUEEN OF DIAMONDS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0CD\"},127182:{\"value\":\"1F0CE\",\"name\":\"PLAYING CARD KING OF DIAMONDS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0CE\"},127183:{\"value\":\"1F0CF\",\"name\":\"PLAYING CARD BLACK JOKER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0CF\"},127185:{\"value\":\"1F0D1\",\"name\":\"PLAYING CARD ACE OF CLUBS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0D1\"},127186:{\"value\":\"1F0D2\",\"name\":\"PLAYING CARD TWO OF CLUBS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0D2\"},127187:{\"value\":\"1F0D3\",\"name\":\"PLAYING CARD THREE OF CLUBS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0D3\"},127188:{\"value\":\"1F0D4\",\"name\":\"PLAYING CARD FOUR OF CLUBS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0D4\"},127189:{\"value\":\"1F0D5\",\"name\":\"PLAYING CARD FIVE OF CLUBS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0D5\"},127190:{\"value\":\"1F0D6\",\"name\":\"PLAYING CARD SIX OF CLUBS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0D6\"},127191:{\"value\":\"1F0D7\",\"name\":\"PLAYING CARD SEVEN OF CLUBS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0D7\"},127192:{\"value\":\"1F0D8\",\"name\":\"PLAYING CARD EIGHT OF CLUBS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0D8\"},127193:{\"value\":\"1F0D9\",\"name\":\"PLAYING CARD NINE OF CLUBS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0D9\"},127194:{\"value\":\"1F0DA\",\"name\":\"PLAYING CARD TEN OF CLUBS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0DA\"},127195:{\"value\":\"1F0DB\",\"name\":\"PLAYING CARD JACK OF CLUBS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0DB\"},127196:{\"value\":\"1F0DC\",\"name\":\"PLAYING CARD KNIGHT OF CLUBS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0DC\"},127197:{\"value\":\"1F0DD\",\"name\":\"PLAYING CARD QUEEN OF CLUBS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0DD\"},127198:{\"value\":\"1F0DE\",\"name\":\"PLAYING CARD KING OF CLUBS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0DE\"},127199:{\"value\":\"1F0DF\",\"name\":\"PLAYING CARD WHITE JOKER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0DF\"},127200:{\"value\":\"1F0E0\",\"name\":\"PLAYING CARD FOOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0E0\"},127201:{\"value\":\"1F0E1\",\"name\":\"PLAYING CARD TRUMP-1\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0E1\"},127202:{\"value\":\"1F0E2\",\"name\":\"PLAYING CARD TRUMP-2\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0E2\"},127203:{\"value\":\"1F0E3\",\"name\":\"PLAYING CARD TRUMP-3\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0E3\"},127204:{\"value\":\"1F0E4\",\"name\":\"PLAYING CARD TRUMP-4\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0E4\"},127205:{\"value\":\"1F0E5\",\"name\":\"PLAYING CARD TRUMP-5\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0E5\"},127206:{\"value\":\"1F0E6\",\"name\":\"PLAYING CARD TRUMP-6\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0E6\"},127207:{\"value\":\"1F0E7\",\"name\":\"PLAYING CARD TRUMP-7\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0E7\"},127208:{\"value\":\"1F0E8\",\"name\":\"PLAYING CARD TRUMP-8\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0E8\"},127209:{\"value\":\"1F0E9\",\"name\":\"PLAYING CARD TRUMP-9\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0E9\"},127210:{\"value\":\"1F0EA\",\"name\":\"PLAYING CARD TRUMP-10\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0EA\"},127211:{\"value\":\"1F0EB\",\"name\":\"PLAYING CARD TRUMP-11\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0EB\"},127212:{\"value\":\"1F0EC\",\"name\":\"PLAYING CARD TRUMP-12\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0EC\"},127213:{\"value\":\"1F0ED\",\"name\":\"PLAYING CARD TRUMP-13\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0ED\"},127214:{\"value\":\"1F0EE\",\"name\":\"PLAYING CARD TRUMP-14\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0EE\"},127215:{\"value\":\"1F0EF\",\"name\":\"PLAYING CARD TRUMP-15\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0EF\"},127216:{\"value\":\"1F0F0\",\"name\":\"PLAYING CARD TRUMP-16\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0F0\"},127217:{\"value\":\"1F0F1\",\"name\":\"PLAYING CARD TRUMP-17\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0F1\"},127218:{\"value\":\"1F0F2\",\"name\":\"PLAYING CARD TRUMP-18\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0F2\"},127219:{\"value\":\"1F0F3\",\"name\":\"PLAYING CARD TRUMP-19\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0F3\"},127220:{\"value\":\"1F0F4\",\"name\":\"PLAYING CARD TRUMP-20\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0F4\"},127221:{\"value\":\"1F0F5\",\"name\":\"PLAYING CARD TRUMP-21\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF0F5\"},127248:{\"value\":\"1F110\",\"name\":\"PARENTHESIZED LATIN CAPITAL LETTER A\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 0041 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF110\"},127249:{\"value\":\"1F111\",\"name\":\"PARENTHESIZED LATIN CAPITAL LETTER B\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 0042 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF111\"},127250:{\"value\":\"1F112\",\"name\":\"PARENTHESIZED LATIN CAPITAL LETTER C\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 0043 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF112\"},127251:{\"value\":\"1F113\",\"name\":\"PARENTHESIZED LATIN CAPITAL LETTER D\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 0044 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF113\"},127252:{\"value\":\"1F114\",\"name\":\"PARENTHESIZED LATIN CAPITAL LETTER E\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 0045 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF114\"},127253:{\"value\":\"1F115\",\"name\":\"PARENTHESIZED LATIN CAPITAL LETTER F\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 0046 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF115\"},127254:{\"value\":\"1F116\",\"name\":\"PARENTHESIZED LATIN CAPITAL LETTER G\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 0047 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF116\"},127255:{\"value\":\"1F117\",\"name\":\"PARENTHESIZED LATIN CAPITAL LETTER H\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 0048 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF117\"},127256:{\"value\":\"1F118\",\"name\":\"PARENTHESIZED LATIN CAPITAL LETTER I\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 0049 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF118\"},127257:{\"value\":\"1F119\",\"name\":\"PARENTHESIZED LATIN CAPITAL LETTER J\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 004A 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF119\"},127258:{\"value\":\"1F11A\",\"name\":\"PARENTHESIZED LATIN CAPITAL LETTER K\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 004B 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF11A\"},127259:{\"value\":\"1F11B\",\"name\":\"PARENTHESIZED LATIN CAPITAL LETTER L\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 004C 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF11B\"},127260:{\"value\":\"1F11C\",\"name\":\"PARENTHESIZED LATIN CAPITAL LETTER M\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 004D 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF11C\"},127261:{\"value\":\"1F11D\",\"name\":\"PARENTHESIZED LATIN CAPITAL LETTER N\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 004E 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF11D\"},127262:{\"value\":\"1F11E\",\"name\":\"PARENTHESIZED LATIN CAPITAL LETTER O\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 004F 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF11E\"},127263:{\"value\":\"1F11F\",\"name\":\"PARENTHESIZED LATIN CAPITAL LETTER P\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 0050 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF11F\"},127264:{\"value\":\"1F120\",\"name\":\"PARENTHESIZED LATIN CAPITAL LETTER Q\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 0051 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF120\"},127265:{\"value\":\"1F121\",\"name\":\"PARENTHESIZED LATIN CAPITAL LETTER R\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 0052 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF121\"},127266:{\"value\":\"1F122\",\"name\":\"PARENTHESIZED LATIN CAPITAL LETTER S\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 0053 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF122\"},127267:{\"value\":\"1F123\",\"name\":\"PARENTHESIZED LATIN CAPITAL LETTER T\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 0054 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF123\"},127268:{\"value\":\"1F124\",\"name\":\"PARENTHESIZED LATIN CAPITAL LETTER U\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 0055 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF124\"},127269:{\"value\":\"1F125\",\"name\":\"PARENTHESIZED LATIN CAPITAL LETTER V\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 0056 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF125\"},127270:{\"value\":\"1F126\",\"name\":\"PARENTHESIZED LATIN CAPITAL LETTER W\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 0057 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF126\"},127271:{\"value\":\"1F127\",\"name\":\"PARENTHESIZED LATIN CAPITAL LETTER X\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 0058 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF127\"},127272:{\"value\":\"1F128\",\"name\":\"PARENTHESIZED LATIN CAPITAL LETTER Y\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 0059 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF128\"},127273:{\"value\":\"1F129\",\"name\":\"PARENTHESIZED LATIN CAPITAL LETTER Z\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 0028 005A 0029\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF129\"},127274:{\"value\":\"1F12A\",\"name\":\"TORTOISE SHELL BRACKETED LATIN CAPITAL LETTER S\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 3014 0053 3015\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF12A\"},127275:{\"value\":\"1F12B\",\"name\":\"CIRCLED ITALIC LATIN CAPITAL LETTER C\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 0043\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF12B\"},127276:{\"value\":\"1F12C\",\"name\":\"CIRCLED ITALIC LATIN CAPITAL LETTER R\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 0052\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF12C\"},127277:{\"value\":\"1F12D\",\"name\":\"CIRCLED CD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 0043 0044\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF12D\"},127278:{\"value\":\"1F12E\",\"name\":\"CIRCLED WZ\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 0057 005A\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF12E\"},127280:{\"value\":\"1F130\",\"name\":\"SQUARED LATIN CAPITAL LETTER A\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 0041\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF130\"},127281:{\"value\":\"1F131\",\"name\":\"SQUARED LATIN CAPITAL LETTER B\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 0042\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF131\"},127282:{\"value\":\"1F132\",\"name\":\"SQUARED LATIN CAPITAL LETTER C\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 0043\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF132\"},127283:{\"value\":\"1F133\",\"name\":\"SQUARED LATIN CAPITAL LETTER D\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 0044\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF133\"},127284:{\"value\":\"1F134\",\"name\":\"SQUARED LATIN CAPITAL LETTER E\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 0045\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF134\"},127285:{\"value\":\"1F135\",\"name\":\"SQUARED LATIN CAPITAL LETTER F\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 0046\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF135\"},127286:{\"value\":\"1F136\",\"name\":\"SQUARED LATIN CAPITAL LETTER G\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 0047\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF136\"},127287:{\"value\":\"1F137\",\"name\":\"SQUARED LATIN CAPITAL LETTER H\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 0048\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF137\"},127288:{\"value\":\"1F138\",\"name\":\"SQUARED LATIN CAPITAL LETTER I\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 0049\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF138\"},127289:{\"value\":\"1F139\",\"name\":\"SQUARED LATIN CAPITAL LETTER J\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 004A\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF139\"},127290:{\"value\":\"1F13A\",\"name\":\"SQUARED LATIN CAPITAL LETTER K\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 004B\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF13A\"},127291:{\"value\":\"1F13B\",\"name\":\"SQUARED LATIN CAPITAL LETTER L\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 004C\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF13B\"},127292:{\"value\":\"1F13C\",\"name\":\"SQUARED LATIN CAPITAL LETTER M\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 004D\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF13C\"},127293:{\"value\":\"1F13D\",\"name\":\"SQUARED LATIN CAPITAL LETTER N\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 004E\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF13D\"},127294:{\"value\":\"1F13E\",\"name\":\"SQUARED LATIN CAPITAL LETTER O\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 004F\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF13E\"},127295:{\"value\":\"1F13F\",\"name\":\"SQUARED LATIN CAPITAL LETTER P\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 0050\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF13F\"},127296:{\"value\":\"1F140\",\"name\":\"SQUARED LATIN CAPITAL LETTER Q\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 0051\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF140\"},127297:{\"value\":\"1F141\",\"name\":\"SQUARED LATIN CAPITAL LETTER R\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 0052\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF141\"},127298:{\"value\":\"1F142\",\"name\":\"SQUARED LATIN CAPITAL LETTER S\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 0053\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF142\"},127299:{\"value\":\"1F143\",\"name\":\"SQUARED LATIN CAPITAL LETTER T\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 0054\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF143\"},127300:{\"value\":\"1F144\",\"name\":\"SQUARED LATIN CAPITAL LETTER U\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 0055\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF144\"},127301:{\"value\":\"1F145\",\"name\":\"SQUARED LATIN CAPITAL LETTER V\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 0056\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF145\"},127302:{\"value\":\"1F146\",\"name\":\"SQUARED LATIN CAPITAL LETTER W\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 0057\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF146\"},127303:{\"value\":\"1F147\",\"name\":\"SQUARED LATIN CAPITAL LETTER X\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 0058\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF147\"},127304:{\"value\":\"1F148\",\"name\":\"SQUARED LATIN CAPITAL LETTER Y\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 0059\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF148\"},127305:{\"value\":\"1F149\",\"name\":\"SQUARED LATIN CAPITAL LETTER Z\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 005A\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF149\"},127306:{\"value\":\"1F14A\",\"name\":\"SQUARED HV\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 0048 0056\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF14A\"},127307:{\"value\":\"1F14B\",\"name\":\"SQUARED MV\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 004D 0056\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF14B\"},127308:{\"value\":\"1F14C\",\"name\":\"SQUARED SD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 0053 0044\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF14C\"},127309:{\"value\":\"1F14D\",\"name\":\"SQUARED SS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 0053 0053\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF14D\"},127310:{\"value\":\"1F14E\",\"name\":\"SQUARED PPV\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 0050 0050 0056\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF14E\"},127311:{\"value\":\"1F14F\",\"name\":\"SQUARED WC\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 0057 0043\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF14F\"},127312:{\"value\":\"1F150\",\"name\":\"NEGATIVE CIRCLED LATIN CAPITAL LETTER A\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF150\"},127313:{\"value\":\"1F151\",\"name\":\"NEGATIVE CIRCLED LATIN CAPITAL LETTER B\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF151\"},127314:{\"value\":\"1F152\",\"name\":\"NEGATIVE CIRCLED LATIN CAPITAL LETTER C\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF152\"},127315:{\"value\":\"1F153\",\"name\":\"NEGATIVE CIRCLED LATIN CAPITAL LETTER D\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF153\"},127316:{\"value\":\"1F154\",\"name\":\"NEGATIVE CIRCLED LATIN CAPITAL LETTER E\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF154\"},127317:{\"value\":\"1F155\",\"name\":\"NEGATIVE CIRCLED LATIN CAPITAL LETTER F\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF155\"},127318:{\"value\":\"1F156\",\"name\":\"NEGATIVE CIRCLED LATIN CAPITAL LETTER G\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF156\"},127319:{\"value\":\"1F157\",\"name\":\"NEGATIVE CIRCLED LATIN CAPITAL LETTER H\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF157\"},127320:{\"value\":\"1F158\",\"name\":\"NEGATIVE CIRCLED LATIN CAPITAL LETTER I\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF158\"},127321:{\"value\":\"1F159\",\"name\":\"NEGATIVE CIRCLED LATIN CAPITAL LETTER J\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF159\"},127322:{\"value\":\"1F15A\",\"name\":\"NEGATIVE CIRCLED LATIN CAPITAL LETTER K\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF15A\"},127323:{\"value\":\"1F15B\",\"name\":\"NEGATIVE CIRCLED LATIN CAPITAL LETTER L\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF15B\"},127324:{\"value\":\"1F15C\",\"name\":\"NEGATIVE CIRCLED LATIN CAPITAL LETTER M\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF15C\"},127325:{\"value\":\"1F15D\",\"name\":\"NEGATIVE CIRCLED LATIN CAPITAL LETTER N\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF15D\"},127326:{\"value\":\"1F15E\",\"name\":\"NEGATIVE CIRCLED LATIN CAPITAL LETTER O\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF15E\"},127327:{\"value\":\"1F15F\",\"name\":\"NEGATIVE CIRCLED LATIN CAPITAL LETTER P\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF15F\"},127328:{\"value\":\"1F160\",\"name\":\"NEGATIVE CIRCLED LATIN CAPITAL LETTER Q\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF160\"},127329:{\"value\":\"1F161\",\"name\":\"NEGATIVE CIRCLED LATIN CAPITAL LETTER R\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF161\"},127330:{\"value\":\"1F162\",\"name\":\"NEGATIVE CIRCLED LATIN CAPITAL LETTER S\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF162\"},127331:{\"value\":\"1F163\",\"name\":\"NEGATIVE CIRCLED LATIN CAPITAL LETTER T\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF163\"},127332:{\"value\":\"1F164\",\"name\":\"NEGATIVE CIRCLED LATIN CAPITAL LETTER U\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF164\"},127333:{\"value\":\"1F165\",\"name\":\"NEGATIVE CIRCLED LATIN CAPITAL LETTER V\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF165\"},127334:{\"value\":\"1F166\",\"name\":\"NEGATIVE CIRCLED LATIN CAPITAL LETTER W\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF166\"},127335:{\"value\":\"1F167\",\"name\":\"NEGATIVE CIRCLED LATIN CAPITAL LETTER X\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF167\"},127336:{\"value\":\"1F168\",\"name\":\"NEGATIVE CIRCLED LATIN CAPITAL LETTER Y\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF168\"},127337:{\"value\":\"1F169\",\"name\":\"NEGATIVE CIRCLED LATIN CAPITAL LETTER Z\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF169\"},127338:{\"value\":\"1F16A\",\"name\":\"RAISED MC SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<super> 004D 0043\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF16A\"},127339:{\"value\":\"1F16B\",\"name\":\"RAISED MD SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"<super> 004D 0044\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF16B\"},127344:{\"value\":\"1F170\",\"name\":\"NEGATIVE SQUARED LATIN CAPITAL LETTER A\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF170\"},127345:{\"value\":\"1F171\",\"name\":\"NEGATIVE SQUARED LATIN CAPITAL LETTER B\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF171\"},127346:{\"value\":\"1F172\",\"name\":\"NEGATIVE SQUARED LATIN CAPITAL LETTER C\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF172\"},127347:{\"value\":\"1F173\",\"name\":\"NEGATIVE SQUARED LATIN CAPITAL LETTER D\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF173\"},127348:{\"value\":\"1F174\",\"name\":\"NEGATIVE SQUARED LATIN CAPITAL LETTER E\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF174\"},127349:{\"value\":\"1F175\",\"name\":\"NEGATIVE SQUARED LATIN CAPITAL LETTER F\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF175\"},127350:{\"value\":\"1F176\",\"name\":\"NEGATIVE SQUARED LATIN CAPITAL LETTER G\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF176\"},127351:{\"value\":\"1F177\",\"name\":\"NEGATIVE SQUARED LATIN CAPITAL LETTER H\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF177\"},127352:{\"value\":\"1F178\",\"name\":\"NEGATIVE SQUARED LATIN CAPITAL LETTER I\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF178\"},127353:{\"value\":\"1F179\",\"name\":\"NEGATIVE SQUARED LATIN CAPITAL LETTER J\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF179\"},127354:{\"value\":\"1F17A\",\"name\":\"NEGATIVE SQUARED LATIN CAPITAL LETTER K\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF17A\"},127355:{\"value\":\"1F17B\",\"name\":\"NEGATIVE SQUARED LATIN CAPITAL LETTER L\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF17B\"},127356:{\"value\":\"1F17C\",\"name\":\"NEGATIVE SQUARED LATIN CAPITAL LETTER M\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF17C\"},127357:{\"value\":\"1F17D\",\"name\":\"NEGATIVE SQUARED LATIN CAPITAL LETTER N\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF17D\"},127358:{\"value\":\"1F17E\",\"name\":\"NEGATIVE SQUARED LATIN CAPITAL LETTER O\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF17E\"},127359:{\"value\":\"1F17F\",\"name\":\"NEGATIVE SQUARED LATIN CAPITAL LETTER P\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF17F\"},127360:{\"value\":\"1F180\",\"name\":\"NEGATIVE SQUARED LATIN CAPITAL LETTER Q\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF180\"},127361:{\"value\":\"1F181\",\"name\":\"NEGATIVE SQUARED LATIN CAPITAL LETTER R\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF181\"},127362:{\"value\":\"1F182\",\"name\":\"NEGATIVE SQUARED LATIN CAPITAL LETTER S\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF182\"},127363:{\"value\":\"1F183\",\"name\":\"NEGATIVE SQUARED LATIN CAPITAL LETTER T\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF183\"},127364:{\"value\":\"1F184\",\"name\":\"NEGATIVE SQUARED LATIN CAPITAL LETTER U\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF184\"},127365:{\"value\":\"1F185\",\"name\":\"NEGATIVE SQUARED LATIN CAPITAL LETTER V\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF185\"},127366:{\"value\":\"1F186\",\"name\":\"NEGATIVE SQUARED LATIN CAPITAL LETTER W\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF186\"},127367:{\"value\":\"1F187\",\"name\":\"NEGATIVE SQUARED LATIN CAPITAL LETTER X\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF187\"},127368:{\"value\":\"1F188\",\"name\":\"NEGATIVE SQUARED LATIN CAPITAL LETTER Y\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF188\"},127369:{\"value\":\"1F189\",\"name\":\"NEGATIVE SQUARED LATIN CAPITAL LETTER Z\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF189\"},127370:{\"value\":\"1F18A\",\"name\":\"CROSSED NEGATIVE SQUARED LATIN CAPITAL LETTER P\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF18A\"},127371:{\"value\":\"1F18B\",\"name\":\"NEGATIVE SQUARED IC\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF18B\"},127372:{\"value\":\"1F18C\",\"name\":\"NEGATIVE SQUARED PA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF18C\"},127373:{\"value\":\"1F18D\",\"name\":\"NEGATIVE SQUARED SA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF18D\"},127374:{\"value\":\"1F18E\",\"name\":\"NEGATIVE SQUARED AB\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF18E\"},127375:{\"value\":\"1F18F\",\"name\":\"NEGATIVE SQUARED WC\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF18F\"},127376:{\"value\":\"1F190\",\"name\":\"SQUARE DJ\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 0044 004A\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF190\"},127377:{\"value\":\"1F191\",\"name\":\"SQUARED CL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF191\"},127378:{\"value\":\"1F192\",\"name\":\"SQUARED COOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF192\"},127379:{\"value\":\"1F193\",\"name\":\"SQUARED FREE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF193\"},127380:{\"value\":\"1F194\",\"name\":\"SQUARED ID\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF194\"},127381:{\"value\":\"1F195\",\"name\":\"SQUARED NEW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF195\"},127382:{\"value\":\"1F196\",\"name\":\"SQUARED NG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF196\"},127383:{\"value\":\"1F197\",\"name\":\"SQUARED OK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF197\"},127384:{\"value\":\"1F198\",\"name\":\"SQUARED SOS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF198\"},127385:{\"value\":\"1F199\",\"name\":\"SQUARED UP WITH EXCLAMATION MARK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF199\"},127386:{\"value\":\"1F19A\",\"name\":\"SQUARED VS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF19A\"},127387:{\"value\":\"1F19B\",\"name\":\"SQUARED THREE D\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF19B\"},127388:{\"value\":\"1F19C\",\"name\":\"SQUARED SECOND SCREEN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF19C\"},127389:{\"value\":\"1F19D\",\"name\":\"SQUARED TWO K\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF19D\"},127390:{\"value\":\"1F19E\",\"name\":\"SQUARED FOUR K\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF19E\"},127391:{\"value\":\"1F19F\",\"name\":\"SQUARED EIGHT K\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF19F\"},127392:{\"value\":\"1F1A0\",\"name\":\"SQUARED FIVE POINT ONE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF1A0\"},127393:{\"value\":\"1F1A1\",\"name\":\"SQUARED SEVEN POINT ONE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF1A1\"},127394:{\"value\":\"1F1A2\",\"name\":\"SQUARED TWENTY-TWO POINT TWO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF1A2\"},127395:{\"value\":\"1F1A3\",\"name\":\"SQUARED SIXTY P\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF1A3\"},127396:{\"value\":\"1F1A4\",\"name\":\"SQUARED ONE HUNDRED TWENTY P\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF1A4\"},127397:{\"value\":\"1F1A5\",\"name\":\"SQUARED LATIN SMALL LETTER D\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF1A5\"},127398:{\"value\":\"1F1A6\",\"name\":\"SQUARED HC\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF1A6\"},127399:{\"value\":\"1F1A7\",\"name\":\"SQUARED HDR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF1A7\"},127400:{\"value\":\"1F1A8\",\"name\":\"SQUARED HI-RES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF1A8\"},127401:{\"value\":\"1F1A9\",\"name\":\"SQUARED LOSSLESS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF1A9\"},127402:{\"value\":\"1F1AA\",\"name\":\"SQUARED SHV\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF1AA\"},127403:{\"value\":\"1F1AB\",\"name\":\"SQUARED UHD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF1AB\"},127404:{\"value\":\"1F1AC\",\"name\":\"SQUARED VOD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF1AC\"},127462:{\"value\":\"1F1E6\",\"name\":\"REGIONAL INDICATOR SYMBOL LETTER A\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF1E6\"},127463:{\"value\":\"1F1E7\",\"name\":\"REGIONAL INDICATOR SYMBOL LETTER B\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF1E7\"},127464:{\"value\":\"1F1E8\",\"name\":\"REGIONAL INDICATOR SYMBOL LETTER C\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF1E8\"},127465:{\"value\":\"1F1E9\",\"name\":\"REGIONAL INDICATOR SYMBOL LETTER D\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF1E9\"},127466:{\"value\":\"1F1EA\",\"name\":\"REGIONAL INDICATOR SYMBOL LETTER E\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF1EA\"},127467:{\"value\":\"1F1EB\",\"name\":\"REGIONAL INDICATOR SYMBOL LETTER F\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF1EB\"},127468:{\"value\":\"1F1EC\",\"name\":\"REGIONAL INDICATOR SYMBOL LETTER G\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF1EC\"},127469:{\"value\":\"1F1ED\",\"name\":\"REGIONAL INDICATOR SYMBOL LETTER H\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF1ED\"},127470:{\"value\":\"1F1EE\",\"name\":\"REGIONAL INDICATOR SYMBOL LETTER I\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF1EE\"},127471:{\"value\":\"1F1EF\",\"name\":\"REGIONAL INDICATOR SYMBOL LETTER J\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF1EF\"},127472:{\"value\":\"1F1F0\",\"name\":\"REGIONAL INDICATOR SYMBOL LETTER K\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF1F0\"},127473:{\"value\":\"1F1F1\",\"name\":\"REGIONAL INDICATOR SYMBOL LETTER L\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF1F1\"},127474:{\"value\":\"1F1F2\",\"name\":\"REGIONAL INDICATOR SYMBOL LETTER M\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF1F2\"},127475:{\"value\":\"1F1F3\",\"name\":\"REGIONAL INDICATOR SYMBOL LETTER N\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF1F3\"},127476:{\"value\":\"1F1F4\",\"name\":\"REGIONAL INDICATOR SYMBOL LETTER O\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF1F4\"},127477:{\"value\":\"1F1F5\",\"name\":\"REGIONAL INDICATOR SYMBOL LETTER P\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF1F5\"},127478:{\"value\":\"1F1F6\",\"name\":\"REGIONAL INDICATOR SYMBOL LETTER Q\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF1F6\"},127479:{\"value\":\"1F1F7\",\"name\":\"REGIONAL INDICATOR SYMBOL LETTER R\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF1F7\"},127480:{\"value\":\"1F1F8\",\"name\":\"REGIONAL INDICATOR SYMBOL LETTER S\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF1F8\"},127481:{\"value\":\"1F1F9\",\"name\":\"REGIONAL INDICATOR SYMBOL LETTER T\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF1F9\"},127482:{\"value\":\"1F1FA\",\"name\":\"REGIONAL INDICATOR SYMBOL LETTER U\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF1FA\"},127483:{\"value\":\"1F1FB\",\"name\":\"REGIONAL INDICATOR SYMBOL LETTER V\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF1FB\"},127484:{\"value\":\"1F1FC\",\"name\":\"REGIONAL INDICATOR SYMBOL LETTER W\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF1FC\"},127485:{\"value\":\"1F1FD\",\"name\":\"REGIONAL INDICATOR SYMBOL LETTER X\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF1FD\"},127486:{\"value\":\"1F1FE\",\"name\":\"REGIONAL INDICATOR SYMBOL LETTER Y\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF1FE\"},127487:{\"value\":\"1F1FF\",\"name\":\"REGIONAL INDICATOR SYMBOL LETTER Z\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF1FF\"},127488:{\"value\":\"1F200\",\"name\":\"SQUARE HIRAGANA HOKA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 307B 304B\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF200\"},127489:{\"value\":\"1F201\",\"name\":\"SQUARED KATAKANA KOKO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30B3 30B3\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF201\"},127490:{\"value\":\"1F202\",\"name\":\"SQUARED KATAKANA SA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30B5\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF202\"},127504:{\"value\":\"1F210\",\"name\":\"SQUARED CJK UNIFIED IDEOGRAPH-624B\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 624B\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF210\"},127505:{\"value\":\"1F211\",\"name\":\"SQUARED CJK UNIFIED IDEOGRAPH-5B57\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 5B57\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF211\"},127506:{\"value\":\"1F212\",\"name\":\"SQUARED CJK UNIFIED IDEOGRAPH-53CC\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 53CC\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF212\"},127507:{\"value\":\"1F213\",\"name\":\"SQUARED KATAKANA DE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 30C7\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF213\"},127508:{\"value\":\"1F214\",\"name\":\"SQUARED CJK UNIFIED IDEOGRAPH-4E8C\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 4E8C\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF214\"},127509:{\"value\":\"1F215\",\"name\":\"SQUARED CJK UNIFIED IDEOGRAPH-591A\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 591A\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF215\"},127510:{\"value\":\"1F216\",\"name\":\"SQUARED CJK UNIFIED IDEOGRAPH-89E3\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 89E3\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF216\"},127511:{\"value\":\"1F217\",\"name\":\"SQUARED CJK UNIFIED IDEOGRAPH-5929\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 5929\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF217\"},127512:{\"value\":\"1F218\",\"name\":\"SQUARED CJK UNIFIED IDEOGRAPH-4EA4\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 4EA4\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF218\"},127513:{\"value\":\"1F219\",\"name\":\"SQUARED CJK UNIFIED IDEOGRAPH-6620\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 6620\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF219\"},127514:{\"value\":\"1F21A\",\"name\":\"SQUARED CJK UNIFIED IDEOGRAPH-7121\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 7121\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF21A\"},127515:{\"value\":\"1F21B\",\"name\":\"SQUARED CJK UNIFIED IDEOGRAPH-6599\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 6599\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF21B\"},127516:{\"value\":\"1F21C\",\"name\":\"SQUARED CJK UNIFIED IDEOGRAPH-524D\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 524D\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF21C\"},127517:{\"value\":\"1F21D\",\"name\":\"SQUARED CJK UNIFIED IDEOGRAPH-5F8C\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 5F8C\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF21D\"},127518:{\"value\":\"1F21E\",\"name\":\"SQUARED CJK UNIFIED IDEOGRAPH-518D\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 518D\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF21E\"},127519:{\"value\":\"1F21F\",\"name\":\"SQUARED CJK UNIFIED IDEOGRAPH-65B0\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 65B0\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF21F\"},127520:{\"value\":\"1F220\",\"name\":\"SQUARED CJK UNIFIED IDEOGRAPH-521D\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 521D\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF220\"},127521:{\"value\":\"1F221\",\"name\":\"SQUARED CJK UNIFIED IDEOGRAPH-7D42\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 7D42\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF221\"},127522:{\"value\":\"1F222\",\"name\":\"SQUARED CJK UNIFIED IDEOGRAPH-751F\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 751F\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF222\"},127523:{\"value\":\"1F223\",\"name\":\"SQUARED CJK UNIFIED IDEOGRAPH-8CA9\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 8CA9\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF223\"},127524:{\"value\":\"1F224\",\"name\":\"SQUARED CJK UNIFIED IDEOGRAPH-58F0\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 58F0\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF224\"},127525:{\"value\":\"1F225\",\"name\":\"SQUARED CJK UNIFIED IDEOGRAPH-5439\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 5439\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF225\"},127526:{\"value\":\"1F226\",\"name\":\"SQUARED CJK UNIFIED IDEOGRAPH-6F14\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 6F14\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF226\"},127527:{\"value\":\"1F227\",\"name\":\"SQUARED CJK UNIFIED IDEOGRAPH-6295\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 6295\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF227\"},127528:{\"value\":\"1F228\",\"name\":\"SQUARED CJK UNIFIED IDEOGRAPH-6355\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 6355\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF228\"},127529:{\"value\":\"1F229\",\"name\":\"SQUARED CJK UNIFIED IDEOGRAPH-4E00\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 4E00\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF229\"},127530:{\"value\":\"1F22A\",\"name\":\"SQUARED CJK UNIFIED IDEOGRAPH-4E09\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 4E09\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF22A\"},127531:{\"value\":\"1F22B\",\"name\":\"SQUARED CJK UNIFIED IDEOGRAPH-904A\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 904A\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF22B\"},127532:{\"value\":\"1F22C\",\"name\":\"SQUARED CJK UNIFIED IDEOGRAPH-5DE6\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 5DE6\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF22C\"},127533:{\"value\":\"1F22D\",\"name\":\"SQUARED CJK UNIFIED IDEOGRAPH-4E2D\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 4E2D\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF22D\"},127534:{\"value\":\"1F22E\",\"name\":\"SQUARED CJK UNIFIED IDEOGRAPH-53F3\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 53F3\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF22E\"},127535:{\"value\":\"1F22F\",\"name\":\"SQUARED CJK UNIFIED IDEOGRAPH-6307\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 6307\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF22F\"},127536:{\"value\":\"1F230\",\"name\":\"SQUARED CJK UNIFIED IDEOGRAPH-8D70\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 8D70\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF230\"},127537:{\"value\":\"1F231\",\"name\":\"SQUARED CJK UNIFIED IDEOGRAPH-6253\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 6253\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF231\"},127538:{\"value\":\"1F232\",\"name\":\"SQUARED CJK UNIFIED IDEOGRAPH-7981\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 7981\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF232\"},127539:{\"value\":\"1F233\",\"name\":\"SQUARED CJK UNIFIED IDEOGRAPH-7A7A\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 7A7A\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF233\"},127540:{\"value\":\"1F234\",\"name\":\"SQUARED CJK UNIFIED IDEOGRAPH-5408\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 5408\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF234\"},127541:{\"value\":\"1F235\",\"name\":\"SQUARED CJK UNIFIED IDEOGRAPH-6E80\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 6E80\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF235\"},127542:{\"value\":\"1F236\",\"name\":\"SQUARED CJK UNIFIED IDEOGRAPH-6709\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 6709\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF236\"},127543:{\"value\":\"1F237\",\"name\":\"SQUARED CJK UNIFIED IDEOGRAPH-6708\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 6708\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF237\"},127544:{\"value\":\"1F238\",\"name\":\"SQUARED CJK UNIFIED IDEOGRAPH-7533\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 7533\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF238\"},127545:{\"value\":\"1F239\",\"name\":\"SQUARED CJK UNIFIED IDEOGRAPH-5272\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 5272\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF239\"},127546:{\"value\":\"1F23A\",\"name\":\"SQUARED CJK UNIFIED IDEOGRAPH-55B6\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 55B6\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF23A\"},127547:{\"value\":\"1F23B\",\"name\":\"SQUARED CJK UNIFIED IDEOGRAPH-914D\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<square> 914D\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF23B\"},127552:{\"value\":\"1F240\",\"name\":\"TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-672C\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 3014 672C 3015\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF240\"},127553:{\"value\":\"1F241\",\"name\":\"TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-4E09\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 3014 4E09 3015\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF241\"},127554:{\"value\":\"1F242\",\"name\":\"TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-4E8C\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 3014 4E8C 3015\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF242\"},127555:{\"value\":\"1F243\",\"name\":\"TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-5B89\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 3014 5B89 3015\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF243\"},127556:{\"value\":\"1F244\",\"name\":\"TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-70B9\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 3014 70B9 3015\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF244\"},127557:{\"value\":\"1F245\",\"name\":\"TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-6253\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 3014 6253 3015\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF245\"},127558:{\"value\":\"1F246\",\"name\":\"TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-76D7\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 3014 76D7 3015\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF246\"},127559:{\"value\":\"1F247\",\"name\":\"TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-52DD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 3014 52DD 3015\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF247\"},127560:{\"value\":\"1F248\",\"name\":\"TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-6557\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<compat> 3014 6557 3015\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF248\"},127568:{\"value\":\"1F250\",\"name\":\"CIRCLED IDEOGRAPH ADVANTAGE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 5F97\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF250\"},127569:{\"value\":\"1F251\",\"name\":\"CIRCLED IDEOGRAPH ACCEPT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"L\",\"mapping\":\"<circle> 53EF\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF251\"},127744:{\"value\":\"1F300\",\"name\":\"CYCLONE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF300\"},127745:{\"value\":\"1F301\",\"name\":\"FOGGY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF301\"},127746:{\"value\":\"1F302\",\"name\":\"CLOSED UMBRELLA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF302\"},127747:{\"value\":\"1F303\",\"name\":\"NIGHT WITH STARS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF303\"},127748:{\"value\":\"1F304\",\"name\":\"SUNRISE OVER MOUNTAINS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF304\"},127749:{\"value\":\"1F305\",\"name\":\"SUNRISE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF305\"},127750:{\"value\":\"1F306\",\"name\":\"CITYSCAPE AT DUSK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF306\"},127751:{\"value\":\"1F307\",\"name\":\"SUNSET OVER BUILDINGS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF307\"},127752:{\"value\":\"1F308\",\"name\":\"RAINBOW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF308\"},127753:{\"value\":\"1F309\",\"name\":\"BRIDGE AT NIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF309\"},127754:{\"value\":\"1F30A\",\"name\":\"WATER WAVE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF30A\"},127755:{\"value\":\"1F30B\",\"name\":\"VOLCANO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF30B\"},127756:{\"value\":\"1F30C\",\"name\":\"MILKY WAY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF30C\"},127757:{\"value\":\"1F30D\",\"name\":\"EARTH GLOBE EUROPE-AFRICA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF30D\"},127758:{\"value\":\"1F30E\",\"name\":\"EARTH GLOBE AMERICAS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF30E\"},127759:{\"value\":\"1F30F\",\"name\":\"EARTH GLOBE ASIA-AUSTRALIA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF30F\"},127760:{\"value\":\"1F310\",\"name\":\"GLOBE WITH MERIDIANS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF310\"},127761:{\"value\":\"1F311\",\"name\":\"NEW MOON SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF311\"},127762:{\"value\":\"1F312\",\"name\":\"WAXING CRESCENT MOON SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF312\"},127763:{\"value\":\"1F313\",\"name\":\"FIRST QUARTER MOON SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF313\"},127764:{\"value\":\"1F314\",\"name\":\"WAXING GIBBOUS MOON SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF314\"},127765:{\"value\":\"1F315\",\"name\":\"FULL MOON SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF315\"},127766:{\"value\":\"1F316\",\"name\":\"WANING GIBBOUS MOON SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF316\"},127767:{\"value\":\"1F317\",\"name\":\"LAST QUARTER MOON SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF317\"},127768:{\"value\":\"1F318\",\"name\":\"WANING CRESCENT MOON SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF318\"},127769:{\"value\":\"1F319\",\"name\":\"CRESCENT MOON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF319\"},127770:{\"value\":\"1F31A\",\"name\":\"NEW MOON WITH FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF31A\"},127771:{\"value\":\"1F31B\",\"name\":\"FIRST QUARTER MOON WITH FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF31B\"},127772:{\"value\":\"1F31C\",\"name\":\"LAST QUARTER MOON WITH FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF31C\"},127773:{\"value\":\"1F31D\",\"name\":\"FULL MOON WITH FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF31D\"},127774:{\"value\":\"1F31E\",\"name\":\"SUN WITH FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF31E\"},127775:{\"value\":\"1F31F\",\"name\":\"GLOWING STAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF31F\"},127776:{\"value\":\"1F320\",\"name\":\"SHOOTING STAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF320\"},127777:{\"value\":\"1F321\",\"name\":\"THERMOMETER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF321\"},127778:{\"value\":\"1F322\",\"name\":\"BLACK DROPLET\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF322\"},127779:{\"value\":\"1F323\",\"name\":\"WHITE SUN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF323\"},127780:{\"value\":\"1F324\",\"name\":\"WHITE SUN WITH SMALL CLOUD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF324\"},127781:{\"value\":\"1F325\",\"name\":\"WHITE SUN BEHIND CLOUD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF325\"},127782:{\"value\":\"1F326\",\"name\":\"WHITE SUN BEHIND CLOUD WITH RAIN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF326\"},127783:{\"value\":\"1F327\",\"name\":\"CLOUD WITH RAIN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF327\"},127784:{\"value\":\"1F328\",\"name\":\"CLOUD WITH SNOW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF328\"},127785:{\"value\":\"1F329\",\"name\":\"CLOUD WITH LIGHTNING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF329\"},127786:{\"value\":\"1F32A\",\"name\":\"CLOUD WITH TORNADO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF32A\"},127787:{\"value\":\"1F32B\",\"name\":\"FOG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF32B\"},127788:{\"value\":\"1F32C\",\"name\":\"WIND BLOWING FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF32C\"},127789:{\"value\":\"1F32D\",\"name\":\"HOT DOG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF32D\"},127790:{\"value\":\"1F32E\",\"name\":\"TACO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF32E\"},127791:{\"value\":\"1F32F\",\"name\":\"BURRITO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF32F\"},127792:{\"value\":\"1F330\",\"name\":\"CHESTNUT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF330\"},127793:{\"value\":\"1F331\",\"name\":\"SEEDLING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF331\"},127794:{\"value\":\"1F332\",\"name\":\"EVERGREEN TREE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF332\"},127795:{\"value\":\"1F333\",\"name\":\"DECIDUOUS TREE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF333\"},127796:{\"value\":\"1F334\",\"name\":\"PALM TREE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF334\"},127797:{\"value\":\"1F335\",\"name\":\"CACTUS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF335\"},127798:{\"value\":\"1F336\",\"name\":\"HOT PEPPER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF336\"},127799:{\"value\":\"1F337\",\"name\":\"TULIP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF337\"},127800:{\"value\":\"1F338\",\"name\":\"CHERRY BLOSSOM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF338\"},127801:{\"value\":\"1F339\",\"name\":\"ROSE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF339\"},127802:{\"value\":\"1F33A\",\"name\":\"HIBISCUS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF33A\"},127803:{\"value\":\"1F33B\",\"name\":\"SUNFLOWER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF33B\"},127804:{\"value\":\"1F33C\",\"name\":\"BLOSSOM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF33C\"},127805:{\"value\":\"1F33D\",\"name\":\"EAR OF MAIZE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF33D\"},127806:{\"value\":\"1F33E\",\"name\":\"EAR OF RICE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF33E\"},127807:{\"value\":\"1F33F\",\"name\":\"HERB\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF33F\"},127808:{\"value\":\"1F340\",\"name\":\"FOUR LEAF CLOVER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF340\"},127809:{\"value\":\"1F341\",\"name\":\"MAPLE LEAF\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF341\"},127810:{\"value\":\"1F342\",\"name\":\"FALLEN LEAF\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF342\"},127811:{\"value\":\"1F343\",\"name\":\"LEAF FLUTTERING IN WIND\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF343\"},127812:{\"value\":\"1F344\",\"name\":\"MUSHROOM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF344\"},127813:{\"value\":\"1F345\",\"name\":\"TOMATO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF345\"},127814:{\"value\":\"1F346\",\"name\":\"AUBERGINE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF346\"},127815:{\"value\":\"1F347\",\"name\":\"GRAPES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF347\"},127816:{\"value\":\"1F348\",\"name\":\"MELON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF348\"},127817:{\"value\":\"1F349\",\"name\":\"WATERMELON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF349\"},127818:{\"value\":\"1F34A\",\"name\":\"TANGERINE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF34A\"},127819:{\"value\":\"1F34B\",\"name\":\"LEMON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF34B\"},127820:{\"value\":\"1F34C\",\"name\":\"BANANA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF34C\"},127821:{\"value\":\"1F34D\",\"name\":\"PINEAPPLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF34D\"},127822:{\"value\":\"1F34E\",\"name\":\"RED APPLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF34E\"},127823:{\"value\":\"1F34F\",\"name\":\"GREEN APPLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF34F\"},127824:{\"value\":\"1F350\",\"name\":\"PEAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF350\"},127825:{\"value\":\"1F351\",\"name\":\"PEACH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF351\"},127826:{\"value\":\"1F352\",\"name\":\"CHERRIES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF352\"},127827:{\"value\":\"1F353\",\"name\":\"STRAWBERRY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF353\"},127828:{\"value\":\"1F354\",\"name\":\"HAMBURGER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF354\"},127829:{\"value\":\"1F355\",\"name\":\"SLICE OF PIZZA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF355\"},127830:{\"value\":\"1F356\",\"name\":\"MEAT ON BONE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF356\"},127831:{\"value\":\"1F357\",\"name\":\"POULTRY LEG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF357\"},127832:{\"value\":\"1F358\",\"name\":\"RICE CRACKER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF358\"},127833:{\"value\":\"1F359\",\"name\":\"RICE BALL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF359\"},127834:{\"value\":\"1F35A\",\"name\":\"COOKED RICE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF35A\"},127835:{\"value\":\"1F35B\",\"name\":\"CURRY AND RICE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF35B\"},127836:{\"value\":\"1F35C\",\"name\":\"STEAMING BOWL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF35C\"},127837:{\"value\":\"1F35D\",\"name\":\"SPAGHETTI\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF35D\"},127838:{\"value\":\"1F35E\",\"name\":\"BREAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF35E\"},127839:{\"value\":\"1F35F\",\"name\":\"FRENCH FRIES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF35F\"},127840:{\"value\":\"1F360\",\"name\":\"ROASTED SWEET POTATO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF360\"},127841:{\"value\":\"1F361\",\"name\":\"DANGO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF361\"},127842:{\"value\":\"1F362\",\"name\":\"ODEN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF362\"},127843:{\"value\":\"1F363\",\"name\":\"SUSHI\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF363\"},127844:{\"value\":\"1F364\",\"name\":\"FRIED SHRIMP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF364\"},127845:{\"value\":\"1F365\",\"name\":\"FISH CAKE WITH SWIRL DESIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF365\"},127846:{\"value\":\"1F366\",\"name\":\"SOFT ICE CREAM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF366\"},127847:{\"value\":\"1F367\",\"name\":\"SHAVED ICE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF367\"},127848:{\"value\":\"1F368\",\"name\":\"ICE CREAM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF368\"},127849:{\"value\":\"1F369\",\"name\":\"DOUGHNUT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF369\"},127850:{\"value\":\"1F36A\",\"name\":\"COOKIE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF36A\"},127851:{\"value\":\"1F36B\",\"name\":\"CHOCOLATE BAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF36B\"},127852:{\"value\":\"1F36C\",\"name\":\"CANDY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF36C\"},127853:{\"value\":\"1F36D\",\"name\":\"LOLLIPOP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF36D\"},127854:{\"value\":\"1F36E\",\"name\":\"CUSTARD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF36E\"},127855:{\"value\":\"1F36F\",\"name\":\"HONEY POT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF36F\"},127856:{\"value\":\"1F370\",\"name\":\"SHORTCAKE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF370\"},127857:{\"value\":\"1F371\",\"name\":\"BENTO BOX\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF371\"},127858:{\"value\":\"1F372\",\"name\":\"POT OF FOOD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF372\"},127859:{\"value\":\"1F373\",\"name\":\"COOKING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF373\"},127860:{\"value\":\"1F374\",\"name\":\"FORK AND KNIFE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF374\"},127861:{\"value\":\"1F375\",\"name\":\"TEACUP WITHOUT HANDLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF375\"},127862:{\"value\":\"1F376\",\"name\":\"SAKE BOTTLE AND CUP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF376\"},127863:{\"value\":\"1F377\",\"name\":\"WINE GLASS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF377\"},127864:{\"value\":\"1F378\",\"name\":\"COCKTAIL GLASS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF378\"},127865:{\"value\":\"1F379\",\"name\":\"TROPICAL DRINK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF379\"},127866:{\"value\":\"1F37A\",\"name\":\"BEER MUG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF37A\"},127867:{\"value\":\"1F37B\",\"name\":\"CLINKING BEER MUGS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF37B\"},127868:{\"value\":\"1F37C\",\"name\":\"BABY BOTTLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF37C\"},127869:{\"value\":\"1F37D\",\"name\":\"FORK AND KNIFE WITH PLATE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF37D\"},127870:{\"value\":\"1F37E\",\"name\":\"BOTTLE WITH POPPING CORK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF37E\"},127871:{\"value\":\"1F37F\",\"name\":\"POPCORN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF37F\"},127872:{\"value\":\"1F380\",\"name\":\"RIBBON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF380\"},127873:{\"value\":\"1F381\",\"name\":\"WRAPPED PRESENT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF381\"},127874:{\"value\":\"1F382\",\"name\":\"BIRTHDAY CAKE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF382\"},127875:{\"value\":\"1F383\",\"name\":\"JACK-O-LANTERN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF383\"},127876:{\"value\":\"1F384\",\"name\":\"CHRISTMAS TREE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF384\"},127877:{\"value\":\"1F385\",\"name\":\"FATHER CHRISTMAS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF385\"},127878:{\"value\":\"1F386\",\"name\":\"FIREWORKS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF386\"},127879:{\"value\":\"1F387\",\"name\":\"FIREWORK SPARKLER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF387\"},127880:{\"value\":\"1F388\",\"name\":\"BALLOON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF388\"},127881:{\"value\":\"1F389\",\"name\":\"PARTY POPPER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF389\"},127882:{\"value\":\"1F38A\",\"name\":\"CONFETTI BALL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF38A\"},127883:{\"value\":\"1F38B\",\"name\":\"TANABATA TREE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF38B\"},127884:{\"value\":\"1F38C\",\"name\":\"CROSSED FLAGS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF38C\"},127885:{\"value\":\"1F38D\",\"name\":\"PINE DECORATION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF38D\"},127886:{\"value\":\"1F38E\",\"name\":\"JAPANESE DOLLS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF38E\"},127887:{\"value\":\"1F38F\",\"name\":\"CARP STREAMER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF38F\"},127888:{\"value\":\"1F390\",\"name\":\"WIND CHIME\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF390\"},127889:{\"value\":\"1F391\",\"name\":\"MOON VIEWING CEREMONY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF391\"},127890:{\"value\":\"1F392\",\"name\":\"SCHOOL SATCHEL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF392\"},127891:{\"value\":\"1F393\",\"name\":\"GRADUATION CAP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF393\"},127892:{\"value\":\"1F394\",\"name\":\"HEART WITH TIP ON THE LEFT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF394\"},127893:{\"value\":\"1F395\",\"name\":\"BOUQUET OF FLOWERS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF395\"},127894:{\"value\":\"1F396\",\"name\":\"MILITARY MEDAL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF396\"},127895:{\"value\":\"1F397\",\"name\":\"REMINDER RIBBON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF397\"},127896:{\"value\":\"1F398\",\"name\":\"MUSICAL KEYBOARD WITH JACKS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF398\"},127897:{\"value\":\"1F399\",\"name\":\"STUDIO MICROPHONE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF399\"},127898:{\"value\":\"1F39A\",\"name\":\"LEVEL SLIDER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF39A\"},127899:{\"value\":\"1F39B\",\"name\":\"CONTROL KNOBS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF39B\"},127900:{\"value\":\"1F39C\",\"name\":\"BEAMED ASCENDING MUSICAL NOTES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF39C\"},127901:{\"value\":\"1F39D\",\"name\":\"BEAMED DESCENDING MUSICAL NOTES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF39D\"},127902:{\"value\":\"1F39E\",\"name\":\"FILM FRAMES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF39E\"},127903:{\"value\":\"1F39F\",\"name\":\"ADMISSION TICKETS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF39F\"},127904:{\"value\":\"1F3A0\",\"name\":\"CAROUSEL HORSE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3A0\"},127905:{\"value\":\"1F3A1\",\"name\":\"FERRIS WHEEL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3A1\"},127906:{\"value\":\"1F3A2\",\"name\":\"ROLLER COASTER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3A2\"},127907:{\"value\":\"1F3A3\",\"name\":\"FISHING POLE AND FISH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3A3\"},127908:{\"value\":\"1F3A4\",\"name\":\"MICROPHONE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3A4\"},127909:{\"value\":\"1F3A5\",\"name\":\"MOVIE CAMERA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3A5\"},127910:{\"value\":\"1F3A6\",\"name\":\"CINEMA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3A6\"},127911:{\"value\":\"1F3A7\",\"name\":\"HEADPHONE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3A7\"},127912:{\"value\":\"1F3A8\",\"name\":\"ARTIST PALETTE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3A8\"},127913:{\"value\":\"1F3A9\",\"name\":\"TOP HAT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3A9\"},127914:{\"value\":\"1F3AA\",\"name\":\"CIRCUS TENT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3AA\"},127915:{\"value\":\"1F3AB\",\"name\":\"TICKET\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3AB\"},127916:{\"value\":\"1F3AC\",\"name\":\"CLAPPER BOARD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3AC\"},127917:{\"value\":\"1F3AD\",\"name\":\"PERFORMING ARTS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3AD\"},127918:{\"value\":\"1F3AE\",\"name\":\"VIDEO GAME\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3AE\"},127919:{\"value\":\"1F3AF\",\"name\":\"DIRECT HIT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3AF\"},127920:{\"value\":\"1F3B0\",\"name\":\"SLOT MACHINE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3B0\"},127921:{\"value\":\"1F3B1\",\"name\":\"BILLIARDS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3B1\"},127922:{\"value\":\"1F3B2\",\"name\":\"GAME DIE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3B2\"},127923:{\"value\":\"1F3B3\",\"name\":\"BOWLING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3B3\"},127924:{\"value\":\"1F3B4\",\"name\":\"FLOWER PLAYING CARDS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3B4\"},127925:{\"value\":\"1F3B5\",\"name\":\"MUSICAL NOTE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3B5\"},127926:{\"value\":\"1F3B6\",\"name\":\"MULTIPLE MUSICAL NOTES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3B6\"},127927:{\"value\":\"1F3B7\",\"name\":\"SAXOPHONE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3B7\"},127928:{\"value\":\"1F3B8\",\"name\":\"GUITAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3B8\"},127929:{\"value\":\"1F3B9\",\"name\":\"MUSICAL KEYBOARD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3B9\"},127930:{\"value\":\"1F3BA\",\"name\":\"TRUMPET\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3BA\"},127931:{\"value\":\"1F3BB\",\"name\":\"VIOLIN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3BB\"},127932:{\"value\":\"1F3BC\",\"name\":\"MUSICAL SCORE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3BC\"},127933:{\"value\":\"1F3BD\",\"name\":\"RUNNING SHIRT WITH SASH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3BD\"},127934:{\"value\":\"1F3BE\",\"name\":\"TENNIS RACQUET AND BALL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3BE\"},127935:{\"value\":\"1F3BF\",\"name\":\"SKI AND SKI BOOT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3BF\"},127936:{\"value\":\"1F3C0\",\"name\":\"BASKETBALL AND HOOP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3C0\"},127937:{\"value\":\"1F3C1\",\"name\":\"CHEQUERED FLAG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3C1\"},127938:{\"value\":\"1F3C2\",\"name\":\"SNOWBOARDER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3C2\"},127939:{\"value\":\"1F3C3\",\"name\":\"RUNNER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3C3\"},127940:{\"value\":\"1F3C4\",\"name\":\"SURFER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3C4\"},127941:{\"value\":\"1F3C5\",\"name\":\"SPORTS MEDAL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3C5\"},127942:{\"value\":\"1F3C6\",\"name\":\"TROPHY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3C6\"},127943:{\"value\":\"1F3C7\",\"name\":\"HORSE RACING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3C7\"},127944:{\"value\":\"1F3C8\",\"name\":\"AMERICAN FOOTBALL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3C8\"},127945:{\"value\":\"1F3C9\",\"name\":\"RUGBY FOOTBALL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3C9\"},127946:{\"value\":\"1F3CA\",\"name\":\"SWIMMER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3CA\"},127947:{\"value\":\"1F3CB\",\"name\":\"WEIGHT LIFTER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3CB\"},127948:{\"value\":\"1F3CC\",\"name\":\"GOLFER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3CC\"},127949:{\"value\":\"1F3CD\",\"name\":\"RACING MOTORCYCLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3CD\"},127950:{\"value\":\"1F3CE\",\"name\":\"RACING CAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3CE\"},127951:{\"value\":\"1F3CF\",\"name\":\"CRICKET BAT AND BALL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3CF\"},127952:{\"value\":\"1F3D0\",\"name\":\"VOLLEYBALL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3D0\"},127953:{\"value\":\"1F3D1\",\"name\":\"FIELD HOCKEY STICK AND BALL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3D1\"},127954:{\"value\":\"1F3D2\",\"name\":\"ICE HOCKEY STICK AND PUCK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3D2\"},127955:{\"value\":\"1F3D3\",\"name\":\"TABLE TENNIS PADDLE AND BALL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3D3\"},127956:{\"value\":\"1F3D4\",\"name\":\"SNOW CAPPED MOUNTAIN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3D4\"},127957:{\"value\":\"1F3D5\",\"name\":\"CAMPING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3D5\"},127958:{\"value\":\"1F3D6\",\"name\":\"BEACH WITH UMBRELLA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3D6\"},127959:{\"value\":\"1F3D7\",\"name\":\"BUILDING CONSTRUCTION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3D7\"},127960:{\"value\":\"1F3D8\",\"name\":\"HOUSE BUILDINGS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3D8\"},127961:{\"value\":\"1F3D9\",\"name\":\"CITYSCAPE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3D9\"},127962:{\"value\":\"1F3DA\",\"name\":\"DERELICT HOUSE BUILDING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3DA\"},127963:{\"value\":\"1F3DB\",\"name\":\"CLASSICAL BUILDING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3DB\"},127964:{\"value\":\"1F3DC\",\"name\":\"DESERT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3DC\"},127965:{\"value\":\"1F3DD\",\"name\":\"DESERT ISLAND\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3DD\"},127966:{\"value\":\"1F3DE\",\"name\":\"NATIONAL PARK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3DE\"},127967:{\"value\":\"1F3DF\",\"name\":\"STADIUM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3DF\"},127968:{\"value\":\"1F3E0\",\"name\":\"HOUSE BUILDING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3E0\"},127969:{\"value\":\"1F3E1\",\"name\":\"HOUSE WITH GARDEN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3E1\"},127970:{\"value\":\"1F3E2\",\"name\":\"OFFICE BUILDING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3E2\"},127971:{\"value\":\"1F3E3\",\"name\":\"JAPANESE POST OFFICE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3E3\"},127972:{\"value\":\"1F3E4\",\"name\":\"EUROPEAN POST OFFICE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3E4\"},127973:{\"value\":\"1F3E5\",\"name\":\"HOSPITAL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3E5\"},127974:{\"value\":\"1F3E6\",\"name\":\"BANK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3E6\"},127975:{\"value\":\"1F3E7\",\"name\":\"AUTOMATED TELLER MACHINE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3E7\"},127976:{\"value\":\"1F3E8\",\"name\":\"HOTEL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3E8\"},127977:{\"value\":\"1F3E9\",\"name\":\"LOVE HOTEL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3E9\"},127978:{\"value\":\"1F3EA\",\"name\":\"CONVENIENCE STORE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3EA\"},127979:{\"value\":\"1F3EB\",\"name\":\"SCHOOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3EB\"},127980:{\"value\":\"1F3EC\",\"name\":\"DEPARTMENT STORE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3EC\"},127981:{\"value\":\"1F3ED\",\"name\":\"FACTORY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3ED\"},127982:{\"value\":\"1F3EE\",\"name\":\"IZAKAYA LANTERN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3EE\"},127983:{\"value\":\"1F3EF\",\"name\":\"JAPANESE CASTLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3EF\"},127984:{\"value\":\"1F3F0\",\"name\":\"EUROPEAN CASTLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3F0\"},127985:{\"value\":\"1F3F1\",\"name\":\"WHITE PENNANT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3F1\"},127986:{\"value\":\"1F3F2\",\"name\":\"BLACK PENNANT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3F2\"},127987:{\"value\":\"1F3F3\",\"name\":\"WAVING WHITE FLAG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3F3\"},127988:{\"value\":\"1F3F4\",\"name\":\"WAVING BLACK FLAG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3F4\"},127989:{\"value\":\"1F3F5\",\"name\":\"ROSETTE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3F5\"},127990:{\"value\":\"1F3F6\",\"name\":\"BLACK ROSETTE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3F6\"},127991:{\"value\":\"1F3F7\",\"name\":\"LABEL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3F7\"},127992:{\"value\":\"1F3F8\",\"name\":\"BADMINTON RACQUET AND SHUTTLECOCK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3F8\"},127993:{\"value\":\"1F3F9\",\"name\":\"BOW AND ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3F9\"},127994:{\"value\":\"1F3FA\",\"name\":\"AMPHORA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF3FA\"},128000:{\"value\":\"1F400\",\"name\":\"RAT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF400\"},128001:{\"value\":\"1F401\",\"name\":\"MOUSE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF401\"},128002:{\"value\":\"1F402\",\"name\":\"OX\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF402\"},128003:{\"value\":\"1F403\",\"name\":\"WATER BUFFALO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF403\"},128004:{\"value\":\"1F404\",\"name\":\"COW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF404\"},128005:{\"value\":\"1F405\",\"name\":\"TIGER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF405\"},128006:{\"value\":\"1F406\",\"name\":\"LEOPARD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF406\"},128007:{\"value\":\"1F407\",\"name\":\"RABBIT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF407\"},128008:{\"value\":\"1F408\",\"name\":\"CAT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF408\"},128009:{\"value\":\"1F409\",\"name\":\"DRAGON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF409\"},128010:{\"value\":\"1F40A\",\"name\":\"CROCODILE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF40A\"},128011:{\"value\":\"1F40B\",\"name\":\"WHALE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF40B\"},128012:{\"value\":\"1F40C\",\"name\":\"SNAIL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF40C\"},128013:{\"value\":\"1F40D\",\"name\":\"SNAKE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF40D\"},128014:{\"value\":\"1F40E\",\"name\":\"HORSE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF40E\"},128015:{\"value\":\"1F40F\",\"name\":\"RAM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF40F\"},128016:{\"value\":\"1F410\",\"name\":\"GOAT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF410\"},128017:{\"value\":\"1F411\",\"name\":\"SHEEP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF411\"},128018:{\"value\":\"1F412\",\"name\":\"MONKEY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF412\"},128019:{\"value\":\"1F413\",\"name\":\"ROOSTER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF413\"},128020:{\"value\":\"1F414\",\"name\":\"CHICKEN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF414\"},128021:{\"value\":\"1F415\",\"name\":\"DOG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF415\"},128022:{\"value\":\"1F416\",\"name\":\"PIG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF416\"},128023:{\"value\":\"1F417\",\"name\":\"BOAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF417\"},128024:{\"value\":\"1F418\",\"name\":\"ELEPHANT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF418\"},128025:{\"value\":\"1F419\",\"name\":\"OCTOPUS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF419\"},128026:{\"value\":\"1F41A\",\"name\":\"SPIRAL SHELL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF41A\"},128027:{\"value\":\"1F41B\",\"name\":\"BUG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF41B\"},128028:{\"value\":\"1F41C\",\"name\":\"ANT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF41C\"},128029:{\"value\":\"1F41D\",\"name\":\"HONEYBEE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF41D\"},128030:{\"value\":\"1F41E\",\"name\":\"LADY BEETLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF41E\"},128031:{\"value\":\"1F41F\",\"name\":\"FISH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF41F\"},128032:{\"value\":\"1F420\",\"name\":\"TROPICAL FISH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF420\"},128033:{\"value\":\"1F421\",\"name\":\"BLOWFISH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF421\"},128034:{\"value\":\"1F422\",\"name\":\"TURTLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF422\"},128035:{\"value\":\"1F423\",\"name\":\"HATCHING CHICK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF423\"},128036:{\"value\":\"1F424\",\"name\":\"BABY CHICK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF424\"},128037:{\"value\":\"1F425\",\"name\":\"FRONT-FACING BABY CHICK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF425\"},128038:{\"value\":\"1F426\",\"name\":\"BIRD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF426\"},128039:{\"value\":\"1F427\",\"name\":\"PENGUIN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF427\"},128040:{\"value\":\"1F428\",\"name\":\"KOALA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF428\"},128041:{\"value\":\"1F429\",\"name\":\"POODLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF429\"},128042:{\"value\":\"1F42A\",\"name\":\"DROMEDARY CAMEL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF42A\"},128043:{\"value\":\"1F42B\",\"name\":\"BACTRIAN CAMEL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF42B\"},128044:{\"value\":\"1F42C\",\"name\":\"DOLPHIN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF42C\"},128045:{\"value\":\"1F42D\",\"name\":\"MOUSE FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF42D\"},128046:{\"value\":\"1F42E\",\"name\":\"COW FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF42E\"},128047:{\"value\":\"1F42F\",\"name\":\"TIGER FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF42F\"},128048:{\"value\":\"1F430\",\"name\":\"RABBIT FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF430\"},128049:{\"value\":\"1F431\",\"name\":\"CAT FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF431\"},128050:{\"value\":\"1F432\",\"name\":\"DRAGON FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF432\"},128051:{\"value\":\"1F433\",\"name\":\"SPOUTING WHALE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF433\"},128052:{\"value\":\"1F434\",\"name\":\"HORSE FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF434\"},128053:{\"value\":\"1F435\",\"name\":\"MONKEY FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF435\"},128054:{\"value\":\"1F436\",\"name\":\"DOG FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF436\"},128055:{\"value\":\"1F437\",\"name\":\"PIG FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF437\"},128056:{\"value\":\"1F438\",\"name\":\"FROG FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF438\"},128057:{\"value\":\"1F439\",\"name\":\"HAMSTER FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF439\"},128058:{\"value\":\"1F43A\",\"name\":\"WOLF FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF43A\"},128059:{\"value\":\"1F43B\",\"name\":\"BEAR FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF43B\"},128060:{\"value\":\"1F43C\",\"name\":\"PANDA FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF43C\"},128061:{\"value\":\"1F43D\",\"name\":\"PIG NOSE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF43D\"},128062:{\"value\":\"1F43E\",\"name\":\"PAW PRINTS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF43E\"},128063:{\"value\":\"1F43F\",\"name\":\"CHIPMUNK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF43F\"},128064:{\"value\":\"1F440\",\"name\":\"EYES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF440\"},128065:{\"value\":\"1F441\",\"name\":\"EYE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF441\"},128066:{\"value\":\"1F442\",\"name\":\"EAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF442\"},128067:{\"value\":\"1F443\",\"name\":\"NOSE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF443\"},128068:{\"value\":\"1F444\",\"name\":\"MOUTH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF444\"},128069:{\"value\":\"1F445\",\"name\":\"TONGUE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF445\"},128070:{\"value\":\"1F446\",\"name\":\"WHITE UP POINTING BACKHAND INDEX\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF446\"},128071:{\"value\":\"1F447\",\"name\":\"WHITE DOWN POINTING BACKHAND INDEX\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF447\"},128072:{\"value\":\"1F448\",\"name\":\"WHITE LEFT POINTING BACKHAND INDEX\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF448\"},128073:{\"value\":\"1F449\",\"name\":\"WHITE RIGHT POINTING BACKHAND INDEX\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF449\"},128074:{\"value\":\"1F44A\",\"name\":\"FISTED HAND SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF44A\"},128075:{\"value\":\"1F44B\",\"name\":\"WAVING HAND SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF44B\"},128076:{\"value\":\"1F44C\",\"name\":\"OK HAND SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF44C\"},128077:{\"value\":\"1F44D\",\"name\":\"THUMBS UP SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF44D\"},128078:{\"value\":\"1F44E\",\"name\":\"THUMBS DOWN SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF44E\"},128079:{\"value\":\"1F44F\",\"name\":\"CLAPPING HANDS SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF44F\"},128080:{\"value\":\"1F450\",\"name\":\"OPEN HANDS SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF450\"},128081:{\"value\":\"1F451\",\"name\":\"CROWN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF451\"},128082:{\"value\":\"1F452\",\"name\":\"WOMANS HAT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF452\"},128083:{\"value\":\"1F453\",\"name\":\"EYEGLASSES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF453\"},128084:{\"value\":\"1F454\",\"name\":\"NECKTIE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF454\"},128085:{\"value\":\"1F455\",\"name\":\"T-SHIRT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF455\"},128086:{\"value\":\"1F456\",\"name\":\"JEANS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF456\"},128087:{\"value\":\"1F457\",\"name\":\"DRESS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF457\"},128088:{\"value\":\"1F458\",\"name\":\"KIMONO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF458\"},128089:{\"value\":\"1F459\",\"name\":\"BIKINI\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF459\"},128090:{\"value\":\"1F45A\",\"name\":\"WOMANS CLOTHES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF45A\"},128091:{\"value\":\"1F45B\",\"name\":\"PURSE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF45B\"},128092:{\"value\":\"1F45C\",\"name\":\"HANDBAG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF45C\"},128093:{\"value\":\"1F45D\",\"name\":\"POUCH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF45D\"},128094:{\"value\":\"1F45E\",\"name\":\"MANS SHOE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF45E\"},128095:{\"value\":\"1F45F\",\"name\":\"ATHLETIC SHOE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF45F\"},128096:{\"value\":\"1F460\",\"name\":\"HIGH-HEELED SHOE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF460\"},128097:{\"value\":\"1F461\",\"name\":\"WOMANS SANDAL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF461\"},128098:{\"value\":\"1F462\",\"name\":\"WOMANS BOOTS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF462\"},128099:{\"value\":\"1F463\",\"name\":\"FOOTPRINTS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF463\"},128100:{\"value\":\"1F464\",\"name\":\"BUST IN SILHOUETTE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF464\"},128101:{\"value\":\"1F465\",\"name\":\"BUSTS IN SILHOUETTE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF465\"},128102:{\"value\":\"1F466\",\"name\":\"BOY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF466\"},128103:{\"value\":\"1F467\",\"name\":\"GIRL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF467\"},128104:{\"value\":\"1F468\",\"name\":\"MAN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF468\"},128105:{\"value\":\"1F469\",\"name\":\"WOMAN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF469\"},128106:{\"value\":\"1F46A\",\"name\":\"FAMILY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF46A\"},128107:{\"value\":\"1F46B\",\"name\":\"MAN AND WOMAN HOLDING HANDS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF46B\"},128108:{\"value\":\"1F46C\",\"name\":\"TWO MEN HOLDING HANDS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF46C\"},128109:{\"value\":\"1F46D\",\"name\":\"TWO WOMEN HOLDING HANDS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF46D\"},128110:{\"value\":\"1F46E\",\"name\":\"POLICE OFFICER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF46E\"},128111:{\"value\":\"1F46F\",\"name\":\"WOMAN WITH BUNNY EARS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF46F\"},128112:{\"value\":\"1F470\",\"name\":\"BRIDE WITH VEIL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF470\"},128113:{\"value\":\"1F471\",\"name\":\"PERSON WITH BLOND HAIR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF471\"},128114:{\"value\":\"1F472\",\"name\":\"MAN WITH GUA PI MAO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF472\"},128115:{\"value\":\"1F473\",\"name\":\"MAN WITH TURBAN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF473\"},128116:{\"value\":\"1F474\",\"name\":\"OLDER MAN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF474\"},128117:{\"value\":\"1F475\",\"name\":\"OLDER WOMAN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF475\"},128118:{\"value\":\"1F476\",\"name\":\"BABY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF476\"},128119:{\"value\":\"1F477\",\"name\":\"CONSTRUCTION WORKER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF477\"},128120:{\"value\":\"1F478\",\"name\":\"PRINCESS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF478\"},128121:{\"value\":\"1F479\",\"name\":\"JAPANESE OGRE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF479\"},128122:{\"value\":\"1F47A\",\"name\":\"JAPANESE GOBLIN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF47A\"},128123:{\"value\":\"1F47B\",\"name\":\"GHOST\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF47B\"},128124:{\"value\":\"1F47C\",\"name\":\"BABY ANGEL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF47C\"},128125:{\"value\":\"1F47D\",\"name\":\"EXTRATERRESTRIAL ALIEN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF47D\"},128126:{\"value\":\"1F47E\",\"name\":\"ALIEN MONSTER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF47E\"},128127:{\"value\":\"1F47F\",\"name\":\"IMP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF47F\"},128128:{\"value\":\"1F480\",\"name\":\"SKULL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF480\"},128129:{\"value\":\"1F481\",\"name\":\"INFORMATION DESK PERSON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF481\"},128130:{\"value\":\"1F482\",\"name\":\"GUARDSMAN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF482\"},128131:{\"value\":\"1F483\",\"name\":\"DANCER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF483\"},128132:{\"value\":\"1F484\",\"name\":\"LIPSTICK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF484\"},128133:{\"value\":\"1F485\",\"name\":\"NAIL POLISH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF485\"},128134:{\"value\":\"1F486\",\"name\":\"FACE MASSAGE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF486\"},128135:{\"value\":\"1F487\",\"name\":\"HAIRCUT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF487\"},128136:{\"value\":\"1F488\",\"name\":\"BARBER POLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF488\"},128137:{\"value\":\"1F489\",\"name\":\"SYRINGE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF489\"},128138:{\"value\":\"1F48A\",\"name\":\"PILL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF48A\"},128139:{\"value\":\"1F48B\",\"name\":\"KISS MARK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF48B\"},128140:{\"value\":\"1F48C\",\"name\":\"LOVE LETTER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF48C\"},128141:{\"value\":\"1F48D\",\"name\":\"RING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF48D\"},128142:{\"value\":\"1F48E\",\"name\":\"GEM STONE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF48E\"},128143:{\"value\":\"1F48F\",\"name\":\"KISS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF48F\"},128144:{\"value\":\"1F490\",\"name\":\"BOUQUET\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF490\"},128145:{\"value\":\"1F491\",\"name\":\"COUPLE WITH HEART\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF491\"},128146:{\"value\":\"1F492\",\"name\":\"WEDDING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF492\"},128147:{\"value\":\"1F493\",\"name\":\"BEATING HEART\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF493\"},128148:{\"value\":\"1F494\",\"name\":\"BROKEN HEART\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF494\"},128149:{\"value\":\"1F495\",\"name\":\"TWO HEARTS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF495\"},128150:{\"value\":\"1F496\",\"name\":\"SPARKLING HEART\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF496\"},128151:{\"value\":\"1F497\",\"name\":\"GROWING HEART\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF497\"},128152:{\"value\":\"1F498\",\"name\":\"HEART WITH ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF498\"},128153:{\"value\":\"1F499\",\"name\":\"BLUE HEART\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF499\"},128154:{\"value\":\"1F49A\",\"name\":\"GREEN HEART\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF49A\"},128155:{\"value\":\"1F49B\",\"name\":\"YELLOW HEART\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF49B\"},128156:{\"value\":\"1F49C\",\"name\":\"PURPLE HEART\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF49C\"},128157:{\"value\":\"1F49D\",\"name\":\"HEART WITH RIBBON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF49D\"},128158:{\"value\":\"1F49E\",\"name\":\"REVOLVING HEARTS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF49E\"},128159:{\"value\":\"1F49F\",\"name\":\"HEART DECORATION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF49F\"},128160:{\"value\":\"1F4A0\",\"name\":\"DIAMOND SHAPE WITH A DOT INSIDE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4A0\"},128161:{\"value\":\"1F4A1\",\"name\":\"ELECTRIC LIGHT BULB\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4A1\"},128162:{\"value\":\"1F4A2\",\"name\":\"ANGER SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4A2\"},128163:{\"value\":\"1F4A3\",\"name\":\"BOMB\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4A3\"},128164:{\"value\":\"1F4A4\",\"name\":\"SLEEPING SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4A4\"},128165:{\"value\":\"1F4A5\",\"name\":\"COLLISION SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4A5\"},128166:{\"value\":\"1F4A6\",\"name\":\"SPLASHING SWEAT SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4A6\"},128167:{\"value\":\"1F4A7\",\"name\":\"DROPLET\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4A7\"},128168:{\"value\":\"1F4A8\",\"name\":\"DASH SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4A8\"},128169:{\"value\":\"1F4A9\",\"name\":\"PILE OF POO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4A9\"},128170:{\"value\":\"1F4AA\",\"name\":\"FLEXED BICEPS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4AA\"},128171:{\"value\":\"1F4AB\",\"name\":\"DIZZY SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4AB\"},128172:{\"value\":\"1F4AC\",\"name\":\"SPEECH BALLOON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4AC\"},128173:{\"value\":\"1F4AD\",\"name\":\"THOUGHT BALLOON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4AD\"},128174:{\"value\":\"1F4AE\",\"name\":\"WHITE FLOWER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4AE\"},128175:{\"value\":\"1F4AF\",\"name\":\"HUNDRED POINTS SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4AF\"},128176:{\"value\":\"1F4B0\",\"name\":\"MONEY BAG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4B0\"},128177:{\"value\":\"1F4B1\",\"name\":\"CURRENCY EXCHANGE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4B1\"},128178:{\"value\":\"1F4B2\",\"name\":\"HEAVY DOLLAR SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4B2\"},128179:{\"value\":\"1F4B3\",\"name\":\"CREDIT CARD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4B3\"},128180:{\"value\":\"1F4B4\",\"name\":\"BANKNOTE WITH YEN SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4B4\"},128181:{\"value\":\"1F4B5\",\"name\":\"BANKNOTE WITH DOLLAR SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4B5\"},128182:{\"value\":\"1F4B6\",\"name\":\"BANKNOTE WITH EURO SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4B6\"},128183:{\"value\":\"1F4B7\",\"name\":\"BANKNOTE WITH POUND SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4B7\"},128184:{\"value\":\"1F4B8\",\"name\":\"MONEY WITH WINGS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4B8\"},128185:{\"value\":\"1F4B9\",\"name\":\"CHART WITH UPWARDS TREND AND YEN SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4B9\"},128186:{\"value\":\"1F4BA\",\"name\":\"SEAT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4BA\"},128187:{\"value\":\"1F4BB\",\"name\":\"PERSONAL COMPUTER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4BB\"},128188:{\"value\":\"1F4BC\",\"name\":\"BRIEFCASE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4BC\"},128189:{\"value\":\"1F4BD\",\"name\":\"MINIDISC\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4BD\"},128190:{\"value\":\"1F4BE\",\"name\":\"FLOPPY DISK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4BE\"},128191:{\"value\":\"1F4BF\",\"name\":\"OPTICAL DISC\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4BF\"},128192:{\"value\":\"1F4C0\",\"name\":\"DVD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4C0\"},128193:{\"value\":\"1F4C1\",\"name\":\"FILE FOLDER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4C1\"},128194:{\"value\":\"1F4C2\",\"name\":\"OPEN FILE FOLDER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4C2\"},128195:{\"value\":\"1F4C3\",\"name\":\"PAGE WITH CURL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4C3\"},128196:{\"value\":\"1F4C4\",\"name\":\"PAGE FACING UP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4C4\"},128197:{\"value\":\"1F4C5\",\"name\":\"CALENDAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4C5\"},128198:{\"value\":\"1F4C6\",\"name\":\"TEAR-OFF CALENDAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4C6\"},128199:{\"value\":\"1F4C7\",\"name\":\"CARD INDEX\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4C7\"},128200:{\"value\":\"1F4C8\",\"name\":\"CHART WITH UPWARDS TREND\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4C8\"},128201:{\"value\":\"1F4C9\",\"name\":\"CHART WITH DOWNWARDS TREND\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4C9\"},128202:{\"value\":\"1F4CA\",\"name\":\"BAR CHART\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4CA\"},128203:{\"value\":\"1F4CB\",\"name\":\"CLIPBOARD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4CB\"},128204:{\"value\":\"1F4CC\",\"name\":\"PUSHPIN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4CC\"},128205:{\"value\":\"1F4CD\",\"name\":\"ROUND PUSHPIN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4CD\"},128206:{\"value\":\"1F4CE\",\"name\":\"PAPERCLIP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4CE\"},128207:{\"value\":\"1F4CF\",\"name\":\"STRAIGHT RULER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4CF\"},128208:{\"value\":\"1F4D0\",\"name\":\"TRIANGULAR RULER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4D0\"},128209:{\"value\":\"1F4D1\",\"name\":\"BOOKMARK TABS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4D1\"},128210:{\"value\":\"1F4D2\",\"name\":\"LEDGER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4D2\"},128211:{\"value\":\"1F4D3\",\"name\":\"NOTEBOOK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4D3\"},128212:{\"value\":\"1F4D4\",\"name\":\"NOTEBOOK WITH DECORATIVE COVER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4D4\"},128213:{\"value\":\"1F4D5\",\"name\":\"CLOSED BOOK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4D5\"},128214:{\"value\":\"1F4D6\",\"name\":\"OPEN BOOK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4D6\"},128215:{\"value\":\"1F4D7\",\"name\":\"GREEN BOOK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4D7\"},128216:{\"value\":\"1F4D8\",\"name\":\"BLUE BOOK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4D8\"},128217:{\"value\":\"1F4D9\",\"name\":\"ORANGE BOOK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4D9\"},128218:{\"value\":\"1F4DA\",\"name\":\"BOOKS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4DA\"},128219:{\"value\":\"1F4DB\",\"name\":\"NAME BADGE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4DB\"},128220:{\"value\":\"1F4DC\",\"name\":\"SCROLL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4DC\"},128221:{\"value\":\"1F4DD\",\"name\":\"MEMO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4DD\"},128222:{\"value\":\"1F4DE\",\"name\":\"TELEPHONE RECEIVER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4DE\"},128223:{\"value\":\"1F4DF\",\"name\":\"PAGER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4DF\"},128224:{\"value\":\"1F4E0\",\"name\":\"FAX MACHINE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4E0\"},128225:{\"value\":\"1F4E1\",\"name\":\"SATELLITE ANTENNA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4E1\"},128226:{\"value\":\"1F4E2\",\"name\":\"PUBLIC ADDRESS LOUDSPEAKER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4E2\"},128227:{\"value\":\"1F4E3\",\"name\":\"CHEERING MEGAPHONE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4E3\"},128228:{\"value\":\"1F4E4\",\"name\":\"OUTBOX TRAY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4E4\"},128229:{\"value\":\"1F4E5\",\"name\":\"INBOX TRAY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4E5\"},128230:{\"value\":\"1F4E6\",\"name\":\"PACKAGE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4E6\"},128231:{\"value\":\"1F4E7\",\"name\":\"E-MAIL SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4E7\"},128232:{\"value\":\"1F4E8\",\"name\":\"INCOMING ENVELOPE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4E8\"},128233:{\"value\":\"1F4E9\",\"name\":\"ENVELOPE WITH DOWNWARDS ARROW ABOVE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4E9\"},128234:{\"value\":\"1F4EA\",\"name\":\"CLOSED MAILBOX WITH LOWERED FLAG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4EA\"},128235:{\"value\":\"1F4EB\",\"name\":\"CLOSED MAILBOX WITH RAISED FLAG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4EB\"},128236:{\"value\":\"1F4EC\",\"name\":\"OPEN MAILBOX WITH RAISED FLAG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4EC\"},128237:{\"value\":\"1F4ED\",\"name\":\"OPEN MAILBOX WITH LOWERED FLAG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4ED\"},128238:{\"value\":\"1F4EE\",\"name\":\"POSTBOX\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4EE\"},128239:{\"value\":\"1F4EF\",\"name\":\"POSTAL HORN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4EF\"},128240:{\"value\":\"1F4F0\",\"name\":\"NEWSPAPER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4F0\"},128241:{\"value\":\"1F4F1\",\"name\":\"MOBILE PHONE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4F1\"},128242:{\"value\":\"1F4F2\",\"name\":\"MOBILE PHONE WITH RIGHTWARDS ARROW AT LEFT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4F2\"},128243:{\"value\":\"1F4F3\",\"name\":\"VIBRATION MODE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4F3\"},128244:{\"value\":\"1F4F4\",\"name\":\"MOBILE PHONE OFF\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4F4\"},128245:{\"value\":\"1F4F5\",\"name\":\"NO MOBILE PHONES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4F5\"},128246:{\"value\":\"1F4F6\",\"name\":\"ANTENNA WITH BARS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4F6\"},128247:{\"value\":\"1F4F7\",\"name\":\"CAMERA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4F7\"},128248:{\"value\":\"1F4F8\",\"name\":\"CAMERA WITH FLASH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4F8\"},128249:{\"value\":\"1F4F9\",\"name\":\"VIDEO CAMERA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4F9\"},128250:{\"value\":\"1F4FA\",\"name\":\"TELEVISION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4FA\"},128251:{\"value\":\"1F4FB\",\"name\":\"RADIO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4FB\"},128252:{\"value\":\"1F4FC\",\"name\":\"VIDEOCASSETTE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4FC\"},128253:{\"value\":\"1F4FD\",\"name\":\"FILM PROJECTOR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4FD\"},128254:{\"value\":\"1F4FE\",\"name\":\"PORTABLE STEREO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4FE\"},128255:{\"value\":\"1F4FF\",\"name\":\"PRAYER BEADS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF4FF\"},128256:{\"value\":\"1F500\",\"name\":\"TWISTED RIGHTWARDS ARROWS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF500\"},128257:{\"value\":\"1F501\",\"name\":\"CLOCKWISE RIGHTWARDS AND LEFTWARDS OPEN CIRCLE ARROWS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF501\"},128258:{\"value\":\"1F502\",\"name\":\"CLOCKWISE RIGHTWARDS AND LEFTWARDS OPEN CIRCLE ARROWS WITH CIRCLED ONE OVERLAY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF502\"},128259:{\"value\":\"1F503\",\"name\":\"CLOCKWISE DOWNWARDS AND UPWARDS OPEN CIRCLE ARROWS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF503\"},128260:{\"value\":\"1F504\",\"name\":\"ANTICLOCKWISE DOWNWARDS AND UPWARDS OPEN CIRCLE ARROWS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF504\"},128261:{\"value\":\"1F505\",\"name\":\"LOW BRIGHTNESS SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF505\"},128262:{\"value\":\"1F506\",\"name\":\"HIGH BRIGHTNESS SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF506\"},128263:{\"value\":\"1F507\",\"name\":\"SPEAKER WITH CANCELLATION STROKE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF507\"},128264:{\"value\":\"1F508\",\"name\":\"SPEAKER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF508\"},128265:{\"value\":\"1F509\",\"name\":\"SPEAKER WITH ONE SOUND WAVE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF509\"},128266:{\"value\":\"1F50A\",\"name\":\"SPEAKER WITH THREE SOUND WAVES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF50A\"},128267:{\"value\":\"1F50B\",\"name\":\"BATTERY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF50B\"},128268:{\"value\":\"1F50C\",\"name\":\"ELECTRIC PLUG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF50C\"},128269:{\"value\":\"1F50D\",\"name\":\"LEFT-POINTING MAGNIFYING GLASS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF50D\"},128270:{\"value\":\"1F50E\",\"name\":\"RIGHT-POINTING MAGNIFYING GLASS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF50E\"},128271:{\"value\":\"1F50F\",\"name\":\"LOCK WITH INK PEN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF50F\"},128272:{\"value\":\"1F510\",\"name\":\"CLOSED LOCK WITH KEY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF510\"},128273:{\"value\":\"1F511\",\"name\":\"KEY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF511\"},128274:{\"value\":\"1F512\",\"name\":\"LOCK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF512\"},128275:{\"value\":\"1F513\",\"name\":\"OPEN LOCK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF513\"},128276:{\"value\":\"1F514\",\"name\":\"BELL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF514\"},128277:{\"value\":\"1F515\",\"name\":\"BELL WITH CANCELLATION STROKE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF515\"},128278:{\"value\":\"1F516\",\"name\":\"BOOKMARK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF516\"},128279:{\"value\":\"1F517\",\"name\":\"LINK SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF517\"},128280:{\"value\":\"1F518\",\"name\":\"RADIO BUTTON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF518\"},128281:{\"value\":\"1F519\",\"name\":\"BACK WITH LEFTWARDS ARROW ABOVE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF519\"},128282:{\"value\":\"1F51A\",\"name\":\"END WITH LEFTWARDS ARROW ABOVE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF51A\"},128283:{\"value\":\"1F51B\",\"name\":\"ON WITH EXCLAMATION MARK WITH LEFT RIGHT ARROW ABOVE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF51B\"},128284:{\"value\":\"1F51C\",\"name\":\"SOON WITH RIGHTWARDS ARROW ABOVE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF51C\"},128285:{\"value\":\"1F51D\",\"name\":\"TOP WITH UPWARDS ARROW ABOVE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF51D\"},128286:{\"value\":\"1F51E\",\"name\":\"NO ONE UNDER EIGHTEEN SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF51E\"},128287:{\"value\":\"1F51F\",\"name\":\"KEYCAP TEN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF51F\"},128288:{\"value\":\"1F520\",\"name\":\"INPUT SYMBOL FOR LATIN CAPITAL LETTERS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF520\"},128289:{\"value\":\"1F521\",\"name\":\"INPUT SYMBOL FOR LATIN SMALL LETTERS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF521\"},128290:{\"value\":\"1F522\",\"name\":\"INPUT SYMBOL FOR NUMBERS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF522\"},128291:{\"value\":\"1F523\",\"name\":\"INPUT SYMBOL FOR SYMBOLS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF523\"},128292:{\"value\":\"1F524\",\"name\":\"INPUT SYMBOL FOR LATIN LETTERS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF524\"},128293:{\"value\":\"1F525\",\"name\":\"FIRE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF525\"},128294:{\"value\":\"1F526\",\"name\":\"ELECTRIC TORCH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF526\"},128295:{\"value\":\"1F527\",\"name\":\"WRENCH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF527\"},128296:{\"value\":\"1F528\",\"name\":\"HAMMER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF528\"},128297:{\"value\":\"1F529\",\"name\":\"NUT AND BOLT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF529\"},128298:{\"value\":\"1F52A\",\"name\":\"HOCHO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF52A\"},128299:{\"value\":\"1F52B\",\"name\":\"PISTOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF52B\"},128300:{\"value\":\"1F52C\",\"name\":\"MICROSCOPE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF52C\"},128301:{\"value\":\"1F52D\",\"name\":\"TELESCOPE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF52D\"},128302:{\"value\":\"1F52E\",\"name\":\"CRYSTAL BALL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF52E\"},128303:{\"value\":\"1F52F\",\"name\":\"SIX POINTED STAR WITH MIDDLE DOT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF52F\"},128304:{\"value\":\"1F530\",\"name\":\"JAPANESE SYMBOL FOR BEGINNER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF530\"},128305:{\"value\":\"1F531\",\"name\":\"TRIDENT EMBLEM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF531\"},128306:{\"value\":\"1F532\",\"name\":\"BLACK SQUARE BUTTON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF532\"},128307:{\"value\":\"1F533\",\"name\":\"WHITE SQUARE BUTTON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF533\"},128308:{\"value\":\"1F534\",\"name\":\"LARGE RED CIRCLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF534\"},128309:{\"value\":\"1F535\",\"name\":\"LARGE BLUE CIRCLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF535\"},128310:{\"value\":\"1F536\",\"name\":\"LARGE ORANGE DIAMOND\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF536\"},128311:{\"value\":\"1F537\",\"name\":\"LARGE BLUE DIAMOND\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF537\"},128312:{\"value\":\"1F538\",\"name\":\"SMALL ORANGE DIAMOND\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF538\"},128313:{\"value\":\"1F539\",\"name\":\"SMALL BLUE DIAMOND\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF539\"},128314:{\"value\":\"1F53A\",\"name\":\"UP-POINTING RED TRIANGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF53A\"},128315:{\"value\":\"1F53B\",\"name\":\"DOWN-POINTING RED TRIANGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF53B\"},128316:{\"value\":\"1F53C\",\"name\":\"UP-POINTING SMALL RED TRIANGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF53C\"},128317:{\"value\":\"1F53D\",\"name\":\"DOWN-POINTING SMALL RED TRIANGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF53D\"},128318:{\"value\":\"1F53E\",\"name\":\"LOWER RIGHT SHADOWED WHITE CIRCLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF53E\"},128319:{\"value\":\"1F53F\",\"name\":\"UPPER RIGHT SHADOWED WHITE CIRCLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF53F\"},128320:{\"value\":\"1F540\",\"name\":\"CIRCLED CROSS POMMEE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF540\"},128321:{\"value\":\"1F541\",\"name\":\"CROSS POMMEE WITH HALF-CIRCLE BELOW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF541\"},128322:{\"value\":\"1F542\",\"name\":\"CROSS POMMEE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF542\"},128323:{\"value\":\"1F543\",\"name\":\"NOTCHED LEFT SEMICIRCLE WITH THREE DOTS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF543\"},128324:{\"value\":\"1F544\",\"name\":\"NOTCHED RIGHT SEMICIRCLE WITH THREE DOTS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF544\"},128325:{\"value\":\"1F545\",\"name\":\"SYMBOL FOR MARKS CHAPTER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF545\"},128326:{\"value\":\"1F546\",\"name\":\"WHITE LATIN CROSS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF546\"},128327:{\"value\":\"1F547\",\"name\":\"HEAVY LATIN CROSS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF547\"},128328:{\"value\":\"1F548\",\"name\":\"CELTIC CROSS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF548\"},128329:{\"value\":\"1F549\",\"name\":\"OM SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF549\"},128330:{\"value\":\"1F54A\",\"name\":\"DOVE OF PEACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF54A\"},128331:{\"value\":\"1F54B\",\"name\":\"KAABA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF54B\"},128332:{\"value\":\"1F54C\",\"name\":\"MOSQUE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF54C\"},128333:{\"value\":\"1F54D\",\"name\":\"SYNAGOGUE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF54D\"},128334:{\"value\":\"1F54E\",\"name\":\"MENORAH WITH NINE BRANCHES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF54E\"},128335:{\"value\":\"1F54F\",\"name\":\"BOWL OF HYGIEIA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF54F\"},128336:{\"value\":\"1F550\",\"name\":\"CLOCK FACE ONE OCLOCK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF550\"},128337:{\"value\":\"1F551\",\"name\":\"CLOCK FACE TWO OCLOCK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF551\"},128338:{\"value\":\"1F552\",\"name\":\"CLOCK FACE THREE OCLOCK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF552\"},128339:{\"value\":\"1F553\",\"name\":\"CLOCK FACE FOUR OCLOCK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF553\"},128340:{\"value\":\"1F554\",\"name\":\"CLOCK FACE FIVE OCLOCK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF554\"},128341:{\"value\":\"1F555\",\"name\":\"CLOCK FACE SIX OCLOCK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF555\"},128342:{\"value\":\"1F556\",\"name\":\"CLOCK FACE SEVEN OCLOCK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF556\"},128343:{\"value\":\"1F557\",\"name\":\"CLOCK FACE EIGHT OCLOCK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF557\"},128344:{\"value\":\"1F558\",\"name\":\"CLOCK FACE NINE OCLOCK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF558\"},128345:{\"value\":\"1F559\",\"name\":\"CLOCK FACE TEN OCLOCK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF559\"},128346:{\"value\":\"1F55A\",\"name\":\"CLOCK FACE ELEVEN OCLOCK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF55A\"},128347:{\"value\":\"1F55B\",\"name\":\"CLOCK FACE TWELVE OCLOCK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF55B\"},128348:{\"value\":\"1F55C\",\"name\":\"CLOCK FACE ONE-THIRTY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF55C\"},128349:{\"value\":\"1F55D\",\"name\":\"CLOCK FACE TWO-THIRTY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF55D\"},128350:{\"value\":\"1F55E\",\"name\":\"CLOCK FACE THREE-THIRTY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF55E\"},128351:{\"value\":\"1F55F\",\"name\":\"CLOCK FACE FOUR-THIRTY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF55F\"},128352:{\"value\":\"1F560\",\"name\":\"CLOCK FACE FIVE-THIRTY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF560\"},128353:{\"value\":\"1F561\",\"name\":\"CLOCK FACE SIX-THIRTY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF561\"},128354:{\"value\":\"1F562\",\"name\":\"CLOCK FACE SEVEN-THIRTY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF562\"},128355:{\"value\":\"1F563\",\"name\":\"CLOCK FACE EIGHT-THIRTY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF563\"},128356:{\"value\":\"1F564\",\"name\":\"CLOCK FACE NINE-THIRTY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF564\"},128357:{\"value\":\"1F565\",\"name\":\"CLOCK FACE TEN-THIRTY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF565\"},128358:{\"value\":\"1F566\",\"name\":\"CLOCK FACE ELEVEN-THIRTY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF566\"},128359:{\"value\":\"1F567\",\"name\":\"CLOCK FACE TWELVE-THIRTY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF567\"},128360:{\"value\":\"1F568\",\"name\":\"RIGHT SPEAKER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF568\"},128361:{\"value\":\"1F569\",\"name\":\"RIGHT SPEAKER WITH ONE SOUND WAVE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF569\"},128362:{\"value\":\"1F56A\",\"name\":\"RIGHT SPEAKER WITH THREE SOUND WAVES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF56A\"},128363:{\"value\":\"1F56B\",\"name\":\"BULLHORN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF56B\"},128364:{\"value\":\"1F56C\",\"name\":\"BULLHORN WITH SOUND WAVES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF56C\"},128365:{\"value\":\"1F56D\",\"name\":\"RINGING BELL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF56D\"},128366:{\"value\":\"1F56E\",\"name\":\"BOOK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF56E\"},128367:{\"value\":\"1F56F\",\"name\":\"CANDLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF56F\"},128368:{\"value\":\"1F570\",\"name\":\"MANTELPIECE CLOCK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF570\"},128369:{\"value\":\"1F571\",\"name\":\"BLACK SKULL AND CROSSBONES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF571\"},128370:{\"value\":\"1F572\",\"name\":\"NO PIRACY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF572\"},128371:{\"value\":\"1F573\",\"name\":\"HOLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF573\"},128372:{\"value\":\"1F574\",\"name\":\"MAN IN BUSINESS SUIT LEVITATING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF574\"},128373:{\"value\":\"1F575\",\"name\":\"SLEUTH OR SPY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF575\"},128374:{\"value\":\"1F576\",\"name\":\"DARK SUNGLASSES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF576\"},128375:{\"value\":\"1F577\",\"name\":\"SPIDER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF577\"},128376:{\"value\":\"1F578\",\"name\":\"SPIDER WEB\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF578\"},128377:{\"value\":\"1F579\",\"name\":\"JOYSTICK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF579\"},128378:{\"value\":\"1F57A\",\"name\":\"MAN DANCING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF57A\"},128379:{\"value\":\"1F57B\",\"name\":\"LEFT HAND TELEPHONE RECEIVER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF57B\"},128380:{\"value\":\"1F57C\",\"name\":\"TELEPHONE RECEIVER WITH PAGE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF57C\"},128381:{\"value\":\"1F57D\",\"name\":\"RIGHT HAND TELEPHONE RECEIVER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF57D\"},128382:{\"value\":\"1F57E\",\"name\":\"WHITE TOUCHTONE TELEPHONE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF57E\"},128383:{\"value\":\"1F57F\",\"name\":\"BLACK TOUCHTONE TELEPHONE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF57F\"},128384:{\"value\":\"1F580\",\"name\":\"TELEPHONE ON TOP OF MODEM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF580\"},128385:{\"value\":\"1F581\",\"name\":\"CLAMSHELL MOBILE PHONE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF581\"},128386:{\"value\":\"1F582\",\"name\":\"BACK OF ENVELOPE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF582\"},128387:{\"value\":\"1F583\",\"name\":\"STAMPED ENVELOPE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF583\"},128388:{\"value\":\"1F584\",\"name\":\"ENVELOPE WITH LIGHTNING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF584\"},128389:{\"value\":\"1F585\",\"name\":\"FLYING ENVELOPE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF585\"},128390:{\"value\":\"1F586\",\"name\":\"PEN OVER STAMPED ENVELOPE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF586\"},128391:{\"value\":\"1F587\",\"name\":\"LINKED PAPERCLIPS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF587\"},128392:{\"value\":\"1F588\",\"name\":\"BLACK PUSHPIN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF588\"},128393:{\"value\":\"1F589\",\"name\":\"LOWER LEFT PENCIL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF589\"},128394:{\"value\":\"1F58A\",\"name\":\"LOWER LEFT BALLPOINT PEN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF58A\"},128395:{\"value\":\"1F58B\",\"name\":\"LOWER LEFT FOUNTAIN PEN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF58B\"},128396:{\"value\":\"1F58C\",\"name\":\"LOWER LEFT PAINTBRUSH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF58C\"},128397:{\"value\":\"1F58D\",\"name\":\"LOWER LEFT CRAYON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF58D\"},128398:{\"value\":\"1F58E\",\"name\":\"LEFT WRITING HAND\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF58E\"},128399:{\"value\":\"1F58F\",\"name\":\"TURNED OK HAND SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF58F\"},128400:{\"value\":\"1F590\",\"name\":\"RAISED HAND WITH FINGERS SPLAYED\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF590\"},128401:{\"value\":\"1F591\",\"name\":\"REVERSED RAISED HAND WITH FINGERS SPLAYED\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF591\"},128402:{\"value\":\"1F592\",\"name\":\"REVERSED THUMBS UP SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF592\"},128403:{\"value\":\"1F593\",\"name\":\"REVERSED THUMBS DOWN SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF593\"},128404:{\"value\":\"1F594\",\"name\":\"REVERSED VICTORY HAND\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF594\"},128405:{\"value\":\"1F595\",\"name\":\"REVERSED HAND WITH MIDDLE FINGER EXTENDED\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF595\"},128406:{\"value\":\"1F596\",\"name\":\"RAISED HAND WITH PART BETWEEN MIDDLE AND RING FINGERS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF596\"},128407:{\"value\":\"1F597\",\"name\":\"WHITE DOWN POINTING LEFT HAND INDEX\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF597\"},128408:{\"value\":\"1F598\",\"name\":\"SIDEWAYS WHITE LEFT POINTING INDEX\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF598\"},128409:{\"value\":\"1F599\",\"name\":\"SIDEWAYS WHITE RIGHT POINTING INDEX\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF599\"},128410:{\"value\":\"1F59A\",\"name\":\"SIDEWAYS BLACK LEFT POINTING INDEX\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF59A\"},128411:{\"value\":\"1F59B\",\"name\":\"SIDEWAYS BLACK RIGHT POINTING INDEX\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF59B\"},128412:{\"value\":\"1F59C\",\"name\":\"BLACK LEFT POINTING BACKHAND INDEX\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF59C\"},128413:{\"value\":\"1F59D\",\"name\":\"BLACK RIGHT POINTING BACKHAND INDEX\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF59D\"},128414:{\"value\":\"1F59E\",\"name\":\"SIDEWAYS WHITE UP POINTING INDEX\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF59E\"},128415:{\"value\":\"1F59F\",\"name\":\"SIDEWAYS WHITE DOWN POINTING INDEX\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF59F\"},128416:{\"value\":\"1F5A0\",\"name\":\"SIDEWAYS BLACK UP POINTING INDEX\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5A0\"},128417:{\"value\":\"1F5A1\",\"name\":\"SIDEWAYS BLACK DOWN POINTING INDEX\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5A1\"},128418:{\"value\":\"1F5A2\",\"name\":\"BLACK UP POINTING BACKHAND INDEX\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5A2\"},128419:{\"value\":\"1F5A3\",\"name\":\"BLACK DOWN POINTING BACKHAND INDEX\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5A3\"},128420:{\"value\":\"1F5A4\",\"name\":\"BLACK HEART\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5A4\"},128421:{\"value\":\"1F5A5\",\"name\":\"DESKTOP COMPUTER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5A5\"},128422:{\"value\":\"1F5A6\",\"name\":\"KEYBOARD AND MOUSE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5A6\"},128423:{\"value\":\"1F5A7\",\"name\":\"THREE NETWORKED COMPUTERS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5A7\"},128424:{\"value\":\"1F5A8\",\"name\":\"PRINTER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5A8\"},128425:{\"value\":\"1F5A9\",\"name\":\"POCKET CALCULATOR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5A9\"},128426:{\"value\":\"1F5AA\",\"name\":\"BLACK HARD SHELL FLOPPY DISK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5AA\"},128427:{\"value\":\"1F5AB\",\"name\":\"WHITE HARD SHELL FLOPPY DISK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5AB\"},128428:{\"value\":\"1F5AC\",\"name\":\"SOFT SHELL FLOPPY DISK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5AC\"},128429:{\"value\":\"1F5AD\",\"name\":\"TAPE CARTRIDGE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5AD\"},128430:{\"value\":\"1F5AE\",\"name\":\"WIRED KEYBOARD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5AE\"},128431:{\"value\":\"1F5AF\",\"name\":\"ONE BUTTON MOUSE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5AF\"},128432:{\"value\":\"1F5B0\",\"name\":\"TWO BUTTON MOUSE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5B0\"},128433:{\"value\":\"1F5B1\",\"name\":\"THREE BUTTON MOUSE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5B1\"},128434:{\"value\":\"1F5B2\",\"name\":\"TRACKBALL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5B2\"},128435:{\"value\":\"1F5B3\",\"name\":\"OLD PERSONAL COMPUTER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5B3\"},128436:{\"value\":\"1F5B4\",\"name\":\"HARD DISK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5B4\"},128437:{\"value\":\"1F5B5\",\"name\":\"SCREEN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5B5\"},128438:{\"value\":\"1F5B6\",\"name\":\"PRINTER ICON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5B6\"},128439:{\"value\":\"1F5B7\",\"name\":\"FAX ICON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5B7\"},128440:{\"value\":\"1F5B8\",\"name\":\"OPTICAL DISC ICON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5B8\"},128441:{\"value\":\"1F5B9\",\"name\":\"DOCUMENT WITH TEXT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5B9\"},128442:{\"value\":\"1F5BA\",\"name\":\"DOCUMENT WITH TEXT AND PICTURE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5BA\"},128443:{\"value\":\"1F5BB\",\"name\":\"DOCUMENT WITH PICTURE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5BB\"},128444:{\"value\":\"1F5BC\",\"name\":\"FRAME WITH PICTURE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5BC\"},128445:{\"value\":\"1F5BD\",\"name\":\"FRAME WITH TILES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5BD\"},128446:{\"value\":\"1F5BE\",\"name\":\"FRAME WITH AN X\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5BE\"},128447:{\"value\":\"1F5BF\",\"name\":\"BLACK FOLDER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5BF\"},128448:{\"value\":\"1F5C0\",\"name\":\"FOLDER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5C0\"},128449:{\"value\":\"1F5C1\",\"name\":\"OPEN FOLDER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5C1\"},128450:{\"value\":\"1F5C2\",\"name\":\"CARD INDEX DIVIDERS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5C2\"},128451:{\"value\":\"1F5C3\",\"name\":\"CARD FILE BOX\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5C3\"},128452:{\"value\":\"1F5C4\",\"name\":\"FILE CABINET\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5C4\"},128453:{\"value\":\"1F5C5\",\"name\":\"EMPTY NOTE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5C5\"},128454:{\"value\":\"1F5C6\",\"name\":\"EMPTY NOTE PAGE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5C6\"},128455:{\"value\":\"1F5C7\",\"name\":\"EMPTY NOTE PAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5C7\"},128456:{\"value\":\"1F5C8\",\"name\":\"NOTE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5C8\"},128457:{\"value\":\"1F5C9\",\"name\":\"NOTE PAGE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5C9\"},128458:{\"value\":\"1F5CA\",\"name\":\"NOTE PAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5CA\"},128459:{\"value\":\"1F5CB\",\"name\":\"EMPTY DOCUMENT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5CB\"},128460:{\"value\":\"1F5CC\",\"name\":\"EMPTY PAGE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5CC\"},128461:{\"value\":\"1F5CD\",\"name\":\"EMPTY PAGES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5CD\"},128462:{\"value\":\"1F5CE\",\"name\":\"DOCUMENT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5CE\"},128463:{\"value\":\"1F5CF\",\"name\":\"PAGE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5CF\"},128464:{\"value\":\"1F5D0\",\"name\":\"PAGES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5D0\"},128465:{\"value\":\"1F5D1\",\"name\":\"WASTEBASKET\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5D1\"},128466:{\"value\":\"1F5D2\",\"name\":\"SPIRAL NOTE PAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5D2\"},128467:{\"value\":\"1F5D3\",\"name\":\"SPIRAL CALENDAR PAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5D3\"},128468:{\"value\":\"1F5D4\",\"name\":\"DESKTOP WINDOW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5D4\"},128469:{\"value\":\"1F5D5\",\"name\":\"MINIMIZE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5D5\"},128470:{\"value\":\"1F5D6\",\"name\":\"MAXIMIZE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5D6\"},128471:{\"value\":\"1F5D7\",\"name\":\"OVERLAP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5D7\"},128472:{\"value\":\"1F5D8\",\"name\":\"CLOCKWISE RIGHT AND LEFT SEMICIRCLE ARROWS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5D8\"},128473:{\"value\":\"1F5D9\",\"name\":\"CANCELLATION X\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5D9\"},128474:{\"value\":\"1F5DA\",\"name\":\"INCREASE FONT SIZE SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5DA\"},128475:{\"value\":\"1F5DB\",\"name\":\"DECREASE FONT SIZE SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5DB\"},128476:{\"value\":\"1F5DC\",\"name\":\"COMPRESSION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5DC\"},128477:{\"value\":\"1F5DD\",\"name\":\"OLD KEY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5DD\"},128478:{\"value\":\"1F5DE\",\"name\":\"ROLLED-UP NEWSPAPER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5DE\"},128479:{\"value\":\"1F5DF\",\"name\":\"PAGE WITH CIRCLED TEXT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5DF\"},128480:{\"value\":\"1F5E0\",\"name\":\"STOCK CHART\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5E0\"},128481:{\"value\":\"1F5E1\",\"name\":\"DAGGER KNIFE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5E1\"},128482:{\"value\":\"1F5E2\",\"name\":\"LIPS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5E2\"},128483:{\"value\":\"1F5E3\",\"name\":\"SPEAKING HEAD IN SILHOUETTE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5E3\"},128484:{\"value\":\"1F5E4\",\"name\":\"THREE RAYS ABOVE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5E4\"},128485:{\"value\":\"1F5E5\",\"name\":\"THREE RAYS BELOW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5E5\"},128486:{\"value\":\"1F5E6\",\"name\":\"THREE RAYS LEFT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5E6\"},128487:{\"value\":\"1F5E7\",\"name\":\"THREE RAYS RIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5E7\"},128488:{\"value\":\"1F5E8\",\"name\":\"LEFT SPEECH BUBBLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5E8\"},128489:{\"value\":\"1F5E9\",\"name\":\"RIGHT SPEECH BUBBLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5E9\"},128490:{\"value\":\"1F5EA\",\"name\":\"TWO SPEECH BUBBLES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5EA\"},128491:{\"value\":\"1F5EB\",\"name\":\"THREE SPEECH BUBBLES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5EB\"},128492:{\"value\":\"1F5EC\",\"name\":\"LEFT THOUGHT BUBBLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5EC\"},128493:{\"value\":\"1F5ED\",\"name\":\"RIGHT THOUGHT BUBBLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5ED\"},128494:{\"value\":\"1F5EE\",\"name\":\"LEFT ANGER BUBBLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5EE\"},128495:{\"value\":\"1F5EF\",\"name\":\"RIGHT ANGER BUBBLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5EF\"},128496:{\"value\":\"1F5F0\",\"name\":\"MOOD BUBBLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5F0\"},128497:{\"value\":\"1F5F1\",\"name\":\"LIGHTNING MOOD BUBBLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5F1\"},128498:{\"value\":\"1F5F2\",\"name\":\"LIGHTNING MOOD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5F2\"},128499:{\"value\":\"1F5F3\",\"name\":\"BALLOT BOX WITH BALLOT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5F3\"},128500:{\"value\":\"1F5F4\",\"name\":\"BALLOT SCRIPT X\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5F4\"},128501:{\"value\":\"1F5F5\",\"name\":\"BALLOT BOX WITH SCRIPT X\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5F5\"},128502:{\"value\":\"1F5F6\",\"name\":\"BALLOT BOLD SCRIPT X\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5F6\"},128503:{\"value\":\"1F5F7\",\"name\":\"BALLOT BOX WITH BOLD SCRIPT X\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5F7\"},128504:{\"value\":\"1F5F8\",\"name\":\"LIGHT CHECK MARK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5F8\"},128505:{\"value\":\"1F5F9\",\"name\":\"BALLOT BOX WITH BOLD CHECK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5F9\"},128506:{\"value\":\"1F5FA\",\"name\":\"WORLD MAP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5FA\"},128507:{\"value\":\"1F5FB\",\"name\":\"MOUNT FUJI\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5FB\"},128508:{\"value\":\"1F5FC\",\"name\":\"TOKYO TOWER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5FC\"},128509:{\"value\":\"1F5FD\",\"name\":\"STATUE OF LIBERTY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5FD\"},128510:{\"value\":\"1F5FE\",\"name\":\"SILHOUETTE OF JAPAN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5FE\"},128511:{\"value\":\"1F5FF\",\"name\":\"MOYAI\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF5FF\"},128512:{\"value\":\"1F600\",\"name\":\"GRINNING FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF600\"},128513:{\"value\":\"1F601\",\"name\":\"GRINNING FACE WITH SMILING EYES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF601\"},128514:{\"value\":\"1F602\",\"name\":\"FACE WITH TEARS OF JOY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF602\"},128515:{\"value\":\"1F603\",\"name\":\"SMILING FACE WITH OPEN MOUTH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF603\"},128516:{\"value\":\"1F604\",\"name\":\"SMILING FACE WITH OPEN MOUTH AND SMILING EYES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF604\"},128517:{\"value\":\"1F605\",\"name\":\"SMILING FACE WITH OPEN MOUTH AND COLD SWEAT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF605\"},128518:{\"value\":\"1F606\",\"name\":\"SMILING FACE WITH OPEN MOUTH AND TIGHTLY-CLOSED EYES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF606\"},128519:{\"value\":\"1F607\",\"name\":\"SMILING FACE WITH HALO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF607\"},128520:{\"value\":\"1F608\",\"name\":\"SMILING FACE WITH HORNS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF608\"},128521:{\"value\":\"1F609\",\"name\":\"WINKING FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF609\"},128522:{\"value\":\"1F60A\",\"name\":\"SMILING FACE WITH SMILING EYES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF60A\"},128523:{\"value\":\"1F60B\",\"name\":\"FACE SAVOURING DELICIOUS FOOD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF60B\"},128524:{\"value\":\"1F60C\",\"name\":\"RELIEVED FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF60C\"},128525:{\"value\":\"1F60D\",\"name\":\"SMILING FACE WITH HEART-SHAPED EYES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF60D\"},128526:{\"value\":\"1F60E\",\"name\":\"SMILING FACE WITH SUNGLASSES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF60E\"},128527:{\"value\":\"1F60F\",\"name\":\"SMIRKING FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF60F\"},128528:{\"value\":\"1F610\",\"name\":\"NEUTRAL FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF610\"},128529:{\"value\":\"1F611\",\"name\":\"EXPRESSIONLESS FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF611\"},128530:{\"value\":\"1F612\",\"name\":\"UNAMUSED FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF612\"},128531:{\"value\":\"1F613\",\"name\":\"FACE WITH COLD SWEAT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF613\"},128532:{\"value\":\"1F614\",\"name\":\"PENSIVE FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF614\"},128533:{\"value\":\"1F615\",\"name\":\"CONFUSED FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF615\"},128534:{\"value\":\"1F616\",\"name\":\"CONFOUNDED FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF616\"},128535:{\"value\":\"1F617\",\"name\":\"KISSING FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF617\"},128536:{\"value\":\"1F618\",\"name\":\"FACE THROWING A KISS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF618\"},128537:{\"value\":\"1F619\",\"name\":\"KISSING FACE WITH SMILING EYES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF619\"},128538:{\"value\":\"1F61A\",\"name\":\"KISSING FACE WITH CLOSED EYES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF61A\"},128539:{\"value\":\"1F61B\",\"name\":\"FACE WITH STUCK-OUT TONGUE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF61B\"},128540:{\"value\":\"1F61C\",\"name\":\"FACE WITH STUCK-OUT TONGUE AND WINKING EYE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF61C\"},128541:{\"value\":\"1F61D\",\"name\":\"FACE WITH STUCK-OUT TONGUE AND TIGHTLY-CLOSED EYES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF61D\"},128542:{\"value\":\"1F61E\",\"name\":\"DISAPPOINTED FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF61E\"},128543:{\"value\":\"1F61F\",\"name\":\"WORRIED FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF61F\"},128544:{\"value\":\"1F620\",\"name\":\"ANGRY FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF620\"},128545:{\"value\":\"1F621\",\"name\":\"POUTING FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF621\"},128546:{\"value\":\"1F622\",\"name\":\"CRYING FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF622\"},128547:{\"value\":\"1F623\",\"name\":\"PERSEVERING FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF623\"},128548:{\"value\":\"1F624\",\"name\":\"FACE WITH LOOK OF TRIUMPH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF624\"},128549:{\"value\":\"1F625\",\"name\":\"DISAPPOINTED BUT RELIEVED FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF625\"},128550:{\"value\":\"1F626\",\"name\":\"FROWNING FACE WITH OPEN MOUTH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF626\"},128551:{\"value\":\"1F627\",\"name\":\"ANGUISHED FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF627\"},128552:{\"value\":\"1F628\",\"name\":\"FEARFUL FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF628\"},128553:{\"value\":\"1F629\",\"name\":\"WEARY FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF629\"},128554:{\"value\":\"1F62A\",\"name\":\"SLEEPY FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF62A\"},128555:{\"value\":\"1F62B\",\"name\":\"TIRED FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF62B\"},128556:{\"value\":\"1F62C\",\"name\":\"GRIMACING FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF62C\"},128557:{\"value\":\"1F62D\",\"name\":\"LOUDLY CRYING FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF62D\"},128558:{\"value\":\"1F62E\",\"name\":\"FACE WITH OPEN MOUTH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF62E\"},128559:{\"value\":\"1F62F\",\"name\":\"HUSHED FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF62F\"},128560:{\"value\":\"1F630\",\"name\":\"FACE WITH OPEN MOUTH AND COLD SWEAT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF630\"},128561:{\"value\":\"1F631\",\"name\":\"FACE SCREAMING IN FEAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF631\"},128562:{\"value\":\"1F632\",\"name\":\"ASTONISHED FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF632\"},128563:{\"value\":\"1F633\",\"name\":\"FLUSHED FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF633\"},128564:{\"value\":\"1F634\",\"name\":\"SLEEPING FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF634\"},128565:{\"value\":\"1F635\",\"name\":\"DIZZY FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF635\"},128566:{\"value\":\"1F636\",\"name\":\"FACE WITHOUT MOUTH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF636\"},128567:{\"value\":\"1F637\",\"name\":\"FACE WITH MEDICAL MASK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF637\"},128568:{\"value\":\"1F638\",\"name\":\"GRINNING CAT FACE WITH SMILING EYES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF638\"},128569:{\"value\":\"1F639\",\"name\":\"CAT FACE WITH TEARS OF JOY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF639\"},128570:{\"value\":\"1F63A\",\"name\":\"SMILING CAT FACE WITH OPEN MOUTH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF63A\"},128571:{\"value\":\"1F63B\",\"name\":\"SMILING CAT FACE WITH HEART-SHAPED EYES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF63B\"},128572:{\"value\":\"1F63C\",\"name\":\"CAT FACE WITH WRY SMILE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF63C\"},128573:{\"value\":\"1F63D\",\"name\":\"KISSING CAT FACE WITH CLOSED EYES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF63D\"},128574:{\"value\":\"1F63E\",\"name\":\"POUTING CAT FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF63E\"},128575:{\"value\":\"1F63F\",\"name\":\"CRYING CAT FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF63F\"},128576:{\"value\":\"1F640\",\"name\":\"WEARY CAT FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF640\"},128577:{\"value\":\"1F641\",\"name\":\"SLIGHTLY FROWNING FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF641\"},128578:{\"value\":\"1F642\",\"name\":\"SLIGHTLY SMILING FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF642\"},128579:{\"value\":\"1F643\",\"name\":\"UPSIDE-DOWN FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF643\"},128580:{\"value\":\"1F644\",\"name\":\"FACE WITH ROLLING EYES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF644\"},128581:{\"value\":\"1F645\",\"name\":\"FACE WITH NO GOOD GESTURE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF645\"},128582:{\"value\":\"1F646\",\"name\":\"FACE WITH OK GESTURE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF646\"},128583:{\"value\":\"1F647\",\"name\":\"PERSON BOWING DEEPLY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF647\"},128584:{\"value\":\"1F648\",\"name\":\"SEE-NO-EVIL MONKEY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF648\"},128585:{\"value\":\"1F649\",\"name\":\"HEAR-NO-EVIL MONKEY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF649\"},128586:{\"value\":\"1F64A\",\"name\":\"SPEAK-NO-EVIL MONKEY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF64A\"},128587:{\"value\":\"1F64B\",\"name\":\"HAPPY PERSON RAISING ONE HAND\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF64B\"},128588:{\"value\":\"1F64C\",\"name\":\"PERSON RAISING BOTH HANDS IN CELEBRATION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF64C\"},128589:{\"value\":\"1F64D\",\"name\":\"PERSON FROWNING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF64D\"},128590:{\"value\":\"1F64E\",\"name\":\"PERSON WITH POUTING FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF64E\"},128591:{\"value\":\"1F64F\",\"name\":\"PERSON WITH FOLDED HANDS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF64F\"},128592:{\"value\":\"1F650\",\"name\":\"NORTH WEST POINTING LEAF\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF650\"},128593:{\"value\":\"1F651\",\"name\":\"SOUTH WEST POINTING LEAF\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF651\"},128594:{\"value\":\"1F652\",\"name\":\"NORTH EAST POINTING LEAF\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF652\"},128595:{\"value\":\"1F653\",\"name\":\"SOUTH EAST POINTING LEAF\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF653\"},128596:{\"value\":\"1F654\",\"name\":\"TURNED NORTH WEST POINTING LEAF\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF654\"},128597:{\"value\":\"1F655\",\"name\":\"TURNED SOUTH WEST POINTING LEAF\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF655\"},128598:{\"value\":\"1F656\",\"name\":\"TURNED NORTH EAST POINTING LEAF\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF656\"},128599:{\"value\":\"1F657\",\"name\":\"TURNED SOUTH EAST POINTING LEAF\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF657\"},128600:{\"value\":\"1F658\",\"name\":\"NORTH WEST POINTING VINE LEAF\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF658\"},128601:{\"value\":\"1F659\",\"name\":\"SOUTH WEST POINTING VINE LEAF\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF659\"},128602:{\"value\":\"1F65A\",\"name\":\"NORTH EAST POINTING VINE LEAF\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF65A\"},128603:{\"value\":\"1F65B\",\"name\":\"SOUTH EAST POINTING VINE LEAF\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF65B\"},128604:{\"value\":\"1F65C\",\"name\":\"HEAVY NORTH WEST POINTING VINE LEAF\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF65C\"},128605:{\"value\":\"1F65D\",\"name\":\"HEAVY SOUTH WEST POINTING VINE LEAF\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF65D\"},128606:{\"value\":\"1F65E\",\"name\":\"HEAVY NORTH EAST POINTING VINE LEAF\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF65E\"},128607:{\"value\":\"1F65F\",\"name\":\"HEAVY SOUTH EAST POINTING VINE LEAF\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF65F\"},128608:{\"value\":\"1F660\",\"name\":\"NORTH WEST POINTING BUD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF660\"},128609:{\"value\":\"1F661\",\"name\":\"SOUTH WEST POINTING BUD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF661\"},128610:{\"value\":\"1F662\",\"name\":\"NORTH EAST POINTING BUD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF662\"},128611:{\"value\":\"1F663\",\"name\":\"SOUTH EAST POINTING BUD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF663\"},128612:{\"value\":\"1F664\",\"name\":\"HEAVY NORTH WEST POINTING BUD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF664\"},128613:{\"value\":\"1F665\",\"name\":\"HEAVY SOUTH WEST POINTING BUD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF665\"},128614:{\"value\":\"1F666\",\"name\":\"HEAVY NORTH EAST POINTING BUD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF666\"},128615:{\"value\":\"1F667\",\"name\":\"HEAVY SOUTH EAST POINTING BUD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF667\"},128616:{\"value\":\"1F668\",\"name\":\"HOLLOW QUILT SQUARE ORNAMENT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF668\"},128617:{\"value\":\"1F669\",\"name\":\"HOLLOW QUILT SQUARE ORNAMENT IN BLACK SQUARE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF669\"},128618:{\"value\":\"1F66A\",\"name\":\"SOLID QUILT SQUARE ORNAMENT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF66A\"},128619:{\"value\":\"1F66B\",\"name\":\"SOLID QUILT SQUARE ORNAMENT IN BLACK SQUARE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF66B\"},128620:{\"value\":\"1F66C\",\"name\":\"LEFTWARDS ROCKET\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF66C\"},128621:{\"value\":\"1F66D\",\"name\":\"UPWARDS ROCKET\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF66D\"},128622:{\"value\":\"1F66E\",\"name\":\"RIGHTWARDS ROCKET\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF66E\"},128623:{\"value\":\"1F66F\",\"name\":\"DOWNWARDS ROCKET\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF66F\"},128624:{\"value\":\"1F670\",\"name\":\"SCRIPT LIGATURE ET ORNAMENT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF670\"},128625:{\"value\":\"1F671\",\"name\":\"HEAVY SCRIPT LIGATURE ET ORNAMENT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF671\"},128626:{\"value\":\"1F672\",\"name\":\"LIGATURE OPEN ET ORNAMENT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF672\"},128627:{\"value\":\"1F673\",\"name\":\"HEAVY LIGATURE OPEN ET ORNAMENT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF673\"},128628:{\"value\":\"1F674\",\"name\":\"HEAVY AMPERSAND ORNAMENT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF674\"},128629:{\"value\":\"1F675\",\"name\":\"SWASH AMPERSAND ORNAMENT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF675\"},128630:{\"value\":\"1F676\",\"name\":\"SANS-SERIF HEAVY DOUBLE TURNED COMMA QUOTATION MARK ORNAMENT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF676\"},128631:{\"value\":\"1F677\",\"name\":\"SANS-SERIF HEAVY DOUBLE COMMA QUOTATION MARK ORNAMENT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF677\"},128632:{\"value\":\"1F678\",\"name\":\"SANS-SERIF HEAVY LOW DOUBLE COMMA QUOTATION MARK ORNAMENT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF678\"},128633:{\"value\":\"1F679\",\"name\":\"HEAVY INTERROBANG ORNAMENT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF679\"},128634:{\"value\":\"1F67A\",\"name\":\"SANS-SERIF INTERROBANG ORNAMENT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF67A\"},128635:{\"value\":\"1F67B\",\"name\":\"HEAVY SANS-SERIF INTERROBANG ORNAMENT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF67B\"},128636:{\"value\":\"1F67C\",\"name\":\"VERY HEAVY SOLIDUS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF67C\"},128637:{\"value\":\"1F67D\",\"name\":\"VERY HEAVY REVERSE SOLIDUS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF67D\"},128638:{\"value\":\"1F67E\",\"name\":\"CHECKER BOARD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF67E\"},128639:{\"value\":\"1F67F\",\"name\":\"REVERSE CHECKER BOARD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF67F\"},128640:{\"value\":\"1F680\",\"name\":\"ROCKET\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF680\"},128641:{\"value\":\"1F681\",\"name\":\"HELICOPTER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF681\"},128642:{\"value\":\"1F682\",\"name\":\"STEAM LOCOMOTIVE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF682\"},128643:{\"value\":\"1F683\",\"name\":\"RAILWAY CAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF683\"},128644:{\"value\":\"1F684\",\"name\":\"HIGH-SPEED TRAIN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF684\"},128645:{\"value\":\"1F685\",\"name\":\"HIGH-SPEED TRAIN WITH BULLET NOSE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF685\"},128646:{\"value\":\"1F686\",\"name\":\"TRAIN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF686\"},128647:{\"value\":\"1F687\",\"name\":\"METRO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF687\"},128648:{\"value\":\"1F688\",\"name\":\"LIGHT RAIL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF688\"},128649:{\"value\":\"1F689\",\"name\":\"STATION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF689\"},128650:{\"value\":\"1F68A\",\"name\":\"TRAM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF68A\"},128651:{\"value\":\"1F68B\",\"name\":\"TRAM CAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF68B\"},128652:{\"value\":\"1F68C\",\"name\":\"BUS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF68C\"},128653:{\"value\":\"1F68D\",\"name\":\"ONCOMING BUS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF68D\"},128654:{\"value\":\"1F68E\",\"name\":\"TROLLEYBUS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF68E\"},128655:{\"value\":\"1F68F\",\"name\":\"BUS STOP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF68F\"},128656:{\"value\":\"1F690\",\"name\":\"MINIBUS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF690\"},128657:{\"value\":\"1F691\",\"name\":\"AMBULANCE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF691\"},128658:{\"value\":\"1F692\",\"name\":\"FIRE ENGINE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF692\"},128659:{\"value\":\"1F693\",\"name\":\"POLICE CAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF693\"},128660:{\"value\":\"1F694\",\"name\":\"ONCOMING POLICE CAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF694\"},128661:{\"value\":\"1F695\",\"name\":\"TAXI\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF695\"},128662:{\"value\":\"1F696\",\"name\":\"ONCOMING TAXI\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF696\"},128663:{\"value\":\"1F697\",\"name\":\"AUTOMOBILE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF697\"},128664:{\"value\":\"1F698\",\"name\":\"ONCOMING AUTOMOBILE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF698\"},128665:{\"value\":\"1F699\",\"name\":\"RECREATIONAL VEHICLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF699\"},128666:{\"value\":\"1F69A\",\"name\":\"DELIVERY TRUCK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF69A\"},128667:{\"value\":\"1F69B\",\"name\":\"ARTICULATED LORRY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF69B\"},128668:{\"value\":\"1F69C\",\"name\":\"TRACTOR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF69C\"},128669:{\"value\":\"1F69D\",\"name\":\"MONORAIL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF69D\"},128670:{\"value\":\"1F69E\",\"name\":\"MOUNTAIN RAILWAY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF69E\"},128671:{\"value\":\"1F69F\",\"name\":\"SUSPENSION RAILWAY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF69F\"},128672:{\"value\":\"1F6A0\",\"name\":\"MOUNTAIN CABLEWAY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF6A0\"},128673:{\"value\":\"1F6A1\",\"name\":\"AERIAL TRAMWAY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF6A1\"},128674:{\"value\":\"1F6A2\",\"name\":\"SHIP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF6A2\"},128675:{\"value\":\"1F6A3\",\"name\":\"ROWBOAT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF6A3\"},128676:{\"value\":\"1F6A4\",\"name\":\"SPEEDBOAT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF6A4\"},128677:{\"value\":\"1F6A5\",\"name\":\"HORIZONTAL TRAFFIC LIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF6A5\"},128678:{\"value\":\"1F6A6\",\"name\":\"VERTICAL TRAFFIC LIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF6A6\"},128679:{\"value\":\"1F6A7\",\"name\":\"CONSTRUCTION SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF6A7\"},128680:{\"value\":\"1F6A8\",\"name\":\"POLICE CARS REVOLVING LIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF6A8\"},128681:{\"value\":\"1F6A9\",\"name\":\"TRIANGULAR FLAG ON POST\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF6A9\"},128682:{\"value\":\"1F6AA\",\"name\":\"DOOR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF6AA\"},128683:{\"value\":\"1F6AB\",\"name\":\"NO ENTRY SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF6AB\"},128684:{\"value\":\"1F6AC\",\"name\":\"SMOKING SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF6AC\"},128685:{\"value\":\"1F6AD\",\"name\":\"NO SMOKING SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF6AD\"},128686:{\"value\":\"1F6AE\",\"name\":\"PUT LITTER IN ITS PLACE SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF6AE\"},128687:{\"value\":\"1F6AF\",\"name\":\"DO NOT LITTER SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF6AF\"},128688:{\"value\":\"1F6B0\",\"name\":\"POTABLE WATER SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF6B0\"},128689:{\"value\":\"1F6B1\",\"name\":\"NON-POTABLE WATER SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF6B1\"},128690:{\"value\":\"1F6B2\",\"name\":\"BICYCLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF6B2\"},128691:{\"value\":\"1F6B3\",\"name\":\"NO BICYCLES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF6B3\"},128692:{\"value\":\"1F6B4\",\"name\":\"BICYCLIST\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF6B4\"},128693:{\"value\":\"1F6B5\",\"name\":\"MOUNTAIN BICYCLIST\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF6B5\"},128694:{\"value\":\"1F6B6\",\"name\":\"PEDESTRIAN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF6B6\"},128695:{\"value\":\"1F6B7\",\"name\":\"NO PEDESTRIANS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF6B7\"},128696:{\"value\":\"1F6B8\",\"name\":\"CHILDREN CROSSING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF6B8\"},128697:{\"value\":\"1F6B9\",\"name\":\"MENS SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF6B9\"},128698:{\"value\":\"1F6BA\",\"name\":\"WOMENS SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF6BA\"},128699:{\"value\":\"1F6BB\",\"name\":\"RESTROOM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF6BB\"},128700:{\"value\":\"1F6BC\",\"name\":\"BABY SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF6BC\"},128701:{\"value\":\"1F6BD\",\"name\":\"TOILET\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF6BD\"},128702:{\"value\":\"1F6BE\",\"name\":\"WATER CLOSET\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF6BE\"},128703:{\"value\":\"1F6BF\",\"name\":\"SHOWER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF6BF\"},128704:{\"value\":\"1F6C0\",\"name\":\"BATH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF6C0\"},128705:{\"value\":\"1F6C1\",\"name\":\"BATHTUB\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF6C1\"},128706:{\"value\":\"1F6C2\",\"name\":\"PASSPORT CONTROL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF6C2\"},128707:{\"value\":\"1F6C3\",\"name\":\"CUSTOMS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF6C3\"},128708:{\"value\":\"1F6C4\",\"name\":\"BAGGAGE CLAIM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF6C4\"},128709:{\"value\":\"1F6C5\",\"name\":\"LEFT LUGGAGE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF6C5\"},128710:{\"value\":\"1F6C6\",\"name\":\"TRIANGLE WITH ROUNDED CORNERS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF6C6\"},128711:{\"value\":\"1F6C7\",\"name\":\"PROHIBITED SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF6C7\"},128712:{\"value\":\"1F6C8\",\"name\":\"CIRCLED INFORMATION SOURCE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF6C8\"},128713:{\"value\":\"1F6C9\",\"name\":\"BOYS SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF6C9\"},128714:{\"value\":\"1F6CA\",\"name\":\"GIRLS SYMBOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF6CA\"},128715:{\"value\":\"1F6CB\",\"name\":\"COUCH AND LAMP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF6CB\"},128716:{\"value\":\"1F6CC\",\"name\":\"SLEEPING ACCOMMODATION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF6CC\"},128717:{\"value\":\"1F6CD\",\"name\":\"SHOPPING BAGS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF6CD\"},128718:{\"value\":\"1F6CE\",\"name\":\"BELLHOP BELL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF6CE\"},128719:{\"value\":\"1F6CF\",\"name\":\"BED\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF6CF\"},128720:{\"value\":\"1F6D0\",\"name\":\"PLACE OF WORSHIP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF6D0\"},128721:{\"value\":\"1F6D1\",\"name\":\"OCTAGONAL SIGN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF6D1\"},128722:{\"value\":\"1F6D2\",\"name\":\"SHOPPING TROLLEY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF6D2\"},128736:{\"value\":\"1F6E0\",\"name\":\"HAMMER AND WRENCH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF6E0\"},128737:{\"value\":\"1F6E1\",\"name\":\"SHIELD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF6E1\"},128738:{\"value\":\"1F6E2\",\"name\":\"OIL DRUM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF6E2\"},128739:{\"value\":\"1F6E3\",\"name\":\"MOTORWAY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF6E3\"},128740:{\"value\":\"1F6E4\",\"name\":\"RAILWAY TRACK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF6E4\"},128741:{\"value\":\"1F6E5\",\"name\":\"MOTOR BOAT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF6E5\"},128742:{\"value\":\"1F6E6\",\"name\":\"UP-POINTING MILITARY AIRPLANE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF6E6\"},128743:{\"value\":\"1F6E7\",\"name\":\"UP-POINTING AIRPLANE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF6E7\"},128744:{\"value\":\"1F6E8\",\"name\":\"UP-POINTING SMALL AIRPLANE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF6E8\"},128745:{\"value\":\"1F6E9\",\"name\":\"SMALL AIRPLANE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF6E9\"},128746:{\"value\":\"1F6EA\",\"name\":\"NORTHEAST-POINTING AIRPLANE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF6EA\"},128747:{\"value\":\"1F6EB\",\"name\":\"AIRPLANE DEPARTURE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF6EB\"},128748:{\"value\":\"1F6EC\",\"name\":\"AIRPLANE ARRIVING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF6EC\"},128752:{\"value\":\"1F6F0\",\"name\":\"SATELLITE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF6F0\"},128753:{\"value\":\"1F6F1\",\"name\":\"ONCOMING FIRE ENGINE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF6F1\"},128754:{\"value\":\"1F6F2\",\"name\":\"DIESEL LOCOMOTIVE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF6F2\"},128755:{\"value\":\"1F6F3\",\"name\":\"PASSENGER SHIP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF6F3\"},128756:{\"value\":\"1F6F4\",\"name\":\"SCOOTER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF6F4\"},128757:{\"value\":\"1F6F5\",\"name\":\"MOTOR SCOOTER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF6F5\"},128758:{\"value\":\"1F6F6\",\"name\":\"CANOE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF6F6\"},128768:{\"value\":\"1F700\",\"name\":\"ALCHEMICAL SYMBOL FOR QUINTESSENCE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF700\"},128769:{\"value\":\"1F701\",\"name\":\"ALCHEMICAL SYMBOL FOR AIR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF701\"},128770:{\"value\":\"1F702\",\"name\":\"ALCHEMICAL SYMBOL FOR FIRE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF702\"},128771:{\"value\":\"1F703\",\"name\":\"ALCHEMICAL SYMBOL FOR EARTH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF703\"},128772:{\"value\":\"1F704\",\"name\":\"ALCHEMICAL SYMBOL FOR WATER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF704\"},128773:{\"value\":\"1F705\",\"name\":\"ALCHEMICAL SYMBOL FOR AQUAFORTIS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF705\"},128774:{\"value\":\"1F706\",\"name\":\"ALCHEMICAL SYMBOL FOR AQUA REGIA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF706\"},128775:{\"value\":\"1F707\",\"name\":\"ALCHEMICAL SYMBOL FOR AQUA REGIA-2\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF707\"},128776:{\"value\":\"1F708\",\"name\":\"ALCHEMICAL SYMBOL FOR AQUA VITAE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF708\"},128777:{\"value\":\"1F709\",\"name\":\"ALCHEMICAL SYMBOL FOR AQUA VITAE-2\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF709\"},128778:{\"value\":\"1F70A\",\"name\":\"ALCHEMICAL SYMBOL FOR VINEGAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF70A\"},128779:{\"value\":\"1F70B\",\"name\":\"ALCHEMICAL SYMBOL FOR VINEGAR-2\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF70B\"},128780:{\"value\":\"1F70C\",\"name\":\"ALCHEMICAL SYMBOL FOR VINEGAR-3\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF70C\"},128781:{\"value\":\"1F70D\",\"name\":\"ALCHEMICAL SYMBOL FOR SULFUR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF70D\"},128782:{\"value\":\"1F70E\",\"name\":\"ALCHEMICAL SYMBOL FOR PHILOSOPHERS SULFUR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF70E\"},128783:{\"value\":\"1F70F\",\"name\":\"ALCHEMICAL SYMBOL FOR BLACK SULFUR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF70F\"},128784:{\"value\":\"1F710\",\"name\":\"ALCHEMICAL SYMBOL FOR MERCURY SUBLIMATE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF710\"},128785:{\"value\":\"1F711\",\"name\":\"ALCHEMICAL SYMBOL FOR MERCURY SUBLIMATE-2\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF711\"},128786:{\"value\":\"1F712\",\"name\":\"ALCHEMICAL SYMBOL FOR MERCURY SUBLIMATE-3\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF712\"},128787:{\"value\":\"1F713\",\"name\":\"ALCHEMICAL SYMBOL FOR CINNABAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF713\"},128788:{\"value\":\"1F714\",\"name\":\"ALCHEMICAL SYMBOL FOR SALT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF714\"},128789:{\"value\":\"1F715\",\"name\":\"ALCHEMICAL SYMBOL FOR NITRE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF715\"},128790:{\"value\":\"1F716\",\"name\":\"ALCHEMICAL SYMBOL FOR VITRIOL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF716\"},128791:{\"value\":\"1F717\",\"name\":\"ALCHEMICAL SYMBOL FOR VITRIOL-2\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF717\"},128792:{\"value\":\"1F718\",\"name\":\"ALCHEMICAL SYMBOL FOR ROCK SALT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF718\"},128793:{\"value\":\"1F719\",\"name\":\"ALCHEMICAL SYMBOL FOR ROCK SALT-2\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF719\"},128794:{\"value\":\"1F71A\",\"name\":\"ALCHEMICAL SYMBOL FOR GOLD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF71A\"},128795:{\"value\":\"1F71B\",\"name\":\"ALCHEMICAL SYMBOL FOR SILVER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF71B\"},128796:{\"value\":\"1F71C\",\"name\":\"ALCHEMICAL SYMBOL FOR IRON ORE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF71C\"},128797:{\"value\":\"1F71D\",\"name\":\"ALCHEMICAL SYMBOL FOR IRON ORE-2\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF71D\"},128798:{\"value\":\"1F71E\",\"name\":\"ALCHEMICAL SYMBOL FOR CROCUS OF IRON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF71E\"},128799:{\"value\":\"1F71F\",\"name\":\"ALCHEMICAL SYMBOL FOR REGULUS OF IRON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF71F\"},128800:{\"value\":\"1F720\",\"name\":\"ALCHEMICAL SYMBOL FOR COPPER ORE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF720\"},128801:{\"value\":\"1F721\",\"name\":\"ALCHEMICAL SYMBOL FOR IRON-COPPER ORE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF721\"},128802:{\"value\":\"1F722\",\"name\":\"ALCHEMICAL SYMBOL FOR SUBLIMATE OF COPPER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF722\"},128803:{\"value\":\"1F723\",\"name\":\"ALCHEMICAL SYMBOL FOR CROCUS OF COPPER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF723\"},128804:{\"value\":\"1F724\",\"name\":\"ALCHEMICAL SYMBOL FOR CROCUS OF COPPER-2\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF724\"},128805:{\"value\":\"1F725\",\"name\":\"ALCHEMICAL SYMBOL FOR COPPER ANTIMONIATE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF725\"},128806:{\"value\":\"1F726\",\"name\":\"ALCHEMICAL SYMBOL FOR SALT OF COPPER ANTIMONIATE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF726\"},128807:{\"value\":\"1F727\",\"name\":\"ALCHEMICAL SYMBOL FOR SUBLIMATE OF SALT OF COPPER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF727\"},128808:{\"value\":\"1F728\",\"name\":\"ALCHEMICAL SYMBOL FOR VERDIGRIS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF728\"},128809:{\"value\":\"1F729\",\"name\":\"ALCHEMICAL SYMBOL FOR TIN ORE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF729\"},128810:{\"value\":\"1F72A\",\"name\":\"ALCHEMICAL SYMBOL FOR LEAD ORE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF72A\"},128811:{\"value\":\"1F72B\",\"name\":\"ALCHEMICAL SYMBOL FOR ANTIMONY ORE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF72B\"},128812:{\"value\":\"1F72C\",\"name\":\"ALCHEMICAL SYMBOL FOR SUBLIMATE OF ANTIMONY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF72C\"},128813:{\"value\":\"1F72D\",\"name\":\"ALCHEMICAL SYMBOL FOR SALT OF ANTIMONY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF72D\"},128814:{\"value\":\"1F72E\",\"name\":\"ALCHEMICAL SYMBOL FOR SUBLIMATE OF SALT OF ANTIMONY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF72E\"},128815:{\"value\":\"1F72F\",\"name\":\"ALCHEMICAL SYMBOL FOR VINEGAR OF ANTIMONY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF72F\"},128816:{\"value\":\"1F730\",\"name\":\"ALCHEMICAL SYMBOL FOR REGULUS OF ANTIMONY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF730\"},128817:{\"value\":\"1F731\",\"name\":\"ALCHEMICAL SYMBOL FOR REGULUS OF ANTIMONY-2\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF731\"},128818:{\"value\":\"1F732\",\"name\":\"ALCHEMICAL SYMBOL FOR REGULUS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF732\"},128819:{\"value\":\"1F733\",\"name\":\"ALCHEMICAL SYMBOL FOR REGULUS-2\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF733\"},128820:{\"value\":\"1F734\",\"name\":\"ALCHEMICAL SYMBOL FOR REGULUS-3\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF734\"},128821:{\"value\":\"1F735\",\"name\":\"ALCHEMICAL SYMBOL FOR REGULUS-4\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF735\"},128822:{\"value\":\"1F736\",\"name\":\"ALCHEMICAL SYMBOL FOR ALKALI\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF736\"},128823:{\"value\":\"1F737\",\"name\":\"ALCHEMICAL SYMBOL FOR ALKALI-2\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF737\"},128824:{\"value\":\"1F738\",\"name\":\"ALCHEMICAL SYMBOL FOR MARCASITE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF738\"},128825:{\"value\":\"1F739\",\"name\":\"ALCHEMICAL SYMBOL FOR SAL-AMMONIAC\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF739\"},128826:{\"value\":\"1F73A\",\"name\":\"ALCHEMICAL SYMBOL FOR ARSENIC\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF73A\"},128827:{\"value\":\"1F73B\",\"name\":\"ALCHEMICAL SYMBOL FOR REALGAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF73B\"},128828:{\"value\":\"1F73C\",\"name\":\"ALCHEMICAL SYMBOL FOR REALGAR-2\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF73C\"},128829:{\"value\":\"1F73D\",\"name\":\"ALCHEMICAL SYMBOL FOR AURIPIGMENT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF73D\"},128830:{\"value\":\"1F73E\",\"name\":\"ALCHEMICAL SYMBOL FOR BISMUTH ORE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF73E\"},128831:{\"value\":\"1F73F\",\"name\":\"ALCHEMICAL SYMBOL FOR TARTAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF73F\"},128832:{\"value\":\"1F740\",\"name\":\"ALCHEMICAL SYMBOL FOR TARTAR-2\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF740\"},128833:{\"value\":\"1F741\",\"name\":\"ALCHEMICAL SYMBOL FOR QUICK LIME\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF741\"},128834:{\"value\":\"1F742\",\"name\":\"ALCHEMICAL SYMBOL FOR BORAX\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF742\"},128835:{\"value\":\"1F743\",\"name\":\"ALCHEMICAL SYMBOL FOR BORAX-2\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF743\"},128836:{\"value\":\"1F744\",\"name\":\"ALCHEMICAL SYMBOL FOR BORAX-3\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF744\"},128837:{\"value\":\"1F745\",\"name\":\"ALCHEMICAL SYMBOL FOR ALUM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF745\"},128838:{\"value\":\"1F746\",\"name\":\"ALCHEMICAL SYMBOL FOR OIL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF746\"},128839:{\"value\":\"1F747\",\"name\":\"ALCHEMICAL SYMBOL FOR SPIRIT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF747\"},128840:{\"value\":\"1F748\",\"name\":\"ALCHEMICAL SYMBOL FOR TINCTURE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF748\"},128841:{\"value\":\"1F749\",\"name\":\"ALCHEMICAL SYMBOL FOR GUM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF749\"},128842:{\"value\":\"1F74A\",\"name\":\"ALCHEMICAL SYMBOL FOR WAX\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF74A\"},128843:{\"value\":\"1F74B\",\"name\":\"ALCHEMICAL SYMBOL FOR POWDER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF74B\"},128844:{\"value\":\"1F74C\",\"name\":\"ALCHEMICAL SYMBOL FOR CALX\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF74C\"},128845:{\"value\":\"1F74D\",\"name\":\"ALCHEMICAL SYMBOL FOR TUTTY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF74D\"},128846:{\"value\":\"1F74E\",\"name\":\"ALCHEMICAL SYMBOL FOR CAPUT MORTUUM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF74E\"},128847:{\"value\":\"1F74F\",\"name\":\"ALCHEMICAL SYMBOL FOR SCEPTER OF JOVE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF74F\"},128848:{\"value\":\"1F750\",\"name\":\"ALCHEMICAL SYMBOL FOR CADUCEUS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF750\"},128849:{\"value\":\"1F751\",\"name\":\"ALCHEMICAL SYMBOL FOR TRIDENT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF751\"},128850:{\"value\":\"1F752\",\"name\":\"ALCHEMICAL SYMBOL FOR STARRED TRIDENT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF752\"},128851:{\"value\":\"1F753\",\"name\":\"ALCHEMICAL SYMBOL FOR LODESTONE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF753\"},128852:{\"value\":\"1F754\",\"name\":\"ALCHEMICAL SYMBOL FOR SOAP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF754\"},128853:{\"value\":\"1F755\",\"name\":\"ALCHEMICAL SYMBOL FOR URINE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF755\"},128854:{\"value\":\"1F756\",\"name\":\"ALCHEMICAL SYMBOL FOR HORSE DUNG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF756\"},128855:{\"value\":\"1F757\",\"name\":\"ALCHEMICAL SYMBOL FOR ASHES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF757\"},128856:{\"value\":\"1F758\",\"name\":\"ALCHEMICAL SYMBOL FOR POT ASHES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF758\"},128857:{\"value\":\"1F759\",\"name\":\"ALCHEMICAL SYMBOL FOR BRICK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF759\"},128858:{\"value\":\"1F75A\",\"name\":\"ALCHEMICAL SYMBOL FOR POWDERED BRICK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF75A\"},128859:{\"value\":\"1F75B\",\"name\":\"ALCHEMICAL SYMBOL FOR AMALGAM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF75B\"},128860:{\"value\":\"1F75C\",\"name\":\"ALCHEMICAL SYMBOL FOR STRATUM SUPER STRATUM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF75C\"},128861:{\"value\":\"1F75D\",\"name\":\"ALCHEMICAL SYMBOL FOR STRATUM SUPER STRATUM-2\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF75D\"},128862:{\"value\":\"1F75E\",\"name\":\"ALCHEMICAL SYMBOL FOR SUBLIMATION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF75E\"},128863:{\"value\":\"1F75F\",\"name\":\"ALCHEMICAL SYMBOL FOR PRECIPITATE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF75F\"},128864:{\"value\":\"1F760\",\"name\":\"ALCHEMICAL SYMBOL FOR DISTILL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF760\"},128865:{\"value\":\"1F761\",\"name\":\"ALCHEMICAL SYMBOL FOR DISSOLVE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF761\"},128866:{\"value\":\"1F762\",\"name\":\"ALCHEMICAL SYMBOL FOR DISSOLVE-2\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF762\"},128867:{\"value\":\"1F763\",\"name\":\"ALCHEMICAL SYMBOL FOR PURIFY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF763\"},128868:{\"value\":\"1F764\",\"name\":\"ALCHEMICAL SYMBOL FOR PUTREFACTION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF764\"},128869:{\"value\":\"1F765\",\"name\":\"ALCHEMICAL SYMBOL FOR CRUCIBLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF765\"},128870:{\"value\":\"1F766\",\"name\":\"ALCHEMICAL SYMBOL FOR CRUCIBLE-2\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF766\"},128871:{\"value\":\"1F767\",\"name\":\"ALCHEMICAL SYMBOL FOR CRUCIBLE-3\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF767\"},128872:{\"value\":\"1F768\",\"name\":\"ALCHEMICAL SYMBOL FOR CRUCIBLE-4\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF768\"},128873:{\"value\":\"1F769\",\"name\":\"ALCHEMICAL SYMBOL FOR CRUCIBLE-5\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF769\"},128874:{\"value\":\"1F76A\",\"name\":\"ALCHEMICAL SYMBOL FOR ALEMBIC\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF76A\"},128875:{\"value\":\"1F76B\",\"name\":\"ALCHEMICAL SYMBOL FOR BATH OF MARY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF76B\"},128876:{\"value\":\"1F76C\",\"name\":\"ALCHEMICAL SYMBOL FOR BATH OF VAPOURS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF76C\"},128877:{\"value\":\"1F76D\",\"name\":\"ALCHEMICAL SYMBOL FOR RETORT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF76D\"},128878:{\"value\":\"1F76E\",\"name\":\"ALCHEMICAL SYMBOL FOR HOUR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF76E\"},128879:{\"value\":\"1F76F\",\"name\":\"ALCHEMICAL SYMBOL FOR NIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF76F\"},128880:{\"value\":\"1F770\",\"name\":\"ALCHEMICAL SYMBOL FOR DAY-NIGHT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF770\"},128881:{\"value\":\"1F771\",\"name\":\"ALCHEMICAL SYMBOL FOR MONTH\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF771\"},128882:{\"value\":\"1F772\",\"name\":\"ALCHEMICAL SYMBOL FOR HALF DRAM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF772\"},128883:{\"value\":\"1F773\",\"name\":\"ALCHEMICAL SYMBOL FOR HALF OUNCE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF773\"},128896:{\"value\":\"1F780\",\"name\":\"BLACK LEFT-POINTING ISOSCELES RIGHT TRIANGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF780\"},128897:{\"value\":\"1F781\",\"name\":\"BLACK UP-POINTING ISOSCELES RIGHT TRIANGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF781\"},128898:{\"value\":\"1F782\",\"name\":\"BLACK RIGHT-POINTING ISOSCELES RIGHT TRIANGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF782\"},128899:{\"value\":\"1F783\",\"name\":\"BLACK DOWN-POINTING ISOSCELES RIGHT TRIANGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF783\"},128900:{\"value\":\"1F784\",\"name\":\"BLACK SLIGHTLY SMALL CIRCLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF784\"},128901:{\"value\":\"1F785\",\"name\":\"MEDIUM BOLD WHITE CIRCLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF785\"},128902:{\"value\":\"1F786\",\"name\":\"BOLD WHITE CIRCLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF786\"},128903:{\"value\":\"1F787\",\"name\":\"HEAVY WHITE CIRCLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF787\"},128904:{\"value\":\"1F788\",\"name\":\"VERY HEAVY WHITE CIRCLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF788\"},128905:{\"value\":\"1F789\",\"name\":\"EXTREMELY HEAVY WHITE CIRCLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF789\"},128906:{\"value\":\"1F78A\",\"name\":\"WHITE CIRCLE CONTAINING BLACK SMALL CIRCLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF78A\"},128907:{\"value\":\"1F78B\",\"name\":\"ROUND TARGET\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF78B\"},128908:{\"value\":\"1F78C\",\"name\":\"BLACK TINY SQUARE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF78C\"},128909:{\"value\":\"1F78D\",\"name\":\"BLACK SLIGHTLY SMALL SQUARE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF78D\"},128910:{\"value\":\"1F78E\",\"name\":\"LIGHT WHITE SQUARE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF78E\"},128911:{\"value\":\"1F78F\",\"name\":\"MEDIUM WHITE SQUARE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF78F\"},128912:{\"value\":\"1F790\",\"name\":\"BOLD WHITE SQUARE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF790\"},128913:{\"value\":\"1F791\",\"name\":\"HEAVY WHITE SQUARE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF791\"},128914:{\"value\":\"1F792\",\"name\":\"VERY HEAVY WHITE SQUARE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF792\"},128915:{\"value\":\"1F793\",\"name\":\"EXTREMELY HEAVY WHITE SQUARE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF793\"},128916:{\"value\":\"1F794\",\"name\":\"WHITE SQUARE CONTAINING BLACK VERY SMALL SQUARE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF794\"},128917:{\"value\":\"1F795\",\"name\":\"WHITE SQUARE CONTAINING BLACK MEDIUM SQUARE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF795\"},128918:{\"value\":\"1F796\",\"name\":\"SQUARE TARGET\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF796\"},128919:{\"value\":\"1F797\",\"name\":\"BLACK TINY DIAMOND\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF797\"},128920:{\"value\":\"1F798\",\"name\":\"BLACK VERY SMALL DIAMOND\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF798\"},128921:{\"value\":\"1F799\",\"name\":\"BLACK MEDIUM SMALL DIAMOND\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF799\"},128922:{\"value\":\"1F79A\",\"name\":\"WHITE DIAMOND CONTAINING BLACK VERY SMALL DIAMOND\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF79A\"},128923:{\"value\":\"1F79B\",\"name\":\"WHITE DIAMOND CONTAINING BLACK MEDIUM DIAMOND\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF79B\"},128924:{\"value\":\"1F79C\",\"name\":\"DIAMOND TARGET\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF79C\"},128925:{\"value\":\"1F79D\",\"name\":\"BLACK TINY LOZENGE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF79D\"},128926:{\"value\":\"1F79E\",\"name\":\"BLACK VERY SMALL LOZENGE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF79E\"},128927:{\"value\":\"1F79F\",\"name\":\"BLACK MEDIUM SMALL LOZENGE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF79F\"},128928:{\"value\":\"1F7A0\",\"name\":\"WHITE LOZENGE CONTAINING BLACK SMALL LOZENGE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF7A0\"},128929:{\"value\":\"1F7A1\",\"name\":\"THIN GREEK CROSS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF7A1\"},128930:{\"value\":\"1F7A2\",\"name\":\"LIGHT GREEK CROSS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF7A2\"},128931:{\"value\":\"1F7A3\",\"name\":\"MEDIUM GREEK CROSS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF7A3\"},128932:{\"value\":\"1F7A4\",\"name\":\"BOLD GREEK CROSS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF7A4\"},128933:{\"value\":\"1F7A5\",\"name\":\"VERY BOLD GREEK CROSS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF7A5\"},128934:{\"value\":\"1F7A6\",\"name\":\"VERY HEAVY GREEK CROSS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF7A6\"},128935:{\"value\":\"1F7A7\",\"name\":\"EXTREMELY HEAVY GREEK CROSS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF7A7\"},128936:{\"value\":\"1F7A8\",\"name\":\"THIN SALTIRE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF7A8\"},128937:{\"value\":\"1F7A9\",\"name\":\"LIGHT SALTIRE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF7A9\"},128938:{\"value\":\"1F7AA\",\"name\":\"MEDIUM SALTIRE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF7AA\"},128939:{\"value\":\"1F7AB\",\"name\":\"BOLD SALTIRE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF7AB\"},128940:{\"value\":\"1F7AC\",\"name\":\"HEAVY SALTIRE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF7AC\"},128941:{\"value\":\"1F7AD\",\"name\":\"VERY HEAVY SALTIRE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF7AD\"},128942:{\"value\":\"1F7AE\",\"name\":\"EXTREMELY HEAVY SALTIRE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF7AE\"},128943:{\"value\":\"1F7AF\",\"name\":\"LIGHT FIVE SPOKED ASTERISK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF7AF\"},128944:{\"value\":\"1F7B0\",\"name\":\"MEDIUM FIVE SPOKED ASTERISK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF7B0\"},128945:{\"value\":\"1F7B1\",\"name\":\"BOLD FIVE SPOKED ASTERISK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF7B1\"},128946:{\"value\":\"1F7B2\",\"name\":\"HEAVY FIVE SPOKED ASTERISK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF7B2\"},128947:{\"value\":\"1F7B3\",\"name\":\"VERY HEAVY FIVE SPOKED ASTERISK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF7B3\"},128948:{\"value\":\"1F7B4\",\"name\":\"EXTREMELY HEAVY FIVE SPOKED ASTERISK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF7B4\"},128949:{\"value\":\"1F7B5\",\"name\":\"LIGHT SIX SPOKED ASTERISK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF7B5\"},128950:{\"value\":\"1F7B6\",\"name\":\"MEDIUM SIX SPOKED ASTERISK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF7B6\"},128951:{\"value\":\"1F7B7\",\"name\":\"BOLD SIX SPOKED ASTERISK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF7B7\"},128952:{\"value\":\"1F7B8\",\"name\":\"HEAVY SIX SPOKED ASTERISK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF7B8\"},128953:{\"value\":\"1F7B9\",\"name\":\"VERY HEAVY SIX SPOKED ASTERISK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF7B9\"},128954:{\"value\":\"1F7BA\",\"name\":\"EXTREMELY HEAVY SIX SPOKED ASTERISK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF7BA\"},128955:{\"value\":\"1F7BB\",\"name\":\"LIGHT EIGHT SPOKED ASTERISK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF7BB\"},128956:{\"value\":\"1F7BC\",\"name\":\"MEDIUM EIGHT SPOKED ASTERISK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF7BC\"},128957:{\"value\":\"1F7BD\",\"name\":\"BOLD EIGHT SPOKED ASTERISK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF7BD\"},128958:{\"value\":\"1F7BE\",\"name\":\"HEAVY EIGHT SPOKED ASTERISK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF7BE\"},128959:{\"value\":\"1F7BF\",\"name\":\"VERY HEAVY EIGHT SPOKED ASTERISK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF7BF\"},128960:{\"value\":\"1F7C0\",\"name\":\"LIGHT THREE POINTED BLACK STAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF7C0\"},128961:{\"value\":\"1F7C1\",\"name\":\"MEDIUM THREE POINTED BLACK STAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF7C1\"},128962:{\"value\":\"1F7C2\",\"name\":\"THREE POINTED BLACK STAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF7C2\"},128963:{\"value\":\"1F7C3\",\"name\":\"MEDIUM THREE POINTED PINWHEEL STAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF7C3\"},128964:{\"value\":\"1F7C4\",\"name\":\"LIGHT FOUR POINTED BLACK STAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF7C4\"},128965:{\"value\":\"1F7C5\",\"name\":\"MEDIUM FOUR POINTED BLACK STAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF7C5\"},128966:{\"value\":\"1F7C6\",\"name\":\"FOUR POINTED BLACK STAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF7C6\"},128967:{\"value\":\"1F7C7\",\"name\":\"MEDIUM FOUR POINTED PINWHEEL STAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF7C7\"},128968:{\"value\":\"1F7C8\",\"name\":\"REVERSE LIGHT FOUR POINTED PINWHEEL STAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF7C8\"},128969:{\"value\":\"1F7C9\",\"name\":\"LIGHT FIVE POINTED BLACK STAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF7C9\"},128970:{\"value\":\"1F7CA\",\"name\":\"HEAVY FIVE POINTED BLACK STAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF7CA\"},128971:{\"value\":\"1F7CB\",\"name\":\"MEDIUM SIX POINTED BLACK STAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF7CB\"},128972:{\"value\":\"1F7CC\",\"name\":\"HEAVY SIX POINTED BLACK STAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF7CC\"},128973:{\"value\":\"1F7CD\",\"name\":\"SIX POINTED PINWHEEL STAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF7CD\"},128974:{\"value\":\"1F7CE\",\"name\":\"MEDIUM EIGHT POINTED BLACK STAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF7CE\"},128975:{\"value\":\"1F7CF\",\"name\":\"HEAVY EIGHT POINTED BLACK STAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF7CF\"},128976:{\"value\":\"1F7D0\",\"name\":\"VERY HEAVY EIGHT POINTED BLACK STAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF7D0\"},128977:{\"value\":\"1F7D1\",\"name\":\"HEAVY EIGHT POINTED PINWHEEL STAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF7D1\"},128978:{\"value\":\"1F7D2\",\"name\":\"LIGHT TWELVE POINTED BLACK STAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF7D2\"},128979:{\"value\":\"1F7D3\",\"name\":\"HEAVY TWELVE POINTED BLACK STAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF7D3\"},128980:{\"value\":\"1F7D4\",\"name\":\"HEAVY TWELVE POINTED PINWHEEL STAR\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF7D4\"},129024:{\"value\":\"1F800\",\"name\":\"LEFTWARDS ARROW WITH SMALL TRIANGLE ARROWHEAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF800\"},129025:{\"value\":\"1F801\",\"name\":\"UPWARDS ARROW WITH SMALL TRIANGLE ARROWHEAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF801\"},129026:{\"value\":\"1F802\",\"name\":\"RIGHTWARDS ARROW WITH SMALL TRIANGLE ARROWHEAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF802\"},129027:{\"value\":\"1F803\",\"name\":\"DOWNWARDS ARROW WITH SMALL TRIANGLE ARROWHEAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF803\"},129028:{\"value\":\"1F804\",\"name\":\"LEFTWARDS ARROW WITH MEDIUM TRIANGLE ARROWHEAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF804\"},129029:{\"value\":\"1F805\",\"name\":\"UPWARDS ARROW WITH MEDIUM TRIANGLE ARROWHEAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF805\"},129030:{\"value\":\"1F806\",\"name\":\"RIGHTWARDS ARROW WITH MEDIUM TRIANGLE ARROWHEAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF806\"},129031:{\"value\":\"1F807\",\"name\":\"DOWNWARDS ARROW WITH MEDIUM TRIANGLE ARROWHEAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF807\"},129032:{\"value\":\"1F808\",\"name\":\"LEFTWARDS ARROW WITH LARGE TRIANGLE ARROWHEAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF808\"},129033:{\"value\":\"1F809\",\"name\":\"UPWARDS ARROW WITH LARGE TRIANGLE ARROWHEAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF809\"},129034:{\"value\":\"1F80A\",\"name\":\"RIGHTWARDS ARROW WITH LARGE TRIANGLE ARROWHEAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF80A\"},129035:{\"value\":\"1F80B\",\"name\":\"DOWNWARDS ARROW WITH LARGE TRIANGLE ARROWHEAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF80B\"},129040:{\"value\":\"1F810\",\"name\":\"LEFTWARDS ARROW WITH SMALL EQUILATERAL ARROWHEAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF810\"},129041:{\"value\":\"1F811\",\"name\":\"UPWARDS ARROW WITH SMALL EQUILATERAL ARROWHEAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF811\"},129042:{\"value\":\"1F812\",\"name\":\"RIGHTWARDS ARROW WITH SMALL EQUILATERAL ARROWHEAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF812\"},129043:{\"value\":\"1F813\",\"name\":\"DOWNWARDS ARROW WITH SMALL EQUILATERAL ARROWHEAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF813\"},129044:{\"value\":\"1F814\",\"name\":\"LEFTWARDS ARROW WITH EQUILATERAL ARROWHEAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF814\"},129045:{\"value\":\"1F815\",\"name\":\"UPWARDS ARROW WITH EQUILATERAL ARROWHEAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF815\"},129046:{\"value\":\"1F816\",\"name\":\"RIGHTWARDS ARROW WITH EQUILATERAL ARROWHEAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF816\"},129047:{\"value\":\"1F817\",\"name\":\"DOWNWARDS ARROW WITH EQUILATERAL ARROWHEAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF817\"},129048:{\"value\":\"1F818\",\"name\":\"HEAVY LEFTWARDS ARROW WITH EQUILATERAL ARROWHEAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF818\"},129049:{\"value\":\"1F819\",\"name\":\"HEAVY UPWARDS ARROW WITH EQUILATERAL ARROWHEAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF819\"},129050:{\"value\":\"1F81A\",\"name\":\"HEAVY RIGHTWARDS ARROW WITH EQUILATERAL ARROWHEAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF81A\"},129051:{\"value\":\"1F81B\",\"name\":\"HEAVY DOWNWARDS ARROW WITH EQUILATERAL ARROWHEAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF81B\"},129052:{\"value\":\"1F81C\",\"name\":\"HEAVY LEFTWARDS ARROW WITH LARGE EQUILATERAL ARROWHEAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF81C\"},129053:{\"value\":\"1F81D\",\"name\":\"HEAVY UPWARDS ARROW WITH LARGE EQUILATERAL ARROWHEAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF81D\"},129054:{\"value\":\"1F81E\",\"name\":\"HEAVY RIGHTWARDS ARROW WITH LARGE EQUILATERAL ARROWHEAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF81E\"},129055:{\"value\":\"1F81F\",\"name\":\"HEAVY DOWNWARDS ARROW WITH LARGE EQUILATERAL ARROWHEAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF81F\"},129056:{\"value\":\"1F820\",\"name\":\"LEFTWARDS TRIANGLE-HEADED ARROW WITH NARROW SHAFT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF820\"},129057:{\"value\":\"1F821\",\"name\":\"UPWARDS TRIANGLE-HEADED ARROW WITH NARROW SHAFT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF821\"},129058:{\"value\":\"1F822\",\"name\":\"RIGHTWARDS TRIANGLE-HEADED ARROW WITH NARROW SHAFT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF822\"},129059:{\"value\":\"1F823\",\"name\":\"DOWNWARDS TRIANGLE-HEADED ARROW WITH NARROW SHAFT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF823\"},129060:{\"value\":\"1F824\",\"name\":\"LEFTWARDS TRIANGLE-HEADED ARROW WITH MEDIUM SHAFT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF824\"},129061:{\"value\":\"1F825\",\"name\":\"UPWARDS TRIANGLE-HEADED ARROW WITH MEDIUM SHAFT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF825\"},129062:{\"value\":\"1F826\",\"name\":\"RIGHTWARDS TRIANGLE-HEADED ARROW WITH MEDIUM SHAFT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF826\"},129063:{\"value\":\"1F827\",\"name\":\"DOWNWARDS TRIANGLE-HEADED ARROW WITH MEDIUM SHAFT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF827\"},129064:{\"value\":\"1F828\",\"name\":\"LEFTWARDS TRIANGLE-HEADED ARROW WITH BOLD SHAFT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF828\"},129065:{\"value\":\"1F829\",\"name\":\"UPWARDS TRIANGLE-HEADED ARROW WITH BOLD SHAFT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF829\"},129066:{\"value\":\"1F82A\",\"name\":\"RIGHTWARDS TRIANGLE-HEADED ARROW WITH BOLD SHAFT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF82A\"},129067:{\"value\":\"1F82B\",\"name\":\"DOWNWARDS TRIANGLE-HEADED ARROW WITH BOLD SHAFT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF82B\"},129068:{\"value\":\"1F82C\",\"name\":\"LEFTWARDS TRIANGLE-HEADED ARROW WITH HEAVY SHAFT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF82C\"},129069:{\"value\":\"1F82D\",\"name\":\"UPWARDS TRIANGLE-HEADED ARROW WITH HEAVY SHAFT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF82D\"},129070:{\"value\":\"1F82E\",\"name\":\"RIGHTWARDS TRIANGLE-HEADED ARROW WITH HEAVY SHAFT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF82E\"},129071:{\"value\":\"1F82F\",\"name\":\"DOWNWARDS TRIANGLE-HEADED ARROW WITH HEAVY SHAFT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF82F\"},129072:{\"value\":\"1F830\",\"name\":\"LEFTWARDS TRIANGLE-HEADED ARROW WITH VERY HEAVY SHAFT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF830\"},129073:{\"value\":\"1F831\",\"name\":\"UPWARDS TRIANGLE-HEADED ARROW WITH VERY HEAVY SHAFT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF831\"},129074:{\"value\":\"1F832\",\"name\":\"RIGHTWARDS TRIANGLE-HEADED ARROW WITH VERY HEAVY SHAFT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF832\"},129075:{\"value\":\"1F833\",\"name\":\"DOWNWARDS TRIANGLE-HEADED ARROW WITH VERY HEAVY SHAFT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF833\"},129076:{\"value\":\"1F834\",\"name\":\"LEFTWARDS FINGER-POST ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF834\"},129077:{\"value\":\"1F835\",\"name\":\"UPWARDS FINGER-POST ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF835\"},129078:{\"value\":\"1F836\",\"name\":\"RIGHTWARDS FINGER-POST ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF836\"},129079:{\"value\":\"1F837\",\"name\":\"DOWNWARDS FINGER-POST ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF837\"},129080:{\"value\":\"1F838\",\"name\":\"LEFTWARDS SQUARED ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF838\"},129081:{\"value\":\"1F839\",\"name\":\"UPWARDS SQUARED ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF839\"},129082:{\"value\":\"1F83A\",\"name\":\"RIGHTWARDS SQUARED ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF83A\"},129083:{\"value\":\"1F83B\",\"name\":\"DOWNWARDS SQUARED ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF83B\"},129084:{\"value\":\"1F83C\",\"name\":\"LEFTWARDS COMPRESSED ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF83C\"},129085:{\"value\":\"1F83D\",\"name\":\"UPWARDS COMPRESSED ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF83D\"},129086:{\"value\":\"1F83E\",\"name\":\"RIGHTWARDS COMPRESSED ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF83E\"},129087:{\"value\":\"1F83F\",\"name\":\"DOWNWARDS COMPRESSED ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF83F\"},129088:{\"value\":\"1F840\",\"name\":\"LEFTWARDS HEAVY COMPRESSED ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF840\"},129089:{\"value\":\"1F841\",\"name\":\"UPWARDS HEAVY COMPRESSED ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF841\"},129090:{\"value\":\"1F842\",\"name\":\"RIGHTWARDS HEAVY COMPRESSED ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF842\"},129091:{\"value\":\"1F843\",\"name\":\"DOWNWARDS HEAVY COMPRESSED ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF843\"},129092:{\"value\":\"1F844\",\"name\":\"LEFTWARDS HEAVY ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF844\"},129093:{\"value\":\"1F845\",\"name\":\"UPWARDS HEAVY ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF845\"},129094:{\"value\":\"1F846\",\"name\":\"RIGHTWARDS HEAVY ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF846\"},129095:{\"value\":\"1F847\",\"name\":\"DOWNWARDS HEAVY ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF847\"},129104:{\"value\":\"1F850\",\"name\":\"LEFTWARDS SANS-SERIF ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF850\"},129105:{\"value\":\"1F851\",\"name\":\"UPWARDS SANS-SERIF ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF851\"},129106:{\"value\":\"1F852\",\"name\":\"RIGHTWARDS SANS-SERIF ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF852\"},129107:{\"value\":\"1F853\",\"name\":\"DOWNWARDS SANS-SERIF ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF853\"},129108:{\"value\":\"1F854\",\"name\":\"NORTH WEST SANS-SERIF ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF854\"},129109:{\"value\":\"1F855\",\"name\":\"NORTH EAST SANS-SERIF ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF855\"},129110:{\"value\":\"1F856\",\"name\":\"SOUTH EAST SANS-SERIF ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF856\"},129111:{\"value\":\"1F857\",\"name\":\"SOUTH WEST SANS-SERIF ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF857\"},129112:{\"value\":\"1F858\",\"name\":\"LEFT RIGHT SANS-SERIF ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF858\"},129113:{\"value\":\"1F859\",\"name\":\"UP DOWN SANS-SERIF ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF859\"},129120:{\"value\":\"1F860\",\"name\":\"WIDE-HEADED LEFTWARDS LIGHT BARB ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF860\"},129121:{\"value\":\"1F861\",\"name\":\"WIDE-HEADED UPWARDS LIGHT BARB ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF861\"},129122:{\"value\":\"1F862\",\"name\":\"WIDE-HEADED RIGHTWARDS LIGHT BARB ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF862\"},129123:{\"value\":\"1F863\",\"name\":\"WIDE-HEADED DOWNWARDS LIGHT BARB ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF863\"},129124:{\"value\":\"1F864\",\"name\":\"WIDE-HEADED NORTH WEST LIGHT BARB ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF864\"},129125:{\"value\":\"1F865\",\"name\":\"WIDE-HEADED NORTH EAST LIGHT BARB ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF865\"},129126:{\"value\":\"1F866\",\"name\":\"WIDE-HEADED SOUTH EAST LIGHT BARB ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF866\"},129127:{\"value\":\"1F867\",\"name\":\"WIDE-HEADED SOUTH WEST LIGHT BARB ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF867\"},129128:{\"value\":\"1F868\",\"name\":\"WIDE-HEADED LEFTWARDS BARB ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF868\"},129129:{\"value\":\"1F869\",\"name\":\"WIDE-HEADED UPWARDS BARB ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF869\"},129130:{\"value\":\"1F86A\",\"name\":\"WIDE-HEADED RIGHTWARDS BARB ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF86A\"},129131:{\"value\":\"1F86B\",\"name\":\"WIDE-HEADED DOWNWARDS BARB ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF86B\"},129132:{\"value\":\"1F86C\",\"name\":\"WIDE-HEADED NORTH WEST BARB ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF86C\"},129133:{\"value\":\"1F86D\",\"name\":\"WIDE-HEADED NORTH EAST BARB ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF86D\"},129134:{\"value\":\"1F86E\",\"name\":\"WIDE-HEADED SOUTH EAST BARB ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF86E\"},129135:{\"value\":\"1F86F\",\"name\":\"WIDE-HEADED SOUTH WEST BARB ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF86F\"},129136:{\"value\":\"1F870\",\"name\":\"WIDE-HEADED LEFTWARDS MEDIUM BARB ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF870\"},129137:{\"value\":\"1F871\",\"name\":\"WIDE-HEADED UPWARDS MEDIUM BARB ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF871\"},129138:{\"value\":\"1F872\",\"name\":\"WIDE-HEADED RIGHTWARDS MEDIUM BARB ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF872\"},129139:{\"value\":\"1F873\",\"name\":\"WIDE-HEADED DOWNWARDS MEDIUM BARB ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF873\"},129140:{\"value\":\"1F874\",\"name\":\"WIDE-HEADED NORTH WEST MEDIUM BARB ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF874\"},129141:{\"value\":\"1F875\",\"name\":\"WIDE-HEADED NORTH EAST MEDIUM BARB ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF875\"},129142:{\"value\":\"1F876\",\"name\":\"WIDE-HEADED SOUTH EAST MEDIUM BARB ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF876\"},129143:{\"value\":\"1F877\",\"name\":\"WIDE-HEADED SOUTH WEST MEDIUM BARB ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF877\"},129144:{\"value\":\"1F878\",\"name\":\"WIDE-HEADED LEFTWARDS HEAVY BARB ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF878\"},129145:{\"value\":\"1F879\",\"name\":\"WIDE-HEADED UPWARDS HEAVY BARB ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF879\"},129146:{\"value\":\"1F87A\",\"name\":\"WIDE-HEADED RIGHTWARDS HEAVY BARB ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF87A\"},129147:{\"value\":\"1F87B\",\"name\":\"WIDE-HEADED DOWNWARDS HEAVY BARB ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF87B\"},129148:{\"value\":\"1F87C\",\"name\":\"WIDE-HEADED NORTH WEST HEAVY BARB ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF87C\"},129149:{\"value\":\"1F87D\",\"name\":\"WIDE-HEADED NORTH EAST HEAVY BARB ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF87D\"},129150:{\"value\":\"1F87E\",\"name\":\"WIDE-HEADED SOUTH EAST HEAVY BARB ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF87E\"},129151:{\"value\":\"1F87F\",\"name\":\"WIDE-HEADED SOUTH WEST HEAVY BARB ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF87F\"},129152:{\"value\":\"1F880\",\"name\":\"WIDE-HEADED LEFTWARDS VERY HEAVY BARB ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF880\"},129153:{\"value\":\"1F881\",\"name\":\"WIDE-HEADED UPWARDS VERY HEAVY BARB ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF881\"},129154:{\"value\":\"1F882\",\"name\":\"WIDE-HEADED RIGHTWARDS VERY HEAVY BARB ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF882\"},129155:{\"value\":\"1F883\",\"name\":\"WIDE-HEADED DOWNWARDS VERY HEAVY BARB ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF883\"},129156:{\"value\":\"1F884\",\"name\":\"WIDE-HEADED NORTH WEST VERY HEAVY BARB ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF884\"},129157:{\"value\":\"1F885\",\"name\":\"WIDE-HEADED NORTH EAST VERY HEAVY BARB ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF885\"},129158:{\"value\":\"1F886\",\"name\":\"WIDE-HEADED SOUTH EAST VERY HEAVY BARB ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF886\"},129159:{\"value\":\"1F887\",\"name\":\"WIDE-HEADED SOUTH WEST VERY HEAVY BARB ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF887\"},129168:{\"value\":\"1F890\",\"name\":\"LEFTWARDS TRIANGLE ARROWHEAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF890\"},129169:{\"value\":\"1F891\",\"name\":\"UPWARDS TRIANGLE ARROWHEAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF891\"},129170:{\"value\":\"1F892\",\"name\":\"RIGHTWARDS TRIANGLE ARROWHEAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF892\"},129171:{\"value\":\"1F893\",\"name\":\"DOWNWARDS TRIANGLE ARROWHEAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF893\"},129172:{\"value\":\"1F894\",\"name\":\"LEFTWARDS WHITE ARROW WITHIN TRIANGLE ARROWHEAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF894\"},129173:{\"value\":\"1F895\",\"name\":\"UPWARDS WHITE ARROW WITHIN TRIANGLE ARROWHEAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF895\"},129174:{\"value\":\"1F896\",\"name\":\"RIGHTWARDS WHITE ARROW WITHIN TRIANGLE ARROWHEAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF896\"},129175:{\"value\":\"1F897\",\"name\":\"DOWNWARDS WHITE ARROW WITHIN TRIANGLE ARROWHEAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF897\"},129176:{\"value\":\"1F898\",\"name\":\"LEFTWARDS ARROW WITH NOTCHED TAIL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF898\"},129177:{\"value\":\"1F899\",\"name\":\"UPWARDS ARROW WITH NOTCHED TAIL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF899\"},129178:{\"value\":\"1F89A\",\"name\":\"RIGHTWARDS ARROW WITH NOTCHED TAIL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF89A\"},129179:{\"value\":\"1F89B\",\"name\":\"DOWNWARDS ARROW WITH NOTCHED TAIL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF89B\"},129180:{\"value\":\"1F89C\",\"name\":\"HEAVY ARROW SHAFT WIDTH ONE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF89C\"},129181:{\"value\":\"1F89D\",\"name\":\"HEAVY ARROW SHAFT WIDTH TWO THIRDS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF89D\"},129182:{\"value\":\"1F89E\",\"name\":\"HEAVY ARROW SHAFT WIDTH ONE HALF\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF89E\"},129183:{\"value\":\"1F89F\",\"name\":\"HEAVY ARROW SHAFT WIDTH ONE THIRD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF89F\"},129184:{\"value\":\"1F8A0\",\"name\":\"LEFTWARDS BOTTOM-SHADED WHITE ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF8A0\"},129185:{\"value\":\"1F8A1\",\"name\":\"RIGHTWARDS BOTTOM SHADED WHITE ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF8A1\"},129186:{\"value\":\"1F8A2\",\"name\":\"LEFTWARDS TOP SHADED WHITE ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF8A2\"},129187:{\"value\":\"1F8A3\",\"name\":\"RIGHTWARDS TOP SHADED WHITE ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF8A3\"},129188:{\"value\":\"1F8A4\",\"name\":\"LEFTWARDS LEFT-SHADED WHITE ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF8A4\"},129189:{\"value\":\"1F8A5\",\"name\":\"RIGHTWARDS RIGHT-SHADED WHITE ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF8A5\"},129190:{\"value\":\"1F8A6\",\"name\":\"LEFTWARDS RIGHT-SHADED WHITE ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF8A6\"},129191:{\"value\":\"1F8A7\",\"name\":\"RIGHTWARDS LEFT-SHADED WHITE ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF8A7\"},129192:{\"value\":\"1F8A8\",\"name\":\"LEFTWARDS BACK-TILTED SHADOWED WHITE ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF8A8\"},129193:{\"value\":\"1F8A9\",\"name\":\"RIGHTWARDS BACK-TILTED SHADOWED WHITE ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF8A9\"},129194:{\"value\":\"1F8AA\",\"name\":\"LEFTWARDS FRONT-TILTED SHADOWED WHITE ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF8AA\"},129195:{\"value\":\"1F8AB\",\"name\":\"RIGHTWARDS FRONT-TILTED SHADOWED WHITE ARROW\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF8AB\"},129196:{\"value\":\"1F8AC\",\"name\":\"WHITE ARROW SHAFT WIDTH ONE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF8AC\"},129197:{\"value\":\"1F8AD\",\"name\":\"WHITE ARROW SHAFT WIDTH TWO THIRDS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF8AD\"},129296:{\"value\":\"1F910\",\"name\":\"ZIPPER-MOUTH FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF910\"},129297:{\"value\":\"1F911\",\"name\":\"MONEY-MOUTH FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF911\"},129298:{\"value\":\"1F912\",\"name\":\"FACE WITH THERMOMETER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF912\"},129299:{\"value\":\"1F913\",\"name\":\"NERD FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF913\"},129300:{\"value\":\"1F914\",\"name\":\"THINKING FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF914\"},129301:{\"value\":\"1F915\",\"name\":\"FACE WITH HEAD-BANDAGE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF915\"},129302:{\"value\":\"1F916\",\"name\":\"ROBOT FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF916\"},129303:{\"value\":\"1F917\",\"name\":\"HUGGING FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF917\"},129304:{\"value\":\"1F918\",\"name\":\"SIGN OF THE HORNS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF918\"},129305:{\"value\":\"1F919\",\"name\":\"CALL ME HAND\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF919\"},129306:{\"value\":\"1F91A\",\"name\":\"RAISED BACK OF HAND\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF91A\"},129307:{\"value\":\"1F91B\",\"name\":\"LEFT-FACING FIST\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF91B\"},129308:{\"value\":\"1F91C\",\"name\":\"RIGHT-FACING FIST\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF91C\"},129309:{\"value\":\"1F91D\",\"name\":\"HANDSHAKE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF91D\"},129310:{\"value\":\"1F91E\",\"name\":\"HAND WITH INDEX AND MIDDLE FINGERS CROSSED\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF91E\"},129312:{\"value\":\"1F920\",\"name\":\"FACE WITH COWBOY HAT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF920\"},129313:{\"value\":\"1F921\",\"name\":\"CLOWN FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF921\"},129314:{\"value\":\"1F922\",\"name\":\"NAUSEATED FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF922\"},129315:{\"value\":\"1F923\",\"name\":\"ROLLING ON THE FLOOR LAUGHING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF923\"},129316:{\"value\":\"1F924\",\"name\":\"DROOLING FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF924\"},129317:{\"value\":\"1F925\",\"name\":\"LYING FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF925\"},129318:{\"value\":\"1F926\",\"name\":\"FACE PALM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF926\"},129319:{\"value\":\"1F927\",\"name\":\"SNEEZING FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF927\"},129328:{\"value\":\"1F930\",\"name\":\"PREGNANT WOMAN\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF930\"},129331:{\"value\":\"1F933\",\"name\":\"SELFIE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF933\"},129332:{\"value\":\"1F934\",\"name\":\"PRINCE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF934\"},129333:{\"value\":\"1F935\",\"name\":\"MAN IN TUXEDO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF935\"},129334:{\"value\":\"1F936\",\"name\":\"MOTHER CHRISTMAS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF936\"},129335:{\"value\":\"1F937\",\"name\":\"SHRUG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF937\"},129336:{\"value\":\"1F938\",\"name\":\"PERSON DOING CARTWHEEL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF938\"},129337:{\"value\":\"1F939\",\"name\":\"JUGGLING\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF939\"},129338:{\"value\":\"1F93A\",\"name\":\"FENCER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF93A\"},129339:{\"value\":\"1F93B\",\"name\":\"MODERN PENTATHLON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF93B\"},129340:{\"value\":\"1F93C\",\"name\":\"WRESTLERS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF93C\"},129341:{\"value\":\"1F93D\",\"name\":\"WATER POLO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF93D\"},129342:{\"value\":\"1F93E\",\"name\":\"HANDBALL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF93E\"},129344:{\"value\":\"1F940\",\"name\":\"WILTED FLOWER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF940\"},129345:{\"value\":\"1F941\",\"name\":\"DRUM WITH DRUMSTICKS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF941\"},129346:{\"value\":\"1F942\",\"name\":\"CLINKING GLASSES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF942\"},129347:{\"value\":\"1F943\",\"name\":\"TUMBLER GLASS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF943\"},129348:{\"value\":\"1F944\",\"name\":\"SPOON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF944\"},129349:{\"value\":\"1F945\",\"name\":\"GOAL NET\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF945\"},129350:{\"value\":\"1F946\",\"name\":\"RIFLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF946\"},129351:{\"value\":\"1F947\",\"name\":\"FIRST PLACE MEDAL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF947\"},129352:{\"value\":\"1F948\",\"name\":\"SECOND PLACE MEDAL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF948\"},129353:{\"value\":\"1F949\",\"name\":\"THIRD PLACE MEDAL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF949\"},129354:{\"value\":\"1F94A\",\"name\":\"BOXING GLOVE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF94A\"},129355:{\"value\":\"1F94B\",\"name\":\"MARTIAL ARTS UNIFORM\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF94B\"},129360:{\"value\":\"1F950\",\"name\":\"CROISSANT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF950\"},129361:{\"value\":\"1F951\",\"name\":\"AVOCADO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF951\"},129362:{\"value\":\"1F952\",\"name\":\"CUCUMBER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF952\"},129363:{\"value\":\"1F953\",\"name\":\"BACON\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF953\"},129364:{\"value\":\"1F954\",\"name\":\"POTATO\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF954\"},129365:{\"value\":\"1F955\",\"name\":\"CARROT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF955\"},129366:{\"value\":\"1F956\",\"name\":\"BAGUETTE BREAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF956\"},129367:{\"value\":\"1F957\",\"name\":\"GREEN SALAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF957\"},129368:{\"value\":\"1F958\",\"name\":\"SHALLOW PAN OF FOOD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF958\"},129369:{\"value\":\"1F959\",\"name\":\"STUFFED FLATBREAD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF959\"},129370:{\"value\":\"1F95A\",\"name\":\"EGG\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF95A\"},129371:{\"value\":\"1F95B\",\"name\":\"GLASS OF MILK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF95B\"},129372:{\"value\":\"1F95C\",\"name\":\"PEANUTS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF95C\"},129373:{\"value\":\"1F95D\",\"name\":\"KIWIFRUIT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF95D\"},129374:{\"value\":\"1F95E\",\"name\":\"PANCAKES\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF95E\"},129408:{\"value\":\"1F980\",\"name\":\"CRAB\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF980\"},129409:{\"value\":\"1F981\",\"name\":\"LION FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF981\"},129410:{\"value\":\"1F982\",\"name\":\"SCORPION\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF982\"},129411:{\"value\":\"1F983\",\"name\":\"TURKEY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF983\"},129412:{\"value\":\"1F984\",\"name\":\"UNICORN FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF984\"},129413:{\"value\":\"1F985\",\"name\":\"EAGLE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF985\"},129414:{\"value\":\"1F986\",\"name\":\"DUCK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF986\"},129415:{\"value\":\"1F987\",\"name\":\"BAT\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF987\"},129416:{\"value\":\"1F988\",\"name\":\"SHARK\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF988\"},129417:{\"value\":\"1F989\",\"name\":\"OWL\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF989\"},129418:{\"value\":\"1F98A\",\"name\":\"FOX FACE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF98A\"},129419:{\"value\":\"1F98B\",\"name\":\"BUTTERFLY\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF98B\"},129420:{\"value\":\"1F98C\",\"name\":\"DEER\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF98C\"},129421:{\"value\":\"1F98D\",\"name\":\"GORILLA\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF98D\"},129422:{\"value\":\"1F98E\",\"name\":\"LIZARD\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF98E\"},129423:{\"value\":\"1F98F\",\"name\":\"RHINOCEROS\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF98F\"},129424:{\"value\":\"1F990\",\"name\":\"SHRIMP\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF990\"},129425:{\"value\":\"1F991\",\"name\":\"SQUID\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF991\"},129472:{\"value\":\"1F9C0\",\"name\":\"CHEESE WEDGE\",\"category\":\"So\",\"class\":\"0\",\"bidirectional_category\":\"ON\",\"mapping\":\"\",\"decimal_digit_value\":\"\",\"digit_value\":\"\",\"numeric_value\":\"\",\"mirrored\":\"N\",\"unicode_name\":\"\",\"comment\":\"\",\"uppercase_mapping\":\"\",\"lowercase_mapping\":\"\",\"titlecase_mapping\":\"\",\"symbol\":\"\\uF9C0\"}};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/unicode/category/So.js\n ** module id = 669\n ** module chunks = 0\n **/","module.exports = get_blob()\n\nfunction get_blob() {\n if(global.Blob) {\n try {\n new Blob(['asdf'], {type: 'text/plain'})\n return Blob\n } catch(err) {}\n }\n\n var Builder = global.WebKitBlobBuilder ||\n global.MozBlobBuilder ||\n global.MSBlobBuilder\n\n return function(parts, bag) {\n var builder = new Builder\n , endings = bag.endings\n , type = bag.type\n\n if(endings) for(var i = 0, len = parts.length; i < len; ++i) {\n builder.append(parts[i], endings)\n } else for(var i = 0, len = parts.length; i < len; ++i) {\n builder.append(parts[i])\n }\n\n return type ? builder.getBlob(type) : builder.getBlob()\n }\n}\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/w3c-blob/browser.js\n ** module id = 670\n ** module chunks = 0\n **/","module.exports = function() { throw new Error(\"define cannot be used indirect\"); };\r\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** (webpack)/buildin/amd-define.js\n ** module id = 671\n ** module chunks = 0\n **/","(function(self) {\n 'use strict';\n\n if (self.fetch) {\n return\n }\n\n var support = {\n searchParams: 'URLSearchParams' in self,\n iterable: 'Symbol' in self && 'iterator' in Symbol,\n blob: 'FileReader' in self && 'Blob' in self && (function() {\n try {\n new Blob()\n return true\n } catch(e) {\n return false\n }\n })(),\n formData: 'FormData' in self,\n arrayBuffer: 'ArrayBuffer' in self\n }\n\n if (support.arrayBuffer) {\n var viewClasses = [\n '[object Int8Array]',\n '[object Uint8Array]',\n '[object Uint8ClampedArray]',\n '[object Int16Array]',\n '[object Uint16Array]',\n '[object Int32Array]',\n '[object Uint32Array]',\n '[object Float32Array]',\n '[object Float64Array]'\n ]\n\n var isDataView = function(obj) {\n return obj && DataView.prototype.isPrototypeOf(obj)\n }\n\n var isArrayBufferView = ArrayBuffer.isView || function(obj) {\n return obj && viewClasses.indexOf(Object.prototype.toString.call(obj)) > -1\n }\n }\n\n function normalizeName(name) {\n if (typeof name !== 'string') {\n name = String(name)\n }\n if (/[^a-z0-9\\-#$%&'*+.\\^_`|~]/i.test(name)) {\n throw new TypeError('Invalid character in header field name')\n }\n return name.toLowerCase()\n }\n\n function normalizeValue(value) {\n if (typeof value !== 'string') {\n value = String(value)\n }\n return value\n }\n\n // Build a destructive iterator for the value list\n function iteratorFor(items) {\n var iterator = {\n next: function() {\n var value = items.shift()\n return {done: value === undefined, value: value}\n }\n }\n\n if (support.iterable) {\n iterator[Symbol.iterator] = function() {\n return iterator\n }\n }\n\n return iterator\n }\n\n function Headers(headers) {\n this.map = {}\n\n if (headers instanceof Headers) {\n headers.forEach(function(value, name) {\n this.append(name, value)\n }, this)\n\n } else if (headers) {\n Object.getOwnPropertyNames(headers).forEach(function(name) {\n this.append(name, headers[name])\n }, this)\n }\n }\n\n Headers.prototype.append = function(name, value) {\n name = normalizeName(name)\n value = normalizeValue(value)\n var oldValue = this.map[name]\n this.map[name] = oldValue ? oldValue+','+value : value\n }\n\n Headers.prototype['delete'] = function(name) {\n delete this.map[normalizeName(name)]\n }\n\n Headers.prototype.get = function(name) {\n name = normalizeName(name)\n return this.has(name) ? this.map[name] : null\n }\n\n Headers.prototype.has = function(name) {\n return this.map.hasOwnProperty(normalizeName(name))\n }\n\n Headers.prototype.set = function(name, value) {\n this.map[normalizeName(name)] = normalizeValue(value)\n }\n\n Headers.prototype.forEach = function(callback, thisArg) {\n for (var name in this.map) {\n if (this.map.hasOwnProperty(name)) {\n callback.call(thisArg, this.map[name], name, this)\n }\n }\n }\n\n Headers.prototype.keys = function() {\n var items = []\n this.forEach(function(value, name) { items.push(name) })\n return iteratorFor(items)\n }\n\n Headers.prototype.values = function() {\n var items = []\n this.forEach(function(value) { items.push(value) })\n return iteratorFor(items)\n }\n\n Headers.prototype.entries = function() {\n var items = []\n this.forEach(function(value, name) { items.push([name, value]) })\n return iteratorFor(items)\n }\n\n if (support.iterable) {\n Headers.prototype[Symbol.iterator] = Headers.prototype.entries\n }\n\n function consumed(body) {\n if (body.bodyUsed) {\n return Promise.reject(new TypeError('Already read'))\n }\n body.bodyUsed = true\n }\n\n function fileReaderReady(reader) {\n return new Promise(function(resolve, reject) {\n reader.onload = function() {\n resolve(reader.result)\n }\n reader.onerror = function() {\n reject(reader.error)\n }\n })\n }\n\n function readBlobAsArrayBuffer(blob) {\n var reader = new FileReader()\n var promise = fileReaderReady(reader)\n reader.readAsArrayBuffer(blob)\n return promise\n }\n\n function readBlobAsText(blob) {\n var reader = new FileReader()\n var promise = fileReaderReady(reader)\n reader.readAsText(blob)\n return promise\n }\n\n function readArrayBufferAsText(buf) {\n var view = new Uint8Array(buf)\n var chars = new Array(view.length)\n\n for (var i = 0; i < view.length; i++) {\n chars[i] = String.fromCharCode(view[i])\n }\n return chars.join('')\n }\n\n function bufferClone(buf) {\n if (buf.slice) {\n return buf.slice(0)\n } else {\n var view = new Uint8Array(buf.byteLength)\n view.set(new Uint8Array(buf))\n return view.buffer\n }\n }\n\n function Body() {\n this.bodyUsed = false\n\n this._initBody = function(body) {\n this._bodyInit = body\n if (!body) {\n this._bodyText = ''\n } else if (typeof body === 'string') {\n this._bodyText = body\n } else if (support.blob && Blob.prototype.isPrototypeOf(body)) {\n this._bodyBlob = body\n } else if (support.formData && FormData.prototype.isPrototypeOf(body)) {\n this._bodyFormData = body\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this._bodyText = body.toString()\n } else if (support.arrayBuffer && support.blob && isDataView(body)) {\n this._bodyArrayBuffer = bufferClone(body.buffer)\n // IE 10-11 can't handle a DataView body.\n this._bodyInit = new Blob([this._bodyArrayBuffer])\n } else if (support.arrayBuffer && (ArrayBuffer.prototype.isPrototypeOf(body) || isArrayBufferView(body))) {\n this._bodyArrayBuffer = bufferClone(body)\n } else {\n throw new Error('unsupported BodyInit type')\n }\n\n if (!this.headers.get('content-type')) {\n if (typeof body === 'string') {\n this.headers.set('content-type', 'text/plain;charset=UTF-8')\n } else if (this._bodyBlob && this._bodyBlob.type) {\n this.headers.set('content-type', this._bodyBlob.type)\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this.headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8')\n }\n }\n }\n\n if (support.blob) {\n this.blob = function() {\n var rejected = consumed(this)\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return Promise.resolve(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(new Blob([this._bodyArrayBuffer]))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as blob')\n } else {\n return Promise.resolve(new Blob([this._bodyText]))\n }\n }\n\n this.arrayBuffer = function() {\n if (this._bodyArrayBuffer) {\n return consumed(this) || Promise.resolve(this._bodyArrayBuffer)\n } else {\n return this.blob().then(readBlobAsArrayBuffer)\n }\n }\n }\n\n this.text = function() {\n var rejected = consumed(this)\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return readBlobAsText(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(readArrayBufferAsText(this._bodyArrayBuffer))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as text')\n } else {\n return Promise.resolve(this._bodyText)\n }\n }\n\n if (support.formData) {\n this.formData = function() {\n return this.text().then(decode)\n }\n }\n\n this.json = function() {\n return this.text().then(JSON.parse)\n }\n\n return this\n }\n\n // HTTP methods whose capitalization should be normalized\n var methods = ['DELETE', 'GET', 'HEAD', 'OPTIONS', 'POST', 'PUT']\n\n function normalizeMethod(method) {\n var upcased = method.toUpperCase()\n return (methods.indexOf(upcased) > -1) ? upcased : method\n }\n\n function Request(input, options) {\n options = options || {}\n var body = options.body\n\n if (typeof input === 'string') {\n this.url = input\n } else {\n if (input.bodyUsed) {\n throw new TypeError('Already read')\n }\n this.url = input.url\n this.credentials = input.credentials\n if (!options.headers) {\n this.headers = new Headers(input.headers)\n }\n this.method = input.method\n this.mode = input.mode\n if (!body && input._bodyInit != null) {\n body = input._bodyInit\n input.bodyUsed = true\n }\n }\n\n this.credentials = options.credentials || this.credentials || 'omit'\n if (options.headers || !this.headers) {\n this.headers = new Headers(options.headers)\n }\n this.method = normalizeMethod(options.method || this.method || 'GET')\n this.mode = options.mode || this.mode || null\n this.referrer = null\n\n if ((this.method === 'GET' || this.method === 'HEAD') && body) {\n throw new TypeError('Body not allowed for GET or HEAD requests')\n }\n this._initBody(body)\n }\n\n Request.prototype.clone = function() {\n return new Request(this, { body: this._bodyInit })\n }\n\n function decode(body) {\n var form = new FormData()\n body.trim().split('&').forEach(function(bytes) {\n if (bytes) {\n var split = bytes.split('=')\n var name = split.shift().replace(/\\+/g, ' ')\n var value = split.join('=').replace(/\\+/g, ' ')\n form.append(decodeURIComponent(name), decodeURIComponent(value))\n }\n })\n return form\n }\n\n function parseHeaders(rawHeaders) {\n var headers = new Headers()\n rawHeaders.split('\\r\\n').forEach(function(line) {\n var parts = line.split(':')\n var key = parts.shift().trim()\n if (key) {\n var value = parts.join(':').trim()\n headers.append(key, value)\n }\n })\n return headers\n }\n\n Body.call(Request.prototype)\n\n function Response(bodyInit, options) {\n if (!options) {\n options = {}\n }\n\n this.type = 'default'\n this.status = 'status' in options ? options.status : 200\n this.ok = this.status >= 200 && this.status < 300\n this.statusText = 'statusText' in options ? options.statusText : 'OK'\n this.headers = new Headers(options.headers)\n this.url = options.url || ''\n this._initBody(bodyInit)\n }\n\n Body.call(Response.prototype)\n\n Response.prototype.clone = function() {\n return new Response(this._bodyInit, {\n status: this.status,\n statusText: this.statusText,\n headers: new Headers(this.headers),\n url: this.url\n })\n }\n\n Response.error = function() {\n var response = new Response(null, {status: 0, statusText: ''})\n response.type = 'error'\n return response\n }\n\n var redirectStatuses = [301, 302, 303, 307, 308]\n\n Response.redirect = function(url, status) {\n if (redirectStatuses.indexOf(status) === -1) {\n throw new RangeError('Invalid status code')\n }\n\n return new Response(null, {status: status, headers: {location: url}})\n }\n\n self.Headers = Headers\n self.Request = Request\n self.Response = Response\n\n self.fetch = function(input, init) {\n return new Promise(function(resolve, reject) {\n var request = new Request(input, init)\n var xhr = new XMLHttpRequest()\n\n xhr.onload = function() {\n var options = {\n status: xhr.status,\n statusText: xhr.statusText,\n headers: parseHeaders(xhr.getAllResponseHeaders() || '')\n }\n options.url = 'responseURL' in xhr ? xhr.responseURL : options.headers.get('X-Request-URL')\n var body = 'response' in xhr ? xhr.response : xhr.responseText\n resolve(new Response(body, options))\n }\n\n xhr.onerror = function() {\n reject(new TypeError('Network request failed'))\n }\n\n xhr.ontimeout = function() {\n reject(new TypeError('Network request failed'))\n }\n\n xhr.open(request.method, request.url, true)\n\n if (request.credentials === 'include') {\n xhr.withCredentials = true\n }\n\n if ('responseType' in xhr && support.blob) {\n xhr.responseType = 'blob'\n }\n\n request.headers.forEach(function(value, name) {\n xhr.setRequestHeader(name, value)\n })\n\n xhr.send(typeof request._bodyInit === 'undefined' ? null : request._bodyInit)\n })\n }\n self.fetch.polyfill = true\n})(typeof self !== 'undefined' ? self : this);\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/whatwg-fetch/fetch.js\n ** module id = 672\n ** module chunks = 0\n **/"],"sourceRoot":""}